@bioturing/components 0.32.0 → 0.32.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 (511) hide show
  1. package/README.md +29 -0
  2. package/dist/components/badge/component.d.ts +7 -0
  3. package/dist/components/badge/component.d.ts.map +1 -0
  4. package/dist/components/badge/component.js.map +1 -1
  5. package/dist/components/badge/index.d.ts +2 -0
  6. package/dist/components/badge/index.d.ts.map +1 -0
  7. package/dist/components/breadcrumb/component.d.ts +6 -0
  8. package/dist/components/breadcrumb/component.d.ts.map +1 -0
  9. package/dist/components/breadcrumb/component.js.map +1 -1
  10. package/dist/components/breadcrumb/index.d.ts +3 -0
  11. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  12. package/dist/components/breadcrumb/types.d.ts +19 -0
  13. package/dist/components/breadcrumb/types.d.ts.map +1 -0
  14. package/dist/components/breadcrumb/useItemRender.d.ts +7 -0
  15. package/dist/components/breadcrumb/useItemRender.d.ts.map +1 -0
  16. package/dist/components/breadcrumb/useItemRender.js.map +1 -1
  17. package/dist/components/button/component.d.ts +14 -0
  18. package/dist/components/button/component.d.ts.map +1 -0
  19. package/dist/components/button/component.js.map +1 -1
  20. package/dist/components/button/index.d.ts +2 -0
  21. package/dist/components/button/index.d.ts.map +1 -0
  22. package/dist/components/checkbox/component.d.ts +16 -0
  23. package/dist/components/checkbox/component.d.ts.map +1 -0
  24. package/dist/components/checkbox/component.js.map +1 -1
  25. package/dist/components/checkbox/index.d.ts +2 -0
  26. package/dist/components/checkbox/index.d.ts.map +1 -0
  27. package/dist/components/choice-list/component.d.ts +35 -0
  28. package/dist/components/choice-list/component.d.ts.map +1 -0
  29. package/dist/components/choice-list/component.js.map +1 -1
  30. package/dist/components/choice-list/index.d.ts +2 -0
  31. package/dist/components/choice-list/index.d.ts.map +1 -0
  32. package/dist/components/cmdk/command-score.d.ts +2 -0
  33. package/dist/components/cmdk/command-score.d.ts.map +1 -0
  34. package/dist/components/cmdk/command-score.js.map +1 -1
  35. package/dist/components/cmdk/index.d.ts +440 -0
  36. package/dist/components/cmdk/index.d.ts.map +1 -0
  37. package/dist/components/cmdk/index.js +332 -348
  38. package/dist/components/cmdk/index.js.map +1 -1
  39. package/dist/components/code-block/component.d.ts +3 -0
  40. package/dist/components/code-block/component.d.ts.map +1 -0
  41. package/dist/components/code-block/component.js +83 -84
  42. package/dist/components/code-block/component.js.map +1 -1
  43. package/dist/components/code-block/index.d.ts +3 -0
  44. package/dist/components/code-block/index.d.ts.map +1 -0
  45. package/dist/components/code-block/types.d.ts +64 -0
  46. package/dist/components/code-block/types.d.ts.map +1 -0
  47. package/dist/components/collapse/component.d.ts +14 -0
  48. package/dist/components/collapse/component.d.ts.map +1 -0
  49. package/dist/components/collapse/component.js.map +1 -1
  50. package/dist/components/collapse/index.d.ts +2 -0
  51. package/dist/components/collapse/index.d.ts.map +1 -0
  52. package/dist/components/color-select/component.d.ts +36 -0
  53. package/dist/components/color-select/component.d.ts.map +1 -0
  54. package/dist/components/color-select/component.js +28 -30
  55. package/dist/components/color-select/component.js.map +1 -1
  56. package/dist/components/color-select/index.d.ts +2 -0
  57. package/dist/components/color-select/index.d.ts.map +1 -0
  58. package/dist/components/combobox/component.d.ts +119 -0
  59. package/dist/components/combobox/component.d.ts.map +1 -0
  60. package/dist/components/combobox/component.js +129 -129
  61. package/dist/components/combobox/component.js.map +1 -1
  62. package/dist/components/combobox/index.d.ts +3 -0
  63. package/dist/components/combobox/index.d.ts.map +1 -0
  64. package/dist/components/command-palette/component.d.ts +41 -0
  65. package/dist/components/command-palette/component.d.ts.map +1 -0
  66. package/dist/components/command-palette/component.js +36 -36
  67. package/dist/components/command-palette/component.js.map +1 -1
  68. package/dist/components/command-palette/index.d.ts +2 -0
  69. package/dist/components/command-palette/index.d.ts.map +1 -0
  70. package/dist/components/command-palette/style.css +1 -1
  71. package/dist/components/drag-drop/context.d.ts +10 -0
  72. package/dist/components/drag-drop/context.d.ts.map +1 -0
  73. package/dist/components/drag-drop/context.js.map +1 -1
  74. package/dist/components/drag-drop/draggable.d.ts +6 -0
  75. package/dist/components/drag-drop/draggable.d.ts.map +1 -0
  76. package/dist/components/drag-drop/draggable.js.map +1 -1
  77. package/dist/components/drag-drop/droppable.d.ts +9 -0
  78. package/dist/components/drag-drop/droppable.d.ts.map +1 -0
  79. package/dist/components/drag-drop/droppable.js.map +1 -1
  80. package/dist/components/drag-drop/hooks.d.ts +42 -0
  81. package/dist/components/drag-drop/hooks.d.ts.map +1 -0
  82. package/dist/components/drag-drop/hooks.js +71 -73
  83. package/dist/components/drag-drop/hooks.js.map +1 -1
  84. package/dist/components/drag-drop/index.d.ts +26 -0
  85. package/dist/components/drag-drop/index.d.ts.map +1 -0
  86. package/dist/components/drag-drop/index.js.map +1 -1
  87. package/dist/components/drag-drop/types.d.ts +232 -0
  88. package/dist/components/drag-drop/types.d.ts.map +1 -0
  89. package/dist/components/drag-drop/value.d.ts +8 -0
  90. package/dist/components/drag-drop/value.d.ts.map +1 -0
  91. package/dist/components/drag-drop/value.js +66 -66
  92. package/dist/components/drag-drop/value.js.map +1 -1
  93. package/dist/components/dropdown-menu/component.d.ts +79 -0
  94. package/dist/components/dropdown-menu/component.d.ts.map +1 -0
  95. package/dist/components/dropdown-menu/component.js +108 -108
  96. package/dist/components/dropdown-menu/component.js.map +1 -1
  97. package/dist/components/dropdown-menu/divider.d.ts +6 -0
  98. package/dist/components/dropdown-menu/divider.d.ts.map +1 -0
  99. package/dist/components/dropdown-menu/divider.js.map +1 -1
  100. package/dist/components/dropdown-menu/index.d.ts +4 -0
  101. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  102. package/dist/components/dropdown-menu/item.d.ts +56 -0
  103. package/dist/components/dropdown-menu/item.d.ts.map +1 -0
  104. package/dist/components/dropdown-menu/item.js +75 -78
  105. package/dist/components/dropdown-menu/item.js.map +1 -1
  106. package/dist/components/dropdown-menu/types.d.ts +88 -0
  107. package/dist/components/dropdown-menu/types.d.ts.map +1 -0
  108. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +58 -0
  109. package/dist/components/dropdown-menu/useDropdownMenu.d.ts.map +1 -0
  110. package/dist/components/dropdown-menu/useDropdownMenu.js +80 -80
  111. package/dist/components/dropdown-menu/useDropdownMenu.js.map +1 -1
  112. package/dist/components/ds-root/component.d.ts +14 -0
  113. package/dist/components/ds-root/component.d.ts.map +1 -0
  114. package/dist/components/ds-root/component.js.map +1 -1
  115. package/dist/components/ds-root/context.d.ts +8 -0
  116. package/dist/components/ds-root/context.d.ts.map +1 -0
  117. package/dist/components/ds-root/index.d.ts +3 -0
  118. package/dist/components/ds-root/index.d.ts.map +1 -0
  119. package/dist/components/empty/component.d.ts +13 -0
  120. package/dist/components/empty/component.d.ts.map +1 -0
  121. package/dist/components/empty/component.js.map +1 -1
  122. package/dist/components/empty/index.d.ts +2 -0
  123. package/dist/components/empty/index.d.ts.map +1 -0
  124. package/dist/components/field/component.d.ts +42 -0
  125. package/dist/components/field/component.d.ts.map +1 -0
  126. package/dist/components/field/component.js.map +1 -1
  127. package/dist/components/field/index.d.ts +2 -0
  128. package/dist/components/field/index.d.ts.map +1 -0
  129. package/dist/components/form/component.d.ts +22 -0
  130. package/dist/components/form/component.d.ts.map +1 -0
  131. package/dist/components/form/component.js.map +1 -1
  132. package/dist/components/form/index.d.ts +2 -0
  133. package/dist/components/form/index.d.ts.map +1 -0
  134. package/dist/components/form/item.d.ts +24 -0
  135. package/dist/components/form/item.d.ts.map +1 -0
  136. package/dist/components/form/item.js +24 -24
  137. package/dist/components/form/item.js.map +1 -1
  138. package/dist/components/form/label.d.ts +32 -0
  139. package/dist/components/form/label.d.ts.map +1 -0
  140. package/dist/components/form/label.js.map +1 -1
  141. package/dist/components/hooks/antd.d.ts +11 -0
  142. package/dist/components/hooks/antd.d.ts.map +1 -0
  143. package/dist/components/hooks/antd.js +9 -12
  144. package/dist/components/hooks/antd.js.map +1 -1
  145. package/dist/components/hooks/base-ui.d.ts +11 -0
  146. package/dist/components/hooks/base-ui.d.ts.map +1 -0
  147. package/dist/components/hooks/base-ui.js +22 -25
  148. package/dist/components/hooks/base-ui.js.map +1 -1
  149. package/dist/components/hooks/index.d.ts +11 -0
  150. package/dist/components/hooks/index.d.ts.map +1 -0
  151. package/dist/components/hooks/useBreakpoint.d.ts +39 -0
  152. package/dist/components/hooks/useBreakpoint.d.ts.map +1 -0
  153. package/dist/components/hooks/useBreakpoint.js +14 -15
  154. package/dist/components/hooks/useBreakpoint.js.map +1 -1
  155. package/dist/components/hooks/useCSSVariables.d.ts +7 -0
  156. package/dist/components/hooks/useCSSVariables.d.ts.map +1 -0
  157. package/dist/components/hooks/useCSSVariables.js.map +1 -1
  158. package/dist/components/hooks/useCharts.d.ts +41 -0
  159. package/dist/components/hooks/useCharts.d.ts.map +1 -0
  160. package/dist/components/hooks/useCharts.js.map +1 -1
  161. package/dist/components/hooks/useControlledState.d.ts +13 -0
  162. package/dist/components/hooks/useControlledState.d.ts.map +1 -0
  163. package/dist/components/hooks/useControlledState.js.map +1 -1
  164. package/dist/components/hooks/useDraggable.d.ts +4 -0
  165. package/dist/components/hooks/useDraggable.d.ts.map +1 -0
  166. package/dist/components/hooks/useDraggable.js +19 -20
  167. package/dist/components/hooks/useDraggable.js.map +1 -1
  168. package/dist/components/hooks/useHover.d.ts +5 -0
  169. package/dist/components/hooks/useHover.d.ts.map +1 -0
  170. package/dist/components/hooks/useHover.js +16 -17
  171. package/dist/components/hooks/useHover.js.map +1 -1
  172. package/dist/components/hooks/useResizeObserver.d.ts +9 -0
  173. package/dist/components/hooks/useResizeObserver.d.ts.map +1 -0
  174. package/dist/components/hooks/useResizeObserver.js +29 -30
  175. package/dist/components/hooks/useResizeObserver.js.map +1 -1
  176. package/dist/components/hooks/useTransitionStatus.d.ts +13 -0
  177. package/dist/components/hooks/useTransitionStatus.d.ts.map +1 -0
  178. package/dist/components/hooks/useTransitionStatus.js.map +1 -1
  179. package/dist/components/hooks/useWindowSize.d.ts +5 -0
  180. package/dist/components/hooks/useWindowSize.d.ts.map +1 -0
  181. package/dist/components/hooks/useWindowSize.js.map +1 -1
  182. package/dist/components/icon-button/component.d.ts +45 -0
  183. package/dist/components/icon-button/component.d.ts.map +1 -0
  184. package/dist/components/icon-button/component.js.map +1 -1
  185. package/dist/components/icon-button/index.d.ts +2 -0
  186. package/dist/components/icon-button/index.d.ts.map +1 -0
  187. package/dist/components/index.d.ts +53 -0
  188. package/dist/components/index.d.ts.map +1 -0
  189. package/dist/components/input/component.d.ts +29 -0
  190. package/dist/components/input/component.d.ts.map +1 -0
  191. package/dist/components/input/component.js +46 -46
  192. package/dist/components/input/component.js.map +1 -1
  193. package/dist/components/input/index.d.ts +2 -0
  194. package/dist/components/input/index.d.ts.map +1 -0
  195. package/dist/components/keyboard-shortcut/component.d.ts +15 -0
  196. package/dist/components/keyboard-shortcut/component.d.ts.map +1 -0
  197. package/dist/components/keyboard-shortcut/component.js.map +1 -1
  198. package/dist/components/keyboard-shortcut/index.d.ts +2 -0
  199. package/dist/components/keyboard-shortcut/index.d.ts.map +1 -0
  200. package/dist/components/loader/component.d.ts +5 -0
  201. package/dist/components/loader/component.d.ts.map +1 -0
  202. package/dist/components/loader/component.js.map +1 -1
  203. package/dist/components/loader/index.d.ts +2 -0
  204. package/dist/components/loader/index.d.ts.map +1 -0
  205. package/dist/components/modal/Modal.d.ts +85 -0
  206. package/dist/components/modal/Modal.d.ts.map +1 -0
  207. package/dist/components/modal/Modal.js +75 -75
  208. package/dist/components/modal/Modal.js.map +1 -1
  209. package/dist/components/modal/ModalProvider.d.ts +6 -0
  210. package/dist/components/modal/ModalProvider.d.ts.map +1 -0
  211. package/dist/components/modal/ModalProvider.js +25 -25
  212. package/dist/components/modal/ModalProvider.js.map +1 -1
  213. package/dist/components/modal/ModalService.d.ts +34 -0
  214. package/dist/components/modal/ModalService.d.ts.map +1 -0
  215. package/dist/components/modal/ModalService.js +5 -10
  216. package/dist/components/modal/ModalService.js.map +1 -1
  217. package/dist/components/modal/constants.d.ts +10 -0
  218. package/dist/components/modal/constants.d.ts.map +1 -0
  219. package/dist/components/modal/constants.js.map +1 -1
  220. package/dist/components/modal/functions.d.ts +28 -0
  221. package/dist/components/modal/functions.d.ts.map +1 -0
  222. package/dist/components/modal/functions.js.map +1 -1
  223. package/dist/components/modal/index.d.ts +16 -0
  224. package/dist/components/modal/index.d.ts.map +1 -0
  225. package/dist/components/modal/index.js.map +1 -1
  226. package/dist/components/nav/context.d.ts +10 -0
  227. package/dist/components/nav/context.d.ts.map +1 -0
  228. package/dist/components/nav/context.js.map +1 -1
  229. package/dist/components/nav/group.d.ts +15 -0
  230. package/dist/components/nav/group.d.ts.map +1 -0
  231. package/dist/components/nav/group.js.map +1 -1
  232. package/dist/components/nav/heading.d.ts +6 -0
  233. package/dist/components/nav/heading.d.ts.map +1 -0
  234. package/dist/components/nav/heading.js.map +1 -1
  235. package/dist/components/nav/index.d.ts +12 -0
  236. package/dist/components/nav/index.d.ts.map +1 -0
  237. package/dist/components/nav/item.d.ts +35 -0
  238. package/dist/components/nav/item.d.ts.map +1 -0
  239. package/dist/components/nav/item.js.map +1 -1
  240. package/dist/components/popover/component.d.ts +10 -0
  241. package/dist/components/popover/component.d.ts.map +1 -0
  242. package/dist/components/popover/component.js.map +1 -1
  243. package/dist/components/popover/index.d.ts +2 -0
  244. package/dist/components/popover/index.d.ts.map +1 -0
  245. package/dist/components/popup-panel/component.d.ts +100 -0
  246. package/dist/components/popup-panel/component.d.ts.map +1 -0
  247. package/dist/components/popup-panel/component.js +105 -105
  248. package/dist/components/popup-panel/component.js.map +1 -1
  249. package/dist/components/popup-panel/constants.d.ts +8 -0
  250. package/dist/components/popup-panel/constants.d.ts.map +1 -0
  251. package/dist/components/popup-panel/constants.js.map +1 -1
  252. package/dist/components/popup-panel/index.d.ts +2 -0
  253. package/dist/components/popup-panel/index.d.ts.map +1 -0
  254. package/dist/components/radio/component.d.ts +8 -0
  255. package/dist/components/radio/component.d.ts.map +1 -0
  256. package/dist/components/radio/component.js.map +1 -1
  257. package/dist/components/radio/index.d.ts +3 -0
  258. package/dist/components/radio/index.d.ts.map +1 -0
  259. package/dist/components/radio/interface.d.ts +6 -0
  260. package/dist/components/radio/interface.d.ts.map +1 -0
  261. package/dist/components/resizable/component.d.ts +70 -0
  262. package/dist/components/resizable/component.d.ts.map +1 -0
  263. package/dist/components/resizable/component.js +146 -147
  264. package/dist/components/resizable/component.js.map +1 -1
  265. package/dist/components/resizable/index.d.ts +3 -0
  266. package/dist/components/resizable/index.d.ts.map +1 -0
  267. package/dist/components/scroll-area/component.d.ts +67 -0
  268. package/dist/components/scroll-area/component.d.ts.map +1 -0
  269. package/dist/components/scroll-area/component.js +69 -69
  270. package/dist/components/scroll-area/component.js.map +1 -1
  271. package/dist/components/scroll-area/index.d.ts +2 -0
  272. package/dist/components/scroll-area/index.d.ts.map +1 -0
  273. package/dist/components/segmented/component.d.ts +10 -0
  274. package/dist/components/segmented/component.d.ts.map +1 -0
  275. package/dist/components/segmented/component.js.map +1 -1
  276. package/dist/components/segmented/index.d.ts +2 -0
  277. package/dist/components/segmented/index.d.ts.map +1 -0
  278. package/dist/components/select/component.d.ts +48 -0
  279. package/dist/components/select/component.d.ts.map +1 -0
  280. package/dist/components/select/component.js +93 -94
  281. package/dist/components/select/component.js.map +1 -1
  282. package/dist/components/select/index.d.ts +2 -0
  283. package/dist/components/select/index.d.ts.map +1 -0
  284. package/dist/components/select/item.d.ts +14 -0
  285. package/dist/components/select/item.d.ts.map +1 -0
  286. package/dist/components/select/item.js.map +1 -1
  287. package/dist/components/select-trigger/component.d.ts +45 -0
  288. package/dist/components/select-trigger/component.d.ts.map +1 -0
  289. package/dist/components/select-trigger/component.js +96 -96
  290. package/dist/components/select-trigger/component.js.map +1 -1
  291. package/dist/components/select-trigger/index.d.ts +3 -0
  292. package/dist/components/select-trigger/index.d.ts.map +1 -0
  293. package/dist/components/slider/component.d.ts +6 -0
  294. package/dist/components/slider/component.d.ts.map +1 -0
  295. package/dist/components/slider/component.js.map +1 -1
  296. package/dist/components/slider/index.d.ts +2 -0
  297. package/dist/components/slider/index.d.ts.map +1 -0
  298. package/dist/components/spin/component.d.ts +6 -0
  299. package/dist/components/spin/component.d.ts.map +1 -0
  300. package/dist/components/spin/component.js.map +1 -1
  301. package/dist/components/spin/index.d.ts +2 -0
  302. package/dist/components/spin/index.d.ts.map +1 -0
  303. package/dist/components/splitter/component.d.ts +10 -0
  304. package/dist/components/splitter/component.d.ts.map +1 -0
  305. package/dist/components/splitter/component.js +7 -7
  306. package/dist/components/splitter/component.js.map +1 -1
  307. package/dist/components/splitter/context.d.ts +5 -0
  308. package/dist/components/splitter/context.d.ts.map +1 -0
  309. package/dist/components/splitter/context.js.map +1 -1
  310. package/dist/components/splitter/index.d.ts +2 -0
  311. package/dist/components/splitter/index.d.ts.map +1 -0
  312. package/dist/components/splitter/splitter-panel.d.ts +12 -0
  313. package/dist/components/splitter/splitter-panel.d.ts.map +1 -0
  314. package/dist/components/splitter/splitter-panel.js.map +1 -1
  315. package/dist/components/splitter/splitter.d.ts +11 -0
  316. package/dist/components/splitter/splitter.d.ts.map +1 -0
  317. package/dist/components/splitter/splitter.js +112 -112
  318. package/dist/components/splitter/splitter.js.map +1 -1
  319. package/dist/components/splitter/useSizes.d.ts +9 -0
  320. package/dist/components/splitter/useSizes.d.ts.map +1 -0
  321. package/dist/components/splitter/useSizes.js +35 -35
  322. package/dist/components/splitter/useSizes.js.map +1 -1
  323. package/dist/components/stack/Stack.d.ts +40 -0
  324. package/dist/components/stack/Stack.d.ts.map +1 -0
  325. package/dist/components/stack/Stack.js.map +1 -1
  326. package/dist/components/stack/StackChild.d.ts +31 -0
  327. package/dist/components/stack/StackChild.d.ts.map +1 -0
  328. package/dist/components/stack/StackChild.js.map +1 -1
  329. package/dist/components/stack/index.d.ts +8 -0
  330. package/dist/components/stack/index.d.ts.map +1 -0
  331. package/dist/components/stack/index.js.map +1 -1
  332. package/dist/components/status-icon/component.d.ts +23 -0
  333. package/dist/components/status-icon/component.d.ts.map +1 -0
  334. package/dist/components/status-icon/component.js.map +1 -1
  335. package/dist/components/status-icon/index.d.ts +2 -0
  336. package/dist/components/status-icon/index.d.ts.map +1 -0
  337. package/dist/components/switch/component.d.ts +9 -0
  338. package/dist/components/switch/component.d.ts.map +1 -0
  339. package/dist/components/switch/component.js.map +1 -1
  340. package/dist/components/switch/index.d.ts +2 -0
  341. package/dist/components/switch/index.d.ts.map +1 -0
  342. package/dist/components/table/component.d.ts +32 -0
  343. package/dist/components/table/component.d.ts.map +1 -0
  344. package/dist/components/table/component.js +57 -58
  345. package/dist/components/table/component.js.map +1 -1
  346. package/dist/components/table/index.d.ts +2 -0
  347. package/dist/components/table/index.d.ts.map +1 -0
  348. package/dist/components/tag/component.d.ts +22 -0
  349. package/dist/components/tag/component.d.ts.map +1 -0
  350. package/dist/components/tag/component.js.map +1 -1
  351. package/dist/components/tag/index.d.ts +2 -0
  352. package/dist/components/tag/index.d.ts.map +1 -0
  353. package/dist/components/theme-provider/component.d.ts +7 -0
  354. package/dist/components/theme-provider/component.d.ts.map +1 -0
  355. package/dist/components/theme-provider/component.js.map +1 -1
  356. package/dist/components/theme-provider/index.d.ts +2 -0
  357. package/dist/components/theme-provider/index.d.ts.map +1 -0
  358. package/dist/components/toast/component.d.ts +15 -0
  359. package/dist/components/toast/component.d.ts.map +1 -0
  360. package/dist/components/toast/component.js +49 -50
  361. package/dist/components/toast/component.js.map +1 -1
  362. package/dist/components/toast/function.d.ts +11 -0
  363. package/dist/components/toast/function.d.ts.map +1 -0
  364. package/dist/components/toast/function.js.map +1 -1
  365. package/dist/components/toast/index.d.ts +4 -0
  366. package/dist/components/toast/index.d.ts.map +1 -0
  367. package/dist/components/toast/types.d.ts +4 -0
  368. package/dist/components/toast/types.d.ts.map +1 -0
  369. package/dist/components/tooltip/component.d.ts +10 -0
  370. package/dist/components/tooltip/component.d.ts.map +1 -0
  371. package/dist/components/tooltip/component.js.map +1 -1
  372. package/dist/components/tooltip/index.d.ts +2 -0
  373. package/dist/components/tooltip/index.d.ts.map +1 -0
  374. package/dist/components/tour/component.d.ts +8 -0
  375. package/dist/components/tour/component.d.ts.map +1 -0
  376. package/dist/components/tour/component.js.map +1 -1
  377. package/dist/components/tour/index.d.ts +2 -0
  378. package/dist/components/tour/index.d.ts.map +1 -0
  379. package/dist/components/transition/component.d.ts +30 -0
  380. package/dist/components/transition/component.d.ts.map +1 -0
  381. package/dist/components/transition/component.js +32 -32
  382. package/dist/components/transition/component.js.map +1 -1
  383. package/dist/components/transition/index.d.ts +2 -0
  384. package/dist/components/transition/index.d.ts.map +1 -0
  385. package/dist/components/tree/components.d.ts +14 -0
  386. package/dist/components/tree/components.d.ts.map +1 -0
  387. package/dist/components/tree/components.js.map +1 -1
  388. package/dist/components/tree/helpers.d.ts +6 -0
  389. package/dist/components/tree/helpers.d.ts.map +1 -0
  390. package/dist/components/tree/helpers.js.map +1 -1
  391. package/dist/components/tree/index.d.ts +5 -0
  392. package/dist/components/tree/index.d.ts.map +1 -0
  393. package/dist/components/tree/types.d.ts +56 -0
  394. package/dist/components/tree/types.d.ts.map +1 -0
  395. package/dist/components/tree/useTreeCommon.d.ts +179 -0
  396. package/dist/components/tree/useTreeCommon.d.ts.map +1 -0
  397. package/dist/components/tree/useTreeCommon.js +29 -29
  398. package/dist/components/tree/useTreeCommon.js.map +1 -1
  399. package/dist/components/tree/useUniqueKeysTree.d.ts +34 -0
  400. package/dist/components/tree/useUniqueKeysTree.d.ts.map +1 -0
  401. package/dist/components/tree/useUniqueKeysTree.js.map +1 -1
  402. package/dist/components/truncate/component.d.ts +17 -0
  403. package/dist/components/truncate/component.d.ts.map +1 -0
  404. package/dist/components/truncate/component.js +38 -39
  405. package/dist/components/truncate/component.js.map +1 -1
  406. package/dist/components/truncate/helpers.d.ts +17 -0
  407. package/dist/components/truncate/helpers.d.ts.map +1 -0
  408. package/dist/components/truncate/helpers.js +27 -30
  409. package/dist/components/truncate/helpers.js.map +1 -1
  410. package/dist/components/truncate/index.d.ts +2 -0
  411. package/dist/components/truncate/index.d.ts.map +1 -0
  412. package/dist/components/upload/component.d.ts +17 -0
  413. package/dist/components/upload/component.d.ts.map +1 -0
  414. package/dist/components/upload/component.js.map +1 -1
  415. package/dist/components/upload/dragger.d.ts +14 -0
  416. package/dist/components/upload/dragger.d.ts.map +1 -0
  417. package/dist/components/upload/dragger.js.map +1 -1
  418. package/dist/components/upload/hooks.d.ts +6 -0
  419. package/dist/components/upload/hooks.d.ts.map +1 -0
  420. package/dist/components/upload/hooks.js.map +1 -1
  421. package/dist/components/upload/index.d.ts +4 -0
  422. package/dist/components/upload/index.d.ts.map +1 -0
  423. package/dist/components/upload/item.d.ts +12 -0
  424. package/dist/components/upload/item.d.ts.map +1 -0
  425. package/dist/components/upload/item.js.map +1 -1
  426. package/dist/components/upload/utils.d.ts +2 -0
  427. package/dist/components/upload/utils.d.ts.map +1 -0
  428. package/dist/components/upload/utils.js.map +1 -1
  429. package/dist/components/utils/WithAntdTokens.d.ts +8 -0
  430. package/dist/components/utils/WithAntdTokens.d.ts.map +1 -0
  431. package/dist/components/utils/WithAntdTokens.js.map +1 -1
  432. package/dist/components/utils/WithRenderProp.d.ts +14 -0
  433. package/dist/components/utils/WithRenderProp.d.ts.map +1 -0
  434. package/dist/components/utils/WithRenderProp.js.map +1 -1
  435. package/dist/components/utils/antdUtils.d.ts +11 -0
  436. package/dist/components/utils/antdUtils.d.ts.map +1 -0
  437. package/dist/components/utils/antdUtils.js +9 -12
  438. package/dist/components/utils/antdUtils.js.map +1 -1
  439. package/dist/components/utils/client.d.ts +6 -0
  440. package/dist/components/utils/client.d.ts.map +1 -0
  441. package/dist/components/utils/cn.d.ts +5 -0
  442. package/dist/components/utils/cn.d.ts.map +1 -0
  443. package/dist/components/utils/cn.js.map +1 -1
  444. package/dist/components/utils/colors.d.ts +2 -0
  445. package/dist/components/utils/colors.d.ts.map +1 -0
  446. package/dist/components/utils/constants.d.ts +15 -0
  447. package/dist/components/utils/constants.d.ts.map +1 -0
  448. package/dist/components/utils/index.d.ts +6 -0
  449. package/dist/components/utils/index.d.ts.map +1 -0
  450. package/dist/components/utils/isTracebackError.d.ts +2 -0
  451. package/dist/components/utils/isTracebackError.d.ts.map +1 -0
  452. package/dist/components/utils/isTracebackError.js.map +1 -1
  453. package/dist/components/utils/main.d.ts +7 -0
  454. package/dist/components/utils/main.d.ts.map +1 -0
  455. package/dist/components/utils/placement.d.ts +21 -0
  456. package/dist/components/utils/placement.d.ts.map +1 -0
  457. package/dist/components/utils/placement.js.map +1 -1
  458. package/dist/components/utils/reactElement.d.ts +2 -0
  459. package/dist/components/utils/reactElement.d.ts.map +1 -0
  460. package/dist/components/utils/reactToString.d.ts +3 -0
  461. package/dist/components/utils/reactToString.d.ts.map +1 -0
  462. package/dist/components/utils/reactToString.js.map +1 -1
  463. package/dist/components/utils/selectionRange.d.ts +2 -0
  464. package/dist/components/utils/selectionRange.d.ts.map +1 -0
  465. package/dist/components/utils/selectionRange.js.map +1 -1
  466. package/dist/components/utils/theme.d.ts +6 -0
  467. package/dist/components/utils/theme.d.ts.map +1 -0
  468. package/dist/components/utils/theme.js.map +1 -1
  469. package/dist/components/utils/types.d.ts +12 -0
  470. package/dist/components/utils/types.d.ts.map +1 -0
  471. package/dist/components/vertical-collapsible-panel/component.d.ts +65 -0
  472. package/dist/components/vertical-collapsible-panel/component.d.ts.map +1 -0
  473. package/dist/components/vertical-collapsible-panel/component.js.map +1 -1
  474. package/dist/components/vertical-collapsible-panel/index.d.ts +2 -0
  475. package/dist/components/vertical-collapsible-panel/index.d.ts.map +1 -0
  476. package/dist/index.d.ts +4 -4431
  477. package/dist/index.d.ts.map +1 -0
  478. package/dist/index.js +166 -164
  479. package/dist/index.js.map +1 -1
  480. package/dist/metadata.d.ts +446 -0
  481. package/dist/metadata.d.ts.map +1 -0
  482. package/dist/metadata.js.map +1 -1
  483. package/dist/stats.html +4949 -0
  484. package/dist/tailwind.css +1 -1
  485. package/dist/tokens/and-theme/index.d.ts +2 -0
  486. package/dist/tokens/and-theme/index.d.ts.map +1 -0
  487. package/dist/tokens/and-theme/tokens.d.ts +6 -0
  488. package/dist/tokens/and-theme/tokens.d.ts.map +1 -0
  489. package/dist/tokens/and-theme/tokens.js.map +1 -1
  490. package/dist/tokens/charts/index.d.ts +5 -0
  491. package/dist/tokens/charts/index.d.ts.map +1 -0
  492. package/dist/tokens/charts/palettes/cloudscape.d.ts +460 -0
  493. package/dist/tokens/charts/palettes/cloudscape.d.ts.map +1 -0
  494. package/dist/tokens/charts/palettes/cloudscape.js.map +1 -1
  495. package/dist/tokens/charts/palettes/colorbrewer.d.ts +338 -0
  496. package/dist/tokens/charts/palettes/colorbrewer.d.ts.map +1 -0
  497. package/dist/tokens/charts/palettes/colorbrewer.js.map +1 -1
  498. package/dist/tokens/charts/palettes/index.d.ts +24 -0
  499. package/dist/tokens/charts/palettes/index.d.ts.map +1 -0
  500. package/dist/tokens/charts/palettes/index.js.map +1 -1
  501. package/dist/tokens/charts/palettes/tableau.d.ts +11 -0
  502. package/dist/tokens/charts/palettes/tableau.d.ts.map +1 -0
  503. package/dist/tokens/index.d.ts +5 -0
  504. package/dist/tokens/index.d.ts.map +1 -0
  505. package/dist/tokens/types.d.ts +10 -0
  506. package/dist/tokens/types.d.ts.map +1 -0
  507. package/dist/tokens/utils.d.ts +9 -0
  508. package/dist/tokens/utils.d.ts.map +1 -0
  509. package/dist/tokens/utils.js.map +1 -1
  510. package/package.json +2 -2
  511. package/dist/tailwind.d.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/keyboard-shortcut/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface LoaderProps extends React.ComponentPropsWithoutRef<"span"> {
2
+ text?: string;
3
+ }
4
+ export declare const Loader: import('react').ForwardRefExoticComponent<LoaderProps & import('react').RefAttributes<HTMLSpanElement>>;
5
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/loader/component.tsx"],"names":[],"mappings":"AAGA,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,MAAM,yGASlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/loader/component.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { useCls } from \"../utils\";\n\nimport \"./style.css\";\n\nexport interface LoaderProps extends React.ComponentPropsWithoutRef<\"span\"> {\n text?: string;\n}\n\nexport const Loader = forwardRef<HTMLSpanElement, LoaderProps>(\n ({ text = \"Loading\", ...rest }: LoaderProps, ref) => {\n const cls = useCls();\n return (\n <span ref={ref} role=\"status\" className={cls(\"loader\")} {...rest}>\n {text}\n </span>\n );\n },\n);\n\nLoader.displayName = \"Loader\";\n"],"names":["Loader","forwardRef","text","rest","ref","cls","useCls","jsx"],"mappings":";;;;AASO,MAAMA,IAASC;AAAA,EACpB,CAAC,EAAE,MAAAC,IAAO,WAAW,GAAGC,EAAA,GAAqBC,MAAQ;AACnD,UAAMC,IAAMC,EAAO;AAEjB,WAAA,gBAAAC,EAAC,QAAK,EAAA,KAAAH,GAAU,MAAK,UAAS,WAAWC,EAAI,QAAQ,GAAI,GAAGF,GACzD,UACHD,EAAA,CAAA;AAAA,EAAA;AAGN;AAEAF,EAAO,cAAc;"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/loader/component.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { useCls } from \"../utils\";\n\nimport \"./style.css\";\n\nexport interface LoaderProps extends React.ComponentPropsWithoutRef<\"span\"> {\n text?: string;\n}\n\nexport const Loader = forwardRef<HTMLSpanElement, LoaderProps>(\n ({ text = \"Loading\", ...rest }: LoaderProps, ref) => {\n const cls = useCls();\n return (\n <span ref={ref} role=\"status\" className={cls(\"loader\")} {...rest}>\n {text}\n </span>\n );\n },\n);\n\nLoader.displayName = \"Loader\";\n"],"names":["Loader","forwardRef","text","rest","ref","cls","useCls","jsx"],"mappings":";;;;AASO,MAAMA,IAASC;AAAA,EACpB,CAAC,EAAE,MAAAC,IAAO,WAAW,GAAGC,EAAA,GAAqBC,MAAQ;AACnD,UAAMC,IAAMC,EAAA;AACZ,WACE,gBAAAC,EAAC,QAAA,EAAK,KAAAH,GAAU,MAAK,UAAS,WAAWC,EAAI,QAAQ,GAAI,GAAGF,GACzD,UAAAD,EAAA,CACH;AAAA,EAEJ;AACF;AAEAF,EAAO,cAAc;"}
@@ -0,0 +1,2 @@
1
+ export * from './component';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/loader/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -0,0 +1,85 @@
1
+ import { ModalProps as AntModalProps } from 'antd/es/modal';
2
+ import { default as React } from 'react';
3
+ import { ModalType } from './functions';
4
+ export interface ModalProps extends Omit<AntModalProps, "centered"> {
5
+ /**
6
+ * Predefined sizes for the modal
7
+ * - xsmall: 400px
8
+ * - small: 520px
9
+ * - medium: 640px (default)
10
+ * - large: 840px
11
+ * - xlarge: 1024px
12
+ * - fullscreen: 100vw (takes full screen width with margins)
13
+ * @default "medium" for default type, "xsmall" for other types
14
+ */
15
+ size?: "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge" | "fullscreen";
16
+ /**
17
+ * Mark modal as loading
18
+ * @default false
19
+ */
20
+ loading?: boolean;
21
+ /**
22
+ * Hide Ok button
23
+ * @default false
24
+ */
25
+ hideOkButton?: boolean;
26
+ /**
27
+ * Hide Cancel button
28
+ * @default false
29
+ */
30
+ hideCancelButton?: boolean;
31
+ /**
32
+ * Custom Content Padding
33
+ * @default "24px"
34
+ */
35
+ contentPadding?: number | string | boolean;
36
+ /**
37
+ * Add more content below the title
38
+ */
39
+ afterTitle?: React.ReactNode;
40
+ /**
41
+ * Add more actions before close button
42
+ */
43
+ beforeCloseButton?: React.ReactNode;
44
+ /**
45
+ * Add more actions after close button
46
+ */
47
+ afterCloseButton?: React.ReactNode;
48
+ /**
49
+ * Set header and footer to fixed position
50
+ * @default false
51
+ */
52
+ defaultFixedHeaderFooter?: boolean;
53
+ /**
54
+ * Centered Modal
55
+ * @default true
56
+ */
57
+ centered?: boolean;
58
+ /**
59
+ * Modal type
60
+ * @default "default"
61
+ */
62
+ type?: ModalType;
63
+ /**
64
+ * Default open state for uncontrolled modal
65
+ * @default true
66
+ */
67
+ defaultOpen?: boolean;
68
+ /**
69
+ * Modal background
70
+ * @default "elevated" if size smaller than "medium", otherwise "container"
71
+ */
72
+ background?: "elevated" | "container";
73
+ /**
74
+ * Modal old close callback
75
+ * @deprecated use onCancel instead
76
+ */
77
+ onClose?: () => void;
78
+ /**
79
+ * Make modal body scrollable
80
+ * @default true
81
+ */
82
+ bodyScrollable?: boolean;
83
+ }
84
+ export declare const Modal: ({ open: externalOpen, closeIcon, children, size: sizeProp, footer, width, style, styles, classNames, okButtonProps, cancelButtonProps, loading, onOk, onCancel, okText, okType, confirmLoading, cancelText, hideOkButton, hideCancelButton, contentPadding, title, afterTitle, beforeCloseButton, afterCloseButton, defaultFixedHeaderFooter, centered, type, defaultOpen, background: backgroundProp, bodyScrollable, ...rest }: ModalProps) => import("react/jsx-runtime").JSX.Element;
85
+ //# sourceMappingURL=Modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,UAAU,IAAI,aAAa,EACjC,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAmD,MAAM,OAAO,CAAC;AASxE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxC,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC;IACjE;;;;;;;;;OASG;IACH,IAAI,CAAC,EACD,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,SAAS,GACT,YAAY,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC;;OAEG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACtC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAGD,eAAO,MAAM,KAAK,GAAI,kaAiCnB,UAAU,4CAiNZ,CAAC"}
@@ -1,42 +1,42 @@
1
1
  "use client";
2
- import { jsx as e, jsxs as m, Fragment as N } from "react/jsx-runtime";
2
+ import { jsx as e, jsxs as a, Fragment as H } from "react/jsx-runtime";
3
3
  import me from "antd/es/modal";
4
4
  import { XIcon as fe } from "@bioturing/assets";
5
- import { useState as R, useRef as ue, useCallback as pe, useEffect as he } from "react";
6
- import { ModalContextProvider as be } from "antd/es/modal/context";
7
- import L from "antd/es/modal/components/NormalCancelBtn";
8
- import C from "antd/es/modal/components/NormalOkBtn";
9
- import { getConfirmLocale as ge } from "antd/es/modal/locale";
10
- import { useLocale as ve } from "antd/es/locale";
11
- import { ModalSize as f } from "./constants.js";
12
- import { Stack as h } from "../stack/index.js";
13
- import { Truncate as ye } from "../truncate/component.js";
14
- import { IconButton as we } from "../icon-button/component.js";
15
- import { useCls as xe } from "../utils/antdUtils.js";
5
+ import { useState as N, useRef as ue, useCallback as pe, useEffect as he } from "react";
6
+ import { ModalContextProvider as ye } from "antd/es/modal/context";
7
+ import R from "antd/es/modal/components/NormalCancelBtn";
8
+ import L from "antd/es/modal/components/NormalOkBtn";
9
+ import { getConfirmLocale as be } from "antd/es/modal/locale";
10
+ import { useLocale as ge } from "antd/es/locale";
11
+ import { ModalSize as c } from "./constants.js";
12
+ import { Stack as f } from "../stack/index.js";
13
+ import { Truncate as ve } from "../truncate/component.js";
14
+ import { IconButton as ke } from "../icon-button/component.js";
15
+ import { useCls as we } from "../utils/antdUtils.js";
16
16
  const We = ({
17
- open: b,
18
- closeIcon: g,
17
+ open: u,
18
+ closeIcon: p,
19
19
  children: j,
20
20
  size: E,
21
- footer: v,
21
+ footer: h,
22
22
  width: F,
23
23
  style: P,
24
- styles: c,
24
+ styles: y,
25
25
  classNames: W,
26
26
  okButtonProps: $,
27
27
  cancelButtonProps: q,
28
28
  loading: A,
29
- onOk: i,
30
- onCancel: r,
31
- okText: y,
29
+ onOk: b,
30
+ onCancel: i,
31
+ okText: g,
32
32
  okType: X = "primary",
33
- confirmLoading: w,
34
- cancelText: x = "Close",
35
- hideOkButton: z = !1,
36
- hideCancelButton: k = !1,
37
- contentPadding: l,
38
- title: u,
39
- afterTitle: B,
33
+ confirmLoading: v,
34
+ cancelText: k = "Close",
35
+ hideOkButton: w = !1,
36
+ hideCancelButton: C = !1,
37
+ contentPadding: r,
38
+ title: d,
39
+ afterTitle: O,
40
40
  beforeCloseButton: D,
41
41
  afterCloseButton: G,
42
42
  defaultFixedHeaderFooter: J = !1,
@@ -47,57 +47,57 @@ const We = ({
47
47
  bodyScrollable: Y = !0,
48
48
  ...Z
49
49
  }) => {
50
- const _ = g === void 0 ? /* @__PURE__ */ e(fe, { size: 16, weight: "bold" }) : g, t = E || (Q === "default" ? "medium" : "xsmall"), ee = F || f[t], oe = {
51
- "--ds-modal-bg": `var(--ds-color-bg-${V || (t && t in f && parseInt(f[t]) <= parseInt(f.medium) ? "elevated" : "container")})`,
50
+ const _ = p === void 0 ? /* @__PURE__ */ e(fe, { size: 16, weight: "bold" }) : p, t = E || (Q === "default" ? "medium" : "xsmall"), ee = F || c[t], oe = {
51
+ "--ds-modal-bg": `var(--ds-color-bg-${V || (t in c && parseInt(c[t]) <= parseInt(c.medium) ? "elevated" : "container")})`,
52
52
  ...P,
53
53
  ...t === "fullscreen" ? { top: 0, maxWidth: "100%", height: "100%" } : {}
54
54
  }, re = {
55
- ...c,
55
+ ...y,
56
56
  body: {
57
- ...typeof l < "u" ? {
58
- "--ds-modal-content-padding": l === !1 || l === 0 ? "0" : typeof l == "number" ? `${l}px` : l
57
+ ...typeof r < "u" ? {
58
+ "--ds-modal-content-padding": r === !1 || r === 0 ? "0" : typeof r == "number" ? `${r}px` : r
59
59
  } : {},
60
- ...c == null ? void 0 : c.body
60
+ ...y?.body
61
61
  }
62
- }, [I, M] = R(!1), a = xe(), d = ue(null), te = pe(
62
+ }, [x, z] = N(!1), n = we(), s = ue(null), te = pe(
63
63
  (o) => {
64
64
  if (!o) return;
65
- const n = o.querySelector("." + a("modal-body"));
66
- if (!(n instanceof HTMLElement)) return;
67
- const H = new ResizeObserver(() => {
68
- const de = n.scrollHeight > n.clientHeight;
69
- M(de);
65
+ const l = o.querySelector("." + n("modal-body"));
66
+ if (!(l instanceof HTMLElement)) return;
67
+ const T = new ResizeObserver(() => {
68
+ const de = l.scrollHeight > l.clientHeight;
69
+ z(de);
70
70
  });
71
- d.current = H, H.observe(n);
72
- const ie = n.scrollHeight > n.clientHeight;
73
- M(ie);
71
+ s.current = T, T.observe(l);
72
+ const ie = l.scrollHeight > l.clientHeight;
73
+ z(ie);
74
74
  },
75
- [a]
75
+ [n]
76
76
  );
77
77
  he(() => () => {
78
- d.current && (d.current.disconnect(), d.current = null);
78
+ s.current && (s.current.disconnect(), s.current = null);
79
79
  }, []);
80
- const [s] = ve("Modal", ge()), le = y || (s == null ? void 0 : s.okText), se = x || (s == null ? void 0 : s.cancelText), S = {
80
+ const [B] = ge("Modal", be()), le = g || B?.okText, ne = k || B?.cancelText, I = {
81
81
  loading: A,
82
82
  ...$
83
- }, O = {
83
+ }, M = {
84
84
  ...q
85
- }, [ne, T] = R(U), p = typeof b > "u", ae = p ? ne : b, ce = /* @__PURE__ */ e(
86
- be,
85
+ }, [se, S] = N(U), m = typeof u > "u", ae = m ? se : u, ce = /* @__PURE__ */ e(
86
+ ye,
87
87
  {
88
88
  value: {
89
- okButtonProps: S,
90
- cancelButtonProps: O,
91
- onCancel: r,
92
- onOk: i,
89
+ okButtonProps: I,
90
+ cancelButtonProps: M,
91
+ onCancel: i,
92
+ onOk: b,
93
93
  okType: X,
94
- confirmLoading: w,
94
+ confirmLoading: v,
95
95
  okTextLocale: le,
96
- cancelTextLocale: se
96
+ cancelTextLocale: ne
97
97
  },
98
- children: z ? /* @__PURE__ */ e(L, {}) : k ? /* @__PURE__ */ e(C, {}) : /* @__PURE__ */ m(N, { children: [
99
- /* @__PURE__ */ e(L, {}),
100
- /* @__PURE__ */ e(C, {})
98
+ children: w ? /* @__PURE__ */ e(R, {}) : C ? /* @__PURE__ */ e(L, {}) : /* @__PURE__ */ a(H, { children: [
99
+ /* @__PURE__ */ e(R, {}),
100
+ /* @__PURE__ */ e(L, {})
101
101
  ] })
102
102
  }
103
103
  );
@@ -108,48 +108,48 @@ const We = ({
108
108
  open: ae,
109
109
  width: ee,
110
110
  style: oe,
111
- title: /* @__PURE__ */ m(N, { children: [
112
- /* @__PURE__ */ m(h, { align: "center", gap: 8, className: a("modal-title-wrapper"), children: [
113
- /* @__PURE__ */ e(h.Child, { grow: !0, children: typeof u == "string" ? /* @__PURE__ */ e(ye, { children: u }) : u }),
114
- /* @__PURE__ */ m(h.Child, { stack: !0, hug: !0, align: "center", gap: 8, children: [
111
+ title: /* @__PURE__ */ a(H, { children: [
112
+ /* @__PURE__ */ a(f, { align: "center", gap: 8, className: n("modal-title-wrapper"), children: [
113
+ /* @__PURE__ */ e(f.Child, { grow: !0, children: typeof d == "string" ? /* @__PURE__ */ e(ve, { children: d }) : d }),
114
+ /* @__PURE__ */ a(f.Child, { stack: !0, hug: !0, align: "center", gap: 8, children: [
115
115
  D,
116
116
  /* @__PURE__ */ e(
117
- we,
117
+ ke,
118
118
  {
119
- onClick: (o) => r == null ? void 0 : r(o),
119
+ onClick: (o) => i?.(o),
120
120
  children: _
121
121
  }
122
122
  ),
123
123
  G
124
124
  ] })
125
125
  ] }),
126
- B || null
126
+ O || null
127
127
  ] }),
128
128
  classNames: {
129
129
  ...W,
130
- wrapper: a(
130
+ wrapper: n(
131
131
  "modal-wrap",
132
132
  t == "fullscreen" && "modal-fullscreen",
133
- I && "modal-content-overflow",
133
+ x && "modal-content-overflow",
134
134
  Y === !1 && "modal-no-body-scroll",
135
- J || I || t == "fullscreen" ? "modal-fixed" : ""
135
+ J || x || t == "fullscreen" ? "modal-fixed" : ""
136
136
  )
137
137
  },
138
138
  styles: re,
139
- modalRender: (o) => /* @__PURE__ */ e("div", { ref: te, className: a("modal-inner"), children: o }),
140
- okButtonProps: S,
141
- cancelButtonProps: O,
139
+ modalRender: (o) => /* @__PURE__ */ e("div", { ref: te, className: n("modal-inner"), children: o }),
140
+ okButtonProps: I,
141
+ cancelButtonProps: M,
142
142
  onOk: (o) => {
143
- p && T(!1), i == null || i(o);
143
+ m && S(!1), b?.(o);
144
144
  },
145
145
  onCancel: (o) => {
146
- p && T(!1), r == null || r(o);
146
+ m && S(!1), i?.(o);
147
147
  },
148
- okText: y,
149
- cancelText: x,
148
+ okText: g,
149
+ cancelText: k,
150
150
  okType: "primary",
151
- confirmLoading: w,
152
- footer: typeof v > "u" ? z && k ? null : ce : v,
151
+ confirmLoading: v,
152
+ footer: typeof h > "u" ? w && C ? null : ce : h,
153
153
  centered: K,
154
154
  ...Z,
155
155
  children: j
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../src/components/modal/Modal.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntModal,\n type ModalProps as AntModalProps,\n} from \"antd/es/modal\";\nimport { XIcon } from \"@bioturing/assets\";\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useCls } from \"../utils\";\nimport { ModalContextProvider } from \"antd/es/modal/context\";\nimport NormalCancelBtn from \"antd/es/modal/components/NormalCancelBtn\";\nimport NormalOkBtn from \"antd/es/modal/components/NormalOkBtn\";\nimport { getConfirmLocale } from \"antd/es/modal/locale\";\nimport { useLocale } from \"antd/es/locale\";\nimport { IconButton } from \"../icon-button\";\nimport { ModalSize } from \"./constants\";\nimport { ModalType } from \"./functions\";\nimport { Truncate } from \"../truncate\";\nimport { Stack } from \"../stack\";\n\n// Define props interface extending Ant Design's ModalProps\nexport interface ModalProps extends Omit<AntModalProps, \"centered\"> {\n /**\n * Predefined sizes for the modal\n * - xsmall: 400px\n * - small: 520px\n * - medium: 640px (default)\n * - large: 840px\n * - xlarge: 1024px\n * - fullscreen: 100vw (takes full screen width with margins)\n * @default \"medium\" for default type, \"xsmall\" for other types\n */\n size?:\n | \"xsmall\"\n | \"small\"\n | \"medium\"\n | \"large\"\n | \"xlarge\"\n | \"xxlarge\"\n | \"fullscreen\";\n /**\n * Mark modal as loading\n * @default false\n */\n loading?: boolean;\n /**\n * Hide Ok button\n * @default false\n */\n hideOkButton?: boolean;\n /**\n * Hide Cancel button\n * @default false\n */\n hideCancelButton?: boolean;\n /**\n * Custom Content Padding\n * @default \"24px\"\n */\n contentPadding?: number | string | boolean;\n /**\n * Add more content below the title\n */\n afterTitle?: React.ReactNode;\n /**\n * Add more actions before close button\n */\n beforeCloseButton?: React.ReactNode;\n /**\n * Add more actions after close button\n */\n afterCloseButton?: React.ReactNode;\n /**\n * Set header and footer to fixed position\n * @default false\n */\n defaultFixedHeaderFooter?: boolean;\n /**\n * Centered Modal\n * @default true\n */\n centered?: boolean;\n /**\n * Modal type\n * @default \"default\"\n */\n type?: ModalType;\n /**\n * Default open state for uncontrolled modal\n * @default true\n */\n defaultOpen?: boolean;\n /**\n * Modal background\n * @default \"elevated\" if size smaller than \"medium\", otherwise \"container\"\n */\n background?: \"elevated\" | \"container\";\n /**\n * Modal old close callback\n * @deprecated use onCancel instead\n */\n onClose?: () => void;\n /**\n * Make modal body scrollable\n * @default true\n */\n bodyScrollable?: boolean;\n}\n\n// Create Modal component\nexport const Modal = ({\n open: externalOpen,\n closeIcon,\n children,\n size: sizeProp,\n footer,\n width,\n style,\n styles,\n classNames,\n okButtonProps,\n cancelButtonProps,\n loading,\n onOk,\n onCancel,\n okText,\n okType = \"primary\",\n confirmLoading,\n cancelText = \"Close\",\n hideOkButton = false,\n hideCancelButton = false,\n contentPadding,\n title,\n afterTitle,\n beforeCloseButton,\n afterCloseButton,\n defaultFixedHeaderFooter = false,\n centered = true,\n type = \"default\",\n defaultOpen = true,\n background: backgroundProp,\n bodyScrollable = true,\n ...rest\n}: ModalProps) => {\n // Default close icon with Phosphor icon\n const defaultCloseIcon =\n closeIcon === undefined ? <XIcon size={16} weight=\"bold\" /> : closeIcon;\n\n // Use custom width if provided, otherwise use the size from the map\n const defaultModalSize = type === \"default\" ? \"medium\" : \"xsmall\";\n\n const size: keyof typeof ModalSize = sizeProp || defaultModalSize;\n const modalWidth = width || ModalSize[size];\n\n const background =\n backgroundProp ||\n (size &&\n size in ModalSize &&\n parseInt(ModalSize[size]) <= parseInt(ModalSize.medium)\n ? \"elevated\"\n : \"container\");\n\n // Apply additional styles for fullscreen mode\n const modalStyle = {\n \"--ds-modal-bg\": `var(--ds-color-bg-${background})`,\n ...style,\n ...(size === \"fullscreen\"\n ? { top: 0, maxWidth: \"100%\", height: \"100%\" }\n : {}),\n };\n\n const modalStyles = {\n ...styles,\n body: {\n ...((typeof contentPadding != \"undefined\"\n ? {\n \"--ds-modal-content-padding\":\n contentPadding === false || contentPadding === 0\n ? \"0\"\n : typeof contentPadding == \"number\"\n ? `${contentPadding}px`\n : contentPadding,\n }\n : {}) as React.CSSProperties),\n ...styles?.body,\n },\n };\n\n const [isContentOverflow, setIsContentOverflow] = useState(false);\n\n const cls = useCls();\n\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n\n const modalInnerRef = useCallback(\n (node: HTMLElement | null) => {\n // If the node is null (component unmounting), just return\n if (!node) return;\n\n const modalBody = node.querySelector(\".\" + cls(\"modal-body\"));\n if (!(modalBody instanceof HTMLElement)) return;\n\n // Create ResizeObserver to detect overflow\n const resizeObserver = new ResizeObserver(() => {\n const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;\n setIsContentOverflow(hasOverflow);\n });\n\n // Store reference to the observer\n resizeObserverRef.current = resizeObserver;\n\n // Start observing\n resizeObserver.observe(modalBody);\n\n // Initial check\n const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;\n setIsContentOverflow(hasOverflow);\n },\n [cls]\n );\n\n // clean up resize observer\n useEffect(() => {\n return () => {\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n resizeObserverRef.current = null;\n }\n };\n }, []);\n\n const [locale] = useLocale(\"Modal\", getConfirmLocale());\n\n const okTextLocale: React.ReactNode = okText || locale?.okText;\n const cancelTextLocale = cancelText || locale?.cancelText;\n\n const modalOkButtonProps = {\n loading: loading,\n ...okButtonProps,\n };\n\n const modalCancelButtonProps = {\n ...cancelButtonProps,\n };\n\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n\n const uncontrolledOpen = typeof externalOpen === \"undefined\";\n\n const open = uncontrolledOpen ? internalOpen : externalOpen;\n\n const defaultFooter = (\n <ModalContextProvider\n value={{\n okButtonProps: modalOkButtonProps,\n cancelButtonProps: modalCancelButtonProps,\n onCancel,\n onOk,\n okType,\n confirmLoading,\n okTextLocale,\n cancelTextLocale,\n }}\n >\n {hideOkButton ? (\n <NormalCancelBtn />\n ) : hideCancelButton ? (\n <NormalOkBtn />\n ) : (\n <>\n <NormalCancelBtn />\n <NormalOkBtn />\n </>\n )}\n </ModalContextProvider>\n );\n const renderTitle = () => {\n return (\n <>\n <Stack align=\"center\" gap={8} className={cls(\"modal-title-wrapper\")}>\n <Stack.Child grow>\n {typeof title === \"string\" ? <Truncate>{title}</Truncate> : title}\n </Stack.Child>\n <Stack.Child stack hug align=\"center\" gap={8}>\n {beforeCloseButton}\n <IconButton\n onClick={(e: React.MouseEvent<HTMLButtonElement>) =>\n onCancel?.(e)\n }\n >\n {defaultCloseIcon}\n </IconButton>\n {afterCloseButton}\n </Stack.Child>\n {}\n </Stack>\n {afterTitle ? afterTitle : null}\n </>\n );\n };\n return (\n <AntModal\n closeIcon={false}\n open={open}\n width={modalWidth}\n style={modalStyle}\n title={renderTitle()}\n classNames={{\n ...classNames,\n wrapper: cls(\n \"modal-wrap\",\n size == \"fullscreen\" && \"modal-fullscreen\",\n isContentOverflow && \"modal-content-overflow\",\n bodyScrollable === false && \"modal-no-body-scroll\",\n defaultFixedHeaderFooter || isContentOverflow || size == \"fullscreen\"\n ? \"modal-fixed\"\n : \"\"\n ),\n }}\n styles={modalStyles}\n modalRender={(modal) => (\n <div ref={modalInnerRef} className={cls(\"modal-inner\")}>\n {modal}\n </div>\n )}\n okButtonProps={modalOkButtonProps}\n cancelButtonProps={modalCancelButtonProps}\n onOk={(e) => {\n if (uncontrolledOpen) setInternalOpen(false);\n onOk?.(e);\n }}\n onCancel={(e) => {\n if (uncontrolledOpen) setInternalOpen(false);\n onCancel?.(e);\n }}\n okText={okText}\n cancelText={cancelText}\n okType=\"primary\"\n confirmLoading={confirmLoading}\n footer={\n typeof footer === \"undefined\"\n ? hideOkButton && hideCancelButton\n ? null\n : defaultFooter\n : footer\n }\n centered={centered}\n {...rest}\n >\n {children}\n </AntModal>\n );\n};\n"],"names":["Modal","externalOpen","closeIcon","children","sizeProp","footer","width","style","styles","classNames","okButtonProps","cancelButtonProps","loading","onOk","onCancel","okText","okType","confirmLoading","cancelText","hideOkButton","hideCancelButton","contentPadding","title","afterTitle","beforeCloseButton","afterCloseButton","defaultFixedHeaderFooter","centered","type","defaultOpen","backgroundProp","bodyScrollable","rest","defaultCloseIcon","jsx","XIcon","size","modalWidth","ModalSize","modalStyle","modalStyles","isContentOverflow","setIsContentOverflow","useState","cls","useCls","resizeObserverRef","useRef","modalInnerRef","useCallback","node","modalBody","resizeObserver","hasOverflow","useEffect","locale","useLocale","getConfirmLocale","okTextLocale","cancelTextLocale","modalOkButtonProps","modalCancelButtonProps","internalOpen","setInternalOpen","uncontrolledOpen","open","defaultFooter","ModalContextProvider","NormalCancelBtn","NormalOkBtn","jsxs","Fragment","AntModal","Stack","Truncate","IconButton","e","modal"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../src/components/modal/Modal.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntModal,\n type ModalProps as AntModalProps,\n} from \"antd/es/modal\";\nimport { XIcon } from \"@bioturing/assets\";\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useCls } from \"../utils\";\nimport { ModalContextProvider } from \"antd/es/modal/context\";\nimport NormalCancelBtn from \"antd/es/modal/components/NormalCancelBtn\";\nimport NormalOkBtn from \"antd/es/modal/components/NormalOkBtn\";\nimport { getConfirmLocale } from \"antd/es/modal/locale\";\nimport { useLocale } from \"antd/es/locale\";\nimport { IconButton } from \"../icon-button\";\nimport { ModalSize } from \"./constants\";\nimport { ModalType } from \"./functions\";\nimport { Truncate } from \"../truncate\";\nimport { Stack } from \"../stack\";\n\n// Define props interface extending Ant Design's ModalProps\nexport interface ModalProps extends Omit<AntModalProps, \"centered\"> {\n /**\n * Predefined sizes for the modal\n * - xsmall: 400px\n * - small: 520px\n * - medium: 640px (default)\n * - large: 840px\n * - xlarge: 1024px\n * - fullscreen: 100vw (takes full screen width with margins)\n * @default \"medium\" for default type, \"xsmall\" for other types\n */\n size?:\n | \"xsmall\"\n | \"small\"\n | \"medium\"\n | \"large\"\n | \"xlarge\"\n | \"xxlarge\"\n | \"fullscreen\";\n /**\n * Mark modal as loading\n * @default false\n */\n loading?: boolean;\n /**\n * Hide Ok button\n * @default false\n */\n hideOkButton?: boolean;\n /**\n * Hide Cancel button\n * @default false\n */\n hideCancelButton?: boolean;\n /**\n * Custom Content Padding\n * @default \"24px\"\n */\n contentPadding?: number | string | boolean;\n /**\n * Add more content below the title\n */\n afterTitle?: React.ReactNode;\n /**\n * Add more actions before close button\n */\n beforeCloseButton?: React.ReactNode;\n /**\n * Add more actions after close button\n */\n afterCloseButton?: React.ReactNode;\n /**\n * Set header and footer to fixed position\n * @default false\n */\n defaultFixedHeaderFooter?: boolean;\n /**\n * Centered Modal\n * @default true\n */\n centered?: boolean;\n /**\n * Modal type\n * @default \"default\"\n */\n type?: ModalType;\n /**\n * Default open state for uncontrolled modal\n * @default true\n */\n defaultOpen?: boolean;\n /**\n * Modal background\n * @default \"elevated\" if size smaller than \"medium\", otherwise \"container\"\n */\n background?: \"elevated\" | \"container\";\n /**\n * Modal old close callback\n * @deprecated use onCancel instead\n */\n onClose?: () => void;\n /**\n * Make modal body scrollable\n * @default true\n */\n bodyScrollable?: boolean;\n}\n\n// Create Modal component\nexport const Modal = ({\n open: externalOpen,\n closeIcon,\n children,\n size: sizeProp,\n footer,\n width,\n style,\n styles,\n classNames,\n okButtonProps,\n cancelButtonProps,\n loading,\n onOk,\n onCancel,\n okText,\n okType = \"primary\",\n confirmLoading,\n cancelText = \"Close\",\n hideOkButton = false,\n hideCancelButton = false,\n contentPadding,\n title,\n afterTitle,\n beforeCloseButton,\n afterCloseButton,\n defaultFixedHeaderFooter = false,\n centered = true,\n type = \"default\",\n defaultOpen = true,\n background: backgroundProp,\n bodyScrollable = true,\n ...rest\n}: ModalProps) => {\n // Default close icon with Phosphor icon\n const defaultCloseIcon =\n closeIcon === undefined ? <XIcon size={16} weight=\"bold\" /> : closeIcon;\n\n // Use custom width if provided, otherwise use the size from the map\n const defaultModalSize = type === \"default\" ? \"medium\" : \"xsmall\";\n\n const size: keyof typeof ModalSize = sizeProp || defaultModalSize;\n const modalWidth = width || ModalSize[size];\n\n const background =\n backgroundProp ||\n (size &&\n size in ModalSize &&\n parseInt(ModalSize[size]) <= parseInt(ModalSize.medium)\n ? \"elevated\"\n : \"container\");\n\n // Apply additional styles for fullscreen mode\n const modalStyle = {\n \"--ds-modal-bg\": `var(--ds-color-bg-${background})`,\n ...style,\n ...(size === \"fullscreen\"\n ? { top: 0, maxWidth: \"100%\", height: \"100%\" }\n : {}),\n };\n\n const modalStyles = {\n ...styles,\n body: {\n ...((typeof contentPadding != \"undefined\"\n ? {\n \"--ds-modal-content-padding\":\n contentPadding === false || contentPadding === 0\n ? \"0\"\n : typeof contentPadding == \"number\"\n ? `${contentPadding}px`\n : contentPadding,\n }\n : {}) as React.CSSProperties),\n ...styles?.body,\n },\n };\n\n const [isContentOverflow, setIsContentOverflow] = useState(false);\n\n const cls = useCls();\n\n const resizeObserverRef = useRef<ResizeObserver | null>(null);\n\n const modalInnerRef = useCallback(\n (node: HTMLElement | null) => {\n // If the node is null (component unmounting), just return\n if (!node) return;\n\n const modalBody = node.querySelector(\".\" + cls(\"modal-body\"));\n if (!(modalBody instanceof HTMLElement)) return;\n\n // Create ResizeObserver to detect overflow\n const resizeObserver = new ResizeObserver(() => {\n const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;\n setIsContentOverflow(hasOverflow);\n });\n\n // Store reference to the observer\n resizeObserverRef.current = resizeObserver;\n\n // Start observing\n resizeObserver.observe(modalBody);\n\n // Initial check\n const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;\n setIsContentOverflow(hasOverflow);\n },\n [cls]\n );\n\n // clean up resize observer\n useEffect(() => {\n return () => {\n if (resizeObserverRef.current) {\n resizeObserverRef.current.disconnect();\n resizeObserverRef.current = null;\n }\n };\n }, []);\n\n const [locale] = useLocale(\"Modal\", getConfirmLocale());\n\n const okTextLocale: React.ReactNode = okText || locale?.okText;\n const cancelTextLocale = cancelText || locale?.cancelText;\n\n const modalOkButtonProps = {\n loading: loading,\n ...okButtonProps,\n };\n\n const modalCancelButtonProps = {\n ...cancelButtonProps,\n };\n\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n\n const uncontrolledOpen = typeof externalOpen === \"undefined\";\n\n const open = uncontrolledOpen ? internalOpen : externalOpen;\n\n const defaultFooter = (\n <ModalContextProvider\n value={{\n okButtonProps: modalOkButtonProps,\n cancelButtonProps: modalCancelButtonProps,\n onCancel,\n onOk,\n okType,\n confirmLoading,\n okTextLocale,\n cancelTextLocale,\n }}\n >\n {hideOkButton ? (\n <NormalCancelBtn />\n ) : hideCancelButton ? (\n <NormalOkBtn />\n ) : (\n <>\n <NormalCancelBtn />\n <NormalOkBtn />\n </>\n )}\n </ModalContextProvider>\n );\n const renderTitle = () => {\n return (\n <>\n <Stack align=\"center\" gap={8} className={cls(\"modal-title-wrapper\")}>\n <Stack.Child grow>\n {typeof title === \"string\" ? <Truncate>{title}</Truncate> : title}\n </Stack.Child>\n <Stack.Child stack hug align=\"center\" gap={8}>\n {beforeCloseButton}\n <IconButton\n onClick={(e: React.MouseEvent<HTMLButtonElement>) =>\n onCancel?.(e)\n }\n >\n {defaultCloseIcon}\n </IconButton>\n {afterCloseButton}\n </Stack.Child>\n {}\n </Stack>\n {afterTitle ? afterTitle : null}\n </>\n );\n };\n return (\n <AntModal\n closeIcon={false}\n open={open}\n width={modalWidth}\n style={modalStyle}\n title={renderTitle()}\n classNames={{\n ...classNames,\n wrapper: cls(\n \"modal-wrap\",\n size == \"fullscreen\" && \"modal-fullscreen\",\n isContentOverflow && \"modal-content-overflow\",\n bodyScrollable === false && \"modal-no-body-scroll\",\n defaultFixedHeaderFooter || isContentOverflow || size == \"fullscreen\"\n ? \"modal-fixed\"\n : \"\"\n ),\n }}\n styles={modalStyles}\n modalRender={(modal) => (\n <div ref={modalInnerRef} className={cls(\"modal-inner\")}>\n {modal}\n </div>\n )}\n okButtonProps={modalOkButtonProps}\n cancelButtonProps={modalCancelButtonProps}\n onOk={(e) => {\n if (uncontrolledOpen) setInternalOpen(false);\n onOk?.(e);\n }}\n onCancel={(e) => {\n if (uncontrolledOpen) setInternalOpen(false);\n onCancel?.(e);\n }}\n okText={okText}\n cancelText={cancelText}\n okType=\"primary\"\n confirmLoading={confirmLoading}\n footer={\n typeof footer === \"undefined\"\n ? hideOkButton && hideCancelButton\n ? null\n : defaultFooter\n : footer\n }\n centered={centered}\n {...rest}\n >\n {children}\n </AntModal>\n );\n};\n"],"names":["Modal","externalOpen","closeIcon","children","sizeProp","footer","width","style","styles","classNames","okButtonProps","cancelButtonProps","loading","onOk","onCancel","okText","okType","confirmLoading","cancelText","hideOkButton","hideCancelButton","contentPadding","title","afterTitle","beforeCloseButton","afterCloseButton","defaultFixedHeaderFooter","centered","type","defaultOpen","backgroundProp","bodyScrollable","rest","defaultCloseIcon","jsx","XIcon","size","modalWidth","ModalSize","modalStyle","modalStyles","isContentOverflow","setIsContentOverflow","useState","cls","useCls","resizeObserverRef","useRef","modalInnerRef","useCallback","node","modalBody","resizeObserver","hasOverflow","useEffect","locale","useLocale","getConfirmLocale","okTextLocale","cancelTextLocale","modalOkButtonProps","modalCancelButtonProps","internalOpen","setInternalOpen","uncontrolledOpen","open","defaultFooter","ModalContextProvider","NormalCancelBtn","NormalOkBtn","jsxs","Fragment","AntModal","Stack","Truncate","IconButton","e","modal"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ export interface ModalProviderProps {
3
+ children?: React.ReactNode;
4
+ }
5
+ export declare const ModalProvider: React.FC<ModalProviderProps>;
6
+ //# sourceMappingURL=ModalProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalProvider.d.ts","sourceRoot":"","sources":["../../../src/components/modal/ModalProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA8EtD,CAAC"}
@@ -2,28 +2,28 @@
2
2
  import { jsxs as f, Fragment as m } from "react/jsx-runtime";
3
3
  import { useState as y, useEffect as g, createElement as b } from "react";
4
4
  import { Modal as M } from "./Modal.js";
5
- import { modalManager as n } from "./ModalService.js";
6
- const j = ({ children: l }) => {
5
+ import { modalManager as a } from "./ModalService.js";
6
+ const x = ({ children: l }) => {
7
7
  const [p, u] = y([]);
8
- return g(() => n.subscribe((e) => {
9
- u((r) => {
8
+ return g(() => a.subscribe((e) => {
9
+ u((t) => {
10
10
  switch (e.type) {
11
11
  case "add":
12
- return [...r, e.payload];
12
+ return [...t, e.payload];
13
13
  case "update":
14
- return r.map((t) => {
15
- if (t.id === e.payload.id) {
16
- const o = e.payload.config, a = typeof o == "function" ? o(t) : { ...t, ...o };
17
- return { ...t, ...a };
14
+ return t.map((o) => {
15
+ if (o.id === e.payload.id) {
16
+ const r = e.payload.config, n = typeof r == "function" ? r(o) : { ...o, ...r };
17
+ return { ...o, ...n };
18
18
  }
19
- return t;
19
+ return o;
20
20
  });
21
21
  case "destroy":
22
- return r.filter((t) => t.id !== e.payload.id);
22
+ return t.filter((o) => o.id !== e.payload.id);
23
23
  case "destroyAll":
24
24
  return [];
25
25
  default:
26
- return r;
26
+ return t;
27
27
  }
28
28
  });
29
29
  }), []), /* @__PURE__ */ f(m, { children: [
@@ -31,41 +31,41 @@ const j = ({ children: l }) => {
31
31
  p.map((d) => {
32
32
  const {
33
33
  id: e,
34
- content: r,
35
- children: t,
36
- onOk: o,
37
- onCancel: a,
38
- trigger: i,
39
- ...c
34
+ content: t,
35
+ children: o,
36
+ onOk: r,
37
+ onCancel: n,
38
+ trigger: c,
39
+ ...i
40
40
  } = d;
41
41
  return /* @__PURE__ */ b(
42
42
  M,
43
43
  {
44
- ...c,
44
+ ...i,
45
45
  key: e,
46
- open: c.open,
46
+ open: i.open,
47
47
  onOk: (s) => {
48
- o == null || o(s), n.emit({
48
+ r?.(s), a.emit({
49
49
  type: "update",
50
50
  payload: { id: e, config: { open: !1 } }
51
51
  });
52
52
  },
53
53
  onCancel: (s) => {
54
- a == null || a(s), n.emit({
54
+ n?.(s), a.emit({
55
55
  type: "update",
56
56
  payload: { id: e, config: { open: !1 } }
57
57
  });
58
58
  },
59
59
  afterClose: () => {
60
- n.emit({ type: "destroy", payload: { id: e } }), i instanceof HTMLElement && i.focus();
60
+ a.emit({ type: "destroy", payload: { id: e } }), c instanceof HTMLElement && c.focus();
61
61
  }
62
62
  },
63
- r || t
63
+ t || o
64
64
  );
65
65
  })
66
66
  ] });
67
67
  };
68
68
  export {
69
- j as ModalProvider
69
+ x as ModalProvider
70
70
  };
71
71
  //# sourceMappingURL=ModalProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalProvider.js","sources":["../../../src/components/modal/ModalProvider.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, useState } from \"react\";\nimport { Modal } from \"./Modal\";\nimport { modalManager } from \"./ModalService\";\nimport type { ModalConfig, ModalEvent } from \"./ModalService\";\n\nexport interface ModalProviderProps {\n children?: React.ReactNode;\n}\n\nexport const ModalProvider: React.FC<ModalProviderProps> = ({ children }) => {\n const [modals, setModals] = useState<ModalConfig[]>([]);\n\n useEffect(() => {\n const unsubscribe = modalManager.subscribe((event: ModalEvent) => {\n setModals((prev) => {\n switch (event.type) {\n case \"add\":\n return [...prev, event.payload];\n case \"update\":\n return prev.map((m) => {\n if (m.id === event.payload.id) {\n const cfg = event.payload.config;\n const merged =\n typeof cfg === \"function\" ? cfg(m) : { ...m, ...cfg };\n return { ...m, ...merged };\n }\n return m;\n });\n case \"destroy\":\n return prev.filter((m) => m.id !== event.payload.id);\n case \"destroyAll\":\n return [];\n default:\n return prev;\n }\n });\n });\n return unsubscribe;\n }, []);\n\n return (\n <>\n {children}\n {modals.map((modal) => {\n const {\n id,\n content,\n children,\n onOk,\n onCancel,\n trigger,\n ...modalProps\n } = modal;\n return (\n <Modal\n {...modalProps}\n key={id}\n // control visibility for transitions\n open={modalProps.open}\n onOk={(e) => {\n onOk?.(e);\n modalManager.emit({\n type: \"update\",\n payload: { id, config: { open: false } },\n });\n }}\n onCancel={(e) => {\n onCancel?.(e);\n modalManager.emit({\n type: \"update\",\n payload: { id, config: { open: false } },\n });\n }}\n afterClose={() => {\n // destroy and restore focus\n modalManager.emit({ type: \"destroy\", payload: { id } });\n if (trigger instanceof HTMLElement) {\n trigger.focus();\n }\n }}\n >\n {content || children}\n </Modal>\n );\n })}\n </>\n );\n};\n"],"names":["ModalProvider","children","modals","setModals","useState","useEffect","modalManager","event","prev","m","cfg","merged","jsxs","Fragment","modal","id","content","onOk","onCancel","trigger","modalProps","createElement","Modal","e"],"mappings":";;;;;AAUO,MAAMA,IAA8C,CAAC,EAAE,UAAAC,QAAe;AAC3E,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAwB,CAAA,CAAE;AAEtD,SAAAC,EAAU,MACYC,EAAa,UAAU,CAACC,MAAsB;AAChE,IAAAJ,EAAU,CAACK,MAAS;AAClB,cAAQD,EAAM,MAAM;AAAA,QAClB,KAAK;AACH,iBAAO,CAAC,GAAGC,GAAMD,EAAM,OAAO;AAAA,QAChC,KAAK;AACI,iBAAAC,EAAK,IAAI,CAACC,MAAM;AACrB,gBAAIA,EAAE,OAAOF,EAAM,QAAQ,IAAI;AACvB,oBAAAG,IAAMH,EAAM,QAAQ,QACpBI,IACJ,OAAOD,KAAQ,aAAaA,EAAID,CAAC,IAAI,EAAE,GAAGA,GAAG,GAAGC,EAAI;AACtD,qBAAO,EAAE,GAAGD,GAAG,GAAGE,EAAO;AAAA,YAAA;AAEpB,mBAAAF;AAAA,UAAA,CACR;AAAA,QACH,KAAK;AACI,iBAAAD,EAAK,OAAO,CAACC,MAAMA,EAAE,OAAOF,EAAM,QAAQ,EAAE;AAAA,QACrD,KAAK;AACH,iBAAO,CAAC;AAAA,QACV;AACS,iBAAAC;AAAA,MAAA;AAAA,IACX,CACD;AAAA,EAAA,CACF,GAEA,EAAE,GAIA,gBAAAI,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAAZ;AAAA,IACAC,EAAO,IAAI,CAACY,MAAU;AACf,YAAA;AAAA,QACJ,IAAAC;AAAA,QACA,SAAAC;AAAA,QACA,UAAAf;AAAAA,QACA,MAAAgB;AAAA,QACA,UAAAC;AAAA,QACA,SAAAC;AAAA,QACA,GAAGC;AAAA,MAAA,IACDN;AAEF,aAAA,gBAAAO;AAAA,QAACC;AAAA,QAAA;AAAA,UACE,GAAGF;AAAA,UACJ,KAAKL;AAAA,UAEL,MAAMK,EAAW;AAAA,UACjB,MAAM,CAACG,MAAM;AACX,YAAAN,KAAA,QAAAA,EAAOM,IACPjB,EAAa,KAAK;AAAA,cAChB,MAAM;AAAA,cACN,SAAS,EAAE,IAAAS,GAAI,QAAQ,EAAE,MAAM,GAAQ,EAAA;AAAA,YAAA,CACxC;AAAA,UACH;AAAA,UACA,UAAU,CAACQ,MAAM;AACf,YAAAL,KAAA,QAAAA,EAAWK,IACXjB,EAAa,KAAK;AAAA,cAChB,MAAM;AAAA,cACN,SAAS,EAAE,IAAAS,GAAI,QAAQ,EAAE,MAAM,GAAQ,EAAA;AAAA,YAAA,CACxC;AAAA,UACH;AAAA,UACA,YAAY,MAAM;AAEH,YAAAT,EAAA,KAAK,EAAE,MAAM,WAAW,SAAS,EAAE,IAAAS,EAAA,GAAM,GAClDI,aAAmB,eACrBA,EAAQ,MAAM;AAAA,UAChB;AAAA,QACF;AAAA,QAECH,KAAWf;AAAAA,MACd;AAAA,IAEH,CAAA;AAAA,EAAA,GACH;AAEJ;"}
1
+ {"version":3,"file":"ModalProvider.js","sources":["../../../src/components/modal/ModalProvider.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, useState } from \"react\";\nimport { Modal } from \"./Modal\";\nimport { modalManager } from \"./ModalService\";\nimport type { ModalConfig, ModalEvent } from \"./ModalService\";\n\nexport interface ModalProviderProps {\n children?: React.ReactNode;\n}\n\nexport const ModalProvider: React.FC<ModalProviderProps> = ({ children }) => {\n const [modals, setModals] = useState<ModalConfig[]>([]);\n\n useEffect(() => {\n const unsubscribe = modalManager.subscribe((event: ModalEvent) => {\n setModals((prev) => {\n switch (event.type) {\n case \"add\":\n return [...prev, event.payload];\n case \"update\":\n return prev.map((m) => {\n if (m.id === event.payload.id) {\n const cfg = event.payload.config;\n const merged =\n typeof cfg === \"function\" ? cfg(m) : { ...m, ...cfg };\n return { ...m, ...merged };\n }\n return m;\n });\n case \"destroy\":\n return prev.filter((m) => m.id !== event.payload.id);\n case \"destroyAll\":\n return [];\n default:\n return prev;\n }\n });\n });\n return unsubscribe;\n }, []);\n\n return (\n <>\n {children}\n {modals.map((modal) => {\n const {\n id,\n content,\n children,\n onOk,\n onCancel,\n trigger,\n ...modalProps\n } = modal;\n return (\n <Modal\n {...modalProps}\n key={id}\n // control visibility for transitions\n open={modalProps.open}\n onOk={(e) => {\n onOk?.(e);\n modalManager.emit({\n type: \"update\",\n payload: { id, config: { open: false } },\n });\n }}\n onCancel={(e) => {\n onCancel?.(e);\n modalManager.emit({\n type: \"update\",\n payload: { id, config: { open: false } },\n });\n }}\n afterClose={() => {\n // destroy and restore focus\n modalManager.emit({ type: \"destroy\", payload: { id } });\n if (trigger instanceof HTMLElement) {\n trigger.focus();\n }\n }}\n >\n {content || children}\n </Modal>\n );\n })}\n </>\n );\n};\n"],"names":["ModalProvider","children","modals","setModals","useState","useEffect","modalManager","event","prev","m","cfg","merged","jsxs","Fragment","modal","id","content","onOk","onCancel","trigger","modalProps","createElement","Modal","e"],"mappings":";;;;;AAUO,MAAMA,IAA8C,CAAC,EAAE,UAAAC,QAAe;AAC3E,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAwB,CAAA,CAAE;AAEtD,SAAAC,EAAU,MACYC,EAAa,UAAU,CAACC,MAAsB;AAChE,IAAAJ,EAAU,CAACK,MAAS;AAClB,cAAQD,EAAM,MAAA;AAAA,QACZ,KAAK;AACH,iBAAO,CAAC,GAAGC,GAAMD,EAAM,OAAO;AAAA,QAChC,KAAK;AACH,iBAAOC,EAAK,IAAI,CAACC,MAAM;AACrB,gBAAIA,EAAE,OAAOF,EAAM,QAAQ,IAAI;AAC7B,oBAAMG,IAAMH,EAAM,QAAQ,QACpBI,IACJ,OAAOD,KAAQ,aAAaA,EAAID,CAAC,IAAI,EAAE,GAAGA,GAAG,GAAGC,EAAA;AAClD,qBAAO,EAAE,GAAGD,GAAG,GAAGE,EAAA;AAAA,YACpB;AACA,mBAAOF;AAAA,UACT,CAAC;AAAA,QACH,KAAK;AACH,iBAAOD,EAAK,OAAO,CAACC,MAAMA,EAAE,OAAOF,EAAM,QAAQ,EAAE;AAAA,QACrD,KAAK;AACH,iBAAO,CAAA;AAAA,QACT;AACE,iBAAOC;AAAA,MAAA;AAAA,IAEb,CAAC;AAAA,EACH,CAAC,GAEA,CAAA,CAAE,GAGH,gBAAAI,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAZ;AAAA,IACAC,EAAO,IAAI,CAACY,MAAU;AACrB,YAAM;AAAA,QACJ,IAAAC;AAAA,QACA,SAAAC;AAAA,QACA,UAAAf;AAAAA,QACA,MAAAgB;AAAA,QACA,UAAAC;AAAA,QACA,SAAAC;AAAA,QACA,GAAGC;AAAA,MAAA,IACDN;AACJ,aACE,gBAAAO;AAAA,QAACC;AAAA,QAAA;AAAA,UACE,GAAGF;AAAA,UACJ,KAAKL;AAAA,UAEL,MAAMK,EAAW;AAAA,UACjB,MAAM,CAACG,MAAM;AACX,YAAAN,IAAOM,CAAC,GACRjB,EAAa,KAAK;AAAA,cAChB,MAAM;AAAA,cACN,SAAS,EAAE,IAAAS,GAAI,QAAQ,EAAE,MAAM,KAAM;AAAA,YAAE,CACxC;AAAA,UACH;AAAA,UACA,UAAU,CAACQ,MAAM;AACf,YAAAL,IAAWK,CAAC,GACZjB,EAAa,KAAK;AAAA,cAChB,MAAM;AAAA,cACN,SAAS,EAAE,IAAAS,GAAI,QAAQ,EAAE,MAAM,KAAM;AAAA,YAAE,CACxC;AAAA,UACH;AAAA,UACA,YAAY,MAAM;AAEhB,YAAAT,EAAa,KAAK,EAAE,MAAM,WAAW,SAAS,EAAE,IAAAS,EAAA,GAAM,GAClDI,aAAmB,eACrBA,EAAQ,MAAA;AAAA,UAEZ;AAAA,QAAA;AAAA,QAECH,KAAWf;AAAAA,MAAA;AAAA,IAGlB,CAAC;AAAA,EAAA,GACH;AAEJ;"}
@@ -0,0 +1,34 @@
1
+ import { ModalFuncProps } from './functions';
2
+ export type ModalConfig = ModalFuncProps & {
3
+ id: string;
4
+ trigger?: HTMLElement;
5
+ };
6
+ export type UpdateConfig = Partial<ModalFuncProps> | ((prev: ModalFuncProps) => ModalFuncProps);
7
+ export type ModalEvent = {
8
+ type: "add";
9
+ payload: ModalConfig;
10
+ } | {
11
+ type: "update";
12
+ payload: {
13
+ id: string;
14
+ config: UpdateConfig;
15
+ };
16
+ } | {
17
+ type: "destroy";
18
+ payload: {
19
+ id: string;
20
+ };
21
+ } | {
22
+ type: "destroyAll";
23
+ };
24
+ type Listener = (event: ModalEvent) => void;
25
+ declare class ModalManager {
26
+ private listeners;
27
+ private counter;
28
+ subscribe(listener: Listener): () => void;
29
+ emit(event: ModalEvent): void;
30
+ generateId(): string;
31
+ }
32
+ export declare const modalManager: ModalManager;
33
+ export {};
34
+ //# sourceMappingURL=ModalService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalService.d.ts","sourceRoot":"","sources":["../../../src/components/modal/ModalService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC,GACvB,CAAC,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,CAAC,CAAC;AAE/C,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAE3B,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAE5C,cAAM,YAAY;IAChB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,OAAO,CAAK;IAEpB,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAO5B,IAAI,CAAC,KAAK,EAAE,UAAU;IAItB,UAAU;CAIX;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -1,12 +1,7 @@
1
1
  "use client";
2
- var n = Object.defineProperty;
3
- var i = (t, e, s) => e in t ? n(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
4
- var r = (t, e, s) => i(t, typeof e != "symbol" ? e + "" : e, s);
5
- class a {
6
- constructor() {
7
- r(this, "listeners", []);
8
- r(this, "counter", 0);
9
- }
2
+ class t {
3
+ listeners = [];
4
+ counter = 0;
10
5
  subscribe(e) {
11
6
  return this.listeners.push(e), () => {
12
7
  this.listeners = this.listeners.filter((s) => s !== e);
@@ -19,8 +14,8 @@ class a {
19
14
  return this.counter += 1, `modal_${this.counter}_${Date.now()}`;
20
15
  }
21
16
  }
22
- const o = new a();
17
+ const n = new t();
23
18
  export {
24
- o as modalManager
19
+ n as modalManager
25
20
  };
26
21
  //# sourceMappingURL=ModalService.js.map