@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":"SummarizedSelect.js","sources":["../../../../src/components/select/SummarizedSelect.tsx"],"sourcesContent":["import {\n Dropdown as AntdDropdown,\n Select,\n Spin,\n Input,\n SelectProps,\n InputRef,\n Typography,\n} from 'antd'\nimport { DefaultOptionType } from 'antd/es/select'\nimport { useState, useMemo, useRef, useEffect } from 'react'\nimport { LoadingOutlined } from '@ant-design/icons'\nimport * as icons from '../icons'\nimport { Tag } from '../tag'\nimport cx from 'classnames'\n\nimport styles from './SummarizedSelect.module.css'\n\ntype Option = DefaultOptionType\ntype OptionWithLogo = Option & {\n logo: React.ReactNode\n}\n\ntype GroupOption = {\n label: string\n options: Option[]\n}\n\nexport type SelectOption = Option | GroupOption | OptionWithLogo\n\nexport type SummarizedSelectVariant = SelectProps['variant'] | 'headlined'\n\nexport type SummarizedSelectTrigger = 'select' | 'dropdown'\n\ntype BaseProps = Omit<\n SelectProps<string | string[], SelectOption>,\n 'mode' | 'value' | 'onChange' | 'variant'\n> & {\n searchPlaceholder?: string\n formControlPlaceholder?: string\n rootClassName?: string\n popupClassName?: string\n variant?: SummarizedSelectVariant\n /**\n * Shape of the control that opens the popup.\n * - `'select'` (default): antd Select, styled by `variant`.\n * - `'dropdown'`: antd Dropdown with a `Typography.Link` target (label + caret).\n * Ignores `variant` — the trigger is always a link.\n */\n trigger?: SummarizedSelectTrigger\n defaultOpen?: boolean\n\n loading?: boolean\n}\n\ntype SingleProps = {\n multiple?: false\n renderLabel?: undefined\n value: string | undefined\n onChange: (newValue: string) => void\n}\n\ntype MultiProps = {\n multiple: true\n renderLabel: (count: number) => string\n value: string[]\n onChange: (newValue: string[]) => void\n}\n\nexport type Props = BaseProps & (SingleProps | MultiProps)\n\nconst isGroupOption = (option: SelectOption): option is GroupOption => {\n return 'options' in option\n}\n\nconst getAllOptions = (options: SelectOption[] | undefined): Option[] => {\n if (!options) return []\n\n return options.flatMap((option) =>\n isGroupOption(option) ? option.options : [option]\n )\n}\n\nconst filterOptions = (\n options: SelectOption[] | undefined,\n searchValue: string\n): SelectOption[] => {\n if (!options) return []\n if (!searchValue) return options\n\n return options\n .map((option) => {\n if (isGroupOption(option)) {\n const filteredSubOptions = option.options.filter((subOption) =>\n subOption.label\n ?.toString()\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n )\n return filteredSubOptions.length > 0\n ? { ...option, options: filteredSubOptions }\n : null\n } else {\n return option.label\n ?.toString()\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n ? option\n : null\n }\n })\n .filter((option): option is SelectOption => option !== null)\n}\n\nexport function SummarizedSelect({\n searchPlaceholder,\n formControlPlaceholder,\n loading,\n multiple,\n value,\n onChange,\n options,\n renderLabel,\n rootClassName,\n popupClassName,\n variant,\n trigger = 'select',\n defaultOpen = false,\n ...props\n}: Props) {\n const isHeadline = variant === 'headlined'\n const antVariant = isHeadline ? 'borderless' : variant\n const [searchValue, setSearchValue] = useState('')\n const [focusTrigger, setFocusTrigger] = useState(defaultOpen ? 1 : 0)\n const [isOpen, setIsOpen] = useState(defaultOpen)\n const inputRef = useRef<InputRef>(null)\n const measureSpanRef = useRef<HTMLSpanElement>(null)\n const [measuredWidth, setMeasuredWidth] = useState<number>()\n\n const displayText = useMemo(() => {\n if (multiple && value.length > 0) {\n return renderLabel(value.length)\n }\n if (!multiple && value) {\n const option = getAllOptions(options).find((opt) => opt.value === value)\n return option ? String(option.label) : String(value)\n }\n return formControlPlaceholder ?? ''\n }, [multiple, value, options, renderLabel, formControlPlaceholder])\n\n useEffect(() => {\n if (!measureSpanRef.current) return\n // padding (22px = 11px each side) + arrow (18px) + border (6px)\n setMeasuredWidth(Math.ceil(measureSpanRef.current.offsetWidth) + 46)\n }, [displayText])\n\n useEffect(() => {\n if (focusTrigger > 0) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n setTimeout(() => {\n inputRef.current?.focus({ cursor: 'end' })\n }, 100)\n })\n })\n }\n }, [focusTrigger])\n\n const filteredOptions = useMemo(() => {\n return filterOptions(options, searchValue)\n }, [searchValue, options])\n\n const flatFilteredOptions = useMemo(() => {\n return getAllOptions(filteredOptions)\n }, [filteredOptions])\n\n const allFlatOptions = useMemo(() => {\n return getAllOptions(options)\n }, [options])\n\n const handleTagClose = (removedValue: string) => {\n if (!multiple) return\n\n onChange(value.filter((x) => x !== removedValue))\n }\n\n const handleToggleAll = () => {\n if (!multiple) return\n\n const allFilteredValues = getAllOptions(filteredOptions).map(\n (opt) => opt.value as string\n )\n const someSelected = allFilteredValues.some((val) => value.includes(val))\n\n if (someSelected) {\n onChange(value.filter((val) => !allFilteredValues.includes(val)))\n }\n }\n\n const handleSelectFirstOption = () => {\n if (flatFilteredOptions.length === 0) return\n\n const firstOption = flatFilteredOptions[0]\n if (!firstOption) return\n\n const optionValue = firstOption.value as string\n\n if (multiple) {\n if (value.includes(optionValue)) {\n onChange(value.filter((v) => v !== optionValue))\n } else {\n onChange([...value, optionValue])\n }\n } else {\n onChange(optionValue)\n setIsOpen(false)\n }\n }\n\n const handleOptionClick = (optionValue: string) => {\n if (multiple) {\n if (value.includes(optionValue)) {\n onChange(value.filter((v) => v !== optionValue))\n } else {\n onChange([...value, optionValue])\n }\n } else {\n onChange(optionValue)\n setIsOpen(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n // Allow these navigation keys to bubble up to Select's native keyboard handler\n const navigationKeys = ['ArrowUp', 'ArrowDown']\n\n // Handle Enter - select first filtered option (custom behavior)\n if (e.key === 'Enter') {\n e.preventDefault()\n e.stopPropagation()\n handleSelectFirstOption()\n return\n }\n\n // Handle Escape - close dropdown (custom behavior)\n if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n setIsOpen(false)\n return\n }\n\n // For arrow keys, prevent cursor movement but allow propagation to Select\n if (navigationKeys.includes(e.key)) {\n e.preventDefault() // Prevents cursor from moving to start/end of input text\n // Do NOT call stopPropagation() - let event bubble to Select component\n return\n }\n\n // For all other keys (including Backspace), stop propagation\n // This prevents backspace from removing tags in multiple mode\n e.stopPropagation()\n }\n\n const optionRender: NonNullable<\n SelectProps<string | string[], SelectOption>['optionRender']\n > = (option) => {\n if ('logo' in option.data && option.data.logo) {\n return (\n <div className=\"flex items-center gap-2\">\n <div className=\"h-4 shrink-0\">{option.data.logo}</div>\n <span className=\"overflow-ellipsis overflow-hidden\">\n {option.label}\n </span>\n </div>\n )\n }\n return <div>{option.label}</div>\n }\n\n const popupRender = (menu: React.ReactElement) => {\n const valueToLabel = (val: string) => {\n const option = allFlatOptions.find((opt) => opt.value === val)\n return option ? (option.label as string) : val\n }\n\n return (\n <div>\n <div className=\"mb-2 px-2 pb-2 border-b -mx-1 mt-1\">\n <Input\n ref={inputRef}\n key={focusTrigger}\n autoFocus\n placeholder={searchPlaceholder || 'Search...'}\n value={searchValue}\n onChange={(e) => {\n setSearchValue(e.target.value)\n e.stopPropagation()\n e.preventDefault()\n }}\n onKeyDown={handleKeyDown}\n onClick={(e) => e.stopPropagation()}\n prefix={\n <icons.MagnifyingGlassIcon\n size={16}\n className=\"text-j2-text-placeholder\"\n />\n }\n allowClear\n />\n </div>\n {multiple && value.length > 0 ? (\n <div className=\"px-2 pb-2\">\n <div className=\"flex flex-wrap gap-y-1\">\n {(value as string[]).map((value) => (\n <Tag\n className=\"opacity-100 z-10 flex max-w-full\"\n key={value}\n status=\"default\"\n closable\n onClose={() => handleTagClose(value)}\n >\n <span\n className=\"overflow-ellipsis overflow-hidden\"\n title={valueToLabel(value)}\n >\n {valueToLabel(value)}\n </span>\n </Tag>\n ))}\n </div>\n </div>\n ) : null}\n <div\n className={cx(styles.menuContainer, 'rounded-lg', {\n [styles.headlinedMenuContainer]: isHeadline,\n [styles.menuContainerMultiple]: multiple,\n })}\n >\n {menu}\n </div>\n <div className=\"flex justify-between items-center\">\n {multiple && (\n <div className=\"w-full mt-1 pt-1 border-t border-j2-border-secondary\">\n <div\n aria-selected=\"false\"\n className={cx(\n 'ant-select-item ant-select-item-option w-full',\n styles.clearAllButton\n )}\n title=\"Clear all\"\n onClick={handleToggleAll}\n >\n <div className=\"ant-select-item-option-content text-center font-semibold\">\n Clear all\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n )\n }\n\n const handleOpenChange = (open: boolean) => {\n setIsOpen(open)\n if (open) {\n // Trigger focus by updating the counter\n setFocusTrigger((prev) => prev + 1)\n } else {\n setSearchValue('')\n }\n }\n\n const renderDropdownOptionRow = (option: Option) => {\n const optionValue = option.value as string\n const isSelected = multiple\n ? value.includes(optionValue)\n : value === optionValue\n const hasLogo = 'logo' in option && (option as OptionWithLogo).logo\n return (\n <div\n key={optionValue}\n role=\"option\"\n aria-selected={isSelected}\n onClick={() => handleOptionClick(optionValue)}\n className={cx(\n 'px-3 py-1.5 rounded cursor-pointer text-sm',\n isSelected\n ? 'bg-[var(--j2-color-primary)] text-white hover:bg-[var(--j2-color-primary)]'\n : 'hover:bg-[var(--j2-color-bg-hover)]'\n )}\n >\n {hasLogo ? (\n <div className=\"flex items-center gap-2\">\n <div className=\"h-4 shrink-0\">\n {(option as OptionWithLogo).logo}\n </div>\n <span className=\"overflow-hidden overflow-ellipsis\">\n {option.label}\n </span>\n </div>\n ) : (\n option.label\n )}\n </div>\n )\n }\n\n const dropdownPopupRender = () => {\n const valueToLabel = (val: string) => {\n const option = allFlatOptions.find((opt) => opt.value === val)\n return option ? (option.label as string) : val\n }\n\n return (\n <div className=\"bg-white rounded-lg shadow-md p-2 min-w-[240px]\">\n <div className=\"pb-2 border-b border-j2-border-secondary\">\n <Input\n ref={inputRef}\n key={focusTrigger}\n autoFocus\n placeholder={searchPlaceholder || 'Search...'}\n value={searchValue}\n onChange={(e) => {\n setSearchValue(e.target.value)\n e.stopPropagation()\n }}\n onKeyDown={handleKeyDown}\n onClick={(e) => e.stopPropagation()}\n prefix={\n <icons.MagnifyingGlassIcon\n size={16}\n className=\"text-j2-text-placeholder\"\n />\n }\n allowClear\n />\n </div>\n {multiple && value.length > 0 && (\n <div className=\"px-1 pt-2\">\n <div className=\"flex flex-wrap gap-y-1\">\n {(value as string[]).map((v) => (\n <Tag\n className=\"opacity-100 z-10 flex max-w-full\"\n key={v}\n status=\"default\"\n closable\n onClose={() => handleTagClose(v)}\n >\n <span\n className=\"overflow-ellipsis overflow-hidden\"\n title={valueToLabel(v)}\n >\n {valueToLabel(v)}\n </span>\n </Tag>\n ))}\n </div>\n </div>\n )}\n <div\n className=\"max-h-72 overflow-y-auto py-1\"\n role=\"listbox\"\n aria-multiselectable={multiple || undefined}\n >\n {filteredOptions.length === 0 ? (\n <div className=\"px-3 py-2 text-sm text-[var(--j2-color-text-secondary)]\">\n No options found\n </div>\n ) : (\n filteredOptions.map((opt) => {\n if (isGroupOption(opt)) {\n return (\n <div key={`group-${opt.label}`}>\n <div className=\"px-3 pt-2 pb-1 text-xs font-semibold uppercase tracking-wide text-[var(--j2-color-text-tertiary)]\">\n {opt.label}\n </div>\n {opt.options.map(renderDropdownOptionRow)}\n </div>\n )\n }\n return renderDropdownOptionRow(opt)\n })\n )}\n </div>\n {multiple && value.length > 0 && (\n <div className=\"mt-1 pt-1 border-t border-j2-border-secondary\">\n <div\n role=\"button\"\n aria-label=\"Clear all\"\n title=\"Clear all\"\n onClick={handleToggleAll}\n className={cx(\n 'text-center font-semibold text-sm py-1.5 rounded cursor-pointer',\n styles.clearAllButton\n )}\n >\n Clear all\n </div>\n </div>\n )}\n </div>\n )\n }\n\n if (trigger === 'dropdown') {\n const hasSelection = multiple ? value.length > 0 : Boolean(value)\n const triggerContent = (\n <span className=\"inline-flex items-center gap-1\">\n {hasSelection ? displayText : (formControlPlaceholder ?? 'Select')}\n {loading ? (\n <Spin\n indicator={<LoadingOutlined spin />}\n size=\"small\"\n data-testid=\"loading-spinner\"\n />\n ) : (\n <icons.CaretDownIcon weight=\"regular\" data-testid=\"caret-down\" />\n )}\n </span>\n )\n\n return (\n <AntdDropdown\n open={isOpen}\n onOpenChange={handleOpenChange}\n trigger={['click']}\n disabled={props.disabled}\n popupRender={dropdownPopupRender}\n >\n <Typography.Link\n disabled={props.disabled}\n className={cx('inline-flex', rootClassName)}\n >\n {triggerContent}\n </Typography.Link>\n </AntdDropdown>\n )\n }\n\n return (\n <>\n <span\n ref={measureSpanRef}\n aria-hidden\n style={{\n position: 'absolute',\n visibility: 'hidden',\n whiteSpace: 'nowrap',\n fontSize: 'inherit',\n }}\n >\n {displayText}\n </span>\n <Select<string | string[], SelectOption>\n open={isOpen}\n showSearch={false}\n style={{ width: measuredWidth }}\n suffixIcon={\n loading ? (\n <Spin\n indicator={<LoadingOutlined spin />}\n size=\"small\"\n data-testid=\"loading-spinner\"\n />\n ) : (\n <icons.CaretDownIcon size={14} data-testid=\"caret-down\" />\n )\n }\n placeholder={formControlPlaceholder}\n mode={multiple ? 'multiple' : undefined}\n value={value}\n maxTagCount={0}\n maxTagPlaceholder={multiple ? () => renderLabel(value.length) : value}\n options={filteredOptions}\n onChange={(val) => {\n if (multiple) {\n if (Array.isArray(val)) {\n onChange(val)\n } else {\n throw new Error('Value should be an array in multiple mode')\n }\n } else {\n if (typeof val === 'string') {\n onChange(val)\n } else {\n throw new Error(\n 'Value should be a string in single selection mode'\n )\n }\n }\n }}\n popupRender={popupRender}\n optionRender={optionRender}\n onOpenChange={handleOpenChange}\n classNames={{\n root: cx(rootClassName, styles.summarizedSelect, {\n [styles.hemisphericSelect]:\n variant !== 'underlined' && variant !== 'headlined',\n [styles.isActive]:\n multiple &&\n value.length > 0 &&\n variant !== 'underlined' &&\n variant !== 'headlined',\n [styles.headlinedSelect]: isHeadline,\n }),\n popup: { root: popupClassName },\n }}\n variant={antVariant}\n {...props}\n />\n </>\n )\n}\n"],"names":["_a","icons.MagnifyingGlassIcon","value","icons.CaretDownIcon","AntdDropdown"],"mappings":";;;;;;;;AAuEA,MAAM,gBAAgB,CAAC,WAAgD;AACrE,SAAO,aAAa;AACtB;AAEA,MAAM,gBAAgB,CAAC,YAAkD;AACvE,MAAI,CAAC,QAAS,QAAO,CAAA;AAErB,SAAO,QAAQ;AAAA,IAAQ,CAAC,WACtB,cAAc,MAAM,IAAI,OAAO,UAAU,CAAC,MAAM;AAAA,EAAA;AAEpD;AAEA,MAAM,gBAAgB,CACpB,SACA,gBACmB;AACnB,MAAI,CAAC,QAAS,QAAO,CAAA;AACrB,MAAI,CAAC,YAAa,QAAO;AAEzB,SAAO,QACJ,IAAI,CAAC,WAAW;;AACf,QAAI,cAAc,MAAM,GAAG;AACzB,YAAM,qBAAqB,OAAO,QAAQ;AAAA,QAAO,CAAC,cAAA;;AAChD,kBAAAA,MAAA,UAAU,UAAV,gBAAAA,IACI,WACD,cACA,SAAS,YAAY,YAAA;AAAA;AAAA,MAAa;AAEvC,aAAO,mBAAmB,SAAS,IAC/B,EAAE,GAAG,QAAQ,SAAS,uBACtB;AAAA,IACN,OAAO;AACL,eAAO,YAAO,UAAP,mBACH,WACD,cACA,SAAS,YAAY,kBACpB,SACA;AAAA,IACN;AAAA,EACF,CAAC,EACA,OAAO,CAAC,WAAmC,WAAW,IAAI;AAC/D;AAEO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,cAAc;AAAA,EACd,GAAG;AACL,GAAU;AACR,QAAM,aAAa,YAAY;AAC/B,QAAM,aAAa,aAAa,eAAe;AAC/C,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,EAAE;AACjD,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,cAAc,IAAI,CAAC;AACpE,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,WAAW;AAChD,QAAM,WAAW,OAAiB,IAAI;AACtC,QAAM,iBAAiB,OAAwB,IAAI;AACnD,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAA;AAE1C,QAAM,cAAc,QAAQ,MAAM;AAChC,QAAI,YAAY,MAAM,SAAS,GAAG;AAChC,aAAO,YAAY,MAAM,MAAM;AAAA,IACjC;AACA,QAAI,CAAC,YAAY,OAAO;AACtB,YAAM,SAAS,cAAc,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,UAAU,KAAK;AACvE,aAAO,SAAS,OAAO,OAAO,KAAK,IAAI,OAAO,KAAK;AAAA,IACrD;AACA,WAAO,0BAA0B;AAAA,EACnC,GAAG,CAAC,UAAU,OAAO,SAAS,aAAa,sBAAsB,CAAC;AAElE,YAAU,MAAM;AACd,QAAI,CAAC,eAAe,QAAS;AAE7B,qBAAiB,KAAK,KAAK,eAAe,QAAQ,WAAW,IAAI,EAAE;AAAA,EACrE,GAAG,CAAC,WAAW,CAAC;AAEhB,YAAU,MAAM;AACd,QAAI,eAAe,GAAG;AACpB,4BAAsB,MAAM;AAC1B,8BAAsB,MAAM;AAC1B,qBAAW,MAAM;;AACf,2BAAS,YAAT,mBAAkB,MAAM,EAAE,QAAQ;UACpC,GAAG,GAAG;AAAA,QACR,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,kBAAkB,QAAQ,MAAM;AACpC,WAAO,cAAc,SAAS,WAAW;AAAA,EAC3C,GAAG,CAAC,aAAa,OAAO,CAAC;AAEzB,QAAM,sBAAsB,QAAQ,MAAM;AACxC,WAAO,cAAc,eAAe;AAAA,EACtC,GAAG,CAAC,eAAe,CAAC;AAEpB,QAAM,iBAAiB,QAAQ,MAAM;AACnC,WAAO,cAAc,OAAO;AAAA,EAC9B,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,iBAAiB,CAAC,iBAAyB;AAC/C,QAAI,CAAC,SAAU;AAEf,aAAS,MAAM,OAAO,CAAC,MAAM,MAAM,YAAY,CAAC;AAAA,EAClD;AAEA,QAAM,kBAAkB,MAAM;AAC5B,QAAI,CAAC,SAAU;AAEf,UAAM,oBAAoB,cAAc,eAAe,EAAE;AAAA,MACvD,CAAC,QAAQ,IAAI;AAAA,IAAA;AAEf,UAAM,eAAe,kBAAkB,KAAK,CAAC,QAAQ,MAAM,SAAS,GAAG,CAAC;AAExE,QAAI,cAAc;AAChB,eAAS,MAAM,OAAO,CAAC,QAAQ,CAAC,kBAAkB,SAAS,GAAG,CAAC,CAAC;AAAA,IAClE;AAAA,EACF;AAEA,QAAM,0BAA0B,MAAM;AACpC,QAAI,oBAAoB,WAAW,EAAG;AAEtC,UAAM,cAAc,oBAAoB,CAAC;AACzC,QAAI,CAAC,YAAa;AAElB,UAAM,cAAc,YAAY;AAEhC,QAAI,UAAU;AACZ,UAAI,MAAM,SAAS,WAAW,GAAG;AAC/B,iBAAS,MAAM,OAAO,CAAC,MAAM,MAAM,WAAW,CAAC;AAAA,MACjD,OAAO;AACL,iBAAS,CAAC,GAAG,OAAO,WAAW,CAAC;AAAA,MAClC;AAAA,IACF,OAAO;AACL,eAAS,WAAW;AACpB,gBAAU,KAAK;AAAA,IACjB;AAAA,EACF;AAEA,QAAM,oBAAoB,CAAC,gBAAwB;AACjD,QAAI,UAAU;AACZ,UAAI,MAAM,SAAS,WAAW,GAAG;AAC/B,iBAAS,MAAM,OAAO,CAAC,MAAM,MAAM,WAAW,CAAC;AAAA,MACjD,OAAO;AACL,iBAAS,CAAC,GAAG,OAAO,WAAW,CAAC;AAAA,MAClC;AAAA,IACF,OAAO;AACL,eAAS,WAAW;AACpB,gBAAU,KAAK;AAAA,IACjB;AAAA,EACF;AAEA,QAAM,gBAAgB,CAAC,MAA6C;AAElE,UAAM,iBAAiB,CAAC,WAAW,WAAW;AAG9C,QAAI,EAAE,QAAQ,SAAS;AACrB,QAAE,eAAA;AACF,QAAE,gBAAA;AACF,8BAAA;AACA;AAAA,IACF;AAGA,QAAI,EAAE,QAAQ,UAAU;AACtB,QAAE,eAAA;AACF,QAAE,gBAAA;AACF,gBAAU,KAAK;AACf;AAAA,IACF;AAGA,QAAI,eAAe,SAAS,EAAE,GAAG,GAAG;AAClC,QAAE,eAAA;AAEF;AAAA,IACF;AAIA,MAAE,gBAAA;AAAA,EACJ;AAEA,QAAM,eAEF,CAAC,WAAW;AACd,QAAI,UAAU,OAAO,QAAQ,OAAO,KAAK,MAAM;AAC7C,aACE,qBAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,QAAA,oBAAC,OAAA,EAAI,WAAU,gBAAgB,UAAA,OAAO,KAAK,MAAK;AAAA,QAChD,oBAAC,QAAA,EAAK,WAAU,qCACb,iBAAO,MAAA,CACV;AAAA,MAAA,GACF;AAAA,IAEJ;AACA,WAAO,oBAAC,OAAA,EAAK,UAAA,OAAO,MAAA,CAAM;AAAA,EAC5B;AAEA,QAAM,cAAc,CAAC,SAA6B;AAChD,UAAM,eAAe,CAAC,QAAgB;AACpC,YAAM,SAAS,eAAe,KAAK,CAAC,QAAQ,IAAI,UAAU,GAAG;AAC7D,aAAO,SAAU,OAAO,QAAmB;AAAA,IAC7C;AAEA,gCACG,OAAA,EACC,UAAA;AAAA,MAAA,oBAAC,OAAA,EAAI,WAAU,sCACb,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAK;AAAA,UAEL,WAAS;AAAA,UACT,aAAa,qBAAqB;AAAA,UAClC,OAAO;AAAA,UACP,UAAU,CAAC,MAAM;AACf,2BAAe,EAAE,OAAO,KAAK;AAC7B,cAAE,gBAAA;AACF,cAAE,eAAA;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,UACX,SAAS,CAAC,MAAM,EAAE,gBAAA;AAAA,UAClB,QACE;AAAA,YAACC;AAAAA,YAAA;AAAA,cACC,MAAM;AAAA,cACN,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAGd,YAAU;AAAA,QAAA;AAAA,QAjBL;AAAA,MAAA,GAmBT;AAAA,MACC,YAAY,MAAM,SAAS,wBACzB,OAAA,EAAI,WAAU,aACb,UAAA,oBAAC,SAAI,WAAU,0BACX,UAAA,MAAmB,IAAI,CAACC,WACxB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UAEV,QAAO;AAAA,UACP,UAAQ;AAAA,UACR,SAAS,MAAM,eAAeA,MAAK;AAAA,UAEnC,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,OAAO,aAAaA,MAAK;AAAA,cAExB,uBAAaA,MAAK;AAAA,YAAA;AAAA,UAAA;AAAA,QACrB;AAAA,QAVKA;AAAAA,MAAA,CAYR,EAAA,CACH,EAAA,CACF,IACE;AAAA,MACJ;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,GAAG,OAAO,eAAe,cAAc;AAAA,YAChD,CAAC,OAAO,sBAAsB,GAAG;AAAA,YACjC,CAAC,OAAO,qBAAqB,GAAG;AAAA,UAAA,CACjC;AAAA,UAEA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAEH,oBAAC,SAAI,WAAU,qCACZ,sBACC,oBAAC,OAAA,EAAI,WAAU,wDACb,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,iBAAc;AAAA,UACd,WAAW;AAAA,YACT;AAAA,YACA,OAAO;AAAA,UAAA;AAAA,UAET,OAAM;AAAA,UACN,SAAS;AAAA,UAET,UAAA,oBAAC,OAAA,EAAI,WAAU,4DAA2D,UAAA,YAAA,CAE1E;AAAA,QAAA;AAAA,MAAA,GAEJ,EAAA,CAEJ;AAAA,IAAA,GACF;AAAA,EAEJ;AAEA,QAAM,mBAAmB,CAAC,SAAkB;AAC1C,cAAU,IAAI;AACd,QAAI,MAAM;AAER,sBAAgB,CAAC,SAAS,OAAO,CAAC;AAAA,IACpC,OAAO;AACL,qBAAe,EAAE;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,0BAA0B,CAAC,WAAmB;AAClD,UAAM,cAAc,OAAO;AAC3B,UAAM,aAAa,WACf,MAAM,SAAS,WAAW,IAC1B,UAAU;AACd,UAAM,UAAU,UAAU,UAAW,OAA0B;AAC/D,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,MAAK;AAAA,QACL,iBAAe;AAAA,QACf,SAAS,MAAM,kBAAkB,WAAW;AAAA,QAC5C,WAAW;AAAA,UACT;AAAA,UACA,aACI,+EACA;AAAA,QAAA;AAAA,QAGL,UAAA,UACC,qBAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,UAAA,oBAAC,OAAA,EAAI,WAAU,gBACX,UAAA,OAA0B,MAC9B;AAAA,UACA,oBAAC,QAAA,EAAK,WAAU,qCACb,iBAAO,MAAA,CACV;AAAA,QAAA,EAAA,CACF,IAEA,OAAO;AAAA,MAAA;AAAA,MArBJ;AAAA,IAAA;AAAA,EAyBX;AAEA,QAAM,sBAAsB,MAAM;AAChC,UAAM,eAAe,CAAC,QAAgB;AACpC,YAAM,SAAS,eAAe,KAAK,CAAC,QAAQ,IAAI,UAAU,GAAG;AAC7D,aAAO,SAAU,OAAO,QAAmB;AAAA,IAC7C;AAEA,WACE,qBAAC,OAAA,EAAI,WAAU,mDACb,UAAA;AAAA,MAAA,oBAAC,OAAA,EAAI,WAAU,4CACb,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAK;AAAA,UAEL,WAAS;AAAA,UACT,aAAa,qBAAqB;AAAA,UAClC,OAAO;AAAA,UACP,UAAU,CAAC,MAAM;AACf,2BAAe,EAAE,OAAO,KAAK;AAC7B,cAAE,gBAAA;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,UACX,SAAS,CAAC,MAAM,EAAE,gBAAA;AAAA,UAClB,QACE;AAAA,YAACD;AAAAA,YAAA;AAAA,cACC,MAAM;AAAA,cACN,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAGd,YAAU;AAAA,QAAA;AAAA,QAhBL;AAAA,MAAA,GAkBT;AAAA,MACC,YAAY,MAAM,SAAS,yBACzB,OAAA,EAAI,WAAU,aACb,UAAA,oBAAC,SAAI,WAAU,0BACX,UAAA,MAAmB,IAAI,CAAC,MACxB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UAEV,QAAO;AAAA,UACP,UAAQ;AAAA,UACR,SAAS,MAAM,eAAe,CAAC;AAAA,UAE/B,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,OAAO,aAAa,CAAC;AAAA,cAEpB,uBAAa,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QACjB;AAAA,QAVK;AAAA,MAAA,CAYR,GACH,EAAA,CACF;AAAA,MAEF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,MAAK;AAAA,UACL,wBAAsB,YAAY;AAAA,UAEjC,UAAA,gBAAgB,WAAW,IAC1B,oBAAC,OAAA,EAAI,WAAU,2DAA0D,UAAA,mBAAA,CAEzE,IAEA,gBAAgB,IAAI,CAAC,QAAQ;AAC3B,gBAAI,cAAc,GAAG,GAAG;AACtB,0CACG,OAAA,EACC,UAAA;AAAA,gBAAA,oBAAC,OAAA,EAAI,WAAU,qGACZ,UAAA,IAAI,OACP;AAAA,gBACC,IAAI,QAAQ,IAAI,uBAAuB;AAAA,cAAA,EAAA,GAJhC,SAAS,IAAI,KAAK,EAK5B;AAAA,YAEJ;AACA,mBAAO,wBAAwB,GAAG;AAAA,UACpC,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,MAGJ,YAAY,MAAM,SAAS,KAC1B,oBAAC,OAAA,EAAI,WAAU,iDACb,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,cAAW;AAAA,UACX,OAAM;AAAA,UACN,SAAS;AAAA,UACT,WAAW;AAAA,YACT;AAAA,YACA,OAAO;AAAA,UAAA;AAAA,UAEV,UAAA;AAAA,QAAA;AAAA,MAAA,EAED,CACF;AAAA,IAAA,GAEJ;AAAA,EAEJ;AAEA,MAAI,YAAY,YAAY;AAC1B,UAAM,eAAe,WAAW,MAAM,SAAS,IAAI,QAAQ,KAAK;AAChE,UAAM,iBACJ,qBAAC,QAAA,EAAK,WAAU,kCACb,UAAA;AAAA,MAAA,eAAe,cAAe,0BAA0B;AAAA,MACxD,UACC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,oBAAC,iBAAA,EAAgB,MAAI,KAAA,CAAC;AAAA,UACjC,MAAK;AAAA,UACL,eAAY;AAAA,QAAA;AAAA,MAAA,wBAGbE,eAAA,EAAoB,QAAO,WAAU,eAAY,aAAA,CAAa;AAAA,IAAA,GAEnE;AAGF,WACE;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,cAAc;AAAA,QACd,SAAS,CAAC,OAAO;AAAA,QACjB,UAAU,MAAM;AAAA,QAChB,aAAa;AAAA,QAEb,UAAA;AAAA,UAAC,WAAW;AAAA,UAAX;AAAA,YACC,UAAU,MAAM;AAAA,YAChB,WAAW,GAAG,eAAe,aAAa;AAAA,YAEzC,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAGN;AAEA,SACE,qBAAA,UAAA,EACE,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAK;AAAA,QACL,eAAW;AAAA,QACX,OAAO;AAAA,UACL,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,YAAY;AAAA,UACZ,UAAU;AAAA,QAAA;AAAA,QAGX,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAEH;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,OAAO,EAAE,OAAO,cAAA;AAAA,QAChB,YACE,UACE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,oBAAC,iBAAA,EAAgB,MAAI,KAAA,CAAC;AAAA,YACjC,MAAK;AAAA,YACL,eAAY;AAAA,UAAA;AAAA,QAAA,wBAGbD,eAAA,EAAoB,MAAM,IAAI,eAAY,cAAa;AAAA,QAG5D,aAAa;AAAA,QACb,MAAM,WAAW,aAAa;AAAA,QAC9B;AAAA,QACA,aAAa;AAAA,QACb,mBAAmB,WAAW,MAAM,YAAY,MAAM,MAAM,IAAI;AAAA,QAChE,SAAS;AAAA,QACT,UAAU,CAAC,QAAQ;AACjB,cAAI,UAAU;AACZ,gBAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,uBAAS,GAAG;AAAA,YACd,OAAO;AACL,oBAAM,IAAI,MAAM,2CAA2C;AAAA,YAC7D;AAAA,UACF,OAAO;AACL,gBAAI,OAAO,QAAQ,UAAU;AAC3B,uBAAS,GAAG;AAAA,YACd,OAAO;AACL,oBAAM,IAAI;AAAA,gBACR;AAAA,cAAA;AAAA,YAEJ;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd,YAAY;AAAA,UACV,MAAM,GAAG,eAAe,OAAO,kBAAkB;AAAA,YAC/C,CAAC,OAAO,iBAAiB,GACvB,YAAY,gBAAgB,YAAY;AAAA,YAC1C,CAAC,OAAO,QAAQ,GACd,YACA,MAAM,SAAS,KACf,YAAY,gBACZ,YAAY;AAAA,YACd,CAAC,OAAO,eAAe,GAAG;AAAA,UAAA,CAC3B;AAAA,UACD,OAAO,EAAE,MAAM,eAAA;AAAA,QAAe;AAAA,QAEhC,SAAS;AAAA,QACR,GAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EACN,GACF;AAEJ;"}
1
+ {"version":3,"file":"SummarizedSelect.js","names":["icons","Tag","styles","AntdDropdown","_Fragment"],"sources":["../../../../src/components/select/SummarizedSelect.tsx"],"sourcesContent":["import {\n Dropdown as AntdDropdown,\n Select,\n Spin,\n Input,\n SelectProps,\n InputRef,\n Typography,\n} from 'antd'\nimport { DefaultOptionType } from 'antd/es/select'\nimport { Fragment, useState, useMemo, useRef, useEffect } from 'react'\nimport { LoadingOutlined } from '@ant-design/icons'\nimport * as icons from '../icons'\nimport { Tag } from '../tag'\nimport cx from 'classnames'\n\nimport styles from './SummarizedSelect.module.css'\n\ntype Option = DefaultOptionType\ntype OptionWithLogo = Option & {\n logo: React.ReactNode\n}\n\ntype GroupOption = {\n label: string\n options: Option[]\n}\n\nexport type SelectOption = Option | GroupOption | OptionWithLogo\n\nexport type SummarizedSelectVariant = SelectProps['variant'] | 'headlined'\n\nexport type SummarizedSelectTrigger = 'select' | 'dropdown'\n\ntype BaseProps = Omit<\n SelectProps<string | string[], SelectOption>,\n 'mode' | 'value' | 'onChange' | 'variant'\n> & {\n searchPlaceholder?: string\n formControlPlaceholder?: string\n rootClassName?: string\n popupClassName?: string\n variant?: SummarizedSelectVariant\n /**\n * Shape of the control that opens the popup.\n * - `'select'` (default): antd Select, styled by `variant`.\n * - `'dropdown'`: antd Dropdown with a `Typography.Link` target (label + caret).\n * Ignores `variant` — the trigger is always a link.\n */\n trigger?: SummarizedSelectTrigger\n defaultOpen?: boolean\n\n loading?: boolean\n}\n\ntype SingleProps = {\n multiple?: false\n renderLabel?: undefined\n value: string | undefined\n onChange: (newValue: string) => void\n}\n\ntype MultiProps = {\n multiple: true\n renderLabel: (count: number) => string\n value: string[]\n onChange: (newValue: string[]) => void\n}\n\nexport type Props = BaseProps & (SingleProps | MultiProps)\n\nconst isGroupOption = (option: SelectOption): option is GroupOption => {\n return 'options' in option\n}\n\nconst getAllOptions = (options: SelectOption[] | undefined): Option[] => {\n if (!options) return []\n\n return options.flatMap((option) =>\n isGroupOption(option) ? option.options : [option]\n )\n}\n\nconst filterOptions = (\n options: SelectOption[] | undefined,\n searchValue: string\n): SelectOption[] => {\n if (!options) return []\n if (!searchValue) return options\n\n return options\n .map((option) => {\n if (isGroupOption(option)) {\n const filteredSubOptions = option.options.filter((subOption) =>\n subOption.label\n ?.toString()\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n )\n return filteredSubOptions.length > 0\n ? { ...option, options: filteredSubOptions }\n : null\n } else {\n return option.label\n ?.toString()\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n ? option\n : null\n }\n })\n .filter((option): option is SelectOption => option !== null)\n}\n\nexport function SummarizedSelect({\n searchPlaceholder,\n formControlPlaceholder,\n loading,\n multiple,\n value,\n onChange,\n options,\n renderLabel,\n rootClassName,\n popupClassName,\n variant,\n trigger = 'select',\n defaultOpen = false,\n ...props\n}: Props) {\n const isHeadline = variant === 'headlined'\n const antVariant = isHeadline ? 'borderless' : variant\n const [searchValue, setSearchValue] = useState('')\n const [focusTrigger, setFocusTrigger] = useState(defaultOpen ? 1 : 0)\n const [isOpen, setIsOpen] = useState(defaultOpen)\n const inputRef = useRef<InputRef>(null)\n const measureSpanRef = useRef<HTMLSpanElement>(null)\n const [measuredWidth, setMeasuredWidth] = useState<number>()\n\n const displayText = useMemo(() => {\n if (multiple && value.length > 0) {\n return renderLabel(value.length)\n }\n if (!multiple && value) {\n const option = getAllOptions(options).find((opt) => opt.value === value)\n return option ? String(option.label) : String(value)\n }\n return formControlPlaceholder ?? ''\n }, [multiple, value, options, renderLabel, formControlPlaceholder])\n\n useEffect(() => {\n if (!measureSpanRef.current) return\n // padding (22px = 11px each side) + arrow (18px) + border (6px)\n setMeasuredWidth(Math.ceil(measureSpanRef.current.offsetWidth) + 46)\n }, [displayText])\n\n useEffect(() => {\n if (focusTrigger > 0) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n setTimeout(() => {\n inputRef.current?.focus({ cursor: 'end' })\n }, 100)\n })\n })\n }\n }, [focusTrigger])\n\n const filteredOptions = useMemo(() => {\n return filterOptions(options, searchValue)\n }, [searchValue, options])\n\n const flatFilteredOptions = useMemo(() => {\n return getAllOptions(filteredOptions)\n }, [filteredOptions])\n\n const allFlatOptions = useMemo(() => {\n return getAllOptions(options)\n }, [options])\n\n const handleTagClose = (removedValue: string) => {\n if (!multiple) return\n\n onChange(value.filter((x) => x !== removedValue))\n }\n\n const handleToggleAll = () => {\n if (!multiple) return\n\n const allFilteredValues = getAllOptions(filteredOptions).map(\n (opt) => opt.value as string\n )\n const someSelected = allFilteredValues.some((val) => value.includes(val))\n\n if (someSelected) {\n onChange(value.filter((val) => !allFilteredValues.includes(val)))\n }\n }\n\n const handleSelectFirstOption = () => {\n if (flatFilteredOptions.length === 0) return\n\n const firstOption = flatFilteredOptions[0]\n if (!firstOption) return\n\n const optionValue = firstOption.value as string\n\n if (multiple) {\n if (value.includes(optionValue)) {\n onChange(value.filter((v) => v !== optionValue))\n } else {\n onChange([...value, optionValue])\n }\n } else {\n onChange(optionValue)\n handleOpenChange(false)\n }\n }\n\n const handleOptionClick = (optionValue: string) => {\n if (multiple) {\n if (value.includes(optionValue)) {\n onChange(value.filter((v) => v !== optionValue))\n } else {\n onChange([...value, optionValue])\n }\n } else {\n onChange(optionValue)\n handleOpenChange(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n // Allow these navigation keys to bubble up to Select's native keyboard handler\n const navigationKeys = ['ArrowUp', 'ArrowDown']\n\n // Handle Enter - select first filtered option (custom behavior)\n if (e.key === 'Enter') {\n e.preventDefault()\n e.stopPropagation()\n handleSelectFirstOption()\n return\n }\n\n // Handle Escape - close dropdown (custom behavior)\n if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n handleOpenChange(false)\n return\n }\n\n // For arrow keys, prevent cursor movement but allow propagation to Select\n if (navigationKeys.includes(e.key)) {\n e.preventDefault() // Prevents cursor from moving to start/end of input text\n // Do NOT call stopPropagation() - let event bubble to Select component\n return\n }\n\n // For all other keys (including Backspace), stop propagation\n // This prevents backspace from removing tags in multiple mode\n e.stopPropagation()\n }\n\n const optionRender: NonNullable<\n SelectProps<string | string[], SelectOption>['optionRender']\n > = (option) => {\n if ('logo' in option.data && option.data.logo) {\n return (\n <div className=\"flex items-center gap-2\">\n <div className=\"h-4 shrink-0\">{option.data.logo}</div>\n <span className=\"overflow-ellipsis overflow-hidden\">\n {option.label}\n </span>\n </div>\n )\n }\n return <div>{option.label}</div>\n }\n\n const popupRender = (menu: React.ReactElement) => {\n const valueToLabel = (val: string) => {\n const option = allFlatOptions.find((opt) => opt.value === val)\n return option ? (option.label as string) : val\n }\n\n return (\n <div>\n <div className=\"mb-2 px-2 pb-2 border-b -mx-1 mt-1\">\n <Input\n ref={inputRef}\n key={focusTrigger}\n autoFocus\n placeholder={searchPlaceholder || 'Search...'}\n value={searchValue}\n onChange={(e) => {\n setSearchValue(e.target.value)\n e.stopPropagation()\n e.preventDefault()\n }}\n onKeyDown={handleKeyDown}\n onClick={(e) => e.stopPropagation()}\n prefix={\n <icons.MagnifyingGlassIcon\n size={16}\n className=\"text-j2-text-placeholder\"\n />\n }\n allowClear\n />\n </div>\n {multiple && value.length > 0 ? (\n <div className=\"px-2 pb-2\">\n <div className=\"flex flex-wrap gap-y-1\">\n {(value as string[]).map((value) => (\n <Tag\n className=\"opacity-100 z-10 flex max-w-full\"\n key={value}\n status=\"default\"\n closable\n onClose={() => handleTagClose(value)}\n >\n <span\n className=\"overflow-ellipsis overflow-hidden\"\n title={valueToLabel(value)}\n >\n {valueToLabel(value)}\n </span>\n </Tag>\n ))}\n </div>\n </div>\n ) : null}\n <div\n className={cx(styles.menuContainer, 'rounded-lg', {\n [styles.headlinedMenuContainer]: isHeadline,\n [styles.menuContainerMultiple]: multiple,\n })}\n >\n {/* Keyed on the search so antd rebuilds its option list per\n keystroke. Focusing the search input blurs the Select, antd\n starts a close, cancels it because focus stayed in the popup,\n and never clears its `lockOptions` flag -- a locked list keeps\n showing the options it had when the popup opened. */}\n <Fragment key={searchValue}>{menu}</Fragment>\n </div>\n <div className=\"flex justify-between items-center\">\n {multiple && (\n <div className=\"w-full mt-1 pt-1 border-t border-j2-border-secondary\">\n <div\n aria-selected=\"false\"\n className={cx(\n 'ant-select-item ant-select-item-option w-full',\n styles.clearAllButton\n )}\n title=\"Clear all\"\n onClick={handleToggleAll}\n >\n <div className=\"ant-select-item-option-content text-center font-semibold\">\n Clear all\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n )\n }\n\n const handleOpenChange = (open: boolean) => {\n setIsOpen(open)\n if (open) {\n // Trigger focus by updating the counter\n setFocusTrigger((prev) => prev + 1)\n } else {\n setSearchValue('')\n }\n }\n\n const renderDropdownOptionRow = (option: Option) => {\n const optionValue = option.value as string\n const isSelected = multiple\n ? value.includes(optionValue)\n : value === optionValue\n const hasLogo = 'logo' in option && (option as OptionWithLogo).logo\n return (\n <div\n key={optionValue}\n role=\"option\"\n aria-selected={isSelected}\n onClick={() => handleOptionClick(optionValue)}\n className={cx(\n 'px-3 py-1.5 rounded cursor-pointer text-sm',\n isSelected\n ? 'bg-[var(--j2-color-primary)] text-white hover:bg-[var(--j2-color-primary)]'\n : 'hover:bg-[var(--j2-color-bg-hover)]'\n )}\n >\n {hasLogo ? (\n <div className=\"flex items-center gap-2\">\n <div className=\"h-4 shrink-0\">\n {(option as OptionWithLogo).logo}\n </div>\n <span className=\"overflow-hidden overflow-ellipsis\">\n {option.label}\n </span>\n </div>\n ) : (\n option.label\n )}\n </div>\n )\n }\n\n const dropdownPopupRender = () => {\n const valueToLabel = (val: string) => {\n const option = allFlatOptions.find((opt) => opt.value === val)\n return option ? (option.label as string) : val\n }\n\n return (\n <div className=\"bg-white rounded-lg shadow-md p-2 min-w-[240px]\">\n <div className=\"pb-2 border-b border-j2-border-secondary\">\n <Input\n ref={inputRef}\n key={focusTrigger}\n autoFocus\n placeholder={searchPlaceholder || 'Search...'}\n value={searchValue}\n onChange={(e) => {\n setSearchValue(e.target.value)\n e.stopPropagation()\n }}\n onKeyDown={handleKeyDown}\n onClick={(e) => e.stopPropagation()}\n prefix={\n <icons.MagnifyingGlassIcon\n size={16}\n className=\"text-j2-text-placeholder\"\n />\n }\n allowClear\n />\n </div>\n {multiple && value.length > 0 && (\n <div className=\"px-1 pt-2\">\n <div className=\"flex flex-wrap gap-y-1\">\n {(value as string[]).map((v) => (\n <Tag\n className=\"opacity-100 z-10 flex max-w-full\"\n key={v}\n status=\"default\"\n closable\n onClose={() => handleTagClose(v)}\n >\n <span\n className=\"overflow-ellipsis overflow-hidden\"\n title={valueToLabel(v)}\n >\n {valueToLabel(v)}\n </span>\n </Tag>\n ))}\n </div>\n </div>\n )}\n <div\n className=\"max-h-72 overflow-y-auto py-1\"\n role=\"listbox\"\n aria-multiselectable={multiple || undefined}\n >\n {filteredOptions.length === 0 ? (\n <div className=\"px-3 py-2 text-sm text-[var(--j2-color-text-secondary)]\">\n No options found\n </div>\n ) : (\n filteredOptions.map((opt) => {\n if (isGroupOption(opt)) {\n return (\n <div key={`group-${opt.label}`}>\n <div className=\"px-3 pt-2 pb-1 text-xs font-semibold uppercase tracking-wide text-[var(--j2-color-text-tertiary)]\">\n {opt.label}\n </div>\n {opt.options.map(renderDropdownOptionRow)}\n </div>\n )\n }\n return renderDropdownOptionRow(opt)\n })\n )}\n </div>\n {multiple && value.length > 0 && (\n <div className=\"mt-1 pt-1 border-t border-j2-border-secondary\">\n <div\n role=\"button\"\n aria-label=\"Clear all\"\n title=\"Clear all\"\n onClick={handleToggleAll}\n className={cx(\n 'text-center font-semibold text-sm py-1.5 rounded cursor-pointer',\n styles.clearAllButton\n )}\n >\n Clear all\n </div>\n </div>\n )}\n </div>\n )\n }\n\n if (trigger === 'dropdown') {\n const hasSelection = multiple ? value.length > 0 : Boolean(value)\n const triggerContent = (\n <span className=\"inline-flex items-center gap-1\">\n {hasSelection ? displayText : (formControlPlaceholder ?? 'Select')}\n {loading ? (\n <Spin\n indicator={<LoadingOutlined spin />}\n size=\"small\"\n data-testid=\"loading-spinner\"\n />\n ) : (\n <icons.CaretDownIcon weight=\"regular\" data-testid=\"caret-down\" />\n )}\n </span>\n )\n\n return (\n <AntdDropdown\n open={isOpen}\n onOpenChange={handleOpenChange}\n trigger={['click']}\n disabled={props.disabled}\n popupRender={dropdownPopupRender}\n >\n <Typography.Link\n disabled={props.disabled}\n className={cx('inline-flex', rootClassName)}\n >\n {triggerContent}\n </Typography.Link>\n </AntdDropdown>\n )\n }\n\n return (\n <>\n <span\n ref={measureSpanRef}\n aria-hidden\n style={{\n position: 'absolute',\n visibility: 'hidden',\n whiteSpace: 'nowrap',\n fontSize: 'inherit',\n }}\n >\n {displayText}\n </span>\n <Select<string | string[], SelectOption>\n open={isOpen}\n showSearch={false}\n style={{ width: measuredWidth }}\n suffixIcon={\n loading ? (\n <Spin\n indicator={<LoadingOutlined spin />}\n size=\"small\"\n data-testid=\"loading-spinner\"\n />\n ) : (\n <icons.CaretDownIcon size={14} data-testid=\"caret-down\" />\n )\n }\n placeholder={formControlPlaceholder}\n mode={multiple ? 'multiple' : undefined}\n value={value}\n maxTagCount={0}\n maxTagPlaceholder={multiple ? () => renderLabel(value.length) : value}\n options={filteredOptions}\n onChange={(val) => {\n if (multiple) {\n if (Array.isArray(val)) {\n onChange(val)\n } else {\n throw new Error('Value should be an array in multiple mode')\n }\n } else {\n if (typeof val === 'string') {\n onChange(val)\n } else {\n throw new Error(\n 'Value should be a string in single selection mode'\n )\n }\n }\n }}\n popupRender={popupRender}\n optionRender={optionRender}\n onOpenChange={handleOpenChange}\n classNames={{\n root: cx(rootClassName, styles.summarizedSelect, {\n [styles.hemisphericSelect]:\n variant !== 'underlined' && variant !== 'headlined',\n [styles.isActive]:\n multiple &&\n value.length > 0 &&\n variant !== 'underlined' &&\n variant !== 'headlined',\n [styles.headlinedSelect]: isHeadline,\n }),\n popup: { root: popupClassName },\n }}\n variant={antVariant}\n {...props}\n />\n </>\n )\n}\n"],"mappings":"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"}
@@ -1,25 +1,25 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const hemisphericSelect = "_hemisphericSelect_1g8eb_1";
4
- const summarizedSelect = "_summarizedSelect_1g8eb_9";
5
- const isActive = "_isActive_1g8eb_35";
6
- const menuContainer = "_menuContainer_1g8eb_47";
7
- const menuContainerMultiple = "_menuContainerMultiple_1g8eb_57";
8
- const headlinedSelect = "_headlinedSelect_1g8eb_72";
9
- const headlinedMenuContainer = "_headlinedMenuContainer_1g8eb_115";
10
- const clearAllButton = "_clearAllButton_1g8eb_126";
11
- const styles = {
12
- hemisphericSelect,
13
- summarizedSelect,
14
- isActive,
15
- menuContainer,
16
- menuContainerMultiple,
17
- headlinedSelect,
18
- headlinedMenuContainer,
19
- clearAllButton
1
+ //#region src/components/select/SummarizedSelect.module.css
2
+ var hemisphericSelect = "_hemisphericSelect_m00n1_1";
3
+ var summarizedSelect = "_summarizedSelect_m00n1_9";
4
+ var isActive = "_isActive_m00n1_35";
5
+ var menuContainer = "_menuContainer_m00n1_47";
6
+ var menuContainerMultiple = "_menuContainerMultiple_m00n1_57";
7
+ var headlinedSelect = "_headlinedSelect_m00n1_72";
8
+ var headlinedMenuContainer = "_headlinedMenuContainer_m00n1_124";
9
+ var clearAllButton = "_clearAllButton_m00n1_135";
10
+ var SummarizedSelect_module_default = {
11
+ hemisphericSelect,
12
+ summarizedSelect,
13
+ isActive,
14
+ menuContainer,
15
+ menuContainerMultiple,
16
+ headlinedSelect,
17
+ headlinedMenuContainer,
18
+ clearAllButton
20
19
  };
20
+ //#endregion
21
21
  exports.clearAllButton = clearAllButton;
22
- exports.default = styles;
22
+ exports.default = SummarizedSelect_module_default;
23
23
  exports.headlinedMenuContainer = headlinedMenuContainer;
24
24
  exports.headlinedSelect = headlinedSelect;
25
25
  exports.hemisphericSelect = hemisphericSelect;
@@ -27,4 +27,5 @@ exports.isActive = isActive;
27
27
  exports.menuContainer = menuContainer;
28
28
  exports.menuContainerMultiple = menuContainerMultiple;
29
29
  exports.summarizedSelect = summarizedSelect;
30
- //# sourceMappingURL=SummarizedSelect.module.css.cjs.map
30
+
31
+ //# sourceMappingURL=SummarizedSelect.module.css.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SummarizedSelect.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SummarizedSelect.module.css.cjs","names":[],"sources":["../../../../src/components/select/SummarizedSelect.module.css"],"sourcesContent":[".hemisphericSelect {\n border-radius: 9999px !important;\n\n :global(.ant-select-placeholder) {\n color: var(--j2-color-primary) !important;\n }\n}\n\n.summarizedSelect {\n :global(.ant-select-suffix) {\n color: var(--j2-color-primary);\n }\n\n :global(.ant-select-selection-item) {\n background: none !important;\n border: none !important;\n padding-inline-end: 0 !important;\n margin-inline-end: 0 !important;\n }\n\n :global(.ant-select-selection-item-content) {\n margin-inline-end: 0 !important;\n }\n\n :global(.ant-select-content-item-rest) {\n max-width: 100%;\n }\n\n :global(.ant-select-content-item-suffix) {\n position: absolute;\n width: 1px;\n }\n}\n\n.isActive {\n background: var(--j2-color-primary) !important;\n\n :global(.ant-select-selection-item-content) {\n color: white !important;\n }\n\n :global(.ant-select-suffix) {\n color: white !important;\n }\n}\n\n.menuContainer :global(.ant-select-item-option-selected) {\n background: var(--j2-color-primary) !important;\n}\n\n.menuContainer\n :global(.ant-select-item-option-selected)\n :global(.ant-select-item-option-content) {\n color: white;\n}\n\n.menuContainerMultiple :global(.ant-select-item-option-selected) {\n background: var(--j2-color-primary-bg-hover) !important;\n}\n\n.menuContainerMultiple\n :global(.ant-select-item-option-selected)\n :global(.ant-select-item-option-content) {\n color: inherit;\n}\n\n/*\n * Headlined variant styles\n * The select root owns its border and background in Ant Design 6.\n */\n\n.headlinedSelect:global(.ant-select):global(.ant-select-single) {\n font-size: var(--j2-font-size-heading-2);\n height: 40px;\n width: fit-content !important;\n}\n\n.headlinedSelect:global(.ant-select) {\n background: transparent;\n padding-left: 0;\n padding-right: 4px;\n font-size: var(--j2-font-size-heading-2);\n border-bottom: 1px solid transparent;\n border-radius: 0;\n}\n\n.headlinedSelect:global(.ant-select) :global(.ant-select-suffix) {\n height: 16px;\n width: 16px;\n right: 0;\n}\n\n.headlinedSelect:global(.ant-select) :global(.ant-select-content) {\n font-weight: 600;\n line-height: 1.3;\n}\n\n/* antd 6 outlines a focused borderless select through\n `:has(input:focus-visible)`, which a text input matches on a mouse click\n too, so every click boxed the headline. The underline below already marks\n focus. `!important` because antd's status variants of that rule reach\n (0,5,1) specificity. */\n.headlinedSelect:global(.ant-select) {\n outline: none !important;\n}\n\n/* Hover state - show underline */\n.headlinedSelect:global(.ant-select):hover {\n border-bottom-color: var(--j2-color-primary);\n}\n\n/* Open/focused state - keep underline and text color */\n.headlinedSelect:global(.ant-select-open),\n.headlinedSelect:global(.ant-select-focused) {\n border-bottom-color: var(--j2-color-primary);\n}\n\n.headlinedSelect:global(.ant-select-open) :global(.ant-select-content),\n.headlinedSelect:global(.ant-select-focused) :global(.ant-select-content) {\n color: inherit;\n}\n\n/* Headline dropdown styles - needs !important to override .menuContainer */\n.menuContainer.headlinedMenuContainer\n :global(.ant-select-item-option-selected) {\n background: var(--j2-color-primary) !important;\n}\n\n.menuContainer.headlinedMenuContainer\n :global(.ant-select-item-option-selected)\n :global(.ant-select-item-option-content) {\n color: white;\n}\n\n.clearAllButton {\n color: var(--j2-color-primary);\n}\n\n.clearAllButton:hover {\n background-color: var(--j2-color-primary-bg-hover);\n}\n"],"mappings":""}
@@ -1,30 +1,23 @@
1
- const hemisphericSelect = "_hemisphericSelect_1g8eb_1";
2
- const summarizedSelect = "_summarizedSelect_1g8eb_9";
3
- const isActive = "_isActive_1g8eb_35";
4
- const menuContainer = "_menuContainer_1g8eb_47";
5
- const menuContainerMultiple = "_menuContainerMultiple_1g8eb_57";
6
- const headlinedSelect = "_headlinedSelect_1g8eb_72";
7
- const headlinedMenuContainer = "_headlinedMenuContainer_1g8eb_115";
8
- const clearAllButton = "_clearAllButton_1g8eb_126";
9
- const styles = {
10
- hemisphericSelect,
11
- summarizedSelect,
12
- isActive,
13
- menuContainer,
14
- menuContainerMultiple,
15
- headlinedSelect,
16
- headlinedMenuContainer,
17
- clearAllButton
1
+ //#region src/components/select/SummarizedSelect.module.css
2
+ var hemisphericSelect = "_hemisphericSelect_m00n1_1";
3
+ var summarizedSelect = "_summarizedSelect_m00n1_9";
4
+ var isActive = "_isActive_m00n1_35";
5
+ var menuContainer = "_menuContainer_m00n1_47";
6
+ var menuContainerMultiple = "_menuContainerMultiple_m00n1_57";
7
+ var headlinedSelect = "_headlinedSelect_m00n1_72";
8
+ var headlinedMenuContainer = "_headlinedMenuContainer_m00n1_124";
9
+ var clearAllButton = "_clearAllButton_m00n1_135";
10
+ var SummarizedSelect_module_default = {
11
+ hemisphericSelect,
12
+ summarizedSelect,
13
+ isActive,
14
+ menuContainer,
15
+ menuContainerMultiple,
16
+ headlinedSelect,
17
+ headlinedMenuContainer,
18
+ clearAllButton
18
19
  };
19
- export {
20
- clearAllButton,
21
- styles as default,
22
- headlinedMenuContainer,
23
- headlinedSelect,
24
- hemisphericSelect,
25
- isActive,
26
- menuContainer,
27
- menuContainerMultiple,
28
- summarizedSelect
29
- };
30
- //# sourceMappingURL=SummarizedSelect.module.css.js.map
20
+ //#endregion
21
+ export { clearAllButton, SummarizedSelect_module_default as default, headlinedMenuContainer, headlinedSelect, hemisphericSelect, isActive, menuContainer, menuContainerMultiple, summarizedSelect };
22
+
23
+ //# sourceMappingURL=SummarizedSelect.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SummarizedSelect.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SummarizedSelect.module.css.js","names":[],"sources":["../../../../src/components/select/SummarizedSelect.module.css"],"sourcesContent":[".hemisphericSelect {\n border-radius: 9999px !important;\n\n :global(.ant-select-placeholder) {\n color: var(--j2-color-primary) !important;\n }\n}\n\n.summarizedSelect {\n :global(.ant-select-suffix) {\n color: var(--j2-color-primary);\n }\n\n :global(.ant-select-selection-item) {\n background: none !important;\n border: none !important;\n padding-inline-end: 0 !important;\n margin-inline-end: 0 !important;\n }\n\n :global(.ant-select-selection-item-content) {\n margin-inline-end: 0 !important;\n }\n\n :global(.ant-select-content-item-rest) {\n max-width: 100%;\n }\n\n :global(.ant-select-content-item-suffix) {\n position: absolute;\n width: 1px;\n }\n}\n\n.isActive {\n background: var(--j2-color-primary) !important;\n\n :global(.ant-select-selection-item-content) {\n color: white !important;\n }\n\n :global(.ant-select-suffix) {\n color: white !important;\n }\n}\n\n.menuContainer :global(.ant-select-item-option-selected) {\n background: var(--j2-color-primary) !important;\n}\n\n.menuContainer\n :global(.ant-select-item-option-selected)\n :global(.ant-select-item-option-content) {\n color: white;\n}\n\n.menuContainerMultiple :global(.ant-select-item-option-selected) {\n background: var(--j2-color-primary-bg-hover) !important;\n}\n\n.menuContainerMultiple\n :global(.ant-select-item-option-selected)\n :global(.ant-select-item-option-content) {\n color: inherit;\n}\n\n/*\n * Headlined variant styles\n * The select root owns its border and background in Ant Design 6.\n */\n\n.headlinedSelect:global(.ant-select):global(.ant-select-single) {\n font-size: var(--j2-font-size-heading-2);\n height: 40px;\n width: fit-content !important;\n}\n\n.headlinedSelect:global(.ant-select) {\n background: transparent;\n padding-left: 0;\n padding-right: 4px;\n font-size: var(--j2-font-size-heading-2);\n border-bottom: 1px solid transparent;\n border-radius: 0;\n}\n\n.headlinedSelect:global(.ant-select) :global(.ant-select-suffix) {\n height: 16px;\n width: 16px;\n right: 0;\n}\n\n.headlinedSelect:global(.ant-select) :global(.ant-select-content) {\n font-weight: 600;\n line-height: 1.3;\n}\n\n/* antd 6 outlines a focused borderless select through\n `:has(input:focus-visible)`, which a text input matches on a mouse click\n too, so every click boxed the headline. The underline below already marks\n focus. `!important` because antd's status variants of that rule reach\n (0,5,1) specificity. */\n.headlinedSelect:global(.ant-select) {\n outline: none !important;\n}\n\n/* Hover state - show underline */\n.headlinedSelect:global(.ant-select):hover {\n border-bottom-color: var(--j2-color-primary);\n}\n\n/* Open/focused state - keep underline and text color */\n.headlinedSelect:global(.ant-select-open),\n.headlinedSelect:global(.ant-select-focused) {\n border-bottom-color: var(--j2-color-primary);\n}\n\n.headlinedSelect:global(.ant-select-open) :global(.ant-select-content),\n.headlinedSelect:global(.ant-select-focused) :global(.ant-select-content) {\n color: inherit;\n}\n\n/* Headline dropdown styles - needs !important to override .menuContainer */\n.menuContainer.headlinedMenuContainer\n :global(.ant-select-item-option-selected) {\n background: var(--j2-color-primary) !important;\n}\n\n.menuContainer.headlinedMenuContainer\n :global(.ant-select-item-option-selected)\n :global(.ant-select-item-option-content) {\n color: white;\n}\n\n.clearAllButton {\n color: var(--j2-color-primary);\n}\n\n.clearAllButton:hover {\n background-color: var(--j2-color-primary-bg-hover);\n}\n"],"mappings":""}
@@ -1,14 +1,15 @@
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 Skeleton = (props) => {
6
- return /* @__PURE__ */ jsxRuntime.jsx(antd.Skeleton, { ...props });
1
+ let antd = require("antd");
2
+ let react_jsx_runtime = require("react/jsx-runtime");
3
+ //#region src/components/skeleton/Skeleton.tsx
4
+ var Skeleton = (props) => {
5
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Skeleton, { ...props });
7
6
  };
8
7
  Skeleton.Node = antd.Skeleton.Node;
9
8
  Skeleton.Avatar = antd.Skeleton.Avatar;
10
9
  Skeleton.Input = antd.Skeleton.Input;
11
10
  Skeleton.Image = antd.Skeleton.Image;
12
11
  Skeleton.Button = antd.Skeleton.Button;
12
+ //#endregion
13
13
  exports.Skeleton = Skeleton;
14
- //# sourceMappingURL=Skeleton.cjs.map
14
+
15
+ //# sourceMappingURL=Skeleton.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.cjs","sources":["../../../../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["import {\n Skeleton as AntdSkeleton,\n SkeletonProps as AntdSkeletonProps,\n} from 'antd'\n\ntype SkeletonProps = Expand<AntdSkeletonProps>\n\nconst Skeleton = (props: SkeletonProps) => {\n return <AntdSkeleton {...props} />\n}\n\nSkeleton.Node = AntdSkeleton.Node\nSkeleton.Avatar = AntdSkeleton.Avatar\nSkeleton.Input = AntdSkeleton.Input\nSkeleton.Image = AntdSkeleton.Image\nSkeleton.Button = AntdSkeleton.Button\n\nexport { Skeleton }\n"],"names":["jsx","AntdSkeleton"],"mappings":";;;;AAOA,MAAM,WAAW,CAAC,UAAyB;AACzC,SAAOA,+BAACC,KAAAA,UAAA,EAAc,GAAG,MAAA,CAAO;AAClC;AAEA,SAAS,OAAOA,KAAAA,SAAa;AAC7B,SAAS,SAASA,KAAAA,SAAa;AAC/B,SAAS,QAAQA,KAAAA,SAAa;AAC9B,SAAS,QAAQA,KAAAA,SAAa;AAC9B,SAAS,SAASA,KAAAA,SAAa;;"}
1
+ {"version":3,"file":"Skeleton.cjs","names":["AntdSkeleton"],"sources":["../../../../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["import {\n Skeleton as AntdSkeleton,\n SkeletonProps as AntdSkeletonProps,\n} from 'antd'\n\ntype SkeletonProps = Expand<AntdSkeletonProps>\n\nconst Skeleton = (props: SkeletonProps) => {\n return <AntdSkeleton {...props} />\n}\n\nSkeleton.Node = AntdSkeleton.Node\nSkeleton.Avatar = AntdSkeleton.Avatar\nSkeleton.Input = AntdSkeleton.Input\nSkeleton.Image = AntdSkeleton.Image\nSkeleton.Button = AntdSkeleton.Button\n\nexport { Skeleton }\n"],"mappings":";;;AAOA,IAAM,YAAY,UAAyB;CACzC,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACA,KAAAA,UAAD,EAAc,GAAI,MAAQ,CAAA;AACnC;AAEA,SAAS,OAAOA,KAAAA,SAAa;AAC7B,SAAS,SAASA,KAAAA,SAAa;AAC/B,SAAS,QAAQA,KAAAA,SAAa;AAC9B,SAAS,QAAQA,KAAAA,SAAa;AAC9B,SAAS,SAASA,KAAAA,SAAa"}
@@ -1,7 +1,7 @@
1
1
  import { SkeletonProps as AntdSkeletonProps } from 'antd';
2
2
  type SkeletonProps = Expand<AntdSkeletonProps>;
3
3
  declare const Skeleton: {
4
- (props: SkeletonProps): import("react").JSX.Element;
4
+ (props: SkeletonProps): import('react').JSX.Element;
5
5
  Node: import('react').FC<import('antd/es/skeleton/Node').SkeletonNodeProps>;
6
6
  Avatar: import('react').FC<import('antd/es/skeleton/Avatar').AvatarProps>;
7
7
  Input: import('react').FC<import('antd/es/skeleton/Input').SkeletonInputProps>;
@@ -1,14 +1,15 @@
1
+ import { Skeleton } from "antd";
1
2
  import { jsx } from "react/jsx-runtime";
2
- import { Skeleton as Skeleton$1 } from "antd";
3
- const Skeleton = (props) => {
4
- return /* @__PURE__ */ jsx(Skeleton$1, { ...props });
3
+ //#region src/components/skeleton/Skeleton.tsx
4
+ var Skeleton$1 = (props) => {
5
+ return /* @__PURE__ */ jsx(Skeleton, { ...props });
5
6
  };
6
- Skeleton.Node = Skeleton$1.Node;
7
- Skeleton.Avatar = Skeleton$1.Avatar;
8
- Skeleton.Input = Skeleton$1.Input;
9
- Skeleton.Image = Skeleton$1.Image;
10
- Skeleton.Button = Skeleton$1.Button;
11
- export {
12
- Skeleton
13
- };
14
- //# sourceMappingURL=Skeleton.js.map
7
+ Skeleton$1.Node = Skeleton.Node;
8
+ Skeleton$1.Avatar = Skeleton.Avatar;
9
+ Skeleton$1.Input = Skeleton.Input;
10
+ Skeleton$1.Image = Skeleton.Image;
11
+ Skeleton$1.Button = Skeleton.Button;
12
+ //#endregion
13
+ export { Skeleton$1 as Skeleton };
14
+
15
+ //# sourceMappingURL=Skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.js","sources":["../../../../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["import {\n Skeleton as AntdSkeleton,\n SkeletonProps as AntdSkeletonProps,\n} from 'antd'\n\ntype SkeletonProps = Expand<AntdSkeletonProps>\n\nconst Skeleton = (props: SkeletonProps) => {\n return <AntdSkeleton {...props} />\n}\n\nSkeleton.Node = AntdSkeleton.Node\nSkeleton.Avatar = AntdSkeleton.Avatar\nSkeleton.Input = AntdSkeleton.Input\nSkeleton.Image = AntdSkeleton.Image\nSkeleton.Button = AntdSkeleton.Button\n\nexport { Skeleton }\n"],"names":["AntdSkeleton"],"mappings":";;AAOA,MAAM,WAAW,CAAC,UAAyB;AACzC,SAAO,oBAACA,YAAA,EAAc,GAAG,MAAA,CAAO;AAClC;AAEA,SAAS,OAAOA,WAAa;AAC7B,SAAS,SAASA,WAAa;AAC/B,SAAS,QAAQA,WAAa;AAC9B,SAAS,QAAQA,WAAa;AAC9B,SAAS,SAASA,WAAa;"}
1
+ {"version":3,"file":"Skeleton.js","names":["Skeleton","AntdSkeleton"],"sources":["../../../../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["import {\n Skeleton as AntdSkeleton,\n SkeletonProps as AntdSkeletonProps,\n} from 'antd'\n\ntype SkeletonProps = Expand<AntdSkeletonProps>\n\nconst Skeleton = (props: SkeletonProps) => {\n return <AntdSkeleton {...props} />\n}\n\nSkeleton.Node = AntdSkeleton.Node\nSkeleton.Avatar = AntdSkeleton.Avatar\nSkeleton.Input = AntdSkeleton.Input\nSkeleton.Image = AntdSkeleton.Image\nSkeleton.Button = AntdSkeleton.Button\n\nexport { Skeleton }\n"],"mappings":";;;AAOA,IAAMA,cAAY,UAAyB;CACzC,OAAO,oBAACC,UAAD,EAAc,GAAI,MAAQ,CAAA;AACnC;AAEA,WAAS,OAAOA,SAAa;AAC7B,WAAS,SAASA,SAAa;AAC/B,WAAS,QAAQA,SAAa;AAC9B,WAAS,QAAQA,SAAa;AAC9B,WAAS,SAASA,SAAa"}
@@ -1,20 +1,30 @@
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 Icon = require("@ant-design/icons");
6
- const ProgressCircle = require("../../svgs/ProgressCircle.svg.cjs");
7
- const SpinIcon = ({ height, width }) => {
8
- return /* @__PURE__ */ jsxRuntime.jsx(Icon, { spin: true, component: () => /* @__PURE__ */ jsxRuntime.jsx(ProgressCircle, {}), style: { height, width } });
1
+ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
2
+ const require_ProgressCircle = require("../../svgs/ProgressCircle.svg.cjs");
3
+ let antd = require("antd");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ let _ant_design_icons = require("@ant-design/icons");
6
+ _ant_design_icons = require_runtime.__toESM(_ant_design_icons, 1);
7
+ //#region src/components/spinner/Spinner.tsx
8
+ var SpinIcon = ({ height, width }) => {
9
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ant_design_icons.default, {
10
+ spin: true,
11
+ component: () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ProgressCircle.default, {}),
12
+ style: {
13
+ height,
14
+ width
15
+ }
16
+ });
9
17
  };
10
- const Spinner = ({ size = 80, className }) => {
11
- return /* @__PURE__ */ jsxRuntime.jsx(
12
- antd.Spin,
13
- {
14
- className,
15
- indicator: /* @__PURE__ */ jsxRuntime.jsx(SpinIcon, { height: size, width: size })
16
- }
17
- );
18
+ var Spinner = ({ size = 80, className }) => {
19
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Spin, {
20
+ className,
21
+ indicator: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SpinIcon, {
22
+ height: size,
23
+ width: size
24
+ })
25
+ });
18
26
  };
27
+ //#endregion
19
28
  exports.Spinner = Spinner;
20
- //# sourceMappingURL=Spinner.cjs.map
29
+
30
+ //# sourceMappingURL=Spinner.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.cjs","sources":["../../../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import { Spin } from 'antd'\nimport Icon from '@ant-design/icons'\n\nimport ProgressCircle from '../../svgs/ProgressCircle.svg?react'\n\ntype SpinnerProps = {\n size?: number\n className?: string\n}\n\nconst SpinIcon = ({ height, width }: { height?: number; width?: number }) => {\n return (\n <Icon spin component={() => <ProgressCircle />} style={{ height, width }} />\n )\n}\n\nexport const Spinner = ({ size = 80, className }: SpinnerProps) => {\n return (\n <Spin\n className={className}\n indicator={<SpinIcon height={size} width={size} />}\n />\n )\n}\n"],"names":["jsx","Spin"],"mappings":";;;;;;AAUA,MAAM,WAAW,CAAC,EAAE,QAAQ,YAAiD;AAC3E,SACEA,2BAAAA,IAAC,MAAA,EAAK,MAAI,MAAC,WAAW,MAAMA,2BAAAA,IAAC,gBAAA,CAAA,CAAe,GAAI,OAAO,EAAE,QAAQ,QAAM,CAAG;AAE9E;AAEO,MAAM,UAAU,CAAC,EAAE,OAAO,IAAI,gBAA8B;AACjE,SACEA,2BAAAA;AAAAA,IAACC,KAAAA;AAAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAWD,2BAAAA,IAAC,UAAA,EAAS,QAAQ,MAAM,OAAO,KAAA,CAAM;AAAA,IAAA;AAAA,EAAA;AAGtD;;"}
1
+ {"version":3,"file":"Spinner.cjs","names":["Icon","ProgressCircle","Spin"],"sources":["../../../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import { Spin } from 'antd'\nimport Icon from '@ant-design/icons'\n\nimport ProgressCircle from '../../svgs/ProgressCircle.svg'\n\ntype SpinnerProps = {\n size?: number\n className?: string\n}\n\nconst SpinIcon = ({ height, width }: { height?: number; width?: number }) => {\n return (\n <Icon spin component={() => <ProgressCircle />} style={{ height, width }} />\n )\n}\n\nexport const Spinner = ({ size = 80, className }: SpinnerProps) => {\n return (\n <Spin\n className={className}\n indicator={<SpinIcon height={size} width={size} />}\n />\n )\n}\n"],"mappings":";;;;;;;AAUA,IAAM,YAAY,EAAE,QAAQ,YAAiD;CAC3E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,kBAAAA,SAAD;EAAM,MAAA;EAAK,iBAAiB,iBAAA,GAAA,kBAAA,IAAA,CAACC,uBAAAA,SAAD,CAAiB,CAAA;EAAG,OAAO;GAAE;GAAQ;EAAM;CAAI,CAAA;AAE/E;AAEA,IAAa,WAAW,EAAE,OAAO,IAAI,gBAA8B;CACjE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,KAAAA,MAAD;EACa;EACX,WAAW,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;GAAU,QAAQ;GAAM,OAAO;EAAO,CAAA;CAClD,CAAA;AAEL"}
@@ -2,5 +2,5 @@ type SpinnerProps = {
2
2
  size?: number;
3
3
  className?: string;
4
4
  };
5
- export declare const Spinner: ({ size, className }: SpinnerProps) => import("react").JSX.Element;
5
+ export declare const Spinner: ({ size, className }: SpinnerProps) => import('react').JSX.Element;
6
6
  export {};
@@ -1,20 +1,28 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import SvgProgressCircle from "../../svgs/ProgressCircle.svg.js";
2
2
  import { Spin } from "antd";
3
+ import { jsx } from "react/jsx-runtime";
3
4
  import Icon from "@ant-design/icons";
4
- import SvgProgressCircle from "../../svgs/ProgressCircle.svg.js";
5
- const SpinIcon = ({ height, width }) => {
6
- return /* @__PURE__ */ jsx(Icon, { spin: true, component: () => /* @__PURE__ */ jsx(SvgProgressCircle, {}), style: { height, width } });
7
- };
8
- const Spinner = ({ size = 80, className }) => {
9
- return /* @__PURE__ */ jsx(
10
- Spin,
11
- {
12
- className,
13
- indicator: /* @__PURE__ */ jsx(SpinIcon, { height: size, width: size })
14
- }
15
- );
5
+ //#region src/components/spinner/Spinner.tsx
6
+ var SpinIcon = ({ height, width }) => {
7
+ return /* @__PURE__ */ jsx(Icon, {
8
+ spin: true,
9
+ component: () => /* @__PURE__ */ jsx(SvgProgressCircle, {}),
10
+ style: {
11
+ height,
12
+ width
13
+ }
14
+ });
16
15
  };
17
- export {
18
- Spinner
16
+ var Spinner = ({ size = 80, className }) => {
17
+ return /* @__PURE__ */ jsx(Spin, {
18
+ className,
19
+ indicator: /* @__PURE__ */ jsx(SpinIcon, {
20
+ height: size,
21
+ width: size
22
+ })
23
+ });
19
24
  };
20
- //# sourceMappingURL=Spinner.js.map
25
+ //#endregion
26
+ export { Spinner };
27
+
28
+ //# sourceMappingURL=Spinner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.js","sources":["../../../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import { Spin } from 'antd'\nimport Icon from '@ant-design/icons'\n\nimport ProgressCircle from '../../svgs/ProgressCircle.svg?react'\n\ntype SpinnerProps = {\n size?: number\n className?: string\n}\n\nconst SpinIcon = ({ height, width }: { height?: number; width?: number }) => {\n return (\n <Icon spin component={() => <ProgressCircle />} style={{ height, width }} />\n )\n}\n\nexport const Spinner = ({ size = 80, className }: SpinnerProps) => {\n return (\n <Spin\n className={className}\n indicator={<SpinIcon height={size} width={size} />}\n />\n )\n}\n"],"names":["ProgressCircle"],"mappings":";;;;AAUA,MAAM,WAAW,CAAC,EAAE,QAAQ,YAAiD;AAC3E,SACE,oBAAC,MAAA,EAAK,MAAI,MAAC,WAAW,MAAM,oBAACA,mBAAA,CAAA,CAAe,GAAI,OAAO,EAAE,QAAQ,QAAM,CAAG;AAE9E;AAEO,MAAM,UAAU,CAAC,EAAE,OAAO,IAAI,gBAA8B;AACjE,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW,oBAAC,UAAA,EAAS,QAAQ,MAAM,OAAO,KAAA,CAAM;AAAA,IAAA;AAAA,EAAA;AAGtD;"}
1
+ {"version":3,"file":"Spinner.js","names":["ProgressCircle"],"sources":["../../../../src/components/spinner/Spinner.tsx"],"sourcesContent":["import { Spin } from 'antd'\nimport Icon from '@ant-design/icons'\n\nimport ProgressCircle from '../../svgs/ProgressCircle.svg'\n\ntype SpinnerProps = {\n size?: number\n className?: string\n}\n\nconst SpinIcon = ({ height, width }: { height?: number; width?: number }) => {\n return (\n <Icon spin component={() => <ProgressCircle />} style={{ height, width }} />\n )\n}\n\nexport const Spinner = ({ size = 80, className }: SpinnerProps) => {\n return (\n <Spin\n className={className}\n indicator={<SpinIcon height={size} width={size} />}\n />\n )\n}\n"],"mappings":";;;;;AAUA,IAAM,YAAY,EAAE,QAAQ,YAAiD;CAC3E,OACE,oBAAC,MAAD;EAAM,MAAA;EAAK,iBAAiB,oBAACA,mBAAD,CAAiB,CAAA;EAAG,OAAO;GAAE;GAAQ;EAAM;CAAI,CAAA;AAE/E;AAEA,IAAa,WAAW,EAAE,OAAO,IAAI,gBAA8B;CACjE,OACE,oBAAC,MAAD;EACa;EACX,WAAW,oBAAC,UAAD;GAAU,QAAQ;GAAM,OAAO;EAAO,CAAA;CAClD,CAAA;AAEL"}
@@ -1,60 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const antd = require("antd");
1
+ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
5
2
  ;/* empty css */
6
- const react = require("@phosphor-icons/react");
7
- const cx = require("classnames");
8
- const useSteps = require("./useSteps.cjs");
9
- const Steps = ({
10
- items,
11
- current,
12
- setCurrent,
13
- dot = false,
14
- direction,
15
- orientation,
16
- size,
17
- labelPlacement,
18
- titlePlacement,
19
- ...props
20
- }) => {
21
- const isVertical = (orientation ?? direction) === "vertical";
22
- const totalSteps = (items == null ? void 0 : items.length) || 0;
23
- const { current: currentStep, setCurrent: setCurrentStep } = useSteps.useSteps({
24
- current,
25
- setCurrent,
26
- totalSteps
27
- });
28
- return /* @__PURE__ */ jsxRuntime.jsx(
29
- antd.Steps,
30
- {
31
- className: "j2Steps",
32
- ...props,
33
- orientation: orientation ?? direction,
34
- titlePlacement: titlePlacement ?? labelPlacement,
35
- size: size === "default" ? "medium" : size,
36
- current: currentStep,
37
- onChange: (curr) => setCurrentStep(curr),
38
- ...dot && { type: "dot" },
39
- items: items == null ? void 0 : items.map((item, index) => {
40
- const { description, ...restItem } = item;
41
- return {
42
- ...restItem,
43
- content: item.content ?? description,
44
- icon: !dot && currentStep > index ? /* @__PURE__ */ jsxRuntime.jsx(
45
- "div",
46
- {
47
- className: cx(
48
- `check-${size === "small" ? "small" : "medium"}`,
49
- isVertical ? `vertical-check-icon` : `check-icon`
50
- ),
51
- children: /* @__PURE__ */ jsxRuntime.jsx(react.CheckIcon, { size: 16 })
52
- }
53
- ) : item.icon
54
- };
55
- })
56
- }
57
- );
3
+ const require_useSteps = require("./useSteps.cjs");
4
+ let antd = require("antd");
5
+ let _phosphor_icons_react = require("@phosphor-icons/react");
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
+ let classnames = require("classnames");
8
+ classnames = require_runtime.__toESM(classnames, 1);
9
+ //#region src/components/steps/Steps.tsx
10
+ var Steps = ({ items, current, setCurrent, dot = false, direction, orientation, size, labelPlacement, titlePlacement, ...props }) => {
11
+ const isVertical = (orientation ?? direction) === "vertical";
12
+ const totalSteps = items?.length || 0;
13
+ const { current: currentStep, setCurrent: setCurrentStep } = require_useSteps.useSteps({
14
+ current,
15
+ setCurrent,
16
+ totalSteps
17
+ });
18
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(antd.Steps, {
19
+ className: "j2Steps",
20
+ ...props,
21
+ orientation: orientation ?? direction,
22
+ titlePlacement: titlePlacement ?? labelPlacement,
23
+ size: size === "default" ? "medium" : size,
24
+ current: currentStep,
25
+ onChange: (curr) => setCurrentStep(curr),
26
+ ...dot && { type: "dot" },
27
+ items: items?.map((item, index) => {
28
+ const { description, ...restItem } = item;
29
+ return {
30
+ ...restItem,
31
+ content: item.content ?? description,
32
+ icon: !dot && currentStep > index ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
33
+ className: (0, classnames.default)(`check-${size === "small" ? "small" : "medium"}`, isVertical ? `vertical-check-icon` : `check-icon`),
34
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_phosphor_icons_react.CheckIcon, { size: 16 })
35
+ }) : item.icon
36
+ };
37
+ })
38
+ });
58
39
  };
40
+ //#endregion
59
41
  exports.Steps = Steps;
60
- //# sourceMappingURL=Steps.cjs.map
42
+
43
+ //# sourceMappingURL=Steps.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Steps.cjs","sources":["../../../../src/components/steps/Steps.tsx"],"sourcesContent":["import { Steps as AntdSteps, StepsProps } from 'antd'\nimport './Steps.css'\nimport { CheckIcon } from '@phosphor-icons/react'\nimport cx from 'classnames'\nimport { useSteps } from './useSteps'\n\ntype AllProps = StepsProps & {\n items: NonNullable<StepsProps['items']>\n dot?: boolean\n current?: number\n setCurrent?: (current: number) => void\n}\n\ntype Props = Expand<AllProps>\n\nexport const Steps = ({\n items,\n current,\n setCurrent,\n dot = false,\n direction,\n orientation,\n size,\n labelPlacement,\n titlePlacement,\n ...props\n}: Props) => {\n const isVertical = (orientation ?? direction) === 'vertical'\n const totalSteps = items?.length || 0\n\n const { current: currentStep, setCurrent: setCurrentStep } = useSteps({\n current,\n setCurrent,\n totalSteps,\n })\n\n return (\n <AntdSteps\n className=\"j2Steps\"\n {...props}\n orientation={orientation ?? direction}\n titlePlacement={titlePlacement ?? labelPlacement}\n size={size === 'default' ? 'medium' : size}\n current={currentStep}\n onChange={(curr) => setCurrentStep(curr)}\n {...(dot && { type: 'dot' })}\n items={items?.map((item, index) => {\n const { description, ...restItem } = item\n return {\n ...restItem,\n content: item.content ?? description,\n icon:\n !dot && currentStep > index ? (\n <div\n className={cx(\n `check-${size === 'small' ? 'small' : 'medium'}`,\n isVertical ? `vertical-check-icon` : `check-icon`\n )}\n >\n <CheckIcon size={16} />\n </div>\n ) : (\n item.icon\n ),\n }\n })}\n />\n )\n}\n"],"names":["useSteps","jsx","AntdSteps","CheckIcon"],"mappings":";;;;;;;;AAeO,MAAM,QAAQ,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAa;AACX,QAAM,cAAc,eAAe,eAAe;AAClD,QAAM,cAAa,+BAAO,WAAU;AAEpC,QAAM,EAAE,SAAS,aAAa,YAAY,eAAA,IAAmBA,SAAAA,SAAS;AAAA,IACpE;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AAED,SACEC,2BAAAA;AAAAA,IAACC,KAAAA;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACT,GAAG;AAAA,MACJ,aAAa,eAAe;AAAA,MAC5B,gBAAgB,kBAAkB;AAAA,MAClC,MAAM,SAAS,YAAY,WAAW;AAAA,MACtC,SAAS;AAAA,MACT,UAAU,CAAC,SAAS,eAAe,IAAI;AAAA,MACtC,GAAI,OAAO,EAAE,MAAM,MAAA;AAAA,MACpB,OAAO,+BAAO,IAAI,CAAC,MAAM,UAAU;AACjC,cAAM,EAAE,aAAa,GAAG,SAAA,IAAa;AACrC,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS,KAAK,WAAW;AAAA,UACzB,MACE,CAAC,OAAO,cAAc,QACpBD,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW;AAAA,gBACT,SAAS,SAAS,UAAU,UAAU,QAAQ;AAAA,gBAC9C,aAAa,wBAAwB;AAAA,cAAA;AAAA,cAGvC,UAAAA,2BAAAA,IAACE,MAAAA,WAAA,EAAU,MAAM,GAAA,CAAI;AAAA,YAAA;AAAA,UAAA,IAGvB,KAAK;AAAA,QAAA;AAAA,MAGb;AAAA,IAAC;AAAA,EAAA;AAGP;;"}
1
+ {"version":3,"file":"Steps.cjs","names":["useSteps","AntdSteps","cx","CheckIcon"],"sources":["../../../../src/components/steps/Steps.tsx"],"sourcesContent":["import { Steps as AntdSteps, StepsProps } from 'antd'\nimport './Steps.css'\nimport { CheckIcon } from '@phosphor-icons/react'\nimport cx from 'classnames'\nimport { useSteps } from './useSteps'\n\ntype AllProps = StepsProps & {\n items: NonNullable<StepsProps['items']>\n dot?: boolean\n current?: number\n setCurrent?: (current: number) => void\n}\n\ntype Props = Expand<AllProps>\n\nexport const Steps = ({\n items,\n current,\n setCurrent,\n dot = false,\n direction,\n orientation,\n size,\n labelPlacement,\n titlePlacement,\n ...props\n}: Props) => {\n const isVertical = (orientation ?? direction) === 'vertical'\n const totalSteps = items?.length || 0\n\n const { current: currentStep, setCurrent: setCurrentStep } = useSteps({\n current,\n setCurrent,\n totalSteps,\n })\n\n return (\n <AntdSteps\n className=\"j2Steps\"\n {...props}\n orientation={orientation ?? direction}\n titlePlacement={titlePlacement ?? labelPlacement}\n size={size === 'default' ? 'medium' : size}\n current={currentStep}\n onChange={(curr) => setCurrentStep(curr)}\n {...(dot && { type: 'dot' })}\n items={items?.map((item, index) => {\n const { description, ...restItem } = item\n return {\n ...restItem,\n content: item.content ?? description,\n icon:\n !dot && currentStep > index ? (\n <div\n className={cx(\n `check-${size === 'small' ? 'small' : 'medium'}`,\n isVertical ? `vertical-check-icon` : `check-icon`\n )}\n >\n <CheckIcon size={16} />\n </div>\n ) : (\n item.icon\n ),\n }\n })}\n />\n )\n}\n"],"mappings":";;;;;;;;;AAeA,IAAa,SAAS,EACpB,OACA,SACA,YACA,MAAM,OACN,WACA,aACA,MACA,gBACA,gBACA,GAAG,YACQ;CACX,MAAM,cAAc,eAAe,eAAe;CAClD,MAAM,aAAa,OAAO,UAAU;CAEpC,MAAM,EAAE,SAAS,aAAa,YAAY,mBAAmBA,iBAAAA,SAAS;EACpE;EACA;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,KAAAA,OAAD;EACE,WAAU;EACV,GAAI;EACJ,aAAa,eAAe;EAC5B,gBAAgB,kBAAkB;EAClC,MAAM,SAAS,YAAY,WAAW;EACtC,SAAS;EACT,WAAW,SAAS,eAAe,IAAI;EACvC,GAAK,OAAO,EAAE,MAAM,MAAM;EAC1B,OAAO,OAAO,KAAK,MAAM,UAAU;GACjC,MAAM,EAAE,aAAa,GAAG,aAAa;GACrC,OAAO;IACL,GAAG;IACH,SAAS,KAAK,WAAW;IACzB,MACE,CAAC,OAAO,cAAc,QACpB,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KACE,YAAA,GAAWC,WAAAA,QAAAA,CACT,SAAS,SAAS,UAAU,UAAU,YACtC,aAAa,wBAAwB,YACvC;KAEA,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,WAAD,EAAW,MAAM,GAAK,CAAA;IACnB,CAAA,IAEL,KAAK;GAEX;EACF,CAAC;CACF,CAAA;AAEL"}
@@ -6,5 +6,5 @@ type AllProps = StepsProps & {
6
6
  setCurrent?: (current: number) => void;
7
7
  };
8
8
  type Props = Expand<AllProps>;
9
- export declare const Steps: ({ items, current, setCurrent, dot, direction, orientation, size, labelPlacement, titlePlacement, ...props }: Props) => import("react").JSX.Element;
9
+ export declare const Steps: ({ items, current, setCurrent, dot, direction, orientation, size, labelPlacement, titlePlacement, ...props }: Props) => import('react').JSX.Element;
10
10
  export {};