@jbpark/ui-kit 10.2.0 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. package/README.ko.md +97 -76
  2. package/README.md +91 -70
  3. package/dist/Alert.d.mts +2 -2
  4. package/dist/Alert.d.mts.map +1 -1
  5. package/dist/Alert.mjs +1 -1
  6. package/dist/Anchor.d.mts +29 -0
  7. package/dist/Anchor.d.mts.map +1 -0
  8. package/dist/Anchor.mjs +120 -0
  9. package/dist/Anchor.mjs.map +1 -0
  10. package/dist/AutoComplete.d.mts +34 -0
  11. package/dist/AutoComplete.d.mts.map +1 -0
  12. package/dist/AutoComplete.mjs +82 -0
  13. package/dist/AutoComplete.mjs.map +1 -0
  14. package/dist/Avatar.d.mts +2 -2
  15. package/dist/Avatar.d.mts.map +1 -1
  16. package/dist/Avatar.mjs +2 -2
  17. package/dist/Badge.d.mts +2 -2
  18. package/dist/Badge.d.mts.map +1 -1
  19. package/dist/Breadcrumb.d.mts +3 -3
  20. package/dist/Breadcrumb.d.mts.map +1 -1
  21. package/dist/Breadcrumb.mjs +2 -2
  22. package/dist/Breadcrumb.mjs.map +1 -1
  23. package/dist/Button.d.mts +3 -3
  24. package/dist/Button.d.mts.map +1 -1
  25. package/dist/Button.mjs +1 -1
  26. package/dist/Calendar.d.mts +28 -0
  27. package/dist/Calendar.d.mts.map +1 -0
  28. package/dist/Calendar.mjs +64 -0
  29. package/dist/Calendar.mjs.map +1 -0
  30. package/dist/Card.d.mts +2 -2
  31. package/dist/Card.d.mts.map +1 -1
  32. package/dist/Cascader.d.mts +34 -0
  33. package/dist/Cascader.d.mts.map +1 -0
  34. package/dist/Cascader.mjs +144 -0
  35. package/dist/Cascader.mjs.map +1 -0
  36. package/dist/Checkbox.d.mts +10 -0
  37. package/dist/Checkbox.d.mts.map +1 -0
  38. package/dist/Checkbox.mjs +9 -0
  39. package/dist/Checkbox.mjs.map +1 -0
  40. package/dist/CodeEditor.d.mts +10 -4
  41. package/dist/CodeEditor.d.mts.map +1 -1
  42. package/dist/CodeEditor.mjs +9 -4
  43. package/dist/CodeEditor.mjs.map +1 -1
  44. package/dist/{components/molecules/collapse.d.mts → Collapse.d.mts} +3 -3
  45. package/dist/Collapse.d.mts.map +1 -0
  46. package/dist/{components/molecules/collapse.mjs → Collapse.mjs} +3 -3
  47. package/dist/Collapse.mjs.map +1 -0
  48. package/dist/{components/atoms/color-picker.d.mts → ColorPicker.d.mts} +3 -3
  49. package/dist/ColorPicker.d.mts.map +1 -0
  50. package/dist/{components/atoms/color-picker.mjs → ColorPicker.mjs} +3 -3
  51. package/dist/ColorPicker.mjs.map +1 -0
  52. package/dist/{components/templates/container.d.mts → Container.d.mts} +3 -3
  53. package/dist/Container.d.mts.map +1 -0
  54. package/dist/{components/templates/container.mjs → Container.mjs} +2 -2
  55. package/dist/Container.mjs.map +1 -0
  56. package/dist/ContextMenu.d.mts +33 -0
  57. package/dist/ContextMenu.d.mts.map +1 -0
  58. package/dist/ContextMenu.mjs +92 -0
  59. package/dist/ContextMenu.mjs.map +1 -0
  60. package/dist/{components/atoms/date-picker.d.mts → DatePicker.d.mts} +6 -2
  61. package/dist/DatePicker.d.mts.map +1 -0
  62. package/dist/DatePicker.mjs +88 -0
  63. package/dist/DatePicker.mjs.map +1 -0
  64. package/dist/Descriptions.d.mts +31 -0
  65. package/dist/Descriptions.d.mts.map +1 -0
  66. package/dist/Descriptions.mjs +67 -0
  67. package/dist/Descriptions.mjs.map +1 -0
  68. package/dist/Divider.d.mts +18 -0
  69. package/dist/Divider.d.mts.map +1 -0
  70. package/dist/Divider.mjs +44 -0
  71. package/dist/Divider.mjs.map +1 -0
  72. package/dist/{components/organisms/drawer.d.mts → Drawer.d.mts} +3 -3
  73. package/dist/Drawer.d.mts.map +1 -0
  74. package/dist/{components/organisms/drawer.mjs → Drawer.mjs} +6 -6
  75. package/dist/Drawer.mjs.map +1 -0
  76. package/dist/{components/molecules/dropdown.d.mts → Dropdown.d.mts} +4 -4
  77. package/dist/Dropdown.d.mts.map +1 -0
  78. package/dist/{components/molecules/dropdown.mjs → Dropdown.mjs} +4 -4
  79. package/dist/Dropdown.mjs.map +1 -0
  80. package/dist/{components/templates/empty.d.mts → Empty.d.mts} +4 -4
  81. package/dist/Empty.d.mts.map +1 -0
  82. package/dist/{components/templates/empty.mjs → Empty.mjs} +4 -4
  83. package/dist/Empty.mjs.map +1 -0
  84. package/dist/FloatButton.d.mts +10 -0
  85. package/dist/FloatButton.d.mts.map +1 -0
  86. package/dist/FloatButton.mjs +9 -0
  87. package/dist/FloatButton.mjs.map +1 -0
  88. package/dist/Form.d.mts +12 -0
  89. package/dist/Form.d.mts.map +1 -0
  90. package/dist/Form.mjs +11 -0
  91. package/dist/Form.mjs.map +1 -0
  92. package/dist/Input.d.mts +16 -0
  93. package/dist/Input.d.mts.map +1 -0
  94. package/dist/Input.mjs +15 -0
  95. package/dist/Input.mjs.map +1 -0
  96. package/dist/Layout.d.mts.map +1 -1
  97. package/dist/{components/organisms/list/index.d.mts → List.d.mts} +3 -3
  98. package/dist/List.d.mts.map +1 -0
  99. package/dist/List.mjs +9 -0
  100. package/dist/List.mjs.map +1 -0
  101. package/dist/Marquees.d.mts +10 -0
  102. package/dist/Marquees.d.mts.map +1 -0
  103. package/dist/Marquees.mjs +9 -0
  104. package/dist/Marquees.mjs.map +1 -0
  105. package/dist/Mentions.d.mts +34 -0
  106. package/dist/Mentions.d.mts.map +1 -0
  107. package/dist/Mentions.mjs +208 -0
  108. package/dist/Mentions.mjs.map +1 -0
  109. package/dist/Menu.mjs +1 -2
  110. package/dist/{components/organisms/modal.d.mts → Modal.d.mts} +7 -4
  111. package/dist/Modal.d.mts.map +1 -0
  112. package/dist/{components/organisms/modal.mjs → Modal.mjs} +30 -23
  113. package/dist/Modal.mjs.map +1 -0
  114. package/dist/{components/templates/page-header.d.mts → PageHeader.d.mts} +3 -3
  115. package/dist/PageHeader.d.mts.map +1 -0
  116. package/dist/{components/templates/page-header.mjs → PageHeader.mjs} +5 -5
  117. package/dist/PageHeader.mjs.map +1 -0
  118. package/dist/Pagination.d.mts +2 -2
  119. package/dist/Pagination.d.mts.map +1 -1
  120. package/dist/Pagination.mjs +3 -3
  121. package/dist/Popconfirm.d.mts +33 -0
  122. package/dist/Popconfirm.d.mts.map +1 -0
  123. package/dist/Popconfirm.mjs +119 -0
  124. package/dist/Popconfirm.mjs.map +1 -0
  125. package/dist/{components/atoms/popover.d.mts → Popover.d.mts} +3 -3
  126. package/dist/Popover.d.mts.map +1 -0
  127. package/dist/{components/atoms/popover.mjs → Popover.mjs} +4 -4
  128. package/dist/Popover.mjs.map +1 -0
  129. package/dist/{components/atoms/progress.d.mts → Progress.d.mts} +3 -3
  130. package/dist/Progress.d.mts.map +1 -0
  131. package/dist/{components/atoms/progress.mjs → Progress.mjs} +3 -3
  132. package/dist/Progress.mjs.map +1 -0
  133. package/dist/Radio.d.mts +10 -0
  134. package/dist/Radio.d.mts.map +1 -0
  135. package/dist/Radio.mjs +9 -0
  136. package/dist/Radio.mjs.map +1 -0
  137. package/dist/Rate.d.mts +27 -0
  138. package/dist/Rate.d.mts.map +1 -0
  139. package/dist/Rate.mjs +81 -0
  140. package/dist/Rate.mjs.map +1 -0
  141. package/dist/{components/templates/result.d.mts → Result.d.mts} +3 -3
  142. package/dist/Result.d.mts.map +1 -0
  143. package/dist/{components/templates/result.mjs → Result.mjs} +3 -3
  144. package/dist/Result.mjs.map +1 -0
  145. package/dist/Reveals.d.mts.map +1 -1
  146. package/dist/RichTextEditor.d.mts +3 -0
  147. package/dist/RichTextEditor.mjs +1 -0
  148. package/dist/ScrollArea.d.mts +8 -0
  149. package/dist/ScrollArea.d.mts.map +1 -0
  150. package/dist/ScrollArea.mjs +11 -0
  151. package/dist/ScrollArea.mjs.map +1 -0
  152. package/dist/Segmented.d.mts +3 -3
  153. package/dist/Segmented.d.mts.map +1 -1
  154. package/dist/{components/atoms/select.d.mts → Select.d.mts} +7 -7
  155. package/dist/Select.d.mts.map +1 -0
  156. package/dist/{components/atoms/select.mjs → Select.mjs} +5 -5
  157. package/dist/Select.mjs.map +1 -0
  158. package/dist/Skeleton.d.mts +12 -0
  159. package/dist/Skeleton.d.mts.map +1 -0
  160. package/dist/Skeleton.mjs +11 -0
  161. package/dist/Skeleton.mjs.map +1 -0
  162. package/dist/Slider.d.mts +2 -0
  163. package/dist/{components/atoms/slider/index.mjs → Slider.mjs} +2 -2
  164. package/dist/Slider.mjs.map +1 -0
  165. package/dist/Space.d.mts +5 -4
  166. package/dist/Space.d.mts.map +1 -1
  167. package/dist/Space.mjs +13 -4
  168. package/dist/Space.mjs.map +1 -1
  169. package/dist/{components/atoms/spin.d.mts → Spin.d.mts} +3 -3
  170. package/dist/Spin.d.mts.map +1 -0
  171. package/dist/{components/atoms/spin.mjs → Spin.mjs} +4 -4
  172. package/dist/Spin.mjs.map +1 -0
  173. package/dist/Splitter.d.mts +10 -0
  174. package/dist/Splitter.d.mts.map +1 -0
  175. package/dist/Splitter.mjs +9 -0
  176. package/dist/Splitter.mjs.map +1 -0
  177. package/dist/Statistic.d.mts +22 -0
  178. package/dist/Statistic.d.mts.map +1 -0
  179. package/dist/Statistic.mjs +53 -0
  180. package/dist/Statistic.mjs.map +1 -0
  181. package/dist/Steps.d.mts +3 -3
  182. package/dist/Steps.d.mts.map +1 -1
  183. package/dist/Steps.mjs +1 -1
  184. package/dist/Swiper.d.mts +10 -0
  185. package/dist/Swiper.d.mts.map +1 -0
  186. package/dist/Swiper.mjs +9 -0
  187. package/dist/Swiper.mjs.map +1 -0
  188. package/dist/{components/atoms/switch.d.mts → Switch.d.mts} +4 -4
  189. package/dist/Switch.d.mts.map +1 -0
  190. package/dist/{components/atoms/switch.mjs → Switch.mjs} +4 -4
  191. package/dist/Switch.mjs.map +1 -0
  192. package/dist/Table.d.mts +4 -4
  193. package/dist/Table.d.mts.map +1 -1
  194. package/dist/Table.mjs +2 -2
  195. package/dist/Table.mjs.map +1 -1
  196. package/dist/{components/molecules/tabs.d.mts → Tabs.d.mts} +6 -6
  197. package/dist/Tabs.d.mts.map +1 -0
  198. package/dist/{components/molecules/tabs.mjs → Tabs.mjs} +3 -3
  199. package/dist/Tabs.mjs.map +1 -0
  200. package/dist/Tag.d.mts +3 -3
  201. package/dist/Tag.d.mts.map +1 -1
  202. package/dist/TimePicker.d.mts +26 -0
  203. package/dist/TimePicker.d.mts.map +1 -0
  204. package/dist/TimePicker.mjs +77 -0
  205. package/dist/TimePicker.mjs.map +1 -0
  206. package/dist/Timeline.d.mts +35 -0
  207. package/dist/Timeline.d.mts.map +1 -0
  208. package/dist/Timeline.mjs +59 -0
  209. package/dist/Timeline.mjs.map +1 -0
  210. package/dist/{components/organisms/toast.d.mts → Toast.d.mts} +14 -4
  211. package/dist/Toast.d.mts.map +1 -0
  212. package/dist/Toast.mjs +198 -0
  213. package/dist/Toast.mjs.map +1 -0
  214. package/dist/ToggleGroup.d.mts +28 -0
  215. package/dist/ToggleGroup.d.mts.map +1 -0
  216. package/dist/ToggleGroup.mjs +58 -0
  217. package/dist/ToggleGroup.mjs.map +1 -0
  218. package/dist/{components/atoms/tooltip.d.mts → Tooltip.d.mts} +3 -3
  219. package/dist/Tooltip.d.mts.map +1 -0
  220. package/dist/{components/atoms/tooltip.mjs → Tooltip.mjs} +2 -2
  221. package/dist/Tooltip.mjs.map +1 -0
  222. package/dist/Tour.d.mts +37 -0
  223. package/dist/Tour.d.mts.map +1 -0
  224. package/dist/Tour.mjs +175 -0
  225. package/dist/Tour.mjs.map +1 -0
  226. package/dist/Transfer.d.mts +36 -0
  227. package/dist/Transfer.d.mts.map +1 -0
  228. package/dist/Transfer.mjs +147 -0
  229. package/dist/Transfer.mjs.map +1 -0
  230. package/dist/Tree.d.mts +62 -0
  231. package/dist/Tree.d.mts.map +1 -0
  232. package/dist/Tree.mjs +462 -0
  233. package/dist/Tree.mjs.map +1 -0
  234. package/dist/TreeSelect.d.mts +34 -0
  235. package/dist/TreeSelect.d.mts.map +1 -0
  236. package/dist/TreeSelect.mjs +135 -0
  237. package/dist/TreeSelect.mjs.map +1 -0
  238. package/dist/Typography.d.mts.map +1 -1
  239. package/dist/{components/molecules/upload.d.mts → Upload.d.mts} +4 -4
  240. package/dist/Upload.d.mts.map +1 -0
  241. package/dist/{components/molecules/upload.mjs → Upload.mjs} +7 -7
  242. package/dist/Upload.mjs.map +1 -0
  243. package/dist/components/atoms/checkbox/checkbox.d.mts +5 -3
  244. package/dist/components/atoms/checkbox/checkbox.d.mts.map +1 -1
  245. package/dist/components/atoms/checkbox/checkbox.mjs +8 -4
  246. package/dist/components/atoms/checkbox/checkbox.mjs.map +1 -1
  247. package/dist/components/atoms/checkbox/group.d.mts +2 -2
  248. package/dist/components/atoms/checkbox/group.d.mts.map +1 -1
  249. package/dist/components/atoms/float-button/back-top.d.mts +2 -2
  250. package/dist/components/atoms/float-button/back-top.d.mts.map +1 -1
  251. package/dist/components/atoms/float-button/back-top.mjs +1 -1
  252. package/dist/components/atoms/float-button/float-button.d.mts +2 -2
  253. package/dist/components/atoms/float-button/float-button.d.mts.map +1 -1
  254. package/dist/components/atoms/index.d.mts +37 -23
  255. package/dist/components/atoms/input/input.d.mts +2 -1
  256. package/dist/components/atoms/input/input.d.mts.map +1 -1
  257. package/dist/components/atoms/input/input.mjs.map +1 -1
  258. package/dist/components/atoms/input/number.d.mts +2 -2
  259. package/dist/components/atoms/input/number.d.mts.map +1 -1
  260. package/dist/components/atoms/input/number.mjs +1 -1
  261. package/dist/components/atoms/input/otp.d.mts +26 -0
  262. package/dist/components/atoms/input/otp.d.mts.map +1 -0
  263. package/dist/components/atoms/input/otp.mjs +52 -0
  264. package/dist/components/atoms/input/otp.mjs.map +1 -0
  265. package/dist/components/atoms/input/search.d.mts +2 -2
  266. package/dist/components/atoms/input/search.d.mts.map +1 -1
  267. package/dist/components/atoms/input/search.mjs +2 -2
  268. package/dist/components/atoms/mentions-token.mjs +31 -0
  269. package/dist/components/atoms/mentions-token.mjs.map +1 -0
  270. package/dist/components/atoms/option-group.d.mts +4 -5
  271. package/dist/components/atoms/option-group.d.mts.map +1 -1
  272. package/dist/components/atoms/radio/group.d.mts +2 -2
  273. package/dist/components/atoms/radio/group.d.mts.map +1 -1
  274. package/dist/components/atoms/radio/group.mjs +1 -1
  275. package/dist/components/atoms/radio/radio.d.mts +2 -2
  276. package/dist/components/atoms/radio/radio.d.mts.map +1 -1
  277. package/dist/components/atoms/radio/radio.mjs +1 -1
  278. package/dist/components/atoms/rich-text-editor/rich-text-editor.d.mts +2 -2
  279. package/dist/components/atoms/rich-text-editor/rich-text-editor.d.mts.map +1 -1
  280. package/dist/components/atoms/rich-text-editor/toolbar-presets.mjs +5 -5
  281. package/dist/components/atoms/rich-text-editor/types.d.mts +2 -3
  282. package/dist/components/atoms/rich-text-editor/types.d.mts.map +1 -1
  283. package/dist/components/atoms/select-multiple.d.mts +2 -3
  284. package/dist/components/atoms/select-multiple.d.mts.map +1 -1
  285. package/dist/components/atoms/select-multiple.mjs +5 -4
  286. package/dist/components/atoms/select-multiple.mjs.map +1 -1
  287. package/dist/components/atoms/select-searchable-options.d.mts +3 -4
  288. package/dist/components/atoms/select-searchable-options.d.mts.map +1 -1
  289. package/dist/components/atoms/select-searchable.d.mts +2 -3
  290. package/dist/components/atoms/select-searchable.d.mts.map +1 -1
  291. package/dist/components/atoms/select-searchable.mjs +5 -4
  292. package/dist/components/atoms/select-searchable.mjs.map +1 -1
  293. package/dist/components/atoms/skeleton/button.d.mts.map +1 -1
  294. package/dist/components/atoms/skeleton/node.d.mts.map +1 -1
  295. package/dist/components/atoms/skeleton/skeleton.d.mts +2 -2
  296. package/dist/components/atoms/skeleton/skeleton.d.mts.map +1 -1
  297. package/dist/components/atoms/slider/slider.d.mts +3 -3
  298. package/dist/components/atoms/slider/slider.d.mts.map +1 -1
  299. package/dist/components/atoms/typography/link.d.mts +2 -2
  300. package/dist/components/atoms/typography/link.d.mts.map +1 -1
  301. package/dist/components/atoms/typography/paragraph.d.mts +2 -2
  302. package/dist/components/atoms/typography/paragraph.d.mts.map +1 -1
  303. package/dist/components/atoms/typography/text.d.mts +2 -2
  304. package/dist/components/atoms/typography/text.d.mts.map +1 -1
  305. package/dist/components/atoms/typography/title.d.mts +2 -2
  306. package/dist/components/atoms/typography/title.d.mts.map +1 -1
  307. package/dist/components/atoms/typography/typography.d.mts +2 -2
  308. package/dist/components/atoms/typography/typography.d.mts.map +1 -1
  309. package/dist/components/molecules/index.d.mts +25 -16
  310. package/dist/components/molecules/marquees/item.d.mts +4 -4
  311. package/dist/components/molecules/marquees/item.d.mts.map +1 -1
  312. package/dist/components/molecules/marquees/item.mjs +5 -5
  313. package/dist/components/molecules/marquees/item.mjs.map +1 -1
  314. package/dist/components/molecules/marquees/marquees.d.mts +2 -2
  315. package/dist/components/molecules/marquees/marquees.d.mts.map +1 -1
  316. package/dist/components/molecules/marquees/marquees.mjs +4 -5
  317. package/dist/components/molecules/marquees/marquees.mjs.map +1 -1
  318. package/dist/components/molecules/menu/item/item.mjs +1 -1
  319. package/dist/components/molecules/menu/menu.d.mts +9 -9
  320. package/dist/components/molecules/menu/menu.d.mts.map +1 -1
  321. package/dist/components/molecules/reveals/item.d.mts +2 -2
  322. package/dist/components/molecules/reveals/item.d.mts.map +1 -1
  323. package/dist/components/molecules/reveals/reveals.d.mts +5 -5
  324. package/dist/components/molecules/reveals/reveals.d.mts.map +1 -1
  325. package/dist/components/molecules/splitter/panel.d.mts +3 -3
  326. package/dist/components/molecules/splitter/panel.d.mts.map +1 -1
  327. package/dist/components/molecules/splitter/splitter.d.mts +3 -3
  328. package/dist/components/molecules/splitter/splitter.d.mts.map +1 -1
  329. package/dist/components/organisms/form/context.d.mts +4 -0
  330. package/dist/components/organisms/form/context.d.mts.map +1 -0
  331. package/dist/components/organisms/form/context.mjs +9 -0
  332. package/dist/components/organisms/form/context.mjs.map +1 -0
  333. package/dist/components/organisms/form/control.d.mts +11 -0
  334. package/dist/components/organisms/form/control.d.mts.map +1 -0
  335. package/dist/components/organisms/form/control.mjs +19 -0
  336. package/dist/components/organisms/form/control.mjs.map +1 -0
  337. package/dist/components/organisms/form/field.d.mts +25 -0
  338. package/dist/components/organisms/form/field.d.mts.map +1 -0
  339. package/dist/components/organisms/form/field.mjs +54 -0
  340. package/dist/components/organisms/form/field.mjs.map +1 -0
  341. package/dist/components/organisms/form/form.d.mts +14 -0
  342. package/dist/components/organisms/form/form.d.mts.map +1 -0
  343. package/dist/components/organisms/form/form.mjs +23 -0
  344. package/dist/components/organisms/form/form.mjs.map +1 -0
  345. package/dist/components/organisms/imperative-stack.mjs +16 -1
  346. package/dist/components/organisms/imperative-stack.mjs.map +1 -1
  347. package/dist/components/organisms/index.d.mts +17 -9
  348. package/dist/components/organisms/list/list.d.mts +3 -3
  349. package/dist/components/organisms/list/list.d.mts.map +1 -1
  350. package/dist/components/organisms/list/list.mjs +1 -1
  351. package/dist/components/organisms/swiper/swiper.d.mts +8 -2
  352. package/dist/components/organisms/swiper/swiper.d.mts.map +1 -1
  353. package/dist/components/organisms/swiper/swiper.mjs +1 -1
  354. package/dist/components/templates/grid/col.d.mts +2 -2
  355. package/dist/components/templates/grid/col.d.mts.map +1 -1
  356. package/dist/components/templates/grid/row.d.mts +2 -2
  357. package/dist/components/templates/grid/row.d.mts.map +1 -1
  358. package/dist/components/templates/index.d.mts +11 -12
  359. package/dist/components/templates/layout/content.d.mts +2 -2
  360. package/dist/components/templates/layout/content.d.mts.map +1 -1
  361. package/dist/components/templates/layout/footer.d.mts +2 -2
  362. package/dist/components/templates/layout/footer.d.mts.map +1 -1
  363. package/dist/components/templates/layout/header.d.mts +2 -2
  364. package/dist/components/templates/layout/header.d.mts.map +1 -1
  365. package/dist/components/templates/layout/layout.d.mts +2 -2
  366. package/dist/components/templates/layout/layout.d.mts.map +1 -1
  367. package/dist/components/templates/layout/sider.d.mts +2 -2
  368. package/dist/components/templates/layout/sider.d.mts.map +1 -1
  369. package/dist/components/templates/layout/sider.mjs +5 -7
  370. package/dist/components/templates/layout/sider.mjs.map +1 -1
  371. package/dist/core/accordion.mjs +1 -1
  372. package/dist/core/autocomplete.d.mts +2 -0
  373. package/dist/core/autocomplete.mjs +48 -0
  374. package/dist/core/autocomplete.mjs.map +1 -0
  375. package/dist/core/badge.d.mts +5 -3
  376. package/dist/core/badge.d.mts.map +1 -1
  377. package/dist/core/button.d.mts +5 -3
  378. package/dist/core/button.d.mts.map +1 -1
  379. package/dist/core/calendar.d.mts +13 -3
  380. package/dist/core/calendar.d.mts.map +1 -0
  381. package/dist/core/calendar.mjs +1 -1
  382. package/dist/core/checkbox.mjs +11 -8
  383. package/dist/core/checkbox.mjs.map +1 -1
  384. package/dist/core/combobox.d.mts +26 -4
  385. package/dist/core/combobox.d.mts.map +1 -1
  386. package/dist/core/combobox.mjs +2 -2
  387. package/dist/core/combobox.mjs.map +1 -1
  388. package/dist/core/dialog.mjs +2 -2
  389. package/dist/core/dialog.mjs.map +1 -1
  390. package/dist/core/form.d.mts +8 -0
  391. package/dist/core/form.d.mts.map +1 -0
  392. package/dist/core/form.mjs +3 -0
  393. package/dist/core/index.d.mts +13 -9
  394. package/dist/core/popover.mjs +10 -2
  395. package/dist/core/popover.mjs.map +1 -1
  396. package/dist/core/radio-group.mjs +1 -1
  397. package/dist/core/resizable.d.mts +7 -2
  398. package/dist/core/resizable.d.mts.map +1 -1
  399. package/dist/core/resizable.mjs +1 -1
  400. package/dist/core/scroll-area.d.mts +20 -0
  401. package/dist/core/scroll-area.d.mts.map +1 -0
  402. package/dist/core/scroll-area.mjs +57 -0
  403. package/dist/core/scroll-area.mjs.map +1 -0
  404. package/dist/core/select.d.mts +24 -2
  405. package/dist/core/select.d.mts.map +1 -1
  406. package/dist/core/select.mjs +1 -1
  407. package/dist/core/separator.d.mts +13 -2
  408. package/dist/core/separator.d.mts.map +1 -0
  409. package/dist/core/tabs.d.mts +16 -2
  410. package/dist/core/tabs.d.mts.map +1 -1
  411. package/dist/index.d.mts +87 -57
  412. package/dist/index.mjs +53 -33
  413. package/dist/lib/colors.d.mts +2 -3
  414. package/dist/lib/colors.d.mts.map +1 -1
  415. package/dist/providers/config/context.d.mts +2 -3
  416. package/dist/providers/config/context.d.mts.map +1 -1
  417. package/dist/providers/config/context.mjs +3 -1
  418. package/dist/providers/config/context.mjs.map +1 -1
  419. package/dist/providers/config/registry.d.mts +2 -3
  420. package/dist/providers/config/registry.d.mts.map +1 -1
  421. package/dist/providers/config/types.d.mts +8 -7
  422. package/dist/providers/config/types.d.mts.map +1 -1
  423. package/dist/style.css +710 -332
  424. package/dist/utils.d.mts +2 -3
  425. package/dist/utils.d.mts.map +1 -1
  426. package/package.json +277 -26
  427. package/dist/components/atoms/checkbox/index.d.mts +0 -10
  428. package/dist/components/atoms/checkbox/index.d.mts.map +0 -1
  429. package/dist/components/atoms/checkbox/index.mjs +0 -9
  430. package/dist/components/atoms/checkbox/index.mjs.map +0 -1
  431. package/dist/components/atoms/color-picker.d.mts.map +0 -1
  432. package/dist/components/atoms/color-picker.mjs.map +0 -1
  433. package/dist/components/atoms/date-picker.d.mts.map +0 -1
  434. package/dist/components/atoms/date-picker.mjs +0 -44
  435. package/dist/components/atoms/date-picker.mjs.map +0 -1
  436. package/dist/components/atoms/float-button/index.d.mts +0 -10
  437. package/dist/components/atoms/float-button/index.d.mts.map +0 -1
  438. package/dist/components/atoms/float-button/index.mjs +0 -9
  439. package/dist/components/atoms/float-button/index.mjs.map +0 -1
  440. package/dist/components/atoms/input/index.d.mts +0 -14
  441. package/dist/components/atoms/input/index.d.mts.map +0 -1
  442. package/dist/components/atoms/input/index.mjs +0 -13
  443. package/dist/components/atoms/input/index.mjs.map +0 -1
  444. package/dist/components/atoms/popover.d.mts.map +0 -1
  445. package/dist/components/atoms/popover.mjs.map +0 -1
  446. package/dist/components/atoms/progress.d.mts.map +0 -1
  447. package/dist/components/atoms/progress.mjs.map +0 -1
  448. package/dist/components/atoms/radio/index.d.mts +0 -10
  449. package/dist/components/atoms/radio/index.d.mts.map +0 -1
  450. package/dist/components/atoms/radio/index.mjs +0 -9
  451. package/dist/components/atoms/radio/index.mjs.map +0 -1
  452. package/dist/components/atoms/rich-text-editor/index.d.mts +0 -3
  453. package/dist/components/atoms/select.d.mts.map +0 -1
  454. package/dist/components/atoms/select.mjs.map +0 -1
  455. package/dist/components/atoms/skeleton/index.d.mts +0 -12
  456. package/dist/components/atoms/skeleton/index.d.mts.map +0 -1
  457. package/dist/components/atoms/skeleton/index.mjs +0 -11
  458. package/dist/components/atoms/skeleton/index.mjs.map +0 -1
  459. package/dist/components/atoms/slider/index.mjs.map +0 -1
  460. package/dist/components/atoms/spin.d.mts.map +0 -1
  461. package/dist/components/atoms/spin.mjs.map +0 -1
  462. package/dist/components/atoms/switch.d.mts.map +0 -1
  463. package/dist/components/atoms/switch.mjs.map +0 -1
  464. package/dist/components/atoms/tooltip.d.mts.map +0 -1
  465. package/dist/components/atoms/tooltip.mjs.map +0 -1
  466. package/dist/components/molecules/collapse.d.mts.map +0 -1
  467. package/dist/components/molecules/collapse.mjs.map +0 -1
  468. package/dist/components/molecules/dropdown.d.mts.map +0 -1
  469. package/dist/components/molecules/dropdown.mjs.map +0 -1
  470. package/dist/components/molecules/marquees/index.d.mts +0 -10
  471. package/dist/components/molecules/marquees/index.d.mts.map +0 -1
  472. package/dist/components/molecules/marquees/index.mjs +0 -9
  473. package/dist/components/molecules/marquees/index.mjs.map +0 -1
  474. package/dist/components/molecules/marquees/use-pause-on-hover.mjs +0 -26
  475. package/dist/components/molecules/marquees/use-pause-on-hover.mjs.map +0 -1
  476. package/dist/components/molecules/splitter/index.d.mts +0 -10
  477. package/dist/components/molecules/splitter/index.d.mts.map +0 -1
  478. package/dist/components/molecules/splitter/index.mjs +0 -9
  479. package/dist/components/molecules/splitter/index.mjs.map +0 -1
  480. package/dist/components/molecules/tabs.d.mts.map +0 -1
  481. package/dist/components/molecules/tabs.mjs.map +0 -1
  482. package/dist/components/molecules/upload.d.mts.map +0 -1
  483. package/dist/components/molecules/upload.mjs.map +0 -1
  484. package/dist/components/organisms/drawer.d.mts.map +0 -1
  485. package/dist/components/organisms/drawer.mjs.map +0 -1
  486. package/dist/components/organisms/list/index.d.mts.map +0 -1
  487. package/dist/components/organisms/list/index.mjs +0 -9
  488. package/dist/components/organisms/list/index.mjs.map +0 -1
  489. package/dist/components/organisms/modal.d.mts.map +0 -1
  490. package/dist/components/organisms/modal.mjs.map +0 -1
  491. package/dist/components/organisms/swiper/index.d.mts +0 -10
  492. package/dist/components/organisms/swiper/index.d.mts.map +0 -1
  493. package/dist/components/organisms/swiper/index.mjs +0 -9
  494. package/dist/components/organisms/swiper/index.mjs.map +0 -1
  495. package/dist/components/organisms/toast.d.mts.map +0 -1
  496. package/dist/components/organisms/toast.mjs +0 -126
  497. package/dist/components/organisms/toast.mjs.map +0 -1
  498. package/dist/components/templates/container.d.mts.map +0 -1
  499. package/dist/components/templates/container.mjs.map +0 -1
  500. package/dist/components/templates/empty.d.mts.map +0 -1
  501. package/dist/components/templates/empty.mjs.map +0 -1
  502. package/dist/components/templates/page-header.d.mts.map +0 -1
  503. package/dist/components/templates/page-header.mjs.map +0 -1
  504. package/dist/components/templates/result.d.mts.map +0 -1
  505. package/dist/components/templates/result.mjs.map +0 -1
@@ -0,0 +1,36 @@
1
+ import { ComponentPropsWithRef, ReactNode } from "react";
2
+ //#region src/components/molecules/transfer.d.ts
3
+ export interface Item {
4
+ key: string;
5
+ label: string;
6
+ description?: ReactNode;
7
+ disabled?: boolean;
8
+ }
9
+ export interface Props extends Omit<ComponentPropsWithRef<'div'>, 'children' | 'onChange'> {
10
+ /** Stable, unique keys; both panels follow this array's order. */
11
+ items: readonly Item[];
12
+ targetKeys: readonly string[];
13
+ onChange?: (targetKeys: string[]) => void;
14
+ disabled?: boolean;
15
+ searchable?: boolean;
16
+ titles?: readonly [string, string];
17
+ moveLabels?: readonly [string, string];
18
+ selectAllLabel?: string;
19
+ searchLabel?: string;
20
+ emptyText?: ReactNode;
21
+ /** Visible / total / visible selected counts, also used by the live region. */
22
+ formatCount?: (visible: number, total: number, selected: number) => string;
23
+ classNames?: {
24
+ panel?: string;
25
+ header?: string;
26
+ search?: string;
27
+ list?: string;
28
+ item?: string;
29
+ actions?: string;
30
+ empty?: string;
31
+ };
32
+ }
33
+ declare const Transfer: ({ items, targetKeys, onChange, disabled, searchable, titles, moveLabels, selectAllLabel, searchLabel, emptyText, formatCount, className, classNames, ...props }: Props) => import("react").JSX.Element;
34
+ //#endregion
35
+ export { Transfer as default };
36
+ //# sourceMappingURL=Transfer.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Transfer.d.mts","names":[],"sources":["../src/components/molecules/transfer.tsx"],"mappings":";;iBAeiB;EACf;EACA;EACA,cAAc;EACd;;iBAGe,cAAc,KAC7B;;EAIA,gBAAgB;EAChB;EACA,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,YAAY;;EAEZ,eAAe,iBAAiB,eAAe;EAC/C;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;;cAOE,aAAY,OAAA,YAAA,UAAA,UAAA,YAAA,QAAA,YAAA,gBAAA,aAAA,WAAA,aAAA,WAAA,eAAA,SAef,0BAAK,IAAA"}
@@ -0,0 +1,147 @@
1
+ "use client";
2
+ import { cn } from "./utils.mjs";
3
+ import Button from "./Button.mjs";
4
+ import Input from "./Input.mjs";
5
+ import Checkbox from "./Checkbox.mjs";
6
+ import { useId, useState } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ //#region src/components/molecules/transfer.tsx
9
+ const defaultFormatCount = (visible, total, selected) => `${visible} of ${total} items, ${selected} selected`;
10
+ const Transfer = ({ items, targetKeys, onChange, disabled = false, searchable = false, titles = ["Available", "Chosen"], moveLabels = ["Move to chosen", "Move to available"], selectAllLabel = "Select all visible items", searchLabel = "Search", emptyText = "No items", formatCount = defaultFormatCount, className, classNames, ...props }) => {
11
+ const id = useId();
12
+ const [queries, setQueries] = useState(["", ""]);
13
+ const [selections, setSelections] = useState([/* @__PURE__ */ new Set(), /* @__PURE__ */ new Set()]);
14
+ const targets = new Set(targetKeys);
15
+ const panels = [false, true].map((isTarget, index) => {
16
+ const all = items.filter((item) => targets.has(item.key) === isTarget);
17
+ const query = searchable ? (queries[index] ?? "").trim().toLocaleLowerCase() : "";
18
+ const visible = all.filter((item) => item.label.toLocaleLowerCase().includes(query));
19
+ const enabled = visible.filter((item) => !item.disabled);
20
+ return {
21
+ all,
22
+ visible,
23
+ enabled,
24
+ selected: enabled.filter((item) => selections[index]?.has(item.key))
25
+ };
26
+ });
27
+ const select = (index, keys, checked) => {
28
+ setSelections((current) => current.map((selection, panel) => {
29
+ if (panel !== index) return selection;
30
+ const next = new Set(selection);
31
+ for (const key of keys) if (checked) next.add(key);
32
+ else next.delete(key);
33
+ return next;
34
+ }));
35
+ };
36
+ const move = (index) => {
37
+ const selected = panels[index]?.selected ?? [];
38
+ if (disabled || !selected.length) return;
39
+ const moved = new Set(selected.map((item) => item.key));
40
+ const next = new Set(targetKeys);
41
+ for (const key of moved) if (index === 0) next.add(key);
42
+ else next.delete(key);
43
+ onChange?.([...next]);
44
+ setSelections((current) => current.map((selection) => new Set([...selection].filter((key) => !moved.has(key)))));
45
+ };
46
+ return /* @__PURE__ */ jsxs("div", {
47
+ ...props,
48
+ "data-slot": "transfer",
49
+ className: cn(`text-foreground grid min-w-0 grid-cols-1 items-center gap-3
50
+ sm:grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)]`, className),
51
+ children: [
52
+ panels.map((panel, index) => /* @__PURE__ */ jsxs("section", {
53
+ "data-slot": "transfer-panel",
54
+ "aria-labelledby": `${id}-title-${index}`,
55
+ className: cn("border-border bg-background min-w-0 rounded-md border", index === 1 && "sm:col-start-3 sm:row-start-1", classNames?.panel),
56
+ children: [
57
+ /* @__PURE__ */ jsxs("div", {
58
+ className: cn("border-border border-b p-3", classNames?.header),
59
+ children: [
60
+ /* @__PURE__ */ jsx("h3", {
61
+ id: `${id}-title-${index}`,
62
+ className: "m-0 text-sm font-medium",
63
+ children: titles[index]
64
+ }),
65
+ /* @__PURE__ */ jsx("p", {
66
+ id: `${id}-count-${index}`,
67
+ className: "text-muted-foreground m-0 mt-1 text-xs",
68
+ children: formatCount(panel.visible.length, panel.all.length, panel.selected.length)
69
+ }),
70
+ /* @__PURE__ */ jsx(Checkbox, {
71
+ className: "mt-3 text-sm",
72
+ checked: panel.enabled.length > 0 && panel.selected.length === panel.enabled.length,
73
+ disabled: disabled || !panel.enabled.length,
74
+ onChange: (checked) => select(index, panel.enabled.map((item) => item.key), checked),
75
+ children: selectAllLabel
76
+ })
77
+ ]
78
+ }),
79
+ searchable && /* @__PURE__ */ jsx("div", {
80
+ className: "p-3 pb-0",
81
+ children: /* @__PURE__ */ jsx(Input, {
82
+ type: "search",
83
+ "aria-label": `${searchLabel} ${titles[index]}`,
84
+ "aria-controls": `${id}-list-${index}`,
85
+ value: queries[index] ?? "",
86
+ disabled,
87
+ onChange: (event) => {
88
+ const value = event.target.value;
89
+ setQueries((current) => current.map((query, panelIndex) => panelIndex === index ? value : query));
90
+ },
91
+ className: classNames?.search
92
+ })
93
+ }),
94
+ /* @__PURE__ */ jsxs("ul", {
95
+ id: `${id}-list-${index}`,
96
+ "data-slot": "transfer-list",
97
+ "aria-labelledby": `${id}-title-${index}`,
98
+ "aria-describedby": `${id}-count-${index}`,
99
+ role: "list",
100
+ className: cn("m-0 h-64 list-none overflow-y-auto p-3", classNames?.list),
101
+ children: [panel.visible.map((item) => /* @__PURE__ */ jsxs("li", {
102
+ "data-slot": "transfer-item",
103
+ "data-key": item.key,
104
+ className: cn("min-w-0 py-2 text-sm [overflow-wrap:anywhere]", classNames?.item),
105
+ children: [/* @__PURE__ */ jsx(Checkbox, {
106
+ checked: !item.disabled && (selections[index]?.has(item.key) ?? false),
107
+ disabled: disabled || item.disabled,
108
+ onChange: (checked) => select(index, [item.key], checked),
109
+ children: item.label
110
+ }), item.description != null && /* @__PURE__ */ jsx("div", {
111
+ className: "text-muted-foreground ms-6 mt-1 text-xs",
112
+ children: item.description
113
+ })]
114
+ }, item.key)), !panel.visible.length && /* @__PURE__ */ jsx("li", {
115
+ className: cn("text-muted-foreground py-6 text-center text-sm", classNames?.empty),
116
+ children: emptyText
117
+ })]
118
+ })
119
+ ]
120
+ }, index)),
121
+ /* @__PURE__ */ jsx("div", {
122
+ "data-slot": "transfer-actions",
123
+ className: cn(`row-start-2 flex flex-wrap justify-center gap-2 sm:col-start-2
124
+ sm:row-start-1 sm:flex-col`, classNames?.actions),
125
+ children: panels.map((panel, index) => /* @__PURE__ */ jsx(Button, {
126
+ variant: "outlined",
127
+ size: "small",
128
+ disabled: disabled || !panel.selected.length,
129
+ onClick: () => move(index),
130
+ children: moveLabels[index]
131
+ }, index))
132
+ }),
133
+ /* @__PURE__ */ jsx("span", {
134
+ "data-slot": "transfer-status",
135
+ role: "status",
136
+ "aria-live": "polite",
137
+ "aria-atomic": "true",
138
+ className: "sr-only",
139
+ children: panels.map((panel, index) => `${titles[index]}: ${formatCount(panel.visible.length, panel.all.length, panel.selected.length)}`).join(". ")
140
+ })
141
+ ]
142
+ });
143
+ };
144
+ //#endregion
145
+ export { Transfer as default };
146
+
147
+ //# sourceMappingURL=Transfer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Transfer.mjs","names":[],"sources":["../src/components/molecules/transfer.tsx"],"sourcesContent":["'use client';\n\nimport {\n type ComponentPropsWithRef,\n type ReactNode,\n useId,\n useState,\n} from 'react';\n\nimport { cn } from '@repo/ui/utils';\n\nimport Button from '../atoms/button';\nimport Checkbox from '../atoms/checkbox';\nimport Input from '../atoms/input';\n\nexport interface Item {\n key: string;\n label: string;\n description?: ReactNode;\n disabled?: boolean;\n}\n\nexport interface Props extends Omit<\n ComponentPropsWithRef<'div'>,\n 'children' | 'onChange'\n> {\n /** Stable, unique keys; both panels follow this array's order. */\n items: readonly Item[];\n targetKeys: readonly string[];\n onChange?: (targetKeys: string[]) => void;\n disabled?: boolean;\n searchable?: boolean;\n titles?: readonly [string, string];\n moveLabels?: readonly [string, string];\n selectAllLabel?: string;\n searchLabel?: string;\n emptyText?: ReactNode;\n /** Visible / total / visible selected counts, also used by the live region. */\n formatCount?: (visible: number, total: number, selected: number) => string;\n classNames?: {\n panel?: string;\n header?: string;\n search?: string;\n list?: string;\n item?: string;\n actions?: string;\n empty?: string;\n };\n}\n\nconst defaultFormatCount = (visible: number, total: number, selected: number) =>\n `${visible} of ${total} items, ${selected} selected`;\n\nconst Transfer = ({\n items,\n targetKeys,\n onChange,\n disabled = false,\n searchable = false,\n titles = ['Available', 'Chosen'],\n moveLabels = ['Move to chosen', 'Move to available'],\n selectAllLabel = 'Select all visible items',\n searchLabel = 'Search',\n emptyText = 'No items',\n formatCount = defaultFormatCount,\n className,\n classNames,\n ...props\n}: Props) => {\n const id = useId();\n const [queries, setQueries] = useState(['', '']);\n const [selections, setSelections] = useState<Set<string>[]>([\n new Set(),\n new Set(),\n ]);\n const targets = new Set(targetKeys);\n const panels = [false, true].map((isTarget, index) => {\n const all = items.filter(item => targets.has(item.key) === isTarget);\n const query = searchable\n ? (queries[index] ?? '').trim().toLocaleLowerCase()\n : '';\n const visible = all.filter(item =>\n item.label.toLocaleLowerCase().includes(query),\n );\n const enabled = visible.filter(item => !item.disabled);\n const selected = enabled.filter(item => selections[index]?.has(item.key));\n\n return { all, visible, enabled, selected };\n });\n\n const select = (index: number, keys: string[], checked: boolean) => {\n setSelections(current =>\n current.map((selection, panel) => {\n if (panel !== index) return selection;\n\n const next = new Set(selection);\n\n for (const key of keys) {\n if (checked) next.add(key);\n else next.delete(key);\n }\n\n return next;\n }),\n );\n };\n\n const move = (index: number) => {\n const selected = panels[index]?.selected ?? [];\n\n if (disabled || !selected.length) return;\n\n const moved = new Set(selected.map(item => item.key));\n const next = new Set(targetKeys);\n\n for (const key of moved) {\n if (index === 0) next.add(key);\n else next.delete(key);\n }\n\n onChange?.([...next]);\n setSelections(current =>\n current.map(\n selection => new Set([...selection].filter(key => !moved.has(key))),\n ),\n );\n };\n\n return (\n <div\n {...props}\n data-slot=\"transfer\"\n className={cn(\n `text-foreground grid min-w-0 grid-cols-1 items-center gap-3\n sm:grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)]`,\n className, //\n )}\n >\n {panels.map((panel, index) => (\n <section\n key={index}\n data-slot=\"transfer-panel\"\n aria-labelledby={`${id}-title-${index}`}\n className={cn(\n 'border-border bg-background min-w-0 rounded-md border',\n index === 1 && 'sm:col-start-3 sm:row-start-1',\n classNames?.panel, //\n )}\n >\n <div\n className={cn(\n 'border-border border-b p-3',\n classNames?.header, //\n )}\n >\n <h3 id={`${id}-title-${index}`} className=\"m-0 text-sm font-medium\">\n {titles[index]}\n </h3>\n <p\n id={`${id}-count-${index}`}\n className=\"text-muted-foreground m-0 mt-1 text-xs\"\n >\n {formatCount(\n panel.visible.length,\n panel.all.length,\n panel.selected.length,\n )}\n </p>\n <Checkbox\n className=\"mt-3 text-sm\"\n checked={\n panel.enabled.length > 0 &&\n panel.selected.length === panel.enabled.length\n }\n disabled={disabled || !panel.enabled.length}\n onChange={checked =>\n select(\n index,\n panel.enabled.map(item => item.key),\n checked,\n )\n }\n >\n {selectAllLabel}\n </Checkbox>\n </div>\n {searchable && (\n <div className=\"p-3 pb-0\">\n <Input\n type=\"search\"\n aria-label={`${searchLabel} ${titles[index]}`}\n aria-controls={`${id}-list-${index}`}\n value={queries[index] ?? ''}\n disabled={disabled}\n onChange={event => {\n const value = event.target.value;\n\n setQueries(current =>\n current.map((query, panelIndex) =>\n panelIndex === index ? value : query,\n ),\n );\n }}\n className={classNames?.search}\n />\n </div>\n )}\n <ul\n id={`${id}-list-${index}`}\n data-slot=\"transfer-list\"\n aria-labelledby={`${id}-title-${index}`}\n aria-describedby={`${id}-count-${index}`}\n role=\"list\"\n className={cn(\n 'm-0 h-64 list-none overflow-y-auto p-3',\n classNames?.list, //\n )}\n >\n {panel.visible.map(item => (\n <li\n key={item.key}\n data-slot=\"transfer-item\"\n data-key={item.key}\n className={cn(\n 'min-w-0 py-2 text-sm [overflow-wrap:anywhere]',\n classNames?.item, //\n )}\n >\n <Checkbox\n checked={\n !item.disabled &&\n (selections[index]?.has(item.key) ?? false)\n }\n disabled={disabled || item.disabled}\n onChange={checked => select(index, [item.key], checked)}\n >\n {item.label}\n </Checkbox>\n {item.description != null && (\n <div className=\"text-muted-foreground ms-6 mt-1 text-xs\">\n {item.description}\n </div>\n )}\n </li>\n ))}\n {!panel.visible.length && (\n <li\n className={cn(\n 'text-muted-foreground py-6 text-center text-sm',\n classNames?.empty, //\n )}\n >\n {emptyText}\n </li>\n )}\n </ul>\n </section>\n ))}\n <div\n data-slot=\"transfer-actions\"\n className={cn(\n `row-start-2 flex flex-wrap justify-center gap-2 sm:col-start-2\n sm:row-start-1 sm:flex-col`,\n classNames?.actions, //\n )}\n >\n {panels.map((panel, index) => (\n <Button\n key={index}\n variant=\"outlined\"\n size=\"small\"\n disabled={disabled || !panel.selected.length}\n onClick={() => move(index)}\n >\n {moveLabels[index]}\n </Button>\n ))}\n </div>\n <span\n data-slot=\"transfer-status\"\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"sr-only\"\n >\n {panels\n .map(\n (panel, index) =>\n `${titles[index]}: ${formatCount(panel.visible.length, panel.all.length, panel.selected.length)}`,\n )\n .join('. ')}\n </span>\n </div>\n );\n};\n\nexport default Transfer;\n"],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { CSSProperties, ComponentPropsWithRef, ReactNode, Ref } from "react";
2
+ //#region src/components/organisms/tree.d.ts
3
+ export interface Node {
4
+ key: string;
5
+ label: string;
6
+ icon?: ReactNode;
7
+ children?: readonly Node[];
8
+ disabled?: boolean;
9
+ leaf?: boolean;
10
+ }
11
+ export interface ExpandInfo {
12
+ node: Node;
13
+ expanded: boolean;
14
+ }
15
+ export interface LoadOptions {
16
+ signal: AbortSignal;
17
+ }
18
+ export interface ScrollOptions {
19
+ align?: 'auto' | 'start' | 'center' | 'end';
20
+ }
21
+ export interface Actions {
22
+ scrollTo: (key: string, options?: ScrollOptions) => boolean;
23
+ }
24
+ export interface Props extends Omit<ComponentPropsWithRef<'ul'>, 'children' | 'onSelect'> {
25
+ nodes: readonly Node[];
26
+ expandedKeys?: readonly string[];
27
+ defaultExpandedKeys?: readonly string[];
28
+ onExpand?: (keys: string[], info: ExpandInfo) => void;
29
+ selectedKeys?: readonly string[];
30
+ defaultSelectedKeys?: readonly string[];
31
+ onSelect?: (keys: string[]) => void;
32
+ multiple?: boolean;
33
+ checkable?: boolean;
34
+ checkedKeys?: readonly string[];
35
+ defaultCheckedKeys?: readonly string[];
36
+ onCheck?: (keys: string[]) => void;
37
+ disabled?: boolean;
38
+ emptyText?: ReactNode;
39
+ loadData?: (node: Node, options: LoadOptions) => Promise<void>;
40
+ expandOnClick?: boolean;
41
+ virtual?: boolean;
42
+ height?: CSSProperties['height'];
43
+ itemHeight?: number;
44
+ overscan?: number;
45
+ actionRef?: Ref<Actions>;
46
+ classNames?: {
47
+ item?: string;
48
+ row?: string;
49
+ group?: string;
50
+ label?: string;
51
+ icon?: string;
52
+ toggle?: string;
53
+ checkbox?: string;
54
+ status?: string;
55
+ retry?: string;
56
+ empty?: string;
57
+ };
58
+ }
59
+ declare const Tree: ({ nodes, expandedKeys, defaultExpandedKeys, onExpand, selectedKeys, defaultSelectedKeys, onSelect, multiple, checkable, checkedKeys, defaultCheckedKeys, onCheck, disabled, emptyText, loadData, expandOnClick, virtual, height, itemHeight, overscan, actionRef, className, classNames, style, dir, ref, "aria-label": ariaLabel, ...props }: Props) => import("react").JSX.Element;
60
+ //#endregion
61
+ export { Tree as default };
62
+ //# sourceMappingURL=Tree.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tree.d.mts","names":[],"sources":["../src/components/organisms/tree.tsx"],"mappings":";;iBAoCiB;EACf;EACA;EACA,OAAO;EACP,oBAAoB;EACpB;EAGA;;iBAGe;EACf,MAAM;EACN;;iBAGe;EACf,QAAQ;;iBAGO;EACf;;iBAGe;EAGf,WAAW,aAAa,UAAU;;iBAGnB,cAAc,KAC7B;EAGA,gBAAgB;EAChB;EACA;EACA,YAAY,gBAAgB,MAAM;EAClC;EACA;EACA,YAAY;EACZ;EACA;EACA;EACA;EACA,WAAW;EACX;EACA,YAAY;EACZ,YAAY,MAAM,MAAM,SAAS,gBAAgB;EACjD;EACA;EACA,SAAS;EACT;EACA;EACA,YAAY,IAAI;EAChB;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;cAwEE,SAAQ,OAAA,cAAA,qBAAA,UAAA,cAAA,qBAAA,UAAA,UAAA,WAAA,aAAA,oBAAA,SAAA,UAAA,WAAA,UAAA,eAAA,SAAA,QAAA,YAAA,UAAA,WAAA,WAAA,YAAA,OAAA,KAAA,mBAAA,cAAA,SA6BX,0BAAK,IAAA"}