@bioturing/components 0.13.3 → 0.14.0

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 (198) hide show
  1. package/dist/CodeBlock.js +277 -132
  2. package/dist/DSRoot.js +309 -149
  3. package/dist/DropdownMenu.js +6 -1
  4. package/dist/Modal.js +9 -6
  5. package/dist/PopupPanel.css +116 -0
  6. package/dist/PopupPanel.js +333 -0
  7. package/dist/ScrollArea.js +4 -1
  8. package/dist/Select.js +126 -11
  9. package/dist/Table.js +3 -2
  10. package/dist/ThemeProvider.js +273 -131
  11. package/dist/Toast.js +286 -138
  12. package/dist/Upload.js +43 -1
  13. package/dist/components/{src/components/DSRoot → DSRoot}/component.d.ts +1 -1
  14. package/dist/components/DSRoot/context.d.ts +7 -0
  15. package/dist/components/{src/components/DropdownMenu → DropdownMenu}/component.d.ts +6 -1
  16. package/dist/components/{src/components/Modal → Modal}/Modal.d.ts +16 -1
  17. package/dist/components/{src/components/Modal → Modal}/index.d.ts +1 -1
  18. package/dist/components/PopupPanel/component.d.ts +61 -0
  19. package/dist/components/PopupPanel/constants.d.ts +7 -0
  20. package/dist/components/{src/components/Select → Select}/component.d.ts +13 -1
  21. package/dist/components/{src/components/Table → Table}/component.d.ts +1 -1
  22. package/dist/components/VerticalCollapsiblePanel/index.d.ts +1 -0
  23. package/dist/components/{src/components/hooks → hooks}/base-ui.d.ts +2 -2
  24. package/dist/components/{src/components/hooks → hooks}/index.d.ts +1 -0
  25. package/dist/components/hooks/useCharts.d.ts +22 -0
  26. package/dist/components/{src/components/index.d.ts → index.d.ts} +1 -0
  27. package/dist/components/{src/components/utils → utils}/antdUtils.d.ts +5 -0
  28. package/dist/hooks.js +961 -0
  29. package/dist/index.css +116 -0
  30. package/dist/index.js +1193 -242
  31. package/dist/style.css +157 -7
  32. package/dist/tokens/and-theme/index.d.ts +1 -0
  33. package/dist/{components/src/tokens/index.d.ts → tokens/and-theme/tokens.d.ts} +2 -0
  34. package/dist/tokens/charts/index.d.ts +6 -0
  35. package/dist/tokens/charts/tokens.d.ts +455 -0
  36. package/dist/tokens/index.d.ts +2 -0
  37. package/dist/tokens/utils.d.ts +16 -0
  38. package/dist/utils.js +43 -1
  39. package/package.json +17 -6
  40. package/dist/assets/src/icons/custom/ANOVAAnalysis.d.ts +0 -7
  41. package/dist/assets/src/icons/custom/AUCell.d.ts +0 -7
  42. package/dist/assets/src/icons/custom/Alphabet.d.ts +0 -7
  43. package/dist/assets/src/icons/custom/BarChart.d.ts +0 -7
  44. package/dist/assets/src/icons/custom/BoxPlot.d.ts +0 -7
  45. package/dist/assets/src/icons/custom/BubbleHeatmap.d.ts +0 -7
  46. package/dist/assets/src/icons/custom/CDR3Spectratyping.d.ts +0 -7
  47. package/dist/assets/src/icons/custom/CancerPrediction.d.ts +0 -7
  48. package/dist/assets/src/icons/custom/Cell.d.ts +0 -7
  49. package/dist/assets/src/icons/custom/CellCellCommunication.d.ts +0 -7
  50. package/dist/assets/src/icons/custom/CellSearch.d.ts +0 -7
  51. package/dist/assets/src/icons/custom/CellTypeDeconvolution.d.ts +0 -7
  52. package/dist/assets/src/icons/custom/CellTypePrediction.d.ts +0 -7
  53. package/dist/assets/src/icons/custom/Cells.d.ts +0 -7
  54. package/dist/assets/src/icons/custom/Circos.d.ts +0 -7
  55. package/dist/assets/src/icons/custom/Clonotype.d.ts +0 -7
  56. package/dist/assets/src/icons/custom/CoexpressionPlot.d.ts +0 -7
  57. package/dist/assets/src/icons/custom/Composition.d.ts +0 -7
  58. package/dist/assets/src/icons/custom/DEG.d.ts +0 -7
  59. package/dist/assets/src/icons/custom/Digits.d.ts +0 -7
  60. package/dist/assets/src/icons/custom/DiversityAnalysis.d.ts +0 -7
  61. package/dist/assets/src/icons/custom/Embedding.d.ts +0 -7
  62. package/dist/assets/src/icons/custom/EnrichmentTest.d.ts +0 -7
  63. package/dist/assets/src/icons/custom/Eppendorf.d.ts +0 -7
  64. package/dist/assets/src/icons/custom/FileArrowRight.d.ts +0 -7
  65. package/dist/assets/src/icons/custom/FolderArrowRight.d.ts +0 -7
  66. package/dist/assets/src/icons/custom/Heatmap.d.ts +0 -7
  67. package/dist/assets/src/icons/custom/ImageSegmentation.d.ts +0 -7
  68. package/dist/assets/src/icons/custom/IntersectionPlot.d.ts +0 -7
  69. package/dist/assets/src/icons/custom/LouvainClustering.d.ts +0 -7
  70. package/dist/assets/src/icons/custom/MarkerGenes.d.ts +0 -7
  71. package/dist/assets/src/icons/custom/MixedView.d.ts +0 -7
  72. package/dist/assets/src/icons/custom/NeighborhoodAnalysis.d.ts +0 -7
  73. package/dist/assets/src/icons/custom/PenSize.d.ts +0 -7
  74. package/dist/assets/src/icons/custom/Pertubation.d.ts +0 -7
  75. package/dist/assets/src/icons/custom/Pseudotime.d.ts +0 -7
  76. package/dist/assets/src/icons/custom/RegionSegmentation.d.ts +0 -7
  77. package/dist/assets/src/icons/custom/ScatterPlotTissueImageView.d.ts +0 -7
  78. package/dist/assets/src/icons/custom/ScatterPlotView.d.ts +0 -7
  79. package/dist/assets/src/icons/custom/SegmentSelection.d.ts +0 -7
  80. package/dist/assets/src/icons/custom/SpatialCellProportion.d.ts +0 -7
  81. package/dist/assets/src/icons/custom/Species.d.ts +0 -7
  82. package/dist/assets/src/icons/custom/SubClustering.d.ts +0 -7
  83. package/dist/assets/src/icons/custom/TSNEUMAP.d.ts +0 -7
  84. package/dist/assets/src/icons/custom/TissueImageScatterPlotView.d.ts +0 -7
  85. package/dist/assets/src/icons/custom/TissueImageView.d.ts +0 -7
  86. package/dist/assets/src/icons/custom/TwoD.d.ts +0 -7
  87. package/dist/assets/src/icons/custom/VennDiagramAnalysis.d.ts +0 -7
  88. package/dist/assets/src/icons/custom/ViolinPlot.d.ts +0 -7
  89. package/dist/assets/src/icons/custom/index.d.ts +0 -49
  90. package/dist/assets/src/icons/index.d.ts +0 -2
  91. package/dist/assets/src/icons/phosphor.d.ts +0 -1
  92. package/dist/assets/src/index.d.ts +0 -2
  93. package/dist/assets/src/logos/BBrowserX.d.ts +0 -9
  94. package/dist/assets/src/logos/BioStudio.d.ts +0 -9
  95. package/dist/assets/src/logos/BioTuring.d.ts +0 -9
  96. package/dist/assets/src/logos/BioTuringAlpha.d.ts +0 -9
  97. package/dist/assets/src/logos/BioVinci.d.ts +0 -9
  98. package/dist/assets/src/logos/Lens.d.ts +0 -9
  99. package/dist/assets/src/logos/Pixel.d.ts +0 -9
  100. package/dist/assets/src/logos/SmartBulk.d.ts +0 -9
  101. package/dist/assets/src/logos/SpatialX.d.ts +0 -9
  102. package/dist/assets/src/logos/Talk2Data.d.ts +0 -9
  103. package/dist/assets/src/logos/Vinci.d.ts +0 -9
  104. package/dist/assets/src/logos/index.d.ts +0 -11
  105. package/dist/components/src/components/DropdownMenu/utils.d.ts +0 -5
  106. package/dist/components/{src/components/Badge → Badge}/component.d.ts +0 -0
  107. package/dist/components/{src/components/Badge → Badge}/index.d.ts +0 -0
  108. package/dist/components/{src/components/Breadcrumb → Breadcrumb}/component.d.ts +0 -0
  109. package/dist/components/{src/components/Breadcrumb → Breadcrumb}/index.d.ts +0 -0
  110. package/dist/components/{src/components/Breadcrumb → Breadcrumb}/types.d.ts +0 -0
  111. package/dist/components/{src/components/Breadcrumb → Breadcrumb}/useItemRender.d.ts +0 -0
  112. package/dist/components/{src/components/Button → Button}/component.d.ts +0 -0
  113. package/dist/components/{src/components/Button → Button}/index.d.ts +0 -0
  114. package/dist/components/{src/components/Checkbox → Checkbox}/component.d.ts +0 -0
  115. package/dist/components/{src/components/Checkbox → Checkbox}/index.d.ts +0 -0
  116. package/dist/components/{src/components/CodeBlock → CodeBlock}/component.d.ts +0 -0
  117. package/dist/components/{src/components/CodeBlock → CodeBlock}/index.d.ts +0 -0
  118. package/dist/components/{src/components/CodeBlock → CodeBlock}/types.d.ts +0 -0
  119. package/dist/components/{src/components/Collapse → Collapse}/component.d.ts +0 -0
  120. package/dist/components/{src/components/Collapse → Collapse}/index.d.ts +0 -0
  121. package/dist/components/{src/components/DSRoot → DSRoot}/index.d.ts +0 -0
  122. package/dist/components/{src/components/DropdownMenu → DropdownMenu}/index.d.ts +0 -0
  123. package/dist/components/{src/components/Empty → Empty}/component.d.ts +0 -0
  124. package/dist/components/{src/components/Empty → Empty}/index.d.ts +0 -0
  125. package/dist/components/{src/components/Field → Field}/component.d.ts +0 -0
  126. package/dist/components/{src/components/Field → Field}/index.d.ts +0 -0
  127. package/dist/components/{src/components/Form → Form}/component.d.ts +0 -0
  128. package/dist/components/{src/components/Form → Form}/index.d.ts +0 -0
  129. package/dist/components/{src/components/Form → Form}/item.d.ts +0 -0
  130. package/dist/components/{src/components/IconButton → IconButton}/component.d.ts +0 -0
  131. package/dist/components/{src/components/IconButton → IconButton}/index.d.ts +0 -0
  132. package/dist/components/{src/components/Input → Input}/component.d.ts +0 -0
  133. package/dist/components/{src/components/Input → Input}/index.d.ts +0 -0
  134. package/dist/components/{src/components/Modal → Modal}/ModalProvider.d.ts +0 -0
  135. package/dist/components/{src/components/Modal → Modal}/ModalService.d.ts +0 -0
  136. package/dist/components/{src/components/Modal → Modal}/constants.d.ts +0 -0
  137. package/dist/components/{src/components/Modal → Modal}/functions.d.ts +0 -0
  138. package/dist/components/{src/components/Popover → Popover}/component.d.ts +0 -0
  139. package/dist/components/{src/components/Popover → Popover}/index.d.ts +0 -0
  140. package/dist/components/{src/components/ScrollArea → PopupPanel}/index.d.ts +0 -0
  141. package/dist/components/{src/components/Radio → Radio}/component.d.ts +0 -0
  142. package/dist/components/{src/components/Radio → Radio}/index.d.ts +0 -0
  143. package/dist/components/{src/components/Radio → Radio}/interface.d.ts +0 -0
  144. package/dist/components/{src/components/ScrollArea → ScrollArea}/component.d.ts +0 -0
  145. package/dist/components/{src/components/Segmented → ScrollArea}/index.d.ts +0 -0
  146. package/dist/components/{src/components/Segmented → Segmented}/component.d.ts +0 -0
  147. package/dist/components/{src/components/Select → Segmented}/index.d.ts +0 -0
  148. package/dist/components/{src/components/Slider → Select}/index.d.ts +0 -0
  149. package/dist/components/{src/components/Slider → Slider}/component.d.ts +0 -0
  150. package/dist/components/{src/components/Spin → Slider}/index.d.ts +0 -0
  151. package/dist/components/{src/components/Spin → Spin}/component.d.ts +0 -0
  152. package/dist/components/{src/components/Splitter → Spin}/index.d.ts +0 -0
  153. package/dist/components/{src/components/Splitter → Splitter}/component.d.ts +0 -0
  154. package/dist/components/{src/components/Switch → Splitter}/index.d.ts +0 -0
  155. package/dist/components/{src/components/Switch → Switch}/component.d.ts +0 -0
  156. package/dist/components/{src/components/Table → Switch}/index.d.ts +0 -0
  157. package/dist/components/{src/components/Tag → Table}/index.d.ts +0 -0
  158. package/dist/components/{src/components/Tag → Tag}/component.d.ts +0 -0
  159. package/dist/components/{src/components/ThemeProvider → Tag}/index.d.ts +0 -0
  160. package/dist/components/{src/components/ThemeProvider → ThemeProvider}/component.d.ts +0 -0
  161. package/dist/components/{src/components/Tooltip → ThemeProvider}/index.d.ts +0 -0
  162. package/dist/components/{src/components/Toast → Toast}/component.d.ts +0 -0
  163. package/dist/components/{src/components/Toast → Toast}/function.d.ts +0 -0
  164. package/dist/components/{src/components/Toast → Toast}/index.d.ts +0 -0
  165. package/dist/components/{src/components/Toast → Toast}/types.d.ts +0 -0
  166. package/dist/components/{src/components/Tooltip → Tooltip}/component.d.ts +0 -0
  167. package/dist/components/{src/components/Tour → Tooltip}/index.d.ts +0 -0
  168. package/dist/components/{src/components/Tour → Tour}/component.d.ts +0 -0
  169. package/dist/components/{src/components/Transition → Tour}/index.d.ts +0 -0
  170. package/dist/components/{src/components/Transition → Transition}/component.d.ts +0 -0
  171. package/dist/components/{src/components/Truncate → Transition}/index.d.ts +0 -0
  172. package/dist/components/{src/components/Tree → Tree}/components.d.ts +0 -0
  173. package/dist/components/{src/components/Tree → Tree}/helpers.d.ts +0 -0
  174. package/dist/components/{src/components/Tree → Tree}/index.d.ts +0 -0
  175. package/dist/components/{src/components/Tree → Tree}/types.d.ts +0 -0
  176. package/dist/components/{src/components/Tree → Tree}/useTreeCommon.d.ts +44 -44
  177. /package/dist/components/{src/components/Tree → Tree}/useUniqueKeysTree.d.ts +0 -0
  178. /package/dist/components/{src/components/Truncate → Truncate}/component.d.ts +0 -0
  179. /package/dist/components/{src/components/Truncate → Truncate}/helpers.d.ts +0 -0
  180. /package/dist/components/{src/components/VerticalCollapsiblePanel → Truncate}/index.d.ts +0 -0
  181. /package/dist/components/{src/components/Upload → Upload}/component.d.ts +0 -0
  182. /package/dist/components/{src/components/Upload → Upload}/dragger.d.ts +0 -0
  183. /package/dist/components/{src/components/Upload → Upload}/hooks.d.ts +0 -0
  184. /package/dist/components/{src/components/Upload → Upload}/index.d.ts +0 -0
  185. /package/dist/components/{src/components/Upload → Upload}/item.d.ts +0 -0
  186. /package/dist/components/{src/components/Upload → Upload}/utils.d.ts +0 -0
  187. /package/dist/components/{src/components/VerticalCollapsiblePanel → VerticalCollapsiblePanel}/component.d.ts +0 -0
  188. /package/dist/components/{src/components/hooks → hooks}/antd.d.ts +0 -0
  189. /package/dist/components/{src/components/hooks → hooks}/useControlledState.d.ts +0 -0
  190. /package/dist/components/{src/components/utils → utils}/WithAntdTokens.d.ts +0 -0
  191. /package/dist/components/{src/components/utils → utils}/client.d.ts +0 -0
  192. /package/dist/components/{src/components/utils → utils}/cn.d.ts +0 -0
  193. /package/dist/components/{src/components/utils → utils}/index.d.ts +0 -0
  194. /package/dist/components/{src/components/utils → utils}/isTracebackError.d.ts +0 -0
  195. /package/dist/components/{src/components/utils → utils}/main.d.ts +0 -0
  196. /package/dist/components/{src/components/utils → utils}/reactToString.d.ts +0 -0
  197. /package/dist/components/{src/components/utils → utils}/types.d.ts +0 -0
  198. /package/dist/{components/src/index.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,116 @@
1
+ .ds-popup-panel {
2
+ box-shadow: var(--ds-box-shadow-secondary);
3
+ border-radius: var(--ds-border-radius);
4
+ background: var(--ds-color-bg-elevated);
5
+ color: var(--ds-color-text);
6
+ font-size: var(--ds-font-size);
7
+ font-family: var(--ds-font-family);
8
+ transition-property: transform, scale, opacity;
9
+ transition-duration: .2s;
10
+ transition-timing-function: var(--ds-motion-ease-out);
11
+ transform-origin: var(--transform-origin);
12
+ width: calc(min(var(--size-width), var(--available-width)));
13
+ max-width: var(--available-width);
14
+ max-height: var(--available-height);
15
+ flex-direction: column;
16
+ height: max-content;
17
+ list-style: none;
18
+ display: flex;
19
+ }
20
+
21
+ .ds-popup-panel[data-ending-style], .ds-popup-panel[data-starting-style] {
22
+ opacity: 0;
23
+ transform: scale(.9);
24
+ }
25
+
26
+ .ds-popup-panel:focus {
27
+ outline: none;
28
+ }
29
+
30
+ .ds-popup-panel-header {
31
+ border-bottom: 1px solid var(--ds-color-split);
32
+ padding: calc(var(--ds-popup-panel-padding) / 2) var(--ds-popup-panel-padding);
33
+ flex: 0;
34
+ margin-bottom: 0;
35
+ }
36
+
37
+ .ds-popup-panel-header .ds-popup-panel-title-wrapper {
38
+ font-weight: 500;
39
+ font-size: var(--ds-font-size);
40
+ line-height: var(--ds-line-height);
41
+ color: var(--ds-color-text);
42
+ }
43
+
44
+ .ds-popup-panel-footer {
45
+ border-top: 1px solid var(--ds-color-split);
46
+ padding: calc(var(--ds-popup-panel-padding) / 2) var(--ds-popup-panel-padding);
47
+ flex: 0;
48
+ margin-top: 0;
49
+ }
50
+
51
+ .ds-popup-panel-content {
52
+ flex-direction: column;
53
+ flex: 1;
54
+ display: flex;
55
+ overflow: auto;
56
+ }
57
+
58
+ .ds-popup-panel-content .ds-popup-panel-content-inner {
59
+ padding: var(--ds-popup-panel-padding);
60
+ flex: 1;
61
+ }
62
+
63
+ .ds-resize-handle-top {
64
+ color: #fff;
65
+ border-top-left-radius: .5rem;
66
+ border-top-right-radius: .5rem;
67
+ justify-content: center;
68
+ width: 100%;
69
+ height: 4px;
70
+ padding: .5rem;
71
+ display: block;
72
+ position: absolute;
73
+ top: 0;
74
+ }
75
+
76
+ .ds-resize-handle-bottom {
77
+ color: #fff;
78
+ border-bottom-right-radius: .5rem;
79
+ border-bottom-left-radius: .5rem;
80
+ justify-content: center;
81
+ width: 100%;
82
+ height: 4px;
83
+ padding: .5rem;
84
+ display: block;
85
+ position: absolute;
86
+ bottom: 0;
87
+ }
88
+
89
+ .ds-resize-handle-left {
90
+ color: #fff;
91
+ border-top-left-radius: .5rem;
92
+ border-bottom-left-radius: .5rem;
93
+ align-items: center;
94
+ width: 4px;
95
+ height: 100%;
96
+ padding: .5rem;
97
+ display: block;
98
+ position: absolute;
99
+ top: 0;
100
+ left: 0;
101
+ }
102
+
103
+ .ds-resize-handle-right {
104
+ color: #fff;
105
+ border-top-right-radius: .5rem;
106
+ border-bottom-right-radius: .5rem;
107
+ align-items: center;
108
+ width: 4px;
109
+ height: 100%;
110
+ padding: .5rem;
111
+ display: block;
112
+ position: absolute;
113
+ top: 0;
114
+ right: 0;
115
+ }
116
+
@@ -0,0 +1,333 @@
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_antd_es_theme_useToken_e8911485__ from "antd/es/theme/useToken";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
5
+ import "tailwind-merge";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__base_ui_components_react_popover_cdb87929__ from "@base-ui-components/react/popover";
7
+ import * as __WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__ from "antd/es/flex";
8
+ import * as __WEBPACK_EXTERNAL_MODULE_antd__ from "antd";
9
+ import * as __WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__ from "@bioturing/assets";
10
+ import * as __WEBPACK_EXTERNAL_MODULE_react_use_resizable_ad29d4b1__ from "react-use-resizable";
11
+ function cx(...args) {
12
+ const classes = [];
13
+ for (const arg of args)if (arg) {
14
+ if ("string" == typeof arg || "number" == typeof arg) classes.push(String(arg));
15
+ else if (Array.isArray(arg)) classes.push(...cx(...arg));
16
+ else if ("object" == typeof arg) {
17
+ for (const [key, value] of Object.entries(arg))if (value) classes.push(key);
18
+ }
19
+ }
20
+ return classes;
21
+ }
22
+ function clsx(...args) {
23
+ return cx(...args).join(" ");
24
+ }
25
+ "use client";
26
+ const useAntdCssVarClassname = ()=>{
27
+ var _token_;
28
+ const token = (0, __WEBPACK_EXTERNAL_MODULE_antd_es_theme_useToken_e8911485__["default"])();
29
+ return null == (_token_ = token[4]) ? void 0 : _token_.key;
30
+ };
31
+ const useCls = ()=>{
32
+ const { getPrefixCls } = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(__WEBPACK_EXTERNAL_MODULE_antd_es_config_provider_6a57beb3__["default"].ConfigContext);
33
+ return (...args)=>cx(...args).map((cls)=>getPrefixCls(cls)).join(" ");
34
+ };
35
+ function splitCamelCase(text) {
36
+ const result = [];
37
+ let currentWord = "";
38
+ for (const char of text)if (char >= "A" && char <= "Z") {
39
+ if (currentWord) result.push(currentWord);
40
+ currentWord = char.toLowerCase();
41
+ } else currentWord += char;
42
+ if (currentWord) result.push(currentWord);
43
+ return result.length > 0 ? result : [
44
+ text
45
+ ];
46
+ }
47
+ const parseAntdPlacement = (placement = "bottomLeft")=>{
48
+ const [position1, position2] = splitCamelCase(placement);
49
+ let primaryPlacement;
50
+ let align = "center";
51
+ if ("top" === position1 || "bottom" === position1) {
52
+ primaryPlacement = position1;
53
+ if (position2) switch(position2){
54
+ case "left":
55
+ align = "start";
56
+ break;
57
+ case "right":
58
+ align = "end";
59
+ break;
60
+ }
61
+ } else if ("left" === position1 || "right" === position1) {
62
+ primaryPlacement = position1;
63
+ if (position2) switch(position2){
64
+ case "top":
65
+ align = "start";
66
+ break;
67
+ case "bottom":
68
+ align = "end";
69
+ break;
70
+ }
71
+ } else primaryPlacement = "bottom";
72
+ return {
73
+ placement: primaryPlacement,
74
+ align
75
+ };
76
+ };
77
+ "use client";
78
+ const IconButtonImpl = (props, ref)=>{
79
+ const { label, size = "medium", negativeMargin = true, children, className, tooltipProps = {}, as, href, target, rel, download, hrefLang, referrerPolicy, ...rest } = props;
80
+ const cls = useCls();
81
+ const antdCssVarClassname = useAntdCssVarClassname();
82
+ const buttonClasses = [
83
+ cls("icon-button"),
84
+ cls(`icon-button-${size}`),
85
+ cls(negativeMargin ? "icon-button-negative-margin" : ""),
86
+ antdCssVarClassname,
87
+ className
88
+ ].filter(Boolean).join(" ");
89
+ const Component = as || (href ? "a" : "button");
90
+ const anchorProps = "a" === Component ? {
91
+ ...void 0 !== target && {
92
+ target
93
+ },
94
+ ...void 0 !== rel && {
95
+ rel
96
+ },
97
+ ...void 0 !== download && {
98
+ download
99
+ },
100
+ ...void 0 !== hrefLang && {
101
+ hrefLang
102
+ },
103
+ ...void 0 !== referrerPolicy && {
104
+ referrerPolicy
105
+ }
106
+ } : {};
107
+ const elementProps = {
108
+ ref,
109
+ className: buttonClasses,
110
+ ..."button" === Component && {
111
+ type: "button"
112
+ },
113
+ ...href && {
114
+ href
115
+ },
116
+ ...anchorProps,
117
+ ...rest
118
+ };
119
+ const element = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Component, {
120
+ ...elementProps,
121
+ children: children
122
+ });
123
+ return label ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd__.Tooltip, {
124
+ title: label,
125
+ arrow: false,
126
+ ...tooltipProps,
127
+ children: element
128
+ }) : element;
129
+ };
130
+ const IconButton = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(IconButtonImpl);
131
+ var constants_PopupPanelSize = /*#__PURE__*/ function(PopupPanelSize) {
132
+ PopupPanelSize["xsmall"] = "320px";
133
+ PopupPanelSize["small"] = "400px";
134
+ PopupPanelSize["medium"] = "480px";
135
+ PopupPanelSize["large"] = "640px";
136
+ PopupPanelSize["xlarge"] = "840px";
137
+ return PopupPanelSize;
138
+ }({});
139
+ "use client";
140
+ function useControlledState(value, onChange, defaultValue) {
141
+ const [internalState, setInternalState] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(defaultValue);
142
+ const isControlled = void 0 !== value;
143
+ const setState = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((next)=>{
144
+ const nextValue = "function" == typeof next ? next(value) : next;
145
+ if ("function" == typeof onChange) onChange(nextValue);
146
+ if (!isControlled) setInternalState(next);
147
+ }, [
148
+ value,
149
+ onChange,
150
+ isControlled
151
+ ]);
152
+ const state = isControlled ? value : internalState;
153
+ return [
154
+ state,
155
+ setState
156
+ ];
157
+ }
158
+ "use client";
159
+ const PopupPanel = ({ children, placement, openOnHover = false, open: outsideOpen, onOpenChange: outsideOnOpenChange, content, title, trigger = "click", className, anchor, beforeCloseButton, afterCloseButton, afterTitle, size = "medium", footer, defaultOpen, resizable = false })=>{
160
+ const [open, setOpen] = useControlledState(outsideOpen, outsideOnOpenChange, defaultOpen ?? false);
161
+ const cls = useCls();
162
+ const antdCssVarClassname = useAntdCssVarClassname();
163
+ const headlessUIPlacement = parseAntdPlacement(placement);
164
+ const triggerRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useRef)(null);
165
+ const [popupRef, setPopupRef] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(null);
166
+ const [width, setWidth] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)();
167
+ const [height, setHeight] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)();
168
+ const callbackRef = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((node)=>{
169
+ setPopupRef(node);
170
+ }, []);
171
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
172
+ if (!popupRef) return;
173
+ const observer = new ResizeObserver((entries)=>{
174
+ for (const entry of entries){
175
+ setWidth(entry.contentRect.width);
176
+ setHeight(entry.contentRect.height);
177
+ }
178
+ });
179
+ observer.observe(popupRef);
180
+ return ()=>{
181
+ observer.disconnect();
182
+ };
183
+ }, [
184
+ popupRef
185
+ ]);
186
+ const defaultCloseIcon = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.X, {
187
+ size: 16
188
+ }), []);
189
+ const renderTitle = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
190
+ className: cls("popup-panel-header"),
191
+ children: [
192
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_antd_es_flex_86593150__["default"], {
193
+ align: "center",
194
+ gap: 8,
195
+ className: cls("popup-panel-title-wrapper"),
196
+ children: [
197
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_popover_cdb87929__.Popover.Title, {
198
+ render: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
199
+ className: cls("grow", "truncate"),
200
+ children: title
201
+ })
202
+ }),
203
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
204
+ className: "flex items-center gap-2",
205
+ children: [
206
+ beforeCloseButton,
207
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_popover_cdb87929__.Popover.Close, {
208
+ render: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(IconButton, {
209
+ children: defaultCloseIcon
210
+ })
211
+ }),
212
+ afterCloseButton
213
+ ]
214
+ })
215
+ ]
216
+ }),
217
+ afterTitle ? afterTitle : null
218
+ ]
219
+ }), [
220
+ afterCloseButton,
221
+ afterTitle,
222
+ beforeCloseButton,
223
+ cls,
224
+ defaultCloseIcon,
225
+ title
226
+ ]);
227
+ const [resizing, setResizing] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
228
+ const { getRootProps, getHandleProps, rootRef } = (0, __WEBPACK_EXTERNAL_MODULE_react_use_resizable_ad29d4b1__.useResizable)({
229
+ initialWidth: width,
230
+ initialHeight: height,
231
+ onDragStart: ()=>setResizing(true),
232
+ onDragEnd: ()=>setResizing(false)
233
+ });
234
+ (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
235
+ if (resizing) document.body.style.userSelect = "none";
236
+ else document.body.style.userSelect = "";
237
+ }, [
238
+ resizing
239
+ ]);
240
+ const onReverseHandleChangeVertical = (parent, values)=>{
241
+ if (!parent.current) return;
242
+ const { heightDiff } = values;
243
+ parent.current.style.top = `${parseInt(parent.current.style.top || "0") - heightDiff}px`;
244
+ };
245
+ const onReverseHandleChangeHorizontal = (parent, values)=>{
246
+ if (!parent.current) return;
247
+ const { widthDiff } = values;
248
+ parent.current.style.left = `${parseInt(parent.current.style.left || "0") - widthDiff}px`;
249
+ };
250
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_popover_cdb87929__.Popover.Root, {
251
+ openOnHover: "hover" === trigger ? true : openOnHover,
252
+ open: open,
253
+ onOpenChange: (newOpen)=>{
254
+ setOpen(newOpen);
255
+ },
256
+ delay: 100,
257
+ children: [
258
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_popover_cdb87929__.Popover.Trigger, {
259
+ render: children,
260
+ ref: triggerRef
261
+ }),
262
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_popover_cdb87929__.Popover.Portal, {
263
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_popover_cdb87929__.Popover.Positioner, {
264
+ className: cls("popup-panel-root"),
265
+ side: headlessUIPlacement.placement,
266
+ align: headlessUIPlacement.align,
267
+ sideOffset: 4,
268
+ anchor: anchor,
269
+ style: {
270
+ "--size-width": size ? constants_PopupPanelSize[size] : void 0
271
+ },
272
+ ref: callbackRef,
273
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_popover_cdb87929__.Popover.Popup, {
274
+ className: clsx(cls("popup-panel"), antdCssVarClassname, className),
275
+ ...getRootProps(),
276
+ ...resizing ? {
277
+ "data-resizing": true
278
+ } : {},
279
+ children: [
280
+ title && renderTitle(),
281
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
282
+ className: cls("popup-panel-content"),
283
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
284
+ className: cls("popup-panel-content-inner"),
285
+ children: content
286
+ })
287
+ }),
288
+ footer && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
289
+ className: cls("popup-panel-footer"),
290
+ children: "function" == typeof footer ? footer({
291
+ close: ()=>setOpen(false)
292
+ }) : footer
293
+ }),
294
+ resizable && /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
295
+ children: [
296
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
297
+ className: cls("resize-handle-top"),
298
+ ...getHandleProps({
299
+ reverse: true,
300
+ lockHorizontal: true,
301
+ onResize: (values)=>onReverseHandleChangeVertical(rootRef, values)
302
+ })
303
+ }),
304
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
305
+ className: cls("resize-handle-bottom"),
306
+ ...getHandleProps({
307
+ lockHorizontal: true
308
+ })
309
+ }),
310
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
311
+ className: cls("resize-handle-left"),
312
+ ...getHandleProps({
313
+ reverse: true,
314
+ lockVertical: true,
315
+ onResize: (values)=>onReverseHandleChangeHorizontal(rootRef, values)
316
+ })
317
+ }),
318
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
319
+ className: cls("resize-handle-right"),
320
+ ...getHandleProps({
321
+ lockVertical: true
322
+ })
323
+ })
324
+ ]
325
+ })
326
+ ]
327
+ })
328
+ })
329
+ })
330
+ ]
331
+ });
332
+ };
333
+ export { PopupPanel };
@@ -31,7 +31,10 @@ const ScrollArea = ({ children, className, viewportClassName, thumbClassName, sc
31
31
  children: [
32
32
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Viewport, {
33
33
  className: clsx(cls("scroll-area-viewport"), viewportClassName),
34
- children: children
34
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Content, {
35
+ className: clsx(cls("scroll-area-content")),
36
+ children: children
37
+ })
35
38
  }),
36
39
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__base_ui_components_react_5aaa6934__.ScrollArea.Scrollbar, {
37
40
  className: clsx(cls("scroll-area-scrollbar"), scrollbarClassName),
package/dist/Select.js CHANGED
@@ -3,18 +3,107 @@ import * as __WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__ from "@biotur
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_antd_es_select_005d200f__ from "antd/es/select";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE_antd_es_checkbox_80658bc3__ from "antd/es/checkbox";
5
5
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
6
- const MainSelectInner = ({ mode, className, popupClassName, ...rest }, ref)=>{
6
+ import * as __WEBPACK_EXTERNAL_MODULE__floating_ui_react_3ddd630a__ from "@floating-ui/react";
7
+ import "tailwind-merge";
8
+ import * as __WEBPACK_EXTERNAL_MODULE_es_toolkit_82663681__ from "es-toolkit";
9
+ "use client";
10
+ function useControlledState(value, onChange, defaultValue) {
11
+ const [internalState, setInternalState] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(defaultValue);
12
+ const isControlled = void 0 !== value;
13
+ const setState = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((next)=>{
14
+ const nextValue = "function" == typeof next ? next(value) : next;
15
+ if ("function" == typeof onChange) onChange(nextValue);
16
+ if (!isControlled) setInternalState(next);
17
+ }, [
18
+ value,
19
+ onChange,
20
+ isControlled
21
+ ]);
22
+ const state = isControlled ? value : internalState;
23
+ return [
24
+ state,
25
+ setState
26
+ ];
27
+ }
28
+ function cx(...args) {
29
+ const classes = [];
30
+ for (const arg of args)if (arg) {
31
+ if ("string" == typeof arg || "number" == typeof arg) classes.push(String(arg));
32
+ else if (Array.isArray(arg)) classes.push(...cx(...arg));
33
+ else if ("object" == typeof arg) {
34
+ for (const [key, value] of Object.entries(arg))if (value) classes.push(key);
35
+ }
36
+ }
37
+ return classes;
38
+ }
39
+ function clsx(...args) {
40
+ return cx(...args).join(" ");
41
+ }
42
+ var constants_PopupPanelSize = /*#__PURE__*/ function(PopupPanelSize) {
43
+ PopupPanelSize["xsmall"] = "320px";
44
+ PopupPanelSize["small"] = "400px";
45
+ PopupPanelSize["medium"] = "480px";
46
+ PopupPanelSize["large"] = "640px";
47
+ PopupPanelSize["xlarge"] = "840px";
48
+ return PopupPanelSize;
49
+ }({});
50
+ const MainSelectInner = ({ mode, className, open: openProp, defaultOpen, onOpenChange, popupClassName, onDropdownVisibleChange, enhancePositioner, getPopupContainer, popupSize, popupRender, classNames, styles = {}, ...rest }, ref)=>{
51
+ var _classNames_popup;
52
+ const portalNode = (0, __WEBPACK_EXTERNAL_MODULE__floating_ui_react_3ddd630a__.useFloatingPortalNode)({});
7
53
  const isMultiple = "multiple" === mode || "tags" === mode;
54
+ const [open, setOpen] = useControlledState(openProp, onOpenChange || onDropdownVisibleChange, defaultOpen);
55
+ const { floatingStyles, refs } = (0, __WEBPACK_EXTERNAL_MODULE__floating_ui_react_3ddd630a__.useFloating)({
56
+ placement: "bottom-start",
57
+ transform: false,
58
+ open: enhancePositioner && open,
59
+ middleware: [
60
+ (0, __WEBPACK_EXTERNAL_MODULE__floating_ui_react_3ddd630a__.offset)({
61
+ mainAxis: 4
62
+ }),
63
+ (0, __WEBPACK_EXTERNAL_MODULE__floating_ui_react_3ddd630a__.autoPlacement)({
64
+ allowedPlacements: [
65
+ "bottom-start",
66
+ "bottom-end",
67
+ "bottom",
68
+ "top-start",
69
+ "top-end",
70
+ "top"
71
+ ]
72
+ }),
73
+ (0, __WEBPACK_EXTERNAL_MODULE__floating_ui_react_3ddd630a__.shift)({
74
+ padding: 8
75
+ }),
76
+ (0, __WEBPACK_EXTERNAL_MODULE__floating_ui_react_3ddd630a__.size)({
77
+ padding: 8,
78
+ apply ({ availableHeight, availableWidth, elements }) {
79
+ elements.floating.style.setProperty("--available-width", availableWidth + "px");
80
+ elements.floating.style.setProperty("--available-height", availableHeight + "px");
81
+ }
82
+ })
83
+ ],
84
+ whileElementsMounted: __WEBPACK_EXTERNAL_MODULE__floating_ui_react_3ddd630a__.autoUpdate
85
+ });
86
+ const dsPopupClassName = clsx("ds-select-popup", isMultiple && "ds-select-multiple", (null == classNames ? void 0 : null == (_classNames_popup = classNames.popup) ? void 0 : _classNames_popup.root) || popupClassName, enhancePositioner && "ds-select-popup-enhanced");
87
+ const popupWidth = popupSize && "string" == typeof popupSize && popupSize in constants_PopupPanelSize ? constants_PopupPanelSize[popupSize] : "number" == typeof popupSize ? popupSize + "px" : popupSize || "fit-content";
8
88
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_antd_es_select_005d200f__["default"], {
9
- ref: ref,
89
+ ref: (node)=>{
90
+ if (ref) if ("function" == typeof ref) ref(node);
91
+ else ref.current = node;
92
+ if (!node) return;
93
+ refs.setReference(null == node ? void 0 : node.nativeElement);
94
+ },
10
95
  suffixIcon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__bioturing_assets_dd0c210d__.CaretDown, {
11
96
  weight: "bold"
12
97
  }),
13
- popupClassName: [
14
- "ds-select-popup",
15
- isMultiple && "ds-select-multiple",
16
- popupClassName
17
- ].filter(Boolean).join(" "),
98
+ open: open,
99
+ onOpenChange: setOpen,
100
+ popupClassName: dsPopupClassName,
101
+ classNames: {
102
+ popup: {
103
+ root: dsPopupClassName
104
+ },
105
+ ...classNames
106
+ },
18
107
  ...isMultiple ? {
19
108
  menuItemSelectedIcon: ({ isSelected })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
20
109
  className: "ant-select-checkbox-indicator",
@@ -26,10 +115,36 @@ const MainSelectInner = ({ mode, className, popupClassName, ...rest }, ref)=>{
26
115
  })
27
116
  } : {},
28
117
  mode: mode,
29
- className: [
30
- "ds-select",
31
- className
32
- ].filter(Boolean).join(" "),
118
+ className: clsx("ds-select", className),
119
+ styles: enhancePositioner ? (0, __WEBPACK_EXTERNAL_MODULE_es_toolkit_82663681__.toMerged)(styles, {
120
+ popup: {
121
+ root: {
122
+ transition: "none",
123
+ ...floatingStyles,
124
+ "--ds-select-popup-width": popupWidth
125
+ }
126
+ }
127
+ }) : styles,
128
+ getPopupContainer: getPopupContainer || (enhancePositioner ? ()=>portalNode || document.body : void 0),
129
+ popupRender: (menu)=>{
130
+ if (!enhancePositioner) return popupRender ? popupRender(menu) : menu;
131
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
132
+ children: [
133
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__floating_ui_react_3ddd630a__.FloatingOverlay, {
134
+ lockScroll: true,
135
+ onClick: ()=>setOpen(false)
136
+ }),
137
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
138
+ ref: (node)=>{
139
+ if (!node) return;
140
+ const popupEl = node.closest(".ds-select-dropdown");
141
+ refs.setFloating(popupEl);
142
+ },
143
+ children: popupRender ? popupRender(menu) : menu
144
+ })
145
+ ]
146
+ });
147
+ },
33
148
  ...rest
34
149
  });
35
150
  };
package/dist/Table.js CHANGED
@@ -53,7 +53,7 @@ const Empty = ({ image, size = "medium", className, ...rest })=>{
53
53
  });
54
54
  };
55
55
  const component = Empty;
56
- const InternalTable = ({ columns, locale, emptyDescription, loading, ...rest })=>{
56
+ const InternalTable = ({ columns, locale, emptyDescription, loading, scroll = {}, ...rest })=>{
57
57
  const cls = useCls();
58
58
  const modifiedColumns = columns ? columns.map((column)=>({
59
59
  sortIcon: ({ sortOrder })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
@@ -107,7 +107,8 @@ const InternalTable = ({ columns, locale, emptyDescription, loading, ...rest })=
107
107
  loading: spinProps,
108
108
  locale: modifiedLocale,
109
109
  scroll: {
110
- x: "max-content"
110
+ x: "fit-content",
111
+ ...scroll
111
112
  },
112
113
  ...rest
113
114
  });