@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
package/README.md CHANGED
@@ -64,6 +64,35 @@ Each component can be imported individually:
64
64
  import { Button } from '@bioturing/components/Button';
65
65
  ```
66
66
 
67
+ ## Tree-Shaking Support
68
+
69
+ This package is fully optimized for tree-shaking, allowing you to import only the components you need:
70
+
71
+ ### ✅ Recommended (Fully Tree-Shakable)
72
+ ```jsx
73
+ import { Button, Modal } from '@bioturing/components'
74
+ import '@bioturing/components/style.css'
75
+ ```
76
+
77
+ ### Bundle Analysis
78
+ To analyze your bundle and verify tree-shaking effectiveness:
79
+
80
+ ```bash
81
+ # Build the package
82
+ npm run build
83
+
84
+ # Open generated bundle analysis
85
+ open dist/stats.html
86
+ ```
87
+
88
+ The component library uses:
89
+ - **ESM format** for optimal tree-shaking
90
+ - **Preserved modules** for granular chunking
91
+ - **Side-effects configuration** for CSS handling
92
+ - **External dependencies** to minimize bundle size
93
+
94
+ Modern bundlers (Vite, Webpack 5+, Next.js) will automatically eliminate unused components from your final bundle.
95
+
67
96
  ## Styles
68
97
 
69
98
  The package includes two CSS files:
@@ -0,0 +1,7 @@
1
+ import { BadgeProps as AntdBadgeProps } from 'antd/es/badge';
2
+ export type BadgeProps = AntdBadgeProps;
3
+ export declare const InternalBadge: ({ count, showZero, ...rest }: BadgeProps) => import("react/jsx-runtime").JSX.Element;
4
+ export declare const Badge: (({ count, showZero, ...rest }: BadgeProps) => import("react/jsx-runtime").JSX.Element) & {
5
+ Ribbon: import('react').FC<import('antd/es/badge/Ribbon').RibbonProps>;
6
+ };
7
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/badge/component.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,UAAU,IAAI,cAAc,EAClC,MAAM,eAAe,CAAC;AAIvB,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,UAAU,GAAG,cAAc,CAAC;AAExC,eAAO,MAAM,aAAa,GAAI,8BAA8B,UAAU,4CAErE,CAAC;AAEF,eAAO,MAAM,KAAK,kCAJ0C,UAAU;;CAMpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/badge/component.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n default as AntdBadge,\n type BadgeProps as AntdBadgeProps,\n} from \"antd/es/badge\";\nimport Ribbon from \"antd/es/badge/Ribbon\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport type BadgeProps = AntdBadgeProps;\n\nexport const InternalBadge = ({ count, showZero, ...rest }: BadgeProps) => {\n return <AntdBadge count={count} showZero={showZero} {...rest} />;\n};\n\nexport const Badge = Object.assign(InternalBadge, {\n Ribbon,\n});\n"],"names":["InternalBadge","count","showZero","rest","jsx","AntdBadge","Badge","Ribbon"],"mappings":";;;;;AAaO,MAAMA,IAAgB,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,GAAGC,QAC1C,gBAAAC,EAAAC,GAAA,EAAU,OAAAJ,GAAc,UAAAC,GAAqB,GAAGC,GAAM,GAGnDG,IAAQ,OAAO,OAAON,GAAe;AAAA,EAChD,QAAAO;AACF,CAAC;"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/badge/component.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n default as AntdBadge,\n type BadgeProps as AntdBadgeProps,\n} from \"antd/es/badge\";\nimport Ribbon from \"antd/es/badge/Ribbon\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport type BadgeProps = AntdBadgeProps;\n\nexport const InternalBadge = ({ count, showZero, ...rest }: BadgeProps) => {\n return <AntdBadge count={count} showZero={showZero} {...rest} />;\n};\n\nexport const Badge = Object.assign(InternalBadge, {\n Ribbon,\n});\n"],"names":["InternalBadge","count","showZero","rest","jsx","AntdBadge","Badge","Ribbon"],"mappings":";;;;;AAaO,MAAMA,IAAgB,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,GAAGC,QAC3C,gBAAAC,EAACC,GAAA,EAAU,OAAAJ,GAAc,UAAAC,GAAqB,GAAGC,GAAM,GAGnDG,IAAQ,OAAO,OAAON,GAAe;AAAA,EAChD,QAAAO;AACF,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/badge/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { BreadcrumbProps, BreadcrumbItemProps } from './types';
2
+ export declare const Breadcrumb: (({ className, items, noWrap, itemRender: outsideItemRender, ...rest }: BreadcrumbProps) => import("react/jsx-runtime").JSX.Element) & {
3
+ Item: (props: BreadcrumbItemProps) => import("react/jsx-runtime").JSX.Element;
4
+ Separator: (props: React.HTMLAttributes<HTMLSpanElement>) => import("react/jsx-runtime").JSX.Element;
5
+ };
6
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumb/component.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAIzE,OAAO,aAAa,CAAC;AAiDrB,eAAO,MAAM,UAAU,0EAxCpB,eAAe;kBAoBG,mBAAmB;uBAad,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;CAU7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/breadcrumb/component.tsx"],"sourcesContent":["\"use client\";\nimport { default as AntBreadcrumb } from \"antd/es/breadcrumb\";\nimport { clsx, useCls, useGetPrefixCls } from \"../utils\";\nimport { type BreadcrumbProps, type BreadcrumbItemProps } from \"./types\";\nimport useItemRender from \"./useItemRender\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\n// Create inner function with forwarded ref\nconst BreadcrumbInner = ({\n className,\n items,\n noWrap = false,\n itemRender: outsideItemRender,\n ...rest\n}: BreadcrumbProps) => {\n const cls = useCls();\n const { getPrefixCls } = useGetPrefixCls();\n const componentPrefixCls = getPrefixCls(\"breadcrumb\");\n const itemRender = useItemRender(componentPrefixCls, outsideItemRender);\n\n return (\n <AntBreadcrumb\n className={clsx(\n cls(\"breadcrumb\", noWrap && \"breadcrumb-nowrap\"),\n className\n )}\n items={items}\n itemRender={itemRender}\n {...rest}\n />\n );\n};\n\n// Create the Item component\nconst Item = (props: BreadcrumbItemProps) => {\n const { className, ...restProps } = props;\n const cls = useCls();\n\n return (\n <AntBreadcrumb.Item\n className={clsx(cls(\"breadcrumb-item\"), className)}\n {...restProps}\n />\n );\n};\n\n// Create the Separator component\nconst Separator = (props: React.HTMLAttributes<HTMLSpanElement>) => {\n const { className, ...restProps } = props;\n\n return <AntBreadcrumb.Separator {...restProps} />;\n};\n\n// Create the final component with Item property and Separator properties\nexport const Breadcrumb = Object.assign(BreadcrumbInner, {\n Item,\n Separator,\n});\n"],"names":["BreadcrumbInner","className","items","noWrap","outsideItemRender","rest","cls","useCls","getPrefixCls","useGetPrefixCls","componentPrefixCls","itemRender","useItemRender","jsx","AntBreadcrumb","clsx","Item","props","restProps","Separator","Breadcrumb"],"mappings":";;;;;;;AAUA,MAAMA,IAAkB,CAAC;AAAA,EACvB,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,YAAYC;AAAA,EACZ,GAAGC;AACL,MAAuB;AACrB,QAAMC,IAAMC,EAAO,GACb,EAAE,cAAAC,EAAa,IAAIC,EAAgB,GACnCC,IAAqBF,EAAa,YAAY,GAC9CG,IAAaC,EAAcF,GAAoBN,CAAiB;AAGpE,SAAA,gBAAAS;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTT,EAAI,cAAcH,KAAU,mBAAmB;AAAA,QAC/CF;AAAA,MACF;AAAA,MACA,OAAAC;AAAA,MACA,YAAAS;AAAA,MACC,GAAGN;AAAA,IAAA;AAAA,EACN;AAEJ,GAGMW,IAAO,CAACC,MAA+B;AAC3C,QAAM,EAAE,WAAAhB,GAAW,GAAGiB,EAAA,IAAcD,GAC9BX,IAAMC,EAAO;AAGjB,SAAA,gBAAAM;AAAA,IAACC,EAAc;AAAA,IAAd;AAAA,MACC,WAAWC,EAAKT,EAAI,iBAAiB,GAAGL,CAAS;AAAA,MAChD,GAAGiB;AAAA,IAAA;AAAA,EACN;AAEJ,GAGMC,IAAY,CAACF,MAAiD;AAClE,QAAM,EAAE,WAAAhB,GAAW,GAAGiB,EAAA,IAAcD;AAEpC,SAAQ,gBAAAJ,EAAAC,EAAc,WAAd,EAAyB,GAAGI,EAAW,CAAA;AACjD,GAGaE,IAAa,OAAO,OAAOpB,GAAiB;AAAA,EACvD,MAAAgB;AAAA,EACA,WAAAG;AACF,CAAC;"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/breadcrumb/component.tsx"],"sourcesContent":["\"use client\";\nimport { default as AntBreadcrumb } from \"antd/es/breadcrumb\";\nimport { clsx, useCls, useGetPrefixCls } from \"../utils\";\nimport { type BreadcrumbProps, type BreadcrumbItemProps } from \"./types\";\nimport useItemRender from \"./useItemRender\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\n// Create inner function with forwarded ref\nconst BreadcrumbInner = ({\n className,\n items,\n noWrap = false,\n itemRender: outsideItemRender,\n ...rest\n}: BreadcrumbProps) => {\n const cls = useCls();\n const { getPrefixCls } = useGetPrefixCls();\n const componentPrefixCls = getPrefixCls(\"breadcrumb\");\n const itemRender = useItemRender(componentPrefixCls, outsideItemRender);\n\n return (\n <AntBreadcrumb\n className={clsx(\n cls(\"breadcrumb\", noWrap && \"breadcrumb-nowrap\"),\n className\n )}\n items={items}\n itemRender={itemRender}\n {...rest}\n />\n );\n};\n\n// Create the Item component\nconst Item = (props: BreadcrumbItemProps) => {\n const { className, ...restProps } = props;\n const cls = useCls();\n\n return (\n <AntBreadcrumb.Item\n className={clsx(cls(\"breadcrumb-item\"), className)}\n {...restProps}\n />\n );\n};\n\n// Create the Separator component\nconst Separator = (props: React.HTMLAttributes<HTMLSpanElement>) => {\n const { className, ...restProps } = props;\n\n return <AntBreadcrumb.Separator {...restProps} />;\n};\n\n// Create the final component with Item property and Separator properties\nexport const Breadcrumb = Object.assign(BreadcrumbInner, {\n Item,\n Separator,\n});\n"],"names":["BreadcrumbInner","className","items","noWrap","outsideItemRender","rest","cls","useCls","getPrefixCls","useGetPrefixCls","componentPrefixCls","itemRender","useItemRender","jsx","AntBreadcrumb","clsx","Item","props","restProps","Separator","Breadcrumb"],"mappings":";;;;;;;AAUA,MAAMA,IAAkB,CAAC;AAAA,EACvB,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,YAAYC;AAAA,EACZ,GAAGC;AACL,MAAuB;AACrB,QAAMC,IAAMC,EAAA,GACN,EAAE,cAAAC,EAAA,IAAiBC,EAAA,GACnBC,IAAqBF,EAAa,YAAY,GAC9CG,IAAaC,EAAcF,GAAoBN,CAAiB;AAEtE,SACE,gBAAAS;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTT,EAAI,cAAcH,KAAU,mBAAmB;AAAA,QAC/CF;AAAA,MAAA;AAAA,MAEF,OAAAC;AAAA,MACA,YAAAS;AAAA,MACC,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV,GAGMW,IAAO,CAACC,MAA+B;AAC3C,QAAM,EAAE,WAAAhB,GAAW,GAAGiB,EAAA,IAAcD,GAC9BX,IAAMC,EAAA;AAEZ,SACE,gBAAAM;AAAA,IAACC,EAAc;AAAA,IAAd;AAAA,MACC,WAAWC,EAAKT,EAAI,iBAAiB,GAAGL,CAAS;AAAA,MAChD,GAAGiB;AAAA,IAAA;AAAA,EAAA;AAGV,GAGMC,IAAY,CAACF,MAAiD;AAClE,QAAM,EAAE,WAAAhB,GAAW,GAAGiB,EAAA,IAAcD;AAEpC,SAAO,gBAAAJ,EAACC,EAAc,WAAd,EAAyB,GAAGI,EAAA,CAAW;AACjD,GAGaE,IAAa,OAAO,OAAOpB,GAAiB;AAAA,EACvD,MAAAgB;AAAA,EACA,WAAAG;AACF,CAAC;"}
@@ -0,0 +1,3 @@
1
+ export * from './component';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumb/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { BreadcrumbProps as AntBreadcrumbProps, BreadcrumbItemProps as AntBreadcrumbItemProps } from 'antd/es/breadcrumb';
2
+ import { BreadcrumbItemType as AntdBreadcrumbItemType, BreadcrumbSeparatorType } from 'antd/es/breadcrumb/Breadcrumb';
3
+ type AnyObject = Record<PropertyKey, any>;
4
+ type BaseBreadcrumbItemType = AntdBreadcrumbItemType & {
5
+ icon?: React.ReactNode;
6
+ };
7
+ export type BreadcrumbItemType = Partial<BaseBreadcrumbItemType & BreadcrumbSeparatorType>;
8
+ export interface BreadcrumbProps<T extends AnyObject = AnyObject> extends Omit<AntBreadcrumbProps<T>, "items" | "itemRender"> {
9
+ /**
10
+ * No wrap
11
+ */
12
+ noWrap?: boolean;
13
+ items: BreadcrumbItemType[];
14
+ itemRender?: (route: BreadcrumbItemType, params: T, routes: BreadcrumbItemType[], paths: string[]) => React.ReactNode;
15
+ }
16
+ export interface BreadcrumbItemProps extends AntBreadcrumbItemProps {
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumb/types.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,eAAe,IAAI,kBAAkB,EAC1C,KAAK,mBAAmB,IAAI,sBAAsB,EACnD,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,kBAAkB,IAAI,sBAAsB,EACjD,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AAEvC,KAAK,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAI1C,KAAK,sBAAsB,GAAG,sBAAsB,GAAG;IACrD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,sBAAsB,GAAG,uBAAuB,CACjD,CAAC;AAEF,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAC9D,SAAQ,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;IAC3D;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,CACX,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,kBAAkB,EAAE,EAC5B,KAAK,EAAE,MAAM,EAAE,KACZ,KAAK,CAAC,SAAS,CAAC;CACtB;AAGD,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;CAAG"}
@@ -0,0 +1,7 @@
1
+ import { BreadcrumbProps } from './types';
2
+ type AddParameters<TFunction extends (...args: any) => any, TParameters extends [...args: any]> = (...args: [...Parameters<TFunction>, ...TParameters]) => ReturnType<TFunction>;
3
+ type ItemRender = NonNullable<BreadcrumbProps["itemRender"]>;
4
+ type InternalItemRenderParams = AddParameters<ItemRender, [href?: string]>;
5
+ export default function useItemRender(prefixCls: string, itemRender?: ItemRender): InternalItemRenderParams;
6
+ export {};
7
+ //# sourceMappingURL=useItemRender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useItemRender.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumb/useItemRender.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,KAAK,aAAa,CAEhB,SAAS,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAEvC,WAAW,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,IAChC,CACF,GAAG,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,WAAW,CAAC,KAChD,UAAU,CAAC,SAAS,CAAC,CAAC;AAE3B,KAAK,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7D,KAAK,wBAAwB,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAgB3E,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,UAAU,4BA8BxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useItemRender.js","sources":["../../../src/components/breadcrumb/useItemRender.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"../utils\";\nimport { renderItem } from \"antd/es/breadcrumb/useItemRender\";\nimport { InternalRouteType } from \"antd/es/breadcrumb/Breadcrumb\";\nimport type { BreadcrumbProps } from \"./types\";\nimport { Truncate } from \"../truncate\";\n\ntype AddParameters<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n TFunction extends (...args: any) => any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n TParameters extends [...args: any]\n> = (\n ...args: [...Parameters<TFunction>, ...TParameters]\n) => ReturnType<TFunction>;\n\ntype ItemRender = NonNullable<BreadcrumbProps[\"itemRender\"]>;\ntype InternalItemRenderParams = AddParameters<ItemRender, [href?: string]>;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getBreadcrumbName(route: InternalRouteType, params: any) {\n if (route.title === undefined || route.title === null) {\n return null;\n }\n const paramsKeys = Object.keys(params).join(\"|\");\n return typeof route.title === \"object\"\n ? route.title\n : String(route.title).replace(\n new RegExp(`:(${paramsKeys})`, \"g\"),\n (replacement, key) => params[key] || replacement\n );\n}\n\nexport default function useItemRender(\n prefixCls: string,\n itemRender?: ItemRender\n) {\n const mergedItemRender: InternalItemRenderParams = (\n item,\n params,\n routes,\n path,\n href\n ) => {\n if (itemRender) {\n return itemRender(item, params, routes, path);\n }\n const name = getBreadcrumbName(item, params);\n const child = item.icon ? (\n <>\n <span className={cn(`${prefixCls}-item-icon`)}>{item.icon}</span>\n <span className={cn(`${prefixCls}-item-name`)}>\n {typeof name === \"string\" ? <Truncate>{name}</Truncate> : name}\n </span>\n </>\n ) : typeof name === \"string\" ? (\n <Truncate>{name}</Truncate>\n ) : (\n name\n );\n\n return renderItem(prefixCls, item, child, href);\n };\n\n return mergedItemRender;\n}\n"],"names":["getBreadcrumbName","route","params","paramsKeys","replacement","key","useItemRender","prefixCls","itemRender","item","routes","path","href","name","child","jsxs","Fragment","jsx","cn","Truncate","renderItem"],"mappings":";;;;;AAqBA,SAASA,EAAkBC,GAA0BC,GAAa;AAChE,MAAID,EAAM,UAAU,UAAaA,EAAM,UAAU;AACxC,WAAA;AAET,QAAME,IAAa,OAAO,KAAKD,CAAM,EAAE,KAAK,GAAG;AACxC,SAAA,OAAOD,EAAM,SAAU,WAC1BA,EAAM,QACN,OAAOA,EAAM,KAAK,EAAE;AAAA,IAClB,IAAI,OAAO,KAAKE,CAAU,KAAK,GAAG;AAAA,IAClC,CAACC,GAAaC,MAAQH,EAAOG,CAAG,KAAKD;AAAA,EACvC;AACN;AAEwB,SAAAE,EACtBC,GACAC,GACA;AA4BO,SA3B4C,CACjDC,GACAP,GACAQ,GACAC,GACAC,MACG;AACH,QAAIJ;AACF,aAAOA,EAAWC,GAAMP,GAAQQ,GAAQC,CAAI;AAExC,UAAAE,IAAOb,EAAkBS,GAAMP,CAAM,GACrCY,IAAQL,EAAK,OAEf,gBAAAM,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAC,gBAAAC,EAAA,QAAA,EAAK,WAAWC,EAAG,GAAGX,CAAS,YAAY,GAAI,YAAK,KAAK,CAAA;AAAA,MACzD,gBAAAU,EAAA,QAAA,EAAK,WAAWC,EAAG,GAAGX,CAAS,YAAY,GACzC,UAAA,OAAOM,KAAS,WAAW,gBAAAI,EAACE,GAAU,EAAA,UAAAN,EAAA,CAAK,IAAcA,EAC5D,CAAA;AAAA,IAAA,GACF,IACE,OAAOA,KAAS,WACjB,gBAAAI,EAAAE,GAAA,EAAU,YAAK,CAAA,IAEhBN;AAGF,WAAOO,EAAWb,GAAWE,GAAMK,GAAOF,CAAI;AAAA,EAChD;AAGF;"}
1
+ {"version":3,"file":"useItemRender.js","sources":["../../../src/components/breadcrumb/useItemRender.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport { cn } from \"../utils\";\nimport { renderItem } from \"antd/es/breadcrumb/useItemRender\";\nimport { InternalRouteType } from \"antd/es/breadcrumb/Breadcrumb\";\nimport type { BreadcrumbProps } from \"./types\";\nimport { Truncate } from \"../truncate\";\n\ntype AddParameters<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n TFunction extends (...args: any) => any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n TParameters extends [...args: any]\n> = (\n ...args: [...Parameters<TFunction>, ...TParameters]\n) => ReturnType<TFunction>;\n\ntype ItemRender = NonNullable<BreadcrumbProps[\"itemRender\"]>;\ntype InternalItemRenderParams = AddParameters<ItemRender, [href?: string]>;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getBreadcrumbName(route: InternalRouteType, params: any) {\n if (route.title === undefined || route.title === null) {\n return null;\n }\n const paramsKeys = Object.keys(params).join(\"|\");\n return typeof route.title === \"object\"\n ? route.title\n : String(route.title).replace(\n new RegExp(`:(${paramsKeys})`, \"g\"),\n (replacement, key) => params[key] || replacement\n );\n}\n\nexport default function useItemRender(\n prefixCls: string,\n itemRender?: ItemRender\n) {\n const mergedItemRender: InternalItemRenderParams = (\n item,\n params,\n routes,\n path,\n href\n ) => {\n if (itemRender) {\n return itemRender(item, params, routes, path);\n }\n const name = getBreadcrumbName(item, params);\n const child = item.icon ? (\n <>\n <span className={cn(`${prefixCls}-item-icon`)}>{item.icon}</span>\n <span className={cn(`${prefixCls}-item-name`)}>\n {typeof name === \"string\" ? <Truncate>{name}</Truncate> : name}\n </span>\n </>\n ) : typeof name === \"string\" ? (\n <Truncate>{name}</Truncate>\n ) : (\n name\n );\n\n return renderItem(prefixCls, item, child, href);\n };\n\n return mergedItemRender;\n}\n"],"names":["getBreadcrumbName","route","params","paramsKeys","replacement","key","useItemRender","prefixCls","itemRender","item","routes","path","href","name","child","jsxs","Fragment","jsx","cn","Truncate","renderItem"],"mappings":";;;;;AAqBA,SAASA,EAAkBC,GAA0BC,GAAa;AAChE,MAAID,EAAM,UAAU,UAAaA,EAAM,UAAU;AAC/C,WAAO;AAET,QAAME,IAAa,OAAO,KAAKD,CAAM,EAAE,KAAK,GAAG;AAC/C,SAAO,OAAOD,EAAM,SAAU,WAC1BA,EAAM,QACN,OAAOA,EAAM,KAAK,EAAE;AAAA,IAClB,IAAI,OAAO,KAAKE,CAAU,KAAK,GAAG;AAAA,IAClC,CAACC,GAAaC,MAAQH,EAAOG,CAAG,KAAKD;AAAA,EAAA;AAE7C;AAEA,SAAwBE,EACtBC,GACAC,GACA;AA4BA,SA3BmD,CACjDC,GACAP,GACAQ,GACAC,GACAC,MACG;AACH,QAAIJ;AACF,aAAOA,EAAWC,GAAMP,GAAQQ,GAAQC,CAAI;AAE9C,UAAME,IAAOb,EAAkBS,GAAMP,CAAM,GACrCY,IAAQL,EAAK,OACjB,gBAAAM,EAAAC,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAC,EAAC,QAAA,EAAK,WAAWC,EAAG,GAAGX,CAAS,YAAY,GAAI,YAAK,KAAA,CAAK;AAAA,MAC1D,gBAAAU,EAAC,QAAA,EAAK,WAAWC,EAAG,GAAGX,CAAS,YAAY,GACzC,UAAA,OAAOM,KAAS,WAAW,gBAAAI,EAACE,GAAA,EAAU,UAAAN,EAAA,CAAK,IAAcA,EAAA,CAC5D;AAAA,IAAA,GACF,IACE,OAAOA,KAAS,WAClB,gBAAAI,EAACE,GAAA,EAAU,aAAK,IAEhBN;AAGF,WAAOO,EAAWb,GAAWE,GAAMK,GAAOF,CAAI;AAAA,EAChD;AAGF;"}
@@ -0,0 +1,14 @@
1
+ import { ButtonProps as AntdButtonProps } from 'antd/es/button';
2
+ export interface ButtonProps extends AntdButtonProps {
3
+ /**
4
+ * If true, negative margin will be applied to the text and link buttons to make it align with content
5
+ * @default true
6
+ */
7
+ negativeMargin?: boolean;
8
+ }
9
+ declare const ButtonInner: ({ negativeMargin, type, size, variant, icon, ...rest }: ButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const Button: (props: ButtonProps & {
11
+ ref?: React.ForwardedRef<HTMLButtonElement | HTMLAnchorElement>;
12
+ }) => ReturnType<typeof ButtonInner>;
13
+ export {};
14
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/button/component.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,WAAW,IAAI,eAAe,EACpC,MAAM,gBAAgB,CAAC;AAKxB,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,QAAA,MAAM,WAAW,GACf,wDAA+D,WAAW,EAC1E,KAAK,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,4CAsCtD,CAAC;AAEF,eAAO,MAAM,MAAM,EAA8B,CAC/C,KAAK,EAAE,WAAW,GAAG;IACnB,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAAC;CACjE,KACE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/button/component.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n default as AntdButton,\n type ButtonProps as AntdButtonProps,\n} from \"antd/es/button\";\nimport { forwardRef } from \"react\";\n\n// Import component-specific styles\nimport { useCls } from \"../utils\";\nimport \"./style.css\";\n\nexport interface ButtonProps extends AntdButtonProps {\n /**\n * If true, negative margin will be applied to the text and link buttons to make it align with content\n * @default true\n */\n negativeMargin?: boolean;\n}\n\nconst ButtonInner = (\n { negativeMargin = true, type, size, variant, icon, ...rest }: ButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>\n) => {\n const useNegativeMargin =\n negativeMargin &&\n (variant === \"text\" ||\n variant === \"link\" ||\n type == \"text\" ||\n type === \"link\");\n const cls = useCls();\n return useNegativeMargin ? (\n <span\n className={cls(\n \"btn-wrapper\",\n \"btn-negative-margin-wrapper\",\n \"btn-wrapper-\" + size\n )}\n >\n <AntdButton\n ref={ref}\n type={type}\n size={size}\n variant={variant}\n icon={icon}\n className={icon ? cls(\"btn-with-icon\") : \"\"}\n {...rest}\n />\n </span>\n ) : (\n <AntdButton\n ref={ref}\n type={type}\n size={size}\n variant={variant}\n icon={icon}\n className={icon ? cls(\"btn-with-icon\") : \"\"}\n {...rest}\n />\n );\n};\n\nexport const Button = forwardRef(ButtonInner) as (\n props: ButtonProps & {\n ref?: React.ForwardedRef<HTMLButtonElement | HTMLAnchorElement>;\n }\n) => ReturnType<typeof ButtonInner>;\n"],"names":["ButtonInner","negativeMargin","type","size","variant","icon","rest","ref","useNegativeMargin","cls","useCls","jsx","AntdButton","Button","forwardRef"],"mappings":";;;;;;AAoBA,MAAMA,IAAc,CAClB,EAAE,gBAAAC,IAAiB,IAAM,MAAAC,GAAM,MAAAC,GAAM,SAAAC,GAAS,MAAAC,GAAM,GAAGC,EAAK,GAC5DC,MACG;AACG,QAAAC,IACJP,MACCG,MAAY,UACXA,MAAY,UACZF,KAAQ,UACRA,MAAS,SACPO,IAAMC,EAAO;AACnB,SAAOF,IACL,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACA;AAAA,QACA,iBAAiBN;AAAA,MACnB;AAAA,MAEA,UAAA,gBAAAQ;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,KAAAL;AAAA,UACA,MAAAL;AAAA,UACA,MAAAC;AAAA,UACA,SAAAC;AAAA,UACA,MAAAC;AAAA,UACA,WAAWA,IAAOI,EAAI,eAAe,IAAI;AAAA,UACxC,GAAGH;AAAA,QAAA;AAAA,MAAA;AAAA,IACN;AAAA,EAAA,IAGF,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAL;AAAA,MACA,MAAAL;AAAA,MACA,MAAAC;AAAA,MACA,SAAAC;AAAA,MACA,MAAAC;AAAA,MACA,WAAWA,IAAOI,EAAI,eAAe,IAAI;AAAA,MACxC,GAAGH;AAAA,IAAA;AAAA,EACN;AAEJ,GAEaO,IAASC,EAAWd,CAAW;"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/button/component.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n default as AntdButton,\n type ButtonProps as AntdButtonProps,\n} from \"antd/es/button\";\nimport { forwardRef } from \"react\";\n\n// Import component-specific styles\nimport { useCls } from \"../utils\";\nimport \"./style.css\";\n\nexport interface ButtonProps extends AntdButtonProps {\n /**\n * If true, negative margin will be applied to the text and link buttons to make it align with content\n * @default true\n */\n negativeMargin?: boolean;\n}\n\nconst ButtonInner = (\n { negativeMargin = true, type, size, variant, icon, ...rest }: ButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>\n) => {\n const useNegativeMargin =\n negativeMargin &&\n (variant === \"text\" ||\n variant === \"link\" ||\n type == \"text\" ||\n type === \"link\");\n const cls = useCls();\n return useNegativeMargin ? (\n <span\n className={cls(\n \"btn-wrapper\",\n \"btn-negative-margin-wrapper\",\n \"btn-wrapper-\" + size\n )}\n >\n <AntdButton\n ref={ref}\n type={type}\n size={size}\n variant={variant}\n icon={icon}\n className={icon ? cls(\"btn-with-icon\") : \"\"}\n {...rest}\n />\n </span>\n ) : (\n <AntdButton\n ref={ref}\n type={type}\n size={size}\n variant={variant}\n icon={icon}\n className={icon ? cls(\"btn-with-icon\") : \"\"}\n {...rest}\n />\n );\n};\n\nexport const Button = forwardRef(ButtonInner) as (\n props: ButtonProps & {\n ref?: React.ForwardedRef<HTMLButtonElement | HTMLAnchorElement>;\n }\n) => ReturnType<typeof ButtonInner>;\n"],"names":["ButtonInner","negativeMargin","type","size","variant","icon","rest","ref","useNegativeMargin","cls","useCls","jsx","AntdButton","Button","forwardRef"],"mappings":";;;;;;AAoBA,MAAMA,IAAc,CAClB,EAAE,gBAAAC,IAAiB,IAAM,MAAAC,GAAM,MAAAC,GAAM,SAAAC,GAAS,MAAAC,GAAM,GAAGC,EAAA,GACvDC,MACG;AACH,QAAMC,IACJP,MACCG,MAAY,UACXA,MAAY,UACZF,KAAQ,UACRA,MAAS,SACPO,IAAMC,EAAA;AACZ,SAAOF,IACL,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACA;AAAA,QACA,iBAAiBN;AAAA,MAAA;AAAA,MAGnB,UAAA,gBAAAQ;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,KAAAL;AAAA,UACA,MAAAL;AAAA,UACA,MAAAC;AAAA,UACA,SAAAC;AAAA,UACA,MAAAC;AAAA,UACA,WAAWA,IAAOI,EAAI,eAAe,IAAI;AAAA,UACxC,GAAGH;AAAA,QAAA;AAAA,MAAA;AAAA,IACN;AAAA,EAAA,IAGF,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAL;AAAA,MACA,MAAAL;AAAA,MACA,MAAAC;AAAA,MACA,SAAAC;AAAA,MACA,MAAAC;AAAA,MACA,WAAWA,IAAOI,EAAI,eAAe,IAAI;AAAA,MACxC,GAAGH;AAAA,IAAA;AAAA,EAAA;AAGV,GAEaO,IAASC,EAAWd,CAAW;"}
@@ -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/button/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Checkbox as AntCheckbox, CheckboxProps as AntCheckboxProps } from 'antd';
2
+ export interface CheckboxProps extends AntCheckboxProps {
3
+ /**
4
+ * Checkbox appearance variant
5
+ * @default 'default'
6
+ */
7
+ variant?: "default" | "outlined";
8
+ }
9
+ declare const MainCheckboxInner: ({ variant, className, ...props }: CheckboxProps, ref: React.Ref<React.ComponentRef<typeof AntCheckbox>>) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const Checkbox: ((props: CheckboxProps & {
11
+ ref?: React.ForwardedRef<React.ComponentRef<typeof AntCheckbox>>;
12
+ }) => ReturnType<typeof MainCheckboxInner>) & {
13
+ Group: <T = any>(props: import('antd/es/checkbox').CheckboxGroupProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement;
14
+ };
15
+ export {};
16
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/component.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,IAAI,WAAW,EACvB,KAAK,aAAa,IAAI,gBAAgB,EACvC,MAAM,MAAM,CAAC;AAKd,OAAO,aAAa,CAAC;AAGrB,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;CAClC;AAGD,QAAA,MAAM,iBAAiB,GACrB,kCAA8C,aAAa,EAC3D,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC,4CASvD,CAAC;AAUF,eAAO,MAAM,QAAQ,WANZ,aAAa,GAAG;IACrB,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC;CAClE,KACE,UAAU,CAAC,OAAO,iBAAiB,CAAC;+EAFG,MAAO,aAAa,qBAEtD,MAAO,YAAY;CAK3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/checkbox/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n Checkbox as AntCheckbox,\n type CheckboxProps as AntCheckboxProps,\n} from \"antd\";\nimport { forwardRef } from \"react\";\nimport { clsx, useCls } from \"../utils\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\n// Define props interface extending Ant Design's CheckboxProps\nexport interface CheckboxProps extends AntCheckboxProps {\n /**\n * Checkbox appearance variant\n * @default 'default'\n */\n variant?: \"default\" | \"outlined\";\n}\n\n// Create inner function\nconst MainCheckboxInner = (\n { variant = \"default\", className, ...props }: CheckboxProps,\n ref: React.Ref<React.ComponentRef<typeof AntCheckbox>>\n) => {\n const cls = useCls();\n const combinedClassName = clsx(\n className,\n variant === \"outlined\" && cls(\"checkbox-outlined\")\n );\n\n return <AntCheckbox ref={ref} className={combinedClassName} {...props} />;\n};\n\n// Use forwardRef with type assertion\nconst MainCheckbox = forwardRef(MainCheckboxInner) as (\n props: CheckboxProps & {\n ref?: React.ForwardedRef<React.ComponentRef<typeof AntCheckbox>>;\n }\n) => ReturnType<typeof MainCheckboxInner>;\n\n// Create the final component with Group property\nexport const Checkbox = Object.assign(MainCheckbox, {\n Group: AntCheckbox.Group,\n});\n"],"names":["MainCheckboxInner","variant","className","props","ref","cls","useCls","combinedClassName","clsx","AntCheckbox","MainCheckbox","forwardRef","Checkbox"],"mappings":";;;;;;;AAqBA,MAAMA,IAAoB,CACxB,EAAE,SAAAC,IAAU,WAAW,WAAAC,GAAW,GAAGC,EAAM,GAC3CC,MACG;AACH,QAAMC,IAAMC,EAAO,GACbC,IAAoBC;AAAA,IACxBN;AAAA,IACAD,MAAY,cAAcI,EAAI,mBAAmB;AAAA,EACnD;AAEA,2BAAQI,GAAY,EAAA,KAAAL,GAAU,WAAWG,GAAoB,GAAGJ,GAAO;AACzE,GAGMO,IAAeC,EAAWX,CAAiB,GAOpCY,IAAW,OAAO,OAAOF,GAAc;AAAA,EAClD,OAAOD,EAAY;AACrB,CAAC;"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/checkbox/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n Checkbox as AntCheckbox,\n type CheckboxProps as AntCheckboxProps,\n} from \"antd\";\nimport { forwardRef } from \"react\";\nimport { clsx, useCls } from \"../utils\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\n// Define props interface extending Ant Design's CheckboxProps\nexport interface CheckboxProps extends AntCheckboxProps {\n /**\n * Checkbox appearance variant\n * @default 'default'\n */\n variant?: \"default\" | \"outlined\";\n}\n\n// Create inner function\nconst MainCheckboxInner = (\n { variant = \"default\", className, ...props }: CheckboxProps,\n ref: React.Ref<React.ComponentRef<typeof AntCheckbox>>\n) => {\n const cls = useCls();\n const combinedClassName = clsx(\n className,\n variant === \"outlined\" && cls(\"checkbox-outlined\")\n );\n\n return <AntCheckbox ref={ref} className={combinedClassName} {...props} />;\n};\n\n// Use forwardRef with type assertion\nconst MainCheckbox = forwardRef(MainCheckboxInner) as (\n props: CheckboxProps & {\n ref?: React.ForwardedRef<React.ComponentRef<typeof AntCheckbox>>;\n }\n) => ReturnType<typeof MainCheckboxInner>;\n\n// Create the final component with Group property\nexport const Checkbox = Object.assign(MainCheckbox, {\n Group: AntCheckbox.Group,\n});\n"],"names":["MainCheckboxInner","variant","className","props","ref","cls","useCls","combinedClassName","clsx","AntCheckbox","MainCheckbox","forwardRef","Checkbox"],"mappings":";;;;;;;AAqBA,MAAMA,IAAoB,CACxB,EAAE,SAAAC,IAAU,WAAW,WAAAC,GAAW,GAAGC,EAAA,GACrCC,MACG;AACH,QAAMC,IAAMC,EAAA,GACNC,IAAoBC;AAAA,IACxBN;AAAA,IACAD,MAAY,cAAcI,EAAI,mBAAmB;AAAA,EAAA;AAGnD,2BAAQI,GAAA,EAAY,KAAAL,GAAU,WAAWG,GAAoB,GAAGJ,GAAO;AACzE,GAGMO,IAAeC,EAAWX,CAAiB,GAOpCY,IAAW,OAAO,OAAOF,GAAc;AAAA,EAClD,OAAOD,EAAY;AACrB,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/checkbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { Command, CommandProps } from '../cmdk';
2
+ export type ChoiceListOption = {
3
+ label: React.ReactNode;
4
+ value?: string;
5
+ };
6
+ export interface ChoiceListProps<M extends boolean = false> extends Omit<CommandProps, "value" | "onChange" | "defaultValue"> {
7
+ options: ChoiceListOption[];
8
+ multiple?: M;
9
+ value?: M extends true ? string[] : string;
10
+ defaultValue?: M extends true ? string[] : string;
11
+ onChange?: (value: M extends true ? string[] : string) => void;
12
+ searchProps?: React.ComponentProps<typeof Command.Input>;
13
+ /**
14
+ * Show select all option when in multiple mode
15
+ * @default false
16
+ */
17
+ showSelectAll?: boolean;
18
+ placeholder?: string;
19
+ /**
20
+ * Whether the choice list is disabled
21
+ * @default false
22
+ */
23
+ disabled?: boolean;
24
+ /**
25
+ * Validation status
26
+ */
27
+ status?: "error" | "warning" | "success" | "validating";
28
+ /**
29
+ * Function to extract keywords from the item for search filtering
30
+ * @default (item) => [item.value, reactNodeToString(item.label)]
31
+ */
32
+ getItemKeywords?: (item: ChoiceListOption) => string[];
33
+ }
34
+ export declare const ChoiceList: <M extends boolean = false>({ options, multiple, value, defaultValue, onChange, searchProps, showSelectAll, className, placeholder, disabled: disabledProp, status: statusProp, getItemKeywords, ...rest }: ChoiceListProps<M>) => import("react/jsx-runtime").JSX.Element;
35
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/choice-list/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAYhD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,CACxD,SAAQ,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,UAAU,GAAG,cAAc,CAAC;IACjE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb,KAAK,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3C,YAAY,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;IAClD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,SAAS,IAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAK,IAAI,CAAC;IAC/D,WAAW,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACzD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;IACxD;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,MAAM,EAAE,CAAC;CACxD;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,OAAO,GAAG,KAAK,EAAE,gLAcnD,eAAe,CAAC,CAAC,CAAC,4CAqKpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/choice-list/component.tsx"],"sourcesContent":["\"use client\";\nimport { Command, CommandProps } from \"../cmdk\";\nimport { Input } from \"../input\";\nimport { useCallback, useMemo, useContext } from \"react\";\nimport { useCls, cn, reactNodeToString } from \"../utils\";\nimport { useControlledState } from \"../hooks\";\nimport { Radio } from \"../radio\";\nimport { Checkbox } from \"../checkbox\";\nimport { ScrollArea } from \"../scroll-area\";\n\nimport { FormItemInputContext } from \"antd/es/form/context\";\nimport DisabledContext from \"antd/es/config-provider/DisabledContext\";\n\nexport type ChoiceListOption = {\n label: React.ReactNode;\n value?: string;\n};\n\nimport \"./style.css\";\n\nexport interface ChoiceListProps<M extends boolean = false>\n extends Omit<CommandProps, \"value\" | \"onChange\" | \"defaultValue\"> {\n options: ChoiceListOption[];\n multiple?: M;\n value?: M extends true ? string[] : string;\n defaultValue?: M extends true ? string[] : string;\n onChange?: (value: M extends true ? string[] : string) => void;\n searchProps?: React.ComponentProps<typeof Command.Input>;\n /**\n * Show select all option when in multiple mode\n * @default false\n */\n showSelectAll?: boolean;\n placeholder?: string;\n /**\n * Whether the choice list is disabled\n * @default false\n */\n disabled?: boolean;\n /**\n * Validation status\n */\n status?: \"error\" | \"warning\" | \"success\" | \"validating\";\n /**\n * Function to extract keywords from the item for search filtering\n * @default (item) => [item.value, reactNodeToString(item.label)]\n */\n getItemKeywords?: (item: ChoiceListOption) => string[];\n}\n\nexport const ChoiceList = <M extends boolean = false>({\n options,\n multiple,\n value,\n defaultValue,\n onChange,\n searchProps = { placeholder: \"Search...\" },\n showSelectAll = false,\n className,\n placeholder = \"Search\",\n disabled: disabledProp = false,\n status: statusProp,\n getItemKeywords,\n ...rest\n}: ChoiceListProps<M>) => {\n const [internalValue, setInternalValue] = useControlledState(\n value,\n onChange,\n defaultValue\n );\n\n const usedValue = useMemo(() => {\n if (multiple) {\n // Ensure we always return an array for multiple mode\n if (Array.isArray(internalValue)) {\n return internalValue;\n }\n return internalValue ? [internalValue as string] : [];\n } else {\n // For single mode, convert to array for consistent usage\n if (Array.isArray(internalValue)) {\n return internalValue.length > 0 ? [internalValue[0]] : [];\n }\n return internalValue ? [internalValue as string] : [];\n }\n }, [internalValue, multiple]);\n\n // Get form context values\n const { status: contextStatus } = useContext(FormItemInputContext);\n const contextDisabled = useContext(DisabledContext);\n\n // Merge context values with props\n const mergedStatus = statusProp || contextStatus;\n const disabled = disabledProp || contextDisabled;\n\n const cls = useCls();\n\n const handleSelectAll = useCallback(() => {\n if (multiple) {\n const allValues = options\n .map((item) => item.value)\n .filter(Boolean) as string[];\n setInternalValue(allValues as M extends true ? string[] : string);\n }\n }, [multiple, options, setInternalValue]);\n\n const handleDeselectAll = useCallback(() => {\n if (multiple) {\n setInternalValue([] as M extends true ? string[] : string);\n }\n }, [multiple, setInternalValue]);\n\n return (\n <Command\n className={cn(cls(\"choice-list\"), className)}\n data-disabled={disabled}\n data-status={mergedStatus}\n {...rest}\n >\n <FormItemInputContext.Provider value={{}}>\n <Command.Input\n render={\n // isolate the input from the form context\n <Input.Search\n allowClear\n disabled={disabled}\n className={cls(\"choice-list-search\")}\n placeholder={placeholder}\n />\n }\n {...searchProps}\n />\n </FormItemInputContext.Provider>\n {showSelectAll &&\n multiple &&\n options.length > 0 &&\n (() => {\n const allValues = options\n .map((item) => item.value)\n .filter(Boolean) as string[];\n const selectedFromAll = usedValue.filter((val) =>\n allValues.includes(val)\n );\n const checked =\n selectedFromAll.length === allValues.length && allValues.length > 0;\n const indeterminate =\n selectedFromAll.length > 0 &&\n selectedFromAll.length < allValues.length;\n\n return (\n <div\n className={cls(\"choice-list-item\")}\n onClick={() => {\n if (disabled) return;\n if (indeterminate || checked) {\n handleDeselectAll();\n } else {\n handleSelectAll();\n }\n }}\n >\n <Checkbox\n tabIndex={-1}\n checked={checked}\n indeterminate={indeterminate}\n disabled={disabled}\n >\n Select All\n </Checkbox>\n </div>\n );\n })()}\n <ScrollArea className={cls(\"choice-list-items\")} fadeEdges>\n <Command.List>\n <Command.Empty className={cls(\"choice-list-empty\")}>\n No results found.\n </Command.Empty>\n {options.map((item) => (\n <Command.Item\n key={item.value}\n className={cls(\"choice-list-item\")}\n keywords={\n getItemKeywords\n ? getItemKeywords(item)\n : [item.value || \"\", reactNodeToString(item.label)]\n }\n value={item.value}\n data-in-choice={\n item.value ? usedValue.includes(item.value) : false\n }\n onSelect={(newValue) => {\n if (disabled) return;\n if (multiple) {\n const newValues = usedValue.includes(newValue)\n ? usedValue.filter((value) => value !== newValue)\n : [...new Set([...usedValue, newValue])];\n setInternalValue(\n newValues as M extends true ? string[] : string\n );\n } else {\n setInternalValue(\n newValue as M extends true ? string[] : string\n );\n }\n }}\n >\n {multiple ? (\n <Checkbox\n tabIndex={-1}\n checked={item.value ? usedValue.includes(item.value) : false}\n disabled={disabled}\n >\n {item.label}\n </Checkbox>\n ) : (\n <Radio\n tabIndex={-1}\n checked={item.value ? usedValue.includes(item.value) : false}\n disabled={disabled}\n >\n {item.label}\n </Radio>\n )}\n </Command.Item>\n ))}\n </Command.List>\n </ScrollArea>\n </Command>\n );\n};\n"],"names":["ChoiceList","options","multiple","value","defaultValue","onChange","searchProps","showSelectAll","className","placeholder","disabledProp","statusProp","getItemKeywords","rest","internalValue","setInternalValue","useControlledState","usedValue","useMemo","contextStatus","useContext","FormItemInputContext","contextDisabled","DisabledContext","mergedStatus","disabled","cls","useCls","handleSelectAll","useCallback","allValues","item","handleDeselectAll","jsxs","Command","cn","jsx","Input","selectedFromAll","val","checked","indeterminate","Checkbox","ScrollArea","reactNodeToString","newValue","newValues","Radio"],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/choice-list/component.tsx"],"sourcesContent":["\"use client\";\nimport { Command, CommandProps } from \"../cmdk\";\nimport { Input } from \"../input\";\nimport { useCallback, useMemo, useContext } from \"react\";\nimport { useCls, cn, reactNodeToString } from \"../utils\";\nimport { useControlledState } from \"../hooks\";\nimport { Radio } from \"../radio\";\nimport { Checkbox } from \"../checkbox\";\nimport { ScrollArea } from \"../scroll-area\";\n\nimport { FormItemInputContext } from \"antd/es/form/context\";\nimport DisabledContext from \"antd/es/config-provider/DisabledContext\";\n\nexport type ChoiceListOption = {\n label: React.ReactNode;\n value?: string;\n};\n\nimport \"./style.css\";\n\nexport interface ChoiceListProps<M extends boolean = false>\n extends Omit<CommandProps, \"value\" | \"onChange\" | \"defaultValue\"> {\n options: ChoiceListOption[];\n multiple?: M;\n value?: M extends true ? string[] : string;\n defaultValue?: M extends true ? string[] : string;\n onChange?: (value: M extends true ? string[] : string) => void;\n searchProps?: React.ComponentProps<typeof Command.Input>;\n /**\n * Show select all option when in multiple mode\n * @default false\n */\n showSelectAll?: boolean;\n placeholder?: string;\n /**\n * Whether the choice list is disabled\n * @default false\n */\n disabled?: boolean;\n /**\n * Validation status\n */\n status?: \"error\" | \"warning\" | \"success\" | \"validating\";\n /**\n * Function to extract keywords from the item for search filtering\n * @default (item) => [item.value, reactNodeToString(item.label)]\n */\n getItemKeywords?: (item: ChoiceListOption) => string[];\n}\n\nexport const ChoiceList = <M extends boolean = false>({\n options,\n multiple,\n value,\n defaultValue,\n onChange,\n searchProps = { placeholder: \"Search...\" },\n showSelectAll = false,\n className,\n placeholder = \"Search\",\n disabled: disabledProp = false,\n status: statusProp,\n getItemKeywords,\n ...rest\n}: ChoiceListProps<M>) => {\n const [internalValue, setInternalValue] = useControlledState(\n value,\n onChange,\n defaultValue\n );\n\n const usedValue = useMemo(() => {\n if (multiple) {\n // Ensure we always return an array for multiple mode\n if (Array.isArray(internalValue)) {\n return internalValue;\n }\n return internalValue ? [internalValue as string] : [];\n } else {\n // For single mode, convert to array for consistent usage\n if (Array.isArray(internalValue)) {\n return internalValue.length > 0 ? [internalValue[0]] : [];\n }\n return internalValue ? [internalValue as string] : [];\n }\n }, [internalValue, multiple]);\n\n // Get form context values\n const { status: contextStatus } = useContext(FormItemInputContext);\n const contextDisabled = useContext(DisabledContext);\n\n // Merge context values with props\n const mergedStatus = statusProp || contextStatus;\n const disabled = disabledProp || contextDisabled;\n\n const cls = useCls();\n\n const handleSelectAll = useCallback(() => {\n if (multiple) {\n const allValues = options\n .map((item) => item.value)\n .filter(Boolean) as string[];\n setInternalValue(allValues as M extends true ? string[] : string);\n }\n }, [multiple, options, setInternalValue]);\n\n const handleDeselectAll = useCallback(() => {\n if (multiple) {\n setInternalValue([] as M extends true ? string[] : string);\n }\n }, [multiple, setInternalValue]);\n\n return (\n <Command\n className={cn(cls(\"choice-list\"), className)}\n data-disabled={disabled}\n data-status={mergedStatus}\n {...rest}\n >\n <FormItemInputContext.Provider value={{}}>\n <Command.Input\n render={\n // isolate the input from the form context\n <Input.Search\n allowClear\n disabled={disabled}\n className={cls(\"choice-list-search\")}\n placeholder={placeholder}\n />\n }\n {...searchProps}\n />\n </FormItemInputContext.Provider>\n {showSelectAll &&\n multiple &&\n options.length > 0 &&\n (() => {\n const allValues = options\n .map((item) => item.value)\n .filter(Boolean) as string[];\n const selectedFromAll = usedValue.filter((val) =>\n allValues.includes(val)\n );\n const checked =\n selectedFromAll.length === allValues.length && allValues.length > 0;\n const indeterminate =\n selectedFromAll.length > 0 &&\n selectedFromAll.length < allValues.length;\n\n return (\n <div\n className={cls(\"choice-list-item\")}\n onClick={() => {\n if (disabled) return;\n if (indeterminate || checked) {\n handleDeselectAll();\n } else {\n handleSelectAll();\n }\n }}\n >\n <Checkbox\n tabIndex={-1}\n checked={checked}\n indeterminate={indeterminate}\n disabled={disabled}\n >\n Select All\n </Checkbox>\n </div>\n );\n })()}\n <ScrollArea className={cls(\"choice-list-items\")} fadeEdges>\n <Command.List>\n <Command.Empty className={cls(\"choice-list-empty\")}>\n No results found.\n </Command.Empty>\n {options.map((item) => (\n <Command.Item\n key={item.value}\n className={cls(\"choice-list-item\")}\n keywords={\n getItemKeywords\n ? getItemKeywords(item)\n : [item.value || \"\", reactNodeToString(item.label)]\n }\n value={item.value}\n data-in-choice={\n item.value ? usedValue.includes(item.value) : false\n }\n onSelect={(newValue) => {\n if (disabled) return;\n if (multiple) {\n const newValues = usedValue.includes(newValue)\n ? usedValue.filter((value) => value !== newValue)\n : [...new Set([...usedValue, newValue])];\n setInternalValue(\n newValues as M extends true ? string[] : string\n );\n } else {\n setInternalValue(\n newValue as M extends true ? string[] : string\n );\n }\n }}\n >\n {multiple ? (\n <Checkbox\n tabIndex={-1}\n checked={item.value ? usedValue.includes(item.value) : false}\n disabled={disabled}\n >\n {item.label}\n </Checkbox>\n ) : (\n <Radio\n tabIndex={-1}\n checked={item.value ? usedValue.includes(item.value) : false}\n disabled={disabled}\n >\n {item.label}\n </Radio>\n )}\n </Command.Item>\n ))}\n </Command.List>\n </ScrollArea>\n </Command>\n );\n};\n"],"names":["ChoiceList","options","multiple","value","defaultValue","onChange","searchProps","showSelectAll","className","placeholder","disabledProp","statusProp","getItemKeywords","rest","internalValue","setInternalValue","useControlledState","usedValue","useMemo","contextStatus","useContext","FormItemInputContext","contextDisabled","DisabledContext","mergedStatus","disabled","cls","useCls","handleSelectAll","useCallback","allValues","item","handleDeselectAll","jsxs","Command","cn","jsx","Input","selectedFromAll","val","checked","indeterminate","Checkbox","ScrollArea","reactNodeToString","newValue","newValues","Radio"],"mappings":"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"}
@@ -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/choice-list/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function commandScore(string: string, abbreviation: string, aliases: string[]): number;
2
+ //# sourceMappingURL=command-score.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-score.d.ts","sourceRoot":"","sources":["../../../src/components/cmdk/command-score.ts"],"names":[],"mappings":"AAsKA,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,CAkBR"}
@@ -1 +1 @@
1
- {"version":3,"file":"command-score.js","sources":["../../../src/components/cmdk/command-score.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n// This is a copy of the cmdk component from \"cmdk\" package.\n// It is used here to avoid dependency on cmdk package and radix-ui-components package.\n\n// The scores are arranged so that a continuous match of characters will\n// result in a total score of 1.\n//\n// The best case, this character is a match, and either this is the start\n// of the string, or the previous character was also a match.\nconst SCORE_CONTINUE_MATCH = 1,\n // A new match at the start of a word scores better than a new match\n // elsewhere as it's more likely that the user will type the starts\n // of fragments.\n // NOTE: We score word jumps between spaces slightly higher than slashes, brackets\n // hyphens, etc.\n SCORE_SPACE_WORD_JUMP = 0.9,\n SCORE_NON_SPACE_WORD_JUMP = 0.8,\n // Any other match isn't ideal, but we include it for completeness.\n SCORE_CHARACTER_JUMP = 0.17,\n // If the user transposed two letters, it should be significantly penalized.\n //\n // i.e. \"ouch\" is more likely than \"curtain\" when \"uc\" is typed.\n SCORE_TRANSPOSITION = 0.1,\n // The goodness of a match should decay slightly with each missing\n // character.\n //\n // i.e. \"bad\" is more likely than \"bard\" when \"bd\" is typed.\n //\n // This will not change the order of suggestions based on SCORE_* until\n // 100 characters are inserted between matches.\n PENALTY_SKIPPED = 0.999,\n // The goodness of an exact-case match should be higher than a\n // case-insensitive match by a small amount.\n //\n // i.e. \"HTML\" is more likely than \"haml\" when \"HM\" is typed.\n //\n // This will not change the order of suggestions based on SCORE_* until\n // 1000 characters are inserted between matches.\n PENALTY_CASE_MISMATCH = 0.9999,\n // Match higher for letters closer to the beginning of the word\n PENALTY_DISTANCE_FROM_START = 0.9,\n // If the word has more characters than the user typed, it should\n // be penalised slightly.\n //\n // i.e. \"html\" is more likely than \"html5\" if I type \"html\".\n //\n // However, it may well be the case that there's a sensible secondary\n // ordering (like alphabetical) that it makes sense to rely on when\n // there are many prefix matches, so we don't make the penalty increase\n // with the number of tokens.\n PENALTY_NOT_COMPLETE = 0.99;\n\nconst IS_GAP_REGEXP = /[\\\\/_+.#\"@\\[\\(\\{&]/,\n COUNT_GAPS_REGEXP = /[\\\\/_+.#\"@\\[\\(\\{&]/g,\n IS_SPACE_REGEXP = /[\\s-]/,\n COUNT_SPACE_REGEXP = /[\\s-]/g;\n\nfunction commandScoreInner(\n string,\n abbreviation,\n lowerString,\n lowerAbbreviation,\n stringIndex,\n abbreviationIndex,\n memoizedResults\n) {\n if (abbreviationIndex === abbreviation.length) {\n if (stringIndex === string.length) {\n return SCORE_CONTINUE_MATCH;\n }\n return PENALTY_NOT_COMPLETE;\n }\n\n const memoizeKey = `${stringIndex},${abbreviationIndex}`;\n if (memoizedResults[memoizeKey] !== undefined) {\n return memoizedResults[memoizeKey];\n }\n\n const abbreviationChar = lowerAbbreviation.charAt(abbreviationIndex);\n let index = lowerString.indexOf(abbreviationChar, stringIndex);\n let highScore = 0;\n\n let score, transposedScore, wordBreaks, spaceBreaks;\n\n while (index >= 0) {\n score = commandScoreInner(\n string,\n abbreviation,\n lowerString,\n lowerAbbreviation,\n index + 1,\n abbreviationIndex + 1,\n memoizedResults\n );\n if (score > highScore) {\n if (index === stringIndex) {\n score *= SCORE_CONTINUE_MATCH;\n } else if (IS_GAP_REGEXP.test(string.charAt(index - 1))) {\n score *= SCORE_NON_SPACE_WORD_JUMP;\n wordBreaks = string\n .slice(stringIndex, index - 1)\n .match(COUNT_GAPS_REGEXP);\n if (wordBreaks && stringIndex > 0) {\n score *= Math.pow(PENALTY_SKIPPED, wordBreaks.length);\n }\n } else if (IS_SPACE_REGEXP.test(string.charAt(index - 1))) {\n score *= SCORE_SPACE_WORD_JUMP;\n spaceBreaks = string\n .slice(stringIndex, index - 1)\n .match(COUNT_SPACE_REGEXP);\n if (spaceBreaks && stringIndex > 0) {\n score *= Math.pow(PENALTY_SKIPPED, spaceBreaks.length);\n }\n } else {\n score *= SCORE_CHARACTER_JUMP;\n if (stringIndex > 0) {\n score *= Math.pow(PENALTY_SKIPPED, index - stringIndex);\n }\n }\n\n if (string.charAt(index) !== abbreviation.charAt(abbreviationIndex)) {\n score *= PENALTY_CASE_MISMATCH;\n }\n }\n\n if (\n (score < SCORE_TRANSPOSITION &&\n lowerString.charAt(index - 1) ===\n lowerAbbreviation.charAt(abbreviationIndex + 1)) ||\n (lowerAbbreviation.charAt(abbreviationIndex + 1) ===\n lowerAbbreviation.charAt(abbreviationIndex) && // allow duplicate letters. Ref #7428\n lowerString.charAt(index - 1) !==\n lowerAbbreviation.charAt(abbreviationIndex))\n ) {\n transposedScore = commandScoreInner(\n string,\n abbreviation,\n lowerString,\n lowerAbbreviation,\n index + 1,\n abbreviationIndex + 2,\n memoizedResults\n );\n\n if (transposedScore * SCORE_TRANSPOSITION > score) {\n score = transposedScore * SCORE_TRANSPOSITION;\n }\n }\n\n if (score > highScore) {\n highScore = score;\n }\n\n index = lowerString.indexOf(abbreviationChar, index + 1);\n }\n\n memoizedResults[memoizeKey] = highScore;\n return highScore;\n}\n\nfunction formatInput(string) {\n // convert all valid space characters to space so they match each other\n return string.toLowerCase().replace(COUNT_SPACE_REGEXP, \" \");\n}\n\nexport function commandScore(\n string: string,\n abbreviation: string,\n aliases: string[]\n): number {\n /* NOTE:\n * in the original, we used to do the lower-casing on each recursive call, but this meant that toLowerCase()\n * was the dominating cost in the algorithm, passing both is a little ugly, but considerably faster.\n */\n string =\n aliases && aliases.length > 0\n ? `${string + \" \" + aliases.join(\" \")}`\n : string;\n return commandScoreInner(\n string,\n abbreviation,\n formatInput(string),\n formatInput(abbreviation),\n 0,\n 0,\n {}\n );\n}\n"],"names":["IS_GAP_REGEXP","COUNT_GAPS_REGEXP","IS_SPACE_REGEXP","COUNT_SPACE_REGEXP","commandScoreInner","string","abbreviation","lowerString","lowerAbbreviation","stringIndex","abbreviationIndex","memoizedResults","memoizeKey","abbreviationChar","index","highScore","score","transposedScore","wordBreaks","spaceBreaks","formatInput","commandScore","aliases"],"mappings":"AAqDA,MAAMA,IAAgB,sBACpBC,IAAoB,uBACpBC,IAAkB,SAClBC,IAAqB;AAEvB,SAASC,EACPC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACA;AACI,MAAAD,MAAsBJ,EAAa;AACjC,WAAAG,MAAgBJ,EAAO,SAClB,IAEF;AAGT,QAAMO,IAAa,GAAGH,CAAW,IAAIC,CAAiB;AAClD,MAAAC,EAAgBC,CAAU,MAAM;AAClC,WAAOD,EAAgBC,CAAU;AAG7B,QAAAC,IAAmBL,EAAkB,OAAOE,CAAiB;AACnE,MAAII,IAAQP,EAAY,QAAQM,GAAkBJ,CAAW,GACzDM,IAAY,GAEZC,GAAOC,GAAiBC,GAAYC;AAExC,SAAOL,KAAS;AACN,IAAAE,IAAAZ;AAAA,MACNC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAM,IAAQ;AAAA,MACRJ,IAAoB;AAAA,MACpBC;AAAA,IACF,GACIK,IAAQD,MACND,MAAUL,IACHO,KAAA,IACAhB,EAAc,KAAKK,EAAO,OAAOS,IAAQ,CAAC,CAAC,KAC3CE,KAAA,KACTE,IAAab,EACV,MAAMI,GAAaK,IAAQ,CAAC,EAC5B,MAAMb,CAAiB,GACtBiB,KAAcT,IAAc,MAC9BO,KAAS,KAAK,IAAI,OAAiBE,EAAW,MAAM,MAE7ChB,EAAgB,KAAKG,EAAO,OAAOS,IAAQ,CAAC,CAAC,KAC7CE,KAAA,KACTG,IAAcd,EACX,MAAMI,GAAaK,IAAQ,CAAC,EAC5B,MAAMX,CAAkB,GACvBgB,KAAeV,IAAc,MAC/BO,KAAS,KAAK,IAAI,OAAiBG,EAAY,MAAM,OAG9CH,KAAA,MACLP,IAAc,MAChBO,KAAS,KAAK,IAAI,OAAiBF,IAAQL,CAAW,KAItDJ,EAAO,OAAOS,CAAK,MAAMR,EAAa,OAAOI,CAAiB,MACvDM,KAAA,WAKVA,IAAQ,OACPT,EAAY,OAAOO,IAAQ,CAAC,MAC1BN,EAAkB,OAAOE,IAAoB,CAAC,KACjDF,EAAkB,OAAOE,IAAoB,CAAC,MAC7CF,EAAkB,OAAOE,CAAiB;AAAA,IAC1CH,EAAY,OAAOO,IAAQ,CAAC,MAC1BN,EAAkB,OAAOE,CAAiB,OAE5BO,IAAAb;AAAA,MAChBC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAM,IAAQ;AAAA,MACRJ,IAAoB;AAAA,MACpBC;AAAA,IACF,GAEIM,IAAkB,MAAsBD,MAC1CA,IAAQC,IAAkB,OAI1BD,IAAQD,MACEA,IAAAC,IAGdF,IAAQP,EAAY,QAAQM,GAAkBC,IAAQ,CAAC;AAGzD,SAAAH,EAAgBC,CAAU,IAAIG,GACvBA;AACT;AAEA,SAASK,EAAYf,GAAQ;AAE3B,SAAOA,EAAO,YAAA,EAAc,QAAQF,GAAoB,GAAG;AAC7D;AAEgB,SAAAkB,EACdhB,GACAC,GACAgB,GACQ;AAMN,SAAAjB,IAAAiB,KAAWA,EAAQ,SAAS,IACxB,GAAGjB,IAAS,MAAMiB,EAAQ,KAAK,GAAG,CAAC,KACnCjB,GACCD;AAAA,IACLC;AAAA,IACAC;AAAA,IACAc,EAAYf,CAAM;AAAA,IAClBe,EAAYd,CAAY;AAAA,IACxB;AAAA,IACA;AAAA,IACA,CAAA;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"command-score.js","sources":["../../../src/components/cmdk/command-score.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n// This is a copy of the cmdk component from \"cmdk\" package.\n// It is used here to avoid dependency on cmdk package and radix-ui-components package.\n\n// The scores are arranged so that a continuous match of characters will\n// result in a total score of 1.\n//\n// The best case, this character is a match, and either this is the start\n// of the string, or the previous character was also a match.\nconst SCORE_CONTINUE_MATCH = 1,\n // A new match at the start of a word scores better than a new match\n // elsewhere as it's more likely that the user will type the starts\n // of fragments.\n // NOTE: We score word jumps between spaces slightly higher than slashes, brackets\n // hyphens, etc.\n SCORE_SPACE_WORD_JUMP = 0.9,\n SCORE_NON_SPACE_WORD_JUMP = 0.8,\n // Any other match isn't ideal, but we include it for completeness.\n SCORE_CHARACTER_JUMP = 0.17,\n // If the user transposed two letters, it should be significantly penalized.\n //\n // i.e. \"ouch\" is more likely than \"curtain\" when \"uc\" is typed.\n SCORE_TRANSPOSITION = 0.1,\n // The goodness of a match should decay slightly with each missing\n // character.\n //\n // i.e. \"bad\" is more likely than \"bard\" when \"bd\" is typed.\n //\n // This will not change the order of suggestions based on SCORE_* until\n // 100 characters are inserted between matches.\n PENALTY_SKIPPED = 0.999,\n // The goodness of an exact-case match should be higher than a\n // case-insensitive match by a small amount.\n //\n // i.e. \"HTML\" is more likely than \"haml\" when \"HM\" is typed.\n //\n // This will not change the order of suggestions based on SCORE_* until\n // 1000 characters are inserted between matches.\n PENALTY_CASE_MISMATCH = 0.9999,\n // Match higher for letters closer to the beginning of the word\n PENALTY_DISTANCE_FROM_START = 0.9,\n // If the word has more characters than the user typed, it should\n // be penalised slightly.\n //\n // i.e. \"html\" is more likely than \"html5\" if I type \"html\".\n //\n // However, it may well be the case that there's a sensible secondary\n // ordering (like alphabetical) that it makes sense to rely on when\n // there are many prefix matches, so we don't make the penalty increase\n // with the number of tokens.\n PENALTY_NOT_COMPLETE = 0.99;\n\nconst IS_GAP_REGEXP = /[\\\\/_+.#\"@\\[\\(\\{&]/,\n COUNT_GAPS_REGEXP = /[\\\\/_+.#\"@\\[\\(\\{&]/g,\n IS_SPACE_REGEXP = /[\\s-]/,\n COUNT_SPACE_REGEXP = /[\\s-]/g;\n\nfunction commandScoreInner(\n string,\n abbreviation,\n lowerString,\n lowerAbbreviation,\n stringIndex,\n abbreviationIndex,\n memoizedResults\n) {\n if (abbreviationIndex === abbreviation.length) {\n if (stringIndex === string.length) {\n return SCORE_CONTINUE_MATCH;\n }\n return PENALTY_NOT_COMPLETE;\n }\n\n const memoizeKey = `${stringIndex},${abbreviationIndex}`;\n if (memoizedResults[memoizeKey] !== undefined) {\n return memoizedResults[memoizeKey];\n }\n\n const abbreviationChar = lowerAbbreviation.charAt(abbreviationIndex);\n let index = lowerString.indexOf(abbreviationChar, stringIndex);\n let highScore = 0;\n\n let score, transposedScore, wordBreaks, spaceBreaks;\n\n while (index >= 0) {\n score = commandScoreInner(\n string,\n abbreviation,\n lowerString,\n lowerAbbreviation,\n index + 1,\n abbreviationIndex + 1,\n memoizedResults\n );\n if (score > highScore) {\n if (index === stringIndex) {\n score *= SCORE_CONTINUE_MATCH;\n } else if (IS_GAP_REGEXP.test(string.charAt(index - 1))) {\n score *= SCORE_NON_SPACE_WORD_JUMP;\n wordBreaks = string\n .slice(stringIndex, index - 1)\n .match(COUNT_GAPS_REGEXP);\n if (wordBreaks && stringIndex > 0) {\n score *= Math.pow(PENALTY_SKIPPED, wordBreaks.length);\n }\n } else if (IS_SPACE_REGEXP.test(string.charAt(index - 1))) {\n score *= SCORE_SPACE_WORD_JUMP;\n spaceBreaks = string\n .slice(stringIndex, index - 1)\n .match(COUNT_SPACE_REGEXP);\n if (spaceBreaks && stringIndex > 0) {\n score *= Math.pow(PENALTY_SKIPPED, spaceBreaks.length);\n }\n } else {\n score *= SCORE_CHARACTER_JUMP;\n if (stringIndex > 0) {\n score *= Math.pow(PENALTY_SKIPPED, index - stringIndex);\n }\n }\n\n if (string.charAt(index) !== abbreviation.charAt(abbreviationIndex)) {\n score *= PENALTY_CASE_MISMATCH;\n }\n }\n\n if (\n (score < SCORE_TRANSPOSITION &&\n lowerString.charAt(index - 1) ===\n lowerAbbreviation.charAt(abbreviationIndex + 1)) ||\n (lowerAbbreviation.charAt(abbreviationIndex + 1) ===\n lowerAbbreviation.charAt(abbreviationIndex) && // allow duplicate letters. Ref #7428\n lowerString.charAt(index - 1) !==\n lowerAbbreviation.charAt(abbreviationIndex))\n ) {\n transposedScore = commandScoreInner(\n string,\n abbreviation,\n lowerString,\n lowerAbbreviation,\n index + 1,\n abbreviationIndex + 2,\n memoizedResults\n );\n\n if (transposedScore * SCORE_TRANSPOSITION > score) {\n score = transposedScore * SCORE_TRANSPOSITION;\n }\n }\n\n if (score > highScore) {\n highScore = score;\n }\n\n index = lowerString.indexOf(abbreviationChar, index + 1);\n }\n\n memoizedResults[memoizeKey] = highScore;\n return highScore;\n}\n\nfunction formatInput(string) {\n // convert all valid space characters to space so they match each other\n return string.toLowerCase().replace(COUNT_SPACE_REGEXP, \" \");\n}\n\nexport function commandScore(\n string: string,\n abbreviation: string,\n aliases: string[]\n): number {\n /* NOTE:\n * in the original, we used to do the lower-casing on each recursive call, but this meant that toLowerCase()\n * was the dominating cost in the algorithm, passing both is a little ugly, but considerably faster.\n */\n string =\n aliases && aliases.length > 0\n ? `${string + \" \" + aliases.join(\" \")}`\n : string;\n return commandScoreInner(\n string,\n abbreviation,\n formatInput(string),\n formatInput(abbreviation),\n 0,\n 0,\n {}\n );\n}\n"],"names":["IS_GAP_REGEXP","COUNT_GAPS_REGEXP","IS_SPACE_REGEXP","COUNT_SPACE_REGEXP","commandScoreInner","string","abbreviation","lowerString","lowerAbbreviation","stringIndex","abbreviationIndex","memoizedResults","memoizeKey","abbreviationChar","index","highScore","score","transposedScore","wordBreaks","spaceBreaks","formatInput","commandScore","aliases"],"mappings":"AAqDA,MAAMA,IAAgB,sBACpBC,IAAoB,uBACpBC,IAAkB,SAClBC,IAAqB;AAEvB,SAASC,EACPC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACA;AACA,MAAID,MAAsBJ,EAAa;AACrC,WAAIG,MAAgBJ,EAAO,SAClB,IAEF;AAGT,QAAMO,IAAa,GAAGH,CAAW,IAAIC,CAAiB;AACtD,MAAIC,EAAgBC,CAAU,MAAM;AAClC,WAAOD,EAAgBC,CAAU;AAGnC,QAAMC,IAAmBL,EAAkB,OAAOE,CAAiB;AACnE,MAAII,IAAQP,EAAY,QAAQM,GAAkBJ,CAAW,GACzDM,IAAY,GAEZC,GAAOC,GAAiBC,GAAYC;AAExC,SAAOL,KAAS;AACd,IAAAE,IAAQZ;AAAA,MACNC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAM,IAAQ;AAAA,MACRJ,IAAoB;AAAA,MACpBC;AAAA,IAAA,GAEEK,IAAQD,MACND,MAAUL,IACZO,KAAS,IACAhB,EAAc,KAAKK,EAAO,OAAOS,IAAQ,CAAC,CAAC,KACpDE,KAAS,KACTE,IAAab,EACV,MAAMI,GAAaK,IAAQ,CAAC,EAC5B,MAAMb,CAAiB,GACtBiB,KAAcT,IAAc,MAC9BO,KAAS,KAAK,IAAI,OAAiBE,EAAW,MAAM,MAE7ChB,EAAgB,KAAKG,EAAO,OAAOS,IAAQ,CAAC,CAAC,KACtDE,KAAS,KACTG,IAAcd,EACX,MAAMI,GAAaK,IAAQ,CAAC,EAC5B,MAAMX,CAAkB,GACvBgB,KAAeV,IAAc,MAC/BO,KAAS,KAAK,IAAI,OAAiBG,EAAY,MAAM,OAGvDH,KAAS,MACLP,IAAc,MAChBO,KAAS,KAAK,IAAI,OAAiBF,IAAQL,CAAW,KAItDJ,EAAO,OAAOS,CAAK,MAAMR,EAAa,OAAOI,CAAiB,MAChEM,KAAS,WAKVA,IAAQ,OACPT,EAAY,OAAOO,IAAQ,CAAC,MAC1BN,EAAkB,OAAOE,IAAoB,CAAC,KACjDF,EAAkB,OAAOE,IAAoB,CAAC,MAC7CF,EAAkB,OAAOE,CAAiB;AAAA,IAC1CH,EAAY,OAAOO,IAAQ,CAAC,MAC1BN,EAAkB,OAAOE,CAAiB,OAE9CO,IAAkBb;AAAA,MAChBC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAM,IAAQ;AAAA,MACRJ,IAAoB;AAAA,MACpBC;AAAA,IAAA,GAGEM,IAAkB,MAAsBD,MAC1CA,IAAQC,IAAkB,OAI1BD,IAAQD,MACVA,IAAYC,IAGdF,IAAQP,EAAY,QAAQM,GAAkBC,IAAQ,CAAC;AAGzD,SAAAH,EAAgBC,CAAU,IAAIG,GACvBA;AACT;AAEA,SAASK,EAAYf,GAAQ;AAE3B,SAAOA,EAAO,YAAA,EAAc,QAAQF,GAAoB,GAAG;AAC7D;AAEO,SAASkB,EACdhB,GACAC,GACAgB,GACQ;AAKR,SAAAjB,IACEiB,KAAWA,EAAQ,SAAS,IACxB,GAAGjB,IAAS,MAAMiB,EAAQ,KAAK,GAAG,CAAC,KACnCjB,GACCD;AAAA,IACLC;AAAA,IACAC;AAAA,IACAc,EAAYf,CAAM;AAAA,IAClBe,EAAYd,CAAY;AAAA,IACxB;AAAA,IACA;AAAA,IACA,CAAA;AAAA,EAAC;AAEL;"}