@bioturing/components 0.31.0 → 0.32.1

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 (507) hide show
  1. package/dist/components/badge/component.d.ts +7 -0
  2. package/dist/components/badge/component.d.ts.map +1 -0
  3. package/dist/components/badge/component.js.map +1 -1
  4. package/dist/components/badge/index.d.ts +2 -0
  5. package/dist/components/badge/index.d.ts.map +1 -0
  6. package/dist/components/breadcrumb/component.d.ts +6 -0
  7. package/dist/components/breadcrumb/component.d.ts.map +1 -0
  8. package/dist/components/breadcrumb/component.js.map +1 -1
  9. package/dist/components/breadcrumb/index.d.ts +3 -0
  10. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  11. package/dist/components/breadcrumb/types.d.ts +19 -0
  12. package/dist/components/breadcrumb/types.d.ts.map +1 -0
  13. package/dist/components/breadcrumb/useItemRender.d.ts +7 -0
  14. package/dist/components/breadcrumb/useItemRender.d.ts.map +1 -0
  15. package/dist/components/breadcrumb/useItemRender.js.map +1 -1
  16. package/dist/components/button/component.d.ts +14 -0
  17. package/dist/components/button/component.d.ts.map +1 -0
  18. package/dist/components/button/component.js.map +1 -1
  19. package/dist/components/button/index.d.ts +2 -0
  20. package/dist/components/button/index.d.ts.map +1 -0
  21. package/dist/components/checkbox/component.d.ts +16 -0
  22. package/dist/components/checkbox/component.d.ts.map +1 -0
  23. package/dist/components/checkbox/component.js.map +1 -1
  24. package/dist/components/checkbox/index.d.ts +2 -0
  25. package/dist/components/checkbox/index.d.ts.map +1 -0
  26. package/dist/components/choice-list/component.d.ts +35 -0
  27. package/dist/components/choice-list/component.d.ts.map +1 -0
  28. package/dist/components/choice-list/component.js.map +1 -1
  29. package/dist/components/choice-list/index.d.ts +2 -0
  30. package/dist/components/choice-list/index.d.ts.map +1 -0
  31. package/dist/components/cmdk/command-score.d.ts +2 -0
  32. package/dist/components/cmdk/command-score.d.ts.map +1 -0
  33. package/dist/components/cmdk/command-score.js.map +1 -1
  34. package/dist/components/cmdk/index.d.ts +440 -0
  35. package/dist/components/cmdk/index.d.ts.map +1 -0
  36. package/dist/components/cmdk/index.js +332 -348
  37. package/dist/components/cmdk/index.js.map +1 -1
  38. package/dist/components/code-block/component.d.ts +3 -0
  39. package/dist/components/code-block/component.d.ts.map +1 -0
  40. package/dist/components/code-block/component.js +83 -84
  41. package/dist/components/code-block/component.js.map +1 -1
  42. package/dist/components/code-block/index.d.ts +3 -0
  43. package/dist/components/code-block/index.d.ts.map +1 -0
  44. package/dist/components/code-block/types.d.ts +64 -0
  45. package/dist/components/code-block/types.d.ts.map +1 -0
  46. package/dist/components/collapse/component.d.ts +14 -0
  47. package/dist/components/collapse/component.d.ts.map +1 -0
  48. package/dist/components/collapse/component.js.map +1 -1
  49. package/dist/components/collapse/index.d.ts +2 -0
  50. package/dist/components/collapse/index.d.ts.map +1 -0
  51. package/dist/components/color-select/component.d.ts +36 -0
  52. package/dist/components/color-select/component.d.ts.map +1 -0
  53. package/dist/components/color-select/component.js +28 -30
  54. package/dist/components/color-select/component.js.map +1 -1
  55. package/dist/components/color-select/index.d.ts +2 -0
  56. package/dist/components/color-select/index.d.ts.map +1 -0
  57. package/dist/components/combobox/component.d.ts +119 -0
  58. package/dist/components/combobox/component.d.ts.map +1 -0
  59. package/dist/components/combobox/component.js +166 -162
  60. package/dist/components/combobox/component.js.map +1 -1
  61. package/dist/components/combobox/index.d.ts +3 -0
  62. package/dist/components/combobox/index.d.ts.map +1 -0
  63. package/dist/components/command-palette/component.d.ts +41 -0
  64. package/dist/components/command-palette/component.d.ts.map +1 -0
  65. package/dist/components/command-palette/component.js +36 -36
  66. package/dist/components/command-palette/component.js.map +1 -1
  67. package/dist/components/command-palette/index.d.ts +2 -0
  68. package/dist/components/command-palette/index.d.ts.map +1 -0
  69. package/dist/components/command-palette/style.css +1 -1
  70. package/dist/components/drag-drop/context.d.ts +10 -0
  71. package/dist/components/drag-drop/context.d.ts.map +1 -0
  72. package/dist/components/drag-drop/context.js.map +1 -1
  73. package/dist/components/drag-drop/draggable.d.ts +6 -0
  74. package/dist/components/drag-drop/draggable.d.ts.map +1 -0
  75. package/dist/components/drag-drop/draggable.js.map +1 -1
  76. package/dist/components/drag-drop/droppable.d.ts +9 -0
  77. package/dist/components/drag-drop/droppable.d.ts.map +1 -0
  78. package/dist/components/drag-drop/droppable.js.map +1 -1
  79. package/dist/components/drag-drop/hooks.d.ts +42 -0
  80. package/dist/components/drag-drop/hooks.d.ts.map +1 -0
  81. package/dist/components/drag-drop/hooks.js +71 -73
  82. package/dist/components/drag-drop/hooks.js.map +1 -1
  83. package/dist/components/drag-drop/index.d.ts +26 -0
  84. package/dist/components/drag-drop/index.d.ts.map +1 -0
  85. package/dist/components/drag-drop/index.js.map +1 -1
  86. package/dist/components/drag-drop/types.d.ts +232 -0
  87. package/dist/components/drag-drop/types.d.ts.map +1 -0
  88. package/dist/components/drag-drop/value.d.ts +8 -0
  89. package/dist/components/drag-drop/value.d.ts.map +1 -0
  90. package/dist/components/drag-drop/value.js +66 -66
  91. package/dist/components/drag-drop/value.js.map +1 -1
  92. package/dist/components/dropdown-menu/component.d.ts +79 -0
  93. package/dist/components/dropdown-menu/component.d.ts.map +1 -0
  94. package/dist/components/dropdown-menu/component.js +108 -106
  95. package/dist/components/dropdown-menu/component.js.map +1 -1
  96. package/dist/components/dropdown-menu/divider.d.ts +6 -0
  97. package/dist/components/dropdown-menu/divider.d.ts.map +1 -0
  98. package/dist/components/dropdown-menu/divider.js.map +1 -1
  99. package/dist/components/dropdown-menu/index.d.ts +4 -0
  100. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  101. package/dist/components/dropdown-menu/item.d.ts +56 -0
  102. package/dist/components/dropdown-menu/item.d.ts.map +1 -0
  103. package/dist/components/dropdown-menu/item.js +72 -66
  104. package/dist/components/dropdown-menu/item.js.map +1 -1
  105. package/dist/components/dropdown-menu/types.d.ts +88 -0
  106. package/dist/components/dropdown-menu/types.d.ts.map +1 -0
  107. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +58 -0
  108. package/dist/components/dropdown-menu/useDropdownMenu.d.ts.map +1 -0
  109. package/dist/components/dropdown-menu/useDropdownMenu.js +80 -77
  110. package/dist/components/dropdown-menu/useDropdownMenu.js.map +1 -1
  111. package/dist/components/ds-root/component.d.ts +14 -0
  112. package/dist/components/ds-root/component.d.ts.map +1 -0
  113. package/dist/components/ds-root/component.js.map +1 -1
  114. package/dist/components/ds-root/context.d.ts +8 -0
  115. package/dist/components/ds-root/context.d.ts.map +1 -0
  116. package/dist/components/ds-root/index.d.ts +3 -0
  117. package/dist/components/ds-root/index.d.ts.map +1 -0
  118. package/dist/components/empty/component.d.ts +13 -0
  119. package/dist/components/empty/component.d.ts.map +1 -0
  120. package/dist/components/empty/component.js.map +1 -1
  121. package/dist/components/empty/index.d.ts +2 -0
  122. package/dist/components/empty/index.d.ts.map +1 -0
  123. package/dist/components/field/component.d.ts +42 -0
  124. package/dist/components/field/component.d.ts.map +1 -0
  125. package/dist/components/field/component.js.map +1 -1
  126. package/dist/components/field/index.d.ts +2 -0
  127. package/dist/components/field/index.d.ts.map +1 -0
  128. package/dist/components/form/component.d.ts +22 -0
  129. package/dist/components/form/component.d.ts.map +1 -0
  130. package/dist/components/form/component.js.map +1 -1
  131. package/dist/components/form/index.d.ts +2 -0
  132. package/dist/components/form/index.d.ts.map +1 -0
  133. package/dist/components/form/item.d.ts +24 -0
  134. package/dist/components/form/item.d.ts.map +1 -0
  135. package/dist/components/form/item.js +24 -24
  136. package/dist/components/form/item.js.map +1 -1
  137. package/dist/components/form/label.d.ts +32 -0
  138. package/dist/components/form/label.d.ts.map +1 -0
  139. package/dist/components/form/label.js.map +1 -1
  140. package/dist/components/hooks/antd.d.ts +11 -0
  141. package/dist/components/hooks/antd.d.ts.map +1 -0
  142. package/dist/components/hooks/antd.js.map +1 -1
  143. package/dist/components/hooks/base-ui.d.ts +11 -0
  144. package/dist/components/hooks/base-ui.d.ts.map +1 -0
  145. package/dist/components/hooks/base-ui.js +22 -25
  146. package/dist/components/hooks/base-ui.js.map +1 -1
  147. package/dist/components/hooks/index.d.ts +11 -0
  148. package/dist/components/hooks/index.d.ts.map +1 -0
  149. package/dist/components/hooks/useBreakpoint.d.ts +39 -0
  150. package/dist/components/hooks/useBreakpoint.d.ts.map +1 -0
  151. package/dist/components/hooks/useBreakpoint.js +14 -15
  152. package/dist/components/hooks/useBreakpoint.js.map +1 -1
  153. package/dist/components/hooks/useCSSVariables.d.ts +7 -0
  154. package/dist/components/hooks/useCSSVariables.d.ts.map +1 -0
  155. package/dist/components/hooks/useCSSVariables.js.map +1 -1
  156. package/dist/components/hooks/useCharts.d.ts +41 -0
  157. package/dist/components/hooks/useCharts.d.ts.map +1 -0
  158. package/dist/components/hooks/useCharts.js.map +1 -1
  159. package/dist/components/hooks/useControlledState.d.ts +13 -0
  160. package/dist/components/hooks/useControlledState.d.ts.map +1 -0
  161. package/dist/components/hooks/useControlledState.js.map +1 -1
  162. package/dist/components/hooks/useDraggable.d.ts +4 -0
  163. package/dist/components/hooks/useDraggable.d.ts.map +1 -0
  164. package/dist/components/hooks/useDraggable.js +19 -20
  165. package/dist/components/hooks/useDraggable.js.map +1 -1
  166. package/dist/components/hooks/useHover.d.ts +5 -0
  167. package/dist/components/hooks/useHover.d.ts.map +1 -0
  168. package/dist/components/hooks/useHover.js +16 -17
  169. package/dist/components/hooks/useHover.js.map +1 -1
  170. package/dist/components/hooks/useResizeObserver.d.ts +9 -0
  171. package/dist/components/hooks/useResizeObserver.d.ts.map +1 -0
  172. package/dist/components/hooks/useResizeObserver.js +29 -30
  173. package/dist/components/hooks/useResizeObserver.js.map +1 -1
  174. package/dist/components/hooks/useTransitionStatus.d.ts +13 -0
  175. package/dist/components/hooks/useTransitionStatus.d.ts.map +1 -0
  176. package/dist/components/hooks/useTransitionStatus.js.map +1 -1
  177. package/dist/components/hooks/useWindowSize.d.ts +5 -0
  178. package/dist/components/hooks/useWindowSize.d.ts.map +1 -0
  179. package/dist/components/hooks/useWindowSize.js.map +1 -1
  180. package/dist/components/icon-button/component.d.ts +45 -0
  181. package/dist/components/icon-button/component.d.ts.map +1 -0
  182. package/dist/components/icon-button/component.js.map +1 -1
  183. package/dist/components/icon-button/index.d.ts +2 -0
  184. package/dist/components/icon-button/index.d.ts.map +1 -0
  185. package/dist/components/index.d.ts +53 -0
  186. package/dist/components/index.d.ts.map +1 -0
  187. package/dist/components/input/component.d.ts +29 -0
  188. package/dist/components/input/component.d.ts.map +1 -0
  189. package/dist/components/input/component.js +42 -41
  190. package/dist/components/input/component.js.map +1 -1
  191. package/dist/components/input/index.d.ts +2 -0
  192. package/dist/components/input/index.d.ts.map +1 -0
  193. package/dist/components/keyboard-shortcut/component.d.ts +15 -0
  194. package/dist/components/keyboard-shortcut/component.d.ts.map +1 -0
  195. package/dist/components/keyboard-shortcut/component.js.map +1 -1
  196. package/dist/components/keyboard-shortcut/index.d.ts +2 -0
  197. package/dist/components/keyboard-shortcut/index.d.ts.map +1 -0
  198. package/dist/components/loader/component.d.ts +5 -0
  199. package/dist/components/loader/component.d.ts.map +1 -0
  200. package/dist/components/loader/component.js.map +1 -1
  201. package/dist/components/loader/index.d.ts +2 -0
  202. package/dist/components/loader/index.d.ts.map +1 -0
  203. package/dist/components/modal/Modal.d.ts +85 -0
  204. package/dist/components/modal/Modal.d.ts.map +1 -0
  205. package/dist/components/modal/Modal.js +75 -75
  206. package/dist/components/modal/Modal.js.map +1 -1
  207. package/dist/components/modal/ModalProvider.d.ts +6 -0
  208. package/dist/components/modal/ModalProvider.d.ts.map +1 -0
  209. package/dist/components/modal/ModalProvider.js +25 -25
  210. package/dist/components/modal/ModalProvider.js.map +1 -1
  211. package/dist/components/modal/ModalService.d.ts +34 -0
  212. package/dist/components/modal/ModalService.d.ts.map +1 -0
  213. package/dist/components/modal/ModalService.js +5 -10
  214. package/dist/components/modal/ModalService.js.map +1 -1
  215. package/dist/components/modal/constants.d.ts +10 -0
  216. package/dist/components/modal/constants.d.ts.map +1 -0
  217. package/dist/components/modal/constants.js.map +1 -1
  218. package/dist/components/modal/functions.d.ts +28 -0
  219. package/dist/components/modal/functions.d.ts.map +1 -0
  220. package/dist/components/modal/functions.js.map +1 -1
  221. package/dist/components/modal/index.d.ts +16 -0
  222. package/dist/components/modal/index.d.ts.map +1 -0
  223. package/dist/components/modal/index.js.map +1 -1
  224. package/dist/components/nav/context.d.ts +10 -0
  225. package/dist/components/nav/context.d.ts.map +1 -0
  226. package/dist/components/nav/context.js.map +1 -1
  227. package/dist/components/nav/group.d.ts +15 -0
  228. package/dist/components/nav/group.d.ts.map +1 -0
  229. package/dist/components/nav/group.js.map +1 -1
  230. package/dist/components/nav/heading.d.ts +6 -0
  231. package/dist/components/nav/heading.d.ts.map +1 -0
  232. package/dist/components/nav/heading.js.map +1 -1
  233. package/dist/components/nav/index.d.ts +12 -0
  234. package/dist/components/nav/index.d.ts.map +1 -0
  235. package/dist/components/nav/item.d.ts +35 -0
  236. package/dist/components/nav/item.d.ts.map +1 -0
  237. package/dist/components/nav/item.js.map +1 -1
  238. package/dist/components/popover/component.d.ts +10 -0
  239. package/dist/components/popover/component.d.ts.map +1 -0
  240. package/dist/components/popover/component.js.map +1 -1
  241. package/dist/components/popover/index.d.ts +2 -0
  242. package/dist/components/popover/index.d.ts.map +1 -0
  243. package/dist/components/popup-panel/component.d.ts +100 -0
  244. package/dist/components/popup-panel/component.d.ts.map +1 -0
  245. package/dist/components/popup-panel/component.js +105 -105
  246. package/dist/components/popup-panel/component.js.map +1 -1
  247. package/dist/components/popup-panel/constants.d.ts +8 -0
  248. package/dist/components/popup-panel/constants.d.ts.map +1 -0
  249. package/dist/components/popup-panel/constants.js.map +1 -1
  250. package/dist/components/popup-panel/index.d.ts +2 -0
  251. package/dist/components/popup-panel/index.d.ts.map +1 -0
  252. package/dist/components/radio/component.d.ts +8 -0
  253. package/dist/components/radio/component.d.ts.map +1 -0
  254. package/dist/components/radio/component.js.map +1 -1
  255. package/dist/components/radio/index.d.ts +3 -0
  256. package/dist/components/radio/index.d.ts.map +1 -0
  257. package/dist/components/radio/interface.d.ts +6 -0
  258. package/dist/components/radio/interface.d.ts.map +1 -0
  259. package/dist/components/resizable/component.d.ts +70 -0
  260. package/dist/components/resizable/component.d.ts.map +1 -0
  261. package/dist/components/resizable/component.js +147 -147
  262. package/dist/components/resizable/component.js.map +1 -1
  263. package/dist/components/resizable/index.d.ts +3 -0
  264. package/dist/components/resizable/index.d.ts.map +1 -0
  265. package/dist/components/scroll-area/component.d.ts +67 -0
  266. package/dist/components/scroll-area/component.d.ts.map +1 -0
  267. package/dist/components/scroll-area/component.js +75 -56
  268. package/dist/components/scroll-area/component.js.map +1 -1
  269. package/dist/components/scroll-area/index.d.ts +2 -0
  270. package/dist/components/scroll-area/index.d.ts.map +1 -0
  271. package/dist/components/segmented/component.d.ts +10 -0
  272. package/dist/components/segmented/component.d.ts.map +1 -0
  273. package/dist/components/segmented/component.js.map +1 -1
  274. package/dist/components/segmented/index.d.ts +2 -0
  275. package/dist/components/segmented/index.d.ts.map +1 -0
  276. package/dist/components/select/component.d.ts +48 -0
  277. package/dist/components/select/component.d.ts.map +1 -0
  278. package/dist/components/select/component.js +93 -94
  279. package/dist/components/select/component.js.map +1 -1
  280. package/dist/components/select/index.d.ts +2 -0
  281. package/dist/components/select/index.d.ts.map +1 -0
  282. package/dist/components/select/item.d.ts +14 -0
  283. package/dist/components/select/item.d.ts.map +1 -0
  284. package/dist/components/select/item.js.map +1 -1
  285. package/dist/components/select-trigger/component.d.ts +45 -0
  286. package/dist/components/select-trigger/component.d.ts.map +1 -0
  287. package/dist/components/select-trigger/component.js +96 -96
  288. package/dist/components/select-trigger/component.js.map +1 -1
  289. package/dist/components/select-trigger/index.d.ts +3 -0
  290. package/dist/components/select-trigger/index.d.ts.map +1 -0
  291. package/dist/components/slider/component.d.ts +6 -0
  292. package/dist/components/slider/component.d.ts.map +1 -0
  293. package/dist/components/slider/component.js.map +1 -1
  294. package/dist/components/slider/index.d.ts +2 -0
  295. package/dist/components/slider/index.d.ts.map +1 -0
  296. package/dist/components/spin/component.d.ts +6 -0
  297. package/dist/components/spin/component.d.ts.map +1 -0
  298. package/dist/components/spin/component.js.map +1 -1
  299. package/dist/components/spin/index.d.ts +2 -0
  300. package/dist/components/spin/index.d.ts.map +1 -0
  301. package/dist/components/splitter/component.d.ts +10 -0
  302. package/dist/components/splitter/component.d.ts.map +1 -0
  303. package/dist/components/splitter/component.js +7 -7
  304. package/dist/components/splitter/component.js.map +1 -1
  305. package/dist/components/splitter/context.d.ts +5 -0
  306. package/dist/components/splitter/context.d.ts.map +1 -0
  307. package/dist/components/splitter/context.js.map +1 -1
  308. package/dist/components/splitter/index.d.ts +2 -0
  309. package/dist/components/splitter/index.d.ts.map +1 -0
  310. package/dist/components/splitter/splitter-panel.d.ts +12 -0
  311. package/dist/components/splitter/splitter-panel.d.ts.map +1 -0
  312. package/dist/components/splitter/splitter-panel.js.map +1 -1
  313. package/dist/components/splitter/splitter.d.ts +11 -0
  314. package/dist/components/splitter/splitter.d.ts.map +1 -0
  315. package/dist/components/splitter/splitter.js +112 -112
  316. package/dist/components/splitter/splitter.js.map +1 -1
  317. package/dist/components/splitter/useSizes.d.ts +9 -0
  318. package/dist/components/splitter/useSizes.d.ts.map +1 -0
  319. package/dist/components/splitter/useSizes.js +35 -35
  320. package/dist/components/splitter/useSizes.js.map +1 -1
  321. package/dist/components/stack/Stack.d.ts +40 -0
  322. package/dist/components/stack/Stack.d.ts.map +1 -0
  323. package/dist/components/stack/Stack.js.map +1 -1
  324. package/dist/components/stack/StackChild.d.ts +31 -0
  325. package/dist/components/stack/StackChild.d.ts.map +1 -0
  326. package/dist/components/stack/StackChild.js.map +1 -1
  327. package/dist/components/stack/index.d.ts +8 -0
  328. package/dist/components/stack/index.d.ts.map +1 -0
  329. package/dist/components/stack/index.js.map +1 -1
  330. package/dist/components/status-icon/component.d.ts +23 -0
  331. package/dist/components/status-icon/component.d.ts.map +1 -0
  332. package/dist/components/status-icon/component.js.map +1 -1
  333. package/dist/components/status-icon/index.d.ts +2 -0
  334. package/dist/components/status-icon/index.d.ts.map +1 -0
  335. package/dist/components/switch/component.d.ts +9 -0
  336. package/dist/components/switch/component.d.ts.map +1 -0
  337. package/dist/components/switch/component.js.map +1 -1
  338. package/dist/components/switch/index.d.ts +2 -0
  339. package/dist/components/switch/index.d.ts.map +1 -0
  340. package/dist/components/table/component.d.ts +32 -0
  341. package/dist/components/table/component.d.ts.map +1 -0
  342. package/dist/components/table/component.js +57 -58
  343. package/dist/components/table/component.js.map +1 -1
  344. package/dist/components/table/index.d.ts +2 -0
  345. package/dist/components/table/index.d.ts.map +1 -0
  346. package/dist/components/tag/component.d.ts +22 -0
  347. package/dist/components/tag/component.d.ts.map +1 -0
  348. package/dist/components/tag/component.js.map +1 -1
  349. package/dist/components/tag/index.d.ts +2 -0
  350. package/dist/components/tag/index.d.ts.map +1 -0
  351. package/dist/components/theme-provider/component.d.ts +7 -0
  352. package/dist/components/theme-provider/component.d.ts.map +1 -0
  353. package/dist/components/theme-provider/component.js.map +1 -1
  354. package/dist/components/theme-provider/index.d.ts +2 -0
  355. package/dist/components/theme-provider/index.d.ts.map +1 -0
  356. package/dist/components/toast/component.d.ts +15 -0
  357. package/dist/components/toast/component.d.ts.map +1 -0
  358. package/dist/components/toast/component.js +49 -50
  359. package/dist/components/toast/component.js.map +1 -1
  360. package/dist/components/toast/function.d.ts +11 -0
  361. package/dist/components/toast/function.d.ts.map +1 -0
  362. package/dist/components/toast/function.js.map +1 -1
  363. package/dist/components/toast/index.d.ts +4 -0
  364. package/dist/components/toast/index.d.ts.map +1 -0
  365. package/dist/components/toast/types.d.ts +4 -0
  366. package/dist/components/toast/types.d.ts.map +1 -0
  367. package/dist/components/tooltip/component.d.ts +10 -0
  368. package/dist/components/tooltip/component.d.ts.map +1 -0
  369. package/dist/components/tooltip/component.js.map +1 -1
  370. package/dist/components/tooltip/index.d.ts +2 -0
  371. package/dist/components/tooltip/index.d.ts.map +1 -0
  372. package/dist/components/tour/component.d.ts +8 -0
  373. package/dist/components/tour/component.d.ts.map +1 -0
  374. package/dist/components/tour/component.js.map +1 -1
  375. package/dist/components/tour/index.d.ts +2 -0
  376. package/dist/components/tour/index.d.ts.map +1 -0
  377. package/dist/components/transition/component.d.ts +30 -0
  378. package/dist/components/transition/component.d.ts.map +1 -0
  379. package/dist/components/transition/component.js +32 -32
  380. package/dist/components/transition/component.js.map +1 -1
  381. package/dist/components/transition/index.d.ts +2 -0
  382. package/dist/components/transition/index.d.ts.map +1 -0
  383. package/dist/components/tree/components.d.ts +14 -0
  384. package/dist/components/tree/components.d.ts.map +1 -0
  385. package/dist/components/tree/components.js.map +1 -1
  386. package/dist/components/tree/helpers.d.ts +6 -0
  387. package/dist/components/tree/helpers.d.ts.map +1 -0
  388. package/dist/components/tree/helpers.js.map +1 -1
  389. package/dist/components/tree/index.d.ts +5 -0
  390. package/dist/components/tree/index.d.ts.map +1 -0
  391. package/dist/components/tree/types.d.ts +56 -0
  392. package/dist/components/tree/types.d.ts.map +1 -0
  393. package/dist/components/tree/useTreeCommon.d.ts +179 -0
  394. package/dist/components/tree/useTreeCommon.d.ts.map +1 -0
  395. package/dist/components/tree/useTreeCommon.js +29 -29
  396. package/dist/components/tree/useTreeCommon.js.map +1 -1
  397. package/dist/components/tree/useUniqueKeysTree.d.ts +34 -0
  398. package/dist/components/tree/useUniqueKeysTree.d.ts.map +1 -0
  399. package/dist/components/tree/useUniqueKeysTree.js.map +1 -1
  400. package/dist/components/truncate/component.d.ts +17 -0
  401. package/dist/components/truncate/component.d.ts.map +1 -0
  402. package/dist/components/truncate/component.js +38 -39
  403. package/dist/components/truncate/component.js.map +1 -1
  404. package/dist/components/truncate/helpers.d.ts +17 -0
  405. package/dist/components/truncate/helpers.d.ts.map +1 -0
  406. package/dist/components/truncate/helpers.js +27 -30
  407. package/dist/components/truncate/helpers.js.map +1 -1
  408. package/dist/components/truncate/index.d.ts +2 -0
  409. package/dist/components/truncate/index.d.ts.map +1 -0
  410. package/dist/components/upload/component.d.ts +17 -0
  411. package/dist/components/upload/component.d.ts.map +1 -0
  412. package/dist/components/upload/component.js.map +1 -1
  413. package/dist/components/upload/dragger.d.ts +14 -0
  414. package/dist/components/upload/dragger.d.ts.map +1 -0
  415. package/dist/components/upload/dragger.js.map +1 -1
  416. package/dist/components/upload/hooks.d.ts +6 -0
  417. package/dist/components/upload/hooks.d.ts.map +1 -0
  418. package/dist/components/upload/hooks.js.map +1 -1
  419. package/dist/components/upload/index.d.ts +4 -0
  420. package/dist/components/upload/index.d.ts.map +1 -0
  421. package/dist/components/upload/item.d.ts +12 -0
  422. package/dist/components/upload/item.d.ts.map +1 -0
  423. package/dist/components/upload/item.js.map +1 -1
  424. package/dist/components/upload/utils.d.ts +2 -0
  425. package/dist/components/upload/utils.d.ts.map +1 -0
  426. package/dist/components/upload/utils.js.map +1 -1
  427. package/dist/components/utils/WithAntdTokens.d.ts +8 -0
  428. package/dist/components/utils/WithAntdTokens.d.ts.map +1 -0
  429. package/dist/components/utils/WithAntdTokens.js.map +1 -1
  430. package/dist/components/utils/WithRenderProp.d.ts +14 -0
  431. package/dist/components/utils/WithRenderProp.d.ts.map +1 -0
  432. package/dist/components/utils/WithRenderProp.js.map +1 -1
  433. package/dist/components/utils/antdUtils.d.ts +11 -0
  434. package/dist/components/utils/antdUtils.d.ts.map +1 -0
  435. package/dist/components/utils/antdUtils.js +9 -12
  436. package/dist/components/utils/antdUtils.js.map +1 -1
  437. package/dist/components/utils/client.d.ts +6 -0
  438. package/dist/components/utils/client.d.ts.map +1 -0
  439. package/dist/components/utils/cn.d.ts +5 -0
  440. package/dist/components/utils/cn.d.ts.map +1 -0
  441. package/dist/components/utils/cn.js.map +1 -1
  442. package/dist/components/utils/colors.d.ts +2 -0
  443. package/dist/components/utils/colors.d.ts.map +1 -0
  444. package/dist/components/utils/constants.d.ts +15 -0
  445. package/dist/components/utils/constants.d.ts.map +1 -0
  446. package/dist/components/utils/index.d.ts +6 -0
  447. package/dist/components/utils/index.d.ts.map +1 -0
  448. package/dist/components/utils/isTracebackError.d.ts +2 -0
  449. package/dist/components/utils/isTracebackError.d.ts.map +1 -0
  450. package/dist/components/utils/isTracebackError.js.map +1 -1
  451. package/dist/components/utils/main.d.ts +7 -0
  452. package/dist/components/utils/main.d.ts.map +1 -0
  453. package/dist/components/utils/placement.d.ts +21 -0
  454. package/dist/components/utils/placement.d.ts.map +1 -0
  455. package/dist/components/utils/placement.js.map +1 -1
  456. package/dist/components/utils/reactElement.d.ts +2 -0
  457. package/dist/components/utils/reactElement.d.ts.map +1 -0
  458. package/dist/components/utils/reactToString.d.ts +3 -0
  459. package/dist/components/utils/reactToString.d.ts.map +1 -0
  460. package/dist/components/utils/reactToString.js.map +1 -1
  461. package/dist/components/utils/selectionRange.d.ts +2 -0
  462. package/dist/components/utils/selectionRange.d.ts.map +1 -0
  463. package/dist/components/utils/selectionRange.js.map +1 -1
  464. package/dist/components/utils/theme.d.ts +6 -0
  465. package/dist/components/utils/theme.d.ts.map +1 -0
  466. package/dist/components/utils/theme.js.map +1 -1
  467. package/dist/components/utils/types.d.ts +12 -0
  468. package/dist/components/utils/types.d.ts.map +1 -0
  469. package/dist/components/vertical-collapsible-panel/component.d.ts +65 -0
  470. package/dist/components/vertical-collapsible-panel/component.d.ts.map +1 -0
  471. package/dist/components/vertical-collapsible-panel/component.js.map +1 -1
  472. package/dist/components/vertical-collapsible-panel/index.d.ts +2 -0
  473. package/dist/components/vertical-collapsible-panel/index.d.ts.map +1 -0
  474. package/dist/index.d.ts +4 -4390
  475. package/dist/index.d.ts.map +1 -0
  476. package/dist/index.js +166 -164
  477. package/dist/index.js.map +1 -1
  478. package/dist/metadata.d.ts +446 -0
  479. package/dist/metadata.d.ts.map +1 -0
  480. package/dist/metadata.js.map +1 -1
  481. package/dist/tokens/and-theme/index.d.ts +2 -0
  482. package/dist/tokens/and-theme/index.d.ts.map +1 -0
  483. package/dist/tokens/and-theme/tokens.d.ts +6 -0
  484. package/dist/tokens/and-theme/tokens.d.ts.map +1 -0
  485. package/dist/tokens/and-theme/tokens.js.map +1 -1
  486. package/dist/tokens/charts/index.d.ts +5 -0
  487. package/dist/tokens/charts/index.d.ts.map +1 -0
  488. package/dist/tokens/charts/palettes/cloudscape.d.ts +460 -0
  489. package/dist/tokens/charts/palettes/cloudscape.d.ts.map +1 -0
  490. package/dist/tokens/charts/palettes/cloudscape.js.map +1 -1
  491. package/dist/tokens/charts/palettes/colorbrewer.d.ts +338 -0
  492. package/dist/tokens/charts/palettes/colorbrewer.d.ts.map +1 -0
  493. package/dist/tokens/charts/palettes/colorbrewer.js.map +1 -1
  494. package/dist/tokens/charts/palettes/index.d.ts +24 -0
  495. package/dist/tokens/charts/palettes/index.d.ts.map +1 -0
  496. package/dist/tokens/charts/palettes/index.js.map +1 -1
  497. package/dist/tokens/charts/palettes/tableau.d.ts +11 -0
  498. package/dist/tokens/charts/palettes/tableau.d.ts.map +1 -0
  499. package/dist/tokens/index.d.ts +5 -0
  500. package/dist/tokens/index.d.ts.map +1 -0
  501. package/dist/tokens/types.d.ts +10 -0
  502. package/dist/tokens/types.d.ts.map +1 -0
  503. package/dist/tokens/utils.d.ts +9 -0
  504. package/dist/tokens/utils.d.ts.map +1 -0
  505. package/dist/tokens/utils.js.map +1 -1
  506. package/package.json +2 -2
  507. package/dist/tailwind.d.ts +0 -1
@@ -1,158 +1,158 @@
1
- import { jsx as f, jsxs as P } from "react/jsx-runtime";
2
- import u, { useState as ue } from "react";
3
- import ze from "rc-resize-observer";
4
- import { useEvent as z } from "rc-util";
5
- import { devUseWarning as Ce } from "antd/es/_util/warning";
6
- import { useComponentConfig as he } from "antd/es/config-provider/context";
7
- import de from "antd/es/config-provider/hooks/useCSSVarCls";
8
- import ge from "antd/es/splitter/hooks/useItems";
9
- import ve from "antd/es/splitter/hooks/useResizable";
1
+ import { jsx as l, jsxs as I } from "react/jsx-runtime";
2
+ import ue from "rc-resize-observer";
3
+ import { useEvent as p } from "rc-util";
4
+ import z, { forwardRef as de, useState as Ce } from "react";
5
+ import { devUseWarning as he } from "antd/es/_util/warning";
6
+ import { useComponentConfig as Re } from "antd/es/config-provider/context";
7
+ import ge from "antd/es/config-provider/hooks/useCSSVarCls";
8
+ import ve from "antd/es/splitter/hooks/useItems";
9
+ import be from "antd/es/splitter/hooks/useResizable";
10
10
  import Me from "antd/es/splitter/hooks/useResize";
11
- import Ne from "./useSizes.js";
12
- import { SplitterPanel as be } from "./splitter-panel.js";
13
- import ye from "antd/es/splitter/SplitBar";
14
- import xe from "antd/es/splitter/style";
15
- import { SplitterContext as Ie } from "./context.js";
16
- import { clsx as $ } from "../utils/cn.js";
17
- const Oe = (E) => {
11
+ import Ne from "antd/es/splitter/SplitBar";
12
+ import ye from "antd/es/splitter/style";
13
+ import { SplitterContext as Ee } from "./context.js";
14
+ import { SplitterPanel as Ie } from "./splitter-panel.js";
15
+ import xe from "./useSizes.js";
16
+ import { clsx as x } from "../utils/cn.js";
17
+ const Pe = (P, O) => {
18
18
  const {
19
- prefixCls: V,
20
- className: U,
21
- style: k,
22
- layout: l = "horizontal",
23
- children: w,
24
- rootClassName: R,
25
- onResizeStart: C,
26
- onResize: a,
27
- onResizeEnd: o,
28
- lazy: _,
29
- showSplitBar: B = !0
30
- } = E, {
31
- getPrefixCls: W,
32
- direction: j,
19
+ prefixCls: $,
20
+ className: w,
21
+ style: U,
22
+ layout: i = "horizontal",
23
+ children: V,
24
+ rootClassName: k,
25
+ onResizeStart: B,
26
+ onResize: S,
27
+ onResizeEnd: u,
28
+ lazy: W,
29
+ showSplitBar: _ = !0
30
+ } = P, {
31
+ getPrefixCls: j,
32
+ direction: q,
33
33
  className: D,
34
- style: q
35
- } = he("splitter"), n = W("splitter", V), M = de(n), [F, H, L] = xe(n, M), m = l === "vertical", p = j === "rtl", T = !m && p, i = ge(w), N = u.useMemo(() => i.map(() => u.createRef()), [i.length]);
34
+ style: F
35
+ } = Re("splitter"), o = j("splitter", $), g = ge(o), [H, L, T] = ye(o, g), c = i === "vertical", f = q === "rtl", A = !c && f, r = ve(V), v = z.useMemo(() => r.map(() => z.createRef()), [r.length]);
36
36
  if (process.env.NODE_ENV !== "production") {
37
- const t = Ce("Splitter");
37
+ const t = he("Splitter");
38
38
  let e = !1, s = !1;
39
- i.forEach((r) => {
40
- r.size !== void 0 ? e = !0 : s = !0;
41
- }), e && s && !a && t(
39
+ r.forEach((n) => {
40
+ n.size !== void 0 ? e = !0 : s = !0;
41
+ }), e && s && !S && t(
42
42
  !1,
43
43
  "usage",
44
44
  "When part of `Splitter.Panel` has `size`, `onResize` is required or change `size` to `defaultSize`."
45
45
  );
46
46
  }
47
- const [h, A] = ue(), G = (t) => {
48
- const { offsetWidth: e, offsetHeight: s } = t, r = m ? s : e;
49
- r !== 0 && A(r);
47
+ const [d, G] = Ce(), J = (t) => {
48
+ const { offsetWidth: e, offsetHeight: s } = t, n = c ? s : e;
49
+ n !== 0 && G(n);
50
50
  }, [
51
- J,
52
- d,
53
- g,
51
+ K,
52
+ C,
53
+ h,
54
54
  b,
55
- y,
56
- K
57
- ] = Ne(i, h, l, N), x = ve(i, d, p), [Q, X, Y, Z, I] = Me(
58
- i,
59
- x,
60
- g,
55
+ M,
56
+ Q
57
+ ] = xe(r, d, i, v), N = be(r, C, f), [X, Y, Z, ee, y] = Me(
58
+ r,
59
+ N,
61
60
  h,
62
- K,
63
- p
64
- ), ee = z((t) => {
65
- Q(t), C == null || C(d);
66
- }), te = z(
61
+ d,
62
+ Q,
63
+ f
64
+ ), te = p((t) => {
65
+ X(t), B?.(C);
66
+ }), se = p(
67
67
  (t, e, s) => {
68
- const r = X(t, e);
69
- s ? o == null || o(r) : a == null || a(r);
68
+ const n = Y(t, e);
69
+ s ? u?.(n) : S?.(n);
70
70
  }
71
- ), se = z((t) => {
72
- Y(), t || o == null || o(d);
73
- }), re = z(
71
+ ), ne = p((t) => {
72
+ Z(), t || u?.(C);
73
+ }), oe = p(
74
74
  (t, e) => {
75
- const s = Z(t, e);
76
- a == null || a(s), o == null || o(s);
75
+ const s = ee(t, e);
76
+ S?.(s), u?.(s);
77
77
  }
78
- ), oe = $(
79
- n,
80
- U,
81
- `${n}-${l}`,
78
+ ), re = x(
79
+ o,
80
+ w,
81
+ `${o}-${i}`,
82
82
  {
83
- [`${n}-rtl`]: p,
84
- [`${n}-hide-bars`]: !B
83
+ [`${o}-rtl`]: f,
84
+ [`${o}-hide-bars`]: !_
85
85
  },
86
- R,
86
+ k,
87
87
  D,
88
- L,
89
- M,
90
- H
91
- ), O = `${n}-mask`, c = u.useMemo(() => {
88
+ T,
89
+ g,
90
+ L
91
+ ), E = `${o}-mask`, a = z.useMemo(() => {
92
92
  const t = [];
93
93
  let e = 0;
94
- for (let s = 0; s < i.length; s += 1)
95
- e += g[s], t.push(e);
94
+ for (let s = 0; s < r.length; s += 1)
95
+ e += h[s], t.push(e);
96
96
  return t;
97
- }, [g]), ne = { ...q, ...k };
98
- return F(
99
- /* @__PURE__ */ f(Ie.Provider, { value: { layout: l }, children: /* @__PURE__ */ f(ze, { onResize: G, children: /* @__PURE__ */ P("div", { style: ne, className: oe, children: [
100
- i.map((t, e) => {
101
- const s = /* @__PURE__ */ f(
102
- be,
97
+ }, [h]), ie = { ...F, ...U };
98
+ return H(
99
+ /* @__PURE__ */ l(Ee.Provider, { value: { layout: i }, children: /* @__PURE__ */ l(ue, { onResize: J, children: /* @__PURE__ */ I("div", { style: ie, className: re, ref: O, children: [
100
+ r.map((t, e) => {
101
+ const s = /* @__PURE__ */ l(
102
+ Ie,
103
103
  {
104
104
  ...t,
105
- prefixCls: n,
106
- size: J[e],
107
- ref: N[e]
105
+ prefixCls: o,
106
+ size: K[e],
107
+ ref: v[e]
108
108
  }
109
109
  );
110
- let r = null;
111
- const S = x[e];
112
- if (S) {
113
- const ie = (c[e - 1] || 0) + b[e], ae = (c[e + 1] || 100) - y[e + 1], le = (c[e - 1] || 0) + y[e], ce = (c[e + 1] || 100) - b[e + 1];
114
- r = /* @__PURE__ */ f(
115
- ye,
110
+ let n = null;
111
+ const m = N[e];
112
+ if (m) {
113
+ const ae = (a[e - 1] || 0) + b[e], le = (a[e + 1] || 100) - M[e + 1], ce = (a[e - 1] || 0) + M[e], fe = (a[e + 1] || 100) - b[e + 1];
114
+ n = /* @__PURE__ */ l(
115
+ Ne,
116
116
  {
117
- lazy: _,
117
+ lazy: W,
118
118
  index: e,
119
- active: I === e,
120
- prefixCls: n,
121
- vertical: m,
122
- resizable: S.resizable,
123
- ariaNow: c[e] * 100,
124
- ariaMin: Math.max(ie, ae) * 100,
125
- ariaMax: Math.min(le, ce) * 100,
126
- startCollapsible: S.startCollapsible,
127
- endCollapsible: S.endCollapsible,
128
- onOffsetStart: ee,
129
- onOffsetUpdate: (fe, me, pe, Se) => {
130
- let v = m ? pe : me;
131
- T && (v = -v), te(fe, v, Se);
119
+ active: y === e,
120
+ prefixCls: o,
121
+ vertical: c,
122
+ resizable: m.resizable,
123
+ ariaNow: a[e] * 100,
124
+ ariaMin: Math.max(ae, le) * 100,
125
+ ariaMax: Math.min(ce, fe) * 100,
126
+ startCollapsible: m.startCollapsible,
127
+ endCollapsible: m.endCollapsible,
128
+ onOffsetStart: te,
129
+ onOffsetUpdate: (me, pe, ze, Se) => {
130
+ let R = c ? ze : pe;
131
+ A && (R = -R), se(me, R, Se);
132
132
  },
133
- onOffsetEnd: se,
134
- onCollapse: re,
135
- containerSize: h || 0
133
+ onOffsetEnd: ne,
134
+ onCollapse: oe,
135
+ containerSize: d || 0
136
136
  }
137
137
  );
138
138
  }
139
- return /* @__PURE__ */ P(u.Fragment, { children: [
139
+ return /* @__PURE__ */ I(z.Fragment, { children: [
140
140
  s,
141
- r
141
+ n
142
142
  ] }, `split-panel-${e}`);
143
143
  }),
144
- typeof I == "number" && /* @__PURE__ */ f(
144
+ typeof y == "number" && /* @__PURE__ */ l(
145
145
  "div",
146
146
  {
147
147
  "aria-hidden": !0,
148
- className: $(O, `${O}-${l}`)
148
+ className: x(E, `${E}-${i}`)
149
149
  }
150
150
  )
151
151
  ] }) }) })
152
152
  );
153
- };
154
- process.env.NODE_ENV !== "production" && (Oe.displayName = "Splitter");
153
+ }, Oe = de(Pe);
154
+ Oe.displayName = "Splitter";
155
155
  export {
156
- Oe as MainSplitter
156
+ Oe as Splitter
157
157
  };
158
158
  //# sourceMappingURL=splitter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"splitter.js","sources":["../../../src/components/splitter/splitter.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { clsx } from \"../utils\";\nimport ResizeObserver from \"rc-resize-observer\";\nimport { useEvent } from \"rc-util\";\n\nimport type { GetProp } from \"antd/es/_util/type\";\nimport { devUseWarning } from \"antd/es/_util/warning\";\nimport { useComponentConfig } from \"antd/es/config-provider/context\";\nimport useCSSVarCls from \"antd/es/config-provider/hooks/useCSSVarCls\";\nimport useItems from \"antd/es/splitter/hooks/useItems\";\nimport useResizable from \"antd/es/splitter/hooks/useResizable\";\nimport useResize from \"antd/es/splitter/hooks/useResize\";\nimport useSizes from \"./useSizes\";\nimport type { SplitterProps as AntdSplitterProps } from \"antd/es/splitter/interface\";\nimport { SplitterPanel } from \"./splitter-panel\";\nimport SplitBar from \"antd/es/splitter/SplitBar\";\nimport useStyle from \"antd/es/splitter/style\";\nimport { SplitterContext } from \"./context\";\n\nexport interface SplitterProps extends AntdSplitterProps {\n /**\n * Whether to show the split bars between panels\n * @default true\n */\n showSplitBar?: boolean;\n}\n\nexport const MainSplitter: React.FC<React.PropsWithChildren<SplitterProps>> = (\n props\n) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n style,\n layout = \"horizontal\",\n children,\n rootClassName,\n onResizeStart,\n onResize,\n onResizeEnd,\n lazy,\n showSplitBar = true,\n } = props;\n\n const {\n getPrefixCls,\n direction,\n className: contextClassName,\n style: contextStyle,\n } = useComponentConfig(\"splitter\");\n const prefixCls = getPrefixCls(\"splitter\", customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n\n // ======================== Direct ========================\n const isVertical = layout === \"vertical\";\n const isRTL = direction === \"rtl\";\n const reverse = !isVertical && isRTL;\n\n // ====================== Items Data ======================\n const items = useItems(children);\n \n // Create refs for intrinsic panels to pass to useSizes\n const elementRefs = React.useMemo(() => {\n return items.map(() => React.createRef<HTMLElement>());\n }, [items.length]);\n\n // >>> Warning for uncontrolled\n if (process.env.NODE_ENV !== \"production\") {\n const warning = devUseWarning(\"Splitter\");\n\n let existSize = false;\n let existUndefinedSize = false;\n\n items.forEach((item) => {\n if (item.size !== undefined) {\n existSize = true;\n } else {\n existUndefinedSize = true;\n }\n });\n\n if (existSize && existUndefinedSize && !onResize) {\n warning(\n false,\n \"usage\",\n \"When part of `Splitter.Panel` has `size`, `onResize` is required or change `size` to `defaultSize`.\"\n );\n }\n }\n\n // ====================== Container =======================\n const [containerSize, setContainerSize] = useState<number | undefined>();\n\n const onContainerResize: GetProp<typeof ResizeObserver, \"onResize\"> = (\n size\n ) => {\n const { offsetWidth, offsetHeight } = size;\n const containerSize = isVertical ? offsetHeight : offsetWidth;\n // Skip when container has no size, Such as nested in a hidden tab panel\n // to fix: https://github.com/ant-design/ant-design/issues/51106\n if (containerSize === 0) {\n return;\n }\n setContainerSize(containerSize);\n };\n\n // ========================= Size =========================\n const [\n panelSizes,\n itemPxSizes,\n itemPtgSizes,\n itemPtgMinSizes,\n itemPtgMaxSizes,\n updateSizes,\n ] = useSizes(items, containerSize, layout, elementRefs);\n\n // ====================== Resizable =======================\n const resizableInfos = useResizable(items, itemPxSizes, isRTL);\n\n const [onOffsetStart, onOffsetUpdate, onOffsetEnd, onCollapse, movingIndex] =\n useResize(\n items,\n resizableInfos,\n itemPtgSizes,\n containerSize,\n updateSizes,\n isRTL\n );\n\n // ======================== Events ========================\n const onInternalResizeStart = useEvent((index: number) => {\n onOffsetStart(index);\n onResizeStart?.(itemPxSizes);\n });\n\n const onInternalResizeUpdate = useEvent(\n (index: number, offset: number, lazyEnd?: boolean) => {\n const nextSizes = onOffsetUpdate(index, offset);\n\n if (lazyEnd) {\n onResizeEnd?.(nextSizes);\n } else {\n onResize?.(nextSizes);\n }\n }\n );\n\n const onInternalResizeEnd = useEvent((lazyEnd?: boolean) => {\n onOffsetEnd();\n\n if (!lazyEnd) {\n onResizeEnd?.(itemPxSizes);\n }\n });\n\n const onInternalCollapse = useEvent(\n (index: number, type: \"start\" | \"end\") => {\n const nextSizes = onCollapse(index, type);\n onResize?.(nextSizes);\n onResizeEnd?.(nextSizes);\n }\n );\n\n // ======================== Styles ========================\n const containerClassName = clsx(\n prefixCls,\n className,\n `${prefixCls}-${layout}`,\n {\n [`${prefixCls}-rtl`]: isRTL,\n [`${prefixCls}-hide-bars`]: !showSplitBar,\n },\n rootClassName,\n contextClassName,\n cssVarCls,\n rootCls,\n hashId\n );\n\n // ======================== Render ========================\n const maskCls = `${prefixCls}-mask`;\n\n const stackSizes = React.useMemo(() => {\n const mergedSizes: number[] = [];\n\n let stack = 0;\n for (let i = 0; i < items.length; i += 1) {\n stack += itemPtgSizes[i];\n mergedSizes.push(stack);\n }\n\n return mergedSizes;\n }, [itemPtgSizes]);\n\n const mergedStyle: React.CSSProperties = { ...contextStyle, ...style };\n\n return wrapCSSVar(\n <SplitterContext.Provider value={{ layout }}>\n <ResizeObserver onResize={onContainerResize}>\n <div style={mergedStyle} className={containerClassName}>\n {items.map((item, idx) => {\n // Panel\n const panel = (\n <SplitterPanel\n {...item}\n prefixCls={prefixCls}\n size={panelSizes[idx]}\n ref={elementRefs[idx]}\n />\n );\n\n // Split Bar\n let splitBar: React.ReactElement | null = null;\n\n const resizableInfo = resizableInfos[idx];\n if (resizableInfo) {\n const ariaMinStart =\n (stackSizes[idx - 1] || 0) + itemPtgMinSizes[idx];\n const ariaMinEnd =\n (stackSizes[idx + 1] || 100) - itemPtgMaxSizes[idx + 1];\n\n const ariaMaxStart =\n (stackSizes[idx - 1] || 0) + itemPtgMaxSizes[idx];\n const ariaMaxEnd =\n (stackSizes[idx + 1] || 100) - itemPtgMinSizes[idx + 1];\n\n splitBar = (\n <SplitBar\n lazy={lazy}\n index={idx}\n active={movingIndex === idx}\n prefixCls={prefixCls}\n vertical={isVertical}\n resizable={resizableInfo.resizable}\n ariaNow={stackSizes[idx] * 100}\n ariaMin={Math.max(ariaMinStart, ariaMinEnd) * 100}\n ariaMax={Math.min(ariaMaxStart, ariaMaxEnd) * 100}\n startCollapsible={resizableInfo.startCollapsible}\n endCollapsible={resizableInfo.endCollapsible}\n onOffsetStart={onInternalResizeStart}\n onOffsetUpdate={(index, offsetX, offsetY, lazyEnd) => {\n let offset = isVertical ? offsetY : offsetX;\n if (reverse) {\n offset = -offset;\n }\n onInternalResizeUpdate(index, offset, lazyEnd);\n }}\n onOffsetEnd={onInternalResizeEnd}\n onCollapse={onInternalCollapse}\n containerSize={containerSize || 0}\n />\n );\n }\n\n return (\n <React.Fragment key={`split-panel-${idx}`}>\n {panel}\n {splitBar}\n </React.Fragment>\n );\n })}\n\n {/* Fake mask for cursor */}\n {typeof movingIndex === \"number\" && (\n <div\n aria-hidden\n className={clsx(maskCls, `${maskCls}-${layout}`)}\n />\n )}\n </div>\n </ResizeObserver>\n </SplitterContext.Provider>\n );\n};\n\nif (process.env.NODE_ENV !== \"production\") {\n MainSplitter.displayName = \"Splitter\";\n}\n"],"names":["MainSplitter","props","customizePrefixCls","className","style","layout","children","rootClassName","onResizeStart","onResize","onResizeEnd","lazy","showSplitBar","getPrefixCls","direction","contextClassName","contextStyle","useComponentConfig","prefixCls","rootCls","useCSSVarCls","wrapCSSVar","hashId","cssVarCls","useStyle","isVertical","isRTL","reverse","items","useItems","elementRefs","React","warning","devUseWarning","existSize","existUndefinedSize","item","containerSize","setContainerSize","useState","onContainerResize","size","offsetWidth","offsetHeight","panelSizes","itemPxSizes","itemPtgSizes","itemPtgMinSizes","itemPtgMaxSizes","updateSizes","useSizes","resizableInfos","useResizable","onOffsetStart","onOffsetUpdate","onOffsetEnd","onCollapse","movingIndex","useResize","onInternalResizeStart","useEvent","index","onInternalResizeUpdate","offset","lazyEnd","nextSizes","onInternalResizeEnd","onInternalCollapse","type","containerClassName","clsx","maskCls","stackSizes","mergedSizes","stack","i","mergedStyle","SplitterContext","jsx","ResizeObserver","jsxs","idx","panel","SplitterPanel","splitBar","resizableInfo","ariaMinStart","ariaMinEnd","ariaMaxStart","ariaMaxEnd","SplitBar","offsetX","offsetY"],"mappings":"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"}
1
+ {"version":3,"file":"splitter.js","sources":["../../../src/components/splitter/splitter.tsx"],"sourcesContent":["import ResizeObserver from \"rc-resize-observer\";\nimport { useEvent } from \"rc-util\";\nimport React, { forwardRef, useState } from \"react\";\nimport { clsx } from \"../utils\";\n\nimport type { GetProp } from \"antd/es/_util/type\";\nimport { devUseWarning } from \"antd/es/_util/warning\";\nimport { useComponentConfig } from \"antd/es/config-provider/context\";\nimport useCSSVarCls from \"antd/es/config-provider/hooks/useCSSVarCls\";\nimport useItems from \"antd/es/splitter/hooks/useItems\";\nimport useResizable from \"antd/es/splitter/hooks/useResizable\";\nimport useResize from \"antd/es/splitter/hooks/useResize\";\nimport type { SplitterProps as AntdSplitterProps } from \"antd/es/splitter/interface\";\nimport SplitBar from \"antd/es/splitter/SplitBar\";\nimport useStyle from \"antd/es/splitter/style\";\nimport { PropsWithChildren } from \"react\";\nimport { SplitterContext } from \"./context\";\nimport { SplitterPanel } from \"./splitter-panel\";\nimport useSizes from \"./useSizes\";\n\nexport interface SplitterProps extends PropsWithChildren<AntdSplitterProps> {\n /**\n * Whether to show the split bars between panels\n * @default true\n */\n showSplitBar?: boolean;\n}\n\nconst SplitterInner = (\n props: SplitterProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n prefixCls: customizePrefixCls,\n className,\n style,\n layout = \"horizontal\",\n children,\n rootClassName,\n onResizeStart,\n onResize,\n onResizeEnd,\n lazy,\n showSplitBar = true,\n } = props;\n\n const {\n getPrefixCls,\n direction,\n className: contextClassName,\n style: contextStyle,\n } = useComponentConfig(\"splitter\");\n const prefixCls = getPrefixCls(\"splitter\", customizePrefixCls);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n\n // ======================== Direct ========================\n const isVertical = layout === \"vertical\";\n const isRTL = direction === \"rtl\";\n const reverse = !isVertical && isRTL;\n\n // ====================== Items Data ======================\n const items = useItems(children);\n\n // Create refs for intrinsic panels to pass to useSizes\n const elementRefs = React.useMemo(() => {\n return items.map(() => React.createRef<HTMLElement>());\n }, [items.length]);\n\n // >>> Warning for uncontrolled\n if (process.env.NODE_ENV !== \"production\") {\n const warning = devUseWarning(\"Splitter\");\n\n let existSize = false;\n let existUndefinedSize = false;\n\n items.forEach((item) => {\n if (item.size !== undefined) {\n existSize = true;\n } else {\n existUndefinedSize = true;\n }\n });\n\n if (existSize && existUndefinedSize && !onResize) {\n warning(\n false,\n \"usage\",\n \"When part of `Splitter.Panel` has `size`, `onResize` is required or change `size` to `defaultSize`.\",\n );\n }\n }\n\n // ====================== Container =======================\n const [containerSize, setContainerSize] = useState<number | undefined>();\n\n const onContainerResize: GetProp<typeof ResizeObserver, \"onResize\"> = (\n size,\n ) => {\n const { offsetWidth, offsetHeight } = size;\n const containerSize = isVertical ? offsetHeight : offsetWidth;\n // Skip when container has no size, Such as nested in a hidden tab panel\n // to fix: https://github.com/ant-design/ant-design/issues/51106\n if (containerSize === 0) {\n return;\n }\n setContainerSize(containerSize);\n };\n\n // ========================= Size =========================\n const [\n panelSizes,\n itemPxSizes,\n itemPtgSizes,\n itemPtgMinSizes,\n itemPtgMaxSizes,\n updateSizes,\n ] = useSizes(items, containerSize, layout, elementRefs);\n\n // ====================== Resizable =======================\n const resizableInfos = useResizable(items, itemPxSizes, isRTL);\n\n const [onOffsetStart, onOffsetUpdate, onOffsetEnd, onCollapse, movingIndex] =\n useResize(\n items,\n resizableInfos,\n itemPtgSizes,\n containerSize,\n updateSizes,\n isRTL,\n );\n\n // ======================== Events ========================\n const onInternalResizeStart = useEvent((index: number) => {\n onOffsetStart(index);\n onResizeStart?.(itemPxSizes);\n });\n\n const onInternalResizeUpdate = useEvent(\n (index: number, offset: number, lazyEnd?: boolean) => {\n const nextSizes = onOffsetUpdate(index, offset);\n\n if (lazyEnd) {\n onResizeEnd?.(nextSizes);\n } else {\n onResize?.(nextSizes);\n }\n },\n );\n\n const onInternalResizeEnd = useEvent((lazyEnd?: boolean) => {\n onOffsetEnd();\n\n if (!lazyEnd) {\n onResizeEnd?.(itemPxSizes);\n }\n });\n\n const onInternalCollapse = useEvent(\n (index: number, type: \"start\" | \"end\") => {\n const nextSizes = onCollapse(index, type);\n onResize?.(nextSizes);\n onResizeEnd?.(nextSizes);\n },\n );\n\n // ======================== Styles ========================\n const containerClassName = clsx(\n prefixCls,\n className,\n `${prefixCls}-${layout}`,\n {\n [`${prefixCls}-rtl`]: isRTL,\n [`${prefixCls}-hide-bars`]: !showSplitBar,\n },\n rootClassName,\n contextClassName,\n cssVarCls,\n rootCls,\n hashId,\n );\n\n // ======================== Render ========================\n const maskCls = `${prefixCls}-mask`;\n\n const stackSizes = React.useMemo(() => {\n const mergedSizes: number[] = [];\n\n let stack = 0;\n for (let i = 0; i < items.length; i += 1) {\n stack += itemPtgSizes[i];\n mergedSizes.push(stack);\n }\n\n return mergedSizes;\n // note: do not change this dependency array\n // @eslint-disable-next-line react-hooks/exhaustive-deps\n }, [itemPtgSizes]);\n\n const mergedStyle: React.CSSProperties = { ...contextStyle, ...style };\n\n return wrapCSSVar(\n <SplitterContext.Provider value={{ layout }}>\n <ResizeObserver onResize={onContainerResize}>\n <div style={mergedStyle} className={containerClassName} ref={ref}>\n {items.map((item, idx) => {\n // Panel\n const panel = (\n <SplitterPanel\n {...item}\n prefixCls={prefixCls}\n size={panelSizes[idx]}\n ref={elementRefs[idx]}\n />\n );\n\n // Split Bar\n let splitBar: React.ReactElement | null = null;\n\n const resizableInfo = resizableInfos[idx];\n if (resizableInfo) {\n const ariaMinStart =\n (stackSizes[idx - 1] || 0) + itemPtgMinSizes[idx];\n const ariaMinEnd =\n (stackSizes[idx + 1] || 100) - itemPtgMaxSizes[idx + 1];\n\n const ariaMaxStart =\n (stackSizes[idx - 1] || 0) + itemPtgMaxSizes[idx];\n const ariaMaxEnd =\n (stackSizes[idx + 1] || 100) - itemPtgMinSizes[idx + 1];\n\n splitBar = (\n <SplitBar\n lazy={lazy}\n index={idx}\n active={movingIndex === idx}\n prefixCls={prefixCls}\n vertical={isVertical}\n resizable={resizableInfo.resizable}\n ariaNow={stackSizes[idx] * 100}\n ariaMin={Math.max(ariaMinStart, ariaMinEnd) * 100}\n ariaMax={Math.min(ariaMaxStart, ariaMaxEnd) * 100}\n startCollapsible={resizableInfo.startCollapsible}\n endCollapsible={resizableInfo.endCollapsible}\n onOffsetStart={onInternalResizeStart}\n onOffsetUpdate={(index, offsetX, offsetY, lazyEnd) => {\n let offset = isVertical ? offsetY : offsetX;\n if (reverse) {\n offset = -offset;\n }\n onInternalResizeUpdate(index, offset, lazyEnd);\n }}\n onOffsetEnd={onInternalResizeEnd}\n onCollapse={onInternalCollapse}\n containerSize={containerSize || 0}\n />\n );\n }\n\n return (\n <React.Fragment key={`split-panel-${idx}`}>\n {panel}\n {splitBar}\n </React.Fragment>\n );\n })}\n\n {/* Fake mask for cursor */}\n {typeof movingIndex === \"number\" && (\n <div\n aria-hidden\n className={clsx(maskCls, `${maskCls}-${layout}`)}\n />\n )}\n </div>\n </ResizeObserver>\n </SplitterContext.Provider>,\n );\n};\n\nexport const Splitter = forwardRef(SplitterInner);\n\nSplitter.displayName = \"Splitter\";\n"],"names":["SplitterInner","props","ref","customizePrefixCls","className","style","layout","children","rootClassName","onResizeStart","onResize","onResizeEnd","lazy","showSplitBar","getPrefixCls","direction","contextClassName","contextStyle","useComponentConfig","prefixCls","rootCls","useCSSVarCls","wrapCSSVar","hashId","cssVarCls","useStyle","isVertical","isRTL","reverse","items","useItems","elementRefs","React","warning","devUseWarning","existSize","existUndefinedSize","item","containerSize","setContainerSize","useState","onContainerResize","size","offsetWidth","offsetHeight","panelSizes","itemPxSizes","itemPtgSizes","itemPtgMinSizes","itemPtgMaxSizes","updateSizes","useSizes","resizableInfos","useResizable","onOffsetStart","onOffsetUpdate","onOffsetEnd","onCollapse","movingIndex","useResize","onInternalResizeStart","useEvent","index","onInternalResizeUpdate","offset","lazyEnd","nextSizes","onInternalResizeEnd","onInternalCollapse","type","containerClassName","clsx","maskCls","stackSizes","mergedSizes","stack","i","mergedStyle","SplitterContext","jsx","ResizeObserver","jsxs","idx","panel","SplitterPanel","splitBar","resizableInfo","ariaMinStart","ariaMinEnd","ariaMaxStart","ariaMaxEnd","SplitBar","offsetX","offsetY","Splitter","forwardRef"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { SplitterPanelProps } from './splitter-panel';
3
+ export declare function getPtg(str: string): number;
4
+ /**
5
+ * Save the size state.
6
+ * Align the size into flex percentage base.
7
+ */
8
+ export default function useSizes(items: SplitterPanelProps[], containerSize?: number, layout?: "horizontal" | "vertical", elementRefs?: React.RefObject<HTMLElement>[]): readonly [(string | number)[], number[], number[], number[], number[], React.Dispatch<React.SetStateAction<(string | number)[]>>];
9
+ //# sourceMappingURL=useSizes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSizes.d.ts","sourceRoot":"","sources":["../../../src/components/splitter/useSizes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAkC3D,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,UAEjC;AAMD;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,KAAK,EAAE,kBAAkB,EAAE,EAC3B,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,GAAE,YAAY,GAAG,UAAyB,EAChD,WAAW,GAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAAO,qIAoJjD"}
@@ -1,34 +1,34 @@
1
1
  import u from "react";
2
- const I = (s, l, d) => {
3
- const o = s.cloneNode(!0);
4
- o.style.position = "absolute", o.style.visibility = "hidden", o.style.pointerEvents = "none", o.style.zIndex = "-1", o.style.top = "0", o.style.left = "0", d === "horizontal" ? (o.style.width = l, o.style.height = "100%") : (o.style.width = "100%", o.style.height = l), document.body.appendChild(o);
5
- const p = o.getBoundingClientRect(), a = d === "horizontal" ? p.width : p.height;
6
- return document.body.removeChild(o), a > 0 ? Math.ceil(a) : 0;
2
+ const I = (n, l, d) => {
3
+ const s = n.cloneNode(!0);
4
+ s.style.position = "absolute", s.style.visibility = "hidden", s.style.pointerEvents = "none", s.style.zIndex = "-1", s.style.top = "0", s.style.left = "0", d === "horizontal" ? (s.style.width = l, s.style.height = "100%") : (s.style.width = "100%", s.style.height = l), document.body.appendChild(s);
5
+ const p = s.getBoundingClientRect(), a = d === "horizontal" ? p.width : p.height;
6
+ return document.body.removeChild(s), a > 0 ? Math.ceil(a) : 0;
7
7
  };
8
- function y(s) {
9
- return Number(s.slice(0, -1)) / 100;
8
+ function y(n) {
9
+ return Number(n.slice(0, -1)) / 100;
10
10
  }
11
- function M(s) {
12
- return typeof s == "string" && s.endsWith("%");
11
+ function M(n) {
12
+ return typeof n == "string" && n.endsWith("%");
13
13
  }
14
- function _(s, l, d = "horizontal", o = []) {
15
- const p = s.map((e) => e.size), a = s.length, c = l || 0, w = (e) => e * c, [v, C] = u.useState(() => s.map((e) => e.defaultSize)), [z, P] = u.useState(/* @__PURE__ */ new Map()), b = (e) => e === "max-content" || e === "min-content" || e === "fit-content";
14
+ function _(n, l, d = "horizontal", s = []) {
15
+ const p = n.map((e) => e.size), a = n.length, c = l || 0, w = (e) => e * c, [v, C] = u.useState(() => n.map((e) => e.defaultSize)), [z, P] = u.useState(/* @__PURE__ */ new Map()), b = (e) => e === "max-content" || e === "min-content" || e === "fit-content";
16
16
  u.useEffect(() => {
17
17
  const e = /* @__PURE__ */ new Map();
18
18
  let i = !1;
19
- s.forEach((r, n) => {
19
+ n.forEach((r, t) => {
20
20
  if (b(r.defaultSize)) {
21
- const t = o[n];
22
- if (t != null && t.current) {
23
- const f = I(t.current, r.defaultSize, d);
21
+ const o = s[t];
22
+ if (o?.current) {
23
+ const f = I(o.current, r.defaultSize, d);
24
24
  if (f > 0) {
25
- const g = z.get(n);
26
- g === void 0 || g !== f ? (e.set(n, f), i = !0) : e.set(n, g);
25
+ const g = z.get(t);
26
+ g === void 0 || g !== f ? (e.set(t, f), i = !0) : e.set(t, g);
27
27
  }
28
28
  }
29
29
  }
30
30
  }), i && P((r) => new Map([...r, ...e]));
31
- }, [s, o, d, l]);
31
+ }, [n, s, d, l]);
32
32
  const m = u.useMemo(() => {
33
33
  const e = [];
34
34
  for (let i = 0; i < a; i += 1) {
@@ -38,34 +38,34 @@ function _(s, l, d = "horizontal", o = []) {
38
38
  return e;
39
39
  }, [a, v, p, z]), h = u.useMemo(() => {
40
40
  let e = [], i = 0;
41
- for (let n = 0; n < a; n += 1) {
42
- const t = m[n];
43
- if (M(t))
44
- e[n] = y(t);
45
- else if (t || t === 0) {
46
- const f = Number(t);
47
- Number.isNaN(f) || (e[n] = f / c);
41
+ for (let t = 0; t < a; t += 1) {
42
+ const o = m[t];
43
+ if (M(o))
44
+ e[t] = y(o);
45
+ else if (o || o === 0) {
46
+ const f = Number(o);
47
+ Number.isNaN(f) || (e[t] = f / c);
48
48
  } else
49
- i += 1, e[n] = void 0;
49
+ i += 1, e[t] = void 0;
50
50
  }
51
- const r = e.reduce((n, t) => n + (t || 0), 0);
51
+ const r = e.reduce((t, o) => t + (o || 0), 0);
52
52
  if (r > 1 || !i) {
53
- const n = 1 / r;
54
- e = e.map((t) => t === void 0 ? 0 : t * n);
53
+ const t = 1 / r;
54
+ e = e.map((o) => o === void 0 ? 0 : o * t);
55
55
  } else {
56
- const n = (1 - r) / i;
57
- e = e.map((t) => t === void 0 ? n : t);
56
+ const t = (1 - r) / i;
57
+ e = e.map((o) => o === void 0 ? t : o);
58
58
  }
59
59
  return e;
60
60
  }, [m, c]), S = u.useMemo(
61
61
  () => h.map(w),
62
62
  [h, c]
63
63
  ), x = u.useMemo(
64
- () => s.map((e) => M(e.min) ? y(e.min) : (e.min || 0) / c),
65
- [s, c]
64
+ () => n.map((e) => M(e.min) ? y(e.min) : (e.min || 0) / c),
65
+ [n, c]
66
66
  ), N = u.useMemo(
67
- () => s.map((e) => M(e.max) ? y(e.max) : (e.max || c) / c),
68
- [s, c]
67
+ () => n.map((e) => M(e.max) ? y(e.max) : (e.max || c) / c),
68
+ [n, c]
69
69
  );
70
70
  return [
71
71
  u.useMemo(
@@ -1 +1 @@
1
- {"version":3,"file":"useSizes.js","sources":["../../../src/components/splitter/useSizes.ts"],"sourcesContent":["import React from \"react\";\n\nimport type { SplitterPanelProps } from \"./splitter-panel\";\n\n// Helper to measure intrinsic content size\nconst measureIntrinsicSize = (\n element: HTMLElement, \n intrinsicType: \"max-content\" | \"min-content\" | \"fit-content\",\n layout: \"horizontal\" | \"vertical\"\n): number => {\n const clonedElement = element.cloneNode(true) as HTMLElement;\n \n // Set up the cloned element for measurement\n clonedElement.style.position = \"absolute\";\n clonedElement.style.visibility = \"hidden\";\n clonedElement.style.pointerEvents = \"none\";\n clonedElement.style.zIndex = \"-1\";\n clonedElement.style.top = \"0\";\n clonedElement.style.left = \"0\";\n\n if (layout === \"horizontal\") {\n clonedElement.style.width = intrinsicType;\n clonedElement.style.height = \"100%\";\n } else {\n clonedElement.style.width = \"100%\";\n clonedElement.style.height = intrinsicType;\n }\n\n document.body.appendChild(clonedElement);\n const rect = clonedElement.getBoundingClientRect();\n const size = layout === \"horizontal\" ? rect.width : rect.height;\n document.body.removeChild(clonedElement);\n\n return size > 0 ? Math.ceil(size) : 0;\n};\n\nexport function getPtg(str: string) {\n return Number(str.slice(0, -1)) / 100;\n}\n\nfunction isPtg(itemSize: string | number | undefined): itemSize is string {\n return typeof itemSize === \"string\" && itemSize.endsWith(\"%\");\n}\n\n/**\n * Save the size state.\n * Align the size into flex percentage base.\n */\nexport default function useSizes(\n items: SplitterPanelProps[],\n containerSize?: number,\n layout: \"horizontal\" | \"vertical\" = \"horizontal\",\n elementRefs: React.RefObject<HTMLElement>[] = []\n) {\n const propSizes = items.map((item) => item.size);\n\n const itemsCount = items.length;\n\n const mergedContainerSize = containerSize || 0;\n const ptg2px = (ptg: number) => ptg * mergedContainerSize;\n\n // We do not need care the size state match the `items` length in `useState`.\n // It will calculate later.\n const [innerSizes, setInnerSizes] = React.useState<\n (string | number | undefined)[]\n >(() => items.map((item) => item.defaultSize));\n\n // Track measured intrinsic sizes\n const [intrinsicSizes, setIntrinsicSizes] = React.useState<Map<number, number>>(new Map());\n \n // Helper function to check if a size is intrinsic\n const isIntrinsicSize = (size: string | number | undefined): size is \"max-content\" | \"min-content\" | \"fit-content\" => {\n return size === \"max-content\" || size === \"min-content\" || size === \"fit-content\";\n };\n\n // Measure intrinsic sizes directly using element refs\n React.useEffect(() => {\n const newSizes = new Map<number, number>();\n let hasChanges = false;\n\n items.forEach((item, index) => {\n if (isIntrinsicSize(item.defaultSize)) {\n const ref = elementRefs[index];\n if (ref?.current) {\n const measuredSize = measureIntrinsicSize(ref.current, item.defaultSize, layout);\n if (measuredSize > 0) {\n const currentSize = intrinsicSizes.get(index);\n if (currentSize === undefined || currentSize !== measuredSize) {\n newSizes.set(index, measuredSize);\n hasChanges = true;\n } else {\n newSizes.set(index, currentSize);\n }\n }\n }\n }\n });\n\n if (hasChanges) {\n setIntrinsicSizes(prev => new Map([...prev, ...newSizes]));\n }\n }, [items, elementRefs, layout, containerSize]); // Re-measure when container size changes for responsiveness\n const sizes = React.useMemo(() => {\n const mergedSizes: SplitterPanelProps[\"size\"][] = [];\n\n for (let i = 0; i < itemsCount; i += 1) {\n let size = propSizes[i] ?? innerSizes[i];\n \n // Replace intrinsic sizes with measured pixel values\n if (isIntrinsicSize(size) && intrinsicSizes.has(i)) {\n size = intrinsicSizes.get(i);\n }\n \n mergedSizes[i] = size;\n }\n\n return mergedSizes;\n }, [itemsCount, innerSizes, propSizes, intrinsicSizes]);\n\n // Post handle the size. Will do:\n // 1. Convert all the px into percentage if not empty.\n // 2. Get rest percentage for exist percentage.\n // 3. Fill the rest percentage into empty item.\n const postPercentSizes = React.useMemo(() => {\n let ptgList: (number | undefined)[] = [];\n let emptyCount = 0;\n\n // Fill default percentage\n for (let i = 0; i < itemsCount; i += 1) {\n const itemSize = sizes[i];\n\n if (isPtg(itemSize)) {\n ptgList[i] = getPtg(itemSize);\n } else if (itemSize || itemSize === 0) {\n const num = Number(itemSize);\n if (!Number.isNaN(num)) {\n ptgList[i] = num / mergedContainerSize;\n }\n } else {\n emptyCount += 1;\n ptgList[i] = undefined;\n }\n }\n\n const totalPtg = ptgList.reduce<number>((acc, ptg) => acc + (ptg || 0), 0);\n\n if (totalPtg > 1 || !emptyCount) {\n // If total percentage is larger than 1, we will scale it down.\n const scale = 1 / totalPtg;\n ptgList = ptgList.map((ptg) => (ptg === undefined ? 0 : ptg * scale));\n } else {\n // If total percentage is smaller than 1, we will fill the rest.\n const avgRest = (1 - totalPtg) / emptyCount;\n ptgList = ptgList.map((ptg) => (ptg === undefined ? avgRest : ptg));\n }\n\n return ptgList as number[];\n }, [sizes, mergedContainerSize]);\n\n const postPxSizes = React.useMemo(\n () => postPercentSizes.map(ptg2px),\n [postPercentSizes, mergedContainerSize]\n );\n\n const postPercentMinSizes = React.useMemo(\n () =>\n items.map((item) => {\n if (isPtg(item.min)) {\n return getPtg(item.min);\n }\n return (item.min || 0) / mergedContainerSize;\n }),\n [items, mergedContainerSize]\n );\n\n const postPercentMaxSizes = React.useMemo(\n () =>\n items.map((item) => {\n if (isPtg(item.max)) {\n return getPtg(item.max);\n }\n return (item.max || mergedContainerSize) / mergedContainerSize;\n }),\n [items, mergedContainerSize]\n );\n\n // If ssr, we will use the size from developer config first.\n const panelSizes = React.useMemo(\n () => (containerSize ? postPxSizes : sizes),\n [postPxSizes, containerSize]\n );\n\n return [\n panelSizes,\n postPxSizes,\n postPercentSizes,\n postPercentMinSizes,\n postPercentMaxSizes,\n setInnerSizes,\n ] as const;\n}\n"],"names":["measureIntrinsicSize","element","intrinsicType","layout","clonedElement","rect","size","getPtg","str","isPtg","itemSize","useSizes","items","containerSize","elementRefs","propSizes","item","itemsCount","mergedContainerSize","ptg2px","ptg","innerSizes","setInnerSizes","React","intrinsicSizes","setIntrinsicSizes","isIntrinsicSize","newSizes","hasChanges","index","ref","measuredSize","currentSize","prev","sizes","mergedSizes","postPercentSizes","ptgList","emptyCount","i","num","totalPtg","acc","scale","avgRest","postPxSizes","postPercentMinSizes","postPercentMaxSizes"],"mappings":"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"}
1
+ {"version":3,"file":"useSizes.js","sources":["../../../src/components/splitter/useSizes.ts"],"sourcesContent":["import React from \"react\";\n\nimport type { SplitterPanelProps } from \"./splitter-panel\";\n\n// Helper to measure intrinsic content size\nconst measureIntrinsicSize = (\n element: HTMLElement, \n intrinsicType: \"max-content\" | \"min-content\" | \"fit-content\",\n layout: \"horizontal\" | \"vertical\"\n): number => {\n const clonedElement = element.cloneNode(true) as HTMLElement;\n \n // Set up the cloned element for measurement\n clonedElement.style.position = \"absolute\";\n clonedElement.style.visibility = \"hidden\";\n clonedElement.style.pointerEvents = \"none\";\n clonedElement.style.zIndex = \"-1\";\n clonedElement.style.top = \"0\";\n clonedElement.style.left = \"0\";\n\n if (layout === \"horizontal\") {\n clonedElement.style.width = intrinsicType;\n clonedElement.style.height = \"100%\";\n } else {\n clonedElement.style.width = \"100%\";\n clonedElement.style.height = intrinsicType;\n }\n\n document.body.appendChild(clonedElement);\n const rect = clonedElement.getBoundingClientRect();\n const size = layout === \"horizontal\" ? rect.width : rect.height;\n document.body.removeChild(clonedElement);\n\n return size > 0 ? Math.ceil(size) : 0;\n};\n\nexport function getPtg(str: string) {\n return Number(str.slice(0, -1)) / 100;\n}\n\nfunction isPtg(itemSize: string | number | undefined): itemSize is string {\n return typeof itemSize === \"string\" && itemSize.endsWith(\"%\");\n}\n\n/**\n * Save the size state.\n * Align the size into flex percentage base.\n */\nexport default function useSizes(\n items: SplitterPanelProps[],\n containerSize?: number,\n layout: \"horizontal\" | \"vertical\" = \"horizontal\",\n elementRefs: React.RefObject<HTMLElement>[] = []\n) {\n const propSizes = items.map((item) => item.size);\n\n const itemsCount = items.length;\n\n const mergedContainerSize = containerSize || 0;\n const ptg2px = (ptg: number) => ptg * mergedContainerSize;\n\n // We do not need care the size state match the `items` length in `useState`.\n // It will calculate later.\n const [innerSizes, setInnerSizes] = React.useState<\n (string | number | undefined)[]\n >(() => items.map((item) => item.defaultSize));\n\n // Track measured intrinsic sizes\n const [intrinsicSizes, setIntrinsicSizes] = React.useState<Map<number, number>>(new Map());\n \n // Helper function to check if a size is intrinsic\n const isIntrinsicSize = (size: string | number | undefined): size is \"max-content\" | \"min-content\" | \"fit-content\" => {\n return size === \"max-content\" || size === \"min-content\" || size === \"fit-content\";\n };\n\n // Measure intrinsic sizes directly using element refs\n React.useEffect(() => {\n const newSizes = new Map<number, number>();\n let hasChanges = false;\n\n items.forEach((item, index) => {\n if (isIntrinsicSize(item.defaultSize)) {\n const ref = elementRefs[index];\n if (ref?.current) {\n const measuredSize = measureIntrinsicSize(ref.current, item.defaultSize, layout);\n if (measuredSize > 0) {\n const currentSize = intrinsicSizes.get(index);\n if (currentSize === undefined || currentSize !== measuredSize) {\n newSizes.set(index, measuredSize);\n hasChanges = true;\n } else {\n newSizes.set(index, currentSize);\n }\n }\n }\n }\n });\n\n if (hasChanges) {\n setIntrinsicSizes(prev => new Map([...prev, ...newSizes]));\n }\n }, [items, elementRefs, layout, containerSize]); // Re-measure when container size changes for responsiveness\n const sizes = React.useMemo(() => {\n const mergedSizes: SplitterPanelProps[\"size\"][] = [];\n\n for (let i = 0; i < itemsCount; i += 1) {\n let size = propSizes[i] ?? innerSizes[i];\n \n // Replace intrinsic sizes with measured pixel values\n if (isIntrinsicSize(size) && intrinsicSizes.has(i)) {\n size = intrinsicSizes.get(i);\n }\n \n mergedSizes[i] = size;\n }\n\n return mergedSizes;\n }, [itemsCount, innerSizes, propSizes, intrinsicSizes]);\n\n // Post handle the size. Will do:\n // 1. Convert all the px into percentage if not empty.\n // 2. Get rest percentage for exist percentage.\n // 3. Fill the rest percentage into empty item.\n const postPercentSizes = React.useMemo(() => {\n let ptgList: (number | undefined)[] = [];\n let emptyCount = 0;\n\n // Fill default percentage\n for (let i = 0; i < itemsCount; i += 1) {\n const itemSize = sizes[i];\n\n if (isPtg(itemSize)) {\n ptgList[i] = getPtg(itemSize);\n } else if (itemSize || itemSize === 0) {\n const num = Number(itemSize);\n if (!Number.isNaN(num)) {\n ptgList[i] = num / mergedContainerSize;\n }\n } else {\n emptyCount += 1;\n ptgList[i] = undefined;\n }\n }\n\n const totalPtg = ptgList.reduce<number>((acc, ptg) => acc + (ptg || 0), 0);\n\n if (totalPtg > 1 || !emptyCount) {\n // If total percentage is larger than 1, we will scale it down.\n const scale = 1 / totalPtg;\n ptgList = ptgList.map((ptg) => (ptg === undefined ? 0 : ptg * scale));\n } else {\n // If total percentage is smaller than 1, we will fill the rest.\n const avgRest = (1 - totalPtg) / emptyCount;\n ptgList = ptgList.map((ptg) => (ptg === undefined ? avgRest : ptg));\n }\n\n return ptgList as number[];\n }, [sizes, mergedContainerSize]);\n\n const postPxSizes = React.useMemo(\n () => postPercentSizes.map(ptg2px),\n [postPercentSizes, mergedContainerSize]\n );\n\n const postPercentMinSizes = React.useMemo(\n () =>\n items.map((item) => {\n if (isPtg(item.min)) {\n return getPtg(item.min);\n }\n return (item.min || 0) / mergedContainerSize;\n }),\n [items, mergedContainerSize]\n );\n\n const postPercentMaxSizes = React.useMemo(\n () =>\n items.map((item) => {\n if (isPtg(item.max)) {\n return getPtg(item.max);\n }\n return (item.max || mergedContainerSize) / mergedContainerSize;\n }),\n [items, mergedContainerSize]\n );\n\n // If ssr, we will use the size from developer config first.\n const panelSizes = React.useMemo(\n () => (containerSize ? postPxSizes : sizes),\n [postPxSizes, containerSize]\n );\n\n return [\n panelSizes,\n postPxSizes,\n postPercentSizes,\n postPercentMinSizes,\n postPercentMaxSizes,\n setInnerSizes,\n ] as const;\n}\n"],"names":["measureIntrinsicSize","element","intrinsicType","layout","clonedElement","rect","size","getPtg","str","isPtg","itemSize","useSizes","items","containerSize","elementRefs","propSizes","item","itemsCount","mergedContainerSize","ptg2px","ptg","innerSizes","setInnerSizes","React","intrinsicSizes","setIntrinsicSizes","isIntrinsicSize","newSizes","hasChanges","index","ref","measuredSize","currentSize","prev","sizes","mergedSizes","postPercentSizes","ptgList","emptyCount","i","num","totalPtg","acc","scale","avgRest","postPxSizes","postPercentMinSizes","postPercentMaxSizes"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { default as React } from 'react';
2
+ export type StackGap = 0 | 1 | 2 | 4 | 8 | 12 | 16 | 24 | 28 | 32 | 40 | 48;
3
+ export interface StackProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * Whether the stack should hug its content (inline-flex) instead of filling available space
6
+ * @default false
7
+ */
8
+ hug?: boolean;
9
+ /**
10
+ * Vertical alignment of items within the stack
11
+ * @default "flex-start"
12
+ */
13
+ align?: "flex-start" | "flex-end" | "center" | "stretch" | "baseline";
14
+ /**
15
+ * Horizontal alignment of items within the stack
16
+ * @default "flex-start"
17
+ */
18
+ justify?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly";
19
+ /**
20
+ * Whether the stack should render items vertically
21
+ * @default false
22
+ */
23
+ vertical?: boolean;
24
+ /**
25
+ * Gap between stack items in pixels
26
+ * @default 0
27
+ */
28
+ gap?: StackGap;
29
+ /**
30
+ * Wrap items to multiple lines if needed
31
+ * @default false
32
+ */
33
+ wrap?: boolean;
34
+ /**
35
+ * Children of the stack
36
+ */
37
+ children?: React.ReactNode;
38
+ }
39
+ export declare const Stack: React.ForwardRefExoticComponent<StackProps & React.RefAttributes<HTMLDivElement>>;
40
+ //# sourceMappingURL=Stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../../../src/components/stack/Stack.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAE5E,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IAEtE;;;OAGG;IACH,OAAO,CAAC,EACJ,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,eAAe,GACf,cAAc,GACd,cAAc,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,KAAK,mFAoCjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.js","sources":["../../../src/components/stack/Stack.tsx"],"sourcesContent":["\"use client\";\nimport React, { forwardRef } from \"react\";\nimport { cn, useCls } from \"../utils\";\n\nexport type StackGap = 0 | 1 | 2 | 4 | 8 | 12 | 16 | 24 | 28 | 32 | 40 | 48;\n\nexport interface StackProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Whether the stack should hug its content (inline-flex) instead of filling available space\n * @default false\n */\n hug?: boolean;\n\n /**\n * Vertical alignment of items within the stack\n * @default \"flex-start\"\n */\n align?: \"flex-start\" | \"flex-end\" | \"center\" | \"stretch\" | \"baseline\";\n\n /**\n * Horizontal alignment of items within the stack\n * @default \"flex-start\"\n */\n justify?:\n | \"flex-start\"\n | \"flex-end\"\n | \"center\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n\n /**\n * Whether the stack should render items vertically\n * @default false\n */\n vertical?: boolean;\n\n /**\n * Gap between stack items in pixels\n * @default 0\n */\n gap?: StackGap;\n\n /**\n * Wrap items to multiple lines if needed\n * @default false\n */\n wrap?: boolean;\n\n /**\n * Children of the stack\n */\n children?: React.ReactNode;\n}\n\nexport const Stack = forwardRef<HTMLDivElement, StackProps>(\n (\n {\n hug = false,\n align = \"flex-start\",\n justify = \"flex-start\",\n vertical = false,\n gap = 0,\n wrap = false,\n className,\n children,\n ...rest\n },\n ref\n ) => {\n const cls = useCls();\n\n return (\n <div\n ref={ref}\n className={cn(\n cls(\"stack\"),\n hug ? cls(\"stack-hug\") : cls(\"stack-fill\"),\n cls(`stack-gap-${gap}`),\n vertical ? cls(\"stack-vertical\") : cls(\"stack-horizontal\"),\n wrap && cls(\"stack-wrap\"),\n cls(`stack-align-${align}`),\n cls(`stack-justify-${justify}`),\n className\n )}\n {...rest}\n >\n {children}\n </div>\n );\n }\n);\n\nStack.displayName = \"Stack\";\n"],"names":["Stack","forwardRef","hug","align","justify","vertical","gap","wrap","className","children","rest","ref","cls","useCls","jsx","cn"],"mappings":";;;;;AAuDO,MAAMA,IAAQC;AAAA,EACnB,CACE;AAAA,IACE,KAAAC,IAAM;AAAA,IACN,OAAAC,IAAQ;AAAA,IACR,SAAAC,IAAU;AAAA,IACV,UAAAC,IAAW;AAAA,IACX,KAAAC,IAAM;AAAA,IACN,MAAAC,IAAO;AAAA,IACP,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,KAELC,MACG;AACH,UAAMC,IAAMC,EAAO;AAGjB,WAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAH;AAAA,QACA,WAAWI;AAAA,UACTH,EAAI,OAAO;AAAA,UACLA,EAANV,IAAU,cAAmB,YAAR;AAAA,UACrBU,EAAI,aAAaN,CAAG,EAAE;AAAA,UACXM,EAAXP,IAAe,mBAAwB,kBAAR;AAAA,UAC/BE,KAAQK,EAAI,YAAY;AAAA,UACxBA,EAAI,eAAeT,CAAK,EAAE;AAAA,UAC1BS,EAAI,iBAAiBR,CAAO,EAAE;AAAA,UAC9BI;AAAA,QACF;AAAA,QACC,GAAGE;AAAA,QAEH,UAAAD;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;AAEAT,EAAM,cAAc;"}
1
+ {"version":3,"file":"Stack.js","sources":["../../../src/components/stack/Stack.tsx"],"sourcesContent":["\"use client\";\nimport React, { forwardRef } from \"react\";\nimport { cn, useCls } from \"../utils\";\n\nexport type StackGap = 0 | 1 | 2 | 4 | 8 | 12 | 16 | 24 | 28 | 32 | 40 | 48;\n\nexport interface StackProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Whether the stack should hug its content (inline-flex) instead of filling available space\n * @default false\n */\n hug?: boolean;\n\n /**\n * Vertical alignment of items within the stack\n * @default \"flex-start\"\n */\n align?: \"flex-start\" | \"flex-end\" | \"center\" | \"stretch\" | \"baseline\";\n\n /**\n * Horizontal alignment of items within the stack\n * @default \"flex-start\"\n */\n justify?:\n | \"flex-start\"\n | \"flex-end\"\n | \"center\"\n | \"space-between\"\n | \"space-around\"\n | \"space-evenly\";\n\n /**\n * Whether the stack should render items vertically\n * @default false\n */\n vertical?: boolean;\n\n /**\n * Gap between stack items in pixels\n * @default 0\n */\n gap?: StackGap;\n\n /**\n * Wrap items to multiple lines if needed\n * @default false\n */\n wrap?: boolean;\n\n /**\n * Children of the stack\n */\n children?: React.ReactNode;\n}\n\nexport const Stack = forwardRef<HTMLDivElement, StackProps>(\n (\n {\n hug = false,\n align = \"flex-start\",\n justify = \"flex-start\",\n vertical = false,\n gap = 0,\n wrap = false,\n className,\n children,\n ...rest\n },\n ref\n ) => {\n const cls = useCls();\n\n return (\n <div\n ref={ref}\n className={cn(\n cls(\"stack\"),\n hug ? cls(\"stack-hug\") : cls(\"stack-fill\"),\n cls(`stack-gap-${gap}`),\n vertical ? cls(\"stack-vertical\") : cls(\"stack-horizontal\"),\n wrap && cls(\"stack-wrap\"),\n cls(`stack-align-${align}`),\n cls(`stack-justify-${justify}`),\n className\n )}\n {...rest}\n >\n {children}\n </div>\n );\n }\n);\n\nStack.displayName = \"Stack\";\n"],"names":["Stack","forwardRef","hug","align","justify","vertical","gap","wrap","className","children","rest","ref","cls","useCls","jsx","cn"],"mappings":";;;;;AAuDO,MAAMA,IAAQC;AAAA,EACnB,CACE;AAAA,IACE,KAAAC,IAAM;AAAA,IACN,OAAAC,IAAQ;AAAA,IACR,SAAAC,IAAU;AAAA,IACV,UAAAC,IAAW;AAAA,IACX,KAAAC,IAAM;AAAA,IACN,MAAAC,IAAO;AAAA,IACP,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAMC,EAAA;AAEZ,WACE,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAH;AAAA,QACA,WAAWI;AAAA,UACTH,EAAI,OAAO;AAAA,UACLA,EAANV,IAAU,cAAmB,YAAR;AAAA,UACrBU,EAAI,aAAaN,CAAG,EAAE;AAAA,UACXM,EAAXP,IAAe,mBAAwB,kBAAR;AAAA,UAC/BE,KAAQK,EAAI,YAAY;AAAA,UACxBA,EAAI,eAAeT,CAAK,EAAE;AAAA,UAC1BS,EAAI,iBAAiBR,CAAO,EAAE;AAAA,UAC9BI;AAAA,QAAA;AAAA,QAED,GAAGE;AAAA,QAEH,UAAAD;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;AAEAT,EAAM,cAAc;"}
@@ -0,0 +1,31 @@
1
+ import { default as React } from 'react';
2
+ import { StackProps } from './Stack';
3
+ export interface StackChildProps extends StackProps {
4
+ /**
5
+ * CSS flex property value (e.g. "1", "1 0 auto", "0 1 auto")
6
+ * When boolean: true = 1, false = 0
7
+ * @default undefined
8
+ */
9
+ flex?: string | number | boolean;
10
+ /**
11
+ * Whether this child should grow to fill available space
12
+ * @default false
13
+ */
14
+ grow?: boolean;
15
+ /**
16
+ * Whether this child should shrink if necessary
17
+ * @default false
18
+ */
19
+ shrink?: boolean;
20
+ /**
21
+ * Children of the stack child
22
+ */
23
+ children?: React.ReactNode;
24
+ /**
25
+ * Whether to render the child with a stack wrapper
26
+ * @default false
27
+ */
28
+ stack?: boolean;
29
+ }
30
+ export declare const StackChild: React.ForwardRefExoticComponent<StackChildProps & React.RefAttributes<HTMLDivElement>>;
31
+ //# sourceMappingURL=StackChild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackChild.d.ts","sourceRoot":"","sources":["../../../src/components/stack/StackChild.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAEjC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,UAAU,wFA+EtB,CAAC"}