@aster-ui/prefixed 0.12.50

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 (388) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +40 -0
  3. package/dist/chart.d.ts +2 -0
  4. package/dist/chart.js +5 -0
  5. package/dist/chart.js.map +1 -0
  6. package/dist/components/Affix.d.ts +14 -0
  7. package/dist/components/Affix.js +57 -0
  8. package/dist/components/Affix.js.map +1 -0
  9. package/dist/components/Alert.d.ts +10 -0
  10. package/dist/components/Alert.js +31 -0
  11. package/dist/components/Alert.js.map +1 -0
  12. package/dist/components/Anchor.d.ts +55 -0
  13. package/dist/components/Anchor.js +116 -0
  14. package/dist/components/Anchor.js.map +1 -0
  15. package/dist/components/Autocomplete.d.ts +38 -0
  16. package/dist/components/Autocomplete.js +186 -0
  17. package/dist/components/Autocomplete.js.map +1 -0
  18. package/dist/components/Avatar.d.ts +28 -0
  19. package/dist/components/Avatar.js +65 -0
  20. package/dist/components/Avatar.js.map +1 -0
  21. package/dist/components/Badge.d.ts +39 -0
  22. package/dist/components/Badge.js +220 -0
  23. package/dist/components/Badge.js.map +1 -0
  24. package/dist/components/Breadcrumb.d.ts +32 -0
  25. package/dist/components/Breadcrumb.js +39 -0
  26. package/dist/components/Breadcrumb.js.map +1 -0
  27. package/dist/components/Browser.d.ts +7 -0
  28. package/dist/components/Browser.js +15 -0
  29. package/dist/components/Browser.js.map +1 -0
  30. package/dist/components/Button.d.ts +38 -0
  31. package/dist/components/Button.js +114 -0
  32. package/dist/components/Button.js.map +1 -0
  33. package/dist/components/Card.d.ts +57 -0
  34. package/dist/components/Card.js +202 -0
  35. package/dist/components/Card.js.map +1 -0
  36. package/dist/components/Carousel.d.ts +55 -0
  37. package/dist/components/Carousel.js +205 -0
  38. package/dist/components/Carousel.js.map +1 -0
  39. package/dist/components/Cascader.d.ts +71 -0
  40. package/dist/components/Cascader.js +416 -0
  41. package/dist/components/Cascader.js.map +1 -0
  42. package/dist/components/Chart.d.ts +19 -0
  43. package/dist/components/Chart.js +153 -0
  44. package/dist/components/Chart.js.map +1 -0
  45. package/dist/components/Chat.d.ts +11 -0
  46. package/dist/components/Chat.js +33 -0
  47. package/dist/components/Chat.js.map +1 -0
  48. package/dist/components/Checkbox.d.ts +42 -0
  49. package/dist/components/Checkbox.js +156 -0
  50. package/dist/components/Checkbox.js.map +1 -0
  51. package/dist/components/Code.d.ts +16 -0
  52. package/dist/components/Code.js +60 -0
  53. package/dist/components/Code.js.map +1 -0
  54. package/dist/components/Collapse.d.ts +45 -0
  55. package/dist/components/Collapse.js +115 -0
  56. package/dist/components/Collapse.js.map +1 -0
  57. package/dist/components/ColorPicker.d.ts +16 -0
  58. package/dist/components/ColorPicker.js +368 -0
  59. package/dist/components/ColorPicker.js.map +1 -0
  60. package/dist/components/Command.d.ts +65 -0
  61. package/dist/components/Command.js +422 -0
  62. package/dist/components/Command.js.map +1 -0
  63. package/dist/components/ConfigProvider.d.ts +59 -0
  64. package/dist/components/ConfigProvider.js +46 -0
  65. package/dist/components/ConfigProvider.js.map +1 -0
  66. package/dist/components/Container.d.ts +12 -0
  67. package/dist/components/Container.js +28 -0
  68. package/dist/components/Container.js.map +1 -0
  69. package/dist/components/ContextMenu.d.ts +59 -0
  70. package/dist/components/ContextMenu.js +206 -0
  71. package/dist/components/ContextMenu.js.map +1 -0
  72. package/dist/components/CopyButton.d.ts +37 -0
  73. package/dist/components/CopyButton.js +123 -0
  74. package/dist/components/CopyButton.js.map +1 -0
  75. package/dist/components/Countdown.d.ts +27 -0
  76. package/dist/components/Countdown.js +118 -0
  77. package/dist/components/Countdown.js.map +1 -0
  78. package/dist/components/DatePicker.d.ts +11 -0
  79. package/dist/components/DatePicker.js +188 -0
  80. package/dist/components/DatePicker.js.map +1 -0
  81. package/dist/components/Descriptions.d.ts +84 -0
  82. package/dist/components/Descriptions.js +234 -0
  83. package/dist/components/Descriptions.js.map +1 -0
  84. package/dist/components/Diff.d.ts +12 -0
  85. package/dist/components/Diff.js +22 -0
  86. package/dist/components/Diff.js.map +1 -0
  87. package/dist/components/Divider.d.ts +8 -0
  88. package/dist/components/Divider.js +36 -0
  89. package/dist/components/Divider.js.map +1 -0
  90. package/dist/components/Dock.d.ts +38 -0
  91. package/dist/components/Dock.js +47 -0
  92. package/dist/components/Dock.js.map +1 -0
  93. package/dist/components/Drawer.d.ts +81 -0
  94. package/dist/components/Drawer.js +246 -0
  95. package/dist/components/Drawer.js.map +1 -0
  96. package/dist/components/Dropdown.d.ts +104 -0
  97. package/dist/components/Dropdown.js +407 -0
  98. package/dist/components/Dropdown.js.map +1 -0
  99. package/dist/components/Empty.d.ts +17 -0
  100. package/dist/components/Empty.js +145 -0
  101. package/dist/components/Empty.js.map +1 -0
  102. package/dist/components/Fieldset.d.ts +21 -0
  103. package/dist/components/Fieldset.js +21 -0
  104. package/dist/components/Fieldset.js.map +1 -0
  105. package/dist/components/FileInput.d.ts +9 -0
  106. package/dist/components/FileInput.js +38 -0
  107. package/dist/components/FileInput.js.map +1 -0
  108. package/dist/components/Filter.d.ts +27 -0
  109. package/dist/components/Filter.js +57 -0
  110. package/dist/components/Filter.js.map +1 -0
  111. package/dist/components/Flex.d.ts +14 -0
  112. package/dist/components/Flex.js +66 -0
  113. package/dist/components/Flex.js.map +1 -0
  114. package/dist/components/FloatButton.d.ts +73 -0
  115. package/dist/components/FloatButton.js +187 -0
  116. package/dist/components/FloatButton.js.map +1 -0
  117. package/dist/components/Footer.d.ts +16 -0
  118. package/dist/components/Footer.js +22 -0
  119. package/dist/components/Footer.js.map +1 -0
  120. package/dist/components/Form.d.ts +107 -0
  121. package/dist/components/Form.js +277 -0
  122. package/dist/components/Form.js.map +1 -0
  123. package/dist/components/Grid.d.ts +26 -0
  124. package/dist/components/Grid.js +1090 -0
  125. package/dist/components/Grid.js.map +1 -0
  126. package/dist/components/Hero.d.ts +11 -0
  127. package/dist/components/Hero.js +21 -0
  128. package/dist/components/Hero.js.map +1 -0
  129. package/dist/components/HoverGallery.d.ts +10 -0
  130. package/dist/components/HoverGallery.js +20 -0
  131. package/dist/components/HoverGallery.js.map +1 -0
  132. package/dist/components/Image.d.ts +26 -0
  133. package/dist/components/Image.js +172 -0
  134. package/dist/components/Image.js.map +1 -0
  135. package/dist/components/Input.d.ts +36 -0
  136. package/dist/components/Input.js +263 -0
  137. package/dist/components/Input.js.map +1 -0
  138. package/dist/components/InputNumber.d.ts +19 -0
  139. package/dist/components/InputNumber.js +158 -0
  140. package/dist/components/InputNumber.js.map +1 -0
  141. package/dist/components/Join.d.ts +6 -0
  142. package/dist/components/Join.js +19 -0
  143. package/dist/components/Join.js.map +1 -0
  144. package/dist/components/Kbd.d.ts +9 -0
  145. package/dist/components/Kbd.js +20 -0
  146. package/dist/components/Kbd.js.map +1 -0
  147. package/dist/components/Layout.d.ts +67 -0
  148. package/dist/components/Layout.js +188 -0
  149. package/dist/components/Layout.js.map +1 -0
  150. package/dist/components/List.d.ts +79 -0
  151. package/dist/components/List.js +128 -0
  152. package/dist/components/List.js.map +1 -0
  153. package/dist/components/Loading.d.ts +9 -0
  154. package/dist/components/Loading.js +40 -0
  155. package/dist/components/Loading.js.map +1 -0
  156. package/dist/components/Mask.d.ts +14 -0
  157. package/dist/components/Mask.js +37 -0
  158. package/dist/components/Mask.js.map +1 -0
  159. package/dist/components/Masonry.d.ts +15 -0
  160. package/dist/components/Masonry.js +84 -0
  161. package/dist/components/Masonry.js.map +1 -0
  162. package/dist/components/Mention.d.ts +30 -0
  163. package/dist/components/Mention.js +179 -0
  164. package/dist/components/Mention.js.map +1 -0
  165. package/dist/components/Menu.d.ts +72 -0
  166. package/dist/components/Menu.js +163 -0
  167. package/dist/components/Menu.js.map +1 -0
  168. package/dist/components/Message.d.ts +20 -0
  169. package/dist/components/Message.js +57 -0
  170. package/dist/components/Message.js.map +1 -0
  171. package/dist/components/Modal.d.ts +57 -0
  172. package/dist/components/Modal.js +338 -0
  173. package/dist/components/Modal.js.map +1 -0
  174. package/dist/components/MonthCalendar.d.ts +31 -0
  175. package/dist/components/MonthCalendar.js +205 -0
  176. package/dist/components/MonthCalendar.js.map +1 -0
  177. package/dist/components/Navbar.d.ts +22 -0
  178. package/dist/components/Navbar.js +50 -0
  179. package/dist/components/Navbar.js.map +1 -0
  180. package/dist/components/Notification.d.ts +50 -0
  181. package/dist/components/Notification.js +150 -0
  182. package/dist/components/Notification.js.map +1 -0
  183. package/dist/components/OTPInput.d.ts +32 -0
  184. package/dist/components/OTPInput.js +114 -0
  185. package/dist/components/OTPInput.js.map +1 -0
  186. package/dist/components/Pagination.d.ts +18 -0
  187. package/dist/components/Pagination.js +175 -0
  188. package/dist/components/Pagination.js.map +1 -0
  189. package/dist/components/Phone.d.ts +8 -0
  190. package/dist/components/Phone.js +17 -0
  191. package/dist/components/Phone.js.map +1 -0
  192. package/dist/components/Popconfirm.d.ts +17 -0
  193. package/dist/components/Popconfirm.js +125 -0
  194. package/dist/components/Popconfirm.js.map +1 -0
  195. package/dist/components/Popover.d.ts +15 -0
  196. package/dist/components/Popover.js +89 -0
  197. package/dist/components/Popover.js.map +1 -0
  198. package/dist/components/Progress.d.ts +5 -0
  199. package/dist/components/Progress.js +23 -0
  200. package/dist/components/Progress.js.map +1 -0
  201. package/dist/components/QRCode.d.ts +19 -0
  202. package/dist/components/QRCode.js +75 -0
  203. package/dist/components/QRCode.js.map +1 -0
  204. package/dist/components/RadialProgress.d.ts +10 -0
  205. package/dist/components/RadialProgress.js +48 -0
  206. package/dist/components/RadialProgress.js.map +1 -0
  207. package/dist/components/Radio.d.ts +26 -0
  208. package/dist/components/Radio.js +61 -0
  209. package/dist/components/Radio.js.map +1 -0
  210. package/dist/components/Range.d.ts +16 -0
  211. package/dist/components/Range.js +57 -0
  212. package/dist/components/Range.js.map +1 -0
  213. package/dist/components/Rating.d.ts +30 -0
  214. package/dist/components/Rating.js +127 -0
  215. package/dist/components/Rating.js.map +1 -0
  216. package/dist/components/Responsive.d.ts +18 -0
  217. package/dist/components/Responsive.js +17 -0
  218. package/dist/components/Responsive.js.map +1 -0
  219. package/dist/components/ResponsiveDrawer.d.ts +34 -0
  220. package/dist/components/ResponsiveDrawer.js +75 -0
  221. package/dist/components/ResponsiveDrawer.js.map +1 -0
  222. package/dist/components/Result.d.ts +12 -0
  223. package/dist/components/Result.js +110 -0
  224. package/dist/components/Result.js.map +1 -0
  225. package/dist/components/RichTextEditor.d.ts +32 -0
  226. package/dist/components/RichTextEditor.js +335 -0
  227. package/dist/components/RichTextEditor.js.map +1 -0
  228. package/dist/components/Segmented.d.ts +37 -0
  229. package/dist/components/Segmented.js +73 -0
  230. package/dist/components/Segmented.js.map +1 -0
  231. package/dist/components/Select.d.ts +18 -0
  232. package/dist/components/Select.js +78 -0
  233. package/dist/components/Select.js.map +1 -0
  234. package/dist/components/Skeleton.d.ts +9 -0
  235. package/dist/components/Skeleton.js +24 -0
  236. package/dist/components/Skeleton.js.map +1 -0
  237. package/dist/components/Space.d.ts +11 -0
  238. package/dist/components/Space.js +61 -0
  239. package/dist/components/Space.js.map +1 -0
  240. package/dist/components/Splitter.d.ts +29 -0
  241. package/dist/components/Splitter.js +257 -0
  242. package/dist/components/Splitter.js.map +1 -0
  243. package/dist/components/Stat.d.ts +18 -0
  244. package/dist/components/Stat.js +26 -0
  245. package/dist/components/Stat.js.map +1 -0
  246. package/dist/components/Status.d.ts +18 -0
  247. package/dist/components/Status.js +34 -0
  248. package/dist/components/Status.js.map +1 -0
  249. package/dist/components/Steps.d.ts +52 -0
  250. package/dist/components/Steps.js +97 -0
  251. package/dist/components/Steps.js.map +1 -0
  252. package/dist/components/Table.d.ts +105 -0
  253. package/dist/components/Table.js +637 -0
  254. package/dist/components/Table.js.map +1 -0
  255. package/dist/components/Tabs.d.ts +45 -0
  256. package/dist/components/Tabs.js +86 -0
  257. package/dist/components/Tabs.js.map +1 -0
  258. package/dist/components/Tag.d.ts +34 -0
  259. package/dist/components/Tag.js +210 -0
  260. package/dist/components/Tag.js.map +1 -0
  261. package/dist/components/TextRotate.d.ts +13 -0
  262. package/dist/components/TextRotate.js +26 -0
  263. package/dist/components/TextRotate.js.map +1 -0
  264. package/dist/components/Textarea.d.ts +9 -0
  265. package/dist/components/Textarea.js +44 -0
  266. package/dist/components/Textarea.js.map +1 -0
  267. package/dist/components/ThemeController.d.ts +28 -0
  268. package/dist/components/ThemeController.js +162 -0
  269. package/dist/components/ThemeController.js.map +1 -0
  270. package/dist/components/TimePicker.d.ts +20 -0
  271. package/dist/components/TimePicker.js +304 -0
  272. package/dist/components/TimePicker.js.map +1 -0
  273. package/dist/components/Timeline.d.ts +79 -0
  274. package/dist/components/Timeline.js +151 -0
  275. package/dist/components/Timeline.js.map +1 -0
  276. package/dist/components/Toggle.d.ts +7 -0
  277. package/dist/components/Toggle.js +39 -0
  278. package/dist/components/Toggle.js.map +1 -0
  279. package/dist/components/Tooltip.d.ts +9 -0
  280. package/dist/components/Tooltip.js +37 -0
  281. package/dist/components/Tooltip.js.map +1 -0
  282. package/dist/components/Tour.d.ts +123 -0
  283. package/dist/components/Tour.js +400 -0
  284. package/dist/components/Tour.js.map +1 -0
  285. package/dist/components/Transfer.d.ts +22 -0
  286. package/dist/components/Transfer.js +214 -0
  287. package/dist/components/Transfer.js.map +1 -0
  288. package/dist/components/Tree.d.ts +118 -0
  289. package/dist/components/Tree.js +444 -0
  290. package/dist/components/Tree.js.map +1 -0
  291. package/dist/components/TreeSelect.d.ts +84 -0
  292. package/dist/components/TreeSelect.js +755 -0
  293. package/dist/components/TreeSelect.js.map +1 -0
  294. package/dist/components/Typography.d.ts +53 -0
  295. package/dist/components/Typography.js +182 -0
  296. package/dist/components/Typography.js.map +1 -0
  297. package/dist/components/Upload.d.ts +38 -0
  298. package/dist/components/Upload.js +261 -0
  299. package/dist/components/Upload.js.map +1 -0
  300. package/dist/components/VirtualList.d.ts +29 -0
  301. package/dist/components/VirtualList.js +69 -0
  302. package/dist/components/VirtualList.js.map +1 -0
  303. package/dist/components/Watermark.d.ts +40 -0
  304. package/dist/components/Watermark.js +129 -0
  305. package/dist/components/Watermark.js.map +1 -0
  306. package/dist/components/WeekCalendar.d.ts +35 -0
  307. package/dist/components/WeekCalendar.js +204 -0
  308. package/dist/components/WeekCalendar.js.map +1 -0
  309. package/dist/components/Window.d.ts +7 -0
  310. package/dist/components/Window.js +10 -0
  311. package/dist/components/Window.js.map +1 -0
  312. package/dist/contexts/IconSizeContext.d.ts +2 -0
  313. package/dist/contexts/IconSizeContext.js +6 -0
  314. package/dist/contexts/IconSizeContext.js.map +1 -0
  315. package/dist/editor.d.ts +1 -0
  316. package/dist/editor.js +5 -0
  317. package/dist/editor.js.map +1 -0
  318. package/dist/hooks/useBreakpoint.d.ts +10 -0
  319. package/dist/hooks/useBreakpoint.js +36 -0
  320. package/dist/hooks/useBreakpoint.js.map +1 -0
  321. package/dist/hooks/useClickOutside.d.ts +17 -0
  322. package/dist/hooks/useClickOutside.js +18 -0
  323. package/dist/hooks/useClickOutside.js.map +1 -0
  324. package/dist/hooks/useClipboard.d.ts +20 -0
  325. package/dist/hooks/useClipboard.js +17 -0
  326. package/dist/hooks/useClipboard.js.map +1 -0
  327. package/dist/hooks/useDebounce.d.ts +18 -0
  328. package/dist/hooks/useDebounce.js +16 -0
  329. package/dist/hooks/useDebounce.js.map +1 -0
  330. package/dist/hooks/useDisclosure.d.ts +20 -0
  331. package/dist/hooks/useDisclosure.js +9 -0
  332. package/dist/hooks/useDisclosure.js.map +1 -0
  333. package/dist/hooks/useHover.d.ts +18 -0
  334. package/dist/hooks/useHover.js +16 -0
  335. package/dist/hooks/useHover.js.map +1 -0
  336. package/dist/hooks/useKeyPress.d.ts +40 -0
  337. package/dist/hooks/useKeyPress.js +34 -0
  338. package/dist/hooks/useKeyPress.js.map +1 -0
  339. package/dist/hooks/useLocalStorage.d.ts +12 -0
  340. package/dist/hooks/useLocalStorage.js +49 -0
  341. package/dist/hooks/useLocalStorage.js.map +1 -0
  342. package/dist/hooks/usePrevious.d.ts +15 -0
  343. package/dist/hooks/usePrevious.js +11 -0
  344. package/dist/hooks/usePrevious.js.map +1 -0
  345. package/dist/hooks/useWindowSize.d.ts +21 -0
  346. package/dist/hooks/useWindowSize.js +21 -0
  347. package/dist/hooks/useWindowSize.js.map +1 -0
  348. package/dist/index.d.ts +216 -0
  349. package/dist/index.js +256 -0
  350. package/dist/index.js.map +1 -0
  351. package/dist/locale/de-DE.d.ts +3 -0
  352. package/dist/locale/de-DE.js +100 -0
  353. package/dist/locale/de-DE.js.map +1 -0
  354. package/dist/locale/en-CA.d.ts +3 -0
  355. package/dist/locale/en-CA.js +11 -0
  356. package/dist/locale/en-CA.js.map +1 -0
  357. package/dist/locale/en-GB.d.ts +3 -0
  358. package/dist/locale/en-GB.js +11 -0
  359. package/dist/locale/en-GB.js.map +1 -0
  360. package/dist/locale/en-US.d.ts +3 -0
  361. package/dist/locale/en-US.js +100 -0
  362. package/dist/locale/en-US.js.map +1 -0
  363. package/dist/locale/es-ES.d.ts +3 -0
  364. package/dist/locale/es-ES.js +100 -0
  365. package/dist/locale/es-ES.js.map +1 -0
  366. package/dist/locale/fr-FR.d.ts +3 -0
  367. package/dist/locale/fr-FR.js +100 -0
  368. package/dist/locale/fr-FR.js.map +1 -0
  369. package/dist/locale/index.d.ts +107 -0
  370. package/dist/locale/ja-JP.d.ts +3 -0
  371. package/dist/locale/ja-JP.js +100 -0
  372. package/dist/locale/ja-JP.js.map +1 -0
  373. package/dist/locale/ko-KR.d.ts +3 -0
  374. package/dist/locale/ko-KR.js +100 -0
  375. package/dist/locale/ko-KR.js.map +1 -0
  376. package/dist/locale/pt-BR.d.ts +3 -0
  377. package/dist/locale/pt-BR.js +100 -0
  378. package/dist/locale/pt-BR.js.map +1 -0
  379. package/dist/locale/zh-CN.d.ts +3 -0
  380. package/dist/locale/zh-CN.js +100 -0
  381. package/dist/locale/zh-CN.js.map +1 -0
  382. package/dist/qrcode.d.ts +2 -0
  383. package/dist/qrcode.js +5 -0
  384. package/dist/qrcode.js.map +1 -0
  385. package/dist/virtuallist.d.ts +2 -0
  386. package/dist/virtuallist.js +5 -0
  387. package/dist/virtuallist.js.map +1 -0
  388. package/package.json +130 -0
@@ -0,0 +1,234 @@
1
+ import { jsxs as y, jsx as r } from "react/jsx-runtime";
2
+ import g, { forwardRef as q, useId as G, useState as J, useEffect as Q } from "react";
3
+ function T(n) {
4
+ return null;
5
+ }
6
+ const U = {
7
+ sm: "text-sm",
8
+ md: "text-base",
9
+ lg: "text-lg"
10
+ }, S = {
11
+ xs: 0,
12
+ sm: 640,
13
+ md: 768,
14
+ lg: 1024,
15
+ xl: 1280,
16
+ "2xl": 1536
17
+ };
18
+ function X(n) {
19
+ const [h, i] = J(() => typeof n == "number" ? n : n.md ?? n.sm ?? n.xs ?? 3);
20
+ return Q(() => {
21
+ if (typeof n == "number") {
22
+ i(n);
23
+ return;
24
+ }
25
+ const $ = () => {
26
+ const k = window.innerWidth, u = Object.keys(S).filter((c) => n[c] !== void 0).sort((c, m) => S[m] - S[c]);
27
+ for (const c of u)
28
+ if (k >= S[c]) {
29
+ i(n[c]);
30
+ return;
31
+ }
32
+ const C = u[u.length - 1];
33
+ i(C ? n[C] : 3);
34
+ };
35
+ return $(), window.addEventListener("resize", $), () => window.removeEventListener("resize", $);
36
+ }, [n]), h;
37
+ }
38
+ const R = q(
39
+ ({
40
+ title: n,
41
+ extra: h,
42
+ bordered: i = !1,
43
+ column: $ = 3,
44
+ size: k = "md",
45
+ layout: u = "horizontal",
46
+ colon: C = !0,
47
+ labelStyle: c,
48
+ contentStyle: m,
49
+ styles: d,
50
+ classNames: b,
51
+ items: x,
52
+ className: z = "",
53
+ style: B,
54
+ children: D,
55
+ "data-testid": s = "descriptions",
56
+ ...E
57
+ }, M) => {
58
+ const w = G(), f = X($), F = { ...c, ...d?.label }, O = { ...m, ...d?.content }, V = (x || g.Children.toArray(D).filter(
59
+ (t) => g.isValidElement(t)
60
+ ).map((t) => ({
61
+ key: t.props.itemKey ?? t.key?.toString().replace(/^\.\$/, ""),
62
+ label: t.props.label,
63
+ children: t.props.children,
64
+ span: t.props.span,
65
+ labelStyle: t.props.labelStyle,
66
+ contentStyle: t.props.contentStyle,
67
+ labelClassName: t.props.labelClassName,
68
+ contentClassName: t.props.contentClassName
69
+ }))).map((t, a) => ({
70
+ ...t,
71
+ _key: t.key ?? `item-${a}`,
72
+ _index: a
73
+ })), v = (() => {
74
+ const t = [];
75
+ let a = [], e = 0;
76
+ return V.forEach((l) => {
77
+ if (l.span === "filled")
78
+ a.length > 0 ? (a.push({ ...l, span: f - e }), t.push(a), a = [], e = 0) : t.push([{ ...l, span: f }]);
79
+ else {
80
+ const p = l.span ?? 1, o = Math.min(p, f);
81
+ e + o > f ? (t.push(a), a = [l], e = o) : (a.push(l), e += o);
82
+ }
83
+ }), a.length > 0 && t.push(a), t;
84
+ })(), _ = (t) => [
85
+ i ? "border border-base-content/10" : "",
86
+ "bg-base-200/50 font-semibold text-base-content/70 text-left px-4 py-2",
87
+ u === "horizontal" ? "whitespace-nowrap" : "",
88
+ b?.label ?? "",
89
+ t.labelClassName ?? ""
90
+ ].filter(Boolean).join(" "), j = (t) => [
91
+ i ? "border border-base-content/10" : "",
92
+ "bg-base-100 text-base-content px-4 py-2",
93
+ b?.content ?? "",
94
+ t.contentClassName ?? ""
95
+ ].filter(Boolean).join(" "), N = (t) => ({
96
+ ...F,
97
+ ...t.labelStyle
98
+ }), L = (t) => ({
99
+ ...O,
100
+ ...t.contentStyle
101
+ }), A = () => v.map((t, a) => /* @__PURE__ */ y(g.Fragment, { children: [
102
+ /* @__PURE__ */ r("tr", { "data-testid": `${s}-row-${a}-labels`, children: t.map((e) => {
103
+ const l = typeof e.span == "number" ? e.span : 1, p = Math.min(l, f), o = `${w}-${e._key}-label`;
104
+ return /* @__PURE__ */ y(
105
+ "th",
106
+ {
107
+ id: o,
108
+ className: _(e),
109
+ style: N(e),
110
+ colSpan: p,
111
+ scope: "col",
112
+ "data-testid": `${s}-${e._key}-label`,
113
+ children: [
114
+ e.label,
115
+ C && e.label && /* @__PURE__ */ r("span", { "aria-hidden": "true", children: ":" })
116
+ ]
117
+ },
118
+ e._key
119
+ );
120
+ }) }),
121
+ /* @__PURE__ */ r("tr", { "data-testid": `${s}-row-${a}-values`, children: t.map((e) => {
122
+ const l = typeof e.span == "number" ? e.span : 1, p = Math.min(l, f), o = `${w}-${e._key}-label`;
123
+ return /* @__PURE__ */ r(
124
+ "td",
125
+ {
126
+ className: j(e),
127
+ style: L(e),
128
+ colSpan: p,
129
+ "aria-labelledby": o,
130
+ "data-testid": `${s}-${e._key}-content`,
131
+ children: e.children
132
+ },
133
+ e._key
134
+ );
135
+ }) })
136
+ ] }, t.map((e) => e._key).join("-"))), H = () => v.map((t, a) => /* @__PURE__ */ r("tr", { "data-testid": `${s}-row-${a}`, children: t.map((e) => {
137
+ const l = typeof e.span == "number" ? e.span : 1, p = Math.min(l, f), o = `${w}-${e._key}-label`;
138
+ return /* @__PURE__ */ y(g.Fragment, { children: [
139
+ /* @__PURE__ */ y(
140
+ "th",
141
+ {
142
+ id: o,
143
+ className: _(e),
144
+ style: N(e),
145
+ scope: "row",
146
+ "data-testid": `${s}-${e._key}-label`,
147
+ children: [
148
+ e.label,
149
+ C && e.label && /* @__PURE__ */ r("span", { "aria-hidden": "true", children: ":" })
150
+ ]
151
+ }
152
+ ),
153
+ /* @__PURE__ */ r(
154
+ "td",
155
+ {
156
+ className: j(e),
157
+ style: L(e),
158
+ colSpan: p > 1 ? p * 2 - 1 : 1,
159
+ "aria-labelledby": o,
160
+ "data-testid": `${s}-${e._key}-content`,
161
+ children: e.children
162
+ }
163
+ )
164
+ ] }, e._key);
165
+ }) }, t.map((e) => e._key).join("-"))), K = [
166
+ "w-full",
167
+ i && "border-collapse",
168
+ U[k],
169
+ b?.table ?? "",
170
+ z
171
+ ].filter(Boolean).join(" "), W = [b?.root ?? ""].filter(Boolean).join(" ");
172
+ return /* @__PURE__ */ y(
173
+ "div",
174
+ {
175
+ ref: M,
176
+ className: W || void 0,
177
+ style: { ...d?.root, ...B },
178
+ "data-testid": s,
179
+ ...E,
180
+ children: [
181
+ (n || h) && /* @__PURE__ */ y(
182
+ "div",
183
+ {
184
+ className: `flex items-center justify-between mb-4 ${b?.header ?? ""}`,
185
+ style: d?.header,
186
+ "data-testid": `${s}-header`,
187
+ children: [
188
+ n && /* @__PURE__ */ r(
189
+ "div",
190
+ {
191
+ className: `text-lg font-semibold ${b?.title ?? ""}`,
192
+ style: d?.title,
193
+ "data-testid": `${s}-title`,
194
+ children: n
195
+ }
196
+ ),
197
+ h && /* @__PURE__ */ r(
198
+ "div",
199
+ {
200
+ className: b?.extra ?? "",
201
+ style: d?.extra,
202
+ "data-testid": `${s}-extra`,
203
+ children: h
204
+ }
205
+ )
206
+ ]
207
+ }
208
+ ),
209
+ /* @__PURE__ */ y(
210
+ "table",
211
+ {
212
+ className: K,
213
+ style: d?.table,
214
+ "data-testid": `${s}-table`,
215
+ children: [
216
+ n && /* @__PURE__ */ r("caption", { className: "sr-only", children: typeof n == "string" ? n : "Description list" }),
217
+ /* @__PURE__ */ r("tbody", { children: u === "vertical" ? A() : H() })
218
+ ]
219
+ }
220
+ )
221
+ ]
222
+ }
223
+ );
224
+ }
225
+ );
226
+ R.displayName = "Descriptions";
227
+ const I = Object.assign(R, {
228
+ Item: T
229
+ });
230
+ export {
231
+ I as Descriptions,
232
+ I as default
233
+ };
234
+ //# sourceMappingURL=Descriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Descriptions.js","sources":["../../src/components/Descriptions.tsx"],"sourcesContent":["import React, { forwardRef, useId, useEffect, useState } from 'react'\n\nexport type DescriptionsSize = 'sm' | 'md' | 'lg'\nexport type DescriptionsLayout = 'horizontal' | 'vertical'\n\nexport interface DescriptionsItemProps {\n /** Unique key for the item */\n itemKey?: string\n /** Label for the item */\n label?: React.ReactNode\n /** Number of columns to span, or 'filled' to fill remaining space */\n span?: number | 'filled'\n /** Content of the item */\n children?: React.ReactNode\n /** Custom label styles */\n labelStyle?: React.CSSProperties\n /** Custom content styles */\n contentStyle?: React.CSSProperties\n /** Custom label class */\n labelClassName?: string\n /** Custom content class */\n contentClassName?: string\n}\n\n/** Item configuration for the items prop */\nexport interface DescriptionsItemConfig {\n /** Unique key for the item (used for test IDs and React keys) */\n key?: string\n /** Label for the item */\n label: React.ReactNode\n /** Content of the item */\n children: React.ReactNode\n /** Number of columns to span, or 'filled' to fill remaining space */\n span?: number | 'filled'\n /** Custom label styles */\n labelStyle?: React.CSSProperties\n /** Custom content styles */\n contentStyle?: React.CSSProperties\n /** Custom label class */\n labelClassName?: string\n /** Custom content class */\n contentClassName?: string\n}\n\n/** Semantic DOM structure for styles/classNames */\nexport type DescriptionsSemanticDOM = 'root' | 'header' | 'title' | 'extra' | 'table' | 'label' | 'content'\n\nexport interface DescriptionsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n /** Title of the descriptions block */\n title?: React.ReactNode\n /** Extra content in the top-right corner */\n extra?: React.ReactNode\n /** Show borders around cells */\n bordered?: boolean\n /** Number of columns (or responsive config) */\n column?: number | {\n xs?: number\n sm?: number\n md?: number\n lg?: number\n xl?: number\n '2xl'?: number\n }\n /** Size variant */\n size?: DescriptionsSize\n /** Layout direction */\n layout?: DescriptionsLayout\n /** Show colon after labels */\n colon?: boolean\n /** Default label styles (deprecated, use styles.label) */\n labelStyle?: React.CSSProperties\n /** Default content styles (deprecated, use styles.content) */\n contentStyle?: React.CSSProperties\n /** Semantic styles for component parts */\n styles?: Partial<Record<DescriptionsSemanticDOM, React.CSSProperties>>\n /** Semantic classNames for component parts */\n classNames?: Partial<Record<DescriptionsSemanticDOM, string>>\n /** Item configurations (alternative to children) */\n items?: DescriptionsItemConfig[]\n /** Children (Descriptions.Item elements) */\n children?: React.ReactNode\n /** Test ID for the component */\n 'data-testid'?: string\n}\n\nfunction DescriptionsItem(_props: DescriptionsItemProps) {\n // This component is used for the compound pattern\n // The parent Descriptions component extracts props from children\n return null\n}\n\nconst sizeClasses: Record<DescriptionsSize, string> = {\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n}\n\n// Breakpoint values in pixels (matches Tailwind defaults)\nconst breakpoints = {\n xs: 0,\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n}\n\ntype BreakpointKey = keyof typeof breakpoints\n\nfunction useResponsiveColumn(\n column: number | Partial<Record<BreakpointKey, number>>\n): number {\n const [columnCount, setColumnCount] = useState(() => {\n if (typeof column === 'number') return column\n // SSR fallback: use md or first available\n return column.md ?? column.sm ?? column.xs ?? 3\n })\n\n useEffect(() => {\n if (typeof column === 'number') {\n setColumnCount(column)\n return\n }\n\n const updateColumns = () => {\n const width = window.innerWidth\n const sortedBreakpoints = (Object.keys(breakpoints) as BreakpointKey[])\n .filter((key) => column[key] !== undefined)\n .sort((a, b) => breakpoints[b] - breakpoints[a])\n\n for (const bp of sortedBreakpoints) {\n if (width >= breakpoints[bp]) {\n setColumnCount(column[bp]!)\n return\n }\n }\n // Fallback to smallest defined or 3\n const smallest = sortedBreakpoints[sortedBreakpoints.length - 1]\n setColumnCount(smallest ? column[smallest]! : 3)\n }\n\n updateColumns()\n window.addEventListener('resize', updateColumns)\n return () => window.removeEventListener('resize', updateColumns)\n }, [column])\n\n return columnCount\n}\n\n/** Internal item config with resolved key */\ninterface InternalItemConfig extends DescriptionsItemConfig {\n _key: string\n _index: number\n}\n\nconst DescriptionsRoot = forwardRef<HTMLDivElement, DescriptionsProps>(\n (\n {\n title,\n extra,\n bordered = false,\n column = 3,\n size = 'md',\n layout = 'horizontal',\n colon = true,\n labelStyle,\n contentStyle,\n styles,\n classNames,\n items: itemsProp,\n className = '',\n style,\n children,\n 'data-testid': testId = 'descriptions',\n ...rest\n },\n ref\n ) => {\n const baseId = useId()\n const columnCount = useResponsiveColumn(column)\n\n // Merge deprecated props with styles prop\n const mergedLabelStyle = { ...labelStyle, ...styles?.label }\n const mergedContentStyle = { ...contentStyle, ...styles?.content }\n\n // Convert children to item configs, or use items prop\n const itemConfigs: InternalItemConfig[] = (\n itemsProp\n ? itemsProp\n : React.Children.toArray(children)\n .filter((child): child is React.ReactElement<DescriptionsItemProps> =>\n React.isValidElement(child)\n )\n .map((child) => ({\n key: child.props.itemKey ?? child.key?.toString().replace(/^\\.\\$/, ''),\n label: child.props.label,\n children: child.props.children,\n span: child.props.span,\n labelStyle: child.props.labelStyle,\n contentStyle: child.props.contentStyle,\n labelClassName: child.props.labelClassName,\n contentClassName: child.props.contentClassName,\n }))\n ).map((item, index) => ({\n ...item,\n _key: item.key ?? `item-${index}`,\n _index: index,\n }))\n\n // Calculate rows with 'filled' span support\n const calculateRows = (): InternalItemConfig[][] => {\n const rows: InternalItemConfig[][] = []\n let currentRow: InternalItemConfig[] = []\n let currentSpan = 0\n\n itemConfigs.forEach((item) => {\n if (item.span === 'filled') {\n // 'filled' means fill the rest of the row\n if (currentRow.length > 0) {\n currentRow.push({ ...item, span: columnCount - currentSpan })\n rows.push(currentRow)\n currentRow = []\n currentSpan = 0\n } else {\n // First item in row with 'filled' takes whole row\n rows.push([{ ...item, span: columnCount }])\n }\n } else {\n const span = item.span ?? 1\n const effectiveSpan = Math.min(span, columnCount)\n\n if (currentSpan + effectiveSpan > columnCount) {\n rows.push(currentRow)\n currentRow = [item]\n currentSpan = effectiveSpan\n } else {\n currentRow.push(item)\n currentSpan += effectiveSpan\n }\n }\n })\n\n if (currentRow.length > 0) {\n rows.push(currentRow)\n }\n\n return rows\n }\n\n const rows = calculateRows()\n\n const getLabelClasses = (item: InternalItemConfig) => {\n return [\n bordered ? 'border border-base-content/10' : '',\n 'bg-base-200/50 font-semibold text-base-content/70 text-left px-4 py-2',\n layout === 'horizontal' ? 'whitespace-nowrap' : '',\n classNames?.label ?? '',\n item.labelClassName ?? '',\n ].filter(Boolean).join(' ')\n }\n\n const getContentClasses = (item: InternalItemConfig) => {\n return [\n bordered ? 'border border-base-content/10' : '',\n 'bg-base-100 text-base-content px-4 py-2',\n classNames?.content ?? '',\n item.contentClassName ?? '',\n ].filter(Boolean).join(' ')\n }\n\n const getLabelStyle = (item: InternalItemConfig): React.CSSProperties => ({\n ...mergedLabelStyle,\n ...item.labelStyle,\n })\n\n const getContentStyle = (item: InternalItemConfig): React.CSSProperties => ({\n ...mergedContentStyle,\n ...item.contentStyle,\n })\n\n const renderVerticalLayout = () => {\n return rows.map((row, rowIndex) => (\n <React.Fragment key={row.map(r => r._key).join('-')}>\n <tr data-testid={`${testId}-row-${rowIndex}-labels`}>\n {row.map((item) => {\n const span = typeof item.span === 'number' ? item.span : 1\n const effectiveSpan = Math.min(span, columnCount)\n const labelId = `${baseId}-${item._key}-label`\n\n return (\n <th\n key={item._key}\n id={labelId}\n className={getLabelClasses(item)}\n style={getLabelStyle(item)}\n colSpan={effectiveSpan}\n scope=\"col\"\n data-testid={`${testId}-${item._key}-label`}\n >\n {item.label}\n {colon && item.label && <span aria-hidden=\"true\">:</span>}\n </th>\n )\n })}\n </tr>\n <tr data-testid={`${testId}-row-${rowIndex}-values`}>\n {row.map((item) => {\n const span = typeof item.span === 'number' ? item.span : 1\n const effectiveSpan = Math.min(span, columnCount)\n const labelId = `${baseId}-${item._key}-label`\n\n return (\n <td\n key={item._key}\n className={getContentClasses(item)}\n style={getContentStyle(item)}\n colSpan={effectiveSpan}\n aria-labelledby={labelId}\n data-testid={`${testId}-${item._key}-content`}\n >\n {item.children}\n </td>\n )\n })}\n </tr>\n </React.Fragment>\n ))\n }\n\n const renderHorizontalLayout = () => {\n return rows.map((row, rowIndex) => (\n <tr key={row.map(r => r._key).join('-')} data-testid={`${testId}-row-${rowIndex}`}>\n {row.map((item) => {\n const span = typeof item.span === 'number' ? item.span : 1\n const effectiveSpan = Math.min(span, columnCount)\n const labelId = `${baseId}-${item._key}-label`\n\n return (\n <React.Fragment key={item._key}>\n <th\n id={labelId}\n className={getLabelClasses(item)}\n style={getLabelStyle(item)}\n scope=\"row\"\n data-testid={`${testId}-${item._key}-label`}\n >\n {item.label}\n {colon && item.label && <span aria-hidden=\"true\">:</span>}\n </th>\n <td\n className={getContentClasses(item)}\n style={getContentStyle(item)}\n colSpan={effectiveSpan > 1 ? effectiveSpan * 2 - 1 : 1}\n aria-labelledby={labelId}\n data-testid={`${testId}-${item._key}-content`}\n >\n {item.children}\n </td>\n </React.Fragment>\n )\n })}\n </tr>\n ))\n }\n\n const containerClasses = [\n 'w-full',\n bordered && 'border-collapse',\n sizeClasses[size],\n classNames?.table ?? '',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n const rootClasses = [classNames?.root ?? ''].filter(Boolean).join(' ')\n\n return (\n <div\n ref={ref}\n className={rootClasses || undefined}\n style={{ ...styles?.root, ...style }}\n data-testid={testId}\n {...rest}\n >\n {(title || extra) && (\n <div\n className={`flex items-center justify-between mb-4 ${classNames?.header ?? ''}`}\n style={styles?.header}\n data-testid={`${testId}-header`}\n >\n {title && (\n <div\n className={`text-lg font-semibold ${classNames?.title ?? ''}`}\n style={styles?.title}\n data-testid={`${testId}-title`}\n >\n {title}\n </div>\n )}\n {extra && (\n <div\n className={classNames?.extra ?? ''}\n style={styles?.extra}\n data-testid={`${testId}-extra`}\n >\n {extra}\n </div>\n )}\n </div>\n )}\n <table\n className={containerClasses}\n style={styles?.table}\n data-testid={`${testId}-table`}\n >\n {title && (\n <caption className=\"sr-only\">\n {typeof title === 'string' ? title : 'Description list'}\n </caption>\n )}\n <tbody>\n {layout === 'vertical' ? renderVerticalLayout() : renderHorizontalLayout()}\n </tbody>\n </table>\n </div>\n )\n }\n)\n\nDescriptionsRoot.displayName = 'Descriptions'\n\nexport const Descriptions = Object.assign(DescriptionsRoot, {\n Item: DescriptionsItem,\n})\n\nexport default Descriptions\n"],"names":["DescriptionsItem","_props","sizeClasses","breakpoints","useResponsiveColumn","column","columnCount","setColumnCount","useState","useEffect","updateColumns","width","sortedBreakpoints","key","a","b","bp","smallest","DescriptionsRoot","forwardRef","title","extra","bordered","size","layout","colon","labelStyle","contentStyle","styles","classNames","itemsProp","className","style","children","testId","rest","ref","baseId","useId","mergedLabelStyle","mergedContentStyle","itemConfigs","React","child","item","index","rows","currentRow","currentSpan","span","effectiveSpan","getLabelClasses","getContentClasses","getLabelStyle","getContentStyle","renderVerticalLayout","row","rowIndex","jsxs","jsx","labelId","r","renderHorizontalLayout","containerClasses","rootClasses","Descriptions"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ export interface DiffProps {
3
+ /** Left side content (revealed when dragging) */
4
+ left: React.ReactNode;
5
+ /** Right side content (hidden when dragging) */
6
+ right: React.ReactNode;
7
+ /** Aspect ratio class (e.g., "aspect-16/9", "aspect-4/3", "aspect-square") */
8
+ aspect?: string;
9
+ /** Additional CSS classes */
10
+ className?: string;
11
+ }
12
+ export declare const Diff: React.FC<DiffProps>;
@@ -0,0 +1,22 @@
1
+ import { jsxs as t, jsx as i } from "react/jsx-runtime";
2
+ const r = "d-diff", c = "d-diff-item-1", m = "d-diff-item-2", a = "d-diff-resizer", o = ({
3
+ left: e,
4
+ right: d,
5
+ aspect: f = "aspect-16/9",
6
+ className: s = ""
7
+ }) => /* @__PURE__ */ t(
8
+ "figure",
9
+ {
10
+ className: `${r} ${f} ${s}`.trim(),
11
+ tabIndex: 0,
12
+ children: [
13
+ /* @__PURE__ */ i("div", { className: c, role: "img", tabIndex: 0, children: e }),
14
+ /* @__PURE__ */ i("div", { className: m, role: "img", children: d }),
15
+ /* @__PURE__ */ i("div", { className: a })
16
+ ]
17
+ }
18
+ );
19
+ export {
20
+ o as Diff
21
+ };
22
+ //# sourceMappingURL=Diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diff.js","sources":["../../src/components/Diff.tsx"],"sourcesContent":["import React from 'react'\n\n// DaisyUI classes\nconst dDiff = 'd-diff'\nconst dDiffItem1 = 'd-diff-item-1'\nconst dDiffItem2 = 'd-diff-item-2'\nconst dDiffResizer = 'd-diff-resizer'\n\nexport interface DiffProps {\n /** Left side content (revealed when dragging) */\n left: React.ReactNode\n /** Right side content (hidden when dragging) */\n right: React.ReactNode\n /** Aspect ratio class (e.g., \"aspect-16/9\", \"aspect-4/3\", \"aspect-square\") */\n aspect?: string\n /** Additional CSS classes */\n className?: string\n}\n\nexport const Diff: React.FC<DiffProps> = ({\n left,\n right,\n aspect = 'aspect-16/9',\n className = '',\n}) => {\n return (\n <figure\n className={`${dDiff} ${aspect} ${className}`.trim()}\n tabIndex={0}\n >\n <div className={dDiffItem1} role=\"img\" tabIndex={0}>\n {left}\n </div>\n <div className={dDiffItem2} role=\"img\">\n {right}\n </div>\n <div className={dDiffResizer} />\n </figure>\n )\n}\n"],"names":["dDiff","dDiffItem1","dDiffItem2","dDiffResizer","Diff","left","right","aspect","className","jsxs","jsx"],"mappings":";AAGA,MAAMA,IAAQ,UACRC,IAAa,iBACbC,IAAa,iBACbC,IAAe,kBAaRC,IAA4B,CAAC;AAAA,EACxC,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,WAAAC,IAAY;AACd,MAEI,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW,GAAGT,CAAK,IAAIO,CAAM,IAAIC,CAAS,GAAG,KAAA;AAAA,IAC7C,UAAU;AAAA,IAEV,UAAA;AAAA,MAAA,gBAAAE,EAAC,SAAI,WAAWT,GAAY,MAAK,OAAM,UAAU,GAC9C,UAAAI,EAAA,CACH;AAAA,wBACC,OAAA,EAAI,WAAWH,GAAY,MAAK,OAC9B,UAAAI,GACH;AAAA,MACA,gBAAAI,EAAC,OAAA,EAAI,WAAWP,EAAA,CAAc;AAAA,IAAA;AAAA,EAAA;AAAA;"}
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+ export interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ children?: React.ReactNode;
4
+ orientation?: 'horizontal' | 'vertical';
5
+ position?: 'start' | 'center' | 'end';
6
+ type?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'info' | 'error';
7
+ }
8
+ export declare function Divider({ children, orientation, position, type, className, ...rest }: DividerProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,36 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ const v = "d-divider", l = "d-divider-horizontal", D = "d-divider-start", u = "d-divider-end", f = "d-divider-neutral", m = "d-divider-primary", y = "d-divider-secondary", p = "d-divider-accent", g = "d-divider-success", z = "d-divider-warning", S = "d-divider-info", h = "d-divider-error";
3
+ function w({
4
+ children: d,
5
+ orientation: r = "horizontal",
6
+ position: e = "center",
7
+ type: i,
8
+ className: n = "",
9
+ ...s
10
+ }) {
11
+ const o = {
12
+ start: D,
13
+ center: "",
14
+ end: u
15
+ }, t = {
16
+ neutral: f,
17
+ primary: m,
18
+ secondary: y,
19
+ accent: p,
20
+ success: g,
21
+ warning: z,
22
+ info: S,
23
+ error: h
24
+ }, c = [
25
+ v,
26
+ r === "vertical" && l,
27
+ o[e],
28
+ i && t[i],
29
+ n
30
+ ].filter(Boolean).join(" ");
31
+ return /* @__PURE__ */ a("div", { className: c, ...s, children: d });
32
+ }
33
+ export {
34
+ w as Divider
35
+ };
36
+ //# sourceMappingURL=Divider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.js","sources":["../../src/components/Divider.tsx"],"sourcesContent":["import React from 'react'\n\n// DaisyUI classes\nconst dDivider = 'd-divider'\nconst dDividerHorizontal = 'd-divider-horizontal'\nconst dDividerStart = 'd-divider-start'\nconst dDividerEnd = 'd-divider-end'\nconst dDividerNeutral = 'd-divider-neutral'\nconst dDividerPrimary = 'd-divider-primary'\nconst dDividerSecondary = 'd-divider-secondary'\nconst dDividerAccent = 'd-divider-accent'\nconst dDividerSuccess = 'd-divider-success'\nconst dDividerWarning = 'd-divider-warning'\nconst dDividerInfo = 'd-divider-info'\nconst dDividerError = 'd-divider-error'\n\nexport interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode\n orientation?: 'horizontal' | 'vertical'\n position?: 'start' | 'center' | 'end'\n type?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'info' | 'error'\n}\n\nexport function Divider({\n children,\n orientation = 'horizontal',\n position = 'center',\n type,\n className = '',\n ...rest\n}: DividerProps) {\n const positionClasses: Record<string, string> = {\n start: dDividerStart,\n center: '',\n end: dDividerEnd,\n }\n\n const typeClasses: Record<string, string> = {\n neutral: dDividerNeutral,\n primary: dDividerPrimary,\n secondary: dDividerSecondary,\n accent: dDividerAccent,\n success: dDividerSuccess,\n warning: dDividerWarning,\n info: dDividerInfo,\n error: dDividerError,\n }\n\n const classes = [\n dDivider,\n orientation === 'vertical' && dDividerHorizontal,\n positionClasses[position],\n type && typeClasses[type],\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return <div className={classes} {...rest}>{children}</div>\n}\n"],"names":["dDivider","dDividerHorizontal","dDividerStart","dDividerEnd","dDividerNeutral","dDividerPrimary","dDividerSecondary","dDividerAccent","dDividerSuccess","dDividerWarning","dDividerInfo","dDividerError","Divider","children","orientation","position","type","className","rest","positionClasses","typeClasses","classes"],"mappings":";AAGA,MAAMA,IAAW,aACXC,IAAqB,wBACrBC,IAAgB,mBAChBC,IAAc,iBACdC,IAAkB,qBAClBC,IAAkB,qBAClBC,IAAoB,uBACpBC,IAAiB,oBACjBC,IAAkB,qBAClBC,IAAkB,qBAClBC,IAAe,kBACfC,IAAgB;AASf,SAASC,EAAQ;AAAA,EACtB,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,UAAAC,IAAW;AAAA,EACX,MAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,GAAiB;AACf,QAAMC,IAA0C;AAAA,IAC9C,OAAOjB;AAAA,IACP,QAAQ;AAAA,IACR,KAAKC;AAAA,EAAA,GAGDiB,IAAsC;AAAA,IAC1C,SAAShB;AAAA,IACT,SAASC;AAAA,IACT,WAAWC;AAAA,IACX,QAAQC;AAAA,IACR,SAASC;AAAA,IACT,SAASC;AAAA,IACT,MAAMC;AAAA,IACN,OAAOC;AAAA,EAAA,GAGHU,IAAU;AAAA,IACdrB;AAAA,IACAc,MAAgB,cAAcb;AAAA,IAC9BkB,EAAgBJ,CAAQ;AAAA,IACxBC,KAAQI,EAAYJ,CAAI;AAAA,IACxBC;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,2BAAQ,OAAA,EAAI,WAAWI,GAAU,GAAGH,GAAO,UAAAL,GAAS;AACtD;"}
@@ -0,0 +1,38 @@
1
+ import { default as React } from 'react';
2
+ export interface DockItemConfig {
3
+ /** Icon element */
4
+ icon: React.ReactNode;
5
+ /** Label text */
6
+ label?: string;
7
+ /** Whether this item is active */
8
+ active?: boolean;
9
+ /** Whether this item is disabled */
10
+ disabled?: boolean;
11
+ /** Click handler for this item */
12
+ onClick?: () => void;
13
+ }
14
+ export interface DockProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
15
+ /** Dock items configuration */
16
+ items?: DockItemConfig[];
17
+ /** Size variant */
18
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
19
+ /** Controlled active index */
20
+ activeIndex?: number;
21
+ /** Callback when an item is clicked */
22
+ onChange?: (index: number) => void;
23
+ /** Children (alternative to items prop) */
24
+ children?: React.ReactNode;
25
+ /** Additional CSS classes */
26
+ className?: string;
27
+ }
28
+ export interface DockItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
29
+ /** Whether this item is active */
30
+ active?: boolean;
31
+ /** Children (icon and optional label) */
32
+ children: React.ReactNode;
33
+ /** Additional CSS classes */
34
+ className?: string;
35
+ }
36
+ export declare const Dock: React.ForwardRefExoticComponent<DockProps & React.RefAttributes<HTMLDivElement>> & {
37
+ Item: React.ForwardRefExoticComponent<DockItemProps & React.RefAttributes<HTMLButtonElement>>;
38
+ };
@@ -0,0 +1,47 @@
1
+ import { jsx as d, jsxs as u } from "react/jsx-runtime";
2
+ import { forwardRef as m } from "react";
3
+ import { useConfig as N } from "./ConfigProvider.js";
4
+ const g = "d-dock", j = "d-dock-xs", z = "d-dock-sm", C = "d-dock-md", x = "d-dock-lg", S = "d-dock-xl", D = "d-dock-active", h = "d-dock-label", f = m(
5
+ ({ active: c, children: e, className: s = "", ...t }, n) => {
6
+ const l = [c && D, s].filter(Boolean).join(" ");
7
+ return /* @__PURE__ */ d("button", { ref: n, className: l || void 0, ...t, children: e });
8
+ }
9
+ );
10
+ f.displayName = "Dock.Item";
11
+ const v = m(
12
+ ({ items: c, size: e, activeIndex: s, onChange: t, children: n, className: l = "", ...i }, k) => {
13
+ const { componentSize: b } = N(), r = [g, {
14
+ xs: j,
15
+ sm: z,
16
+ md: C,
17
+ lg: x,
18
+ xl: S
19
+ }[e ?? b ?? "md"], l].filter(Boolean).join(" ");
20
+ return c ? /* @__PURE__ */ d("div", { ref: k, className: r, ...i, children: c.map((o, a) => {
21
+ const p = s !== void 0 ? s === a : o.active;
22
+ return /* @__PURE__ */ u(
23
+ "button",
24
+ {
25
+ className: p ? D : void 0,
26
+ disabled: o.disabled,
27
+ onClick: () => {
28
+ o.onClick?.(), t?.(a);
29
+ },
30
+ children: [
31
+ o.icon,
32
+ o.label && /* @__PURE__ */ d("span", { className: h, children: o.label })
33
+ ]
34
+ },
35
+ a
36
+ );
37
+ }) }) : /* @__PURE__ */ d("div", { ref: k, className: r, ...i, children: n });
38
+ }
39
+ );
40
+ v.displayName = "Dock";
41
+ const R = Object.assign(v, {
42
+ Item: f
43
+ });
44
+ export {
45
+ R as Dock
46
+ };
47
+ //# sourceMappingURL=Dock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dock.js","sources":["../../src/components/Dock.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\nimport { useConfig } from './ConfigProvider'\n\n// DaisyUI classes\nconst dDock = 'd-dock'\nconst dDockXs = 'd-dock-xs'\nconst dDockSm = 'd-dock-sm'\nconst dDockMd = 'd-dock-md'\nconst dDockLg = 'd-dock-lg'\nconst dDockXl = 'd-dock-xl'\nconst dDockActive = 'd-dock-active'\nconst dDockLabel = 'd-dock-label'\n\nexport interface DockItemConfig {\n /** Icon element */\n icon: React.ReactNode\n /** Label text */\n label?: string\n /** Whether this item is active */\n active?: boolean\n /** Whether this item is disabled */\n disabled?: boolean\n /** Click handler for this item */\n onClick?: () => void\n}\n\nexport interface DockProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Dock items configuration */\n items?: DockItemConfig[]\n /** Size variant */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n /** Controlled active index */\n activeIndex?: number\n /** Callback when an item is clicked */\n onChange?: (index: number) => void\n /** Children (alternative to items prop) */\n children?: React.ReactNode\n /** Additional CSS classes */\n className?: string\n}\n\nexport interface DockItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** Whether this item is active */\n active?: boolean\n /** Children (icon and optional label) */\n children: React.ReactNode\n /** Additional CSS classes */\n className?: string\n}\n\nconst DockItem = forwardRef<HTMLButtonElement, DockItemProps>(\n ({ active, children, className = '', ...props }, ref) => {\n const classes = [active && dDockActive, className].filter(Boolean).join(' ')\n\n return (\n <button ref={ref} className={classes || undefined} {...props}>\n {children}\n </button>\n )\n }\n)\n\nDockItem.displayName = 'Dock.Item'\n\nconst DockRoot = forwardRef<HTMLDivElement, DockProps>(\n ({ items, size, activeIndex, onChange, children, className = '', ...props }, ref) => {\n const { componentSize } = useConfig()\n const effectiveSize = size ?? componentSize ?? 'md'\n\n const sizeClasses = {\n xs: dDockXs,\n sm: dDockSm,\n md: dDockMd,\n lg: dDockLg,\n xl: dDockXl,\n }\n\n const classes = [dDock, sizeClasses[effectiveSize], className].filter(Boolean).join(' ')\n\n // If items array is provided, render from config\n if (items) {\n return (\n <div ref={ref} className={classes} {...props}>\n {items.map((item, index) => {\n const isActive = activeIndex !== undefined ? activeIndex === index : item.active\n\n return (\n <button\n key={index}\n className={isActive ? dDockActive : undefined}\n disabled={item.disabled}\n onClick={() => {\n item.onClick?.()\n onChange?.(index)\n }}\n >\n {item.icon}\n {item.label && <span className={dDockLabel}>{item.label}</span>}\n </button>\n )\n })}\n </div>\n )\n }\n\n // Otherwise render children\n return (\n <div ref={ref} className={classes} {...props}>\n {children}\n </div>\n )\n }\n)\n\nDockRoot.displayName = 'Dock'\n\nexport const Dock = Object.assign(DockRoot, {\n Item: DockItem,\n})\n"],"names":["dDock","dDockXs","dDockSm","dDockMd","dDockLg","dDockXl","dDockActive","dDockLabel","DockItem","forwardRef","active","children","className","props","ref","classes","jsx","DockRoot","items","size","activeIndex","onChange","componentSize","useConfig","item","index","isActive","jsxs","Dock"],"mappings":";;;AAIA,MAAMA,IAAQ,UACRC,IAAU,aACVC,IAAU,aACVC,IAAU,aACVC,IAAU,aACVC,IAAU,aACVC,IAAc,iBACdC,IAAa,gBAuCbC,IAAWC;AAAA,EACf,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,WAAAC,IAAY,IAAI,GAAGC,EAAA,GAASC,MAAQ;AACvD,UAAMC,IAAU,CAACL,KAAUJ,GAAaM,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAE3E,WACE,gBAAAI,EAAC,YAAO,KAAAF,GAAU,WAAWC,KAAW,QAAY,GAAGF,GACpD,UAAAF,GACH;AAAA,EAEJ;AACF;AAEAH,EAAS,cAAc;AAEvB,MAAMS,IAAWR;AAAA,EACf,CAAC,EAAE,OAAAS,GAAO,MAAAC,GAAM,aAAAC,GAAa,UAAAC,GAAU,UAAAV,GAAU,WAAAC,IAAY,IAAI,GAAGC,EAAA,GAASC,MAAQ;AACnF,UAAM,EAAE,eAAAQ,EAAA,IAAkBC,EAAA,GAWpBR,IAAU,CAACf,GARG;AAAA,MAClB,IAAIC;AAAA,MACJ,IAAIC;AAAA,MACJ,IAAIC;AAAA,MACJ,IAAIC;AAAA,MACJ,IAAIC;AAAA,IAAA,EAPgBc,KAAQG,KAAiB,IAUE,GAAGV,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAGvF,WAAIM,IAEA,gBAAAF,EAAC,OAAA,EAAI,KAAAF,GAAU,WAAWC,GAAU,GAAGF,GACpC,UAAAK,EAAM,IAAI,CAACM,GAAMC,MAAU;AAC1B,YAAMC,IAAWN,MAAgB,SAAYA,MAAgBK,IAAQD,EAAK;AAE1E,aACE,gBAAAG;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,WAAWD,IAAWpB,IAAc;AAAA,UACpC,UAAUkB,EAAK;AAAA,UACf,SAAS,MAAM;AACb,YAAAA,EAAK,UAAA,GACLH,IAAWI,CAAK;AAAA,UAClB;AAAA,UAEC,UAAA;AAAA,YAAAD,EAAK;AAAA,YACLA,EAAK,SAAS,gBAAAR,EAAC,UAAK,WAAWT,GAAa,YAAK,MAAA,CAAM;AAAA,UAAA;AAAA,QAAA;AAAA,QATnDkB;AAAA,MAAA;AAAA,IAYX,CAAC,EAAA,CACH,sBAMD,OAAA,EAAI,KAAAX,GAAU,WAAWC,GAAU,GAAGF,GACpC,UAAAF,GACH;AAAA,EAEJ;AACF;AAEAM,EAAS,cAAc;AAEhB,MAAMW,IAAO,OAAO,OAAOX,GAAU;AAAA,EAC1C,MAAMT;AACR,CAAC;"}
@@ -0,0 +1,81 @@
1
+ import { default as React } from 'react';
2
+ export type DrawerPlacement = 'top' | 'right' | 'bottom' | 'left';
3
+ export type DrawerSize = 'default' | 'large' | number;
4
+ export interface DrawerPushConfig {
5
+ /** Distance to push parent drawer (default: 180) */
6
+ distance?: number;
7
+ }
8
+ export interface DrawerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
9
+ /** Drawer content */
10
+ children: React.ReactNode;
11
+ /** Whether the drawer is visible */
12
+ open?: boolean;
13
+ /** Callback when drawer is closed */
14
+ onClose?: (e?: React.MouseEvent | React.KeyboardEvent) => void;
15
+ /** Callback after open/close animation completes */
16
+ afterOpenChange?: (open: boolean) => void;
17
+ /** Drawer title */
18
+ title?: React.ReactNode;
19
+ /** Direction drawer slides from */
20
+ placement?: DrawerPlacement;
21
+ /** Preset size or custom width/height in pixels */
22
+ size?: DrawerSize;
23
+ /** Custom width (overrides size for left/right placement) */
24
+ width?: number | string;
25
+ /** Custom height (overrides size for top/bottom placement) */
26
+ height?: number | string;
27
+ /** Whether to show close button */
28
+ closable?: boolean;
29
+ /** Whether to show mask/backdrop */
30
+ mask?: boolean;
31
+ /** Whether clicking mask closes drawer */
32
+ maskClosable?: boolean;
33
+ /** Whether ESC closes drawer */
34
+ keyboard?: boolean;
35
+ /** Footer content */
36
+ footer?: React.ReactNode;
37
+ /** Extra content in header (right side) */
38
+ extra?: React.ReactNode;
39
+ /** CSS class for drawer panel */
40
+ className?: string;
41
+ /** CSS class for drawer wrapper */
42
+ rootClassName?: string;
43
+ /** Style for drawer panel */
44
+ style?: React.CSSProperties;
45
+ /** Style for drawer header */
46
+ headerStyle?: React.CSSProperties;
47
+ /** Style for drawer body/content area */
48
+ bodyStyle?: React.CSSProperties;
49
+ /** Style for drawer footer */
50
+ footerStyle?: React.CSSProperties;
51
+ /** Style for drawer wrapper (includes mask) */
52
+ rootStyle?: React.CSSProperties;
53
+ /** Style for mask/backdrop */
54
+ maskStyle?: React.CSSProperties;
55
+ /** z-index of drawer */
56
+ zIndex?: number;
57
+ /** Destroy content when closed */
58
+ destroyOnClose?: boolean;
59
+ /** Pre-render drawer content (keep in DOM even when closed) */
60
+ forceRender?: boolean;
61
+ /** Where to place initial focus */
62
+ initialFocus?: 'close' | 'content';
63
+ /** Show loading skeleton */
64
+ loading?: boolean;
65
+ /** Custom container for portal (false to disable portal) */
66
+ getContainer?: HTMLElement | (() => HTMLElement) | false;
67
+ /** Nested drawer push behavior */
68
+ push?: boolean | DrawerPushConfig;
69
+ /** Test ID for testing */
70
+ 'data-testid'?: string;
71
+ }
72
+ export interface DrawerRef {
73
+ /** The drawer panel element */
74
+ nativeElement: HTMLDivElement | null;
75
+ }
76
+ /**
77
+ * Drawer - A panel that slides in from the edge of the screen.
78
+ * Use for forms, details, or task panels.
79
+ * For responsive sidebar navigation, use ResponsiveDrawer instead.
80
+ */
81
+ export declare const Drawer: React.ForwardRefExoticComponent<DrawerProps & React.RefAttributes<DrawerRef>>;