@j2-health/design-system 0.5.0 → 0.5.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 (377) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +35 -0
  2. package/dist/_virtual/_rolldown/runtime.js +27 -0
  3. package/dist/index.cjs +118 -113
  4. package/dist/index.js +22 -81
  5. package/dist/src/AppConfigProvider.cjs +22 -11
  6. package/dist/src/AppConfigProvider.cjs.map +1 -1
  7. package/dist/src/AppConfigProvider.js +19 -10
  8. package/dist/src/AppConfigProvider.js.map +1 -1
  9. package/dist/src/appTheme.cjs +239 -266
  10. package/dist/src/appTheme.cjs.map +1 -1
  11. package/dist/src/appTheme.js +240 -267
  12. package/dist/src/appTheme.js.map +1 -1
  13. package/dist/src/components/alert/Alert.cjs +81 -103
  14. package/dist/src/components/alert/Alert.cjs.map +1 -1
  15. package/dist/src/components/alert/Alert.js +78 -86
  16. package/dist/src/components/alert/Alert.js.map +1 -1
  17. package/dist/src/components/alert/Alert.module.css.cjs +7 -8
  18. package/dist/src/components/alert/Alert.module.css.cjs.map +1 -1
  19. package/dist/src/components/alert/Alert.module.css.js +7 -9
  20. package/dist/src/components/alert/Alert.module.css.js.map +1 -1
  21. package/dist/src/components/barchart/BarChart.cjs +123 -151
  22. package/dist/src/components/barchart/BarChart.cjs.map +1 -1
  23. package/dist/src/components/barchart/BarChart.d.ts +1 -1
  24. package/dist/src/components/barchart/BarChart.js +121 -149
  25. package/dist/src/components/barchart/BarChart.js.map +1 -1
  26. package/dist/src/components/barchart/chart.module.css.cjs +7 -8
  27. package/dist/src/components/barchart/chart.module.css.cjs.map +1 -1
  28. package/dist/src/components/barchart/chart.module.css.js +7 -9
  29. package/dist/src/components/barchart/chart.module.css.js.map +1 -1
  30. package/dist/src/components/barchart/index.js +3 -0
  31. package/dist/src/components/breadcrumb/Breadcrumb.cjs +23 -36
  32. package/dist/src/components/breadcrumb/Breadcrumb.cjs.map +1 -1
  33. package/dist/src/components/breadcrumb/Breadcrumb.js +20 -19
  34. package/dist/src/components/breadcrumb/Breadcrumb.js.map +1 -1
  35. package/dist/src/components/bulkActionBar/BulkActionBar.cjs +66 -79
  36. package/dist/src/components/bulkActionBar/BulkActionBar.cjs.map +1 -1
  37. package/dist/src/components/bulkActionBar/BulkActionBar.d.ts +1 -1
  38. package/dist/src/components/bulkActionBar/BulkActionBar.js +63 -78
  39. package/dist/src/components/bulkActionBar/BulkActionBar.js.map +1 -1
  40. package/dist/src/components/button/Button.cjs +16 -18
  41. package/dist/src/components/button/Button.cjs.map +1 -1
  42. package/dist/src/components/button/Button.d.ts +1 -1
  43. package/dist/src/components/button/Button.js +17 -19
  44. package/dist/src/components/button/Button.js.map +1 -1
  45. package/dist/src/components/card/Card.cjs +19 -33
  46. package/dist/src/components/card/Card.cjs.map +1 -1
  47. package/dist/src/components/card/Card.d.ts +1 -1
  48. package/dist/src/components/card/Card.js +17 -33
  49. package/dist/src/components/card/Card.js.map +1 -1
  50. package/dist/src/components/checkbox/Checkbox.cjs +8 -7
  51. package/dist/src/components/checkbox/Checkbox.cjs.map +1 -1
  52. package/dist/src/components/checkbox/Checkbox.d.ts +1 -1
  53. package/dist/src/components/checkbox/Checkbox.js +9 -8
  54. package/dist/src/components/checkbox/Checkbox.js.map +1 -1
  55. package/dist/src/components/checkboxTree/CheckboxTree.cjs +112 -138
  56. package/dist/src/components/checkboxTree/CheckboxTree.cjs.map +1 -1
  57. package/dist/src/components/checkboxTree/CheckboxTree.js +110 -138
  58. package/dist/src/components/checkboxTree/CheckboxTree.js.map +1 -1
  59. package/dist/src/components/checkboxTree/TreeNode.cjs +57 -90
  60. package/dist/src/components/checkboxTree/TreeNode.cjs.map +1 -1
  61. package/dist/src/components/checkboxTree/TreeNode.d.ts +1 -1
  62. package/dist/src/components/checkboxTree/TreeNode.js +57 -90
  63. package/dist/src/components/checkboxTree/TreeNode.js.map +1 -1
  64. package/dist/src/components/checkboxTree/utils.cjs +46 -51
  65. package/dist/src/components/checkboxTree/utils.cjs.map +1 -1
  66. package/dist/src/components/checkboxTree/utils.js +47 -55
  67. package/dist/src/components/checkboxTree/utils.js.map +1 -1
  68. package/dist/src/components/collapse/Collapse.cjs +54 -78
  69. package/dist/src/components/collapse/Collapse.cjs.map +1 -1
  70. package/dist/src/components/collapse/Collapse.js +51 -61
  71. package/dist/src/components/collapse/Collapse.js.map +1 -1
  72. package/dist/src/components/collapse/Collapse.module.css.cjs +11 -10
  73. package/dist/src/components/collapse/Collapse.module.css.cjs.map +1 -1
  74. package/dist/src/components/collapse/Collapse.module.css.js +11 -12
  75. package/dist/src/components/collapse/Collapse.module.css.js.map +1 -1
  76. package/dist/src/components/drawer/Drawer.cjs +26 -38
  77. package/dist/src/components/drawer/Drawer.cjs.map +1 -1
  78. package/dist/src/components/drawer/Drawer.d.ts +1 -1
  79. package/dist/src/components/drawer/Drawer.js +27 -39
  80. package/dist/src/components/drawer/Drawer.js.map +1 -1
  81. package/dist/src/components/dropdown/Dropdown.cjs +54 -54
  82. package/dist/src/components/dropdown/Dropdown.cjs.map +1 -1
  83. package/dist/src/components/dropdown/Dropdown.d.ts +1 -1
  84. package/dist/src/components/dropdown/Dropdown.js +53 -55
  85. package/dist/src/components/dropdown/Dropdown.js.map +1 -1
  86. package/dist/src/components/filterform/FilterGroup.cjs +41 -62
  87. package/dist/src/components/filterform/FilterGroup.cjs.map +1 -1
  88. package/dist/src/components/filterform/FilterGroup.d.ts +1 -1
  89. package/dist/src/components/filterform/FilterGroup.js +38 -61
  90. package/dist/src/components/filterform/FilterGroup.js.map +1 -1
  91. package/dist/src/components/filterform/FilterInput.cjs +169 -233
  92. package/dist/src/components/filterform/FilterInput.cjs.map +1 -1
  93. package/dist/src/components/filterform/FilterInput.js +164 -216
  94. package/dist/src/components/filterform/FilterInput.js.map +1 -1
  95. package/dist/src/components/filterform/FiltersForm.cjs +144 -178
  96. package/dist/src/components/filterform/FiltersForm.cjs.map +1 -1
  97. package/dist/src/components/filterform/FiltersForm.d.ts +1 -1
  98. package/dist/src/components/filterform/FiltersForm.js +140 -176
  99. package/dist/src/components/filterform/FiltersForm.js.map +1 -1
  100. package/dist/src/components/filterform/FiltersForm.module.css.cjs +16 -15
  101. package/dist/src/components/filterform/FiltersForm.module.css.cjs.map +1 -1
  102. package/dist/src/components/filterform/FiltersForm.module.css.js +16 -20
  103. package/dist/src/components/filterform/FiltersForm.module.css.js.map +1 -1
  104. package/dist/src/components/filterform/filterHelpers.cjs +50 -59
  105. package/dist/src/components/filterform/filterHelpers.cjs.map +1 -1
  106. package/dist/src/components/filterform/filterHelpers.js +51 -66
  107. package/dist/src/components/filterform/filterHelpers.js.map +1 -1
  108. package/dist/src/components/filterform/useFilterField.cjs +268 -236
  109. package/dist/src/components/filterform/useFilterField.cjs.map +1 -1
  110. package/dist/src/components/filterform/useFilterField.js +265 -222
  111. package/dist/src/components/filterform/useFilterField.js.map +1 -1
  112. package/dist/src/components/filterform/useFiltersForm.cjs +120 -154
  113. package/dist/src/components/filterform/useFiltersForm.cjs.map +1 -1
  114. package/dist/src/components/filterform/useFiltersForm.js +117 -153
  115. package/dist/src/components/filterform/useFiltersForm.js.map +1 -1
  116. package/dist/src/components/form/Form.cjs +23 -25
  117. package/dist/src/components/form/Form.cjs.map +1 -1
  118. package/dist/src/components/form/Form.d.ts +2 -2
  119. package/dist/src/components/form/Form.js +23 -25
  120. package/dist/src/components/form/Form.js.map +1 -1
  121. package/dist/src/components/form/FormItem.cjs +35 -40
  122. package/dist/src/components/form/FormItem.cjs.map +1 -1
  123. package/dist/src/components/form/FormItem.d.ts +1 -1
  124. package/dist/src/components/form/FormItem.js +35 -40
  125. package/dist/src/components/form/FormItem.js.map +1 -1
  126. package/dist/src/components/form/FormItemFieldContext.cjs +5 -7
  127. package/dist/src/components/form/FormItemFieldContext.cjs.map +1 -1
  128. package/dist/src/components/form/FormItemFieldContext.js +6 -7
  129. package/dist/src/components/form/FormItemFieldContext.js.map +1 -1
  130. package/dist/src/components/form/FormikField.cjs +15 -18
  131. package/dist/src/components/form/FormikField.cjs.map +1 -1
  132. package/dist/src/components/form/FormikField.d.ts +1 -1
  133. package/dist/src/components/form/FormikField.js +14 -17
  134. package/dist/src/components/form/FormikField.js.map +1 -1
  135. package/dist/src/components/icons/index.cjs +21 -26
  136. package/dist/src/components/icons/index.cjs.map +1 -1
  137. package/dist/src/components/icons/index.js +9 -2
  138. package/dist/src/components/icons/index.js.map +1 -1
  139. package/dist/src/components/input/AntdInput.cjs +14 -11
  140. package/dist/src/components/input/AntdInput.cjs.map +1 -1
  141. package/dist/src/components/input/AntdInput.js +13 -10
  142. package/dist/src/components/input/AntdInput.js.map +1 -1
  143. package/dist/src/components/input/AntdSearchInput.cjs +14 -11
  144. package/dist/src/components/input/AntdSearchInput.cjs.map +1 -1
  145. package/dist/src/components/input/AntdSearchInput.js +13 -10
  146. package/dist/src/components/input/AntdSearchInput.js.map +1 -1
  147. package/dist/src/components/input/Input.cjs +28 -33
  148. package/dist/src/components/input/Input.cjs.map +1 -1
  149. package/dist/src/components/input/Input.d.ts +1 -1
  150. package/dist/src/components/input/Input.js +28 -33
  151. package/dist/src/components/input/Input.js.map +1 -1
  152. package/dist/src/components/inputnumber/InputNumber.cjs +45 -45
  153. package/dist/src/components/inputnumber/InputNumber.cjs.map +1 -1
  154. package/dist/src/components/inputnumber/InputNumber.d.ts +1 -1
  155. package/dist/src/components/inputnumber/InputNumber.js +42 -44
  156. package/dist/src/components/inputnumber/InputNumber.js.map +1 -1
  157. package/dist/src/components/inputnumber/InputNumber.module.css.cjs +7 -8
  158. package/dist/src/components/inputnumber/InputNumber.module.css.cjs.map +1 -1
  159. package/dist/src/components/inputnumber/InputNumber.module.css.js +7 -9
  160. package/dist/src/components/inputnumber/InputNumber.module.css.js.map +1 -1
  161. package/dist/src/components/legacyNavMenu/LegacyNavMenu.cjs +72 -50
  162. package/dist/src/components/legacyNavMenu/LegacyNavMenu.cjs.map +1 -1
  163. package/dist/src/components/legacyNavMenu/LegacyNavMenu.js +69 -49
  164. package/dist/src/components/legacyNavMenu/LegacyNavMenu.js.map +1 -1
  165. package/dist/src/components/legacyNavMenu/LegacyNavMenu.module.css.cjs +43 -33
  166. package/dist/src/components/legacyNavMenu/LegacyNavMenu.module.css.cjs.map +1 -1
  167. package/dist/src/components/legacyNavMenu/LegacyNavMenu.module.css.js +40 -47
  168. package/dist/src/components/legacyNavMenu/LegacyNavMenu.module.css.js.map +1 -1
  169. package/dist/src/components/legacyNavMenu/UserProfile.cjs +76 -76
  170. package/dist/src/components/legacyNavMenu/UserProfile.cjs.map +1 -1
  171. package/dist/src/components/legacyNavMenu/UserProfile.js +74 -76
  172. package/dist/src/components/legacyNavMenu/UserProfile.js.map +1 -1
  173. package/dist/src/components/legacyNavMenu/UserProfile.module.css.cjs +33 -29
  174. package/dist/src/components/legacyNavMenu/UserProfile.module.css.cjs.map +1 -1
  175. package/dist/src/components/legacyNavMenu/UserProfile.module.css.js +32 -41
  176. package/dist/src/components/legacyNavMenu/UserProfile.module.css.js.map +1 -1
  177. package/dist/src/components/listpopover/ListPopover.cjs +89 -120
  178. package/dist/src/components/listpopover/ListPopover.cjs.map +1 -1
  179. package/dist/src/components/listpopover/ListPopover.d.ts +1 -1
  180. package/dist/src/components/listpopover/ListPopover.js +86 -119
  181. package/dist/src/components/listpopover/ListPopover.js.map +1 -1
  182. package/dist/src/components/listpopover/ListPopover.module.css.cjs +7 -8
  183. package/dist/src/components/listpopover/ListPopover.module.css.cjs.map +1 -1
  184. package/dist/src/components/listpopover/ListPopover.module.css.js +7 -9
  185. package/dist/src/components/listpopover/ListPopover.module.css.js.map +1 -1
  186. package/dist/src/components/manageColumns/ManageColumnsItem.cjs +53 -74
  187. package/dist/src/components/manageColumns/ManageColumnsItem.cjs.map +1 -1
  188. package/dist/src/components/manageColumns/ManageColumnsItem.js +48 -71
  189. package/dist/src/components/manageColumns/ManageColumnsItem.js.map +1 -1
  190. package/dist/src/components/manageColumns/ManageColumnsPanel.cjs +66 -77
  191. package/dist/src/components/manageColumns/ManageColumnsPanel.cjs.map +1 -1
  192. package/dist/src/components/manageColumns/ManageColumnsPanel.d.ts +1 -1
  193. package/dist/src/components/manageColumns/ManageColumnsPanel.js +65 -76
  194. package/dist/src/components/manageColumns/ManageColumnsPanel.js.map +1 -1
  195. package/dist/src/components/manageColumns/SelectAll.cjs +31 -24
  196. package/dist/src/components/manageColumns/SelectAll.cjs.map +1 -1
  197. package/dist/src/components/manageColumns/SelectAll.d.ts +1 -1
  198. package/dist/src/components/manageColumns/SelectAll.js +31 -24
  199. package/dist/src/components/manageColumns/SelectAll.js.map +1 -1
  200. package/dist/src/components/menu/Menu.cjs +16 -16
  201. package/dist/src/components/menu/Menu.cjs.map +1 -1
  202. package/dist/src/components/menu/Menu.d.ts +1 -1
  203. package/dist/src/components/menu/Menu.js +13 -15
  204. package/dist/src/components/menu/Menu.js.map +1 -1
  205. package/dist/src/components/menu/Menu.module.css.cjs +10 -9
  206. package/dist/src/components/menu/Menu.module.css.cjs.map +1 -1
  207. package/dist/src/components/menu/Menu.module.css.js +10 -11
  208. package/dist/src/components/menu/Menu.module.css.js.map +1 -1
  209. package/dist/src/components/message/Message.module.css.cjs +7 -8
  210. package/dist/src/components/message/Message.module.css.cjs.map +1 -1
  211. package/dist/src/components/message/Message.module.css.js +7 -9
  212. package/dist/src/components/message/Message.module.css.js.map +1 -1
  213. package/dist/src/components/message/useMessage.cjs +46 -52
  214. package/dist/src/components/message/useMessage.cjs.map +1 -1
  215. package/dist/src/components/message/useMessage.js +43 -51
  216. package/dist/src/components/message/useMessage.js.map +1 -1
  217. package/dist/src/components/modal/Modal.cjs +27 -28
  218. package/dist/src/components/modal/Modal.cjs.map +1 -1
  219. package/dist/src/components/modal/Modal.d.ts +1 -1
  220. package/dist/src/components/modal/Modal.js +25 -28
  221. package/dist/src/components/modal/Modal.js.map +1 -1
  222. package/dist/src/components/navMenu/NavMenu.cjs +75 -130
  223. package/dist/src/components/navMenu/NavMenu.cjs.map +1 -1
  224. package/dist/src/components/navMenu/NavMenu.js +68 -110
  225. package/dist/src/components/navMenu/NavMenu.js.map +1 -1
  226. package/dist/src/components/navMenu/NavMenu.module.css.cjs +14 -13
  227. package/dist/src/components/navMenu/NavMenu.module.css.cjs.map +1 -1
  228. package/dist/src/components/navMenu/NavMenu.module.css.js +14 -17
  229. package/dist/src/components/navMenu/NavMenu.module.css.js.map +1 -1
  230. package/dist/src/components/notification/Notification.module.css.cjs +7 -8
  231. package/dist/src/components/notification/Notification.module.css.cjs.map +1 -1
  232. package/dist/src/components/notification/Notification.module.css.js +7 -9
  233. package/dist/src/components/notification/Notification.module.css.js.map +1 -1
  234. package/dist/src/components/notification/useNotification.cjs +61 -52
  235. package/dist/src/components/notification/useNotification.cjs.map +1 -1
  236. package/dist/src/components/notification/useNotification.js +57 -51
  237. package/dist/src/components/notification/useNotification.js.map +1 -1
  238. package/dist/src/components/notificationModal/NotifcationModal.module.css.cjs +16 -15
  239. package/dist/src/components/notificationModal/NotifcationModal.module.css.cjs.map +1 -1
  240. package/dist/src/components/notificationModal/NotifcationModal.module.css.js +16 -20
  241. package/dist/src/components/notificationModal/NotifcationModal.module.css.js.map +1 -1
  242. package/dist/src/components/notificationModal/NotificationModal.cjs +56 -54
  243. package/dist/src/components/notificationModal/NotificationModal.cjs.map +1 -1
  244. package/dist/src/components/notificationModal/NotificationModal.d.ts +1 -1
  245. package/dist/src/components/notificationModal/NotificationModal.js +56 -54
  246. package/dist/src/components/notificationModal/NotificationModal.js.map +1 -1
  247. package/dist/src/components/pagination/Pagination.cjs +66 -61
  248. package/dist/src/components/pagination/Pagination.cjs.map +1 -1
  249. package/dist/src/components/pagination/Pagination.d.ts +1 -1
  250. package/dist/src/components/pagination/Pagination.js +63 -61
  251. package/dist/src/components/pagination/Pagination.js.map +1 -1
  252. package/dist/src/components/pagination/Pagination.module.css.cjs +6 -6
  253. package/dist/src/components/pagination/Pagination.module.css.cjs.map +1 -1
  254. package/dist/src/components/pagination/Pagination.module.css.js +6 -7
  255. package/dist/src/components/pagination/Pagination.module.css.js.map +1 -1
  256. package/dist/src/components/popover/Popover.cjs +22 -41
  257. package/dist/src/components/popover/Popover.cjs.map +1 -1
  258. package/dist/src/components/popover/Popover.d.ts +1 -1
  259. package/dist/src/components/popover/Popover.js +19 -40
  260. package/dist/src/components/popover/Popover.js.map +1 -1
  261. package/dist/src/components/popover/Popover.module.css.cjs +24 -23
  262. package/dist/src/components/popover/Popover.module.css.cjs.map +1 -1
  263. package/dist/src/components/popover/Popover.module.css.js +24 -32
  264. package/dist/src/components/popover/Popover.module.css.js.map +1 -1
  265. package/dist/src/components/progress/Progress.cjs +8 -7
  266. package/dist/src/components/progress/Progress.cjs.map +1 -1
  267. package/dist/src/components/progress/Progress.d.ts +1 -1
  268. package/dist/src/components/progress/Progress.js +8 -7
  269. package/dist/src/components/progress/Progress.js.map +1 -1
  270. package/dist/src/components/radio/Radio.cjs +14 -20
  271. package/dist/src/components/radio/Radio.cjs.map +1 -1
  272. package/dist/src/components/radio/Radio.d.ts +2 -2
  273. package/dist/src/components/radio/Radio.js +14 -21
  274. package/dist/src/components/radio/Radio.js.map +1 -1
  275. package/dist/src/components/rate/Rate.cjs +17 -19
  276. package/dist/src/components/rate/Rate.cjs.map +1 -1
  277. package/dist/src/components/rate/Rate.d.ts +1 -1
  278. package/dist/src/components/rate/Rate.js +18 -20
  279. package/dist/src/components/rate/Rate.js.map +1 -1
  280. package/dist/src/components/select/AntdSelect.cjs +57 -74
  281. package/dist/src/components/select/AntdSelect.cjs.map +1 -1
  282. package/dist/src/components/select/AntdSelect.js +53 -56
  283. package/dist/src/components/select/AntdSelect.js.map +1 -1
  284. package/dist/src/components/select/Select.cjs +119 -120
  285. package/dist/src/components/select/Select.cjs.map +1 -1
  286. package/dist/src/components/select/Select.js +117 -120
  287. package/dist/src/components/select/Select.js.map +1 -1
  288. package/dist/src/components/select/SummarizedSelect.cjs +384 -450
  289. package/dist/src/components/select/SummarizedSelect.cjs.map +1 -1
  290. package/dist/src/components/select/SummarizedSelect.d.ts +1 -1
  291. package/dist/src/components/select/SummarizedSelect.js +382 -450
  292. package/dist/src/components/select/SummarizedSelect.js.map +1 -1
  293. package/dist/src/components/select/SummarizedSelect.module.css.cjs +22 -21
  294. package/dist/src/components/select/SummarizedSelect.module.css.cjs.map +1 -1
  295. package/dist/src/components/select/SummarizedSelect.module.css.js +22 -29
  296. package/dist/src/components/select/SummarizedSelect.module.css.js.map +1 -1
  297. package/dist/src/components/skeleton/Skeleton.cjs +8 -7
  298. package/dist/src/components/skeleton/Skeleton.cjs.map +1 -1
  299. package/dist/src/components/skeleton/Skeleton.d.ts +1 -1
  300. package/dist/src/components/skeleton/Skeleton.js +13 -12
  301. package/dist/src/components/skeleton/Skeleton.js.map +1 -1
  302. package/dist/src/components/spinner/Spinner.cjs +27 -17
  303. package/dist/src/components/spinner/Spinner.cjs.map +1 -1
  304. package/dist/src/components/spinner/Spinner.d.ts +1 -1
  305. package/dist/src/components/spinner/Spinner.js +24 -16
  306. package/dist/src/components/spinner/Spinner.js.map +1 -1
  307. package/dist/src/components/steps/Steps.cjs +40 -57
  308. package/dist/src/components/steps/Steps.cjs.map +1 -1
  309. package/dist/src/components/steps/Steps.d.ts +1 -1
  310. package/dist/src/components/steps/Steps.js +37 -56
  311. package/dist/src/components/steps/Steps.js.map +1 -1
  312. package/dist/src/components/steps/useSteps.cjs +35 -54
  313. package/dist/src/components/steps/useSteps.cjs.map +1 -1
  314. package/dist/src/components/steps/useSteps.js +36 -55
  315. package/dist/src/components/steps/useSteps.js.map +1 -1
  316. package/dist/src/components/switch/Switch.cjs +16 -25
  317. package/dist/src/components/switch/Switch.cjs.map +1 -1
  318. package/dist/src/components/switch/Switch.d.ts +1 -1
  319. package/dist/src/components/switch/Switch.js +17 -26
  320. package/dist/src/components/switch/Switch.js.map +1 -1
  321. package/dist/src/components/table/Table.cjs +103 -109
  322. package/dist/src/components/table/Table.cjs.map +1 -1
  323. package/dist/src/components/table/Table.d.ts +3 -3
  324. package/dist/src/components/table/Table.js +102 -111
  325. package/dist/src/components/table/Table.js.map +1 -1
  326. package/dist/src/components/table/Table.module.css.cjs +10 -9
  327. package/dist/src/components/table/Table.module.css.cjs.map +1 -1
  328. package/dist/src/components/table/Table.module.css.js +10 -11
  329. package/dist/src/components/table/Table.module.css.js.map +1 -1
  330. package/dist/src/components/tabs/Tabs.cjs +12 -8
  331. package/dist/src/components/tabs/Tabs.cjs.map +1 -1
  332. package/dist/src/components/tabs/Tabs.d.ts +1 -1
  333. package/dist/src/components/tabs/Tabs.js +12 -8
  334. package/dist/src/components/tabs/Tabs.js.map +1 -1
  335. package/dist/src/components/tag/Tag.cjs +53 -73
  336. package/dist/src/components/tag/Tag.cjs.map +1 -1
  337. package/dist/src/components/tag/Tag.js +49 -56
  338. package/dist/src/components/tag/Tag.js.map +1 -1
  339. package/dist/src/components/tooltip/Tooltip.cjs +13 -12
  340. package/dist/src/components/tooltip/Tooltip.cjs.map +1 -1
  341. package/dist/src/components/tooltip/Tooltip.d.ts +1 -1
  342. package/dist/src/components/tooltip/Tooltip.js +13 -12
  343. package/dist/src/components/tooltip/Tooltip.js.map +1 -1
  344. package/dist/src/components/vennDiagram/VennDiagram.cjs +39 -50
  345. package/dist/src/components/vennDiagram/VennDiagram.cjs.map +1 -1
  346. package/dist/src/components/vennDiagram/VennDiagram.d.ts +1 -1
  347. package/dist/src/components/vennDiagram/VennDiagram.js +38 -49
  348. package/dist/src/components/vennDiagram/VennDiagram.js.map +1 -1
  349. package/dist/src/index.d.ts +5 -4
  350. package/dist/src/svgs/ProgressCircle.svg.cjs +38 -22
  351. package/dist/src/svgs/ProgressCircle.svg.cjs.map +1 -1
  352. package/dist/src/svgs/ProgressCircle.svg.js +36 -6
  353. package/dist/src/svgs/ProgressCircle.svg.js.map +1 -1
  354. package/dist/src/svgs/j2-logo-menu-collapse.svg.cjs +24 -22
  355. package/dist/src/svgs/j2-logo-menu-collapse.svg.cjs.map +1 -1
  356. package/dist/src/svgs/j2-logo-menu-collapse.svg.js +22 -6
  357. package/dist/src/svgs/j2-logo-menu-collapse.svg.js.map +1 -1
  358. package/dist/src/svgs/j2-logo-menu.svg.cjs +55 -22
  359. package/dist/src/svgs/j2-logo-menu.svg.cjs.map +1 -1
  360. package/dist/src/svgs/j2-logo-menu.svg.js +53 -6
  361. package/dist/src/svgs/j2-logo-menu.svg.js.map +1 -1
  362. package/dist/src/svgs/menu-sidebar-collapse.svg.cjs +78 -22
  363. package/dist/src/svgs/menu-sidebar-collapse.svg.cjs.map +1 -1
  364. package/dist/src/svgs/menu-sidebar-collapse.svg.js +76 -6
  365. package/dist/src/svgs/menu-sidebar-collapse.svg.js.map +1 -1
  366. package/dist/src/svgs/menu-sidebar-expand.svg.cjs +78 -22
  367. package/dist/src/svgs/menu-sidebar-expand.svg.cjs.map +1 -1
  368. package/dist/src/svgs/menu-sidebar-expand.svg.js +76 -6
  369. package/dist/src/svgs/menu-sidebar-expand.svg.js.map +1 -1
  370. package/dist/style.css +649 -624
  371. package/dist/tailwind.cjs +159 -175
  372. package/dist/tailwind.cjs.map +1 -1
  373. package/dist/tailwind.js +155 -176
  374. package/dist/tailwind.js.map +1 -1
  375. package/package.json +18 -18
  376. package/dist/index.cjs.map +0 -1
  377. package/dist/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxTree.cjs","sources":["../../../../src/components/checkboxTree/CheckboxTree.tsx"],"sourcesContent":["import React, { useState, useCallback, useEffect, useMemo } from 'react'\nimport { TreeNode } from './TreeNode'\nimport { getLeafKeys, getAllLeafKeys, getAllParentKeys } from './utils'\n\nexport type CheckboxTreeDataNode = {\n key: string | number\n title: React.ReactNode\n children?: CheckboxTreeDataNode[]\n disabled?: boolean\n}\n\nexport type CheckboxTreeProps = {\n treeData: CheckboxTreeDataNode[]\n defaultCheckedKeys?: (string | number)[]\n checkedKeys?: (string | number)[]\n onCheck?: (\n values: Record<string | number, boolean>,\n info: {\n checked: boolean\n checkedLeafNodes: Record<string | number, CheckboxTreeDataNode>\n allCheckedNodes: CheckboxTreeDataNode[]\n node: CheckboxTreeDataNode\n }\n ) => void\n disabled?: boolean\n defaultExpandAll?: boolean\n defaultExpandedKeys?: (string | number)[]\n expandedKeys?: (string | number)[]\n onExpand?: (expandedKeys: (string | number)[]) => void\n className?: string\n style?: React.CSSProperties\n lazyChildren?: boolean\n}\n\nexport const CheckboxTree = ({\n treeData,\n defaultCheckedKeys = [],\n checkedKeys: controlledCheckedKeys,\n onCheck,\n disabled = false,\n defaultExpandAll = true,\n defaultExpandedKeys,\n expandedKeys: controlledExpandedKeys,\n onExpand,\n className,\n style,\n lazyChildren = false,\n}: CheckboxTreeProps) => {\n const allLeafKeys = useMemo(() => getAllLeafKeys(treeData), [treeData])\n const leafKeySet = useMemo(() => new Set(allLeafKeys), [allLeafKeys])\n\n const [internalLeafNodeValues, setInternalLeafNodeValues] = useState<\n Record<string | number, boolean>\n >(() => {\n const defaultLeafKeySet = new Set(\n defaultCheckedKeys.filter((key) => leafKeySet.has(key))\n )\n const values: Record<string | number, boolean> = {}\n for (const key of allLeafKeys) {\n values[key] = defaultLeafKeySet.has(key)\n }\n return values\n })\n\n const [internalExpandedKeys, setInternalExpandedKeys] = useState<\n (string | number)[]\n >(() => {\n if (defaultExpandedKeys) return defaultExpandedKeys\n if (defaultExpandAll) return getAllParentKeys(treeData)\n return []\n })\n\n // When defaultExpandAll is true and treeData changes, auto-expand new parent nodes\n useEffect(() => {\n if (controlledExpandedKeys || !defaultExpandAll || defaultExpandedKeys)\n return\n const allParentKeys = getAllParentKeys(treeData)\n setInternalExpandedKeys((prev) => {\n const prevSet = new Set(prev)\n const newKeys = allParentKeys.filter((key) => !prevSet.has(key))\n if (newKeys.length === 0) return prev\n return [...prev, ...newKeys]\n })\n }, [treeData, defaultExpandAll, controlledExpandedKeys, defaultExpandedKeys])\n\n const expandedKeysSet = useMemo(() => {\n const keys = controlledExpandedKeys ?? internalExpandedKeys\n return new Set(keys)\n }, [controlledExpandedKeys, internalExpandedKeys])\n\n const handleToggleExpand = useCallback(\n (key: string | number) => {\n const currentKeys = controlledExpandedKeys ?? internalExpandedKeys\n const newKeys = currentKeys.includes(key)\n ? currentKeys.filter((k) => k !== key)\n : [...currentKeys, key]\n\n if (!controlledExpandedKeys) {\n setInternalExpandedKeys(newKeys)\n }\n onExpand?.(newKeys)\n },\n [controlledExpandedKeys, internalExpandedKeys, onExpand]\n )\n\n const leafNodeValues: Record<string | number, boolean> = useMemo(() => {\n if (!controlledCheckedKeys) {\n return internalLeafNodeValues\n }\n\n const controlledLeafKeySet = new Set(\n controlledCheckedKeys.filter((key) => leafKeySet.has(key))\n )\n\n const values: Record<string | number, boolean> = {}\n for (const key of allLeafKeys) {\n values[key] = controlledLeafKeySet.has(key)\n }\n return values\n }, [allLeafKeys, leafKeySet, controlledCheckedKeys, internalLeafNodeValues])\n\n const handleCheck = useCallback(\n (_key: string | number, checked: boolean, node: CheckboxTreeDataNode) => {\n const newLeafNodeValues = { ...leafNodeValues }\n\n if (checked) {\n // When checking, set all leaf descendants to true\n const leafKeys = getLeafKeys(node)\n leafKeys.forEach((leafKey) => (newLeafNodeValues[leafKey] = true))\n } else {\n // When unchecking, set all leaf descendants to false\n const leafKeys = getLeafKeys(node)\n leafKeys.forEach((leafKey) => (newLeafNodeValues[leafKey] = false))\n }\n\n if (!controlledCheckedKeys) {\n setInternalLeafNodeValues(newLeafNodeValues)\n }\n\n if (onCheck) {\n // Get all checked leaf nodes\n const checkedLeafNodes: Record<string | number, CheckboxTreeDataNode> =\n {}\n\n // Get all nodes that appear checked (including parents)\n const allCheckedNodes: CheckboxTreeDataNode[] = []\n\n const collectChecked = (current: CheckboxTreeDataNode): boolean => {\n let isChecked: boolean\n if (!current.children || current.children.length === 0) {\n isChecked = newLeafNodeValues[current.key] === true\n if (isChecked) {\n checkedLeafNodes[current.key] = current\n }\n } else {\n isChecked = true\n for (const child of current.children) {\n if (!collectChecked(child)) {\n isChecked = false\n }\n }\n }\n if (isChecked) {\n allCheckedNodes.push(current)\n }\n return isChecked\n }\n treeData.forEach(collectChecked)\n\n onCheck(newLeafNodeValues, {\n checked,\n checkedLeafNodes,\n allCheckedNodes,\n node,\n })\n }\n },\n [controlledCheckedKeys, onCheck, treeData, leafNodeValues]\n )\n\n return (\n <div className={className} style={style}>\n {treeData.map((node) => (\n <TreeNode\n key={node.key}\n node={node}\n level={0}\n leafNodeValues={leafNodeValues}\n onCheck={handleCheck}\n disabled={disabled}\n expandedKeys={expandedKeysSet}\n onToggleExpand={handleToggleExpand}\n lazyChildren={lazyChildren}\n />\n ))}\n </div>\n )\n}\n"],"names":["useMemo","getAllLeafKeys","useState","getAllParentKeys","useEffect","useCallback","getLeafKeys","jsx","TreeNode"],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxTree.cjs","names":["useMemo","getAllLeafKeys","useState","getAllParentKeys","useCallback","getLeafKeys","TreeNode"],"sources":["../../../../src/components/checkboxTree/CheckboxTree.tsx"],"sourcesContent":["import React, { useState, useCallback, useEffect, useMemo } from 'react'\nimport { TreeNode } from './TreeNode'\nimport { getLeafKeys, getAllLeafKeys, getAllParentKeys } from './utils'\n\nexport type CheckboxTreeDataNode = {\n key: string | number\n title: React.ReactNode\n children?: CheckboxTreeDataNode[]\n disabled?: boolean\n}\n\nexport type CheckboxTreeProps = {\n treeData: CheckboxTreeDataNode[]\n defaultCheckedKeys?: (string | number)[]\n checkedKeys?: (string | number)[]\n onCheck?: (\n values: Record<string | number, boolean>,\n info: {\n checked: boolean\n checkedLeafNodes: Record<string | number, CheckboxTreeDataNode>\n allCheckedNodes: CheckboxTreeDataNode[]\n node: CheckboxTreeDataNode\n }\n ) => void\n disabled?: boolean\n defaultExpandAll?: boolean\n defaultExpandedKeys?: (string | number)[]\n expandedKeys?: (string | number)[]\n onExpand?: (expandedKeys: (string | number)[]) => void\n className?: string\n style?: React.CSSProperties\n lazyChildren?: boolean\n}\n\nexport const CheckboxTree = ({\n treeData,\n defaultCheckedKeys = [],\n checkedKeys: controlledCheckedKeys,\n onCheck,\n disabled = false,\n defaultExpandAll = true,\n defaultExpandedKeys,\n expandedKeys: controlledExpandedKeys,\n onExpand,\n className,\n style,\n lazyChildren = false,\n}: CheckboxTreeProps) => {\n const allLeafKeys = useMemo(() => getAllLeafKeys(treeData), [treeData])\n const leafKeySet = useMemo(() => new Set(allLeafKeys), [allLeafKeys])\n\n const [internalLeafNodeValues, setInternalLeafNodeValues] = useState<\n Record<string | number, boolean>\n >(() => {\n const defaultLeafKeySet = new Set(\n defaultCheckedKeys.filter((key) => leafKeySet.has(key))\n )\n const values: Record<string | number, boolean> = {}\n for (const key of allLeafKeys) {\n values[key] = defaultLeafKeySet.has(key)\n }\n return values\n })\n\n const [internalExpandedKeys, setInternalExpandedKeys] = useState<\n (string | number)[]\n >(() => {\n if (defaultExpandedKeys) return defaultExpandedKeys\n if (defaultExpandAll) return getAllParentKeys(treeData)\n return []\n })\n\n // When defaultExpandAll is true and treeData changes, auto-expand new parent nodes\n useEffect(() => {\n if (controlledExpandedKeys || !defaultExpandAll || defaultExpandedKeys)\n return\n const allParentKeys = getAllParentKeys(treeData)\n setInternalExpandedKeys((prev) => {\n const prevSet = new Set(prev)\n const newKeys = allParentKeys.filter((key) => !prevSet.has(key))\n if (newKeys.length === 0) return prev\n return [...prev, ...newKeys]\n })\n }, [treeData, defaultExpandAll, controlledExpandedKeys, defaultExpandedKeys])\n\n const expandedKeysSet = useMemo(() => {\n const keys = controlledExpandedKeys ?? internalExpandedKeys\n return new Set(keys)\n }, [controlledExpandedKeys, internalExpandedKeys])\n\n const handleToggleExpand = useCallback(\n (key: string | number) => {\n const currentKeys = controlledExpandedKeys ?? internalExpandedKeys\n const newKeys = currentKeys.includes(key)\n ? currentKeys.filter((k) => k !== key)\n : [...currentKeys, key]\n\n if (!controlledExpandedKeys) {\n setInternalExpandedKeys(newKeys)\n }\n onExpand?.(newKeys)\n },\n [controlledExpandedKeys, internalExpandedKeys, onExpand]\n )\n\n const leafNodeValues: Record<string | number, boolean> = useMemo(() => {\n if (!controlledCheckedKeys) {\n return internalLeafNodeValues\n }\n\n const controlledLeafKeySet = new Set(\n controlledCheckedKeys.filter((key) => leafKeySet.has(key))\n )\n\n const values: Record<string | number, boolean> = {}\n for (const key of allLeafKeys) {\n values[key] = controlledLeafKeySet.has(key)\n }\n return values\n }, [allLeafKeys, leafKeySet, controlledCheckedKeys, internalLeafNodeValues])\n\n const handleCheck = useCallback(\n (_key: string | number, checked: boolean, node: CheckboxTreeDataNode) => {\n const newLeafNodeValues = { ...leafNodeValues }\n\n if (checked) {\n // When checking, set all leaf descendants to true\n const leafKeys = getLeafKeys(node)\n leafKeys.forEach((leafKey) => (newLeafNodeValues[leafKey] = true))\n } else {\n // When unchecking, set all leaf descendants to false\n const leafKeys = getLeafKeys(node)\n leafKeys.forEach((leafKey) => (newLeafNodeValues[leafKey] = false))\n }\n\n if (!controlledCheckedKeys) {\n setInternalLeafNodeValues(newLeafNodeValues)\n }\n\n if (onCheck) {\n // Get all checked leaf nodes\n const checkedLeafNodes: Record<string | number, CheckboxTreeDataNode> =\n {}\n\n // Get all nodes that appear checked (including parents)\n const allCheckedNodes: CheckboxTreeDataNode[] = []\n\n const collectChecked = (current: CheckboxTreeDataNode): boolean => {\n let isChecked: boolean\n if (!current.children || current.children.length === 0) {\n isChecked = newLeafNodeValues[current.key] === true\n if (isChecked) {\n checkedLeafNodes[current.key] = current\n }\n } else {\n isChecked = true\n for (const child of current.children) {\n if (!collectChecked(child)) {\n isChecked = false\n }\n }\n }\n if (isChecked) {\n allCheckedNodes.push(current)\n }\n return isChecked\n }\n treeData.forEach(collectChecked)\n\n onCheck(newLeafNodeValues, {\n checked,\n checkedLeafNodes,\n allCheckedNodes,\n node,\n })\n }\n },\n [controlledCheckedKeys, onCheck, treeData, leafNodeValues]\n )\n\n return (\n <div className={className} style={style}>\n {treeData.map((node) => (\n <TreeNode\n key={node.key}\n node={node}\n level={0}\n leafNodeValues={leafNodeValues}\n onCheck={handleCheck}\n disabled={disabled}\n expandedKeys={expandedKeysSet}\n onToggleExpand={handleToggleExpand}\n lazyChildren={lazyChildren}\n />\n ))}\n </div>\n )\n}\n"],"mappings":"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"}
@@ -1,140 +1,112 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { useMemo, useState, useEffect, useCallback } from "react";
3
- import { TreeNode } from "./TreeNode.js";
4
1
  import { getAllLeafKeys, getAllParentKeys, getLeafKeys } from "./utils.js";
5
- const CheckboxTree = ({
6
- treeData,
7
- defaultCheckedKeys = [],
8
- checkedKeys: controlledCheckedKeys,
9
- onCheck,
10
- disabled = false,
11
- defaultExpandAll = true,
12
- defaultExpandedKeys,
13
- expandedKeys: controlledExpandedKeys,
14
- onExpand,
15
- className,
16
- style,
17
- lazyChildren = false
18
- }) => {
19
- const allLeafKeys = useMemo(() => getAllLeafKeys(treeData), [treeData]);
20
- const leafKeySet = useMemo(() => new Set(allLeafKeys), [allLeafKeys]);
21
- const [internalLeafNodeValues, setInternalLeafNodeValues] = useState(() => {
22
- const defaultLeafKeySet = new Set(
23
- defaultCheckedKeys.filter((key) => leafKeySet.has(key))
24
- );
25
- const values = {};
26
- for (const key of allLeafKeys) {
27
- values[key] = defaultLeafKeySet.has(key);
28
- }
29
- return values;
30
- });
31
- const [internalExpandedKeys, setInternalExpandedKeys] = useState(() => {
32
- if (defaultExpandedKeys) return defaultExpandedKeys;
33
- if (defaultExpandAll) return getAllParentKeys(treeData);
34
- return [];
35
- });
36
- useEffect(() => {
37
- if (controlledExpandedKeys || !defaultExpandAll || defaultExpandedKeys)
38
- return;
39
- const allParentKeys = getAllParentKeys(treeData);
40
- setInternalExpandedKeys((prev) => {
41
- const prevSet = new Set(prev);
42
- const newKeys = allParentKeys.filter((key) => !prevSet.has(key));
43
- if (newKeys.length === 0) return prev;
44
- return [...prev, ...newKeys];
45
- });
46
- }, [treeData, defaultExpandAll, controlledExpandedKeys, defaultExpandedKeys]);
47
- const expandedKeysSet = useMemo(() => {
48
- const keys = controlledExpandedKeys ?? internalExpandedKeys;
49
- return new Set(keys);
50
- }, [controlledExpandedKeys, internalExpandedKeys]);
51
- const handleToggleExpand = useCallback(
52
- (key) => {
53
- const currentKeys = controlledExpandedKeys ?? internalExpandedKeys;
54
- const newKeys = currentKeys.includes(key) ? currentKeys.filter((k) => k !== key) : [...currentKeys, key];
55
- if (!controlledExpandedKeys) {
56
- setInternalExpandedKeys(newKeys);
57
- }
58
- onExpand == null ? void 0 : onExpand(newKeys);
59
- },
60
- [controlledExpandedKeys, internalExpandedKeys, onExpand]
61
- );
62
- const leafNodeValues = useMemo(() => {
63
- if (!controlledCheckedKeys) {
64
- return internalLeafNodeValues;
65
- }
66
- const controlledLeafKeySet = new Set(
67
- controlledCheckedKeys.filter((key) => leafKeySet.has(key))
68
- );
69
- const values = {};
70
- for (const key of allLeafKeys) {
71
- values[key] = controlledLeafKeySet.has(key);
72
- }
73
- return values;
74
- }, [allLeafKeys, leafKeySet, controlledCheckedKeys, internalLeafNodeValues]);
75
- const handleCheck = useCallback(
76
- (_key, checked, node) => {
77
- const newLeafNodeValues = { ...leafNodeValues };
78
- if (checked) {
79
- const leafKeys = getLeafKeys(node);
80
- leafKeys.forEach((leafKey) => newLeafNodeValues[leafKey] = true);
81
- } else {
82
- const leafKeys = getLeafKeys(node);
83
- leafKeys.forEach((leafKey) => newLeafNodeValues[leafKey] = false);
84
- }
85
- if (!controlledCheckedKeys) {
86
- setInternalLeafNodeValues(newLeafNodeValues);
87
- }
88
- if (onCheck) {
89
- const checkedLeafNodes = {};
90
- const allCheckedNodes = [];
91
- const collectChecked = (current) => {
92
- let isChecked;
93
- if (!current.children || current.children.length === 0) {
94
- isChecked = newLeafNodeValues[current.key] === true;
95
- if (isChecked) {
96
- checkedLeafNodes[current.key] = current;
97
- }
98
- } else {
99
- isChecked = true;
100
- for (const child of current.children) {
101
- if (!collectChecked(child)) {
102
- isChecked = false;
103
- }
104
- }
105
- }
106
- if (isChecked) {
107
- allCheckedNodes.push(current);
108
- }
109
- return isChecked;
110
- };
111
- treeData.forEach(collectChecked);
112
- onCheck(newLeafNodeValues, {
113
- checked,
114
- checkedLeafNodes,
115
- allCheckedNodes,
116
- node
117
- });
118
- }
119
- },
120
- [controlledCheckedKeys, onCheck, treeData, leafNodeValues]
121
- );
122
- return /* @__PURE__ */ jsx("div", { className, style, children: treeData.map((node) => /* @__PURE__ */ jsx(
123
- TreeNode,
124
- {
125
- node,
126
- level: 0,
127
- leafNodeValues,
128
- onCheck: handleCheck,
129
- disabled,
130
- expandedKeys: expandedKeysSet,
131
- onToggleExpand: handleToggleExpand,
132
- lazyChildren
133
- },
134
- node.key
135
- )) });
136
- };
137
- export {
138
- CheckboxTree
2
+ import { TreeNode } from "./TreeNode.js";
3
+ import { useCallback, useEffect, useMemo, useState } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/checkboxTree/CheckboxTree.tsx
6
+ var CheckboxTree = ({ treeData, defaultCheckedKeys = [], checkedKeys: controlledCheckedKeys, onCheck, disabled = false, defaultExpandAll = true, defaultExpandedKeys, expandedKeys: controlledExpandedKeys, onExpand, className, style, lazyChildren = false }) => {
7
+ const allLeafKeys = useMemo(() => getAllLeafKeys(treeData), [treeData]);
8
+ const leafKeySet = useMemo(() => new Set(allLeafKeys), [allLeafKeys]);
9
+ const [internalLeafNodeValues, setInternalLeafNodeValues] = useState(() => {
10
+ const defaultLeafKeySet = new Set(defaultCheckedKeys.filter((key) => leafKeySet.has(key)));
11
+ const values = {};
12
+ for (const key of allLeafKeys) values[key] = defaultLeafKeySet.has(key);
13
+ return values;
14
+ });
15
+ const [internalExpandedKeys, setInternalExpandedKeys] = useState(() => {
16
+ if (defaultExpandedKeys) return defaultExpandedKeys;
17
+ if (defaultExpandAll) return getAllParentKeys(treeData);
18
+ return [];
19
+ });
20
+ useEffect(() => {
21
+ if (controlledExpandedKeys || !defaultExpandAll || defaultExpandedKeys) return;
22
+ const allParentKeys = getAllParentKeys(treeData);
23
+ setInternalExpandedKeys((prev) => {
24
+ const prevSet = new Set(prev);
25
+ const newKeys = allParentKeys.filter((key) => !prevSet.has(key));
26
+ if (newKeys.length === 0) return prev;
27
+ return [...prev, ...newKeys];
28
+ });
29
+ }, [
30
+ treeData,
31
+ defaultExpandAll,
32
+ controlledExpandedKeys,
33
+ defaultExpandedKeys
34
+ ]);
35
+ const expandedKeysSet = useMemo(() => {
36
+ return new Set(controlledExpandedKeys ?? internalExpandedKeys);
37
+ }, [controlledExpandedKeys, internalExpandedKeys]);
38
+ const handleToggleExpand = useCallback((key) => {
39
+ const currentKeys = controlledExpandedKeys ?? internalExpandedKeys;
40
+ const newKeys = currentKeys.includes(key) ? currentKeys.filter((k) => k !== key) : [...currentKeys, key];
41
+ if (!controlledExpandedKeys) setInternalExpandedKeys(newKeys);
42
+ onExpand?.(newKeys);
43
+ }, [
44
+ controlledExpandedKeys,
45
+ internalExpandedKeys,
46
+ onExpand
47
+ ]);
48
+ const leafNodeValues = useMemo(() => {
49
+ if (!controlledCheckedKeys) return internalLeafNodeValues;
50
+ const controlledLeafKeySet = new Set(controlledCheckedKeys.filter((key) => leafKeySet.has(key)));
51
+ const values = {};
52
+ for (const key of allLeafKeys) values[key] = controlledLeafKeySet.has(key);
53
+ return values;
54
+ }, [
55
+ allLeafKeys,
56
+ leafKeySet,
57
+ controlledCheckedKeys,
58
+ internalLeafNodeValues
59
+ ]);
60
+ const handleCheck = useCallback((_key, checked, node) => {
61
+ const newLeafNodeValues = { ...leafNodeValues };
62
+ if (checked) getLeafKeys(node).forEach((leafKey) => newLeafNodeValues[leafKey] = true);
63
+ else getLeafKeys(node).forEach((leafKey) => newLeafNodeValues[leafKey] = false);
64
+ if (!controlledCheckedKeys) setInternalLeafNodeValues(newLeafNodeValues);
65
+ if (onCheck) {
66
+ const checkedLeafNodes = {};
67
+ const allCheckedNodes = [];
68
+ const collectChecked = (current) => {
69
+ let isChecked;
70
+ if (!current.children || current.children.length === 0) {
71
+ isChecked = newLeafNodeValues[current.key] === true;
72
+ if (isChecked) checkedLeafNodes[current.key] = current;
73
+ } else {
74
+ isChecked = true;
75
+ for (const child of current.children) if (!collectChecked(child)) isChecked = false;
76
+ }
77
+ if (isChecked) allCheckedNodes.push(current);
78
+ return isChecked;
79
+ };
80
+ treeData.forEach(collectChecked);
81
+ onCheck(newLeafNodeValues, {
82
+ checked,
83
+ checkedLeafNodes,
84
+ allCheckedNodes,
85
+ node
86
+ });
87
+ }
88
+ }, [
89
+ controlledCheckedKeys,
90
+ onCheck,
91
+ treeData,
92
+ leafNodeValues
93
+ ]);
94
+ return /* @__PURE__ */ jsx("div", {
95
+ className,
96
+ style,
97
+ children: treeData.map((node) => /* @__PURE__ */ jsx(TreeNode, {
98
+ node,
99
+ level: 0,
100
+ leafNodeValues,
101
+ onCheck: handleCheck,
102
+ disabled,
103
+ expandedKeys: expandedKeysSet,
104
+ onToggleExpand: handleToggleExpand,
105
+ lazyChildren
106
+ }, node.key))
107
+ });
139
108
  };
140
- //# sourceMappingURL=CheckboxTree.js.map
109
+ //#endregion
110
+ export { CheckboxTree };
111
+
112
+ //# sourceMappingURL=CheckboxTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxTree.js","sources":["../../../../src/components/checkboxTree/CheckboxTree.tsx"],"sourcesContent":["import React, { useState, useCallback, useEffect, useMemo } from 'react'\nimport { TreeNode } from './TreeNode'\nimport { getLeafKeys, getAllLeafKeys, getAllParentKeys } from './utils'\n\nexport type CheckboxTreeDataNode = {\n key: string | number\n title: React.ReactNode\n children?: CheckboxTreeDataNode[]\n disabled?: boolean\n}\n\nexport type CheckboxTreeProps = {\n treeData: CheckboxTreeDataNode[]\n defaultCheckedKeys?: (string | number)[]\n checkedKeys?: (string | number)[]\n onCheck?: (\n values: Record<string | number, boolean>,\n info: {\n checked: boolean\n checkedLeafNodes: Record<string | number, CheckboxTreeDataNode>\n allCheckedNodes: CheckboxTreeDataNode[]\n node: CheckboxTreeDataNode\n }\n ) => void\n disabled?: boolean\n defaultExpandAll?: boolean\n defaultExpandedKeys?: (string | number)[]\n expandedKeys?: (string | number)[]\n onExpand?: (expandedKeys: (string | number)[]) => void\n className?: string\n style?: React.CSSProperties\n lazyChildren?: boolean\n}\n\nexport const CheckboxTree = ({\n treeData,\n defaultCheckedKeys = [],\n checkedKeys: controlledCheckedKeys,\n onCheck,\n disabled = false,\n defaultExpandAll = true,\n defaultExpandedKeys,\n expandedKeys: controlledExpandedKeys,\n onExpand,\n className,\n style,\n lazyChildren = false,\n}: CheckboxTreeProps) => {\n const allLeafKeys = useMemo(() => getAllLeafKeys(treeData), [treeData])\n const leafKeySet = useMemo(() => new Set(allLeafKeys), [allLeafKeys])\n\n const [internalLeafNodeValues, setInternalLeafNodeValues] = useState<\n Record<string | number, boolean>\n >(() => {\n const defaultLeafKeySet = new Set(\n defaultCheckedKeys.filter((key) => leafKeySet.has(key))\n )\n const values: Record<string | number, boolean> = {}\n for (const key of allLeafKeys) {\n values[key] = defaultLeafKeySet.has(key)\n }\n return values\n })\n\n const [internalExpandedKeys, setInternalExpandedKeys] = useState<\n (string | number)[]\n >(() => {\n if (defaultExpandedKeys) return defaultExpandedKeys\n if (defaultExpandAll) return getAllParentKeys(treeData)\n return []\n })\n\n // When defaultExpandAll is true and treeData changes, auto-expand new parent nodes\n useEffect(() => {\n if (controlledExpandedKeys || !defaultExpandAll || defaultExpandedKeys)\n return\n const allParentKeys = getAllParentKeys(treeData)\n setInternalExpandedKeys((prev) => {\n const prevSet = new Set(prev)\n const newKeys = allParentKeys.filter((key) => !prevSet.has(key))\n if (newKeys.length === 0) return prev\n return [...prev, ...newKeys]\n })\n }, [treeData, defaultExpandAll, controlledExpandedKeys, defaultExpandedKeys])\n\n const expandedKeysSet = useMemo(() => {\n const keys = controlledExpandedKeys ?? internalExpandedKeys\n return new Set(keys)\n }, [controlledExpandedKeys, internalExpandedKeys])\n\n const handleToggleExpand = useCallback(\n (key: string | number) => {\n const currentKeys = controlledExpandedKeys ?? internalExpandedKeys\n const newKeys = currentKeys.includes(key)\n ? currentKeys.filter((k) => k !== key)\n : [...currentKeys, key]\n\n if (!controlledExpandedKeys) {\n setInternalExpandedKeys(newKeys)\n }\n onExpand?.(newKeys)\n },\n [controlledExpandedKeys, internalExpandedKeys, onExpand]\n )\n\n const leafNodeValues: Record<string | number, boolean> = useMemo(() => {\n if (!controlledCheckedKeys) {\n return internalLeafNodeValues\n }\n\n const controlledLeafKeySet = new Set(\n controlledCheckedKeys.filter((key) => leafKeySet.has(key))\n )\n\n const values: Record<string | number, boolean> = {}\n for (const key of allLeafKeys) {\n values[key] = controlledLeafKeySet.has(key)\n }\n return values\n }, [allLeafKeys, leafKeySet, controlledCheckedKeys, internalLeafNodeValues])\n\n const handleCheck = useCallback(\n (_key: string | number, checked: boolean, node: CheckboxTreeDataNode) => {\n const newLeafNodeValues = { ...leafNodeValues }\n\n if (checked) {\n // When checking, set all leaf descendants to true\n const leafKeys = getLeafKeys(node)\n leafKeys.forEach((leafKey) => (newLeafNodeValues[leafKey] = true))\n } else {\n // When unchecking, set all leaf descendants to false\n const leafKeys = getLeafKeys(node)\n leafKeys.forEach((leafKey) => (newLeafNodeValues[leafKey] = false))\n }\n\n if (!controlledCheckedKeys) {\n setInternalLeafNodeValues(newLeafNodeValues)\n }\n\n if (onCheck) {\n // Get all checked leaf nodes\n const checkedLeafNodes: Record<string | number, CheckboxTreeDataNode> =\n {}\n\n // Get all nodes that appear checked (including parents)\n const allCheckedNodes: CheckboxTreeDataNode[] = []\n\n const collectChecked = (current: CheckboxTreeDataNode): boolean => {\n let isChecked: boolean\n if (!current.children || current.children.length === 0) {\n isChecked = newLeafNodeValues[current.key] === true\n if (isChecked) {\n checkedLeafNodes[current.key] = current\n }\n } else {\n isChecked = true\n for (const child of current.children) {\n if (!collectChecked(child)) {\n isChecked = false\n }\n }\n }\n if (isChecked) {\n allCheckedNodes.push(current)\n }\n return isChecked\n }\n treeData.forEach(collectChecked)\n\n onCheck(newLeafNodeValues, {\n checked,\n checkedLeafNodes,\n allCheckedNodes,\n node,\n })\n }\n },\n [controlledCheckedKeys, onCheck, treeData, leafNodeValues]\n )\n\n return (\n <div className={className} style={style}>\n {treeData.map((node) => (\n <TreeNode\n key={node.key}\n node={node}\n level={0}\n leafNodeValues={leafNodeValues}\n onCheck={handleCheck}\n disabled={disabled}\n expandedKeys={expandedKeysSet}\n onToggleExpand={handleToggleExpand}\n lazyChildren={lazyChildren}\n />\n ))}\n </div>\n )\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxTree.js","names":[],"sources":["../../../../src/components/checkboxTree/CheckboxTree.tsx"],"sourcesContent":["import React, { useState, useCallback, useEffect, useMemo } from 'react'\nimport { TreeNode } from './TreeNode'\nimport { getLeafKeys, getAllLeafKeys, getAllParentKeys } from './utils'\n\nexport type CheckboxTreeDataNode = {\n key: string | number\n title: React.ReactNode\n children?: CheckboxTreeDataNode[]\n disabled?: boolean\n}\n\nexport type CheckboxTreeProps = {\n treeData: CheckboxTreeDataNode[]\n defaultCheckedKeys?: (string | number)[]\n checkedKeys?: (string | number)[]\n onCheck?: (\n values: Record<string | number, boolean>,\n info: {\n checked: boolean\n checkedLeafNodes: Record<string | number, CheckboxTreeDataNode>\n allCheckedNodes: CheckboxTreeDataNode[]\n node: CheckboxTreeDataNode\n }\n ) => void\n disabled?: boolean\n defaultExpandAll?: boolean\n defaultExpandedKeys?: (string | number)[]\n expandedKeys?: (string | number)[]\n onExpand?: (expandedKeys: (string | number)[]) => void\n className?: string\n style?: React.CSSProperties\n lazyChildren?: boolean\n}\n\nexport const CheckboxTree = ({\n treeData,\n defaultCheckedKeys = [],\n checkedKeys: controlledCheckedKeys,\n onCheck,\n disabled = false,\n defaultExpandAll = true,\n defaultExpandedKeys,\n expandedKeys: controlledExpandedKeys,\n onExpand,\n className,\n style,\n lazyChildren = false,\n}: CheckboxTreeProps) => {\n const allLeafKeys = useMemo(() => getAllLeafKeys(treeData), [treeData])\n const leafKeySet = useMemo(() => new Set(allLeafKeys), [allLeafKeys])\n\n const [internalLeafNodeValues, setInternalLeafNodeValues] = useState<\n Record<string | number, boolean>\n >(() => {\n const defaultLeafKeySet = new Set(\n defaultCheckedKeys.filter((key) => leafKeySet.has(key))\n )\n const values: Record<string | number, boolean> = {}\n for (const key of allLeafKeys) {\n values[key] = defaultLeafKeySet.has(key)\n }\n return values\n })\n\n const [internalExpandedKeys, setInternalExpandedKeys] = useState<\n (string | number)[]\n >(() => {\n if (defaultExpandedKeys) return defaultExpandedKeys\n if (defaultExpandAll) return getAllParentKeys(treeData)\n return []\n })\n\n // When defaultExpandAll is true and treeData changes, auto-expand new parent nodes\n useEffect(() => {\n if (controlledExpandedKeys || !defaultExpandAll || defaultExpandedKeys)\n return\n const allParentKeys = getAllParentKeys(treeData)\n setInternalExpandedKeys((prev) => {\n const prevSet = new Set(prev)\n const newKeys = allParentKeys.filter((key) => !prevSet.has(key))\n if (newKeys.length === 0) return prev\n return [...prev, ...newKeys]\n })\n }, [treeData, defaultExpandAll, controlledExpandedKeys, defaultExpandedKeys])\n\n const expandedKeysSet = useMemo(() => {\n const keys = controlledExpandedKeys ?? internalExpandedKeys\n return new Set(keys)\n }, [controlledExpandedKeys, internalExpandedKeys])\n\n const handleToggleExpand = useCallback(\n (key: string | number) => {\n const currentKeys = controlledExpandedKeys ?? internalExpandedKeys\n const newKeys = currentKeys.includes(key)\n ? currentKeys.filter((k) => k !== key)\n : [...currentKeys, key]\n\n if (!controlledExpandedKeys) {\n setInternalExpandedKeys(newKeys)\n }\n onExpand?.(newKeys)\n },\n [controlledExpandedKeys, internalExpandedKeys, onExpand]\n )\n\n const leafNodeValues: Record<string | number, boolean> = useMemo(() => {\n if (!controlledCheckedKeys) {\n return internalLeafNodeValues\n }\n\n const controlledLeafKeySet = new Set(\n controlledCheckedKeys.filter((key) => leafKeySet.has(key))\n )\n\n const values: Record<string | number, boolean> = {}\n for (const key of allLeafKeys) {\n values[key] = controlledLeafKeySet.has(key)\n }\n return values\n }, [allLeafKeys, leafKeySet, controlledCheckedKeys, internalLeafNodeValues])\n\n const handleCheck = useCallback(\n (_key: string | number, checked: boolean, node: CheckboxTreeDataNode) => {\n const newLeafNodeValues = { ...leafNodeValues }\n\n if (checked) {\n // When checking, set all leaf descendants to true\n const leafKeys = getLeafKeys(node)\n leafKeys.forEach((leafKey) => (newLeafNodeValues[leafKey] = true))\n } else {\n // When unchecking, set all leaf descendants to false\n const leafKeys = getLeafKeys(node)\n leafKeys.forEach((leafKey) => (newLeafNodeValues[leafKey] = false))\n }\n\n if (!controlledCheckedKeys) {\n setInternalLeafNodeValues(newLeafNodeValues)\n }\n\n if (onCheck) {\n // Get all checked leaf nodes\n const checkedLeafNodes: Record<string | number, CheckboxTreeDataNode> =\n {}\n\n // Get all nodes that appear checked (including parents)\n const allCheckedNodes: CheckboxTreeDataNode[] = []\n\n const collectChecked = (current: CheckboxTreeDataNode): boolean => {\n let isChecked: boolean\n if (!current.children || current.children.length === 0) {\n isChecked = newLeafNodeValues[current.key] === true\n if (isChecked) {\n checkedLeafNodes[current.key] = current\n }\n } else {\n isChecked = true\n for (const child of current.children) {\n if (!collectChecked(child)) {\n isChecked = false\n }\n }\n }\n if (isChecked) {\n allCheckedNodes.push(current)\n }\n return isChecked\n }\n treeData.forEach(collectChecked)\n\n onCheck(newLeafNodeValues, {\n checked,\n checkedLeafNodes,\n allCheckedNodes,\n node,\n })\n }\n },\n [controlledCheckedKeys, onCheck, treeData, leafNodeValues]\n )\n\n return (\n <div className={className} style={style}>\n {treeData.map((node) => (\n <TreeNode\n key={node.key}\n node={node}\n level={0}\n leafNodeValues={leafNodeValues}\n onCheck={handleCheck}\n disabled={disabled}\n expandedKeys={expandedKeysSet}\n onToggleExpand={handleToggleExpand}\n lazyChildren={lazyChildren}\n />\n ))}\n </div>\n )\n}\n"],"mappings":"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"}
@@ -1,92 +1,59 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const react = require("@phosphor-icons/react");
5
- const utils = require("./utils.cjs");
6
- const Checkbox = require("../checkbox/Checkbox.cjs");
7
- const TreeNode = ({
8
- node,
9
- level,
10
- leafNodeValues,
11
- onCheck,
12
- disabled,
13
- expandedKeys,
14
- onToggleExpand,
15
- lazyChildren
16
- }) => {
17
- const { checked: isChecked, indeterminate } = utils.getNodeCheckState(
18
- node,
19
- leafNodeValues
20
- );
21
- const isIndeterminate = lazyChildren && indeterminate;
22
- const isDisabled = disabled || node.disabled;
23
- const hasChildren = node.children && node.children.length > 0;
24
- const isExpanded = expandedKeys.has(node.key);
25
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
26
- /* @__PURE__ */ jsxRuntime.jsxs(
27
- "div",
28
- {
29
- className: "flex items-center min-h-6 mb-1",
30
- style: { paddingLeft: level * 20 },
31
- children: [
32
- /* @__PURE__ */ jsxRuntime.jsx(
33
- Checkbox.Checkbox,
34
- {
35
- checked: isChecked,
36
- indeterminate: isIndeterminate,
37
- disabled: isDisabled,
38
- onChange: (e) => onCheck(node.key, e.target.checked, node),
39
- children: node.title
40
- }
41
- ),
42
- hasChildren && !isDisabled && /* @__PURE__ */ jsxRuntime.jsx(
43
- "button",
44
- {
45
- type: "button",
46
- onClick: () => onToggleExpand(node.key),
47
- className: "flex items-center justify-center ml-auto cursor-pointer bg-transparent border-none p-0",
48
- "aria-expanded": isExpanded,
49
- "aria-label": `${isExpanded ? "Collapse" : "Expand"}${typeof node.title === "string" ? ` ${node.title}` : ""}`,
50
- children: /* @__PURE__ */ jsxRuntime.jsx(
51
- react.CaretDownIcon,
52
- {
53
- size: 14,
54
- style: {
55
- transform: `rotate(${isExpanded ? 0 : -90}deg)`,
56
- transition: "transform 150ms ease"
57
- }
58
- }
59
- )
60
- }
61
- )
62
- ]
63
- }
64
- ),
65
- hasChildren && /* @__PURE__ */ jsxRuntime.jsx(
66
- "div",
67
- {
68
- style: {
69
- display: "grid",
70
- gridTemplateRows: isExpanded ? "1fr" : "0fr",
71
- transition: "grid-template-rows 150ms ease"
72
- },
73
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { overflow: "hidden" }, children: (!lazyChildren || isExpanded) && node.children.map((childNode) => /* @__PURE__ */ jsxRuntime.jsx(
74
- TreeNode,
75
- {
76
- node: childNode,
77
- level: level + 1,
78
- leafNodeValues,
79
- onCheck,
80
- disabled,
81
- expandedKeys,
82
- onToggleExpand,
83
- lazyChildren
84
- },
85
- childNode.key
86
- )) })
87
- }
88
- )
89
- ] });
1
+ const require_Checkbox = require("../checkbox/Checkbox.cjs");
2
+ const require_utils = require("./utils.cjs");
3
+ let _phosphor_icons_react = require("@phosphor-icons/react");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ //#region src/components/checkboxTree/TreeNode.tsx
6
+ var TreeNode = ({ node, level, leafNodeValues, onCheck, disabled, expandedKeys, onToggleExpand, lazyChildren }) => {
7
+ const { checked: isChecked, indeterminate } = require_utils.getNodeCheckState(node, leafNodeValues);
8
+ const isIndeterminate = lazyChildren && indeterminate;
9
+ const isDisabled = disabled || node.disabled;
10
+ const hasChildren = node.children && node.children.length > 0;
11
+ const isExpanded = expandedKeys.has(node.key);
12
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13
+ className: "flex items-center min-h-6 mb-1",
14
+ style: { paddingLeft: level * 20 },
15
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Checkbox.Checkbox, {
16
+ checked: isChecked,
17
+ indeterminate: isIndeterminate,
18
+ disabled: isDisabled,
19
+ onChange: (e) => onCheck(node.key, e.target.checked, node),
20
+ children: node.title
21
+ }), hasChildren && !isDisabled && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
22
+ type: "button",
23
+ onClick: () => onToggleExpand(node.key),
24
+ className: "flex items-center justify-center ml-auto cursor-pointer bg-transparent border-none p-0",
25
+ "aria-expanded": isExpanded,
26
+ "aria-label": `${isExpanded ? "Collapse" : "Expand"}${typeof node.title === "string" ? ` ${node.title}` : ""}`,
27
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_phosphor_icons_react.CaretDownIcon, {
28
+ size: 14,
29
+ style: {
30
+ transform: `rotate(${isExpanded ? 0 : -90}deg)`,
31
+ transition: "transform 150ms ease"
32
+ }
33
+ })
34
+ })]
35
+ }), hasChildren && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
36
+ style: {
37
+ display: "grid",
38
+ gridTemplateRows: isExpanded ? "1fr" : "0fr",
39
+ transition: "grid-template-rows 150ms ease"
40
+ },
41
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
42
+ style: { overflow: "hidden" },
43
+ children: (!lazyChildren || isExpanded) && node.children.map((childNode) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeNode, {
44
+ node: childNode,
45
+ level: level + 1,
46
+ leafNodeValues,
47
+ onCheck,
48
+ disabled,
49
+ expandedKeys,
50
+ onToggleExpand,
51
+ lazyChildren
52
+ }, childNode.key))
53
+ })
54
+ })] });
90
55
  };
56
+ //#endregion
91
57
  exports.TreeNode = TreeNode;
92
- //# sourceMappingURL=TreeNode.cjs.map
58
+
59
+ //# sourceMappingURL=TreeNode.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNode.cjs","sources":["../../../../src/components/checkboxTree/TreeNode.tsx"],"sourcesContent":["import { CaretDownIcon } from '@phosphor-icons/react'\nimport { Checkbox } from '../checkbox'\nimport { CheckboxTreeDataNode } from './CheckboxTree'\nimport { getNodeCheckState } from './utils'\n\ntype TreeNodeProps = {\n node: CheckboxTreeDataNode\n level: number\n leafNodeValues: Record<string | number, boolean>\n onCheck: (\n key: string | number,\n checked: boolean,\n node: CheckboxTreeDataNode\n ) => void\n disabled: boolean\n expandedKeys: Set<string | number>\n onToggleExpand: (key: string | number) => void\n lazyChildren: boolean\n}\n\nexport const TreeNode = ({\n node,\n level,\n leafNodeValues,\n onCheck,\n disabled,\n expandedKeys,\n onToggleExpand,\n lazyChildren,\n}: TreeNodeProps) => {\n const { checked: isChecked, indeterminate } = getNodeCheckState(\n node,\n leafNodeValues\n )\n const isIndeterminate = lazyChildren && indeterminate\n const isDisabled = disabled || node.disabled\n const hasChildren = node.children && node.children.length > 0\n const isExpanded = expandedKeys.has(node.key)\n\n return (\n <div>\n <div\n className=\"flex items-center min-h-6 mb-1\"\n style={{ paddingLeft: level * 20 }}\n >\n <Checkbox\n checked={isChecked}\n indeterminate={isIndeterminate}\n disabled={isDisabled}\n onChange={(e) => onCheck(node.key, e.target.checked, node)}\n >\n {node.title}\n </Checkbox>\n {hasChildren && !isDisabled && (\n <button\n type=\"button\"\n onClick={() => onToggleExpand(node.key)}\n className=\"flex items-center justify-center ml-auto cursor-pointer bg-transparent border-none p-0\"\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'}${typeof node.title === 'string' ? ` ${node.title}` : ''}`}\n >\n <CaretDownIcon\n size={14}\n style={{\n transform: `rotate(${isExpanded ? 0 : -90}deg)`,\n transition: 'transform 150ms ease',\n }}\n />\n </button>\n )}\n </div>\n\n {hasChildren && (\n <div\n style={{\n display: 'grid',\n gridTemplateRows: isExpanded ? '1fr' : '0fr',\n transition: 'grid-template-rows 150ms ease',\n }}\n >\n <div style={{ overflow: 'hidden' }}>\n {(!lazyChildren || isExpanded) &&\n node.children!.map((childNode) => (\n <TreeNode\n key={childNode.key}\n node={childNode}\n level={level + 1}\n leafNodeValues={leafNodeValues}\n onCheck={onCheck}\n disabled={disabled}\n expandedKeys={expandedKeys}\n onToggleExpand={onToggleExpand}\n lazyChildren={lazyChildren}\n />\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["getNodeCheckState","jsxs","jsx","Checkbox","CaretDownIcon"],"mappings":";;;;;;AAoBO,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAqB;AACnB,QAAM,EAAE,SAAS,WAAW,cAAA,IAAkBA,MAAAA;AAAAA,IAC5C;AAAA,IACA;AAAA,EAAA;AAEF,QAAM,kBAAkB,gBAAgB;AACxC,QAAM,aAAa,YAAY,KAAK;AACpC,QAAM,cAAc,KAAK,YAAY,KAAK,SAAS,SAAS;AAC5D,QAAM,aAAa,aAAa,IAAI,KAAK,GAAG;AAE5C,yCACG,OAAA,EACC,UAAA;AAAA,IAAAC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,aAAa,QAAQ,GAAA;AAAA,QAE9B,UAAA;AAAA,UAAAC,2BAAAA;AAAAA,YAACC,SAAAA;AAAAA,YAAA;AAAA,cACC,SAAS;AAAA,cACT,eAAe;AAAA,cACf,UAAU;AAAA,cACV,UAAU,CAAC,MAAM,QAAQ,KAAK,KAAK,EAAE,OAAO,SAAS,IAAI;AAAA,cAExD,UAAA,KAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEP,eAAe,CAAC,cACfD,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,MAAM,eAAe,KAAK,GAAG;AAAA,cACtC,WAAU;AAAA,cACV,iBAAe;AAAA,cACf,cAAY,GAAG,aAAa,aAAa,QAAQ,GAAG,OAAO,KAAK,UAAU,WAAW,IAAI,KAAK,KAAK,KAAK,EAAE;AAAA,cAE1G,UAAAA,2BAAAA;AAAAA,gBAACE,MAAAA;AAAAA,gBAAA;AAAA,kBACC,MAAM;AAAA,kBACN,OAAO;AAAA,oBACL,WAAW,UAAU,aAAa,IAAI,GAAG;AAAA,oBACzC,YAAY;AAAA,kBAAA;AAAA,gBACd;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,IAIH,eACCF,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACL,SAAS;AAAA,UACT,kBAAkB,aAAa,QAAQ;AAAA,UACvC,YAAY;AAAA,QAAA;AAAA,QAGd,UAAAA,2BAAAA,IAAC,OAAA,EAAI,OAAO,EAAE,UAAU,YACpB,WAAA,CAAC,gBAAgB,eACjB,KAAK,SAAU,IAAI,CAAC,cAClBA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YAEC,MAAM;AAAA,YACN,OAAO,QAAQ;AAAA,YACf;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,UARK,UAAU;AAAA,QAAA,CAUlB,EAAA,CACL;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ;;"}
1
+ {"version":3,"file":"TreeNode.cjs","names":["getNodeCheckState","Checkbox","CaretDownIcon"],"sources":["../../../../src/components/checkboxTree/TreeNode.tsx"],"sourcesContent":["import { CaretDownIcon } from '@phosphor-icons/react'\nimport { Checkbox } from '../checkbox'\nimport { CheckboxTreeDataNode } from './CheckboxTree'\nimport { getNodeCheckState } from './utils'\n\ntype TreeNodeProps = {\n node: CheckboxTreeDataNode\n level: number\n leafNodeValues: Record<string | number, boolean>\n onCheck: (\n key: string | number,\n checked: boolean,\n node: CheckboxTreeDataNode\n ) => void\n disabled: boolean\n expandedKeys: Set<string | number>\n onToggleExpand: (key: string | number) => void\n lazyChildren: boolean\n}\n\nexport const TreeNode = ({\n node,\n level,\n leafNodeValues,\n onCheck,\n disabled,\n expandedKeys,\n onToggleExpand,\n lazyChildren,\n}: TreeNodeProps) => {\n const { checked: isChecked, indeterminate } = getNodeCheckState(\n node,\n leafNodeValues\n )\n const isIndeterminate = lazyChildren && indeterminate\n const isDisabled = disabled || node.disabled\n const hasChildren = node.children && node.children.length > 0\n const isExpanded = expandedKeys.has(node.key)\n\n return (\n <div>\n <div\n className=\"flex items-center min-h-6 mb-1\"\n style={{ paddingLeft: level * 20 }}\n >\n <Checkbox\n checked={isChecked}\n indeterminate={isIndeterminate}\n disabled={isDisabled}\n onChange={(e) => onCheck(node.key, e.target.checked, node)}\n >\n {node.title}\n </Checkbox>\n {hasChildren && !isDisabled && (\n <button\n type=\"button\"\n onClick={() => onToggleExpand(node.key)}\n className=\"flex items-center justify-center ml-auto cursor-pointer bg-transparent border-none p-0\"\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'}${typeof node.title === 'string' ? ` ${node.title}` : ''}`}\n >\n <CaretDownIcon\n size={14}\n style={{\n transform: `rotate(${isExpanded ? 0 : -90}deg)`,\n transition: 'transform 150ms ease',\n }}\n />\n </button>\n )}\n </div>\n\n {hasChildren && (\n <div\n style={{\n display: 'grid',\n gridTemplateRows: isExpanded ? '1fr' : '0fr',\n transition: 'grid-template-rows 150ms ease',\n }}\n >\n <div style={{ overflow: 'hidden' }}>\n {(!lazyChildren || isExpanded) &&\n node.children!.map((childNode) => (\n <TreeNode\n key={childNode.key}\n node={childNode}\n level={level + 1}\n leafNodeValues={leafNodeValues}\n onCheck={onCheck}\n disabled={disabled}\n expandedKeys={expandedKeys}\n onToggleExpand={onToggleExpand}\n lazyChildren={lazyChildren}\n />\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"mappings":";;;;;AAoBA,IAAa,YAAY,EACvB,MACA,OACA,gBACA,SACA,UACA,cACA,gBACA,mBACmB;CACnB,MAAM,EAAE,SAAS,WAAW,kBAAkBA,cAAAA,kBAC5C,MACA,cACF;CACA,MAAM,kBAAkB,gBAAgB;CACxC,MAAM,aAAa,YAAY,KAAK;CACpC,MAAM,cAAc,KAAK,YAAY,KAAK,SAAS,SAAS;CAC5D,MAAM,aAAa,aAAa,IAAI,KAAK,GAAG;CAE5C,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,WAAU;EACV,OAAO,EAAE,aAAa,QAAQ,GAAG;EAFnC,UAAA,CAIE,iBAAA,GAAA,kBAAA,IAAA,CAACC,iBAAAA,UAAD;GACE,SAAS;GACT,eAAe;GACf,UAAU;GACV,WAAW,MAAM,QAAQ,KAAK,KAAK,EAAE,OAAO,SAAS,IAAI;GAExD,UAAA,KAAK;EACE,CAAA,GACT,eAAe,CAAC,cACf,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;GACE,MAAK;GACL,eAAe,eAAe,KAAK,GAAG;GACtC,WAAU;GACV,iBAAe;GACf,cAAY,GAAG,aAAa,aAAa,WAAW,OAAO,KAAK,UAAU,WAAW,IAAI,KAAK,UAAU;GAExG,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,eAAD;IACE,MAAM;IACN,OAAO;KACL,WAAW,UAAU,aAAa,IAAI,IAAI;KAC1C,YAAY;IACd;GACD,CAAA;EACK,CAAA,CAEP;CAEJ,CAAA,GAAA,eACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,OAAO;GACL,SAAS;GACT,kBAAkB,aAAa,QAAQ;GACvC,YAAY;EACd;EAEA,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,OAAO,EAAE,UAAU,SAAS;GAC7B,WAAA,CAAC,gBAAgB,eACjB,KAAK,SAAU,KAAK,cAClB,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;IAEE,MAAM;IACN,OAAO,QAAQ;IACC;IACP;IACC;IACI;IACE;IACF;GACf,GATM,UAAU,GAShB,CACF;EACA,CAAA;CACF,CAAA,CAEJ,EAAA,CAAA;AAET"}
@@ -9,5 +9,5 @@ type TreeNodeProps = {
9
9
  onToggleExpand: (key: string | number) => void;
10
10
  lazyChildren: boolean;
11
11
  };
12
- export declare const TreeNode: ({ node, level, leafNodeValues, onCheck, disabled, expandedKeys, onToggleExpand, lazyChildren, }: TreeNodeProps) => import("react").JSX.Element;
12
+ export declare const TreeNode: ({ node, level, leafNodeValues, onCheck, disabled, expandedKeys, onToggleExpand, lazyChildren, }: TreeNodeProps) => import('react').JSX.Element;
13
13
  export {};