Няма описание
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. @import "../../scss/_bootstrap-extended/include";
  2. @import "nouislider/dist/nouislider";
  3. $noUiSlider-handle-color: var(--#{$prefix}white) !default;
  4. $noUiSlider-handle-width: 1.375rem !default;
  5. $noUiSlider-handle-height: 1.375rem !default;
  6. $noUiSlider-bar-height: .375rem !default;
  7. $noUiSlider-vertical-height: 13.125rem !default;
  8. $noUiSlider-tick-size: .5rem !default;
  9. $noUiSlider-tick-label-font-size: $font-size-sm !default;
  10. $noUiSlider-line-color: var(--#{$prefix}primary-bg-subtle);
  11. $noUiSlider-disabled-line-color: var(--#{$prefix}gray-100);
  12. $noUiSlider-tick-label-color: var(--#{$prefix}secondary-color);
  13. .noUi-target {
  14. --#{$prefix}noUi-base-color: var(--#{$prefix}primary);
  15. --#{$prefix}noUi-thumb-shadow: var(--#{$prefix}primary-rgb);
  16. --#{$prefix}popover-bg: #{$popover-bg};
  17. --#{$prefix}noUiSlider-line-color: #{$noUiSlider-line-color};
  18. position: relative;
  19. border-width: 0;
  20. background: var(--#{$prefix}noUiSlider-line-color);
  21. box-shadow: none;
  22. &,
  23. & * {
  24. box-sizing: border-box;
  25. touch-action: none;
  26. user-select: none;
  27. }
  28. /* Handles and cursors */
  29. .noUi-draggable {
  30. cursor: ew-resize;
  31. }
  32. /* Tooltips */
  33. .noUi-tooltip {
  34. position: absolute;
  35. display: block;
  36. border-color: var(--#{$prefix}border-color);
  37. @include border-radius(.25rem);
  38. background: var(--#{$prefix}base-color);
  39. color: var(--#{$prefix}paper-bg);
  40. font-size: $small-font-size;
  41. line-height: 1;
  42. padding-block: .282rem;
  43. padding-inline: .625rem;
  44. text-align: center;
  45. transition: transform .2s;
  46. }
  47. /* Slider size and handle placement */
  48. /* Horizontal layout */
  49. &.noUi-horizontal {
  50. block-size: $noUiSlider-bar-height;
  51. .noUi-handle.noUi-active .noUi-tooltip {
  52. transform: translate(-50%, 10%) scale(.8, .8);
  53. }
  54. .noUi-handle {
  55. block-size: $noUiSlider-handle-height;
  56. inline-size: $noUiSlider-handle-width;
  57. inset-block-start: -.5rem;
  58. inset-inline: auto calc(-#{$noUiSlider-handle-width} * .5);
  59. }
  60. .noUi-pips-horizontal {
  61. padding-block: (($noUiSlider-handle-height - $noUiSlider-bar-height) * .5 + .375rem) 0;
  62. padding-inline: 0;
  63. }
  64. .noUi-value-horizontal {
  65. padding-block-start: .125rem;
  66. transform: translate(-50%, 50%);
  67. :dir(rtl) & {
  68. transform: translate(50%, 50%);
  69. }
  70. }
  71. .noUi-marker-horizontal.noUi-marker {
  72. block-size: $noUiSlider-tick-size;
  73. inline-size: 1px;
  74. }
  75. .noUi-tooltip {
  76. inset-block-end: 125%;
  77. transform: translate(-50%, -20%);
  78. }
  79. }
  80. /* Vertical layout */
  81. &.noUi-vertical {
  82. inline-size: $noUiSlider-bar-height;
  83. .noUi-origin {
  84. inline-size: 0;
  85. }
  86. .noUi-handle {
  87. &.noUi-active .noUi-tooltip {
  88. transform: translate(10%, -50%) scale(.8, .8);
  89. :dir(rtl) & {
  90. transform: translate(-10%, -50%) scale(.8, .8);
  91. }
  92. }
  93. block-size: $noUiSlider-handle-width;
  94. inline-size: $noUiSlider-handle-height;
  95. inset-block-end: -(calc($noUiSlider-handle-height - .375rem));
  96. inset-inline-end: -(($noUiSlider-handle-height * .34) + .05);
  97. :dir(rtl) & {
  98. inset-inline-start: -(($noUiSlider-handle-height * .35) + .05);
  99. }
  100. }
  101. .noUi-draggable {
  102. cursor: ns-resize;
  103. }
  104. .noUi-pips-vertical {
  105. padding-block: 0;
  106. padding-inline: (($noUiSlider-handle-height - $noUiSlider-bar-height) * .5 + .375rem) 0;
  107. }
  108. .noUi-value-vertical {
  109. padding-inline-start: $noUiSlider-tick-size + .375rem;
  110. }
  111. .noUi-marker-vertical.noUi-marker {
  112. block-size: 1px;
  113. inline-size: $noUiSlider-tick-size;
  114. }
  115. .noUi-tooltip {
  116. inset-inline: auto 125%;
  117. transform: translate(-10%, -50%);
  118. :dir(rtl) & {
  119. transform: translate(10%, -50%);
  120. }
  121. }
  122. }
  123. .noUi-handle {
  124. border-width: .25rem;
  125. border-color: var(--#{$prefix}noUi-base-color);
  126. @include border-radius(var(--#{$prefix}border-radius-pill));
  127. backface-visibility: hidden;
  128. background: $noUiSlider-handle-color;
  129. box-shadow: 0 0 0 1px rgb(var(--#{$prefix}pure-black) / 10%), var(--#{$prefix}floating-component-shadow);
  130. cursor: pointer;
  131. outline: none;
  132. @include transition(all .2s);
  133. &::before,
  134. &::after {
  135. display: none;
  136. }
  137. &.noUi-active {
  138. transform: scale(1.4, 1.4);
  139. }
  140. }
  141. .noUi-touch-area {
  142. block-size: 100%;
  143. inline-size: 100%;
  144. }
  145. &.noUi-state-tap {
  146. .noUi-connect,
  147. .noUi-origin {
  148. transition:
  149. inset-block-start .3s,
  150. inset-inline-end .3s,
  151. inset-block-end .3s,
  152. inset-inline-start .3s;
  153. }
  154. }
  155. /* Disabled state */
  156. &[disabled] {
  157. opacity: .45;
  158. .noUi-handle {
  159. box-shadow: 0 0 0 1px rgb(var(--#{$prefix}pure-black) / 5%);
  160. }
  161. }
  162. &[disabled],
  163. [disabled].noUi-handle,
  164. &[disabled] .noUi-handle {
  165. cursor: not-allowed;
  166. pointer-events: none;
  167. }
  168. /* Base */
  169. .noUi-pips {
  170. position: absolute;
  171. color: var(--#{$prefix}secondary-color);
  172. &,
  173. & * {
  174. box-sizing: border-box;
  175. }
  176. }
  177. /* Values */
  178. .noUi-value {
  179. position: absolute;
  180. color: $noUiSlider-tick-label-color;
  181. font-size: $noUiSlider-tick-label-font-size;
  182. white-space: nowrap;
  183. }
  184. /* Markings */
  185. .noUi-marker {
  186. position: absolute;
  187. background: $noUiSlider-tick-label-color;
  188. }
  189. .noUi-base {
  190. .noUi-connect {
  191. background: var(--#{$prefix}noUi-base-color);
  192. }
  193. .noUi-handle {
  194. &:hover {
  195. box-shadow: 0 0 0 .5rem rgba(var(--#{$prefix}noUi-thumb-shadow), .16);
  196. }
  197. &:active,
  198. &:focus {
  199. box-shadow: 0 0 0 .8125rem rgba(var(--#{$prefix}noUi-thumb-shadow), .16);
  200. }
  201. }
  202. }
  203. }
  204. @each $state in map-keys($theme-colors) {
  205. .noUi-#{$state} {
  206. --#{$prefix}noUi-base-color: var(--#{$prefix}#{$state});
  207. --#{$prefix}noUi-thumb-shadow: var(--#{$prefix}#{$state}-rgb);
  208. --#{$prefix}noUiSlider-line-color: var(--#{$prefix}#{$state}-bg-subtle);
  209. }
  210. }