@ardium-ui/ui 5.0.0-alpha.25 → 5.0.0-alpha.26

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 (46) hide show
  1. package/fesm2022/ardium-ui-ui.mjs +391 -398
  2. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  3. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +13 -14
  4. package/lib/_internal/item-storages/simple-item-storage.d.ts +15 -12
  5. package/lib/_internal/item-storages/simplest-item-storage.d.ts +1 -1
  6. package/lib/_internal/selectable-list-component.d.ts +2 -3
  7. package/lib/checkbox-list/checkbox-list.component.d.ts +2 -3
  8. package/lib/inputs/autocomplete-input/autocomplete-input.component.d.ts +2 -2
  9. package/lib/select/select.component.d.ts +6 -7
  10. package/lib/select/select.types.d.ts +4 -2
  11. package/lib/types/item-storage.types.d.ts +15 -17
  12. package/package.json +1 -1
  13. package/prebuilt-themes/default/buttons/button.css.map +1 -1
  14. package/prebuilt-themes/default/buttons/fab.css.map +1 -1
  15. package/prebuilt-themes/default/buttons/icon-button.css.map +1 -1
  16. package/prebuilt-themes/default/calendar.css.map +1 -1
  17. package/prebuilt-themes/default/card.css.map +1 -1
  18. package/prebuilt-themes/default/chips.css.map +1 -1
  19. package/prebuilt-themes/default/core.css +1 -0
  20. package/prebuilt-themes/default/core.css.map +1 -1
  21. package/prebuilt-themes/default/dropdown-panel.css.map +1 -1
  22. package/prebuilt-themes/default/form-field-frame.css.map +1 -1
  23. package/prebuilt-themes/default/form-field.css.map +1 -1
  24. package/prebuilt-themes/default/inputs/autocomplete-input.css.map +1 -1
  25. package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
  26. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
  27. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  28. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
  29. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  30. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -1
  31. package/prebuilt-themes/default/modal.css.map +1 -1
  32. package/prebuilt-themes/default/progress-circle.css.map +1 -1
  33. package/prebuilt-themes/default/segment.css +70 -57
  34. package/prebuilt-themes/default/segment.css.map +1 -1
  35. package/prebuilt-themes/default/select.css +6 -2
  36. package/prebuilt-themes/default/select.css.map +1 -1
  37. package/prebuilt-themes/default/slide-toggle.css.map +1 -1
  38. package/prebuilt-themes/default/slider.css +88 -49
  39. package/prebuilt-themes/default/slider.css.map +1 -1
  40. package/prebuilt-themes/default/stars.css.map +1 -1
  41. package/prebuilt-themes/default/table.css.map +1 -1
  42. package/themes/_variables.scss +1 -0
  43. package/themes/default/core.scss +1 -0
  44. package/themes/default/segment.scss +75 -67
  45. package/themes/default/select.scss +7 -2
  46. package/themes/default/slider.scss +88 -53
@@ -2,18 +2,38 @@
2
2
  @use './coloring' as coloringMixins;
3
3
  @use '../variables' as ARD;
4
4
 
5
+ :root {
6
+ --ard-segment-margin: 0;
7
+ --ard-segment-padding: 0.15rem;
8
+ --ard-segment-option-gap: var(--ard-segment-padding, 0.15rem);
9
+ --ard-segment-font-family: var(--ard-font-family);
10
+ --ard-segment-font-size: 0.875rem;
11
+ --ard-segment-font-size-compact: 0.75rem;
12
+ --ard-segment-rounded-border-radius: 0.5rem;
13
+ --ard-segment-row-height: 2.42em;
14
+ --ard-segment-row-height-compact: 1.85em;
15
+ --ard-segment-option-padding: 0 1em;
16
+ --ard-segment-option-padding-compact: 0 0.5em;
17
+ --ard-segment-option-disabled-opacity: 50%;
18
+ --ard-segment-option-highlighted-bg-opacity: 4%;
19
+ --ard-segment-option-highlighted-filled-bg-opacity: 16%;
20
+ --ard-segment-option-highlighted-keyboard-bg-opacity: 28%;
21
+ --ard-segment-option-active-bg-opacity: 12%;
22
+ --ard-segment-option-active-keyboard-bg-opacity: 34%;
23
+ --ard-segment-option-selected-bg-opacity: 16%;
24
+ --ard-segment-border-color: #{ARD.$border-light};
25
+ }
26
+
5
27
  .ard-segment-container {
6
28
  @include coloringMixins.typeColors();
7
- --ard-_segment-padding: 0.15rem;
8
- padding: var(--ard-_segment-padding);
9
- font-family: var(--ard-font-family);
10
- margin: 2px;
29
+ padding: var(--ard-segment-padding, 0.15rem);
30
+ font-family: var(--ard-segment-font-family, var(--ard-font-family));
31
+ margin: var(--ard-segment-margin, 0);
11
32
  border: 1px solid transparent;
12
- font-weight: 500;
13
33
  width: max-content;
14
34
  height: max-content;
15
- gap: var(--ard-_segment-padding);
16
- overflow: hidden; //hide click indicator overflowing rounded corners on touchscreens
35
+ gap: var(--ard-segment-option-gap, var(--ard-segment-padding, 0.15rem));
36
+ overflow: hidden; // hide click indicator overflowing rounded corners on touchscreens
17
37
 
18
38
  @include defaultMixins.formAppearances();
19
39
  @include defaultMixins.formVariants();
@@ -26,25 +46,21 @@
26
46
 
27
47
  //! row & option styling
28
48
  .ard-segment-row {
29
- gap: var(--ard-_segment-padding);
30
- --ard-_font-size: 0.85em;
31
- height: calc(2.42em + 1px);
32
- font-size: var(--ard-_font-size);
49
+ gap: var(--ard-segment-option-gap, var(--ard-segment-padding, 0.15rem));
50
+ height: calc(var(--ard-segment-row-height, 2.42em) + 1px);
51
+ font-size: var(--ard-segment-font-size, 0.875rem);
33
52
 
34
53
  .ard-segment-option {
35
54
  margin: 0;
36
- padding: 0 1em;
55
+ padding: var(--ard-segment-option-padding, 0 1em);
37
56
  height: 100%;
38
57
  font-size: 1em;
39
- min-width: 2.42em;
58
+ min-width: var(--ard-segment-row-height, 2.42em);
40
59
  border: 1px solid transparent;
41
60
  background: transparent;
42
61
  position: relative;
43
62
  cursor: pointer;
44
- transition:
45
- color 0.1s ARD.$timing-fn,
46
- opacity 0.1s ARD.$timing-fn,
47
- border-color 0.1s ARD.$timing-fn,
63
+ transition: color 0.1s ARD.$timing-fn, opacity 0.1s ARD.$timing-fn, border-color 0.1s ARD.$timing-fn,
48
64
  background-color 0.1s ARD.$timing-fn;
49
65
  outline: none;
50
66
  display: flex;
@@ -56,7 +72,7 @@
56
72
  }
57
73
 
58
74
  &.ard-option-disabled {
59
- opacity: 50%;
75
+ opacity: var(--ard-segment-option-disabled-opacity, 50%);
60
76
  pointer-events: none;
61
77
  }
62
78
 
@@ -76,17 +92,17 @@
76
92
  .ard-segment-option {
77
93
  &.ard-option-highlighted {
78
94
  .ard-focus-overlay {
79
- opacity: 4%;
95
+ opacity: var(--ard-segment-option-highlighted-bg-opacity, 4%);
80
96
  }
81
97
  }
82
98
  &:active {
83
99
  .ard-focus-overlay {
84
- opacity: 12%;
100
+ opacity: var(--ard-segment-option-active-bg-opacity, 12%);
85
101
  }
86
102
  }
87
103
  &.ard-option-selected {
88
104
  .ard-focus-overlay {
89
- opacity: 16%;
105
+ opacity: var(--ard-segment-option-selected-bg-opacity, 16%);
90
106
  }
91
107
  }
92
108
  }
@@ -94,12 +110,12 @@
94
110
  .ard-segment-option {
95
111
  &.ard-option-highlighted {
96
112
  .ard-focus-overlay {
97
- opacity: 28%;
113
+ opacity: var(--ard-segment-option-highlighted-keyboard-bg-opacity, 28%);
98
114
  }
99
115
  }
100
116
  &:active {
101
117
  .ard-focus-overlay {
102
- opacity: 34%;
118
+ opacity: var(--ard-segment-option-active-keyboard-bg-opacity, 34%);
103
119
  }
104
120
  }
105
121
  }
@@ -127,7 +143,7 @@
127
143
  padding: 0;
128
144
 
129
145
  .ard-segment-option {
130
- border: 1px solid ARD.$border-light;
146
+ border: 1px solid var(--ard-segment-border-color, ARD.$border-light);
131
147
 
132
148
  &.ard-option-selected {
133
149
  border-color: var(--ard-cmpcl--content);
@@ -160,43 +176,43 @@
160
176
  &:first-child {
161
177
  .ard-segment-option {
162
178
  &:first-child {
163
- border-top-left-radius: var(--ard-variant-border-radius) !important;
179
+ border-top-left-radius: var(--ard-_variant-border-radius) !important;
164
180
  }
165
181
  &:last-child {
166
- border-top-right-radius: var(--ard-variant-border-radius) !important;
182
+ border-top-right-radius: var(--ard-_variant-border-radius) !important;
167
183
  }
168
184
  &:first-child:last-child {
169
- border-top-right-radius: var(--ard-variant-border-radius) !important;
170
- border-top-left-radius: var(--ard-variant-border-radius) !important;
185
+ border-top-right-radius: var(--ard-_variant-border-radius) !important;
186
+ border-top-left-radius: var(--ard-_variant-border-radius) !important;
171
187
  }
172
188
  }
173
189
  }
174
190
  &:last-child {
175
191
  .ard-segment-option {
176
192
  &:first-child {
177
- border-bottom-left-radius: var(--ard-variant-border-radius) !important;
193
+ border-bottom-left-radius: var(--ard-_variant-border-radius) !important;
178
194
  }
179
195
  &:last-child {
180
- border-bottom-right-radius: var(--ard-variant-border-radius) !important;
196
+ border-bottom-right-radius: var(--ard-_variant-border-radius) !important;
181
197
  }
182
198
  &:first-child:last-child {
183
- border-bottom-right-radius: var(--ard-variant-border-radius) !important;
184
- border-bottom-left-radius: var(--ard-variant-border-radius) !important;
199
+ border-bottom-right-radius: var(--ard-_variant-border-radius) !important;
200
+ border-bottom-left-radius: var(--ard-_variant-border-radius) !important;
185
201
  }
186
202
  }
187
203
  }
188
204
  &:first-child:last-child {
189
205
  .ard-segment-option {
190
206
  &:first-child {
191
- border-top-left-radius: var(--ard-variant-border-radius) !important;
192
- border-bottom-left-radius: var(--ard-variant-border-radius) !important;
207
+ border-top-left-radius: var(--ard-_variant-border-radius) !important;
208
+ border-bottom-left-radius: var(--ard-_variant-border-radius) !important;
193
209
  }
194
210
  &:last-child {
195
- border-top-right-radius: var(--ard-variant-border-radius) !important;
196
- border-bottom-right-radius: var(--ard-variant-border-radius) !important;
211
+ border-top-right-radius: var(--ard-_variant-border-radius) !important;
212
+ border-bottom-right-radius: var(--ard-_variant-border-radius) !important;
197
213
  }
198
214
  &:first-child:last-child {
199
- border-radius: var(--ard-variant-border-radius) !important;
215
+ border-radius: var(--ard-_variant-border-radius) !important;
200
216
  }
201
217
  }
202
218
  }
@@ -233,23 +249,10 @@
233
249
  background: var(--ard-cmpcl--bg);
234
250
  opacity: 15%;
235
251
  }
236
-
237
- .ard-segment-option {
238
- &.ard-option-highlighted {
239
- .ard-focus-overlay {
240
- opacity: 8%;
241
- }
242
- }
243
- &.ard-option-selected {
244
- .ard-focus-overlay {
245
- opacity: 20%;
246
- }
247
- }
248
- }
249
252
  }
250
253
  &.ard-appearance-filled-strong {
251
254
  background: var(--ard-cmpcl--bg);
252
- border-radius: var(--ard-variant-border-radius);
255
+ border-radius: var(--ard-_variant-border-radius);
253
256
 
254
257
  .ard-segment-row {
255
258
  .ard-segment-option {
@@ -260,7 +263,7 @@
260
263
  }
261
264
  &.ard-option-highlighted {
262
265
  .ard-focus-overlay {
263
- opacity: 16%;
266
+ opacity: var(--ard-segment-option-highlighted-filled-bg-opacity, 16%);
264
267
  }
265
268
  }
266
269
  &.ard-option-selected {
@@ -276,48 +279,53 @@
276
279
  }
277
280
 
278
281
  //! variants
282
+ &.ard-variant-rounded,
283
+ &.ard-variant-rounded-connected,
279
284
  &.ard-variant-pill {
280
- border-radius: 16px;
285
+ --ard-_variant-border-radius: var(--ard-segment-rounded-border-radius, 0.5rem);
286
+ border-radius: var(--ard-_variant-border-radius);
281
287
 
282
288
  .ard-segment-row {
283
289
  .ard-segment-option {
284
- border-radius: var(--ard-variant-border-radius);
290
+ border-radius: max(
291
+ 1px,
292
+ calc(var(--ard-_variant-border-radius) - var(--ard-segment-option-gap, var(--ard-segment-padding, 0.15rem)))
293
+ );
285
294
  }
286
295
  }
287
296
  }
288
- &.ard-variant-rounded,
289
- &.ard-variant-rounded-connected {
290
- --ard-variant-border-radius: 8px;
291
- border-radius: var(--ard-variant-border-radius);
297
+ &.ard-variant-pill {
298
+ // TODO fix pill styling
299
+ border-radius: calc(var(--ard-segment-rounded-border-radius, 0.5rem) * 2);
292
300
 
293
301
  .ard-segment-row {
294
302
  .ard-segment-option {
295
- border-radius: max(1px, calc(var(--ard-variant-border-radius) - var(--ard-_segment-padding)));
303
+ border-radius: var(--ard-_variant-border-radius);
296
304
  }
297
305
  }
298
306
  }
299
307
  &.ard-variant-sharp,
300
308
  &.ard-variant-sharp-connected {
301
- border-radius: var(--ard-variant-border-radius);
309
+ border-radius: var(--ard-_variant-border-radius);
302
310
 
303
311
  .ard-segment-row {
304
312
  .ard-segment-option {
305
- border-radius: calc(var(--ard-variant-border-radius));
313
+ border-radius: calc(var(--ard-_variant-border-radius));
306
314
  }
307
315
  }
308
316
  }
309
317
  &.ard-variant-pill-connected.ard-singlerow {
310
- --ard-variant-border-radius: 9999px;
318
+ --ard-_variant-border-radius: 9999px;
311
319
  }
312
320
 
313
321
  //! compact
314
322
  &.ard-compact {
315
323
  .ard-segment-row {
316
- --ard-_font-size: 0.85em;
317
- height: calc(1.85em + 1px);
324
+ height: calc(var(--ard-segment-row-height-compact, 1.85em) + 1px);
325
+ font-size: var(--ard-segment-font-size-compact, 0.75rem);
318
326
 
319
327
  .ard-segment-option {
320
- padding: 0 0.5em;
328
+ padding: var(--ard-segment-option-padding-compact, 1.85em);
321
329
  min-width: 1.85em;
322
330
  }
323
331
  }
@@ -335,7 +343,7 @@
335
343
  //! disabled styling
336
344
  &.ard-disabled {
337
345
  pointer-events: none;
338
- opacity: 50%;
346
+ opacity: var(--ard-segment-option-disabled-opacity, 50%);
339
347
 
340
348
  .ard-focus-overlay {
341
349
  opacity: 10%;
@@ -345,7 +353,7 @@
345
353
  &.ard-color-none {
346
354
  .ard-button-icon,
347
355
  .ard-button-content {
348
- opacity: 60%;
356
+ opacity: calc(var(--ard-segment-option-disabled-opacity, 50%) * 1.2);
349
357
  }
350
358
  .ard-focus-overlay {
351
359
  background: var(--ard-cmpcl--overlay);
@@ -40,9 +40,10 @@
40
40
 
41
41
  --ard-select-dropdown-option-padding: 0.375em 0.625em;
42
42
  --ard-select-dropdown-option-text-color: var(--ard-text2, rgba(0, 0, 0, 87%));
43
- --ard-select-dropdown-option-highlight-bg: var(--ard-darken-overlay-light, rgba(0, 0, 0, 5%));
43
+ --ard-select-dropdown-option-highlighted-bg: var(--ard-darken-overlay-light, rgba(0, 0, 0, 5%));
44
44
  --ard-select-dropdown-option-selected-font-weight: 500;
45
45
  --ard-select-dropdown-option-selected-bg: var(--ard-darken-overlay-medium, rgba(0, 0, 0, 10%));
46
+ --ard-select-dropdown-option-selected-highlighted-bg: var(--ard-darken-overlay-medium-strong, rgba(0, 0, 0, 13%));
46
47
  --ard-select-dropdown-option-disabled-opacity: 50%;
47
48
 
48
49
  --ard-select-dropdown-add-custom-gap: 0.375rem;
@@ -237,12 +238,16 @@
237
238
  cursor: pointer;
238
239
 
239
240
  &.ard-option-highlighted {
240
- background: var(--ard-select-dropdown-option-highlight-bg, ARD.$darken-overlay-light);
241
+ background: var(--ard-select-dropdown-option-highlighted-bg, ARD.$darken-overlay-light);
241
242
  }
242
243
 
243
244
  &.ard-option-selected {
244
245
  font-weight: var(--ard-select-dropdown-option-selected-font-weight, 500);
245
246
  background: var(--ard-select-dropdown-option-selected-bg, ARD.$darken-overlay-medium);
247
+
248
+ &.ard-option-highlighted {
249
+ background: var(--ard-select-dropdown-option-selected-highlighted-bg, ARD.$darken-overlay-medium-strong);
250
+ }
246
251
  }
247
252
 
248
253
  &.ard-option-disabled {
@@ -3,23 +3,58 @@
3
3
  @use 'sass:math';
4
4
  @use '../variables' as ARD;
5
5
 
6
+ :root {
7
+ --ard-slider-font-size: var(--ard-form-field-font-size, 1rem);
8
+ --ard-slider-font-size-compact: var(--ard-form-field-font-size-compact, 0.875rem);
9
+ --ard-slider-width: 100%;
10
+ --ard-slider-padding: 0 calc(var(--ard-slider-handle-size, 1.25em) / 2);
11
+ --ard-slider-track-height: 0.25em;
12
+ --ard-slider-track-color: var(--ard-cmpcl--bg-colored);
13
+ --ard-slider-track-opacity: 20%;
14
+ --ard-slider-track-border-radius: 9999px;
15
+ --ard-slider-active-track-height: calc(100% + 0.125em);
16
+ --ard-slider-active-color: var(--ard-cmpcl--bg-colored);
17
+ --ard-slider-active-track-opacity: 100%;
18
+ --ard-slider-value-tick-size: 0.125em;
19
+ --ard-slider-value-tick-opacity: 30%;
20
+ --ard-slider-track-hitbox-size: calc(var(--ard-slider-handle-size, 1.25em) / 2);
21
+ --ard-slider-handle-size: 1.25em;
22
+ --ard-slider-handle-bg: var(--ard-cmpcl--bg-colored);
23
+ --ard-slider-handle-border: none;
24
+ --ard-slider-handle-border-radius: 9999px;
25
+ --ard-slider-handle-hitbox-size: 0.375em;
26
+ --ard-slider-handle-overlay-size: 0.5em;
27
+ --ard-slider-handle-overlay-hover-opacity: 7.5%;
28
+ --ard-slider-handle-overlay-focus-opacity: 15%;
29
+ --ard-slider-handle-overlay-active-opacity: 25%;
30
+ --ard-slider-label-font-size: 0.875rem;
31
+ --ard-slider-label-padding-top: 0.2em;
32
+ --ard-slider-label-bg: #{ARD.$text3};
33
+ --ard-slider-label-color: #{ARD.$text2-alt};
34
+ --ard-slider-label-height: 2em;
35
+ --ard-slider-label-border: none;
36
+ --ard-slider-label-border-radius: 0.375em;
37
+ --ard-slider-label-padding: 0 0.75em;
38
+ --ard-slider-label-font-weight: 500;
39
+ --ard-slider-label-arrow-size: 0.375em;
40
+ --ard-slider-label-offset: 0.5em;
41
+ }
42
+
6
43
  .ard-slider-container-master,
7
44
  .ard-range-slider-container-master {
8
45
  @include coloringMixins.typeColors();
9
46
 
10
47
  position: relative;
11
- font-size: 1rem;
12
- width: 20em;
48
+ font-size: var(--ard-slider-font-size, var(--ard-form-field-font-size, 1rem));
49
+ width: var(--ard-slider-width, 100%);
13
50
  max-width: 100%;
14
- padding: 0 0.625em;
51
+ padding: var(--ard-slider-padding, 0 calc(var(--ard-slider-handle-size, 1.25em) / 2));
15
52
  display: flex;
16
53
  flex-direction: column;
17
54
 
18
- color: var(--ard-cmpcl--bg-colored);
19
-
20
55
  //! compact
21
56
  &.ard-compact {
22
- font-size: 0.85rem;
57
+ font-size: var(--ard-slider-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem));
23
58
 
24
59
  .ard-slider-container > .ard-slider-handle {
25
60
  font-size: 0.95em;
@@ -32,50 +67,50 @@
32
67
  align-items: center;
33
68
  position: relative;
34
69
  width: 100%;
35
- height: 1.25em;
70
+ height: var(--ard-slider-handle-size, 1.25em);
36
71
  cursor: pointer;
37
72
  }
38
73
  //! track
39
74
  .ard-slider-track {
40
75
  width: 100%;
41
- height: 0.25em;
76
+ height: var(--ard-slider-track-height, 0.25em);
42
77
  background: ARD.$bg;
43
78
 
44
79
  .ard-slider-track-overlay {
45
80
  position: absolute;
46
81
  width: 100%;
47
82
  height: 100%;
48
- background: currentColor;
49
- opacity: 20%;
50
- border-radius: 9999px;
83
+ background: var(--ard-slider-track-color, var(--ard-cmpcl--bg-colored));
84
+ opacity: var(--ard-slider-track-opacity, 20%);
85
+ border-radius: var(--ard-slider-track-border-radius, 9999px);
51
86
 
52
87
  &.ard-slider-track-active {
53
88
  width: 0;
54
- height: calc(100% + 0.125em);
55
- top: math.div(-1em, 16);
56
- opacity: 100%;
57
- transition:
58
- width var(--_ard-slider-transition) ease,
59
- left var(--_ard-slider-transition) ease;
89
+ height: var(--ard-slider-active-track-height, calc(100% + 0.125em));
90
+ top: 50%;
91
+ transform: translateY(-50%);
92
+ background: var(--ard-slider-active-color, var(--ard-cmpcl--bg-colored));
93
+ opacity: var(--ard-slider-active-track-opacity, 100%);
94
+ transition: width var(--_ard-slider-transition) ease, left var(--_ard-slider-transition) ease;
60
95
  }
61
96
  }
62
97
  .ard-hitbox {
63
98
  position: absolute;
64
- inset: -0.625em;
99
+ inset: calc(var(--ard-slider-hitbox-size, calc(var(--ard-slider-handle-size, 1.25em) / 2)) * -1);
65
100
  }
66
101
  .ard-value-tick-container {
67
102
  position: absolute;
68
- left: 0.125em;
69
- width: calc(100% - 0.25em);
103
+ left: var(--ard-slider-value-tick-size, 0.125em);
104
+ width: calc(100% - var(--ard-slider-value-tick-size, 0.125em) * 2);
70
105
  height: 100%;
71
106
  }
72
107
  .ard-value-tick {
73
108
  top: 50%;
74
- width: 0.125em;
75
- height: 0.125em;
109
+ width: var(--ard-slider-value-tick-size, 0.125em);
110
+ height: var(--ard-slider-value-tick-size, 0.125em);
76
111
  border-radius: 9999px;
77
112
  background: ARD.$text;
78
- opacity: 30%;
113
+ opacity: var(--ard-slider-value-tick-opacity, 30%);
79
114
  transform: translate(-50%, -50%);
80
115
  }
81
116
  }
@@ -87,19 +122,17 @@
87
122
  .ard-slider-handle {
88
123
  font-size: inherit;
89
124
  top: 0;
90
- width: 1.25em;
91
- height: 1.25em;
125
+ width: var(--ard-slider-handle-size, 1.25em);
126
+ height: var(--ard-slider-handle-size, 1.25em);
92
127
  color: inherit;
93
- background: currentColor;
94
- border-radius: 9999px;
95
- border: none;
128
+ background: var(--ard-slider-handle-bg, var(--ard-cmpcl--bg-colored));
129
+ border-radius: var(--ard-slider-handle-border-radius, 9999px);
130
+ border: var(--ard-slider-handle-border, none);
96
131
  z-index: 1;
97
132
  outline: none;
98
133
  cursor: pointer;
99
134
 
100
- transition:
101
- box-shadow 0.15s ease,
102
- left var(--_ard-slider-transition) ease;
135
+ transition: box-shadow 0.15s ease, left var(--_ard-slider-transition) ease;
103
136
  box-shadow: ARD.$simple-shadow;
104
137
 
105
138
  // cursor: grab;
@@ -108,39 +141,40 @@
108
141
  // }
109
142
 
110
143
  .ard-focus-overlay {
111
- @include defaultMixins.focus-overlay(0.5em);
144
+ @include defaultMixins.focus-overlay(var(--ard-slider-handle-overlay-size, 0.5em));
112
145
  background: currentColor;
113
146
  }
114
147
  @include defaultMixins.focus-overlay-scale-addon();
115
148
 
116
149
  .ard-hitbox {
117
150
  position: absolute;
118
- inset: math.div(-7em, 16);
119
- border-radius: 9999px;
151
+ inset: calc(var(--ard-slider-handle-hitbox-size, 0.375em) * -1);
152
+ border-radius: calc(var(--ard-slider-handle-border-radius, 9999px) + var(--ard-slider-handle-hitbox-size, 0.375em));
120
153
  }
121
154
  &:hover {
122
155
  .ard-focus-overlay {
123
- opacity: 7.5%;
156
+ opacity: var(--ard-slider-handle-overlay-hover-opacity, 7.5%);
124
157
  }
125
158
  }
126
159
  &:focus {
127
160
  box-shadow: ARD.$simple-shadow2;
161
+
128
162
  .ard-focus-overlay {
129
- opacity: 15%;
163
+ opacity: var(--ard-slider-handle-overlay-focus-opacity, 15%);
130
164
  }
131
165
  }
132
166
  &:active,
133
167
  &.ard-grabbed {
134
168
  .ard-focus-overlay {
135
- opacity: 25%;
169
+ opacity: var(--ard-slider-handle-overlay-active-opacity, 25%);
136
170
  }
137
171
  }
138
172
  }
139
173
  .ard-slider-label-container {
140
174
  position: relative;
141
- font-size: 0.9em;
142
- padding-top: 0.2em;
143
- left: 2px;
175
+ font-size: var(--ard-slider-label-font-size, 0.9em);
176
+ padding-top: var(--ard-slider-label-padding-top, 0.2em);
177
+ left: 0.125em;
144
178
  width: calc(100% - 0.25em) !important;
145
179
 
146
180
  .ard-slider-label {
@@ -153,16 +187,15 @@
153
187
  z-index: 2;
154
188
  }
155
189
  .ard-slider-tooltip {
156
- --ard-background: #{ARD.$text3};
157
- background: var(--ard-background);
158
- color: ARD.$text2-alt;
159
- font-size: 0.875em;
160
- border-radius: 0.375em;
161
- height: 2em;
162
- padding: 0 0.75em;
190
+ background: var(--ard-slider-label-bg, #{ARD.$text3});
191
+ color: var(--ard-slider-label-color, #{ARD.$text2-alt});
192
+ font-size: var(--ard-slider-label-font-size, 0.875rem);
193
+ border-radius: var(--ard-slider-label-border-radius, 0.375em);
194
+ height: var(--ard-slider-label-height, 2em);
195
+ padding: var(--ard-slider-label-padding, 0 0.75em);
163
196
  display: flex;
164
197
  align-items: center;
165
- font-weight: 500;
198
+ font-weight: var(--ard-slider-label-font-weight, 500);
166
199
  position: relative;
167
200
  z-index: 2;
168
201
  user-select: none;
@@ -173,28 +206,30 @@
173
206
  &::before {
174
207
  content: '';
175
208
  position: absolute;
176
- border: 0.375em solid transparent;
209
+ border: var(--ard-slider-label-arrow-size, 0.375em) solid transparent;
177
210
  left: 50%;
178
211
  }
179
212
  }
180
213
  &.ard-tooltip-top {
181
214
  .ard-slider-tooltip {
182
- bottom: 0.5em;
215
+ bottom: var(--ard-slider-label-offset, 0.5em);
216
+ transform-origin: center bottom;
183
217
 
184
218
  &::before {
185
219
  bottom: 0;
186
- border-top-color: var(--ard-background);
220
+ border-top-color: var(--ard-slider-label-bg);
187
221
  transform: translate(-50%, 100%);
188
222
  }
189
223
  }
190
224
  }
191
225
  &.ard-tooltip-bottom {
192
226
  .ard-slider-tooltip {
193
- top: 0.5em;
227
+ top: var(--ard-slider-label-offset, 0.5em);
228
+ transform-origin: center top;
194
229
 
195
230
  &::before {
196
231
  top: 0;
197
- border-bottom-color: var(--ard-background);
232
+ border-bottom-color: var(--ard-slider-label-bg);
198
233
  transform: translate(-50%, -100%);
199
234
  }
200
235
  }