@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,455 +1,389 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const antd = require("antd");
5
- const React = require("react");
6
- const Icon = require("@ant-design/icons");
7
- const cx = require("classnames");
8
- const SummarizedSelect_module = require("./SummarizedSelect.module.css.cjs");
9
- const Tag = require("../tag/Tag.cjs");
10
- const react = require("@phosphor-icons/react");
11
- const isGroupOption = (option) => {
12
- return "options" in option;
1
+ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
2
+ const require_index = require("../icons/index.cjs");
3
+ const require_Tag = require("../tag/Tag.cjs");
4
+ const require_SummarizedSelect_module = require("./SummarizedSelect.module.css.cjs");
5
+ let react = require("react");
6
+ let antd = require("antd");
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ let classnames = require("classnames");
9
+ classnames = require_runtime.__toESM(classnames, 1);
10
+ let _ant_design_icons = require("@ant-design/icons");
11
+ //#region src/components/select/SummarizedSelect.tsx
12
+ var isGroupOption = (option) => {
13
+ return "options" in option;
13
14
  };
14
- const getAllOptions = (options) => {
15
- if (!options) return [];
16
- return options.flatMap(
17
- (option) => isGroupOption(option) ? option.options : [option]
18
- );
15
+ var getAllOptions = (options) => {
16
+ if (!options) return [];
17
+ return options.flatMap((option) => isGroupOption(option) ? option.options : [option]);
19
18
  };
20
- const filterOptions = (options, searchValue) => {
21
- if (!options) return [];
22
- if (!searchValue) return options;
23
- return options.map((option) => {
24
- var _a;
25
- if (isGroupOption(option)) {
26
- const filteredSubOptions = option.options.filter(
27
- (subOption) => {
28
- var _a2;
29
- return (_a2 = subOption.label) == null ? void 0 : _a2.toString().toLowerCase().includes(searchValue.toLowerCase());
30
- }
31
- );
32
- return filteredSubOptions.length > 0 ? { ...option, options: filteredSubOptions } : null;
33
- } else {
34
- return ((_a = option.label) == null ? void 0 : _a.toString().toLowerCase().includes(searchValue.toLowerCase())) ? option : null;
35
- }
36
- }).filter((option) => option !== null);
19
+ var filterOptions = (options, searchValue) => {
20
+ if (!options) return [];
21
+ if (!searchValue) return options;
22
+ return options.map((option) => {
23
+ if (isGroupOption(option)) {
24
+ const filteredSubOptions = option.options.filter((subOption) => subOption.label?.toString().toLowerCase().includes(searchValue.toLowerCase()));
25
+ return filteredSubOptions.length > 0 ? {
26
+ ...option,
27
+ options: filteredSubOptions
28
+ } : null;
29
+ } else return option.label?.toString().toLowerCase().includes(searchValue.toLowerCase()) ? option : null;
30
+ }).filter((option) => option !== null);
37
31
  };
38
- function SummarizedSelect({
39
- searchPlaceholder,
40
- formControlPlaceholder,
41
- loading,
42
- multiple,
43
- value,
44
- onChange,
45
- options,
46
- renderLabel,
47
- rootClassName,
48
- popupClassName,
49
- variant,
50
- trigger = "select",
51
- defaultOpen = false,
52
- ...props
53
- }) {
54
- const isHeadline = variant === "headlined";
55
- const antVariant = isHeadline ? "borderless" : variant;
56
- const [searchValue, setSearchValue] = React.useState("");
57
- const [focusTrigger, setFocusTrigger] = React.useState(defaultOpen ? 1 : 0);
58
- const [isOpen, setIsOpen] = React.useState(defaultOpen);
59
- const inputRef = React.useRef(null);
60
- const measureSpanRef = React.useRef(null);
61
- const [measuredWidth, setMeasuredWidth] = React.useState();
62
- const displayText = React.useMemo(() => {
63
- if (multiple && value.length > 0) {
64
- return renderLabel(value.length);
65
- }
66
- if (!multiple && value) {
67
- const option = getAllOptions(options).find((opt) => opt.value === value);
68
- return option ? String(option.label) : String(value);
69
- }
70
- return formControlPlaceholder ?? "";
71
- }, [multiple, value, options, renderLabel, formControlPlaceholder]);
72
- React.useEffect(() => {
73
- if (!measureSpanRef.current) return;
74
- setMeasuredWidth(Math.ceil(measureSpanRef.current.offsetWidth) + 46);
75
- }, [displayText]);
76
- React.useEffect(() => {
77
- if (focusTrigger > 0) {
78
- requestAnimationFrame(() => {
79
- requestAnimationFrame(() => {
80
- setTimeout(() => {
81
- var _a;
82
- (_a = inputRef.current) == null ? void 0 : _a.focus({ cursor: "end" });
83
- }, 100);
84
- });
85
- });
86
- }
87
- }, [focusTrigger]);
88
- const filteredOptions = React.useMemo(() => {
89
- return filterOptions(options, searchValue);
90
- }, [searchValue, options]);
91
- const flatFilteredOptions = React.useMemo(() => {
92
- return getAllOptions(filteredOptions);
93
- }, [filteredOptions]);
94
- const allFlatOptions = React.useMemo(() => {
95
- return getAllOptions(options);
96
- }, [options]);
97
- const handleTagClose = (removedValue) => {
98
- if (!multiple) return;
99
- onChange(value.filter((x) => x !== removedValue));
100
- };
101
- const handleToggleAll = () => {
102
- if (!multiple) return;
103
- const allFilteredValues = getAllOptions(filteredOptions).map(
104
- (opt) => opt.value
105
- );
106
- const someSelected = allFilteredValues.some((val) => value.includes(val));
107
- if (someSelected) {
108
- onChange(value.filter((val) => !allFilteredValues.includes(val)));
109
- }
110
- };
111
- const handleSelectFirstOption = () => {
112
- if (flatFilteredOptions.length === 0) return;
113
- const firstOption = flatFilteredOptions[0];
114
- if (!firstOption) return;
115
- const optionValue = firstOption.value;
116
- if (multiple) {
117
- if (value.includes(optionValue)) {
118
- onChange(value.filter((v) => v !== optionValue));
119
- } else {
120
- onChange([...value, optionValue]);
121
- }
122
- } else {
123
- onChange(optionValue);
124
- setIsOpen(false);
125
- }
126
- };
127
- const handleOptionClick = (optionValue) => {
128
- if (multiple) {
129
- if (value.includes(optionValue)) {
130
- onChange(value.filter((v) => v !== optionValue));
131
- } else {
132
- onChange([...value, optionValue]);
133
- }
134
- } else {
135
- onChange(optionValue);
136
- setIsOpen(false);
137
- }
138
- };
139
- const handleKeyDown = (e) => {
140
- const navigationKeys = ["ArrowUp", "ArrowDown"];
141
- if (e.key === "Enter") {
142
- e.preventDefault();
143
- e.stopPropagation();
144
- handleSelectFirstOption();
145
- return;
146
- }
147
- if (e.key === "Escape") {
148
- e.preventDefault();
149
- e.stopPropagation();
150
- setIsOpen(false);
151
- return;
152
- }
153
- if (navigationKeys.includes(e.key)) {
154
- e.preventDefault();
155
- return;
156
- }
157
- e.stopPropagation();
158
- };
159
- const optionRender = (option) => {
160
- if ("logo" in option.data && option.data.logo) {
161
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
162
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 shrink-0", children: option.data.logo }),
163
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "overflow-ellipsis overflow-hidden", children: option.label })
164
- ] });
165
- }
166
- return /* @__PURE__ */ jsxRuntime.jsx("div", { children: option.label });
167
- };
168
- const popupRender = (menu) => {
169
- const valueToLabel = (val) => {
170
- const option = allFlatOptions.find((opt) => opt.value === val);
171
- return option ? option.label : val;
172
- };
173
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
174
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 px-2 pb-2 border-b -mx-1 mt-1", children: /* @__PURE__ */ jsxRuntime.jsx(
175
- antd.Input,
176
- {
177
- ref: inputRef,
178
- autoFocus: true,
179
- placeholder: searchPlaceholder || "Search...",
180
- value: searchValue,
181
- onChange: (e) => {
182
- setSearchValue(e.target.value);
183
- e.stopPropagation();
184
- e.preventDefault();
185
- },
186
- onKeyDown: handleKeyDown,
187
- onClick: (e) => e.stopPropagation(),
188
- prefix: /* @__PURE__ */ jsxRuntime.jsx(
189
- react.MagnifyingGlassIcon,
190
- {
191
- size: 16,
192
- className: "text-j2-text-placeholder"
193
- }
194
- ),
195
- allowClear: true
196
- },
197
- focusTrigger
198
- ) }),
199
- multiple && value.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 pb-2", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-y-1", children: value.map((value2) => /* @__PURE__ */ jsxRuntime.jsx(
200
- Tag.Tag,
201
- {
202
- className: "opacity-100 z-10 flex max-w-full",
203
- status: "default",
204
- closable: true,
205
- onClose: () => handleTagClose(value2),
206
- children: /* @__PURE__ */ jsxRuntime.jsx(
207
- "span",
208
- {
209
- className: "overflow-ellipsis overflow-hidden",
210
- title: valueToLabel(value2),
211
- children: valueToLabel(value2)
212
- }
213
- )
214
- },
215
- value2
216
- )) }) }) : null,
217
- /* @__PURE__ */ jsxRuntime.jsx(
218
- "div",
219
- {
220
- className: cx(SummarizedSelect_module.default.menuContainer, "rounded-lg", {
221
- [SummarizedSelect_module.default.headlinedMenuContainer]: isHeadline,
222
- [SummarizedSelect_module.default.menuContainerMultiple]: multiple
223
- }),
224
- children: menu
225
- }
226
- ),
227
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-between items-center", children: multiple && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full mt-1 pt-1 border-t border-j2-border-secondary", children: /* @__PURE__ */ jsxRuntime.jsx(
228
- "div",
229
- {
230
- "aria-selected": "false",
231
- className: cx(
232
- "ant-select-item ant-select-item-option w-full",
233
- SummarizedSelect_module.default.clearAllButton
234
- ),
235
- title: "Clear all",
236
- onClick: handleToggleAll,
237
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ant-select-item-option-content text-center font-semibold", children: "Clear all" })
238
- }
239
- ) }) })
240
- ] });
241
- };
242
- const handleOpenChange = (open) => {
243
- setIsOpen(open);
244
- if (open) {
245
- setFocusTrigger((prev) => prev + 1);
246
- } else {
247
- setSearchValue("");
248
- }
249
- };
250
- const renderDropdownOptionRow = (option) => {
251
- const optionValue = option.value;
252
- const isSelected = multiple ? value.includes(optionValue) : value === optionValue;
253
- const hasLogo = "logo" in option && option.logo;
254
- return /* @__PURE__ */ jsxRuntime.jsx(
255
- "div",
256
- {
257
- role: "option",
258
- "aria-selected": isSelected,
259
- onClick: () => handleOptionClick(optionValue),
260
- className: cx(
261
- "px-3 py-1.5 rounded cursor-pointer text-sm",
262
- isSelected ? "bg-[var(--j2-color-primary)] text-white hover:bg-[var(--j2-color-primary)]" : "hover:bg-[var(--j2-color-bg-hover)]"
263
- ),
264
- children: hasLogo ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
265
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 shrink-0", children: option.logo }),
266
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "overflow-hidden overflow-ellipsis", children: option.label })
267
- ] }) : option.label
268
- },
269
- optionValue
270
- );
271
- };
272
- const dropdownPopupRender = () => {
273
- const valueToLabel = (val) => {
274
- const option = allFlatOptions.find((opt) => opt.value === val);
275
- return option ? option.label : val;
276
- };
277
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-white rounded-lg shadow-md p-2 min-w-[240px]", children: [
278
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-2 border-b border-j2-border-secondary", children: /* @__PURE__ */ jsxRuntime.jsx(
279
- antd.Input,
280
- {
281
- ref: inputRef,
282
- autoFocus: true,
283
- placeholder: searchPlaceholder || "Search...",
284
- value: searchValue,
285
- onChange: (e) => {
286
- setSearchValue(e.target.value);
287
- e.stopPropagation();
288
- },
289
- onKeyDown: handleKeyDown,
290
- onClick: (e) => e.stopPropagation(),
291
- prefix: /* @__PURE__ */ jsxRuntime.jsx(
292
- react.MagnifyingGlassIcon,
293
- {
294
- size: 16,
295
- className: "text-j2-text-placeholder"
296
- }
297
- ),
298
- allowClear: true
299
- },
300
- focusTrigger
301
- ) }),
302
- multiple && value.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-1 pt-2", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-y-1", children: value.map((v) => /* @__PURE__ */ jsxRuntime.jsx(
303
- Tag.Tag,
304
- {
305
- className: "opacity-100 z-10 flex max-w-full",
306
- status: "default",
307
- closable: true,
308
- onClose: () => handleTagClose(v),
309
- children: /* @__PURE__ */ jsxRuntime.jsx(
310
- "span",
311
- {
312
- className: "overflow-ellipsis overflow-hidden",
313
- title: valueToLabel(v),
314
- children: valueToLabel(v)
315
- }
316
- )
317
- },
318
- v
319
- )) }) }),
320
- /* @__PURE__ */ jsxRuntime.jsx(
321
- "div",
322
- {
323
- className: "max-h-72 overflow-y-auto py-1",
324
- role: "listbox",
325
- "aria-multiselectable": multiple || void 0,
326
- children: filteredOptions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3 py-2 text-sm text-[var(--j2-color-text-secondary)]", children: "No options found" }) : filteredOptions.map((opt) => {
327
- if (isGroupOption(opt)) {
328
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
329
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3 pt-2 pb-1 text-xs font-semibold uppercase tracking-wide text-[var(--j2-color-text-tertiary)]", children: opt.label }),
330
- opt.options.map(renderDropdownOptionRow)
331
- ] }, `group-${opt.label}`);
332
- }
333
- return renderDropdownOptionRow(opt);
334
- })
335
- }
336
- ),
337
- multiple && value.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 pt-1 border-t border-j2-border-secondary", children: /* @__PURE__ */ jsxRuntime.jsx(
338
- "div",
339
- {
340
- role: "button",
341
- "aria-label": "Clear all",
342
- title: "Clear all",
343
- onClick: handleToggleAll,
344
- className: cx(
345
- "text-center font-semibold text-sm py-1.5 rounded cursor-pointer",
346
- SummarizedSelect_module.default.clearAllButton
347
- ),
348
- children: "Clear all"
349
- }
350
- ) })
351
- ] });
352
- };
353
- if (trigger === "dropdown") {
354
- const hasSelection = multiple ? value.length > 0 : Boolean(value);
355
- const triggerContent = /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1", children: [
356
- hasSelection ? displayText : formControlPlaceholder ?? "Select",
357
- loading ? /* @__PURE__ */ jsxRuntime.jsx(
358
- antd.Spin,
359
- {
360
- indicator: /* @__PURE__ */ jsxRuntime.jsx(Icon.LoadingOutlined, { spin: true }),
361
- size: "small",
362
- "data-testid": "loading-spinner"
363
- }
364
- ) : /* @__PURE__ */ jsxRuntime.jsx(react.CaretDownIcon, { weight: "regular", "data-testid": "caret-down" })
365
- ] });
366
- return /* @__PURE__ */ jsxRuntime.jsx(
367
- antd.Dropdown,
368
- {
369
- open: isOpen,
370
- onOpenChange: handleOpenChange,
371
- trigger: ["click"],
372
- disabled: props.disabled,
373
- popupRender: dropdownPopupRender,
374
- children: /* @__PURE__ */ jsxRuntime.jsx(
375
- antd.Typography.Link,
376
- {
377
- disabled: props.disabled,
378
- className: cx("inline-flex", rootClassName),
379
- children: triggerContent
380
- }
381
- )
382
- }
383
- );
384
- }
385
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
386
- /* @__PURE__ */ jsxRuntime.jsx(
387
- "span",
388
- {
389
- ref: measureSpanRef,
390
- "aria-hidden": true,
391
- style: {
392
- position: "absolute",
393
- visibility: "hidden",
394
- whiteSpace: "nowrap",
395
- fontSize: "inherit"
396
- },
397
- children: displayText
398
- }
399
- ),
400
- /* @__PURE__ */ jsxRuntime.jsx(
401
- antd.Select,
402
- {
403
- open: isOpen,
404
- showSearch: false,
405
- style: { width: measuredWidth },
406
- suffixIcon: loading ? /* @__PURE__ */ jsxRuntime.jsx(
407
- antd.Spin,
408
- {
409
- indicator: /* @__PURE__ */ jsxRuntime.jsx(Icon.LoadingOutlined, { spin: true }),
410
- size: "small",
411
- "data-testid": "loading-spinner"
412
- }
413
- ) : /* @__PURE__ */ jsxRuntime.jsx(react.CaretDownIcon, { size: 14, "data-testid": "caret-down" }),
414
- placeholder: formControlPlaceholder,
415
- mode: multiple ? "multiple" : void 0,
416
- value,
417
- maxTagCount: 0,
418
- maxTagPlaceholder: multiple ? () => renderLabel(value.length) : value,
419
- options: filteredOptions,
420
- onChange: (val) => {
421
- if (multiple) {
422
- if (Array.isArray(val)) {
423
- onChange(val);
424
- } else {
425
- throw new Error("Value should be an array in multiple mode");
426
- }
427
- } else {
428
- if (typeof val === "string") {
429
- onChange(val);
430
- } else {
431
- throw new Error(
432
- "Value should be a string in single selection mode"
433
- );
434
- }
435
- }
436
- },
437
- popupRender,
438
- optionRender,
439
- onOpenChange: handleOpenChange,
440
- classNames: {
441
- root: cx(rootClassName, SummarizedSelect_module.default.summarizedSelect, {
442
- [SummarizedSelect_module.default.hemisphericSelect]: variant !== "underlined" && variant !== "headlined",
443
- [SummarizedSelect_module.default.isActive]: multiple && value.length > 0 && variant !== "underlined" && variant !== "headlined",
444
- [SummarizedSelect_module.default.headlinedSelect]: isHeadline
445
- }),
446
- popup: { root: popupClassName }
447
- },
448
- variant: antVariant,
449
- ...props
450
- }
451
- )
452
- ] });
32
+ function SummarizedSelect({ searchPlaceholder, formControlPlaceholder, loading, multiple, value, onChange, options, renderLabel, rootClassName, popupClassName, variant, trigger = "select", defaultOpen = false, ...props }) {
33
+ const isHeadline = variant === "headlined";
34
+ const antVariant = isHeadline ? "borderless" : variant;
35
+ const [searchValue, setSearchValue] = (0, react.useState)("");
36
+ const [focusTrigger, setFocusTrigger] = (0, react.useState)(defaultOpen ? 1 : 0);
37
+ const [isOpen, setIsOpen] = (0, react.useState)(defaultOpen);
38
+ const inputRef = (0, react.useRef)(null);
39
+ const measureSpanRef = (0, react.useRef)(null);
40
+ const [measuredWidth, setMeasuredWidth] = (0, react.useState)();
41
+ const displayText = (0, react.useMemo)(() => {
42
+ if (multiple && value.length > 0) return renderLabel(value.length);
43
+ if (!multiple && value) {
44
+ const option = getAllOptions(options).find((opt) => opt.value === value);
45
+ return option ? String(option.label) : String(value);
46
+ }
47
+ return formControlPlaceholder ?? "";
48
+ }, [
49
+ multiple,
50
+ value,
51
+ options,
52
+ renderLabel,
53
+ formControlPlaceholder
54
+ ]);
55
+ (0, react.useEffect)(() => {
56
+ if (!measureSpanRef.current) return;
57
+ setMeasuredWidth(Math.ceil(measureSpanRef.current.offsetWidth) + 46);
58
+ }, [displayText]);
59
+ (0, react.useEffect)(() => {
60
+ if (focusTrigger > 0) requestAnimationFrame(() => {
61
+ requestAnimationFrame(() => {
62
+ setTimeout(() => {
63
+ inputRef.current?.focus({ cursor: "end" });
64
+ }, 100);
65
+ });
66
+ });
67
+ }, [focusTrigger]);
68
+ const filteredOptions = (0, react.useMemo)(() => {
69
+ return filterOptions(options, searchValue);
70
+ }, [searchValue, options]);
71
+ const flatFilteredOptions = (0, react.useMemo)(() => {
72
+ return getAllOptions(filteredOptions);
73
+ }, [filteredOptions]);
74
+ const allFlatOptions = (0, react.useMemo)(() => {
75
+ return getAllOptions(options);
76
+ }, [options]);
77
+ const handleTagClose = (removedValue) => {
78
+ if (!multiple) return;
79
+ onChange(value.filter((x) => x !== removedValue));
80
+ };
81
+ const handleToggleAll = () => {
82
+ if (!multiple) return;
83
+ const allFilteredValues = getAllOptions(filteredOptions).map((opt) => opt.value);
84
+ if (allFilteredValues.some((val) => value.includes(val))) onChange(value.filter((val) => !allFilteredValues.includes(val)));
85
+ };
86
+ const handleSelectFirstOption = () => {
87
+ if (flatFilteredOptions.length === 0) return;
88
+ const firstOption = flatFilteredOptions[0];
89
+ if (!firstOption) return;
90
+ const optionValue = firstOption.value;
91
+ if (multiple) {
92
+ if (value.includes(optionValue)) onChange(value.filter((v) => v !== optionValue));
93
+ else onChange([...value, optionValue]);
94
+ } else {
95
+ onChange(optionValue);
96
+ handleOpenChange(false);
97
+ }
98
+ };
99
+ const handleOptionClick = (optionValue) => {
100
+ if (multiple) {
101
+ if (value.includes(optionValue)) onChange(value.filter((v) => v !== optionValue));
102
+ else onChange([...value, optionValue]);
103
+ } else {
104
+ onChange(optionValue);
105
+ handleOpenChange(false);
106
+ }
107
+ };
108
+ const handleKeyDown = (e) => {
109
+ const navigationKeys = ["ArrowUp", "ArrowDown"];
110
+ if (e.key === "Enter") {
111
+ e.preventDefault();
112
+ e.stopPropagation();
113
+ handleSelectFirstOption();
114
+ return;
115
+ }
116
+ if (e.key === "Escape") {
117
+ e.preventDefault();
118
+ e.stopPropagation();
119
+ handleOpenChange(false);
120
+ return;
121
+ }
122
+ if (navigationKeys.includes(e.key)) {
123
+ e.preventDefault();
124
+ return;
125
+ }
126
+ e.stopPropagation();
127
+ };
128
+ const optionRender = (option) => {
129
+ if ("logo" in option.data && option.data.logo) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
130
+ className: "flex items-center gap-2",
131
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
132
+ className: "h-4 shrink-0",
133
+ children: option.data.logo
134
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
135
+ className: "overflow-ellipsis overflow-hidden",
136
+ children: option.label
137
+ })]
138
+ });
139
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: option.label });
140
+ };
141
+ const popupRender = (menu) => {
142
+ const valueToLabel = (val) => {
143
+ const option = allFlatOptions.find((opt) => opt.value === val);
144
+ return option ? option.label : val;
145
+ };
146
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [
147
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
148
+ className: "mb-2 px-2 pb-2 border-b -mx-1 mt-1",
149
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Input, {
150
+ ref: inputRef,
151
+ autoFocus: true,
152
+ placeholder: searchPlaceholder || "Search...",
153
+ value: searchValue,
154
+ onChange: (e) => {
155
+ setSearchValue(e.target.value);
156
+ e.stopPropagation();
157
+ e.preventDefault();
158
+ },
159
+ onKeyDown: handleKeyDown,
160
+ onClick: (e) => e.stopPropagation(),
161
+ prefix: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.icons_exports.MagnifyingGlassIcon, {
162
+ size: 16,
163
+ className: "text-j2-text-placeholder"
164
+ }),
165
+ allowClear: true
166
+ }, focusTrigger)
167
+ }),
168
+ multiple && value.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
169
+ className: "px-2 pb-2",
170
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
171
+ className: "flex flex-wrap gap-y-1",
172
+ children: value.map((value) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Tag.Tag, {
173
+ className: "opacity-100 z-10 flex max-w-full",
174
+ status: "default",
175
+ closable: true,
176
+ onClose: () => handleTagClose(value),
177
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
178
+ className: "overflow-ellipsis overflow-hidden",
179
+ title: valueToLabel(value),
180
+ children: valueToLabel(value)
181
+ })
182
+ }, value))
183
+ })
184
+ }) : null,
185
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
186
+ className: (0, classnames.default)(require_SummarizedSelect_module.default.menuContainer, "rounded-lg", {
187
+ [require_SummarizedSelect_module.default.headlinedMenuContainer]: isHeadline,
188
+ [require_SummarizedSelect_module.default.menuContainerMultiple]: multiple
189
+ }),
190
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.Fragment, { children: menu }, searchValue)
191
+ }),
192
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
193
+ className: "flex justify-between items-center",
194
+ children: multiple && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
195
+ className: "w-full mt-1 pt-1 border-t border-j2-border-secondary",
196
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
197
+ "aria-selected": "false",
198
+ className: (0, classnames.default)("ant-select-item ant-select-item-option w-full", require_SummarizedSelect_module.default.clearAllButton),
199
+ title: "Clear all",
200
+ onClick: handleToggleAll,
201
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
202
+ className: "ant-select-item-option-content text-center font-semibold",
203
+ children: "Clear all"
204
+ })
205
+ })
206
+ })
207
+ })
208
+ ] });
209
+ };
210
+ const handleOpenChange = (open) => {
211
+ setIsOpen(open);
212
+ if (open) setFocusTrigger((prev) => prev + 1);
213
+ else setSearchValue("");
214
+ };
215
+ const renderDropdownOptionRow = (option) => {
216
+ const optionValue = option.value;
217
+ const isSelected = multiple ? value.includes(optionValue) : value === optionValue;
218
+ const hasLogo = "logo" in option && option.logo;
219
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
220
+ role: "option",
221
+ "aria-selected": isSelected,
222
+ onClick: () => handleOptionClick(optionValue),
223
+ className: (0, classnames.default)("px-3 py-1.5 rounded cursor-pointer text-sm", isSelected ? "bg-[var(--j2-color-primary)] text-white hover:bg-[var(--j2-color-primary)]" : "hover:bg-[var(--j2-color-bg-hover)]"),
224
+ children: hasLogo ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
225
+ className: "flex items-center gap-2",
226
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
227
+ className: "h-4 shrink-0",
228
+ children: option.logo
229
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
230
+ className: "overflow-hidden overflow-ellipsis",
231
+ children: option.label
232
+ })]
233
+ }) : option.label
234
+ }, optionValue);
235
+ };
236
+ const dropdownPopupRender = () => {
237
+ const valueToLabel = (val) => {
238
+ const option = allFlatOptions.find((opt) => opt.value === val);
239
+ return option ? option.label : val;
240
+ };
241
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
242
+ className: "bg-white rounded-lg shadow-md p-2 min-w-[240px]",
243
+ children: [
244
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
245
+ className: "pb-2 border-b border-j2-border-secondary",
246
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Input, {
247
+ ref: inputRef,
248
+ autoFocus: true,
249
+ placeholder: searchPlaceholder || "Search...",
250
+ value: searchValue,
251
+ onChange: (e) => {
252
+ setSearchValue(e.target.value);
253
+ e.stopPropagation();
254
+ },
255
+ onKeyDown: handleKeyDown,
256
+ onClick: (e) => e.stopPropagation(),
257
+ prefix: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.icons_exports.MagnifyingGlassIcon, {
258
+ size: 16,
259
+ className: "text-j2-text-placeholder"
260
+ }),
261
+ allowClear: true
262
+ }, focusTrigger)
263
+ }),
264
+ multiple && value.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
265
+ className: "px-1 pt-2",
266
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
267
+ className: "flex flex-wrap gap-y-1",
268
+ children: value.map((v) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Tag.Tag, {
269
+ className: "opacity-100 z-10 flex max-w-full",
270
+ status: "default",
271
+ closable: true,
272
+ onClose: () => handleTagClose(v),
273
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
274
+ className: "overflow-ellipsis overflow-hidden",
275
+ title: valueToLabel(v),
276
+ children: valueToLabel(v)
277
+ })
278
+ }, v))
279
+ })
280
+ }),
281
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
282
+ className: "max-h-72 overflow-y-auto py-1",
283
+ role: "listbox",
284
+ "aria-multiselectable": multiple || void 0,
285
+ children: filteredOptions.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
286
+ className: "px-3 py-2 text-sm text-[var(--j2-color-text-secondary)]",
287
+ children: "No options found"
288
+ }) : filteredOptions.map((opt) => {
289
+ if (isGroupOption(opt)) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
290
+ className: "px-3 pt-2 pb-1 text-xs font-semibold uppercase tracking-wide text-[var(--j2-color-text-tertiary)]",
291
+ children: opt.label
292
+ }), opt.options.map(renderDropdownOptionRow)] }, `group-${opt.label}`);
293
+ return renderDropdownOptionRow(opt);
294
+ })
295
+ }),
296
+ multiple && value.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
297
+ className: "mt-1 pt-1 border-t border-j2-border-secondary",
298
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
299
+ role: "button",
300
+ "aria-label": "Clear all",
301
+ title: "Clear all",
302
+ onClick: handleToggleAll,
303
+ className: (0, classnames.default)("text-center font-semibold text-sm py-1.5 rounded cursor-pointer", require_SummarizedSelect_module.default.clearAllButton),
304
+ children: "Clear all"
305
+ })
306
+ })
307
+ ]
308
+ });
309
+ };
310
+ if (trigger === "dropdown") {
311
+ const hasSelection = multiple ? value.length > 0 : Boolean(value);
312
+ const triggerContent = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
313
+ className: "inline-flex items-center gap-1",
314
+ children: [hasSelection ? displayText : formControlPlaceholder ?? "Select", loading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Spin, {
315
+ indicator: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ant_design_icons.LoadingOutlined, { spin: true }),
316
+ size: "small",
317
+ "data-testid": "loading-spinner"
318
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.icons_exports.CaretDownIcon, {
319
+ weight: "regular",
320
+ "data-testid": "caret-down"
321
+ })]
322
+ });
323
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Dropdown, {
324
+ open: isOpen,
325
+ onOpenChange: handleOpenChange,
326
+ trigger: ["click"],
327
+ disabled: props.disabled,
328
+ popupRender: dropdownPopupRender,
329
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Typography.Link, {
330
+ disabled: props.disabled,
331
+ className: (0, classnames.default)("inline-flex", rootClassName),
332
+ children: triggerContent
333
+ })
334
+ });
335
+ }
336
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
337
+ ref: measureSpanRef,
338
+ "aria-hidden": true,
339
+ style: {
340
+ position: "absolute",
341
+ visibility: "hidden",
342
+ whiteSpace: "nowrap",
343
+ fontSize: "inherit"
344
+ },
345
+ children: displayText
346
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Select, {
347
+ open: isOpen,
348
+ showSearch: false,
349
+ style: { width: measuredWidth },
350
+ suffixIcon: loading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Spin, {
351
+ indicator: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ant_design_icons.LoadingOutlined, { spin: true }),
352
+ size: "small",
353
+ "data-testid": "loading-spinner"
354
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.icons_exports.CaretDownIcon, {
355
+ size: 14,
356
+ "data-testid": "caret-down"
357
+ }),
358
+ placeholder: formControlPlaceholder,
359
+ mode: multiple ? "multiple" : void 0,
360
+ value,
361
+ maxTagCount: 0,
362
+ maxTagPlaceholder: multiple ? () => renderLabel(value.length) : value,
363
+ options: filteredOptions,
364
+ onChange: (val) => {
365
+ if (multiple) {
366
+ if (Array.isArray(val)) onChange(val);
367
+ else throw new Error("Value should be an array in multiple mode");
368
+ } else if (typeof val === "string") onChange(val);
369
+ else throw new Error("Value should be a string in single selection mode");
370
+ },
371
+ popupRender,
372
+ optionRender,
373
+ onOpenChange: handleOpenChange,
374
+ classNames: {
375
+ root: (0, classnames.default)(rootClassName, require_SummarizedSelect_module.default.summarizedSelect, {
376
+ [require_SummarizedSelect_module.default.hemisphericSelect]: variant !== "underlined" && variant !== "headlined",
377
+ [require_SummarizedSelect_module.default.isActive]: multiple && value.length > 0 && variant !== "underlined" && variant !== "headlined",
378
+ [require_SummarizedSelect_module.default.headlinedSelect]: isHeadline
379
+ }),
380
+ popup: { root: popupClassName }
381
+ },
382
+ variant: antVariant,
383
+ ...props
384
+ })] });
453
385
  }
386
+ //#endregion
454
387
  exports.SummarizedSelect = SummarizedSelect;
455
- //# sourceMappingURL=SummarizedSelect.cjs.map
388
+
389
+ //# sourceMappingURL=SummarizedSelect.cjs.map