@camunda/design-system 0.57.0 → 0.59.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 (185) 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/modal.d.ts.map +1 -1
  18. package/dist/carbon-compat/modal.js +5 -1
  19. package/dist/carbon-compat/modal.js.map +1 -1
  20. package/dist/carbon-compat/search.d.ts +4 -1
  21. package/dist/carbon-compat/search.d.ts.map +1 -1
  22. package/dist/carbon-compat/search.js +4 -2
  23. package/dist/carbon-compat/search.js.map +1 -1
  24. package/dist/carbon-compat/table-batch-actions.d.ts +5 -1
  25. package/dist/carbon-compat/table-batch-actions.d.ts.map +1 -1
  26. package/dist/carbon-compat/table-batch-actions.js +8 -3
  27. package/dist/carbon-compat/table-batch-actions.js.map +1 -1
  28. package/dist/carbon-compat/table-expand.d.ts +5 -1
  29. package/dist/carbon-compat/table-expand.d.ts.map +1 -1
  30. package/dist/carbon-compat/table-expand.js +6 -2
  31. package/dist/carbon-compat/table-expand.js.map +1 -1
  32. package/dist/carbon-compat/table-select.d.ts +9 -2
  33. package/dist/carbon-compat/table-select.d.ts.map +1 -1
  34. package/dist/carbon-compat/table-select.js +5 -2
  35. package/dist/carbon-compat/table-select.js.map +1 -1
  36. package/dist/carbon-compat/table-toolbar.d.ts +1 -0
  37. package/dist/carbon-compat/table-toolbar.d.ts.map +1 -1
  38. package/dist/carbon-compat/table-toolbar.js +5 -2
  39. package/dist/carbon-compat/table-toolbar.js.map +1 -1
  40. package/dist/src/components/ui/alert-dialog.js +1 -1
  41. package/dist/src/components/ui/alert-dialog.js.map +1 -1
  42. package/dist/src/components/ui/alert.d.ts +3 -1
  43. package/dist/src/components/ui/alert.d.ts.map +1 -1
  44. package/dist/src/components/ui/alert.js +4 -2
  45. package/dist/src/components/ui/alert.js.map +1 -1
  46. package/dist/src/components/ui/app-header.d.ts +1 -0
  47. package/dist/src/components/ui/app-header.d.ts.map +1 -1
  48. package/dist/src/components/ui/app-header.js +4 -2
  49. package/dist/src/components/ui/app-header.js.map +1 -1
  50. package/dist/src/components/ui/app-sidebar.d.ts +49 -2
  51. package/dist/src/components/ui/app-sidebar.d.ts.map +1 -1
  52. package/dist/src/components/ui/app-sidebar.js +20 -9
  53. package/dist/src/components/ui/app-sidebar.js.map +1 -1
  54. package/dist/src/components/ui/breadcrumb.d.ts +7 -1
  55. package/dist/src/components/ui/breadcrumb.d.ts.map +1 -1
  56. package/dist/src/components/ui/breadcrumb.js +6 -3
  57. package/dist/src/components/ui/breadcrumb.js.map +1 -1
  58. package/dist/src/components/ui/c4-provider.d.ts +10 -0
  59. package/dist/src/components/ui/c4-provider.d.ts.map +1 -1
  60. package/dist/src/components/ui/c4-provider.js +11 -2
  61. package/dist/src/components/ui/c4-provider.js.map +1 -1
  62. package/dist/src/components/ui/card.d.ts +3 -1
  63. package/dist/src/components/ui/card.d.ts.map +1 -1
  64. package/dist/src/components/ui/card.js +5 -3
  65. package/dist/src/components/ui/card.js.map +1 -1
  66. package/dist/src/components/ui/chart.d.ts +1 -0
  67. package/dist/src/components/ui/chart.d.ts.map +1 -1
  68. package/dist/src/components/ui/chart.js +5 -3
  69. package/dist/src/components/ui/chart.js.map +1 -1
  70. package/dist/src/components/ui/checkbox.js +1 -1
  71. package/dist/src/components/ui/checkbox.js.map +1 -1
  72. package/dist/src/components/ui/code-block.d.ts +5 -0
  73. package/dist/src/components/ui/code-block.d.ts.map +1 -1
  74. package/dist/src/components/ui/code-block.js +14 -7
  75. package/dist/src/components/ui/code-block.js.map +1 -1
  76. package/dist/src/components/ui/combobox.d.ts +2 -0
  77. package/dist/src/components/ui/combobox.d.ts.map +1 -1
  78. package/dist/src/components/ui/combobox.js +9 -5
  79. package/dist/src/components/ui/combobox.js.map +1 -1
  80. package/dist/src/components/ui/data-table.d.ts +63 -6
  81. package/dist/src/components/ui/data-table.d.ts.map +1 -1
  82. package/dist/src/components/ui/data-table.js +38 -23
  83. package/dist/src/components/ui/data-table.js.map +1 -1
  84. package/dist/src/components/ui/date-picker.d.ts +1 -0
  85. package/dist/src/components/ui/date-picker.d.ts.map +1 -1
  86. package/dist/src/components/ui/date-picker.js +6 -2
  87. package/dist/src/components/ui/date-picker.js.map +1 -1
  88. package/dist/src/components/ui/date-range-picker.d.ts +3 -0
  89. package/dist/src/components/ui/date-range-picker.d.ts.map +1 -1
  90. package/dist/src/components/ui/date-range-picker.js +6 -4
  91. package/dist/src/components/ui/date-range-picker.js.map +1 -1
  92. package/dist/src/components/ui/dialog.d.ts +6 -2
  93. package/dist/src/components/ui/dialog.d.ts.map +1 -1
  94. package/dist/src/components/ui/dialog.js +8 -5
  95. package/dist/src/components/ui/dialog.js.map +1 -1
  96. package/dist/src/components/ui/dropdown.js +2 -2
  97. package/dist/src/components/ui/file-uploader.d.ts +4 -4
  98. package/dist/src/components/ui/file-uploader.d.ts.map +1 -1
  99. package/dist/src/components/ui/file-uploader.js +19 -9
  100. package/dist/src/components/ui/file-uploader.js.map +1 -1
  101. package/dist/src/components/ui/filter-bar.d.ts +12 -0
  102. package/dist/src/components/ui/filter-bar.d.ts.map +1 -0
  103. package/dist/src/components/ui/filter-bar.js +24 -0
  104. package/dist/src/components/ui/filter-bar.js.map +1 -0
  105. package/dist/src/components/ui/inline-edit.d.ts +1 -1
  106. package/dist/src/components/ui/inline-edit.d.ts.map +1 -1
  107. package/dist/src/components/ui/inline-edit.js +4 -2
  108. package/dist/src/components/ui/inline-edit.js.map +1 -1
  109. package/dist/src/components/ui/meter.d.ts +1 -0
  110. package/dist/src/components/ui/meter.d.ts.map +1 -1
  111. package/dist/src/components/ui/meter.js +7 -3
  112. package/dist/src/components/ui/meter.js.map +1 -1
  113. package/dist/src/components/ui/multi-select.d.ts +9 -0
  114. package/dist/src/components/ui/multi-select.d.ts.map +1 -1
  115. package/dist/src/components/ui/multi-select.js +16 -5
  116. package/dist/src/components/ui/multi-select.js.map +1 -1
  117. package/dist/src/components/ui/multi-step-dialog.d.ts +25 -1
  118. package/dist/src/components/ui/multi-step-dialog.d.ts.map +1 -1
  119. package/dist/src/components/ui/multi-step-dialog.js +18 -7
  120. package/dist/src/components/ui/multi-step-dialog.js.map +1 -1
  121. package/dist/src/components/ui/nav-breadcrumb.d.ts +29 -12
  122. package/dist/src/components/ui/nav-breadcrumb.d.ts.map +1 -1
  123. package/dist/src/components/ui/nav-breadcrumb.js +69 -24
  124. package/dist/src/components/ui/nav-breadcrumb.js.map +1 -1
  125. package/dist/src/components/ui/notifications.d.ts +52 -5
  126. package/dist/src/components/ui/notifications.d.ts.map +1 -1
  127. package/dist/src/components/ui/notifications.js +25 -10
  128. package/dist/src/components/ui/notifications.js.map +1 -1
  129. package/dist/src/components/ui/radio-group.js +1 -1
  130. package/dist/src/components/ui/radio-group.js.map +1 -1
  131. package/dist/src/components/ui/scorecard.d.ts +1 -0
  132. package/dist/src/components/ui/scorecard.d.ts.map +1 -1
  133. package/dist/src/components/ui/scorecard.js +8 -3
  134. package/dist/src/components/ui/scorecard.js.map +1 -1
  135. package/dist/src/components/ui/search-input.d.ts +1 -1
  136. package/dist/src/components/ui/search-input.d.ts.map +1 -1
  137. package/dist/src/components/ui/search-input.js +4 -2
  138. package/dist/src/components/ui/search-input.js.map +1 -1
  139. package/dist/src/components/ui/sheet.d.ts +5 -2
  140. package/dist/src/components/ui/sheet.d.ts.map +1 -1
  141. package/dist/src/components/ui/sheet.js +5 -3
  142. package/dist/src/components/ui/sheet.js.map +1 -1
  143. package/dist/src/components/ui/sidebar-provider.d.ts.map +1 -1
  144. package/dist/src/components/ui/sidebar-provider.js +5 -1
  145. package/dist/src/components/ui/sidebar-provider.js.map +1 -1
  146. package/dist/src/components/ui/split-button.d.ts +1 -0
  147. package/dist/src/components/ui/split-button.d.ts.map +1 -1
  148. package/dist/src/components/ui/split-button.js +4 -2
  149. package/dist/src/components/ui/split-button.js.map +1 -1
  150. package/dist/src/components/ui/switch.js +1 -1
  151. package/dist/src/components/ui/switch.js.map +1 -1
  152. package/dist/src/components/ui/table.js +2 -2
  153. package/dist/src/components/ui/table.js.map +1 -1
  154. package/dist/src/components/ui/tabs.js +1 -1
  155. package/dist/src/components/ui/toast.d.ts +6 -1
  156. package/dist/src/components/ui/toast.d.ts.map +1 -1
  157. package/dist/src/components/ui/toast.js +4 -2
  158. package/dist/src/components/ui/toast.js.map +1 -1
  159. package/dist/src/components/ui/toggle-group.js +1 -1
  160. package/dist/src/components/ui/toggle-group.js.map +1 -1
  161. package/dist/src/components/ui/tree-view.d.ts +10 -2
  162. package/dist/src/components/ui/tree-view.d.ts.map +1 -1
  163. package/dist/src/components/ui/tree-view.js +9 -4
  164. package/dist/src/components/ui/tree-view.js.map +1 -1
  165. package/dist/src/components/ui/user-menu.d.ts +12 -1
  166. package/dist/src/components/ui/user-menu.d.ts.map +1 -1
  167. package/dist/src/components/ui/user-menu.js +5 -3
  168. package/dist/src/components/ui/user-menu.js.map +1 -1
  169. package/dist/src/examples/project-detail/ProjectDetailPage.d.ts.map +1 -1
  170. package/dist/src/examples/project-detail/ProjectDetailPage.js +5 -3
  171. package/dist/src/examples/project-detail/ProjectDetailPage.js.map +1 -1
  172. package/dist/src/index.d.ts +2 -0
  173. package/dist/src/index.d.ts.map +1 -1
  174. package/dist/src/index.js +2 -0
  175. package/dist/src/index.js.map +1 -1
  176. package/dist/src/lib/i18n/context.d.ts +48 -0
  177. package/dist/src/lib/i18n/context.d.ts.map +1 -0
  178. package/dist/src/lib/i18n/context.js +157 -0
  179. package/dist/src/lib/i18n/context.js.map +1 -0
  180. package/dist/src/lib/i18n/dictionary.d.ts +148 -0
  181. package/dist/src/lib/i18n/dictionary.d.ts.map +1 -0
  182. package/dist/src/lib/i18n/dictionary.js +131 -0
  183. package/dist/src/lib/i18n/dictionary.js.map +1 -0
  184. package/dist/styles.css +44 -42
  185. package/package.json +3 -2
@@ -2,7 +2,7 @@ import * as React from "react";
2
2
  type SearchInputProps = Omit<React.ComponentProps<"input">, "type"> & {
3
3
  /** Called after the clear path resets the value and fires the synthesized `onChange("")`. */
4
4
  onClear?: () => void;
5
- /** Accessible name for the clear button. Only name assistive tech announces — native cancel button is suppressed. */
5
+ /** Accessible name for the clear button. Only name assistive tech announces — native cancel button is suppressed. Sourced from the i18n dictionary at key `"searchInput.clear"` when omitted. */
6
6
  clearLabel?: string;
7
7
  };
8
8
  declare const SearchInput: React.ForwardRefExoticComponent<Omit<SearchInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"search-input.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/search-input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,KAAK,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,GAAG;IACpE,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qHAAqH;IACrH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAuGF,QAAA,MAAM,WAAW,wGAEhB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"search-input.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/search-input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,KAAK,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,GAAG;IACpE,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iMAAiM;IACjM,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAwGF,QAAA,MAAM,WAAW,wGAEhB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,CAAC"}
@@ -2,9 +2,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { SearchIcon, XIcon } from "../../icons/lucide.js";
4
4
  import { cn } from "../../lib/utils.js";
5
+ import { useC4Dictionary } from "../../lib/i18n/context.js";
5
6
  import { withRef } from "../../lib/with-ref.js";
6
7
  import { Input } from "./input.js";
7
- function SearchInputImpl({ ref, value, defaultValue, disabled, onChange, onClear, onKeyDown, clearLabel = "Clear search", className, ...props }) {
8
+ function SearchInputImpl({ ref, value, defaultValue, disabled, onChange, onClear, onKeyDown, clearLabel, className, ...props }) {
9
+ const { t } = useC4Dictionary();
8
10
  const inputRef = React.useRef(null);
9
11
  const [internalValue, setInternalValue] = React.useState(defaultValue !== undefined ? String(defaultValue) : "");
10
12
  const isControlled = value !== undefined;
@@ -50,7 +52,7 @@ function SearchInputImpl({ ref, value, defaultValue, disabled, onChange, onClear
50
52
  // `className` sizes/positions the whole search affordance (wrapper), not the
51
53
  // bare input — the clear button is absolutely positioned against this wrapper,
52
54
  // so routing width here keeps the button pinned to the field's real edge.
53
- _jsxs("div", { "data-slot": "search-input", className: cn("relative", className), children: [_jsx(SearchIcon, { "aria-hidden": "true", className: "pointer-events-none absolute left-2 top-1/2 h-4 w-4 -translate-y-1/2 text-neutral-foreground-subtle" }), _jsx(Input, { ...props, ref: setRefs, type: "search", role: "searchbox", value: currentValue, disabled: disabled, onChange: handleChange, onKeyDown: handleKeyDown, className: cn("pl-8 [&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none", showClear && "pr-9") }), showClear && (_jsx("button", { type: "button", "aria-label": clearLabel, onClick: handleClear, className: "absolute right-2 top-1/2 inline-flex size-7 -translate-y-1/2 items-center justify-center rounded-sm text-neutral-foreground-subtle hover:text-neutral-foreground-strong focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(XIcon, { "aria-hidden": "true", className: "h-4 w-4" }) }))] }));
55
+ _jsxs("div", { "data-slot": "search-input", className: cn("relative", className), children: [_jsx(SearchIcon, { "aria-hidden": "true", className: "pointer-events-none absolute left-2 top-1/2 h-4 w-4 -translate-y-1/2 text-neutral-foreground-subtle" }), _jsx(Input, { ...props, ref: setRefs, type: "search", role: "searchbox", value: currentValue, disabled: disabled, onChange: handleChange, onKeyDown: handleKeyDown, className: cn("pl-8 [&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none", showClear && "pr-9") }), showClear && (_jsx("button", { type: "button", "aria-label": clearLabel ?? t("searchInput.clear"), onClick: handleClear, className: "absolute right-2 top-1/2 inline-flex size-7 -translate-y-1/2 items-center justify-center rounded-sm text-neutral-foreground-subtle hover:text-neutral-foreground-strong focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(XIcon, { "aria-hidden": "true", className: "h-4 w-4" }) }))] }));
54
56
  }
55
57
  const SearchInput = withRef(SearchInputImpl);
56
58
  export { SearchInput };
@@ -1 +1 @@
1
- {"version":3,"file":"search-input.js","sourceRoot":"","sources":["../../../../src/components/ui/search-input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-input.js","sourceRoot":"","sources":["../../../../src/components/ui/search-input.tsx"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ declare function SheetOverlay({ className, ...props }: React.ComponentProps<type
9
9
  declare const sheetVariants: (props?: ({
10
10
  side?: "bottom" | "left" | "right" | "top" | null | undefined;
11
11
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
- declare function SheetContent({ className, children, side, showCloseButton, onOpenAutoFocus, onCloseAutoFocus, restoreFocusRef, ...props }: React.ComponentProps<typeof SheetPrimitive.Content> & VariantProps<typeof sheetVariants> & {
12
+ type SheetContentProps = React.ComponentProps<typeof SheetPrimitive.Content> & VariantProps<typeof sheetVariants> & {
13
13
  showCloseButton?: boolean;
14
14
  /**
15
15
  * Element to refocus when the sheet closes, instead of the auto-captured
@@ -18,7 +18,10 @@ declare function SheetContent({ className, children, side, showCloseButton, onOp
18
18
  * still-mounted element, typically the menu's own trigger.
19
19
  */
20
20
  restoreFocusRef?: React.RefObject<HTMLElement | null>;
21
- }): React.JSX.Element;
21
+ /** Accessible name for the close button. Sourced from the i18n dictionary, overridable via this prop. */
22
+ closeLabel?: string;
23
+ };
24
+ declare function SheetContent({ className, children, side, showCloseButton, onOpenAutoFocus, onCloseAutoFocus, restoreFocusRef, closeLabel, ...props }: SheetContentProps): React.JSX.Element;
22
25
  declare function SheetHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
23
26
  declare function SheetFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
24
27
  declare function SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/sheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAalE,iBAAS,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,qBAE5E;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,qBAErD;AAED,iBAAS,UAAU,CAAC,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,qBAEnD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,qBAEpD;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,qBAcrD;AAED,QAAA,MAAM,aAAa;;8EAelB,CAAC;AAEF,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,IAAa,EACb,eAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,GACpD,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACvD,qBA0CF;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQxE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQxE;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,qBAUnD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC,qBAQzD;AAED,OAAO,EACL,KAAK,EACL,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,GACb,CAAC"}
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/sheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAclE,iBAAS,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,qBAE5E;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,qBAErD;AAED,iBAAS,UAAU,CAAC,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,qBAEnD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,qBAEpD;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,qBAcrD;AAED,QAAA,MAAM,aAAa;;8EAelB,CAAC;AAEF,KAAK,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,GAC1E,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtD,yGAAyG;IACzG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEJ,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,IAAa,EACb,eAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,GAAG,KAAK,EACT,EAAE,iBAAiB,qBA6CnB;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQxE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQxE;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,qBAUnD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC,qBAQzD;AAED,OAAO,EACL,KAAK,EACL,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,GACb,CAAC"}
@@ -5,6 +5,7 @@ import { Dialog as SheetPrimitive } from "radix-ui";
5
5
  import { cva } from "class-variance-authority";
6
6
  import { XIcon } from "../../icons/lucide.js";
7
7
  import { cn } from "../../lib/utils.js";
8
+ import { useC4Dictionary } from "../../lib/i18n/context.js";
8
9
  import { composeCloseAutoFocus, composeOpenAutoFocus, useDialogFocusReturn, } from "../../lib/focus-visible-on-close.js";
9
10
  import { C4Provider } from "./c4-provider.js";
10
11
  import { Button } from "../ui/button.js";
@@ -28,7 +29,7 @@ function SheetOverlay({ className, ...props }) {
28
29
  // plain dim is cleaner for a drawer. Duration matches the panel slide.
29
30
  "fixed inset-0 isolate z-50 bg-black/20 duration-200 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className), ...props }));
30
31
  }
31
- const sheetVariants = cva("fixed z-50 flex flex-col bg-popover text-sm text-popover-foreground ring-1 ring-border outline-none transition ease-in-out data-open:animate-in data-open:duration-200 data-closed:animate-out data-closed:duration-200", {
32
+ const sheetVariants = cva("fixed z-50 flex flex-col bg-popover text-sm text-popover-foreground ring-1 ring-border shadow-lg outline-none transition ease-in-out data-open:animate-in data-open:duration-200 data-closed:animate-out data-closed:duration-200", {
32
33
  variants: {
33
34
  side: {
34
35
  left: "inset-y-0 left-0 h-full w-3/4 max-w-sm border-r border-border data-closed:slide-out-to-left data-open:slide-in-from-left",
@@ -39,8 +40,9 @@ const sheetVariants = cva("fixed z-50 flex flex-col bg-popover text-sm text-popo
39
40
  },
40
41
  defaultVariants: { side: "left" },
41
42
  });
42
- function SheetContent({ className, children, side = "left", showCloseButton = true, onOpenAutoFocus, onCloseAutoFocus, restoreFocusRef, ...props }) {
43
+ function SheetContent({ className, children, side = "left", showCloseButton = true, onOpenAutoFocus, onCloseAutoFocus, restoreFocusRef, closeLabel, ...props }) {
43
44
  const dialogFocusReturn = useDialogFocusReturn(restoreFocusRef);
45
+ const { t } = useC4Dictionary();
44
46
  return (_jsx(SheetPortal, { children: _jsxs(C4Provider, { children: [_jsx(SheetOverlay, {}), _jsxs(SheetPrimitive.Content, { "data-slot": "sheet-content", "data-side": side,
45
47
  // #26413 — restore focus to the real launcher on close, even for
46
48
  // controlled-`open` usage with no `SheetTrigger` (see
@@ -48,7 +50,7 @@ function SheetContent({ className, children, side = "left", showCloseButton = tr
48
50
  onOpenAutoFocus: composeOpenAutoFocus(onOpenAutoFocus, dialogFocusReturn.onOpenAutoFocus),
49
51
  // #259 — make the trigger's restored focus ring visible on a mouse
50
52
  // close (see focus-visible-on-close).
51
- onCloseAutoFocus: composeCloseAutoFocus(onCloseAutoFocus, dialogFocusReturn.onCloseAutoFocus), className: cn(sheetVariants({ side }), className), ...props, children: [children, showCloseButton && (_jsx(SheetPrimitive.Close, { "data-slot": "sheet-close", asChild: true, children: _jsxs(Button, { variant: "ghost", className: "absolute top-2 right-2", size: "icon-sm", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }) }))] })] }) }));
53
+ onCloseAutoFocus: composeCloseAutoFocus(onCloseAutoFocus, dialogFocusReturn.onCloseAutoFocus), className: cn(sheetVariants({ side }), className), ...props, children: [children, showCloseButton && (_jsx(SheetPrimitive.Close, { "data-slot": "sheet-close", asChild: true, children: _jsxs(Button, { variant: "ghost", className: "absolute top-2 right-2", size: "icon-sm", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: closeLabel ?? t("sheet.close") })] }) }))] })] }) }));
52
54
  }
53
55
  function SheetHeader({ className, ...props }) {
54
56
  return (_jsx("div", { "data-slot": "sheet-header", className: cn("flex flex-col gap-1.5 p-4", className), ...props }));
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../../../src/components/ui/sheet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../../../src/components/ui/sheet.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/sidebar-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAM9C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAID,8EAA8E;AAC9E,wBAAgB,UAAU,IAAI,mBAAmB,GAAG,IAAI,CAEvD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAaD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,eAAsB,EACtB,YAAsB,EACtB,iBAAyB,EACzB,cAAyB,EACzB,QAAQ,EAAE,YAAY,GACvB,EAAE,oBAAoB,qBA8DtB;AAED,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,mBAAmB,qBA+BrB"}
1
+ {"version":3,"file":"sidebar-provider.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/sidebar-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAO9C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAID,8EAA8E;AAC9E,wBAAgB,UAAU,IAAI,mBAAmB,GAAG,IAAI,CAEvD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAaD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,eAAsB,EACtB,YAAsB,EACtB,iBAAyB,EACzB,cAAyB,EACzB,QAAQ,EAAE,YAAY,GACvB,EAAE,oBAAoB,qBA8DtB;AAED,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,mBAAmB,qBA2CrB"}
@@ -4,6 +4,7 @@ import * as React from "react";
4
4
  import { Menu } from "../../icons/lucide.js";
5
5
  import { useIsMobile } from "../../hooks/use-is-mobile.js";
6
6
  import { Button } from "../ui/button.js";
7
+ import { useC4Dictionary } from "../../lib/i18n/context.js";
7
8
  import { cn } from "../../lib/utils.js";
8
9
  const EXPANDED_STORAGE_KEY = "c4-sidebar-expanded";
9
10
  const WIDTH_STORAGE_KEY = "c4-sidebar-width";
@@ -68,8 +69,11 @@ export function SidebarProvider({ children, defaultExpanded = true, defaultWidth
68
69
  */
69
70
  export function SidebarTrigger({ onClick, children, className, ...props }) {
70
71
  const ctx = useSidebar();
72
+ const { t } = useC4Dictionary();
71
73
  const isOpen = ctx?.mobileOpen ?? false;
72
- return (_jsx(Button, { variant: "ghost", size: "icon", "aria-label": isOpen ? "Close navigation" : "Open navigation", ...props, "data-slot": "sidebar-trigger", "data-state": isOpen ? "open" : "closed", className: cn("data-[state=open]:bg-neutral-background-medium dark:data-[state=open]:bg-neutral-background-medium", className), onClick: (e) => {
74
+ return (_jsx(Button, { variant: "ghost", size: "icon", "aria-label": isOpen
75
+ ? t("sidebarProvider.closeNavigation")
76
+ : t("sidebarProvider.openNavigation"), ...props, "data-slot": "sidebar-trigger", "data-state": isOpen ? "open" : "closed", className: cn("data-[state=open]:bg-neutral-background-medium dark:data-[state=open]:bg-neutral-background-medium", className), onClick: (e) => {
73
77
  onClick?.(e);
74
78
  if (!e.defaultPrevented) {
75
79
  ctx?.setMobileOpen(!isOpen);
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-provider.js","sourceRoot":"","sources":["../../../../src/components/ui/sidebar-provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebar-provider.js","sourceRoot":"","sources":["../../../../src/components/ui/sidebar-provider.tsx"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ type SplitButtonProps = {
8
8
  variant?: VariantProps<typeof buttonVariants>["variant"];
9
9
  size?: SplitButtonSize;
10
10
  onPrimaryClick?: React.MouseEventHandler<HTMLButtonElement>;
11
+ /** Accessible name for the dropdown-trigger segment. Sourced from the i18n dictionary at key `"splitButton.moreOptions"` when omitted. */
11
12
  dropdownLabel?: string;
12
13
  disabled?: boolean;
13
14
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"split-button.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/split-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAK7D,OAAO,EAAU,cAAc,EAAE,MAAM,UAAU,CAAC;AAOlD,KAAK,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAYtD,KAAK,gBAAgB,GAAG;IACtB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,cAAc,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAoDF,QAAA,MAAM,WAAW,sGAA6D,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"split-button.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/split-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAM7D,OAAO,EAAU,cAAc,EAAE,MAAM,UAAU,CAAC;AAOlD,KAAK,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAYtD,KAAK,gBAAgB,GAAG;IACtB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,cAAc,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,0IAA0I;IAC1I,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAqDF,QAAA,MAAM,WAAW,sGAA6D,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -3,6 +3,7 @@ import * as React from "react";
3
3
  import {} from "class-variance-authority";
4
4
  import { ChevronDown } from "../../icons/lucide.js";
5
5
  import { cn } from "../../lib/utils.js";
6
+ import { useC4Dictionary } from "../../lib/i18n/context.js";
6
7
  import { withRef } from "../../lib/with-ref.js";
7
8
  import { Button, buttonVariants } from "./button.js";
8
9
  import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger, } from "./dropdown.js";
@@ -12,9 +13,10 @@ const iconSizeMap = {
12
13
  xs: "icon-xs",
13
14
  lg: "icon-lg",
14
15
  };
15
- function SplitButtonImpl({ ref, label, variant = "default", size = "default", onPrimaryClick, dropdownLabel = "More options", disabled = false, className, children, }) {
16
+ function SplitButtonImpl({ ref, label, variant = "default", size = "default", onPrimaryClick, dropdownLabel, disabled = false, className, children, }) {
17
+ const { t } = useC4Dictionary();
16
18
  const triggerSize = iconSizeMap[size];
17
- return (_jsxs("div", { ref: ref, role: "group", "data-slot": "split-button", className: cn("inline-flex rounded-lg shadow-xs", className), children: [_jsx(Button, { variant: variant, size: size, onClick: onPrimaryClick, disabled: disabled, className: "rounded-r-none border-r-0 shadow-none", children: label }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: variant, size: triggerSize, disabled: disabled, "aria-label": dropdownLabel, className: "rounded-l-none border-l border-l-primary-foreground/25 shadow-none", children: _jsx(ChevronDown, { "aria-hidden": "true" }) }) }), _jsx(DropdownMenuContent, { children: children })] })] }));
19
+ return (_jsxs("div", { ref: ref, role: "group", "data-slot": "split-button", className: cn("inline-flex rounded-lg shadow-none", className), children: [_jsx(Button, { variant: variant, size: size, onClick: onPrimaryClick, disabled: disabled, className: "rounded-r-none border-r-0 shadow-none", children: label }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: variant, size: triggerSize, disabled: disabled, "aria-label": dropdownLabel ?? t("splitButton.moreOptions"), className: "rounded-l-none border-l border-l-primary-foreground/25 shadow-none", children: _jsx(ChevronDown, { "aria-hidden": "true" }) }) }), _jsx(DropdownMenuContent, { children: children })] })] }));
18
20
  }
19
21
  const SplitButton = withRef(SplitButtonImpl);
20
22
  export { SplitButton };
@@ -1 +1 @@
1
- {"version":3,"file":"split-button.js","sourceRoot":"","sources":["../../../../src/components/ui/split-button.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,GAGb;IACF,OAAO,EAAE,MAAM;IACf,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;CACd,CAAC;AAcF,SAAS,eAAe,CAAC,EACvB,GAAG,EACH,KAAK,EACL,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,cAAc,EACd,aAAa,GAAG,cAAc,EAC9B,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,QAAQ,GACS;IACjB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,OAAO,eACF,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,kCAAkC,EAAE,SAAS,CAAC,aAE5D,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,uCAAuC,YAEhD,KAAK,GACC,EACT,MAAC,YAAY,eACX,KAAC,mBAAmB,IAAC,OAAO,kBAI1B,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,gBACN,aAAa,EACzB,SAAS,EAAC,oEAAoE,YAE9E,KAAC,WAAW,mBAAa,MAAM,GAAG,GAC3B,GACW,EACtB,KAAC,mBAAmB,cAAE,QAAQ,GAAuB,IACxC,IACX,CACP,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,OAAO,CAAmC,eAAe,CAAC,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"split-button.js","sourceRoot":"","sources":["../../../../src/components/ui/split-button.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,GAGb;IACF,OAAO,EAAE,MAAM;IACf,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;CACd,CAAC;AAeF,SAAS,eAAe,CAAC,EACvB,GAAG,EACH,KAAK,EACL,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,cAAc,EACd,aAAa,EACb,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,QAAQ,GACS;IACjB,MAAM,EAAE,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,OAAO,eACF,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,aAE9D,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,uCAAuC,YAEhD,KAAK,GACC,EACT,MAAC,YAAY,eACX,KAAC,mBAAmB,IAAC,OAAO,kBAI1B,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,QAAQ,gBACN,aAAa,IAAI,CAAC,CAAC,yBAAyB,CAAC,EACzD,SAAS,EAAC,oEAAoE,YAE9E,KAAC,WAAW,mBAAa,MAAM,GAAG,GAC3B,GACW,EACtB,KAAC,mBAAmB,cAAE,QAAQ,GAAuB,IACxC,IACX,CACP,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,OAAO,CAAmC,eAAe,CAAC,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -4,7 +4,7 @@ import * as React from "react";
4
4
  import { cva } from "class-variance-authority";
5
5
  import { Switch as SwitchPrimitive } from "radix-ui";
6
6
  import { cn } from "../../lib/utils.js";
7
- const switchTrackVariants = cva("peer relative inline-block shrink-0 cursor-pointer rounded-full border-0 p-0 transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary-action-default data-[state=unchecked]:bg-switch-background", {
7
+ const switchTrackVariants = cva("peer relative inline-block shrink-0 cursor-pointer rounded-full border-0 p-0 transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-accent-action-default data-[state=unchecked]:bg-switch-background", {
8
8
  variants: {
9
9
  size: {
10
10
  // 24×44 track, 20×20 thumb, +20px slide on check.
@@ -1 +1 @@
1
- {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../../src/components/ui/switch.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAE/B,MAAM,mBAAmB,GAAG,GAAG,CAC7B,qSAAqS,EACrS;IACE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,kDAAkD;YAClD,EAAE,EAAE,UAAU;YACd,kEAAkE;YAClE,8DAA8D;YAC9D,2CAA2C;YAC3C,EAAE,EAAE,SAAS;SACd;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,IAAI;KACX;CACF,CACF,CAAC;AAEF,MAAM,mBAAmB,GAAG,GAAG;AAC7B,yEAAyE;AACzE,gEAAgE;AAChE,oEAAoE;AACpE,0EAA0E;AAC1E,4BAA4B;AAC5B,yUAAyU,EACzU;IACE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,2CAA2C;YAC/C,EAAE,EAAE,2CAA2C;SAChD;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,IAAI;KACX;CACF,CACF,CAAC;AAKF,SAAS,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAe;IACxD,OAAO,CACL,KAAC,eAAe,CAAC,IAAI,iBACT,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,KACnD,KAAK,YAET,KAAC,eAAe,CAAC,KAAK,iBACV,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAC5C,GACmB,CACxB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../../src/components/ui/switch.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAE/B,MAAM,mBAAmB,GAAG,GAAG,CAC7B,oSAAoS,EACpS;IACE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,kDAAkD;YAClD,EAAE,EAAE,UAAU;YACd,kEAAkE;YAClE,8DAA8D;YAC9D,2CAA2C;YAC3C,EAAE,EAAE,SAAS;SACd;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,IAAI;KACX;CACF,CACF,CAAC;AAEF,MAAM,mBAAmB,GAAG,GAAG;AAC7B,yEAAyE;AACzE,gEAAgE;AAChE,oEAAoE;AACpE,0EAA0E;AAC1E,4BAA4B;AAC5B,yUAAyU,EACzU;IACE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,2CAA2C;YAC/C,EAAE,EAAE,2CAA2C;SAChD;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,IAAI;KACX;CACF,CACF,CAAC;AAKF,SAAS,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAe;IACxD,OAAO,CACL,KAAC,eAAe,CAAC,IAAI,iBACT,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,KACnD,KAAK,YAET,KAAC,eAAe,CAAC,KAAK,iBACV,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAC5C,GACmB,CACxB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -25,7 +25,7 @@ function Table({ size = "md", className, containerClassName, ...props }) {
25
25
  // is meant to own vertical scrolling — the page-level layout does.
26
26
  // Pin `overflow-y` to `hidden` so only the intentional horizontal
27
27
  // overflow (wide tables) ever scrolls here.
28
- "relative w-full overflow-x-auto overflow-y-hidden rounded-xl border bg-neutral-background-subtle shadow-[var(--shadow-sm)]", containerClassName), children: _jsx("table", { "data-slot": "table", "data-size": size,
28
+ "relative w-full overflow-x-auto overflow-y-hidden rounded-xl border bg-neutral-background-subtle shadow-sm", containerClassName), children: _jsx("table", { "data-slot": "table", "data-size": size,
29
29
  // `border-collapse` is required for row-level `border-b` to render.
30
30
  // c4 imports Tailwind without preflight, so `<table>` defaults to the
31
31
  // browser's `border-separate` where borders on `<tr>` are ignored.
@@ -41,7 +41,7 @@ function TableFooter({ className, ...props }) {
41
41
  return (_jsx("tfoot", { "data-slot": "table-footer", className: cn("border-t bg-neutral-background-medium font-medium [&>tr]:last:border-b-0", className), ...props }));
42
42
  }
43
43
  function TableRow({ className, ...props }) {
44
- return (_jsx("tr", { "data-slot": "table-row", className: cn("border-b transition-colors hover:bg-neutral-background-medium has-aria-expanded:bg-neutral-background-medium data-[state=selected]:bg-neutral-background-strong", className), ...props }));
44
+ return (_jsx("tr", { "data-slot": "table-row", className: cn("border-b transition-colors hover:bg-neutral-background-medium has-aria-expanded:bg-neutral-background-medium data-[state=selected]:bg-accent-background-subtle", className), ...props }));
45
45
  }
46
46
  function TableHead({ className, ...props }) {
47
47
  const size = React.useContext(TableSizeContext);
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/components/ui/table.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD,MAAM,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAY,IAAI,CAAC,CAAC;AAE9D,MAAM,eAAe,GAA8B;IACjD,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;CAChB,CAAC;AAEF,MAAM,eAAe,GAA8B;IACjD,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;CAChB,CAAC;AAEF,SAAS,KAAK,CAAC,EACb,IAAI,GAAG,IAAI,EACX,SAAS,EACT,kBAAkB,EAClB,GAAG,KAAK,EAIT;IACC,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YACpC,2BACY,iBAAiB,EAC3B,SAAS,EAAE,EAAE;YACX,6DAA6D;YAC7D,+DAA+D;YAC/D,gEAAgE;YAChE,kEAAkE;YAClE,kEAAkE;YAClE,iEAAiE;YACjE,mEAAmE;YACnE,kEAAkE;YAClE,4CAA4C;YAC5C,4HAA4H,EAC5H,kBAAkB,CACnB,YAED,6BACY,OAAO,eACN,IAAI;gBACf,oEAAoE;gBACpE,sEAAsE;gBACtE,mEAAmE;gBACnE,SAAS,EAAE,EAAE,CACX,+CAA+C,EAC/C,SAAS,CACV,KACG,KAAK,GACT,GACE,GACoB,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiC;IACzE,OAAO,CACL,6BACY,cAAc,EACxB,SAAS,EAAE,EAAE,CACX,2GAA2G,EAC3G,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiC;IACvE,OAAO,CACL,6BACY,YAAY,EACtB,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAClD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiC;IACzE,OAAO,CACL,6BACY,cAAc,EACxB,SAAS,EAAE,EAAE,CACX,0EAA0E,EAC1E,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACnE,OAAO,CACL,0BACY,WAAW,EACrB,SAAS,EAAE,EAAE,CACX,iKAAiK,EACjK,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAChD,OAAO,CACL,0BACY,YAAY,EACtB,SAAS,EAAE,EAAE,CACX,mHAAmH,EACnH,eAAe,CAAC,IAAI,CAAC,EACrB,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAChD,OAAO,CACL,0BACY,YAAY,EACtB,SAAS,EAAE,EAAE;QACX,0DAA0D;QAC1D,iDAAiD;QACjD,4CAA4C,EAC5C,eAAe,CAAC,IAAI,CAAC,EACrB,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACwB;IAChC,OAAO,CACL,+BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CACX,MAAM,EACN,kBAAkB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAC9C,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACb,CAAC"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/components/ui/table.tsx"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ function TabsList({ className, variant = "default", ...props }) {
21
21
  return (_jsx(TabsPrimitive.List, { "data-slot": "tabs-list", "data-variant": variant, className: cn(tabsListVariants({ variant }), className), ...props }));
22
22
  }
23
23
  function TabsTrigger({ className, ...props }) {
24
- return (_jsx(TabsPrimitive.Trigger, { "data-slot": "tabs-trigger", className: cn("relative inline-flex h-[calc(100%-2px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-lg border border-transparent px-3 py-1 text-sm font-medium whitespace-nowrap text-neutral-foreground-strong transition-all duration-200 group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 dark:text-neutral-foreground-subtle group-data-[variant=default]/tabs-list:data-active:shadow-xs group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "not-data-active:hover:bg-neutral-background-strong", "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-neutral-background-subtle data-active:text-neutral-foreground-strong dark:data-active:border-input dark:data-active:text-neutral-foreground-strong", "after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100", className), ...props }));
24
+ return (_jsx(TabsPrimitive.Trigger, { "data-slot": "tabs-trigger", className: cn("relative inline-flex h-[calc(100%-2px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-lg border border-transparent px-3 py-1 text-sm font-medium whitespace-nowrap text-neutral-foreground-strong transition-all duration-200 group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 dark:text-neutral-foreground-subtle group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "not-data-active:hover:bg-neutral-background-strong", "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-neutral-background-subtle data-active:text-neutral-foreground-strong dark:data-active:border-input dark:data-active:text-neutral-foreground-strong", "after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100", className), ...props }));
25
25
  }
26
26
  function TabsContent({ className, ...props }) {
27
27
  return (_jsx(TabsPrimitive.Content, { "data-slot": "tabs-content", className: cn("flex-1 text-sm outline-none", className), ...props }));
@@ -2,6 +2,11 @@ import * as React from "react";
2
2
  type ToastPosition = "top-left" | "top-right" | "top-center" | "bottom-left" | "bottom-right" | "bottom-center";
3
3
  type ToasterProps = {
4
4
  position?: ToastPosition;
5
+ /**
6
+ * Accessible name for every toast's close button. Sourced from the i18n
7
+ * dictionary at key `"toast.dismiss"` when omitted.
8
+ */
9
+ dismissLabel?: string;
5
10
  };
6
11
  type ToastAction = {
7
12
  label: string;
@@ -35,7 +40,7 @@ type ToastFn = {
35
40
  * wrapper's public API, so no `withRef()` wrapping is needed (AGENTS.md Rule #4 applies
36
41
  * only to components that forward a ref).
37
42
  */
38
- declare function Toaster({ position }: ToasterProps): React.JSX.Element;
43
+ declare function Toaster({ position, dismissLabel }: ToasterProps): React.JSX.Element;
39
44
  /**
40
45
  * The callable used everywhere else — never sonner's own `toast` re-exported directly.
41
46
  * `options.duration` resolution uses `??`, not `||`: sonner treats a literal
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,KAAK,aAAa,GACd,UAAU,GACV,WAAW,GACX,YAAY,GACZ,aAAa,GACb,cAAc,GACd,eAAe,CAAC;AAEpB,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,KAAK,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAE1D,KAAK,YAAY,GAAG;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,mBAAmB,CAAC,CAAC,IAAI;IAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1D,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;CAChE,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;IACpE,OAAO,EAAE,CACP,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,OAAO,CAAC,EAAE,YAAY,KACnB,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,MAAM,GAAG,MAAM,CAAC;IAC5E,OAAO,EAAE,CACP,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,OAAO,CAAC,EAAE,YAAY,KACnB,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,MAAM,GAAG,MAAM,CAAC;IAC7E,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3E,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAyMF;;;;;;;GAOG;AACH,iBAAS,OAAO,CAAC,EAAE,QAAsB,EAAE,EAAE,YAAY,qBAgBxD;AA+BD;;;;;GAKG;AACH,QAAA,MAAM,KAAK,EAAE,OAuCZ,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC1B,YAAY,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,mBAAmB,GACpB,CAAC"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,KAAK,aAAa,GACd,UAAU,GACV,WAAW,GACX,YAAY,GACZ,aAAa,GACb,cAAc,GACd,eAAe,CAAC;AAEpB,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAE1D,KAAK,YAAY,GAAG;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,mBAAmB,CAAC,CAAC,IAAI;IAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1D,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;CAChE,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;IACpE,OAAO,EAAE,CACP,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,OAAO,CAAC,EAAE,YAAY,KACnB,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,MAAM,GAAG,MAAM,CAAC;IAC5E,OAAO,EAAE,CACP,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,OAAO,CAAC,EAAE,YAAY,KACnB,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,MAAM,GAAG,MAAM,CAAC;IAC7E,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3E,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAyMF;;;;;;;GAOG;AACH,iBAAS,OAAO,CAAC,EAAE,QAAsB,EAAE,YAAY,EAAE,EAAE,YAAY,qBAiBtE;AA+BD;;;;;GAKG;AACH,QAAA,MAAM,KAAK,EAAE,OAuCZ,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC1B,YAAY,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,mBAAmB,GACpB,CAAC"}
@@ -3,6 +3,7 @@ import * as React from "react";
3
3
  import { Toaster as SonnerToaster, toast as sonnerToast, } from "sonner";
4
4
  import { CheckCircle2, CircleAlert, Info, Loader2, TriangleAlert, X, } from "../../icons/lucide.js";
5
5
  import { cn } from "../../lib/utils.js";
6
+ import { useC4Dictionary } from "../../lib/i18n/context.js";
6
7
  import { buttonVariants } from "./button.js";
7
8
  import { typographyVariants } from "./typography.js";
8
9
  // ── Styling contract — neutral floating surface, icon-only kind color ──────
@@ -167,13 +168,14 @@ const TOAST_ICONS = {
167
168
  * wrapper's public API, so no `withRef()` wrapping is needed (AGENTS.md Rule #4 applies
168
169
  * only to components that forward a ref).
169
170
  */
170
- function Toaster({ position = "top-right" }) {
171
+ function Toaster({ position = "top-right", dismissLabel }) {
172
+ const { t } = useC4Dictionary();
171
173
  return (_jsx(SonnerToaster, { position: position, richColors: false, closeButton: true, icons: TOAST_ICONS, toastOptions: {
172
174
  unstyled: true,
173
175
  classNames: TOAST_CLASSNAMES,
174
176
  // Overrides sonner's native "Close toast" default — matches Alert's own
175
177
  // dismiss button wording (confirmed by design review, see toast.specs.ts).
176
- closeButtonAriaLabel: "Dismiss",
178
+ closeButtonAriaLabel: dismissLabel ?? t("toast.dismiss"),
177
179
  } }));
178
180
  }
179
181
  // ── toast ────────────────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","sourceRoot":"","sources":["../../../../src/components/ui/toast.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toast.js","sourceRoot":"","sources":["../../../../src/components/ui/toast.tsx"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import { toggleVariants } from "./toggle.js";
10
10
  // here would clobber those.
11
11
  const ToggleGroupContext = React.createContext({});
12
12
  function ToggleGroup({ className, variant = "default", size = "default", children, ...props }) {
13
- return (_jsx(ToggleGroupPrimitive.Root, { "data-slot": "toggle-group", "data-variant": variant, "data-size": size, className: cn("group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-xs", className), ...props, children: _jsx(ToggleGroupContext.Provider, { value: { variant, size }, children: children }) }));
13
+ return (_jsx(ToggleGroupPrimitive.Root, { "data-slot": "toggle-group", "data-variant": variant, "data-size": size, className: cn("group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-none", className), ...props, children: _jsx(ToggleGroupContext.Provider, { value: { variant, size }, children: children }) }));
14
14
  }
15
15
  function ToggleGroupItem({ className, children, variant, size, ...props }) {
16
16
  const context = React.useContext(ToggleGroupContext);
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.js","sourceRoot":"","sources":["../../../../src/components/ui/toggle-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAqB,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,8EAA8E;AAC9E,4EAA4E;AAC5E,4BAA4B;AAC5B,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAE5C,EAAE,CAAC,CAAC;AAEN,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,QAAQ,EACR,GAAG,KAAK,EAE2B;IACnC,OAAO,CACL,KAAC,oBAAoB,CAAC,IAAI,iBACd,cAAc,kBACV,OAAO,eACV,IAAI,EACf,SAAS,EAAE,EAAE,CACX,wFAAwF,EACxF,SAAS,CACV,KACG,KAAK,YAET,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAClD,QAAQ,GACmB,GACJ,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,GAAG,KAAK,EAE2B;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACrD,0EAA0E;IAC1E,sEAAsE;IACtE,sCAAsC;IACtC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;IACnD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAE1C,OAAO,CACL,KAAC,oBAAoB,CAAC,IAAI,iBACd,mBAAmB,kBACf,eAAe,eAClB,YAAY,EACvB,SAAS,EAAE,EAAE,CACX,cAAc,CAAC;YACb,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,YAAY;SACnB,CAAC,EACF,6LAA6L,EAC7L,SAAS,CACV,KACG,KAAK,YAER,QAAQ,GACiB,CAC7B,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"toggle-group.js","sourceRoot":"","sources":["../../../../src/components/ui/toggle-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAqB,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,8EAA8E;AAC9E,4EAA4E;AAC5E,4BAA4B;AAC5B,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAE5C,EAAE,CAAC,CAAC;AAEN,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,QAAQ,EACR,GAAG,KAAK,EAE2B;IACnC,OAAO,CACL,KAAC,oBAAoB,CAAC,IAAI,iBACd,cAAc,kBACV,OAAO,eACV,IAAI,EACf,SAAS,EAAE,EAAE,CACX,0FAA0F,EAC1F,SAAS,CACV,KACG,KAAK,YAET,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAClD,QAAQ,GACmB,GACJ,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,GAAG,KAAK,EAE2B;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACrD,0EAA0E;IAC1E,sEAAsE;IACtE,sCAAsC;IACtC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;IACnD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAE1C,OAAO,CACL,KAAC,oBAAoB,CAAC,IAAI,iBACd,mBAAmB,kBACf,eAAe,eAClB,YAAY,EACvB,SAAS,EAAE,EAAE,CACX,cAAc,CAAC;YACb,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,YAAY;SACnB,CAAC,EACF,6LAA6L,EAC7L,SAAS,CACV,KACG,KAAK,YAER,QAAQ,GACiB,CAC7B,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC"}
@@ -48,15 +48,23 @@ export interface TreeViewProps {
48
48
  size?: "xs" | "sm";
49
49
  /** Activate @tanstack/react-virtual when visible node count exceeds this value. */
50
50
  virtualizeThreshold?: number;
51
- /** Content rendered when data is empty. */
51
+ /**
52
+ * Content rendered when data is empty. Sourced from the i18n dictionary at
53
+ * key `"treeView.noItems"` when omitted (`undefined`). Pass `null` to
54
+ * intentionally suppress the message entirely (the empty-state container
55
+ * still renders, just with no content) — that is a real, distinct value
56
+ * from omitting the prop, not treated as "unset".
57
+ */
52
58
  emptyState?: React.ReactNode;
53
59
  /** Render skeleton rows instead of data. */
54
60
  loading?: boolean;
55
61
  loadingRowCount?: number;
62
+ /** Accessible label for the loading skeleton. Sourced from the i18n dictionary, overridable via this prop. */
63
+ loadingLabel?: string;
56
64
  className?: string;
57
65
  style?: React.CSSProperties;
58
66
  id?: string;
59
67
  }
60
68
  export declare function TreeNode(_props: TreeNodeProps): null;
61
- export declare function TreeView({ label, hideLabel, data: dataProp, children, selected: selectedProp, onSelect, onToggle, selectionMode, size, virtualizeThreshold, emptyState, loading, loadingRowCount, className, style, id, }: TreeViewProps): React.JSX.Element;
69
+ export declare function TreeView({ label, hideLabel, data: dataProp, children, selected: selectedProp, onSelect, onToggle, selectionMode, size, virtualizeThreshold, emptyState, loading, loadingRowCount, loadingLabel, className, style, id, }: TreeViewProps): React.JSX.Element;
62
70
  //# sourceMappingURL=tree-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-view.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tree-view.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sFAAsF;IACtF,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IACrB,mGAAmG;IACnG,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IACrE,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AA4BD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAEpD;AAaD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,SAAiB,EACjB,IAAI,EAAE,QAAQ,EACd,QAAQ,EACR,QAAQ,EAAE,YAAY,EACtB,QAAQ,EACR,QAAQ,EACR,aAAwB,EACxB,IAAW,EACX,mBAAmB,EACnB,UAAU,EACV,OAAe,EACf,eAAmB,EACnB,SAAS,EACT,KAAK,EACL,EAAE,GACH,EAAE,aAAa,qBA0mBf"}
1
+ {"version":3,"file":"tree-view.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tree-view.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sFAAsF;IACtF,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;IACrB,mGAAmG;IACnG,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IACrE,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8GAA8G;IAC9G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AA4BD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAEpD;AAaD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,SAAiB,EACjB,IAAI,EAAE,QAAQ,EACd,QAAQ,EACR,QAAQ,EAAE,YAAY,EACtB,QAAQ,EACR,QAAQ,EACR,aAAwB,EACxB,IAAW,EACX,mBAAmB,EACnB,UAAU,EACV,OAAe,EACf,eAAmB,EACnB,YAAY,EACZ,SAAS,EACT,KAAK,EACL,EAAE,GACH,EAAE,aAAa,qBAknBf"}
@@ -4,6 +4,7 @@ import * as React from "react";
4
4
  import { getCoreRowModel, getExpandedRowModel, useReactTable, } from "@tanstack/react-table";
5
5
  import { useVirtualizer } from "@tanstack/react-virtual";
6
6
  import { ChevronRight } from "../../icons/lucide.js";
7
+ import { useC4Dictionary } from "../../lib/i18n/context.js";
7
8
  import { cn } from "../../lib/utils.js";
8
9
  import { Checkbox } from "./checkbox.js";
9
10
  import { Text, typographyVariants } from "./typography.js";
@@ -40,8 +41,9 @@ const ROW_HEIGHT = {
40
41
  };
41
42
  const isEnabledRow = (row) => !row.original.disabled;
42
43
  // ── TreeView ──────────────────────────────────────────────────────────────
43
- export function TreeView({ label, hideLabel = false, data: dataProp, children, selected: selectedProp, onSelect, onToggle, selectionMode = "single", size = "sm", virtualizeThreshold, emptyState, loading = false, loadingRowCount = 8, className, style, id, }) {
44
+ export function TreeView({ label, hideLabel = false, data: dataProp, children, selected: selectedProp, onSelect, onToggle, selectionMode = "single", size = "sm", virtualizeThreshold, emptyState, loading = false, loadingRowCount = 8, loadingLabel, className, style, id, }) {
44
45
  const labelId = React.useId();
46
+ const { t } = useC4Dictionary();
45
47
  // Resolve data: `data` prop wins over JSX children
46
48
  const resolvedData = React.useMemo(() => {
47
49
  if (dataProp !== undefined)
@@ -383,7 +385,9 @@ export function TreeView({ label, hideLabel = false, data: dataProp, children, s
383
385
  if (node.disabled)
384
386
  return;
385
387
  handleSelect(node);
386
- }, onClick: (e) => e.stopPropagation(), "aria-label": `Select ${typeof node.label === "string" ? node.label : node.id}`, className: "shrink-0" })), node.renderIcon && (_jsx(node.renderIcon, { "aria-hidden": true, className: cn("shrink-0 text-neutral-foreground-subtle", size === "xs" ? "size-3" : "size-4") })), _jsx("span", { className: "min-w-0 truncate", children: node.label })] }, row.id));
388
+ }, onClick: (e) => e.stopPropagation(), "aria-label": t("treeView.selectNode", {
389
+ label: typeof node.label === "string" ? node.label : node.id,
390
+ }), className: "shrink-0" })), node.renderIcon && (_jsx(node.renderIcon, { "aria-hidden": true, className: cn("shrink-0 text-neutral-foreground-subtle", size === "xs" ? "size-3" : "size-4") })), _jsx("span", { className: "min-w-0 truncate", children: node.label })] }, row.id));
387
391
  }, [
388
392
  getCheckState,
389
393
  getSiblingInfo,
@@ -393,6 +397,7 @@ export function TreeView({ label, hideLabel = false, data: dataProp, children, s
393
397
  selected,
394
398
  selectionMode,
395
399
  size,
400
+ t,
396
401
  tabStopId,
397
402
  ]);
398
403
  // ── Render children group recursively using role="group" ──────────────
@@ -417,7 +422,7 @@ export function TreeView({ label, hideLabel = false, data: dataProp, children, s
417
422
  const topLevelRows = allRows.filter((r) => r.depth === 0);
418
423
  // ── Loading skeleton ──────────────────────────────────────────────────
419
424
  if (loading) {
420
- return (_jsxs("div", { "data-slot": "tree-view", id: id, className: cn("flex flex-col gap-0.5", className), style: style, children: [!hideLabel && (_jsx(Text, { as: "div", id: labelId, variant: "heading-xs", className: "mb-1", children: label })), _jsx("div", { role: "status", "aria-live": "polite", "aria-label": "Loading tree", children: Array.from({ length: loadingRowCount }).map((_, i) => (_jsxs("div", { className: cn("flex items-center gap-2 rounded-sm px-2", size === "xs" ? "h-6" : "h-8"), children: [_jsx("div", { className: "h-3 w-3 animate-pulse rounded-sm bg-neutral-background-strong" }), _jsx("div", { className: "animate-pulse rounded bg-neutral-background-strong", style: { height: 12, width: `${40 + (i % 4) * 15}%` } })] }, i))) })] }));
425
+ return (_jsxs("div", { "data-slot": "tree-view", id: id, className: cn("flex flex-col gap-0.5", className), style: style, children: [!hideLabel && (_jsx(Text, { as: "div", id: labelId, variant: "heading-xs", className: "mb-1", children: label })), _jsx("div", { role: "status", "aria-live": "polite", "aria-label": loadingLabel ?? t("treeView.loading"), children: Array.from({ length: loadingRowCount }).map((_, i) => (_jsxs("div", { className: cn("flex items-center gap-2 rounded-sm px-2", size === "xs" ? "h-6" : "h-8"), children: [_jsx("div", { className: "h-3 w-3 animate-pulse rounded-sm bg-neutral-background-strong" }), _jsx("div", { className: "animate-pulse rounded bg-neutral-background-strong", style: { height: 12, width: `${40 + (i % 4) * 15}%` } })] }, i))) })] }));
421
426
  }
422
427
  // ── Empty state ───────────────────────────────────────────────────────
423
428
  const isEmpty = resolvedData.length === 0;
@@ -428,7 +433,7 @@ export function TreeView({ label, hideLabel = false, data: dataProp, children, s
428
433
  return (_jsxs("div", { "data-slot": "tree-view", id: id, className: cn("flex flex-col gap-0.5", className), style: style, children: [!hideLabel && (_jsx(Text, { as: "div", id: labelId, variant: "heading-xs", className: "mb-1", children: label })), isEmpty ? (
429
434
  // role="tree" must be empty (no non-treeitem children) to pass axe
430
435
  // aria-required-children. Render the visible empty state as a sibling.
431
- _jsxs(_Fragment, { children: [_jsx("div", { role: "tree", ...treeAriaProps }), _jsx("div", { className: cn("py-4 text-center", typographyVariants({ variant: "body-subtle" })), children: emptyState ?? "No items." })] })) : virtualize ? (
436
+ _jsxs(_Fragment, { children: [_jsx("div", { role: "tree", ...treeAriaProps }), _jsx("div", { className: cn("py-4 text-center", typographyVariants({ variant: "body-subtle" })), children: emptyState === undefined ? t("treeView.noItems") : emptyState })] })) : virtualize ? (
432
437
  // ── Virtualized path ──────────────────────────────────────────
433
438
  // ARIA tradeoff: useVirtualizer renders a flat absolute-positioned list.
434
439
  // role="group" wrappers (required by ARIA APG for nested treeitems) cannot