@camunda/design-system 0.58.0 → 0.60.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 (210) hide show
  1. package/dist/carbon-compat/accordion-skeleton.d.ts +8 -2
  2. package/dist/carbon-compat/accordion-skeleton.d.ts.map +1 -1
  3. package/dist/carbon-compat/accordion-skeleton.js +4 -2
  4. package/dist/carbon-compat/accordion-skeleton.js.map +1 -1
  5. package/dist/carbon-compat/c3-data-table.d.ts +7 -1
  6. package/dist/carbon-compat/c3-data-table.d.ts.map +1 -1
  7. package/dist/carbon-compat/c3-data-table.js +8 -6
  8. package/dist/carbon-compat/c3-data-table.js.map +1 -1
  9. package/dist/carbon-compat/code-snippet.d.ts +2 -2
  10. package/dist/carbon-compat/code-snippet.d.ts.map +1 -1
  11. package/dist/carbon-compat/code-snippet.js +8 -6
  12. package/dist/carbon-compat/code-snippet.js.map +1 -1
  13. package/dist/carbon-compat/error-boundary.d.ts +2 -1
  14. package/dist/carbon-compat/error-boundary.d.ts.map +1 -1
  15. package/dist/carbon-compat/error-boundary.js +11 -1
  16. package/dist/carbon-compat/error-boundary.js.map +1 -1
  17. package/dist/carbon-compat/filterable-multi-select.d.ts.map +1 -1
  18. package/dist/carbon-compat/filterable-multi-select.js +6 -1
  19. package/dist/carbon-compat/filterable-multi-select.js.map +1 -1
  20. package/dist/carbon-compat/modal.d.ts.map +1 -1
  21. package/dist/carbon-compat/modal.js +5 -1
  22. package/dist/carbon-compat/modal.js.map +1 -1
  23. package/dist/carbon-compat/multi-select.d.ts.map +1 -1
  24. package/dist/carbon-compat/multi-select.js +5 -1
  25. package/dist/carbon-compat/multi-select.js.map +1 -1
  26. package/dist/carbon-compat/search.d.ts +4 -1
  27. package/dist/carbon-compat/search.d.ts.map +1 -1
  28. package/dist/carbon-compat/search.js +4 -2
  29. package/dist/carbon-compat/search.js.map +1 -1
  30. package/dist/carbon-compat/table-batch-actions.d.ts +5 -1
  31. package/dist/carbon-compat/table-batch-actions.d.ts.map +1 -1
  32. package/dist/carbon-compat/table-batch-actions.js +8 -3
  33. package/dist/carbon-compat/table-batch-actions.js.map +1 -1
  34. package/dist/carbon-compat/table-expand.d.ts +5 -1
  35. package/dist/carbon-compat/table-expand.d.ts.map +1 -1
  36. package/dist/carbon-compat/table-expand.js +6 -2
  37. package/dist/carbon-compat/table-expand.js.map +1 -1
  38. package/dist/carbon-compat/table-select.d.ts +9 -2
  39. package/dist/carbon-compat/table-select.d.ts.map +1 -1
  40. package/dist/carbon-compat/table-select.js +5 -2
  41. package/dist/carbon-compat/table-select.js.map +1 -1
  42. package/dist/carbon-compat/table-toolbar.d.ts +1 -0
  43. package/dist/carbon-compat/table-toolbar.d.ts.map +1 -1
  44. package/dist/carbon-compat/table-toolbar.js +5 -2
  45. package/dist/carbon-compat/table-toolbar.js.map +1 -1
  46. package/dist/src/components/ui/alert-dialog.d.ts +11 -1
  47. package/dist/src/components/ui/alert-dialog.d.ts.map +1 -1
  48. package/dist/src/components/ui/alert-dialog.js +5 -4
  49. package/dist/src/components/ui/alert-dialog.js.map +1 -1
  50. package/dist/src/components/ui/alert.d.ts +3 -1
  51. package/dist/src/components/ui/alert.d.ts.map +1 -1
  52. package/dist/src/components/ui/alert.js +6 -2
  53. package/dist/src/components/ui/alert.js.map +1 -1
  54. package/dist/src/components/ui/app-header.d.ts +1 -0
  55. package/dist/src/components/ui/app-header.d.ts.map +1 -1
  56. package/dist/src/components/ui/app-header.js +4 -2
  57. package/dist/src/components/ui/app-header.js.map +1 -1
  58. package/dist/src/components/ui/app-sidebar.d.ts +49 -2
  59. package/dist/src/components/ui/app-sidebar.d.ts.map +1 -1
  60. package/dist/src/components/ui/app-sidebar.js +74 -22
  61. package/dist/src/components/ui/app-sidebar.js.map +1 -1
  62. package/dist/src/components/ui/breadcrumb.d.ts +7 -1
  63. package/dist/src/components/ui/breadcrumb.d.ts.map +1 -1
  64. package/dist/src/components/ui/breadcrumb.js +6 -3
  65. package/dist/src/components/ui/breadcrumb.js.map +1 -1
  66. package/dist/src/components/ui/c4-provider.d.ts +10 -0
  67. package/dist/src/components/ui/c4-provider.d.ts.map +1 -1
  68. package/dist/src/components/ui/c4-provider.js +11 -2
  69. package/dist/src/components/ui/c4-provider.js.map +1 -1
  70. package/dist/src/components/ui/card.d.ts +3 -1
  71. package/dist/src/components/ui/card.d.ts.map +1 -1
  72. package/dist/src/components/ui/card.js +18 -2
  73. package/dist/src/components/ui/card.js.map +1 -1
  74. package/dist/src/components/ui/chart.d.ts +1 -0
  75. package/dist/src/components/ui/chart.d.ts.map +1 -1
  76. package/dist/src/components/ui/chart.js +4 -2
  77. package/dist/src/components/ui/chart.js.map +1 -1
  78. package/dist/src/components/ui/code-block.d.ts +5 -0
  79. package/dist/src/components/ui/code-block.d.ts.map +1 -1
  80. package/dist/src/components/ui/code-block.js +15 -20
  81. package/dist/src/components/ui/code-block.js.map +1 -1
  82. package/dist/src/components/ui/combobox.d.ts +2 -0
  83. package/dist/src/components/ui/combobox.d.ts.map +1 -1
  84. package/dist/src/components/ui/combobox.js +55 -18
  85. package/dist/src/components/ui/combobox.js.map +1 -1
  86. package/dist/src/components/ui/data-table.d.ts +63 -6
  87. package/dist/src/components/ui/data-table.d.ts.map +1 -1
  88. package/dist/src/components/ui/data-table.js +38 -23
  89. package/dist/src/components/ui/data-table.js.map +1 -1
  90. package/dist/src/components/ui/date-picker.d.ts +1 -0
  91. package/dist/src/components/ui/date-picker.d.ts.map +1 -1
  92. package/dist/src/components/ui/date-picker.js +6 -2
  93. package/dist/src/components/ui/date-picker.js.map +1 -1
  94. package/dist/src/components/ui/date-range-picker.d.ts +3 -0
  95. package/dist/src/components/ui/date-range-picker.d.ts.map +1 -1
  96. package/dist/src/components/ui/date-range-picker.js +26 -5
  97. package/dist/src/components/ui/date-range-picker.js.map +1 -1
  98. package/dist/src/components/ui/dialog.d.ts +23 -3
  99. package/dist/src/components/ui/dialog.d.ts.map +1 -1
  100. package/dist/src/components/ui/dialog.js +15 -9
  101. package/dist/src/components/ui/dialog.js.map +1 -1
  102. package/dist/src/components/ui/file-uploader.d.ts +4 -4
  103. package/dist/src/components/ui/file-uploader.d.ts.map +1 -1
  104. package/dist/src/components/ui/file-uploader.js +38 -9
  105. package/dist/src/components/ui/file-uploader.js.map +1 -1
  106. package/dist/src/components/ui/form-error-summary.d.ts +13 -0
  107. package/dist/src/components/ui/form-error-summary.d.ts.map +1 -0
  108. package/dist/src/components/ui/form-error-summary.js +53 -0
  109. package/dist/src/components/ui/form-error-summary.js.map +1 -0
  110. package/dist/src/components/ui/inline-edit.d.ts +1 -1
  111. package/dist/src/components/ui/inline-edit.d.ts.map +1 -1
  112. package/dist/src/components/ui/inline-edit.js +17 -2
  113. package/dist/src/components/ui/inline-edit.js.map +1 -1
  114. package/dist/src/components/ui/meter.d.ts +1 -0
  115. package/dist/src/components/ui/meter.d.ts.map +1 -1
  116. package/dist/src/components/ui/meter.js +7 -3
  117. package/dist/src/components/ui/meter.js.map +1 -1
  118. package/dist/src/components/ui/multi-select.d.ts +16 -0
  119. package/dist/src/components/ui/multi-select.d.ts.map +1 -1
  120. package/dist/src/components/ui/multi-select.js +86 -23
  121. package/dist/src/components/ui/multi-select.js.map +1 -1
  122. package/dist/src/components/ui/multi-step-dialog.d.ts +35 -1
  123. package/dist/src/components/ui/multi-step-dialog.d.ts.map +1 -1
  124. package/dist/src/components/ui/multi-step-dialog.js +47 -8
  125. package/dist/src/components/ui/multi-step-dialog.js.map +1 -1
  126. package/dist/src/components/ui/nav-breadcrumb.d.ts +29 -12
  127. package/dist/src/components/ui/nav-breadcrumb.d.ts.map +1 -1
  128. package/dist/src/components/ui/nav-breadcrumb.js +69 -24
  129. package/dist/src/components/ui/nav-breadcrumb.js.map +1 -1
  130. package/dist/src/components/ui/notifications.d.ts +52 -5
  131. package/dist/src/components/ui/notifications.d.ts.map +1 -1
  132. package/dist/src/components/ui/notifications.js +25 -10
  133. package/dist/src/components/ui/notifications.js.map +1 -1
  134. package/dist/src/components/ui/overflow-strip.d.ts +18 -0
  135. package/dist/src/components/ui/overflow-strip.d.ts.map +1 -0
  136. package/dist/src/components/ui/overflow-strip.js +103 -0
  137. package/dist/src/components/ui/overflow-strip.js.map +1 -0
  138. package/dist/src/components/ui/scorecard.d.ts +1 -0
  139. package/dist/src/components/ui/scorecard.d.ts.map +1 -1
  140. package/dist/src/components/ui/scorecard.js +28 -4
  141. package/dist/src/components/ui/scorecard.js.map +1 -1
  142. package/dist/src/components/ui/search-input.d.ts +1 -1
  143. package/dist/src/components/ui/search-input.d.ts.map +1 -1
  144. package/dist/src/components/ui/search-input.js +4 -2
  145. package/dist/src/components/ui/search-input.js.map +1 -1
  146. package/dist/src/components/ui/select.d.ts +2 -2
  147. package/dist/src/components/ui/select.d.ts.map +1 -1
  148. package/dist/src/components/ui/select.js +123 -6
  149. package/dist/src/components/ui/select.js.map +1 -1
  150. package/dist/src/components/ui/sheet.d.ts +5 -2
  151. package/dist/src/components/ui/sheet.d.ts.map +1 -1
  152. package/dist/src/components/ui/sheet.js +4 -2
  153. package/dist/src/components/ui/sheet.js.map +1 -1
  154. package/dist/src/components/ui/sidebar-provider.d.ts.map +1 -1
  155. package/dist/src/components/ui/sidebar-provider.js +5 -1
  156. package/dist/src/components/ui/sidebar-provider.js.map +1 -1
  157. package/dist/src/components/ui/split-button.d.ts +1 -0
  158. package/dist/src/components/ui/split-button.d.ts.map +1 -1
  159. package/dist/src/components/ui/split-button.js +4 -2
  160. package/dist/src/components/ui/split-button.js.map +1 -1
  161. package/dist/src/components/ui/tabs.d.ts +2 -1
  162. package/dist/src/components/ui/tabs.d.ts.map +1 -1
  163. package/dist/src/components/ui/tabs.js +16 -4
  164. package/dist/src/components/ui/tabs.js.map +1 -1
  165. package/dist/src/components/ui/toast.d.ts +10 -4
  166. package/dist/src/components/ui/toast.d.ts.map +1 -1
  167. package/dist/src/components/ui/toast.js +213 -25
  168. package/dist/src/components/ui/toast.js.map +1 -1
  169. package/dist/src/components/ui/toggle-group.d.ts +7 -1
  170. package/dist/src/components/ui/toggle-group.d.ts.map +1 -1
  171. package/dist/src/components/ui/toggle-group.js +23 -4
  172. package/dist/src/components/ui/toggle-group.js.map +1 -1
  173. package/dist/src/components/ui/tree-view.d.ts +10 -2
  174. package/dist/src/components/ui/tree-view.d.ts.map +1 -1
  175. package/dist/src/components/ui/tree-view.js +67 -46
  176. package/dist/src/components/ui/tree-view.js.map +1 -1
  177. package/dist/src/components/ui/user-menu.d.ts +12 -1
  178. package/dist/src/components/ui/user-menu.d.ts.map +1 -1
  179. package/dist/src/components/ui/user-menu.js +5 -3
  180. package/dist/src/components/ui/user-menu.js.map +1 -1
  181. package/dist/src/hooks/use-is-truncated.d.ts +9 -5
  182. package/dist/src/hooks/use-is-truncated.d.ts.map +1 -1
  183. package/dist/src/hooks/use-is-truncated.js +20 -7
  184. package/dist/src/hooks/use-is-truncated.js.map +1 -1
  185. package/dist/src/index.d.ts +3 -0
  186. package/dist/src/index.d.ts.map +1 -1
  187. package/dist/src/index.js +3 -0
  188. package/dist/src/index.js.map +1 -1
  189. package/dist/src/lib/focus-visible-on-close.d.ts +28 -0
  190. package/dist/src/lib/focus-visible-on-close.d.ts.map +1 -1
  191. package/dist/src/lib/focus-visible-on-close.js +54 -1
  192. package/dist/src/lib/focus-visible-on-close.js.map +1 -1
  193. package/dist/src/lib/i18n/context.d.ts +48 -0
  194. package/dist/src/lib/i18n/context.d.ts.map +1 -0
  195. package/dist/src/lib/i18n/context.js +157 -0
  196. package/dist/src/lib/i18n/context.js.map +1 -0
  197. package/dist/src/lib/i18n/dictionary.d.ts +151 -0
  198. package/dist/src/lib/i18n/dictionary.d.ts.map +1 -0
  199. package/dist/src/lib/i18n/dictionary.js +134 -0
  200. package/dist/src/lib/i18n/dictionary.js.map +1 -0
  201. package/dist/src/lib/merge-refs.d.ts +8 -0
  202. package/dist/src/lib/merge-refs.d.ts.map +1 -0
  203. package/dist/src/lib/merge-refs.js +15 -0
  204. package/dist/src/lib/merge-refs.js.map +1 -0
  205. package/dist/src/lib/with-ref.d.ts +3 -1
  206. package/dist/src/lib/with-ref.d.ts.map +1 -1
  207. package/dist/src/lib/with-ref.js +0 -10
  208. package/dist/src/lib/with-ref.js.map +1 -1
  209. package/dist/styles.css +65 -6
  210. package/package.json +4 -2
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { cn } from "../../lib/utils.js";
4
+ import { useC4Dictionary } from "../../lib/i18n/context.js";
4
5
  import { DEFAULT_CHART_COLOR } from "./chart-colors.js";
5
6
  import { Skeleton } from "./skeleton.js";
6
7
  import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
@@ -24,7 +25,8 @@ function defaultValueFormatter(value, max) {
24
25
  }
25
26
  return `${Math.round((value / max) * 100)}%`;
26
27
  }
27
- function Meter({ value, min = 0, max, ranges, peak, label, unit, valueFormatter = defaultValueFormatter, showValue = true, loading = false, empty = false, emptyMessage = "No data", className, }) {
28
+ function Meter({ value, min = 0, max, ranges, peak, label, unit, valueFormatter = defaultValueFormatter, showValue = true, loading = false, empty = false, emptyMessage, className, }) {
29
+ const { t } = useC4Dictionary();
28
30
  const generatedId = React.useId();
29
31
  const labelId = `meter-label-${generatedId.replace(/:/g, "")}`;
30
32
  const status = statusAt(value, ranges);
@@ -32,9 +34,11 @@ function Meter({ value, min = 0, max, ranges, peak, label, unit, valueFormatter
32
34
  const fillPercent = toPercent(value, min, max);
33
35
  const peakPercent = peak !== undefined ? toPercent(peak, min, max) : undefined;
34
36
  const displayValue = `${valueFormatter(value, max)}${unit ? ` ${unit}` : ""}`;
35
- const valueText = `${displayValue}${status ? `, ${status}` : ""}${peak !== undefined ? `, target ${valueFormatter(peak, max)}` : ""}`;
37
+ const valueText = `${displayValue}${status ? `, ${status}` : ""}${peak !== undefined
38
+ ? t("meter.peakTarget", { value: valueFormatter(peak, max) })
39
+ : ""}`;
36
40
  const track = (_jsxs("div", { role: "meter", "aria-valuenow": value, "aria-valuemin": min, "aria-valuemax": max, "aria-valuetext": valueText, "aria-labelledby": label ? labelId : undefined, tabIndex: 0, className: "relative h-3 w-full overflow-hidden rounded-full bg-neutral-background-subtle", children: [_jsx("div", { "aria-hidden": "true", className: "absolute inset-y-0 left-0 h-full rounded-full transition-all", style: { width: `${fillPercent}%`, backgroundColor: fillColor } }), peakPercent !== undefined && (_jsx("div", { "aria-hidden": "true", className: "absolute inset-y-0 w-0.5 bg-neutral-foreground-subtle", style: { left: `${peakPercent}%` } }))] }));
37
- return (_jsxs("div", { className: cn("flex w-full flex-col gap-1.5", className), children: [(label || showValue) && (_jsxs("div", { className: "flex items-center justify-between text-sm", children: [label && (_jsx("span", { id: labelId, className: "text-neutral-foreground-strong", children: label })), showValue && !loading && !empty && (_jsx("span", { className: "font-mono text-neutral-foreground-subtle tabular-nums", children: displayValue }))] })), loading ? (_jsx(Skeleton, { className: "h-3 w-full rounded-full" })) : empty ? (_jsx("div", { className: "flex h-6 w-full items-center justify-center rounded-full bg-neutral-background-subtle text-xs text-neutral-foreground-subtle", children: emptyMessage })) : (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: track }), _jsx(TooltipContent, { children: valueText })] }))] }));
41
+ return (_jsxs("div", { className: cn("flex w-full flex-col gap-1.5", className), children: [(label || showValue) && (_jsxs("div", { className: "flex items-center justify-between text-sm", children: [label && (_jsx("span", { id: labelId, className: "text-neutral-foreground-strong", children: label })), showValue && !loading && !empty && (_jsx("span", { className: "font-mono text-neutral-foreground-subtle tabular-nums", children: displayValue }))] })), loading ? (_jsx(Skeleton, { className: "h-3 w-full rounded-full" })) : empty ? (_jsx("div", { className: "flex h-6 w-full items-center justify-center rounded-full bg-neutral-background-subtle text-xs text-neutral-foreground-subtle", children: emptyMessage ?? t("meter.empty") })) : (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: track }), _jsx(TooltipContent, { children: valueText })] }))] }));
38
42
  }
39
43
  export { Meter };
40
44
  //# sourceMappingURL=meter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"meter.js","sourceRoot":"","sources":["../../../../src/components/ui/meter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meter.js","sourceRoot":"","sources":["../../../../src/components/ui/meter.tsx"],"names":[],"mappings":"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"}
@@ -15,14 +15,30 @@ export interface MultiSelectProps {
15
15
  value?: string[];
16
16
  defaultValue?: string[];
17
17
  onValueChange?: (value: string[]) => void;
18
+ /** Trigger text shown when nothing is selected. Sourced from the i18n dictionary at key `"multiSelect.selectOptions"` when omitted. */
18
19
  placeholder?: string;
19
20
  searchable?: boolean;
21
+ /** Placeholder for the search input. Sourced from the i18n dictionary at key `"multiSelect.search"` when omitted. */
20
22
  searchPlaceholder?: string;
21
23
  /** Sort flat options and group options alphabetically by label. Defaults to true. */
22
24
  sorted?: boolean;
25
+ /**
26
+ * Caps how many selected items render as chips before the rest collapse
27
+ * into a "+N more" summary. When omitted, every selected item is shown as
28
+ * a chip and the field grows to fit them, wrapping onto additional rows as
29
+ * needed. Set this to cap the number of visible chips — useful in dense
30
+ * toolbars or table filter bars where the trigger needs a fixed height.
31
+ */
23
32
  maxCount?: number;
24
33
  hideSelectAll?: boolean;
25
34
  closeOnSelect?: boolean;
35
+ /**
36
+ * Rendered when a search yields no matches. Sourced from the i18n
37
+ * dictionary at key `"multiSelect.noResultsFound"` when left `undefined`.
38
+ * `null` is a distinct, intentional value — unlike `undefined`, it is
39
+ * never replaced by the dictionary default, so a consumer can pass it to
40
+ * suppress the empty-state message entirely.
41
+ */
26
42
  emptyIndicator?: React.ReactNode;
27
43
  size?: "default" | "sm";
28
44
  disabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAe/C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAcD,iBAAS,WAAW,CAAC,EACnB,OAAO,EACP,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,WAA+B,EAC/B,UAAiB,EACjB,iBAA6B,EAC7B,MAAa,EACb,QAAY,EACZ,aAAqB,EACrB,aAAqB,EACrB,cAAc,EACd,IAAgB,EAChB,QAAgB,EAChB,EAAE,EACF,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,aAAa,EACb,iBAAyB,GAC1B,EAAE,gBAAgB,qBAuXlB;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAkB/C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,uIAAuI;IACvI,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAsDD,iBAAS,WAAW,CAAC,EACnB,OAAO,EACP,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,UAAiB,EACjB,iBAAiB,EACjB,MAAa,EACb,QAAQ,EACR,aAAqB,EACrB,aAAqB,EACrB,cAAc,EACd,IAAgB,EAChB,QAAgB,EAChB,EAAE,EACF,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,aAAa,EACb,iBAAyB,GAC1B,EAAE,gBAAgB,qBAyclB;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,21 +1,51 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
- import { Popover as PopoverPrimitive } from "radix-ui";
4
+ import { Popover as PopoverPrimitive, Slot } from "radix-ui";
5
+ import { RemoveScroll } from "react-remove-scroll";
5
6
  import { ChevronDownIcon, XIcon, ListChecksIcon } from "../../icons/lucide.js";
6
7
  import {} from "../../icons/lucide.js";
7
8
  import { cn } from "../../lib/utils.js";
9
+ import { useC4Dictionary } from "../../lib/i18n/context.js";
10
+ import { useIsTruncated } from "../../hooks/use-is-truncated.js";
8
11
  import { Badge } from "./badge.js";
9
12
  import { C4Provider } from "./c4-provider.js";
10
13
  import { Checkbox } from "./checkbox.js";
11
14
  import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, } from "./command.js";
15
+ import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
12
16
  function isGroup(item) {
13
17
  return "heading" in item;
14
18
  }
15
19
  function getAllOptions(options) {
16
20
  return options.flatMap((item) => (isGroup(item) ? item.options : [item]));
17
21
  }
18
- function MultiSelect({ options, value: controlledValue, defaultValue, onValueChange, placeholder = "Select options…", searchable = true, searchPlaceholder = "Search…", sorted = true, maxCount = 3, hideSelectAll = false, closeOnSelect = false, emptyIndicator, size = "default", disabled = false, id, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, onInputChange, externalFiltering = false, }) {
22
+ /**
23
+ * File-local — each chip needs its own `useIsTruncated` instance, and the
24
+ * chips render from a `.map()` inside `MultiSelect`, where a hook can't be
25
+ * called directly. No focusable ancestor wraps the chip LABEL specifically
26
+ * (the trigger div wraps the whole combobox, and the chip's own remove
27
+ * button is a sibling, not a parent) — per the "Truncated Text" decision
28
+ * tree in docs/specs/shadcn/patterns.md, `tabIndex={0}` goes directly on the
29
+ * label span.
30
+ */
31
+ function MultiSelectChipLabel({ label }) {
32
+ const { ref, isTruncated, measure } = useIsTruncated();
33
+ React.useLayoutEffect(() => {
34
+ measure();
35
+ });
36
+ const labelSpan = (_jsx("span", { ref: ref, tabIndex: 0, onPointerEnter: measure, onFocus: measure,
37
+ // `ring-inset`: Badge's own root is `overflow-hidden` (rounded pill),
38
+ // same clip risk nav-breadcrumb.tsx's label button ring documents.
39
+ className: "min-w-0 truncate rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", children: label }));
40
+ return isTruncated ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: labelSpan }), _jsx(TooltipContent, { children: label })] })) : (labelSpan);
41
+ }
42
+ function MultiSelect({ options, value: controlledValue, defaultValue, onValueChange, placeholder, searchable = true, searchPlaceholder, sorted = true, maxCount, hideSelectAll = false, closeOnSelect = false, emptyIndicator, size = "default", disabled = false, id, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, onInputChange, externalFiltering = false, }) {
43
+ const { t } = useC4Dictionary();
44
+ const resolvedPlaceholder = placeholder ?? t("multiSelect.selectOptions");
45
+ const resolvedSearchPlaceholder = searchPlaceholder ?? t("multiSelect.search");
46
+ const resolvedEmptyIndicator = emptyIndicator === undefined
47
+ ? t("multiSelect.noResultsFound")
48
+ : emptyIndicator;
19
49
  const [open, setOpen] = React.useState(false);
20
50
  const [internalValue, setInternalValue] = React.useState(defaultValue ?? []);
21
51
  const [searchValue, setSearchValue] = React.useState("");
@@ -74,15 +104,33 @@ function MultiSelect({ options, value: controlledValue, defaultValue, onValueCha
74
104
  updateSelected(selectableOptions.map((o) => o.value));
75
105
  }
76
106
  }
77
- const visibleChips = selected.slice(0, maxCount);
78
- const overflowCount = selected.length - maxCount;
107
+ const { ref: placeholderRef, isTruncated: placeholderTruncated, measure: measurePlaceholder, } = useIsTruncated();
108
+ // Every commit, not just on a `resolvedPlaceholder` change — the room the
109
+ // trigger has can change (a container resize) with no placeholder change to
110
+ // key on. See "Truncated Text" in `docs/specs/shadcn/patterns.md`. The
111
+ // placeholder span only mounts when nothing is selected, so `measure()`
112
+ // here is a no-op (its ref is null) whenever chips are showing instead —
113
+ // the `selected.length === 0` guard below is what actually keeps a stale
114
+ // `true` from a prior placeholder render from wrapping the chip view in a
115
+ // tooltip once a selection lands.
116
+ React.useLayoutEffect(() => {
117
+ measurePlaceholder();
118
+ });
119
+ const showPlaceholderTooltip = selected.length === 0 && placeholderTruncated;
120
+ // `maxCount={0}` is a legitimate, deliberate value (all chips collapse into
121
+ // "+N more") — check `!= null`, not truthiness, so it isn't mistaken for
122
+ // "unset". A negative value is clamped to 0 rather than left to produce a
123
+ // negative overflow count or a slice that drops from the end of the array.
124
+ const clampedMaxCount = maxCount != null ? Math.max(0, maxCount) : null;
125
+ const visibleChips = clampedMaxCount != null ? selected.slice(0, clampedMaxCount) : selected;
126
+ const overflowCount = clampedMaxCount != null ? selected.length - clampedMaxCount : 0;
79
127
  function removeOption(optionValue, e) {
80
128
  e.stopPropagation();
81
129
  updateSelected(selected.filter((v) => v !== optionValue));
82
130
  }
83
131
  function removeOverflow(e) {
84
132
  e.stopPropagation();
85
- updateSelected(selected.slice(0, maxCount));
133
+ updateSelected(clampedMaxCount != null ? selected.slice(0, clampedMaxCount) : selected);
86
134
  }
87
135
  function handleTriggerKeyDown(e) {
88
136
  if (disabled)
@@ -164,24 +212,39 @@ function MultiSelect({ options, value: controlledValue, defaultValue, onValueCha
164
212
  "Pass `aria-labelledby` (pointing at the label's id) or `aria-label` to give it an accessible name (#496).");
165
213
  }
166
214
  }, [id, ariaLabel, ariaLabelledBy]);
167
- return (_jsxs(PopoverPrimitive.Root, { open: open, onOpenChange: disabled ? undefined : handleOpenChange, children: [_jsx(PopoverPrimitive.Trigger, { asChild: true, children: _jsxs("div", { ...{
168
- type: undefined,
169
- }, "data-slot": "multi-select", "data-size": size, id: id, role: "combobox", tabIndex: disabled ? undefined : 0, "aria-expanded": open, "aria-haspopup": "listbox", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-disabled": disabled ? "true" : undefined, onKeyDown: handleTriggerKeyDown, className: cn("flex w-full min-h-9 flex-wrap items-center gap-1 rounded-lg border border-input bg-input-background px-2 py-1 text-sm text-left transition-all duration-200 outline-none", "focus-visible:border-primary-border-strong dark:focus-visible:border-primary-border-subtle focus-visible:ring-2 focus-visible:ring-ring", "aria-disabled:cursor-not-allowed aria-disabled:opacity-50 aria-disabled:pointer-events-none", "data-[size=sm]:min-h-8", selected.length === 0 && "text-neutral-foreground-subtle", className), children: [selected.length === 0 ? (_jsx("span", { className: "flex-1 truncate", children: placeholder })) : (_jsxs(_Fragment, { children: [visibleChips.map((v) => {
170
- const label = optionLabelMap.get(v) ?? v;
171
- return (_jsxs(Badge, { variant: "neutral", className: "gap-0.5 pr-0.5 max-w-[200px]", children: [_jsx("span", { className: "truncate min-w-0", children: label }), _jsx("button", { type: "button", "aria-label": `Remove ${label}`, disabled: disabled, onClick: (e) => removeOption(v, e), className: "ml-0.5 shrink-0 rounded-sm opacity-60 hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(XIcon, { className: "size-3", "aria-hidden": "true" }) })] }, v));
172
- }), overflowCount > 0 && (_jsxs(Badge, { variant: "neutral", className: "gap-0.5 pr-0.5", children: [_jsxs("span", { children: ["+", overflowCount, " more"] }), _jsx("button", { type: "button", "aria-label": `Remove ${overflowCount} more selected items`, disabled: disabled, onClick: removeOverflow, className: "ml-0.5 rounded-sm opacity-60 hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(XIcon, { className: "size-3", "aria-hidden": "true" }) })] }))] })), _jsx(ChevronDownIcon, { className: "ml-auto size-4 shrink-0 opacity-50 pointer-events-none", "aria-hidden": "true" })] }) }), _jsx(PopoverPrimitive.Portal, { children: _jsx(C4Provider, { children: _jsx(PopoverPrimitive.Content, { "data-slot": "multi-select-content", align: "start", sideOffset: 4, className: cn(
173
- // `pointer-events-auto` restores interactivity inside a Dialog:
174
- // the popover portals as a sibling of the dialog, so it inherits
175
- // `pointer-events: none` from the scroll-locked <body> (#496).
176
- "pointer-events-auto z-50 w-[--radix-popover-trigger-width] p-0 rounded-lg border border-input bg-popover text-popover-foreground shadow-lg ring-1 ring-border outline-hidden", "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", "data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", "data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95"), children: _jsxs(Command, { shouldFilter: !externalFiltering, children: [searchable && (_jsx(CommandInput, { placeholder: searchPlaceholder, "aria-label": searchPlaceholder, value: searchValue, onValueChange: handleInputChange })), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: emptyIndicator ?? "No results found" }), !effectiveHideSelectAll && (_jsx(CommandGroup, { children: _jsxs(CommandItem, { onSelect: handleSelectAll, className: "gap-2", children: [_jsx(Checkbox, { checked: allSelected, "aria-hidden": "true", tabIndex: -1, className: "pointer-events-none" }), _jsx(ListChecksIcon, { className: "size-4 text-neutral-foreground-subtle", "aria-hidden": "true" }), allSelected ? "Clear All" : "Select All"] }) })), flatItems.length > 0 && (_jsx(CommandGroup, { children: flatItems.map((option) => {
177
- const isSelected = selected.includes(option.value);
178
- const Icon = option.icon;
179
- return (_jsxs(CommandItem, { value: option.value, keywords: [option.label], disabled: option.disabled, onSelect: () => toggleOption(option.value), className: "gap-2", children: [_jsx(Checkbox, { checked: isSelected, "aria-hidden": "true", tabIndex: -1, className: "pointer-events-none" }), Icon && (_jsx(Icon, { className: "size-4 text-neutral-foreground-subtle", "aria-hidden": "true" })), option.label] }, option.value));
180
- }) })), groupedItems.map((group) => (_jsx(CommandGroup, { heading: group.heading, children: group.options.map((option) => {
181
- const isSelected = selected.includes(option.value);
182
- const Icon = option.icon;
183
- return (_jsxs(CommandItem, { value: option.value, keywords: [option.label], disabled: option.disabled, onSelect: () => toggleOption(option.value), className: "gap-2", children: [_jsx(Checkbox, { checked: isSelected, "aria-hidden": "true", tabIndex: -1, className: "pointer-events-none" }), Icon && (_jsx(Icon, { className: "size-4 text-neutral-foreground-subtle", "aria-hidden": "true" })), option.label] }, option.value));
184
- }) }, group.heading)))] })] }) }) }) })] }));
215
+ const triggerDiv = (_jsxs("div", { ...{
216
+ type: undefined,
217
+ }, "data-slot": "multi-select", "data-size": size, id: id, role: "combobox", tabIndex: disabled ? undefined : 0, "aria-expanded": open, "aria-haspopup": "listbox", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-disabled": disabled ? "true" : undefined, onKeyDown: handleTriggerKeyDown, onPointerEnter: measurePlaceholder, onFocus: measurePlaceholder, className: cn("flex w-full min-h-9 flex-wrap items-center gap-1 rounded-lg border border-input bg-input-background px-2 py-1 text-sm text-left transition-all duration-200 outline-none", "focus-visible:border-primary-border-strong dark:focus-visible:border-primary-border-subtle focus-visible:ring-2 focus-visible:ring-ring", "aria-disabled:cursor-not-allowed aria-disabled:opacity-50 aria-disabled:pointer-events-none", "data-[size=sm]:min-h-8", selected.length === 0 && "text-neutral-foreground-subtle", className), children: [selected.length === 0 ? (_jsx("span", { ref: placeholderRef, className: "flex-1 truncate", children: resolvedPlaceholder })) : (_jsxs(_Fragment, { children: [visibleChips.map((v) => {
218
+ const label = optionLabelMap.get(v) ?? v;
219
+ return (_jsxs(Badge, { variant: "neutral", className: "gap-0.5 pr-0.5 max-w-[200px]", children: [_jsx(MultiSelectChipLabel, { label: label }), _jsx("button", { type: "button", "aria-label": t("multiSelect.removeOption", { label }), disabled: disabled, onClick: (e) => removeOption(v, e), className: "ml-0.5 shrink-0 rounded-sm opacity-60 hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(XIcon, { className: "size-3", "aria-hidden": "true" }) })] }, v));
220
+ }), overflowCount > 0 && (_jsxs(Badge, { variant: "neutral", className: "gap-0.5 pr-0.5", children: [_jsx("span", { children: t("multiSelect.overflowCount", { count: overflowCount }) }), _jsx("button", { type: "button", "aria-label": t("multiSelect.removeOverflow", {
221
+ count: overflowCount,
222
+ }), disabled: disabled, onClick: removeOverflow, className: "ml-0.5 rounded-sm opacity-60 hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(XIcon, { className: "size-3", "aria-hidden": "true" }) })] }))] })), _jsx(ChevronDownIcon, { className: "ml-auto size-4 shrink-0 opacity-50 pointer-events-none", "aria-hidden": "true" })] }));
223
+ // `PopoverPrimitive.Trigger asChild` always wraps the div — this is the
224
+ // element Radix opens the popover from regardless of truncation.
225
+ const popoverTrigger = (_jsx(PopoverPrimitive.Trigger, { asChild: true, children: triggerDiv }));
226
+ // Tooltip mounted only when the placeholder is showing AND clipped — see
227
+ // "Truncated Text" in `docs/specs/shadcn/patterns.md`. Selected-value chips
228
+ // (the `visibleChips` branch above) are a separate truncation surface,
229
+ // handled elsewhere. `TooltipTrigger asChild` stacks ABOVE the existing
230
+ // `PopoverPrimitive.Trigger asChild` (same composition `combobox.tsx` and
231
+ // `app-sidebar.tsx`'s collapsed nav-item tooltip use).
232
+ const wrappedTrigger = showPlaceholderTooltip ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: popoverTrigger }), _jsx(TooltipContent, { children: resolvedPlaceholder })] })) : (popoverTrigger);
233
+ return (_jsxs(PopoverPrimitive.Root, { open: open, onOpenChange: disabled ? undefined : handleOpenChange, children: [wrappedTrigger, _jsx(PopoverPrimitive.Portal, { children: _jsx(C4Provider, { children: _jsx(RemoveScroll, { as: Slot.Root, allowPinchZoom: true, noIsolation: true, removeScrollBar: false, children: _jsx(PopoverPrimitive.Content, { "data-slot": "multi-select-content", align: "start", sideOffset: 4, className: cn(
234
+ // `pointer-events-auto` restores interactivity inside a Dialog:
235
+ // the popover portals as a sibling of the dialog, so it inherits
236
+ // `pointer-events: none` from the scroll-locked <body> (#496).
237
+ "pointer-events-auto z-50 w-[--radix-popover-trigger-width] p-0 rounded-lg border border-input bg-popover text-popover-foreground shadow-lg ring-1 ring-border outline-hidden", "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", "data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", "data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95"), children: _jsxs(Command, { shouldFilter: !externalFiltering, children: [searchable && (_jsx(CommandInput, { placeholder: resolvedSearchPlaceholder, "aria-label": resolvedSearchPlaceholder, value: searchValue, onValueChange: handleInputChange })), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: resolvedEmptyIndicator }), !effectiveHideSelectAll && (_jsx(CommandGroup, { children: _jsxs(CommandItem, { onSelect: handleSelectAll, className: "gap-2", children: [_jsx(Checkbox, { checked: allSelected, "aria-hidden": "true", tabIndex: -1, className: "pointer-events-none" }), _jsx(ListChecksIcon, { className: "size-4 text-neutral-foreground-subtle", "aria-hidden": "true" }), allSelected
238
+ ? t("multiSelect.clearAll")
239
+ : t("multiSelect.selectAll")] }) })), flatItems.length > 0 && (_jsx(CommandGroup, { children: flatItems.map((option) => {
240
+ const isSelected = selected.includes(option.value);
241
+ const Icon = option.icon;
242
+ return (_jsxs(CommandItem, { value: option.value, keywords: [option.label], disabled: option.disabled, onSelect: () => toggleOption(option.value), className: "gap-2", children: [_jsx(Checkbox, { checked: isSelected, "aria-hidden": "true", tabIndex: -1, className: "pointer-events-none" }), Icon && (_jsx(Icon, { className: "size-4 text-neutral-foreground-subtle", "aria-hidden": "true" })), option.label] }, option.value));
243
+ }) })), groupedItems.map((group) => (_jsx(CommandGroup, { heading: group.heading, children: group.options.map((option) => {
244
+ const isSelected = selected.includes(option.value);
245
+ const Icon = option.icon;
246
+ return (_jsxs(CommandItem, { value: option.value, keywords: [option.label], disabled: option.disabled, onSelect: () => toggleOption(option.value), className: "gap-2", children: [_jsx(Checkbox, { checked: isSelected, "aria-hidden": "true", tabIndex: -1, className: "pointer-events-none" }), Icon && (_jsx(Icon, { className: "size-4 text-neutral-foreground-subtle", "aria-hidden": "true" })), option.label] }, option.value));
247
+ }) }, group.heading)))] })] }) }) }) }) })] }));
185
248
  }
186
249
  export { MultiSelect };
187
250
  //# sourceMappingURL=multi-select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"multi-select.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-select.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"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"}
@@ -18,15 +18,49 @@ export interface MultiStepDialogProps {
18
18
  onBack?: () => void;
19
19
  onComplete?: () => void;
20
20
  size?: MultiStepDialogSize;
21
+ /** Overrides the footer's Back button label. Sourced from the i18n dictionary at key `"multiStepDialog.back"` when omitted. */
21
22
  backLabel?: string;
23
+ /**
24
+ * Overrides the footer's Next button label for non-final steps (further overridden per-step
25
+ * by `MultiStepDialogStep.nextLabel`). Sourced from the i18n dictionary at key
26
+ * `"multiStepDialog.next"` when omitted.
27
+ */
22
28
  nextLabel?: string;
29
+ /**
30
+ * Overrides the footer's final-step CTA label (further overridden per-step by
31
+ * `MultiStepDialogStep.ctaLabel`). Sourced from the i18n dictionary at key
32
+ * `"multiStepDialog.complete"` when omitted.
33
+ */
23
34
  completeLabel?: string;
35
+ /** Accessible name for the progress dots' `<ol>`. Sourced from the i18n dictionary at key `"multiStepDialog.stepsIndicator"` when omitted. */
24
36
  dotsAriaLabel?: string;
37
+ /**
38
+ * Accessible name for the composed Dialog's top-right close button. Forwarded straight
39
+ * through to the underlying `DialogContent`, which renders the button by default (this
40
+ * component never sets `showCloseButton={false}` — its own Back/Next navigation is a
41
+ * supplement to, not a replacement for, the plain close affordance every Dialog gets).
42
+ * Sourced from the i18n dictionary at key `"dialog.close"` when omitted, same as any other
43
+ * `DialogContent`. No equivalent `closeButtonLabel` is forwarded to the composed
44
+ * `DialogFooter`: that footer never sets `showCloseButton`, so its own optional visible
45
+ * Close button stays off (the wizard's Back/Next occupies the footer row instead) —
46
+ * forwarding a label for a button that never renders would be dead API.
47
+ */
48
+ closeLabel?: string;
25
49
  className?: string;
50
+ /**
51
+ * Element to focus when the wizard opens. Defaults to the active step's
52
+ * first control, or to the Next/CTA button when the step has none — never
53
+ * a progress dot, even though the dots precede the footer in DOM order.
54
+ * A ref that resolves to nothing at open time falls back to that default.
55
+ * An explicit ref shows its focus ring on a mouse open too (as
56
+ * `DialogContent.initialFocusRef` does); the default keeps the browser's
57
+ * own heuristic.
58
+ */
59
+ initialFocusRef?: React.RefObject<HTMLElement | null>;
26
60
  restoreFocusRef?: React.RefObject<HTMLElement | null>;
27
61
  children?: React.ReactNode;
28
62
  }
29
- declare function MultiStepDialog({ open, defaultOpen, onOpenChange, step, defaultStep, onStepChange, onNext, onBack, onComplete, size, backLabel, nextLabel, completeLabel, dotsAriaLabel, className, restoreFocusRef, children, }: MultiStepDialogProps): React.JSX.Element;
63
+ declare function MultiStepDialog({ open, defaultOpen, onOpenChange, step, defaultStep, onStepChange, onNext, onBack, onComplete, size, backLabel, nextLabel, completeLabel, dotsAriaLabel, closeLabel, className, initialFocusRef, restoreFocusRef, children, }: MultiStepDialogProps): React.JSX.Element;
30
64
  export interface MultiStepDialogStepProps extends Omit<React.ComponentProps<"div">, "value"> {
31
65
  value: string;
32
66
  /** Overrides `completeLabel` for this step's Next button when it's the last step. */
@@ -1 +1 @@
1
- {"version":3,"file":"multi-step-dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-step-dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { cn } from "../../lib/utils.js";
5
- import { Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogTitle, } from "./dialog.js";
5
+ import { useC4Dictionary } from "../../lib/i18n/context.js";
6
+ import { takeOverOpenFocus } from "../../lib/focus-visible-on-close.js";
7
+ import { DIALOG_FOCUSABLE_SELECTOR, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogTitle, } from "./dialog.js";
6
8
  import { Button } from "./button.js";
7
9
  import { typographyVariants } from "./typography.js";
8
10
  // Only `value` (+ the footer-relevant props below) is read off each child —
@@ -39,7 +41,12 @@ function useMultiStepDialogStepContext(componentName) {
39
41
  }
40
42
  return ctx;
41
43
  }
42
- function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaultStep, onStepChange, onNext, onBack, onComplete, size = "md", backLabel = "Back", nextLabel = "Next", completeLabel = "Done", dotsAriaLabel = "Steps", className, restoreFocusRef, children, }) {
44
+ function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaultStep, onStepChange, onNext, onBack, onComplete, size = "md", backLabel, nextLabel, completeLabel, dotsAriaLabel, closeLabel, className, initialFocusRef, restoreFocusRef, children, }) {
45
+ const { t } = useC4Dictionary();
46
+ const resolvedBackLabel = backLabel ?? t("multiStepDialog.back");
47
+ const resolvedNextLabel = nextLabel ?? t("multiStepDialog.next");
48
+ const resolvedCompleteLabel = completeLabel ?? t("multiStepDialog.complete");
49
+ const resolvedDotsAriaLabel = dotsAriaLabel ?? t("multiStepDialog.stepsIndicator");
43
50
  const isOpenControlled = open !== undefined;
44
51
  const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
45
52
  const resolvedOpen = isOpenControlled ? open : internalOpen;
@@ -128,16 +135,48 @@ function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaul
128
135
  return;
129
136
  emitStepChange(targetValue, "dot");
130
137
  }
138
+ const primaryActionRef = React.useRef(null);
139
+ // Radix's default open focus is the first tabbable element in DOM order.
140
+ // Here that is the first progress dot whenever the active step is
141
+ // read-only (the usual onboarding shape): step content comes first but
142
+ // has nothing to focus, and the dots sit before the footer. A dot is a
143
+ // no-op for the current step, so the wizard opens on the step's first
144
+ // control instead, or on Next/CTA when there is none — the action that
145
+ // moves it forward. The step's own scroll tab stop (a read-only
146
+ // `MultiStepDialogBody`) doesn't count as a control.
147
+ function handleOpenAutoFocus(event) {
148
+ const content = event.currentTarget;
149
+ if (!(content instanceof HTMLElement))
150
+ return;
151
+ const activeStep = content.querySelector('[data-slot="multi-step-dialog-step"][data-state="active"]');
152
+ const firstStepControl = Array.from(activeStep?.querySelectorAll(DIALOG_FOCUSABLE_SELECTOR) ??
153
+ []).find((el) => el.dataset.slot !== "dialog-body");
154
+ // First usable candidate wins; an unresolved or disabled one is skipped
155
+ // rather than ending the search, so the wizard always opens focused.
156
+ // Only the consumer's explicit ref forces the focus ring (#400); the
157
+ // wizard's own defaults keep the browser's heuristic, like any Dialog.
158
+ if (takeOverOpenFocus(event, initialFocusRef?.current))
159
+ return;
160
+ for (const candidate of [firstStepControl, primaryActionRef.current]) {
161
+ if (takeOverOpenFocus(event, candidate, { ring: false }))
162
+ return;
163
+ }
164
+ }
131
165
  const disableNextReasonId = React.useId();
132
166
  const showDisableNextReason = Boolean(activeStepMeta?.disableNext) &&
133
167
  Boolean(activeStepMeta?.disableNextReason);
134
- return (_jsx(Dialog, { open: resolvedOpen, onOpenChange: handleDialogOpenChange, children: _jsxs(DialogContent, { size: size, className: className, restoreFocusRef: restoreFocusRef, onEscapeKeyDown: () => {
168
+ return (_jsx(Dialog, { open: resolvedOpen, onOpenChange: handleDialogOpenChange, children: _jsxs(DialogContent, { size: size, className: className, restoreFocusRef: restoreFocusRef, closeLabel: closeLabel, onOpenAutoFocus: handleOpenAutoFocus, onEscapeKeyDown: () => {
135
169
  closeReasonRef.current = "escape";
136
170
  }, onPointerDownOutside: () => {
137
171
  closeReasonRef.current = "overlay";
138
- }, children: [_jsx(MultiStepDialogRootContext.Provider, { value: { activeValue }, children: children }), _jsx("span", { "aria-live": "polite", className: "sr-only", children: `Step ${activeIndex + 1} of ${totalSteps}` }), totalSteps > 1 && (_jsx("ol", { "aria-label": dotsAriaLabel, "data-slot": "multi-step-dialog-dots", className: "m-0 flex list-none items-center justify-center gap-1.5 p-0", children: stepMetas.map((meta, index) => {
172
+ }, children: [_jsx(MultiStepDialogRootContext.Provider, { value: { activeValue }, children: children }), _jsx("span", { "aria-live": "polite", className: "sr-only", children: t("multiStepDialog.stepOf", {
173
+ current: activeIndex + 1,
174
+ total: totalSteps,
175
+ }) }), totalSteps > 1 && (_jsx("ol", { "aria-label": resolvedDotsAriaLabel, "data-slot": "multi-step-dialog-dots", className: "m-0 flex list-none items-center justify-center gap-1.5 p-0", children: stepMetas.map((meta, index) => {
139
176
  const isActive = index === activeIndex;
140
- return (_jsx("li", { children: _jsx("button", { type: "button", "aria-label": `Go to step ${index + 1}`, "aria-current": isActive ? "step" : undefined, onClick: () => handleDotClick(index, meta.value), className: cn(
177
+ return (_jsx("li", { children: _jsx("button", { type: "button", "aria-label": t("multiStepDialog.goToStep", {
178
+ number: index + 1,
179
+ }), "aria-current": isActive ? "step" : undefined, onClick: () => handleDotClick(index, meta.value), className: cn(
141
180
  // Active step is distinguished by SHAPE (a wider pill),
142
181
  // not colour alone (WCAG 1.4.1). Inactive fill uses a
143
182
  // foreground token so the dot clears the 3:1 non-text
@@ -146,9 +185,9 @@ function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaul
146
185
  "h-2 rounded-full transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", isActive
147
186
  ? "w-5 bg-primary-action-default"
148
187
  : "w-2 bg-neutral-foreground-subtle hover:bg-neutral-foreground-strong") }) }, meta.value));
149
- }) })), _jsxs(DialogFooter, { className: cn(isFirstStep ? undefined : "sm:justify-between"), children: [!isFirstStep && (_jsx(Button, { type: "button", variant: "secondary", onClick: handleBack, children: backLabel })), _jsxs("div", { className: "flex flex-col items-end gap-1", children: [showDisableNextReason && (_jsx("span", { id: disableNextReasonId, "data-slot": "multi-step-dialog-next-reason", className: "text-xs text-neutral-foreground-subtle", children: activeStepMeta?.disableNextReason })), _jsx(Button, { type: "button", onClick: handleNext, "aria-disabled": activeStepMeta?.disableNext || undefined, "aria-describedby": showDisableNextReason ? disableNextReasonId : undefined, children: isLastStep
150
- ? (activeStepMeta?.ctaLabel ?? completeLabel)
151
- : (activeStepMeta?.nextLabel ?? nextLabel) })] })] })] }) }));
188
+ }) })), _jsxs(DialogFooter, { className: cn(isFirstStep ? undefined : "sm:justify-between"), children: [!isFirstStep && (_jsx(Button, { type: "button", variant: "secondary", onClick: handleBack, children: resolvedBackLabel })), _jsxs("div", { className: "flex flex-col items-end gap-1", children: [showDisableNextReason && (_jsx("span", { id: disableNextReasonId, "data-slot": "multi-step-dialog-next-reason", className: "text-xs text-neutral-foreground-subtle", children: activeStepMeta?.disableNextReason })), _jsx(Button, { ref: primaryActionRef, type: "button", onClick: handleNext, "aria-disabled": activeStepMeta?.disableNext || undefined, "aria-describedby": showDisableNextReason ? disableNextReasonId : undefined, children: isLastStep
189
+ ? (activeStepMeta?.ctaLabel ?? resolvedCompleteLabel)
190
+ : (activeStepMeta?.nextLabel ?? resolvedNextLabel) })] })] })] }) }));
152
191
  }
153
192
  function MultiStepDialogStep({ value, ctaLabel: _ctaLabel, nextLabel: _nextLabel, disableNext: _disableNext, disableNextReason: _disableNextReason, className, children, ...props }) {
154
193
  const { activeValue } = useMultiStepDialogRootContext("MultiStepDialogStep");
@@ -1 +1 @@
1
- {"version":3,"file":"multi-step-dialog.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-step-dialog.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"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"}