@depict-ai/react-ui 0.0.73 → 0.0.75

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