_BasemapGallery.scss 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. @mixin basemapGallery() {
  2. $basemap-thumbnail-size: $button-height--double !default;
  3. .esri-basemap-gallery {
  4. color: $font-color;
  5. background-color: $background-color;
  6. overflow-y: auto;
  7. position: relative;
  8. width: auto;
  9. }
  10. .esri-basemap-gallery__item-container {
  11. display: flex;
  12. flex-flow: column nowrap;
  13. position: relative;
  14. transition: opacity 250ms ease-in-out;
  15. list-style: none;
  16. margin: 0;
  17. padding: 0;
  18. }
  19. .esri-basemap-gallery--source-refreshing .esri-basemap-gallery__item-container,
  20. .esri-basemap-gallery.esri-disabled .esri-basemap-gallery__item {
  21. opacity: $opacity--disabled;
  22. pointer-events: none;
  23. animation: none;
  24. }
  25. .esri-basemap-gallery__empty-message {
  26. padding: $cap-spacing $side-spacing;
  27. animation: esri-fade-in 500ms ease-in-out;
  28. }
  29. .esri-basemap-gallery__item {
  30. position: relative;
  31. display: flex;
  32. align-items: center;
  33. padding: $cap-spacing--half $side-spacing--half;
  34. cursor: pointer;
  35. border-left: 3px solid transparent;
  36. border-right: 3px solid transparent;
  37. animation: esri-fade-in 500ms ease-in-out;
  38. transition: background-color 250ms ease-in-out;
  39. }
  40. .esri-basemap-gallery__item:first-child {
  41. margin-top: $cap-spacing--half;
  42. }
  43. .esri-basemap-gallery__loader {
  44. position: absolute;
  45. top: 0;
  46. left: 0;
  47. right: 0;
  48. height: 2px;
  49. width: 100%;
  50. animation: esri-fade-in 500ms ease-in-out;
  51. }
  52. @include loopingProgressBar(".esri-basemap-gallery__loader");
  53. .esri-basemap-gallery__item--error {
  54. cursor: auto;
  55. opacity: $opacity--disabled;
  56. }
  57. .esri-basemap-gallery__item-thumbnail {
  58. height: $basemap-thumbnail-size;
  59. width: auto;
  60. box-shadow: 0 0 0 1px $border-color;
  61. }
  62. @supports (object-fit: cover) {
  63. .esri-basemap-gallery__item-thumbnail {
  64. height: $basemap-thumbnail-size;
  65. width: $basemap-thumbnail-size;
  66. object-fit: cover;
  67. }
  68. }
  69. .esri-basemap-gallery__item-title {
  70. font-size: $font-size--small;
  71. word-break: break-word;
  72. color: $interactive-font-color;
  73. padding: 0 $side-spacing--half;
  74. }
  75. .esri-basemap-gallery__item--selected,
  76. .esri-basemap-gallery__item.esri-basemap-gallery__item--selected:hover,
  77. .esri-basemap-gallery__item.esri-basemap-gallery__item--selected:focus {
  78. cursor: auto;
  79. border-left-color: $border-color--active;
  80. background-color: $background-color--active;
  81. .esri-basemap-gallery__item-title {
  82. color: $font-color;
  83. }
  84. }
  85. .esri-basemap-gallery__item:hover,
  86. .esri-basemap-gallery__item:focus {
  87. outline: none;
  88. background-color: $background-color--hover;
  89. border-left-color: $background-color--hover;
  90. .esri-basemap-gallery__item-title {
  91. color: $interactive-font-color;
  92. }
  93. }
  94. .esri-basemap-gallery__item.esri-basemap-gallery__item--error:hover,
  95. .esri-basemap-gallery__item.esri-basemap-gallery__item--error:focus {
  96. background-color: $background-color;
  97. border-color: transparent;
  98. }
  99. .esri-view .esri-basemap-gallery {
  100. min-width: $panel-width--three-quarters;
  101. max-width: $panel-width;
  102. }
  103. .esri-view-width-greater-than-large .esri-ui-corner {
  104. .esri-basemap-gallery.esri-component {
  105. width: $panel-width--plus-half;
  106. max-width: initial;
  107. .esri-basemap-gallery__item-container {
  108. flex-flow: row wrap;
  109. align-items: baseline;
  110. }
  111. .esri-basemap-gallery__item {
  112. border: 1px solid rgba(0, 0, 0, 0);
  113. flex-flow: column wrap;
  114. width: 29.333%;
  115. margin: $cap-spacing--quarter 2%;
  116. padding: $cap-spacing 0;
  117. text-align: center;
  118. }
  119. .esri-basemap-gallery__item-thumbnail {
  120. max-width: 100%;
  121. margin-bottom: $cap-spacing--half;
  122. }
  123. .esri-basemap-gallery__item-title {
  124. margin-top: $cap-spacing--half;
  125. width: 100%; // ie11 needs this for title to wrap
  126. }
  127. .esri-basemap-gallery__item--selected,
  128. .esri-basemap-gallery__item.esri-basemap-gallery__item--selected:hover,
  129. .esri-basemap-gallery__item.esri-basemap-gallery__item--selected:focus {
  130. border-color: $border-color--active;
  131. }
  132. }
  133. }
  134. [dir="rtl"] {
  135. .esri-basemap-gallery__item--selected,
  136. .esri-basemap-gallery__item.esri-basemap-gallery__item--selected:hover,
  137. .esri-basemap-gallery__item.esri-basemap-gallery__item--selected:focus {
  138. border-left-color: transparent;
  139. border-right-color: $border-color--active;
  140. }
  141. }
  142. }
  143. @if $include_BasemapGallery == true {
  144. @include basemapGallery();
  145. }