@bioturing/components 0.13.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 (209) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +91 -0
  3. package/dist/Badge.js +41 -0
  4. package/dist/Breadcrumb.js +92 -0
  5. package/dist/Checkbox.js +13 -0
  6. package/dist/CodeBlock.js +497 -0
  7. package/dist/Collapse.js +50 -0
  8. package/dist/DSRoot.js +1024 -0
  9. package/dist/DropdownMenu.js +206 -0
  10. package/dist/Empty.js +53 -0
  11. package/dist/Field.js +69 -0
  12. package/dist/Form.js +126 -0
  13. package/dist/IconButton.js +83 -0
  14. package/dist/Input.js +49 -0
  15. package/dist/Modal.js +430 -0
  16. package/dist/Popover.js +10 -0
  17. package/dist/Radio.js +24 -0
  18. package/dist/ScrollArea.js +47 -0
  19. package/dist/Segmented.js +10 -0
  20. package/dist/Select.js +41 -0
  21. package/dist/Slider.js +39 -0
  22. package/dist/Spin.js +33 -0
  23. package/dist/Splitter.js +47 -0
  24. package/dist/Switch.js +10 -0
  25. package/dist/Table.js +125 -0
  26. package/dist/Tag.js +24 -0
  27. package/dist/ThemeProvider.js +261 -0
  28. package/dist/Toast.js +1009 -0
  29. package/dist/Tooltip.js +36 -0
  30. package/dist/Tour.js +54 -0
  31. package/dist/Tree.js +318 -0
  32. package/dist/Truncate.js +160 -0
  33. package/dist/Upload.js +419 -0
  34. package/dist/VerticalCollapsiblePanel.js +414 -0
  35. package/dist/assets/src/icons/ANOVAAnalysis.d.ts +7 -0
  36. package/dist/assets/src/icons/AUCell.d.ts +7 -0
  37. package/dist/assets/src/icons/Alphabet.d.ts +7 -0
  38. package/dist/assets/src/icons/BarChart.d.ts +7 -0
  39. package/dist/assets/src/icons/BoxPlot.d.ts +7 -0
  40. package/dist/assets/src/icons/BubbleHeatmap.d.ts +7 -0
  41. package/dist/assets/src/icons/CDR3Spectratyping.d.ts +7 -0
  42. package/dist/assets/src/icons/CancerPrediction.d.ts +7 -0
  43. package/dist/assets/src/icons/Cell.d.ts +7 -0
  44. package/dist/assets/src/icons/CellCellCommunication.d.ts +7 -0
  45. package/dist/assets/src/icons/CellSearch.d.ts +7 -0
  46. package/dist/assets/src/icons/CellTypePrediction.d.ts +7 -0
  47. package/dist/assets/src/icons/Cells.d.ts +7 -0
  48. package/dist/assets/src/icons/Circos.d.ts +7 -0
  49. package/dist/assets/src/icons/Clonotype.d.ts +7 -0
  50. package/dist/assets/src/icons/CoexpressionPlot.d.ts +7 -0
  51. package/dist/assets/src/icons/Composition.d.ts +7 -0
  52. package/dist/assets/src/icons/DEG.d.ts +7 -0
  53. package/dist/assets/src/icons/Digits.d.ts +7 -0
  54. package/dist/assets/src/icons/DiversityAnalysis.d.ts +7 -0
  55. package/dist/assets/src/icons/Embedding.d.ts +7 -0
  56. package/dist/assets/src/icons/EnrichmentTest.d.ts +7 -0
  57. package/dist/assets/src/icons/Eppendorf.d.ts +7 -0
  58. package/dist/assets/src/icons/FileArrowRight.d.ts +7 -0
  59. package/dist/assets/src/icons/FolderArrowRight.d.ts +7 -0
  60. package/dist/assets/src/icons/Heatmap.d.ts +7 -0
  61. package/dist/assets/src/icons/ImageSegmentation.d.ts +7 -0
  62. package/dist/assets/src/icons/IntersectionPlot.d.ts +7 -0
  63. package/dist/assets/src/icons/LouvainClustering.d.ts +7 -0
  64. package/dist/assets/src/icons/MarkerGenes.d.ts +7 -0
  65. package/dist/assets/src/icons/MixedView.d.ts +7 -0
  66. package/dist/assets/src/icons/NeighborhoodAnalysis.d.ts +7 -0
  67. package/dist/assets/src/icons/PenSize.d.ts +7 -0
  68. package/dist/assets/src/icons/Pertubation.d.ts +7 -0
  69. package/dist/assets/src/icons/Pseudotime.d.ts +7 -0
  70. package/dist/assets/src/icons/RegionSegmentation.d.ts +7 -0
  71. package/dist/assets/src/icons/ScatterPlotTissueImageView.d.ts +7 -0
  72. package/dist/assets/src/icons/ScatterPlotView.d.ts +7 -0
  73. package/dist/assets/src/icons/SegmentSelection.d.ts +7 -0
  74. package/dist/assets/src/icons/SpatialCellProportion.d.ts +7 -0
  75. package/dist/assets/src/icons/Species.d.ts +7 -0
  76. package/dist/assets/src/icons/SubClustering.d.ts +7 -0
  77. package/dist/assets/src/icons/TSNEUMAP.d.ts +7 -0
  78. package/dist/assets/src/icons/TissueImageScatterPlotView.d.ts +7 -0
  79. package/dist/assets/src/icons/TissueImageView.d.ts +7 -0
  80. package/dist/assets/src/icons/TwoD.d.ts +7 -0
  81. package/dist/assets/src/icons/VennDiagramAnalysis.d.ts +7 -0
  82. package/dist/assets/src/icons/ViolinPlot.d.ts +7 -0
  83. package/dist/assets/src/icons/custom.d.ts +48 -0
  84. package/dist/assets/src/icons/index.d.ts +2 -0
  85. package/dist/assets/src/icons/phosphor.d.ts +1 -0
  86. package/dist/assets/src/index.d.ts +2 -0
  87. package/dist/assets/src/logos/BBrowserX.d.ts +9 -0
  88. package/dist/assets/src/logos/BioStudio.d.ts +9 -0
  89. package/dist/assets/src/logos/BioTuring.d.ts +9 -0
  90. package/dist/assets/src/logos/BioTuringAlpha.d.ts +9 -0
  91. package/dist/assets/src/logos/Lens.d.ts +9 -0
  92. package/dist/assets/src/logos/Pixel.d.ts +9 -0
  93. package/dist/assets/src/logos/SmartBulk.d.ts +9 -0
  94. package/dist/assets/src/logos/SpatialX.d.ts +9 -0
  95. package/dist/assets/src/logos/Talk2Data.d.ts +9 -0
  96. package/dist/assets/src/logos/Vinci.d.ts +9 -0
  97. package/dist/assets/src/logos/index.d.ts +10 -0
  98. package/dist/components/src/components/Badge/component.d.ts +3 -0
  99. package/dist/components/src/components/Badge/index.d.ts +1 -0
  100. package/dist/components/src/components/Breadcrumb/component.d.ts +5 -0
  101. package/dist/components/src/components/Breadcrumb/index.d.ts +2 -0
  102. package/dist/components/src/components/Breadcrumb/types.d.ts +18 -0
  103. package/dist/components/src/components/Breadcrumb/useItemRender.d.ts +6 -0
  104. package/dist/components/src/components/Button/component.d.ts +7 -0
  105. package/dist/components/src/components/Button/index.d.ts +1 -0
  106. package/dist/components/src/components/Checkbox/component.d.ts +10 -0
  107. package/dist/components/src/components/Checkbox/index.d.ts +1 -0
  108. package/dist/components/src/components/CodeBlock/component.d.ts +2 -0
  109. package/dist/components/src/components/CodeBlock/index.d.ts +2 -0
  110. package/dist/components/src/components/CodeBlock/types.d.ts +47 -0
  111. package/dist/components/src/components/Collapse/component.d.ts +13 -0
  112. package/dist/components/src/components/Collapse/index.d.ts +1 -0
  113. package/dist/components/src/components/DSRoot/component.d.ts +13 -0
  114. package/dist/components/src/components/DSRoot/index.d.ts +1 -0
  115. package/dist/components/src/components/DropdownMenu/component.d.ts +25 -0
  116. package/dist/components/src/components/DropdownMenu/index.d.ts +2 -0
  117. package/dist/components/src/components/DropdownMenu/utils.d.ts +5 -0
  118. package/dist/components/src/components/Empty/component.d.ts +12 -0
  119. package/dist/components/src/components/Empty/index.d.ts +1 -0
  120. package/dist/components/src/components/Field/component.d.ts +41 -0
  121. package/dist/components/src/components/Field/index.d.ts +1 -0
  122. package/dist/components/src/components/Form/component.d.ts +18 -0
  123. package/dist/components/src/components/Form/index.d.ts +1 -0
  124. package/dist/components/src/components/Form/item.d.ts +5 -0
  125. package/dist/components/src/components/IconButton/component.d.ts +29 -0
  126. package/dist/components/src/components/IconButton/index.d.ts +1 -0
  127. package/dist/components/src/components/Input/component.d.ts +30 -0
  128. package/dist/components/src/components/Input/index.d.ts +1 -0
  129. package/dist/components/src/components/Modal/Modal.d.ts +69 -0
  130. package/dist/components/src/components/Modal/ModalProvider.d.ts +5 -0
  131. package/dist/components/src/components/Modal/ModalService.d.ts +33 -0
  132. package/dist/components/src/components/Modal/constants.d.ts +9 -0
  133. package/dist/components/src/components/Modal/functions.d.ts +27 -0
  134. package/dist/components/src/components/Modal/index.d.ts +14 -0
  135. package/dist/components/src/components/Popover/component.d.ts +9 -0
  136. package/dist/components/src/components/Popover/index.d.ts +1 -0
  137. package/dist/components/src/components/Radio/component.d.ts +7 -0
  138. package/dist/components/src/components/Radio/index.d.ts +2 -0
  139. package/dist/components/src/components/Radio/interface.d.ts +5 -0
  140. package/dist/components/src/components/ScrollArea/component.d.ts +10 -0
  141. package/dist/components/src/components/ScrollArea/index.d.ts +1 -0
  142. package/dist/components/src/components/Segmented/component.d.ts +9 -0
  143. package/dist/components/src/components/Segmented/index.d.ts +1 -0
  144. package/dist/components/src/components/Select/component.d.ts +11 -0
  145. package/dist/components/src/components/Select/index.d.ts +1 -0
  146. package/dist/components/src/components/Slider/component.d.ts +5 -0
  147. package/dist/components/src/components/Slider/index.d.ts +1 -0
  148. package/dist/components/src/components/Spin/component.d.ts +3 -0
  149. package/dist/components/src/components/Spin/index.d.ts +1 -0
  150. package/dist/components/src/components/Splitter/component.d.ts +12 -0
  151. package/dist/components/src/components/Splitter/index.d.ts +1 -0
  152. package/dist/components/src/components/Switch/component.d.ts +8 -0
  153. package/dist/components/src/components/Switch/index.d.ts +1 -0
  154. package/dist/components/src/components/Table/component.d.ts +19 -0
  155. package/dist/components/src/components/Table/index.d.ts +1 -0
  156. package/dist/components/src/components/Tag/component.d.ts +11 -0
  157. package/dist/components/src/components/Tag/index.d.ts +1 -0
  158. package/dist/components/src/components/ThemeProvider/component.d.ts +6 -0
  159. package/dist/components/src/components/ThemeProvider/index.d.ts +1 -0
  160. package/dist/components/src/components/Toast/component.d.ts +14 -0
  161. package/dist/components/src/components/Toast/function.d.ts +10 -0
  162. package/dist/components/src/components/Toast/index.d.ts +3 -0
  163. package/dist/components/src/components/Toast/types.d.ts +3 -0
  164. package/dist/components/src/components/Tooltip/component.d.ts +9 -0
  165. package/dist/components/src/components/Tooltip/index.d.ts +1 -0
  166. package/dist/components/src/components/Tour/component.d.ts +7 -0
  167. package/dist/components/src/components/Tour/index.d.ts +1 -0
  168. package/dist/components/src/components/Transition/component.d.ts +17 -0
  169. package/dist/components/src/components/Transition/index.d.ts +1 -0
  170. package/dist/components/src/components/Tree/components.d.ts +13 -0
  171. package/dist/components/src/components/Tree/helpers.d.ts +4 -0
  172. package/dist/components/src/components/Tree/index.d.ts +4 -0
  173. package/dist/components/src/components/Tree/types.d.ts +55 -0
  174. package/dist/components/src/components/Tree/useTreeCommon.d.ts +178 -0
  175. package/dist/components/src/components/Tree/useUniqueKeysTree.d.ts +33 -0
  176. package/dist/components/src/components/Truncate/component.d.ts +12 -0
  177. package/dist/components/src/components/Truncate/helpers.d.ts +5 -0
  178. package/dist/components/src/components/Truncate/index.d.ts +1 -0
  179. package/dist/components/src/components/Upload/component.d.ts +16 -0
  180. package/dist/components/src/components/Upload/dragger.d.ts +13 -0
  181. package/dist/components/src/components/Upload/hooks.d.ts +5 -0
  182. package/dist/components/src/components/Upload/index.d.ts +3 -0
  183. package/dist/components/src/components/Upload/item.d.ts +11 -0
  184. package/dist/components/src/components/Upload/utils.d.ts +1 -0
  185. package/dist/components/src/components/VerticalCollapsiblePanel/component.d.ts +64 -0
  186. package/dist/components/src/components/VerticalCollapsiblePanel/index.d.ts +1 -0
  187. package/dist/components/src/components/hooks/antd.d.ts +11 -0
  188. package/dist/components/src/components/hooks/base-ui.d.ts +7 -0
  189. package/dist/components/src/components/hooks/index.d.ts +3 -0
  190. package/dist/components/src/components/hooks/useControlledState.d.ts +1 -0
  191. package/dist/components/src/components/index.d.ts +39 -0
  192. package/dist/components/src/components/utils/WithAntdTokens.d.ts +7 -0
  193. package/dist/components/src/components/utils/antdUtils.d.ts +10 -0
  194. package/dist/components/src/components/utils/client.d.ts +2 -0
  195. package/dist/components/src/components/utils/cn.d.ts +4 -0
  196. package/dist/components/src/components/utils/index.d.ts +3 -0
  197. package/dist/components/src/components/utils/isTracebackError.d.ts +1 -0
  198. package/dist/components/src/components/utils/main.d.ts +3 -0
  199. package/dist/components/src/components/utils/reactToString.d.ts +2 -0
  200. package/dist/components/src/components/utils/types.d.ts +9 -0
  201. package/dist/components/src/index.d.ts +2 -0
  202. package/dist/components/src/tokens/index.d.ts +3 -0
  203. package/dist/index.js +2430 -0
  204. package/dist/style.css +1242 -0
  205. package/dist/style.js +0 -0
  206. package/dist/tailwind.css +4 -0
  207. package/dist/tailwind.js +0 -0
  208. package/dist/utils.js +78 -0
  209. package/package.json +153 -0
package/dist/index.js ADDED
@@ -0,0 +1,2430 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_antd__ from "antd";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__ from "@bioturing/assets";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_select_005d200f__ from "antd/es/select";
5
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_checkbox_80658bc3__ from "antd/es/checkbox";
6
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
7
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_app_useApp_90d95086__ from "antd/es/app/useApp";
8
+ import "antd/es/flex/style/css";
9
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__ from "antd/es/flex";
10
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_52965d33__ from "antd/es/modal";
11
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__ from "antd/es/config-provider";
12
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_theme_useToken_e8911485__ from "antd/es/theme/useToken";
13
+ import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
14
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_context_bc73863f__ from "antd/es/modal/context";
15
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalCancelBtn_54ff398c__ from "antd/es/modal/components/NormalCancelBtn";
16
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalOkBtn_897b50c4__ from "antd/es/modal/components/NormalOkBtn";
17
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_locale_f16c0933__ from "antd/es/modal/locale";
18
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_locale_31079002__ from "antd/es/locale";
19
+ import "antd/es/tooltip/style/css";
20
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_tooltip_1091cc47__ from "antd/es/tooltip";
21
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_switch_101feb97__ from "antd/es/switch";
22
+ import "antd/es/checkbox/style/css";
23
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_segmented_6dbdbe23__ from "antd/es/segmented";
24
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_table_8c9fc42b__ from "antd/es/table";
25
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_empty_5eb61431__ from "antd/es/empty";
26
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_tag_1ccabaea__ from "antd/es/tag";
27
+ import * as __WEBPACK_EXTERNAL_MODULE__ant_design_cssinjs_c619260f__ from "@ant-design/cssinjs";
28
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_splitter_Splitter_9b2d5564__ from "antd/es/splitter/Splitter";
29
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_splitter_Panel_2a8c0f35__ from "antd/es/splitter/Panel";
30
+ import * as __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_menu_54c0c798__ from "@base-ui-components/react/menu";
31
+ import * as __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_utils_d48cdb94__ from "@base-ui-components/react/utils";
32
+ import * as __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__ from "@base-ui-components/react";
33
+ import * as __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_use_render_2fb9dc6d__ from "@base-ui-components/react/use-render";
34
+ import * as __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_merge_props_04b69945__ from "@base-ui-components/react/merge-props";
35
+ import * as __WEBPACK_EXTERNAL_MODULE_react_dom_7136dc57__ from "react-dom";
36
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_upload_29096ddd__ from "antd/es/upload";
37
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_button_8f463bb4__ from "antd/es/button";
38
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_progress_da1757d8__ from "antd/es/progress";
39
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_popover_ff5d0161__ from "antd/es/popover";
40
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_slider_a2f2f6f0__ from "antd/es/slider";
41
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_breadcrumb_524ec91e__ from "antd/es/breadcrumb";
42
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_breadcrumb_useItemRender_afeae2fe__ from "antd/es/breadcrumb/useItemRender";
43
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_tree_05ca9855__ from "antd/es/tree";
44
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_spin_c7b761a0__ from "antd/es/spin";
45
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_form_ErrorList_c62fef91__ from "antd/es/form/ErrorList";
46
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_form_Form_38f624ac__ from "antd/es/form/Form";
47
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_form_FormList_8c66a51b__ from "antd/es/form/FormList";
48
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_form_context_0a1516eb__ from "antd/es/form/context";
49
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_form_hooks_useFormInstance_2ae86589__ from "antd/es/form/hooks/useFormInstance";
50
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_form_FormItem_940c64da__ from "antd/es/form/FormItem";
51
+ import "antd/es/select/style/css";
52
+ import "antd/es/input/style/css";
53
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_input_416a332a__ from "antd/es/input";
54
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_tour_6998cb50__ from "antd/es/tour";
55
+ import * as __WEBPACK_EXTERNAL_MODULE_prism_react_renderer_be33806e__ from "prism-react-renderer";
56
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_badge_f5f828f9__ from "antd/es/badge";
57
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_radio_e6b5c17a__ from "antd/es/radio";
58
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_app_App_698582f4__ from "antd/es/app/App";
59
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_theme_57fdaa32__ from "antd/es/theme";
60
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_grid_ec1d1712__ from "antd/es/grid";
61
+ const MainSelectInner = ({ mode, className, popupClassName, ...rest }, ref)=>{
62
+ const isMultiple = "multiple" === mode || "tags" === mode;
63
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_select_005d200f__["default"], {
64
+ ref: ref,
65
+ suffixIcon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CaretDown, {
66
+ weight: "bold"
67
+ }),
68
+ popupClassName: [
69
+ "ds-select-popup",
70
+ isMultiple && "ds-select-multiple",
71
+ popupClassName
72
+ ].filter(Boolean).join(" "),
73
+ ...isMultiple ? {
74
+ menuItemSelectedIcon: ({ isSelected })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
75
+ className: "ant-select-checkbox-indicator",
76
+ children: isSelected ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_checkbox_80658bc3__["default"], {
77
+ checked: true
78
+ }) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_checkbox_80658bc3__["default"], {
79
+ checked: false
80
+ })
81
+ })
82
+ } : {},
83
+ mode: mode,
84
+ className: [
85
+ "ds-select",
86
+ className
87
+ ].filter(Boolean).join(" "),
88
+ ...rest
89
+ });
90
+ };
91
+ const MainSelect = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(MainSelectInner);
92
+ const Select = Object.assign(MainSelect, {
93
+ Option: __WEBPACK_EXTERNAL_MODULE_antd_es_select_005d200f__["default"].Option,
94
+ OptGroup: __WEBPACK_EXTERNAL_MODULE_antd_es_select_005d200f__["default"].OptGroup
95
+ });
96
+ function cx(...args) {
97
+ const classes = [];
98
+ for (const arg of args)if (arg) {
99
+ if ("string" == typeof arg || "number" == typeof arg) classes.push(String(arg));
100
+ else if (Array.isArray(arg)) classes.push(...cx(...arg));
101
+ else if ("object" == typeof arg) {
102
+ for (const [key, value] of Object.entries(arg))if (value) classes.push(key);
103
+ }
104
+ }
105
+ return classes;
106
+ }
107
+ function clsx(...args) {
108
+ return cx(...args).join(" ");
109
+ }
110
+ function cn(...args) {
111
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(cx(...args));
112
+ }
113
+ "use client";
114
+ const useGetPrefixCls = ()=>{
115
+ const { getPrefixCls } = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__["default"].ConfigContext);
116
+ return {
117
+ getPrefixCls
118
+ };
119
+ };
120
+ const useAntdCssVarClassname = ()=>{
121
+ var _token_;
122
+ const token = (0, __WEBPACK_EXTERNAL_MODULE_antd_es_theme_useToken_e8911485__["default"])();
123
+ return null == (_token_ = token[4]) ? void 0 : _token_.key;
124
+ };
125
+ const useCls = ()=>{
126
+ const { getPrefixCls } = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__["default"].ConfigContext);
127
+ return (...args)=>cx(...args).map((cls)=>getPrefixCls(cls)).join(" ");
128
+ };
129
+ "use client";
130
+ const IconButtonImpl = (props, ref)=>{
131
+ const { label, size = "medium", negativeMargin = true, children, className, tooltipProps = {}, as, href, target, rel, download, hrefLang, referrerPolicy, ...rest } = props;
132
+ const cls = useCls();
133
+ const antdCssVarClassname = useAntdCssVarClassname();
134
+ const buttonClasses = [
135
+ cls("icon-button"),
136
+ cls(`icon-button-${size}`),
137
+ cls(negativeMargin ? "icon-button-negative-margin" : ""),
138
+ antdCssVarClassname,
139
+ className
140
+ ].filter(Boolean).join(" ");
141
+ const Component = as || (href ? "a" : "button");
142
+ const anchorProps = "a" === Component ? {
143
+ ...void 0 !== target && {
144
+ target
145
+ },
146
+ ...void 0 !== rel && {
147
+ rel
148
+ },
149
+ ...void 0 !== download && {
150
+ download
151
+ },
152
+ ...void 0 !== hrefLang && {
153
+ hrefLang
154
+ },
155
+ ...void 0 !== referrerPolicy && {
156
+ referrerPolicy
157
+ }
158
+ } : {};
159
+ const elementProps = {
160
+ ref,
161
+ className: buttonClasses,
162
+ ..."button" === Component && {
163
+ type: "button"
164
+ },
165
+ ...href && {
166
+ href
167
+ },
168
+ ...anchorProps,
169
+ ...rest
170
+ };
171
+ const element = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Component, {
172
+ ...elementProps,
173
+ children: children
174
+ });
175
+ return label ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_tooltip_1091cc47__["default"], {
176
+ title: label,
177
+ arrow: false,
178
+ ...tooltipProps,
179
+ children: element
180
+ }) : element;
181
+ };
182
+ const IconButton = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(IconButtonImpl);
183
+ var constants_ModalSize = /*#__PURE__*/ function(ModalSize) {
184
+ ModalSize["xsmall"] = "400px";
185
+ ModalSize["small"] = "520px";
186
+ ModalSize["medium"] = "640px";
187
+ ModalSize["large"] = "840px";
188
+ ModalSize["xlarge"] = "1024px";
189
+ ModalSize["xxlarge"] = "1280px";
190
+ ModalSize["fullscreen"] = "100%";
191
+ return ModalSize;
192
+ }({});
193
+ "use client";
194
+ const Modal = ({ open: externalOpen, closeIcon, children, size, footer, width, style, styles, classNames, okButtonProps, cancelButtonProps, loading, onOk, onCancel, onClose, okText, okType = "primary", confirmLoading, cancelText = "Close", hideOkButton = false, hideCancelButton = false, contentPadding, title, afterTitle, beforeCloseButton, afterCloseButton, defaultFixedHeaderFooter = false, centered = true, type = "default", defaultOpen = true, ...rest })=>{
195
+ const defaultCloseIcon = void 0 === closeIcon ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.X, {
196
+ size: 16,
197
+ weight: "bold"
198
+ }) : closeIcon;
199
+ const defaultModalSize = "default" === type ? "medium" : "xsmall";
200
+ const modalWidth = width || size && size in constants_ModalSize ? constants_ModalSize[size] : constants_ModalSize[defaultModalSize];
201
+ const modalStyle = {
202
+ ...style,
203
+ ..."fullscreen" === size ? {
204
+ top: 0,
205
+ maxWidth: "100%",
206
+ height: "100%"
207
+ } : {}
208
+ };
209
+ const modalStyles = {
210
+ ...styles,
211
+ body: {
212
+ ...void 0 !== contentPadding ? {
213
+ "--ds-modal-content-padding": false === contentPadding || 0 === contentPadding ? "0" : "number" == typeof contentPadding ? `${contentPadding}px` : contentPadding
214
+ } : {},
215
+ ...null == styles ? void 0 : styles.body
216
+ }
217
+ };
218
+ const [scrollable, setScrollable] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
219
+ const cls = useCls();
220
+ const resizeObserverRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
221
+ const modalInnerRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((node)=>{
222
+ if (!node) return;
223
+ const modalBody = node.querySelector("." + cls("modal-body"));
224
+ if (!(modalBody instanceof HTMLElement)) return;
225
+ const resizeObserver = new ResizeObserver(()=>{
226
+ const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;
227
+ setScrollable(hasOverflow);
228
+ });
229
+ resizeObserverRef.current = resizeObserver;
230
+ resizeObserver.observe(modalBody);
231
+ const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;
232
+ setScrollable(hasOverflow);
233
+ }, [
234
+ cls
235
+ ]);
236
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>()=>{
237
+ if (resizeObserverRef.current) {
238
+ resizeObserverRef.current.disconnect();
239
+ resizeObserverRef.current = null;
240
+ }
241
+ }, []);
242
+ const [locale] = (0, __WEBPACK_EXTERNAL_MODULE_antd_es_locale_31079002__.useLocale)("Modal", (0, __WEBPACK_EXTERNAL_MODULE_antd_es_modal_locale_f16c0933__.getConfirmLocale)());
243
+ const okTextLocale = okText || (null == locale ? void 0 : locale.okText);
244
+ const cancelTextLocale = cancelText || (null == locale ? void 0 : locale.cancelText);
245
+ const modalOkButtonProps = {
246
+ loading: loading,
247
+ ...okButtonProps
248
+ };
249
+ const modalCancelButtonProps = {
250
+ ...cancelButtonProps
251
+ };
252
+ const [internalOpen, setInternalOpen] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(defaultOpen);
253
+ const uncontrolledOpen = void 0 === externalOpen;
254
+ const open = uncontrolledOpen ? internalOpen : externalOpen;
255
+ const defaultFooter = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_context_bc73863f__.ModalContextProvider, {
256
+ value: {
257
+ okButtonProps: modalOkButtonProps,
258
+ cancelButtonProps: modalCancelButtonProps,
259
+ onCancel,
260
+ onOk,
261
+ okType,
262
+ confirmLoading,
263
+ okTextLocale,
264
+ cancelTextLocale
265
+ },
266
+ children: hideOkButton ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalCancelBtn_54ff398c__["default"], {}) : hideCancelButton ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalOkBtn_897b50c4__["default"], {}) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
267
+ children: [
268
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalCancelBtn_54ff398c__["default"], {}),
269
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalOkBtn_897b50c4__["default"], {})
270
+ ]
271
+ })
272
+ });
273
+ const renderTitle = ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
274
+ children: [
275
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__["default"], {
276
+ align: "center",
277
+ gap: 8,
278
+ className: cls("modal-title-wrapper"),
279
+ children: [
280
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
281
+ className: cls("grow", "truncate"),
282
+ children: title
283
+ }),
284
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
285
+ className: "flex items-center gap-2",
286
+ children: [
287
+ beforeCloseButton,
288
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
289
+ onClick: (e)=>null == onCancel ? void 0 : onCancel(e),
290
+ children: defaultCloseIcon
291
+ }),
292
+ afterCloseButton
293
+ ]
294
+ })
295
+ ]
296
+ }),
297
+ afterTitle ? afterTitle : null
298
+ ]
299
+ });
300
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_52965d33__["default"], {
301
+ closeIcon: false,
302
+ open: open,
303
+ width: modalWidth,
304
+ style: modalStyle,
305
+ title: renderTitle(),
306
+ classNames: {
307
+ ...classNames,
308
+ wrapper: cls("modal-wrap", "fullscreen" == size && "modal-fullscreen", scrollable && "modal-scrollable", (defaultFixedHeaderFooter || scrollable || "fullscreen" == size) && "modal-fixed")
309
+ },
310
+ styles: modalStyles,
311
+ modalRender: (modal)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
312
+ ref: modalInnerRef,
313
+ className: cls("modal-inner"),
314
+ children: modal
315
+ }),
316
+ okButtonProps: modalOkButtonProps,
317
+ cancelButtonProps: modalCancelButtonProps,
318
+ onOk: (e)=>{
319
+ if (uncontrolledOpen) setInternalOpen(false);
320
+ null == onOk || onOk(e);
321
+ },
322
+ onCancel: (e)=>{
323
+ if (uncontrolledOpen) setInternalOpen(false);
324
+ null == onCancel || onCancel(e);
325
+ },
326
+ okText: okText,
327
+ cancelText: cancelText,
328
+ okType: "primary",
329
+ confirmLoading: confirmLoading,
330
+ footer: void 0 === footer ? hideOkButton && hideCancelButton ? null : defaultFooter : footer,
331
+ centered: centered,
332
+ ...rest,
333
+ children: children
334
+ });
335
+ };
336
+ function _define_property(obj, key, value) {
337
+ if (key in obj) Object.defineProperty(obj, key, {
338
+ value: value,
339
+ enumerable: true,
340
+ configurable: true,
341
+ writable: true
342
+ });
343
+ else obj[key] = value;
344
+ return obj;
345
+ }
346
+ class ModalManager {
347
+ subscribe(listener) {
348
+ this.listeners.push(listener);
349
+ return ()=>{
350
+ this.listeners = this.listeners.filter((l)=>l !== listener);
351
+ };
352
+ }
353
+ emit(event) {
354
+ this.listeners.forEach((l)=>l(event));
355
+ }
356
+ generateId() {
357
+ this.counter += 1;
358
+ return `modal_${this.counter}_${Date.now()}`;
359
+ }
360
+ constructor(){
361
+ _define_property(this, "listeners", []);
362
+ _define_property(this, "counter", 0);
363
+ }
364
+ }
365
+ const modalManager = new ModalManager();
366
+ function createModal(config) {
367
+ const trigger = document.activeElement instanceof HTMLElement ? document.activeElement : void 0;
368
+ const { type = "default", ...restConfig } = config;
369
+ const id = modalManager.generateId();
370
+ modalManager.emit({
371
+ type: "add",
372
+ payload: {
373
+ id,
374
+ type,
375
+ trigger,
376
+ ...restConfig
377
+ }
378
+ });
379
+ return {
380
+ update: (cfg)=>modalManager.emit({
381
+ type: "update",
382
+ payload: {
383
+ id,
384
+ config: cfg
385
+ }
386
+ }),
387
+ destroy: ()=>modalManager.emit({
388
+ type: "destroy",
389
+ payload: {
390
+ id
391
+ }
392
+ })
393
+ };
394
+ }
395
+ const functions_confirm = (config)=>createModal({
396
+ ...config,
397
+ type: "confirm"
398
+ });
399
+ const functions_info = (config)=>createModal({
400
+ ...config,
401
+ type: "info"
402
+ });
403
+ const success = (config)=>createModal({
404
+ ...config,
405
+ type: "success"
406
+ });
407
+ const functions_error = (config)=>createModal({
408
+ ...config,
409
+ type: "error"
410
+ });
411
+ const warning = (config)=>createModal({
412
+ ...config,
413
+ type: "warning"
414
+ });
415
+ const functions_open = (config)=>createModal({
416
+ ...config,
417
+ type: "default"
418
+ });
419
+ const destroyAll = ()=>modalManager.emit({
420
+ type: "destroyAll"
421
+ });
422
+ "use client";
423
+ const ModalProvider = ({ children })=>{
424
+ const [modals, setModals] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)([]);
425
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
426
+ const unsubscribe = modalManager.subscribe((event)=>{
427
+ setModals((prev)=>{
428
+ switch(event.type){
429
+ case "add":
430
+ return [
431
+ ...prev,
432
+ event.payload
433
+ ];
434
+ case "update":
435
+ return prev.map((m)=>{
436
+ if (m.id === event.payload.id) {
437
+ const cfg = event.payload.config;
438
+ const merged = "function" == typeof cfg ? cfg(m) : {
439
+ ...m,
440
+ ...cfg
441
+ };
442
+ return {
443
+ ...m,
444
+ ...merged
445
+ };
446
+ }
447
+ return m;
448
+ });
449
+ case "destroy":
450
+ return prev.filter((m)=>m.id !== event.payload.id);
451
+ case "destroyAll":
452
+ return [];
453
+ default:
454
+ return prev;
455
+ }
456
+ });
457
+ });
458
+ return unsubscribe;
459
+ }, []);
460
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
461
+ children: [
462
+ children,
463
+ modals.map((modal)=>{
464
+ const { id, content, children, onOk, onCancel, trigger, ...modalProps } = modal;
465
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.createElement)(Modal, {
466
+ ...modalProps,
467
+ key: id,
468
+ open: modalProps.open,
469
+ onOk: (e)=>{
470
+ null == onOk || onOk(e);
471
+ modalManager.emit({
472
+ type: "update",
473
+ payload: {
474
+ id,
475
+ config: {
476
+ open: false
477
+ }
478
+ }
479
+ });
480
+ },
481
+ onCancel: (e)=>{
482
+ null == onCancel || onCancel(e);
483
+ modalManager.emit({
484
+ type: "update",
485
+ payload: {
486
+ id,
487
+ config: {
488
+ open: false
489
+ }
490
+ }
491
+ });
492
+ },
493
+ afterClose: ()=>{
494
+ modalManager.emit({
495
+ type: "destroy",
496
+ payload: {
497
+ id
498
+ }
499
+ });
500
+ if (trigger instanceof HTMLElement) trigger.focus();
501
+ }
502
+ }, content || children);
503
+ })
504
+ ]
505
+ });
506
+ };
507
+ "use client";
508
+ const useModal = ()=>(0, __WEBPACK_EXTERNAL_MODULE_antd_es_app_useApp_90d95086__["default"])().modal;
509
+ const Modal_Modal = Object.assign(Modal, {
510
+ Provider: ModalProvider,
511
+ open: functions_open,
512
+ info: functions_info,
513
+ success: success,
514
+ error: functions_error,
515
+ warning: warning,
516
+ confirm: functions_confirm,
517
+ destroyAll: destroyAll,
518
+ useModal
519
+ });
520
+ const MainSwitchInner = ({ ...rest }, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_switch_101feb97__["default"], {
521
+ ref: ref,
522
+ ...rest
523
+ });
524
+ const MainSwitch = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(MainSwitchInner);
525
+ const Switch = MainSwitch;
526
+ const MainCheckboxInner = (props, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_checkbox_80658bc3__["default"], {
527
+ ref: ref,
528
+ ...props
529
+ });
530
+ const MainCheckbox = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(MainCheckboxInner);
531
+ const Checkbox = Object.assign(MainCheckbox, {
532
+ Group: __WEBPACK_EXTERNAL_MODULE_antd_es_checkbox_80658bc3__["default"].Group
533
+ });
534
+ const MainSegmentedInner = ({ className, ...rest }, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_segmented_6dbdbe23__["default"], {
535
+ ref: ref,
536
+ ...rest
537
+ });
538
+ const MainSegmented = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(MainSegmentedInner);
539
+ const Segmented = MainSegmented;
540
+ const EmptyIcon = (props)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("svg", {
541
+ xmlns: "http://www.w3.org/2000/svg",
542
+ width: "1em",
543
+ height: "1em",
544
+ fill: "none",
545
+ viewBox: "0 0 32 32",
546
+ ...props,
547
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
548
+ stroke: "currentColor",
549
+ strokeLinecap: "round",
550
+ strokeLinejoin: "round",
551
+ strokeOpacity: "0.3",
552
+ strokeWidth: "0.05em",
553
+ d: "m4 26 3.773-11.316A1 1 0 0 1 8.72 14H29a1 1 0 0 1 .949 1.316L26.386 26zm0 0V8a1 1 0 0 1 1-1h6.666a1 1 0 0 1 .6.2L16 10h9a1 1 0 0 1 1 1v3"
554
+ })
555
+ });
556
+ const Empty = ({ image, size = "medium", className, ...rest })=>{
557
+ const cls = useCls();
558
+ const emptyImage = image || /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(EmptyIcon, {
559
+ className: cls("empty-icon")
560
+ });
561
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_empty_5eb61431__["default"], {
562
+ image: emptyImage,
563
+ className: clsx(cls("empty", `empty-${size}`), className),
564
+ ...rest
565
+ });
566
+ };
567
+ const Empty_component = Empty;
568
+ const InternalTable = ({ columns, locale, emptyDescription, loading, ...rest })=>{
569
+ const cls = useCls();
570
+ const modifiedColumns = columns ? columns.map((column)=>({
571
+ sortIcon: ({ sortOrder })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
572
+ className: cls("table-column-sort-icon", sortOrder ? `table-column-sort-icon-${sortOrder}` : "table-column-sort-icon-none"),
573
+ children: sortOrder ? "ascend" === sortOrder ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CaretUp, {
574
+ weight: "fill"
575
+ }) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CaretDown, {
576
+ weight: "fill"
577
+ }) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
578
+ children: [
579
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CaretUp, {
580
+ weight: "fill"
581
+ }),
582
+ " ",
583
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CaretDown, {
584
+ weight: "fill"
585
+ })
586
+ ]
587
+ })
588
+ }),
589
+ filterIcon: (_filtered)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
590
+ className: cls("table-column-filter-icon"),
591
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.Funnel, {
592
+ weight: "fill"
593
+ })
594
+ }),
595
+ ...column
596
+ })) : void 0;
597
+ const modifiedLocale = {
598
+ emptyText: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Empty_component, {
599
+ description: emptyDescription
600
+ }),
601
+ ...locale
602
+ };
603
+ let spinProps;
604
+ if ("boolean" == typeof loading) spinProps = {
605
+ spinning: loading,
606
+ indicator: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
607
+ className: cls("spin-loader")
608
+ })
609
+ };
610
+ else if ("object" == typeof loading) spinProps = {
611
+ spinning: true,
612
+ indicator: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
613
+ className: cls("spin-loader")
614
+ }),
615
+ ...loading
616
+ };
617
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_table_8c9fc42b__["default"], {
618
+ columns: modifiedColumns,
619
+ loading: spinProps,
620
+ locale: modifiedLocale,
621
+ scroll: {
622
+ x: "max-content"
623
+ },
624
+ ...rest
625
+ });
626
+ };
627
+ const Table = Object.assign(InternalTable, {
628
+ Column: __WEBPACK_EXTERNAL_MODULE_antd_es_table_8c9fc42b__["default"].Column,
629
+ ColumnGroup: __WEBPACK_EXTERNAL_MODULE_antd_es_table_8c9fc42b__["default"].ColumnGroup,
630
+ SELECTION_COLUMN: __WEBPACK_EXTERNAL_MODULE_antd_es_table_8c9fc42b__["default"].SELECTION_COLUMN,
631
+ EXPAND_COLUMN: __WEBPACK_EXTERNAL_MODULE_antd_es_table_8c9fc42b__["default"].EXPAND_COLUMN,
632
+ SELECTION_ALL: __WEBPACK_EXTERNAL_MODULE_antd_es_table_8c9fc42b__["default"].SELECTION_ALL,
633
+ SELECTION_INVERT: __WEBPACK_EXTERNAL_MODULE_antd_es_table_8c9fc42b__["default"].SELECTION_INVERT,
634
+ SELECTION_NONE: __WEBPACK_EXTERNAL_MODULE_antd_es_table_8c9fc42b__["default"].SELECTION_NONE,
635
+ Summary: __WEBPACK_EXTERNAL_MODULE_antd_es_table_8c9fc42b__["default"].Summary
636
+ });
637
+ "use client";
638
+ const InternalTag = ({ className, active = false, color, style, closeIcon, closable, ...rest })=>{
639
+ const renderedCloseIcon = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.X, {
640
+ weight: "bold"
641
+ });
642
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_tag_1ccabaea__["default"], {
643
+ className: className,
644
+ color: color,
645
+ style: style,
646
+ closable: closable,
647
+ closeIcon: closable ? closeIcon || renderedCloseIcon : void 0,
648
+ ...active ? {
649
+ "data-active": "true"
650
+ } : {},
651
+ ...rest
652
+ });
653
+ };
654
+ const component_Tag = Object.assign(InternalTag, {
655
+ CheckableTag: __WEBPACK_EXTERNAL_MODULE_antd_es_tag_1ccabaea__["default"].CheckableTag
656
+ });
657
+ const figmaToAntDesignTokens = {
658
+ lightMode: {
659
+ colorText: "rgba(0, 0, 0, 0.88)",
660
+ colorTextSecondary: "rgba(0, 0, 0, 0.65)",
661
+ colorTextTertiary: "rgba(0, 0, 0, 0.45)",
662
+ colorTextQuaternary: "rgba(0, 0, 0, 0.25)",
663
+ colorPrimary: "#175CD3",
664
+ colorPrimaryBg: "#E9F2FF",
665
+ colorPrimaryBgHover: "#D1E9FF",
666
+ colorPrimaryBorder: "#84CAFF",
667
+ colorPrimaryBorderHover: "#53B1FD",
668
+ colorPrimaryHover: "#1570EF",
669
+ colorPrimaryActive: "#175CD3",
670
+ colorPrimaryTextHover: "#1570EF",
671
+ colorPrimaryTextActive: "#175CD3",
672
+ colorInfo: "#175CD3",
673
+ colorInfoBg: "#E9F2FF",
674
+ colorInfoBgHover: "#D1E9FF",
675
+ colorInfoBorder: "#84CAFF",
676
+ colorInfoBorderHover: "#53B1FD",
677
+ colorInfoHover: "#1570EF",
678
+ colorInfoActive: "#175CD3",
679
+ colorInfoTextHover: "#1570EF",
680
+ colorInfoTextActive: "#175CD3",
681
+ colorSuccess: "#4CB200",
682
+ colorSuccessBg: "#F6FFF0",
683
+ colorSuccessBgHover: "#D9F7BE",
684
+ colorSuccessBorder: "#B7EB8F",
685
+ colorSuccessBorderHover: "#95DE64",
686
+ colorSuccessHover: "#73D13D",
687
+ colorSuccessActive: "#389E0D",
688
+ colorSuccessTextHover: "#237804",
689
+ colorSuccessTextActive: "#092B00",
690
+ colorWarning: "#FA8C16",
691
+ colorWarningBg: "#FFF7E6",
692
+ colorWarningBgHover: "#FFE7BA",
693
+ colorWarningBorder: "#FFD591",
694
+ colorWarningBorderHover: "#FFC069",
695
+ colorWarningHover: "#FFA940",
696
+ colorWarningActive: "#D46B08",
697
+ colorWarningTextHover: "#AD4E00",
698
+ colorWarningTextActive: "#873800",
699
+ colorError: "#D92D20",
700
+ colorErrorBg: "#FEF3F2",
701
+ colorErrorBgHover: "#FEE4E2",
702
+ colorErrorBorder: "#FDA29B",
703
+ colorErrorBorderHover: "#F97066",
704
+ colorErrorHover: "#F04438",
705
+ colorErrorActive: "#D92D20",
706
+ colorErrorTextHover: "#F04438",
707
+ colorErrorTextActive: "#D92D20",
708
+ colorFill: "rgba(0, 0, 0, 0.15)",
709
+ colorFillSecondary: "rgba(0, 0, 0, 0.06)",
710
+ colorFillTertiary: "rgba(0, 0, 0, 0.04)",
711
+ colorFillQuaternary: "rgba(0, 0, 0, 0.02)",
712
+ colorFillAlter: "rgba(0, 0, 0, 0.02)",
713
+ colorBorder: "rgba(0, 0, 0, 0.16)",
714
+ colorBorderSecondary: "rgba(0, 0, 0, 0.06)",
715
+ colorIcon: "rgba(0, 0, 0, 0.58)",
716
+ colorIconHover: "rgba(0, 0, 0, 0.88)",
717
+ controlOutline: "rgba(0, 0, 0, 0.12)"
718
+ },
719
+ darkMode: {
720
+ colorText: "rgba(255, 255, 255, 0.85)",
721
+ colorTextSecondary: "rgba(255, 255, 255, 0.65)",
722
+ colorTextTertiary: "rgba(255, 255, 255, 0.45)",
723
+ colorTextQuaternary: "rgba(255, 255, 255, 0.25)",
724
+ colorBgContainer: "#26262C",
725
+ colorBgElevated: "#2F2F37",
726
+ colorBgLayout: "#1A1A1E",
727
+ colorBgSpotlight: "#505D5D",
728
+ colorBgMask: "rgba(0, 0, 0, 0.45)",
729
+ colorBgBase: "#13131A",
730
+ colorFill: "rgba(255, 255, 255, 0.15)",
731
+ colorFillSecondary: "rgba(255, 255, 255, 0.06)",
732
+ colorFillTertiary: "rgba(255, 255, 255, 0.04)",
733
+ colorFillQuaternary: "rgba(255, 255, 255, 0.02)",
734
+ colorFillAlter: "rgba(255, 255, 255, 0.02)",
735
+ colorBorder: "rgba(255, 255, 255, 0.16)",
736
+ colorBorderSecondary: "rgba(255, 255, 255, 0.06)",
737
+ colorPrimary: "#2E90FA",
738
+ colorPrimaryBg: "#152137",
739
+ colorPrimaryBgHover: "#112545",
740
+ colorPrimaryBorder: "#1C3959",
741
+ colorPrimaryBorderHover: "#204C7C",
742
+ colorPrimaryHover: "#50A0E8",
743
+ colorPrimaryActive: "#2565AB",
744
+ colorPrimaryTextHover: "#50A0E8",
745
+ colorPrimaryTextActive: "#2565AB",
746
+ colorInfo: "#2E90FA",
747
+ colorInfoBg: "#152137",
748
+ colorInfoBgHover: "#112545",
749
+ colorInfoBorder: "#1C3959",
750
+ colorInfoBorderHover: "#204C7C",
751
+ colorInfoHover: "#50A0E8",
752
+ colorInfoActive: "#2565AB",
753
+ colorInfoTextHover: "#50A0E8",
754
+ colorInfoTextActive: "#2565AB",
755
+ colorSuccess: "#389E0D",
756
+ colorSuccessBg: "#162100",
757
+ colorSuccessBgHover: "#1D2B00",
758
+ colorSuccessBorder: "#274916",
759
+ colorSuccessBorderHover: "#306317",
760
+ colorSuccessHover: "#52C41A",
761
+ colorSuccessActive: "#237804",
762
+ colorSuccessTextHover: "#52C41A",
763
+ colorSuccessTextActive: "#237804",
764
+ colorWarning: "#D48806",
765
+ colorWarningBg: "#281800",
766
+ colorWarningBgHover: "#3D2200",
767
+ colorWarningBorder: "#443B16",
768
+ colorWarningBorderHover: "#594E1A",
769
+ colorWarningHover: "#E8B339",
770
+ colorWarningActive: "#AA7714",
771
+ colorWarningTextHover: "#E8B339",
772
+ colorWarningTextActive: "#AA7714",
773
+ colorError: "#CF3D33",
774
+ colorErrorBg: "#291414",
775
+ colorErrorBgHover: "#411A18",
776
+ colorErrorBorder: "#562222",
777
+ colorErrorBorderHover: "#772A24",
778
+ colorErrorHover: "#E5695A",
779
+ colorErrorActive: "#A3332B",
780
+ colorErrorTextHover: "#E5695A",
781
+ colorErrorTextActive: "#A3332B",
782
+ colorIcon: "rgba(255, 255, 255, 0.58)",
783
+ colorIconHover: "rgba(255, 255, 255, 0.88)",
784
+ controlOutline: "rgba(255, 255, 255, 0.12)"
785
+ }
786
+ };
787
+ const sharedTokens = {
788
+ fontFamily: "var(--ds-inter)",
789
+ fontFamilyCode: "var(--ds-roboto-mono)",
790
+ fontSizeHeading1: 36,
791
+ fontSizeHeading2: 30,
792
+ fontSizeHeading3: 24,
793
+ fontSizeHeading4: 20,
794
+ fontSizeHeading5: 16,
795
+ lineHeightHeading1: 40 / 36,
796
+ lineHeightHeading2: 1.2,
797
+ lineHeightHeading3: 32 / 24,
798
+ lineHeightHeading4: 1.4,
799
+ lineHeightHeading5: 1.5,
800
+ lineHeight: 20 / 14,
801
+ lineHeightLG: 1.5,
802
+ lineHeightSM: 16 / 12,
803
+ fontWeightStrong: 600,
804
+ boxShadow: "0px 1px 2px rgba(0, 0, 0, 0.06), 0px 1px 6px rgba(0, 0, 0, 0.04), 0px 2px 10px rgba(0, 0, 0, 0.04)",
805
+ boxShadowSecondary: "0px 0px 1px rgba(0, 0, 0, 0.24), 0px 3px 6px 1px rgba(0, 0, 0, 0.08), 0px 6px 26px 2px rgba(0, 0, 0, 0.08), 0px 4px 52px rgba(0, 0, 0, 0.05)",
806
+ colorBgSpotlight: "rgba(0, 0, 0, 0.85)"
807
+ };
808
+ const sharedThemeConfig = {
809
+ cssVar: true,
810
+ components: {
811
+ Input: {},
812
+ InputNumber: {},
813
+ Button: {
814
+ defaultShadow: void 0,
815
+ primaryShadow: void 0,
816
+ dangerShadow: void 0
817
+ },
818
+ Select: {},
819
+ Segmented: {
820
+ controlHeightLG: 36,
821
+ controlHeightSM: 24
822
+ },
823
+ Breadcrumb: {
824
+ separatorColor: "var(--ds-color-border)"
825
+ },
826
+ Slider: {
827
+ trackBg: "var(--ds-color-primary)",
828
+ trackHoverBg: "var(--ds-color-primary-hover)",
829
+ trackBgDisabled: "var(--ds-color-text-disabled)",
830
+ railBg: "var(--ds-control-outline)",
831
+ railHoverBg: "var(--ds-color-border)",
832
+ handleColor: "var(--ds-color-primary)",
833
+ handleActiveColor: "var(--ds-color-primary-active)",
834
+ handleColorDisabled: "var(--ds-color-text-disabled)",
835
+ dotBorderColor: "var(--ds-color-primary)",
836
+ dotActiveBorderColor: "var(--ds-color-primary-active)"
837
+ },
838
+ Form: {
839
+ itemMarginBottom: 16,
840
+ labelColor: "var(--ds-color-text)"
841
+ }
842
+ }
843
+ };
844
+ const lightTheme = {
845
+ token: {
846
+ ...figmaToAntDesignTokens.lightMode,
847
+ ...sharedTokens
848
+ },
849
+ ...sharedThemeConfig
850
+ };
851
+ const darkTheme = {
852
+ token: {
853
+ ...figmaToAntDesignTokens.darkMode,
854
+ ...sharedTokens
855
+ },
856
+ ...sharedThemeConfig
857
+ };
858
+ "use client";
859
+ const DSWrapper = ({ children, theme, appendClassesTo })=>{
860
+ const cls = useCls();
861
+ const className = clsx(cls("theme-provider"), theme.toString());
862
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useLayoutEffect)(()=>{
863
+ const classes = className.split(" ");
864
+ const el = "string" == typeof appendClassesTo ? document.querySelector(appendClassesTo) : appendClassesTo;
865
+ if (el) el.classList.add(...classes);
866
+ return ()=>{
867
+ if (el) el.classList.remove(...classes);
868
+ };
869
+ }, [
870
+ appendClassesTo,
871
+ className
872
+ ]);
873
+ return void 0 === appendClassesTo ? __WEBPACK_EXTERNAL_MODULE_react__.Children.map(children, (child)=>{
874
+ if (/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.isValidElement)(child)) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.cloneElement)(child, {
875
+ className: clsx(child.props.className, className)
876
+ });
877
+ return child;
878
+ }) : children;
879
+ };
880
+ const ThemeProvider = ({ theme, appendClassesTo, children })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__ant_design_cssinjs_c619260f__.StyleProvider, {
881
+ layer: true,
882
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__["default"], {
883
+ theme: "light" == theme ? lightTheme : darkTheme,
884
+ prefixCls: "ds",
885
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(DSWrapper, {
886
+ theme: theme,
887
+ appendClassesTo: appendClassesTo,
888
+ children: children
889
+ })
890
+ })
891
+ });
892
+ "use client";
893
+ const SplitterPanel = ({ children, className, style, ...rest })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_splitter_Panel_2a8c0f35__["default"], {
894
+ className: className,
895
+ style: style,
896
+ ...rest,
897
+ children: children
898
+ });
899
+ const MainSplitter = ({ children, className = "", style = {}, showSplitBar = true, ...rest })=>{
900
+ const cls = useCls();
901
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_splitter_Splitter_9b2d5564__["default"], {
902
+ className: clsx(cls("splitter"), !showSplitBar && cls("splitter-hidden-split-bar"), className),
903
+ style: style,
904
+ ...rest,
905
+ children: children
906
+ });
907
+ };
908
+ const Splitter = Object.assign(MainSplitter, {
909
+ Panel: SplitterPanel
910
+ });
911
+ const Split = Splitter;
912
+ const measureText = (container)=>{
913
+ const span = document.createElement("span");
914
+ span.style.opacity = "0";
915
+ span.style.position = "absolute";
916
+ span.style.top = "-1000px";
917
+ span.style.left = "-1000px";
918
+ span.style.whiteSpace = "nowrap";
919
+ span.style.pointerEvents = "none";
920
+ container.appendChild(span);
921
+ return {
922
+ measure: (text)=>{
923
+ span.innerText = text;
924
+ return span.clientWidth;
925
+ },
926
+ destroy: ()=>{
927
+ container.removeChild(span);
928
+ }
929
+ };
930
+ };
931
+ const getMiddleTruncatedString = (text, ellipsis, container)=>{
932
+ var _Object_values_reverse_find;
933
+ if (!text) return text;
934
+ const { measure: getTextWidth, destroy: destroyMeasure } = measureText(container);
935
+ const textWidth = getTextWidth(text);
936
+ const containerWidth = container.clientWidth;
937
+ const initialOffset = Math.floor(containerWidth / textWidth * text.length);
938
+ if (textWidth <= containerWidth) {
939
+ destroyMeasure();
940
+ return text;
941
+ }
942
+ let offset = initialOffset;
943
+ const attempts = {};
944
+ const maxAttempts = 20;
945
+ const buffer = 10;
946
+ while(Object.values(attempts).length <= maxAttempts){
947
+ if (attempts[offset]) break;
948
+ if (offset <= 1) {
949
+ attempts[0] = [
950
+ 0,
951
+ ellipsis
952
+ ];
953
+ break;
954
+ }
955
+ const start = text.slice(0, Math.ceil((offset - ellipsis.length) / 2 - 1)).trimEnd();
956
+ const end = text.slice(Math.floor((offset - ellipsis.length) / 2) - offset).trimStart();
957
+ const truncatedStr = start + ellipsis + end;
958
+ const width = getTextWidth(truncatedStr);
959
+ attempts[offset] = [
960
+ width,
961
+ truncatedStr
962
+ ];
963
+ if (width >= containerWidth) offset -= 2;
964
+ else {
965
+ if (containerWidth - width < buffer) break;
966
+ offset += 2;
967
+ }
968
+ }
969
+ destroyMeasure();
970
+ return (null == (_Object_values_reverse_find = Object.values(attempts).reverse().find(([width])=>width < containerWidth)) ? void 0 : _Object_values_reverse_find[1]) ?? Object.values(attempts)[0][1];
971
+ };
972
+ "use client";
973
+ const Truncate = ({ children, position = "end", className, style, ...rest })=>{
974
+ const cls = useCls();
975
+ const containerRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
976
+ const [isTruncated, setIsTruncated] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
977
+ const [truncatedText, setTruncatedText] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(children);
978
+ const text = children;
979
+ const getContainerStyles = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
980
+ const baseStyles = {
981
+ overflow: "hidden",
982
+ whiteSpace: "nowrap",
983
+ textOverflow: "clip",
984
+ flexGrow: 1,
985
+ minWidth: 0,
986
+ maxWidth: "100%",
987
+ display: "block",
988
+ ...style
989
+ };
990
+ if ("end" === position) return {
991
+ ...baseStyles,
992
+ textOverflow: "ellipsis"
993
+ };
994
+ return baseStyles;
995
+ }, [
996
+ position,
997
+ style
998
+ ]);
999
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useLayoutEffect)(()=>{
1000
+ const container = containerRef.current;
1001
+ if (!container) return;
1002
+ let cancellationToken = {
1003
+ cancelled: false
1004
+ };
1005
+ const calculateTruncatedString = ()=>{
1006
+ if (cancellationToken) cancellationToken.cancelled = true;
1007
+ const requestCancellationToken = {
1008
+ cancelled: false
1009
+ };
1010
+ cancellationToken = requestCancellationToken;
1011
+ const truncated = getMiddleTruncatedString(text, "\u2026", container);
1012
+ if (requestCancellationToken.cancelled) return;
1013
+ setTruncatedText(truncated);
1014
+ };
1015
+ if ("middle" == position) {
1016
+ var _window_document_fonts_ready, _window_document_fonts;
1017
+ null == (_window_document_fonts = window.document.fonts) || null == (_window_document_fonts_ready = _window_document_fonts.ready) || _window_document_fonts_ready.then(calculateTruncatedString);
1018
+ }
1019
+ if ("end" == position) setTruncatedText(text);
1020
+ const observer = new ResizeObserver(()=>{
1021
+ if ("middle" == position) window.requestAnimationFrame(calculateTruncatedString);
1022
+ if ("end" == position) {
1023
+ const isOverflowing = container.scrollWidth > container.clientWidth;
1024
+ if (isOverflowing) setIsTruncated(true);
1025
+ }
1026
+ });
1027
+ observer.observe(container);
1028
+ return ()=>{
1029
+ cancellationToken.cancelled = true;
1030
+ observer.disconnect();
1031
+ };
1032
+ }, [
1033
+ text,
1034
+ position
1035
+ ]);
1036
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1037
+ ref: containerRef,
1038
+ style: getContainerStyles(),
1039
+ className: clsx(cls("truncate"), className),
1040
+ title: isTruncated ? text : void 0,
1041
+ ...rest,
1042
+ children: text === truncatedText ? text : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1043
+ children: truncatedText
1044
+ })
1045
+ });
1046
+ };
1047
+ function splitCamelCase(text) {
1048
+ const result = [];
1049
+ let currentWord = "";
1050
+ for (const char of text)if (char >= "A" && char <= "Z") {
1051
+ if (currentWord) result.push(currentWord);
1052
+ currentWord = char.toLowerCase();
1053
+ } else currentWord += char;
1054
+ if (currentWord) result.push(currentWord);
1055
+ return result.length > 0 ? result : [
1056
+ text
1057
+ ];
1058
+ }
1059
+ const parseAntdPlacement = (placement = "bottomLeft")=>{
1060
+ const [position1, position2] = splitCamelCase(placement);
1061
+ let primaryPlacement;
1062
+ let align = "center";
1063
+ if ("top" === position1 || "bottom" === position1) {
1064
+ primaryPlacement = position1;
1065
+ if (position2) switch(position2){
1066
+ case "left":
1067
+ align = "start";
1068
+ break;
1069
+ case "right":
1070
+ align = "end";
1071
+ break;
1072
+ }
1073
+ } else if ("left" === position1 || "right" === position1) {
1074
+ primaryPlacement = position1;
1075
+ if (position2) switch(position2){
1076
+ case "top":
1077
+ align = "start";
1078
+ break;
1079
+ case "bottom":
1080
+ align = "end";
1081
+ break;
1082
+ }
1083
+ } else primaryPlacement = "bottom";
1084
+ return {
1085
+ placement: primaryPlacement,
1086
+ align
1087
+ };
1088
+ };
1089
+ "use client";
1090
+ const DropdownMenu = ({ children, items, placement, openOnHover, open: outsideOpen, onOpenChange: outsideOnOpenChange })=>{
1091
+ const [open, setOpen] = (0, __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_utils_d48cdb94__.useControlled)({
1092
+ controlled: outsideOpen,
1093
+ default: false,
1094
+ name: "open"
1095
+ });
1096
+ const onOpenChange = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((newValue)=>{
1097
+ setOpen(newValue);
1098
+ null == outsideOnOpenChange || outsideOnOpenChange(newValue);
1099
+ }, [
1100
+ setOpen,
1101
+ outsideOnOpenChange
1102
+ ]);
1103
+ const cls = useCls();
1104
+ const antdCssVarClassname = useAntdCssVarClassname();
1105
+ const headlessUIPlacement = parseAntdPlacement(placement);
1106
+ const buttonRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
1107
+ const itemGroups = items.reduce((acc, current)=>{
1108
+ if (0 === acc.length && "header" !== current.type) acc.push({
1109
+ label: null,
1110
+ items: []
1111
+ });
1112
+ if ("header" === current.type) acc.push({
1113
+ label: current.title,
1114
+ items: []
1115
+ });
1116
+ else if (("item" === current.type || "divider" === current.type) && acc.length > 0) acc[acc.length - 1].items.push(current);
1117
+ return acc;
1118
+ }, []);
1119
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_menu_54c0c798__.Menu.Root, {
1120
+ openOnHover: openOnHover,
1121
+ open: open,
1122
+ onOpenChange: onOpenChange,
1123
+ children: [
1124
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_menu_54c0c798__.Menu.Trigger, {
1125
+ render: children,
1126
+ ref: buttonRef
1127
+ }),
1128
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_menu_54c0c798__.Menu.Portal, {
1129
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_menu_54c0c798__.Menu.Positioner, {
1130
+ side: headlessUIPlacement.placement,
1131
+ align: headlessUIPlacement.align,
1132
+ sideOffset: 4,
1133
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_menu_54c0c798__.Menu.Popup, {
1134
+ className: clsx(cls("dropdown-menu"), antdCssVarClassname),
1135
+ children: itemGroups.map((group, i)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_menu_54c0c798__.Menu.Group, {
1136
+ children: [
1137
+ group.label && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_menu_54c0c798__.Menu.GroupLabel, {
1138
+ className: cls("dropdown-menu-header"),
1139
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1140
+ children: group.label
1141
+ })
1142
+ }, i),
1143
+ group.items.map((item, j)=>"item" == item.type ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_menu_54c0c798__.Menu.Item, {
1144
+ className: clsx(cls("dropdown-menu-item")),
1145
+ disabled: item.disabled,
1146
+ "data-danger": item.danger,
1147
+ onClick: item.onClick,
1148
+ children: [
1149
+ item.icon && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1150
+ className: cls("dropdown-menu-item-icon"),
1151
+ children: item.icon
1152
+ }),
1153
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1154
+ children: item.label
1155
+ })
1156
+ ]
1157
+ }, i + "-" + j) : "divider" == item.type ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_menu_54c0c798__.Menu.Separator, {
1158
+ className: cls("dropdown-menu-divider")
1159
+ }, i) : "header" == item.type ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_menu_54c0c798__.Menu.GroupLabel, {
1160
+ className: cls("dropdown-menu-header"),
1161
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1162
+ children: item.title
1163
+ })
1164
+ }, i) : null)
1165
+ ]
1166
+ }, "group" + i))
1167
+ })
1168
+ })
1169
+ })
1170
+ ]
1171
+ });
1172
+ };
1173
+ function reactNodeToString(node) {
1174
+ if (null == node) return "";
1175
+ if ("string" == typeof node) return node;
1176
+ if ("number" == typeof node || "boolean" == typeof node) return node.toString();
1177
+ if (Array.isArray(node)) return node.map(reactNodeToString).join("");
1178
+ if ((0, __WEBPACK_EXTERNAL_MODULE_react__.isValidElement)(node) && "props" in node && node.props && "object" == typeof node.props && "children" in node.props && node.props.children) {
1179
+ if ("br" === node.type) return "\n";
1180
+ if (node.props.children) return reactNodeToString(node.props.children);
1181
+ }
1182
+ return "";
1183
+ }
1184
+ function isTracebackError(error) {
1185
+ if (!error || "string" != typeof error && !error.toString) return false;
1186
+ const errorString = "string" == typeof error ? error : error.toString();
1187
+ const pythonTracebackRegex = /Traceback \(most recent call last\):/;
1188
+ const pythonStackFrameRegex = /File ".*?", line \d+, in/;
1189
+ const goStackTraceRegex = /goroutine \d+ \[.*\]:|panic: /;
1190
+ const goStackFrameRegex = /\/.*\.go:\d+/;
1191
+ const isPythonTraceback = pythonTracebackRegex.test(errorString) || pythonStackFrameRegex.test(errorString);
1192
+ const isGoStackTrace = goStackTraceRegex.test(errorString) || goStackFrameRegex.test(errorString);
1193
+ return isPythonTraceback || isGoStackTrace;
1194
+ }
1195
+ "use client";
1196
+ const WithAntdTokens = ({ as: Tag = "div", ref, className, ...rest })=>{
1197
+ const Component = Tag;
1198
+ const cssVar = useAntdCssVarClassname();
1199
+ const { renderElement } = (0, __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.useRender)({
1200
+ render: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Component, {}),
1201
+ refs: [
1202
+ ref
1203
+ ],
1204
+ props: {
1205
+ ...rest,
1206
+ className: clsx(className, cssVar)
1207
+ }
1208
+ });
1209
+ return renderElement();
1210
+ };
1211
+ "use client";
1212
+ const useEnhancedEffect = "undefined" != typeof window ? __WEBPACK_EXTERNAL_MODULE_react__.useLayoutEffect : __WEBPACK_EXTERNAL_MODULE_react__.useEffect;
1213
+ function useEventCallback(fn) {
1214
+ const ref = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(fn);
1215
+ useEnhancedEffect(()=>{
1216
+ ref.current = fn;
1217
+ });
1218
+ return (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((...args)=>{
1219
+ var _ref_current;
1220
+ return null == (_ref_current = ref.current) ? void 0 : _ref_current.call(ref, ...args);
1221
+ }, []);
1222
+ }
1223
+ function useLatestRef(value) {
1224
+ const ref = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(value);
1225
+ useEnhancedEffect(()=>{
1226
+ ref.current = value;
1227
+ });
1228
+ return ref;
1229
+ }
1230
+ function useAnimationsFinished(ref, waitForNextTick = false) {
1231
+ const frameRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(-1);
1232
+ const timeoutRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(-1);
1233
+ const cancelTasks = useEventCallback(()=>{
1234
+ cancelAnimationFrame(frameRef.current);
1235
+ clearTimeout(timeoutRef.current);
1236
+ });
1237
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>cancelTasks, [
1238
+ cancelTasks
1239
+ ]);
1240
+ return useEventCallback((fnToExecute)=>{
1241
+ cancelTasks();
1242
+ const element = ref.current;
1243
+ if (!element) return;
1244
+ if ("function" != typeof element.getAnimations) fnToExecute();
1245
+ else frameRef.current = requestAnimationFrame(()=>{
1246
+ function exec() {
1247
+ if (!element) return;
1248
+ Promise.allSettled(element.getAnimations().map((anim)=>anim.finished)).then(()=>{
1249
+ (0, __WEBPACK_EXTERNAL_MODULE_react_dom_7136dc57__.flushSync)(fnToExecute);
1250
+ });
1251
+ }
1252
+ if (waitForNextTick) timeoutRef.current = window.setTimeout(exec);
1253
+ else exec();
1254
+ });
1255
+ });
1256
+ }
1257
+ "use client";
1258
+ const Transition = (props)=>{
1259
+ const { children = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {}), className, starting, ending, show = true, keepMounted = false, ...otherProps } = props;
1260
+ const { mounted, setMounted, transitionStatus } = (0, __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_utils_d48cdb94__.useTransitionStatus)(show);
1261
+ const showRef = useLatestRef(show);
1262
+ const combinedClassName = clsx(className, "starting" === transitionStatus && "string" == typeof starting && starting, "ending" === transitionStatus && "string" == typeof ending && ending);
1263
+ const ref = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
1264
+ const runOnceAnimationsFinish = useAnimationsFinished(ref, show);
1265
+ const { renderElement } = (0, __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_use_render_2fb9dc6d__.useRender)({
1266
+ render: "function" == typeof children ? children(otherProps, {}) : children,
1267
+ props: (0, __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_merge_props_04b69945__.mergeProps)({
1268
+ ...otherProps,
1269
+ ref,
1270
+ className: combinedClassName,
1271
+ ...{
1272
+ "data-starting": "starting" === transitionStatus ? "true" : void 0,
1273
+ "data-ending": "ending" === transitionStatus ? "true" : void 0
1274
+ },
1275
+ style: {
1276
+ ..."starting" === transitionStatus && "object" == typeof starting ? starting : {},
1277
+ ..."ending" === transitionStatus && "object" == typeof ending ? ending : {}
1278
+ }
1279
+ })
1280
+ });
1281
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
1282
+ if (keepMounted) return;
1283
+ runOnceAnimationsFinish(()=>{
1284
+ if (show === showRef.current) setMounted(show);
1285
+ });
1286
+ }, [
1287
+ show,
1288
+ keepMounted,
1289
+ runOnceAnimationsFinish,
1290
+ setMounted,
1291
+ showRef
1292
+ ]);
1293
+ return mounted ? renderElement() : null;
1294
+ };
1295
+ const ButtonInner = ({ style, ...rest }, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_button_8f463bb4__["default"], {
1296
+ ref: ref,
1297
+ style: style,
1298
+ ...rest
1299
+ });
1300
+ const Button = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(ButtonInner);
1301
+ const getUploadFileIcon = (fileType)=>"folder" === fileType ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.Folder, {
1302
+ size: 20,
1303
+ weight: "fill"
1304
+ }) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.File, {
1305
+ size: 20,
1306
+ weight: "fill"
1307
+ });
1308
+ const UploadItem = ({ fileName, fileType, status = "pending", percent, removable = true, onRemove, extraActions })=>{
1309
+ const cls = useCls();
1310
+ const showPercent = Math.round(percent || 0);
1311
+ const statusWithProgress = {
1312
+ done: "success",
1313
+ error: "exception",
1314
+ uploading: "active",
1315
+ removed: "normal",
1316
+ pending: "normal"
1317
+ };
1318
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__["default"], {
1319
+ className: clsx(cls("upload-item")),
1320
+ justify: "space-between",
1321
+ align: "center",
1322
+ "data-error": "error" === status,
1323
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__["default"], {
1324
+ align: "center",
1325
+ gap: 16,
1326
+ flex: 1,
1327
+ className: cls("upload-item-content"),
1328
+ children: [
1329
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1330
+ className: cls("upload-item-icon"),
1331
+ children: getUploadFileIcon(fileType)
1332
+ }),
1333
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__["default"], {
1334
+ align: "start",
1335
+ vertical: true,
1336
+ flex: 1,
1337
+ className: cls("upload-item-name-progress"),
1338
+ children: [
1339
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Truncate, {
1340
+ position: "middle",
1341
+ children: fileName
1342
+ }),
1343
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_progress_da1757d8__["default"], {
1344
+ percent: showPercent,
1345
+ size: "small",
1346
+ className: cls("upload-item-progress"),
1347
+ status: status && status in statusWithProgress ? statusWithProgress[status] : "normal"
1348
+ })
1349
+ ]
1350
+ }),
1351
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__["default"], {
1352
+ gap: 8,
1353
+ align: "center",
1354
+ children: [
1355
+ extraActions,
1356
+ removable && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
1357
+ label: "Remove",
1358
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.Trash, {
1359
+ size: 16
1360
+ }),
1361
+ onClick: onRemove,
1362
+ size: "small"
1363
+ })
1364
+ ]
1365
+ })
1366
+ ]
1367
+ })
1368
+ });
1369
+ };
1370
+ "use client";
1371
+ const useUploadItemRender = ({ showRemoveButton = true })=>{
1372
+ const itemRender = (_originNode, file, _fileList, actions)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(UploadItem, {
1373
+ fileName: file.name,
1374
+ fileType: file.type,
1375
+ status: file.status,
1376
+ percent: file.percent,
1377
+ removable: showRemoveButton,
1378
+ onRemove: ()=>actions.remove()
1379
+ });
1380
+ return (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(itemRender, [
1381
+ showRemoveButton
1382
+ ]);
1383
+ };
1384
+ "use client";
1385
+ const Dragger = ({ children, uploadTitle = "Click or drag file to this area to upload", uploadDescription = "Support for a single or bulk upload.", itemRender, ...rest })=>{
1386
+ const cls = useCls();
1387
+ const renderChildren = ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
1388
+ children: [
1389
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("p", {
1390
+ className: cls("upload-drag-icon"),
1391
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CloudArrowUp, {
1392
+ size: 40
1393
+ })
1394
+ }),
1395
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("p", {
1396
+ className: cls("upload-text"),
1397
+ children: uploadTitle
1398
+ }),
1399
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("p", {
1400
+ className: cls("upload-hint"),
1401
+ children: uploadDescription
1402
+ })
1403
+ ]
1404
+ });
1405
+ const defaultItemRender = useUploadItemRender({
1406
+ showRemoveButton: true
1407
+ });
1408
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_upload_29096ddd__["default"].Dragger, {
1409
+ itemRender: itemRender || defaultItemRender,
1410
+ ...rest,
1411
+ children: children ? children : renderChildren()
1412
+ });
1413
+ };
1414
+ "use client";
1415
+ const DefaultUpload = ({ showRemoveButton = true, className, fileList, children, ...restProps })=>{
1416
+ const cls = useCls();
1417
+ const icon = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CloudArrowUp, {
1418
+ size: 24
1419
+ });
1420
+ const defaultChildren = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Button, {
1421
+ icon: icon,
1422
+ type: "default",
1423
+ children: "Upload Files"
1424
+ });
1425
+ const itemRender = useUploadItemRender({
1426
+ showRemoveButton
1427
+ });
1428
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_upload_29096ddd__["default"], {
1429
+ className: clsx(cls("upload"), className),
1430
+ ...restProps,
1431
+ fileList: fileList,
1432
+ itemRender: itemRender,
1433
+ children: children || defaultChildren
1434
+ });
1435
+ };
1436
+ const Upload = Object.assign(DefaultUpload, {
1437
+ Dragger: Dragger,
1438
+ Item: UploadItem
1439
+ });
1440
+ "use client";
1441
+ const ScrollArea = ({ children, className, viewportClassName, thumbClassName, scrollbarClassName, orientation = "vertical" })=>{
1442
+ const cls = useCls();
1443
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Root, {
1444
+ className: clsx(cls("scroll-area"), className),
1445
+ children: [
1446
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Viewport, {
1447
+ className: clsx(cls("scroll-area-viewport"), viewportClassName),
1448
+ children: children
1449
+ }),
1450
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Scrollbar, {
1451
+ className: clsx(cls("scroll-area-scrollbar"), scrollbarClassName),
1452
+ orientation: orientation,
1453
+ "data-orientation": orientation,
1454
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Thumb, {
1455
+ className: clsx(cls("scroll-area-thumb", thumbClassName))
1456
+ })
1457
+ })
1458
+ ]
1459
+ });
1460
+ };
1461
+ "use client";
1462
+ const Popover = ({ className, style, arrow = false, ...rest })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_popover_ff5d0161__["default"], {
1463
+ className: className,
1464
+ arrow: arrow,
1465
+ style: style,
1466
+ ...rest
1467
+ });
1468
+ "use client";
1469
+ const Slider = ({ className, tooltip = {}, style, ...rest })=>{
1470
+ const cls = useCls();
1471
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_slider_a2f2f6f0__["default"], {
1472
+ className: clsx(cls("slider"), className),
1473
+ style: style,
1474
+ ...rest,
1475
+ tooltip: {
1476
+ arrow: false,
1477
+ ...tooltip
1478
+ }
1479
+ });
1480
+ };
1481
+ "use client";
1482
+ const Tooltip = ({ className, style, arrow = false, ...rest })=>{
1483
+ const cls = useCls();
1484
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_tooltip_1091cc47__["default"], {
1485
+ className: clsx(cls("tooltip"), className),
1486
+ arrow: arrow,
1487
+ style: style,
1488
+ ...rest
1489
+ });
1490
+ };
1491
+ function getBreadcrumbName(route, params) {
1492
+ if (void 0 === route.title || null === route.title) return null;
1493
+ const paramsKeys = Object.keys(params).join("|");
1494
+ return "object" == typeof route.title ? route.title : String(route.title).replace(new RegExp(`:(${paramsKeys})`, "g"), (replacement, key)=>params[key] || replacement);
1495
+ }
1496
+ function useItemRender(prefixCls, itemRender) {
1497
+ const mergedItemRender = (item, params, routes, path, href)=>{
1498
+ if (itemRender) return itemRender(item, params, routes, path);
1499
+ const name = getBreadcrumbName(item, params);
1500
+ const child = item.icon ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
1501
+ children: [
1502
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1503
+ className: cn(`${prefixCls}-item-icon`),
1504
+ children: item.icon
1505
+ }),
1506
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1507
+ className: cn(`${prefixCls}-item-name`),
1508
+ children: name
1509
+ })
1510
+ ]
1511
+ }) : name;
1512
+ return (0, __WEBPACK_EXTERNAL_MODULE_antd_es_breadcrumb_useItemRender_afeae2fe__.renderItem)(prefixCls, item, child, href);
1513
+ };
1514
+ return mergedItemRender;
1515
+ }
1516
+ "use client";
1517
+ const BreadcrumbInner = ({ className, items, noWrap = false, itemRender: outsideItemRender, ...rest })=>{
1518
+ const cls = useCls();
1519
+ const { getPrefixCls } = useGetPrefixCls();
1520
+ const componentPrefixCls = getPrefixCls("breadcrumb");
1521
+ const itemRender = useItemRender(componentPrefixCls, outsideItemRender);
1522
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_breadcrumb_524ec91e__["default"], {
1523
+ className: clsx(cls("breadcrumb", noWrap && "breadcrumb-nowrap"), className),
1524
+ items: items,
1525
+ itemRender: itemRender,
1526
+ ...rest
1527
+ });
1528
+ };
1529
+ const Item = (props)=>{
1530
+ const { className, ...restProps } = props;
1531
+ const cls = useCls();
1532
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_breadcrumb_524ec91e__["default"].Item, {
1533
+ className: clsx(cls("breadcrumb-item"), className),
1534
+ ...restProps
1535
+ });
1536
+ };
1537
+ const Separator = (props)=>{
1538
+ const { className, ...restProps } = props;
1539
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_breadcrumb_524ec91e__["default"].Separator, {
1540
+ ...restProps
1541
+ });
1542
+ };
1543
+ const Breadcrumb = Object.assign(BreadcrumbInner, {
1544
+ Item,
1545
+ Separator
1546
+ });
1547
+ "use client";
1548
+ function useControlledState(value, onChange, defaultValue) {
1549
+ const [internalState, setInternalState] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(defaultValue);
1550
+ const isControlled = void 0 !== value;
1551
+ const setState = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((next)=>{
1552
+ const nextValue = "function" == typeof next ? next(value) : next;
1553
+ if ("function" == typeof onChange) onChange(nextValue);
1554
+ if (!isControlled) setInternalState(next);
1555
+ }, [
1556
+ value,
1557
+ onChange,
1558
+ isControlled
1559
+ ]);
1560
+ const state = isControlled ? value : internalState;
1561
+ return [
1562
+ state,
1563
+ setState
1564
+ ];
1565
+ }
1566
+ "use client";
1567
+ const getUniqueKeysFromOriginals = (nodes, originalKeysToFind, map)=>{
1568
+ if (!nodes) return [];
1569
+ let keys = [];
1570
+ nodes.forEach((node)=>{
1571
+ const originalKey = map.get(node.key);
1572
+ if (void 0 !== originalKey && originalKeysToFind.has(originalKey)) keys.push(node.key);
1573
+ if (node.children) keys = keys.concat(getUniqueKeysFromOriginals(node.children, originalKeysToFind, map));
1574
+ });
1575
+ return keys;
1576
+ };
1577
+ const processTreeData = (nodes, expandedOriginalKeys, parentKeyPrefix = "", keyMap)=>{
1578
+ if (!nodes) return;
1579
+ return nodes.map((node)=>{
1580
+ const originalKey = node.key;
1581
+ if (null == originalKey) {
1582
+ console.warn("Tree node is missing a key. Skipping unique key generation for this node and its children.", node);
1583
+ return {
1584
+ ...node
1585
+ };
1586
+ }
1587
+ const separator = "/";
1588
+ const originalKeyString = String(originalKey);
1589
+ if (originalKeyString.includes(separator)) console.warn(`Tree node original key "${originalKeyString}" contains the separator character "${separator}". This might lead to unexpected behavior if keys are not truly unique.`, node);
1590
+ const uniqueKey = parentKeyPrefix ? `${parentKeyPrefix}${separator}${originalKeyString}` : originalKeyString;
1591
+ keyMap.set(uniqueKey, originalKey);
1592
+ const isExpanded = expandedOriginalKeys.has(originalKey);
1593
+ const icon = node.icon || (node.isLeaf ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.File, {}) : isExpanded ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.FolderOpen, {}) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.Folder, {}));
1594
+ const processedChildren = processTreeData(node.children, expandedOriginalKeys, uniqueKey, keyMap);
1595
+ return {
1596
+ ...node,
1597
+ key: uniqueKey,
1598
+ icon: icon,
1599
+ children: processedChildren
1600
+ };
1601
+ });
1602
+ };
1603
+ const useUniqueKeysTree = ({ treeData: originTreeData, expandedKeys, defaultExpandedKeys = [], onExpand, checkedKeys, defaultCheckedKeys = [], onCheck, allowDuplicatedKeys })=>{
1604
+ const [currentOriginalExpandedKeys, setCurrentOriginalExpandedKeys] = useControlledState(expandedKeys, void 0, defaultExpandedKeys);
1605
+ const controlledCheckedKeysValue = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
1606
+ if (!checkedKeys) return;
1607
+ return Array.isArray(checkedKeys) ? checkedKeys : checkedKeys.checked;
1608
+ }, [
1609
+ checkedKeys
1610
+ ]);
1611
+ const [currentOriginalCheckedKeys, setCurrentOriginalCheckedKeys] = useControlledState(controlledCheckedKeysValue, void 0, defaultCheckedKeys);
1612
+ const { processedTreeData, uniqueToOriginalKeyMap } = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
1613
+ if (!allowDuplicatedKeys) return {
1614
+ processedTreeData: originTreeData,
1615
+ uniqueToOriginalKeyMap: new Map()
1616
+ };
1617
+ const map = new Map();
1618
+ const expandedOriginalKeySet = new Set(currentOriginalExpandedKeys);
1619
+ const data = processTreeData(originTreeData, expandedOriginalKeySet, "", map);
1620
+ return {
1621
+ processedTreeData: data,
1622
+ uniqueToOriginalKeyMap: map
1623
+ };
1624
+ }, [
1625
+ originTreeData,
1626
+ currentOriginalExpandedKeys,
1627
+ allowDuplicatedKeys
1628
+ ]);
1629
+ const currentUniqueExpandedKeys = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
1630
+ if (!allowDuplicatedKeys) return currentOriginalExpandedKeys;
1631
+ const originalKeysSet = new Set(currentOriginalExpandedKeys);
1632
+ return getUniqueKeysFromOriginals(processedTreeData, originalKeysSet, uniqueToOriginalKeyMap);
1633
+ }, [
1634
+ currentOriginalExpandedKeys,
1635
+ processedTreeData,
1636
+ uniqueToOriginalKeyMap,
1637
+ allowDuplicatedKeys
1638
+ ]);
1639
+ const currentUniqueCheckedKeys = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
1640
+ if (!allowDuplicatedKeys) return currentOriginalCheckedKeys;
1641
+ const originalKeysSet = new Set(currentOriginalCheckedKeys);
1642
+ return getUniqueKeysFromOriginals(processedTreeData, originalKeysSet, uniqueToOriginalKeyMap);
1643
+ }, [
1644
+ currentOriginalCheckedKeys,
1645
+ processedTreeData,
1646
+ uniqueToOriginalKeyMap,
1647
+ allowDuplicatedKeys
1648
+ ]);
1649
+ const handleOriginalExpand = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((keys, info)=>{
1650
+ const keysArray = Array.from(keys);
1651
+ setCurrentOriginalExpandedKeys(keysArray);
1652
+ if (onExpand) onExpand(keysArray, info);
1653
+ }, [
1654
+ onExpand,
1655
+ setCurrentOriginalExpandedKeys
1656
+ ]);
1657
+ const handleUniqueExpand = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((uniqueKeys, info)=>{
1658
+ const originalKeys = uniqueKeys.map((uk)=>uniqueToOriginalKeyMap.get(uk)).filter((ok)=>void 0 !== ok);
1659
+ const triggeredOriginalKey = uniqueToOriginalKeyMap.get(info.node.key);
1660
+ setCurrentOriginalExpandedKeys(originalKeys);
1661
+ if (onExpand) onExpand(originalKeys, {
1662
+ ...info,
1663
+ triggeredOriginalKey: triggeredOriginalKey
1664
+ });
1665
+ }, [
1666
+ uniqueToOriginalKeyMap,
1667
+ setCurrentOriginalExpandedKeys,
1668
+ onExpand
1669
+ ]);
1670
+ const handleOriginalCheck = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((checkedInfoOrKeys, info)=>{
1671
+ let checkedArray;
1672
+ checkedArray = Array.isArray(checkedInfoOrKeys) ? Array.from(checkedInfoOrKeys) : checkedInfoOrKeys && "object" == typeof checkedInfoOrKeys && "checked" in checkedInfoOrKeys ? Array.from(checkedInfoOrKeys.checked) : [];
1673
+ setCurrentOriginalCheckedKeys(checkedArray);
1674
+ if (onCheck) onCheck(checkedArray, info);
1675
+ }, [
1676
+ onCheck,
1677
+ setCurrentOriginalCheckedKeys
1678
+ ]);
1679
+ const handleUniqueCheck = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((checkedInfoOrKeys, info)=>{
1680
+ const triggeredUniqueKey = info.node.key;
1681
+ const triggeredOriginalKey = uniqueToOriginalKeyMap.get(triggeredUniqueKey);
1682
+ if (void 0 === triggeredOriginalKey) return void console.error("Could not find original key for unique key:", triggeredUniqueKey);
1683
+ if (!info.checked) {
1684
+ const currentKeys = [
1685
+ ...currentOriginalCheckedKeys
1686
+ ];
1687
+ const newCheckedKeys = currentKeys.filter((key)=>key !== triggeredOriginalKey);
1688
+ setCurrentOriginalCheckedKeys(newCheckedKeys);
1689
+ if (onCheck) onCheck(newCheckedKeys, {
1690
+ ...info,
1691
+ triggeredOriginalKey: triggeredOriginalKey
1692
+ });
1693
+ return;
1694
+ }
1695
+ let uniqueCheckedKeys;
1696
+ uniqueCheckedKeys = Array.isArray(checkedInfoOrKeys) ? checkedInfoOrKeys : checkedInfoOrKeys && "object" == typeof checkedInfoOrKeys && "checked" in checkedInfoOrKeys ? checkedInfoOrKeys.checked : [];
1697
+ const derivedOriginalKeys = new Set();
1698
+ for (const uniqueKey of uniqueCheckedKeys){
1699
+ const originalKey = uniqueToOriginalKeyMap.get(uniqueKey);
1700
+ if (void 0 !== originalKey) derivedOriginalKeys.add(originalKey);
1701
+ }
1702
+ derivedOriginalKeys.add(triggeredOriginalKey);
1703
+ const originalKeysArray = Array.from(derivedOriginalKeys);
1704
+ setCurrentOriginalCheckedKeys(originalKeysArray);
1705
+ if (onCheck) onCheck(originalKeysArray, {
1706
+ ...info,
1707
+ triggeredOriginalKey: triggeredOriginalKey
1708
+ });
1709
+ }, [
1710
+ uniqueToOriginalKeyMap,
1711
+ setCurrentOriginalCheckedKeys,
1712
+ onCheck,
1713
+ currentOriginalCheckedKeys
1714
+ ]);
1715
+ const handleAntTreeExpand = allowDuplicatedKeys ? handleUniqueExpand : handleOriginalExpand;
1716
+ const handleAntTreeCheck = allowDuplicatedKeys ? handleUniqueCheck : handleOriginalCheck;
1717
+ const finalProcessedTreeData = allowDuplicatedKeys ? processedTreeData : originTreeData;
1718
+ return {
1719
+ processedTreeData: finalProcessedTreeData,
1720
+ currentUniqueExpandedKeys,
1721
+ currentUniqueCheckedKeys,
1722
+ handleAntTreeExpand,
1723
+ handleAntTreeCheck
1724
+ };
1725
+ };
1726
+ "use client";
1727
+ function useTreeCommon(props) {
1728
+ const { treeData: originTreeData = [], expandedKeys: propExpandedKeys, defaultExpandedKeys: propDefaultExpandedKeys = [], defaultExpandAll = false, defaultExpandParent = true, onExpand: propOnExpand, checkedKeys, defaultCheckedKeys, onCheck, allowDuplicatedKeys, className, switcherIcon, ...restProps } = props;
1729
+ const resolvedDefaultExpandedKeys = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
1730
+ if (defaultExpandAll) {
1731
+ const keys = [];
1732
+ const traverse = (nodes = [])=>{
1733
+ nodes.forEach((node)=>{
1734
+ keys.push(node.key);
1735
+ if (Array.isArray(node.children)) traverse(node.children);
1736
+ });
1737
+ };
1738
+ traverse(originTreeData);
1739
+ return keys;
1740
+ }
1741
+ if (defaultExpandParent && (null == propDefaultExpandedKeys ? void 0 : propDefaultExpandedKeys.length)) {
1742
+ const parentMap = new Map();
1743
+ const traverse = (nodes, parent)=>{
1744
+ nodes.forEach((node)=>{
1745
+ if (parent) parentMap.set(node.key, parent.key);
1746
+ const children = Array.isArray(node.children) ? node.children : [];
1747
+ if (children.length) traverse(children, node);
1748
+ });
1749
+ };
1750
+ traverse(originTreeData);
1751
+ const expanded = new Set(propDefaultExpandedKeys);
1752
+ propDefaultExpandedKeys.forEach((key)=>{
1753
+ let k = key;
1754
+ while(parentMap.has(k)){
1755
+ const p = parentMap.get(k);
1756
+ if (!expanded.has(p)) expanded.add(p);
1757
+ k = p;
1758
+ }
1759
+ });
1760
+ return Array.from(expanded);
1761
+ }
1762
+ return propDefaultExpandedKeys ?? [];
1763
+ }, [
1764
+ originTreeData,
1765
+ defaultExpandAll,
1766
+ defaultExpandParent,
1767
+ propDefaultExpandedKeys
1768
+ ]);
1769
+ const { processedTreeData, currentUniqueExpandedKeys, currentUniqueCheckedKeys, handleAntTreeExpand, handleAntTreeCheck } = useUniqueKeysTree({
1770
+ treeData: originTreeData,
1771
+ expandedKeys: propExpandedKeys,
1772
+ defaultExpandedKeys: resolvedDefaultExpandedKeys,
1773
+ onExpand: propOnExpand,
1774
+ checkedKeys,
1775
+ defaultCheckedKeys,
1776
+ onCheck,
1777
+ allowDuplicatedKeys
1778
+ });
1779
+ const cls = useCls();
1780
+ const customSwitcherIcon = ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CaretRight, {
1781
+ weight: "bold",
1782
+ className: cls("caret-switcher-icon")
1783
+ });
1784
+ return {
1785
+ cls,
1786
+ customSwitcherIcon,
1787
+ processedTreeData,
1788
+ currentUniqueExpandedKeys,
1789
+ currentUniqueCheckedKeys,
1790
+ handleAntTreeExpand,
1791
+ handleAntTreeCheck,
1792
+ restProps,
1793
+ className,
1794
+ switcherIcon
1795
+ };
1796
+ }
1797
+ "use client";
1798
+ const MainTreeInner = (props, ref)=>{
1799
+ const { cls, customSwitcherIcon, processedTreeData, currentUniqueExpandedKeys, currentUniqueCheckedKeys, handleAntTreeExpand, handleAntTreeCheck, restProps, className, switcherIcon } = useTreeCommon(props);
1800
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_tree_05ca9855__["default"], {
1801
+ ref: ref,
1802
+ className: clsx(cls("tree"), className),
1803
+ switcherIcon: switcherIcon || customSwitcherIcon,
1804
+ treeData: processedTreeData,
1805
+ expandedKeys: currentUniqueExpandedKeys,
1806
+ onExpand: handleAntTreeExpand,
1807
+ checkedKeys: {
1808
+ checked: currentUniqueCheckedKeys,
1809
+ halfChecked: []
1810
+ },
1811
+ onCheck: handleAntTreeCheck,
1812
+ ...restProps
1813
+ });
1814
+ };
1815
+ const DirectoryTreeInner = (props, ref)=>{
1816
+ const { cls, customSwitcherIcon, processedTreeData, currentUniqueExpandedKeys, currentUniqueCheckedKeys, handleAntTreeExpand, handleAntTreeCheck, restProps, className, switcherIcon } = useTreeCommon(props);
1817
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_tree_05ca9855__["default"].DirectoryTree, {
1818
+ ref: ref,
1819
+ className: clsx(cls("directory-tree"), className),
1820
+ switcherIcon: switcherIcon || customSwitcherIcon,
1821
+ treeData: processedTreeData,
1822
+ expandedKeys: currentUniqueExpandedKeys,
1823
+ onExpand: handleAntTreeExpand,
1824
+ checkedKeys: {
1825
+ checked: currentUniqueCheckedKeys,
1826
+ halfChecked: []
1827
+ },
1828
+ onCheck: handleAntTreeCheck,
1829
+ ...restProps
1830
+ });
1831
+ };
1832
+ const MainTree = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(MainTreeInner);
1833
+ const DirectoryTree = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(DirectoryTreeInner);
1834
+ const Tree = Object.assign(MainTree, {
1835
+ DirectoryTree,
1836
+ TreeNode: __WEBPACK_EXTERNAL_MODULE_antd_es_tree_05ca9855__["default"].TreeNode
1837
+ });
1838
+ const Spin = ({ indicator, ...rest })=>{
1839
+ const cls = useCls();
1840
+ const spinIndicator = indicator || /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1841
+ className: cls("spin-loader")
1842
+ });
1843
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_spin_c7b761a0__["default"], {
1844
+ indicator: spinIndicator,
1845
+ ...rest
1846
+ });
1847
+ };
1848
+ "use client";
1849
+ const FormItem = ({ tooltip, label, optionalMark, ...rest })=>{
1850
+ const cls = useCls();
1851
+ const renderedLabel = tooltip || optionalMark ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("span", {
1852
+ className: cls("form-item-label-inner"),
1853
+ children: [
1854
+ label,
1855
+ tooltip && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
1856
+ className: cls("form-item-explaination-icon"),
1857
+ label: "string" == typeof tooltip || /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.isValidElement)(tooltip) ? tooltip : void 0,
1858
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.Question, {})
1859
+ }),
1860
+ optionalMark && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1861
+ className: cls("form-item-label-optional-mark"),
1862
+ children: "boolean" == typeof optionalMark ? "(optional)" : optionalMark
1863
+ })
1864
+ ]
1865
+ }) : label;
1866
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_form_FormItem_940c64da__["default"], {
1867
+ label: renderedLabel,
1868
+ ...rest
1869
+ });
1870
+ };
1871
+ "use client";
1872
+ const InternalForm = ({ ...rest })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_form_Form_38f624ac__["default"], {
1873
+ ...rest
1874
+ });
1875
+ const Form = Object.assign(InternalForm, {
1876
+ useForm: __WEBPACK_EXTERNAL_MODULE_antd_es_form_Form_38f624ac__.useForm,
1877
+ useFormInstance: __WEBPACK_EXTERNAL_MODULE_antd_es_form_hooks_useFormInstance_2ae86589__["default"],
1878
+ useWatch: __WEBPACK_EXTERNAL_MODULE_antd_es_form_Form_38f624ac__.useWatch,
1879
+ Item: FormItem,
1880
+ List: __WEBPACK_EXTERNAL_MODULE_antd_es_form_FormList_8c66a51b__["default"],
1881
+ ErrorList: __WEBPACK_EXTERNAL_MODULE_antd_es_form_ErrorList_c62fef91__["default"],
1882
+ Provider: __WEBPACK_EXTERNAL_MODULE_antd_es_form_context_0a1516eb__.FormProvider
1883
+ });
1884
+ "use client";
1885
+ const FieldInner = ({ label, className, size = "small", colon = true, type = "input", ...rest }, ref)=>{
1886
+ const cls = useCls();
1887
+ const id = (0, __WEBPACK_EXTERNAL_MODULE_react__.useId)();
1888
+ const cssVarClassname = useAntdCssVarClassname();
1889
+ const renderInputOrSelect = ()=>{
1890
+ if ("select" === type) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_select_005d200f__["default"], {
1891
+ id: id,
1892
+ ref: ref,
1893
+ size: size,
1894
+ ...rest.selectProps || {}
1895
+ });
1896
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_input_416a332a__["default"], {
1897
+ id: id,
1898
+ ref: ref,
1899
+ size: size,
1900
+ ...rest.inputProps || {}
1901
+ });
1902
+ };
1903
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
1904
+ className: clsx(cls("field"), cssVarClassname, className),
1905
+ children: [
1906
+ label && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("label", {
1907
+ htmlFor: id,
1908
+ className: cls("field-label"),
1909
+ children: [
1910
+ label,
1911
+ colon ? ":" : ""
1912
+ ]
1913
+ }),
1914
+ renderInputOrSelect()
1915
+ ]
1916
+ });
1917
+ };
1918
+ const Field = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(FieldInner);
1919
+ "use client";
1920
+ const Tour = ({ indicatorsRender, ...rest })=>{
1921
+ const cls = useCls();
1922
+ const defaultIndicatorRender = (current, total)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
1923
+ className: cls("tour-indicator-wrapper"),
1924
+ children: [
1925
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("span", {
1926
+ className: cls("tour-indicator-summary-text"),
1927
+ children: [
1928
+ current + 1,
1929
+ " / ",
1930
+ total
1931
+ ]
1932
+ }),
1933
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
1934
+ children: Array.from({
1935
+ length: total
1936
+ }).map((_, index)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
1937
+ className: clsx(index === current && cls("tour-indicator-active"), cls("tour-indicator"))
1938
+ }, index))
1939
+ })
1940
+ ]
1941
+ });
1942
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_tour_6998cb50__["default"], {
1943
+ indicatorsRender: indicatorsRender || defaultIndicatorRender,
1944
+ ...rest
1945
+ });
1946
+ };
1947
+ "use client";
1948
+ const toastManager = __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.createToastManager();
1949
+ function createToastTypeFunction(type) {
1950
+ return (message, options)=>{
1951
+ const toastId = toastManager.add({
1952
+ description: message,
1953
+ data: {
1954
+ type: type
1955
+ },
1956
+ ..."progress" === type || "error" === type ? {
1957
+ timeout: 0
1958
+ } : {},
1959
+ ...options
1960
+ });
1961
+ return toastId;
1962
+ };
1963
+ }
1964
+ const function_toast = Object.assign(createToastTypeFunction("info"), {
1965
+ info: createToastTypeFunction("info"),
1966
+ success: createToastTypeFunction("success"),
1967
+ error: createToastTypeFunction("error"),
1968
+ warning: createToastTypeFunction("warning"),
1969
+ progress: createToastTypeFunction("progress")
1970
+ });
1971
+ "use client";
1972
+ const CodeBlock = ({ code, children, lang: defaultLang = "tsx", className, options, activeOption: controlledActiveOption, defaultActiveOption = 0, onActiveOptionChange, copyText = "Copy", copySuccessText = "Copied", ...rest })=>{
1973
+ const [activeOption, setActiveOption] = useControlledState(controlledActiveOption, onActiveOptionChange, defaultActiveOption);
1974
+ const [currentCode, setCurrentCode] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(code || "");
1975
+ const [lang, setLang] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(defaultLang);
1976
+ const hasOptions = options && options.length > 0;
1977
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
1978
+ if (hasOptions) {
1979
+ var _options_activeOption, _options_activeOption1;
1980
+ const newCode = (null == (_options_activeOption = options[activeOption]) ? void 0 : _options_activeOption.code) || "";
1981
+ const newLang = (null == (_options_activeOption1 = options[activeOption]) ? void 0 : _options_activeOption1.lang) || defaultLang;
1982
+ setCurrentCode(newCode);
1983
+ setLang(newLang);
1984
+ }
1985
+ }, [
1986
+ code,
1987
+ activeOption,
1988
+ defaultActiveOption,
1989
+ options,
1990
+ defaultLang,
1991
+ hasOptions,
1992
+ setActiveOption
1993
+ ]);
1994
+ const [tooltipContent, setTooltipContent] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(copyText);
1995
+ const [copySuccess, setCopySuccess] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
1996
+ const handleCopy = ()=>{
1997
+ const codeContent = currentCode ? currentCode : reactNodeToString(children);
1998
+ try {
1999
+ navigator.clipboard.writeText(codeContent).then(()=>{
2000
+ setTooltipContent(copySuccessText);
2001
+ setCopySuccess(true);
2002
+ });
2003
+ } catch (_) {
2004
+ setTooltipContent("Failed to copy");
2005
+ }
2006
+ };
2007
+ const handleMouseLeave = ()=>{
2008
+ setTooltipContent(copyText);
2009
+ setCopySuccess(false);
2010
+ };
2011
+ const cls = useCls();
2012
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ThemeProvider, {
2013
+ theme: "dark",
2014
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(WithAntdTokens, {
2015
+ className: clsx(cls("code-block"), className),
2016
+ ...rest,
2017
+ children: [
2018
+ hasOptions && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
2019
+ className: cls("code-block-header"),
2020
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Segmented, {
2021
+ value: activeOption,
2022
+ onChange: setActiveOption,
2023
+ options: options.map((opt, index)=>({
2024
+ label: opt.label,
2025
+ value: index
2026
+ }))
2027
+ })
2028
+ }),
2029
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
2030
+ className: cls("code-block-copy"),
2031
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
2032
+ onClick: handleCopy,
2033
+ label: tooltipContent,
2034
+ onMouseLeave: handleMouseLeave,
2035
+ children: copySuccess ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.Check, {}) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.Copy, {})
2036
+ })
2037
+ }),
2038
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
2039
+ className: cls("code-block-content"),
2040
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ScrollArea, {
2041
+ children: currentCode ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_prism_react_renderer_be33806e__.Highlight, {
2042
+ language: lang,
2043
+ code: currentCode,
2044
+ theme: __WEBPACK_EXTERNAL_MODULE_prism_react_renderer_be33806e__.themes.vsDark,
2045
+ children: ({ className, style, tokens, getLineProps, getTokenProps })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("pre", {
2046
+ style: {
2047
+ ...style,
2048
+ backgroundColor: "transparent"
2049
+ },
2050
+ className: className,
2051
+ children: tokens.map((line, i)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
2052
+ ...getLineProps({
2053
+ line
2054
+ }),
2055
+ children: line.map((token, key)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
2056
+ ...getTokenProps({
2057
+ token
2058
+ })
2059
+ }, key))
2060
+ }, i))
2061
+ })
2062
+ }) : children
2063
+ })
2064
+ })
2065
+ ]
2066
+ })
2067
+ });
2068
+ };
2069
+ "use client";
2070
+ function InnerToast({ toast }) {
2071
+ var _toast_data;
2072
+ const cls = useCls();
2073
+ const toastIconMap = {
2074
+ info: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.Info, {
2075
+ weight: "fill"
2076
+ }),
2077
+ warning: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.WarningCircle, {
2078
+ weight: "fill"
2079
+ }),
2080
+ error: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.XCircle, {
2081
+ weight: "fill"
2082
+ }),
2083
+ success: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CheckCircle, {
2084
+ weight: "fill"
2085
+ }),
2086
+ progress: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CircleNotch, {})
2087
+ };
2088
+ const type = (null == (_toast_data = toast.data) ? void 0 : _toast_data.type) || "info";
2089
+ const isTraceback = isTracebackError(null == toast ? void 0 : toast.description);
2090
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
2091
+ if (isTraceback) toastManager.update(toast.id, {
2092
+ timeout: 0
2093
+ });
2094
+ }, [
2095
+ isTraceback,
2096
+ toast.id
2097
+ ]);
2098
+ const renderDescription = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((props)=>{
2099
+ const { children, className, ...rest } = props;
2100
+ if (isTraceback) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
2101
+ ...rest,
2102
+ className: cls("toast-description", isTraceback ? "toast-description-traceback" : "", className),
2103
+ children: [
2104
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("p", {
2105
+ children: [
2106
+ "An unexpected error occurred.",
2107
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("br", {}),
2108
+ "Please contact us with error details for support."
2109
+ ]
2110
+ }),
2111
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("p", {
2112
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Button, {
2113
+ size: "small",
2114
+ onClick: ()=>{
2115
+ Modal_Modal.open({
2116
+ title: "Error details",
2117
+ content: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(CodeBlock, {
2118
+ children: children
2119
+ }),
2120
+ hideOkButton: true
2121
+ });
2122
+ toastManager.close(toast.id);
2123
+ },
2124
+ children: "View error details"
2125
+ })
2126
+ })
2127
+ ]
2128
+ });
2129
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("p", {
2130
+ ...rest,
2131
+ className: cls("toast-description", className),
2132
+ children: children
2133
+ });
2134
+ }, [
2135
+ isTraceback,
2136
+ cls,
2137
+ toast.id
2138
+ ]);
2139
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Root, {
2140
+ toast: toast,
2141
+ className: cls("toast"),
2142
+ children: [
2143
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
2144
+ className: cls("toast-icon-wrap"),
2145
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
2146
+ className: cls("toast-icon", `toast-icon-${type}`),
2147
+ children: toastIconMap[type]
2148
+ })
2149
+ }),
2150
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
2151
+ className: cls("toast-content"),
2152
+ children: [
2153
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Title, {
2154
+ className: cls("toast-title")
2155
+ }),
2156
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Description, {
2157
+ render: renderDescription
2158
+ })
2159
+ ]
2160
+ }),
2161
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Close, {
2162
+ className: cls("toast-close"),
2163
+ render: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
2164
+ size: "small",
2165
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.X, {})
2166
+ })
2167
+ })
2168
+ ]
2169
+ });
2170
+ }
2171
+ function ToastList({ className }) {
2172
+ const { toasts } = __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.useToastManager();
2173
+ const cls = useCls();
2174
+ const cssVars = useAntdCssVarClassname();
2175
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Viewport, {
2176
+ className: clsx(cls("toast-viewport"), cssVars, className),
2177
+ children: toasts.map((toast)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(InnerToast, {
2178
+ toast: toast
2179
+ }, toast.id))
2180
+ });
2181
+ }
2182
+ function ToastProvider(props) {
2183
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Provider, {
2184
+ toastManager: toastManager,
2185
+ ...props
2186
+ });
2187
+ }
2188
+ const Toast = Object.assign(InnerToast, {
2189
+ List: ToastList,
2190
+ Provider: ToastProvider
2191
+ });
2192
+ "use client";
2193
+ "use client";
2194
+ const VerticalCollapsiblePanel = ({ children, title, defaultOpen = false, open: controlledOpen, onOpenChange, className, headerClassName, headerInnerClassName, bodyClassName, contentPadding = "16px", afterTitle, actions, useTitleAsTrigger = true, keepMounted = false })=>{
2195
+ const cls = useCls();
2196
+ const [isOpen, setIsOpen] = useControlledState(controlledOpen, onOpenChange, defaultOpen);
2197
+ const [isBodyOpen, setIsBodyOpen] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(isOpen);
2198
+ const ref = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
2199
+ const runOnceAnimationsFinish = useAnimationsFinished(ref, isOpen);
2200
+ const cssVars = useAntdCssVarClassname();
2201
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
2202
+ runOnceAnimationsFinish(()=>{
2203
+ setIsBodyOpen(isOpen);
2204
+ });
2205
+ }, [
2206
+ isOpen,
2207
+ runOnceAnimationsFinish
2208
+ ]);
2209
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Collapsible.Root, {
2210
+ className: clsx(cls("collapsible-panel"), cssVars, className),
2211
+ open: isOpen,
2212
+ onOpenChange: setIsOpen,
2213
+ ref: ref,
2214
+ children: [
2215
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
2216
+ className: clsx(cls("collapsible-panel-header"), headerClassName),
2217
+ children: [
2218
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
2219
+ className: clsx(cls("collapsible-panel-header-inner"), headerInnerClassName),
2220
+ children: [
2221
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
2222
+ className: cls("collapsible-panel-header-text"),
2223
+ onClick: useTitleAsTrigger ? ()=>setIsOpen((open)=>!open) : void 0,
2224
+ style: useTitleAsTrigger ? {
2225
+ cursor: "pointer"
2226
+ } : {},
2227
+ children: "string" == typeof title ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Truncate, {
2228
+ children: title
2229
+ }) : title
2230
+ }),
2231
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
2232
+ className: cls("collapsible-panel-header-actions"),
2233
+ children: [
2234
+ isOpen && actions,
2235
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Collapsible.Trigger, {
2236
+ className: cls("collapsible-panel-trigger"),
2237
+ render: isOpen ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
2238
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.MinusCircle, {
2239
+ weight: "bold",
2240
+ className: clsx(cls("collapsible-panel-caret"), isOpen && cls("collapsible-panel-caret-open"))
2241
+ })
2242
+ }) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
2243
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.PlusCircle, {
2244
+ weight: "bold",
2245
+ className: clsx(cls("collapsible-panel-caret"), isOpen && cls("collapsible-panel-caret-open"))
2246
+ })
2247
+ })
2248
+ })
2249
+ ]
2250
+ })
2251
+ ]
2252
+ }),
2253
+ isOpen && afterTitle && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
2254
+ className: cls("collapsible-panel-header-after"),
2255
+ children: afterTitle
2256
+ })
2257
+ ]
2258
+ }),
2259
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Collapsible.Panel, {
2260
+ className: cls("collapsible-panel-content"),
2261
+ style: void 0 !== contentPadding ? {
2262
+ "--ds-content-padding": false === contentPadding || 0 === contentPadding ? "0" : "number" == typeof contentPadding ? `${contentPadding}px` : contentPadding
2263
+ } : {},
2264
+ keepMounted: keepMounted,
2265
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Transition, {
2266
+ show: isBodyOpen,
2267
+ className: clsx(cls("collapsible-panel-body"), bodyClassName),
2268
+ keepMounted: true,
2269
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
2270
+ children: children
2271
+ })
2272
+ })
2273
+ })
2274
+ ]
2275
+ });
2276
+ };
2277
+ const MainInputInner = (props, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_input_416a332a__["default"], {
2278
+ ref: ref,
2279
+ ...props
2280
+ });
2281
+ const PasswordInner = (props, ref)=>{
2282
+ const mergedProps = {
2283
+ iconRender: (visible)=>visible ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.Eye, {
2284
+ size: 16
2285
+ }) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.EyeClosed, {
2286
+ size: 16
2287
+ }),
2288
+ ...props
2289
+ };
2290
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_input_416a332a__["default"].Password, {
2291
+ ref: ref,
2292
+ ...mergedProps
2293
+ });
2294
+ };
2295
+ const SearchInner = (props, ref)=>{
2296
+ const mergedProps = {
2297
+ enterButton: true === props.enterButton ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.MagnifyingGlass, {
2298
+ size: 16
2299
+ }) : props.enterButton,
2300
+ ...props
2301
+ };
2302
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_input_416a332a__["default"].Search, {
2303
+ ref: ref,
2304
+ ...mergedProps
2305
+ });
2306
+ };
2307
+ const TextAreaInner = (props, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_input_416a332a__["default"].TextArea, {
2308
+ ref: ref,
2309
+ ...props
2310
+ });
2311
+ const MainInput = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(MainInputInner);
2312
+ const Password = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(PasswordInner);
2313
+ const Search = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(SearchInner);
2314
+ const TextArea = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(TextAreaInner);
2315
+ const Input = Object.assign(MainInput, {
2316
+ Password,
2317
+ Search,
2318
+ TextArea
2319
+ });
2320
+ const Badge = ({ count, showZero, ...rest })=>{
2321
+ const cls = useCls();
2322
+ const antdCssVar = useAntdCssVarClassname();
2323
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_badge_f5f828f9__["default"], {
2324
+ count: count,
2325
+ showZero: showZero,
2326
+ className: clsx(cls("badge"), antdCssVar),
2327
+ ...rest
2328
+ });
2329
+ };
2330
+ const RadioInner = ({ className, style, ...rest }, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_radio_e6b5c17a__["default"], {
2331
+ ref: ref,
2332
+ className: className,
2333
+ style: style,
2334
+ ...rest
2335
+ });
2336
+ const RadioGroup = (props)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_radio_e6b5c17a__.Group, {
2337
+ ...props
2338
+ });
2339
+ const RadioButton = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(({ className, style, ...rest }, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_radio_e6b5c17a__.Button, {
2340
+ ref: ref,
2341
+ className: className,
2342
+ style: style,
2343
+ ...rest
2344
+ }));
2345
+ const ForwardedRadio = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(RadioInner);
2346
+ const Radio = Object.assign(ForwardedRadio, {
2347
+ Group: RadioGroup,
2348
+ Button: RadioButton
2349
+ });
2350
+ const DSRoot = ({ className, appendClassesTo = "html", children, ...props })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ThemeProvider, {
2351
+ ...props,
2352
+ appendClassesTo: appendClassesTo,
2353
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_app_App_698582f4__["default"], {
2354
+ className: className,
2355
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Toast.Provider, {
2356
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(Modal_Modal.Provider, {
2357
+ children: [
2358
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Toast.List, {}),
2359
+ children
2360
+ ]
2361
+ })
2362
+ })
2363
+ })
2364
+ });
2365
+ "use client";
2366
+ const useToken = __WEBPACK_EXTERNAL_MODULE_antd_es_theme_57fdaa32__["default"].useToken;
2367
+ const useBreakpoint = __WEBPACK_EXTERNAL_MODULE_antd_es_grid_ec1d1712__["default"].useBreakpoint;
2368
+ const useMessage = ()=>{
2369
+ const { message } = (0, __WEBPACK_EXTERNAL_MODULE_antd_es_app_useApp_90d95086__["default"])();
2370
+ return message;
2371
+ };
2372
+ const antd_useModal = ()=>{
2373
+ const { modal } = (0, __WEBPACK_EXTERNAL_MODULE_antd_es_app_useApp_90d95086__["default"])();
2374
+ return modal;
2375
+ };
2376
+ var __webpack_exports__Affix = __WEBPACK_EXTERNAL_MODULE_antd__.Affix;
2377
+ var __webpack_exports__Alert = __WEBPACK_EXTERNAL_MODULE_antd__.Alert;
2378
+ var __webpack_exports__Anchor = __WEBPACK_EXTERNAL_MODULE_antd__.Anchor;
2379
+ var __webpack_exports__App = __WEBPACK_EXTERNAL_MODULE_antd__.App;
2380
+ var __webpack_exports__AutoComplete = __WEBPACK_EXTERNAL_MODULE_antd__.AutoComplete;
2381
+ var __webpack_exports__Avatar = __WEBPACK_EXTERNAL_MODULE_antd__.Avatar;
2382
+ var __webpack_exports__BackTop = __WEBPACK_EXTERNAL_MODULE_antd__.BackTop;
2383
+ var __webpack_exports__Calendar = __WEBPACK_EXTERNAL_MODULE_antd__.Calendar;
2384
+ var __webpack_exports__Card = __WEBPACK_EXTERNAL_MODULE_antd__.Card;
2385
+ var __webpack_exports__Carousel = __WEBPACK_EXTERNAL_MODULE_antd__.Carousel;
2386
+ var __webpack_exports__Cascader = __WEBPACK_EXTERNAL_MODULE_antd__.Cascader;
2387
+ var __webpack_exports__Col = __WEBPACK_EXTERNAL_MODULE_antd__.Col;
2388
+ var __webpack_exports__Collapse = __WEBPACK_EXTERNAL_MODULE_antd__.Collapse;
2389
+ var __webpack_exports__ColorPicker = __WEBPACK_EXTERNAL_MODULE_antd__.ColorPicker;
2390
+ var __webpack_exports__ConfigProvider = __WEBPACK_EXTERNAL_MODULE_antd__.ConfigProvider;
2391
+ var __webpack_exports__DatePicker = __WEBPACK_EXTERNAL_MODULE_antd__.DatePicker;
2392
+ var __webpack_exports__Descriptions = __WEBPACK_EXTERNAL_MODULE_antd__.Descriptions;
2393
+ var __webpack_exports__Divider = __WEBPACK_EXTERNAL_MODULE_antd__.Divider;
2394
+ var __webpack_exports__Drawer = __WEBPACK_EXTERNAL_MODULE_antd__.Drawer;
2395
+ var __webpack_exports__Dropdown = __WEBPACK_EXTERNAL_MODULE_antd__.Dropdown;
2396
+ var __webpack_exports__Flex = __WEBPACK_EXTERNAL_MODULE_antd__.Flex;
2397
+ var __webpack_exports__FloatButton = __WEBPACK_EXTERNAL_MODULE_antd__.FloatButton;
2398
+ var __webpack_exports__Grid = __WEBPACK_EXTERNAL_MODULE_antd__.Grid;
2399
+ var __webpack_exports__InputNumber = __WEBPACK_EXTERNAL_MODULE_antd__.InputNumber;
2400
+ var __webpack_exports__Layout = __WEBPACK_EXTERNAL_MODULE_antd__.Layout;
2401
+ var __webpack_exports__List = __WEBPACK_EXTERNAL_MODULE_antd__.List;
2402
+ var __webpack_exports__Mentions = __WEBPACK_EXTERNAL_MODULE_antd__.Mentions;
2403
+ var __webpack_exports__Menu = __WEBPACK_EXTERNAL_MODULE_antd__.Menu;
2404
+ var __webpack_exports__Pagination = __WEBPACK_EXTERNAL_MODULE_antd__.Pagination;
2405
+ var __webpack_exports__Popconfirm = __WEBPACK_EXTERNAL_MODULE_antd__.Popconfirm;
2406
+ var __webpack_exports__Progress = __WEBPACK_EXTERNAL_MODULE_antd__.Progress;
2407
+ var __webpack_exports__QRCode = __WEBPACK_EXTERNAL_MODULE_antd__.QRCode;
2408
+ var __webpack_exports__Rate = __WEBPACK_EXTERNAL_MODULE_antd__.Rate;
2409
+ var __webpack_exports__Result = __WEBPACK_EXTERNAL_MODULE_antd__.Result;
2410
+ var __webpack_exports__Row = __WEBPACK_EXTERNAL_MODULE_antd__.Row;
2411
+ var __webpack_exports__Skeleton = __WEBPACK_EXTERNAL_MODULE_antd__.Skeleton;
2412
+ var __webpack_exports__Space = __WEBPACK_EXTERNAL_MODULE_antd__.Space;
2413
+ var __webpack_exports__Statistic = __WEBPACK_EXTERNAL_MODULE_antd__.Statistic;
2414
+ var __webpack_exports__Steps = __WEBPACK_EXTERNAL_MODULE_antd__.Steps;
2415
+ var __webpack_exports__Tabs = __WEBPACK_EXTERNAL_MODULE_antd__.Tabs;
2416
+ var __webpack_exports__TimePicker = __WEBPACK_EXTERNAL_MODULE_antd__.TimePicker;
2417
+ var __webpack_exports__Timeline = __WEBPACK_EXTERNAL_MODULE_antd__.Timeline;
2418
+ var __webpack_exports__Transfer = __WEBPACK_EXTERNAL_MODULE_antd__.Transfer;
2419
+ var __webpack_exports__TreeSelect = __WEBPACK_EXTERNAL_MODULE_antd__.TreeSelect;
2420
+ var __webpack_exports__Typography = __WEBPACK_EXTERNAL_MODULE_antd__.Typography;
2421
+ var __webpack_exports__Watermark = __WEBPACK_EXTERNAL_MODULE_antd__.Watermark;
2422
+ var __webpack_exports__message = __WEBPACK_EXTERNAL_MODULE_antd__.message;
2423
+ var __webpack_exports__notification = __WEBPACK_EXTERNAL_MODULE_antd__.notification;
2424
+ var __webpack_exports__theme = __WEBPACK_EXTERNAL_MODULE_antd__.theme;
2425
+ var __webpack_exports__unstableSetRender = __WEBPACK_EXTERNAL_MODULE_antd__.unstableSetRender;
2426
+ var __webpack_exports__useApp = __WEBPACK_EXTERNAL_MODULE_antd_es_app_useApp_90d95086__["default"];
2427
+ var __webpack_exports__useForm = __WEBPACK_EXTERNAL_MODULE_antd_es_form_Form_38f624ac__.useForm;
2428
+ var __webpack_exports__useWatch = __WEBPACK_EXTERNAL_MODULE_antd_es_form_Form_38f624ac__.useWatch;
2429
+ var __webpack_exports__version = __WEBPACK_EXTERNAL_MODULE_antd__.version;
2430
+ export { Badge, Breadcrumb, Button, Checkbox, CodeBlock, DSRoot, DefaultUpload, DropdownMenu, Empty, EmptyIcon, Field, Form, IconButton, Input, Modal_Modal as Modal, Popover, Radio, ScrollArea, Segmented, Select, Slider, Spin, Split, Splitter, Switch, Table, component_Tag as Tag, ThemeProvider, Toast, Tooltip, Tour, Transition, Tree, Truncate, Upload, VerticalCollapsiblePanel, WithAntdTokens, clsx, cn, cx, darkTheme, getUniqueKeysFromOriginals, isTracebackError, lightTheme, processTreeData, reactNodeToString, function_toast as toast, toastManager, useAnimationsFinished, useAntdCssVarClassname, useBreakpoint, useCls, useControlledState, useEnhancedEffect, useEventCallback, useGetPrefixCls, useLatestRef, useMessage, antd_useModal as useModal, useToken, useUniqueKeysTree, useUploadItemRender, __webpack_exports__Affix as Affix, __webpack_exports__Alert as Alert, __webpack_exports__Anchor as Anchor, __webpack_exports__App as App, __webpack_exports__AutoComplete as AutoComplete, __webpack_exports__Avatar as Avatar, __webpack_exports__BackTop as BackTop, __webpack_exports__Calendar as Calendar, __webpack_exports__Card as Card, __webpack_exports__Carousel as Carousel, __webpack_exports__Cascader as Cascader, __webpack_exports__Col as Col, __webpack_exports__Collapse as Collapse, __webpack_exports__ColorPicker as ColorPicker, __webpack_exports__ConfigProvider as ConfigProvider, __webpack_exports__DatePicker as DatePicker, __webpack_exports__Descriptions as Descriptions, __webpack_exports__Divider as Divider, __webpack_exports__Drawer as Drawer, __webpack_exports__Dropdown as Dropdown, __webpack_exports__Flex as Flex, __webpack_exports__FloatButton as FloatButton, __webpack_exports__Grid as Grid, __webpack_exports__InputNumber as InputNumber, __webpack_exports__Layout as Layout, __webpack_exports__List as List, __webpack_exports__Mentions as Mentions, __webpack_exports__Menu as Menu, __webpack_exports__Pagination as Pagination, __webpack_exports__Popconfirm as Popconfirm, __webpack_exports__Progress as Progress, __webpack_exports__QRCode as QRCode, __webpack_exports__Rate as Rate, __webpack_exports__Result as Result, __webpack_exports__Row as Row, __webpack_exports__Skeleton as Skeleton, __webpack_exports__Space as Space, __webpack_exports__Statistic as Statistic, __webpack_exports__Steps as Steps, __webpack_exports__Tabs as Tabs, __webpack_exports__TimePicker as TimePicker, __webpack_exports__Timeline as Timeline, __webpack_exports__Transfer as Transfer, __webpack_exports__TreeSelect as TreeSelect, __webpack_exports__Typography as Typography, __webpack_exports__Watermark as Watermark, __webpack_exports__message as message, __webpack_exports__notification as notification, __webpack_exports__theme as theme, __webpack_exports__unstableSetRender as unstableSetRender, __webpack_exports__useApp as useApp, __webpack_exports__useForm as useForm, __webpack_exports__useWatch as useWatch, __webpack_exports__version as version };