@sentropic/design-system-vue 0.11.0 → 0.13.0

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 (59) hide show
  1. package/dist/Calendar.d.ts.map +1 -1
  2. package/dist/Calendar.js +235 -74
  3. package/dist/Calendar.js.map +1 -1
  4. package/dist/ComboChart.d.ts +119 -0
  5. package/dist/ComboChart.d.ts.map +1 -0
  6. package/dist/ComboChart.js +280 -0
  7. package/dist/ComboChart.js.map +1 -0
  8. package/dist/FunnelChart.d.ts +103 -0
  9. package/dist/FunnelChart.d.ts.map +1 -0
  10. package/dist/FunnelChart.js +191 -0
  11. package/dist/FunnelChart.js.map +1 -0
  12. package/dist/GaugeChart.d.ts +134 -0
  13. package/dist/GaugeChart.d.ts.map +1 -0
  14. package/dist/GaugeChart.js +152 -0
  15. package/dist/GaugeChart.js.map +1 -0
  16. package/dist/KpiCard.d.ts +151 -0
  17. package/dist/KpiCard.d.ts.map +1 -0
  18. package/dist/KpiCard.js +155 -0
  19. package/dist/KpiCard.js.map +1 -0
  20. package/dist/Popper.d.ts +58 -0
  21. package/dist/Popper.d.ts.map +1 -1
  22. package/dist/Popper.js +136 -5
  23. package/dist/Popper.js.map +1 -1
  24. package/dist/Rating.d.ts.map +1 -1
  25. package/dist/Rating.js +111 -18
  26. package/dist/Rating.js.map +1 -1
  27. package/dist/SelectableList.d.ts +2 -0
  28. package/dist/SelectableList.d.ts.map +1 -1
  29. package/dist/SelectableList.js +72 -21
  30. package/dist/SelectableList.js.map +1 -1
  31. package/dist/SelectableRow.d.ts +2 -2
  32. package/dist/SelectableRow.d.ts.map +1 -1
  33. package/dist/SelectableRow.js +15 -5
  34. package/dist/SelectableRow.js.map +1 -1
  35. package/dist/SlideIndicator.d.ts.map +1 -1
  36. package/dist/SlideIndicator.js +12 -5
  37. package/dist/SlideIndicator.js.map +1 -1
  38. package/dist/TimePicker.d.ts +1 -1
  39. package/dist/TimePicker.d.ts.map +1 -1
  40. package/dist/TimePicker.js +150 -14
  41. package/dist/TimePicker.js.map +1 -1
  42. package/dist/TreemapChart.d.ts +95 -0
  43. package/dist/TreemapChart.d.ts.map +1 -0
  44. package/dist/TreemapChart.js +255 -0
  45. package/dist/TreemapChart.js.map +1 -0
  46. package/dist/WaterfallChart.d.ts +84 -0
  47. package/dist/WaterfallChart.d.ts.map +1 -0
  48. package/dist/WaterfallChart.js +186 -0
  49. package/dist/WaterfallChart.js.map +1 -0
  50. package/dist/chartScale.d.ts +4 -0
  51. package/dist/chartScale.d.ts.map +1 -1
  52. package/dist/chartScale.js +44 -0
  53. package/dist/chartScale.js.map +1 -1
  54. package/dist/index.d.ts +14 -2
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +7 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/styles.css +721 -2
  59. package/package.json +1 -1
package/dist/Popper.d.ts CHANGED
@@ -24,6 +24,25 @@ export type PopperProps = {
24
24
  portal?: boolean;
25
25
  /** Optional class applied to the floating panel. */
26
26
  class?: string;
27
+ /** Notified whenever the resolved placement changes (after flip). */
28
+ onPlacementChange?: (placement: PopperPlacement) => void;
29
+ /**
30
+ * (a11y, opt-in) When true, traps keyboard focus inside the panel while it
31
+ * is open (Tab cycles through focusable children; Shift+Tab cycles backward).
32
+ * Intended for modal overlays built on top of Popper. Non-modal usage (menus,
33
+ * tooltips) should leave this false (default) to keep the natural tab order.
34
+ */
35
+ trapFocus?: boolean;
36
+ /**
37
+ * (a11y) When true (default when open), pressing Escape calls `onClose` so
38
+ * the consumer can set `open = false`. Set to false to suppress this behavior.
39
+ */
40
+ closeOnEscape?: boolean;
41
+ /**
42
+ * Called when the panel requests closing (Escape key, or future outside-click).
43
+ * The consumer is responsible for updating `open` in response.
44
+ */
45
+ onClose?: () => void;
27
46
  };
28
47
  /** Split a placement into its side and (optional) alignment. */
29
48
  export declare function splitPlacement(placement: PopperPlacement): {
@@ -66,6 +85,9 @@ export declare function computePosition(anchorRect: Rect, panelWidth: number, pa
66
85
  * scroll, and resize via `computePosition` (pure geometry shared across
67
86
  * frameworks). Renders nothing unless `open` and an `anchor` are provided.
68
87
  * SSR-safe: all DOM access happens inside `onMounted` / watchers.
88
+ *
89
+ * A11y: optional `trapFocus` traps keyboard focus inside the panel (Tab/Shift+Tab
90
+ * cycle, Escape calls `onClose`, focus restored to the pre-open element on close).
69
91
  */
70
92
  export declare const Popper: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
71
93
  anchor: {
@@ -108,6 +130,22 @@ export declare const Popper: import("vue").DefineComponent<import("vue").Extract
108
130
  type: StringConstructor;
109
131
  default: undefined;
110
132
  };
133
+ onPlacementChange: {
134
+ type: PropType<(placement: PopperPlacement) => void>;
135
+ default: undefined;
136
+ };
137
+ trapFocus: {
138
+ type: BooleanConstructor;
139
+ default: boolean;
140
+ };
141
+ closeOnEscape: {
142
+ type: BooleanConstructor;
143
+ default: boolean;
144
+ };
145
+ onClose: {
146
+ type: PropType<() => void>;
147
+ default: undefined;
148
+ };
111
149
  }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
112
150
  [key: string]: any;
113
151
  }> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -153,12 +191,29 @@ export declare const Popper: import("vue").DefineComponent<import("vue").Extract
153
191
  type: StringConstructor;
154
192
  default: undefined;
155
193
  };
194
+ onPlacementChange: {
195
+ type: PropType<(placement: PopperPlacement) => void>;
196
+ default: undefined;
197
+ };
198
+ trapFocus: {
199
+ type: BooleanConstructor;
200
+ default: boolean;
201
+ };
202
+ closeOnEscape: {
203
+ type: BooleanConstructor;
204
+ default: boolean;
205
+ };
206
+ onClose: {
207
+ type: PropType<() => void>;
208
+ default: undefined;
209
+ };
156
210
  }>> & Readonly<{
157
211
  onPlacementChange?: ((_placement: PopperPlacement) => any) | undefined;
158
212
  }>, {
159
213
  open: boolean;
160
214
  class: string;
161
215
  shift: boolean;
216
+ onClose: () => void;
162
217
  offset: number;
163
218
  flip: boolean;
164
219
  anchor: HTMLElement | null;
@@ -166,5 +221,8 @@ export declare const Popper: import("vue").DefineComponent<import("vue").Extract
166
221
  arrow: boolean;
167
222
  strategy: PopperStrategy;
168
223
  portal: boolean;
224
+ onPlacementChange: (placement: PopperPlacement) => void;
225
+ trapFocus: boolean;
226
+ closeOnEscape: boolean;
169
227
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
170
228
  //# sourceMappingURL=Popper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.d.ts","sourceRoot":"","sources":["../src/Popper.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,QAAQ,EACd,MAAM,KAAK,CAAC;AAGb,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,OAAO,CAAC;AAElD,MAAM,MAAM,eAAe,GACvB,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,WAAW,GACX,SAAS,GACT,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,aAAa,GACb,WAAW,CAAC;AAEhB,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;IACxB,yDAAyD;IACzD,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,wEAAwE;IACxE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4DAA4D;IAC5D,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,SAAS,EAAE,eAAe,GAAG;IAC1D,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;CACpB,CAGA;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,eAAe,CAEnF;AASD,MAAM,MAAM,IAAI,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IACP,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB,GACA;IAAE,SAAS,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAwD3D;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;cAIG,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;;;;;;;;cAIjB,QAAQ,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;cAK1B,QAAQ,CAAC,cAAc,CAAC;;;;;;;;;;;;;;kCAKtB,eAAe;;;cAd3B,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;;;;;;;;cAIjB,QAAQ,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;cAK1B,QAAQ,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;4EAqItD,CAAC"}
1
+ {"version":3,"file":"Popper.d.ts","sourceRoot":"","sources":["../src/Popper.ts"],"names":[],"mappings":"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"}
package/dist/Popper.js CHANGED
@@ -83,11 +83,21 @@ export function computePosition(anchorRect, panelWidth, panelHeight, options) {
83
83
  }
84
84
  return { placement: joinPlacement(side, align), top, left };
85
85
  }
86
+ /** Returns all keyboard-focusable children of `container`. */
87
+ function getFocusable(container) {
88
+ if (typeof window === "undefined")
89
+ return [];
90
+ return Array.from(container.querySelectorAll('a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),' +
91
+ 'textarea:not([disabled]),[tabindex]:not([tabindex="-1"]),[contenteditable="true"]')).filter((el) => !el.closest("[disabled]"));
92
+ }
86
93
  /**
87
94
  * Float a panel next to an anchor element. Positioning is recomputed on open,
88
95
  * scroll, and resize via `computePosition` (pure geometry shared across
89
96
  * frameworks). Renders nothing unless `open` and an `anchor` are provided.
90
97
  * SSR-safe: all DOM access happens inside `onMounted` / watchers.
98
+ *
99
+ * A11y: optional `trapFocus` traps keyboard focus inside the panel (Tab/Shift+Tab
100
+ * cycle, Escape calls `onClose`, focus restored to the pre-open element on close).
91
101
  */
92
102
  export const Popper = defineComponent({
93
103
  name: "Popper",
@@ -105,6 +115,16 @@ export const Popper = defineComponent({
105
115
  strategy: { type: String, default: "absolute" },
106
116
  portal: { type: Boolean, default: true },
107
117
  class: { type: String, default: undefined },
118
+ onPlacementChange: {
119
+ type: Function,
120
+ default: undefined,
121
+ },
122
+ trapFocus: { type: Boolean, default: false },
123
+ closeOnEscape: { type: Boolean, default: true },
124
+ onClose: {
125
+ type: Function,
126
+ default: undefined,
127
+ },
108
128
  },
109
129
  emits: {
110
130
  placementChange: (_placement) => true,
@@ -116,6 +136,9 @@ export const Popper = defineComponent({
116
136
  // Placement actually applied (may differ from the requested `placement`
117
137
  // after a flip). Defaults to the requested placement.
118
138
  const resolvedPlacement = ref(props.placement);
139
+ // SSR-safe: capture the element that had focus before the panel opened.
140
+ // Plain variable (not ref) so writes inside watch don't trigger re-runs.
141
+ let preFocusEl = null;
119
142
  function reposition() {
120
143
  if (typeof window === "undefined")
121
144
  return;
@@ -151,6 +174,7 @@ export const Popper = defineComponent({
151
174
  if (result.placement !== resolvedPlacement.value) {
152
175
  resolvedPlacement.value = result.placement;
153
176
  emit("placementChange", result.placement);
177
+ props.onPlacementChange?.(result.placement);
154
178
  }
155
179
  }
156
180
  const onScroll = () => reposition();
@@ -161,8 +185,6 @@ export const Popper = defineComponent({
161
185
  return;
162
186
  if (!props.open || !props.anchor)
163
187
  return;
164
- // Reset to the requested placement before recomputing so a re-open
165
- // re-evaluates flips from scratch.
166
188
  resolvedPlacement.value = props.placement;
167
189
  reposition();
168
190
  if (!listening) {
@@ -180,13 +202,120 @@ export const Popper = defineComponent({
180
202
  listening = false;
181
203
  }
182
204
  }
205
+ // ─── a11y: focus management ──────────────────────────────────────────────
206
+ // Escape sur document (closeOnEscape).
207
+ let escapeCleanup = null;
208
+ // focusin recapture (trapFocus).
209
+ let focusinCleanup = null;
210
+ function stopA11y() {
211
+ escapeCleanup?.();
212
+ escapeCleanup = null;
213
+ focusinCleanup?.();
214
+ focusinCleanup = null;
215
+ }
216
+ function startA11y() {
217
+ if (typeof window === "undefined")
218
+ return;
219
+ if (!props.open)
220
+ return;
221
+ // Snapshot pre-focus element (trapFocus only).
222
+ if (props.trapFocus) {
223
+ preFocusEl = document.activeElement;
224
+ // Move focus into the panel after render.
225
+ setTimeout(() => {
226
+ if (!panel.value)
227
+ return;
228
+ const focusable = getFocusable(panel.value);
229
+ if (focusable.length > 0)
230
+ focusable[0].focus();
231
+ else
232
+ panel.value.focus();
233
+ }, 0);
234
+ }
235
+ // Escape on document.
236
+ if (props.closeOnEscape) {
237
+ const handler = (e) => {
238
+ if (e.key === "Escape") {
239
+ e.preventDefault();
240
+ props.onClose?.();
241
+ }
242
+ };
243
+ document.addEventListener("keydown", handler);
244
+ escapeCleanup = () => document.removeEventListener("keydown", handler);
245
+ }
246
+ // focusin recapture (trapFocus only).
247
+ if (props.trapFocus) {
248
+ const handleFocusIn = (e) => {
249
+ if (!panel.value)
250
+ return;
251
+ const target = e.target;
252
+ if (target && !panel.value.contains(target)) {
253
+ const focusable = getFocusable(panel.value);
254
+ if (focusable.length > 0)
255
+ focusable[0].focus();
256
+ else
257
+ panel.value.focus();
258
+ }
259
+ };
260
+ document.addEventListener("focusin", handleFocusIn);
261
+ focusinCleanup = () => document.removeEventListener("focusin", handleFocusIn);
262
+ }
263
+ }
264
+ function stopFocusTrap() {
265
+ stopA11y();
266
+ // Restore focus only if trapFocus was active and element is still in DOM.
267
+ if (props.trapFocus &&
268
+ preFocusEl &&
269
+ typeof preFocusEl.focus === "function" &&
270
+ document.contains(preFocusEl)) {
271
+ preFocusEl.focus();
272
+ }
273
+ preFocusEl = null;
274
+ }
183
275
  onMounted(start);
184
- watch(() => [props.open, props.anchor], () => {
276
+ watch(() => [props.open, props.anchor], ([open]) => {
185
277
  stop();
186
- start();
278
+ stopA11y();
279
+ if (open) {
280
+ start();
281
+ startA11y();
282
+ }
283
+ else {
284
+ stopFocusTrap();
285
+ }
187
286
  });
188
287
  watch(() => [props.placement, props.offset, props.flip, props.shift, props.strategy], () => reposition());
189
- onBeforeUnmount(stop);
288
+ onBeforeUnmount(() => {
289
+ stop();
290
+ stopA11y();
291
+ preFocusEl = null;
292
+ });
293
+ /** Keyboard handler attached to the panel for Tab-trap cycling. */
294
+ function handlePanelKeydown(e) {
295
+ if (!props.trapFocus || !panel.value)
296
+ return;
297
+ if (e.key !== "Tab")
298
+ return;
299
+ const focusable = getFocusable(panel.value);
300
+ if (focusable.length === 0) {
301
+ e.preventDefault();
302
+ return;
303
+ }
304
+ const first = focusable[0];
305
+ const last = focusable[focusable.length - 1];
306
+ if (e.shiftKey) {
307
+ if (document.activeElement === first) {
308
+ e.preventDefault();
309
+ last.focus();
310
+ }
311
+ }
312
+ else {
313
+ if (document.activeElement === last) {
314
+ e.preventDefault();
315
+ first.focus();
316
+ }
317
+ }
318
+ }
190
319
  return () => {
191
320
  if (!props.open || !props.anchor)
192
321
  return null;
@@ -196,6 +325,8 @@ export const Popper = defineComponent({
196
325
  class: classNames("st-popper", props.class),
197
326
  "data-popper-placement": resolvedPlacement.value,
198
327
  style: `position: ${props.strategy}; top: ${top.value}px; left: ${left.value}px;`,
328
+ tabindex: props.trapFocus ? -1 : undefined,
329
+ onKeydown: props.trapFocus ? handlePanelKeydown : undefined,
199
330
  }, [
200
331
  slots.default?.(),
201
332
  props.arrow
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.js","sourceRoot":"","sources":["../src/Popper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Popper.js","sourceRoot":"","sources":["../src/Popper.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Rating.d.ts","sourceRoot":"","sources":["../src/Rating.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAK5C,MAAM,MAAM,WAAW,GAAG;IACxB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAiDF,eAAO,MAAM,MAAM;;;;;;;;;;cAMgB,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;cAKpC,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;cALT,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;cAKpC,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;sBALK,MAAM,KAAK,IAAI;;;;;;;4EA4H9D,CAAC"}
1
+ {"version":3,"file":"Rating.d.ts","sourceRoot":"","sources":["../src/Rating.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAK5C,MAAM,MAAM,WAAW,GAAG;IACxB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAiDF,eAAO,MAAM,MAAM;;;;;;;;;;cAMgB,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;cAKpC,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;cALT,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;cAKpC,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;sBALK,MAAM,KAAK,IAAI;;;;;;;4EAoP9D,CAAC"}
package/dist/Rating.js CHANGED
@@ -55,6 +55,8 @@ export const Rating = defineComponent({
55
55
  emits: ["change", "update:modelValue"],
56
56
  setup(props, { emit, attrs }) {
57
57
  const internal = ref(props.value ?? 0);
58
+ // Refs des boutons radio pour déplacer le focus programmatiquement (mode entier).
59
+ const radioRefs = ref({});
58
60
  return () => {
59
61
  const current = props.value ?? internal.value;
60
62
  const max = props.max;
@@ -62,6 +64,7 @@ export const Rating = defineComponent({
62
64
  const stars = Array.from({ length: max }, (_, i) => i + 1);
63
65
  // L'étoile « focusable » (tabindex 0) suit la valeur ; à 0 c'est la première.
64
66
  const focusedStar = current > 0 ? Math.ceil(current) : 1;
67
+ const valueText = `${current} / ${max}`;
65
68
  const fill = (star) => {
66
69
  if (current >= star)
67
70
  return "full";
@@ -96,57 +99,147 @@ export const Rating = defineComponent({
96
99
  }
97
100
  commit(next);
98
101
  };
99
- const onKeyDown = (event) => {
102
+ // Clavier pour le mode entier (radiogroup) : déplace le focus DOM.
103
+ const onRadioKeyDown = (event) => {
100
104
  if (props.readonly)
101
105
  return;
102
- const step = props.allowHalf ? 0.5 : 1;
106
+ const step = 1;
103
107
  let handled = true;
108
+ let next = null;
104
109
  switch (event.key) {
105
110
  case "ArrowRight":
106
111
  case "ArrowUp":
107
- commit(Math.min(max, current + step));
112
+ next = Math.min(max, current + step);
108
113
  break;
109
114
  case "ArrowLeft":
110
115
  case "ArrowDown":
111
- commit(Math.max(0, current - step));
116
+ // Ne pas descendre sous 1 (pas de radio "0").
117
+ next = Math.max(1, current - step);
112
118
  break;
113
119
  case "Home":
114
- commit(0);
120
+ // Home → première étoile (1), pas 0.
121
+ next = 1;
115
122
  break;
116
123
  case "End":
117
- commit(max);
124
+ next = max;
118
125
  break;
119
126
  default:
120
127
  handled = false;
121
128
  }
122
- if (handled)
129
+ if (handled) {
123
130
  event.preventDefault();
131
+ if (next !== null) {
132
+ commit(next);
133
+ const targetStar = next > 0 ? Math.ceil(next) : 1;
134
+ const targetEl = radioRefs.value[targetStar];
135
+ if (targetEl)
136
+ targetEl.focus();
137
+ }
138
+ }
139
+ };
140
+ // Clavier pour le mode slider (allowHalf).
141
+ const onSliderKeyDown = (event) => {
142
+ if (props.readonly)
143
+ return;
144
+ const step = 0.5;
145
+ let handled = true;
146
+ let next = null;
147
+ switch (event.key) {
148
+ case "ArrowRight":
149
+ case "ArrowUp":
150
+ next = Math.min(max, current + step);
151
+ break;
152
+ case "ArrowLeft":
153
+ case "ArrowDown":
154
+ next = Math.max(0, current - step);
155
+ break;
156
+ case "Home":
157
+ next = 0;
158
+ break;
159
+ case "End":
160
+ next = max;
161
+ break;
162
+ default:
163
+ handled = false;
164
+ }
165
+ if (handled) {
166
+ event.preventDefault();
167
+ if (next !== null)
168
+ commit(next);
169
+ }
124
170
  };
171
+ const baseClass = classNames("st-rating", `st-rating--${props.size}`, props.readonly && "st-rating--readonly", props.class);
172
+ // --- Mode readonly : role=img sur le conteneur, pas d'éléments interactifs disabled.
173
+ if (props.readonly) {
174
+ return h("div", {
175
+ ...attrs,
176
+ class: baseClass,
177
+ role: "img",
178
+ "aria-label": props.label ? `${props.label} : ${valueText}` : valueText,
179
+ }, stars.map((star) => {
180
+ const state = fill(star);
181
+ return h("span", {
182
+ key: star,
183
+ class: classNames("st-rating__star", state === "full" && "st-rating__star--full", state === "half" && "st-rating__star--half"),
184
+ "aria-hidden": "true",
185
+ }, [
186
+ state === "half"
187
+ ? StarHalfIcon(iconSize)
188
+ : StarIcon(iconSize, state === "full" ? "currentColor" : "none"),
189
+ ]);
190
+ }));
191
+ }
192
+ // --- Mode allowHalf : slider ARIA (valeurs fractionnaires).
193
+ if (props.allowHalf) {
194
+ return h("div", {
195
+ ...attrs,
196
+ class: baseClass,
197
+ role: "slider",
198
+ "aria-label": props.label,
199
+ "aria-valuemin": 0,
200
+ "aria-valuemax": max,
201
+ "aria-valuenow": current,
202
+ "aria-valuetext": valueText,
203
+ tabindex: 0,
204
+ onKeydown: onSliderKeyDown,
205
+ }, stars.map((star) => {
206
+ const state = fill(star);
207
+ return h("span", {
208
+ key: star,
209
+ class: classNames("st-rating__star", state === "full" && "st-rating__star--full", state === "half" && "st-rating__star--half"),
210
+ "aria-hidden": "true",
211
+ onClick: (event) => onStarClick(event, star),
212
+ }, [
213
+ state === "half"
214
+ ? StarHalfIcon(iconSize)
215
+ : StarIcon(iconSize, state === "full" ? "currentColor" : "none"),
216
+ ]);
217
+ }));
218
+ }
219
+ // --- Mode entier : radiogroup / radio avec roving tabindex.
220
+ // onKeydown est aussi sur le conteneur pour capturer les events qui
221
+ // n'ont pas encore bubblé depuis un radio enfant (tests + edge cases).
125
222
  return h("div", {
126
223
  ...attrs,
127
- class: classNames("st-rating", `st-rating--${props.size}`, props.readonly && "st-rating--readonly", props.class),
224
+ class: baseClass,
128
225
  role: "radiogroup",
129
226
  "aria-label": props.label,
130
- "aria-readonly": props.readonly ? "true" : undefined,
227
+ onKeydown: onRadioKeyDown,
131
228
  }, stars.map((star) => {
132
229
  const state = fill(star);
133
230
  return h("button", {
134
231
  key: star,
232
+ ref: (el) => { radioRefs.value[star] = el; },
135
233
  type: "button",
136
234
  class: classNames("st-rating__star", state === "full" && "st-rating__star--full", state === "half" && "st-rating__star--half"),
137
235
  role: "radio",
138
236
  name: props.name,
139
- "aria-checked": Math.ceil(current) === star ? "true" : "false",
237
+ "aria-checked": current === star ? "true" : "false",
140
238
  "aria-label": `${star} / ${max}`,
141
- tabindex: !props.readonly && star === focusedStar ? 0 : -1,
142
- disabled: props.readonly,
239
+ tabindex: star === focusedStar ? 0 : -1,
143
240
  onClick: (event) => onStarClick(event, star),
144
- onKeydown: onKeyDown,
145
- }, [
146
- state === "half"
147
- ? StarHalfIcon(iconSize)
148
- : StarIcon(iconSize, state === "full" ? "currentColor" : "none"),
149
- ]);
241
+ onKeydown: onRadioKeyDown,
242
+ }, [StarIcon(iconSize, state === "full" ? "currentColor" : "none")]);
150
243
  }));
151
244
  };
152
245
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Rating.js","sourceRoot":"","sources":["../src/Rating.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Rating.js","sourceRoot":"","sources":["../src/Rating.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,8 @@ export type SelectableListProps = {
30
30
  * `multiple` toggles rows independently. Controlled via `value`/`onChange`,
31
31
  * otherwise it keeps its own internal selection. Pilots each child row through
32
32
  * provide/inject (role="option" + the computed tabindex / aria-selected).
33
+ * Disabled rows are registered but skipped during keyboard navigation; if a
34
+ * disabled row holds focus, focus transfers to the next enabled row.
33
35
  */
34
36
  export declare const SelectableList: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
35
37
  label: {
@@ -1 +1 @@
1
- {"version":3,"file":"SelectableList.d.ts","sourceRoot":"","sources":["../src/SelectableList.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,QAAQ,EACd,MAAM,KAAK,CAAC;AAOb,MAAM,MAAM,mBAAmB,GAAG;IAChC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAkBF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;cASI,QAAQ,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;;;;cAIzC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;;;;;;;;;;qBAMtD,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;;;;;;;;;;;;;;;cAVd,QAAQ,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;;;;cAIzC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;;;;;;;;;;;;sBAAlC,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI;;;;4EA+IxE,CAAC"}
1
+ {"version":3,"file":"SelectableList.d.ts","sourceRoot":"","sources":["../src/SelectableList.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,QAAQ,EACd,MAAM,KAAK,CAAC;AAOb,MAAM,MAAM,mBAAmB,GAAG;IAChC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAkBF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;cASI,QAAQ,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;;;;cAIzC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;;;;;;;;;;qBAMtD,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;;;;;;;;;;;;;;;cAVd,QAAQ,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;;;;cAIzC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;;;;;;;;;;;;sBAAlC,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI;;;;4EAqLxE,CAAC"}