@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/Modal.js ADDED
@@ -0,0 +1,430 @@
1
+ "use client";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_app_useApp_90d95086__ from "antd/es/app/useApp";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
4
+ import "antd/es/flex/style/css";
5
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__ from "antd/es/flex";
6
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_52965d33__ from "antd/es/modal";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__ from "@bioturing/assets";
8
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
9
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__ from "antd/es/config-provider";
10
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_theme_useToken_e8911485__ from "antd/es/theme/useToken";
11
+ import "tailwind-merge";
12
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_context_bc73863f__ from "antd/es/modal/context";
13
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalCancelBtn_54ff398c__ from "antd/es/modal/components/NormalCancelBtn";
14
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalOkBtn_897b50c4__ from "antd/es/modal/components/NormalOkBtn";
15
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_modal_locale_f16c0933__ from "antd/es/modal/locale";
16
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_locale_31079002__ from "antd/es/locale";
17
+ import "antd/es/tooltip/style/css";
18
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_tooltip_1091cc47__ from "antd/es/tooltip";
19
+ function cx(...args) {
20
+ const classes = [];
21
+ for (const arg of args)if (arg) {
22
+ if ("string" == typeof arg || "number" == typeof arg) classes.push(String(arg));
23
+ else if (Array.isArray(arg)) classes.push(...cx(...arg));
24
+ else if ("object" == typeof arg) {
25
+ for (const [key, value] of Object.entries(arg))if (value) classes.push(key);
26
+ }
27
+ }
28
+ return classes;
29
+ }
30
+ "use client";
31
+ const useAntdCssVarClassname = ()=>{
32
+ var _token_;
33
+ const token = (0, __WEBPACK_EXTERNAL_MODULE_antd_es_theme_useToken_e8911485__["default"])();
34
+ return null == (_token_ = token[4]) ? void 0 : _token_.key;
35
+ };
36
+ const useCls = ()=>{
37
+ const { getPrefixCls } = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__["default"].ConfigContext);
38
+ return (...args)=>cx(...args).map((cls)=>getPrefixCls(cls)).join(" ");
39
+ };
40
+ "use client";
41
+ const IconButtonImpl = (props, ref)=>{
42
+ const { label, size = "medium", negativeMargin = true, children, className, tooltipProps = {}, as, href, target, rel, download, hrefLang, referrerPolicy, ...rest } = props;
43
+ const cls = useCls();
44
+ const antdCssVarClassname = useAntdCssVarClassname();
45
+ const buttonClasses = [
46
+ cls("icon-button"),
47
+ cls(`icon-button-${size}`),
48
+ cls(negativeMargin ? "icon-button-negative-margin" : ""),
49
+ antdCssVarClassname,
50
+ className
51
+ ].filter(Boolean).join(" ");
52
+ const Component = as || (href ? "a" : "button");
53
+ const anchorProps = "a" === Component ? {
54
+ ...void 0 !== target && {
55
+ target
56
+ },
57
+ ...void 0 !== rel && {
58
+ rel
59
+ },
60
+ ...void 0 !== download && {
61
+ download
62
+ },
63
+ ...void 0 !== hrefLang && {
64
+ hrefLang
65
+ },
66
+ ...void 0 !== referrerPolicy && {
67
+ referrerPolicy
68
+ }
69
+ } : {};
70
+ const elementProps = {
71
+ ref,
72
+ className: buttonClasses,
73
+ ..."button" === Component && {
74
+ type: "button"
75
+ },
76
+ ...href && {
77
+ href
78
+ },
79
+ ...anchorProps,
80
+ ...rest
81
+ };
82
+ const element = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Component, {
83
+ ...elementProps,
84
+ children: children
85
+ });
86
+ return label ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_tooltip_1091cc47__["default"], {
87
+ title: label,
88
+ arrow: false,
89
+ ...tooltipProps,
90
+ children: element
91
+ }) : element;
92
+ };
93
+ const IconButton = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(IconButtonImpl);
94
+ var constants_ModalSize = /*#__PURE__*/ function(ModalSize) {
95
+ ModalSize["xsmall"] = "400px";
96
+ ModalSize["small"] = "520px";
97
+ ModalSize["medium"] = "640px";
98
+ ModalSize["large"] = "840px";
99
+ ModalSize["xlarge"] = "1024px";
100
+ ModalSize["xxlarge"] = "1280px";
101
+ ModalSize["fullscreen"] = "100%";
102
+ return ModalSize;
103
+ }({});
104
+ "use client";
105
+ 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 })=>{
106
+ const defaultCloseIcon = void 0 === closeIcon ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.X, {
107
+ size: 16,
108
+ weight: "bold"
109
+ }) : closeIcon;
110
+ const defaultModalSize = "default" === type ? "medium" : "xsmall";
111
+ const modalWidth = width || size && size in constants_ModalSize ? constants_ModalSize[size] : constants_ModalSize[defaultModalSize];
112
+ const modalStyle = {
113
+ ...style,
114
+ ..."fullscreen" === size ? {
115
+ top: 0,
116
+ maxWidth: "100%",
117
+ height: "100%"
118
+ } : {}
119
+ };
120
+ const modalStyles = {
121
+ ...styles,
122
+ body: {
123
+ ...void 0 !== contentPadding ? {
124
+ "--ds-modal-content-padding": false === contentPadding || 0 === contentPadding ? "0" : "number" == typeof contentPadding ? `${contentPadding}px` : contentPadding
125
+ } : {},
126
+ ...null == styles ? void 0 : styles.body
127
+ }
128
+ };
129
+ const [scrollable, setScrollable] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
130
+ const cls = useCls();
131
+ const resizeObserverRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
132
+ const modalInnerRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((node)=>{
133
+ if (!node) return;
134
+ const modalBody = node.querySelector("." + cls("modal-body"));
135
+ if (!(modalBody instanceof HTMLElement)) return;
136
+ const resizeObserver = new ResizeObserver(()=>{
137
+ const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;
138
+ setScrollable(hasOverflow);
139
+ });
140
+ resizeObserverRef.current = resizeObserver;
141
+ resizeObserver.observe(modalBody);
142
+ const hasOverflow = modalBody.scrollHeight > modalBody.clientHeight;
143
+ setScrollable(hasOverflow);
144
+ }, [
145
+ cls
146
+ ]);
147
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>()=>{
148
+ if (resizeObserverRef.current) {
149
+ resizeObserverRef.current.disconnect();
150
+ resizeObserverRef.current = null;
151
+ }
152
+ }, []);
153
+ const [locale] = (0, __WEBPACK_EXTERNAL_MODULE_antd_es_locale_31079002__.useLocale)("Modal", (0, __WEBPACK_EXTERNAL_MODULE_antd_es_modal_locale_f16c0933__.getConfirmLocale)());
154
+ const okTextLocale = okText || (null == locale ? void 0 : locale.okText);
155
+ const cancelTextLocale = cancelText || (null == locale ? void 0 : locale.cancelText);
156
+ const modalOkButtonProps = {
157
+ loading: loading,
158
+ ...okButtonProps
159
+ };
160
+ const modalCancelButtonProps = {
161
+ ...cancelButtonProps
162
+ };
163
+ const [internalOpen, setInternalOpen] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(defaultOpen);
164
+ const uncontrolledOpen = void 0 === externalOpen;
165
+ const open = uncontrolledOpen ? internalOpen : externalOpen;
166
+ const defaultFooter = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_context_bc73863f__.ModalContextProvider, {
167
+ value: {
168
+ okButtonProps: modalOkButtonProps,
169
+ cancelButtonProps: modalCancelButtonProps,
170
+ onCancel,
171
+ onOk,
172
+ okType,
173
+ confirmLoading,
174
+ okTextLocale,
175
+ cancelTextLocale
176
+ },
177
+ 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, {
178
+ children: [
179
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalCancelBtn_54ff398c__["default"], {}),
180
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_components_NormalOkBtn_897b50c4__["default"], {})
181
+ ]
182
+ })
183
+ });
184
+ const renderTitle = ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
185
+ children: [
186
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__["default"], {
187
+ align: "center",
188
+ gap: 8,
189
+ className: cls("modal-title-wrapper"),
190
+ children: [
191
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
192
+ className: cls("grow", "truncate"),
193
+ children: title
194
+ }),
195
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
196
+ className: "flex items-center gap-2",
197
+ children: [
198
+ beforeCloseButton,
199
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
200
+ onClick: (e)=>null == onCancel ? void 0 : onCancel(e),
201
+ children: defaultCloseIcon
202
+ }),
203
+ afterCloseButton
204
+ ]
205
+ })
206
+ ]
207
+ }),
208
+ afterTitle ? afterTitle : null
209
+ ]
210
+ });
211
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_modal_52965d33__["default"], {
212
+ closeIcon: false,
213
+ open: open,
214
+ width: modalWidth,
215
+ style: modalStyle,
216
+ title: renderTitle(),
217
+ classNames: {
218
+ ...classNames,
219
+ wrapper: cls("modal-wrap", "fullscreen" == size && "modal-fullscreen", scrollable && "modal-scrollable", (defaultFixedHeaderFooter || scrollable || "fullscreen" == size) && "modal-fixed")
220
+ },
221
+ styles: modalStyles,
222
+ modalRender: (modal)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
223
+ ref: modalInnerRef,
224
+ className: cls("modal-inner"),
225
+ children: modal
226
+ }),
227
+ okButtonProps: modalOkButtonProps,
228
+ cancelButtonProps: modalCancelButtonProps,
229
+ onOk: (e)=>{
230
+ if (uncontrolledOpen) setInternalOpen(false);
231
+ null == onOk || onOk(e);
232
+ },
233
+ onCancel: (e)=>{
234
+ if (uncontrolledOpen) setInternalOpen(false);
235
+ null == onCancel || onCancel(e);
236
+ },
237
+ okText: okText,
238
+ cancelText: cancelText,
239
+ okType: "primary",
240
+ confirmLoading: confirmLoading,
241
+ footer: void 0 === footer ? hideOkButton && hideCancelButton ? null : defaultFooter : footer,
242
+ centered: centered,
243
+ ...rest,
244
+ children: children
245
+ });
246
+ };
247
+ function _define_property(obj, key, value) {
248
+ if (key in obj) Object.defineProperty(obj, key, {
249
+ value: value,
250
+ enumerable: true,
251
+ configurable: true,
252
+ writable: true
253
+ });
254
+ else obj[key] = value;
255
+ return obj;
256
+ }
257
+ class ModalManager {
258
+ subscribe(listener) {
259
+ this.listeners.push(listener);
260
+ return ()=>{
261
+ this.listeners = this.listeners.filter((l)=>l !== listener);
262
+ };
263
+ }
264
+ emit(event) {
265
+ this.listeners.forEach((l)=>l(event));
266
+ }
267
+ generateId() {
268
+ this.counter += 1;
269
+ return `modal_${this.counter}_${Date.now()}`;
270
+ }
271
+ constructor(){
272
+ _define_property(this, "listeners", []);
273
+ _define_property(this, "counter", 0);
274
+ }
275
+ }
276
+ const modalManager = new ModalManager();
277
+ function createModal(config) {
278
+ const trigger = document.activeElement instanceof HTMLElement ? document.activeElement : void 0;
279
+ const { type = "default", ...restConfig } = config;
280
+ const id = modalManager.generateId();
281
+ modalManager.emit({
282
+ type: "add",
283
+ payload: {
284
+ id,
285
+ type,
286
+ trigger,
287
+ ...restConfig
288
+ }
289
+ });
290
+ return {
291
+ update: (cfg)=>modalManager.emit({
292
+ type: "update",
293
+ payload: {
294
+ id,
295
+ config: cfg
296
+ }
297
+ }),
298
+ destroy: ()=>modalManager.emit({
299
+ type: "destroy",
300
+ payload: {
301
+ id
302
+ }
303
+ })
304
+ };
305
+ }
306
+ const functions_confirm = (config)=>createModal({
307
+ ...config,
308
+ type: "confirm"
309
+ });
310
+ const info = (config)=>createModal({
311
+ ...config,
312
+ type: "info"
313
+ });
314
+ const success = (config)=>createModal({
315
+ ...config,
316
+ type: "success"
317
+ });
318
+ const error = (config)=>createModal({
319
+ ...config,
320
+ type: "error"
321
+ });
322
+ const warning = (config)=>createModal({
323
+ ...config,
324
+ type: "warning"
325
+ });
326
+ const functions_open = (config)=>createModal({
327
+ ...config,
328
+ type: "default"
329
+ });
330
+ const destroyAll = ()=>modalManager.emit({
331
+ type: "destroyAll"
332
+ });
333
+ "use client";
334
+ const ModalProvider = ({ children })=>{
335
+ const [modals, setModals] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)([]);
336
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
337
+ const unsubscribe = modalManager.subscribe((event)=>{
338
+ setModals((prev)=>{
339
+ switch(event.type){
340
+ case "add":
341
+ return [
342
+ ...prev,
343
+ event.payload
344
+ ];
345
+ case "update":
346
+ return prev.map((m)=>{
347
+ if (m.id === event.payload.id) {
348
+ const cfg = event.payload.config;
349
+ const merged = "function" == typeof cfg ? cfg(m) : {
350
+ ...m,
351
+ ...cfg
352
+ };
353
+ return {
354
+ ...m,
355
+ ...merged
356
+ };
357
+ }
358
+ return m;
359
+ });
360
+ case "destroy":
361
+ return prev.filter((m)=>m.id !== event.payload.id);
362
+ case "destroyAll":
363
+ return [];
364
+ default:
365
+ return prev;
366
+ }
367
+ });
368
+ });
369
+ return unsubscribe;
370
+ }, []);
371
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
372
+ children: [
373
+ children,
374
+ modals.map((modal)=>{
375
+ const { id, content, children, onOk, onCancel, trigger, ...modalProps } = modal;
376
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.createElement)(Modal, {
377
+ ...modalProps,
378
+ key: id,
379
+ open: modalProps.open,
380
+ onOk: (e)=>{
381
+ null == onOk || onOk(e);
382
+ modalManager.emit({
383
+ type: "update",
384
+ payload: {
385
+ id,
386
+ config: {
387
+ open: false
388
+ }
389
+ }
390
+ });
391
+ },
392
+ onCancel: (e)=>{
393
+ null == onCancel || onCancel(e);
394
+ modalManager.emit({
395
+ type: "update",
396
+ payload: {
397
+ id,
398
+ config: {
399
+ open: false
400
+ }
401
+ }
402
+ });
403
+ },
404
+ afterClose: ()=>{
405
+ modalManager.emit({
406
+ type: "destroy",
407
+ payload: {
408
+ id
409
+ }
410
+ });
411
+ if (trigger instanceof HTMLElement) trigger.focus();
412
+ }
413
+ }, content || children);
414
+ })
415
+ ]
416
+ });
417
+ };
418
+ const useModal = ()=>(0, __WEBPACK_EXTERNAL_MODULE_antd_es_app_useApp_90d95086__["default"])().modal;
419
+ const Modal_Modal = Object.assign(Modal, {
420
+ Provider: ModalProvider,
421
+ open: functions_open,
422
+ info: info,
423
+ success: success,
424
+ error: error,
425
+ warning: warning,
426
+ confirm: functions_confirm,
427
+ destroyAll: destroyAll,
428
+ useModal
429
+ });
430
+ export { Modal_Modal as Modal };
@@ -0,0 +1,10 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_popover_ff5d0161__ from "antd/es/popover";
3
+ "use client";
4
+ 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"], {
5
+ className: className,
6
+ arrow: arrow,
7
+ style: style,
8
+ ...rest
9
+ });
10
+ export { Popover };
package/dist/Radio.js ADDED
@@ -0,0 +1,24 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_radio_e6b5c17a__ from "antd/es/radio";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
+ const RadioInner = ({ className, style, ...rest }, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_radio_e6b5c17a__["default"], {
5
+ ref: ref,
6
+ className: className,
7
+ style: style,
8
+ ...rest
9
+ });
10
+ const RadioGroup = (props)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_radio_e6b5c17a__.Group, {
11
+ ...props
12
+ });
13
+ 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, {
14
+ ref: ref,
15
+ className: className,
16
+ style: style,
17
+ ...rest
18
+ }));
19
+ const ForwardedRadio = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(RadioInner);
20
+ const Radio = Object.assign(ForwardedRadio, {
21
+ Group: RadioGroup,
22
+ Button: RadioButton
23
+ });
24
+ export { Radio };
@@ -0,0 +1,47 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__ from "@base-ui-components/react";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__ from "antd/es/config-provider";
4
+ import "antd/es/theme/useToken";
5
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
6
+ import "tailwind-merge";
7
+ function cx(...args) {
8
+ const classes = [];
9
+ for (const arg of args)if (arg) {
10
+ if ("string" == typeof arg || "number" == typeof arg) classes.push(String(arg));
11
+ else if (Array.isArray(arg)) classes.push(...cx(...arg));
12
+ else if ("object" == typeof arg) {
13
+ for (const [key, value] of Object.entries(arg))if (value) classes.push(key);
14
+ }
15
+ }
16
+ return classes;
17
+ }
18
+ function clsx(...args) {
19
+ return cx(...args).join(" ");
20
+ }
21
+ "use client";
22
+ const useCls = ()=>{
23
+ const { getPrefixCls } = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__["default"].ConfigContext);
24
+ return (...args)=>cx(...args).map((cls)=>getPrefixCls(cls)).join(" ");
25
+ };
26
+ "use client";
27
+ const ScrollArea = ({ children, className, viewportClassName, thumbClassName, scrollbarClassName, orientation = "vertical" })=>{
28
+ const cls = useCls();
29
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Root, {
30
+ className: clsx(cls("scroll-area"), className),
31
+ children: [
32
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Viewport, {
33
+ className: clsx(cls("scroll-area-viewport"), viewportClassName),
34
+ children: children
35
+ }),
36
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Scrollbar, {
37
+ className: clsx(cls("scroll-area-scrollbar"), scrollbarClassName),
38
+ orientation: orientation,
39
+ "data-orientation": orientation,
40
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Thumb, {
41
+ className: clsx(cls("scroll-area-thumb", thumbClassName))
42
+ })
43
+ })
44
+ ]
45
+ });
46
+ };
47
+ export { ScrollArea };
@@ -0,0 +1,10 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_segmented_6dbdbe23__ from "antd/es/segmented";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
+ const MainSegmentedInner = ({ className, ...rest }, ref)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_segmented_6dbdbe23__["default"], {
5
+ ref: ref,
6
+ ...rest
7
+ });
8
+ const MainSegmented = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(MainSegmentedInner);
9
+ const Segmented = MainSegmented;
10
+ export { Segmented };
package/dist/Select.js ADDED
@@ -0,0 +1,41 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__ from "@bioturing/assets";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_select_005d200f__ from "antd/es/select";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_checkbox_80658bc3__ from "antd/es/checkbox";
5
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
6
+ const MainSelectInner = ({ mode, className, popupClassName, ...rest }, ref)=>{
7
+ const isMultiple = "multiple" === mode || "tags" === mode;
8
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_select_005d200f__["default"], {
9
+ ref: ref,
10
+ suffixIcon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CaretDown, {
11
+ weight: "bold"
12
+ }),
13
+ popupClassName: [
14
+ "ds-select-popup",
15
+ isMultiple && "ds-select-multiple",
16
+ popupClassName
17
+ ].filter(Boolean).join(" "),
18
+ ...isMultiple ? {
19
+ menuItemSelectedIcon: ({ isSelected })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
20
+ className: "ant-select-checkbox-indicator",
21
+ children: isSelected ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_checkbox_80658bc3__["default"], {
22
+ checked: true
23
+ }) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_checkbox_80658bc3__["default"], {
24
+ checked: false
25
+ })
26
+ })
27
+ } : {},
28
+ mode: mode,
29
+ className: [
30
+ "ds-select",
31
+ className
32
+ ].filter(Boolean).join(" "),
33
+ ...rest
34
+ });
35
+ };
36
+ const MainSelect = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(MainSelectInner);
37
+ const Select = Object.assign(MainSelect, {
38
+ Option: __WEBPACK_EXTERNAL_MODULE_antd_es_select_005d200f__["default"].Option,
39
+ OptGroup: __WEBPACK_EXTERNAL_MODULE_antd_es_select_005d200f__["default"].OptGroup
40
+ });
41
+ export { Select };
package/dist/Slider.js ADDED
@@ -0,0 +1,39 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_slider_a2f2f6f0__ from "antd/es/slider";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__ from "antd/es/config-provider";
4
+ import "antd/es/theme/useToken";
5
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
6
+ import "tailwind-merge";
7
+ function cx(...args) {
8
+ const classes = [];
9
+ for (const arg of args)if (arg) {
10
+ if ("string" == typeof arg || "number" == typeof arg) classes.push(String(arg));
11
+ else if (Array.isArray(arg)) classes.push(...cx(...arg));
12
+ else if ("object" == typeof arg) {
13
+ for (const [key, value] of Object.entries(arg))if (value) classes.push(key);
14
+ }
15
+ }
16
+ return classes;
17
+ }
18
+ function clsx(...args) {
19
+ return cx(...args).join(" ");
20
+ }
21
+ "use client";
22
+ const useCls = ()=>{
23
+ const { getPrefixCls } = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__["default"].ConfigContext);
24
+ return (...args)=>cx(...args).map((cls)=>getPrefixCls(cls)).join(" ");
25
+ };
26
+ "use client";
27
+ const Slider = ({ className, tooltip = {}, style, ...rest })=>{
28
+ const cls = useCls();
29
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_slider_a2f2f6f0__["default"], {
30
+ className: clsx(cls("slider"), className),
31
+ style: style,
32
+ ...rest,
33
+ tooltip: {
34
+ arrow: false,
35
+ ...tooltip
36
+ }
37
+ });
38
+ };
39
+ export { Slider };
package/dist/Spin.js ADDED
@@ -0,0 +1,33 @@
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 "antd/es/theme/useToken";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
5
+ import "tailwind-merge";
6
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_spin_c7b761a0__ from "antd/es/spin";
7
+ function cx(...args) {
8
+ const classes = [];
9
+ for (const arg of args)if (arg) {
10
+ if ("string" == typeof arg || "number" == typeof arg) classes.push(String(arg));
11
+ else if (Array.isArray(arg)) classes.push(...cx(...arg));
12
+ else if ("object" == typeof arg) {
13
+ for (const [key, value] of Object.entries(arg))if (value) classes.push(key);
14
+ }
15
+ }
16
+ return classes;
17
+ }
18
+ "use client";
19
+ const useCls = ()=>{
20
+ const { getPrefixCls } = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__["default"].ConfigContext);
21
+ return (...args)=>cx(...args).map((cls)=>getPrefixCls(cls)).join(" ");
22
+ };
23
+ const Spin = ({ indicator, ...rest })=>{
24
+ const cls = useCls();
25
+ const spinIndicator = indicator || /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
26
+ className: cls("spin-loader")
27
+ });
28
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_spin_c7b761a0__["default"], {
29
+ indicator: spinIndicator,
30
+ ...rest
31
+ });
32
+ };
33
+ export { Spin };