@shadow-library/ui 0.1.2 → 1.0.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 (544) hide show
  1. package/README.md +21 -23
  2. package/components/Accordion/Accordion.context.d.ts +7 -0
  3. package/components/Accordion/Accordion.context.js +6 -0
  4. package/components/Accordion/Accordion.context.js.map +1 -0
  5. package/components/Accordion/Accordion.d.ts +12 -0
  6. package/components/Accordion/Accordion.js +34 -0
  7. package/components/Accordion/Accordion.js.map +1 -0
  8. package/components/Accordion/Accordion.module.css.js +4 -0
  9. package/components/Accordion/Accordion.module.css.js.map +1 -0
  10. package/components/Accordion/Accordion.types.d.ts +39 -0
  11. package/components/Accordion/index.d.ts +2 -0
  12. package/components/Alert/Alert.d.ts +8 -0
  13. package/components/Alert/Alert.js +26 -0
  14. package/components/Alert/Alert.js.map +1 -0
  15. package/components/Alert/Alert.module.css.js +4 -0
  16. package/components/Alert/Alert.module.css.js.map +1 -0
  17. package/components/Alert/Alert.types.d.ts +22 -0
  18. package/components/Alert/index.d.ts +2 -0
  19. package/components/Avatar/Avatar.context.d.ts +9 -0
  20. package/components/Avatar/Avatar.context.js +6 -0
  21. package/components/Avatar/Avatar.context.js.map +1 -0
  22. package/components/Avatar/Avatar.d.ts +13 -0
  23. package/components/Avatar/Avatar.js +66 -0
  24. package/components/Avatar/Avatar.js.map +1 -0
  25. package/components/Avatar/Avatar.module.css.js +4 -0
  26. package/components/Avatar/Avatar.module.css.js.map +1 -0
  27. package/components/Avatar/Avatar.types.d.ts +32 -0
  28. package/components/Avatar/index.d.ts +2 -0
  29. package/components/Badge/Badge.d.ts +8 -0
  30. package/components/Badge/Badge.js +23 -0
  31. package/components/Badge/Badge.js.map +1 -0
  32. package/components/Badge/Badge.module.css.js +4 -0
  33. package/components/Badge/Badge.module.css.js.map +1 -0
  34. package/components/Badge/Badge.types.d.ts +25 -0
  35. package/components/Badge/index.d.ts +2 -0
  36. package/components/Banner/Banner.d.ts +8 -0
  37. package/components/Banner/Banner.js +74 -0
  38. package/components/Banner/Banner.js.map +1 -0
  39. package/components/Banner/Banner.module.css.js +4 -0
  40. package/components/Banner/Banner.module.css.js.map +1 -0
  41. package/components/Banner/Banner.provider.d.ts +20 -0
  42. package/components/Banner/Banner.provider.js +34 -0
  43. package/components/Banner/Banner.provider.js.map +1 -0
  44. package/components/Banner/Banner.store.d.ts +18 -0
  45. package/components/Banner/Banner.store.js +62 -0
  46. package/components/Banner/Banner.store.js.map +1 -0
  47. package/components/Banner/Banner.types.d.ts +42 -0
  48. package/components/Banner/index.d.ts +4 -0
  49. package/components/BottomSheet/BottomSheet.d.ts +8 -0
  50. package/components/BottomSheet/BottomSheet.js +127 -0
  51. package/components/BottomSheet/BottomSheet.js.map +1 -0
  52. package/components/BottomSheet/BottomSheet.module.css.js +4 -0
  53. package/components/BottomSheet/BottomSheet.module.css.js.map +1 -0
  54. package/components/BottomSheet/BottomSheet.types.d.ts +34 -0
  55. package/components/BottomSheet/index.d.ts +2 -0
  56. package/components/Breadcrumbs/Breadcrumbs.d.ts +4 -0
  57. package/components/Breadcrumbs/Breadcrumbs.js +39 -0
  58. package/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
  59. package/components/Breadcrumbs/Breadcrumbs.module.css.js +4 -0
  60. package/components/Breadcrumbs/Breadcrumbs.module.css.js.map +1 -0
  61. package/components/Breadcrumbs/Breadcrumbs.types.d.ts +17 -0
  62. package/components/Breadcrumbs/index.d.ts +2 -0
  63. package/components/Button/Button.d.ts +12 -0
  64. package/components/Button/Button.js +52 -0
  65. package/components/Button/Button.js.map +1 -0
  66. package/components/Button/Button.module.css.js +4 -0
  67. package/components/Button/Button.module.css.js.map +1 -0
  68. package/components/Button/Button.types.d.ts +34 -0
  69. package/components/Button/index.d.ts +2 -0
  70. package/components/ButtonGroup/ButtonGroup.context.d.ts +23 -0
  71. package/components/ButtonGroup/ButtonGroup.context.js +9 -0
  72. package/components/ButtonGroup/ButtonGroup.context.js.map +1 -0
  73. package/components/ButtonGroup/ButtonGroup.d.ts +7 -0
  74. package/components/ButtonGroup/ButtonGroup.js +92 -0
  75. package/components/ButtonGroup/ButtonGroup.js.map +1 -0
  76. package/components/ButtonGroup/ButtonGroup.module.css.js +4 -0
  77. package/components/ButtonGroup/ButtonGroup.module.css.js.map +1 -0
  78. package/components/ButtonGroup/ButtonGroup.types.d.ts +28 -0
  79. package/components/ButtonGroup/index.d.ts +3 -0
  80. package/components/Calendar/Calendar.d.ts +8 -0
  81. package/components/Calendar/Calendar.js +197 -0
  82. package/components/Calendar/Calendar.js.map +1 -0
  83. package/components/Calendar/Calendar.module.css.js +4 -0
  84. package/components/Calendar/Calendar.module.css.js.map +1 -0
  85. package/components/Calendar/Calendar.types.d.ts +32 -0
  86. package/components/Calendar/index.d.ts +2 -0
  87. package/components/Card/Card.d.ts +6 -0
  88. package/components/Card/Card.js +36 -0
  89. package/components/Card/Card.js.map +1 -0
  90. package/components/Card/Card.module.css.js +4 -0
  91. package/components/Card/Card.module.css.js.map +1 -0
  92. package/components/Card/Card.types.d.ts +30 -0
  93. package/components/Card/index.d.ts +2 -0
  94. package/components/Checkbox/Checkbox.d.ts +7 -0
  95. package/components/Checkbox/Checkbox.js +46 -0
  96. package/components/Checkbox/Checkbox.js.map +1 -0
  97. package/components/Checkbox/Checkbox.module.css.js +4 -0
  98. package/components/Checkbox/Checkbox.module.css.js.map +1 -0
  99. package/components/Checkbox/Checkbox.types.d.ts +19 -0
  100. package/components/Checkbox/index.d.ts +2 -0
  101. package/components/ColorPicker/ColorPicker.d.ts +10 -0
  102. package/components/ColorPicker/ColorPicker.js +340 -0
  103. package/components/ColorPicker/ColorPicker.js.map +1 -0
  104. package/components/ColorPicker/ColorPicker.module.css.js +4 -0
  105. package/components/ColorPicker/ColorPicker.module.css.js.map +1 -0
  106. package/components/ColorPicker/ColorPicker.types.d.ts +33 -0
  107. package/components/ColorPicker/index.d.ts +2 -0
  108. package/components/Combobox/Combobox.d.ts +9 -0
  109. package/components/Combobox/Combobox.js +316 -0
  110. package/components/Combobox/Combobox.js.map +1 -0
  111. package/components/Combobox/Combobox.module.css.js +4 -0
  112. package/components/Combobox/Combobox.module.css.js.map +1 -0
  113. package/components/Combobox/Combobox.types.d.ts +57 -0
  114. package/components/Combobox/index.d.ts +2 -0
  115. package/components/CommandPalette/CommandPalette.d.ts +9 -0
  116. package/components/CommandPalette/CommandPalette.js +197 -0
  117. package/components/CommandPalette/CommandPalette.js.map +1 -0
  118. package/components/CommandPalette/CommandPalette.module.css.js +4 -0
  119. package/components/CommandPalette/CommandPalette.module.css.js.map +1 -0
  120. package/components/CommandPalette/CommandPalette.types.d.ts +41 -0
  121. package/components/CommandPalette/index.d.ts +2 -0
  122. package/components/ContextMenu/ContextMenu.d.ts +34 -0
  123. package/components/ContextMenu/ContextMenu.js +98 -0
  124. package/components/ContextMenu/ContextMenu.js.map +1 -0
  125. package/components/ContextMenu/ContextMenu.types.d.ts +30 -0
  126. package/components/ContextMenu/index.d.ts +2 -0
  127. package/components/DataGrid/DataGrid.d.ts +8 -0
  128. package/components/DataGrid/DataGrid.js +192 -0
  129. package/components/DataGrid/DataGrid.js.map +1 -0
  130. package/components/DataGrid/DataGrid.module.css.js +4 -0
  131. package/components/DataGrid/DataGrid.module.css.js.map +1 -0
  132. package/components/DataGrid/DataGrid.types.d.ts +43 -0
  133. package/components/DataGrid/index.d.ts +2 -0
  134. package/components/DatePicker/DatePicker.d.ts +9 -0
  135. package/components/DatePicker/DatePicker.js +218 -0
  136. package/components/DatePicker/DatePicker.js.map +1 -0
  137. package/components/DatePicker/DatePicker.module.css.js +4 -0
  138. package/components/DatePicker/DatePicker.module.css.js.map +1 -0
  139. package/components/DatePicker/DatePicker.types.d.ts +39 -0
  140. package/components/DatePicker/index.d.ts +2 -0
  141. package/components/DateRangePicker/DateRangePicker.d.ts +8 -0
  142. package/components/DateRangePicker/DateRangePicker.js +139 -0
  143. package/components/DateRangePicker/DateRangePicker.js.map +1 -0
  144. package/components/DateRangePicker/DateRangePicker.module.css.js +4 -0
  145. package/components/DateRangePicker/DateRangePicker.module.css.js.map +1 -0
  146. package/components/DateRangePicker/DateRangePicker.types.d.ts +34 -0
  147. package/components/DateRangePicker/index.d.ts +2 -0
  148. package/components/DescriptionList/DescriptionList.d.ts +12 -0
  149. package/components/DescriptionList/DescriptionList.js +96 -0
  150. package/components/DescriptionList/DescriptionList.js.map +1 -0
  151. package/components/DescriptionList/DescriptionList.module.css.js +4 -0
  152. package/components/DescriptionList/DescriptionList.module.css.js.map +1 -0
  153. package/components/DescriptionList/DescriptionList.types.d.ts +35 -0
  154. package/components/DescriptionList/index.d.ts +2 -0
  155. package/components/Dialog/Dialog.d.ts +30 -0
  156. package/components/Dialog/Dialog.js +89 -0
  157. package/components/Dialog/Dialog.js.map +1 -0
  158. package/components/Dialog/Dialog.module.css.js +4 -0
  159. package/components/Dialog/Dialog.module.css.js.map +1 -0
  160. package/components/Dialog/Dialog.types.d.ts +59 -0
  161. package/components/Dialog/index.d.ts +2 -0
  162. package/components/Drawer/Drawer.context.d.ts +9 -0
  163. package/components/Drawer/Drawer.context.js +7 -0
  164. package/components/Drawer/Drawer.context.js.map +1 -0
  165. package/components/Drawer/Drawer.d.ts +20 -0
  166. package/components/Drawer/Drawer.js +63 -0
  167. package/components/Drawer/Drawer.js.map +1 -0
  168. package/components/Drawer/Drawer.module.css.js +4 -0
  169. package/components/Drawer/Drawer.module.css.js.map +1 -0
  170. package/components/Drawer/Drawer.types.d.ts +42 -0
  171. package/components/Drawer/index.d.ts +2 -0
  172. package/components/DropdownMenu/DropdownMenu.d.ts +33 -0
  173. package/components/DropdownMenu/DropdownMenu.js +98 -0
  174. package/components/DropdownMenu/DropdownMenu.js.map +1 -0
  175. package/components/DropdownMenu/DropdownMenu.module.css.js +4 -0
  176. package/components/DropdownMenu/DropdownMenu.module.css.js.map +1 -0
  177. package/components/DropdownMenu/DropdownMenu.types.d.ts +34 -0
  178. package/components/DropdownMenu/index.d.ts +2 -0
  179. package/components/EmptyState/EmptyState.d.ts +8 -0
  180. package/components/EmptyState/EmptyState.js +24 -0
  181. package/components/EmptyState/EmptyState.js.map +1 -0
  182. package/components/EmptyState/EmptyState.module.css.js +4 -0
  183. package/components/EmptyState/EmptyState.module.css.js.map +1 -0
  184. package/components/EmptyState/EmptyState.types.d.ts +26 -0
  185. package/components/EmptyState/index.d.ts +2 -0
  186. package/components/FileUpload/FileUpload.d.ts +9 -0
  187. package/components/FileUpload/FileUpload.js +174 -0
  188. package/components/FileUpload/FileUpload.js.map +1 -0
  189. package/components/FileUpload/FileUpload.module.css.js +4 -0
  190. package/components/FileUpload/FileUpload.module.css.js.map +1 -0
  191. package/components/FileUpload/FileUpload.types.d.ts +41 -0
  192. package/components/FileUpload/index.d.ts +2 -0
  193. package/components/FormField/FormField.context.d.ts +22 -0
  194. package/components/FormField/FormField.context.js +9 -0
  195. package/components/FormField/FormField.context.js.map +1 -0
  196. package/components/FormField/FormField.d.ts +8 -0
  197. package/components/FormField/FormField.js +44 -0
  198. package/components/FormField/FormField.js.map +1 -0
  199. package/components/FormField/FormField.module.css.js +4 -0
  200. package/components/FormField/FormField.module.css.js.map +1 -0
  201. package/components/FormField/FormField.types.d.ts +28 -0
  202. package/components/FormField/index.d.ts +3 -0
  203. package/components/HoverCard/HoverCard.d.ts +10 -0
  204. package/components/HoverCard/HoverCard.js +59 -0
  205. package/components/HoverCard/HoverCard.js.map +1 -0
  206. package/components/HoverCard/HoverCard.module.css.js +4 -0
  207. package/components/HoverCard/HoverCard.module.css.js.map +1 -0
  208. package/components/HoverCard/HoverCard.types.d.ts +35 -0
  209. package/components/HoverCard/index.d.ts +2 -0
  210. package/components/IconButton/IconButton.d.ts +13 -0
  211. package/components/IconButton/IconButton.js +44 -0
  212. package/components/IconButton/IconButton.js.map +1 -0
  213. package/components/IconButton/IconButton.module.css.js +4 -0
  214. package/components/IconButton/IconButton.module.css.js.map +1 -0
  215. package/components/IconButton/IconButton.types.d.ts +29 -0
  216. package/components/IconButton/index.d.ts +2 -0
  217. package/components/Input/Input.d.ts +9 -0
  218. package/components/Input/Input.js +102 -0
  219. package/components/Input/Input.js.map +1 -0
  220. package/components/Input/Input.module.css.js +4 -0
  221. package/components/Input/Input.module.css.js.map +1 -0
  222. package/components/Input/Input.types.d.ts +32 -0
  223. package/components/Input/index.d.ts +2 -0
  224. package/components/Kbd/Kbd.d.ts +9 -0
  225. package/components/Kbd/Kbd.js +65 -0
  226. package/components/Kbd/Kbd.js.map +1 -0
  227. package/components/Kbd/Kbd.module.css.js +4 -0
  228. package/components/Kbd/Kbd.module.css.js.map +1 -0
  229. package/components/Kbd/Kbd.types.d.ts +15 -0
  230. package/components/Kbd/index.d.ts +2 -0
  231. package/components/MultiSelect/MultiSelect.d.ts +7 -0
  232. package/components/MultiSelect/MultiSelect.js +297 -0
  233. package/components/MultiSelect/MultiSelect.js.map +1 -0
  234. package/components/MultiSelect/MultiSelect.module.css.js +4 -0
  235. package/components/MultiSelect/MultiSelect.module.css.js.map +1 -0
  236. package/components/MultiSelect/MultiSelect.types.d.ts +60 -0
  237. package/components/MultiSelect/index.d.ts +2 -0
  238. package/components/NotificationCenter/NotificationCenter.d.ts +9 -0
  239. package/components/NotificationCenter/NotificationCenter.js +83 -0
  240. package/components/NotificationCenter/NotificationCenter.js.map +1 -0
  241. package/components/NotificationCenter/NotificationCenter.module.css.js +4 -0
  242. package/components/NotificationCenter/NotificationCenter.module.css.js.map +1 -0
  243. package/components/NotificationCenter/NotificationCenter.types.d.ts +95 -0
  244. package/components/NotificationCenter/NotificationList.d.ts +8 -0
  245. package/components/NotificationCenter/NotificationList.js +105 -0
  246. package/components/NotificationCenter/NotificationList.js.map +1 -0
  247. package/components/NotificationCenter/index.d.ts +3 -0
  248. package/components/NumberStepper/NumberStepper.d.ts +9 -0
  249. package/components/NumberStepper/NumberStepper.js +184 -0
  250. package/components/NumberStepper/NumberStepper.js.map +1 -0
  251. package/components/NumberStepper/NumberStepper.module.css.js +4 -0
  252. package/components/NumberStepper/NumberStepper.module.css.js.map +1 -0
  253. package/components/NumberStepper/NumberStepper.types.d.ts +36 -0
  254. package/components/NumberStepper/index.d.ts +2 -0
  255. package/components/OtpInput/OtpInput.d.ts +11 -0
  256. package/components/OtpInput/OtpInput.js +143 -0
  257. package/components/OtpInput/OtpInput.js.map +1 -0
  258. package/components/OtpInput/OtpInput.module.css.js +4 -0
  259. package/components/OtpInput/OtpInput.module.css.js.map +1 -0
  260. package/components/OtpInput/OtpInput.types.d.ts +45 -0
  261. package/components/OtpInput/index.d.ts +2 -0
  262. package/components/Pagination/Pagination.d.ts +8 -0
  263. package/components/Pagination/Pagination.js +100 -0
  264. package/components/Pagination/Pagination.js.map +1 -0
  265. package/components/Pagination/Pagination.module.css.js +4 -0
  266. package/components/Pagination/Pagination.module.css.js.map +1 -0
  267. package/components/Pagination/Pagination.types.d.ts +32 -0
  268. package/components/Pagination/index.d.ts +2 -0
  269. package/components/Popover/Popover.d.ts +22 -0
  270. package/components/Popover/Popover.js +48 -0
  271. package/components/Popover/Popover.js.map +1 -0
  272. package/components/Popover/Popover.module.css.js +4 -0
  273. package/components/Popover/Popover.module.css.js.map +1 -0
  274. package/components/Popover/Popover.types.d.ts +23 -0
  275. package/components/Popover/index.d.ts +2 -0
  276. package/components/Progress/Progress.d.ts +7 -0
  277. package/components/Progress/Progress.js +36 -0
  278. package/components/Progress/Progress.js.map +1 -0
  279. package/components/Progress/Progress.module.css.js +4 -0
  280. package/components/Progress/Progress.module.css.js.map +1 -0
  281. package/components/Progress/Progress.types.d.ts +23 -0
  282. package/components/Progress/index.d.ts +2 -0
  283. package/components/RTEField/RTEField.d.ts +23 -0
  284. package/components/RTEField/RTEField.js +152 -0
  285. package/components/RTEField/RTEField.js.map +1 -0
  286. package/components/RTEField/RTEField.module.css.js +4 -0
  287. package/components/RTEField/RTEField.module.css.js.map +1 -0
  288. package/components/RTEField/RTEField.types.d.ts +61 -0
  289. package/components/RTEField/index.d.ts +2 -0
  290. package/components/RadioGroup/RadioGroup.context.d.ts +15 -0
  291. package/components/RadioGroup/RadioGroup.context.js +9 -0
  292. package/components/RadioGroup/RadioGroup.context.js.map +1 -0
  293. package/components/RadioGroup/RadioGroup.d.ts +7 -0
  294. package/components/RadioGroup/RadioGroup.js +43 -0
  295. package/components/RadioGroup/RadioGroup.js.map +1 -0
  296. package/components/RadioGroup/RadioGroup.module.css.js +4 -0
  297. package/components/RadioGroup/RadioGroup.module.css.js.map +1 -0
  298. package/components/RadioGroup/RadioGroup.types.d.ts +23 -0
  299. package/components/RadioGroup/index.d.ts +3 -0
  300. package/components/Rating/Rating.d.ts +8 -0
  301. package/components/Rating/Rating.js +101 -0
  302. package/components/Rating/Rating.js.map +1 -0
  303. package/components/Rating/Rating.module.css.js +4 -0
  304. package/components/Rating/Rating.module.css.js.map +1 -0
  305. package/components/Rating/Rating.types.d.ts +28 -0
  306. package/components/Rating/index.d.ts +2 -0
  307. package/components/SegmentedControl/SegmentedControl.d.ts +8 -0
  308. package/components/SegmentedControl/SegmentedControl.js +20 -0
  309. package/components/SegmentedControl/SegmentedControl.js.map +1 -0
  310. package/components/SegmentedControl/SegmentedControl.module.css.js +4 -0
  311. package/components/SegmentedControl/SegmentedControl.module.css.js.map +1 -0
  312. package/components/SegmentedControl/SegmentedControl.types.d.ts +16 -0
  313. package/components/SegmentedControl/index.d.ts +2 -0
  314. package/components/Select/Select.d.ts +22 -0
  315. package/components/Select/Select.js +102 -0
  316. package/components/Select/Select.js.map +1 -0
  317. package/components/Select/Select.module.css.js +4 -0
  318. package/components/Select/Select.module.css.js.map +1 -0
  319. package/components/Select/Select.types.d.ts +45 -0
  320. package/components/Select/index.d.ts +2 -0
  321. package/components/Shell/Shell.d.ts +13 -0
  322. package/components/Shell/Shell.js +37 -0
  323. package/components/Shell/Shell.js.map +1 -0
  324. package/components/Shell/Shell.module.css.js +4 -0
  325. package/components/Shell/Shell.module.css.js.map +1 -0
  326. package/components/Shell/Shell.types.d.ts +31 -0
  327. package/components/Shell/index.d.ts +2 -0
  328. package/components/Sidebar/Sidebar.context.d.ts +6 -0
  329. package/components/Sidebar/Sidebar.context.js +6 -0
  330. package/components/Sidebar/Sidebar.context.js.map +1 -0
  331. package/components/Sidebar/Sidebar.d.ts +13 -0
  332. package/components/Sidebar/Sidebar.js +102 -0
  333. package/components/Sidebar/Sidebar.js.map +1 -0
  334. package/components/Sidebar/Sidebar.module.css.js +4 -0
  335. package/components/Sidebar/Sidebar.module.css.js.map +1 -0
  336. package/components/Sidebar/Sidebar.types.d.ts +45 -0
  337. package/components/Sidebar/index.d.ts +2 -0
  338. package/components/Skeleton/Skeleton.d.ts +13 -0
  339. package/components/Skeleton/Skeleton.js +48 -0
  340. package/components/Skeleton/Skeleton.js.map +1 -0
  341. package/components/Skeleton/Skeleton.module.css.js +4 -0
  342. package/components/Skeleton/Skeleton.module.css.js.map +1 -0
  343. package/components/Skeleton/Skeleton.types.d.ts +26 -0
  344. package/components/Skeleton/index.d.ts +2 -0
  345. package/components/Slider/Slider.d.ts +8 -0
  346. package/components/Slider/Slider.js +84 -0
  347. package/components/Slider/Slider.js.map +1 -0
  348. package/components/Slider/Slider.module.css.js +4 -0
  349. package/components/Slider/Slider.module.css.js.map +1 -0
  350. package/components/Slider/Slider.types.d.ts +35 -0
  351. package/components/Slider/index.d.ts +2 -0
  352. package/components/Spinner/Spinner.d.ts +7 -0
  353. package/components/Spinner/Spinner.js +16 -0
  354. package/components/Spinner/Spinner.js.map +1 -0
  355. package/components/Spinner/Spinner.module.css.js +4 -0
  356. package/components/Spinner/Spinner.module.css.js.map +1 -0
  357. package/components/Spinner/Spinner.types.d.ts +14 -0
  358. package/components/Spinner/index.d.ts +2 -0
  359. package/components/SplitPane/SplitPane.d.ts +18 -0
  360. package/components/SplitPane/SplitPane.js +169 -0
  361. package/components/SplitPane/SplitPane.js.map +1 -0
  362. package/components/SplitPane/SplitPane.module.css.js +4 -0
  363. package/components/SplitPane/SplitPane.module.css.js.map +1 -0
  364. package/components/SplitPane/SplitPane.types.d.ts +40 -0
  365. package/components/SplitPane/index.d.ts +2 -0
  366. package/components/Statistic/Statistic.d.ts +8 -0
  367. package/components/Statistic/Statistic.js +106 -0
  368. package/components/Statistic/Statistic.js.map +1 -0
  369. package/components/Statistic/Statistic.module.css.js +4 -0
  370. package/components/Statistic/Statistic.module.css.js.map +1 -0
  371. package/components/Statistic/Statistic.types.d.ts +42 -0
  372. package/components/Statistic/index.d.ts +2 -0
  373. package/components/Stepper/Stepper.d.ts +15 -0
  374. package/components/Stepper/Stepper.js +148 -0
  375. package/components/Stepper/Stepper.js.map +1 -0
  376. package/components/Stepper/Stepper.module.css.js +4 -0
  377. package/components/Stepper/Stepper.module.css.js.map +1 -0
  378. package/components/Stepper/Stepper.types.d.ts +48 -0
  379. package/components/Stepper/index.d.ts +2 -0
  380. package/components/Switch/Switch.d.ts +10 -0
  381. package/components/Switch/Switch.js +37 -0
  382. package/components/Switch/Switch.js.map +1 -0
  383. package/components/Switch/Switch.module.css.js +4 -0
  384. package/components/Switch/Switch.module.css.js.map +1 -0
  385. package/components/Switch/Switch.types.d.ts +19 -0
  386. package/components/Switch/index.d.ts +2 -0
  387. package/components/Table/Table.d.ts +14 -0
  388. package/components/Table/Table.js +131 -0
  389. package/components/Table/Table.js.map +1 -0
  390. package/components/Table/Table.module.css.js +4 -0
  391. package/components/Table/Table.module.css.js.map +1 -0
  392. package/components/Table/Table.types.d.ts +62 -0
  393. package/components/Table/index.d.ts +2 -0
  394. package/components/Tabs/Tabs.d.ts +18 -0
  395. package/components/Tabs/Tabs.js +32 -0
  396. package/components/Tabs/Tabs.js.map +1 -0
  397. package/components/Tabs/Tabs.module.css.js +4 -0
  398. package/components/Tabs/Tabs.module.css.js.map +1 -0
  399. package/components/Tabs/Tabs.types.d.ts +20 -0
  400. package/components/Tabs/index.d.ts +2 -0
  401. package/components/Tag/Tag.d.ts +8 -0
  402. package/components/Tag/Tag.js +25 -0
  403. package/components/Tag/Tag.js.map +1 -0
  404. package/components/Tag/Tag.module.css.js +4 -0
  405. package/components/Tag/Tag.module.css.js.map +1 -0
  406. package/components/Tag/Tag.types.d.ts +18 -0
  407. package/components/Tag/index.d.ts +2 -0
  408. package/components/Textarea/Textarea.d.ts +9 -0
  409. package/components/Textarea/Textarea.js +86 -0
  410. package/components/Textarea/Textarea.js.map +1 -0
  411. package/components/Textarea/Textarea.module.css.js +4 -0
  412. package/components/Textarea/Textarea.module.css.js.map +1 -0
  413. package/components/Textarea/Textarea.types.d.ts +27 -0
  414. package/components/Textarea/index.d.ts +2 -0
  415. package/components/TimePicker/TimePicker.d.ts +8 -0
  416. package/components/TimePicker/TimePicker.js +220 -0
  417. package/components/TimePicker/TimePicker.js.map +1 -0
  418. package/components/TimePicker/TimePicker.module.css.js +4 -0
  419. package/components/TimePicker/TimePicker.module.css.js.map +1 -0
  420. package/components/TimePicker/TimePicker.types.d.ts +29 -0
  421. package/components/TimePicker/index.d.ts +2 -0
  422. package/components/Timeline/Timeline.d.ts +6 -0
  423. package/components/Timeline/Timeline.js +49 -0
  424. package/components/Timeline/Timeline.js.map +1 -0
  425. package/components/Timeline/Timeline.module.css.js +4 -0
  426. package/components/Timeline/Timeline.module.css.js.map +1 -0
  427. package/components/Timeline/Timeline.types.d.ts +19 -0
  428. package/components/Timeline/index.d.ts +2 -0
  429. package/components/Toast/Toast.d.ts +11 -0
  430. package/components/Toast/Toast.js +75 -0
  431. package/components/Toast/Toast.js.map +1 -0
  432. package/components/Toast/Toast.module.css.js +4 -0
  433. package/components/Toast/Toast.module.css.js.map +1 -0
  434. package/components/Toast/Toast.store.d.ts +29 -0
  435. package/components/Toast/Toast.store.js +53 -0
  436. package/components/Toast/Toast.store.js.map +1 -0
  437. package/components/Toast/Toast.types.d.ts +40 -0
  438. package/components/Toast/index.d.ts +3 -0
  439. package/components/TokenInput/TokenInput.d.ts +8 -0
  440. package/components/TokenInput/TokenInput.js +206 -0
  441. package/components/TokenInput/TokenInput.js.map +1 -0
  442. package/components/TokenInput/TokenInput.module.css.js +4 -0
  443. package/components/TokenInput/TokenInput.module.css.js.map +1 -0
  444. package/components/TokenInput/TokenInput.types.d.ts +38 -0
  445. package/components/TokenInput/index.d.ts +2 -0
  446. package/components/Tooltip/Tooltip.d.ts +17 -0
  447. package/components/Tooltip/Tooltip.js +32 -0
  448. package/components/Tooltip/Tooltip.js.map +1 -0
  449. package/components/Tooltip/Tooltip.module.css.js +4 -0
  450. package/components/Tooltip/Tooltip.module.css.js.map +1 -0
  451. package/components/Tooltip/Tooltip.types.d.ts +38 -0
  452. package/components/Tooltip/index.d.ts +2 -0
  453. package/components/TopNavigation/TopNavigation.d.ts +4 -0
  454. package/components/TopNavigation/TopNavigation.js +46 -0
  455. package/components/TopNavigation/TopNavigation.js.map +1 -0
  456. package/components/TopNavigation/TopNavigation.module.css.js +4 -0
  457. package/components/TopNavigation/TopNavigation.module.css.js.map +1 -0
  458. package/components/TopNavigation/TopNavigation.types.d.ts +23 -0
  459. package/components/TopNavigation/index.d.ts +2 -0
  460. package/components/TreeView/TreeView.d.ts +8 -0
  461. package/components/TreeView/TreeView.js +224 -0
  462. package/components/TreeView/TreeView.js.map +1 -0
  463. package/components/TreeView/TreeView.module.css.js +4 -0
  464. package/components/TreeView/TreeView.module.css.js.map +1 -0
  465. package/components/TreeView/TreeView.types.d.ts +34 -0
  466. package/components/TreeView/index.d.ts +2 -0
  467. package/components/index.d.ts +62 -0
  468. package/hooks/index.d.ts +1 -0
  469. package/hooks/useDeferredLoading.d.ts +16 -0
  470. package/hooks/useDeferredLoading.js +26 -0
  471. package/hooks/useDeferredLoading.js.map +1 -0
  472. package/index.d.ts +2 -3
  473. package/index.js +73 -4
  474. package/index.js.map +1 -1
  475. package/lib/api-request.js +5 -3
  476. package/lib/api-request.js.map +1 -1
  477. package/lib/cn.d.ts +19 -0
  478. package/lib/cn.js +8 -0
  479. package/lib/cn.js.map +1 -0
  480. package/lib/date.d.ts +17 -0
  481. package/lib/date.js +54 -0
  482. package/lib/date.js.map +1 -0
  483. package/lib/index.d.ts +3 -0
  484. package/lib/merge-refs.d.ts +15 -0
  485. package/lib/merge-refs.js +11 -0
  486. package/lib/merge-refs.js.map +1 -0
  487. package/package.json +34 -12
  488. package/styles.css +1 -1
  489. package/styles.css.map +1 -1
  490. package/styles.layer.css +1 -1
  491. package/components/AppLayout/AppLayout.d.ts +0 -21
  492. package/components/AppLayout/AppLayout.js +0 -34
  493. package/components/AppLayout/AppLayout.js.map +0 -1
  494. package/components/AppLayout/AppLayout.module.css.js +0 -4
  495. package/components/AppLayout/AppLayout.module.css.js.map +0 -1
  496. package/components/AppLayout/ContentFooter.d.ts +0 -12
  497. package/components/AppLayout/ContentFooter.js +0 -11
  498. package/components/AppLayout/ContentFooter.js.map +0 -1
  499. package/components/AppLayout/SideNavbar.d.ts +0 -21
  500. package/components/AppLayout/SideNavbar.js +0 -43
  501. package/components/AppLayout/SideNavbar.js.map +0 -1
  502. package/components/AppLayout/SideNavbarGroup.d.ts +0 -19
  503. package/components/AppLayout/SideNavbarGroup.js +0 -16
  504. package/components/AppLayout/SideNavbarGroup.js.map +0 -1
  505. package/components/AppLayout/SideNavbarItem.d.ts +0 -19
  506. package/components/AppLayout/SideNavbarItem.js +0 -74
  507. package/components/AppLayout/SideNavbarItem.js.map +0 -1
  508. package/components/AppLayout/TopNavbar.d.ts +0 -20
  509. package/components/AppLayout/TopNavbar.js +0 -38
  510. package/components/AppLayout/TopNavbar.js.map +0 -1
  511. package/components/AppLayout/app-layout.utils.d.ts +0 -14
  512. package/components/AppLayout/app-layout.utils.js +0 -6
  513. package/components/AppLayout/app-layout.utils.js.map +0 -1
  514. package/components/AppLayout/hooks/use-active-nav-label.d.ts +0 -2
  515. package/components/AppLayout/hooks/use-active-nav-label.js +0 -29
  516. package/components/AppLayout/hooks/use-active-nav-label.js.map +0 -1
  517. package/components/AppLayout/hooks/use-layout-state.d.ts +0 -20
  518. package/components/AppLayout/hooks/use-layout-state.js +0 -14
  519. package/components/AppLayout/hooks/use-layout-state.js.map +0 -1
  520. package/components/AppLayout/hooks/use-side-navbar-item.d.ts +0 -11
  521. package/components/AppLayout/hooks/use-side-navbar-item.js +0 -26
  522. package/components/AppLayout/hooks/use-side-navbar-item.js.map +0 -1
  523. package/components/AppLayout/index.d.ts +0 -2
  524. package/components/AppLayout/layout.types.d.ts +0 -59
  525. package/components/Logo/Alphabets.d.ts +0 -39
  526. package/components/Logo/Alphabets.js +0 -119
  527. package/components/Logo/Alphabets.js.map +0 -1
  528. package/components/Logo/BrandMark.d.ts +0 -16
  529. package/components/Logo/BrandMark.js +0 -39
  530. package/components/Logo/BrandMark.js.map +0 -1
  531. package/components/Logo/Logo.d.ts +0 -17
  532. package/components/Logo/Logo.js +0 -22
  533. package/components/Logo/Logo.js.map +0 -1
  534. package/components/Logo/Logo.module.css.js +0 -4
  535. package/components/Logo/Logo.module.css.js.map +0 -1
  536. package/components/Logo/hooks/use-logo.d.ts +0 -9
  537. package/components/Logo/hooks/use-logo.js +0 -16
  538. package/components/Logo/hooks/use-logo.js.map +0 -1
  539. package/components/Logo/index.d.ts +0 -2
  540. package/styles/AppLayout.module.css +0 -82
  541. package/styles/Logo.module.css +0 -51
  542. package/theme.d.ts +0 -161
  543. package/theme.js +0 -112
  544. package/theme.js.map +0 -1
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Importing npm packages
3
+ */
4
+ import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
5
+ /**
6
+ * Defining types
7
+ */
8
+ /** Row is the default detail-panel grammar; column stacks for narrow contexts; grid tiles facts. */
9
+ export type DescriptionListLayout = 'row' | 'column' | 'grid';
10
+ export interface DescriptionListProps extends Omit<ComponentPropsWithoutRef<'dl'>, 'title'> {
11
+ /** Term/detail arrangement. @default 'row' */
12
+ layout?: DescriptionListLayout;
13
+ /** Fixed term-column width in px (row layout only; 120–200 recommended). @default 150 */
14
+ termWidth?: number;
15
+ /** Minimum column count for grid layout — degrades to fewer as width narrows. @default 2 */
16
+ columns?: number;
17
+ /** Optional header title, right-aligned with `action`. */
18
+ title?: ReactNode;
19
+ /** Optional header action slot (e.g. an Edit button) — the list itself never edits inline. */
20
+ action?: ReactNode;
21
+ /** `DescriptionList.Item` children. */
22
+ children: ReactNode;
23
+ }
24
+ export interface DescriptionListItemProps extends Omit<ComponentPropsWithoutRef<'div'>, 'title'> {
25
+ /** The key. Rendered as `<dt>`; also names the copy button. */
26
+ term: ReactNode;
27
+ /** Render the value in the monospace face (IDs, hashes, paths). @default false */
28
+ mono?: boolean;
29
+ /** Reveal a copy button on hover/focus; click copies the value's text and toasts. @default false */
30
+ copyable?: boolean;
31
+ /** Mask the value (••••) behind a reveal toggle; reveal state never persists. @default false */
32
+ masked?: boolean;
33
+ /** The value. Empty/omitted children render the em-dash empty policy automatically. */
34
+ children?: ReactNode;
35
+ }
@@ -0,0 +1,2 @@
1
+ export * from './DescriptionList.js';
2
+ export * from './DescriptionList.types';
@@ -0,0 +1,30 @@
1
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
2
+ import { type ConfirmDialogProps, type DialogBodyProps, type DialogContentProps, type DialogFooterProps, type DialogHeaderProps, type DialogProps } from './Dialog.types';
3
+ declare function DialogRoot(props: DialogProps): import("react/jsx-runtime").JSX.Element;
4
+ /** Header — heading-3 title + optional description, with the top-right close ×. */
5
+ declare function DialogHeader({ title, description, showClose, className, ...props }: DialogHeaderProps): import("react/jsx-runtime").JSX.Element;
6
+ /** Body — the content slot; scrolls internally past ~70vh. */
7
+ declare function DialogBody({ className, ...props }: DialogBodyProps): import("react/jsx-runtime").JSX.Element;
8
+ /** Footer — pass `cancel`/`action` for the standard grammar, or `children` for a custom row. */
9
+ declare function DialogFooter({ cancel, action, onAction, loading, className, children, ...props }: DialogFooterProps): import("react/jsx-runtime").JSX.Element;
10
+ /**
11
+ * A modal surface for tasks that must be finished or abandoned before the page continues. Wraps Radix
12
+ * Dialog — focus trap, scroll lock, scrim, Esc/scrim dismissal, and focus return to the trigger. For
13
+ * a consequential yes/no, use `ConfirmDialog` (an alertdialog) instead of building one from this.
14
+ */
15
+ export declare const Dialog: typeof DialogRoot & {
16
+ Trigger: import("react").ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
17
+ Content: import("react").ForwardRefExoticComponent<DialogContentProps & import("react").RefAttributes<HTMLDivElement>>;
18
+ Header: typeof DialogHeader;
19
+ Body: typeof DialogBody;
20
+ Footer: typeof DialogFooter;
21
+ Close: import("react").ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & import("react").RefAttributes<HTMLButtonElement>>;
22
+ };
23
+ /**
24
+ * The confirm grammar: a Radix AlertDialog that resolves one question — no × and no scrim-dismiss, so
25
+ * the user must choose, and Cancel takes initial focus (destruction is never default-focused). Set
26
+ * `intent='danger'` for the Danger primary, and `typedConfirmation` to gate irreversible actions until
27
+ * the user retypes the resource name.
28
+ */
29
+ export declare function ConfirmDialog({ open, defaultOpen, onOpenChange, trigger, intent, title, description, confirmLabel, cancelLabel, typedConfirmation, onConfirm, loading, }: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
30
+ export {};
@@ -0,0 +1,89 @@
1
+ 'use client';
2
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
+ import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
4
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
5
+ import { forwardRef, useState } from 'react';
6
+ import '../../lib/api-request.js';
7
+ import { cn } from '../../lib/cn.js';
8
+ import { Button } from '../Button/Button.js';
9
+ import { FormField } from '../FormField/FormField.js';
10
+ import '../FormField/FormField.context.js';
11
+ import { IconButton } from '../IconButton/IconButton.js';
12
+ import { Input } from '../Input/Input.js';
13
+ import styles from './Dialog.module.css.js';
14
+
15
+ function CloseIcon() {
16
+ return /* @__PURE__ */ jsx("svg", { viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx("path", { d: "M4 4l8 8M12 4l-8 8" }) });
17
+ }
18
+ function DialogRoot(props) {
19
+ return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...props });
20
+ }
21
+ const DialogContent = forwardRef(function DialogContent2({ size = "md", className, children, ...props }, ref) {
22
+ return /* @__PURE__ */ jsxs(DialogPrimitive.Portal, { children: [
23
+ /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { className: styles.scrim }),
24
+ /* @__PURE__ */ jsx("div", { className: styles.positioner, children: /* @__PURE__ */ jsx(DialogPrimitive.Content, { ref, className: cn(styles.panel, className), "data-size": size, ...props, children }) })
25
+ ] });
26
+ });
27
+ function DialogHeader({ title, description, showClose = true, className, ...props }) {
28
+ return /* @__PURE__ */ jsxs("div", { className: cn(styles.header, className), ...props, children: [
29
+ /* @__PURE__ */ jsxs("div", { className: styles.heading, children: [
30
+ /* @__PURE__ */ jsx(DialogPrimitive.Title, { className: styles.title, children: title }),
31
+ description != null ? /* @__PURE__ */ jsx(DialogPrimitive.Description, { className: styles.description, children: description }) : null
32
+ ] }),
33
+ showClose ? /* @__PURE__ */ jsx(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx(IconButton, { className: styles.close, variant: "ghost", size: "sm", "aria-label": "Close", icon: /* @__PURE__ */ jsx(CloseIcon, {}) }) }) : null
34
+ ] });
35
+ }
36
+ function DialogBody({ className, ...props }) {
37
+ return /* @__PURE__ */ jsx("div", { className: cn(styles.body, className), ...props });
38
+ }
39
+ function DialogFooter({ cancel, action, onAction, loading = false, className, children, ...props }) {
40
+ return /* @__PURE__ */ jsx("div", { className: cn(styles.footer, className), ...props, children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
41
+ cancel != null ? /* @__PURE__ */ jsx(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "ghost", children: cancel }) }) : null,
42
+ action != null ? /* @__PURE__ */ jsx(Button, { variant: "primary", loading, onClick: onAction, children: action }) : null
43
+ ] }) });
44
+ }
45
+ const Dialog = Object.assign(DialogRoot, {
46
+ Trigger: DialogPrimitive.Trigger,
47
+ Content: DialogContent,
48
+ Header: DialogHeader,
49
+ Body: DialogBody,
50
+ Footer: DialogFooter,
51
+ Close: DialogPrimitive.Close
52
+ });
53
+ function ConfirmDialog({
54
+ open,
55
+ defaultOpen,
56
+ onOpenChange,
57
+ trigger,
58
+ intent = "primary",
59
+ title,
60
+ description,
61
+ confirmLabel = "Confirm",
62
+ cancelLabel = "Cancel",
63
+ typedConfirmation,
64
+ onConfirm,
65
+ loading = false
66
+ }) {
67
+ const [typed, setTyped] = useState("");
68
+ const gated = typedConfirmation != null && typed !== typedConfirmation;
69
+ return /* @__PURE__ */ jsxs(AlertDialogPrimitive.Root, { open, defaultOpen, onOpenChange, children: [
70
+ trigger != null ? /* @__PURE__ */ jsx(AlertDialogPrimitive.Trigger, { asChild: true, children: trigger }) : null,
71
+ /* @__PURE__ */ jsxs(AlertDialogPrimitive.Portal, { children: [
72
+ /* @__PURE__ */ jsx(AlertDialogPrimitive.Overlay, { className: styles.scrim }),
73
+ /* @__PURE__ */ jsx("div", { className: styles.positioner, children: /* @__PURE__ */ jsxs(AlertDialogPrimitive.Content, { className: styles.panel, "data-size": "sm", children: [
74
+ /* @__PURE__ */ jsx("div", { className: styles.header, children: /* @__PURE__ */ jsxs("div", { className: styles.heading, children: [
75
+ /* @__PURE__ */ jsx(AlertDialogPrimitive.Title, { className: styles.title, children: title }),
76
+ description != null ? /* @__PURE__ */ jsx(AlertDialogPrimitive.Description, { className: styles.description, children: description }) : null
77
+ ] }) }),
78
+ typedConfirmation != null ? /* @__PURE__ */ jsx("div", { className: styles.body, children: /* @__PURE__ */ jsx(FormField, { label: `Type ${typedConfirmation} to confirm`, children: /* @__PURE__ */ jsx(Input, { value: typed, onValueChange: setTyped, autoComplete: "off", spellCheck: false }) }) }) : null,
79
+ /* @__PURE__ */ jsxs("div", { className: styles.footer, children: [
80
+ /* @__PURE__ */ jsx(AlertDialogPrimitive.Cancel, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "ghost", children: cancelLabel }) }),
81
+ /* @__PURE__ */ jsx(AlertDialogPrimitive.Action, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: intent === "danger" ? "danger" : "primary", loading, disabled: gated, onClick: onConfirm, children: confirmLabel }) })
82
+ ] })
83
+ ] }) })
84
+ ] })
85
+ ] });
86
+ }
87
+
88
+ export { ConfirmDialog, Dialog };
89
+ //# sourceMappingURL=Dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sources":["../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { forwardRef, useState } from 'react';\n\n/**\n * Importing user defined packages\n */\nimport { cn } from '@/lib';\n\nimport { Button } from '../Button';\nimport { FormField } from '../FormField';\nimport { IconButton } from '../IconButton';\nimport { Input } from '../Input';\nimport styles from './Dialog.module.css';\nimport { type ConfirmDialogProps, type DialogBodyProps, type DialogContentProps, type DialogFooterProps, type DialogHeaderProps, type DialogProps } from './Dialog.types';\n\n/**\n * Declaring the constants\n */\nfunction CloseIcon() {\n return (\n <svg viewBox='0 0 16 16' fill='none' stroke='currentColor' strokeWidth={1.5} strokeLinecap='round' aria-hidden='true'>\n <path d='M4 4l8 8M12 4l-8 8' />\n </svg>\n );\n}\n\nfunction DialogRoot(props: DialogProps) {\n return <DialogPrimitive.Root {...props} />;\n}\n\n/** The scrim + centered panel (layer-modal, radius-xl, e3). Task dialogs close on scrim click or Esc. */\nconst DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(function DialogContent({ size = 'md', className, children, ...props }, ref) {\n return (\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay className={styles.scrim} />\n <div className={styles.positioner}>\n <DialogPrimitive.Content ref={ref} className={cn(styles.panel, className)} data-size={size} {...props}>\n {children}\n </DialogPrimitive.Content>\n </div>\n </DialogPrimitive.Portal>\n );\n});\n\n/** Header — heading-3 title + optional description, with the top-right close ×. */\nfunction DialogHeader({ title, description, showClose = true, className, ...props }: DialogHeaderProps) {\n return (\n <div className={cn(styles.header, className)} {...props}>\n <div className={styles.heading}>\n <DialogPrimitive.Title className={styles.title}>{title}</DialogPrimitive.Title>\n {description != null ? <DialogPrimitive.Description className={styles.description}>{description}</DialogPrimitive.Description> : null}\n </div>\n {showClose ? (\n <DialogPrimitive.Close asChild>\n <IconButton className={styles.close} variant='ghost' size='sm' aria-label='Close' icon={<CloseIcon />} />\n </DialogPrimitive.Close>\n ) : null}\n </div>\n );\n}\n\n/** Body — the content slot; scrolls internally past ~70vh. */\nfunction DialogBody({ className, ...props }: DialogBodyProps) {\n return <div className={cn(styles.body, className)} {...props} />;\n}\n\n/** Footer — pass `cancel`/`action` for the standard grammar, or `children` for a custom row. */\nfunction DialogFooter({ cancel, action, onAction, loading = false, className, children, ...props }: DialogFooterProps) {\n return (\n <div className={cn(styles.footer, className)} {...props}>\n {children ?? (\n <>\n {cancel != null ? (\n <DialogPrimitive.Close asChild>\n <Button variant='ghost'>{cancel}</Button>\n </DialogPrimitive.Close>\n ) : null}\n {action != null ? (\n <Button variant='primary' loading={loading} onClick={onAction}>\n {action}\n </Button>\n ) : null}\n </>\n )}\n </div>\n );\n}\n\n/**\n * A modal surface for tasks that must be finished or abandoned before the page continues. Wraps Radix\n * Dialog — focus trap, scroll lock, scrim, Esc/scrim dismissal, and focus return to the trigger. For\n * a consequential yes/no, use `ConfirmDialog` (an alertdialog) instead of building one from this.\n */\nexport const Dialog = Object.assign(DialogRoot, {\n Trigger: DialogPrimitive.Trigger,\n Content: DialogContent,\n Header: DialogHeader,\n Body: DialogBody,\n Footer: DialogFooter,\n Close: DialogPrimitive.Close,\n});\n\n/**\n * The confirm grammar: a Radix AlertDialog that resolves one question — no × and no scrim-dismiss, so\n * the user must choose, and Cancel takes initial focus (destruction is never default-focused). Set\n * `intent='danger'` for the Danger primary, and `typedConfirmation` to gate irreversible actions until\n * the user retypes the resource name.\n */\nexport function ConfirmDialog({\n open,\n defaultOpen,\n onOpenChange,\n trigger,\n intent = 'primary',\n title,\n description,\n confirmLabel = 'Confirm',\n cancelLabel = 'Cancel',\n typedConfirmation,\n onConfirm,\n loading = false,\n}: ConfirmDialogProps) {\n const [typed, setTyped] = useState('');\n const gated = typedConfirmation != null && typed !== typedConfirmation;\n\n return (\n <AlertDialogPrimitive.Root open={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange}>\n {trigger != null ? <AlertDialogPrimitive.Trigger asChild>{trigger}</AlertDialogPrimitive.Trigger> : null}\n <AlertDialogPrimitive.Portal>\n <AlertDialogPrimitive.Overlay className={styles.scrim} />\n <div className={styles.positioner}>\n <AlertDialogPrimitive.Content className={styles.panel} data-size='sm'>\n <div className={styles.header}>\n <div className={styles.heading}>\n <AlertDialogPrimitive.Title className={styles.title}>{title}</AlertDialogPrimitive.Title>\n {description != null ? <AlertDialogPrimitive.Description className={styles.description}>{description}</AlertDialogPrimitive.Description> : null}\n </div>\n </div>\n {typedConfirmation != null ? (\n <div className={styles.body}>\n <FormField label={`Type ${typedConfirmation} to confirm`}>\n <Input value={typed} onValueChange={setTyped} autoComplete='off' spellCheck={false} />\n </FormField>\n </div>\n ) : null}\n <div className={styles.footer}>\n <AlertDialogPrimitive.Cancel asChild>\n <Button variant='ghost'>{cancelLabel}</Button>\n </AlertDialogPrimitive.Cancel>\n <AlertDialogPrimitive.Action asChild>\n <Button variant={intent === 'danger' ? 'danger' : 'primary'} loading={loading} disabled={gated} onClick={onConfirm}>\n {confirmLabel}\n </Button>\n </AlertDialogPrimitive.Action>\n </div>\n </AlertDialogPrimitive.Content>\n </div>\n </AlertDialogPrimitive.Portal>\n </AlertDialogPrimitive.Root>\n );\n}\n"],"names":["DialogContent"],"mappings":";;;;;;;;;;;;;;AAsBA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,SAAA,CAAA,CAAA,CAAY,CAAA;AACnB,CAAA,CAAA,2BACG,KAAA,CAAA,CAAA,CAAA,CAAI,OAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,MAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,WAAA,CAAA,CAAa,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,SAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC7G,8BAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA,CAAE,sBAAqB,CAAA,EAC/B,CAAA,CAAA;AAEJ,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAhB,CAAA,CAAsB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA;AAC1C,CAAA;AAGA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C,SAASA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAc,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AAC/I,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,IAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAhB,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAhB,CAAA,CAAwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAClD,GAAA,CAAC,CAAA,CAAA,CAAA,CAAA,KAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,YACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAC,eAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAhB,CAAA,CAAwB,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAW,EAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,GAAO,SAAS,CAAA,CAAA,CAAG,aAAW,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,EAC7F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH,CAAA,CAAA,CACF,CAAA;AAAA,CAAA,CAAA,CAAA,EACF,CAAA,CAAA;AAEJ,CAAC,CAAA,CAAA;AAGD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,YAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,WAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAY,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAsB,CAAA;AACtG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,IAAA,CAAC,CAAA,CAAA,CAAA,CAAA,KAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAG,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,EAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAhB,CAAA,CAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,GAAQ,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAhB,CAAA,CAA4B,SAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAiC,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACnI,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBACE,eAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAhB,CAAA,CAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAA,CAAA,CAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,OAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,sBAAM,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAI,CAAA,CAAA,CACzG,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,EACN,CAAA,CAAA;AAEJ,CAAA;AAGA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,GAAM,CAAA,CAAoB,CAAA;AAC5D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAA,CAAC,CAAA,CAAA,CAAA,CAAA,KAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAG,OAAO,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,EAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA;AAChE,CAAA;AAGA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,QAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,SAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAsB,CAAA;AACrH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,MAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACG,QAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACT,GAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAhB,CAAA,CAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,EAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAO,GAClC,CAAA,GACE,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACT,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAClD,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CACN,CAAA,CAAA,CAEJ,CAAA,CAAA;AAEJ,CAAA;AAOO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,UAAA,CAAA,CAAY,CAAA;AAAA,CAAA,CAC9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACR,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACR,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA;AACzB,CAAC,CAAA,CAAA;AAQM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,aAAA,CAAc,CAAA;AAAA,CAAA,CAC5B,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,OAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA;AACZ,CAAA,CAAA,CAAuB,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAE,CAAA,CAAA;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAErD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MACG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAArB,CAAA,CAA0B,CAAA,CAAA,CAAA,CAAA,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAA0B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC9D,QAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAArB,EAA6B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAA,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,YAAQ,CAAA,CAAA,CAAA,CAAkC,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACpG,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,MAAA,CAAA,CAArB,CAAA,CACC,QAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAArB,CAAA,CAA6B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACvD,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAArB,CAAA,CAA6B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAC/D,QAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,WAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,wBAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,EAArB,CAAA,CAA2B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,GAAQ,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAArB,CAAA,CAAiC,SAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAsC,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC7I,CAAA,CAAA,CACF,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACpB,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,eACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CACtF,CAAA,CAAA,CACF,CAAA,GACE,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACJ,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAArB,CAAA,CAA4B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CACvC,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KACC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAArB,EAA4B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAA,CAAA,CAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAC,MAAA,CAAA,CAAA,CAAA,CAAO,OAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,MAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,QAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,QAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,SAAA,CAAA,CACtG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,iBACH,CAAA,CAAA,CACF,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF,CAAA;AAAA,CAAA,CAAA,CAAA,EACF,CAAA,CAAA;AAEJ,CAAA;;"}
@@ -0,0 +1,4 @@
1
+ var styles = {"scrim":"sh-scrim_N1j0I","positioner":"sh-positioner_bxVXD","panel":"sh-panel_b2y0S","header":"sh-header_bdJRp","heading":"sh-heading_UqPHW","title":"sh-title_glVA6","description":"sh-description_6Bsa9","close":"sh-close_Zz2uv","body":"sh-body_1ZbVo","footer":"sh-footer_uRLHM"};
2
+
3
+ export { styles as default };
4
+ //# sourceMappingURL=Dialog.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Importing npm packages
3
+ */
4
+ import type * as DialogPrimitive from '@radix-ui/react-dialog';
5
+ import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
6
+ /**
7
+ * Defining types
8
+ */
9
+ export type DialogSize = 'sm' | 'md' | 'lg';
10
+ export type DialogProps = ComponentPropsWithoutRef<typeof DialogPrimitive.Root>;
11
+ export interface DialogContentProps extends ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {
12
+ /** Panel max-width: sm 400 · md 560 · lg 720. @default 'md' */
13
+ size?: DialogSize;
14
+ }
15
+ export interface DialogHeaderProps extends Omit<ComponentPropsWithoutRef<'div'>, 'title'> {
16
+ /** Heading-3 title (also the dialog's accessible name). */
17
+ title: ReactNode;
18
+ /** Supporting description below the title. */
19
+ description?: ReactNode;
20
+ /** Render the top-right close ×. @default true */
21
+ showClose?: boolean;
22
+ }
23
+ export type DialogBodyProps = ComponentPropsWithoutRef<'div'>;
24
+ export interface DialogFooterProps extends ComponentPropsWithoutRef<'div'> {
25
+ /** Ghost cancel label — closes the dialog. Omit to render your own footer via children. */
26
+ cancel?: ReactNode;
27
+ /** Primary action label. */
28
+ action?: ReactNode;
29
+ /** Fires when the primary action is pressed (does not auto-close — resolve then close yourself). */
30
+ onAction?: () => void;
31
+ /** Puts the primary action in its loading state. */
32
+ loading?: boolean;
33
+ }
34
+ export interface ConfirmDialogProps {
35
+ /** Controlled open state. */
36
+ open?: boolean;
37
+ /** Uncontrolled initial open state. */
38
+ defaultOpen?: boolean;
39
+ /** Fires when the open state changes. */
40
+ onOpenChange?: (open: boolean) => void;
41
+ /** A trigger element wired via asChild (optional when controlled). */
42
+ trigger?: ReactNode;
43
+ /** `danger` uses the Danger primary; `primary` the accent primary. @default 'primary' */
44
+ intent?: 'primary' | 'danger';
45
+ /** Heading-3 question ("Delete workspace?"). */
46
+ title: ReactNode;
47
+ /** Concrete consequences — what, how much, reversibility. */
48
+ description?: ReactNode;
49
+ /** Primary action label (the verb). @default 'Confirm' */
50
+ confirmLabel?: string;
51
+ /** Cancel label — receives initial focus. @default 'Cancel' */
52
+ cancelLabel?: string;
53
+ /** Gate the action until the user types this exact string (irreversible operations). */
54
+ typedConfirmation?: string;
55
+ /** Fires when the confirm action is pressed. */
56
+ onConfirm?: () => void;
57
+ /** Puts the confirm action in its loading state. */
58
+ loading?: boolean;
59
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Dialog.js';
2
+ export * from './Dialog.types';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Declaring the constants
3
+ */
4
+ export interface DrawerContextValue {
5
+ modal: boolean;
6
+ titleId: string;
7
+ onClose: () => void;
8
+ }
9
+ export declare const DrawerContext: import("react").Context<DrawerContextValue>;
@@ -0,0 +1,7 @@
1
+ import { createContext } from 'react';
2
+
3
+ const DrawerContext = createContext({ modal: true, titleId: "", onClose: () => {
4
+ } });
5
+
6
+ export { DrawerContext };
7
+ //# sourceMappingURL=Drawer.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.context.js","sources":["../../../src/components/Drawer/Drawer.context.ts"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport { createContext } from 'react';\n\n/**\n * Declaring the constants\n */\nexport interface DrawerContextValue {\n modal: boolean;\n titleId: string;\n onClose: () => void;\n}\n\nexport const DrawerContext = createContext<DrawerContextValue>({ modal: true, titleId: '', onClose: () => {} });\n"],"names":[],"mappings":";;AAcO,MAAM,aAAA,GAAgB,cAAkC,EAAE,KAAA,EAAO,MAAM,OAAA,EAAS,EAAA,EAAI,SAAS,MAAM;AAAC,CAAA,EAAG;;;;"}
@@ -0,0 +1,20 @@
1
+ import { type DrawerBodyProps, type DrawerFooterProps, type DrawerHeaderProps, type DrawerProps } from './Drawer.types';
2
+ /** Header — title + optional meta, sharing the Dialog header grammar. Close × closes in either mode. */
3
+ declare function DrawerHeader({ title, meta, showClose, className, ...props }: DrawerHeaderProps): import("react/jsx-runtime").JSX.Element;
4
+ /** Body — scrolls independently. */
5
+ declare function DrawerBody({ className, ...props }: DrawerBodyProps): import("react/jsx-runtime").JSX.Element;
6
+ /** Footer — pinned; shares the Dialog footer grammar. */
7
+ declare function DrawerFooter({ cancel, action, onAction, loading, className, children, ...props }: DrawerFooterProps): import("react/jsx-runtime").JSX.Element;
8
+ /**
9
+ * A full-height edge panel for record detail. Modal mode wraps Radix Dialog (scrim, focus trap,
10
+ * scroll lock — Dialog's rules) for focused edits; non-modal renders a `role="complementary"` landmark
11
+ * that keeps the page interactive for browse-and-inspect, closing via ×, Esc, or the caller. One
12
+ * drawer at a time; slides from its edge with the emphasized curve. Shares the Dialog header/footer.
13
+ */
14
+ declare function DrawerRoot({ open, onOpenChange, placement, size, modal, className, children, 'aria-label': ariaLabel }: DrawerProps): import("react/jsx-runtime").JSX.Element | null;
15
+ export declare const Drawer: typeof DrawerRoot & {
16
+ Header: typeof DrawerHeader;
17
+ Body: typeof DrawerBody;
18
+ Footer: typeof DrawerFooter;
19
+ };
20
+ export {};
@@ -0,0 +1,63 @@
1
+ 'use client';
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
4
+ import { useId, useContext } from 'react';
5
+ import '../../lib/api-request.js';
6
+ import { cn } from '../../lib/cn.js';
7
+ import { Button } from '../Button/Button.js';
8
+ import { IconButton } from '../IconButton/IconButton.js';
9
+ import { DrawerContext } from './Drawer.context.js';
10
+ import styles from './Drawer.module.css.js';
11
+
12
+ function CloseIcon() {
13
+ return /* @__PURE__ */ jsx("svg", { viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx("path", { d: "M4 4l8 8M12 4l-8 8" }) });
14
+ }
15
+ function DrawerHeader({ title, meta, showClose = true, className, ...props }) {
16
+ const { modal, titleId, onClose } = useContext(DrawerContext);
17
+ const TitleTag = modal ? DialogPrimitive.Title : "h2";
18
+ return /* @__PURE__ */ jsxs("div", { className: cn(styles.header, className), ...props, children: [
19
+ /* @__PURE__ */ jsxs("div", { className: styles.heading, children: [
20
+ /* @__PURE__ */ jsx(TitleTag, { id: titleId, className: styles.title, children: title }),
21
+ meta != null ? /* @__PURE__ */ jsx("div", { className: styles.meta, children: meta }) : null
22
+ ] }),
23
+ showClose ? modal ? /* @__PURE__ */ jsx(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx(IconButton, { className: styles.close, variant: "ghost", size: "sm", "aria-label": "Close", icon: /* @__PURE__ */ jsx(CloseIcon, {}) }) }) : /* @__PURE__ */ jsx(IconButton, { className: styles.close, variant: "ghost", size: "sm", "aria-label": "Close", icon: /* @__PURE__ */ jsx(CloseIcon, {}), onClick: onClose }) : null
24
+ ] });
25
+ }
26
+ function DrawerBody({ className, ...props }) {
27
+ return /* @__PURE__ */ jsx("div", { className: cn(styles.body, className), ...props });
28
+ }
29
+ function DrawerFooter({ cancel, action, onAction, loading = false, className, children, ...props }) {
30
+ const { modal, onClose } = useContext(DrawerContext);
31
+ return /* @__PURE__ */ jsx("div", { className: cn(styles.footer, className), ...props, children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
32
+ cancel != null ? modal ? /* @__PURE__ */ jsx(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "ghost", children: cancel }) }) : /* @__PURE__ */ jsx(Button, { variant: "ghost", onClick: onClose, children: cancel }) : null,
33
+ action != null ? /* @__PURE__ */ jsx(Button, { variant: "primary", loading, onClick: onAction, children: action }) : null
34
+ ] }) });
35
+ }
36
+ function DrawerRoot({ open, onOpenChange, placement = "right", size = "md", modal = true, className, children, "aria-label": ariaLabel }) {
37
+ const titleId = useId();
38
+ const onClose = () => onOpenChange?.(false);
39
+ const panelProps = {
40
+ className: cn(styles.panel, className),
41
+ "data-placement": placement,
42
+ "data-size": size
43
+ };
44
+ if (modal) {
45
+ return /* @__PURE__ */ jsx(DrawerContext.Provider, { value: { modal: true, titleId, onClose }, children: /* @__PURE__ */ jsx(DialogPrimitive.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxs(DialogPrimitive.Portal, { children: [
46
+ /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { className: styles.scrim }),
47
+ /* @__PURE__ */ jsx(DialogPrimitive.Content, { ...panelProps, "aria-label": ariaLabel, "aria-labelledby": ariaLabel ? void 0 : titleId, children })
48
+ ] }) }) });
49
+ }
50
+ if (!open) return null;
51
+ function handleKeyDown(event) {
52
+ if (event.key === "Escape") onClose();
53
+ }
54
+ return /* @__PURE__ */ jsx(DrawerContext.Provider, { value: { modal: false, titleId, onClose }, children: /* @__PURE__ */ jsx("aside", { ...panelProps, "data-nonmodal": "", "aria-label": ariaLabel, "aria-labelledby": ariaLabel ? void 0 : titleId, onKeyDown: handleKeyDown, children }) });
55
+ }
56
+ const Drawer = Object.assign(DrawerRoot, {
57
+ Header: DrawerHeader,
58
+ Body: DrawerBody,
59
+ Footer: DrawerFooter
60
+ });
61
+
62
+ export { Drawer };
63
+ //# sourceMappingURL=Drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["/**\n * Importing npm packages\n */\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { type KeyboardEvent, useContext, useId } from 'react';\n\n/**\n * Importing user defined packages\n */\nimport { cn } from '@/lib';\n\nimport { Button } from '../Button';\nimport { IconButton } from '../IconButton';\nimport { DrawerContext } from './Drawer.context';\nimport styles from './Drawer.module.css';\nimport { type DrawerBodyProps, type DrawerFooterProps, type DrawerHeaderProps, type DrawerProps } from './Drawer.types';\n\n/**\n * Declaring the constants\n */\nfunction CloseIcon() {\n return (\n <svg viewBox='0 0 16 16' fill='none' stroke='currentColor' strokeWidth={1.5} strokeLinecap='round' aria-hidden='true'>\n <path d='M4 4l8 8M12 4l-8 8' />\n </svg>\n );\n}\n\n/** Header — title + optional meta, sharing the Dialog header grammar. Close × closes in either mode. */\nfunction DrawerHeader({ title, meta, showClose = true, className, ...props }: DrawerHeaderProps) {\n const { modal, titleId, onClose } = useContext(DrawerContext);\n const TitleTag = modal ? DialogPrimitive.Title : 'h2';\n return (\n <div className={cn(styles.header, className)} {...props}>\n <div className={styles.heading}>\n <TitleTag id={titleId} className={styles.title}>\n {title}\n </TitleTag>\n {meta != null ? <div className={styles.meta}>{meta}</div> : null}\n </div>\n {showClose ? (\n modal ? (\n <DialogPrimitive.Close asChild>\n <IconButton className={styles.close} variant='ghost' size='sm' aria-label='Close' icon={<CloseIcon />} />\n </DialogPrimitive.Close>\n ) : (\n <IconButton className={styles.close} variant='ghost' size='sm' aria-label='Close' icon={<CloseIcon />} onClick={onClose} />\n )\n ) : null}\n </div>\n );\n}\n\n/** Body — scrolls independently. */\nfunction DrawerBody({ className, ...props }: DrawerBodyProps) {\n return <div className={cn(styles.body, className)} {...props} />;\n}\n\n/** Footer — pinned; shares the Dialog footer grammar. */\nfunction DrawerFooter({ cancel, action, onAction, loading = false, className, children, ...props }: DrawerFooterProps) {\n const { modal, onClose } = useContext(DrawerContext);\n return (\n <div className={cn(styles.footer, className)} {...props}>\n {children ?? (\n <>\n {cancel != null ? (\n modal ? (\n <DialogPrimitive.Close asChild>\n <Button variant='ghost'>{cancel}</Button>\n </DialogPrimitive.Close>\n ) : (\n <Button variant='ghost' onClick={onClose}>\n {cancel}\n </Button>\n )\n ) : null}\n {action != null ? (\n <Button variant='primary' loading={loading} onClick={onAction}>\n {action}\n </Button>\n ) : null}\n </>\n )}\n </div>\n );\n}\n\n/**\n * A full-height edge panel for record detail. Modal mode wraps Radix Dialog (scrim, focus trap,\n * scroll lock — Dialog's rules) for focused edits; non-modal renders a `role=\"complementary\"` landmark\n * that keeps the page interactive for browse-and-inspect, closing via ×, Esc, or the caller. One\n * drawer at a time; slides from its edge with the emphasized curve. Shares the Dialog header/footer.\n */\nfunction DrawerRoot({ open, onOpenChange, placement = 'right', size = 'md', modal = true, className, children, 'aria-label': ariaLabel }: DrawerProps) {\n const titleId = useId();\n const onClose = () => onOpenChange?.(false);\n\n const panelProps = {\n className: cn(styles.panel, className),\n 'data-placement': placement,\n 'data-size': size,\n };\n\n if (modal) {\n return (\n <DrawerContext.Provider value={{ modal: true, titleId, onClose }}>\n <DialogPrimitive.Root open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay className={styles.scrim} />\n <DialogPrimitive.Content {...panelProps} aria-label={ariaLabel} aria-labelledby={ariaLabel ? undefined : titleId}>\n {children}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n </DrawerContext.Provider>\n );\n }\n\n if (!open) return null;\n\n function handleKeyDown(event: KeyboardEvent<HTMLElement>): void {\n if (event.key === 'Escape') onClose();\n }\n\n return (\n <DrawerContext.Provider value={{ modal: false, titleId, onClose }}>\n <aside {...panelProps} data-nonmodal='' aria-label={ariaLabel} aria-labelledby={ariaLabel ? undefined : titleId} onKeyDown={handleKeyDown}>\n {children}\n </aside>\n </DrawerContext.Provider>\n );\n}\n\nexport const Drawer = Object.assign(DrawerRoot, {\n Header: DrawerHeader,\n Body: DrawerBody,\n Footer: DrawerFooter,\n});\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var styles = {"scrim":"sh-scrim_P5VxA","panel":"sh-panel_wUX0N","header":"sh-header_sYoP1","heading":"sh-heading_0T8Gd","title":"sh-title_LqUOu","meta":"sh-meta_8ntkZ","close":"sh-close_tYPhU","body":"sh-body_aV9FG","footer":"sh-footer_AuvUP"};
2
+
3
+ export { styles as default };
4
+ //# sourceMappingURL=Drawer.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Importing npm packages
3
+ */
4
+ import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
5
+ /**
6
+ * Defining types
7
+ */
8
+ export type DrawerPlacement = 'right' | 'left' | 'bottom';
9
+ export type DrawerSize = 'sm' | 'md' | 'lg';
10
+ export interface DrawerProps {
11
+ /** Controlled open state. */
12
+ open: boolean;
13
+ /** Fires when the drawer should open or close. */
14
+ onOpenChange?: (open: boolean) => void;
15
+ /** Edge the panel slides from. @default 'right' */
16
+ placement?: DrawerPlacement;
17
+ /** Panel width (side placements). @default 'md' */
18
+ size?: DrawerSize;
19
+ /** Modal traps focus + scrim + scroll-lock (focused edits); non-modal keeps the page interactive (browse-and-inspect). @default true */
20
+ modal?: boolean;
21
+ /** Accessible name when no `Drawer.Header` title is present. */
22
+ 'aria-label'?: string;
23
+ className?: string;
24
+ children?: ReactNode;
25
+ }
26
+ export interface DrawerHeaderProps extends Omit<ComponentPropsWithoutRef<'div'>, 'title'> {
27
+ /** Record title (heading-3). */
28
+ title: ReactNode;
29
+ /** One line of identifying meta. */
30
+ meta?: ReactNode;
31
+ /** Render the close ×. @default true */
32
+ showClose?: boolean;
33
+ }
34
+ export type DrawerBodyProps = ComponentPropsWithoutRef<'div'>;
35
+ export interface DrawerFooterProps extends ComponentPropsWithoutRef<'div'> {
36
+ /** Ghost cancel label — closes the drawer. */
37
+ cancel?: ReactNode;
38
+ /** Primary action label. */
39
+ action?: ReactNode;
40
+ onAction?: () => void;
41
+ loading?: boolean;
42
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Drawer.js';
2
+ export * from './Drawer.types';
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Importing npm packages
3
+ */
4
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
5
+ import { type DropdownMenuCheckboxItemProps, type DropdownMenuContentProps, type DropdownMenuItemProps, type DropdownMenuRadioItemProps, type DropdownMenuSubTriggerProps } from './DropdownMenu.types';
6
+ declare const DropdownMenuContent: import("react").ForwardRefExoticComponent<DropdownMenuContentProps & import("react").RefAttributes<HTMLDivElement>>;
7
+ declare const DropdownMenuItem: import("react").ForwardRefExoticComponent<DropdownMenuItemProps & import("react").RefAttributes<HTMLDivElement>>;
8
+ declare const DropdownMenuCheckboxItem: import("react").ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & import("react").RefAttributes<HTMLDivElement>>;
9
+ declare const DropdownMenuRadioItem: import("react").ForwardRefExoticComponent<DropdownMenuRadioItemProps & import("react").RefAttributes<HTMLDivElement>>;
10
+ declare const DropdownMenuLabel: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
11
+ declare const DropdownMenuSeparator: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
12
+ declare const DropdownMenuSubTrigger: import("react").ForwardRefExoticComponent<DropdownMenuSubTriggerProps & import("react").RefAttributes<HTMLDivElement>>;
13
+ declare const DropdownMenuSubContent: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
14
+ /**
15
+ * A list of actions behind a trigger — a thin wrapper over Radix DropdownMenu that reuses Select's
16
+ * overlay surface with action semantics (icons, shortcut hints, destructive items, checkbox/radio
17
+ * items, and one level of submenu). `Select stores, Menu performs.`
18
+ */
19
+ export declare const DropdownMenu: import("react").FC<DropdownMenuPrimitive.DropdownMenuProps> & {
20
+ Trigger: import("react").ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
21
+ Group: import("react").ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & import("react").RefAttributes<HTMLDivElement>>;
22
+ RadioGroup: import("react").ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
23
+ Sub: import("react").FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
24
+ Content: import("react").ForwardRefExoticComponent<DropdownMenuContentProps & import("react").RefAttributes<HTMLDivElement>>;
25
+ Item: import("react").ForwardRefExoticComponent<DropdownMenuItemProps & import("react").RefAttributes<HTMLDivElement>>;
26
+ CheckboxItem: import("react").ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & import("react").RefAttributes<HTMLDivElement>>;
27
+ RadioItem: import("react").ForwardRefExoticComponent<DropdownMenuRadioItemProps & import("react").RefAttributes<HTMLDivElement>>;
28
+ Label: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
29
+ Separator: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
30
+ SubTrigger: import("react").ForwardRefExoticComponent<DropdownMenuSubTriggerProps & import("react").RefAttributes<HTMLDivElement>>;
31
+ SubContent: import("react").ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
32
+ };
33
+ export { DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSubContent, DropdownMenuSubTrigger, };