_BasemapToggle.scss 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. $basemap_toggle_offset: 5px !default;
  2. $basemap_toggle_size: $button-width--double !default;
  3. @mixin basemapToggle() {
  4. .esri-basemap-toggle {
  5. cursor: pointer;
  6. position: relative;
  7. overflow: visible;
  8. width: $basemap_toggle_size + $basemap_toggle_offset;
  9. height: $basemap_toggle_size + $basemap_toggle_offset;
  10. background-color: transparent;
  11. @include boxShadow("none");
  12. display: flex;
  13. flex-flow: row nowrap;
  14. justify-content: center;
  15. align-items: center;
  16. &:hover {
  17. background-color: transparent;
  18. }
  19. }
  20. .esri-basemap-toggle__container,
  21. .esri-basemap-toggle__image {
  22. width: $basemap_toggle_size;
  23. height: $basemap_toggle_size;
  24. position: absolute;
  25. top: 0;
  26. left: 0;
  27. overflow: hidden;
  28. }
  29. .esri-basemap-toggle__container {
  30. @include defaultBoxShadow();
  31. }
  32. .esri-basemap-toggle__image {
  33. background-color: $background-color;
  34. background-size: cover;
  35. background-repeat: no-repeat;
  36. background-position: 50% 50%;
  37. background-image: url(../base/images/basemap-toggle-64.svg);
  38. }
  39. .esri-basemap-toggle__image--loading {
  40. background-image: unset;
  41. align-items: center;
  42. display: flex;
  43. justify-content: center;
  44. }
  45. .esri-basemap-toggle__image--secondary {
  46. margin-top: $basemap_toggle_offset;
  47. margin-left: $basemap_toggle_offset;
  48. @include defaultBoxShadow();
  49. animation: esri-basemap-slide 2000ms ease-in-out;
  50. }
  51. .esri-basemap-toggle__image-overlay {
  52. position: absolute;
  53. width: 100%;
  54. height: 100%;
  55. transition: background-color 125ms ease-in-out;
  56. background-color: rgba(255, 255, 255, 0);
  57. display: flex;
  58. align-items: flex-end;
  59. justify-content: center;
  60. .esri-basemap-toggle:hover {
  61. background-color: rgba($interactive-font-color--hover, 0.4);
  62. }
  63. }
  64. .esri-basemap-toggle__title {
  65. flex: 1 0 100%;
  66. height: auto;
  67. font-size: 9px;
  68. font-weight: $font-weight--medium;
  69. line-height: $line-height;
  70. padding: 0.5em;
  71. background-color: rgba(255, 255, 255, 0.7);
  72. text-align: center;
  73. }
  74. .esri-basemap-toggle.esri-disabled {
  75. .esri-basemap-toggle__image-overlay,
  76. .esri-basemap-toggle__image--secondary {
  77. background-color: $background-color;
  78. &:before {
  79. position: absolute;
  80. top: 0;
  81. left: 0;
  82. width: 100%;
  83. height: 100%;
  84. content: "";
  85. background-color: $background-color;
  86. opacity: 0.25;
  87. }
  88. }
  89. .esri-basemap-toggle__image-overlay {
  90. background-image: url(../base/images/basemap-toggle-64.svg);
  91. }
  92. .esri-basemap-toggle__image--secondary:before {
  93. opacity: 1;
  94. }
  95. .esri-basemap-toggle__title {
  96. display: none;
  97. }
  98. }
  99. .esri-widget.esri-basemap-toggle,
  100. .esri-ui-corner {
  101. .esri-widget.esri-basemap-toggle {
  102. background-color: transparent;
  103. @include boxShadow("none");
  104. }
  105. }
  106. }
  107. ////////////////////////////////////////
  108. // ANIMATIONS
  109. @keyframes esri-basemap-slide {
  110. 0% {
  111. margin-top: 0;
  112. margin-left: 0;
  113. opacity: 0;
  114. }
  115. 75% {
  116. margin-top: 0;
  117. margin-left: 0;
  118. opacity: 0;
  119. }
  120. 100% {
  121. margin-top: $basemap_toggle_offset;
  122. margin-left: $basemap_toggle_offset;
  123. opacity: 1;
  124. }
  125. }
  126. @if $include_BasemapToggle == true {
  127. @include basemapToggle();
  128. }