@depict-ai/react-ui 2.0.5 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/ES10/index.cjs +1 -1
  2. package/ES10/index.d.ts +1 -1
  3. package/ES10/index.js +1 -1
  4. package/dist/main.js +293 -0
  5. package/dist/module.js +285 -0
  6. package/dist/styles/components/PLP/Buttons.scss +124 -0
  7. package/dist/styles/components/PLP/MorphingSign.scss +31 -0
  8. package/dist/styles/components/PLP/PLPResults.scss +20 -0
  9. package/dist/styles/components/PLP/ProductListingPage.scss +142 -0
  10. package/dist/styles/components/PLP/ScrollStatus.scss +24 -0
  11. package/dist/styles/components/PLP/SelectedFilters.scss +74 -0
  12. package/dist/styles/components/PLP/SlidableItems.scss +99 -0
  13. package/dist/styles/components/PLP/SortAndFilter/FloatingButtons.scss +75 -0
  14. package/dist/styles/components/PLP/SortAndFilter/SortAndFilter.scss +728 -0
  15. package/dist/styles/components/PLP/SortAndFilter/SortAndFilterModal.scss +160 -0
  16. package/dist/styles/components/PLP/SortAndFilter/WhiteSortAndFilter.scss +148 -0
  17. package/dist/styles/components/PLP/Toast.scss +54 -0
  18. package/dist/styles/components/PLP/index.scss +45 -0
  19. package/dist/styles/components/category/BreadCrumbs.scss +23 -0
  20. package/dist/styles/components/category/CategoryTitle.scss +28 -0
  21. package/dist/styles/components/category/QuickLinks.scss +71 -0
  22. package/dist/styles/components/category/index.scss +23 -0
  23. package/dist/styles/components/search/Autocomplete.scss +117 -0
  24. package/dist/styles/components/search/CategorySuggestions.scss +74 -0
  25. package/dist/styles/components/search/InstantCard.scss +117 -0
  26. package/dist/styles/components/search/InstantResults.scss +10 -0
  27. package/dist/styles/components/search/PreviousSearches.scss +77 -0
  28. package/dist/styles/components/search/QueryInput.scss +167 -0
  29. package/dist/styles/components/search/SearchModal.scss +95 -0
  30. package/dist/styles/components/search/SearchRecommendations.scss +25 -0
  31. package/dist/styles/components/search/ShowingResultsFor.scss +10 -0
  32. package/dist/styles/components/search/index.scss +40 -0
  33. package/dist/styles/default.css +1 -0
  34. package/dist/styles/helpers/custom_input.scss +162 -0
  35. package/dist/styles/helpers/supports-hover.scss +5 -0
  36. package/dist/styles/helpers/utils.scss +82 -0
  37. package/dist/styles/variables.scss +47 -0
  38. package/latest/index.cjs +1 -1
  39. package/latest/index.d.ts +1 -1
  40. package/latest/index.js +1 -1
  41. package/package.json +2 -2
  42. package/server/ES10/index.cjs +1 -1
  43. package/server/ES10/index.d.ts +1 -1
  44. package/server/ES10/index.js +1 -1
  45. package/server/latest/index.cjs +1 -1
  46. package/server/latest/index.d.ts +1 -1
  47. package/server/latest/index.js +1 -1
@@ -0,0 +1,728 @@
1
+ @use "../../../helpers/utils";
2
+ @use "../../../helpers/custom_input";
3
+ @use "SortAndFilterModal";
4
+ @use "../MorphingSign";
5
+ @use "../../../variables";
6
+ @use "../../../helpers/supports-hover";
7
+ @use "../Buttons";
8
+ @use "sass:color";
9
+
10
+ @mixin SortAndFilter(
11
+ $mobile-top-level-collapse-color: variables.$brand-black,
12
+ $mobile-top-level-collapse-background: #fff,
13
+ $custom-input-checked-background: #fff,
14
+ $custom-input-background: #fff,
15
+ $custom-input-indicator-color: variables.$brand-black,
16
+ $checkbox-background-color: #fff,
17
+ $checkbox-checked-background-color: variables.$brand-black,
18
+ $checkbox-checkmark-color: #fff,
19
+ $checkbox-border-radius: if(variables.$border-radius == 0, 0, if(variables.$border-radius == 0px, 0, 2px)),
20
+ // if global border radius is 0 or 0px, don't round input fields in their default value
21
+ $checkbox-border: 1px solid variables.$brand-black,
22
+ $checkbox-top-offset: 0px,
23
+ $checkbox-left-offset: 0px,
24
+ $radio-border: 1px solid variables.$brand-black,
25
+ $radio-background-color: #fff,
26
+ $radio-selected-dot-color: variables.$brand-black,
27
+ $radio-selected-dot-size: 14px,
28
+ $radio-selected-offset: 0px,
29
+ $separator-color: variables.$brand-dark-grey,
30
+ $price-range-min-max-text-color: variables.$brand-dark-grey,
31
+ $range-input-bg-color: variables.$brand-lightest-grey,
32
+ $top-level-summary-background: variables.$brand-black,
33
+ $hovered-top-level-summary-background: variables.$brand-dark-grey,
34
+ $hovered-range-input-bg-color: variables.$brand-lighter-grey,
35
+ $hovered-checkbox-bg: variables.$brand-lighter-grey,
36
+ $hovered-checkbox-checked-background-color: false,
37
+ $input-row-label-color: variables.$brand-dark-grey,
38
+ $checked-input-row-label-color: #000,
39
+ $input-row-label-font-weight: 400,
40
+ $checked-input-row-label-font-weight: 500,
41
+ $showing-selected-subfilter-count-color: variables.$brand-grey,
42
+ $filter-available-products-color: variables.$brand-grey,
43
+ $count-zero-input-row-label-color: rgb(194, 194, 194),
44
+ $spacing_between_input_rows: 10px,
45
+ $ungrouped-top-margin: 25px,
46
+ $hovered-checkbox-border: 2px solid variables.$brand-black,
47
+ $hovered-radio-border: 2px solid variables.$brand-black,
48
+ $sort-and-filter-button-padding: 10px 20px,
49
+ $expandable-seperator-color: variables.$brand-lightest-grey,
50
+ $expandable-seperator-hover-color: variables.$brand-lighter-grey,
51
+ $expandable-seperator-height: 1px,
52
+ $filter-group-heading-color: #fff,
53
+ $filter-groups-morphing-sign-color: #fff,
54
+ $filter-group-summary-border-radius: 4px,
55
+ $sort-and-filter-modal-background: variables.$brand-lighter-grey,
56
+ $filter-group-heading-padding: 10px,
57
+ $filter-group-summary-spacings: 10px,
58
+ $range-input-field-border-radius: 4px,
59
+ $range-input-field-border: none,
60
+ $filter-group-title-bold: false,
61
+ $view-more-clear-background: rgb(253, 253, 253),
62
+ $filter-collapsible-body-background: rgb(238, 238, 240),
63
+ $sort-and-filter-modal-section-title-font-weight: false,
64
+ $sort-and-filter-modal-section-expanded-title-font-weight: $sort-and-filter-modal-section-title-font-weight
65
+ ) {
66
+ $input-row-height-goal: 20px;
67
+ $count-distance-to-right: 30px;
68
+ $largest-border-on-custom-input: max(
69
+ custom_input.get_border_width($checkbox-border),
70
+ custom_input.get_border_width($radio-border)
71
+ );
72
+
73
+ @if (not $hovered-checkbox-checked-background-color) {
74
+ @if color.lightness($checkbox-checked-background-color) >= 50% {
75
+ $hovered-checkbox-checked-background-color: color.scale($checkbox-checked-background-color, $lightness: -10%);
76
+ } @else {
77
+ $hovered-checkbox-checked-background-color: color.scale($checkbox-checked-background-color, $lightness: +20%);
78
+ }
79
+ }
80
+
81
+ .major-minor-transition {
82
+ transition: filter 150ms ease-in-out, background 250ms ease-in-out, color 250ms ease-in-out,
83
+ border 250ms ease-in-out;
84
+ }
85
+
86
+ .filter-results-for-one-row {
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: space-between;
90
+ }
91
+
92
+ *:not(.filter-results-for-one-row) > .sort-and-filter-buttons .inner {
93
+ justify-content: space-between;
94
+ }
95
+
96
+ .sorting-attributes,
97
+ .sorting-direction {
98
+ padding: 10px;
99
+ background: white;
100
+ display: flex;
101
+ flex-direction: column;
102
+ @include utils.flex-gap(10px, "column nowrap");
103
+ }
104
+
105
+ .sort-and-filter-buttons {
106
+ .outer {
107
+ margin-top: -5px;
108
+ }
109
+ .inner {
110
+ display: flex;
111
+ justify-content: flex-end;
112
+ // Note: this can't be done with gap: or embedded_num_products will break since it assumes that the spacing is included in the width of these elements + margin
113
+ @include utils.flex-gap(10px, "row nowrap");
114
+ align-items: center;
115
+ overflow: hidden;
116
+ padding-top: 5px;
117
+ // hack around having to have overflow: hidden for embedded_num_products but still wanting to be able to see the overflowing number of filters badge
118
+ }
119
+ &.fake .toggle-button {
120
+ transition: none;
121
+ }
122
+ .toggle-button {
123
+ white-space: nowrap;
124
+ @include utils.flex-gap(5px, "row nowrap");
125
+ padding: $sort-and-filter-button-padding;
126
+ position: relative;
127
+
128
+ svg path {
129
+ transition-duration: 250ms;
130
+ }
131
+
132
+ &.major {
133
+ &.for-sorting {
134
+ @include utils.flex-gap(10px, "row nowrap");
135
+ }
136
+ }
137
+ }
138
+
139
+ .num-filters {
140
+ position: absolute;
141
+ right: -4px;
142
+ top: -4px;
143
+ background: black;
144
+ color: white;
145
+ border-radius: 13px;
146
+ width: 20px;
147
+ line-height: 1;
148
+ height: 20px;
149
+ display: flex;
150
+ justify-content: center;
151
+ align-items: center;
152
+ transition: opacity 250ms ease-in-out;
153
+ font-size: 12px;
154
+ z-index: calc(variables.$search-page-base-z-index + 1);
155
+ }
156
+ .open-filters-button-container {
157
+ position: relative;
158
+ }
159
+ }
160
+
161
+ label {
162
+ margin: 0;
163
+ }
164
+
165
+ .PLP-results {
166
+ .sorting,
167
+ .filters {
168
+ flex-shrink: 0;
169
+ flex-basis: 330px;
170
+ }
171
+ }
172
+ // Shared body style for filters and sorting containers
173
+ .filters .body,
174
+ .sorting .body {
175
+ display: flex;
176
+ flex-direction: column;
177
+ @include custom_input.custom_input(
178
+ $checkbox-background-color,
179
+ $checkbox-checked-background-color,
180
+ $checkbox-checkmark-color,
181
+ $checkbox-border-radius,
182
+ $checkbox-border,
183
+ $checkbox-left-offset,
184
+ $checkbox-top-offset,
185
+ $radio-border,
186
+ $radio-background-color,
187
+ $radio-selected-dot-color,
188
+ $radio-selected-dot-size,
189
+ $radio-selected-offset,
190
+ $hovered-checkbox-bg,
191
+ $hovered-checkbox-checked-background-color,
192
+ $hovered-checkbox-border,
193
+ $hovered-radio-border,
194
+ $width-and-height: calc(#{$input-row-height-goal} - #{$largest-border-on-custom-input})
195
+ );
196
+ }
197
+ .filters {
198
+ .body {
199
+ & > * {
200
+ // WhiteSortAndFilter wants to add a border above the space here which is why we're not using utils.flex-gap / margins
201
+ &:not(:first-child) {
202
+ padding-top: calc($filter-group-summary-spacings * 0.5);
203
+ }
204
+ &:not(:last-child) {
205
+ padding-bottom: calc($filter-group-summary-spacings * 0.5);
206
+ }
207
+ }
208
+
209
+ .input-row {
210
+ // Only input row in filters
211
+ padding-bottom: calc(#{$spacing_between_input_rows} / 2);
212
+ padding-top: calc(#{$spacing_between_input_rows} / 2);
213
+ justify-content: space-between;
214
+ &,
215
+ & > .left {
216
+ align-items: center;
217
+ display: flex;
218
+ }
219
+ .text {
220
+ //line-height: 1.8; /** Fix for ÅÄÖ getting cut-off **/
221
+ line-height: calc(
222
+ #{$input-row-height-goal} + #{$largest-border-on-custom-input}
223
+ ); // Sorry ÅÄÖ, hope you survive this
224
+ display: -webkit-box;
225
+ text-overflow: ellipsis;
226
+ white-space: pre-line;
227
+ overflow-wrap: anywhere;
228
+ color: $input-row-label-color;
229
+ -webkit-box-orient: vertical;
230
+ -webkit-line-clamp: 1;
231
+ overflow: hidden;
232
+ font-weight: $input-row-label-font-weight;
233
+ word-break: break-word;
234
+ }
235
+ *:checked,
236
+ .fake-checked {
237
+ & ~ .text {
238
+ color: $checked-input-row-label-color;
239
+ font-weight: $checked-input-row-label-font-weight;
240
+ }
241
+ }
242
+ &.count-0 * + .text {
243
+ color: $count-zero-input-row-label-color;
244
+ }
245
+ }
246
+ .input-row,
247
+ .hierarchical .checkbox-details.expandable .category-parent {
248
+ .count {
249
+ color: $filter-available-products-color;
250
+ font-weight: 400;
251
+ }
252
+ }
253
+ .input-row:hover .count {
254
+ color: black;
255
+ }
256
+
257
+ .selected-w-sign {
258
+ display: flex;
259
+ align-items: center;
260
+ @include utils.flex-gap(10px, "row nowrap");
261
+ .show-selected {
262
+ display: flex;
263
+ @include utils.flex-gap(5px, "row nowrap");
264
+ align-items: center;
265
+ color: $showing-selected-subfilter-count-color;
266
+ fill: $showing-selected-subfilter-count-color;
267
+ span {
268
+ line-height: 1;
269
+ }
270
+ }
271
+ }
272
+ .ungrouped {
273
+ margin-top: $ungrouped-top-margin;
274
+ }
275
+
276
+ .clear-all-filters {
277
+ margin-top: 5px;
278
+ font-weight: 400;
279
+ padding: 0.7em;
280
+ text-transform: uppercase;
281
+ font-size: 1.1em;
282
+ }
283
+
284
+ details {
285
+ summary {
286
+ list-style: none;
287
+ &::-webkit-details-marker {
288
+ display: none;
289
+ }
290
+ cursor: pointer;
291
+ & > .summary {
292
+ display: flex;
293
+ justify-content: space-between;
294
+ align-items: center;
295
+ }
296
+ }
297
+ &.filter-collapsible {
298
+ .filter-group-summary {
299
+ background: $top-level-summary-background;
300
+ border-radius: $filter-group-summary-border-radius;
301
+
302
+ &:focus {
303
+ outline: none;
304
+ }
305
+ &:focus-visible {
306
+ background: $hovered-top-level-summary-background;
307
+ }
308
+ @include supports-hover.supports-hover() {
309
+ &:hover {
310
+ background: $hovered-top-level-summary-background;
311
+ }
312
+ }
313
+ & > .summary {
314
+ color: $filter-group-heading-color;
315
+ padding: $filter-group-heading-padding;
316
+ & > span {
317
+ @if $filter-group-title-bold {
318
+ font-weight: $filter-group-title-bold;
319
+ }
320
+ }
321
+ & > svg {
322
+ transform: rotate(270deg);
323
+ }
324
+ }
325
+ }
326
+ &[open] .filter-group-summary {
327
+ border-radius: $filter-group-summary-border-radius $filter-group-summary-border-radius 0px 0px;
328
+ }
329
+ }
330
+ }
331
+
332
+ .filter-collapsible-body {
333
+ background: $filter-collapsible-body-background;
334
+ display: flex;
335
+ flex-direction: column;
336
+ @include utils.flex-gap(1px, "column nowrap");
337
+ border-radius: 0px 0px 4px 4px;
338
+ overflow: hidden;
339
+
340
+ .view-more-clear {
341
+ background: $view-more-clear-background;
342
+ display: flex;
343
+ justify-content: space-between;
344
+ $gap: 10px;
345
+
346
+ .clear-group {
347
+ @include utils.flex-gap(calc($gap - calc(calc(21.064px - 8.42px) / 2)), "row nowrap");
348
+ margin-left: auto;
349
+ svg {
350
+ width: 11px;
351
+ height: 12px;
352
+ }
353
+ }
354
+
355
+ .expand-filter {
356
+ margin-right: auto;
357
+ @include utils.flex-gap($gap, "row nowrap");
358
+ &.expanded svg {
359
+ clip-path: polygon(20% 48%, 80% 48%, 80% 50.8%, 20% 50.8%);
360
+ transform: scale(1.6);
361
+ }
362
+ }
363
+
364
+ button {
365
+ background: transparent;
366
+ border: none;
367
+ margin-bottom: 0;
368
+ margin-right: 0;
369
+ margin-left: 0;
370
+ color: black;
371
+ cursor: pointer;
372
+ padding: 10px;
373
+ display: flex;
374
+ align-items: center;
375
+ justify-content: center;
376
+ text-transform: uppercase;
377
+ svg {
378
+ path {
379
+ fill: black;
380
+ }
381
+ }
382
+ &:focus-visible {
383
+ outline: none;
384
+ filter: Buttons.$secondary-button-focus-visible-filter;
385
+ }
386
+ }
387
+ }
388
+
389
+ .filter-part {
390
+ background: white;
391
+ padding: 15px 10px 20px 10px;
392
+ display: flex;
393
+ flex-direction: column;
394
+ @include utils.flex-gap(10px, "column nowrap");
395
+ }
396
+ }
397
+ *:not(.ungrouped) > form {
398
+ margin-bottom: calc(-1 * calc(#{$spacing_between_input_rows} / 2));
399
+ margin-top: calc(-1 * calc(#{$spacing_between_input_rows} / 2));
400
+ }
401
+ .hierarchical {
402
+ margin-left: -20px;
403
+
404
+ &.any-expandable {
405
+ .count {
406
+ margin-right: $count-distance-to-right;
407
+ }
408
+ }
409
+
410
+ .checkbox-details {
411
+ padding-left: 20px;
412
+
413
+ &.expandable {
414
+ position: relative;
415
+
416
+ & summary {
417
+ &:before,
418
+ &:after {
419
+ pointer-events: none;
420
+ content: "";
421
+ position: absolute;
422
+ right: 0;
423
+ background: $expandable-seperator-color;
424
+ height: $expandable-seperator-height;
425
+ width: calc(100% - 20px); // Reduce for padding
426
+ }
427
+
428
+ &:before {
429
+ // so that two adjacent separators merge into each other
430
+ top: calc(-0.5 * #{$expandable-seperator-height});
431
+ }
432
+
433
+ &:after {
434
+ bottom: calc(-0.5 * #{$expandable-seperator-height});
435
+ }
436
+
437
+ @include supports-hover.supports-hover() {
438
+ &:hover,
439
+ .input-row:hover ~ details > & {
440
+ &:after,
441
+ &:before {
442
+ background: $expandable-seperator-hover-color;
443
+ z-index: 1;
444
+ }
445
+ }
446
+ }
447
+ &:focus-visible,
448
+ .input-row ~ details:focus-visible > & {
449
+ &:after,
450
+ &:before {
451
+ background: $expandable-seperator-hover-color;
452
+ z-index: 1;
453
+ }
454
+ }
455
+ }
456
+
457
+ & > .input-row {
458
+ position: absolute;
459
+ padding-right: 30px;
460
+ }
461
+ & > details {
462
+ &:not([open]),
463
+ &[open] > .category-parent > .summary {
464
+ padding-top: calc(#{$spacing_between_input_rows} / 2);
465
+ padding-bottom: calc(#{$spacing_between_input_rows} / 2);
466
+ }
467
+ .category-parent {
468
+ &:focus {
469
+ outline: none;
470
+ box-shadow: none;
471
+ }
472
+ &:focus-visible {
473
+ outline: none;
474
+ box-shadow: none;
475
+ }
476
+ @supports selector(:focus-visible) {
477
+ &:not(:focus-visible) {
478
+ @include supports-hover.supports-hover() {
479
+ &:not(:hover) {
480
+ @include default_morphing_sign_in_expandable();
481
+ }
482
+ }
483
+ @media (hover: none) {
484
+ @include default_morphing_sign_in_expandable();
485
+ }
486
+ }
487
+ @include supports-hover.supports-hover() {
488
+ &:hover {
489
+ .morphing-sign {
490
+ transform: scale(1.5);
491
+ }
492
+ .count {
493
+ color: black;
494
+ }
495
+ }
496
+ }
497
+ &:focus-visible {
498
+ .count {
499
+ color: black;
500
+ }
501
+ .morphing-sign {
502
+ transform: scale(1.5);
503
+ }
504
+ }
505
+ }
506
+ @supports (not (selector(:focus-visible))) {
507
+ @include supports-hover.supports-hover() {
508
+ &:not(:hover) {
509
+ @include default_morphing_sign_in_expandable();
510
+ }
511
+ &:hover {
512
+ .morphing-sign {
513
+ transform: scale(1.5);
514
+ }
515
+ .count {
516
+ color: black;
517
+ }
518
+ }
519
+ }
520
+ @media (hover: none) {
521
+ @include default_morphing_sign_in_expandable();
522
+ }
523
+ }
524
+ & > .summary {
525
+ justify-content: flex-end;
526
+ $morphing-sign-width: calc(#{$input-row-height-goal} + #{$largest-border-on-custom-input});
527
+ .count {
528
+ margin-right: calc(#{$count-distance-to-right} - #{$morphing-sign-width});
529
+ }
530
+ .morphing-sign {
531
+ // same as custom inputs
532
+ width: $morphing-sign-width;
533
+ transition-duration: 150ms;
534
+ transition-timing-function: ease-in-out;
535
+ height: $morphing-sign-width;
536
+ span {
537
+ background: black;
538
+ transition-duration: 150ms;
539
+ transition-timing-function: ease-in-out;
540
+ }
541
+ }
542
+ }
543
+ }
544
+ }
545
+ }
546
+ }
547
+ }
548
+ .range {
549
+ .input-group {
550
+ width: 100%;
551
+ display: flex;
552
+ // use paddings to not confuse useExpandingContainer
553
+ padding-top: 10px;
554
+ padding-bottom: 25px;
555
+ .field {
556
+ display: flex;
557
+ width: 100%;
558
+ align-items: center;
559
+ input {
560
+ border: $range-input-field-border;
561
+ border-radius: $range-input-field-border-radius;
562
+ background: $range-input-bg-color;
563
+ transition-duration: 50ms;
564
+ padding-top: 8px;
565
+ padding-bottom: 8px;
566
+ width: 100%;
567
+ outline: none;
568
+ text-align: center;
569
+ -moz-appearance: textfield;
570
+ &:focus-visible {
571
+ background: $hovered-range-input-bg-color;
572
+ }
573
+ @include supports-hover.supports-hover() {
574
+ &:hover {
575
+ background: $hovered-range-input-bg-color;
576
+ }
577
+ }
578
+ &::-webkit-outer-spin-button,
579
+ &::-webkit-inner-spin-button {
580
+ -webkit-appearance: none;
581
+ }
582
+ }
583
+ }
584
+ .separator {
585
+ flex-basis: 25px;
586
+ flex-shrink: 0;
587
+ display: flex;
588
+ font-size: 19px;
589
+ align-items: center;
590
+ justify-content: center;
591
+ color: $separator-color;
592
+ }
593
+ }
594
+
595
+ .slider {
596
+ height: 5px;
597
+ position: relative;
598
+ background: #ddd;
599
+ border-radius: 5px;
600
+ .progress {
601
+ height: 100%;
602
+ left: 25%;
603
+ right: 25%;
604
+ position: absolute;
605
+ border-radius: 5px;
606
+ background: variables.$brand-black;
607
+ }
608
+ }
609
+ .range-group {
610
+ position: relative;
611
+ input {
612
+ position: absolute;
613
+ width: 100%;
614
+ height: 0;
615
+ top: -2.5px;
616
+ margin: 0;
617
+ background: none;
618
+ pointer-events: none;
619
+ -webkit-appearance: none;
620
+ -moz-appearance: none;
621
+ &:focus {
622
+ outline: none;
623
+ }
624
+ $thumb_size: 20px;
625
+ &::-webkit-slider-thumb {
626
+ cursor: pointer;
627
+ height: $thumb_size;
628
+ width: $thumb_size;
629
+ border-radius: 50%;
630
+ background: variables.$brand-black;
631
+ @include supports-hover.supports-hover() {
632
+ &:hover {
633
+ background: variables.$brand-dark-grey;
634
+ }
635
+ }
636
+ pointer-events: auto;
637
+ -webkit-appearance: none;
638
+ box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
639
+ }
640
+ &::-moz-range-thumb {
641
+ // TODO: overflows to the left
642
+ cursor: pointer;
643
+ height: $thumb_size;
644
+ width: $thumb_size;
645
+ border: none;
646
+ border-radius: 50%;
647
+ background: variables.$brand-black;
648
+ @include supports-hover.supports-hover() {
649
+ &:hover {
650
+ background: variables.$brand-dark-grey;
651
+ }
652
+ }
653
+ pointer-events: auto;
654
+ -moz-appearance: none;
655
+ box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
656
+ }
657
+ &:focus-visible {
658
+ &::-webkit-slider-thumb {
659
+ background: variables.$brand-grey;
660
+ }
661
+ &::-moz-range-thumb {
662
+ background: variables.$brand-grey;
663
+ }
664
+ }
665
+ }
666
+ }
667
+
668
+ .value-text {
669
+ padding-top: 10px;
670
+ display: flex;
671
+ justify-content: space-between;
672
+ color: $price-range-min-max-text-color;
673
+ }
674
+ }
675
+ .checkbox-grid {
676
+ display: flex;
677
+ flex-wrap: wrap;
678
+ @include utils.flex-gap(10px, "row wrap");
679
+ .major,
680
+ .minor {
681
+ padding: 5px 10px;
682
+ &.minor {
683
+ border: 1px solid #d5d5d5;
684
+ }
685
+ }
686
+ }
687
+ }
688
+ }
689
+ .sorting {
690
+ .body {
691
+ background: rgb(238, 238, 240);
692
+ @include utils.flex-gap(1px, "column nowrap");
693
+ line-height: 1;
694
+ .input-row {
695
+ align-items: center;
696
+ justify-content: flex-start;
697
+ display: flex;
698
+ }
699
+ }
700
+ }
701
+
702
+ @include MorphingSign.MorphingSign($filter-groups-morphing-sign-color);
703
+ @include SortAndFilterModal.SortAndFilterModal(
704
+ $mobile-top-level-collapse-color,
705
+ $mobile-top-level-collapse-background,
706
+ $sort-and-filter-modal-background: $sort-and-filter-modal-background,
707
+ $title-font-weight: $sort-and-filter-modal-section-title-font-weight,
708
+ $expanded-title-font-weight: $sort-and-filter-modal-section-expanded-title-font-weight
709
+ );
710
+
711
+ @content;
712
+ }
713
+
714
+ @mixin default_morphing_sign_in_expandable {
715
+ .morphing-sign span {
716
+ background: #333333;
717
+
718
+ &:first-child {
719
+ width: 5%;
720
+ left: 47.5%;
721
+ }
722
+
723
+ &:last-child {
724
+ height: 5%;
725
+ top: 47.5%;
726
+ }
727
+ }
728
+ }