@sentropic/design-system-svelte 0.10.3 → 0.10.4

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 (87) hide show
  1. package/dist/AreaChart.svelte +38 -26
  2. package/dist/AreaChart.svelte.d.ts.map +1 -1
  3. package/dist/BackToTop.svelte +157 -0
  4. package/dist/BackToTop.svelte.d.ts +14 -0
  5. package/dist/BackToTop.svelte.d.ts.map +1 -0
  6. package/dist/BarChart.svelte +38 -39
  7. package/dist/BarChart.svelte.d.ts.map +1 -1
  8. package/dist/Card.svelte +2 -0
  9. package/dist/ChartDataList.svelte +33 -0
  10. package/dist/ChartDataList.svelte.d.ts +9 -0
  11. package/dist/ChartDataList.svelte.d.ts.map +1 -0
  12. package/dist/ChatComposer.svelte +20 -3
  13. package/dist/ChatComposer.svelte.d.ts +6 -30
  14. package/dist/ChatComposer.svelte.d.ts.map +1 -1
  15. package/dist/Checkbox.svelte +4 -0
  16. package/dist/Combobox.svelte +1 -1
  17. package/dist/ContentSwitcher.svelte +1 -0
  18. package/dist/DataTable.svelte +4 -1
  19. package/dist/DatePicker.svelte +1 -1
  20. package/dist/DisplaySettings.svelte +210 -0
  21. package/dist/DisplaySettings.svelte.d.ts +24 -0
  22. package/dist/DisplaySettings.svelte.d.ts.map +1 -0
  23. package/dist/DonutChart.svelte +44 -29
  24. package/dist/DonutChart.svelte.d.ts.map +1 -1
  25. package/dist/Dropdown.svelte +1 -1
  26. package/dist/FileUploader.svelte +2 -2
  27. package/dist/ForceGraph.svelte +428 -26
  28. package/dist/ForceGraph.svelte.d.ts +27 -0
  29. package/dist/ForceGraph.svelte.d.ts.map +1 -1
  30. package/dist/GraphLegend.svelte +142 -0
  31. package/dist/GraphLegend.svelte.d.ts +12 -0
  32. package/dist/GraphLegend.svelte.d.ts.map +1 -0
  33. package/dist/Header.svelte +2 -1
  34. package/dist/IconButton.svelte +1 -1
  35. package/dist/InlineLoading.svelte +10 -1
  36. package/dist/InlineLoading.svelte.d.ts.map +1 -1
  37. package/dist/Input.svelte +3 -2
  38. package/dist/LanguageSelector.svelte +2 -1
  39. package/dist/LineChart.svelte +38 -26
  40. package/dist/LineChart.svelte.d.ts.map +1 -1
  41. package/dist/Link.svelte +7 -1
  42. package/dist/MediaContent.svelte +124 -0
  43. package/dist/MediaContent.svelte.d.ts +22 -0
  44. package/dist/MediaContent.svelte.d.ts.map +1 -0
  45. package/dist/Menu.svelte +56 -3
  46. package/dist/Menu.svelte.d.ts.map +1 -1
  47. package/dist/MessageStatusBadge.svelte +1 -1
  48. package/dist/MultiSelect.svelte +2 -2
  49. package/dist/Notification.svelte +150 -0
  50. package/dist/Notification.svelte.d.ts +17 -0
  51. package/dist/Notification.svelte.d.ts.map +1 -0
  52. package/dist/NumberInput.svelte +1 -0
  53. package/dist/OverflowMenu.svelte +84 -13
  54. package/dist/OverflowMenu.svelte.d.ts.map +1 -1
  55. package/dist/Pagination.svelte +7 -0
  56. package/dist/PaginationNav.svelte +2 -2
  57. package/dist/ProgressIndicator.svelte +13 -1
  58. package/dist/ProgressIndicator.svelte.d.ts +1 -0
  59. package/dist/ProgressIndicator.svelte.d.ts.map +1 -1
  60. package/dist/Radio.svelte +7 -3
  61. package/dist/ScatterPlot.svelte +64 -45
  62. package/dist/ScatterPlot.svelte.d.ts.map +1 -1
  63. package/dist/Search.svelte +6 -3
  64. package/dist/Select.svelte +8 -2
  65. package/dist/SideNav.svelte +6 -0
  66. package/dist/StackedBarChart.svelte +51 -30
  67. package/dist/StackedBarChart.svelte.d.ts.map +1 -1
  68. package/dist/StreamingMessage.svelte +2 -2
  69. package/dist/Switch.svelte +4 -0
  70. package/dist/Table.svelte +4 -1
  71. package/dist/TableOfContents.svelte +109 -0
  72. package/dist/TableOfContents.svelte.d.ts +16 -0
  73. package/dist/TableOfContents.svelte.d.ts.map +1 -0
  74. package/dist/Tag.svelte +1 -1
  75. package/dist/Textarea.svelte +3 -2
  76. package/dist/Tile.svelte +4 -0
  77. package/dist/TileGroup.svelte +4 -0
  78. package/dist/Toggle.svelte +4 -0
  79. package/dist/Toggletip.svelte +1 -1
  80. package/dist/Transcription.svelte +135 -0
  81. package/dist/Transcription.svelte.d.ts +19 -0
  82. package/dist/Transcription.svelte.d.ts.map +1 -0
  83. package/dist/TreeView.svelte +2 -2
  84. package/dist/index.d.ts +12 -1
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +8 -0
  87. package/package.json +1 -1
@@ -643,7 +643,7 @@
643
643
 
644
644
  .st-datepicker__day--inRange {
645
645
  background: var(
646
- --st-component-dropdown-optionHoverBackground,
646
+ --st-component-control-hoverBackground,
647
647
  var(--st-semantic-surface-subtle)
648
648
  );
649
649
  }
@@ -0,0 +1,210 @@
1
+ <script lang="ts">
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+
4
+ export type DisplayFontScale = "normal" | "large" | "extra-large";
5
+ export type DisplayContrast = "default" | "high";
6
+ export type DisplayLineSpacing = "normal" | "comfortable";
7
+
8
+ export interface DisplaySettingsState {
9
+ fontScale: DisplayFontScale;
10
+ contrast: DisplayContrast;
11
+ lineSpacing: DisplayLineSpacing;
12
+ reducedMotion: boolean;
13
+ }
14
+
15
+ type DisplaySettingsProps = Omit<HTMLAttributes<HTMLElement>, "children" | "class"> & {
16
+ title?: string;
17
+ values?: Partial<DisplaySettingsState>;
18
+ showFontScale?: boolean;
19
+ showContrast?: boolean;
20
+ showLineSpacing?: boolean;
21
+ showReducedMotion?: boolean;
22
+ onChange?: (settings: DisplaySettingsState) => void;
23
+ class?: string;
24
+ };
25
+
26
+ const DEFAULT_SETTINGS: DisplaySettingsState = {
27
+ fontScale: "normal",
28
+ contrast: "default",
29
+ lineSpacing: "normal",
30
+ reducedMotion: false
31
+ };
32
+
33
+ let {
34
+ title = "Paramètres d’affichage",
35
+ values,
36
+ showFontScale = true,
37
+ showContrast = true,
38
+ showLineSpacing = true,
39
+ showReducedMotion = true,
40
+ onChange,
41
+ class: className,
42
+ ...rest
43
+ }: DisplaySettingsProps = $props();
44
+
45
+ const resolvedValues = $derived(() => ({
46
+ fontScale: values?.fontScale ?? DEFAULT_SETTINGS.fontScale,
47
+ contrast: values?.contrast ?? DEFAULT_SETTINGS.contrast,
48
+ lineSpacing: values?.lineSpacing ?? DEFAULT_SETTINGS.lineSpacing,
49
+ reducedMotion: values?.reducedMotion ?? DEFAULT_SETTINGS.reducedMotion
50
+ }));
51
+
52
+ let state = $state<DisplaySettingsState>({ ...DEFAULT_SETTINGS });
53
+
54
+ $effect(() => {
55
+ const synced = resolvedValues();
56
+ if (
57
+ state.fontScale !== synced.fontScale ||
58
+ state.contrast !== synced.contrast ||
59
+ state.lineSpacing !== synced.lineSpacing ||
60
+ state.reducedMotion !== synced.reducedMotion
61
+ ) {
62
+ state = {
63
+ ...state,
64
+ ...synced
65
+ };
66
+ }
67
+ });
68
+
69
+ const currentState = () => ({
70
+ fontScale: state.fontScale,
71
+ contrast: state.contrast,
72
+ lineSpacing: state.lineSpacing,
73
+ reducedMotion: state.reducedMotion
74
+ });
75
+
76
+ const classes = () => ["st-displaySettings", className].filter(Boolean).join(" ");
77
+
78
+ function update(next: Partial<DisplaySettingsState>) {
79
+ state = {
80
+ ...state,
81
+ ...next
82
+ };
83
+ onChange?.(currentState());
84
+ }
85
+
86
+ const onFontScaleChange = (event: Event) => {
87
+ update({
88
+ fontScale: (event.currentTarget as HTMLSelectElement).value as DisplayFontScale
89
+ });
90
+ };
91
+
92
+ const onContrastChange = (event: Event) => {
93
+ update({ contrast: (event.currentTarget as HTMLSelectElement).value as DisplayContrast });
94
+ };
95
+
96
+ const onLineSpacingChange = (event: Event) => {
97
+ update({ lineSpacing: (event.currentTarget as HTMLSelectElement).value as DisplayLineSpacing });
98
+ };
99
+
100
+ const onReducedMotionChange = (event: Event) => {
101
+ update({ reducedMotion: (event.currentTarget as HTMLInputElement).checked });
102
+ };
103
+ </script>
104
+
105
+ <div class={classes()} {...rest}>
106
+ <p class="st-displaySettings__title">{title}</p>
107
+
108
+ <div class="st-displaySettings__grid">
109
+ {#if showFontScale}
110
+ <label class="st-displaySettings__field">
111
+ <span class="st-displaySettings__label">Taille de texte</span>
112
+ <select value={state.fontScale} onchange={onFontScaleChange}>
113
+ <option value="normal">Normale</option>
114
+ <option value="large">Grande</option>
115
+ <option value="extra-large">Très grande</option>
116
+ </select>
117
+ </label>
118
+ {/if}
119
+
120
+ {#if showContrast}
121
+ <label class="st-displaySettings__field">
122
+ <span class="st-displaySettings__label">Contraste</span>
123
+ <select value={state.contrast} onchange={onContrastChange}>
124
+ <option value="default">Standard</option>
125
+ <option value="high">Élevé</option>
126
+ </select>
127
+ </label>
128
+ {/if}
129
+
130
+ {#if showLineSpacing}
131
+ <label class="st-displaySettings__field">
132
+ <span class="st-displaySettings__label">Interligne</span>
133
+ <select value={state.lineSpacing} onchange={onLineSpacingChange}>
134
+ <option value="normal">Normal</option>
135
+ <option value="comfortable">Confortable</option>
136
+ </select>
137
+ </label>
138
+ {/if}
139
+
140
+ {#if showReducedMotion}
141
+ <label class="st-displaySettings__field st-displaySettings__field--switch">
142
+ <span class="st-displaySettings__label">Animations (réduction)</span>
143
+ <input
144
+ type="checkbox"
145
+ role="switch"
146
+ checked={state.reducedMotion}
147
+ onchange={onReducedMotionChange}
148
+ />
149
+ </label>
150
+ {/if}
151
+ </div>
152
+ </div>
153
+
154
+ <style>
155
+ .st-displaySettings {
156
+ border: 1px solid var(--st-semantic-border-subtle);
157
+ border-radius: 0.5rem;
158
+ padding: 0.75rem 0.875rem;
159
+ }
160
+
161
+ .st-displaySettings__title {
162
+ color: var(--st-semantic-text-primary);
163
+ font-size: 0.8125rem;
164
+ font-weight: 600;
165
+ margin: 0;
166
+ text-transform: uppercase;
167
+ }
168
+
169
+ .st-displaySettings__grid {
170
+ display: grid;
171
+ gap: 0.75rem;
172
+ margin-top: 0.75rem;
173
+ }
174
+
175
+ .st-displaySettings__field {
176
+ display: grid;
177
+ gap: 0.35rem;
178
+ color: var(--st-semantic-text-secondary);
179
+ font-size: 0.875rem;
180
+ }
181
+
182
+ .st-displaySettings__label {
183
+ font-weight: 600;
184
+ }
185
+
186
+ .st-displaySettings select,
187
+ .st-displaySettings input[type="checkbox"] {
188
+ appearance: auto;
189
+ width: 100%;
190
+ border: 1px solid var(--st-component-control-border, var(--st-semantic-border-subtle));
191
+ border-radius: 0.375rem;
192
+ color: var(--st-semantic-text-primary);
193
+ background: var(--st-component-control-background, var(--st-semantic-surface-primary));
194
+ padding: 0.5rem 0.65rem;
195
+ font: inherit;
196
+ }
197
+
198
+ .st-displaySettings input[type="checkbox"] {
199
+ width: fit-content;
200
+ min-width: 1.2rem;
201
+ min-height: 1.2rem;
202
+ margin: 0;
203
+ }
204
+
205
+ .st-displaySettings__field--switch {
206
+ align-items: center;
207
+ grid-template-columns: 1fr auto;
208
+ gap: 0.5rem;
209
+ }
210
+ </style>
@@ -0,0 +1,24 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ export type DisplayFontScale = "normal" | "large" | "extra-large";
3
+ export type DisplayContrast = "default" | "high";
4
+ export type DisplayLineSpacing = "normal" | "comfortable";
5
+ export interface DisplaySettingsState {
6
+ fontScale: DisplayFontScale;
7
+ contrast: DisplayContrast;
8
+ lineSpacing: DisplayLineSpacing;
9
+ reducedMotion: boolean;
10
+ }
11
+ type DisplaySettingsProps = Omit<HTMLAttributes<HTMLElement>, "children" | "class"> & {
12
+ title?: string;
13
+ values?: Partial<DisplaySettingsState>;
14
+ showFontScale?: boolean;
15
+ showContrast?: boolean;
16
+ showLineSpacing?: boolean;
17
+ showReducedMotion?: boolean;
18
+ onChange?: (settings: DisplaySettingsState) => void;
19
+ class?: string;
20
+ };
21
+ declare const DisplaySettings: import("svelte").Component<DisplaySettingsProps, {}, "">;
22
+ type DisplaySettings = ReturnType<typeof DisplaySettings>;
23
+ export default DisplaySettings;
24
+ //# sourceMappingURL=DisplaySettings.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplaySettings.svelte.d.ts","sourceRoot":"","sources":["../src/lib/DisplaySettings.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,kBAAkB,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,KAAK,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAwIJ,QAAA,MAAM,eAAe,0DAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
@@ -11,6 +11,8 @@
11
11
  </script>
12
12
 
13
13
  <script lang="ts">
14
+ import ChartDataList from "./ChartDataList.svelte";
15
+
14
16
  type DonutChartProps = {
15
17
  data: DonutChartDatum[];
16
18
  /** Diamètre du SVG. */
@@ -69,32 +71,49 @@
69
71
 
70
72
  const classes = () => ["st-donutChart", className].filter(Boolean).join(" ");
71
73
  const fmtPct = (p: number) => `${p.toFixed(p < 10 ? 1 : 0)}%`;
74
+ const dataValueItems = $derived(
75
+ slices.items.map((slice) => `${slice.d.label}: ${slice.d.value} (${fmtPct(slice.pct)})`)
76
+ );
77
+
78
+ function handleVisualPointerMove(event: PointerEvent) {
79
+ const target = event.target;
80
+ if (!(target instanceof Element)) {
81
+ hoveredIndex = null;
82
+ return;
83
+ }
84
+ const index = Number(target.getAttribute("data-chart-index"));
85
+ hoveredIndex = Number.isInteger(index) ? index : null;
86
+ }
72
87
  </script>
73
88
 
74
- <div class={classes()} role="img" aria-label={label}>
75
- <svg viewBox="0 0 {size} {size}" width="100%" height="100%" focusable="false" aria-hidden="true">
76
- {#if slices.total > 0}
77
- {#each slices.items as slice, i (slice.d.label)}
78
- <path
79
- class="st-donutChart__slice st-donutChart__slice--{slice.tone}"
80
- class:st-donutChart__slice--dim={hoveredIndex !== null && hoveredIndex !== i}
81
- d={slice.path}
82
- tabindex="0"
83
- role="img"
84
- aria-label="{slice.d.label}: {slice.d.value} ({fmtPct(slice.pct)})"
85
- onmouseenter={() => (hoveredIndex = i)}
86
- onmouseleave={() => (hoveredIndex = null)}
87
- onfocus={() => (hoveredIndex = i)}
88
- onblur={() => (hoveredIndex = null)}
89
- />
90
- {/each}
91
- {#if centerLabel !== null}
92
- <text class="st-donutChart__center" x={size / 2} y={size / 2} text-anchor="middle" dominant-baseline="central">
93
- {centerLabel ?? slices.total}
94
- </text>
89
+ <div class={classes()}>
90
+ <div
91
+ class="st-donutChart__visual"
92
+ role="img"
93
+ aria-label={label}
94
+ onpointermove={handleVisualPointerMove}
95
+ onpointerleave={() => (hoveredIndex = null)}
96
+ >
97
+ <svg viewBox="0 0 {size} {size}" width="100%" height="100%" focusable="false" aria-hidden="true">
98
+ {#if slices.total > 0}
99
+ {#each slices.items as slice, i (slice.d.label)}
100
+ <path
101
+ class="st-donutChart__slice st-donutChart__slice--{slice.tone}"
102
+ class:st-donutChart__slice--dim={hoveredIndex !== null && hoveredIndex !== i}
103
+ d={slice.path}
104
+ data-chart-index={i}
105
+ />
106
+ {/each}
107
+ {#if centerLabel !== null}
108
+ <text class="st-donutChart__center" x={size / 2} y={size / 2} text-anchor="middle" dominant-baseline="central">
109
+ {centerLabel ?? slices.total}
110
+ </text>
111
+ {/if}
95
112
  {/if}
96
- {/if}
97
- </svg>
113
+ </svg>
114
+ </div>
115
+
116
+ <ChartDataList {label} items={dataValueItems} />
98
117
 
99
118
  {#if hoveredIndex !== null && slices.items[hoveredIndex]}
100
119
  {@const s = slices.items[hoveredIndex]}
@@ -114,7 +133,8 @@
114
133
  position: relative;
115
134
  }
116
135
 
117
- .st-donutChart svg { display: block; overflow: visible; }
136
+ .st-donutChart svg,
137
+ .st-donutChart__visual { display: block; overflow: visible; }
118
138
 
119
139
  .st-donutChart__slice {
120
140
  cursor: pointer;
@@ -125,11 +145,6 @@
125
145
 
126
146
  .st-donutChart__slice--dim { opacity: 0.4; }
127
147
 
128
- .st-donutChart__slice:focus-visible {
129
- outline: 2px solid var(--st-semantic-border-interactive);
130
- outline-offset: 1px;
131
- }
132
-
133
148
  .st-donutChart__slice--category1 { fill: var(--st-semantic-data-category1); }
134
149
  .st-donutChart__slice--category2 { fill: var(--st-semantic-data-category2); }
135
150
  .st-donutChart__slice--category3 { fill: var(--st-semantic-data-category3); }
@@ -1 +1 @@
1
- {"version":3,"file":"DonutChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/DonutChart.svelte.ts"],"names":[],"mappings":"AAGE,MAAM,MAAM,cAAc,GACtB,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GACrD,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAiFJ,QAAA,MAAM,UAAU,qDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"DonutChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/DonutChart.svelte.ts"],"names":[],"mappings":"AAGE,MAAM,MAAM,cAAc,GACtB,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GACrD,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC;AAMF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAmGJ,QAAA,MAAM,UAAU,qDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
@@ -176,7 +176,7 @@
176
176
  .st-dropdown__option:hover:not(:disabled),
177
177
  .st-dropdown__option:focus-visible {
178
178
  background: var(
179
- --st-component-dropdown-optionHoverBackground,
179
+ --st-component-control-hoverBackground,
180
180
  var(--st-semantic-surface-subtle)
181
181
  );
182
182
  outline: none;
@@ -407,7 +407,7 @@
407
407
  }
408
408
 
409
409
  .st-fileUploader__trigger:hover:not(:disabled) {
410
- background: color-mix(in srgb, var(--st-semantic-action-primary) 88%, black);
410
+ background: var(--st-component-control-hoverBackground, var(--st-semantic-surface-subtle));
411
411
  }
412
412
 
413
413
  .st-fileUploader__trigger:focus-visible {
@@ -531,7 +531,7 @@
531
531
  }
532
532
 
533
533
  .st-fileUploader__remove:hover:not(:disabled) {
534
- background: color-mix(in srgb, currentColor 14%, transparent);
534
+ background: var(--st-component-control-hoverBackground, var(--st-semantic-surface-subtle));
535
535
  }
536
536
 
537
537
  .st-fileUploader__remove:focus-visible {