@bioturing/components 0.19.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/dist/components/{Badge → badge}/component.js.map +1 -1
  2. package/dist/components/{Breadcrumb → breadcrumb}/component.js.map +1 -1
  3. package/dist/components/{Breadcrumb → breadcrumb}/useItemRender.js +6 -5
  4. package/dist/components/breadcrumb/useItemRender.js.map +1 -0
  5. package/dist/components/{Button → button}/component.js.map +1 -1
  6. package/dist/components/{Checkbox → checkbox}/component.js +1 -0
  7. package/dist/components/checkbox/component.js.map +1 -0
  8. package/dist/components/choice-list/component.js +54 -0
  9. package/dist/components/choice-list/component.js.map +1 -0
  10. package/dist/components/choice-list/style.css +1 -0
  11. package/dist/components/cmdk/command-score.js +48 -0
  12. package/dist/components/cmdk/command-score.js.map +1 -0
  13. package/dist/components/cmdk/index.js +611 -0
  14. package/dist/components/cmdk/index.js.map +1 -0
  15. package/dist/components/{CodeBlock → code-block}/component.js +4 -4
  16. package/dist/components/code-block/component.js.map +1 -0
  17. package/dist/components/{Collapse → collapse}/component.js.map +1 -1
  18. package/dist/components/{ColorSelect → color-select}/component.js +10 -10
  19. package/dist/components/color-select/component.js.map +1 -0
  20. package/dist/components/drag-drop/context.js.map +1 -0
  21. package/dist/components/drag-drop/draggable.js.map +1 -0
  22. package/dist/components/drag-drop/droppable.js.map +1 -0
  23. package/dist/components/{DragDrop → drag-drop}/hooks.js +1 -0
  24. package/dist/components/drag-drop/hooks.js.map +1 -0
  25. package/dist/components/drag-drop/index.js.map +1 -0
  26. package/dist/components/{DragDrop → drag-drop}/value.js +4 -4
  27. package/dist/components/drag-drop/value.js.map +1 -0
  28. package/dist/components/dropdown-menu/component.js +214 -0
  29. package/dist/components/dropdown-menu/component.js.map +1 -0
  30. package/dist/components/dropdown-menu/style.css +1 -0
  31. package/dist/components/{DSRoot → ds-root}/component.js +3 -3
  32. package/dist/components/ds-root/component.js.map +1 -0
  33. package/dist/components/ds-root/context.js.map +1 -0
  34. package/dist/components/{Empty → empty}/component.js +6 -5
  35. package/dist/components/empty/component.js.map +1 -0
  36. package/dist/components/{Field → field}/component.js.map +1 -1
  37. package/dist/components/{Form → form}/component.js.map +1 -1
  38. package/dist/components/{Form → form}/item.js +1 -1
  39. package/dist/components/form/item.js.map +1 -0
  40. package/dist/components/hooks/useCharts.js +1 -1
  41. package/dist/components/hooks/useCharts.js.map +1 -1
  42. package/dist/components/icon-button/component.js +65 -0
  43. package/dist/components/icon-button/component.js.map +1 -0
  44. package/dist/components/input/component.js +26 -0
  45. package/dist/components/input/component.js.map +1 -0
  46. package/dist/components/{Modal → modal}/Modal.js +3 -3
  47. package/dist/components/modal/Modal.js.map +1 -0
  48. package/dist/components/{Modal → modal}/ModalProvider.js.map +1 -1
  49. package/dist/components/{Modal → modal}/ModalService.js +3 -2
  50. package/dist/components/modal/ModalService.js.map +1 -0
  51. package/dist/components/{Modal → modal}/constants.js.map +1 -1
  52. package/dist/components/{Modal → modal}/functions.js +8 -7
  53. package/dist/components/modal/functions.js.map +1 -0
  54. package/dist/components/{Modal → modal}/index.js.map +1 -1
  55. package/dist/components/{Nav → nav}/context.js.map +1 -1
  56. package/dist/components/{Nav → nav}/group.js.map +1 -1
  57. package/dist/components/{Nav → nav}/heading.js.map +1 -1
  58. package/dist/components/{Nav → nav}/index.js +3 -2
  59. package/dist/components/nav/index.js.map +1 -0
  60. package/dist/components/{Nav → nav}/item.js +0 -1
  61. package/dist/components/nav/item.js.map +1 -0
  62. package/dist/components/{Popover → popover}/component.js.map +1 -1
  63. package/dist/components/{PopupPanel → popup-panel}/component.js +47 -47
  64. package/dist/components/popup-panel/component.js.map +1 -0
  65. package/dist/components/popup-panel/constants.js.map +1 -0
  66. package/dist/components/{Radio → radio}/component.js +6 -5
  67. package/dist/components/radio/component.js.map +1 -0
  68. package/dist/components/scroll-area/component.js.map +1 -0
  69. package/dist/components/{Segmented → segmented}/component.js +3 -2
  70. package/dist/components/segmented/component.js.map +1 -0
  71. package/dist/components/{Select → select}/component.js +7 -6
  72. package/dist/components/select/component.js.map +1 -0
  73. package/dist/components/{Slider → slider}/component.js.map +1 -1
  74. package/dist/components/{Spin → spin}/component.js +5 -4
  75. package/dist/components/spin/component.js.map +1 -0
  76. package/dist/components/{Splitter → splitter}/component.js.map +1 -1
  77. package/dist/components/{Stack → stack}/Stack.js.map +1 -1
  78. package/dist/components/{Stack → stack}/StackChild.js.map +1 -1
  79. package/dist/components/{Stack → stack}/index.js.map +1 -1
  80. package/dist/components/{Switch → switch}/component.js +3 -2
  81. package/dist/components/switch/component.js.map +1 -0
  82. package/dist/components/{Table → table}/component.js +1 -1
  83. package/dist/components/{Table → table}/component.js.map +1 -1
  84. package/dist/components/{Tag → tag}/component.js.map +1 -1
  85. package/dist/components/theme-provider/component.js.map +1 -0
  86. package/dist/components/{Toast → toast}/component.js +4 -4
  87. package/dist/components/toast/component.js.map +1 -0
  88. package/dist/components/{Toast → toast}/function.js.map +1 -1
  89. package/dist/components/{Tooltip → tooltip}/component.js.map +1 -1
  90. package/dist/components/{Tour → tour}/component.js.map +1 -1
  91. package/dist/components/{Transition → transition}/component.js.map +1 -1
  92. package/dist/components/{Tree → tree}/components.js.map +1 -1
  93. package/dist/components/{Tree → tree}/helpers.js.map +1 -1
  94. package/dist/components/{Tree → tree}/useTreeCommon.js.map +1 -1
  95. package/dist/components/{Tree → tree}/useUniqueKeysTree.js.map +1 -1
  96. package/dist/components/{Truncate → truncate}/component.js.map +1 -1
  97. package/dist/components/{Truncate → truncate}/helpers.js.map +1 -1
  98. package/dist/components/{Upload → upload}/component.js +1 -1
  99. package/dist/components/{Upload → upload}/component.js.map +1 -1
  100. package/dist/components/{Upload → upload}/dragger.js.map +1 -1
  101. package/dist/components/{Upload → upload}/hooks.js.map +1 -1
  102. package/dist/components/{Upload → upload}/item.js +7 -6
  103. package/dist/components/upload/item.js.map +1 -0
  104. package/dist/components/{Upload → upload}/utils.js.map +1 -1
  105. package/dist/components/utils/WithRenderProp.js +16 -0
  106. package/dist/components/utils/WithRenderProp.js.map +1 -0
  107. package/dist/components/utils/constants.js +10 -0
  108. package/dist/components/utils/constants.js.map +1 -0
  109. package/dist/components/{VerticalCollapsiblePanel → vertical-collapsible-panel}/component.js +9 -9
  110. package/dist/components/vertical-collapsible-panel/component.js.map +1 -0
  111. package/dist/index.d.ts +254 -33
  112. package/dist/index.js +194 -187
  113. package/dist/index.js.map +1 -1
  114. package/dist/metadata.js +14 -0
  115. package/dist/metadata.js.map +1 -1
  116. package/package.json +2 -1
  117. package/dist/components/Breadcrumb/useItemRender.js.map +0 -1
  118. package/dist/components/Checkbox/component.js.map +0 -1
  119. package/dist/components/CodeBlock/component.js.map +0 -1
  120. package/dist/components/ColorSelect/component.js.map +0 -1
  121. package/dist/components/DSRoot/component.js.map +0 -1
  122. package/dist/components/DSRoot/context.js.map +0 -1
  123. package/dist/components/DragDrop/context.js.map +0 -1
  124. package/dist/components/DragDrop/draggable.js.map +0 -1
  125. package/dist/components/DragDrop/droppable.js.map +0 -1
  126. package/dist/components/DragDrop/hooks.js.map +0 -1
  127. package/dist/components/DragDrop/index.js.map +0 -1
  128. package/dist/components/DragDrop/value.js.map +0 -1
  129. package/dist/components/DropdownMenu/component.js +0 -156
  130. package/dist/components/DropdownMenu/component.js.map +0 -1
  131. package/dist/components/DropdownMenu/style.css +0 -1
  132. package/dist/components/Empty/component.js.map +0 -1
  133. package/dist/components/Form/item.js.map +0 -1
  134. package/dist/components/IconButton/component.js +0 -62
  135. package/dist/components/IconButton/component.js.map +0 -1
  136. package/dist/components/Input/component.js +0 -25
  137. package/dist/components/Input/component.js.map +0 -1
  138. package/dist/components/Modal/Modal.js.map +0 -1
  139. package/dist/components/Modal/ModalService.js.map +0 -1
  140. package/dist/components/Modal/functions.js.map +0 -1
  141. package/dist/components/Nav/index.js.map +0 -1
  142. package/dist/components/Nav/item.js.map +0 -1
  143. package/dist/components/PopupPanel/component.js.map +0 -1
  144. package/dist/components/PopupPanel/constants.js.map +0 -1
  145. package/dist/components/Radio/component.js.map +0 -1
  146. package/dist/components/ScrollArea/component.js.map +0 -1
  147. package/dist/components/Segmented/component.js.map +0 -1
  148. package/dist/components/Select/component.js.map +0 -1
  149. package/dist/components/Spin/component.js.map +0 -1
  150. package/dist/components/Switch/component.js.map +0 -1
  151. package/dist/components/ThemeProvider/component.js.map +0 -1
  152. package/dist/components/Toast/component.js.map +0 -1
  153. package/dist/components/Upload/item.js.map +0 -1
  154. package/dist/components/VerticalCollapsiblePanel/component.js.map +0 -1
  155. /package/dist/components/{Badge → badge}/component.js +0 -0
  156. /package/dist/components/{Badge → badge}/style.css +0 -0
  157. /package/dist/components/{Breadcrumb → breadcrumb}/component.js +0 -0
  158. /package/dist/components/{Breadcrumb → breadcrumb}/style.css +0 -0
  159. /package/dist/components/{Button → button}/component.js +0 -0
  160. /package/dist/components/{Button → button}/style.css +0 -0
  161. /package/dist/components/{Checkbox → checkbox}/style.css +0 -0
  162. /package/dist/components/{CodeBlock → code-block}/style.css +0 -0
  163. /package/dist/components/{Collapse → collapse}/component.js +0 -0
  164. /package/dist/components/{Collapse → collapse}/style.css +0 -0
  165. /package/dist/components/{ColorSelect → color-select}/style.css +0 -0
  166. /package/dist/components/{DragDrop → drag-drop}/context.js +0 -0
  167. /package/dist/components/{DragDrop → drag-drop}/draggable.js +0 -0
  168. /package/dist/components/{DragDrop → drag-drop}/droppable.js +0 -0
  169. /package/dist/components/{DragDrop → drag-drop}/index.js +0 -0
  170. /package/dist/components/{DragDrop → drag-drop}/style.css +0 -0
  171. /package/dist/components/{DSRoot → ds-root}/context.js +0 -0
  172. /package/dist/components/{DSRoot → ds-root}/style.css +0 -0
  173. /package/dist/components/{Empty → empty}/style.css +0 -0
  174. /package/dist/components/{Field → field}/component.js +0 -0
  175. /package/dist/components/{Field → field}/style.css +0 -0
  176. /package/dist/components/{Form → form}/component.js +0 -0
  177. /package/dist/components/{Form → form}/style.css +0 -0
  178. /package/dist/components/{IconButton → icon-button}/style.css +0 -0
  179. /package/dist/components/{Modal → modal}/ModalProvider.js +0 -0
  180. /package/dist/components/{Modal → modal}/constants.js +0 -0
  181. /package/dist/components/{Modal → modal}/index.js +0 -0
  182. /package/dist/components/{Modal → modal}/style.css +0 -0
  183. /package/dist/components/{Nav → nav}/context.js +0 -0
  184. /package/dist/components/{Nav → nav}/group.js +0 -0
  185. /package/dist/components/{Nav → nav}/heading.js +0 -0
  186. /package/dist/components/{Nav → nav}/style.css +0 -0
  187. /package/dist/components/{Popover → popover}/component.js +0 -0
  188. /package/dist/components/{PopupPanel → popup-panel}/constants.js +0 -0
  189. /package/dist/components/{PopupPanel → popup-panel}/style.css +0 -0
  190. /package/dist/components/{Radio → radio}/style.css +0 -0
  191. /package/dist/components/{ScrollArea → scroll-area}/component.js +0 -0
  192. /package/dist/components/{ScrollArea → scroll-area}/style.css +0 -0
  193. /package/dist/components/{Segmented → segmented}/style.css +0 -0
  194. /package/dist/components/{Select → select}/style.css +0 -0
  195. /package/dist/components/{Slider → slider}/component.js +0 -0
  196. /package/dist/components/{Spin → spin}/style.css +0 -0
  197. /package/dist/components/{Splitter → splitter}/component.js +0 -0
  198. /package/dist/components/{Splitter → splitter}/style.css +0 -0
  199. /package/dist/components/{Stack → stack}/Stack.js +0 -0
  200. /package/dist/components/{Stack → stack}/StackChild.js +0 -0
  201. /package/dist/components/{Stack → stack}/index.js +0 -0
  202. /package/dist/components/{Stack → stack}/style.css +0 -0
  203. /package/dist/components/{Switch → switch}/style.css +0 -0
  204. /package/dist/components/{Table → table}/style.css +0 -0
  205. /package/dist/components/{Tag → tag}/component.js +0 -0
  206. /package/dist/components/{Tag → tag}/style.css +0 -0
  207. /package/dist/components/{ThemeProvider → theme-provider}/component.js +0 -0
  208. /package/dist/components/{ThemeProvider → theme-provider}/style.css +0 -0
  209. /package/dist/components/{Toast → toast}/function.js +0 -0
  210. /package/dist/components/{Toast → toast}/style.css +0 -0
  211. /package/dist/components/{Tooltip → tooltip}/component.js +0 -0
  212. /package/dist/components/{Tooltip → tooltip}/style.css +0 -0
  213. /package/dist/components/{Tour → tour}/component.js +0 -0
  214. /package/dist/components/{Tour → tour}/style.css +0 -0
  215. /package/dist/components/{Transition → transition}/component.js +0 -0
  216. /package/dist/components/{Tree → tree}/components.js +0 -0
  217. /package/dist/components/{Tree → tree}/helpers.js +0 -0
  218. /package/dist/components/{Tree → tree}/style.css +0 -0
  219. /package/dist/components/{Tree → tree}/useTreeCommon.js +0 -0
  220. /package/dist/components/{Tree → tree}/useUniqueKeysTree.js +0 -0
  221. /package/dist/components/{Truncate → truncate}/component.js +0 -0
  222. /package/dist/components/{Truncate → truncate}/helpers.js +0 -0
  223. /package/dist/components/{Truncate → truncate}/style.css +0 -0
  224. /package/dist/components/{Upload → upload}/dragger.js +0 -0
  225. /package/dist/components/{Upload → upload}/hooks.js +0 -0
  226. /package/dist/components/{Upload → upload}/style.css +0 -0
  227. /package/dist/components/{Upload → upload}/utils.js +0 -0
  228. /package/dist/components/{VerticalCollapsiblePanel → vertical-collapsible-panel}/style.css +0 -0
@@ -6,7 +6,7 @@ import { Dragger as d } from "./dragger.js";
6
6
  import { useUploadItemRender as a } from "./hooks.js";
7
7
  import { UploadItem as f } from "./item.js";
8
8
  import './style.css';/* empty css */
9
- import { Button as u } from "../Button/component.js";
9
+ import { Button as u } from "../button/component.js";
10
10
  import { useCls as U } from "../utils/antdUtils.js";
11
11
  import { clsx as g } from "../utils/cn.js";
12
12
  const h = ({
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/Upload/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntUpload,\n type UploadFile as AntUploadFile,\n type UploadProps as AntUploadProps,\n type RcFile,\n type UploadChangeParam,\n} from \"antd/es/upload\";\nimport { Button } from \"..\";\nimport { CloudArrowUp } from \"@bioturing/assets\";\nimport { clsx, useCls } from \"../utils\";\nimport { Dragger } from \"./dragger\";\nimport { useUploadItemRender } from \"./hooks\";\nimport { UploadItem } from \"./item\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\n// Re-export UploadFile and other types for consumers\nexport type UploadFile = AntUploadFile;\nexport type { RcFile, UploadChangeParam };\n\nexport type { UploadItemProps, UploadFileStatus } from \"./item\";\n\n// Define props interface extending Ant Design's UploadProps\nexport interface UploadProps extends AntUploadProps {\n /**\n * Show remove button for uploaded files\n * @default true\n */\n showRemoveButton?: boolean;\n // /**\n // * Show file list\n // * @default true\n // */\n // showFileList?: boolean;\n // /**\n // * Custom icon\n // */\n // icon?: React.ReactNode;\n}\n\n// Default icons for file types\nexport const DefaultUpload = ({\n // icon = <CloudArrowUp size={24} />,\n showRemoveButton = true,\n // showFileList = true,\n className,\n fileList,\n children,\n ...restProps\n}: UploadProps) => {\n const cls = useCls();\n const icon = <CloudArrowUp size={24} />;\n\n // Default children if none provided\n const defaultChildren = (\n <Button icon={icon} type=\"default\">\n Upload Files\n </Button>\n );\n const itemRender = useUploadItemRender({ showRemoveButton });\n\n return (\n <AntUpload\n className={clsx(cls(\"upload\"), className)}\n {...restProps}\n fileList={fileList}\n itemRender={itemRender}\n >\n {children || defaultChildren}\n </AntUpload>\n );\n};\n\nexport const Upload = Object.assign(DefaultUpload, {\n // Dragger,\n Dragger: Dragger,\n Item: UploadItem,\n});\n"],"names":["DefaultUpload","showRemoveButton","className","fileList","children","restProps","cls","useCls","defaultChildren","jsx","Button","CloudArrowUp","itemRender","useUploadItemRender","AntUpload","clsx","Upload","Dragger","UploadItem"],"mappings":";;;;;;;;;;;AA2CO,MAAMA,IAAgB,CAAC;AAAA;AAAA,EAE5B,kBAAAC,IAAmB;AAAA;AAAA,EAEnB,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAAmB;AACjB,QAAMC,IAAMC,EAAO,GAIbC,IACH,gBAAAC,EAAAC,GAAA,EAAO,MAJG,gBAAAD,EAACE,GAAa,EAAA,MAAM,GAAI,CAAA,GAIf,MAAK,WAAU,UAEnC,gBAAA,GAEIC,IAAaC,EAAoB,EAAE,kBAAAZ,GAAkB;AAGzD,SAAA,gBAAAQ;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKT,EAAI,QAAQ,GAAGJ,CAAS;AAAA,MACvC,GAAGG;AAAA,MACJ,UAAAF;AAAA,MACA,YAAAS;AAAA,MAEC,UAAYR,KAAAI;AAAA,IAAA;AAAA,EACf;AAEJ,GAEaQ,IAAS,OAAO,OAAOhB,GAAe;AAAA;AAAA,EAEjD,SAAAiB;AAAA,EACA,MAAMC;AACR,CAAC;"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/upload/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntUpload,\n type UploadFile as AntUploadFile,\n type UploadProps as AntUploadProps,\n type RcFile,\n type UploadChangeParam,\n} from \"antd/es/upload\";\nimport { Button } from \"..\";\nimport { CloudArrowUp } from \"@bioturing/assets\";\nimport { clsx, useCls } from \"../utils\";\nimport { Dragger } from \"./dragger\";\nimport { useUploadItemRender } from \"./hooks\";\nimport { UploadItem } from \"./item\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\n// Re-export UploadFile and other types for consumers\nexport type UploadFile = AntUploadFile;\nexport type { RcFile, UploadChangeParam };\n\nexport type { UploadItemProps, UploadFileStatus } from \"./item\";\n\n// Define props interface extending Ant Design's UploadProps\nexport interface UploadProps extends AntUploadProps {\n /**\n * Show remove button for uploaded files\n * @default true\n */\n showRemoveButton?: boolean;\n // /**\n // * Show file list\n // * @default true\n // */\n // showFileList?: boolean;\n // /**\n // * Custom icon\n // */\n // icon?: React.ReactNode;\n}\n\n// Default icons for file types\nexport const DefaultUpload = ({\n // icon = <CloudArrowUp size={24} />,\n showRemoveButton = true,\n // showFileList = true,\n className,\n fileList,\n children,\n ...restProps\n}: UploadProps) => {\n const cls = useCls();\n const icon = <CloudArrowUp size={24} />;\n\n // Default children if none provided\n const defaultChildren = (\n <Button icon={icon} type=\"default\">\n Upload Files\n </Button>\n );\n const itemRender = useUploadItemRender({ showRemoveButton });\n\n return (\n <AntUpload\n className={clsx(cls(\"upload\"), className)}\n {...restProps}\n fileList={fileList}\n itemRender={itemRender}\n >\n {children || defaultChildren}\n </AntUpload>\n );\n};\n\nexport const Upload = Object.assign(DefaultUpload, {\n // Dragger,\n Dragger: Dragger,\n Item: UploadItem,\n});\n"],"names":["DefaultUpload","showRemoveButton","className","fileList","children","restProps","cls","useCls","defaultChildren","jsx","Button","CloudArrowUp","itemRender","useUploadItemRender","AntUpload","clsx","Upload","Dragger","UploadItem"],"mappings":";;;;;;;;;;;AA2CO,MAAMA,IAAgB,CAAC;AAAA;AAAA,EAE5B,kBAAAC,IAAmB;AAAA;AAAA,EAEnB,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAAmB;AACjB,QAAMC,IAAMC,EAAO,GAIbC,IACH,gBAAAC,EAAAC,GAAA,EAAO,MAJG,gBAAAD,EAACE,GAAa,EAAA,MAAM,GAAI,CAAA,GAIf,MAAK,WAAU,UAEnC,gBAAA,GAEIC,IAAaC,EAAoB,EAAE,kBAAAZ,GAAkB;AAGzD,SAAA,gBAAAQ;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKT,EAAI,QAAQ,GAAGJ,CAAS;AAAA,MACvC,GAAGG;AAAA,MACJ,UAAAF;AAAA,MACA,YAAAS;AAAA,MAEC,UAAYR,KAAAI;AAAA,IAAA;AAAA,EACf;AAEJ,GAEaQ,IAAS,OAAO,OAAOhB,GAAe;AAAA;AAAA,EAEjD,SAAAiB;AAAA,EACA,MAAMC;AACR,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"dragger.js","sources":["../../../src/components/Upload/dragger.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntUpload,\n type DraggerProps as AntDraggerProps,\n} from \"antd/es/upload\";\nimport React from \"react\";\nimport { CloudArrowUp } from \"@bioturing/assets\";\nimport { useCls } from \"../utils\";\nimport { useUploadItemRender } from \"./hooks\";\n\nexport interface DraggerProps extends AntDraggerProps {\n /**\n * Custom title for the upload component\n */\n uploadTitle?: React.ReactNode;\n /**\n * Custom description for the upload component\n **/\n uploadDescription?: React.ReactNode;\n}\n\nexport const Dragger = ({\n children,\n uploadTitle = \"Click or drag file to this area to upload\",\n uploadDescription = \"Support for a single or bulk upload.\",\n itemRender,\n ...rest\n}: DraggerProps) => {\n const cls = useCls();\n const renderChildren = () => {\n return (\n <>\n <p className={cls(\"upload-drag-icon\")}>\n <CloudArrowUp size={40} />\n </p>\n <p className={cls(\"upload-text\")}>{uploadTitle}</p>\n <p className={cls(\"upload-hint\")}>{uploadDescription}</p>\n </>\n );\n };\n const defaultItemRender = useUploadItemRender({ showRemoveButton: true });\n return (\n <AntUpload.Dragger itemRender={itemRender || defaultItemRender} {...rest}>\n {children ? children : renderChildren()}\n </AntUpload.Dragger>\n );\n};\n"],"names":["Dragger","children","uploadTitle","uploadDescription","itemRender","rest","cls","useCls","renderChildren","jsxs","Fragment","jsx","CloudArrowUp","defaultItemRender","useUploadItemRender","AntUpload"],"mappings":";;;;;;AAqBO,MAAMA,IAAU,CAAC;AAAA,EACtB,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,mBAAAC,IAAoB;AAAA,EACpB,YAAAC;AAAA,EACA,GAAGC;AACL,MAAoB;AAClB,QAAMC,IAAMC,EAAO,GACbC,IAAiB,MAGjB,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAA,KAAA,EAAE,WAAWL,EAAI,kBAAkB,GAClC,UAAC,gBAAAK,EAAAC,GAAA,EAAa,MAAM,GAAA,CAAI,EAC1B,CAAA;AAAA,sBACC,KAAE,EAAA,WAAWN,EAAI,aAAa,GAAI,UAAYJ,GAAA;AAAA,sBAC9C,KAAE,EAAA,WAAWI,EAAI,aAAa,GAAI,UAAkBH,EAAA,CAAA;AAAA,EAAA,GACvD,GAGEU,IAAoBC,EAAoB,EAAE,kBAAkB,IAAM;AACxE,SACG,gBAAAH,EAAAI,EAAU,SAAV,EAAkB,YAAYX,KAAcS,GAAoB,GAAGR,GACjE,UAAAJ,KAAsBO,EACzB,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"dragger.js","sources":["../../../src/components/upload/dragger.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntUpload,\n type DraggerProps as AntDraggerProps,\n} from \"antd/es/upload\";\nimport React from \"react\";\nimport { CloudArrowUp } from \"@bioturing/assets\";\nimport { useCls } from \"../utils\";\nimport { useUploadItemRender } from \"./hooks\";\n\nexport interface DraggerProps extends AntDraggerProps {\n /**\n * Custom title for the upload component\n */\n uploadTitle?: React.ReactNode;\n /**\n * Custom description for the upload component\n **/\n uploadDescription?: React.ReactNode;\n}\n\nexport const Dragger = ({\n children,\n uploadTitle = \"Click or drag file to this area to upload\",\n uploadDescription = \"Support for a single or bulk upload.\",\n itemRender,\n ...rest\n}: DraggerProps) => {\n const cls = useCls();\n const renderChildren = () => {\n return (\n <>\n <p className={cls(\"upload-drag-icon\")}>\n <CloudArrowUp size={40} />\n </p>\n <p className={cls(\"upload-text\")}>{uploadTitle}</p>\n <p className={cls(\"upload-hint\")}>{uploadDescription}</p>\n </>\n );\n };\n const defaultItemRender = useUploadItemRender({ showRemoveButton: true });\n return (\n <AntUpload.Dragger itemRender={itemRender || defaultItemRender} {...rest}>\n {children ? children : renderChildren()}\n </AntUpload.Dragger>\n );\n};\n"],"names":["Dragger","children","uploadTitle","uploadDescription","itemRender","rest","cls","useCls","renderChildren","jsxs","Fragment","jsx","CloudArrowUp","defaultItemRender","useUploadItemRender","AntUpload"],"mappings":";;;;;;AAqBO,MAAMA,IAAU,CAAC;AAAA,EACtB,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,mBAAAC,IAAoB;AAAA,EACpB,YAAAC;AAAA,EACA,GAAGC;AACL,MAAoB;AAClB,QAAMC,IAAMC,EAAO,GACbC,IAAiB,MAGjB,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAA,KAAA,EAAE,WAAWL,EAAI,kBAAkB,GAClC,UAAC,gBAAAK,EAAAC,GAAA,EAAa,MAAM,GAAA,CAAI,EAC1B,CAAA;AAAA,sBACC,KAAE,EAAA,WAAWN,EAAI,aAAa,GAAI,UAAYJ,GAAA;AAAA,sBAC9C,KAAE,EAAA,WAAWI,EAAI,aAAa,GAAI,UAAkBH,EAAA,CAAA;AAAA,EAAA,GACvD,GAGEU,IAAoBC,EAAoB,EAAE,kBAAkB,IAAM;AACxE,SACG,gBAAAH,EAAAI,EAAU,SAAV,EAAkB,YAAYX,KAAcS,GAAoB,GAAGR,GACjE,UAAAJ,KAAsBO,EACzB,EAAA,CAAA;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../src/components/Upload/hooks.tsx"],"sourcesContent":["\"use client\";\nimport { type UploadProps } from \"antd/es/upload\";\nimport { useCallback } from \"react\";\nimport { UploadItem } from \"./item\";\n\nexport type UseUploadItemRenderProps = {\n showRemoveButton?: boolean;\n};\n\nexport const useUploadItemRender: (\n props: UseUploadItemRenderProps\n) => UploadProps[\"itemRender\"] = ({ showRemoveButton = true }) => {\n // If showFileList is false, don't render anything\n // if (!showFileList) return null;\n\n // Custom rendering of file items\n const itemRender: UploadProps[\"itemRender\"] = (\n _originNode,\n file,\n _fileList,\n actions\n ) => {\n return (\n <UploadItem\n fileName={file.name}\n fileType={file.type}\n status={file.status}\n percent={file.percent}\n removable={showRemoveButton}\n onRemove={() => actions.remove()}\n />\n );\n };\n return useCallback(itemRender, [showRemoveButton]);\n};\n"],"names":["useUploadItemRender","showRemoveButton","useCallback","_originNode","file","_fileList","actions","jsx","UploadItem"],"mappings":";;;;AASO,MAAMA,IAEoB,CAAC,EAAE,kBAAAC,IAAmB,SAsB9CC,EAjBuC,CAC5CC,GACAC,GACAC,GACAC,MAGE,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,UAAUJ,EAAK;AAAA,IACf,UAAUA,EAAK;AAAA,IACf,QAAQA,EAAK;AAAA,IACb,SAASA,EAAK;AAAA,IACd,WAAWH;AAAA,IACX,UAAU,MAAMK,EAAQ,OAAO;AAAA,EAAA;AACjC,GAG2B,CAACL,CAAgB,CAAC;"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../src/components/upload/hooks.tsx"],"sourcesContent":["\"use client\";\nimport { type UploadProps } from \"antd/es/upload\";\nimport { useCallback } from \"react\";\nimport { UploadItem } from \"./item\";\n\nexport type UseUploadItemRenderProps = {\n showRemoveButton?: boolean;\n};\n\nexport const useUploadItemRender: (\n props: UseUploadItemRenderProps\n) => UploadProps[\"itemRender\"] = ({ showRemoveButton = true }) => {\n // If showFileList is false, don't render anything\n // if (!showFileList) return null;\n\n // Custom rendering of file items\n const itemRender: UploadProps[\"itemRender\"] = (\n _originNode,\n file,\n _fileList,\n actions\n ) => {\n return (\n <UploadItem\n fileName={file.name}\n fileType={file.type}\n status={file.status}\n percent={file.percent}\n removable={showRemoveButton}\n onRemove={() => actions.remove()}\n />\n );\n };\n return useCallback(itemRender, [showRemoveButton]);\n};\n"],"names":["useUploadItemRender","showRemoveButton","useCallback","_originNode","file","_fileList","actions","jsx","UploadItem"],"mappings":";;;;AASO,MAAMA,IAEoB,CAAC,EAAE,kBAAAC,IAAmB,SAsB9CC,EAjBuC,CAC5CC,GACAC,GACAC,GACAC,MAGE,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,UAAUJ,EAAK;AAAA,IACf,UAAUA,EAAK;AAAA,IACf,QAAQA,EAAK;AAAA,IACb,SAASA,EAAK;AAAA,IACd,WAAWH;AAAA,IACX,UAAU,MAAMK,EAAQ,OAAO;AAAA,EAAA;AACjC,GAG2B,CAACL,CAAgB,CAAC;"}
@@ -1,12 +1,13 @@
1
+ "use client";
1
2
  import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
3
  import n from "antd/es/flex";
3
- import g from "antd/es/progress";
4
- import { Trash as u } from "@bioturing/assets";
5
- import { Truncate as f } from "../Truncate/component.js";
4
+ import u from "antd/es/progress";
5
+ import { Trash as g } from "@bioturing/assets";
6
+ import { Truncate as f } from "../truncate/component.js";
6
7
  import { getUploadFileIcon as h } from "./utils.js";
7
8
  import { useCls as x } from "../utils/antdUtils.js";
8
9
  import { clsx as N } from "../utils/cn.js";
9
- import { IconButton as v } from "../IconButton/component.js";
10
+ import { IconButton as v } from "../icon-button/component.js";
10
11
  const U = ({
11
12
  fileName: t,
12
13
  fileType: s,
@@ -49,7 +50,7 @@ const U = ({
49
50
  children: [
50
51
  /* @__PURE__ */ e(f, { position: "middle", children: t }),
51
52
  /* @__PURE__ */ e(
52
- g,
53
+ u,
53
54
  {
54
55
  percent: d,
55
56
  size: "small",
@@ -66,7 +67,7 @@ const U = ({
66
67
  v,
67
68
  {
68
69
  label: "Remove",
69
- children: /* @__PURE__ */ e(u, { size: 16 }),
70
+ children: /* @__PURE__ */ e(g, { size: 16 }),
70
71
  onClick: c,
71
72
  size: "small"
72
73
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.js","sources":["../../../src/components/upload/item.tsx"],"sourcesContent":["\"use client\";\nimport Flex from \"antd/es/flex\";\nimport Progress from \"antd/es/progress\";\nimport { type ProgressProps } from \"antd/es/progress\";\nimport { Trash } from \"@bioturing/assets\";\nimport { IconButton } from \"../icon-button\";\nimport { Truncate } from \"../truncate/component\";\nimport { clsx, useCls } from \"../utils\";\nimport { getUploadFileIcon } from \"./utils\";\n\nexport type UploadFileStatus =\n | \"error\"\n | \"done\"\n | \"uploading\"\n | \"removed\"\n | \"pending\";\n\nexport interface UploadItemProps {\n fileName: string;\n fileType?: string;\n status?: UploadFileStatus;\n percent?: number;\n removable?: boolean;\n onRemove?: () => void;\n extraActions?: React.ReactNode;\n}\n\nexport const UploadItem = ({\n fileName,\n fileType,\n status = \"pending\",\n percent,\n removable = true,\n onRemove,\n extraActions,\n}: UploadItemProps) => {\n const cls = useCls();\n const showPercent = Math.round(percent || 0);\n const statusWithProgress: Record<UploadFileStatus, ProgressProps[\"status\"]> =\n {\n done: \"success\",\n error: \"exception\",\n uploading: \"active\",\n removed: \"normal\",\n pending: \"normal\",\n };\n return (\n <Flex\n className={clsx(cls(\"upload-item\"))}\n justify=\"space-between\"\n align=\"center\"\n data-error={status === \"error\"}\n >\n <Flex\n align=\"center\"\n gap={16}\n flex={1}\n className={cls(\"upload-item-content\")}\n >\n <span className={cls(\"upload-item-icon\")}>\n {getUploadFileIcon(fileType)}\n </span>\n <Flex\n align=\"start\"\n vertical\n flex={1}\n className={cls(\"upload-item-name-progress\")}\n >\n <Truncate position=\"middle\">{fileName}</Truncate>\n <Progress\n percent={showPercent}\n size=\"small\"\n className={cls(\"upload-item-progress\")}\n status={\n status && status in statusWithProgress\n ? statusWithProgress[status]\n : \"normal\"\n }\n />\n </Flex>\n <Flex gap={8} align=\"center\">\n {extraActions}\n {removable && (\n <IconButton\n label=\"Remove\"\n children={<Trash size={16} />}\n onClick={onRemove}\n size=\"small\"\n />\n )}\n </Flex>\n </Flex>\n </Flex>\n );\n};\n"],"names":["UploadItem","fileName","fileType","status","percent","removable","onRemove","extraActions","cls","useCls","showPercent","statusWithProgress","jsx","Flex","clsx","jsxs","getUploadFileIcon","Truncate","Progress","IconButton","Trash"],"mappings":";;;;;;;;;;AA2BO,MAAMA,IAAa,CAAC;AAAA,EACzB,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,SAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,cAAAC;AACF,MAAuB;AACrB,QAAMC,IAAMC,EAAO,GACbC,IAAc,KAAK,MAAMN,KAAW,CAAC,GACrCO,IACJ;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAEA,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKN,EAAI,aAAa,CAAC;AAAA,MAClC,SAAQ;AAAA,MACR,OAAM;AAAA,MACN,cAAYL,MAAW;AAAA,MAEvB,UAAA,gBAAAY;AAAA,QAACF;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,KAAK;AAAA,UACL,MAAM;AAAA,UACN,WAAWL,EAAI,qBAAqB;AAAA,UAEpC,UAAA;AAAA,YAAA,gBAAAI,EAAC,UAAK,WAAWJ,EAAI,kBAAkB,GACpC,UAAAQ,EAAkBd,CAAQ,GAC7B;AAAA,YACA,gBAAAa;AAAA,cAACF;AAAA,cAAA;AAAA,gBACC,OAAM;AAAA,gBACN,UAAQ;AAAA,gBACR,MAAM;AAAA,gBACN,WAAWL,EAAI,2BAA2B;AAAA,gBAE1C,UAAA;AAAA,kBAAC,gBAAAI,EAAAK,GAAA,EAAS,UAAS,UAAU,UAAShB,GAAA;AAAA,kBACtC,gBAAAW;AAAA,oBAACM;AAAA,oBAAA;AAAA,sBACC,SAASR;AAAA,sBACT,MAAK;AAAA,sBACL,WAAWF,EAAI,sBAAsB;AAAA,sBACrC,QACEL,KAAUA,KAAUQ,IAChBA,EAAmBR,CAAM,IACzB;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAER;AAAA,cAAA;AAAA,YACF;AAAA,YACC,gBAAAY,EAAAF,GAAA,EAAK,KAAK,GAAG,OAAM,UACjB,UAAA;AAAA,cAAAN;AAAA,cACAF,KACC,gBAAAO;AAAA,gBAACO;AAAA,gBAAA;AAAA,kBACC,OAAM;AAAA,kBACN,UAAU,gBAAAP,EAACQ,GAAM,EAAA,MAAM,GAAI,CAAA;AAAA,kBAC3B,SAASd;AAAA,kBACT,MAAK;AAAA,gBAAA;AAAA,cAAA;AAAA,YACP,EAEJ,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/components/Upload/utils.tsx"],"sourcesContent":["import { File, Folder } from \"@bioturing/assets\";\n\nexport const getUploadFileIcon = (fileType?: string) => {\n return fileType === \"folder\" ? (\n <Folder size={20} weight=\"fill\" />\n ) : (\n <File size={20} weight=\"fill\" />\n );\n};\n"],"names":["getUploadFileIcon","fileType","jsx","Folder","File"],"mappings":";;AAEa,MAAAA,IAAoB,CAACC,MACzBA,MAAa,WACjB,gBAAAC,EAAAC,GAAA,EAAO,MAAM,IAAI,QAAO,OAAO,CAAA,IAE/B,gBAAAD,EAAAE,GAAA,EAAK,MAAM,IAAI,QAAO,QAAO;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/upload/utils.tsx"],"sourcesContent":["import { File, Folder } from \"@bioturing/assets\";\n\nexport const getUploadFileIcon = (fileType?: string) => {\n return fileType === \"folder\" ? (\n <Folder size={20} weight=\"fill\" />\n ) : (\n <File size={20} weight=\"fill\" />\n );\n};\n"],"names":["getUploadFileIcon","fileType","jsx","Folder","File"],"mappings":";;AAEa,MAAAA,IAAoB,CAACC,MACzBA,MAAa,WACjB,gBAAAC,EAAAC,GAAA,EAAO,MAAM,IAAI,QAAO,OAAO,CAAA,IAE/B,gBAAAD,EAAAE,GAAA,EAAK,MAAM,IAAI,QAAO,QAAO;"}
@@ -0,0 +1,16 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { forwardRef as m } from "react";
3
+ import { useRender as i } from "@base-ui-components/react/use-render";
4
+ const p = (e, r) => {
5
+ const { render: t, as: n = "div", ...o } = e;
6
+ return i({
7
+ render: t || ((d) => /* @__PURE__ */ s(n, { ...d })),
8
+ props: o,
9
+ state: e.state,
10
+ ref: r
11
+ });
12
+ }, h = m(p);
13
+ export {
14
+ h as WithRenderProp
15
+ };
16
+ //# sourceMappingURL=WithRenderProp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WithRenderProp.js","sources":["../../../src/components/utils/WithRenderProp.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { useRender } from \"@base-ui-components/react/use-render\";\nimport { ElementTypeToDOMType } from \"./types\";\n\nexport type WithRenderPropProps<\n T extends React.ElementType = \"div\",\n State extends Record<string, unknown> = Record<string, unknown>\n> = React.ComponentPropsWithoutRef<T> & {\n render?: useRender.RenderProp<State>;\n as?: T;\n state?: State;\n};\n\nconst WithRenderPropInner = <\n T extends React.ElementType = \"div\",\n State extends Record<string, unknown> = Record<string, unknown>\n>(\n props: WithRenderPropProps<T, State>,\n ref: React.ForwardedRef<T>\n) => {\n const { render, as: Tag = \"div\", ...etc } = props;\n const renderedElement = useRender({\n render: render || ((props) => <Tag {...props} />),\n props: etc,\n state: props.state,\n ref: ref as unknown as React.Ref<ElementTypeToDOMType<T>>,\n });\n return renderedElement;\n};\n\nexport const WithRenderProp = forwardRef(WithRenderPropInner) as <\n T extends React.ElementType = \"div\",\n State extends Record<string, unknown> = Record<string, unknown>\n>(\n props: WithRenderPropProps<T, State> & {\n ref?: React.Ref<ElementTypeToDOMType<T>>;\n }\n) => ReturnType<typeof WithRenderPropInner>;\n"],"names":["WithRenderPropInner","props","ref","render","Tag","etc","useRender","jsx","WithRenderProp","forwardRef"],"mappings":";;;AAaA,MAAMA,IAAsB,CAI1BC,GACAC,MACG;AACH,QAAM,EAAE,QAAAC,GAAQ,IAAIC,IAAM,OAAO,GAAGC,MAAQJ;AAOrC,SANiBK,EAAU;AAAA,IAChC,QAAQH,MAAW,CAACF,MAAW,gBAAAM,EAAAH,GAAA,EAAK,GAAGH,EAAO,CAAA;AAAA,IAC9C,OAAOI;AAAA,IACP,OAAOJ,EAAM;AAAA,IACb,KAAAC;AAAA,EAAA,CACD;AAEH,GAEaM,IAAiBC,EAAWT,CAAmB;"}
@@ -0,0 +1,10 @@
1
+ const O = {
2
+ fallbackAxisSide: "none"
3
+ }, A = {
4
+ fallbackAxisSide: "end"
5
+ };
6
+ export {
7
+ O as DROPDOWN_COLLISION_AVOIDANCE,
8
+ A as POPUP_COLLISION_AVOIDANCE
9
+ };
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../src/components/utils/constants.ts"],"sourcesContent":["/**\n * Used for dropdowns that usually strictly prefer top/bottom placements and\n * use `var(--available-height)` to limit their height.\n */\nexport const DROPDOWN_COLLISION_AVOIDANCE = {\n fallbackAxisSide: \"none\",\n} as const;\n\n/**\n * Used by regular popups that usually aren't scrollable and are allowed to\n * freely flip to any axis of placement.\n */\nexport const POPUP_COLLISION_AVOIDANCE = {\n fallbackAxisSide: \"end\",\n} as const;\n"],"names":["DROPDOWN_COLLISION_AVOIDANCE","POPUP_COLLISION_AVOIDANCE"],"mappings":"AAIO,MAAMA,IAA+B;AAAA,EAC1C,kBAAkB;AACpB,GAMaC,IAA4B;AAAA,EACvC,kBAAkB;AACpB;"}
@@ -4,13 +4,13 @@ import { useState as I, useRef as g, useEffect as j } from "react";
4
4
  import { Collapsible as n } from "@base-ui-components/react";
5
5
  import { MinusCircle as M, PlusCircle as R } from "@bioturing/assets";
6
6
  import { useControlledState as S } from "../hooks/useControlledState.js";
7
- import { Truncate as A } from "../Truncate/component.js";
8
7
  import './style.css';/* empty css */
9
- import { Transition as E } from "../Transition/component.js";
10
- import { useCls as T } from "../utils/antdUtils.js";
11
- import { useAnimationsFinished as V } from "../hooks/base-ui.js";
8
+ import { Transition as A } from "../transition/component.js";
9
+ import { useCls as E } from "../utils/antdUtils.js";
10
+ import { useAnimationsFinished as T } from "../hooks/base-ui.js";
12
11
  import { clsx as a } from "../utils/cn.js";
13
- import { IconButton as f } from "../IconButton/component.js";
12
+ import { Truncate as V } from "../truncate/component.js";
13
+ import { IconButton as f } from "../icon-button/component.js";
14
14
  const X = ({
15
15
  children: h,
16
16
  title: i,
@@ -27,11 +27,11 @@ const X = ({
27
27
  useTitleAsTrigger: c = !0,
28
28
  keepMounted: w = !1
29
29
  }) => {
30
- const e = T(), [s, t] = S(
30
+ const e = E(), [s, t] = S(
31
31
  u,
32
32
  N,
33
33
  b
34
- ), [k, B] = I(s), m = g(null), d = V(m, {
34
+ ), [k, B] = I(s), m = g(null), d = T(m, {
35
35
  waitForNextTick: s
36
36
  });
37
37
  return j(() => {
@@ -63,7 +63,7 @@ const X = ({
63
63
  style: c ? {
64
64
  cursor: "pointer"
65
65
  } : {},
66
- children: typeof i == "string" ? /* @__PURE__ */ l(A, { children: i }) : i
66
+ children: typeof i == "string" ? /* @__PURE__ */ l(V, { children: i }) : i
67
67
  }
68
68
  ),
69
69
  /* @__PURE__ */ r("div", { className: e("collapsible-panel-header-actions"), children: [
@@ -108,7 +108,7 @@ const X = ({
108
108
  } : {},
109
109
  keepMounted: w,
110
110
  children: /* @__PURE__ */ l(
111
- E,
111
+ A,
112
112
  {
113
113
  show: k,
114
114
  className: a(e("collapsible-panel-body"), v),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/vertical-collapsible-panel/component.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Collapsible } from \"@base-ui-components/react\";\nimport { MinusCircle, PlusCircle } from \"@bioturing/assets\";\nimport { useCls, clsx } from \"../utils\";\nimport { useControlledState } from \"../hooks/useControlledState\";\nimport { Transition } from \"../transition\";\nimport { useAnimationsFinished } from \"../hooks\";\nimport { IconButton } from \"../icon-button\";\nimport { Truncate } from \"../truncate\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport interface VerticalCollapsiblePanelProps {\n /**\n * The content of the panel that will be toggled\n */\n children: React.ReactNode;\n /**\n * The header of the panel\n */\n title?: React.ReactNode;\n /**\n * Indicate if the title should be used as a trigger\n * @default true\n */\n useTitleAsTrigger?: boolean;\n /**\n * Custom Content Padding\n * @default \"24px\"\n */\n contentPadding?: number | string | boolean;\n /**\n * Add more content below the title\n * Only show when panel is open\n */\n afterTitle?: React.ReactNode;\n\n /**\n * Whether the panel is expanded by default\n */\n defaultOpen?: boolean;\n /**\n * Control the open state (makes the component controlled)\n */\n open?: boolean;\n /**\n * Callback when the open state changes\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * Additional class name for the component\n */\n className?: string;\n /**\n * Addtional class name for the header\n */\n headerClassName?: string;\n /**\n * Addtional class name for the header\n */\n headerInnerClassName?: string;\n /**\n * Addtional class name for the body\n * */\n bodyClassName?: string;\n /**\n * Actions to be displayed in the header\n * Only show when panel is open\n */\n actions?: React.ReactNode;\n /**\n * Keeping it as mounted, just hide the content\n */\n keepMounted?: boolean;\n}\n\nexport const VerticalCollapsiblePanel: React.FC<\n VerticalCollapsiblePanelProps\n> = ({\n children,\n title,\n defaultOpen = false,\n open: controlledOpen,\n onOpenChange,\n className,\n headerClassName,\n headerInnerClassName,\n bodyClassName,\n contentPadding = \"16px\",\n afterTitle,\n actions,\n useTitleAsTrigger = true,\n keepMounted = false,\n}) => {\n const cls = useCls();\n // Use useControlledState for open state\n const [isOpen, setIsOpen] = useControlledState(\n controlledOpen,\n onOpenChange,\n defaultOpen\n );\n const [isBodyOpen, setIsBodyOpen] = useState(isOpen);\n const ref = useRef<HTMLDivElement>(null);\n const runOnceAnimationsFinish = useAnimationsFinished(ref, {\n waitForNextTick: isOpen,\n });\n useEffect(() => {\n runOnceAnimationsFinish(() => {\n setIsBodyOpen(isOpen);\n });\n }, [isOpen, runOnceAnimationsFinish]);\n return (\n <Collapsible.Root\n className={clsx(cls(\"collapsible-panel\"), className)}\n open={isOpen}\n onOpenChange={setIsOpen}\n ref={ref}\n >\n <div className={clsx(cls(\"collapsible-panel-header\"), headerClassName)}>\n <div\n className={clsx(\n cls(\"collapsible-panel-header-inner\"),\n headerInnerClassName\n )}\n >\n <div\n className={cls(\"collapsible-panel-header-text\")}\n onClick={\n useTitleAsTrigger ? () => setIsOpen((open) => !open) : undefined\n }\n style={\n useTitleAsTrigger\n ? {\n cursor: \"pointer\",\n }\n : {}\n }\n >\n {typeof title == \"string\" ? <Truncate>{title}</Truncate> : title}\n </div>\n <div className={cls(\"collapsible-panel-header-actions\")}>\n {isOpen && actions}\n <Collapsible.Trigger\n className={cls(\"collapsible-panel-trigger\")}\n render={\n isOpen ? (\n <IconButton>\n <MinusCircle\n weight=\"bold\"\n className={clsx(\n cls(\"collapsible-panel-caret\"),\n isOpen && cls(\"collapsible-panel-caret-open\")\n )}\n />\n </IconButton>\n ) : (\n <IconButton>\n <PlusCircle\n weight=\"bold\"\n className={clsx(\n cls(\"collapsible-panel-caret\"),\n isOpen && cls(\"collapsible-panel-caret-open\")\n )}\n />\n </IconButton>\n )\n }\n ></Collapsible.Trigger>\n </div>\n </div>\n {isOpen && afterTitle && (\n <div className={cls(\"collapsible-panel-header-after\")}>\n {afterTitle}\n </div>\n )}\n </div>\n <Collapsible.Panel\n className={cls(\"collapsible-panel-content\")}\n style={\n (typeof contentPadding != \"undefined\"\n ? {\n \"--ds-content-padding\":\n contentPadding === false || contentPadding === 0\n ? \"0\"\n : typeof contentPadding == \"number\"\n ? `${contentPadding}px`\n : contentPadding,\n }\n : {}) as React.CSSProperties\n }\n keepMounted={keepMounted}\n >\n <Transition\n show={isBodyOpen}\n className={clsx(cls(\"collapsible-panel-body\"), bodyClassName)}\n keepMounted\n >\n <div>{children}</div>\n </Transition>\n </Collapsible.Panel>\n </Collapsible.Root>\n );\n};\n"],"names":["VerticalCollapsiblePanel","children","title","defaultOpen","controlledOpen","onOpenChange","className","headerClassName","headerInnerClassName","bodyClassName","contentPadding","afterTitle","actions","useTitleAsTrigger","keepMounted","cls","useCls","isOpen","setIsOpen","useControlledState","isBodyOpen","setIsBodyOpen","useState","ref","useRef","runOnceAnimationsFinish","useAnimationsFinished","useEffect","jsxs","Collapsible","clsx","jsx","open","Truncate","IconButton","MinusCircle","PlusCircle","Transition"],"mappings":";;;;;;;;;;;;;AA8EO,MAAMA,IAET,CAAC;AAAA,EACH,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,MAAMC;AAAA,EACN,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,mBAAAC,IAAoB;AAAA,EACpB,aAAAC,IAAc;AAChB,MAAM;AACJ,QAAMC,IAAMC,EAAO,GAEb,CAACC,GAAQC,CAAS,IAAIC;AAAA,IAC1Bf;AAAA,IACAC;AAAA,IACAF;AAAA,EACF,GACM,CAACiB,GAAYC,CAAa,IAAIC,EAASL,CAAM,GAC7CM,IAAMC,EAAuB,IAAI,GACjCC,IAA0BC,EAAsBH,GAAK;AAAA,IACzD,iBAAiBN;AAAA,EAAA,CAClB;AACD,SAAAU,EAAU,MAAM;AACd,IAAAF,EAAwB,MAAM;AAC5B,MAAAJ,EAAcJ,CAAM;AAAA,IAAA,CACrB;AAAA,EAAA,GACA,CAACA,GAAQQ,CAAuB,CAAC,GAElC,gBAAAG;AAAA,IAACC,EAAY;AAAA,IAAZ;AAAA,MACC,WAAWC,EAAKf,EAAI,mBAAmB,GAAGT,CAAS;AAAA,MACnD,MAAMW;AAAA,MACN,cAAcC;AAAA,MACd,KAAAK;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAK,EAAC,SAAI,WAAWE,EAAKf,EAAI,0BAA0B,GAAGR,CAAe,GACnE,UAAA;AAAA,UAAA,gBAAAqB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWE;AAAA,gBACTf,EAAI,gCAAgC;AAAA,gBACpCP;AAAA,cACF;AAAA,cAEA,UAAA;AAAA,gBAAA,gBAAAuB;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,WAAWhB,EAAI,+BAA+B;AAAA,oBAC9C,SACEF,IAAoB,MAAMK,EAAU,CAACc,MAAS,CAACA,CAAI,IAAI;AAAA,oBAEzD,OACEnB,IACI;AAAA,sBACE,QAAQ;AAAA,oBAAA,IAEV,CAAC;AAAA,oBAGN,iBAAOX,KAAS,WAAY,gBAAA6B,EAAAE,GAAA,EAAU,aAAM,IAAc/B;AAAA,kBAAA;AAAA,gBAC7D;AAAA,gBACC,gBAAA0B,EAAA,OAAA,EAAI,WAAWb,EAAI,kCAAkC,GACnD,UAAA;AAAA,kBAAUE,KAAAL;AAAA,kBACX,gBAAAmB;AAAA,oBAACF,EAAY;AAAA,oBAAZ;AAAA,sBACC,WAAWd,EAAI,2BAA2B;AAAA,sBAC1C,QACEE,IACE,gBAAAc,EAACG,GACC,EAAA,UAAA,gBAAAH;AAAA,wBAACI;AAAA,wBAAA;AAAA,0BACC,QAAO;AAAA,0BACP,WAAWL;AAAA,4BACTf,EAAI,yBAAyB;AAAA,4BAC7BE,KAAUF,EAAI,8BAA8B;AAAA,0BAAA;AAAA,wBAC9C;AAAA,sBACF,EAAA,CACF,IAEA,gBAAAgB,EAACG,GACC,EAAA,UAAA,gBAAAH;AAAA,wBAACK;AAAA,wBAAA;AAAA,0BACC,QAAO;AAAA,0BACP,WAAWN;AAAA,4BACTf,EAAI,yBAAyB;AAAA,4BAC7BE,KAAUF,EAAI,8BAA8B;AAAA,0BAAA;AAAA,wBAC9C;AAAA,sBAAA,EAEJ,CAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAGL,EACH,CAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,UACCE,KAAUN,KACR,gBAAAoB,EAAA,OAAA,EAAI,WAAWhB,EAAI,gCAAgC,GACjD,UACHJ,EAAA,CAAA;AAAA,QAAA,GAEJ;AAAA,QACA,gBAAAoB;AAAA,UAACF,EAAY;AAAA,UAAZ;AAAA,YACC,WAAWd,EAAI,2BAA2B;AAAA,YAC1C,OACG,OAAOL,IAAkB,MACtB;AAAA,cACE,wBACEA,MAAmB,MAASA,MAAmB,IAC3C,MACA,OAAOA,KAAkB,WACzB,GAAGA,CAAc,OACjBA;AAAA,YAAA,IAER,CAAC;AAAA,YAEP,aAAAI;AAAA,YAEA,UAAA,gBAAAiB;AAAA,cAACM;AAAA,cAAA;AAAA,gBACC,MAAMjB;AAAA,gBACN,WAAWU,EAAKf,EAAI,wBAAwB,GAAGN,CAAa;AAAA,gBAC5D,aAAW;AAAA,gBAEX,UAAA,gBAAAsB,EAAC,SAAK,UAAA9B,EAAS,CAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UACjB;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EACF;AAEJ;"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,6 @@ import { Alert } from 'antd';
5
5
  import { AlertProps } from 'antd';
6
6
  import { AliasToken } from 'antd/es/theme/internal';
7
7
  import { Anchor } from 'antd';
8
- import { AnchorHTMLAttributes } from 'react';
9
8
  import { AnchorLinkProps } from 'antd';
10
9
  import { AnchorProps } from 'antd';
11
10
  import { App } from 'antd';
@@ -71,6 +70,7 @@ import { default as default_8 } from 'antd/es/form/Form';
71
70
  import { default as default_9 } from 'antd/es/form/hooks/useFormInstance';
72
71
  import { Descriptions } from 'antd';
73
72
  import { DescriptionsProps } from 'antd';
73
+ import { Dialog } from '@base-ui-components/react';
74
74
  import { DirectoryTreeProps as DirectoryTreeProps_2 } from 'antd/es/tree';
75
75
  import { Divider } from 'antd';
76
76
  import { DividerProps } from 'antd';
@@ -242,6 +242,7 @@ import { default as useApp } from 'antd/es/app/useApp';
242
242
  import { useForm } from 'antd/es/form/Form';
243
243
  import { useLayoutEffect } from 'react';
244
244
  import { useRender } from '@base-ui-components/react/use-render';
245
+ import { useRender as useRender_2 } from '@base-ui-components/react';
245
246
  import { useWatch } from 'antd/es/form/Form';
246
247
  import { version } from 'antd';
247
248
  import { Watermark } from 'antd';
@@ -263,8 +264,6 @@ export { AnchorLinkProps }
263
264
 
264
265
  export { AnchorProps }
265
266
 
266
- declare type AnchorSpecificProps = Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "rel" | "download" | "hrefLang" | "referrerPolicy">;
267
-
268
267
  export declare const antdColorTokens: ColorTokens;
269
268
 
270
269
  declare type AnyFunction = (...args: any[]) => any;
@@ -425,6 +424,25 @@ export declare interface CheckInfo<TreeDataType extends BasicDataNode = TreeData
425
424
  halfCheckedKeys?: Key[];
426
425
  }
427
426
 
427
+ declare type Children = {
428
+ children?: default_2.ReactNode;
429
+ };
430
+
431
+ export declare const ChoiceList: <M extends boolean = false>({ items, multiple, value, onChange, searchProps, }: ChoiceListProps<M>) => JSX.Element;
432
+
433
+ export declare type ChoiceListItem = {
434
+ label: React.ReactNode;
435
+ value?: string;
436
+ };
437
+
438
+ export declare interface ChoiceListProps<M extends boolean = false> {
439
+ items: ChoiceListItem[];
440
+ multiple?: M;
441
+ value?: M extends true ? string[] : string;
442
+ onChange?: (value: M extends true ? string[] : string) => void;
443
+ searchProps?: React.ComponentProps<typeof pkg.Input>;
444
+ }
445
+
428
446
  export declare interface ClassArray extends Array<ClassValue> {
429
447
  }
430
448
 
@@ -904,6 +922,8 @@ export declare type ColorTokenValue = {
904
922
 
905
923
  export { ColProps }
906
924
 
925
+ declare type CommandFilter = (value: string, search: string, keywords?: string[]) => number;
926
+
907
927
  export declare type ComponentCategory = "Actions" | "General" | "Layout" | "Navigation" | "Data Entry" | "Data Display" | "Feedback" | "Overlay" | "Utility";
908
928
 
909
929
  /**
@@ -928,6 +948,14 @@ export declare type ComponentMetadata = {
928
948
  };
929
949
 
930
950
  export declare const componentMetadata: {
951
+ ChoiceList: {
952
+ name: string;
953
+ link: string;
954
+ base: "custom";
955
+ refinements: string[];
956
+ category: "Data Entry";
957
+ description: string;
958
+ };
931
959
  DragDrop: {
932
960
  name: string;
933
961
  link: string;
@@ -1333,6 +1361,8 @@ export { Divider }
1333
1361
 
1334
1362
  export { DividerProps }
1335
1363
 
1364
+ declare type DivProps = WithRenderPropProps<"div">;
1365
+
1336
1366
  export declare type DragData = unknown;
1337
1367
 
1338
1368
  /**
@@ -1523,7 +1553,15 @@ export { DrawerProps }
1523
1553
 
1524
1554
  export { Dropdown }
1525
1555
 
1526
- export declare const DropdownMenu: ({ children, items, placement, openOnHover, open: outsideOpen, onOpenChange: outsideOnOpenChange, className, itemRender, classNames, }: DropdownMenuProps) => JSX.Element;
1556
+ /**
1557
+ * Used for dropdowns that usually strictly prefer top/bottom placements and
1558
+ * use `var(--available-height)` to limit their height.
1559
+ */
1560
+ export declare const DROPDOWN_COLLISION_AVOIDANCE: {
1561
+ readonly fallbackAxisSide: "none";
1562
+ };
1563
+
1564
+ export declare const DropdownMenu: ({ children, items, placement, openOnHover, open: outsideOpen, onOpenChange: outsideOnOpenChange, className, itemRender, classNames, size, showSearch, searchProps, }: DropdownMenuProps) => JSX.Element;
1527
1565
 
1528
1566
  export declare type DropdownMenuItemType = {
1529
1567
  type: "item";
@@ -1592,6 +1630,20 @@ export declare interface DropdownMenuProps {
1592
1630
  * Custom render function for menu items
1593
1631
  */
1594
1632
  itemRender?: (item: DropdownMenuItemType, props: React.HTMLAttributes<HTMLElement>) => React.ReactElement;
1633
+ /**
1634
+ * Whether to show search input
1635
+ * @default false
1636
+ */
1637
+ showSearch?: boolean;
1638
+ /**
1639
+ * Size of the dropdown menu
1640
+ * @default "auto"
1641
+ */
1642
+ size?: "auto" | keyof typeof PopupPanelSize;
1643
+ /**
1644
+ * Search placeholder
1645
+ */
1646
+ searchProps?: Omit<React.ComponentProps<typeof pkg.Input>, "size" | "ref">;
1595
1647
  }
1596
1648
 
1597
1649
  export { DropDownProps }
@@ -1616,6 +1668,8 @@ export declare interface DSRootProps extends ThemeProviderProps {
1616
1668
  appendClassesTo?: string | HTMLElement;
1617
1669
  }
1618
1670
 
1671
+ export declare type ElementTypeToDOMType<T extends React.ElementType> = T extends keyof JSX_2.IntrinsicElements ? JSX_2.IntrinsicElements[T] extends React.DetailedHTMLProps<infer _Props, infer Element> ? Element : never : never;
1672
+
1619
1673
  export declare const Empty: ({ image, size, className, ...rest }: EmptyProps) => JSX.Element;
1620
1674
 
1621
1675
  export declare const EmptyIcon: React_2.FC<React_2.ComponentPropsWithRef<"svg">>;
@@ -1721,9 +1775,18 @@ export { GlobalToken }
1721
1775
 
1722
1776
  export { Grid }
1723
1777
 
1724
- export declare const IconButton: IconButtonComponent;
1778
+ export declare const IconButton: <E extends ElementType = "button">(props: IconButtonProps<E> & {
1779
+ ref?: ComponentPropsWithRef<E>["ref"];
1780
+ }) => ReturnType<typeof IconButtonImpl>;
1725
1781
 
1726
- declare type IconButtonBaseProps = {
1782
+ /**
1783
+ * Implementation of the IconButton component
1784
+ */
1785
+ declare const IconButtonImpl: <E extends ElementType = "button">({ label, size, negativeMargin, children, className, tooltipProps, as, href, target, rel, download, hrefLang, referrerPolicy, loading, render, ...rest }: IconButtonProps<E>, ref: Ref<ElementTypeToDOMType<E>>) => JSX.Element;
1786
+
1787
+ export declare type IconButtonProps<E extends ElementType = "button"> = WithRenderPropProps<E, {
1788
+ loading: boolean;
1789
+ }> & {
1727
1790
  /**
1728
1791
  * Label text or element to display within tooltip
1729
1792
  * @default undefined
@@ -1748,25 +1811,8 @@ declare type IconButtonBaseProps = {
1748
1811
  * Props to pass to the Tooltip component when wrapping the button
1749
1812
  */
1750
1813
  tooltipProps?: TooltipProps;
1751
- /**
1752
- * Custom render function for the button
1753
- */
1754
- render?: useRender.RenderProp<{
1755
- loading: boolean;
1756
- }>;
1757
1814
  };
1758
1815
 
1759
- /**
1760
- * Type for wrapping the forwardRef implementation
1761
- */
1762
- declare type IconButtonComponent = <E extends ElementType = "button">(props: IconButtonProps<E> & {
1763
- ref?: ComponentPropsWithRef<E>["ref"];
1764
- }) => ReactElement;
1765
-
1766
- declare type IconButtonOwnProps<E extends ElementType = ElementType> = WithHrefProps<E> | WithoutHrefProps<E>;
1767
-
1768
- export declare type IconButtonProps<E extends ElementType = "button"> = IconButtonOwnProps<E> & Omit<ComponentPropsWithoutRef<E>, keyof IconButtonOwnProps<E>>;
1769
-
1770
1816
  declare const InnerInternalTable: <RecordType extends object = object>({ columns, locale, emptyDescription, loading, virtual, scroll: scrollProp, className, variant, ...rest }: TableProps<RecordType>, ref: Ref<TableRef>) => JSX.Element;
1771
1817
 
1772
1818
  declare function InnerToast({ toast, }: {
@@ -1973,7 +2019,7 @@ export declare function moveTypingCursorToEnd(contentEditableElement: HTMLElemen
1973
2019
  export declare const Nav: {
1974
2020
  Item: <T extends HTMLElement>(props: NavItemProps & {
1975
2021
  ref?: React.Ref<T>;
1976
- }) => ReturnType<(<T_1 extends HTMLElement>({ icon, active, render, onClick, className, children, changeIconWeightOnActive, ...rest }: NavItemProps, ref: React.Ref<T_1>) => null)>;
2022
+ }) => ReturnType<(<T_1 extends HTMLElement>({ icon, active, render, className, children, changeIconWeightOnActive, ...rest }: NavItemProps, ref: React.Ref<T_1>) => null)>;
1977
2023
  Heading: ({ children, className, ...rest }: NavHeadingProps) => JSX.Element;
1978
2024
  Group: ForwardRefExoticComponent<NavGroupProps & RefAttributes<HTMLDivElement>>;
1979
2025
  };
@@ -2040,6 +2086,173 @@ declare const PasswordInner: (props: PasswordProps, ref: React.Ref<InputRef>) =>
2040
2086
  export declare interface PasswordProps extends PasswordProps_2 {
2041
2087
  }
2042
2088
 
2089
+ declare const pkg: default_2.ForwardRefExoticComponent<Children & Omit<default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
2090
+ render?: useRender_2.RenderProp<Record<string, unknown>>;
2091
+ as?: "div";
2092
+ state?: Record<string, unknown>;
2093
+ } & {
2094
+ /**
2095
+ * Accessible label for this command menu. Not shown visibly.
2096
+ */
2097
+ label?: string;
2098
+ /**
2099
+ * Optionally set to `false` to turn off the automatic filtering and sorting.
2100
+ * If `false`, you must conditionally render valid items based on the search query yourself.
2101
+ */
2102
+ shouldFilter?: boolean;
2103
+ /**
2104
+ * Custom filter function for whether each command menu item should matches the given search query.
2105
+ * It should return a number between 0 and 1, with 1 being the best match and 0 being hidden entirely.
2106
+ * By default, uses the `command-score` library.
2107
+ */
2108
+ filter?: CommandFilter;
2109
+ /**
2110
+ * Optional default item value when it is initially rendered.
2111
+ */
2112
+ defaultValue?: string;
2113
+ /**
2114
+ * Optional controlled state of the selected command menu item.
2115
+ */
2116
+ value?: string;
2117
+ /**
2118
+ * Event handler called when the selected item of the menu changes.
2119
+ */
2120
+ onValueChange?: (value: string) => void;
2121
+ /**
2122
+ * Optionally set to `true` to turn on looping around when using the arrow keys.
2123
+ */
2124
+ loop?: boolean;
2125
+ /**
2126
+ * Optionally set to `true` to disable selection via pointer events.
2127
+ */
2128
+ disablePointerSelection?: boolean;
2129
+ /**
2130
+ * Set to `false` to disable ctrl+n/j/p/k shortcuts. Defaults to `true`.
2131
+ */
2132
+ vimBindings?: boolean;
2133
+ } & default_2.RefAttributes<HTMLDivElement>> & {
2134
+ List: default_2.ForwardRefExoticComponent<Children & Omit<default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
2135
+ render?: useRender_2.RenderProp<Record<string, unknown>>;
2136
+ as?: "div";
2137
+ state?: Record<string, unknown>;
2138
+ } & {
2139
+ /**
2140
+ * Accessible label for this List of suggestions. Not shown visibly.
2141
+ */
2142
+ label?: string;
2143
+ } & default_2.RefAttributes<HTMLDivElement>>;
2144
+ Item: default_2.ForwardRefExoticComponent<Children & Omit<DivProps, "value" | "onSelect" | "disabled"> & {
2145
+ /** Whether this item is currently disabled. */
2146
+ disabled?: boolean;
2147
+ /** Event handler for when this item is selected, either via click or keyboard selection. */
2148
+ onSelect?: (value: string) => void;
2149
+ /**
2150
+ * A unique value for this item.
2151
+ * If no value is provided, it will be inferred from `children` or the rendered `textContent`. If your `textContent` changes between renders, you _must_ provide a stable, unique `value`.
2152
+ */
2153
+ value?: string;
2154
+ /** Optional keywords to match against when filtering. */
2155
+ keywords?: string[];
2156
+ /** Whether this item is forcibly rendered regardless of filtering. */
2157
+ forceMount?: boolean;
2158
+ } & default_2.RefAttributes<HTMLDivElement>>;
2159
+ Input: default_2.ForwardRefExoticComponent<Omit<WithRenderPropProps<"input">, "type" | "value" | "onChange"> & {
2160
+ /**
2161
+ * Optional controlled state for the value of the search input.
2162
+ */
2163
+ value?: string;
2164
+ /**
2165
+ * Event handler called when the search value changes.
2166
+ */
2167
+ onValueChange?: (search: string) => void;
2168
+ } & default_2.RefAttributes<HTMLInputElement>>;
2169
+ Group: default_2.ForwardRefExoticComponent<Children & Omit<DivProps, "value" | "heading"> & {
2170
+ /** Optional heading to render for this group. */
2171
+ heading?: default_2.ReactNode;
2172
+ /** If no heading is provided, you must provide a value that is unique for this group. */
2173
+ value?: string;
2174
+ /** Whether this group is forcibly rendered regardless of filtering. */
2175
+ forceMount?: boolean;
2176
+ } & default_2.RefAttributes<HTMLDivElement>>;
2177
+ Separator: default_2.ForwardRefExoticComponent<Omit<default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
2178
+ render?: useRender_2.RenderProp<Record<string, unknown>>;
2179
+ as?: "div";
2180
+ state?: Record<string, unknown>;
2181
+ } & {
2182
+ /** Whether this separator should always be rendered. Useful if you disable automatic filtering. */
2183
+ alwaysRender?: boolean;
2184
+ } & default_2.RefAttributes<HTMLDivElement>>;
2185
+ Dialog: default_2.ForwardRefExoticComponent<Dialog.Root.Props & Children & Omit<default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
2186
+ render?: useRender_2.RenderProp<Record<string, unknown>>;
2187
+ as?: "div";
2188
+ state?: Record<string, unknown>;
2189
+ } & {
2190
+ /**
2191
+ * Accessible label for this command menu. Not shown visibly.
2192
+ */
2193
+ label?: string;
2194
+ /**
2195
+ * Optionally set to `false` to turn off the automatic filtering and sorting.
2196
+ * If `false`, you must conditionally render valid items based on the search query yourself.
2197
+ */
2198
+ shouldFilter?: boolean;
2199
+ /**
2200
+ * Custom filter function for whether each command menu item should matches the given search query.
2201
+ * It should return a number between 0 and 1, with 1 being the best match and 0 being hidden entirely.
2202
+ * By default, uses the `command-score` library.
2203
+ */
2204
+ filter?: CommandFilter;
2205
+ /**
2206
+ * Optional default item value when it is initially rendered.
2207
+ */
2208
+ defaultValue?: string;
2209
+ /**
2210
+ * Optional controlled state of the selected command menu item.
2211
+ */
2212
+ value?: string;
2213
+ /**
2214
+ * Event handler called when the selected item of the menu changes.
2215
+ */
2216
+ onValueChange?: (value: string) => void;
2217
+ /**
2218
+ * Optionally set to `true` to turn on looping around when using the arrow keys.
2219
+ */
2220
+ loop?: boolean;
2221
+ /**
2222
+ * Optionally set to `true` to disable selection via pointer events.
2223
+ */
2224
+ disablePointerSelection?: boolean;
2225
+ /**
2226
+ * Set to `false` to disable ctrl+n/j/p/k shortcuts. Defaults to `true`.
2227
+ */
2228
+ vimBindings?: boolean;
2229
+ } & {
2230
+ /** Provide a className to the Dialog overlay. */
2231
+ overlayClassName?: string;
2232
+ /** Provide a className to the Dialog content. */
2233
+ contentClassName?: string;
2234
+ /** Provide a custom element the Dialog should portal into. */
2235
+ container?: HTMLElement;
2236
+ } & default_2.RefAttributes<HTMLDivElement>>;
2237
+ Empty: default_2.ForwardRefExoticComponent<Children & Omit<default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
2238
+ render?: useRender_2.RenderProp<Record<string, unknown>>;
2239
+ as?: "div";
2240
+ state?: Record<string, unknown>;
2241
+ } & default_2.RefAttributes<HTMLDivElement>>;
2242
+ Loading: default_2.ForwardRefExoticComponent<Children & Omit<default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
2243
+ render?: useRender_2.RenderProp<Record<string, unknown>>;
2244
+ as?: "div";
2245
+ state?: Record<string, unknown>;
2246
+ } & {
2247
+ /** Estimated progress of loading asynchronous options. */
2248
+ progress?: number;
2249
+ /**
2250
+ * Accessible label for this loading progressbar. Not shown visibly.
2251
+ */
2252
+ label?: string;
2253
+ } & default_2.RefAttributes<HTMLDivElement>>;
2254
+ };
2255
+
2043
2256
  export { Popconfirm }
2044
2257
 
2045
2258
  export { PopconfirmProps }
@@ -2054,6 +2267,14 @@ export declare interface PopoverProps extends PopoverProps_2 {
2054
2267
  arrow?: PopoverProps_2["arrow"];
2055
2268
  }
2056
2269
 
2270
+ /**
2271
+ * Used by regular popups that usually aren't scrollable and are allowed to
2272
+ * freely flip to any axis of placement.
2273
+ */
2274
+ export declare const POPUP_COLLISION_AVOIDANCE: {
2275
+ readonly fallbackAxisSide: "end";
2276
+ };
2277
+
2057
2278
  export declare const PopupPanel: ({ children, placement, openOnHover, open: outsideOpen, onOpenChange: outsideOnOpenChange, content, title, trigger, className, anchor, beforeCloseButton, afterCloseButton, afterTitle, size, footer, defaultOpen, resizable, classNames, modal, closeOnClickOutside, }: PopupPanelProps) => JSX.Element;
2058
2279
 
2059
2280
  export declare interface PopupPanelProps extends Omit<React.ComponentPropsWithRef<"div">, "title" | "content" | "children"> {
@@ -3357,16 +3578,16 @@ export declare type WidthAntdTokensProps<T extends IntrinsicElement> = {
3357
3578
 
3358
3579
  export declare const WithAntdTokens: <T extends IntrinsicElement = "div">({ as: Tag, ref, className, ...rest }: WidthAntdTokensProps<T>) => null;
3359
3580
 
3360
- declare type WithHrefProps<E extends ElementType = "a"> = IconButtonBaseProps & {
3361
- href: string;
3362
- as?: E;
3363
- } & AnchorSpecificProps;
3581
+ export declare const WithRenderProp: <T extends default_2.ElementType = "div", State extends Record<string, unknown> = Record<string, unknown>>(props: WithRenderPropProps<T, State> & {
3582
+ ref?: default_2.Ref<ElementTypeToDOMType<T>>;
3583
+ }) => ReturnType<typeof WithRenderPropInner>;
3364
3584
 
3365
- declare type WithoutHrefProps<E extends ElementType = "button"> = IconButtonBaseProps & {
3366
- href?: undefined;
3367
- as?: E;
3368
- } & {
3369
- [K in keyof AnchorSpecificProps]?: never;
3585
+ declare const WithRenderPropInner: <T extends default_2.ElementType = "div", State extends Record<string, unknown> = Record<string, unknown>>(props: WithRenderPropProps<T, State>, ref: default_2.ForwardedRef<T>) => null;
3586
+
3587
+ export declare type WithRenderPropProps<T extends default_2.ElementType = "div", State extends Record<string, unknown> = Record<string, unknown>> = default_2.ComponentPropsWithoutRef<T> & {
3588
+ render?: useRender.RenderProp<State>;
3589
+ as?: T;
3590
+ state?: State;
3370
3591
  };
3371
3592
 
3372
3593
  export { }