@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,109 @@
1
+ "use client";
2
+
3
+ // src/components/row/Row.tsx
4
+ import { 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/row.ts
32
+ var rowBaseClass = "row";
33
+ var rowNoWrapClass = "row-nowrap";
34
+ var rowAlignClasses = {
35
+ top: "row-align-top",
36
+ middle: "row-align-middle",
37
+ bottom: "row-align-bottom",
38
+ stretch: "row-align-stretch"
39
+ };
40
+ var rowJustifyClasses = {
41
+ start: "row-justify-start",
42
+ end: "row-justify-end",
43
+ center: "row-justify-center",
44
+ "space-around": "row-justify-space-around",
45
+ "space-between": "row-justify-space-between",
46
+ "space-evenly": "row-justify-space-evenly"
47
+ };
48
+ function getRowClasses({
49
+ align,
50
+ justify,
51
+ wrap = true,
52
+ className
53
+ }) {
54
+ return cn(rowBaseClass, align && rowAlignClasses[align], justify && rowJustifyClasses[justify], !wrap && rowNoWrapClass, className);
55
+ }
56
+
57
+ // src/components/row/Row.tsx
58
+ import { jsx } from "react/jsx-runtime";
59
+ var alignStyleMap = {
60
+ top: "flex-start",
61
+ middle: "center",
62
+ bottom: "flex-end",
63
+ stretch: "stretch"
64
+ };
65
+ var justifyStyleMap = {
66
+ start: "flex-start",
67
+ end: "flex-end",
68
+ center: "center",
69
+ "space-around": "space-around",
70
+ "space-between": "space-between",
71
+ "space-evenly": "space-evenly"
72
+ };
73
+ function resolveGutter(gutter) {
74
+ if (Array.isArray(gutter)) {
75
+ return gutter;
76
+ }
77
+ return [gutter ?? 0, 0];
78
+ }
79
+ var Row = forwardRef(({
80
+ align,
81
+ justify,
82
+ gutter,
83
+ wrap = true,
84
+ className,
85
+ style,
86
+ children,
87
+ ...props
88
+ }, ref) => {
89
+ const [horizontalGutter, verticalGutter] = resolveGutter(gutter);
90
+ return /* @__PURE__ */ jsx("div", {
91
+ ...props,
92
+ ref,
93
+ className: getRowClasses({ align, justify, wrap, className }),
94
+ style: {
95
+ display: "flex",
96
+ flexFlow: wrap ? "row wrap" : "row nowrap",
97
+ alignItems: align ? alignStyleMap[align] : undefined,
98
+ justifyContent: justify ? justifyStyleMap[justify] : undefined,
99
+ columnGap: horizontalGutter,
100
+ rowGap: verticalGutter,
101
+ ...style
102
+ },
103
+ children
104
+ });
105
+ });
106
+ Row.displayName = "Row";
107
+ export {
108
+ Row
109
+ };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import type { SegmentedProps } from "./Segmented.types";
3
+ export declare const Segmented: React.ForwardRefExoticComponent<Omit<SegmentedProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,20 @@
1
+ import type { ComponentProps, ReactNode } from "react";
2
+ export type SegmentedValue = string | number;
3
+ export type SegmentedSize = "sm" | "md" | "lg";
4
+ export interface SegmentedOptionObject {
5
+ label: ReactNode;
6
+ value: SegmentedValue;
7
+ icon?: ReactNode;
8
+ disabled?: boolean;
9
+ className?: string;
10
+ }
11
+ export type SegmentedOption = SegmentedValue | SegmentedOptionObject;
12
+ export interface SegmentedProps extends Omit<ComponentProps<"div">, "children" | "defaultValue" | "onChange"> {
13
+ options: SegmentedOption[];
14
+ value?: SegmentedValue;
15
+ defaultValue?: SegmentedValue;
16
+ onChange?: (value: SegmentedValue) => void;
17
+ disabled?: boolean;
18
+ block?: boolean;
19
+ size?: SegmentedSize;
20
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./Segmented";
2
+ export * from "./Segmented.types";
@@ -0,0 +1,130 @@
1
+ "use client";
2
+
3
+ // src/components/segmented/Segmented.tsx
4
+ import { forwardRef, useState } 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/segmented.ts
32
+ var segmentedBaseClass = "toggle-group";
33
+ var segmentedStyleClass = "toggle-segmented";
34
+ var segmentedFullClass = "toggle-group-full";
35
+ var segmentedItemBaseClass = "toggle-btn";
36
+ var segmentedItemActiveClass = "toggle-btn-active";
37
+ var segmentedItemDisabledClass = "toggle-btn-disabled";
38
+ var segmentedIconClass = "toggle-icon";
39
+ var segmentedSizeClasses = {
40
+ sm: "toggle-btn-sm",
41
+ md: "",
42
+ lg: "toggle-btn-lg"
43
+ };
44
+ function getSegmentedClasses({
45
+ block,
46
+ className
47
+ }) {
48
+ return cn(segmentedBaseClass, segmentedStyleClass, block && segmentedFullClass, className);
49
+ }
50
+ function getSegmentedItemClasses({
51
+ size = "md",
52
+ active,
53
+ disabled,
54
+ className
55
+ }) {
56
+ return cn(segmentedItemBaseClass, segmentedSizeClasses[size], active && segmentedItemActiveClass, disabled && segmentedItemDisabledClass, className);
57
+ }
58
+
59
+ // src/components/segmented/Segmented.tsx
60
+ import { jsx, jsxs } from "react/jsx-runtime";
61
+ function normalizeOption(option) {
62
+ if (typeof option === "object" && option !== null && "value" in option) {
63
+ return option;
64
+ }
65
+ return {
66
+ label: option,
67
+ value: option
68
+ };
69
+ }
70
+ var Segmented = forwardRef(({
71
+ options,
72
+ value,
73
+ defaultValue,
74
+ onChange,
75
+ disabled,
76
+ block,
77
+ size = "md",
78
+ className,
79
+ ...props
80
+ }, ref) => {
81
+ const normalizedOptions = options.map(normalizeOption);
82
+ const initialValue = defaultValue ?? normalizedOptions.find((option) => !option.disabled)?.value;
83
+ const [internalValue, setInternalValue] = useState(initialValue);
84
+ const isControlled = value !== undefined;
85
+ const currentValue = isControlled ? value : internalValue;
86
+ function selectOption(option) {
87
+ if (disabled || option.disabled || option.value === currentValue) {
88
+ return;
89
+ }
90
+ if (!isControlled) {
91
+ setInternalValue(option.value);
92
+ }
93
+ onChange?.(option.value);
94
+ }
95
+ return /* @__PURE__ */ jsx("div", {
96
+ ...props,
97
+ ref,
98
+ role: "radiogroup",
99
+ "aria-disabled": disabled || undefined,
100
+ className: getSegmentedClasses({ block, className }),
101
+ children: normalizedOptions.map((option) => {
102
+ const active = option.value === currentValue;
103
+ const itemDisabled = disabled || option.disabled;
104
+ return /* @__PURE__ */ jsxs("button", {
105
+ type: "button",
106
+ role: "radio",
107
+ "aria-checked": active,
108
+ disabled: itemDisabled,
109
+ className: getSegmentedItemClasses({
110
+ size,
111
+ active,
112
+ disabled: itemDisabled,
113
+ className: option.className
114
+ }),
115
+ onClick: () => selectOption(option),
116
+ children: [
117
+ option.icon ? /* @__PURE__ */ jsx("span", {
118
+ className: segmentedIconClass,
119
+ children: option.icon
120
+ }) : null,
121
+ option.label
122
+ ]
123
+ }, String(option.value));
124
+ })
125
+ });
126
+ });
127
+ Segmented.displayName = "Segmented";
128
+ export {
129
+ Segmented
130
+ };
@@ -0,0 +1,2 @@
1
+ import type { SelectComponent } from "./Select.types";
2
+ export declare const Select: SelectComponent;
@@ -0,0 +1,47 @@
1
+ import type { ComponentProps, ForwardRefExoticComponent, ReactNode, RefAttributes } from "react";
2
+ export type SelectValue = string | number;
3
+ export type SelectMode = "multiple" | "tags";
4
+ export type SelectSize = "sm" | "md" | "lg";
5
+ export type SelectStatus = "error" | "success";
6
+ export interface SelectOptionType {
7
+ label?: ReactNode;
8
+ value: SelectValue;
9
+ disabled?: boolean;
10
+ className?: string;
11
+ }
12
+ export interface SelectOptGroupType {
13
+ label?: ReactNode;
14
+ options: SelectOptionType[];
15
+ className?: string;
16
+ }
17
+ export type SelectOptionInput = SelectOptionType | SelectOptGroupType;
18
+ export type SelectChangeValue = SelectValue | SelectValue[] | undefined;
19
+ export interface SelectProps extends Omit<ComponentProps<"div">, "children" | "defaultValue" | "onChange"> {
20
+ allowClear?: boolean;
21
+ children?: ReactNode;
22
+ defaultValue?: SelectChangeValue;
23
+ disabled?: boolean;
24
+ filterOption?: boolean | ((inputValue: string, option: SelectOptionType) => boolean);
25
+ loading?: boolean;
26
+ mode?: SelectMode;
27
+ onChange?: (value: SelectChangeValue, option?: SelectOptionType | SelectOptionType[]) => void;
28
+ options?: SelectOptionInput[];
29
+ placeholder?: ReactNode;
30
+ showSearch?: boolean;
31
+ size?: SelectSize;
32
+ status?: SelectStatus;
33
+ value?: SelectChangeValue;
34
+ }
35
+ export interface SelectOptionProps extends Omit<ComponentProps<"div">, "children"> {
36
+ children?: ReactNode;
37
+ disabled?: boolean;
38
+ value: SelectValue;
39
+ }
40
+ export interface SelectOptGroupProps extends Omit<ComponentProps<"div">, "children"> {
41
+ children?: ReactNode;
42
+ label?: ReactNode;
43
+ }
44
+ export type SelectComponent = ForwardRefExoticComponent<SelectProps & RefAttributes<HTMLDivElement>> & {
45
+ Option: ForwardRefExoticComponent<SelectOptionProps & RefAttributes<HTMLDivElement>>;
46
+ OptGroup: ForwardRefExoticComponent<SelectOptGroupProps & RefAttributes<HTMLDivElement>>;
47
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./Select";
2
+ export * from "./Select.types";
@@ -0,0 +1,361 @@
1
+ "use client";
2
+
3
+ // src/components/select/Select.tsx
4
+ import React, { forwardRef, useMemo, useState } 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/select.ts
32
+ var selectContainerClass = "select-container";
33
+ var selectBaseClass = "select";
34
+ var selectIconClass = "select-icon";
35
+ var selectOpenClass = "select-open";
36
+ var selectLoadingClass = "select-loading";
37
+ var selectFullClass = "select-full";
38
+ var selectOptionClass = "select-option";
39
+ var selectOptionSelectedClass = "select-option-selected";
40
+ var selectOptionDisabledClass = "select-option-disabled";
41
+ var selectDropdownClass = "select-dropdown";
42
+ var selectSearchClass = "select-search";
43
+ var selectSelectionClass = "select-selection";
44
+ var selectTagClass = "select-tag";
45
+ var selectClearClass = "select-clear";
46
+ var selectPlaceholderClass = "select-placeholder";
47
+ var selectEmptyClass = "select-empty";
48
+ var selectGroupClass = "select-group";
49
+ var selectGroupLabelClass = "select-group-label";
50
+ var selectSizeClasses = {
51
+ sm: "select-sm",
52
+ md: "",
53
+ lg: "select-lg"
54
+ };
55
+ var selectStatusClasses = {
56
+ error: "select-error",
57
+ success: "select-success"
58
+ };
59
+ function getSelectContainerClasses({
60
+ open,
61
+ loading,
62
+ disabled,
63
+ full,
64
+ className
65
+ }) {
66
+ return cn(selectContainerClass, open && selectOpenClass, loading && selectLoadingClass, disabled && "select-disabled", full && selectFullClass, className);
67
+ }
68
+ function getSelectClasses({
69
+ size = "md",
70
+ status,
71
+ disabled,
72
+ className
73
+ }) {
74
+ return cn(selectBaseClass, selectSizeClasses[size], status && selectStatusClasses[status], disabled && "select-disabled", className);
75
+ }
76
+ function getSelectOptionClasses({
77
+ selected,
78
+ disabled,
79
+ className
80
+ }) {
81
+ return cn(selectOptionClass, selected && selectOptionSelectedClass, disabled && selectOptionDisabledClass, className);
82
+ }
83
+
84
+ // src/components/select/Select.tsx
85
+ import { jsx, jsxs } from "react/jsx-runtime";
86
+ function isGroup(option) {
87
+ return "options" in option;
88
+ }
89
+ function optionLabel(option) {
90
+ return option.label ?? option.value;
91
+ }
92
+ function valueKey(value) {
93
+ return String(value);
94
+ }
95
+ function normalizeSingleValue(value) {
96
+ if (Array.isArray(value)) {
97
+ return value[0];
98
+ }
99
+ return typeof value === "string" || typeof value === "number" ? value : undefined;
100
+ }
101
+ function normalizeMultiValue(value) {
102
+ if (Array.isArray(value)) {
103
+ return value.filter((item) => typeof item === "string" || typeof item === "number");
104
+ }
105
+ const single = normalizeSingleValue(value);
106
+ return single === undefined ? [] : [single];
107
+ }
108
+ function optionsFromChildren(children) {
109
+ const result = [];
110
+ React.Children.forEach(children, (child) => {
111
+ if (!React.isValidElement(child)) {
112
+ return;
113
+ }
114
+ if (child.type === Option) {
115
+ const props = child.props;
116
+ result.push({
117
+ value: props.value,
118
+ label: props.children,
119
+ disabled: props.disabled,
120
+ className: props.className
121
+ });
122
+ return;
123
+ }
124
+ if (child.type === OptGroup) {
125
+ const props = child.props;
126
+ result.push({
127
+ label: props.label,
128
+ className: props.className,
129
+ options: optionsFromChildren(props.children).filter((option) => !isGroup(option))
130
+ });
131
+ }
132
+ });
133
+ return result;
134
+ }
135
+ function flattenOptions(options) {
136
+ return options.flatMap((option) => isGroup(option) ? option.options : option);
137
+ }
138
+ function matchesOption(option, searchValue, filterOption) {
139
+ if (!searchValue || filterOption === false) {
140
+ return true;
141
+ }
142
+ if (typeof filterOption === "function") {
143
+ return filterOption(searchValue, option);
144
+ }
145
+ const label = optionLabel(option);
146
+ const text = typeof label === "string" || typeof label === "number" ? String(label) : String(option.value);
147
+ return text.toLowerCase().includes(searchValue.toLowerCase());
148
+ }
149
+ function filterOptions(options, searchValue, filterOption) {
150
+ return options.map((option) => {
151
+ if (!isGroup(option)) {
152
+ return matchesOption(option, searchValue, filterOption) ? option : null;
153
+ }
154
+ const groupOptions = option.options.filter((child) => matchesOption(child, searchValue, filterOption));
155
+ return groupOptions.length > 0 ? { ...option, options: groupOptions } : null;
156
+ }).filter((option) => option !== null);
157
+ }
158
+ function renderValue(option) {
159
+ return option ? optionLabel(option) : null;
160
+ }
161
+ var Option = forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsx("div", {
162
+ ...props,
163
+ ref,
164
+ children
165
+ }));
166
+ Option.displayName = "Select.Option";
167
+ var OptGroup = forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsx("div", {
168
+ ...props,
169
+ ref,
170
+ children
171
+ }));
172
+ OptGroup.displayName = "Select.OptGroup";
173
+ var SelectRoot = forwardRef(({
174
+ allowClear,
175
+ children,
176
+ className,
177
+ defaultValue,
178
+ disabled,
179
+ filterOption,
180
+ loading,
181
+ mode,
182
+ onChange,
183
+ options,
184
+ placeholder,
185
+ showSearch,
186
+ size = "md",
187
+ status,
188
+ value,
189
+ ...props
190
+ }, ref) => {
191
+ const multiple = mode === "multiple" || mode === "tags";
192
+ const sourceOptions = useMemo(() => options ?? optionsFromChildren(children), [children, options]);
193
+ const flatOptions = useMemo(() => flattenOptions(sourceOptions), [sourceOptions]);
194
+ const [open, setOpen] = useState(false);
195
+ const [searchValue, setSearchValue] = useState("");
196
+ const [internalValue, setInternalValue] = useState(multiple ? normalizeMultiValue(defaultValue) : normalizeSingleValue(defaultValue));
197
+ const controlled = value !== undefined;
198
+ const currentValue = controlled ? value : internalValue;
199
+ const selectedValues = multiple ? normalizeMultiValue(currentValue) : normalizeSingleValue(currentValue) === undefined ? [] : [normalizeSingleValue(currentValue)];
200
+ const selectedKeys = new Set(selectedValues.map(valueKey));
201
+ const selectedOptions = selectedValues.map((selectedValue) => flatOptions.find((option) => option.value === selectedValue) ?? {
202
+ value: selectedValue,
203
+ label: selectedValue
204
+ });
205
+ const visibleOptions = filterOptions(sourceOptions, searchValue, filterOption);
206
+ const hasValue = selectedValues.length > 0;
207
+ const searchable = showSearch || mode === "tags";
208
+ function emitChange(nextValue) {
209
+ if (!controlled) {
210
+ setInternalValue(nextValue);
211
+ }
212
+ const nextValues = Array.isArray(nextValue) ? nextValue : nextValue === undefined ? [] : [nextValue];
213
+ const nextOptions = nextValues.map((next) => flatOptions.find((option) => option.value === next) ?? {
214
+ value: next,
215
+ label: next
216
+ });
217
+ onChange?.(nextValue, multiple ? nextOptions : nextOptions[0]);
218
+ }
219
+ function selectOption(option) {
220
+ if (disabled || loading || option.disabled) {
221
+ return;
222
+ }
223
+ if (multiple) {
224
+ const optionKey = valueKey(option.value);
225
+ const nextValues = selectedKeys.has(optionKey) ? selectedValues.filter((item) => valueKey(item) !== optionKey) : [...selectedValues, option.value];
226
+ emitChange(nextValues);
227
+ } else {
228
+ emitChange(option.value);
229
+ setOpen(false);
230
+ }
231
+ setSearchValue("");
232
+ }
233
+ function clearValue(event) {
234
+ event.stopPropagation();
235
+ if (disabled || loading) {
236
+ return;
237
+ }
238
+ emitChange(multiple ? [] : undefined);
239
+ setSearchValue("");
240
+ }
241
+ function addTag() {
242
+ const tag = searchValue.trim();
243
+ if (mode !== "tags" || tag.length === 0) {
244
+ return;
245
+ }
246
+ if (!selectedKeys.has(tag)) {
247
+ emitChange([...selectedValues, tag]);
248
+ }
249
+ setSearchValue("");
250
+ }
251
+ function renderOption(option) {
252
+ const selected = selectedKeys.has(valueKey(option.value));
253
+ return /* @__PURE__ */ jsx("button", {
254
+ type: "button",
255
+ role: "option",
256
+ "aria-selected": selected,
257
+ disabled: disabled || option.disabled,
258
+ className: getSelectOptionClasses({
259
+ selected,
260
+ disabled: disabled || option.disabled,
261
+ className: option.className
262
+ }),
263
+ onClick: () => selectOption(option),
264
+ children: optionLabel(option)
265
+ }, valueKey(option.value));
266
+ }
267
+ function renderOptions(optionItems) {
268
+ return optionItems.map((option, index) => {
269
+ if (!isGroup(option)) {
270
+ return renderOption(option);
271
+ }
272
+ return /* @__PURE__ */ jsxs("div", {
273
+ className: cn(selectGroupClass, option.className),
274
+ role: "group",
275
+ children: [
276
+ /* @__PURE__ */ jsx("div", {
277
+ className: selectGroupLabelClass,
278
+ children: option.label
279
+ }),
280
+ option.options.map(renderOption)
281
+ ]
282
+ }, `group-${index}`);
283
+ });
284
+ }
285
+ const selection = multiple ? selectedOptions.map((option) => /* @__PURE__ */ jsx("span", {
286
+ className: selectTagClass,
287
+ children: renderValue(option)
288
+ }, valueKey(option.value))) : renderValue(selectedOptions[0]);
289
+ return /* @__PURE__ */ jsxs("div", {
290
+ ...props,
291
+ ref,
292
+ className: getSelectContainerClasses({
293
+ open,
294
+ loading,
295
+ disabled,
296
+ full: true,
297
+ className
298
+ }),
299
+ children: [
300
+ /* @__PURE__ */ jsxs("button", {
301
+ type: "button",
302
+ className: getSelectClasses({ size, status, disabled }),
303
+ disabled: disabled || loading,
304
+ "aria-haspopup": "listbox",
305
+ "aria-expanded": open,
306
+ onClick: () => setOpen((current) => !current),
307
+ children: [
308
+ /* @__PURE__ */ jsx("span", {
309
+ className: selectSelectionClass,
310
+ children: hasValue ? selection : /* @__PURE__ */ jsx("span", {
311
+ className: selectPlaceholderClass,
312
+ children: placeholder
313
+ })
314
+ }),
315
+ /* @__PURE__ */ jsx("span", {
316
+ className: selectIconClass,
317
+ "aria-hidden": "true",
318
+ children: "v"
319
+ })
320
+ ]
321
+ }),
322
+ allowClear && hasValue && !disabled && !loading ? /* @__PURE__ */ jsx("button", {
323
+ type: "button",
324
+ className: selectClearClass,
325
+ "aria-label": "Clear selection",
326
+ onClick: clearValue,
327
+ children: "x"
328
+ }) : null,
329
+ open ? /* @__PURE__ */ jsxs("div", {
330
+ className: selectDropdownClass,
331
+ role: "listbox",
332
+ "aria-multiselectable": multiple || undefined,
333
+ children: [
334
+ searchable ? /* @__PURE__ */ jsx("input", {
335
+ className: selectSearchClass,
336
+ value: searchValue,
337
+ placeholder: typeof placeholder === "string" ? placeholder : undefined,
338
+ onChange: (event) => setSearchValue(event.currentTarget.value),
339
+ onKeyDown: (event) => {
340
+ if (event.key === "Enter") {
341
+ event.preventDefault();
342
+ addTag();
343
+ }
344
+ }
345
+ }) : null,
346
+ visibleOptions.length > 0 ? renderOptions(visibleOptions) : /* @__PURE__ */ jsx("div", {
347
+ className: selectEmptyClass,
348
+ children: "No data"
349
+ })
350
+ ]
351
+ }) : null
352
+ ]
353
+ });
354
+ });
355
+ SelectRoot.displayName = "Select";
356
+ var Select = SelectRoot;
357
+ Select.Option = Option;
358
+ Select.OptGroup = OptGroup;
359
+ export {
360
+ Select
361
+ };