@cerberus-design/react 0.13.2 → 0.14.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 (224) hide show
  1. package/build/legacy/_tsup-dts-rollup.d.cts +607 -129
  2. package/build/legacy/components/Accordion.cjs +101 -0
  3. package/build/legacy/components/Accordion.cjs.map +1 -0
  4. package/build/legacy/components/AccordionItemGroup.cjs +119 -0
  5. package/build/legacy/components/AccordionItemGroup.cjs.map +1 -0
  6. package/build/legacy/components/Admonition.cjs +3 -0
  7. package/build/legacy/components/Admonition.cjs.map +1 -1
  8. package/build/legacy/components/Avatar.cjs +3 -0
  9. package/build/legacy/components/Avatar.cjs.map +1 -1
  10. package/build/legacy/components/Checkbox.cjs +3 -0
  11. package/build/legacy/components/Checkbox.cjs.map +1 -1
  12. package/build/legacy/components/DatePicker.client.cjs +497 -0
  13. package/build/legacy/components/DatePicker.client.cjs.map +1 -0
  14. package/build/legacy/components/DatePicker.server.cjs +364 -0
  15. package/build/legacy/components/DatePicker.server.cjs.map +1 -0
  16. package/build/legacy/components/FileStatus.cjs +3 -0
  17. package/build/legacy/components/FileStatus.cjs.map +1 -1
  18. package/build/legacy/components/FileUploader.cjs +3 -0
  19. package/build/legacy/components/FileUploader.cjs.map +1 -1
  20. package/build/legacy/components/Input.cjs +3 -0
  21. package/build/legacy/components/Input.cjs.map +1 -1
  22. package/build/legacy/components/Notification.cjs +3 -0
  23. package/build/legacy/components/Notification.cjs.map +1 -1
  24. package/build/legacy/components/NotificationDescription.cjs.map +1 -1
  25. package/build/legacy/components/NotificationHeading.cjs.map +1 -1
  26. package/build/legacy/components/ProgressBar.cjs.map +1 -1
  27. package/build/legacy/components/Select.cjs +3 -0
  28. package/build/legacy/components/Select.cjs.map +1 -1
  29. package/build/legacy/components/Tabs.client.cjs +104 -0
  30. package/build/legacy/components/Tabs.client.cjs.map +1 -0
  31. package/build/legacy/components/Tag.cjs +3 -0
  32. package/build/legacy/components/Tag.cjs.map +1 -1
  33. package/build/legacy/components/Text.cjs +59 -0
  34. package/build/legacy/components/Text.cjs.map +1 -0
  35. package/build/legacy/components/Toggle.cjs +3 -0
  36. package/build/legacy/components/Toggle.cjs.map +1 -1
  37. package/build/legacy/components/Tooltip.cjs +2 -2
  38. package/build/legacy/components/Tooltip.cjs.map +1 -1
  39. package/build/legacy/config/cerbIcons.cjs +3 -0
  40. package/build/legacy/config/cerbIcons.cjs.map +1 -1
  41. package/build/legacy/config/defineIcons.cjs +3 -0
  42. package/build/legacy/config/defineIcons.cjs.map +1 -1
  43. package/build/legacy/config/icons/checkbox.icons.cjs.map +1 -1
  44. package/build/legacy/context/confirm-modal.cjs +3 -0
  45. package/build/legacy/context/confirm-modal.cjs.map +1 -1
  46. package/build/legacy/context/cta-modal.cjs +5 -3
  47. package/build/legacy/context/cta-modal.cjs.map +1 -1
  48. package/build/legacy/context/notification-center.cjs +3 -0
  49. package/build/legacy/context/notification-center.cjs.map +1 -1
  50. package/build/legacy/context/prompt-modal.cjs +3 -0
  51. package/build/legacy/context/prompt-modal.cjs.map +1 -1
  52. package/build/legacy/context/tabs.cjs +53 -24
  53. package/build/legacy/context/tabs.cjs.map +1 -1
  54. package/build/legacy/hooks/useDate.cjs +8 -0
  55. package/build/legacy/hooks/useDate.cjs.map +1 -1
  56. package/build/legacy/index.cjs +1083 -711
  57. package/build/legacy/index.cjs.map +1 -1
  58. package/build/legacy/utils/index.cjs +21 -2
  59. package/build/legacy/utils/index.cjs.map +1 -1
  60. package/build/legacy/utils/localStorage.cjs +44 -0
  61. package/build/legacy/utils/localStorage.cjs.map +1 -0
  62. package/build/modern/_tsup-dts-rollup.d.ts +607 -129
  63. package/build/modern/chunk-2ZNIYPDV.js +47 -0
  64. package/build/modern/chunk-2ZNIYPDV.js.map +1 -0
  65. package/build/modern/chunk-34E3UFFB.js +75 -0
  66. package/build/modern/chunk-34E3UFFB.js.map +1 -0
  67. package/build/modern/{chunk-CZND26FC.js → chunk-3BM6MZ4A.js} +8 -1
  68. package/build/modern/{chunk-CZND26FC.js.map → chunk-3BM6MZ4A.js.map} +1 -1
  69. package/build/modern/{chunk-N4QTLDVM.js → chunk-4IMOKN2D.js} +3 -3
  70. package/build/modern/{chunk-F27AAKQ3.js → chunk-5KHU6MM5.js} +8 -2
  71. package/build/modern/chunk-5KHU6MM5.js.map +1 -0
  72. package/build/modern/{chunk-WFJWCZ7E.js → chunk-77B4HFKT.js} +13 -14
  73. package/build/modern/chunk-77B4HFKT.js.map +1 -0
  74. package/build/modern/{chunk-FBSESDWJ.js → chunk-BHSYQCDV.js} +16 -16
  75. package/build/modern/chunk-BHSYQCDV.js.map +1 -0
  76. package/build/modern/{chunk-SPZYPRZ6.js → chunk-BU5JK37R.js} +2 -2
  77. package/build/modern/{chunk-UTGEFJ3L.js → chunk-C5EHJUS5.js} +1 -1
  78. package/build/modern/{chunk-UTGEFJ3L.js.map → chunk-C5EHJUS5.js.map} +1 -1
  79. package/build/modern/{chunk-VERRHMW4.js → chunk-DDOTCGGA.js} +2 -2
  80. package/build/modern/{chunk-CP7OUC2Q.js → chunk-E3PAEB7Y.js} +1 -1
  81. package/build/modern/chunk-E3PAEB7Y.js.map +1 -0
  82. package/build/modern/{chunk-F72ZABKX.js → chunk-F4LTOZAN.js} +2 -2
  83. package/build/modern/{chunk-NKM6PISB.js → chunk-F7EWTOML.js} +2 -2
  84. package/build/modern/chunk-F7XWOSN3.js +39 -0
  85. package/build/modern/chunk-F7XWOSN3.js.map +1 -0
  86. package/build/modern/chunk-FQLMPEYX.js +18 -0
  87. package/build/modern/chunk-FQLMPEYX.js.map +1 -0
  88. package/build/modern/{chunk-7MM5KYEX.js → chunk-GI6CSUU4.js} +7 -7
  89. package/build/modern/{chunk-7SGPJM66.js → chunk-HP4ZN473.js} +2 -2
  90. package/build/modern/chunk-HP4ZN473.js.map +1 -0
  91. package/build/modern/chunk-IP5VFOPZ.js +132 -0
  92. package/build/modern/chunk-IP5VFOPZ.js.map +1 -0
  93. package/build/modern/{chunk-KML4CTMK.js → chunk-LPALHB6R.js} +3 -3
  94. package/build/modern/chunk-LPALHB6R.js.map +1 -0
  95. package/build/modern/{chunk-3XGLNXJJ.js → chunk-M73ECA25.js} +8 -8
  96. package/build/modern/chunk-M73ECA25.js.map +1 -0
  97. package/build/modern/chunk-N7O6D7BW.js +63 -0
  98. package/build/modern/chunk-N7O6D7BW.js.map +1 -0
  99. package/build/modern/{chunk-W4DXACNV.js → chunk-O7QVCF3H.js} +3 -3
  100. package/build/modern/chunk-RIZGWERR.js +161 -0
  101. package/build/modern/chunk-RIZGWERR.js.map +1 -0
  102. package/build/modern/chunk-RZ7NG77U.js +77 -0
  103. package/build/modern/chunk-RZ7NG77U.js.map +1 -0
  104. package/build/modern/{chunk-XL4JREDT.js → chunk-S25RHYZV.js} +2 -2
  105. package/build/modern/{chunk-SXIXDXG3.js → chunk-SLHYBPJ5.js} +1 -1
  106. package/build/modern/chunk-SLHYBPJ5.js.map +1 -0
  107. package/build/modern/{chunk-GRUXP3NG.js → chunk-T6U7AKKP.js} +10 -10
  108. package/build/modern/chunk-T6U7AKKP.js.map +1 -0
  109. package/build/modern/{chunk-XEW6TJJ4.js → chunk-UXY3KCC3.js} +1 -1
  110. package/build/modern/chunk-UXY3KCC3.js.map +1 -0
  111. package/build/modern/{chunk-NB6DV4VA.js → chunk-W2LSPRQ3.js} +2 -2
  112. package/build/modern/{chunk-KCANMM64.js → chunk-WZJ5UQNM.js} +1 -1
  113. package/build/modern/chunk-WZJ5UQNM.js.map +1 -0
  114. package/build/modern/{chunk-NMNONSHU.js → chunk-XVU2NQCW.js} +2 -2
  115. package/build/modern/components/Accordion.js +15 -0
  116. package/build/modern/components/AccordionItemGroup.js +9 -0
  117. package/build/modern/components/Admonition.js +5 -5
  118. package/build/modern/components/Avatar.js +4 -4
  119. package/build/modern/components/Checkbox.js +4 -4
  120. package/build/modern/components/DatePicker.client.js +31 -0
  121. package/build/modern/components/DatePicker.server.js +31 -0
  122. package/build/modern/components/FileStatus.js +7 -7
  123. package/build/modern/components/FileUploader.js +5 -5
  124. package/build/modern/components/Input.js +4 -4
  125. package/build/modern/components/Notification.js +4 -4
  126. package/build/modern/components/NotificationDescription.js +1 -1
  127. package/build/modern/components/NotificationHeading.js +1 -1
  128. package/build/modern/components/ProgressBar.js +1 -1
  129. package/build/modern/components/Select.js +4 -4
  130. package/build/modern/components/Tabs.client.js +18 -0
  131. package/build/modern/components/Tabs.client.js.map +1 -0
  132. package/build/modern/components/Tag.js +4 -4
  133. package/build/modern/components/Text.js +7 -0
  134. package/build/modern/components/Text.js.map +1 -0
  135. package/build/modern/components/Toggle.js +4 -4
  136. package/build/modern/components/Tooltip.js +1 -1
  137. package/build/modern/config/cerbIcons.js +2 -2
  138. package/build/modern/config/defineIcons.js +3 -3
  139. package/build/modern/config/icons/checkbox.icons.js +1 -1
  140. package/build/modern/context/confirm-modal.js +8 -8
  141. package/build/modern/context/cta-modal.js +8 -8
  142. package/build/modern/context/notification-center.js +7 -7
  143. package/build/modern/context/prompt-modal.js +11 -11
  144. package/build/modern/context/tabs.js +2 -1
  145. package/build/modern/hooks/useDate.js +3 -1
  146. package/build/modern/index.js +158 -94
  147. package/build/modern/index.js.map +1 -1
  148. package/build/modern/utils/index.js +8 -2
  149. package/build/modern/utils/localStorage.js +10 -0
  150. package/build/modern/utils/localStorage.js.map +1 -0
  151. package/package.json +2 -2
  152. package/src/components/Accordion.tsx +160 -0
  153. package/src/components/AccordionItemGroup.tsx +79 -0
  154. package/src/components/DatePicker.client.tsx +365 -0
  155. package/src/components/DatePicker.server.tsx +229 -0
  156. package/src/components/Notification.tsx +6 -3
  157. package/src/components/NotificationDescription.tsx +2 -2
  158. package/src/components/NotificationHeading.tsx +1 -2
  159. package/src/components/ProgressBar.tsx +1 -1
  160. package/src/components/Tabs.client.tsx +113 -0
  161. package/src/components/Text.tsx +70 -0
  162. package/src/components/Tooltip.tsx +2 -2
  163. package/src/config/cerbIcons.ts +9 -0
  164. package/src/config/icons/checkbox.icons.tsx +2 -2
  165. package/src/context/confirm-modal.tsx +1 -1
  166. package/src/context/cta-modal.tsx +6 -7
  167. package/src/context/notification-center.tsx +1 -1
  168. package/src/context/prompt-modal.tsx +1 -1
  169. package/src/context/tabs.tsx +66 -65
  170. package/src/hooks/useDate.ts +12 -0
  171. package/src/index.ts +6 -4
  172. package/src/utils/index.ts +2 -0
  173. package/src/utils/localStorage.ts +28 -0
  174. package/build/legacy/aria-helpers/tabs.aria.cjs +0 -100
  175. package/build/legacy/aria-helpers/tabs.aria.cjs.map +0 -1
  176. package/build/legacy/components/Tab.cjs +0 -135
  177. package/build/legacy/components/Tab.cjs.map +0 -1
  178. package/build/legacy/components/TabList.cjs +0 -69
  179. package/build/legacy/components/TabList.cjs.map +0 -1
  180. package/build/legacy/components/TabPanel.cjs +0 -76
  181. package/build/legacy/components/TabPanel.cjs.map +0 -1
  182. package/build/modern/aria-helpers/tabs.aria.js +0 -9
  183. package/build/modern/chunk-3XGLNXJJ.js.map +0 -1
  184. package/build/modern/chunk-7SGPJM66.js.map +0 -1
  185. package/build/modern/chunk-AYIRV5CL.js +0 -32
  186. package/build/modern/chunk-AYIRV5CL.js.map +0 -1
  187. package/build/modern/chunk-CP7OUC2Q.js.map +0 -1
  188. package/build/modern/chunk-F27AAKQ3.js.map +0 -1
  189. package/build/modern/chunk-FBSESDWJ.js.map +0 -1
  190. package/build/modern/chunk-GRUXP3NG.js.map +0 -1
  191. package/build/modern/chunk-ITOIXNJS.js +0 -64
  192. package/build/modern/chunk-ITOIXNJS.js.map +0 -1
  193. package/build/modern/chunk-KCANMM64.js.map +0 -1
  194. package/build/modern/chunk-KML4CTMK.js.map +0 -1
  195. package/build/modern/chunk-RIFQSCHT.js +0 -58
  196. package/build/modern/chunk-RIFQSCHT.js.map +0 -1
  197. package/build/modern/chunk-SLF6SIPB.js +0 -46
  198. package/build/modern/chunk-SLF6SIPB.js.map +0 -1
  199. package/build/modern/chunk-SXIXDXG3.js.map +0 -1
  200. package/build/modern/chunk-UKPF7JOB.js +0 -33
  201. package/build/modern/chunk-UKPF7JOB.js.map +0 -1
  202. package/build/modern/chunk-WFJWCZ7E.js.map +0 -1
  203. package/build/modern/chunk-XEW6TJJ4.js.map +0 -1
  204. package/build/modern/components/Tab.js +0 -10
  205. package/build/modern/components/TabList.js +0 -9
  206. package/build/modern/components/TabPanel.js +0 -10
  207. package/src/aria-helpers/tabs.aria.ts +0 -70
  208. package/src/components/Tab.tsx +0 -68
  209. package/src/components/TabList.tsx +0 -51
  210. package/src/components/TabPanel.tsx +0 -49
  211. /package/build/modern/{chunk-N4QTLDVM.js.map → chunk-4IMOKN2D.js.map} +0 -0
  212. /package/build/modern/{chunk-SPZYPRZ6.js.map → chunk-BU5JK37R.js.map} +0 -0
  213. /package/build/modern/{chunk-VERRHMW4.js.map → chunk-DDOTCGGA.js.map} +0 -0
  214. /package/build/modern/{chunk-F72ZABKX.js.map → chunk-F4LTOZAN.js.map} +0 -0
  215. /package/build/modern/{chunk-NKM6PISB.js.map → chunk-F7EWTOML.js.map} +0 -0
  216. /package/build/modern/{chunk-7MM5KYEX.js.map → chunk-GI6CSUU4.js.map} +0 -0
  217. /package/build/modern/{chunk-W4DXACNV.js.map → chunk-O7QVCF3H.js.map} +0 -0
  218. /package/build/modern/{chunk-XL4JREDT.js.map → chunk-S25RHYZV.js.map} +0 -0
  219. /package/build/modern/{chunk-NB6DV4VA.js.map → chunk-W2LSPRQ3.js.map} +0 -0
  220. /package/build/modern/{chunk-NMNONSHU.js.map → chunk-XVU2NQCW.js.map} +0 -0
  221. /package/build/modern/{aria-helpers/tabs.aria.js.map → components/Accordion.js.map} +0 -0
  222. /package/build/modern/components/{Tab.js.map → AccordionItemGroup.js.map} +0 -0
  223. /package/build/modern/components/{TabList.js.map → DatePicker.client.js.map} +0 -0
  224. /package/build/modern/components/{TabPanel.js.map → DatePicker.server.js.map} +0 -0
@@ -22,6 +22,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
22
22
  var src_exports = {};
23
23
  __export(src_exports, {
24
24
  $cerberusIcons: () => $cerberusIcons,
25
+ Accordion: () => Accordion,
26
+ AccordionItem: () => AccordionItem,
27
+ AccordionItemContent: () => AccordionItemContent,
28
+ AccordionItemGroup: () => AccordionItemGroup,
29
+ AccordionItemIndicator: () => AccordionItemIndicator,
30
+ AccordionItemTrigger: () => AccordionItemTrigger,
25
31
  Admonition: () => Admonition,
26
32
  AdmonitionDescription: () => AdmonitionDescription,
27
33
  AdmonitionHeading: () => AdmonitionHeading,
@@ -32,6 +38,23 @@ __export(src_exports, {
32
38
  CircularProgress: () => CircularProgress,
33
39
  ConfirmModal: () => ConfirmModal,
34
40
  DateFormats: () => DateFormats,
41
+ DatePicker: () => DatePicker,
42
+ DatePickerCalendar: () => DatePickerCalendar,
43
+ DatePickerContent: () => DatePickerContent,
44
+ DatePickerContext: () => DatePickerContext,
45
+ DatePickerDayView: () => DatePickerDayView,
46
+ DatePickerInput: () => DatePickerInput,
47
+ DatePickerLabel: () => DatePickerLabel,
48
+ DatePickerMonthView: () => DatePickerMonthView,
49
+ DatePickerTable: () => DatePickerTable,
50
+ DatePickerTableCell: () => DatePickerTableCell,
51
+ DatePickerTableCellTrigger: () => DatePickerTableCellTrigger,
52
+ DatePickerTableHeader: () => DatePickerTableHeader,
53
+ DatePickerTrigger: () => DatePickerTrigger,
54
+ DatePickerView: () => DatePickerView,
55
+ DatePickerViewControl: () => DatePickerViewControl,
56
+ DatePickerViewControlGroup: () => DatePickerViewControlGroup,
57
+ DatePickerYearView: () => DatePickerYearView,
35
58
  Droppable: () => Droppable,
36
59
  FeatureFlag: () => FeatureFlag,
37
60
  FeatureFlags: () => FeatureFlags,
@@ -70,19 +93,23 @@ __export(src_exports, {
70
93
  ProgressBar: () => ProgressBar,
71
94
  PromptModal: () => PromptModal,
72
95
  Radio: () => Radio,
96
+ RangePickerInput: () => RangePickerInput,
73
97
  Select: () => Select,
74
98
  Show: () => Show,
75
99
  Spinner: () => Spinner,
76
100
  THEME_KEY: () => THEME_KEY,
77
101
  Tab: () => Tab,
102
+ TabIndicator: () => TabIndicator,
78
103
  TabList: () => TabList,
79
104
  TabPanel: () => TabPanel,
80
105
  Table: () => Table,
81
106
  Tabs: () => Tabs,
82
107
  TabsContext: () => TabsContext,
108
+ TabsList: () => TabsList,
83
109
  Tag: () => Tag,
84
110
  Tbody: () => Tbody,
85
111
  Td: () => Td,
112
+ Text: () => Text,
86
113
  Textarea: () => Textarea,
87
114
  Th: () => Th,
88
115
  Thead: () => Thead,
@@ -92,11 +119,14 @@ __export(src_exports, {
92
119
  Tr: () => Tr,
93
120
  createNavTriggerProps: () => createNavTriggerProps,
94
121
  defineIcons: () => defineIcons,
122
+ formatISOToMilitary: () => formatISOToMilitary,
95
123
  formatMilitaryDate: () => formatMilitaryDate,
96
124
  formatMilitaryToISO: () => formatMilitaryToISO,
97
125
  formatNotifyCount: () => formatNotifyCount,
126
+ getLocalStorage: () => getLocalStorage,
98
127
  getPosition: () => getPosition,
99
128
  processStatus: () => processStatus,
129
+ setLocalStorage: () => setLocalStorage,
100
130
  trapFocus: () => trapFocus,
101
131
  useCTAModal: () => useCTAModal,
102
132
  useConfirmModal: () => useConfirmModal,
@@ -109,25 +139,125 @@ __export(src_exports, {
109
139
  usePromptModal: () => usePromptModal,
110
140
  useRootColors: () => useRootColors,
111
141
  useTabsContext: () => useTabsContext,
112
- useTabsKeyboardNavigation: () => useTabsKeyboardNavigation,
113
142
  useTheme: () => useTheme,
114
143
  useThemeContext: () => useThemeContext,
115
144
  useToggle: () => useToggle
116
145
  });
117
146
  module.exports = __toCommonJS(src_exports);
118
147
 
119
- // src/components/Admonition.tsx
120
- var import_recipes2 = require("@cerberus/styled-system/recipes");
148
+ // src/components/Accordion.tsx
149
+ var import_react = require("@ark-ui/react");
150
+ var import_icons = require("@cerberus/icons");
151
+ var import_css = require("@cerberus/styled-system/css");
152
+ var import_recipes = require("@cerberus/styled-system/recipes");
153
+ var import_jsx_runtime = require("react/jsx-runtime");
154
+ function Accordion(props) {
155
+ const { size, className, ...rootProps } = props;
156
+ const styles = (0, import_recipes.accordion)({ size });
157
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
158
+ import_react.Accordion.Root,
159
+ {
160
+ collapsible: true,
161
+ className: (0, import_css.cx)(className, styles.root),
162
+ ...rootProps
163
+ }
164
+ );
165
+ }
166
+ function AccordionItem(props) {
167
+ const { size, ...itemProps } = props;
168
+ const styles = (0, import_recipes.accordion)({ size });
169
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
170
+ import_react.Accordion.Item,
171
+ {
172
+ ...itemProps,
173
+ className: (0, import_css.cx)(itemProps.className, styles.item)
174
+ }
175
+ );
176
+ }
177
+ function AccordionItemTrigger(props) {
178
+ const { size, ...triggerProps } = props;
179
+ const styles = (0, import_recipes.accordion)({ size });
180
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
181
+ import_react.Accordion.ItemTrigger,
182
+ {
183
+ ...triggerProps,
184
+ className: (0, import_css.cx)(triggerProps.className, styles.itemTrigger)
185
+ }
186
+ );
187
+ }
188
+ function AccordionItemIndicator(props) {
189
+ const { size, ...indicatorProps } = props;
190
+ const styles = (0, import_recipes.accordion)({ size });
191
+ const iconSize = size === "sm" ? 16 : "24";
192
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
193
+ import_react.Accordion.ItemIndicator,
194
+ {
195
+ ...indicatorProps,
196
+ className: (0, import_css.cx)(indicatorProps.className, styles.itemIndicator),
197
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.ChevronDown, { size: iconSize })
198
+ }
199
+ );
200
+ }
201
+ function AccordionItemContent(props) {
202
+ const { size, ...contentProps } = props;
203
+ const styles = (0, import_recipes.accordion)({ size });
204
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
205
+ import_react.Accordion.ItemContent,
206
+ {
207
+ ...contentProps,
208
+ className: (0, import_css.cx)(contentProps.className, styles.itemContent)
209
+ }
210
+ );
211
+ }
212
+
213
+ // src/components/Show.tsx
214
+ var import_react2 = require("react");
215
+ function Show(props) {
216
+ const { when, children, fallback } = props;
217
+ const condition = (0, import_react2.useMemo)(() => when ?? false, [when]);
218
+ return (0, import_react2.useMemo)(() => {
219
+ if (condition) return children;
220
+ return fallback ?? null;
221
+ }, [condition, children, fallback]);
222
+ }
223
+
224
+ // src/components/AccordionItemGroup.tsx
121
225
  var import_css2 = require("@cerberus/styled-system/css");
226
+ var import_jsx_runtime2 = require("react/jsx-runtime");
227
+ function AccordionItemGroup(props) {
228
+ const {
229
+ size,
230
+ heading,
231
+ children,
232
+ indicatorPosition = "end",
233
+ ...itemProps
234
+ } = props;
235
+ const triggerStyles = indicatorPosition === "start" ? {
236
+ gap: "md",
237
+ justifyContent: "flex-start"
238
+ } : void 0;
239
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(AccordionItem, { ...itemProps, children: [
240
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(AccordionItemTrigger, { className: (0, import_css2.css)(triggerStyles), size, children: [
241
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Show, { when: indicatorPosition === "start", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(AccordionItemIndicator, { size }) }),
242
+ heading,
243
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Show, { when: indicatorPosition === "end", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(AccordionItemIndicator, { size }) })
244
+ ] }),
245
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(AccordionItemContent, { size, children })
246
+ ] });
247
+ }
248
+
249
+ // src/components/Admonition.tsx
250
+ var import_recipes3 = require("@cerberus/styled-system/recipes");
251
+ var import_css4 = require("@cerberus/styled-system/css");
122
252
  var import_patterns2 = require("@cerberus/styled-system/patterns");
123
253
 
124
254
  // src/config/cerbIcons.ts
125
- var import_icons = require("@cerberus/icons");
255
+ var import_icons2 = require("@cerberus/icons");
126
256
 
127
257
  // src/config/icons/checkbox.icons.tsx
128
- var import_jsx_runtime = require("react/jsx-runtime");
258
+ var import_jsx_runtime3 = require("react/jsx-runtime");
129
259
  function CheckmarkIcon(props) {
130
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
260
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
131
261
  "svg",
132
262
  {
133
263
  "aria-hidden": "true",
@@ -136,7 +266,7 @@ function CheckmarkIcon(props) {
136
266
  role: "img",
137
267
  viewBox: "0 0 24 24",
138
268
  ...props,
139
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
269
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
140
270
  "path",
141
271
  {
142
272
  fill: "currentColor",
@@ -147,7 +277,7 @@ function CheckmarkIcon(props) {
147
277
  );
148
278
  }
149
279
  function IndeterminateIcon(props) {
150
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
280
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
151
281
  "svg",
152
282
  {
153
283
  "aria-hidden": "true",
@@ -156,15 +286,15 @@ function IndeterminateIcon(props) {
156
286
  fill: "none",
157
287
  viewBox: "0 0 24 24",
158
288
  ...props,
159
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "currentColor", d: "M4 11h16v2.667H4z" })
289
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { fill: "currentColor", d: "M4 11h16v2.667H4z" })
160
290
  }
161
291
  );
162
292
  }
163
293
 
164
294
  // src/components/AnimatingUploadIcon.tsx
165
- var import_jsx_runtime2 = require("react/jsx-runtime");
295
+ var import_jsx_runtime4 = require("react/jsx-runtime");
166
296
  function AnimatingUploadIcon(props) {
167
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
297
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
168
298
  "svg",
169
299
  {
170
300
  "aria-hidden": "true",
@@ -172,7 +302,7 @@ function AnimatingUploadIcon(props) {
172
302
  width: props.size ?? "1em",
173
303
  height: props.size ?? "1em",
174
304
  viewBox: "0 0 24 24",
175
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
305
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
176
306
  "g",
177
307
  {
178
308
  fill: "none",
@@ -181,14 +311,14 @@ function AnimatingUploadIcon(props) {
181
311
  strokeLinejoin: "round",
182
312
  strokeWidth: 1.5,
183
313
  children: [
184
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
314
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
185
315
  "path",
186
316
  {
187
317
  "data-name": "animating-trail",
188
318
  strokeDasharray: "2 4",
189
319
  strokeDashoffset: 6,
190
320
  d: "M12 21c-4.97 0 -9 -4.03 -9 -9c0 -4.97 4.03 -9 9 -9",
191
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
321
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
192
322
  "animate",
193
323
  {
194
324
  attributeName: "stroke-dashoffset",
@@ -199,14 +329,14 @@ function AnimatingUploadIcon(props) {
199
329
  )
200
330
  }
201
331
  ),
202
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
332
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
203
333
  "path",
204
334
  {
205
335
  "data-name": "half-circle",
206
336
  strokeDasharray: 32,
207
337
  strokeDashoffset: 32,
208
338
  d: "M12 3c4.97 0 9 4.03 9 9c0 4.97 -4.03 9 -9 9",
209
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
339
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
210
340
  "animate",
211
341
  {
212
342
  fill: "freeze",
@@ -218,7 +348,7 @@ function AnimatingUploadIcon(props) {
218
348
  )
219
349
  }
220
350
  ),
221
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
351
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
222
352
  "svg",
223
353
  {
224
354
  "aria-hidden": "true",
@@ -228,7 +358,7 @@ function AnimatingUploadIcon(props) {
228
358
  x: "27%",
229
359
  y: "27%",
230
360
  viewBox: "0 0 24 24",
231
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
361
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
232
362
  "polygon",
233
363
  {
234
364
  fill: "currentColor",
@@ -236,7 +366,7 @@ function AnimatingUploadIcon(props) {
236
366
  strokeWidth: 0.8,
237
367
  opacity: "1",
238
368
  points: "3.7,6.7 7.5,2.9 7.5,15 8.5,15 8.5,2.9 12.3,6.7 13,6 8,1 3,6 ",
239
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
369
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
240
370
  "animate",
241
371
  {
242
372
  fill: "freeze",
@@ -259,24 +389,27 @@ function AnimatingUploadIcon(props) {
259
389
 
260
390
  // src/config/cerbIcons.ts
261
391
  var defaultIcons = {
262
- avatar: import_icons.UserFilled,
392
+ avatar: import_icons2.UserFilled,
393
+ calendar: import_icons2.Calendar,
394
+ calendarPrev: import_icons2.ChevronLeft,
395
+ calendarNext: import_icons2.ChevronRight,
263
396
  checkbox: CheckmarkIcon,
264
- close: import_icons.Close,
265
- confirmModal: import_icons.Information,
266
- delete: import_icons.TrashCan,
267
- promptModal: import_icons.Information,
268
- waitingFileUploader: import_icons.CloudUpload,
397
+ close: import_icons2.Close,
398
+ confirmModal: import_icons2.Information,
399
+ delete: import_icons2.TrashCan,
400
+ promptModal: import_icons2.Information,
401
+ waitingFileUploader: import_icons2.CloudUpload,
269
402
  fileUploader: AnimatingUploadIcon,
270
403
  indeterminate: IndeterminateIcon,
271
- infoNotification: import_icons.Information,
272
- successNotification: import_icons.CheckmarkOutline,
273
- warningNotification: import_icons.WarningAlt,
274
- dangerNotification: import_icons.WarningFilled,
275
- invalid: import_icons.WarningFilled,
276
- invalidAlt: import_icons.Warning,
277
- redo: import_icons.Restart,
278
- selectArrow: import_icons.ChevronDown,
279
- toggleChecked: import_icons.Checkmark
404
+ infoNotification: import_icons2.Information,
405
+ successNotification: import_icons2.CheckmarkOutline,
406
+ warningNotification: import_icons2.WarningAlt,
407
+ dangerNotification: import_icons2.WarningFilled,
408
+ invalid: import_icons2.WarningFilled,
409
+ invalidAlt: import_icons2.Warning,
410
+ redo: import_icons2.Restart,
411
+ selectArrow: import_icons2.ChevronDown,
412
+ toggleChecked: import_icons2.Checkmark
280
413
  };
281
414
 
282
415
  // src/config/defineIcons.ts
@@ -298,23 +431,10 @@ function defineIcons(icons) {
298
431
  var $cerberusIcons = defaultIcons;
299
432
 
300
433
  // src/components/Avatar.tsx
301
- var import_css = require("@cerberus/styled-system/css");
434
+ var import_css3 = require("@cerberus/styled-system/css");
302
435
  var import_patterns = require("@cerberus/styled-system/patterns");
303
- var import_recipes = require("@cerberus/styled-system/recipes");
304
-
305
- // src/components/Show.tsx
306
- var import_react = require("react");
307
- function Show(props) {
308
- const { when, children, fallback } = props;
309
- const condition = (0, import_react.useMemo)(() => when ?? false, [when]);
310
- return (0, import_react.useMemo)(() => {
311
- if (condition) return children;
312
- return fallback ?? null;
313
- }, [condition, children, fallback]);
314
- }
315
-
316
- // src/components/Avatar.tsx
317
- var import_jsx_runtime3 = require("react/jsx-runtime");
436
+ var import_recipes2 = require("@cerberus/styled-system/recipes");
437
+ var import_jsx_runtime5 = require("react/jsx-runtime");
318
438
  function Avatar(props) {
319
439
  const {
320
440
  ariaLabel,
@@ -329,28 +449,28 @@ function Avatar(props) {
329
449
  } = props;
330
450
  const { avatar: AvatarIcon } = $cerberusIcons;
331
451
  const initials = (ariaLabel || "").split(" ").map((word) => word[0]).join("").slice(0, 2);
332
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
452
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
333
453
  "div",
334
454
  {
335
455
  ...nativeProps,
336
- className: (0, import_css.cx)(
456
+ className: (0, import_css3.cx)(
337
457
  nativeProps.className,
338
- (0, import_recipes.avatar)({ gradient, size }),
458
+ (0, import_recipes2.avatar)({ gradient, size }),
339
459
  (0, import_patterns.circle)()
340
460
  ),
341
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
461
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
342
462
  Show,
343
463
  {
344
464
  when: Boolean(src) || Boolean(as),
345
- fallback: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
465
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
346
466
  Show,
347
467
  {
348
468
  when: Boolean(initials),
349
- fallback: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
469
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
350
470
  Show,
351
471
  {
352
472
  when: Boolean(icon),
353
- fallback: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
473
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
354
474
  AvatarIcon,
355
475
  {
356
476
  size: iconSizeMap[size]
@@ -362,15 +482,15 @@ function Avatar(props) {
362
482
  children: initials
363
483
  }
364
484
  ),
365
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
485
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
366
486
  Show,
367
487
  {
368
488
  when: Boolean(as),
369
- fallback: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
489
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
370
490
  "img",
371
491
  {
372
492
  alt: props.ariaLabel,
373
- className: (0, import_css.css)({
493
+ className: (0, import_css3.css)({
374
494
  h: "full",
375
495
  objectFit: "cover",
376
496
  w: "full"
@@ -402,50 +522,50 @@ var iconSizeMap = {
402
522
  };
403
523
 
404
524
  // src/components/Admonition.tsx
405
- var import_jsx_runtime4 = require("react/jsx-runtime");
525
+ var import_jsx_runtime6 = require("react/jsx-runtime");
406
526
  function Admonition(props) {
407
527
  const { children, palette = "page", usage, icon, ...nativeProps } = props;
408
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
528
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
409
529
  "aside",
410
530
  {
411
531
  ...nativeProps,
412
- className: (0, import_css2.cx)(
532
+ className: (0, import_css4.cx)(
413
533
  nativeProps.className,
414
534
  (0, import_patterns2.hstack)({
415
535
  gap: "md",
416
536
  w: "full"
417
537
  }),
418
- (0, import_recipes2.admonition)({ palette, usage }).root
538
+ (0, import_recipes3.admonition)({ palette, usage }).root
419
539
  ),
420
540
  children: [
421
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Show, { when: Boolean(icon), fallback: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(MatchAvatar, { palette }), children: icon }),
422
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { children })
541
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Show, { when: Boolean(icon), fallback: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(MatchAvatar, { palette }), children: icon }),
542
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { children })
423
543
  ]
424
544
  }
425
545
  );
426
546
  }
427
547
  function AdmonitionHeading(props) {
428
548
  const { palette, usage, ...nativeProps } = props;
429
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
549
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
430
550
  "p",
431
551
  {
432
552
  ...nativeProps,
433
- className: (0, import_css2.cx)(
553
+ className: (0, import_css4.cx)(
434
554
  nativeProps.className,
435
- (0, import_recipes2.admonition)({ palette, usage }).heading
555
+ (0, import_recipes3.admonition)({ palette, usage }).heading
436
556
  )
437
557
  }
438
558
  );
439
559
  }
440
560
  function AdmonitionDescription(props) {
441
561
  const { palette, usage, ...nativeProps } = props;
442
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
562
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
443
563
  "p",
444
564
  {
445
565
  ...nativeProps,
446
- className: (0, import_css2.cx)(
566
+ className: (0, import_css4.cx)(
447
567
  nativeProps.className,
448
- (0, import_recipes2.admonition)({ palette, usage }).description
568
+ (0, import_recipes3.admonition)({ palette, usage }).description
449
569
  )
450
570
  }
451
571
  );
@@ -459,56 +579,56 @@ function MatchAvatar(props) {
459
579
  } = $cerberusIcons;
460
580
  switch (props.palette) {
461
581
  case "page":
462
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
582
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
463
583
  Avatar,
464
584
  {
465
585
  gradient: "charon-light",
466
586
  ariaLabel: "",
467
- icon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(InfoIcon, {}),
587
+ icon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(InfoIcon, {}),
468
588
  size: "sm",
469
589
  src: ""
470
590
  }
471
591
  );
472
592
  case "info":
473
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
593
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
474
594
  Avatar,
475
595
  {
476
596
  gradient: "amphiaraus-dark",
477
597
  ariaLabel: "",
478
- icon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(InfoIcon, {}),
598
+ icon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(InfoIcon, {}),
479
599
  size: "sm",
480
600
  src: ""
481
601
  }
482
602
  );
483
603
  case "success":
484
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
604
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
485
605
  Avatar,
486
606
  {
487
607
  gradient: "thanatos-dark",
488
608
  ariaLabel: "",
489
- icon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SuccessIcon, {}),
609
+ icon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(SuccessIcon, {}),
490
610
  size: "sm",
491
611
  src: ""
492
612
  }
493
613
  );
494
614
  case "warning":
495
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
615
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
496
616
  Avatar,
497
617
  {
498
618
  gradient: "asphodel-light",
499
619
  ariaLabel: "",
500
- icon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(WarningIcon, {}),
620
+ icon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(WarningIcon, {}),
501
621
  size: "sm",
502
622
  src: ""
503
623
  }
504
624
  );
505
625
  case "danger":
506
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
626
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
507
627
  Avatar,
508
628
  {
509
629
  gradient: "hades-light",
510
630
  ariaLabel: "",
511
- icon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DangerIcon, {}),
631
+ icon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(DangerIcon, {}),
512
632
  size: "sm",
513
633
  src: ""
514
634
  }
@@ -519,18 +639,18 @@ function MatchAvatar(props) {
519
639
  }
520
640
 
521
641
  // src/components/Button.tsx
522
- var import_css3 = require("@cerberus/styled-system/css");
523
- var import_recipes3 = require("@cerberus/styled-system/recipes");
524
- var import_jsx_runtime5 = require("react/jsx-runtime");
642
+ var import_css5 = require("@cerberus/styled-system/css");
643
+ var import_recipes4 = require("@cerberus/styled-system/recipes");
644
+ var import_jsx_runtime7 = require("react/jsx-runtime");
525
645
  function Button(props) {
526
646
  const { palette, usage, shape, ...nativeProps } = props;
527
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
647
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
528
648
  "button",
529
649
  {
530
650
  ...nativeProps,
531
- className: (0, import_css3.cx)(
651
+ className: (0, import_css5.cx)(
532
652
  nativeProps.className,
533
- (0, import_recipes3.button)({
653
+ (0, import_recipes4.button)({
534
654
  palette,
535
655
  usage,
536
656
  shape
@@ -541,16 +661,16 @@ function Button(props) {
541
661
  }
542
662
 
543
663
  // src/components/Checkbox.tsx
544
- var import_recipes4 = require("@cerberus/styled-system/recipes");
664
+ var import_recipes5 = require("@cerberus/styled-system/recipes");
545
665
  var import_patterns3 = require("@cerberus/styled-system/patterns");
546
- var import_css4 = require("@cerberus/styled-system/css");
666
+ var import_css6 = require("@cerberus/styled-system/css");
547
667
 
548
668
  // src/context/field.tsx
549
- var import_react2 = require("react");
550
- var import_jsx_runtime6 = require("react/jsx-runtime");
551
- var FieldContext = (0, import_react2.createContext)(null);
669
+ var import_react3 = require("react");
670
+ var import_jsx_runtime8 = require("react/jsx-runtime");
671
+ var FieldContext = (0, import_react3.createContext)(null);
552
672
  function Field(props) {
553
- const value = (0, import_react2.useMemo)(
673
+ const value = (0, import_react3.useMemo)(
554
674
  () => ({
555
675
  disabled: props.disabled,
556
676
  readOnly: props.readOnly,
@@ -559,10 +679,10 @@ function Field(props) {
559
679
  }),
560
680
  [props.disabled, props.readOnly, props.required, props.invalid]
561
681
  );
562
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(FieldContext.Provider, { value, children: props.children });
682
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(FieldContext.Provider, { value, children: props.children });
563
683
  }
564
684
  function useFieldContext() {
565
- const context = (0, import_react2.useContext)(FieldContext);
685
+ const context = (0, import_react3.useContext)(FieldContext);
566
686
  if (!context) {
567
687
  throw new Error("useFieldContext must be used within a Field Provider.");
568
688
  }
@@ -570,16 +690,16 @@ function useFieldContext() {
570
690
  }
571
691
 
572
692
  // src/components/Checkbox.tsx
573
- var import_jsx_runtime7 = require("react/jsx-runtime");
693
+ var import_jsx_runtime9 = require("react/jsx-runtime");
574
694
  function Checkbox(props) {
575
695
  const { describedBy, size, checked, mixed, ...nativeProps } = props;
576
696
  const { invalid, ...fieldStates } = useFieldContext();
577
- const styles = (0, import_recipes4.checkbox)({ size });
697
+ const styles = (0, import_recipes5.checkbox)({ size });
578
698
  const { checkbox: CheckIcon, indeterminate: IndeterminateIcon2 } = $cerberusIcons;
579
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
699
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
580
700
  "div",
581
701
  {
582
- className: (0, import_css4.cx)(
702
+ className: (0, import_css6.cx)(
583
703
  styles.root,
584
704
  (0, import_patterns3.vstack)({
585
705
  gap: "0",
@@ -587,7 +707,7 @@ function Checkbox(props) {
587
707
  })
588
708
  ),
589
709
  children: [
590
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
710
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
591
711
  "input",
592
712
  {
593
713
  ...nativeProps,
@@ -595,12 +715,12 @@ function Checkbox(props) {
595
715
  ...describedBy && { "aria-describedby": describedBy },
596
716
  ...invalid && { "aria-invalid": true },
597
717
  ...mixed && { "aria-checked": "mixed" },
598
- className: (0, import_css4.cx)("peer", nativeProps.className, styles.input),
718
+ className: (0, import_css6.cx)("peer", nativeProps.className, styles.input),
599
719
  type: "checkbox"
600
720
  }
601
721
  ),
602
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Show, { when: checked && !mixed, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CheckIcon, {}) }) }),
603
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Show, { when: mixed, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(IndeterminateIcon2, {}) }) })
722
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Show, { when: checked && !mixed, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(CheckIcon, {}) }) }),
723
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Show, { when: mixed, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(IndeterminateIcon2, {}) }) })
604
724
  ]
605
725
  }
606
726
  );
@@ -608,15 +728,15 @@ function Checkbox(props) {
608
728
 
609
729
  // src/components/CircularProgress.tsx
610
730
  var import_patterns4 = require("@cerberus/styled-system/patterns");
611
- var import_css5 = require("@cerberus/styled-system/css");
612
- var import_jsx_runtime8 = require("react/jsx-runtime");
731
+ var import_css7 = require("@cerberus/styled-system/css");
732
+ var import_jsx_runtime10 = require("react/jsx-runtime");
613
733
  function CircularProgress(props) {
614
734
  const strokeW = 14;
615
735
  const radius = `calc(50% * (1 - ${strokeW}/100))`;
616
736
  const status = props.syntax ?? "Done";
617
737
  const now = props.now >= 100 ? 100 : props.now;
618
738
  const bgStyle = props.bgStyle ?? "filled";
619
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
739
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
620
740
  "div",
621
741
  {
622
742
  id: props.id,
@@ -631,11 +751,11 @@ function CircularProgress(props) {
631
751
  position: "relative"
632
752
  }),
633
753
  role: "progressbar",
634
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
754
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
635
755
  "svg",
636
756
  {
637
757
  "data-complete": now === 100,
638
- className: (0, import_css5.css)({
758
+ className: (0, import_css7.css)({
639
759
  display: "block",
640
760
  rounded: "full",
641
761
  transition: "all 0.5s ease"
@@ -646,17 +766,17 @@ function CircularProgress(props) {
646
766
  viewBox: "0 0 100 100",
647
767
  xmlns: "http://www.w3.org/2000/svg",
648
768
  children: [
649
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("title", { children: props.title }),
650
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("desc", { children: `${now}% ${status}` }),
651
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("linearGradient", { id: "gradient", children: [
652
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
769
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("title", { children: props.title }),
770
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("desc", { children: `${now}% ${status}` }),
771
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("linearGradient", { id: "gradient", children: [
772
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
653
773
  "stop",
654
774
  {
655
775
  offset: "0%",
656
776
  stopColor: "var(--cerberus-colors-data-viz-progress-start)"
657
777
  }
658
778
  ),
659
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
779
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
660
780
  "stop",
661
781
  {
662
782
  offset: "100%",
@@ -664,10 +784,10 @@ function CircularProgress(props) {
664
784
  }
665
785
  )
666
786
  ] }) }),
667
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Show, { when: bgStyle === "filled", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
787
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Show, { when: bgStyle === "filled", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
668
788
  "circle",
669
789
  {
670
- className: (0, import_css5.css)({
790
+ className: (0, import_css7.css)({
671
791
  fill: "page.surface.initial"
672
792
  }),
673
793
  cx: "50%",
@@ -676,10 +796,10 @@ function CircularProgress(props) {
676
796
  pathLength: "100"
677
797
  }
678
798
  ) }),
679
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
799
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
680
800
  "circle",
681
801
  {
682
- className: (0, import_css5.css)({
802
+ className: (0, import_css7.css)({
683
803
  stroke: "page.bg.100"
684
804
  }),
685
805
  cx: "50%",
@@ -688,11 +808,11 @@ function CircularProgress(props) {
688
808
  pathLength: "100"
689
809
  }
690
810
  ),
691
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
811
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
692
812
  "circle",
693
813
  {
694
814
  "data-complete": now === 100,
695
- className: (0, import_css5.css)({
815
+ className: (0, import_css7.css)({
696
816
  stroke: "url(#gradient)",
697
817
  transition: "stroke-dashoffset, stroke 0.5s ease",
698
818
  _isComplete: {
@@ -709,11 +829,11 @@ function CircularProgress(props) {
709
829
  transform: "rotate(-90 50 50)"
710
830
  }
711
831
  ),
712
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("g", { children: [
713
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
832
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("g", { children: [
833
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
714
834
  "text",
715
835
  {
716
- className: (0, import_css5.css)({
836
+ className: (0, import_css7.css)({
717
837
  fill: "page.text.initial",
718
838
  fontFamily: "mono",
719
839
  textStyle: "1.25rem"
@@ -728,10 +848,10 @@ function CircularProgress(props) {
728
848
  ]
729
849
  }
730
850
  ),
731
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
851
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
732
852
  "text",
733
853
  {
734
- className: (0, import_css5.css)({
854
+ className: (0, import_css7.css)({
735
855
  fill: "page.text.100",
736
856
  fontSize: "0.5rem",
737
857
  fontWeight: 600
@@ -751,20 +871,291 @@ function CircularProgress(props) {
751
871
  );
752
872
  }
753
873
 
874
+ // src/components/DatePicker.client.tsx
875
+ var import_react6 = require("@ark-ui/react");
876
+
877
+ // src/components/Portal.tsx
878
+ var import_react4 = require("@ark-ui/react");
879
+ var Portal = import_react4.Portal;
880
+
881
+ // src/components/DatePicker.client.tsx
882
+ var import_recipes8 = require("@cerberus/styled-system/recipes");
883
+ var import_css10 = require("@cerberus/styled-system/css");
884
+
885
+ // src/components/DatePicker.server.tsx
886
+ var import_react5 = require("@ark-ui/react");
887
+ var import_css9 = require("@cerberus/styled-system/css");
888
+ var import_recipes7 = require("@cerberus/styled-system/recipes");
889
+
890
+ // src/components/IconButton.tsx
891
+ var import_css8 = require("@cerberus/styled-system/css");
892
+ var import_recipes6 = require("@cerberus/styled-system/recipes");
893
+ var import_jsx_runtime11 = require("react/jsx-runtime");
894
+ function IconButton(props) {
895
+ const { ariaLabel, palette, usage, size, ...nativeProps } = props;
896
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
897
+ "button",
898
+ {
899
+ ...nativeProps,
900
+ "aria-label": ariaLabel ?? "Icon Button",
901
+ className: (0, import_css8.cx)(
902
+ nativeProps.className,
903
+ (0, import_recipes6.iconButton)({
904
+ palette,
905
+ usage,
906
+ size
907
+ })
908
+ )
909
+ }
910
+ );
911
+ }
912
+
913
+ // src/components/DatePicker.server.tsx
914
+ var import_jsx_runtime12 = require("react/jsx-runtime");
915
+ var datePickerStyles = (0, import_recipes7.datePicker)();
916
+ function DatePickerLabel(props) {
917
+ const { className, ...arkProps } = props;
918
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
919
+ import_react5.DatePicker.Label,
920
+ {
921
+ ...arkProps,
922
+ className: (0, import_css9.cx)(
923
+ className,
924
+ (0, import_recipes7.label)({
925
+ size: "sm"
926
+ })
927
+ )
928
+ }
929
+ );
930
+ }
931
+ function DatePickerTrigger(props) {
932
+ const { calendar: CalendarIcon } = $cerberusIcons;
933
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
934
+ import_react5.DatePicker.Trigger,
935
+ {
936
+ ...props,
937
+ className: (0, import_css9.cx)(
938
+ props.className,
939
+ (0, import_recipes7.iconButton)({
940
+ size: "sm",
941
+ usage: "ghost"
942
+ }),
943
+ datePickerStyles.trigger
944
+ ),
945
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CalendarIcon, {})
946
+ }
947
+ );
948
+ }
949
+ function DatePickerViewControl(props) {
950
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
951
+ import_react5.DatePicker.Control,
952
+ {
953
+ ...props,
954
+ className: (0, import_css9.cx)(props.className, datePickerStyles.viewControl)
955
+ }
956
+ );
957
+ }
958
+ function DatePickerViewControlGroup(props) {
959
+ const { calendarPrev: PrevIcon, calendarNext: NextIcon } = $cerberusIcons;
960
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(DatePickerViewControl, { ...props, children: [
961
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react5.DatePicker.PrevTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(IconButton, { ariaLabel: "Previous", size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(PrevIcon, {}) }) }),
962
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react5.DatePicker.ViewTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
963
+ Button,
964
+ {
965
+ className: (0, import_css9.css)({
966
+ h: "2rem",
967
+ paddingInline: "md"
968
+ }),
969
+ shape: "rounded",
970
+ size: "sm",
971
+ usage: "ghost",
972
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react5.DatePicker.RangeText, {})
973
+ }
974
+ ) }),
975
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react5.DatePicker.NextTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(IconButton, { ariaLabel: "Next", size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(NextIcon, {}) }) })
976
+ ] });
977
+ }
978
+ function DatePickerTable(props) {
979
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
980
+ import_react5.DatePicker.Table,
981
+ {
982
+ ...props,
983
+ className: (0, import_css9.cx)(props.className, datePickerStyles.table)
984
+ }
985
+ );
986
+ }
987
+ function DatePickerTableHeader(props) {
988
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
989
+ import_react5.DatePicker.TableHeader,
990
+ {
991
+ ...props,
992
+ className: (0, import_css9.cx)(props.className, datePickerStyles.tableHeader)
993
+ }
994
+ );
995
+ }
996
+ function DatePickerTableCell(props) {
997
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
998
+ import_react5.DatePicker.TableCell,
999
+ {
1000
+ ...props,
1001
+ className: (0, import_css9.cx)(props.className, datePickerStyles.tableCell)
1002
+ }
1003
+ );
1004
+ }
1005
+ function DatePickerTableCellTrigger(props) {
1006
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1007
+ import_react5.DatePicker.TableCellTrigger,
1008
+ {
1009
+ ...props,
1010
+ className: (0, import_css9.cx)(props.className, datePickerStyles.tableCellTrigger)
1011
+ }
1012
+ );
1013
+ }
1014
+ var DatePickerView = import_react5.DatePicker.View;
1015
+ var DatePickerContext = import_react5.DatePicker.Context;
1016
+
1017
+ // src/components/DatePicker.client.tsx
1018
+ var import_jsx_runtime13 = require("react/jsx-runtime");
1019
+ var datePickerStyles2 = (0, import_recipes8.datePicker)();
1020
+ function DatePicker(props) {
1021
+ const states = useFieldContext();
1022
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1023
+ import_react6.DatePicker.Root,
1024
+ {
1025
+ ...props,
1026
+ ...states,
1027
+ positioning: {
1028
+ placement: "bottom-start"
1029
+ }
1030
+ }
1031
+ );
1032
+ }
1033
+ function DatePickerInput(props) {
1034
+ const { invalid, ...fieldStates } = useFieldContext();
1035
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react6.DatePicker.Control, { className: datePickerStyles2.control, children: [
1036
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTrigger, {}),
1037
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1038
+ import_react6.DatePicker.Input,
1039
+ {
1040
+ ...props,
1041
+ ...fieldStates,
1042
+ ...invalid && { "aria-invalid": true },
1043
+ className: (0, import_css10.cx)(props.className, datePickerStyles2.input),
1044
+ placeholder: props.placeholder ?? "DD MMM YYYY",
1045
+ maxLength: 11
1046
+ }
1047
+ )
1048
+ ] });
1049
+ }
1050
+ function RangePickerInput(props) {
1051
+ const { invalid, ...fieldStates } = useFieldContext();
1052
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react6.DatePicker.Control, { "data-range": true, className: datePickerStyles2.control, children: [
1053
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTrigger, {}),
1054
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1055
+ import_react6.DatePicker.Input,
1056
+ {
1057
+ ...props,
1058
+ ...fieldStates,
1059
+ ...invalid && { "aria-invalid": true },
1060
+ "data-range-input": true,
1061
+ className: (0, import_css10.cx)(props.className, datePickerStyles2.input),
1062
+ placeholder: props.placeholder ?? "DD MMM YYYY",
1063
+ maxLength: 11,
1064
+ index: 0
1065
+ }
1066
+ ),
1067
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1068
+ import_react6.DatePicker.Input,
1069
+ {
1070
+ ...props,
1071
+ ...fieldStates,
1072
+ ...invalid && { "aria-invalid": true },
1073
+ "data-range-input": true,
1074
+ "data-range-end-input": true,
1075
+ className: (0, import_css10.cx)(props.className, datePickerStyles2.input),
1076
+ placeholder: props.placeholder ?? "DD MMM YYYY",
1077
+ maxLength: 11,
1078
+ index: 1
1079
+ }
1080
+ )
1081
+ ] });
1082
+ }
1083
+ function DatePickerContent(props) {
1084
+ const { children, ...contentProps } = props;
1085
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.Positioner, { className: datePickerStyles2.positioner, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1086
+ import_react6.DatePicker.Content,
1087
+ {
1088
+ ...contentProps,
1089
+ className: (0, import_css10.cx)(contentProps.className, datePickerStyles2.content),
1090
+ children
1091
+ }
1092
+ ) }) });
1093
+ }
1094
+ function DatePickerDayView(props) {
1095
+ function isToday(date) {
1096
+ const today = /* @__PURE__ */ new Date();
1097
+ const formatted = today.toISOString().split("T")[0];
1098
+ const arkDate = `${date.year}-${String(date.month).padStart(2, "0")}-${String(date.day).padStart(2, "0")}`;
1099
+ return formatted === arkDate;
1100
+ }
1101
+ function isPastDay(date) {
1102
+ const today = /* @__PURE__ */ new Date();
1103
+ const arkDate = `${date.year}-${String(date.month).padStart(2, "0")}-${String(date.day).padStart(2, "0")}`;
1104
+ return new Date(arkDate) < today;
1105
+ }
1106
+ function getDayValue(date) {
1107
+ if (isToday(date)) return "today";
1108
+ if (isPastDay(date)) return "past";
1109
+ return "future";
1110
+ }
1111
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerView, { ...props, view: "day", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerContext, { children: (datePicker3) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
1112
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerViewControlGroup, {}),
1113
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(DatePickerTable, { children: [
1114
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.TableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.TableRow, { children: datePicker3.weekDays.map((weekDay, id) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableHeader, { children: weekDay.narrow }, id)) }) }),
1115
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.TableBody, { children: datePicker3.weeks.map((week, id) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.TableRow, { children: week.map((day, id2) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableCell, { value: day, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1116
+ DatePickerTableCellTrigger,
1117
+ {
1118
+ "data-date": getDayValue(day),
1119
+ children: day.day
1120
+ }
1121
+ ) }, id2)) }, id)) })
1122
+ ] })
1123
+ ] }) }) });
1124
+ }
1125
+ function DatePickerMonthView(props) {
1126
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.View, { ...props, view: "month", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.Context, { children: (datePicker3) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
1127
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerViewControlGroup, {}),
1128
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTable, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.TableBody, { children: datePicker3.getMonthsGrid({ columns: 4, format: "short" }).map((months, id) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.TableRow, { children: months.map((month, id2) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableCell, { value: month.value, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableCellTrigger, { children: month.label }) }, id2)) }, id)) }) })
1129
+ ] }) }) });
1130
+ }
1131
+ function DatePickerYearView(props) {
1132
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.View, { ...props, view: "year", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.Context, { children: (datePicker3) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
1133
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerViewControlGroup, {}),
1134
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTable, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.TableBody, { children: datePicker3.getYearsGrid({ columns: 4 }).map((years, id) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react6.DatePicker.TableRow, { children: years.map((year, id2) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableCell, { value: year.value, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableCellTrigger, { children: year.label }) }, id2)) }, id)) }) })
1135
+ ] }) }) });
1136
+ }
1137
+ function DatePickerCalendar() {
1138
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(DatePickerContent, { children: [
1139
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerDayView, {}),
1140
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerMonthView, {}),
1141
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerYearView, {})
1142
+ ] });
1143
+ }
1144
+
754
1145
  // src/components/Droppable.tsx
755
1146
  var import_core = require("@dnd-kit/core");
756
- var import_react3 = require("react");
757
- var import_jsx_runtime9 = require("react/jsx-runtime");
1147
+ var import_react7 = require("react");
1148
+ var import_jsx_runtime14 = require("react/jsx-runtime");
758
1149
  function Droppable(props) {
759
1150
  const { dropped, id, disabled, data, resizeObserverConfig, ...nativeProps } = props;
760
- const uuid = (0, import_react3.useId)();
1151
+ const uuid = (0, import_react7.useId)();
761
1152
  const { isOver, setNodeRef } = (0, import_core.useDroppable)({
762
1153
  data,
763
1154
  disabled,
764
1155
  id: id || uuid,
765
1156
  resizeObserverConfig
766
1157
  });
767
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1158
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
768
1159
  "div",
769
1160
  {
770
1161
  ...nativeProps,
@@ -777,30 +1168,30 @@ function Droppable(props) {
777
1168
  }
778
1169
 
779
1170
  // src/components/FieldMessage.tsx
780
- var import_css6 = require("@cerberus/styled-system/css");
781
- var import_recipes5 = require("@cerberus/styled-system/recipes");
782
- var import_jsx_runtime10 = require("react/jsx-runtime");
1171
+ var import_css11 = require("@cerberus/styled-system/css");
1172
+ var import_recipes9 = require("@cerberus/styled-system/recipes");
1173
+ var import_jsx_runtime15 = require("react/jsx-runtime");
783
1174
  function FieldMessage(props) {
784
1175
  const { invalid } = useFieldContext();
785
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1176
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
786
1177
  "small",
787
1178
  {
788
1179
  ...props,
789
1180
  ...invalid && { "aria-invalid": true },
790
- className: (0, import_css6.cx)(props.className, (0, import_recipes5.fieldMessage)())
1181
+ className: (0, import_css11.cx)(props.className, (0, import_recipes9.fieldMessage)())
791
1182
  }
792
1183
  );
793
1184
  }
794
1185
 
795
1186
  // src/context/feature-flags.tsx
796
- var import_react4 = require("react");
797
- var import_jsx_runtime11 = require("react/jsx-runtime");
798
- var FeatureFlagContext = (0, import_react4.createContext)(null);
1187
+ var import_react8 = require("react");
1188
+ var import_jsx_runtime16 = require("react/jsx-runtime");
1189
+ var FeatureFlagContext = (0, import_react8.createContext)(null);
799
1190
  function FeatureFlags(props) {
800
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FeatureFlagContext.Provider, { value: props.flags, children: props.children });
1191
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(FeatureFlagContext.Provider, { value: props.flags, children: props.children });
801
1192
  }
802
1193
  function useFeatureFlags(key) {
803
- const context = (0, import_react4.useContext)(FeatureFlagContext);
1194
+ const context = (0, import_react8.useContext)(FeatureFlagContext);
804
1195
  if (context === null) {
805
1196
  throw new Error(
806
1197
  "useFeatureFlag must be used within a FeatureFlags Provider"
@@ -810,26 +1201,26 @@ function useFeatureFlags(key) {
810
1201
  }
811
1202
 
812
1203
  // src/components/FeatureFlag.tsx
813
- var import_jsx_runtime12 = require("react/jsx-runtime");
1204
+ var import_jsx_runtime17 = require("react/jsx-runtime");
814
1205
  function FeatureFlag(props) {
815
1206
  const showContent = useFeatureFlags(props.flag);
816
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Show, { when: showContent, children: props.children });
1207
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Show, { when: showContent, children: props.children });
817
1208
  }
818
1209
 
819
1210
  // src/components/Fieldset.tsx
820
- var import_css7 = require("@cerberus/styled-system/css");
821
- var import_jsx_runtime13 = require("react/jsx-runtime");
1211
+ var import_css12 = require("@cerberus/styled-system/css");
1212
+ var import_jsx_runtime18 = require("react/jsx-runtime");
822
1213
  function Fieldset(props) {
823
1214
  const { invalid, ...formState } = useFieldContext();
824
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1215
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
825
1216
  "fieldset",
826
1217
  {
827
1218
  ...props,
828
1219
  ...formState,
829
1220
  ...invalid && { "aria-invalid": true },
830
- className: (0, import_css7.cx)(
1221
+ className: (0, import_css12.cx)(
831
1222
  props.className,
832
- (0, import_css7.css)({
1223
+ (0, import_css12.css)({
833
1224
  border: "none",
834
1225
  pt: 2,
835
1226
  margin: 0
@@ -840,18 +1231,18 @@ function Fieldset(props) {
840
1231
  }
841
1232
 
842
1233
  // src/components/FieldsetLabel.tsx
843
- var import_css8 = require("@cerberus/styled-system/css");
844
- var import_recipes6 = require("@cerberus/styled-system/recipes");
845
- var import_jsx_runtime14 = require("react/jsx-runtime");
1234
+ var import_css13 = require("@cerberus/styled-system/css");
1235
+ var import_recipes10 = require("@cerberus/styled-system/recipes");
1236
+ var import_jsx_runtime19 = require("react/jsx-runtime");
846
1237
  function FieldsetLabel(props) {
847
1238
  const { size, usage, ...nativeProps } = props;
848
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1239
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
849
1240
  "label",
850
1241
  {
851
1242
  ...nativeProps,
852
- className: (0, import_css8.cx)(
1243
+ className: (0, import_css13.cx)(
853
1244
  nativeProps.className,
854
- (0, import_recipes6.label)({
1245
+ (0, import_recipes10.label)({
855
1246
  size,
856
1247
  usage
857
1248
  })
@@ -861,33 +1252,33 @@ function FieldsetLabel(props) {
861
1252
  }
862
1253
 
863
1254
  // src/components/FileStatus.tsx
864
- var import_react5 = require("react");
865
- var import_recipes9 = require("@cerberus/styled-system/recipes");
866
- var import_css11 = require("@cerberus/styled-system/css");
1255
+ var import_react9 = require("react");
1256
+ var import_recipes12 = require("@cerberus/styled-system/recipes");
1257
+ var import_css15 = require("@cerberus/styled-system/css");
867
1258
  var import_patterns5 = require("@cerberus/styled-system/patterns");
868
1259
 
869
1260
  // src/components/ProgressBar.tsx
870
- var import_css9 = require("@cerberus/styled-system/css");
871
- var import_recipes7 = require("@cerberus/styled-system/recipes");
872
- var import_jsx_runtime15 = require("react/jsx-runtime");
1261
+ var import_css14 = require("@cerberus/styled-system/css");
1262
+ var import_recipes11 = require("@cerberus/styled-system/recipes");
1263
+ var import_jsx_runtime20 = require("react/jsx-runtime");
873
1264
  function ProgressBar(props) {
874
- const { indeterminate, size, usage, now, label: label4, ...nativeProps } = props;
875
- const styles = (0, import_recipes7.progressBar)({ size, usage });
1265
+ const { indeterminate, size, usage, now, label: label5, ...nativeProps } = props;
1266
+ const styles = (0, import_recipes11.progressBar)({ size, usage });
876
1267
  const nowClamped = Math.min(100, Math.max(0, now || 0));
877
1268
  const width = {
878
1269
  width: indeterminate ? "50%" : `${nowClamped}%`
879
1270
  };
880
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1271
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
881
1272
  "div",
882
1273
  {
883
1274
  ...nativeProps,
884
- "aria-label": label4,
1275
+ "aria-label": label5,
885
1276
  "aria-valuemin": 0,
886
1277
  "aria-valuemax": 100,
887
1278
  "aria-valuenow": indeterminate ? 0 : nowClamped,
888
- className: (0, import_css9.cx)(nativeProps.className, styles.root),
1279
+ className: (0, import_css14.cx)(nativeProps.className, styles.root),
889
1280
  role: "progressbar",
890
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1281
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
891
1282
  "div",
892
1283
  {
893
1284
  ...indeterminate && { "data-indeterminate": true },
@@ -900,31 +1291,8 @@ function ProgressBar(props) {
900
1291
  );
901
1292
  }
902
1293
 
903
- // src/components/IconButton.tsx
904
- var import_css10 = require("@cerberus/styled-system/css");
905
- var import_recipes8 = require("@cerberus/styled-system/recipes");
906
- var import_jsx_runtime16 = require("react/jsx-runtime");
907
- function IconButton(props) {
908
- const { ariaLabel, palette, usage, size, ...nativeProps } = props;
909
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
910
- "button",
911
- {
912
- ...nativeProps,
913
- "aria-label": ariaLabel ?? "Icon Button",
914
- className: (0, import_css10.cx)(
915
- nativeProps.className,
916
- (0, import_recipes8.iconButton)({
917
- palette,
918
- usage,
919
- size
920
- })
921
- )
922
- }
923
- );
924
- }
925
-
926
1294
  // src/components/FileStatus.tsx
927
- var import_jsx_runtime17 = require("react/jsx-runtime");
1295
+ var import_jsx_runtime21 = require("react/jsx-runtime");
928
1296
  var processStatus = /* @__PURE__ */ ((processStatus2) => {
929
1297
  processStatus2["TODO"] = "todo";
930
1298
  processStatus2["PROCESSING"] = "processing";
@@ -934,24 +1302,24 @@ var processStatus = /* @__PURE__ */ ((processStatus2) => {
934
1302
  })(processStatus || {});
935
1303
  function FileStatus(props) {
936
1304
  const { file, now, status, onClick, ...nativeProps } = props;
937
- const actionLabel = (0, import_react5.useMemo)(() => getStatusActionLabel(status), [status]);
938
- const palette = (0, import_react5.useMemo)(() => getPalette(status), [status]);
939
- const modalIconPalette = (0, import_react5.useMemo)(() => getModalIconPalette(status), [status]);
940
- const styles = (0, import_react5.useMemo)(() => {
1305
+ const actionLabel = (0, import_react9.useMemo)(() => getStatusActionLabel(status), [status]);
1306
+ const palette = (0, import_react9.useMemo)(() => getPalette(status), [status]);
1307
+ const modalIconPalette = (0, import_react9.useMemo)(() => getModalIconPalette(status), [status]);
1308
+ const styles = (0, import_react9.useMemo)(() => {
941
1309
  switch (status) {
942
1310
  case "todo" /* TODO */:
943
- return (0, import_recipes9.fileStatus)({ status: "todo" });
1311
+ return (0, import_recipes12.fileStatus)({ status: "todo" });
944
1312
  case "processing" /* PROCESSING */:
945
- return (0, import_recipes9.fileStatus)({ status: "processing" });
1313
+ return (0, import_recipes12.fileStatus)({ status: "processing" });
946
1314
  case "done" /* DONE */:
947
- return (0, import_recipes9.fileStatus)({ status: "done" });
1315
+ return (0, import_recipes12.fileStatus)({ status: "done" });
948
1316
  case "error" /* ERROR */:
949
- return (0, import_recipes9.fileStatus)({ status: "error" });
1317
+ return (0, import_recipes12.fileStatus)({ status: "error" });
950
1318
  default:
951
- return (0, import_recipes9.fileStatus)();
1319
+ return (0, import_recipes12.fileStatus)();
952
1320
  }
953
1321
  }, [status]);
954
- const handleClick = (0, import_react5.useCallback)(
1322
+ const handleClick = (0, import_react9.useCallback)(
955
1323
  (e) => {
956
1324
  const actionStatus = getStatusActionLabel(
957
1325
  status
@@ -960,22 +1328,22 @@ function FileStatus(props) {
960
1328
  },
961
1329
  [onClick]
962
1330
  );
963
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1331
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
964
1332
  "div",
965
1333
  {
966
1334
  ...nativeProps,
967
- className: (0, import_css11.cx)(nativeProps.className, styles.root, (0, import_patterns5.hstack)()),
1335
+ className: (0, import_css15.cx)(nativeProps.className, styles.root, (0, import_patterns5.hstack)()),
968
1336
  children: [
969
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1337
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
970
1338
  Avatar,
971
1339
  {
972
1340
  ariaLabel: "",
973
1341
  gradient: modalIconPalette,
974
- icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(MatchFileStatusIcon, { size: 24, status }),
1342
+ icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(MatchFileStatusIcon, { size: 24, status }),
975
1343
  src: ""
976
1344
  }
977
1345
  ),
978
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1346
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
979
1347
  "div",
980
1348
  {
981
1349
  className: (0, import_patterns5.vstack)({
@@ -984,17 +1352,17 @@ function FileStatus(props) {
984
1352
  w: "full"
985
1353
  }),
986
1354
  children: [
987
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1355
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
988
1356
  "small",
989
1357
  {
990
- className: (0, import_css11.css)({
1358
+ className: (0, import_css15.css)({
991
1359
  color: "page.text.initial",
992
1360
  textStyle: "label-sm"
993
1361
  }),
994
1362
  children: file
995
1363
  }
996
1364
  ),
997
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1365
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
998
1366
  ProgressBar,
999
1367
  {
1000
1368
  id: props.id,
@@ -1003,27 +1371,27 @@ function FileStatus(props) {
1003
1371
  size: "sm"
1004
1372
  }
1005
1373
  ),
1006
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Field, { invalid: modalIconPalette === "hades-dark", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1374
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Field, { invalid: modalIconPalette === "hades-dark", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1007
1375
  FieldMessage,
1008
1376
  {
1009
- className: (0, import_css11.css)({
1377
+ className: (0, import_css15.css)({
1010
1378
  color: "page.text.100"
1011
1379
  }),
1012
1380
  id: `help:${file}`,
1013
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(MatchFileStatusText, { status, now })
1381
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(MatchFileStatusText, { status, now })
1014
1382
  }
1015
1383
  ) })
1016
1384
  ]
1017
1385
  }
1018
1386
  ),
1019
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1387
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1020
1388
  IconButton,
1021
1389
  {
1022
1390
  ariaLabel: actionLabel,
1023
1391
  onClick: handleClick,
1024
1392
  palette,
1025
1393
  size: "sm",
1026
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(MatchStatusAction, { status })
1394
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(MatchStatusAction, { status })
1027
1395
  }
1028
1396
  )
1029
1397
  ]
@@ -1039,13 +1407,13 @@ function MatchFileStatusIcon(props) {
1039
1407
  } = $cerberusIcons;
1040
1408
  switch (props.status) {
1041
1409
  case "todo" /* TODO */:
1042
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TodoIcon, { size: props.size });
1410
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(TodoIcon, { size: props.size });
1043
1411
  case "processing" /* PROCESSING */:
1044
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(FileUploaderIcon, { size: props.size });
1412
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(FileUploaderIcon, { size: props.size });
1045
1413
  case "done" /* DONE */:
1046
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DoneIcon, { size: props.size });
1414
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DoneIcon, { size: props.size });
1047
1415
  case "error" /* ERROR */:
1048
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(InvalidIcon, { size: props.size });
1416
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(InvalidIcon, { size: props.size });
1049
1417
  default:
1050
1418
  throw new Error("Unknown status");
1051
1419
  }
@@ -1069,11 +1437,11 @@ function MatchStatusAction(props) {
1069
1437
  switch (props.status) {
1070
1438
  case "todo" /* TODO */:
1071
1439
  case "processing" /* PROCESSING */:
1072
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CloseIcon, {});
1440
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(CloseIcon, {});
1073
1441
  case "error" /* ERROR */:
1074
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(RedoIcon, {});
1442
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RedoIcon, {});
1075
1443
  case "done" /* DONE */:
1076
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TrashIcon, {});
1444
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(TrashIcon, {});
1077
1445
  default:
1078
1446
  throw new Error("Invalid status");
1079
1447
  }
@@ -1119,39 +1487,39 @@ function getModalIconPalette(status) {
1119
1487
  }
1120
1488
 
1121
1489
  // src/components/FileUploader.tsx
1122
- var import_css12 = require("@cerberus/styled-system/css");
1490
+ var import_css16 = require("@cerberus/styled-system/css");
1123
1491
  var import_patterns6 = require("@cerberus/styled-system/patterns");
1124
- var import_recipes10 = require("@cerberus/styled-system/recipes");
1125
- var import_jsx_runtime18 = require("react/jsx-runtime");
1492
+ var import_recipes13 = require("@cerberus/styled-system/recipes");
1493
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1126
1494
  function FileUploader(props) {
1127
1495
  var _a;
1128
- const styles = (0, import_recipes10.fileUploader)();
1496
+ const styles = (0, import_recipes13.fileUploader)();
1129
1497
  const { waitingFileUploader: Icon } = $cerberusIcons;
1130
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1498
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1131
1499
  "div",
1132
1500
  {
1133
1501
  ...props.disabled ? { "aria-disabled": true } : {},
1134
- className: (0, import_css12.cx)(
1502
+ className: (0, import_css16.cx)(
1135
1503
  (0, import_patterns6.vstack)({
1136
1504
  justify: "center"
1137
1505
  }),
1138
1506
  styles.container
1139
1507
  ),
1140
1508
  children: [
1141
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1509
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1142
1510
  Avatar,
1143
1511
  {
1144
1512
  gradient: "charon-light",
1145
1513
  ariaLabel: "",
1146
- icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Icon, {}),
1514
+ icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Icon, {}),
1147
1515
  size: "md",
1148
1516
  src: ""
1149
1517
  }
1150
1518
  ) }),
1151
- /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1519
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1152
1520
  "label",
1153
1521
  {
1154
- className: (0, import_css12.cx)(
1522
+ className: (0, import_css16.cx)(
1155
1523
  (0, import_patterns6.vstack)({
1156
1524
  justify: "center"
1157
1525
  }),
@@ -1159,16 +1527,16 @@ function FileUploader(props) {
1159
1527
  ),
1160
1528
  htmlFor: props.name,
1161
1529
  children: [
1162
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Show, { when: Boolean(props.heading), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: styles.heading, children: props.heading }) }),
1530
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Show, { when: Boolean(props.heading), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: styles.heading, children: props.heading }) }),
1163
1531
  "Import ",
1164
1532
  (_a = props.accept) == null ? void 0 : _a.replace(",", ", "),
1165
1533
  " files",
1166
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: styles.description, children: "Click to select files" }),
1167
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1534
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: styles.description, children: "Click to select files" }),
1535
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1168
1536
  "input",
1169
1537
  {
1170
1538
  ...props,
1171
- className: (0, import_css12.cx)(props.className, styles.input),
1539
+ className: (0, import_css16.cx)(props.className, styles.input),
1172
1540
  type: "file"
1173
1541
  }
1174
1542
  )
@@ -1181,18 +1549,18 @@ function FileUploader(props) {
1181
1549
  }
1182
1550
 
1183
1551
  // src/components/Input.tsx
1184
- var import_recipes11 = require("@cerberus/styled-system/recipes");
1185
- var import_css13 = require("@cerberus/styled-system/css");
1186
- var import_jsx_runtime19 = require("react/jsx-runtime");
1552
+ var import_recipes14 = require("@cerberus/styled-system/recipes");
1553
+ var import_css17 = require("@cerberus/styled-system/css");
1554
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1187
1555
  function Input(props) {
1188
1556
  const { describedBy, size, startIcon, endIcon, ...nativeProps } = props;
1189
- const inputStyles = (0, import_recipes11.input)({ size });
1557
+ const inputStyles = (0, import_recipes14.input)({ size });
1190
1558
  const { invalid, ...fieldStates } = useFieldContext();
1191
1559
  const hasEndIcon = Boolean(endIcon);
1192
1560
  const { invalid: InvalidIcon } = $cerberusIcons;
1193
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: inputStyles.root, children: [
1194
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Show, { when: Boolean(startIcon), children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: inputStyles.startIcon, children: startIcon }) }),
1195
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1561
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: inputStyles.root, children: [
1562
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Show, { when: Boolean(startIcon), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: inputStyles.startIcon, children: startIcon }) }),
1563
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1196
1564
  "input",
1197
1565
  {
1198
1566
  ...nativeProps,
@@ -1200,31 +1568,31 @@ function Input(props) {
1200
1568
  ...describedBy && { "aria-describedby": describedBy },
1201
1569
  ...invalid && { "aria-invalid": true },
1202
1570
  "data-start-icon": Boolean(startIcon),
1203
- className: (0, import_css13.cx)("peer", nativeProps.className, inputStyles.input)
1571
+ className: (0, import_css17.cx)("peer", nativeProps.className, inputStyles.input)
1204
1572
  }
1205
1573
  ),
1206
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Show, { when: invalid, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(InvalidIcon, { className: inputStyles.icon }) }),
1207
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Show, { when: hasEndIcon && !invalid, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: inputStyles.icon, children: endIcon }) })
1574
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Show, { when: invalid, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(InvalidIcon, { className: inputStyles.icon }) }),
1575
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Show, { when: hasEndIcon && !invalid, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: inputStyles.icon, children: endIcon }) })
1208
1576
  ] });
1209
1577
  }
1210
1578
 
1211
1579
  // src/components/Label.tsx
1212
- var import_recipes12 = require("@cerberus/styled-system/recipes");
1213
- var import_css14 = require("@cerberus/styled-system/css");
1580
+ var import_recipes15 = require("@cerberus/styled-system/recipes");
1581
+ var import_css18 = require("@cerberus/styled-system/css");
1214
1582
  var import_patterns7 = require("@cerberus/styled-system/patterns");
1215
- var import_jsx_runtime20 = require("react/jsx-runtime");
1583
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1216
1584
  function Label(props) {
1217
1585
  const { hidden, size, ...nativeProps } = props;
1218
1586
  const { required, disabled } = useFieldContext();
1219
1587
  const usage = hidden ? "hidden" : "visible";
1220
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
1588
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1221
1589
  "label",
1222
1590
  {
1223
1591
  ...nativeProps,
1224
1592
  ...disabled && { "data-disabled": true },
1225
- className: (0, import_css14.cx)(
1593
+ className: (0, import_css18.cx)(
1226
1594
  nativeProps.className,
1227
- (0, import_recipes12.label)({ size, usage }),
1595
+ (0, import_recipes15.label)({ size, usage }),
1228
1596
  (0, import_patterns7.hstack)({
1229
1597
  justify: "space-between",
1230
1598
  w: "full"
@@ -1232,10 +1600,10 @@ function Label(props) {
1232
1600
  ),
1233
1601
  children: [
1234
1602
  props.children,
1235
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Show, { when: required, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1603
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Show, { when: required, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1236
1604
  "span",
1237
1605
  {
1238
- className: (0, import_css14.css)({
1606
+ className: (0, import_css18.css)({
1239
1607
  color: "page.text.100",
1240
1608
  fontSize: "inherit"
1241
1609
  }),
@@ -1248,35 +1616,35 @@ function Label(props) {
1248
1616
  }
1249
1617
 
1250
1618
  // src/components/Legend.tsx
1251
- var import_css15 = require("@cerberus/styled-system/css");
1252
- var import_recipes13 = require("@cerberus/styled-system/recipes");
1619
+ var import_css19 = require("@cerberus/styled-system/css");
1620
+ var import_recipes16 = require("@cerberus/styled-system/recipes");
1253
1621
  var import_patterns8 = require("@cerberus/styled-system/patterns");
1254
- var import_jsx_runtime21 = require("react/jsx-runtime");
1622
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1255
1623
  function Legend(props) {
1256
1624
  const { size, ...nativeProps } = props;
1257
1625
  const { invalid, ...formState } = useFieldContext();
1258
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1626
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1259
1627
  "legend",
1260
1628
  {
1261
1629
  ...nativeProps,
1262
1630
  ...formState,
1263
1631
  ...invalid && { "aria-invalid": true },
1264
- className: (0, import_css15.cx)(
1632
+ className: (0, import_css19.cx)(
1265
1633
  nativeProps.className,
1266
1634
  (0, import_patterns8.hstack)({
1267
1635
  justify: "space-between",
1268
1636
  w: "full"
1269
1637
  }),
1270
- (0, import_recipes13.label)({
1638
+ (0, import_recipes16.label)({
1271
1639
  size
1272
1640
  })
1273
1641
  ),
1274
1642
  children: [
1275
1643
  nativeProps.children,
1276
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Show, { when: formState.required, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1644
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Show, { when: formState.required, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1277
1645
  "span",
1278
1646
  {
1279
- className: (0, import_css15.css)({
1647
+ className: (0, import_css19.css)({
1280
1648
  color: "page.text.100",
1281
1649
  fontSize: "inherit"
1282
1650
  }),
@@ -1289,74 +1657,74 @@ function Legend(props) {
1289
1657
  }
1290
1658
 
1291
1659
  // src/components/Menu.tsx
1292
- var import_react6 = require("@ark-ui/react");
1293
- var import_recipes14 = require("@cerberus/styled-system/recipes");
1294
- var import_css16 = require("@cerberus/styled-system/css");
1295
- var import_jsx_runtime22 = require("react/jsx-runtime");
1296
- var menuStyles = (0, import_recipes14.menu)();
1297
- var Menu = import_react6.Menu.Root;
1660
+ var import_react10 = require("@ark-ui/react");
1661
+ var import_recipes17 = require("@cerberus/styled-system/recipes");
1662
+ var import_css20 = require("@cerberus/styled-system/css");
1663
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1664
+ var menuStyles = (0, import_recipes17.menu)();
1665
+ var Menu = import_react10.Menu.Root;
1298
1666
  function MenuTrigger(props) {
1299
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react6.Menu.Trigger, { ...props, asChild: true });
1667
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react10.Menu.Trigger, { ...props, asChild: true });
1300
1668
  }
1301
1669
  function MenuContent(props) {
1302
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react6.Menu.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1303
- import_react6.Menu.Content,
1670
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react10.Menu.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1671
+ import_react10.Menu.Content,
1304
1672
  {
1305
1673
  ...props,
1306
- className: (0, import_css16.cx)(props.className, menuStyles.content)
1674
+ className: (0, import_css20.cx)(props.className, menuStyles.content)
1307
1675
  }
1308
1676
  ) });
1309
1677
  }
1310
1678
  function MenuItem(props) {
1311
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react6.Menu.Item, { ...props, className: (0, import_css16.cx)(props.className, menuStyles.item) });
1679
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react10.Menu.Item, { ...props, className: (0, import_css20.cx)(props.className, menuStyles.item) });
1312
1680
  }
1313
- var MenuItemGroup = import_react6.Menu.ItemGroup;
1681
+ var MenuItemGroup = import_react10.Menu.ItemGroup;
1314
1682
  function MenuGroupLabel(props) {
1315
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1316
- import_react6.Menu.ItemGroupLabel,
1683
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1684
+ import_react10.Menu.ItemGroupLabel,
1317
1685
  {
1318
1686
  ...props,
1319
- className: (0, import_css16.cx)(props.className, menuStyles.itemGroupLabel)
1687
+ className: (0, import_css20.cx)(props.className, menuStyles.itemGroupLabel)
1320
1688
  }
1321
1689
  );
1322
1690
  }
1323
1691
  function MenuSeparator(props) {
1324
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1325
- import_react6.Menu.Separator,
1692
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1693
+ import_react10.Menu.Separator,
1326
1694
  {
1327
1695
  ...props,
1328
- className: (0, import_css16.cx)(props.className, menuStyles.separator)
1696
+ className: (0, import_css20.cx)(props.className, menuStyles.separator)
1329
1697
  }
1330
1698
  );
1331
1699
  }
1332
1700
 
1333
1701
  // src/components/Modal.tsx
1334
- var import_css17 = require("@cerberus/styled-system/css");
1335
- var import_recipes15 = require("@cerberus/styled-system/recipes");
1336
- var import_react7 = require("react");
1337
- var import_jsx_runtime23 = require("react/jsx-runtime");
1702
+ var import_css21 = require("@cerberus/styled-system/css");
1703
+ var import_recipes18 = require("@cerberus/styled-system/recipes");
1704
+ var import_react11 = require("react");
1705
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1338
1706
  function ModalEl(props, ref) {
1339
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1707
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1340
1708
  "dialog",
1341
1709
  {
1342
1710
  ...props,
1343
- className: (0, import_css17.cx)(props.className, (0, import_recipes15.modal)().dialog),
1711
+ className: (0, import_css21.cx)(props.className, (0, import_recipes18.modal)().dialog),
1344
1712
  ref
1345
1713
  }
1346
1714
  );
1347
1715
  }
1348
- var Modal = (0, import_react7.forwardRef)(ModalEl);
1716
+ var Modal = (0, import_react11.forwardRef)(ModalEl);
1349
1717
 
1350
1718
  // src/components/ModalHeader.tsx
1351
- var import_css18 = require("@cerberus/styled-system/css");
1719
+ var import_css22 = require("@cerberus/styled-system/css");
1352
1720
  var import_patterns9 = require("@cerberus/styled-system/patterns");
1353
- var import_jsx_runtime24 = require("react/jsx-runtime");
1721
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1354
1722
  function ModalHeader(props) {
1355
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1723
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1356
1724
  "div",
1357
1725
  {
1358
1726
  ...props,
1359
- className: (0, import_css18.cx)(
1727
+ className: (0, import_css22.cx)(
1360
1728
  props.className,
1361
1729
  (0, import_patterns9.vstack)({
1362
1730
  alignItems: "flex-start",
@@ -1369,25 +1737,25 @@ function ModalHeader(props) {
1369
1737
  }
1370
1738
 
1371
1739
  // src/components/ModalHeading.tsx
1372
- var import_css19 = require("@cerberus/styled-system/css");
1373
- var import_recipes16 = require("@cerberus/styled-system/recipes");
1374
- var import_jsx_runtime25 = require("react/jsx-runtime");
1740
+ var import_css23 = require("@cerberus/styled-system/css");
1741
+ var import_recipes19 = require("@cerberus/styled-system/recipes");
1742
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1375
1743
  function ModalHeading(props) {
1376
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("p", { ...props, className: (0, import_css19.cx)(props.className, (0, import_recipes16.modal)().heading) });
1744
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { ...props, className: (0, import_css23.cx)(props.className, (0, import_recipes19.modal)().heading) });
1377
1745
  }
1378
1746
 
1379
1747
  // src/components/ModalDescription.tsx
1380
- var import_css20 = require("@cerberus/styled-system/css");
1381
- var import_recipes17 = require("@cerberus/styled-system/recipes");
1382
- var import_jsx_runtime26 = require("react/jsx-runtime");
1748
+ var import_css24 = require("@cerberus/styled-system/css");
1749
+ var import_recipes20 = require("@cerberus/styled-system/recipes");
1750
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1383
1751
  function ModalDescription(props) {
1384
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { ...props, className: (0, import_css20.cx)(props.className, (0, import_recipes17.modal)().description) });
1752
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { ...props, className: (0, import_css24.cx)(props.className, (0, import_recipes20.modal)().description) });
1385
1753
  }
1386
1754
 
1387
1755
  // src/components/NavMenuTrigger.tsx
1388
- var import_react9 = require("react");
1389
- var import_css22 = require("@cerberus/styled-system/css");
1390
- var import_recipes18 = require("@cerberus/styled-system/recipes");
1756
+ var import_react13 = require("react");
1757
+ var import_css26 = require("@cerberus/styled-system/css");
1758
+ var import_recipes21 = require("@cerberus/styled-system/recipes");
1391
1759
 
1392
1760
  // src/aria-helpers/nav-menu.aria.ts
1393
1761
  function createNavTriggerProps(values) {
@@ -1398,18 +1766,18 @@ function createNavTriggerProps(values) {
1398
1766
  }
1399
1767
 
1400
1768
  // src/context/navMenu.tsx
1401
- var import_css21 = require("@cerberus/styled-system/css");
1402
- var import_react8 = require("react");
1403
- var import_jsx_runtime27 = require("react/jsx-runtime");
1404
- var NavMenuContext = (0, import_react8.createContext)(null);
1769
+ var import_css25 = require("@cerberus/styled-system/css");
1770
+ var import_react12 = require("react");
1771
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1772
+ var NavMenuContext = (0, import_react12.createContext)(null);
1405
1773
  function NavMenu(props) {
1406
- const triggerRef = (0, import_react8.useRef)(null);
1407
- const menuRef = (0, import_react8.useRef)(null);
1408
- const [expanded, setExpanded] = (0, import_react8.useState)(false);
1409
- const handleToggle = (0, import_react8.useCallback)(() => {
1774
+ const triggerRef = (0, import_react12.useRef)(null);
1775
+ const menuRef = (0, import_react12.useRef)(null);
1776
+ const [expanded, setExpanded] = (0, import_react12.useState)(false);
1777
+ const handleToggle = (0, import_react12.useCallback)(() => {
1410
1778
  setExpanded((prev) => !prev);
1411
1779
  }, []);
1412
- const value = (0, import_react8.useMemo)(
1780
+ const value = (0, import_react12.useMemo)(
1413
1781
  () => ({
1414
1782
  triggerRef,
1415
1783
  menuRef,
@@ -1418,10 +1786,10 @@ function NavMenu(props) {
1418
1786
  }),
1419
1787
  [expanded, handleToggle]
1420
1788
  );
1421
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(NavMenuContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1789
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(NavMenuContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1422
1790
  "nav",
1423
1791
  {
1424
- className: (0, import_css21.css)({
1792
+ className: (0, import_css25.css)({
1425
1793
  position: "relative"
1426
1794
  }),
1427
1795
  children: props.children
@@ -1429,7 +1797,7 @@ function NavMenu(props) {
1429
1797
  ) });
1430
1798
  }
1431
1799
  function useNavMenuContext() {
1432
- const context = (0, import_react8.useContext)(NavMenuContext);
1800
+ const context = (0, import_react12.useContext)(NavMenuContext);
1433
1801
  if (!context) {
1434
1802
  throw new Error("useNavMenuContext must be used within a NavMenu.");
1435
1803
  }
@@ -1437,7 +1805,7 @@ function useNavMenuContext() {
1437
1805
  }
1438
1806
 
1439
1807
  // src/components/NavMenuTrigger.tsx
1440
- var import_jsx_runtime28 = require("react/jsx-runtime");
1808
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1441
1809
  function NavMenuTrigger(props) {
1442
1810
  const {
1443
1811
  as,
@@ -1456,25 +1824,25 @@ function NavMenuTrigger(props) {
1456
1824
  });
1457
1825
  const hasAs = Boolean(as);
1458
1826
  const AsSub = as;
1459
- const handleClick = (0, import_react9.useCallback)(
1827
+ const handleClick = (0, import_react13.useCallback)(
1460
1828
  (e) => {
1461
1829
  if (onClick) return onClick(e);
1462
1830
  onToggle();
1463
1831
  },
1464
1832
  [onClick, onToggle]
1465
1833
  );
1466
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1834
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1467
1835
  Show,
1468
1836
  {
1469
1837
  when: hasAs,
1470
- fallback: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1838
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1471
1839
  "button",
1472
1840
  {
1473
1841
  ...nativeProps,
1474
1842
  ...ariaProps,
1475
- className: (0, import_css22.cx)(
1843
+ className: (0, import_css26.cx)(
1476
1844
  nativeProps.className,
1477
- (0, import_recipes18.button)({
1845
+ (0, import_recipes21.button)({
1478
1846
  palette,
1479
1847
  usage,
1480
1848
  shape
@@ -1485,7 +1853,7 @@ function NavMenuTrigger(props) {
1485
1853
  children: props.children
1486
1854
  }
1487
1855
  ),
1488
- children: hasAs && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1856
+ children: hasAs && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1489
1857
  AsSub,
1490
1858
  {
1491
1859
  ...nativeProps,
@@ -1499,10 +1867,10 @@ function NavMenuTrigger(props) {
1499
1867
  }
1500
1868
 
1501
1869
  // src/components/NavMenuList.tsx
1502
- var import_react10 = require("react");
1503
- var import_css23 = require("@cerberus/styled-system/css");
1870
+ var import_react14 = require("react");
1871
+ var import_css27 = require("@cerberus/styled-system/css");
1504
1872
  var import_patterns10 = require("@cerberus/styled-system/patterns");
1505
- var import_jsx_runtime29 = require("react/jsx-runtime");
1873
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1506
1874
  function getPosition(position) {
1507
1875
  const defaultPositions = {
1508
1876
  left: "auto",
@@ -1556,16 +1924,16 @@ var navListStyles = (0, import_patterns10.vstack)({
1556
1924
  function NavMenuList(props) {
1557
1925
  const { position, ...nativeProps } = props;
1558
1926
  const { menuRef, expanded } = useNavMenuContext();
1559
- const locationStyles = (0, import_react10.useMemo)(
1927
+ const locationStyles = (0, import_react14.useMemo)(
1560
1928
  () => getPosition(position ?? "bottom"),
1561
1929
  [position]
1562
1930
  );
1563
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Show, { when: expanded, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1931
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Show, { when: expanded, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1564
1932
  "ul",
1565
1933
  {
1566
1934
  ...nativeProps,
1567
1935
  "data-position": position ?? "bottom",
1568
- className: (0, import_css23.cx)(nativeProps.className, navListStyles),
1936
+ className: (0, import_css27.cx)(nativeProps.className, navListStyles),
1569
1937
  ref: menuRef,
1570
1938
  style: locationStyles
1571
1939
  }
@@ -1573,29 +1941,29 @@ function NavMenuList(props) {
1573
1941
  }
1574
1942
 
1575
1943
  // src/components/NavMenuLink.tsx
1576
- var import_css24 = require("@cerberus/styled-system/css");
1577
- var import_jsx_runtime30 = require("react/jsx-runtime");
1944
+ var import_css28 = require("@cerberus/styled-system/css");
1945
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1578
1946
  function NavMenuLink(props) {
1579
1947
  const { as, ...nativeProps } = props;
1580
1948
  const hasAs = Boolean(as);
1581
1949
  const AsSub = as;
1582
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1950
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1583
1951
  "li",
1584
1952
  {
1585
- className: (0, import_css24.css)({
1953
+ className: (0, import_css28.css)({
1586
1954
  w: "full"
1587
1955
  }),
1588
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1956
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1589
1957
  Show,
1590
1958
  {
1591
1959
  when: hasAs,
1592
- fallback: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1960
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1593
1961
  "a",
1594
1962
  {
1595
1963
  ...nativeProps,
1596
- className: (0, import_css24.cx)(
1964
+ className: (0, import_css28.cx)(
1597
1965
  nativeProps.className,
1598
- (0, import_css24.css)({
1966
+ (0, import_css28.css)({
1599
1967
  color: "action.navigation.initial",
1600
1968
  textStyle: "link",
1601
1969
  _hover: {
@@ -1605,7 +1973,7 @@ function NavMenuLink(props) {
1605
1973
  )
1606
1974
  }
1607
1975
  ),
1608
- children: hasAs && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(AsSub, { ...nativeProps })
1976
+ children: hasAs && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(AsSub, { ...nativeProps })
1609
1977
  }
1610
1978
  )
1611
1979
  }
@@ -1613,10 +1981,10 @@ function NavMenuLink(props) {
1613
1981
  }
1614
1982
 
1615
1983
  // src/components/Notification.tsx
1616
- var import_css25 = require("@cerberus/styled-system/css");
1984
+ var import_css29 = require("@cerberus/styled-system/css");
1617
1985
  var import_patterns11 = require("@cerberus/styled-system/patterns");
1618
- var import_recipes19 = require("@cerberus/styled-system/recipes");
1619
- var import_react11 = require("react");
1986
+ var import_recipes22 = require("@cerberus/styled-system/recipes");
1987
+ var import_react15 = require("react");
1620
1988
 
1621
1989
  // src/aria-helpers/trap-focus.aria.ts
1622
1990
  function trapFocus(modalRef) {
@@ -1645,24 +2013,24 @@ function trapFocus(modalRef) {
1645
2013
  }
1646
2014
 
1647
2015
  // src/components/Notification.tsx
1648
- var import_jsx_runtime31 = require("react/jsx-runtime");
2016
+ var import_jsx_runtime35 = require("react/jsx-runtime");
1649
2017
  function MatchNotificationIcon(props) {
1650
2018
  const palette = props.palette || "info";
1651
2019
  const key = `${palette}Notification`;
1652
2020
  const Icon = $cerberusIcons[key];
1653
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Icon, {});
2021
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon, {});
1654
2022
  }
1655
2023
  function Notification(props) {
1656
2024
  const { children, palette, onClose, ...nativeProps } = props;
1657
- const ref = (0, import_react11.useRef)(null);
2025
+ const ref = (0, import_react15.useRef)(null);
1658
2026
  const onKeyDown = trapFocus(ref);
1659
- const styles = (0, import_recipes19.notification)({ palette });
2027
+ const styles = (0, import_recipes22.notification)({ palette });
1660
2028
  const { close: CloseIcon } = $cerberusIcons;
1661
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
2029
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
1662
2030
  "dialog",
1663
2031
  {
1664
2032
  ...nativeProps,
1665
- className: (0, import_css25.cx)(
2033
+ className: (0, import_css29.cx)(
1666
2034
  nativeProps.className,
1667
2035
  (0, import_patterns11.hstack)({
1668
2036
  position: "relative",
@@ -1673,8 +2041,8 @@ function Notification(props) {
1673
2041
  onKeyDown,
1674
2042
  ref,
1675
2043
  children: [
1676
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(MatchNotificationIcon, { palette }) }),
1677
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2044
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(MatchNotificationIcon, { palette }) }),
2045
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1678
2046
  "div",
1679
2047
  {
1680
2048
  className: (0, import_patterns11.vstack)({
@@ -1685,14 +2053,14 @@ function Notification(props) {
1685
2053
  children
1686
2054
  }
1687
2055
  ),
1688
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2056
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1689
2057
  "button",
1690
2058
  {
1691
2059
  "aria-label": "Close",
1692
2060
  className: styles.close,
1693
2061
  onClick: onClose,
1694
2062
  value: props.id,
1695
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CloseIcon, {})
2063
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CloseIcon, {})
1696
2064
  }
1697
2065
  )
1698
2066
  ]
@@ -1701,48 +2069,44 @@ function Notification(props) {
1701
2069
  }
1702
2070
 
1703
2071
  // src/components/NotificationHeading.tsx
1704
- var import_css26 = require("@cerberus/styled-system/css");
1705
- var import_recipes20 = require("@cerberus/styled-system/recipes");
1706
- var import_jsx_runtime32 = require("react/jsx-runtime");
2072
+ var import_css30 = require("@cerberus/styled-system/css");
2073
+ var import_recipes23 = require("@cerberus/styled-system/recipes");
2074
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1707
2075
  function NotificationHeading(props) {
1708
2076
  const { palette, ...nativeProps } = props;
1709
- const styles = (0, import_recipes20.notification)({ palette });
1710
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: (0, import_css26.cx)(nativeProps.className, styles.heading), ...nativeProps });
2077
+ const styles = (0, import_recipes23.notification)({ palette });
2078
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: (0, import_css30.cx)(nativeProps.className, styles.heading), ...nativeProps });
1711
2079
  }
1712
2080
 
1713
2081
  // src/components/NotificationDescription.tsx
1714
- var import_css27 = require("@cerberus/styled-system/css");
1715
- var import_recipes21 = require("@cerberus/styled-system/recipes");
1716
- var import_jsx_runtime33 = require("react/jsx-runtime");
2082
+ var import_css31 = require("@cerberus/styled-system/css");
2083
+ var import_recipes24 = require("@cerberus/styled-system/recipes");
2084
+ var import_jsx_runtime37 = require("react/jsx-runtime");
1717
2085
  function NotificationDescription(props) {
1718
2086
  const { palette, ...nativeProps } = props;
1719
- const styles = (0, import_recipes21.notification)({ palette });
1720
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2087
+ const styles = (0, import_recipes24.notification)({ palette });
2088
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1721
2089
  "p",
1722
2090
  {
1723
- className: (0, import_css27.cx)(nativeProps.className, styles.description),
2091
+ className: (0, import_css31.cx)(nativeProps.className, styles.description),
1724
2092
  ...nativeProps
1725
2093
  }
1726
2094
  );
1727
2095
  }
1728
2096
 
1729
- // src/components/Portal.tsx
1730
- var import_react12 = require("@ark-ui/react");
1731
- var Portal = import_react12.Portal;
1732
-
1733
2097
  // src/components/Radio.tsx
1734
- var import_css28 = require("@cerberus/styled-system/css");
2098
+ var import_css32 = require("@cerberus/styled-system/css");
1735
2099
  var import_patterns12 = require("@cerberus/styled-system/patterns");
1736
- var import_recipes22 = require("@cerberus/styled-system/recipes");
1737
- var import_jsx_runtime34 = require("react/jsx-runtime");
2100
+ var import_recipes25 = require("@cerberus/styled-system/recipes");
2101
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1738
2102
  function Radio(props) {
1739
2103
  const { children, size, ...nativeProps } = props;
1740
2104
  const { invalid, ...state } = useFieldContext();
1741
- const styles = (0, import_recipes22.radio)({ size });
1742
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
2105
+ const styles = (0, import_recipes25.radio)({ size });
2106
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
1743
2107
  "div",
1744
2108
  {
1745
- className: (0, import_css28.cx)(
2109
+ className: (0, import_css32.cx)(
1746
2110
  "group",
1747
2111
  (0, import_patterns12.hstack)({
1748
2112
  gap: "sm"
@@ -1751,13 +2115,13 @@ function Radio(props) {
1751
2115
  ),
1752
2116
  tabIndex: 0,
1753
2117
  children: [
1754
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2118
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1755
2119
  "input",
1756
2120
  {
1757
2121
  ...nativeProps,
1758
2122
  ...state,
1759
2123
  ...invalid && { "aria-invalid": true },
1760
- className: (0, import_css28.cx)(nativeProps.className, styles.input),
2124
+ className: (0, import_css32.cx)(nativeProps.className, styles.input),
1761
2125
  tabIndex: -1,
1762
2126
  type: "radio"
1763
2127
  }
@@ -1769,19 +2133,19 @@ function Radio(props) {
1769
2133
  }
1770
2134
 
1771
2135
  // src/components/Select.tsx
1772
- var import_css29 = require("@cerberus/styled-system/css");
2136
+ var import_css33 = require("@cerberus/styled-system/css");
1773
2137
  var import_patterns13 = require("@cerberus/styled-system/patterns");
1774
- var import_recipes23 = require("@cerberus/styled-system/recipes");
1775
- var import_jsx_runtime35 = require("react/jsx-runtime");
2138
+ var import_recipes26 = require("@cerberus/styled-system/recipes");
2139
+ var import_jsx_runtime39 = require("react/jsx-runtime");
1776
2140
  function Select(props) {
1777
2141
  const { describedBy, size, ...nativeProps } = props;
1778
2142
  const { invalid, ...fieldStates } = useFieldContext();
1779
2143
  const { invalid: InvalidIcon, selectArrow: SelectArrow } = $cerberusIcons;
1780
- const styles = (0, import_recipes23.select)({
2144
+ const styles = (0, import_recipes26.select)({
1781
2145
  size
1782
2146
  });
1783
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: styles.root, children: [
1784
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2147
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: styles.root, children: [
2148
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1785
2149
  "select",
1786
2150
  {
1787
2151
  ...nativeProps,
@@ -1791,38 +2155,38 @@ function Select(props) {
1791
2155
  className: styles.input
1792
2156
  }
1793
2157
  ),
1794
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
2158
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
1795
2159
  "span",
1796
2160
  {
1797
- className: (0, import_css29.cx)(
2161
+ className: (0, import_css33.cx)(
1798
2162
  styles.iconStack,
1799
2163
  (0, import_patterns13.hstack)({
1800
2164
  gap: "2"
1801
2165
  })
1802
2166
  ),
1803
2167
  children: [
1804
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Show, { when: invalid, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2168
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Show, { when: invalid, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1805
2169
  "span",
1806
2170
  {
1807
2171
  ...invalid && { "data-invalid": true },
1808
2172
  className: styles.stateIcon,
1809
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(InvalidIcon, {})
2173
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(InvalidIcon, {})
1810
2174
  }
1811
2175
  ) }),
1812
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: styles.arrowIcon, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectArrow, {}) })
2176
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: styles.arrowIcon, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(SelectArrow, {}) })
1813
2177
  ]
1814
2178
  }
1815
2179
  )
1816
2180
  ] });
1817
2181
  }
1818
2182
  function Option(props) {
1819
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("option", { ...props });
2183
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("option", { ...props });
1820
2184
  }
1821
2185
 
1822
2186
  // src/components/Spinner.tsx
1823
- var import_jsx_runtime36 = require("react/jsx-runtime");
2187
+ var import_jsx_runtime40 = require("react/jsx-runtime");
1824
2188
  function Spinner(props) {
1825
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2189
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1826
2190
  "svg",
1827
2191
  {
1828
2192
  "aria-busy": "true",
@@ -1832,7 +2196,7 @@ function Spinner(props) {
1832
2196
  width: props.size,
1833
2197
  viewBox: "0 0 24 24",
1834
2198
  ...props,
1835
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2199
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
1836
2200
  "g",
1837
2201
  {
1838
2202
  fill: "none",
@@ -1841,14 +2205,14 @@ function Spinner(props) {
1841
2205
  strokeLinejoin: "round",
1842
2206
  strokeWidth: 2,
1843
2207
  children: [
1844
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2208
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
1845
2209
  "path",
1846
2210
  {
1847
2211
  strokeDasharray: 16,
1848
2212
  strokeDashoffset: 16,
1849
2213
  d: "M12 3c4.97 0 9 4.03 9 9",
1850
2214
  children: [
1851
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2215
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1852
2216
  "animate",
1853
2217
  {
1854
2218
  fill: "freeze",
@@ -1857,7 +2221,7 @@ function Spinner(props) {
1857
2221
  values: "16;0"
1858
2222
  }
1859
2223
  ),
1860
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2224
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1861
2225
  "animateTransform",
1862
2226
  {
1863
2227
  attributeName: "transform",
@@ -1870,14 +2234,14 @@ function Spinner(props) {
1870
2234
  ]
1871
2235
  }
1872
2236
  ),
1873
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2237
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1874
2238
  "path",
1875
2239
  {
1876
2240
  strokeDasharray: 64,
1877
2241
  strokeDashoffset: 64,
1878
2242
  strokeOpacity: 0.3,
1879
2243
  d: "M12 3c4.97 0 9 4.03 9 9c0 4.97 -4.03 9 -9 9c-4.97 0 -9 -4.03 -9 -9c0 -4.97 4.03 -9 9 -9Z",
1880
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2244
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1881
2245
  "animate",
1882
2246
  {
1883
2247
  fill: "freeze",
@@ -1895,245 +2259,188 @@ function Spinner(props) {
1895
2259
  );
1896
2260
  }
1897
2261
 
1898
- // src/components/Tab.tsx
1899
- var import_react15 = require("react");
2262
+ // src/components/Tabs.client.tsx
2263
+ var import_tabs2 = require("@ark-ui/react/tabs");
2264
+ var import_css34 = require("@cerberus/styled-system/css");
1900
2265
 
1901
2266
  // src/context/tabs.tsx
1902
- var import_recipes24 = require("@cerberus/styled-system/recipes");
1903
- var import_react13 = require("react");
1904
- var import_jsx_runtime37 = require("react/jsx-runtime");
1905
- var TabsContext = (0, import_react13.createContext)(null);
2267
+ var import_tabs = require("@ark-ui/react/tabs");
2268
+ var import_recipes27 = require("@cerberus/styled-system/recipes");
2269
+ var import_react16 = require("react");
2270
+
2271
+ // src/utils/localStorage.ts
2272
+ function getLocalStorage(key, defaultValue) {
2273
+ const value = window.localStorage.getItem(key);
2274
+ if (value) {
2275
+ return value;
2276
+ }
2277
+ return defaultValue;
2278
+ }
2279
+ function setLocalStorage(key, value) {
2280
+ const stringValue = typeof value === "string" ? value : JSON.stringify(value);
2281
+ window.localStorage.setItem(key, stringValue);
2282
+ }
2283
+
2284
+ // src/context/tabs.tsx
2285
+ var import_jsx_runtime41 = require("react/jsx-runtime");
2286
+ var TabsContext = (0, import_react16.createContext)(null);
1906
2287
  function Tabs(props) {
1907
- const { cache, active, id, palette } = props;
1908
- const [activeTab, setActiveTab] = (0, import_react13.useState)(() => cache ? "" : active ?? "");
1909
- const tabsList = (0, import_react13.useRef)([]);
1910
- const uuid = (0, import_react13.useMemo)(() => {
1911
- return id ? `cerberus-tabs-${id}` : "cerberus-tabs";
1912
- }, [id]);
1913
- const value = (0, import_react13.useMemo)(
2288
+ const { cache, defaultValue, palette, uuid, ...arkProps } = props;
2289
+ const [activeTab, setActiveTab] = (0, import_react16.useState)(
2290
+ () => cache ? "" : defaultValue
2291
+ );
2292
+ const styles = (0, import_recipes27.tabs)({ palette });
2293
+ const cacheKey = (0, import_react16.useMemo)(
2294
+ () => uuid ? `cerberus-tabs-${uuid}` : "cerberus-tabs",
2295
+ [uuid]
2296
+ );
2297
+ const handleValueChange = (0, import_react16.useCallback)(
2298
+ (details) => {
2299
+ if (cache) {
2300
+ setLocalStorage(cacheKey, details.value);
2301
+ }
2302
+ setActiveTab(details.value);
2303
+ },
2304
+ [cache]
2305
+ );
2306
+ (0, import_react16.useEffect)(() => {
2307
+ if (cache && !activeTab) {
2308
+ const cachedTab = getLocalStorage(cacheKey, defaultValue ?? "");
2309
+ setActiveTab(cachedTab);
2310
+ }
2311
+ }, [cache, defaultValue, activeTab]);
2312
+ const value = (0, import_react16.useMemo)(
1914
2313
  () => ({
1915
- tabs: tabsList,
1916
- id: uuid,
1917
2314
  active: activeTab,
1918
- styles: (0, import_recipes24.tabs)({ palette }),
1919
- onTabUpdate: setActiveTab
2315
+ styles
1920
2316
  }),
1921
- [activeTab, setActiveTab, palette, uuid, tabsList]
2317
+ [activeTab, palette, styles]
1922
2318
  );
1923
- (0, import_react13.useEffect)(() => {
1924
- if (cache) {
1925
- const cachedTab = window.localStorage.getItem(uuid);
1926
- setActiveTab(
1927
- cache ? cachedTab || (props.active ?? "") : props.active ?? ""
1928
- );
1929
- }
1930
- }, [cache, active, uuid]);
1931
- (0, import_react13.useEffect)(() => {
1932
- if (cache && activeTab) {
1933
- window.localStorage.setItem(uuid, activeTab);
2319
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TabsContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2320
+ import_tabs.Tabs.Root,
2321
+ {
2322
+ ...arkProps,
2323
+ "aria-busy": !activeTab,
2324
+ className: styles.root,
2325
+ defaultValue,
2326
+ onValueChange: handleValueChange,
2327
+ value: activeTab,
2328
+ children: props.children
1934
2329
  }
1935
- }, [activeTab, cache]);
1936
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TabsContext.Provider, { value, children: props.children });
2330
+ ) });
1937
2331
  }
1938
2332
  function useTabsContext() {
1939
- const context = (0, import_react13.useContext)(TabsContext);
2333
+ const context = (0, import_react16.useContext)(TabsContext);
1940
2334
  if (!context) {
1941
2335
  throw new Error("useTabsContext must be used within a Tabs Provider.");
1942
2336
  }
1943
2337
  return context;
1944
2338
  }
1945
2339
 
1946
- // src/components/Tab.tsx
1947
- var import_css30 = require("@cerberus/styled-system/css");
1948
-
1949
- // src/aria-helpers/tabs.aria.ts
1950
- var import_react14 = require("react");
1951
- function getNextIndex(index, length) {
1952
- return index === length - 1 ? 0 : index + 1;
1953
- }
1954
- function getPrevIndex(index, length) {
1955
- return index === 0 ? length - 1 : index - 1;
1956
- }
1957
- function useTabsKeyboardNavigation() {
1958
- const { tabs: tabs2 } = useTabsContext();
1959
- const [activeTab, setActiveTab] = (0, import_react14.useState)(-1);
1960
- (0, import_react14.useEffect)(() => {
1961
- const handleKeyDown = (event) => {
1962
- const index = activeTab === -1 ? tabs2.current.findIndex((tab) => tab.ariaSelected === "true") : activeTab;
1963
- const nextIndex = getNextIndex(index, tabs2.current.length);
1964
- const prevIndex = getPrevIndex(index, tabs2.current.length);
1965
- if (index === -1) return;
1966
- switch (event.key) {
1967
- case "ArrowLeft":
1968
- event.preventDefault();
1969
- setActiveTab(prevIndex);
1970
- tabs2.current[prevIndex].focus();
1971
- break;
1972
- case "ArrowRight":
1973
- event.preventDefault();
1974
- setActiveTab(nextIndex);
1975
- tabs2.current[nextIndex].focus();
1976
- break;
1977
- case "Home":
1978
- event.preventDefault();
1979
- setActiveTab(0);
1980
- tabs2.current[0].focus();
1981
- break;
1982
- case "End":
1983
- event.preventDefault();
1984
- setActiveTab(tabs2.current.length - 1);
1985
- tabs2.current[tabs2.current.length - 1].focus();
1986
- break;
1987
- default:
1988
- break;
1989
- }
1990
- };
1991
- document.addEventListener("keydown", handleKeyDown);
1992
- return () => {
1993
- document.removeEventListener("keydown", handleKeyDown);
1994
- };
1995
- }, [activeTab, tabs2.current]);
1996
- return {
1997
- ref: (tab) => {
1998
- if (tab && !tabs2.current.includes(tab)) {
1999
- tabs2.current.push(tab);
2000
- }
2340
+ // src/components/Tabs.client.tsx
2341
+ var import_jsx_runtime42 = require("react/jsx-runtime");
2342
+ function TabsList(props) {
2343
+ const { children, ...tabsProps } = props;
2344
+ const { styles } = useTabsContext();
2345
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
2346
+ import_tabs2.Tabs.List,
2347
+ {
2348
+ ...tabsProps,
2349
+ className: (0, import_css34.cx)(tabsProps.className, styles.list),
2350
+ children: [
2351
+ children,
2352
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(TabIndicator, {})
2353
+ ]
2001
2354
  }
2002
- };
2355
+ );
2003
2356
  }
2004
-
2005
- // src/components/Tab.tsx
2006
- var import_jsx_runtime38 = require("react/jsx-runtime");
2357
+ var TabList = TabsList;
2007
2358
  function Tab(props) {
2008
- const { value, ...nativeProps } = props;
2009
- const { active, onTabUpdate, styles } = useTabsContext();
2010
- const [isPending, startTransition] = (0, import_react15.useTransition)();
2011
- const { ref } = useTabsKeyboardNavigation();
2012
- const isActive = (0, import_react15.useMemo)(() => active === value, [active, value]);
2013
- function handleClick(e) {
2014
- var _a;
2015
- (_a = props.onClick) == null ? void 0 : _a.call(props, e);
2016
- startTransition(() => onTabUpdate(e.currentTarget.value));
2017
- }
2018
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2019
- "button",
2359
+ const { styles } = useTabsContext();
2360
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2361
+ import_tabs2.Tabs.Trigger,
2020
2362
  {
2021
- ...nativeProps,
2022
- ...!isActive && { tabIndex: -1 },
2023
- "aria-controls": `panel:${value}`,
2024
- "aria-busy": isPending,
2025
- "aria-selected": isActive,
2026
- id: `tab:${value}`,
2027
- className: (0, import_css30.cx)(nativeProps.className, styles.tab),
2028
- onClick: handleClick,
2029
- role: "tab",
2030
- ref,
2031
- value
2363
+ ...props,
2364
+ className: (0, import_css34.cx)(props.className, styles.trigger)
2032
2365
  }
2033
2366
  );
2034
2367
  }
2035
-
2036
- // src/components/TabList.tsx
2037
- var import_css31 = require("@cerberus/styled-system/css");
2038
- var import_patterns14 = require("@cerberus/styled-system/patterns");
2039
- var import_jsx_runtime39 = require("react/jsx-runtime");
2040
- function TabList(props) {
2041
- const { description, ...nativeProps } = props;
2042
- const { id, styles } = useTabsContext();
2043
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2044
- "div",
2368
+ function TabIndicator(props) {
2369
+ const { styles } = useTabsContext();
2370
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2371
+ import_tabs2.Tabs.Indicator,
2045
2372
  {
2046
- ...nativeProps,
2047
- "aria-label": description,
2048
- className: (0, import_css31.cx)(
2049
- nativeProps.className,
2050
- (0, import_patterns14.hstack)({
2051
- gap: "0"
2052
- }),
2053
- styles.tabList
2054
- ),
2055
- id: id ?? nativeProps.id,
2056
- role: "tablist"
2373
+ ...props,
2374
+ className: (0, import_css34.cx)(props.className, styles.indicator)
2057
2375
  }
2058
2376
  );
2059
2377
  }
2060
-
2061
- // src/components/TabPanel.tsx
2062
- var import_css32 = require("@cerberus/styled-system/css");
2063
- var import_react16 = require("react");
2064
- var import_jsx_runtime40 = require("react/jsx-runtime");
2065
2378
  function TabPanel(props) {
2066
- const { tab, ...nativeProps } = props;
2067
- const { active, styles } = useTabsContext();
2068
- const isActive = (0, import_react16.useMemo)(() => active === tab, [active, tab]);
2069
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Show, { when: isActive, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2070
- "div",
2379
+ const { styles } = useTabsContext();
2380
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2381
+ import_tabs2.Tabs.Content,
2071
2382
  {
2072
- ...nativeProps,
2073
- ...isActive && { tabIndex: 0 },
2074
- "aria-labelledby": `tab:${tab}`,
2075
- className: (0, import_css32.cx)(nativeProps.className, styles.tabPanel),
2076
- id: `panel:${tab}`,
2077
- role: "tabpanel"
2383
+ ...props,
2384
+ className: (0, import_css34.cx)(props.className, styles.content)
2078
2385
  }
2079
- ) });
2386
+ );
2080
2387
  }
2081
2388
 
2082
2389
  // src/components/Table.tsx
2083
- var import_css33 = require("@cerberus/styled-system/css");
2084
- var import_recipes25 = require("@cerberus/styled-system/recipes");
2085
- var import_jsx_runtime41 = require("react/jsx-runtime");
2390
+ var import_css35 = require("@cerberus/styled-system/css");
2391
+ var import_recipes28 = require("@cerberus/styled-system/recipes");
2392
+ var import_jsx_runtime43 = require("react/jsx-runtime");
2086
2393
  function Table(props) {
2087
2394
  const { caption, children, ...nativeProps } = props;
2088
- const styles = (0, import_recipes25.table)();
2089
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: styles.container, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
2395
+ const styles = (0, import_recipes28.table)();
2396
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: styles.container, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
2090
2397
  "table",
2091
2398
  {
2092
2399
  ...nativeProps,
2093
- className: (0, import_css33.cx)(nativeProps.className, styles.table),
2400
+ className: (0, import_css35.cx)(nativeProps.className, styles.table),
2094
2401
  children: [
2095
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("caption", { className: styles.caption, children: caption }),
2402
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("caption", { className: styles.caption, children: caption }),
2096
2403
  children
2097
2404
  ]
2098
2405
  }
2099
2406
  ) });
2100
2407
  }
2101
2408
  function Tr(props) {
2102
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("tr", { ...props });
2409
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("tr", { ...props });
2103
2410
  }
2104
2411
 
2105
2412
  // src/components/Thead.tsx
2106
- var import_css34 = require("@cerberus/styled-system/css");
2107
- var import_recipes26 = require("@cerberus/styled-system/recipes");
2108
- var import_jsx_runtime42 = require("react/jsx-runtime");
2413
+ var import_css36 = require("@cerberus/styled-system/css");
2414
+ var import_recipes29 = require("@cerberus/styled-system/recipes");
2415
+ var import_jsx_runtime44 = require("react/jsx-runtime");
2109
2416
  function Thead(props) {
2110
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("thead", { ...props, className: (0, import_css34.cx)(props.className, (0, import_recipes26.thead)()) });
2417
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("thead", { ...props, className: (0, import_css36.cx)(props.className, (0, import_recipes29.thead)()) });
2111
2418
  }
2112
2419
 
2113
2420
  // src/components/Th.tsx
2114
- var import_css35 = require("@cerberus/styled-system/css");
2115
- var import_recipes27 = require("@cerberus/styled-system/recipes");
2116
- var import_jsx_runtime43 = require("react/jsx-runtime");
2421
+ var import_css37 = require("@cerberus/styled-system/css");
2422
+ var import_recipes30 = require("@cerberus/styled-system/recipes");
2423
+ var import_jsx_runtime45 = require("react/jsx-runtime");
2117
2424
  function Th(props) {
2118
2425
  const { size, onClick, ...nativeProps } = props;
2119
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2426
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2120
2427
  Show,
2121
2428
  {
2122
2429
  when: Boolean(onClick),
2123
- fallback: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2430
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2124
2431
  "th",
2125
2432
  {
2126
2433
  ...nativeProps,
2127
- className: (0, import_css35.cx)(nativeProps.className, (0, import_recipes27.th)({ size }))
2434
+ className: (0, import_css37.cx)(nativeProps.className, (0, import_recipes30.th)({ size }))
2128
2435
  }
2129
2436
  ),
2130
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("th", { ...nativeProps, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2437
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("th", { ...nativeProps, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2131
2438
  "button",
2132
2439
  {
2133
- className: (0, import_css35.cx)(
2440
+ className: (0, import_css37.cx)(
2134
2441
  nativeProps.className,
2135
- (0, import_recipes27.th)({ size }),
2136
- (0, import_css35.css)({
2442
+ (0, import_recipes30.th)({ size }),
2443
+ (0, import_css37.css)({
2137
2444
  alignItems: "center",
2138
2445
  display: "inline-flex",
2139
2446
  justifyContent: "space-between",
@@ -2153,18 +2460,18 @@ function Th(props) {
2153
2460
  }
2154
2461
 
2155
2462
  // src/components/Td.tsx
2156
- var import_css36 = require("@cerberus/styled-system/css");
2157
- var import_recipes28 = require("@cerberus/styled-system/recipes");
2158
- var import_jsx_runtime44 = require("react/jsx-runtime");
2463
+ var import_css38 = require("@cerberus/styled-system/css");
2464
+ var import_recipes31 = require("@cerberus/styled-system/recipes");
2465
+ var import_jsx_runtime46 = require("react/jsx-runtime");
2159
2466
  function Td(props) {
2160
2467
  const { size, ...nativeProps } = props;
2161
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2468
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2162
2469
  "td",
2163
2470
  {
2164
2471
  ...nativeProps,
2165
- className: (0, import_css36.cx)(
2472
+ className: (0, import_css38.cx)(
2166
2473
  nativeProps.className,
2167
- (0, import_recipes28.td)({
2474
+ (0, import_recipes31.td)({
2168
2475
  size
2169
2476
  })
2170
2477
  )
@@ -2173,18 +2480,18 @@ function Td(props) {
2173
2480
  }
2174
2481
 
2175
2482
  // src/components/Tbody.tsx
2176
- var import_recipes29 = require("@cerberus/styled-system/recipes");
2177
- var import_css37 = require("@cerberus/styled-system/css");
2178
- var import_jsx_runtime45 = require("react/jsx-runtime");
2483
+ var import_recipes32 = require("@cerberus/styled-system/recipes");
2484
+ var import_css39 = require("@cerberus/styled-system/css");
2485
+ var import_jsx_runtime47 = require("react/jsx-runtime");
2179
2486
  function Tbody(props) {
2180
2487
  const { decoration, ...nativeProps } = props;
2181
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2488
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2182
2489
  "tbody",
2183
2490
  {
2184
2491
  ...nativeProps,
2185
- className: (0, import_css37.cx)(
2492
+ className: (0, import_css39.cx)(
2186
2493
  nativeProps.className,
2187
- (0, import_recipes29.tbody)({
2494
+ (0, import_recipes32.tbody)({
2188
2495
  decoration
2189
2496
  })
2190
2497
  )
@@ -2193,9 +2500,9 @@ function Tbody(props) {
2193
2500
  }
2194
2501
 
2195
2502
  // src/components/Tag.tsx
2196
- var import_css38 = require("@cerberus/styled-system/css");
2197
- var import_recipes30 = require("@cerberus/styled-system/recipes");
2198
- var import_jsx_runtime46 = require("react/jsx-runtime");
2503
+ var import_css40 = require("@cerberus/styled-system/css");
2504
+ var import_recipes33 = require("@cerberus/styled-system/recipes");
2505
+ var import_jsx_runtime48 = require("react/jsx-runtime");
2199
2506
  function Tag(props) {
2200
2507
  const { shape: initShape, gradient, onClick, usage, ...nativeProps } = props;
2201
2508
  const palette = (props == null ? void 0 : props.palette) ?? "page";
@@ -2203,13 +2510,13 @@ function Tag(props) {
2203
2510
  const shape = isClosable ? "pill" : initShape;
2204
2511
  const closableStyles = isClosable ? closableCss : "";
2205
2512
  const { close: Close2 } = $cerberusIcons;
2206
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
2513
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
2207
2514
  "span",
2208
2515
  {
2209
2516
  ...nativeProps,
2210
- className: (0, import_css38.cx)(
2517
+ className: (0, import_css40.cx)(
2211
2518
  nativeProps.className,
2212
- (0, import_recipes30.tag)({
2519
+ (0, import_recipes33.tag)({
2213
2520
  gradient,
2214
2521
  palette,
2215
2522
  shape,
@@ -2219,47 +2526,78 @@ function Tag(props) {
2219
2526
  ),
2220
2527
  children: [
2221
2528
  props.children,
2222
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Show, { when: isClosable, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2529
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Show, { when: isClosable, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2223
2530
  "button",
2224
2531
  {
2225
2532
  "aria-label": "Close",
2226
- className: (0, import_recipes30.iconButton)({
2533
+ className: (0, import_recipes33.iconButton)({
2227
2534
  palette: "action",
2228
2535
  usage: "filled",
2229
2536
  size: "sm"
2230
2537
  }),
2231
2538
  onClick,
2232
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Close2, {})
2539
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Close2, {})
2233
2540
  }
2234
2541
  ) })
2235
2542
  ]
2236
2543
  }
2237
2544
  );
2238
2545
  }
2239
- var closableCss = (0, import_css38.css)({
2546
+ var closableCss = (0, import_css40.css)({
2240
2547
  bgColor: "action.bg.active",
2241
2548
  color: "action.text.initial",
2242
2549
  paddingInlineEnd: "0"
2243
2550
  });
2244
2551
 
2552
+ // src/components/Text.tsx
2553
+ var import_jsx = require("@cerberus-design/styled-system/jsx");
2554
+ var import_jsx_runtime49 = require("react/jsx-runtime");
2555
+ function Text(props) {
2556
+ const { as = "p", ...pandaJSXProps } = props;
2557
+ switch (as) {
2558
+ case "h1":
2559
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx.H1, { ...pandaJSXProps });
2560
+ case "h2":
2561
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx.H2, { ...pandaJSXProps });
2562
+ case "h3":
2563
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx.H3, { ...pandaJSXProps });
2564
+ case "h4":
2565
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx.H4, { ...pandaJSXProps });
2566
+ case "h5":
2567
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx.H5, { ...pandaJSXProps });
2568
+ case "h6":
2569
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx.H6, { ...pandaJSXProps });
2570
+ case "strong":
2571
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx.Strong, { ...pandaJSXProps });
2572
+ case "em":
2573
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx.Em, { ...pandaJSXProps });
2574
+ case "small":
2575
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx.Small, { ...pandaJSXProps });
2576
+ case "span":
2577
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx.Span, { ...pandaJSXProps });
2578
+ default:
2579
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_jsx.P, { ...pandaJSXProps });
2580
+ }
2581
+ }
2582
+
2245
2583
  // src/components/Textarea.tsx
2246
- var import_css39 = require("@cerberus/styled-system/css");
2247
- var import_recipes31 = require("@cerberus/styled-system/recipes");
2248
- var import_jsx_runtime47 = require("react/jsx-runtime");
2584
+ var import_css41 = require("@cerberus/styled-system/css");
2585
+ var import_recipes34 = require("@cerberus/styled-system/recipes");
2586
+ var import_jsx_runtime50 = require("react/jsx-runtime");
2249
2587
  function Textarea(props) {
2250
2588
  const { describedBy, ...nativeProps } = props;
2251
2589
  const { invalid, ...fieldState } = useFieldContext();
2252
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2590
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2253
2591
  "textarea",
2254
2592
  {
2255
2593
  ...nativeProps,
2256
2594
  ...fieldState,
2257
2595
  ...describedBy && { "aria-describedby": describedBy },
2258
2596
  ...invalid && { "aria-invalid": true },
2259
- className: (0, import_css39.cx)(
2597
+ className: (0, import_css41.cx)(
2260
2598
  props.className,
2261
- (0, import_recipes31.input)().input,
2262
- (0, import_css39.css)({
2599
+ (0, import_recipes34.input)().input,
2600
+ (0, import_css41.css)({
2263
2601
  pxi: "2",
2264
2602
  py: "2",
2265
2603
  resize: "vertical"
@@ -2271,43 +2609,43 @@ function Textarea(props) {
2271
2609
  }
2272
2610
 
2273
2611
  // src/components/Toggle.tsx
2274
- var import_css40 = require("@cerberus/styled-system/css");
2275
- var import_patterns15 = require("@cerberus/styled-system/patterns");
2276
- var import_recipes32 = require("@cerberus/styled-system/recipes");
2277
- var import_jsx_runtime48 = require("react/jsx-runtime");
2612
+ var import_css42 = require("@cerberus/styled-system/css");
2613
+ var import_patterns14 = require("@cerberus/styled-system/patterns");
2614
+ var import_recipes35 = require("@cerberus/styled-system/recipes");
2615
+ var import_jsx_runtime51 = require("react/jsx-runtime");
2278
2616
  function Toggle(props) {
2279
2617
  const { size, describedBy, ...nativeProps } = props;
2280
- const styles = (0, import_recipes32.toggle)({ size });
2618
+ const styles = (0, import_recipes35.toggle)({ size });
2281
2619
  const { invalid, ...state } = useFieldContext();
2282
2620
  const Icon = $cerberusIcons.toggleChecked;
2283
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
2621
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
2284
2622
  "span",
2285
2623
  {
2286
- className: (0, import_css40.cx)("group", styles.track, (0, import_patterns15.hstack)()),
2624
+ className: (0, import_css42.cx)("group", styles.track, (0, import_patterns14.hstack)()),
2287
2625
  "data-checked": props.checked || props.defaultChecked,
2288
2626
  children: [
2289
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2627
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2290
2628
  "input",
2291
2629
  {
2292
2630
  ...nativeProps,
2293
2631
  ...state,
2294
2632
  ...describedBy && { "aria-describedby": describedBy },
2295
2633
  ...invalid && { "aria-invalid": true },
2296
- className: (0, import_css40.cx)("peer", styles.input),
2634
+ className: (0, import_css42.cx)("peer", styles.input),
2297
2635
  role: "switch",
2298
2636
  type: "checkbox"
2299
2637
  }
2300
2638
  ),
2301
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2639
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2302
2640
  "span",
2303
2641
  {
2304
- className: (0, import_css40.cx)(
2642
+ className: (0, import_css42.cx)(
2305
2643
  styles.thumb,
2306
- (0, import_patterns15.vstack)({
2644
+ (0, import_patterns14.vstack)({
2307
2645
  justify: "center"
2308
2646
  })
2309
2647
  ),
2310
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Icon, {})
2648
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Icon, {})
2311
2649
  }
2312
2650
  )
2313
2651
  ]
@@ -2317,24 +2655,24 @@ function Toggle(props) {
2317
2655
 
2318
2656
  // src/components/Tooltip.tsx
2319
2657
  var import_tooltip = require("@ark-ui/react/tooltip");
2320
- var import_css41 = require("@cerberus/styled-system/css");
2321
- var import_recipes33 = require("@cerberus/styled-system/recipes");
2322
- var import_jsx_runtime49 = require("react/jsx-runtime");
2658
+ var import_css43 = require("@cerberus/styled-system/css");
2659
+ var import_recipes36 = require("@cerberus/styled-system/recipes");
2660
+ var import_jsx_runtime52 = require("react/jsx-runtime");
2323
2661
  function Tooltip(props) {
2324
- const { content, children, ...nativeProps } = props;
2325
- const styles = (0, import_recipes33.tooltip)();
2662
+ const { content, children, asChild, ...nativeProps } = props;
2663
+ const styles = (0, import_recipes36.tooltip)();
2326
2664
  const position = {
2327
2665
  placement: props.position || "top"
2328
2666
  };
2329
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_tooltip.Tooltip.Root, { openDelay: 400, positioning: position, children: [
2330
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_tooltip.Tooltip.Trigger, { className: styles.trigger, children }),
2331
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_tooltip.Tooltip.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
2667
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_tooltip.Tooltip.Root, { openDelay: 400, positioning: position, children: [
2668
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_tooltip.Tooltip.Trigger, { className: styles.trigger, asChild, children }),
2669
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_tooltip.Tooltip.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
2332
2670
  import_tooltip.Tooltip.Content,
2333
2671
  {
2334
2672
  ...nativeProps,
2335
- className: (0, import_css41.cx)(nativeProps.className, styles.content),
2673
+ className: (0, import_css43.cx)(nativeProps.className, styles.content),
2336
2674
  children: [
2337
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_tooltip.Tooltip.Arrow, { className: styles.arrow, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_tooltip.Tooltip.ArrowTip, { className: styles.arrowTip }) }),
2675
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_tooltip.Tooltip.Arrow, { className: styles.arrow, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_tooltip.Tooltip.ArrowTip, { className: styles.arrowTip }) }),
2338
2676
  content
2339
2677
  ]
2340
2678
  }
@@ -2344,8 +2682,8 @@ function Tooltip(props) {
2344
2682
 
2345
2683
  // src/context/confirm-modal.tsx
2346
2684
  var import_react18 = require("react");
2347
- var import_css42 = require("@cerberus/styled-system/css");
2348
- var import_patterns16 = require("@cerberus/styled-system/patterns");
2685
+ var import_css44 = require("@cerberus/styled-system/css");
2686
+ var import_patterns15 = require("@cerberus/styled-system/patterns");
2349
2687
 
2350
2688
  // src/hooks/useModal.ts
2351
2689
  var import_react17 = require("react");
@@ -2373,8 +2711,8 @@ function useModal() {
2373
2711
  }
2374
2712
 
2375
2713
  // src/context/confirm-modal.tsx
2376
- var import_jsx = require("@cerberus/styled-system/jsx");
2377
- var import_jsx_runtime50 = require("react/jsx-runtime");
2714
+ var import_jsx2 = require("@cerberus/styled-system/jsx");
2715
+ var import_jsx_runtime53 = require("react/jsx-runtime");
2378
2716
  var ConfirmModalContext = (0, import_react18.createContext)(null);
2379
2717
  function ConfirmModal(props) {
2380
2718
  const { modalRef, show, close } = useModal();
@@ -2415,36 +2753,36 @@ function ConfirmModal(props) {
2415
2753
  }),
2416
2754
  [handleShow]
2417
2755
  );
2418
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(ConfirmModalContext.Provider, { value, children: [
2756
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(ConfirmModalContext.Provider, { value, children: [
2419
2757
  props.children,
2420
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx.VStack, { gap: "xl", w: "full", children: [
2421
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(ModalHeader, { children: [
2422
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2758
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx2.VStack, { gap: "xl", w: "full", children: [
2759
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(ModalHeader, { children: [
2760
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2423
2761
  "div",
2424
2762
  {
2425
- className: (0, import_patterns16.hstack)({
2763
+ className: (0, import_patterns15.hstack)({
2426
2764
  justify: "center",
2427
2765
  w: "full"
2428
2766
  }),
2429
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2767
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2430
2768
  Show,
2431
2769
  {
2432
2770
  when: palette === "danger",
2433
- fallback: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2771
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2434
2772
  Avatar,
2435
2773
  {
2436
2774
  ariaLabel: "",
2437
2775
  gradient: "charon-light",
2438
- icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ConfirmIcon, { size: 24 }),
2776
+ icon: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ConfirmIcon, { size: 24 }),
2439
2777
  src: ""
2440
2778
  }
2441
2779
  ),
2442
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2780
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2443
2781
  Avatar,
2444
2782
  {
2445
2783
  ariaLabel: "",
2446
2784
  gradient: "hades-dark",
2447
- icon: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ConfirmIcon, { size: 24 }),
2785
+ icon: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ConfirmIcon, { size: 24 }),
2448
2786
  src: ""
2449
2787
  }
2450
2788
  )
@@ -2452,15 +2790,15 @@ function ConfirmModal(props) {
2452
2790
  )
2453
2791
  }
2454
2792
  ),
2455
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
2456
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
2793
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
2794
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
2457
2795
  ] }),
2458
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx.HStack, { gap: "4", w: "full", children: [
2459
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2796
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx2.HStack, { gap: "4", w: "full", children: [
2797
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2460
2798
  Button,
2461
2799
  {
2462
2800
  autoFocus: true,
2463
- className: (0, import_css42.css)({
2801
+ className: (0, import_css44.css)({
2464
2802
  w: "1/2"
2465
2803
  }),
2466
2804
  name: "confirm",
@@ -2470,10 +2808,10 @@ function ConfirmModal(props) {
2470
2808
  children: content == null ? void 0 : content.actionText
2471
2809
  }
2472
2810
  ),
2473
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2811
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2474
2812
  Button,
2475
2813
  {
2476
- className: (0, import_css42.css)({
2814
+ className: (0, import_css44.css)({
2477
2815
  w: "1/2"
2478
2816
  }),
2479
2817
  name: "cancel",
@@ -2499,10 +2837,10 @@ function useConfirmModal() {
2499
2837
 
2500
2838
  // src/context/cta-modal.tsx
2501
2839
  var import_react19 = require("react");
2502
- var import_jsx2 = require("@cerberus/styled-system/jsx");
2503
- var import_css43 = require("@cerberus/styled-system/css");
2504
2840
  var import_jsx3 = require("@cerberus/styled-system/jsx");
2505
- var import_jsx_runtime51 = require("react/jsx-runtime");
2841
+ var import_css45 = require("@cerberus/styled-system/css");
2842
+ var import_jsx4 = require("@cerberus/styled-system/jsx");
2843
+ var import_jsx_runtime54 = require("react/jsx-runtime");
2506
2844
  var CTAModalContext = (0, import_react19.createContext)(null);
2507
2845
  function CTAModal(props) {
2508
2846
  var _a, _b;
@@ -2529,9 +2867,8 @@ function CTAModal(props) {
2529
2867
  (event) => {
2530
2868
  const index = event.currentTarget.getAttribute("data-index");
2531
2869
  const action = content == null ? void 0 : content.actions[Number(index)];
2532
- if (typeof (action == null ? void 0 : action.onClick) === "function") {
2533
- action.onClick(event);
2534
- }
2870
+ const { onClick } = action || {};
2871
+ onClick == null ? void 0 : onClick(event);
2535
2872
  close();
2536
2873
  },
2537
2874
  [content, close]
@@ -2542,48 +2879,48 @@ function CTAModal(props) {
2542
2879
  }),
2543
2880
  [handleShow]
2544
2881
  );
2545
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(CTAModalContext.Provider, { value, children: [
2882
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(CTAModalContext.Provider, { value, children: [
2546
2883
  props.children,
2547
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: [
2548
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2884
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: [
2885
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2549
2886
  "span",
2550
2887
  {
2551
- className: (0, import_css43.css)({
2888
+ className: (0, import_css45.css)({
2552
2889
  padding: "md",
2553
2890
  position: "absolute",
2554
2891
  right: 0,
2555
2892
  top: 0,
2556
2893
  zIndex: "decorator"
2557
2894
  }),
2558
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(IconButton, { ariaLabel: "Close modal", onClick: close, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(CloseIcon, {}) })
2895
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(IconButton, { ariaLabel: "Close modal", onClick: close, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(CloseIcon, {}) })
2559
2896
  }
2560
2897
  ),
2561
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx3.VStack, { gap: "xl", w: "full", children: [
2562
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ModalHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx3.VStack, { gap: "lg", w: "full", children: [
2563
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2898
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx4.VStack, { gap: "xl", w: "full", children: [
2899
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ModalHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx4.VStack, { gap: "lg", w: "full", children: [
2900
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2564
2901
  Avatar,
2565
2902
  {
2566
2903
  ariaLabel: "",
2567
2904
  gradient: "charon-light",
2568
- icon: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2905
+ icon: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2569
2906
  Show,
2570
2907
  {
2571
2908
  when: Boolean(confirmIcon),
2572
- fallback: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(FallbackIcon, { size: 24 }),
2909
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(FallbackIcon, { size: 24 }),
2573
2910
  children: confirmIcon
2574
2911
  }
2575
2912
  ),
2576
2913
  src: ""
2577
2914
  }
2578
2915
  ),
2579
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
2580
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
2916
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
2917
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
2581
2918
  ] }) }),
2582
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx2.HStack, { gap: "md", w: "full", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Show, { when: Boolean((_a = content == null ? void 0 : content.actions) == null ? void 0 : _a.length), children: (_b = content == null ? void 0 : content.actions) == null ? void 0 : _b.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2919
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_jsx3.HStack, { gap: "md", w: "full", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Show, { when: Boolean((_a = content == null ? void 0 : content.actions) == null ? void 0 : _a.length), children: (_b = content == null ? void 0 : content.actions) == null ? void 0 : _b.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2583
2920
  Button,
2584
2921
  {
2585
2922
  "data-index": index,
2586
- className: (0, import_css43.css)({
2923
+ className: (0, import_css45.css)({
2587
2924
  w: "1/2"
2588
2925
  }),
2589
2926
  onClick: handleActionClick,
@@ -2607,14 +2944,14 @@ function useCTAModal() {
2607
2944
 
2608
2945
  // src/context/notification-center.tsx
2609
2946
  var import_react20 = require("react");
2610
- var import_patterns17 = require("@cerberus/styled-system/patterns");
2611
- var import_recipes34 = require("@cerberus/styled-system/recipes");
2612
- var import_css44 = require("@cerberus/styled-system/css");
2613
- var import_jsx_runtime52 = require("react/jsx-runtime");
2947
+ var import_patterns16 = require("@cerberus/styled-system/patterns");
2948
+ var import_recipes37 = require("@cerberus/styled-system/recipes");
2949
+ var import_css46 = require("@cerberus/styled-system/css");
2950
+ var import_jsx_runtime55 = require("react/jsx-runtime");
2614
2951
  var NotificationsContext = (0, import_react20.createContext)(null);
2615
2952
  function NotificationCenter(props) {
2616
2953
  const [activeNotifications, setActiveNotifications] = (0, import_react20.useState)([]);
2617
- const styles = (0, import_recipes34.notification)();
2954
+ const styles = (0, import_recipes37.notification)();
2618
2955
  const handleNotify = (0, import_react20.useCallback)((options) => {
2619
2956
  setActiveNotifications((prev) => {
2620
2957
  const id = `${options.palette}:${prev.length + 1}`;
@@ -2643,13 +2980,13 @@ function NotificationCenter(props) {
2643
2980
  }),
2644
2981
  [handleNotify]
2645
2982
  );
2646
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(NotificationsContext.Provider, { value, children: [
2983
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(NotificationsContext.Provider, { value, children: [
2647
2984
  props.children,
2648
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Show, { when: activeNotifications.length > 0, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Portal, { container: props.container, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: styles.center, children: [
2649
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Show, { when: activeNotifications.length >= 4, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2985
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Show, { when: activeNotifications.length > 0, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Portal, { container: props.container, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: styles.center, children: [
2986
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Show, { when: activeNotifications.length >= 4, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2650
2987
  Button,
2651
2988
  {
2652
- className: (0, import_css44.cx)(styles.closeAll, (0, import_patterns17.animateIn)()),
2989
+ className: (0, import_css46.cx)(styles.closeAll, (0, import_patterns16.animateIn)()),
2653
2990
  onClick: handleCloseAll,
2654
2991
  palette: "action",
2655
2992
  shape: "rounded",
@@ -2658,17 +2995,17 @@ function NotificationCenter(props) {
2658
2995
  children: "Close all"
2659
2996
  }
2660
2997
  ) }),
2661
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2998
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2662
2999
  "div",
2663
3000
  {
2664
- className: (0, import_patterns17.vstack)({
3001
+ className: (0, import_patterns16.vstack)({
2665
3002
  alignItems: "flex-end",
2666
3003
  gap: "4"
2667
3004
  }),
2668
3005
  style: {
2669
3006
  alignItems: "flex-end"
2670
3007
  },
2671
- children: activeNotifications.map((option) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
3008
+ children: activeNotifications.map((option) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2672
3009
  MatchNotification,
2673
3010
  {
2674
3011
  ...option,
@@ -2685,7 +3022,7 @@ function MatchNotification(props) {
2685
3022
  const { palette, id, onClose, heading, description } = props;
2686
3023
  switch (palette) {
2687
3024
  case "success":
2688
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
3025
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
2689
3026
  Notification,
2690
3027
  {
2691
3028
  id,
@@ -2693,14 +3030,14 @@ function MatchNotification(props) {
2693
3030
  open: true,
2694
3031
  palette: "success",
2695
3032
  children: [
2696
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(NotificationHeading, { palette: "success", children: heading }),
2697
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(NotificationDescription, { palette: "success", children: description })
3033
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(NotificationHeading, { palette: "success", children: heading }),
3034
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(NotificationDescription, { palette: "success", children: description })
2698
3035
  ]
2699
3036
  },
2700
3037
  id
2701
3038
  );
2702
3039
  case "warning":
2703
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
3040
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
2704
3041
  Notification,
2705
3042
  {
2706
3043
  id,
@@ -2708,22 +3045,22 @@ function MatchNotification(props) {
2708
3045
  open: true,
2709
3046
  palette: "warning",
2710
3047
  children: [
2711
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(NotificationHeading, { palette: "warning", children: heading }),
2712
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(NotificationDescription, { palette: "warning", children: description })
3048
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(NotificationHeading, { palette: "warning", children: heading }),
3049
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(NotificationDescription, { palette: "warning", children: description })
2713
3050
  ]
2714
3051
  },
2715
3052
  id
2716
3053
  );
2717
3054
  case "danger":
2718
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Notification, { id, onClose, open: true, palette: "danger", children: [
2719
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(NotificationHeading, { palette: "danger", children: heading }),
2720
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(NotificationDescription, { palette: "danger", children: description })
3055
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Notification, { id, onClose, open: true, palette: "danger", children: [
3056
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(NotificationHeading, { palette: "danger", children: heading }),
3057
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(NotificationDescription, { palette: "danger", children: description })
2721
3058
  ] }, id);
2722
3059
  case "info":
2723
3060
  default:
2724
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Notification, { id, onClose, open: true, palette: "info", children: [
2725
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(NotificationHeading, { palette: "info", children: heading }),
2726
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(NotificationDescription, { palette: "info", children: description })
3061
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Notification, { id, onClose, open: true, palette: "info", children: [
3062
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(NotificationHeading, { palette: "info", children: heading }),
3063
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(NotificationDescription, { palette: "info", children: description })
2727
3064
  ] }, id);
2728
3065
  }
2729
3066
  }
@@ -2739,9 +3076,9 @@ function useNotificationCenter() {
2739
3076
 
2740
3077
  // src/context/prompt-modal.tsx
2741
3078
  var import_react21 = require("react");
2742
- var import_css45 = require("@cerberus/styled-system/css");
2743
- var import_patterns18 = require("@cerberus/styled-system/patterns");
2744
- var import_jsx_runtime53 = require("react/jsx-runtime");
3079
+ var import_css47 = require("@cerberus/styled-system/css");
3080
+ var import_patterns17 = require("@cerberus/styled-system/patterns");
3081
+ var import_jsx_runtime56 = require("react/jsx-runtime");
2745
3082
  var PromptModalContext = (0, import_react21.createContext)(null);
2746
3083
  function PromptModal(props) {
2747
3084
  const { modalRef, show, close } = useModal();
@@ -2791,36 +3128,36 @@ function PromptModal(props) {
2791
3128
  }),
2792
3129
  [handleShow]
2793
3130
  );
2794
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(PromptModalContext.Provider, { value, children: [
3131
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(PromptModalContext.Provider, { value, children: [
2795
3132
  props.children,
2796
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: [
2797
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(ModalHeader, { children: [
2798
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3133
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: [
3134
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(ModalHeader, { children: [
3135
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2799
3136
  "div",
2800
3137
  {
2801
- className: (0, import_patterns18.hstack)({
3138
+ className: (0, import_patterns17.hstack)({
2802
3139
  justify: "center",
2803
3140
  w: "full"
2804
3141
  }),
2805
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3142
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2806
3143
  Show,
2807
3144
  {
2808
3145
  when: palette === "danger",
2809
- fallback: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3146
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2810
3147
  Avatar,
2811
3148
  {
2812
3149
  ariaLabel: "",
2813
3150
  gradient: "charon-light",
2814
- icon: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PromptIcon, { size: 24 }),
3151
+ icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(PromptIcon, { size: 24 }),
2815
3152
  src: ""
2816
3153
  }
2817
3154
  ),
2818
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3155
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2819
3156
  Avatar,
2820
3157
  {
2821
3158
  ariaLabel: "",
2822
3159
  gradient: "hades-dark",
2823
- icon: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PromptIcon, { size: 24 }),
3160
+ icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(PromptIcon, { size: 24 }),
2824
3161
  src: ""
2825
3162
  }
2826
3163
  )
@@ -2828,22 +3165,22 @@ function PromptModal(props) {
2828
3165
  )
2829
3166
  }
2830
3167
  ),
2831
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
2832
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
3168
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
3169
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
2833
3170
  ] }),
2834
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3171
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2835
3172
  "div",
2836
3173
  {
2837
- className: (0, import_patterns18.vstack)({
3174
+ className: (0, import_patterns17.vstack)({
2838
3175
  alignItems: "flex-start",
2839
3176
  mt: "4",
2840
3177
  mb: "8"
2841
3178
  }),
2842
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Field, { invalid: !isValid, children: [
2843
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
3179
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Field, { invalid: !isValid, children: [
3180
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
2844
3181
  Label,
2845
3182
  {
2846
- className: (0, import_css45.css)({
3183
+ className: (0, import_css47.css)({
2847
3184
  gap: 1,
2848
3185
  justifyContent: "flex-start"
2849
3186
  }),
@@ -2851,10 +3188,10 @@ function PromptModal(props) {
2851
3188
  size: "md",
2852
3189
  children: [
2853
3190
  "Type",
2854
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3191
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2855
3192
  "strong",
2856
3193
  {
2857
- className: (0, import_css45.css)({
3194
+ className: (0, import_css47.css)({
2858
3195
  textTransform: "uppercase"
2859
3196
  }),
2860
3197
  children: content == null ? void 0 : content.key
@@ -2864,7 +3201,7 @@ function PromptModal(props) {
2864
3201
  ]
2865
3202
  }
2866
3203
  ),
2867
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3204
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2868
3205
  Input,
2869
3206
  {
2870
3207
  id: "confirm",
@@ -2876,19 +3213,19 @@ function PromptModal(props) {
2876
3213
  ] })
2877
3214
  }
2878
3215
  ),
2879
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
3216
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
2880
3217
  "div",
2881
3218
  {
2882
- className: (0, import_patterns18.hstack)({
3219
+ className: (0, import_patterns17.hstack)({
2883
3220
  justifyContent: "stretch",
2884
3221
  gap: "4"
2885
3222
  }),
2886
3223
  children: [
2887
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3224
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2888
3225
  Button,
2889
3226
  {
2890
3227
  autoFocus: true,
2891
- className: (0, import_css45.css)({
3228
+ className: (0, import_css47.css)({
2892
3229
  w: "1/2"
2893
3230
  }),
2894
3231
  disabled: !isValid,
@@ -2899,10 +3236,10 @@ function PromptModal(props) {
2899
3236
  children: content == null ? void 0 : content.actionText
2900
3237
  }
2901
3238
  ),
2902
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
3239
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2903
3240
  Button,
2904
3241
  {
2905
- className: (0, import_css45.css)({
3242
+ className: (0, import_css47.css)({
2906
3243
  w: "1/2"
2907
3244
  }),
2908
3245
  name: "cancel",
@@ -2993,7 +3330,7 @@ function useTheme(defaultTheme = "cerberus", defaultColorMode = "light", options
2993
3330
  }
2994
3331
 
2995
3332
  // src/context/theme.tsx
2996
- var import_jsx_runtime54 = require("react/jsx-runtime");
3333
+ var import_jsx_runtime57 = require("react/jsx-runtime");
2997
3334
  var ThemeContext = (0, import_react23.createContext)(
2998
3335
  null
2999
3336
  );
@@ -3003,7 +3340,7 @@ function ThemeProvider(props) {
3003
3340
  updateMode: props.updateMode,
3004
3341
  updateTheme: props.updateTheme
3005
3342
  });
3006
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ThemeContext.Provider, { value: state, children: props.children });
3343
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ThemeContext.Provider, { value: state, children: props.children });
3007
3344
  }
3008
3345
  function useThemeContext() {
3009
3346
  const context = (0, import_react23.useContext)(ThemeContext);
@@ -3074,6 +3411,12 @@ function formatMilitaryDate(input3) {
3074
3411
  }
3075
3412
  return [day, month, year].filter(Boolean).join(" ");
3076
3413
  }
3414
+ function formatISOToMilitary(date) {
3415
+ const [year, month, day] = date.split("-");
3416
+ const monthIndex = parseInt(month, 10) - 1;
3417
+ const monthStr = MONTHS[monthIndex];
3418
+ return `${day} ${monthStr} ${year}`;
3419
+ }
3077
3420
  var DateFormats = {
3078
3421
  get ISO() {
3079
3422
  return "YYYY-MM-DD";
@@ -3164,6 +3507,12 @@ __reExport(src_exports, require("@dnd-kit/core"), module.exports);
3164
3507
  // Annotate the CommonJS export names for ESM import in node:
3165
3508
  0 && (module.exports = {
3166
3509
  $cerberusIcons,
3510
+ Accordion,
3511
+ AccordionItem,
3512
+ AccordionItemContent,
3513
+ AccordionItemGroup,
3514
+ AccordionItemIndicator,
3515
+ AccordionItemTrigger,
3167
3516
  Admonition,
3168
3517
  AdmonitionDescription,
3169
3518
  AdmonitionHeading,
@@ -3174,6 +3523,23 @@ __reExport(src_exports, require("@dnd-kit/core"), module.exports);
3174
3523
  CircularProgress,
3175
3524
  ConfirmModal,
3176
3525
  DateFormats,
3526
+ DatePicker,
3527
+ DatePickerCalendar,
3528
+ DatePickerContent,
3529
+ DatePickerContext,
3530
+ DatePickerDayView,
3531
+ DatePickerInput,
3532
+ DatePickerLabel,
3533
+ DatePickerMonthView,
3534
+ DatePickerTable,
3535
+ DatePickerTableCell,
3536
+ DatePickerTableCellTrigger,
3537
+ DatePickerTableHeader,
3538
+ DatePickerTrigger,
3539
+ DatePickerView,
3540
+ DatePickerViewControl,
3541
+ DatePickerViewControlGroup,
3542
+ DatePickerYearView,
3177
3543
  Droppable,
3178
3544
  FeatureFlag,
3179
3545
  FeatureFlags,
@@ -3212,19 +3578,23 @@ __reExport(src_exports, require("@dnd-kit/core"), module.exports);
3212
3578
  ProgressBar,
3213
3579
  PromptModal,
3214
3580
  Radio,
3581
+ RangePickerInput,
3215
3582
  Select,
3216
3583
  Show,
3217
3584
  Spinner,
3218
3585
  THEME_KEY,
3219
3586
  Tab,
3587
+ TabIndicator,
3220
3588
  TabList,
3221
3589
  TabPanel,
3222
3590
  Table,
3223
3591
  Tabs,
3224
3592
  TabsContext,
3593
+ TabsList,
3225
3594
  Tag,
3226
3595
  Tbody,
3227
3596
  Td,
3597
+ Text,
3228
3598
  Textarea,
3229
3599
  Th,
3230
3600
  Thead,
@@ -3234,11 +3604,14 @@ __reExport(src_exports, require("@dnd-kit/core"), module.exports);
3234
3604
  Tr,
3235
3605
  createNavTriggerProps,
3236
3606
  defineIcons,
3607
+ formatISOToMilitary,
3237
3608
  formatMilitaryDate,
3238
3609
  formatMilitaryToISO,
3239
3610
  formatNotifyCount,
3611
+ getLocalStorage,
3240
3612
  getPosition,
3241
3613
  processStatus,
3614
+ setLocalStorage,
3242
3615
  trapFocus,
3243
3616
  useCTAModal,
3244
3617
  useConfirmModal,
@@ -3251,7 +3624,6 @@ __reExport(src_exports, require("@dnd-kit/core"), module.exports);
3251
3624
  usePromptModal,
3252
3625
  useRootColors,
3253
3626
  useTabsContext,
3254
- useTabsKeyboardNavigation,
3255
3627
  useTheme,
3256
3628
  useThemeContext,
3257
3629
  useToggle,