@depict-ai/react-ui 0.0.74 → 0.0.76

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