@duskmoon-dev/components 0.1.2

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 (482) hide show
  1. package/README.md +38 -0
  2. package/dist/chunk-r9wkv7xd.js +29 -0
  3. package/dist/classes/affix.d.ts +6 -0
  4. package/dist/classes/alert.d.ts +9 -0
  5. package/dist/classes/anchor.d.ts +19 -0
  6. package/dist/classes/app.d.ts +9 -0
  7. package/dist/classes/auto-complete.d.ts +34 -0
  8. package/dist/classes/avatar.d.ts +9 -0
  9. package/dist/classes/back-top.d.ts +6 -0
  10. package/dist/classes/badge.d.ts +11 -0
  11. package/dist/classes/breadcrumb.d.ts +23 -0
  12. package/dist/classes/button.d.ts +17 -0
  13. package/dist/classes/calendar.d.ts +25 -0
  14. package/dist/classes/card.d.ts +9 -0
  15. package/dist/classes/carousel.d.ts +25 -0
  16. package/dist/classes/cascader.d.ts +42 -0
  17. package/dist/classes/checkbox.d.ts +23 -0
  18. package/dist/classes/col.d.ts +4 -0
  19. package/dist/classes/collapse.d.ts +23 -0
  20. package/dist/classes/color-picker.d.ts +21 -0
  21. package/dist/classes/config-provider.d.ts +7 -0
  22. package/dist/classes/date-picker.d.ts +27 -0
  23. package/dist/classes/descriptions.d.ts +18 -0
  24. package/dist/classes/divider.d.ts +15 -0
  25. package/dist/classes/dm-auxiliary.d.ts +11 -0
  26. package/dist/classes/dm-breadcrumb.d.ts +9 -0
  27. package/dist/classes/dm-date-picker.d.ts +4 -0
  28. package/dist/classes/dm-drawer.d.ts +9 -0
  29. package/dist/classes/dm-infinite-scroll.d.ts +9 -0
  30. package/dist/classes/dm-layout.d.ts +11 -0
  31. package/dist/classes/dm-menu.d.ts +13 -0
  32. package/dist/classes/dm-message.d.ts +6 -0
  33. package/dist/classes/dm-page-header.d.ts +15 -0
  34. package/dist/classes/dm-pagination.d.ts +17 -0
  35. package/dist/classes/dm-pro-table-inner.d.ts +1 -0
  36. package/dist/classes/dm-pro-table.d.ts +8 -0
  37. package/dist/classes/dm-provider.d.ts +4 -0
  38. package/dist/classes/dm-query.d.ts +1 -0
  39. package/dist/classes/dm-search.d.ts +12 -0
  40. package/dist/classes/dm-splitter.d.ts +11 -0
  41. package/dist/classes/dm-status.d.ts +10 -0
  42. package/dist/classes/dm-table.d.ts +13 -0
  43. package/dist/classes/dm-tabs.d.ts +17 -0
  44. package/dist/classes/dm-toolbar.d.ts +12 -0
  45. package/dist/classes/dm-tree.d.ts +27 -0
  46. package/dist/classes/dm-truncate.d.ts +14 -0
  47. package/dist/classes/drawer.d.ts +16 -0
  48. package/dist/classes/dropdown.d.ts +14 -0
  49. package/dist/classes/empty.d.ts +7 -0
  50. package/dist/classes/flex.d.ts +8 -0
  51. package/dist/classes/float-button.d.ts +27 -0
  52. package/dist/classes/form.d.ts +20 -0
  53. package/dist/classes/grid.d.ts +9 -0
  54. package/dist/classes/image.d.ts +16 -0
  55. package/dist/classes/index.d.ts +93 -0
  56. package/dist/classes/index.js +3556 -0
  57. package/dist/classes/input-number.d.ts +14 -0
  58. package/dist/classes/input.d.ts +51 -0
  59. package/dist/classes/layout.d.ts +16 -0
  60. package/dist/classes/list.d.ts +22 -0
  61. package/dist/classes/mentions.d.ts +27 -0
  62. package/dist/classes/menu.d.ts +33 -0
  63. package/dist/classes/message.d.ts +16 -0
  64. package/dist/classes/modal.d.ts +17 -0
  65. package/dist/classes/notification.d.ts +22 -0
  66. package/dist/classes/pagination.d.ts +23 -0
  67. package/dist/classes/popconfirm.d.ts +19 -0
  68. package/dist/classes/popover.d.ts +13 -0
  69. package/dist/classes/progress.d.ts +11 -0
  70. package/dist/classes/qr-code.d.ts +19 -0
  71. package/dist/classes/radio.d.ts +23 -0
  72. package/dist/classes/rate.d.ts +23 -0
  73. package/dist/classes/result.d.ts +15 -0
  74. package/dist/classes/row.d.ts +11 -0
  75. package/dist/classes/segmented.d.ts +19 -0
  76. package/dist/classes/select.d.ts +39 -0
  77. package/dist/classes/skeleton.d.ts +16 -0
  78. package/dist/classes/slider.d.ts +30 -0
  79. package/dist/classes/space.d.ts +18 -0
  80. package/dist/classes/spin.d.ts +16 -0
  81. package/dist/classes/splitter.d.ts +19 -0
  82. package/dist/classes/statistic.d.ts +9 -0
  83. package/dist/classes/steps.d.ts +36 -0
  84. package/dist/classes/switch.d.ts +16 -0
  85. package/dist/classes/table.d.ts +36 -0
  86. package/dist/classes/tabs.d.ts +42 -0
  87. package/dist/classes/tag.d.ts +20 -0
  88. package/dist/classes/time-picker.d.ts +24 -0
  89. package/dist/classes/timeline.d.ts +20 -0
  90. package/dist/classes/tooltip.d.ts +15 -0
  91. package/dist/classes/tour.d.ts +34 -0
  92. package/dist/classes/transfer.d.ts +30 -0
  93. package/dist/classes/tree-select.d.ts +39 -0
  94. package/dist/classes/tree.d.ts +34 -0
  95. package/dist/classes/typography.d.ts +48 -0
  96. package/dist/classes/upload.d.ts +31 -0
  97. package/dist/classes/watermark.d.ts +5 -0
  98. package/dist/components/affix/Affix.d.ts +3 -0
  99. package/dist/components/affix/Affix.types.d.ts +8 -0
  100. package/dist/components/affix/index.d.ts +2 -0
  101. package/dist/components/affix/index.js +103 -0
  102. package/dist/components/alert/Alert.d.ts +3 -0
  103. package/dist/components/alert/Alert.types.d.ts +7 -0
  104. package/dist/components/alert/index.d.ts +2 -0
  105. package/dist/components/alert/index.js +65 -0
  106. package/dist/components/anchor/Anchor.d.ts +4 -0
  107. package/dist/components/anchor/Anchor.types.d.ts +34 -0
  108. package/dist/components/anchor/index.d.ts +2 -0
  109. package/dist/components/anchor/index.js +240 -0
  110. package/dist/components/app/App.d.ts +5 -0
  111. package/dist/components/app/App.types.d.ts +27 -0
  112. package/dist/components/app/index.d.ts +2 -0
  113. package/dist/components/app/index.js +890 -0
  114. package/dist/components/auto-complete/AutoComplete.d.ts +2 -0
  115. package/dist/components/auto-complete/AutoComplete.types.d.ts +34 -0
  116. package/dist/components/auto-complete/index.d.ts +2 -0
  117. package/dist/components/auto-complete/index.js +339 -0
  118. package/dist/components/avatar/Avatar.d.ts +3 -0
  119. package/dist/components/avatar/Avatar.types.d.ts +10 -0
  120. package/dist/components/avatar/index.d.ts +2 -0
  121. package/dist/components/avatar/index.js +81 -0
  122. package/dist/components/back-top/BackTop.d.ts +3 -0
  123. package/dist/components/back-top/BackTop.types.d.ts +6 -0
  124. package/dist/components/back-top/index.d.ts +2 -0
  125. package/dist/components/back-top/index.js +108 -0
  126. package/dist/components/badge/Badge.d.ts +3 -0
  127. package/dist/components/badge/Badge.types.d.ts +9 -0
  128. package/dist/components/badge/index.d.ts +2 -0
  129. package/dist/components/badge/index.js +84 -0
  130. package/dist/components/breadcrumb/Breadcrumb.d.ts +2 -0
  131. package/dist/components/breadcrumb/Breadcrumb.types.d.ts +53 -0
  132. package/dist/components/breadcrumb/index.d.ts +2 -0
  133. package/dist/components/breadcrumb/index.js +313 -0
  134. package/dist/components/button/Button.d.ts +3 -0
  135. package/dist/components/button/Button.types.d.ts +15 -0
  136. package/dist/components/button/index.d.ts +2 -0
  137. package/dist/components/button/index.js +125 -0
  138. package/dist/components/calendar/Calendar.d.ts +2 -0
  139. package/dist/components/calendar/Calendar.types.d.ts +39 -0
  140. package/dist/components/calendar/index.d.ts +2 -0
  141. package/dist/components/calendar/index.js +352 -0
  142. package/dist/components/card/Card.d.ts +3 -0
  143. package/dist/components/card/Card.types.d.ts +7 -0
  144. package/dist/components/card/index.d.ts +2 -0
  145. package/dist/components/card/index.js +73 -0
  146. package/dist/components/carousel/Carousel.d.ts +2 -0
  147. package/dist/components/carousel/Carousel.types.d.ts +26 -0
  148. package/dist/components/carousel/index.d.ts +2 -0
  149. package/dist/components/carousel/index.js +193 -0
  150. package/dist/components/cascader/Cascader.d.ts +2 -0
  151. package/dist/components/cascader/Cascader.types.d.ts +63 -0
  152. package/dist/components/cascader/index.d.ts +2 -0
  153. package/dist/components/cascader/index.js +509 -0
  154. package/dist/components/checkbox/Checkbox.d.ts +3 -0
  155. package/dist/components/checkbox/Checkbox.types.d.ts +15 -0
  156. package/dist/components/checkbox/index.d.ts +2 -0
  157. package/dist/components/checkbox/index.js +134 -0
  158. package/dist/components/col/Col.d.ts +3 -0
  159. package/dist/components/col/Col.types.d.ts +24 -0
  160. package/dist/components/col/index.d.ts +2 -0
  161. package/dist/components/col/index.js +100 -0
  162. package/dist/components/collapse/Collapse.d.ts +3 -0
  163. package/dist/components/collapse/Collapse.types.d.ts +21 -0
  164. package/dist/components/collapse/index.d.ts +2 -0
  165. package/dist/components/collapse/index.js +148 -0
  166. package/dist/components/color-picker/ColorPicker.d.ts +2 -0
  167. package/dist/components/color-picker/ColorPicker.types.d.ts +39 -0
  168. package/dist/components/color-picker/index.d.ts +2 -0
  169. package/dist/components/color-picker/index.js +282 -0
  170. package/dist/components/config-provider/ConfigProvider.d.ts +4 -0
  171. package/dist/components/config-provider/ConfigProvider.types.d.ts +39 -0
  172. package/dist/components/config-provider/index.d.ts +2 -0
  173. package/dist/components/config-provider/index.js +127 -0
  174. package/dist/components/date-picker/DatePicker.d.ts +2 -0
  175. package/dist/components/date-picker/DatePicker.types.d.ts +46 -0
  176. package/dist/components/date-picker/index.d.ts +2 -0
  177. package/dist/components/date-picker/index.js +319 -0
  178. package/dist/components/descriptions/Descriptions.d.ts +2 -0
  179. package/dist/components/descriptions/Descriptions.types.d.ts +39 -0
  180. package/dist/components/descriptions/index.d.ts +2 -0
  181. package/dist/components/descriptions/index.js +196 -0
  182. package/dist/components/divider/Divider.d.ts +3 -0
  183. package/dist/components/divider/Divider.types.d.ts +14 -0
  184. package/dist/components/divider/index.d.ts +2 -0
  185. package/dist/components/divider/index.js +108 -0
  186. package/dist/components/dm-auxiliary/DmAuxiliary.d.ts +4 -0
  187. package/dist/components/dm-auxiliary/DmAuxiliary.types.d.ts +15 -0
  188. package/dist/components/dm-auxiliary/index.d.ts +2 -0
  189. package/dist/components/dm-auxiliary/index.js +127 -0
  190. package/dist/components/dm-breadcrumb/DmBreadcrumb.d.ts +3 -0
  191. package/dist/components/dm-breadcrumb/DmBreadcrumb.types.d.ts +25 -0
  192. package/dist/components/dm-breadcrumb/index.d.ts +2 -0
  193. package/dist/components/dm-breadcrumb/index.js +460 -0
  194. package/dist/components/dm-date-picker/DmDatePicker.d.ts +4 -0
  195. package/dist/components/dm-date-picker/DmDatePicker.types.d.ts +11 -0
  196. package/dist/components/dm-date-picker/index.d.ts +2 -0
  197. package/dist/components/dm-date-picker/index.js +460 -0
  198. package/dist/components/dm-drawer/DmDrawer.d.ts +3 -0
  199. package/dist/components/dm-drawer/DmDrawer.types.d.ts +16 -0
  200. package/dist/components/dm-drawer/index.d.ts +2 -0
  201. package/dist/components/dm-drawer/index.js +309 -0
  202. package/dist/components/dm-infinite-scroll/DmInfiniteScroll.d.ts +3 -0
  203. package/dist/components/dm-infinite-scroll/DmInfiniteScroll.types.d.ts +18 -0
  204. package/dist/components/dm-infinite-scroll/index.d.ts +2 -0
  205. package/dist/components/dm-infinite-scroll/index.js +153 -0
  206. package/dist/components/dm-layout/DmLayout.d.ts +4 -0
  207. package/dist/components/dm-layout/DmLayout.types.d.ts +31 -0
  208. package/dist/components/dm-layout/index.d.ts +2 -0
  209. package/dist/components/dm-layout/index.js +1186 -0
  210. package/dist/components/dm-menu/DmMenu.d.ts +5 -0
  211. package/dist/components/dm-menu/DmMenu.types.d.ts +44 -0
  212. package/dist/components/dm-menu/index.d.ts +2 -0
  213. package/dist/components/dm-menu/index.js +444 -0
  214. package/dist/components/dm-message/DmMessage.d.ts +16 -0
  215. package/dist/components/dm-message/DmMessage.types.d.ts +24 -0
  216. package/dist/components/dm-message/index.d.ts +2 -0
  217. package/dist/components/dm-message/index.js +280 -0
  218. package/dist/components/dm-page-header/DmPageHeader.d.ts +6 -0
  219. package/dist/components/dm-page-header/DmPageHeader.types.d.ts +19 -0
  220. package/dist/components/dm-page-header/index.d.ts +2 -0
  221. package/dist/components/dm-page-header/index.js +925 -0
  222. package/dist/components/dm-pagination/DmPagination.d.ts +3 -0
  223. package/dist/components/dm-pagination/DmPagination.types.d.ts +22 -0
  224. package/dist/components/dm-pagination/index.d.ts +2 -0
  225. package/dist/components/dm-pagination/index.js +469 -0
  226. package/dist/components/dm-pro-table/DmProTable.d.ts +7 -0
  227. package/dist/components/dm-pro-table/DmProTable.types.d.ts +15 -0
  228. package/dist/components/dm-pro-table/index.d.ts +2 -0
  229. package/dist/components/dm-pro-table/index.js +3076 -0
  230. package/dist/components/dm-pro-table-inner/DmProTableInner.d.ts +7 -0
  231. package/dist/components/dm-pro-table-inner/DmProTableInner.types.d.ts +5 -0
  232. package/dist/components/dm-pro-table-inner/index.d.ts +2 -0
  233. package/dist/components/dm-pro-table-inner/index.js +2620 -0
  234. package/dist/components/dm-provider/DmProvider.d.ts +3 -0
  235. package/dist/components/dm-provider/DmProvider.types.d.ts +11 -0
  236. package/dist/components/dm-provider/index.d.ts +2 -0
  237. package/dist/components/dm-provider/index.js +255 -0
  238. package/dist/components/dm-query/DmQuery.d.ts +3 -0
  239. package/dist/components/dm-query/DmQuery.types.d.ts +20 -0
  240. package/dist/components/dm-query/index.d.ts +2 -0
  241. package/dist/components/dm-query/index.js +1319 -0
  242. package/dist/components/dm-search/DmSearch.d.ts +3 -0
  243. package/dist/components/dm-search/DmSearch.types.d.ts +38 -0
  244. package/dist/components/dm-search/index.d.ts +2 -0
  245. package/dist/components/dm-search/index.js +1264 -0
  246. package/dist/components/dm-splitter/DmSplitter.d.ts +3 -0
  247. package/dist/components/dm-splitter/DmSplitter.types.d.ts +32 -0
  248. package/dist/components/dm-splitter/index.d.ts +2 -0
  249. package/dist/components/dm-splitter/index.js +406 -0
  250. package/dist/components/dm-status/DmStatus.d.ts +4 -0
  251. package/dist/components/dm-status/DmStatus.types.d.ts +12 -0
  252. package/dist/components/dm-status/index.d.ts +2 -0
  253. package/dist/components/dm-status/index.js +369 -0
  254. package/dist/components/dm-table/DmTable.d.ts +8 -0
  255. package/dist/components/dm-table/DmTable.types.d.ts +28 -0
  256. package/dist/components/dm-table/index.d.ts +2 -0
  257. package/dist/components/dm-table/index.js +2607 -0
  258. package/dist/components/dm-tabs/DmTabs.d.ts +3 -0
  259. package/dist/components/dm-tabs/DmTabs.types.d.ts +10 -0
  260. package/dist/components/dm-tabs/index.d.ts +2 -0
  261. package/dist/components/dm-tabs/index.js +415 -0
  262. package/dist/components/dm-toolbar/DmToolbar.d.ts +6 -0
  263. package/dist/components/dm-toolbar/DmToolbar.types.d.ts +18 -0
  264. package/dist/components/dm-toolbar/index.d.ts +2 -0
  265. package/dist/components/dm-toolbar/index.js +520 -0
  266. package/dist/components/dm-tree/DmTree.d.ts +3 -0
  267. package/dist/components/dm-tree/DmTree.types.d.ts +70 -0
  268. package/dist/components/dm-tree/index.d.ts +2 -0
  269. package/dist/components/dm-tree/index.js +1852 -0
  270. package/dist/components/dm-truncate/DmTruncate.d.ts +3 -0
  271. package/dist/components/dm-truncate/DmTruncate.types.d.ts +17 -0
  272. package/dist/components/dm-truncate/index.d.ts +2 -0
  273. package/dist/components/dm-truncate/index.js +375 -0
  274. package/dist/components/drawer/Drawer.d.ts +3 -0
  275. package/dist/components/drawer/Drawer.types.d.ts +18 -0
  276. package/dist/components/drawer/index.d.ts +2 -0
  277. package/dist/components/drawer/index.js +132 -0
  278. package/dist/components/dropdown/Dropdown.d.ts +2 -0
  279. package/dist/components/dropdown/Dropdown.types.d.ts +44 -0
  280. package/dist/components/dropdown/index.d.ts +2 -0
  281. package/dist/components/dropdown/index.js +411 -0
  282. package/dist/components/empty/Empty.d.ts +2 -0
  283. package/dist/components/empty/Empty.types.d.ts +11 -0
  284. package/dist/components/empty/index.d.ts +2 -0
  285. package/dist/components/empty/index.js +116 -0
  286. package/dist/components/flex/Flex.d.ts +3 -0
  287. package/dist/components/flex/Flex.types.d.ts +13 -0
  288. package/dist/components/flex/index.d.ts +2 -0
  289. package/dist/components/flex/index.js +107 -0
  290. package/dist/components/float-button/FloatButton.d.ts +2 -0
  291. package/dist/components/float-button/FloatButton.types.d.ts +44 -0
  292. package/dist/components/float-button/index.d.ts +2 -0
  293. package/dist/components/float-button/index.js +308 -0
  294. package/dist/components/form/Form.d.ts +4 -0
  295. package/dist/components/form/Form.types.d.ts +107 -0
  296. package/dist/components/form/index.d.ts +2 -0
  297. package/dist/components/form/index.js +449 -0
  298. package/dist/components/grid/Grid.d.ts +8 -0
  299. package/dist/components/grid/Grid.types.d.ts +5 -0
  300. package/dist/components/grid/index.d.ts +2 -0
  301. package/dist/components/grid/index.js +104 -0
  302. package/dist/components/image/Image.d.ts +2 -0
  303. package/dist/components/image/Image.types.d.ts +25 -0
  304. package/dist/components/image/index.d.ts +2 -0
  305. package/dist/components/image/index.js +171 -0
  306. package/dist/components/input/Input.d.ts +8 -0
  307. package/dist/components/input/Input.types.d.ts +46 -0
  308. package/dist/components/input/index.d.ts +2 -0
  309. package/dist/components/input/index.js +352 -0
  310. package/dist/components/input-number/InputNumber.d.ts +3 -0
  311. package/dist/components/input-number/InputNumber.types.d.ts +23 -0
  312. package/dist/components/input-number/index.d.ts +2 -0
  313. package/dist/components/input-number/index.js +175 -0
  314. package/dist/components/layout/Layout.d.ts +2 -0
  315. package/dist/components/layout/Layout.types.d.ts +23 -0
  316. package/dist/components/layout/index.d.ts +2 -0
  317. package/dist/components/layout/index.js +142 -0
  318. package/dist/components/list/List.d.ts +2 -0
  319. package/dist/components/list/List.types.d.ts +27 -0
  320. package/dist/components/list/index.d.ts +2 -0
  321. package/dist/components/list/index.js +175 -0
  322. package/dist/components/mentions/Mentions.d.ts +2 -0
  323. package/dist/components/mentions/Mentions.types.d.ts +30 -0
  324. package/dist/components/mentions/index.d.ts +2 -0
  325. package/dist/components/mentions/index.js +321 -0
  326. package/dist/components/menu/Menu.d.ts +2 -0
  327. package/dist/components/menu/Menu.types.d.ts +58 -0
  328. package/dist/components/menu/index.d.ts +2 -0
  329. package/dist/components/menu/index.js +317 -0
  330. package/dist/components/message/Message.d.ts +6 -0
  331. package/dist/components/message/Message.types.d.ts +45 -0
  332. package/dist/components/message/index.d.ts +2 -0
  333. package/dist/components/message/index.js +205 -0
  334. package/dist/components/modal/Modal.d.ts +2 -0
  335. package/dist/components/modal/Modal.types.d.ts +43 -0
  336. package/dist/components/modal/index.d.ts +2 -0
  337. package/dist/components/modal/index.js +214 -0
  338. package/dist/components/notification/Notification.d.ts +4 -0
  339. package/dist/components/notification/Notification.types.d.ts +43 -0
  340. package/dist/components/notification/index.d.ts +2 -0
  341. package/dist/components/notification/index.js +420 -0
  342. package/dist/components/pagination/Pagination.d.ts +3 -0
  343. package/dist/components/pagination/Pagination.types.d.ts +17 -0
  344. package/dist/components/pagination/index.d.ts +2 -0
  345. package/dist/components/pagination/index.js +281 -0
  346. package/dist/components/popconfirm/Popconfirm.d.ts +3 -0
  347. package/dist/components/popconfirm/Popconfirm.types.d.ts +26 -0
  348. package/dist/components/popconfirm/index.d.ts +2 -0
  349. package/dist/components/popconfirm/index.js +364 -0
  350. package/dist/components/popover/Popover.d.ts +3 -0
  351. package/dist/components/popover/Popover.types.d.ts +15 -0
  352. package/dist/components/popover/index.d.ts +2 -0
  353. package/dist/components/popover/index.js +219 -0
  354. package/dist/components/progress/Progress.d.ts +3 -0
  355. package/dist/components/progress/Progress.types.d.ts +11 -0
  356. package/dist/components/progress/index.d.ts +2 -0
  357. package/dist/components/progress/index.js +106 -0
  358. package/dist/components/qr-code/QRCode.d.ts +3 -0
  359. package/dist/components/qr-code/QRCode.types.d.ts +17 -0
  360. package/dist/components/qr-code/index.d.ts +2 -0
  361. package/dist/components/qr-code/index.js +224 -0
  362. package/dist/components/radio/Radio.d.ts +3 -0
  363. package/dist/components/radio/Radio.types.d.ts +14 -0
  364. package/dist/components/radio/index.d.ts +2 -0
  365. package/dist/components/radio/index.js +118 -0
  366. package/dist/components/rate/Rate.d.ts +3 -0
  367. package/dist/components/rate/Rate.types.d.ts +23 -0
  368. package/dist/components/rate/index.d.ts +2 -0
  369. package/dist/components/rate/index.js +202 -0
  370. package/dist/components/result/Result.d.ts +3 -0
  371. package/dist/components/result/Result.types.d.ts +10 -0
  372. package/dist/components/result/index.d.ts +2 -0
  373. package/dist/components/result/index.js +205 -0
  374. package/dist/components/row/Row.d.ts +3 -0
  375. package/dist/components/row/Row.types.d.ts +11 -0
  376. package/dist/components/row/index.d.ts +2 -0
  377. package/dist/components/row/index.js +109 -0
  378. package/dist/components/segmented/Segmented.d.ts +3 -0
  379. package/dist/components/segmented/Segmented.types.d.ts +20 -0
  380. package/dist/components/segmented/index.d.ts +2 -0
  381. package/dist/components/segmented/index.js +130 -0
  382. package/dist/components/select/Select.d.ts +2 -0
  383. package/dist/components/select/Select.types.d.ts +47 -0
  384. package/dist/components/select/index.d.ts +2 -0
  385. package/dist/components/select/index.js +361 -0
  386. package/dist/components/skeleton/Skeleton.d.ts +15 -0
  387. package/dist/components/skeleton/Skeleton.types.d.ts +35 -0
  388. package/dist/components/skeleton/index.d.ts +2 -0
  389. package/dist/components/skeleton/index.js +238 -0
  390. package/dist/components/slider/Slider.d.ts +3 -0
  391. package/dist/components/slider/Slider.types.d.ts +38 -0
  392. package/dist/components/slider/index.d.ts +2 -0
  393. package/dist/components/slider/index.js +425 -0
  394. package/dist/components/space/Space.d.ts +2 -0
  395. package/dist/components/space/Space.types.d.ts +19 -0
  396. package/dist/components/space/index.d.ts +2 -0
  397. package/dist/components/space/index.js +144 -0
  398. package/dist/components/spin/Spin.d.ts +2 -0
  399. package/dist/components/spin/Spin.types.d.ts +15 -0
  400. package/dist/components/spin/index.d.ts +2 -0
  401. package/dist/components/spin/index.js +138 -0
  402. package/dist/components/splitter/Splitter.d.ts +2 -0
  403. package/dist/components/splitter/Splitter.types.d.ts +29 -0
  404. package/dist/components/splitter/index.d.ts +2 -0
  405. package/dist/components/splitter/index.js +227 -0
  406. package/dist/components/statistic/Statistic.d.ts +2 -0
  407. package/dist/components/statistic/Statistic.types.d.ts +22 -0
  408. package/dist/components/statistic/index.d.ts +2 -0
  409. package/dist/components/statistic/index.js +150 -0
  410. package/dist/components/steps/Steps.d.ts +4 -0
  411. package/dist/components/steps/Steps.types.d.ts +49 -0
  412. package/dist/components/steps/index.d.ts +2 -0
  413. package/dist/components/steps/index.js +311 -0
  414. package/dist/components/switch/Switch.d.ts +2 -0
  415. package/dist/components/switch/Switch.types.d.ts +16 -0
  416. package/dist/components/switch/index.d.ts +2 -0
  417. package/dist/components/switch/index.js +120 -0
  418. package/dist/components/table/Table.d.ts +2 -0
  419. package/dist/components/table/Table.types.d.ts +142 -0
  420. package/dist/components/table/index.d.ts +2 -0
  421. package/dist/components/table/index.js +721 -0
  422. package/dist/components/tabs/Tabs.d.ts +10 -0
  423. package/dist/components/tabs/Tabs.types.d.ts +48 -0
  424. package/dist/components/tabs/index.d.ts +2 -0
  425. package/dist/components/tabs/index.js +359 -0
  426. package/dist/components/tag/Tag.d.ts +5 -0
  427. package/dist/components/tag/Tag.types.d.ts +20 -0
  428. package/dist/components/tag/index.d.ts +2 -0
  429. package/dist/components/tag/index.js +151 -0
  430. package/dist/components/time-picker/TimePicker.d.ts +2 -0
  431. package/dist/components/time-picker/TimePicker.types.d.ts +43 -0
  432. package/dist/components/time-picker/index.d.ts +2 -0
  433. package/dist/components/time-picker/index.js +323 -0
  434. package/dist/components/timeline/Timeline.d.ts +3 -0
  435. package/dist/components/timeline/Timeline.types.d.ts +20 -0
  436. package/dist/components/timeline/index.d.ts +2 -0
  437. package/dist/components/timeline/index.js +130 -0
  438. package/dist/components/tooltip/Tooltip.d.ts +3 -0
  439. package/dist/components/tooltip/Tooltip.types.d.ts +12 -0
  440. package/dist/components/tooltip/index.d.ts +2 -0
  441. package/dist/components/tooltip/index.js +133 -0
  442. package/dist/components/tour/Tour.d.ts +3 -0
  443. package/dist/components/tour/Tour.types.d.ts +50 -0
  444. package/dist/components/tour/index.d.ts +2 -0
  445. package/dist/components/tour/index.js +507 -0
  446. package/dist/components/transfer/Transfer.d.ts +5 -0
  447. package/dist/components/transfer/Transfer.types.d.ts +88 -0
  448. package/dist/components/transfer/index.d.ts +2 -0
  449. package/dist/components/transfer/index.js +456 -0
  450. package/dist/components/tree/Tree.d.ts +2 -0
  451. package/dist/components/tree/Tree.types.d.ts +92 -0
  452. package/dist/components/tree/index.d.ts +2 -0
  453. package/dist/components/tree/index.js +439 -0
  454. package/dist/components/tree-select/TreeSelect.d.ts +2 -0
  455. package/dist/components/tree-select/TreeSelect.types.d.ts +70 -0
  456. package/dist/components/tree-select/index.d.ts +2 -0
  457. package/dist/components/tree-select/index.js +488 -0
  458. package/dist/components/typography/Typography.d.ts +8 -0
  459. package/dist/components/typography/Typography.types.d.ts +81 -0
  460. package/dist/components/typography/index.d.ts +2 -0
  461. package/dist/components/typography/index.js +689 -0
  462. package/dist/components/upload/Upload.d.ts +2 -0
  463. package/dist/components/upload/Upload.types.d.ts +55 -0
  464. package/dist/components/upload/index.d.ts +2 -0
  465. package/dist/components/upload/index.js +388 -0
  466. package/dist/components/watermark/Watermark.d.ts +3 -0
  467. package/dist/components/watermark/Watermark.types.d.ts +20 -0
  468. package/dist/components/watermark/index.d.ts +2 -0
  469. package/dist/components/watermark/index.js +109 -0
  470. package/dist/index.d.ts +100 -0
  471. package/dist/index.js +18027 -0
  472. package/dist/infrastructure.d.ts +124 -0
  473. package/dist/infrastructure.js +141 -0
  474. package/dist/styles.css +19312 -0
  475. package/dist/theme/ThemeProvider.d.ts +16 -0
  476. package/dist/theme/index.d.ts +2 -0
  477. package/dist/theme/index.js +83 -0
  478. package/dist/theme/theme-script.d.ts +8 -0
  479. package/dist/utils/cn.d.ts +13 -0
  480. package/dist/utils/index.d.ts +1 -0
  481. package/dist/utils/index.js +8 -0
  482. package/package.json +444 -0
@@ -0,0 +1,1186 @@
1
+ "use client";
2
+
3
+ // src/components/breadcrumb/Breadcrumb.tsx
4
+ import React, { forwardRef } from "react";
5
+
6
+ // ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
7
+ function r(e) {
8
+ var t, f, n = "";
9
+ if (typeof e == "string" || typeof e == "number")
10
+ n += e;
11
+ else if (typeof e == "object")
12
+ if (Array.isArray(e)) {
13
+ var o = e.length;
14
+ for (t = 0;t < o; t++)
15
+ e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
16
+ } else
17
+ for (f in e)
18
+ e[f] && (n && (n += " "), n += f);
19
+ return n;
20
+ }
21
+ function clsx() {
22
+ for (var e, t, f = 0, n = "", o = arguments.length;f < o; f++)
23
+ (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
24
+ return n;
25
+ }
26
+
27
+ // src/utils/cn.ts
28
+ function cn(...inputs) {
29
+ return clsx(inputs);
30
+ }
31
+ // src/classes/breadcrumb.ts
32
+ var breadcrumbBaseClass = "breadcrumbs";
33
+ var breadcrumbItemClass = "breadcrumb-item";
34
+ var breadcrumbItemActiveClass = "breadcrumb-item-active";
35
+ var breadcrumbItemDisabledClass = "breadcrumb-item-disabled";
36
+ var breadcrumbLinkClass = "breadcrumb-link";
37
+ var breadcrumbSeparatorClass = "breadcrumb-separator";
38
+ var breadcrumbIconClass = "breadcrumb-icon";
39
+ var breadcrumbMenuClass = "breadcrumb-menu";
40
+ var breadcrumbMenuListClass = "breadcrumb-menu-list";
41
+ var breadcrumbMenuItemClass = "breadcrumb-menu-item";
42
+ function getBreadcrumbClasses({ className }) {
43
+ return cn(breadcrumbBaseClass, className);
44
+ }
45
+ function getBreadcrumbItemClasses({
46
+ active,
47
+ disabled,
48
+ className
49
+ }) {
50
+ return cn(breadcrumbItemClass, active && breadcrumbItemActiveClass, disabled && breadcrumbItemDisabledClass, className);
51
+ }
52
+ function getBreadcrumbLinkClasses({
53
+ disabled,
54
+ className
55
+ }) {
56
+ return cn(breadcrumbLinkClass, disabled && breadcrumbItemDisabledClass, className);
57
+ }
58
+
59
+ // src/components/breadcrumb/Breadcrumb.tsx
60
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
61
+ var defaultSeparator = "/";
62
+ function isSeparatorItem(item) {
63
+ return "type" in item && item.type === "separator";
64
+ }
65
+ function hasNode(node) {
66
+ return node !== undefined && node !== null && node !== false;
67
+ }
68
+ function getItemTitle(item) {
69
+ if ("breadcrumbName" in item && hasNode(item.breadcrumbName)) {
70
+ return item.breadcrumbName;
71
+ }
72
+ return item.title ?? item.label;
73
+ }
74
+ function replacePathParams(path, params) {
75
+ return path.replace(/:([^/]+)/g, (token, key) => {
76
+ const value = params?.[key];
77
+ return value === undefined ? token : encodeURIComponent(String(value));
78
+ });
79
+ }
80
+ function normalizePathSegment(path) {
81
+ return path.replace(/^\/+|\/+$/g, "");
82
+ }
83
+ function buildPaths(routes, routeIndex, params) {
84
+ return routes.slice(0, routeIndex + 1).reduce((paths, route) => {
85
+ if (!route.path) {
86
+ return paths;
87
+ }
88
+ const path = normalizePathSegment(replacePathParams(route.path, params));
89
+ if (path) {
90
+ paths.push(path);
91
+ }
92
+ return paths;
93
+ }, []);
94
+ }
95
+ function getHref(item, paths) {
96
+ if (item.href) {
97
+ return item.href;
98
+ }
99
+ if (!item.path || paths.length === 0) {
100
+ return;
101
+ }
102
+ return `/${paths.join("/")}`;
103
+ }
104
+ function activateOnKeyboard(event) {
105
+ if (event.key !== "Enter" && event.key !== " ") {
106
+ return;
107
+ }
108
+ event.preventDefault();
109
+ event.currentTarget.click();
110
+ }
111
+ function renderItemBody(item) {
112
+ const title = getItemTitle(item);
113
+ return /* @__PURE__ */ jsxs(Fragment, {
114
+ children: [
115
+ item.icon ? /* @__PURE__ */ jsx("span", {
116
+ className: breadcrumbIconClass,
117
+ "aria-hidden": "true",
118
+ children: item.icon
119
+ }) : null,
120
+ hasNode(title) ? title : null
121
+ ]
122
+ });
123
+ }
124
+ function routeChildrenToMenu(children) {
125
+ if (!children?.length) {
126
+ return;
127
+ }
128
+ return {
129
+ items: children.map((child, index) => ({
130
+ key: child.key ?? child.path ?? index,
131
+ label: getItemTitle(child),
132
+ href: child.href,
133
+ path: child.path,
134
+ icon: child.icon,
135
+ disabled: child.disabled,
136
+ onClick: child.onClick,
137
+ children: child.children?.map((nested, nestedIndex) => ({
138
+ key: nested.key ?? nested.path ?? nestedIndex,
139
+ label: getItemTitle(nested),
140
+ href: nested.href,
141
+ path: nested.path,
142
+ icon: nested.icon,
143
+ disabled: nested.disabled,
144
+ onClick: nested.onClick
145
+ }))
146
+ }))
147
+ };
148
+ }
149
+ function renderMenuItems(menu, items = []) {
150
+ return items.map((item, index) => {
151
+ const key = item.key ?? item.path ?? index;
152
+ const href = item.href ?? item.path;
153
+ const label = renderItemBody(item);
154
+ function handleClick(event) {
155
+ if (item.disabled) {
156
+ event.preventDefault();
157
+ return;
158
+ }
159
+ item.onClick?.(event);
160
+ menu.onClick?.({ key, item, domEvent: event });
161
+ }
162
+ const content = item.disabled ? /* @__PURE__ */ jsx("span", {
163
+ role: "menuitem",
164
+ "aria-disabled": "true",
165
+ className: getBreadcrumbLinkClasses({
166
+ disabled: true,
167
+ className: breadcrumbMenuItemClass
168
+ }),
169
+ children: label
170
+ }) : href ? /* @__PURE__ */ jsx("a", {
171
+ role: "menuitem",
172
+ className: cn(breadcrumbMenuItemClass, getBreadcrumbLinkClasses({})),
173
+ href,
174
+ onClick: handleClick,
175
+ children: label
176
+ }) : /* @__PURE__ */ jsx("button", {
177
+ type: "button",
178
+ role: "menuitem",
179
+ className: cn(breadcrumbMenuItemClass, getBreadcrumbLinkClasses({})),
180
+ onClick: handleClick,
181
+ children: label
182
+ });
183
+ return /* @__PURE__ */ jsxs("li", {
184
+ children: [
185
+ content,
186
+ item.children?.length ? /* @__PURE__ */ jsx("ul", {
187
+ className: breadcrumbMenuListClass,
188
+ role: "menu",
189
+ children: renderMenuItems(menu, item.children)
190
+ }) : null
191
+ ]
192
+ }, key);
193
+ });
194
+ }
195
+ function renderDefaultItemContent(item, paths, active) {
196
+ const body = renderItemBody(item);
197
+ if (item.disabled) {
198
+ return body;
199
+ }
200
+ const href = item.href ?? (!active ? getHref(item, paths) : undefined);
201
+ if (href) {
202
+ return /* @__PURE__ */ jsx("a", {
203
+ className: getBreadcrumbLinkClasses({}),
204
+ href,
205
+ onClick: item.onClick,
206
+ children: body
207
+ });
208
+ }
209
+ if (item.onClick) {
210
+ return /* @__PURE__ */ jsx("span", {
211
+ role: "button",
212
+ tabIndex: 0,
213
+ className: getBreadcrumbLinkClasses({}),
214
+ onClick: item.onClick,
215
+ onKeyDown: activateOnKeyboard,
216
+ children: body
217
+ });
218
+ }
219
+ return body;
220
+ }
221
+ function renderMenuItem(item, menu, children, disabled) {
222
+ return /* @__PURE__ */ jsxs("details", {
223
+ className: getBreadcrumbItemClasses({
224
+ disabled,
225
+ className: cn(breadcrumbMenuClass, item.className)
226
+ }),
227
+ "aria-disabled": disabled || undefined,
228
+ children: [
229
+ /* @__PURE__ */ jsx("summary", {
230
+ className: getBreadcrumbLinkClasses({ disabled }),
231
+ children
232
+ }),
233
+ /* @__PURE__ */ jsx("ul", {
234
+ className: breadcrumbMenuListClass,
235
+ role: "menu",
236
+ children: renderMenuItems(menu, menu.items)
237
+ })
238
+ ]
239
+ });
240
+ }
241
+ var Breadcrumb = forwardRef(({
242
+ items,
243
+ routes,
244
+ params = {},
245
+ separator = defaultSeparator,
246
+ itemRender,
247
+ className,
248
+ children,
249
+ "aria-label": ariaLabel = "Breadcrumb",
250
+ ...props
251
+ }, ref) => {
252
+ const entries = items ?? routes;
253
+ if (!entries?.length) {
254
+ return /* @__PURE__ */ jsx("nav", {
255
+ ...props,
256
+ ref,
257
+ "aria-label": ariaLabel,
258
+ className: getBreadcrumbClasses({ className }),
259
+ children
260
+ });
261
+ }
262
+ const routeEntries = entries.filter((item) => !isSeparatorItem(item));
263
+ let routeIndex = -1;
264
+ let previousRenderedItemWasSeparator = true;
265
+ return /* @__PURE__ */ jsx("nav", {
266
+ ...props,
267
+ ref,
268
+ "aria-label": ariaLabel,
269
+ className: getBreadcrumbClasses({ className }),
270
+ children: entries.map((entry, index) => {
271
+ if (isSeparatorItem(entry)) {
272
+ previousRenderedItemWasSeparator = true;
273
+ return /* @__PURE__ */ jsx("span", {
274
+ className: cn(breadcrumbSeparatorClass, entry.className),
275
+ "aria-hidden": "true",
276
+ children: entry.separator ?? separator
277
+ }, entry.key ?? `separator-${index}`);
278
+ }
279
+ routeIndex += 1;
280
+ const currentRouteIndex = routeIndex;
281
+ const paths = buildPaths(routeEntries, currentRouteIndex, params);
282
+ const active = currentRouteIndex === routeEntries.length - 1;
283
+ const menu = entry.menu ?? routeChildrenToMenu(entry.children);
284
+ const content = itemRender?.(entry, params, routeEntries, paths) ?? renderDefaultItemContent(entry, paths, active);
285
+ const applyActiveClass = active && !itemRender && !entry.href && !entry.onClick;
286
+ const insertSeparator = !previousRenderedItemWasSeparator;
287
+ previousRenderedItemWasSeparator = false;
288
+ return /* @__PURE__ */ jsxs(React.Fragment, {
289
+ children: [
290
+ insertSeparator ? /* @__PURE__ */ jsx("span", {
291
+ className: breadcrumbSeparatorClass,
292
+ "aria-hidden": "true",
293
+ children: separator
294
+ }) : null,
295
+ menu?.items?.length ? renderMenuItem(entry, menu, content, entry.disabled) : /* @__PURE__ */ jsx("span", {
296
+ className: getBreadcrumbItemClasses({
297
+ active: applyActiveClass,
298
+ disabled: entry.disabled,
299
+ className: entry.className
300
+ }),
301
+ "aria-current": active ? "page" : undefined,
302
+ "aria-disabled": entry.disabled || undefined,
303
+ children: content
304
+ })
305
+ ]
306
+ }, entry.key ?? entry.href ?? entry.path ?? currentRouteIndex);
307
+ })
308
+ });
309
+ });
310
+ Breadcrumb.displayName = "Breadcrumb";
311
+ // src/components/dm-breadcrumb/DmBreadcrumb.tsx
312
+ import { forwardRef as forwardRef2, useEffect, useMemo, useState } from "react";
313
+
314
+ // src/classes/dm-breadcrumb.ts
315
+ var dmBreadcrumbClass = "dm-breadcrumb";
316
+ var dmBreadcrumbCompactClass = "dm-breadcrumb-compact";
317
+ var dmBreadcrumbRecentClass = "dm-breadcrumb-recent";
318
+ var dmBreadcrumbValueClass = "dm-breadcrumb-value";
319
+ function getDmBreadcrumbClasses({
320
+ compact,
321
+ recent,
322
+ className
323
+ }) {
324
+ return cn(dmBreadcrumbClass, compact && dmBreadcrumbCompactClass, recent && dmBreadcrumbRecentClass, className);
325
+ }
326
+
327
+ // src/components/dm-breadcrumb/DmBreadcrumb.tsx
328
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
329
+ var defaultStorageKey = "dm-breadcrumb-history-list";
330
+ var defaultMaxHistoryLength = 10;
331
+ function canUseSessionStorage() {
332
+ return typeof window !== "undefined" && typeof window.sessionStorage !== "undefined";
333
+ }
334
+ function readHistory(storageKey) {
335
+ if (!canUseSessionStorage())
336
+ return [];
337
+ try {
338
+ const raw = window.sessionStorage.getItem(storageKey);
339
+ const parsed = raw ? JSON.parse(raw) : [];
340
+ return Array.isArray(parsed) ? parsed : [];
341
+ } catch {
342
+ return [];
343
+ }
344
+ }
345
+ function writeHistory(storageKey, history) {
346
+ if (!canUseSessionStorage())
347
+ return;
348
+ window.sessionStorage.setItem(storageKey, JSON.stringify(history));
349
+ }
350
+ function currentLocation() {
351
+ if (typeof window === "undefined")
352
+ return;
353
+ return {
354
+ pathname: window.location.pathname,
355
+ search: window.location.search
356
+ };
357
+ }
358
+ function upsertHistory(history, item, maxLength) {
359
+ const nextHistory = history.filter((entry) => entry.pathname !== item.pathname);
360
+ return [...nextHistory, item].slice(-maxLength);
361
+ }
362
+ function resolveRecentUrl(item, history, isStoragePath) {
363
+ const baseUrl = item.url ?? item.href ?? "";
364
+ if (!isStoragePath || !item.url)
365
+ return baseUrl;
366
+ const recent = history.find((entry) => entry.pathname === item.url);
367
+ return recent ? `${recent.pathname}${recent.search ?? ""}` : baseUrl;
368
+ }
369
+ function renderTitle(item, index) {
370
+ if (item.itemRender)
371
+ return item.itemRender(item);
372
+ return /* @__PURE__ */ jsxs2("span", {
373
+ title: typeof item.title === "string" ? item.title : undefined,
374
+ children: [
375
+ item.title,
376
+ item.value !== undefined && index > 0 ? /* @__PURE__ */ jsxs2("span", {
377
+ className: dmBreadcrumbValueClass,
378
+ children: [
379
+ "(",
380
+ item.value,
381
+ ")"
382
+ ]
383
+ }) : null
384
+ ]
385
+ });
386
+ }
387
+ function collapseItems(items, maxVisibleItems) {
388
+ if (!maxVisibleItems || items.length <= maxVisibleItems || maxVisibleItems < 3) {
389
+ return items;
390
+ }
391
+ const headCount = 2;
392
+ const tailCount = Math.max(1, maxVisibleItems - headCount - 1);
393
+ return [
394
+ ...items.slice(0, headCount),
395
+ { type: "separator", key: "__dm-breadcrumb-ellipsis", separator: "..." },
396
+ ...items.slice(-tailCount)
397
+ ];
398
+ }
399
+ var DmBreadcrumb = forwardRef2(({
400
+ items,
401
+ isStoragePath = true,
402
+ storageKey = defaultStorageKey,
403
+ maxHistoryLength = defaultMaxHistoryLength,
404
+ maxVisibleItems,
405
+ compact,
406
+ history,
407
+ className,
408
+ separator,
409
+ ...props
410
+ }, ref) => {
411
+ const [currentHistory, setCurrentHistory] = useState(() => history ?? readHistory(storageKey));
412
+ useEffect(() => {
413
+ if (history) {
414
+ setCurrentHistory(history);
415
+ }
416
+ }, [history]);
417
+ useEffect(() => {
418
+ if (!isStoragePath || history)
419
+ return;
420
+ const locationItem = currentLocation();
421
+ if (!locationItem)
422
+ return;
423
+ setCurrentHistory((prevHistory) => {
424
+ const nextHistory = upsertHistory(prevHistory, locationItem, maxHistoryLength);
425
+ writeHistory(storageKey, nextHistory);
426
+ return nextHistory;
427
+ });
428
+ }, [history, isStoragePath, maxHistoryLength, storageKey]);
429
+ const breadcrumbItems = useMemo(() => {
430
+ const mappedItems = items.map((item, index) => {
431
+ const url = resolveRecentUrl(item, currentHistory, isStoragePath);
432
+ return {
433
+ key: item.url ?? item.href ?? index,
434
+ title: renderTitle(item, index),
435
+ href: item.onClick ? undefined : url || undefined,
436
+ menu: item.menu,
437
+ onClick: item.onClick ? (event) => {
438
+ event.preventDefault();
439
+ item.onClick?.(url);
440
+ } : undefined
441
+ };
442
+ });
443
+ return collapseItems(mappedItems, maxVisibleItems);
444
+ }, [currentHistory, isStoragePath, items, maxVisibleItems]);
445
+ return /* @__PURE__ */ jsx2(Breadcrumb, {
446
+ ...props,
447
+ ref,
448
+ items: breadcrumbItems,
449
+ separator,
450
+ className: getDmBreadcrumbClasses({
451
+ compact,
452
+ recent: isStoragePath,
453
+ className
454
+ })
455
+ });
456
+ });
457
+ DmBreadcrumb.displayName = "DmBreadcrumb";
458
+ // src/components/layout/Layout.tsx
459
+ import { forwardRef as forwardRef3, useState as useState2 } from "react";
460
+
461
+ // src/classes/layout.ts
462
+ var layoutBaseClass = "layout";
463
+ var layoutHasSiderClass = "layout-has-sider";
464
+ var layoutHeaderClass = "layout-header";
465
+ var layoutSiderClass = "layout-sider";
466
+ var layoutSiderCollapsedClass = "layout-sider-collapsed";
467
+ var layoutContentClass = "layout-content";
468
+ var layoutFooterClass = "layout-footer";
469
+ var layoutTriggerClass = "layout-trigger";
470
+ function getLayoutClasses({
471
+ hasSider,
472
+ className
473
+ }) {
474
+ return cn(layoutBaseClass, hasSider && layoutHasSiderClass, className);
475
+ }
476
+ function getLayoutSiderClasses({
477
+ collapsed,
478
+ className
479
+ }) {
480
+ return cn(layoutSiderClass, collapsed && layoutSiderCollapsedClass, className);
481
+ }
482
+
483
+ // src/components/layout/Layout.tsx
484
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
485
+ function toSize(value) {
486
+ return typeof value === "number" ? `${value}px` : value;
487
+ }
488
+ var Header = forwardRef3(({ className, ...props }, ref) => /* @__PURE__ */ jsx3("div", {
489
+ ...props,
490
+ ref,
491
+ className: cn(layoutHeaderClass, className)
492
+ }));
493
+ Header.displayName = "Layout.Header";
494
+ var Content = forwardRef3(({ className, ...props }, ref) => /* @__PURE__ */ jsx3("div", {
495
+ ...props,
496
+ ref,
497
+ className: cn(layoutContentClass, className)
498
+ }));
499
+ Content.displayName = "Layout.Content";
500
+ var Footer = forwardRef3(({ className, ...props }, ref) => /* @__PURE__ */ jsx3("div", {
501
+ ...props,
502
+ ref,
503
+ className: cn(layoutFooterClass, className)
504
+ }));
505
+ Footer.displayName = "Layout.Footer";
506
+ var Sider = forwardRef3(({
507
+ children,
508
+ collapsible,
509
+ collapsed,
510
+ defaultCollapsed,
511
+ onCollapse,
512
+ width = 200,
513
+ collapsedWidth = 80,
514
+ trigger,
515
+ breakpoint,
516
+ className,
517
+ style,
518
+ ...props
519
+ }, ref) => {
520
+ const controlled = collapsed !== undefined;
521
+ const [internalCollapsed, setInternalCollapsed] = useState2(() => defaultCollapsed ?? false);
522
+ const mergedCollapsed = controlled ? collapsed : internalCollapsed;
523
+ const siderWidth = toSize(mergedCollapsed ? collapsedWidth : width);
524
+ function toggleCollapsed() {
525
+ const nextCollapsed = !mergedCollapsed;
526
+ if (!controlled) {
527
+ setInternalCollapsed(nextCollapsed);
528
+ }
529
+ onCollapse?.(nextCollapsed, "clickTrigger");
530
+ }
531
+ return /* @__PURE__ */ jsxs3("div", {
532
+ ...props,
533
+ ref,
534
+ "data-breakpoint": breakpoint,
535
+ className: getLayoutSiderClasses({
536
+ collapsed: mergedCollapsed,
537
+ className
538
+ }),
539
+ style: {
540
+ flex: `0 0 ${siderWidth}`,
541
+ maxWidth: siderWidth,
542
+ minWidth: siderWidth,
543
+ width: siderWidth,
544
+ ...style
545
+ },
546
+ children: [
547
+ children,
548
+ collapsible && trigger !== null ? /* @__PURE__ */ jsx3("button", {
549
+ type: "button",
550
+ className: layoutTriggerClass,
551
+ "aria-label": mergedCollapsed ? "Expand sider" : "Collapse sider",
552
+ onClick: toggleCollapsed,
553
+ children: trigger ?? (mergedCollapsed ? ">" : "<")
554
+ }) : null
555
+ ]
556
+ });
557
+ });
558
+ Sider.displayName = "Layout.Sider";
559
+ var LayoutRoot = forwardRef3(({ hasSider, className, ...props }, ref) => /* @__PURE__ */ jsx3("div", {
560
+ ...props,
561
+ ref,
562
+ className: getLayoutClasses({ hasSider, className })
563
+ }));
564
+ LayoutRoot.displayName = "Layout";
565
+ LayoutRoot.Header = Header;
566
+ LayoutRoot.Sider = Sider;
567
+ LayoutRoot.Content = Content;
568
+ LayoutRoot.Footer = Footer;
569
+ var Layout = LayoutRoot;
570
+ // src/components/menu/Menu.tsx
571
+ import { forwardRef as forwardRef4, useState as useState3 } from "react";
572
+
573
+ // src/classes/menu.ts
574
+ var menuBaseClass = "menu";
575
+ var menuShowClass = "menu-show";
576
+ var menuItemClass = "menu-item";
577
+ var menuItemActiveClass = "menu-item-active";
578
+ var menuItemDisabledClass = "menu-item-disabled";
579
+ var menuItemIconClass = "menu-item-icon";
580
+ var menuItemTrailingClass = "menu-item-trailing";
581
+ var menuItemSubmenuClass = "menu-item-submenu";
582
+ var menuDividerClass = "menu-divider";
583
+ var menuLabelClass = "menu-label";
584
+ var menuSubmenuClass = "menu-submenu";
585
+ var menuCompactClass = "menu-compact";
586
+ var menuWideClass = "menu-wide";
587
+ var menuModeClasses = {
588
+ vertical: "menu-vertical",
589
+ horizontal: "menu-horizontal",
590
+ inline: "menu-inline"
591
+ };
592
+ var menuThemeClasses = {
593
+ light: "",
594
+ dark: "menu-dark menu-surface-container-highest"
595
+ };
596
+ var menuSizeClasses = {
597
+ sm: menuCompactClass,
598
+ md: "",
599
+ lg: menuWideClass
600
+ };
601
+ function getMenuClasses({
602
+ mode = "vertical",
603
+ theme = "light",
604
+ size = "md",
605
+ inlineCollapsed,
606
+ disabled,
607
+ className
608
+ }) {
609
+ return cn(menuBaseClass, menuShowClass, menuModeClasses[mode], menuThemeClasses[theme], menuSizeClasses[size], inlineCollapsed && "menu-inline-collapsed", disabled && menuItemDisabledClass, className);
610
+ }
611
+ function getMenuItemClasses({
612
+ active,
613
+ disabled,
614
+ danger,
615
+ submenu,
616
+ className
617
+ }) {
618
+ return cn(menuItemClass, active && menuItemActiveClass, disabled && menuItemDisabledClass, danger && "menu-item-danger", submenu && menuItemSubmenuClass, className);
619
+ }
620
+
621
+ // src/components/menu/Menu.tsx
622
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
623
+ function normalizeKeys(keys) {
624
+ return keys?.map(String) ?? [];
625
+ }
626
+ function hasNode2(node) {
627
+ return node !== undefined && node !== null && node !== false;
628
+ }
629
+ function keyForItem(item, indexPath) {
630
+ return String(item.key ?? indexPath.join("-"));
631
+ }
632
+ function isActivationKey(key) {
633
+ return key === "Enter" || key === " ";
634
+ }
635
+ var MenuItem = forwardRef4(({
636
+ children,
637
+ icon,
638
+ extra,
639
+ active,
640
+ disabled,
641
+ danger,
642
+ className,
643
+ role,
644
+ ...props
645
+ }, ref) => /* @__PURE__ */ jsxs4("li", {
646
+ ...props,
647
+ ref,
648
+ role: role ?? "menuitem",
649
+ "aria-disabled": disabled || undefined,
650
+ className: getMenuItemClasses({
651
+ active,
652
+ disabled,
653
+ danger,
654
+ className
655
+ }),
656
+ children: [
657
+ icon ? /* @__PURE__ */ jsx4("span", {
658
+ className: menuItemIconClass,
659
+ children: icon
660
+ }) : null,
661
+ /* @__PURE__ */ jsx4("span", {
662
+ children
663
+ }),
664
+ extra ? /* @__PURE__ */ jsx4("span", {
665
+ className: menuItemTrailingClass,
666
+ children: extra
667
+ }) : null
668
+ ]
669
+ }));
670
+ MenuItem.displayName = "Menu.Item";
671
+ var MenuDivider = forwardRef4(({ className, ...props }, ref) => /* @__PURE__ */ jsx4("li", {
672
+ ...props,
673
+ ref,
674
+ role: "separator",
675
+ className: cn(menuDividerClass, className)
676
+ }));
677
+ MenuDivider.displayName = "Menu.Divider";
678
+ var MenuItemGroup = forwardRef4(({ title, children, className, ...props }, ref) => /* @__PURE__ */ jsxs4("li", {
679
+ ...props,
680
+ ref,
681
+ className: cn("menu-group", className),
682
+ children: [
683
+ hasNode2(title) ? /* @__PURE__ */ jsx4("div", {
684
+ className: menuLabelClass,
685
+ children: title
686
+ }) : null,
687
+ /* @__PURE__ */ jsx4("ul", {
688
+ className: cn(menuSubmenuClass, "menu-show"),
689
+ children
690
+ })
691
+ ]
692
+ }));
693
+ MenuItemGroup.displayName = "Menu.ItemGroup";
694
+ var MenuRoot = forwardRef4(({
695
+ items,
696
+ children,
697
+ selectedKeys,
698
+ defaultSelectedKeys,
699
+ openKeys,
700
+ defaultOpenKeys,
701
+ mode = "vertical",
702
+ theme = "light",
703
+ size = "md",
704
+ selectable = true,
705
+ multiple,
706
+ inlineCollapsed,
707
+ disabled,
708
+ onClick,
709
+ onSelect,
710
+ onDeselect,
711
+ onOpenChange,
712
+ className,
713
+ ...props
714
+ }, ref) => {
715
+ const selectedControlled = selectedKeys !== undefined;
716
+ const openControlled = openKeys !== undefined;
717
+ const [internalSelectedKeys, setInternalSelectedKeys] = useState3(() => normalizeKeys(defaultSelectedKeys));
718
+ const [internalOpenKeys, setInternalOpenKeys] = useState3(() => normalizeKeys(defaultOpenKeys));
719
+ const currentSelectedKeys = selectedControlled ? normalizeKeys(selectedKeys) : internalSelectedKeys;
720
+ const currentOpenKeys = openControlled ? normalizeKeys(openKeys) : internalOpenKeys;
721
+ function setNextSelectedKeys(nextSelectedKeys) {
722
+ if (!selectedControlled) {
723
+ setInternalSelectedKeys(nextSelectedKeys);
724
+ }
725
+ }
726
+ function setNextOpenKeys(nextOpenKeys) {
727
+ if (!openControlled) {
728
+ setInternalOpenKeys(nextOpenKeys);
729
+ }
730
+ onOpenChange?.(nextOpenKeys);
731
+ }
732
+ function buildInfo(item, key, keyPath, domEvent, nextSelectedKeys = currentSelectedKeys) {
733
+ return {
734
+ key,
735
+ keyPath,
736
+ item,
737
+ selectedKeys: nextSelectedKeys,
738
+ domEvent
739
+ };
740
+ }
741
+ function activateItem(item, key, keyPath, event) {
742
+ if (disabled || item.disabled) {
743
+ event.preventDefault();
744
+ return;
745
+ }
746
+ let nextSelectedKeys = currentSelectedKeys;
747
+ const selected = currentSelectedKeys.includes(key);
748
+ if (selectable) {
749
+ if (selected && multiple) {
750
+ nextSelectedKeys = currentSelectedKeys.filter((selectedKey) => selectedKey !== key);
751
+ setNextSelectedKeys(nextSelectedKeys);
752
+ onDeselect?.(buildInfo(item, key, keyPath, event, nextSelectedKeys));
753
+ } else if (!selected) {
754
+ nextSelectedKeys = multiple ? [...currentSelectedKeys, key] : [key];
755
+ setNextSelectedKeys(nextSelectedKeys);
756
+ onSelect?.(buildInfo(item, key, keyPath, event, nextSelectedKeys));
757
+ }
758
+ }
759
+ onClick?.(buildInfo(item, key, keyPath, event, nextSelectedKeys));
760
+ }
761
+ function toggleSubmenu(key) {
762
+ const open = currentOpenKeys.includes(key);
763
+ setNextOpenKeys(open ? currentOpenKeys.filter((openKey) => openKey !== key) : [...currentOpenKeys, key]);
764
+ }
765
+ function renderItem(item, indexPath, parentKeyPath = []) {
766
+ if (item.type === "divider") {
767
+ return /* @__PURE__ */ jsx4(MenuDivider, {}, `divider-${indexPath.join("-")}`);
768
+ }
769
+ const key = keyForItem(item, indexPath);
770
+ const keyPath = [key, ...parentKeyPath];
771
+ if (item.type === "group") {
772
+ return /* @__PURE__ */ jsx4(MenuItemGroup, {
773
+ title: item.label ?? item.title,
774
+ children: item.children?.map((child, childIndex) => renderItem(child, [...indexPath, childIndex], keyPath))
775
+ }, key);
776
+ }
777
+ const hasChildren = Boolean(item.children?.length);
778
+ const selected = currentSelectedKeys.includes(key);
779
+ const open = currentOpenKeys.includes(key);
780
+ const itemDisabled = disabled || item.disabled;
781
+ if (hasChildren) {
782
+ return /* @__PURE__ */ jsxs4("li", {
783
+ className: cn("menu-submenu-wrapper", item.className),
784
+ children: [
785
+ /* @__PURE__ */ jsxs4("button", {
786
+ type: "button",
787
+ className: getMenuItemClasses({
788
+ active: selected,
789
+ disabled: itemDisabled,
790
+ danger: item.danger,
791
+ submenu: true
792
+ }),
793
+ disabled: itemDisabled,
794
+ "aria-expanded": open,
795
+ onClick: () => toggleSubmenu(key),
796
+ children: [
797
+ item.icon ? /* @__PURE__ */ jsx4("span", {
798
+ className: menuItemIconClass,
799
+ children: item.icon
800
+ }) : null,
801
+ /* @__PURE__ */ jsx4("span", {
802
+ children: item.label ?? item.title
803
+ }),
804
+ item.extra ? /* @__PURE__ */ jsx4("span", {
805
+ className: menuItemTrailingClass,
806
+ children: item.extra
807
+ }) : null
808
+ ]
809
+ }),
810
+ open ? /* @__PURE__ */ jsx4("ul", {
811
+ className: cn(menuSubmenuClass, "menu-show"),
812
+ children: item.children?.map((child, childIndex) => renderItem(child, [...indexPath, childIndex], keyPath))
813
+ }) : null
814
+ ]
815
+ }, key);
816
+ }
817
+ return /* @__PURE__ */ jsx4(MenuItem, {
818
+ role: "menuitem",
819
+ tabIndex: itemDisabled ? undefined : 0,
820
+ active: selected,
821
+ disabled: itemDisabled,
822
+ danger: item.danger,
823
+ icon: item.icon,
824
+ extra: item.extra,
825
+ className: item.className,
826
+ onClick: (event) => activateItem(item, key, keyPath, event),
827
+ onKeyDown: (event) => {
828
+ if (!isActivationKey(event.key)) {
829
+ return;
830
+ }
831
+ event.preventDefault();
832
+ activateItem(item, key, keyPath, event);
833
+ },
834
+ children: item.label
835
+ }, key);
836
+ }
837
+ return /* @__PURE__ */ jsx4("ul", {
838
+ ...props,
839
+ ref,
840
+ role: props.role ?? "menu",
841
+ className: getMenuClasses({
842
+ mode,
843
+ theme,
844
+ size,
845
+ inlineCollapsed,
846
+ disabled,
847
+ className
848
+ }),
849
+ children: items ? items.map((item, index) => renderItem(item, [index])) : children
850
+ });
851
+ });
852
+ MenuRoot.displayName = "Menu";
853
+ MenuRoot.Item = MenuItem;
854
+ MenuRoot.Divider = MenuDivider;
855
+ MenuRoot.ItemGroup = MenuItemGroup;
856
+ var Menu = MenuRoot;
857
+ // src/components/dm-menu/DmMenu.tsx
858
+ import { forwardRef as forwardRef5, useMemo as useMemo2 } from "react";
859
+
860
+ // src/classes/dm-menu.ts
861
+ var dmMenuClass = "dm-menu";
862
+ var dmMenuNoHeaderClass = "dm-menu-no-header";
863
+ var dmMenuCollapsedClass = "dm-menu-collapsed";
864
+ var dmMenuHeaderClass = "dm-menu-header";
865
+ var dmMenuProductIconClass = "dm-menu-product-icon";
866
+ var dmMenuContentClass = "dm-menu-content";
867
+ var dmMenuFooterClass = "dm-menu-footer";
868
+ var dmMenuCollapseButtonClass = "dm-menu-collapse-button";
869
+ function getDmMenuClasses({
870
+ hideProductHeader,
871
+ inlineCollapsed,
872
+ className
873
+ }) {
874
+ return cn(dmMenuClass, hideProductHeader && dmMenuNoHeaderClass, inlineCollapsed && dmMenuCollapsedClass, className);
875
+ }
876
+
877
+ // src/components/dm-menu/DmMenu.tsx
878
+ import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
879
+ function getMenuLabel(menu, locale) {
880
+ return locale === "en-US" && menu.menuNameEn ? menu.menuNameEn : menu.menuName;
881
+ }
882
+ function renderIcon(icon) {
883
+ if (!icon)
884
+ return;
885
+ return typeof icon === "string" ? /* @__PURE__ */ jsx5("span", {
886
+ className: dmMenuProductIconClass,
887
+ "aria-hidden": "true",
888
+ children: icon
889
+ }) : icon;
890
+ }
891
+ function isEnabled(menu) {
892
+ return menu.enable !== false;
893
+ }
894
+ function toMenuItems(menus, locale, byKey) {
895
+ return (menus ?? []).filter((menu) => !menu.subRouter && isEnabled(menu)).sort((a, b) => (a.menuNum ?? 0) - (b.menuNum ?? 0)).map((menu) => {
896
+ const key = menu.menuUrl || String(menu.menuId ?? menu.menuIdentifier);
897
+ byKey?.set(key, menu);
898
+ return {
899
+ key,
900
+ label: getMenuLabel(menu, locale),
901
+ title: getMenuLabel(menu, locale),
902
+ icon: renderIcon(menu.iconStr),
903
+ children: toMenuItems(menu.children, locale, byKey)
904
+ };
905
+ });
906
+ }
907
+ function createDmMenuItems(menus, locale) {
908
+ return toMenuItems(menus, locale);
909
+ }
910
+ var DmMenu = forwardRef5(({
911
+ menus = [],
912
+ items,
913
+ hideProductHeader = false,
914
+ productTitle = "DuskMoon",
915
+ productIcon,
916
+ inlineCollapsed,
917
+ onCollapsed,
918
+ locale,
919
+ onClick,
920
+ className,
921
+ ...props
922
+ }, ref) => {
923
+ const menuByKey = useMemo2(() => new Map, []);
924
+ const schemaItems = useMemo2(() => {
925
+ menuByKey.clear();
926
+ return toMenuItems(menus, locale, menuByKey);
927
+ }, [locale, menuByKey, menus]);
928
+ const contentItems = items ?? schemaItems;
929
+ function handleClick(info) {
930
+ onClick?.({
931
+ ...info,
932
+ menu: menuByKey.get(info.key)
933
+ });
934
+ }
935
+ return /* @__PURE__ */ jsxs5("div", {
936
+ ref,
937
+ className: getDmMenuClasses({
938
+ hideProductHeader,
939
+ inlineCollapsed,
940
+ className
941
+ }),
942
+ children: [
943
+ hideProductHeader ? null : /* @__PURE__ */ jsx5("div", {
944
+ className: dmMenuHeaderClass,
945
+ children: /* @__PURE__ */ jsx5(Menu, {
946
+ mode: "inline",
947
+ inlineCollapsed,
948
+ selectable: false,
949
+ items: [
950
+ {
951
+ key: "__product",
952
+ label: productTitle,
953
+ title: productTitle,
954
+ icon: renderIcon(productIcon)
955
+ }
956
+ ]
957
+ })
958
+ }),
959
+ /* @__PURE__ */ jsx5("div", {
960
+ className: dmMenuContentClass,
961
+ children: /* @__PURE__ */ jsx5(Menu, {
962
+ ...props,
963
+ mode: props.mode ?? "inline",
964
+ items: contentItems,
965
+ inlineCollapsed,
966
+ onClick: handleClick
967
+ })
968
+ }),
969
+ onCollapsed ? /* @__PURE__ */ jsx5("div", {
970
+ className: dmMenuFooterClass,
971
+ children: /* @__PURE__ */ jsx5("button", {
972
+ type: "button",
973
+ className: dmMenuCollapseButtonClass,
974
+ "aria-label": inlineCollapsed ? "Expand menu" : "Collapse menu",
975
+ onClick: onCollapsed,
976
+ children: inlineCollapsed ? ">" : "<"
977
+ })
978
+ }) : null
979
+ ]
980
+ });
981
+ });
982
+ DmMenu.displayName = "DmMenu";
983
+ // src/components/dm-layout/DmLayout.tsx
984
+ import { forwardRef as forwardRef6, useEffect as useEffect2, useMemo as useMemo3, useState as useState4 } from "react";
985
+
986
+ // src/classes/dm-layout.ts
987
+ var dmLayoutClass = "dm-layout";
988
+ var dmLayoutShellClass = "dm-layout-shell";
989
+ var dmLayoutMainClass = "dm-layout-main";
990
+ var dmLayoutSiderClass = "dm-layout-sider";
991
+ var dmLayoutBodyClass = "dm-layout-body";
992
+ var dmLayoutBreadcrumbClass = "dm-layout-breadcrumb";
993
+ var dmLayoutContentClass = "dm-layout-content";
994
+ var dmLayoutAuxiliaryClass = "dm-layout-auxiliary";
995
+ function getDmLayoutClasses({ className }) {
996
+ return cn(dmLayoutClass, className);
997
+ }
998
+
999
+ // src/components/dm-layout/DmLayout.tsx
1000
+ import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
1001
+ function getLabel(menu, locale) {
1002
+ return locale === "en-US" && menu.menuNameEn ? menu.menuNameEn : menu.menuName;
1003
+ }
1004
+ function getAllMenuUrls(menus = [], includeSubRoutes) {
1005
+ const urls = [];
1006
+ function visit(menu) {
1007
+ if (includeSubRoutes || !menu.subRouter) {
1008
+ urls.push(menu.menuUrl);
1009
+ }
1010
+ menu.children?.forEach(visit);
1011
+ }
1012
+ menus.forEach(visit);
1013
+ return urls;
1014
+ }
1015
+ function findBestPrefix(urls, selectedKey = "") {
1016
+ return urls.filter((url) => url && selectedKey.startsWith(url)).sort((a, b) => b.length - a.length)[0];
1017
+ }
1018
+ function findMenuPath(menus, key, path = []) {
1019
+ for (const menu of menus ?? []) {
1020
+ const nextPath = [...path, menu];
1021
+ if (menu.menuUrl === key)
1022
+ return nextPath;
1023
+ const childPath = findMenuPath(menu.children, key, nextPath);
1024
+ if (childPath)
1025
+ return childPath;
1026
+ }
1027
+ return;
1028
+ }
1029
+ function getOpenKeysFromPath(path) {
1030
+ return (path ?? []).slice(0, -1).filter((menu) => !menu.subRouter && menu.menuUrl).map((menu) => menu.menuUrl);
1031
+ }
1032
+ function getAllTopOpenKeys(menus = []) {
1033
+ return menus.filter((menu) => !menu.subRouter && menu.children?.length && menu.menuUrl).map((menu) => menu.menuUrl);
1034
+ }
1035
+ function breadcrumbFromPath({
1036
+ path,
1037
+ locale,
1038
+ onBreadcrumbClick
1039
+ }) {
1040
+ return (path ?? []).map((menu, index, all) => {
1041
+ const active = index === all.length - 1;
1042
+ return {
1043
+ title: getLabel(menu, locale),
1044
+ url: active ? undefined : menu.menuUrl,
1045
+ onClick: !active && menu.menuUrl && onBreadcrumbClick ? () => onBreadcrumbClick(menu.menuUrl) : undefined
1046
+ };
1047
+ });
1048
+ }
1049
+ function unique(keys) {
1050
+ return Array.from(new Set(keys.filter(Boolean)));
1051
+ }
1052
+ function deriveDmLayoutSelection({
1053
+ menus = [],
1054
+ selectedKey = "",
1055
+ openAllKeys,
1056
+ locale,
1057
+ onBreadcrumbClick
1058
+ }) {
1059
+ const selectedMenuKey = findBestPrefix(getAllMenuUrls(menus, false), selectedKey) ?? "";
1060
+ const selectedBreadcrumbKey = findBestPrefix(getAllMenuUrls(menus, true), selectedKey) ?? selectedMenuKey;
1061
+ const selectedMenuPath = findMenuPath(menus, selectedMenuKey);
1062
+ const selectedBreadcrumbPath = findMenuPath(menus, selectedBreadcrumbKey);
1063
+ const selectOpenKeys = getOpenKeysFromPath(selectedMenuPath);
1064
+ const openKeys = openAllKeys ? unique([...getAllTopOpenKeys(menus), ...selectOpenKeys]) : selectOpenKeys;
1065
+ const activeMenu = selectedBreadcrumbPath?.[selectedBreadcrumbPath.length - 1];
1066
+ return {
1067
+ selectedMenuKey,
1068
+ selectedBreadcrumbKey,
1069
+ openKeys,
1070
+ breadcrumbItems: breadcrumbFromPath({
1071
+ path: selectedBreadcrumbPath,
1072
+ locale,
1073
+ onBreadcrumbClick
1074
+ }),
1075
+ tips: activeMenu?.tipsEnabled && locale === "en-US" && activeMenu.tipsEn ? activeMenu.tipsEn : activeMenu?.tipsEnabled ? activeMenu.tips : undefined
1076
+ };
1077
+ }
1078
+ var DmLayout = forwardRef6(({
1079
+ menus = [],
1080
+ selectedKey = "",
1081
+ openAllKeys,
1082
+ collapsed,
1083
+ defaultCollapsed = false,
1084
+ hideProductHeader,
1085
+ productIcon,
1086
+ productTitle,
1087
+ breadcrumbItems,
1088
+ aheadBreadcrumbItems = [],
1089
+ behindBreadcrumbItems = [],
1090
+ tips,
1091
+ locale,
1092
+ menuProps,
1093
+ onCollapse,
1094
+ onMenuClick,
1095
+ onBreadcrumbClick,
1096
+ children,
1097
+ className,
1098
+ ...props
1099
+ }, ref) => {
1100
+ const collapsedControlled = collapsed !== undefined;
1101
+ const [internalCollapsed, setInternalCollapsed] = useState4(defaultCollapsed);
1102
+ const [manualOpenKeys, setManualOpenKeys] = useState4();
1103
+ const mergedCollapsed = collapsedControlled ? collapsed : internalCollapsed;
1104
+ const selection = useMemo3(() => deriveDmLayoutSelection({
1105
+ menus,
1106
+ selectedKey,
1107
+ openAllKeys,
1108
+ locale,
1109
+ onBreadcrumbClick
1110
+ }), [locale, menus, onBreadcrumbClick, openAllKeys, selectedKey]);
1111
+ const mergedBreadcrumbItems = breadcrumbItems ?? aheadBreadcrumbItems.concat(selection.breadcrumbItems).concat(behindBreadcrumbItems);
1112
+ const mergedTips = tips ?? selection.tips;
1113
+ useEffect2(() => {
1114
+ setManualOpenKeys(undefined);
1115
+ }, [menus, openAllKeys, selection.selectedMenuKey]);
1116
+ function handleCollapse() {
1117
+ const nextCollapsed = !mergedCollapsed;
1118
+ if (!collapsedControlled) {
1119
+ setInternalCollapsed(nextCollapsed);
1120
+ }
1121
+ onCollapse?.(nextCollapsed);
1122
+ }
1123
+ return /* @__PURE__ */ jsx6(Layout, {
1124
+ ...props,
1125
+ ref,
1126
+ hasSider: true,
1127
+ className: getDmLayoutClasses({ className }),
1128
+ children: /* @__PURE__ */ jsxs6(Layout, {
1129
+ className: dmLayoutShellClass,
1130
+ hasSider: true,
1131
+ children: [
1132
+ /* @__PURE__ */ jsx6(Layout.Sider, {
1133
+ className: dmLayoutSiderClass,
1134
+ collapsible: true,
1135
+ collapsed: mergedCollapsed,
1136
+ collapsedWidth: 60,
1137
+ width: 230,
1138
+ trigger: null,
1139
+ children: /* @__PURE__ */ jsx6(DmMenu, {
1140
+ ...menuProps,
1141
+ hideProductHeader,
1142
+ productTitle,
1143
+ productIcon,
1144
+ menus,
1145
+ selectedKeys: [selection.selectedMenuKey],
1146
+ openKeys: manualOpenKeys ?? selection.openKeys,
1147
+ inlineCollapsed: mergedCollapsed,
1148
+ locale,
1149
+ onCollapsed: handleCollapse,
1150
+ onOpenChange: setManualOpenKeys,
1151
+ onClick: (info) => onMenuClick?.(info.key, info.menu)
1152
+ })
1153
+ }),
1154
+ /* @__PURE__ */ jsxs6(Layout, {
1155
+ className: dmLayoutMainClass,
1156
+ children: [
1157
+ mergedBreadcrumbItems.length ? /* @__PURE__ */ jsx6("div", {
1158
+ className: dmLayoutBreadcrumbClass,
1159
+ children: /* @__PURE__ */ jsx6(DmBreadcrumb, {
1160
+ items: mergedBreadcrumbItems
1161
+ })
1162
+ }) : null,
1163
+ /* @__PURE__ */ jsxs6(Layout.Content, {
1164
+ className: dmLayoutBodyClass,
1165
+ children: [
1166
+ mergedTips ? /* @__PURE__ */ jsx6("div", {
1167
+ className: dmLayoutAuxiliaryClass,
1168
+ children: mergedTips
1169
+ }) : null,
1170
+ /* @__PURE__ */ jsx6("div", {
1171
+ className: dmLayoutContentClass,
1172
+ children
1173
+ })
1174
+ ]
1175
+ })
1176
+ ]
1177
+ })
1178
+ ]
1179
+ })
1180
+ });
1181
+ });
1182
+ DmLayout.displayName = "DmLayout";
1183
+ export {
1184
+ deriveDmLayoutSelection,
1185
+ DmLayout
1186
+ };