@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
package/dist/src/index.js CHANGED
@@ -19,6 +19,7 @@ export { NavBreadcrumb, NavBreadcrumbItem, NavBreadcrumbSwitcher, NavSwitcher, c
19
19
  export { NotificationBell, NotificationsPanel, } from "./components/ui/notifications.js";
20
20
  export { NavRowIcon } from "./components/ui/nav-icon.js";
21
21
  export { C4Provider } from "./components/ui/c4-provider.js";
22
+ export { defaultDictionary, useC4Dictionary, } from "./lib/i18n/context.js";
22
23
  export { Combobox, } from "./components/ui/combobox.js";
23
24
  export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "./components/ui/card.js";
24
25
  export { Checkbox } from "./components/ui/checkbox.js";
@@ -37,6 +38,7 @@ export { InlineEdit } from "./components/ui/inline-edit.js";
37
38
  export { MultiSelect, } from "./components/ui/multi-select.js";
38
39
  export { MultiStepDialog, MultiStepDialogStep, MultiStepDialogVisual, MultiStepDialogTitle, MultiStepDialogDescription, MultiStepDialogBody, } from "./components/ui/multi-step-dialog.js";
39
40
  export { Label } from "./components/ui/label.js";
41
+ export { FormErrorSummary, } from "./components/ui/form-error-summary.js";
40
42
  export { Calendar } from "./components/ui/calendar.js";
41
43
  export { CharacterCount, countCharacters, } from "./components/ui/character-count.js";
42
44
  export { DatePicker } from "./components/ui/date-picker.js";
@@ -73,6 +75,7 @@ export { TreeView, TreeNode } from "./components/ui/tree-view.js";
73
75
  export { UserMenu, } from "./components/ui/user-menu.js";
74
76
  export { useMediaQuery } from "./hooks/use-media-query.js";
75
77
  export { useIsMobile } from "./hooks/use-is-mobile.js";
78
+ export { useIsTruncated } from "./hooks/use-is-truncated.js";
76
79
  export { useTheme, useResolvedTheme, } from "./hooks/use-theme.js";
77
80
  export { cn } from "./lib/utils.js";
78
81
  export { withRef } from "./lib/with-ref.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,34 @@ export declare function composeCloseAutoFocus(handler?: (event: Event) => void,
62
62
  * whatever it focuses first (e.g. the close button).
63
63
  */
64
64
  export declare function composeOpenAutoFocus(handler: ((event: Event) => void) | undefined, defaultHandler: (event: Event) => void): (event: Event) => void;
65
+ /**
66
+ * Wraps a consumer `onOpenAutoFocus` so that, unless that handler already took
67
+ * over open focus with `preventDefault`, Radix's default target (the first
68
+ * tabbable element in DOM order) is replaced by `initialFocusRef.current`.
69
+ *
70
+ * Pass the result as the `handler` of {@link composeOpenAutoFocus}: the
71
+ * launcher capture still runs first, and because this calls `preventDefault`
72
+ * the `#400` focus-visible marker lands on the ref's element, so the ring
73
+ * shows even for a mouse-triggered open.
74
+ *
75
+ * A ref that resolves to nothing (element not mounted, conditionally
76
+ * rendered, or `disabled`) leaves Radix's default in place rather than
77
+ * dropping focus on `<body>` — the dialog always opens with focus inside it.
78
+ */
79
+ export declare function composeInitialFocus(handler: ((event: Event) => void) | undefined, initialFocusRef: React.RefObject<HTMLElement | null> | undefined): ((event: Event) => void) | undefined;
80
+ /**
81
+ * Moves a Radix overlay's open focus to `target` from inside an
82
+ * `onOpenAutoFocus` handler. Returns `false` — and leaves Radix's default
83
+ * untouched — when a prior handler already prevented the event, or when
84
+ * `target` is missing, detached or disabled, so focus never ends up on
85
+ * `<body>`. Prevents the event on success, which is what makes
86
+ * {@link composeOpenAutoFocus} stamp the focus-visible marker on `target`;
87
+ * pass `{ ring: false }` for a component-chosen default that should keep the
88
+ * browser's own `:focus-visible` heuristic instead.
89
+ */
90
+ export declare function takeOverOpenFocus(event: Event, target: HTMLElement | null | undefined, { ring }?: {
91
+ ring?: boolean;
92
+ }): boolean;
65
93
  /**
66
94
  * Default focus-RETURN for DS overlay `Content` components (issue #26413).
67
95
  *
@@ -1 +1 @@
1
- {"version":3,"file":"focus-visible-on-close.d.ts","sourceRoot":"","sources":["../../../src/lib/focus-visible-on-close.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAsCvE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAM1D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,cAAc,GAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAA8B,GAC/D,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAKxB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,EAC7C,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GACrC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAWxB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GACpD;IACD,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC1C,CA6BA"}
1
+ {"version":3,"file":"focus-visible-on-close.d.ts","sourceRoot":"","sources":["../../../src/lib/focus-visible-on-close.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAsCvE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAM1D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,cAAc,GAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAA8B,GAC/D,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAKxB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,EAC7C,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GACrC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAWxB;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,EAC7C,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,SAAS,GAC/D,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,CAMtC;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EACtC,EAAE,IAAW,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,OAAO,CAST;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GACpD;IACD,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC1C,CA6BA"}
@@ -110,7 +110,7 @@ export function composeOpenAutoFocus(handler, defaultHandler) {
110
110
  return (event) => {
111
111
  defaultHandler(event);
112
112
  handler?.(event);
113
- if (event.defaultPrevented) {
113
+ if (event.defaultPrevented && !silentOpenFocusEvents.has(event)) {
114
114
  scheduleFocusVisibleMarker(() => {
115
115
  const el = document.activeElement;
116
116
  return el instanceof HTMLElement && el !== document.body ? el : null;
@@ -118,6 +118,59 @@ export function composeOpenAutoFocus(handler, defaultHandler) {
118
118
  }
119
119
  };
120
120
  }
121
+ /**
122
+ * Open-focus events that a DS component redirected on its own initiative
123
+ * (not because a consumer asked for a specific element). Those keep the
124
+ * browser's `:focus-visible` heuristic, exactly like Radix's untouched
125
+ * default: a ring on a keyboard open, none on a mouse open. The forced
126
+ * marker stays reserved for an explicit consumer choice —
127
+ * `initialFocusRef` or a hand-written `onOpenAutoFocus` — where #400 applies.
128
+ */
129
+ const silentOpenFocusEvents = new WeakSet();
130
+ /**
131
+ * Wraps a consumer `onOpenAutoFocus` so that, unless that handler already took
132
+ * over open focus with `preventDefault`, Radix's default target (the first
133
+ * tabbable element in DOM order) is replaced by `initialFocusRef.current`.
134
+ *
135
+ * Pass the result as the `handler` of {@link composeOpenAutoFocus}: the
136
+ * launcher capture still runs first, and because this calls `preventDefault`
137
+ * the `#400` focus-visible marker lands on the ref's element, so the ring
138
+ * shows even for a mouse-triggered open.
139
+ *
140
+ * A ref that resolves to nothing (element not mounted, conditionally
141
+ * rendered, or `disabled`) leaves Radix's default in place rather than
142
+ * dropping focus on `<body>` — the dialog always opens with focus inside it.
143
+ */
144
+ export function composeInitialFocus(handler, initialFocusRef) {
145
+ if (initialFocusRef == null)
146
+ return handler;
147
+ return (event) => {
148
+ handler?.(event);
149
+ takeOverOpenFocus(event, initialFocusRef.current);
150
+ };
151
+ }
152
+ /**
153
+ * Moves a Radix overlay's open focus to `target` from inside an
154
+ * `onOpenAutoFocus` handler. Returns `false` — and leaves Radix's default
155
+ * untouched — when a prior handler already prevented the event, or when
156
+ * `target` is missing, detached or disabled, so focus never ends up on
157
+ * `<body>`. Prevents the event on success, which is what makes
158
+ * {@link composeOpenAutoFocus} stamp the focus-visible marker on `target`;
159
+ * pass `{ ring: false }` for a component-chosen default that should keep the
160
+ * browser's own `:focus-visible` heuristic instead.
161
+ */
162
+ export function takeOverOpenFocus(event, target, { ring = true } = {}) {
163
+ if (event.defaultPrevented)
164
+ return false;
165
+ if (target == null || !target.isConnected || target.matches(":disabled")) {
166
+ return false;
167
+ }
168
+ event.preventDefault();
169
+ if (!ring)
170
+ silentOpenFocusEvents.add(event);
171
+ target.focus();
172
+ return true;
173
+ }
121
174
  /**
122
175
  * Default focus-RETURN for DS overlay `Content` components (issue #26413).
123
176
  *
@@ -1 +1 @@
1
- {"version":3,"file":"focus-visible-on-close.js","sourceRoot":"","sources":["../../../src/lib/focus-visible-on-close.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-visible-on-close.js","sourceRoot":"","sources":["../../../src/lib/focus-visible-on-close.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import * as React from "react";
2
+ import { IntlMessageFormat as IntlMessageFormatReal } from "intl-messageformat";
3
+ import { type C4Dictionary } from "./dictionary.js";
4
+ export { defaultDictionary } from "./dictionary.js";
5
+ export type { C4Dictionary } from "./dictionary.js";
6
+ export interface C4DictionaryContextValue {
7
+ dictionary: C4Dictionary;
8
+ locale: string;
9
+ }
10
+ export declare const C4DictionaryContext: React.Context<C4DictionaryContextValue | undefined>;
11
+ /** Shallow-merge `own` over `inherited` (or the default dictionary if there is
12
+ * no inherited value yet, i.e. this is the root provider). An explicit
13
+ * `undefined` value in `own` is treated as key-absent, not as an override. */
14
+ export declare function resolveDictionary(inherited: C4Dictionary | undefined, own: Partial<C4Dictionary> | undefined): C4Dictionary;
15
+ /** Nearest explicit locale wins; otherwise inherit; otherwise "en". Never
16
+ * reads `navigator.language` — locale is either explicit or the English
17
+ * default, so server and client render identically (see plan Global
18
+ * Constraints). The result is always canonicalized (see
19
+ * `canonicalizeLocale`), so a malformed `own` or `inherited` value can never
20
+ * reach `IntlMessageFormat` via the context. `formatMessage` canonicalizes
21
+ * again independently (belt-and-suspenders for direct callers). */
22
+ export declare function resolveLocale(inherited: string | undefined, own: string | undefined): string;
23
+ /** Test-only hook so context.test.mjs can spy on construction count without
24
+ * a mocking framework. Never called from product code. */
25
+ export declare function __setMessageFormatCtorForTests(ctor: typeof IntlMessageFormatReal): void;
26
+ export declare function __resetFormatCache(): void;
27
+ /**
28
+ * Formats `pattern` (an ICU MessageFormat string) with `values`. If `pattern`
29
+ * fails to parse/format, retries with `fallbackPattern` (the English default)
30
+ * and logs a console.error identifying `key` (once per malformed
31
+ * locale/key/pattern triple — see `warnOnceIfMalformed`). If the fallback
32
+ * also fails — unreachable in practice, since defaults are authored in-repo
33
+ * and covered by this test file — returns the bare `key` and logs the same
34
+ * way.
35
+ */
36
+ export declare function formatMessage(locale: string, key: string, pattern: string, values: Record<string, string | number> | undefined, fallbackPattern?: string): string;
37
+ /**
38
+ * The `t` function `useC4Dictionary()` returns. Exported so code outside a
39
+ * component's render — a plain helper function that needs to format a
40
+ * dictionary-backed string but can't call the hook itself — can accept one
41
+ * as an explicit parameter instead (see `nav-breadcrumb.tsx`'s
42
+ * `create*SwitcherDescriptor` factories for the pattern).
43
+ */
44
+ export type Translate = (key: keyof C4Dictionary, values?: Record<string, string | number>) => string;
45
+ export declare function useC4Dictionary(): {
46
+ t: Translate;
47
+ };
48
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/lib/i18n/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,YAAY,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,mBAAmB,qDAEpB,CAAC;AAEb;;8EAE8E;AAC9E,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,YAAY,GAAG,SAAS,EACnC,GAAG,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,GACrC,YAAY,CASd;AAkCD;;;;;;mEAMmE;AACnE,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,MAAM,CAER;AAID;0DAC0D;AAC1D,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,OAAO,qBAAqB,GACjC,IAAI,CAEN;AAUD,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC;AA+DD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,EACnD,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAsBR;AAED;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,GAAG,EAAE,MAAM,YAAY,EACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KACrC,MAAM,CAAC;AAEZ,wBAAgB,eAAe,IAAI;IACjC,CAAC,EAAE,SAAS,CAAC;CACd,CAgBA"}
@@ -0,0 +1,157 @@
1
+ import * as React from "react";
2
+ import { IntlMessageFormat as IntlMessageFormatReal } from "intl-messageformat";
3
+ import { defaultDictionary } from "./dictionary.js";
4
+ export { defaultDictionary } from "./dictionary.js";
5
+ export const C4DictionaryContext = React.createContext(undefined);
6
+ /** Shallow-merge `own` over `inherited` (or the default dictionary if there is
7
+ * no inherited value yet, i.e. this is the root provider). An explicit
8
+ * `undefined` value in `own` is treated as key-absent, not as an override. */
9
+ export function resolveDictionary(inherited, own) {
10
+ const base = inherited ?? defaultDictionary;
11
+ if (!own)
12
+ return base;
13
+ const merged = { ...base };
14
+ for (const key of Object.keys(own)) {
15
+ const value = own[key];
16
+ if (value !== undefined)
17
+ merged[key] = value;
18
+ }
19
+ return merged;
20
+ }
21
+ // Memoized so a persistently-malformed locale (e.g. a `C4Provider` mounted
22
+ // with `locale="en_US"`) warns once per distinct bad value instead of once
23
+ // per `resolveLocale` call (once per render) or, worse, once per
24
+ // `getOrCreateFormatter` call (once per formatted key).
25
+ const canonicalLocaleCache = new Map();
26
+ /** Validates/canonicalizes a locale string via `Intl.getCanonicalLocales`.
27
+ * `IntlMessageFormat`'s constructor throws a `RangeError` on a non-BCP-47
28
+ * locale (e.g. `"en_US"` — the default format Java/Spring, Rails, and
29
+ * Django backends emit) and, uncaught, that would break formatting for
30
+ * every dictionary-backed string in the tree. Malformed input falls back to
31
+ * `"en"` instead of propagating the error. */
32
+ function canonicalizeLocale(locale) {
33
+ const cached = canonicalLocaleCache.get(locale);
34
+ if (cached !== undefined)
35
+ return cached;
36
+ let canonical;
37
+ try {
38
+ const [result] = Intl.getCanonicalLocales(locale);
39
+ if (!result)
40
+ throw new RangeError("empty locale");
41
+ canonical = result;
42
+ }
43
+ catch (error) {
44
+ if (process.env.NODE_ENV !== "production") {
45
+ console.warn(`[C4Dictionary] invalid locale "${locale}" (expected BCP-47, e.g. "en", "en-US", "de-DE" — not underscore-separated). Falling back to "en". ${String(error)}`);
46
+ }
47
+ canonical = "en";
48
+ }
49
+ canonicalLocaleCache.set(locale, canonical);
50
+ return canonical;
51
+ }
52
+ /** Nearest explicit locale wins; otherwise inherit; otherwise "en". Never
53
+ * reads `navigator.language` — locale is either explicit or the English
54
+ * default, so server and client render identically (see plan Global
55
+ * Constraints). The result is always canonicalized (see
56
+ * `canonicalizeLocale`), so a malformed `own` or `inherited` value can never
57
+ * reach `IntlMessageFormat` via the context. `formatMessage` canonicalizes
58
+ * again independently (belt-and-suspenders for direct callers). */
59
+ export function resolveLocale(inherited, own) {
60
+ return canonicalizeLocale(own ?? inherited ?? "en");
61
+ }
62
+ let MessageFormatCtor = IntlMessageFormatReal;
63
+ /** Test-only hook so context.test.mjs can spy on construction count without
64
+ * a mocking framework. Never called from product code. */
65
+ export function __setMessageFormatCtorForTests(ctor) {
66
+ MessageFormatCtor = ctor;
67
+ }
68
+ // Keyed by locale -> key -> pattern rather than a single delimited string:
69
+ // locale, key, and pattern are all free-form strings, so no delimiter could
70
+ // be guaranteed collision-free against arbitrary pattern content.
71
+ const formatCache = new Map();
72
+ export function __resetFormatCache() {
73
+ formatCache.clear();
74
+ canonicalLocaleCache.clear();
75
+ malformedPatternCache.clear();
76
+ }
77
+ function getOrCreateFormatter(locale, key, pattern) {
78
+ // Canonicalize here too (not just in `resolveLocale`): this is the one
79
+ // place `MessageFormatCtor` is actually constructed, so it's the tightest
80
+ // spot to guarantee a malformed locale can never reach it, regardless of
81
+ // caller. Keying the cache by the canonical form also means distinct
82
+ // malformed inputs that fall back to the same locale (e.g. "en_US" and
83
+ // "" both -> "en") share one cache entry instead of fragmenting it.
84
+ const canonicalLocale = canonicalizeLocale(locale);
85
+ let byKey = formatCache.get(canonicalLocale);
86
+ if (!byKey) {
87
+ byKey = new Map();
88
+ formatCache.set(canonicalLocale, byKey);
89
+ }
90
+ let byPattern = byKey.get(key);
91
+ if (!byPattern) {
92
+ byPattern = new Map();
93
+ byKey.set(key, byPattern);
94
+ }
95
+ let formatter = byPattern.get(pattern);
96
+ if (!formatter) {
97
+ formatter = new MessageFormatCtor(pattern, canonicalLocale);
98
+ byPattern.set(pattern, formatter);
99
+ }
100
+ return formatter;
101
+ }
102
+ // Tracks (locale, key, pattern) triples already logged as malformed. A
103
+ // persistently-malformed pattern re-parses and re-throws on every call (there
104
+ // is no successful formatter to cache), which without this would re-log on
105
+ // every single render — an unbounded flood, not a one-time signal. Logging
106
+ // is skipped once a triple is known-bad; the fallback formatting itself still
107
+ // runs every time.
108
+ const malformedPatternCache = new Map();
109
+ function warnOnceIfMalformed(locale, key, pattern, message) {
110
+ let byKey = malformedPatternCache.get(locale);
111
+ if (!byKey) {
112
+ byKey = new Map();
113
+ malformedPatternCache.set(locale, byKey);
114
+ }
115
+ let patterns = byKey.get(key);
116
+ if (!patterns) {
117
+ patterns = new Set();
118
+ byKey.set(key, patterns);
119
+ }
120
+ if (patterns.has(pattern))
121
+ return;
122
+ patterns.add(pattern);
123
+ if (process.env.NODE_ENV !== "production") {
124
+ console.error(message);
125
+ }
126
+ }
127
+ /**
128
+ * Formats `pattern` (an ICU MessageFormat string) with `values`. If `pattern`
129
+ * fails to parse/format, retries with `fallbackPattern` (the English default)
130
+ * and logs a console.error identifying `key` (once per malformed
131
+ * locale/key/pattern triple — see `warnOnceIfMalformed`). If the fallback
132
+ * also fails — unreachable in practice, since defaults are authored in-repo
133
+ * and covered by this test file — returns the bare `key` and logs the same
134
+ * way.
135
+ */
136
+ export function formatMessage(locale, key, pattern, values, fallbackPattern) {
137
+ try {
138
+ const formatter = getOrCreateFormatter(locale, key, pattern);
139
+ return String(formatter.format(values));
140
+ }
141
+ catch (error) {
142
+ if (fallbackPattern !== undefined && fallbackPattern !== pattern) {
143
+ warnOnceIfMalformed(locale, key, pattern, `[C4Dictionary] malformed pattern for key "${key}": ${String(error)}. Falling back to the default pattern.`);
144
+ return formatMessage(locale, key, fallbackPattern, values);
145
+ }
146
+ warnOnceIfMalformed(locale, key, pattern, `[C4Dictionary] default pattern for key "${key}" also failed to format: ${String(error)}. Returning the bare key.`);
147
+ return key;
148
+ }
149
+ }
150
+ export function useC4Dictionary() {
151
+ const ctx = React.useContext(C4DictionaryContext);
152
+ const dictionary = ctx?.dictionary ?? defaultDictionary;
153
+ const locale = ctx?.locale ?? "en";
154
+ const t = React.useCallback((key, values) => formatMessage(locale, key, dictionary[key], values, defaultDictionary[key]), [dictionary, locale]);
155
+ return { t };
156
+ }
157
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/lib/i18n/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Flat, dot-namespaced dictionary of every user-facing string the DS renders.
3
+ * Values are ICU MessageFormat patterns — for static labels the pattern is
4
+ * just the literal string; only a handful of keys use plural/interpolation
5
+ * grammar (marked below).
6
+ */
7
+ export interface C4Dictionary {
8
+ "dateRangePicker.clearRange": string;
9
+ "dateRangePicker.pickEndDate": string;
10
+ "dateRangePicker.pickDateRange": string;
11
+ "datePicker.pickDate": string;
12
+ "dataTable.batchActions": string;
13
+ "dataTable.selectAllRows": string;
14
+ "dataTable.rowActions": string;
15
+ "dataTable.rowsPerPage": string;
16
+ "dataTable.batchActionsCancel": string;
17
+ "dataTable.noResults": string;
18
+ "dataTable.selectRow": string;
19
+ "dataTable.collapseRow": string;
20
+ "dataTable.expandRow": string;
21
+ "dataTable.selectedCount": string;
22
+ "dataTable.pageOf": string;
23
+ "dataTable.previousPage": string;
24
+ "dataTable.nextPage": string;
25
+ "card.moreInformation": string;
26
+ "treeView.loading": string;
27
+ "treeView.selectNode": string;
28
+ "treeView.noItems": string;
29
+ "alert.dismiss": string;
30
+ "appSidebar.resize": string;
31
+ "appSidebar.closeNavigation": string;
32
+ "appSidebar.expand": string;
33
+ "appSidebar.collapse": string;
34
+ "appSidebar.back": string;
35
+ "appSidebar.resizeValueText": string;
36
+ "appSidebar.collapseText": string;
37
+ "breadcrumb.nav": string;
38
+ "breadcrumb.more": string;
39
+ "sheet.close": string;
40
+ "dialog.close": string;
41
+ "dialog.closeButton": string;
42
+ "notifications.label": string;
43
+ "notifications.panelTitle": string;
44
+ "notifications.unreadPrefix": string;
45
+ "notifications.empty": string;
46
+ "notifications.triggerLabel": string;
47
+ "notifications.unreadCount": string;
48
+ "notifications.totalCount": string;
49
+ "notifications.dismissAll": string;
50
+ "notifications.dismissItem": string;
51
+ "inlineEdit.confirm": string;
52
+ "scorecard.empty": string;
53
+ "scorecard.loading": string;
54
+ "scorecard.loadingFallback": string;
55
+ "searchInput.clear": string;
56
+ "chart.empty": string;
57
+ "meter.empty": string;
58
+ "meter.peakTarget": string;
59
+ "navBreadcrumb.contextNav": string;
60
+ "navBreadcrumb.switchContext": string;
61
+ "navBreadcrumb.actionsLabel": string;
62
+ "navBreadcrumb.actionsLabelFallback": string;
63
+ "navBreadcrumb.switchOrganization": string;
64
+ "navBreadcrumb.organizations": string;
65
+ "navBreadcrumb.switchCluster": string;
66
+ "navBreadcrumb.clusters": string;
67
+ "navBreadcrumb.switchApp": string;
68
+ "navBreadcrumb.apps": string;
69
+ "navBreadcrumb.hiddenLevels": string;
70
+ "multiStepDialog.back": string;
71
+ "multiStepDialog.next": string;
72
+ "multiStepDialog.complete": string;
73
+ "multiStepDialog.stepsIndicator": string;
74
+ "multiStepDialog.stepOf": string;
75
+ "multiStepDialog.goToStep": string;
76
+ "codeBlock.copy": string;
77
+ "codeBlock.copied": string;
78
+ "codeBlock.copyFailed": string;
79
+ "codeBlock.showMore": string;
80
+ "codeBlock.showLess": string;
81
+ "fileUploader.browse": string;
82
+ "fileUploader.dropZoneLabel": string;
83
+ "fileUploader.fileRemoved": string;
84
+ "fileUploader.removeFile": string;
85
+ "fileUploader.maxFilesReached": string;
86
+ "splitButton.moreOptions": string;
87
+ "appHeader.skipToContent": string;
88
+ "combobox.search": string;
89
+ "combobox.selectOption": string;
90
+ "multiSelect.selectOptions": string;
91
+ "multiSelect.search": string;
92
+ "multiSelect.noResultsFound": string;
93
+ "multiSelect.selectAll": string;
94
+ "multiSelect.clearAll": string;
95
+ "multiSelect.removeOption": string;
96
+ "multiSelect.overflowCount": string;
97
+ "multiSelect.removeOverflow": string;
98
+ "sidebarProvider.closeNavigation": string;
99
+ "sidebarProvider.openNavigation": string;
100
+ "userMenu.trigger": string;
101
+ "userMenu.logout": string;
102
+ "toast.dismiss": string;
103
+ "carbonCompat.search.clear": string;
104
+ "carbonCompat.accordionSkeleton.loading": string;
105
+ "carbonCompat.dataTable.noResults": string;
106
+ "carbonCompat.tableToolbar.search": string;
107
+ "carbonCompat.tableExpand.collapseRow": string;
108
+ "carbonCompat.tableExpand.expandRow": string;
109
+ "carbonCompat.tableBatchActions.selectedCount": string;
110
+ "carbonCompat.tableBatchActions.cancel": string;
111
+ "carbonCompat.tableSelect.selectAllRows": string;
112
+ "carbonCompat.tableSelect.selectRow": string;
113
+ "carbonCompat.codeSnippet.copy": string;
114
+ "carbonCompat.codeSnippet.copied": string;
115
+ "carbonCompat.modal.confirmAction": string;
116
+ "carbonCompat.errorBoundary.title": string;
117
+ "carbonCompat.errorBoundary.description": string;
118
+ "overflowStrip.previous": string;
119
+ "overflowStrip.next": string;
120
+ "formErrorSummary.title": string;
121
+ }
122
+ export declare const defaultDictionary: Readonly<C4Dictionary>;
123
+ type KeysStartingWith<Prefix extends string> = Extract<keyof C4Dictionary, `${Prefix}.${string}`>;
124
+ export type DateRangePickerDictionaryKeys = KeysStartingWith<"dateRangePicker">;
125
+ export type DataTableDictionaryKeys = KeysStartingWith<"dataTable">;
126
+ export type CardDictionaryKeys = KeysStartingWith<"card">;
127
+ export type TreeViewDictionaryKeys = KeysStartingWith<"treeView">;
128
+ export type AlertDictionaryKeys = KeysStartingWith<"alert">;
129
+ export type AppSidebarDictionaryKeys = KeysStartingWith<"appSidebar">;
130
+ export type BreadcrumbDictionaryKeys = KeysStartingWith<"breadcrumb">;
131
+ export type SheetDictionaryKeys = KeysStartingWith<"sheet">;
132
+ export type DialogDictionaryKeys = KeysStartingWith<"dialog">;
133
+ export type NotificationsDictionaryKeys = KeysStartingWith<"notifications">;
134
+ export type InlineEditDictionaryKeys = KeysStartingWith<"inlineEdit">;
135
+ export type ScorecardDictionaryKeys = KeysStartingWith<"scorecard">;
136
+ export type SearchInputDictionaryKeys = KeysStartingWith<"searchInput">;
137
+ export type ChartDictionaryKeys = KeysStartingWith<"chart">;
138
+ export type MeterDictionaryKeys = KeysStartingWith<"meter">;
139
+ export type NavBreadcrumbDictionaryKeys = KeysStartingWith<"navBreadcrumb">;
140
+ export type MultiStepDialogDictionaryKeys = KeysStartingWith<"multiStepDialog">;
141
+ export type CodeBlockDictionaryKeys = KeysStartingWith<"codeBlock">;
142
+ export type FileUploaderDictionaryKeys = KeysStartingWith<"fileUploader">;
143
+ export type SplitButtonDictionaryKeys = KeysStartingWith<"splitButton">;
144
+ export type AppHeaderDictionaryKeys = KeysStartingWith<"appHeader">;
145
+ export type DatePickerDictionaryKeys = KeysStartingWith<"datePicker">;
146
+ export type ComboboxDictionaryKeys = KeysStartingWith<"combobox">;
147
+ export type MultiSelectDictionaryKeys = KeysStartingWith<"multiSelect">;
148
+ export type SidebarProviderDictionaryKeys = KeysStartingWith<"sidebarProvider">;
149
+ export type UserMenuDictionaryKeys = KeysStartingWith<"userMenu">;
150
+ export {};
151
+ //# sourceMappingURL=dictionary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../../../src/lib/i18n/dictionary.ts"],"names":[],"mappings":"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"}