@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/DSRoot.js ADDED
@@ -0,0 +1,1024 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__ from "antd/es/config-provider";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_theme_useToken_e8911485__ from "antd/es/theme/useToken";
5
+ import "tailwind-merge";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__ant_design_cssinjs_c619260f__ from "@ant-design/cssinjs";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__ from "@bioturing/assets";
8
+ import * as __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__ from "@base-ui-components/react";
9
+ import "antd/es/tooltip/style/css";
10
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_tooltip_1091cc47__ from "antd/es/tooltip";
11
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_button_8f463bb4__ from "antd/es/button";
12
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_app_useApp_90d95086__ from "antd/es/app/useApp";
13
+ import "antd/es/flex/style/css";
14
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__ from "antd/es/flex";
15
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_52965d33__ from "antd/es/modal";
16
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_context_bc73863f__ from "antd/es/modal/context";
17
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalCancelBtn_54ff398c__ from "antd/es/modal/components/NormalCancelBtn";
18
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalOkBtn_897b50c4__ from "antd/es/modal/components/NormalOkBtn";
19
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_locale_f16c0933__ from "antd/es/modal/locale";
20
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_locale_31079002__ from "antd/es/locale";
21
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_segmented_6dbdbe23__ from "antd/es/segmented";
22
+ import * as __WEBPACK_EXTERNAL_MODULE_prism_react_renderer_be33806e__ from "prism-react-renderer";
23
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_app_App_698582f4__ from "antd/es/app/App";
24
+ const figmaToAntDesignTokens = {
25
+ lightMode: {
26
+ colorText: "rgba(0, 0, 0, 0.88)",
27
+ colorTextSecondary: "rgba(0, 0, 0, 0.65)",
28
+ colorTextTertiary: "rgba(0, 0, 0, 0.45)",
29
+ colorTextQuaternary: "rgba(0, 0, 0, 0.25)",
30
+ colorPrimary: "#175CD3",
31
+ colorPrimaryBg: "#E9F2FF",
32
+ colorPrimaryBgHover: "#D1E9FF",
33
+ colorPrimaryBorder: "#84CAFF",
34
+ colorPrimaryBorderHover: "#53B1FD",
35
+ colorPrimaryHover: "#1570EF",
36
+ colorPrimaryActive: "#175CD3",
37
+ colorPrimaryTextHover: "#1570EF",
38
+ colorPrimaryTextActive: "#175CD3",
39
+ colorInfo: "#175CD3",
40
+ colorInfoBg: "#E9F2FF",
41
+ colorInfoBgHover: "#D1E9FF",
42
+ colorInfoBorder: "#84CAFF",
43
+ colorInfoBorderHover: "#53B1FD",
44
+ colorInfoHover: "#1570EF",
45
+ colorInfoActive: "#175CD3",
46
+ colorInfoTextHover: "#1570EF",
47
+ colorInfoTextActive: "#175CD3",
48
+ colorSuccess: "#4CB200",
49
+ colorSuccessBg: "#F6FFF0",
50
+ colorSuccessBgHover: "#D9F7BE",
51
+ colorSuccessBorder: "#B7EB8F",
52
+ colorSuccessBorderHover: "#95DE64",
53
+ colorSuccessHover: "#73D13D",
54
+ colorSuccessActive: "#389E0D",
55
+ colorSuccessTextHover: "#237804",
56
+ colorSuccessTextActive: "#092B00",
57
+ colorWarning: "#FA8C16",
58
+ colorWarningBg: "#FFF7E6",
59
+ colorWarningBgHover: "#FFE7BA",
60
+ colorWarningBorder: "#FFD591",
61
+ colorWarningBorderHover: "#FFC069",
62
+ colorWarningHover: "#FFA940",
63
+ colorWarningActive: "#D46B08",
64
+ colorWarningTextHover: "#AD4E00",
65
+ colorWarningTextActive: "#873800",
66
+ colorError: "#D92D20",
67
+ colorErrorBg: "#FEF3F2",
68
+ colorErrorBgHover: "#FEE4E2",
69
+ colorErrorBorder: "#FDA29B",
70
+ colorErrorBorderHover: "#F97066",
71
+ colorErrorHover: "#F04438",
72
+ colorErrorActive: "#D92D20",
73
+ colorErrorTextHover: "#F04438",
74
+ colorErrorTextActive: "#D92D20",
75
+ colorFill: "rgba(0, 0, 0, 0.15)",
76
+ colorFillSecondary: "rgba(0, 0, 0, 0.06)",
77
+ colorFillTertiary: "rgba(0, 0, 0, 0.04)",
78
+ colorFillQuaternary: "rgba(0, 0, 0, 0.02)",
79
+ colorFillAlter: "rgba(0, 0, 0, 0.02)",
80
+ colorBorder: "rgba(0, 0, 0, 0.16)",
81
+ colorBorderSecondary: "rgba(0, 0, 0, 0.06)",
82
+ colorIcon: "rgba(0, 0, 0, 0.58)",
83
+ colorIconHover: "rgba(0, 0, 0, 0.88)",
84
+ controlOutline: "rgba(0, 0, 0, 0.12)"
85
+ },
86
+ darkMode: {
87
+ colorText: "rgba(255, 255, 255, 0.85)",
88
+ colorTextSecondary: "rgba(255, 255, 255, 0.65)",
89
+ colorTextTertiary: "rgba(255, 255, 255, 0.45)",
90
+ colorTextQuaternary: "rgba(255, 255, 255, 0.25)",
91
+ colorBgContainer: "#26262C",
92
+ colorBgElevated: "#2F2F37",
93
+ colorBgLayout: "#1A1A1E",
94
+ colorBgSpotlight: "#505D5D",
95
+ colorBgMask: "rgba(0, 0, 0, 0.45)",
96
+ colorBgBase: "#13131A",
97
+ colorFill: "rgba(255, 255, 255, 0.15)",
98
+ colorFillSecondary: "rgba(255, 255, 255, 0.06)",
99
+ colorFillTertiary: "rgba(255, 255, 255, 0.04)",
100
+ colorFillQuaternary: "rgba(255, 255, 255, 0.02)",
101
+ colorFillAlter: "rgba(255, 255, 255, 0.02)",
102
+ colorBorder: "rgba(255, 255, 255, 0.16)",
103
+ colorBorderSecondary: "rgba(255, 255, 255, 0.06)",
104
+ colorPrimary: "#2E90FA",
105
+ colorPrimaryBg: "#152137",
106
+ colorPrimaryBgHover: "#112545",
107
+ colorPrimaryBorder: "#1C3959",
108
+ colorPrimaryBorderHover: "#204C7C",
109
+ colorPrimaryHover: "#50A0E8",
110
+ colorPrimaryActive: "#2565AB",
111
+ colorPrimaryTextHover: "#50A0E8",
112
+ colorPrimaryTextActive: "#2565AB",
113
+ colorInfo: "#2E90FA",
114
+ colorInfoBg: "#152137",
115
+ colorInfoBgHover: "#112545",
116
+ colorInfoBorder: "#1C3959",
117
+ colorInfoBorderHover: "#204C7C",
118
+ colorInfoHover: "#50A0E8",
119
+ colorInfoActive: "#2565AB",
120
+ colorInfoTextHover: "#50A0E8",
121
+ colorInfoTextActive: "#2565AB",
122
+ colorSuccess: "#389E0D",
123
+ colorSuccessBg: "#162100",
124
+ colorSuccessBgHover: "#1D2B00",
125
+ colorSuccessBorder: "#274916",
126
+ colorSuccessBorderHover: "#306317",
127
+ colorSuccessHover: "#52C41A",
128
+ colorSuccessActive: "#237804",
129
+ colorSuccessTextHover: "#52C41A",
130
+ colorSuccessTextActive: "#237804",
131
+ colorWarning: "#D48806",
132
+ colorWarningBg: "#281800",
133
+ colorWarningBgHover: "#3D2200",
134
+ colorWarningBorder: "#443B16",
135
+ colorWarningBorderHover: "#594E1A",
136
+ colorWarningHover: "#E8B339",
137
+ colorWarningActive: "#AA7714",
138
+ colorWarningTextHover: "#E8B339",
139
+ colorWarningTextActive: "#AA7714",
140
+ colorError: "#CF3D33",
141
+ colorErrorBg: "#291414",
142
+ colorErrorBgHover: "#411A18",
143
+ colorErrorBorder: "#562222",
144
+ colorErrorBorderHover: "#772A24",
145
+ colorErrorHover: "#E5695A",
146
+ colorErrorActive: "#A3332B",
147
+ colorErrorTextHover: "#E5695A",
148
+ colorErrorTextActive: "#A3332B",
149
+ colorIcon: "rgba(255, 255, 255, 0.58)",
150
+ colorIconHover: "rgba(255, 255, 255, 0.88)",
151
+ controlOutline: "rgba(255, 255, 255, 0.12)"
152
+ }
153
+ };
154
+ const sharedTokens = {
155
+ fontFamily: "var(--ds-inter)",
156
+ fontFamilyCode: "var(--ds-roboto-mono)",
157
+ fontSizeHeading1: 36,
158
+ fontSizeHeading2: 30,
159
+ fontSizeHeading3: 24,
160
+ fontSizeHeading4: 20,
161
+ fontSizeHeading5: 16,
162
+ lineHeightHeading1: 40 / 36,
163
+ lineHeightHeading2: 1.2,
164
+ lineHeightHeading3: 32 / 24,
165
+ lineHeightHeading4: 1.4,
166
+ lineHeightHeading5: 1.5,
167
+ lineHeight: 20 / 14,
168
+ lineHeightLG: 1.5,
169
+ lineHeightSM: 16 / 12,
170
+ fontWeightStrong: 600,
171
+ 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)",
172
+ 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)",
173
+ colorBgSpotlight: "rgba(0, 0, 0, 0.85)"
174
+ };
175
+ const sharedThemeConfig = {
176
+ cssVar: true,
177
+ components: {
178
+ Input: {},
179
+ InputNumber: {},
180
+ Button: {
181
+ defaultShadow: void 0,
182
+ primaryShadow: void 0,
183
+ dangerShadow: void 0
184
+ },
185
+ Select: {},
186
+ Segmented: {
187
+ controlHeightLG: 36,
188
+ controlHeightSM: 24
189
+ },
190
+ Breadcrumb: {
191
+ separatorColor: "var(--ds-color-border)"
192
+ },
193
+ Slider: {
194
+ trackBg: "var(--ds-color-primary)",
195
+ trackHoverBg: "var(--ds-color-primary-hover)",
196
+ trackBgDisabled: "var(--ds-color-text-disabled)",
197
+ railBg: "var(--ds-control-outline)",
198
+ railHoverBg: "var(--ds-color-border)",
199
+ handleColor: "var(--ds-color-primary)",
200
+ handleActiveColor: "var(--ds-color-primary-active)",
201
+ handleColorDisabled: "var(--ds-color-text-disabled)",
202
+ dotBorderColor: "var(--ds-color-primary)",
203
+ dotActiveBorderColor: "var(--ds-color-primary-active)"
204
+ },
205
+ Form: {
206
+ itemMarginBottom: 16,
207
+ labelColor: "var(--ds-color-text)"
208
+ }
209
+ }
210
+ };
211
+ const lightTheme = {
212
+ token: {
213
+ ...figmaToAntDesignTokens.lightMode,
214
+ ...sharedTokens
215
+ },
216
+ ...sharedThemeConfig
217
+ };
218
+ const darkTheme = {
219
+ token: {
220
+ ...figmaToAntDesignTokens.darkMode,
221
+ ...sharedTokens
222
+ },
223
+ ...sharedThemeConfig
224
+ };
225
+ function cx(...args) {
226
+ const classes = [];
227
+ for (const arg of args)if (arg) {
228
+ if ("string" == typeof arg || "number" == typeof arg) classes.push(String(arg));
229
+ else if (Array.isArray(arg)) classes.push(...cx(...arg));
230
+ else if ("object" == typeof arg) {
231
+ for (const [key, value] of Object.entries(arg))if (value) classes.push(key);
232
+ }
233
+ }
234
+ return classes;
235
+ }
236
+ function clsx(...args) {
237
+ return cx(...args).join(" ");
238
+ }
239
+ "use client";
240
+ const useAntdCssVarClassname = ()=>{
241
+ var _token_;
242
+ const token = (0, __WEBPACK_EXTERNAL_MODULE_antd_es_theme_useToken_e8911485__["default"])();
243
+ return null == (_token_ = token[4]) ? void 0 : _token_.key;
244
+ };
245
+ const useCls = ()=>{
246
+ const { getPrefixCls } = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__["default"].ConfigContext);
247
+ return (...args)=>cx(...args).map((cls)=>getPrefixCls(cls)).join(" ");
248
+ };
249
+ "use client";
250
+ const DSWrapper = ({ children, theme, appendClassesTo })=>{
251
+ const cls = useCls();
252
+ const className = clsx(cls("theme-provider"), theme.toString());
253
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useLayoutEffect)(()=>{
254
+ const classes = className.split(" ");
255
+ const el = "string" == typeof appendClassesTo ? document.querySelector(appendClassesTo) : appendClassesTo;
256
+ if (el) el.classList.add(...classes);
257
+ return ()=>{
258
+ if (el) el.classList.remove(...classes);
259
+ };
260
+ }, [
261
+ appendClassesTo,
262
+ className
263
+ ]);
264
+ return void 0 === appendClassesTo ? __WEBPACK_EXTERNAL_MODULE_react__.Children.map(children, (child)=>{
265
+ if (/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.isValidElement)(child)) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.cloneElement)(child, {
266
+ className: clsx(child.props.className, className)
267
+ });
268
+ return child;
269
+ }) : children;
270
+ };
271
+ const ThemeProvider = ({ theme, appendClassesTo, children })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__ant_design_cssinjs_c619260f__.StyleProvider, {
272
+ layer: true,
273
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__["default"], {
274
+ theme: "light" == theme ? lightTheme : darkTheme,
275
+ prefixCls: "ds",
276
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(DSWrapper, {
277
+ theme: theme,
278
+ appendClassesTo: appendClassesTo,
279
+ children: children
280
+ })
281
+ })
282
+ });
283
+ "use client";
284
+ const IconButtonImpl = (props, ref)=>{
285
+ const { label, size = "medium", negativeMargin = true, children, className, tooltipProps = {}, as, href, target, rel, download, hrefLang, referrerPolicy, ...rest } = props;
286
+ const cls = useCls();
287
+ const antdCssVarClassname = useAntdCssVarClassname();
288
+ const buttonClasses = [
289
+ cls("icon-button"),
290
+ cls(`icon-button-${size}`),
291
+ cls(negativeMargin ? "icon-button-negative-margin" : ""),
292
+ antdCssVarClassname,
293
+ className
294
+ ].filter(Boolean).join(" ");
295
+ const Component = as || (href ? "a" : "button");
296
+ const anchorProps = "a" === Component ? {
297
+ ...void 0 !== target && {
298
+ target
299
+ },
300
+ ...void 0 !== rel && {
301
+ rel
302
+ },
303
+ ...void 0 !== download && {
304
+ download
305
+ },
306
+ ...void 0 !== hrefLang && {
307
+ hrefLang
308
+ },
309
+ ...void 0 !== referrerPolicy && {
310
+ referrerPolicy
311
+ }
312
+ } : {};
313
+ const elementProps = {
314
+ ref,
315
+ className: buttonClasses,
316
+ ..."button" === Component && {
317
+ type: "button"
318
+ },
319
+ ...href && {
320
+ href
321
+ },
322
+ ...anchorProps,
323
+ ...rest
324
+ };
325
+ const element = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Component, {
326
+ ...elementProps,
327
+ children: children
328
+ });
329
+ return label ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_tooltip_1091cc47__["default"], {
330
+ title: label,
331
+ arrow: false,
332
+ ...tooltipProps,
333
+ children: element
334
+ }) : element;
335
+ };
336
+ const IconButton = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(IconButtonImpl);
337
+ "use client";
338
+ const toastManager = __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.createToastManager();
339
+ function createToastTypeFunction(type) {
340
+ return (message, options)=>{
341
+ const toastId = toastManager.add({
342
+ description: message,
343
+ data: {
344
+ type: type
345
+ },
346
+ ..."progress" === type || "error" === type ? {
347
+ timeout: 0
348
+ } : {},
349
+ ...options
350
+ });
351
+ return toastId;
352
+ };
353
+ }
354
+ Object.assign(createToastTypeFunction("info"), {
355
+ info: createToastTypeFunction("info"),
356
+ success: createToastTypeFunction("success"),
357
+ error: createToastTypeFunction("error"),
358
+ warning: createToastTypeFunction("warning"),
359
+ progress: createToastTypeFunction("progress")
360
+ });
361
+ function isTracebackError(error) {
362
+ if (!error || "string" != typeof error && !error.toString) return false;
363
+ const errorString = "string" == typeof error ? error : error.toString();
364
+ const pythonTracebackRegex = /Traceback \(most recent call last\):/;
365
+ const pythonStackFrameRegex = /File ".*?", line \d+, in/;
366
+ const goStackTraceRegex = /goroutine \d+ \[.*\]:|panic: /;
367
+ const goStackFrameRegex = /\/.*\.go:\d+/;
368
+ const isPythonTraceback = pythonTracebackRegex.test(errorString) || pythonStackFrameRegex.test(errorString);
369
+ const isGoStackTrace = goStackTraceRegex.test(errorString) || goStackFrameRegex.test(errorString);
370
+ return isPythonTraceback || isGoStackTrace;
371
+ }
372
+ const ButtonInner = ({ style, ...rest }, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_button_8f463bb4__["default"], {
373
+ ref: ref,
374
+ style: style,
375
+ ...rest
376
+ });
377
+ const Button = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(ButtonInner);
378
+ var constants_ModalSize = /*#__PURE__*/ function(ModalSize) {
379
+ ModalSize["xsmall"] = "400px";
380
+ ModalSize["small"] = "520px";
381
+ ModalSize["medium"] = "640px";
382
+ ModalSize["large"] = "840px";
383
+ ModalSize["xlarge"] = "1024px";
384
+ ModalSize["xxlarge"] = "1280px";
385
+ ModalSize["fullscreen"] = "100%";
386
+ return ModalSize;
387
+ }({});
388
+ "use client";
389
+ 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 })=>{
390
+ const defaultCloseIcon = void 0 === closeIcon ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.X, {
391
+ size: 16,
392
+ weight: "bold"
393
+ }) : closeIcon;
394
+ const defaultModalSize = "default" === type ? "medium" : "xsmall";
395
+ const modalWidth = width || size && size in constants_ModalSize ? constants_ModalSize[size] : constants_ModalSize[defaultModalSize];
396
+ const modalStyle = {
397
+ ...style,
398
+ ..."fullscreen" === size ? {
399
+ top: 0,
400
+ maxWidth: "100%",
401
+ height: "100%"
402
+ } : {}
403
+ };
404
+ const modalStyles = {
405
+ ...styles,
406
+ body: {
407
+ ...void 0 !== contentPadding ? {
408
+ "--ds-modal-content-padding": false === contentPadding || 0 === contentPadding ? "0" : "number" == typeof contentPadding ? `${contentPadding}px` : contentPadding
409
+ } : {},
410
+ ...null == styles ? void 0 : styles.body
411
+ }
412
+ };
413
+ const [scrollable, setScrollable] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
414
+ const cls = useCls();
415
+ const resizeObserverRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
416
+ const modalInnerRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((node)=>{
417
+ if (!node) return;
418
+ const modalBody = node.querySelector("." + cls("modal-body"));
419
+ if (!(modalBody instanceof HTMLElement)) return;
420
+ const resizeObserver = new ResizeObserver(()=>{
421
+ const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;
422
+ setScrollable(hasOverflow);
423
+ });
424
+ resizeObserverRef.current = resizeObserver;
425
+ resizeObserver.observe(modalBody);
426
+ const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;
427
+ setScrollable(hasOverflow);
428
+ }, [
429
+ cls
430
+ ]);
431
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>()=>{
432
+ if (resizeObserverRef.current) {
433
+ resizeObserverRef.current.disconnect();
434
+ resizeObserverRef.current = null;
435
+ }
436
+ }, []);
437
+ const [locale] = (0, __WEBPACK_EXTERNAL_MODULE_antd_es_locale_31079002__.useLocale)("Modal", (0, __WEBPACK_EXTERNAL_MODULE_antd_es_modal_locale_f16c0933__.getConfirmLocale)());
438
+ const okTextLocale = okText || (null == locale ? void 0 : locale.okText);
439
+ const cancelTextLocale = cancelText || (null == locale ? void 0 : locale.cancelText);
440
+ const modalOkButtonProps = {
441
+ loading: loading,
442
+ ...okButtonProps
443
+ };
444
+ const modalCancelButtonProps = {
445
+ ...cancelButtonProps
446
+ };
447
+ const [internalOpen, setInternalOpen] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(defaultOpen);
448
+ const uncontrolledOpen = void 0 === externalOpen;
449
+ const open = uncontrolledOpen ? internalOpen : externalOpen;
450
+ const defaultFooter = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_context_bc73863f__.ModalContextProvider, {
451
+ value: {
452
+ okButtonProps: modalOkButtonProps,
453
+ cancelButtonProps: modalCancelButtonProps,
454
+ onCancel,
455
+ onOk,
456
+ okType,
457
+ confirmLoading,
458
+ okTextLocale,
459
+ cancelTextLocale
460
+ },
461
+ 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, {
462
+ children: [
463
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalCancelBtn_54ff398c__["default"], {}),
464
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalOkBtn_897b50c4__["default"], {})
465
+ ]
466
+ })
467
+ });
468
+ const renderTitle = ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
469
+ children: [
470
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__["default"], {
471
+ align: "center",
472
+ gap: 8,
473
+ className: cls("modal-title-wrapper"),
474
+ children: [
475
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
476
+ className: cls("grow", "truncate"),
477
+ children: title
478
+ }),
479
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
480
+ className: "flex items-center gap-2",
481
+ children: [
482
+ beforeCloseButton,
483
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
484
+ onClick: (e)=>null == onCancel ? void 0 : onCancel(e),
485
+ children: defaultCloseIcon
486
+ }),
487
+ afterCloseButton
488
+ ]
489
+ })
490
+ ]
491
+ }),
492
+ afterTitle ? afterTitle : null
493
+ ]
494
+ });
495
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_52965d33__["default"], {
496
+ closeIcon: false,
497
+ open: open,
498
+ width: modalWidth,
499
+ style: modalStyle,
500
+ title: renderTitle(),
501
+ classNames: {
502
+ ...classNames,
503
+ wrapper: cls("modal-wrap", "fullscreen" == size && "modal-fullscreen", scrollable && "modal-scrollable", (defaultFixedHeaderFooter || scrollable || "fullscreen" == size) && "modal-fixed")
504
+ },
505
+ styles: modalStyles,
506
+ modalRender: (modal)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
507
+ ref: modalInnerRef,
508
+ className: cls("modal-inner"),
509
+ children: modal
510
+ }),
511
+ okButtonProps: modalOkButtonProps,
512
+ cancelButtonProps: modalCancelButtonProps,
513
+ onOk: (e)=>{
514
+ if (uncontrolledOpen) setInternalOpen(false);
515
+ null == onOk || onOk(e);
516
+ },
517
+ onCancel: (e)=>{
518
+ if (uncontrolledOpen) setInternalOpen(false);
519
+ null == onCancel || onCancel(e);
520
+ },
521
+ okText: okText,
522
+ cancelText: cancelText,
523
+ okType: "primary",
524
+ confirmLoading: confirmLoading,
525
+ footer: void 0 === footer ? hideOkButton && hideCancelButton ? null : defaultFooter : footer,
526
+ centered: centered,
527
+ ...rest,
528
+ children: children
529
+ });
530
+ };
531
+ function _define_property(obj, key, value) {
532
+ if (key in obj) Object.defineProperty(obj, key, {
533
+ value: value,
534
+ enumerable: true,
535
+ configurable: true,
536
+ writable: true
537
+ });
538
+ else obj[key] = value;
539
+ return obj;
540
+ }
541
+ class ModalManager {
542
+ subscribe(listener) {
543
+ this.listeners.push(listener);
544
+ return ()=>{
545
+ this.listeners = this.listeners.filter((l)=>l !== listener);
546
+ };
547
+ }
548
+ emit(event) {
549
+ this.listeners.forEach((l)=>l(event));
550
+ }
551
+ generateId() {
552
+ this.counter += 1;
553
+ return `modal_${this.counter}_${Date.now()}`;
554
+ }
555
+ constructor(){
556
+ _define_property(this, "listeners", []);
557
+ _define_property(this, "counter", 0);
558
+ }
559
+ }
560
+ const modalManager = new ModalManager();
561
+ function createModal(config) {
562
+ const trigger = document.activeElement instanceof HTMLElement ? document.activeElement : void 0;
563
+ const { type = "default", ...restConfig } = config;
564
+ const id = modalManager.generateId();
565
+ modalManager.emit({
566
+ type: "add",
567
+ payload: {
568
+ id,
569
+ type,
570
+ trigger,
571
+ ...restConfig
572
+ }
573
+ });
574
+ return {
575
+ update: (cfg)=>modalManager.emit({
576
+ type: "update",
577
+ payload: {
578
+ id,
579
+ config: cfg
580
+ }
581
+ }),
582
+ destroy: ()=>modalManager.emit({
583
+ type: "destroy",
584
+ payload: {
585
+ id
586
+ }
587
+ })
588
+ };
589
+ }
590
+ const functions_confirm = (config)=>createModal({
591
+ ...config,
592
+ type: "confirm"
593
+ });
594
+ const info = (config)=>createModal({
595
+ ...config,
596
+ type: "info"
597
+ });
598
+ const success = (config)=>createModal({
599
+ ...config,
600
+ type: "success"
601
+ });
602
+ const functions_error = (config)=>createModal({
603
+ ...config,
604
+ type: "error"
605
+ });
606
+ const warning = (config)=>createModal({
607
+ ...config,
608
+ type: "warning"
609
+ });
610
+ const functions_open = (config)=>createModal({
611
+ ...config,
612
+ type: "default"
613
+ });
614
+ const destroyAll = ()=>modalManager.emit({
615
+ type: "destroyAll"
616
+ });
617
+ "use client";
618
+ const ModalProvider = ({ children })=>{
619
+ const [modals, setModals] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)([]);
620
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
621
+ const unsubscribe = modalManager.subscribe((event)=>{
622
+ setModals((prev)=>{
623
+ switch(event.type){
624
+ case "add":
625
+ return [
626
+ ...prev,
627
+ event.payload
628
+ ];
629
+ case "update":
630
+ return prev.map((m)=>{
631
+ if (m.id === event.payload.id) {
632
+ const cfg = event.payload.config;
633
+ const merged = "function" == typeof cfg ? cfg(m) : {
634
+ ...m,
635
+ ...cfg
636
+ };
637
+ return {
638
+ ...m,
639
+ ...merged
640
+ };
641
+ }
642
+ return m;
643
+ });
644
+ case "destroy":
645
+ return prev.filter((m)=>m.id !== event.payload.id);
646
+ case "destroyAll":
647
+ return [];
648
+ default:
649
+ return prev;
650
+ }
651
+ });
652
+ });
653
+ return unsubscribe;
654
+ }, []);
655
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
656
+ children: [
657
+ children,
658
+ modals.map((modal)=>{
659
+ const { id, content, children, onOk, onCancel, trigger, ...modalProps } = modal;
660
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.createElement)(Modal, {
661
+ ...modalProps,
662
+ key: id,
663
+ open: modalProps.open,
664
+ onOk: (e)=>{
665
+ null == onOk || onOk(e);
666
+ modalManager.emit({
667
+ type: "update",
668
+ payload: {
669
+ id,
670
+ config: {
671
+ open: false
672
+ }
673
+ }
674
+ });
675
+ },
676
+ onCancel: (e)=>{
677
+ null == onCancel || onCancel(e);
678
+ modalManager.emit({
679
+ type: "update",
680
+ payload: {
681
+ id,
682
+ config: {
683
+ open: false
684
+ }
685
+ }
686
+ });
687
+ },
688
+ afterClose: ()=>{
689
+ modalManager.emit({
690
+ type: "destroy",
691
+ payload: {
692
+ id
693
+ }
694
+ });
695
+ if (trigger instanceof HTMLElement) trigger.focus();
696
+ }
697
+ }, content || children);
698
+ })
699
+ ]
700
+ });
701
+ };
702
+ "use client";
703
+ const useModal = ()=>(0, __WEBPACK_EXTERNAL_MODULE_antd_es_app_useApp_90d95086__["default"])().modal;
704
+ const Modal_Modal = Object.assign(Modal, {
705
+ Provider: ModalProvider,
706
+ open: functions_open,
707
+ info: info,
708
+ success: success,
709
+ error: functions_error,
710
+ warning: warning,
711
+ confirm: functions_confirm,
712
+ destroyAll: destroyAll,
713
+ useModal
714
+ });
715
+ "use client";
716
+ const ScrollArea = ({ children, className, viewportClassName, thumbClassName, scrollbarClassName, orientation = "vertical" })=>{
717
+ const cls = useCls();
718
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Root, {
719
+ className: clsx(cls("scroll-area"), className),
720
+ children: [
721
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Viewport, {
722
+ className: clsx(cls("scroll-area-viewport"), viewportClassName),
723
+ children: children
724
+ }),
725
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Scrollbar, {
726
+ className: clsx(cls("scroll-area-scrollbar"), scrollbarClassName),
727
+ orientation: orientation,
728
+ "data-orientation": orientation,
729
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Thumb, {
730
+ className: clsx(cls("scroll-area-thumb", thumbClassName))
731
+ })
732
+ })
733
+ ]
734
+ });
735
+ };
736
+ const MainSegmentedInner = ({ className, ...rest }, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_segmented_6dbdbe23__["default"], {
737
+ ref: ref,
738
+ ...rest
739
+ });
740
+ const MainSegmented = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(MainSegmentedInner);
741
+ const Segmented = MainSegmented;
742
+ "use client";
743
+ function useControlledState(value, onChange, defaultValue) {
744
+ const [internalState, setInternalState] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(defaultValue);
745
+ const isControlled = void 0 !== value;
746
+ const setState = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((next)=>{
747
+ const nextValue = "function" == typeof next ? next(value) : next;
748
+ if ("function" == typeof onChange) onChange(nextValue);
749
+ if (!isControlled) setInternalState(next);
750
+ }, [
751
+ value,
752
+ onChange,
753
+ isControlled
754
+ ]);
755
+ const state = isControlled ? value : internalState;
756
+ return [
757
+ state,
758
+ setState
759
+ ];
760
+ }
761
+ "use client";
762
+ const WithAntdTokens = ({ as: Tag = "div", ref, className, ...rest })=>{
763
+ const Component = Tag;
764
+ const cssVar = useAntdCssVarClassname();
765
+ const { renderElement } = (0, __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.useRender)({
766
+ render: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Component, {}),
767
+ refs: [
768
+ ref
769
+ ],
770
+ props: {
771
+ ...rest,
772
+ className: clsx(className, cssVar)
773
+ }
774
+ });
775
+ return renderElement();
776
+ };
777
+ function reactNodeToString(node) {
778
+ if (null == node) return "";
779
+ if ("string" == typeof node) return node;
780
+ if ("number" == typeof node || "boolean" == typeof node) return node.toString();
781
+ if (Array.isArray(node)) return node.map(reactNodeToString).join("");
782
+ if ((0, __WEBPACK_EXTERNAL_MODULE_react__.isValidElement)(node) && "props" in node && node.props && "object" == typeof node.props && "children" in node.props && node.props.children) {
783
+ if ("br" === node.type) return "\n";
784
+ if (node.props.children) return reactNodeToString(node.props.children);
785
+ }
786
+ return "";
787
+ }
788
+ "use client";
789
+ const CodeBlock = ({ code, children, lang: defaultLang = "tsx", className, options, activeOption: controlledActiveOption, defaultActiveOption = 0, onActiveOptionChange, copyText = "Copy", copySuccessText = "Copied", ...rest })=>{
790
+ const [activeOption, setActiveOption] = useControlledState(controlledActiveOption, onActiveOptionChange, defaultActiveOption);
791
+ const [currentCode, setCurrentCode] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(code || "");
792
+ const [lang, setLang] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(defaultLang);
793
+ const hasOptions = options && options.length > 0;
794
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
795
+ if (hasOptions) {
796
+ var _options_activeOption, _options_activeOption1;
797
+ const newCode = (null == (_options_activeOption = options[activeOption]) ? void 0 : _options_activeOption.code) || "";
798
+ const newLang = (null == (_options_activeOption1 = options[activeOption]) ? void 0 : _options_activeOption1.lang) || defaultLang;
799
+ setCurrentCode(newCode);
800
+ setLang(newLang);
801
+ }
802
+ }, [
803
+ code,
804
+ activeOption,
805
+ defaultActiveOption,
806
+ options,
807
+ defaultLang,
808
+ hasOptions,
809
+ setActiveOption
810
+ ]);
811
+ const [tooltipContent, setTooltipContent] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(copyText);
812
+ const [copySuccess, setCopySuccess] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
813
+ const handleCopy = ()=>{
814
+ const codeContent = currentCode ? currentCode : reactNodeToString(children);
815
+ try {
816
+ navigator.clipboard.writeText(codeContent).then(()=>{
817
+ setTooltipContent(copySuccessText);
818
+ setCopySuccess(true);
819
+ });
820
+ } catch (_) {
821
+ setTooltipContent("Failed to copy");
822
+ }
823
+ };
824
+ const handleMouseLeave = ()=>{
825
+ setTooltipContent(copyText);
826
+ setCopySuccess(false);
827
+ };
828
+ const cls = useCls();
829
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ThemeProvider, {
830
+ theme: "dark",
831
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(WithAntdTokens, {
832
+ className: clsx(cls("code-block"), className),
833
+ ...rest,
834
+ children: [
835
+ hasOptions && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
836
+ className: cls("code-block-header"),
837
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Segmented, {
838
+ value: activeOption,
839
+ onChange: setActiveOption,
840
+ options: options.map((opt, index)=>({
841
+ label: opt.label,
842
+ value: index
843
+ }))
844
+ })
845
+ }),
846
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
847
+ className: cls("code-block-copy"),
848
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
849
+ onClick: handleCopy,
850
+ label: tooltipContent,
851
+ onMouseLeave: handleMouseLeave,
852
+ 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, {})
853
+ })
854
+ }),
855
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
856
+ className: cls("code-block-content"),
857
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ScrollArea, {
858
+ children: currentCode ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_prism_react_renderer_be33806e__.Highlight, {
859
+ language: lang,
860
+ code: currentCode,
861
+ theme: __WEBPACK_EXTERNAL_MODULE_prism_react_renderer_be33806e__.themes.vsDark,
862
+ children: ({ className, style, tokens, getLineProps, getTokenProps })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("pre", {
863
+ style: {
864
+ ...style,
865
+ backgroundColor: "transparent"
866
+ },
867
+ className: className,
868
+ children: tokens.map((line, i)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
869
+ ...getLineProps({
870
+ line
871
+ }),
872
+ children: line.map((token, key)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
873
+ ...getTokenProps({
874
+ token
875
+ })
876
+ }, key))
877
+ }, i))
878
+ })
879
+ }) : children
880
+ })
881
+ })
882
+ ]
883
+ })
884
+ });
885
+ };
886
+ "use client";
887
+ function InnerToast({ toast }) {
888
+ var _toast_data;
889
+ const cls = useCls();
890
+ const toastIconMap = {
891
+ info: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.Info, {
892
+ weight: "fill"
893
+ }),
894
+ warning: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.WarningCircle, {
895
+ weight: "fill"
896
+ }),
897
+ error: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.XCircle, {
898
+ weight: "fill"
899
+ }),
900
+ success: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CheckCircle, {
901
+ weight: "fill"
902
+ }),
903
+ progress: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CircleNotch, {})
904
+ };
905
+ const type = (null == (_toast_data = toast.data) ? void 0 : _toast_data.type) || "info";
906
+ const isTraceback = isTracebackError(null == toast ? void 0 : toast.description);
907
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
908
+ if (isTraceback) toastManager.update(toast.id, {
909
+ timeout: 0
910
+ });
911
+ }, [
912
+ isTraceback,
913
+ toast.id
914
+ ]);
915
+ const renderDescription = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((props)=>{
916
+ const { children, className, ...rest } = props;
917
+ if (isTraceback) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
918
+ ...rest,
919
+ className: cls("toast-description", isTraceback ? "toast-description-traceback" : "", className),
920
+ children: [
921
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("p", {
922
+ children: [
923
+ "An unexpected error occurred.",
924
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("br", {}),
925
+ "Please contact us with error details for support."
926
+ ]
927
+ }),
928
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("p", {
929
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Button, {
930
+ size: "small",
931
+ onClick: ()=>{
932
+ Modal_Modal.open({
933
+ title: "Error details",
934
+ content: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(CodeBlock, {
935
+ children: children
936
+ }),
937
+ hideOkButton: true
938
+ });
939
+ toastManager.close(toast.id);
940
+ },
941
+ children: "View error details"
942
+ })
943
+ })
944
+ ]
945
+ });
946
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("p", {
947
+ ...rest,
948
+ className: cls("toast-description", className),
949
+ children: children
950
+ });
951
+ }, [
952
+ isTraceback,
953
+ cls,
954
+ toast.id
955
+ ]);
956
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Root, {
957
+ toast: toast,
958
+ className: cls("toast"),
959
+ children: [
960
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
961
+ className: cls("toast-icon-wrap"),
962
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
963
+ className: cls("toast-icon", `toast-icon-${type}`),
964
+ children: toastIconMap[type]
965
+ })
966
+ }),
967
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
968
+ className: cls("toast-content"),
969
+ children: [
970
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Title, {
971
+ className: cls("toast-title")
972
+ }),
973
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Description, {
974
+ render: renderDescription
975
+ })
976
+ ]
977
+ }),
978
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Close, {
979
+ className: cls("toast-close"),
980
+ render: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
981
+ size: "small",
982
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.X, {})
983
+ })
984
+ })
985
+ ]
986
+ });
987
+ }
988
+ function ToastList({ className }) {
989
+ const { toasts } = __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.useToastManager();
990
+ const cls = useCls();
991
+ const cssVars = useAntdCssVarClassname();
992
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Viewport, {
993
+ className: clsx(cls("toast-viewport"), cssVars, className),
994
+ children: toasts.map((toast)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(InnerToast, {
995
+ toast: toast
996
+ }, toast.id))
997
+ });
998
+ }
999
+ function ToastProvider(props) {
1000
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.Toast.Provider, {
1001
+ toastManager: toastManager,
1002
+ ...props
1003
+ });
1004
+ }
1005
+ const Toast = Object.assign(InnerToast, {
1006
+ List: ToastList,
1007
+ Provider: ToastProvider
1008
+ });
1009
+ const DSRoot = ({ className, appendClassesTo = "html", children, ...props })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ThemeProvider, {
1010
+ ...props,
1011
+ appendClassesTo: appendClassesTo,
1012
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_app_App_698582f4__["default"], {
1013
+ className: className,
1014
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Toast.Provider, {
1015
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(Modal_Modal.Provider, {
1016
+ children: [
1017
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Toast.List, {}),
1018
+ children
1019
+ ]
1020
+ })
1021
+ })
1022
+ })
1023
+ });
1024
+ export { DSRoot };