@oceanbase/ui 1.0.0-alpha.10 → 1.0.0-alpha.11

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 (244) hide show
  1. package/dist/ui.min.js +1 -1
  2. package/es/Action/Group.js +1 -0
  3. package/es/Action/Item.js +1 -0
  4. package/es/Action/index.js +1 -0
  5. package/es/BackgroundTaskManager/RefreshMan.js +1 -0
  6. package/es/BackgroundTaskManager/index.js +1 -0
  7. package/es/BasicLayout/Header.js +1 -0
  8. package/es/BasicLayout/index.js +1 -0
  9. package/es/BatchOperationBar/index.js +1 -0
  10. package/es/Boundary/Components/Code.js +1 -0
  11. package/es/Boundary/Components/Exception.js +1 -0
  12. package/es/Boundary/Components/Function.js +1 -0
  13. package/es/Boundary/index.js +1 -0
  14. package/es/ContentWithIcon/index.js +1 -0
  15. package/es/ContentWithQuestion/index.js +1 -0
  16. package/es/DateRanger/PickerPanel.js +1 -0
  17. package/es/DateRanger/Ranger.js +1 -0
  18. package/es/DateRanger/index.js +1 -0
  19. package/es/Dialog/Anchor.js +1 -0
  20. package/es/Dialog/EventProxy.js +1 -0
  21. package/es/Dialog/index.js +1 -0
  22. package/es/DocDialog/index.js +1 -0
  23. package/es/FooterToolbar/index.js +1 -0
  24. package/es/FullscreenBox/index.js +1 -0
  25. package/es/Highlight/DiffView/DiffCells.js +1 -0
  26. package/es/Highlight/DiffView/index.js +1 -0
  27. package/es/Highlight/HighlightCell.js +1 -0
  28. package/es/Highlight/JsonView.js +1 -0
  29. package/es/Highlight/index.js +1 -0
  30. package/es/Highlight/useKeyDownCopyEvent.js +1 -0
  31. package/es/IconFont/index.js +1 -0
  32. package/es/LightFilter/index.js +1 -0
  33. package/es/LocaleDropdown/index.js +1 -0
  34. package/es/Login/ActivateForm.js +1 -0
  35. package/es/Login/LoginForm.js +1 -0
  36. package/es/Login/RegisterForm.js +1 -0
  37. package/es/Login/index.js +1 -0
  38. package/es/Lottie/index.js +1 -0
  39. package/es/NavMenu/index.js +1 -0
  40. package/es/PageContainer/ItemRender.js +1 -0
  41. package/es/PageContainer/index.js +1 -0
  42. package/es/PageLoading/index.js +1 -0
  43. package/es/Password/Content.js +1 -0
  44. package/es/Password/index.js +1 -0
  45. package/es/ProCard/index.js +1 -0
  46. package/es/ProTable/index.js +2 -3
  47. package/es/Ranger/QuickPicker.js +1 -0
  48. package/es/Ranger/Ranger.js +1 -0
  49. package/es/Ranger/index.js +1 -0
  50. package/es/SideTip/Dragger.js +1 -0
  51. package/es/SideTip/IconLoading.js +1 -0
  52. package/es/SideTip/index.js +1 -0
  53. package/es/TagSelect/Group.js +1 -0
  54. package/es/TagSelect/Item.js +1 -0
  55. package/es/TagSelect/index.js +1 -0
  56. package/es/TreeSearch/index.js +1 -0
  57. package/es/Welcome/index.js +1 -0
  58. package/es/Welcome/step.js +1 -0
  59. package/es/_util/index.js +1 -0
  60. package/es/constant/index.js +1 -0
  61. package/es/index.js +1 -0
  62. package/es/locale/LocaleWrapper.js +1 -0
  63. package/es/locale/index.js +1 -0
  64. package/lib/Action/Group.js +189 -162
  65. package/lib/Action/Item.js +47 -65
  66. package/lib/Action/index.js +13 -35
  67. package/lib/Action/style/index.js +25 -43
  68. package/lib/BackgroundTaskManager/RefreshMan.js +34 -50
  69. package/lib/BackgroundTaskManager/constants.js +10 -32
  70. package/lib/BackgroundTaskManager/index.js +118 -126
  71. package/lib/BasicLayout/Header.js +242 -200
  72. package/lib/BasicLayout/index.js +265 -307
  73. package/lib/BasicLayout/locale/en-US.js +16 -34
  74. package/lib/BasicLayout/locale/ja-JP.js +16 -34
  75. package/lib/BasicLayout/locale/zh-CN.js +16 -34
  76. package/lib/BasicLayout/locale/zh-TW.js +16 -34
  77. package/lib/BasicLayout/style/Header.js +41 -60
  78. package/lib/BasicLayout/style/index.js +176 -197
  79. package/lib/BatchOperationBar/index.js +109 -151
  80. package/lib/BatchOperationBar/locale/en-US.js +10 -28
  81. package/lib/BatchOperationBar/locale/ja-JP.js +10 -28
  82. package/lib/BatchOperationBar/locale/zh-CN.js +10 -28
  83. package/lib/BatchOperationBar/locale/zh-TW.js +10 -28
  84. package/lib/BatchOperationBar/style/index.js +30 -46
  85. package/lib/Boundary/Components/Code.js +57 -75
  86. package/lib/Boundary/Components/Exception.js +103 -123
  87. package/lib/Boundary/Components/Function.js +47 -62
  88. package/lib/Boundary/Components/index.js +36 -25
  89. package/lib/Boundary/IBoundary.js +4 -16
  90. package/lib/Boundary/constant.js +16 -38
  91. package/lib/Boundary/index.js +11 -24
  92. package/lib/Boundary/locale/en-US.js +14 -32
  93. package/lib/Boundary/locale/ja-JP.js +14 -32
  94. package/lib/Boundary/locale/zh-CN.js +14 -32
  95. package/lib/Boundary/locale/zh-TW.js +14 -32
  96. package/lib/Boundary/style/index.js +28 -47
  97. package/lib/Boundary/utils.js +9 -31
  98. package/lib/ContentWithIcon/index.js +101 -114
  99. package/lib/ContentWithIcon/style/index.js +17 -36
  100. package/lib/ContentWithQuestion/index.js +40 -52
  101. package/lib/ContentWithQuestion/style/index.js +16 -35
  102. package/lib/DateRanger/PickerPanel.js +343 -325
  103. package/lib/DateRanger/Ranger.js +430 -515
  104. package/lib/DateRanger/constant/index.js +188 -376
  105. package/lib/DateRanger/index.js +45 -64
  106. package/lib/DateRanger/locale/en-US.js +20 -47
  107. package/lib/DateRanger/locale/ja-JP.js +20 -47
  108. package/lib/DateRanger/locale/zh-CN.js +20 -47
  109. package/lib/DateRanger/locale/zh-TW.js +20 -47
  110. package/lib/DateRanger/style/index.js +41 -62
  111. package/lib/DateRanger/typing.js +4 -16
  112. package/lib/Dialog/Anchor.js +70 -95
  113. package/lib/Dialog/Dock.js +14 -36
  114. package/lib/Dialog/EventProxy.js +21 -39
  115. package/lib/Dialog/index.js +327 -370
  116. package/lib/Dialog/locale/en-US.js +8 -26
  117. package/lib/Dialog/locale/ja-JP.js +8 -26
  118. package/lib/Dialog/locale/zh-CN.js +8 -26
  119. package/lib/Dialog/locale/zh-TW.js +8 -26
  120. package/lib/Dialog/style/index.js +58 -76
  121. package/lib/DocDialog/index.js +51 -77
  122. package/lib/DocDialog/locale/en-US.js +5 -23
  123. package/lib/DocDialog/locale/ja-JP.js +5 -23
  124. package/lib/DocDialog/locale/zh-CN.js +5 -23
  125. package/lib/DocDialog/locale/zh-TW.js +5 -23
  126. package/lib/FooterToolbar/index.js +27 -45
  127. package/lib/FooterToolbar/style/index.js +23 -38
  128. package/lib/FullscreenBox/index.js +151 -138
  129. package/lib/FullscreenBox/locale/en-US.js +5 -23
  130. package/lib/FullscreenBox/locale/ja-JP.js +5 -23
  131. package/lib/FullscreenBox/locale/zh-CN.js +5 -23
  132. package/lib/FullscreenBox/locale/zh-TW.js +5 -23
  133. package/lib/FullscreenBox/style/index.js +23 -41
  134. package/lib/Highlight/DiffView/DiffCells.js +34 -54
  135. package/lib/Highlight/DiffView/index.js +165 -163
  136. package/lib/Highlight/HighlightCell.js +28 -47
  137. package/lib/Highlight/JsonView.js +45 -74
  138. package/lib/Highlight/index.js +200 -214
  139. package/lib/Highlight/languages/bash.js +7 -34
  140. package/lib/Highlight/languages/cpp.js +7 -34
  141. package/lib/Highlight/languages/css.js +7 -34
  142. package/lib/Highlight/languages/dockerfile.js +7 -34
  143. package/lib/Highlight/languages/go.js +7 -34
  144. package/lib/Highlight/languages/groovy.js +7 -34
  145. package/lib/Highlight/languages/http.js +7 -34
  146. package/lib/Highlight/languages/java.js +7 -34
  147. package/lib/Highlight/languages/javascript.js +7 -34
  148. package/lib/Highlight/languages/json.js +7 -34
  149. package/lib/Highlight/languages/markdown.js +7 -34
  150. package/lib/Highlight/languages/nginx.js +7 -34
  151. package/lib/Highlight/languages/python.js +7 -34
  152. package/lib/Highlight/languages/ruby.js +7 -34
  153. package/lib/Highlight/languages/solidity.js +7 -34
  154. package/lib/Highlight/languages/sql.js +7 -34
  155. package/lib/Highlight/languages/typescript.js +7 -34
  156. package/lib/Highlight/languages/xml.js +7 -34
  157. package/lib/Highlight/languages/yaml.js +7 -34
  158. package/lib/Highlight/locale/en-US.js +7 -25
  159. package/lib/Highlight/locale/ja-JP.js +7 -25
  160. package/lib/Highlight/locale/zh-CN.js +7 -25
  161. package/lib/Highlight/locale/zh-TW.js +7 -25
  162. package/lib/Highlight/style/index.js +128 -144
  163. package/lib/Highlight/useKeyDownCopyEvent.js +40 -64
  164. package/lib/IconFont/index.js +23 -28
  165. package/lib/LightFilter/index.js +29 -43
  166. package/lib/LightFilter/style/index.js +15 -33
  167. package/lib/LocaleDropdown/index.js +43 -53
  168. package/lib/Login/ActivateForm.js +93 -119
  169. package/lib/Login/LoginForm.js +149 -184
  170. package/lib/Login/RegisterForm.js +122 -163
  171. package/lib/Login/index.js +157 -163
  172. package/lib/Login/locale/en-US.js +31 -49
  173. package/lib/Login/locale/ja-JP.js +31 -49
  174. package/lib/Login/locale/zh-CN.js +31 -49
  175. package/lib/Login/locale/zh-TW.js +30 -48
  176. package/lib/Login/style/index.js +77 -98
  177. package/lib/Lottie/index.js +7 -24
  178. package/lib/NavMenu/index.js +105 -108
  179. package/lib/NavMenu/style/index.js +31 -49
  180. package/lib/PageContainer/ItemRender.js +28 -46
  181. package/lib/PageContainer/index.js +125 -140
  182. package/lib/PageContainer/locale/en-US.js +8 -26
  183. package/lib/PageContainer/locale/ja-JP.js +8 -26
  184. package/lib/PageContainer/locale/zh-CN.js +8 -26
  185. package/lib/PageContainer/locale/zh-TW.js +8 -26
  186. package/lib/PageContainer/style/index.js +19 -40
  187. package/lib/PageLoading/index.js +33 -54
  188. package/lib/Password/Content.js +92 -80
  189. package/lib/Password/index.js +125 -160
  190. package/lib/Password/locale/en-US.js +14 -32
  191. package/lib/Password/locale/ja-JP.js +16 -34
  192. package/lib/Password/locale/zh-CN.js +15 -33
  193. package/lib/Password/locale/zh-TW.js +14 -32
  194. package/lib/ProCard/index.js +77 -98
  195. package/lib/ProCard/style/index.js +21 -39
  196. package/lib/ProTable/index.js +102 -123
  197. package/lib/ProTable/style/index.js +21 -38
  198. package/lib/Ranger/QuickPicker.js +92 -94
  199. package/lib/Ranger/Ranger.js +98 -133
  200. package/lib/Ranger/constant/index.js +115 -266
  201. package/lib/Ranger/index.js +61 -69
  202. package/lib/Ranger/locale/en-US.js +31 -49
  203. package/lib/Ranger/locale/ja-JP.js +31 -49
  204. package/lib/Ranger/locale/zh-CN.js +7 -25
  205. package/lib/Ranger/locale/zh-TW.js +7 -25
  206. package/lib/Ranger/style/index.js +21 -39
  207. package/lib/Ranger/typing.js +4 -16
  208. package/lib/SideTip/Dragger.js +259 -219
  209. package/lib/SideTip/IconLoading.js +43 -74
  210. package/lib/SideTip/index.js +124 -126
  211. package/lib/SideTip/locale/en-US.js +5 -23
  212. package/lib/SideTip/locale/ja-JP.js +5 -23
  213. package/lib/SideTip/locale/zh-CN.js +5 -23
  214. package/lib/SideTip/locale/zh-TW.js +5 -23
  215. package/lib/SideTip/style/index.js +76 -92
  216. package/lib/SideTip/utils.js +40 -61
  217. package/lib/TagSelect/Group.js +64 -83
  218. package/lib/TagSelect/Item.js +68 -91
  219. package/lib/TagSelect/TagSelectContext.js +7 -25
  220. package/lib/TagSelect/index.js +12 -35
  221. package/lib/TagSelect/style/index.js +41 -64
  222. package/lib/TreeSearch/index.js +133 -127
  223. package/lib/TreeSearch/util.js +52 -70
  224. package/lib/Welcome/index.js +142 -117
  225. package/lib/Welcome/locale/en-US.js +8 -26
  226. package/lib/Welcome/locale/ja-JP.js +8 -26
  227. package/lib/Welcome/locale/zh-CN.js +8 -26
  228. package/lib/Welcome/locale/zh-TW.js +8 -26
  229. package/lib/Welcome/step/style/index.js +24 -40
  230. package/lib/Welcome/step.js +63 -59
  231. package/lib/Welcome/style/index.js +58 -70
  232. package/lib/_util/genComponentStyleHook.js +15 -43
  233. package/lib/_util/index.js +38 -43
  234. package/lib/_util/useNavigate.js +11 -26
  235. package/lib/constant/index.js +23 -49
  236. package/lib/index.js +283 -129
  237. package/lib/interface.js +4 -16
  238. package/lib/locale/LocaleWrapper.js +50 -60
  239. package/lib/locale/en-US.js +37 -64
  240. package/lib/locale/index.js +5 -16
  241. package/lib/locale/ja-JP.js +37 -64
  242. package/lib/locale/zh-CN.js +36 -63
  243. package/lib/locale/zh-TW.js +32 -59
  244. package/package.json +3 -3
@@ -1,196 +1,35 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
28
2
 
29
- // src/SideTip/Dragger.tsx
30
- var Dragger_exports = {};
31
- __export(Dragger_exports, {
32
- default: () => Dragger_default
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
33
5
  });
34
- module.exports = __toCommonJS(Dragger_exports);
35
- var import_classnames = __toESM(require("classnames"));
36
- var import_react = __toESM(require("react"));
37
- var import_utils = require("./utils");
38
- var import_jsx_runtime = require("react/jsx-runtime");
39
- var INIT_RIGHT = 32;
40
- var INIT_BOTTOM = 32;
41
- var Draggable = class extends import_react.default.Component {
6
+ exports.default = void 0;
7
+ var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _utils = require("./utils");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ "use client";
13
+ /* eslint-disable react/sort-comp */
14
+ /* eslint-disable no-restricted-syntax */
15
+ const INIT_RIGHT = 32;
16
+ const INIT_BOTTOM = 32;
17
+ class Draggable extends _react.default.Component {
18
+ nodeRef;
19
+ intervalStart;
20
+ deltaX;
21
+ deltaY;
22
+ defaultScrollBarSize;
42
23
  constructor(props) {
43
24
  super(props);
44
- this.overlapDetection = () => {
45
- const node = this.nodeRef.current;
46
- const { left, top, right, bottom, width, height } = node.getBoundingClientRect();
47
- const aroundElems = [
48
- document.elementFromPoint(left, top),
49
- document.elementFromPoint(right, bottom),
50
- document.elementFromPoint(left + width / 2, top + height / 2)
51
- ];
52
- for (const elem of aroundElems) {
53
- if (elem !== node && (0, import_utils.isFixedElem)(elem)) {
54
- if (this.props.onOverlap) {
55
- this.props.onOverlap();
56
- }
57
- break;
58
- }
59
- }
60
- };
61
- this.getContainerDom = () => {
62
- const { getPopupContainer } = this.props;
63
- const dom = getPopupContainer ? getPopupContainer() : void 0;
64
- return dom;
65
- };
66
- this.handleResize = () => {
67
- const dom = this.getContainerDom();
68
- this.defaultScrollBarSize = (0, import_utils.getScrollBarSize)();
69
- const node = this.nodeRef.current;
70
- const clientRect = node.getBoundingClientRect();
71
- const { width, height } = clientRect;
72
- const { right: styleRight, bottom: styleBottom } = window.getComputedStyle(node);
73
- let right = Number(styleRight.replace("px", ""));
74
- let bottom = Number(styleBottom.replace("px", ""));
75
- const clientWidth = (0, import_utils.getClientWidth)(dom);
76
- const clientHeight = (0, import_utils.getClientHeight)(dom);
77
- const deltaX = clientWidth - right - width;
78
- const deltaY = clientHeight - bottom - height;
79
- if (deltaX < 0) {
80
- right += deltaX;
81
- }
82
- if (deltaY < 0) {
83
- bottom += deltaY;
84
- }
85
- this.setState({
86
- bottom,
87
- right
88
- });
89
- };
90
- this.handleMouseDown = (e) => {
91
- if (e.button !== 0) {
92
- return;
93
- }
94
- const dom = this.getContainerDom();
95
- this.intervalStart = (/* @__PURE__ */ new Date()).getTime();
96
- const scroll = (0, import_utils.getScrollOffsets)(dom);
97
- const node = this.nodeRef.current;
98
- const startX = e.clientX + scroll.x;
99
- const startY = e.clientY + scroll.y;
100
- const origX = node.offsetLeft;
101
- const origY = node.offsetTop;
102
- this.deltaX = startX - origX;
103
- this.deltaY = startY - origY;
104
- if (this.props.onDragStart) {
105
- this.props.onDragStart();
106
- }
107
- this.setState({
108
- dragged: true
109
- });
110
- if (e.stopPropagation)
111
- e.stopPropagation();
112
- else
113
- e.cancelBubble = true;
114
- if (e.preventDefault)
115
- e.preventDefault();
116
- else
117
- e.returnValue = false;
118
- };
119
- this.handleMouseMove = (e) => {
120
- const { dragged } = this.state;
121
- const { hide } = this.props;
122
- if (e.button !== 0 || !dragged || !!hide) {
123
- return;
124
- }
125
- const { clientX, clientY } = e;
126
- const { deltaX, deltaY } = this;
127
- const node = this.nodeRef.current;
128
- const dom = this.getContainerDom();
129
- const scroll = (0, import_utils.getScrollOffsets)(dom);
130
- const clientWidth = (0, import_utils.getClientWidth)(dom);
131
- const clientHeight = (0, import_utils.getClientHeight)(dom);
132
- const { width, height } = node.getBoundingClientRect();
133
- const left = clientX + scroll.x - deltaX;
134
- const top = clientY + scroll.y - deltaY;
135
- let right = clientWidth - left - width;
136
- let bottom = clientHeight - top - height;
137
- if (right > clientWidth - width) {
138
- right = clientWidth - width;
139
- }
140
- if (bottom > clientHeight - height) {
141
- bottom = clientHeight - height;
142
- }
143
- if (right < 0) {
144
- right = 0;
145
- }
146
- if (bottom < 0) {
147
- bottom = 0;
148
- }
149
- this.setState(
150
- {
151
- dragged: true,
152
- right: right - this.defaultScrollBarSize,
153
- bottom
154
- },
155
- () => {
156
- if (this.props.onDrag) {
157
- this.props.onDrag({
158
- right,
159
- bottom
160
- });
161
- }
162
- }
163
- );
164
- };
165
- this.handleMouseUp = (e) => {
166
- const { dragged } = this.state;
167
- if (dragged) {
168
- const interval = (/* @__PURE__ */ new Date()).getTime() - this.intervalStart;
169
- if (interval < 200 && e.target.id !== "ui-mini-hide") {
170
- this.props.onClick(e);
171
- this.setState({
172
- dragged: false
173
- });
174
- return;
175
- }
176
- this.setState(
177
- {
178
- dragged: false
179
- },
180
- () => {
181
- if (this.props.onDragEnd) {
182
- this.props.onDragEnd();
183
- }
184
- }
185
- );
186
- }
187
- };
188
- const { position = {} } = props;
25
+ const {
26
+ position = {}
27
+ } = props;
189
28
  this.intervalStart = 0;
190
- this.nodeRef = import_react.default.createRef();
29
+ this.nodeRef = /*#__PURE__*/_react.default.createRef();
191
30
  this.deltaX = 0;
192
31
  this.deltaY = 0;
193
- this.defaultScrollBarSize = (0, import_utils.getScrollBarSize)();
32
+ this.defaultScrollBarSize = (0, _utils.getScrollBarSize)();
194
33
  this.state = {
195
34
  dragged: false,
196
35
  width: 0,
@@ -198,35 +37,227 @@ var Draggable = class extends import_react.default.Component {
198
37
  right: position.right ? position.right : INIT_RIGHT
199
38
  };
200
39
  }
40
+ overlapDetection = () => {
41
+ const node = this.nodeRef.current;
42
+ const {
43
+ left,
44
+ top,
45
+ right,
46
+ bottom,
47
+ width,
48
+ height
49
+ } = node.getBoundingClientRect();
50
+ const aroundElems = [document.elementFromPoint(left, top), document.elementFromPoint(right, bottom), document.elementFromPoint(left + width / 2, top + height / 2)];
51
+ for (const elem of aroundElems) {
52
+ if (elem !== node && (0, _utils.isFixedElem)(elem)) {
53
+ if (this.props.onOverlap) {
54
+ // eslint-disable-next-line react/destructuring-assignment
55
+ this.props.onOverlap();
56
+ }
57
+ break;
58
+ }
59
+ }
60
+ };
201
61
  componentDidMount() {
202
- const { draggable = true } = this.props;
203
- window.addEventListener("resize", this.handleResize, false);
204
- if (draggable)
205
- window.addEventListener("mousemove", this.handleMouseMove, false);
206
- window.addEventListener("mouseup", this.handleMouseUp, false);
207
- window.addEventListener("load", this.overlapDetection, false);
208
- const { width } = this.nodeRef.current.getBoundingClientRect();
62
+ const {
63
+ draggable = true
64
+ } = this.props;
65
+ window.addEventListener('resize', this.handleResize, false);
66
+ if (draggable) window.addEventListener('mousemove', this.handleMouseMove, false);
67
+ window.addEventListener('mouseup', this.handleMouseUp, false);
68
+ window.addEventListener('load', this.overlapDetection, false);
69
+ const {
70
+ width
71
+ } = this.nodeRef.current.getBoundingClientRect();
209
72
  this.setState({
210
73
  width
211
74
  });
212
75
  }
213
76
  componentWillUnmount() {
214
- const { draggable = true } = this.props;
215
- window.removeEventListener("load", this.overlapDetection, false);
216
- if (draggable)
217
- window.removeEventListener("mousemove", this.handleMouseMove, false);
218
- window.removeEventListener("mouseup", this.handleMouseUp, false);
219
- window.removeEventListener("resize", this.handleResize, false);
77
+ const {
78
+ draggable = true
79
+ } = this.props;
80
+ window.removeEventListener('load', this.overlapDetection, false);
81
+ if (draggable) window.removeEventListener('mousemove', this.handleMouseMove, false);
82
+ window.removeEventListener('mouseup', this.handleMouseUp, false);
83
+ window.removeEventListener('resize', this.handleResize, false);
220
84
  }
85
+ getContainerDom = () => {
86
+ const {
87
+ getPopupContainer
88
+ } = this.props;
89
+ const dom = getPopupContainer ? getPopupContainer() : undefined;
90
+ return dom;
91
+ };
221
92
  componentDidUpdate(preProps) {
222
- const { hide: preHide } = preProps;
223
- const { hide } = this.props;
93
+ const {
94
+ hide: preHide
95
+ } = preProps;
96
+ const {
97
+ hide
98
+ } = this.props;
99
+
100
+ // 隐藏到显示,贴右侧边
224
101
  if (preHide && !hide) {
102
+ // eslint-disable-next-line react/no-did-update-set-state
225
103
  this.setState({
226
104
  right: INIT_RIGHT
227
105
  });
228
106
  }
229
107
  }
108
+ handleResize = () => {
109
+ const dom = this.getContainerDom();
110
+ // update defaultScrollBarSize
111
+ this.defaultScrollBarSize = (0, _utils.getScrollBarSize)();
112
+ const node = this.nodeRef.current;
113
+ const clientRect = node.getBoundingClientRect();
114
+ const {
115
+ width,
116
+ height
117
+ } = clientRect;
118
+ const {
119
+ right: styleRight,
120
+ bottom: styleBottom
121
+ } = window.getComputedStyle(node);
122
+ let right = Number(styleRight.replace('px', ''));
123
+ let bottom = Number(styleBottom.replace('px', ''));
124
+ const clientWidth = (0, _utils.getClientWidth)(dom);
125
+ const clientHeight = (0, _utils.getClientHeight)(dom);
126
+ const deltaX = clientWidth - right - width;
127
+ const deltaY = clientHeight - bottom - height;
128
+
129
+ // drag boundary detection
130
+ if (deltaX < 0) {
131
+ right += deltaX;
132
+ }
133
+ if (deltaY < 0) {
134
+ bottom += deltaY;
135
+ }
136
+ this.setState({
137
+ bottom,
138
+ right
139
+ });
140
+ };
141
+ handleMouseDown = e => {
142
+ // 非鼠标左键点按不处理
143
+ if (e.button !== 0) {
144
+ return;
145
+ }
146
+ const dom = this.getContainerDom();
147
+ this.intervalStart = new Date().getTime();
148
+ const scroll = (0, _utils.getScrollOffsets)(dom);
149
+ const node = this.nodeRef.current;
150
+ const startX = e.clientX + scroll.x;
151
+ const startY = e.clientY + scroll.y;
152
+ const origX = node.offsetLeft;
153
+ const origY = node.offsetTop;
154
+ this.deltaX = startX - origX;
155
+ this.deltaY = startY - origY;
156
+ if (this.props.onDragStart) {
157
+ this.props.onDragStart();
158
+ }
159
+ this.setState({
160
+ dragged: true
161
+ });
162
+
163
+ // We've handled this event. Don't let anybody else see it.
164
+ if (e.stopPropagation) e.stopPropagation();
165
+ // Standard model
166
+ else e.cancelBubble = true; // IE
167
+
168
+ // Now prevent any default action.
169
+ if (e.preventDefault) e.preventDefault();
170
+ // Standard model
171
+ else e.returnValue = false; // IE
172
+ };
173
+ handleMouseMove = e => {
174
+ const {
175
+ dragged
176
+ } = this.state;
177
+ const {
178
+ hide
179
+ } = this.props;
180
+
181
+ // 非鼠标左键点击 || 不在组件点击或拖拽过程中 || 组件隐藏中 都不处理鼠标移动事件
182
+ if (e.button !== 0 || !dragged || !!hide) {
183
+ return;
184
+ }
185
+ const {
186
+ clientX,
187
+ clientY
188
+ } = e;
189
+ const {
190
+ deltaX,
191
+ deltaY
192
+ } = this;
193
+ const node = this.nodeRef.current;
194
+ const dom = this.getContainerDom();
195
+ const scroll = (0, _utils.getScrollOffsets)(dom);
196
+ const clientWidth = (0, _utils.getClientWidth)(dom);
197
+ const clientHeight = (0, _utils.getClientHeight)(dom);
198
+ const {
199
+ width,
200
+ height
201
+ } = node.getBoundingClientRect();
202
+ const left = clientX + scroll.x - deltaX;
203
+ const top = clientY + scroll.y - deltaY;
204
+ let right = clientWidth - left - width;
205
+ let bottom = clientHeight - top - height;
206
+
207
+ // boundary detection
208
+ // left boundary
209
+ if (right > clientWidth - width) {
210
+ right = clientWidth - width;
211
+ }
212
+ // top boundary
213
+ if (bottom > clientHeight - height) {
214
+ bottom = clientHeight - height;
215
+ }
216
+ // right boundary
217
+ if (right < 0) {
218
+ right = 0;
219
+ }
220
+ // bottom boundary
221
+ if (bottom < 0) {
222
+ bottom = 0;
223
+ }
224
+ this.setState({
225
+ dragged: true,
226
+ right: right - this.defaultScrollBarSize,
227
+ bottom
228
+ }, () => {
229
+ if (this.props.onDrag) {
230
+ this.props.onDrag({
231
+ right,
232
+ bottom
233
+ });
234
+ }
235
+ });
236
+ };
237
+ handleMouseUp = e => {
238
+ const {
239
+ dragged
240
+ } = this.state;
241
+
242
+ // 非组件左键点按之后的事件不处理
243
+ if (dragged) {
244
+ const interval = new Date().getTime() - this.intervalStart;
245
+ if (interval < 200 && e.target.id !== 'ui-mini-hide') {
246
+ this.props.onClick(e);
247
+ this.setState({
248
+ dragged: false
249
+ });
250
+ return;
251
+ }
252
+ this.setState({
253
+ dragged: false
254
+ }, () => {
255
+ if (this.props.onDragEnd) {
256
+ this.props.onDragEnd();
257
+ }
258
+ });
259
+ }
260
+ };
230
261
  render() {
231
262
  const {
232
263
  children,
@@ -238,27 +269,36 @@ var Draggable = class extends import_react.default.Component {
238
269
  onMouseEnter,
239
270
  onMouseLeave
240
271
  } = this.props;
241
- const { dragged, width, bottom, right } = this.state;
242
- const containerStyle = { bottom, right, ...style };
272
+ const {
273
+ dragged,
274
+ width,
275
+ bottom,
276
+ right
277
+ } = this.state;
278
+ const containerStyle = {
279
+ bottom,
280
+ right,
281
+ ...style
282
+ };
243
283
  const containerPrefix = `${prefix}-container`;
244
- const containerClassName = (0, import_classnames.default)(containerPrefix, className, {
284
+ const containerClassName = (0, _classnames.default)(containerPrefix, className, {
245
285
  [`${containerPrefix}-dragged`]: dragged,
246
286
  [`${containerPrefix}-hide`]: hide,
247
287
  [`${containerPrefix}-hide-not-dragged`]: hide && !dragged
248
288
  });
249
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
250
- "div",
251
- {
252
- id,
253
- ref: this.nodeRef,
254
- onMouseDown: this.handleMouseDown,
255
- onMouseEnter,
256
- onMouseLeave,
257
- style: hide ? { ...containerStyle, right: -width / 1.5 } : containerStyle,
258
- className: containerClassName,
259
- children
260
- }
261
- );
289
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
290
+ id: id,
291
+ ref: this.nodeRef,
292
+ onMouseDown: this.handleMouseDown,
293
+ onMouseEnter: onMouseEnter,
294
+ onMouseLeave: onMouseLeave,
295
+ style: hide ? {
296
+ ...containerStyle,
297
+ right: -width / 1.5
298
+ } : containerStyle,
299
+ className: containerClassName,
300
+ children: children
301
+ });
262
302
  }
263
- };
264
- var Dragger_default = Draggable;
303
+ }
304
+ var _default = exports.default = Draggable;
@@ -1,76 +1,45 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
28
2
 
29
- // src/SideTip/IconLoading.tsx
30
- var IconLoading_exports = {};
31
- __export(IconLoading_exports, {
32
- default: () => IconLoading_default
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
33
5
  });
34
- module.exports = __toCommonJS(IconLoading_exports);
35
- var import_icons = __toESM(require("@oceanbase/icons"));
36
- var import_jsx_runtime = require("react/jsx-runtime");
37
- var LoadingSvg = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
38
- "svg",
39
- {
40
- version: "1.1",
41
- id: "dc-spinner",
42
- xmlns: "http://www.w3.org/2000/svg",
43
- x: "0px",
44
- y: "0px",
45
- width: "1em",
46
- height: "1em",
47
- stroke: "currentColor",
48
- viewBox: "3 3 34 34",
49
- preserveAspectRatio: "xMinYMin meet",
50
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
51
- "path",
52
- {
53
- strokeWidth: "1",
54
- strokeMiterlimit: "10",
55
- d: "M5.203,20\n c0-8.159,6.638-14.797,14.797-14.797V5C11.729,5,5,11.729,5,20s6.729,15,15,15v-0.203C11.841,34.797,5.203,28.159,5.203,20z",
56
- transform: "rotate(278.217 20 20)",
57
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
58
- "animateTransform",
59
- {
60
- attributeName: "transform",
61
- type: "rotate",
62
- from: "0 20 20",
63
- to: "360 20 20",
64
- calcMode: "spline",
65
- keySplines: "0.2, 0.2, 0.2, 0.2",
66
- keyTimes: "0;1",
67
- dur: "1.2s",
68
- repeatCount: "indefinite"
69
- }
70
- )
71
- }
72
- )
73
- }
74
- );
75
- var iconLoading = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons.default, { component: LoadingSvg, ...props });
76
- var IconLoading_default = iconLoading;
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _icons = _interopRequireDefault(require("@oceanbase/icons"));
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ "use client";
12
+ const LoadingSvg = () => /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
13
+ version: "1.1",
14
+ id: "dc-spinner",
15
+ xmlns: "http://www.w3.org/2000/svg",
16
+ x: "0px",
17
+ y: "0px",
18
+ width: "1em",
19
+ height: "1em",
20
+ stroke: "currentColor",
21
+ viewBox: "3 3 34 34",
22
+ preserveAspectRatio: "xMinYMin meet",
23
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
24
+ strokeWidth: "1",
25
+ strokeMiterlimit: "10",
26
+ d: "M5.203,20 c0-8.159,6.638-14.797,14.797-14.797V5C11.729,5,5,11.729,5,20s6.729,15,15,15v-0.203C11.841,34.797,5.203,28.159,5.203,20z",
27
+ transform: "rotate(278.217 20 20)",
28
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("animateTransform", {
29
+ attributeName: "transform",
30
+ type: "rotate",
31
+ from: "0 20 20",
32
+ to: "360 20 20",
33
+ calcMode: "spline",
34
+ keySplines: "0.2, 0.2, 0.2, 0.2",
35
+ keyTimes: "0;1",
36
+ dur: "1.2s",
37
+ repeatCount: "indefinite"
38
+ })
39
+ })
40
+ });
41
+ const iconLoading = props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.default, {
42
+ component: LoadingSvg,
43
+ ...props
44
+ });
45
+ var _default = exports.default = iconLoading;