yuang-framework-ui-pc 1.1.15 → 1.1.17

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 (52) hide show
  1. package/es/core-components.js +3 -4
  2. package/es/ele-dialog/index.d.ts +2 -2
  3. package/es/ele-dialog/index.js +15 -15
  4. package/es/ele-dialog/props.d.ts +3 -3
  5. package/es/ele-dialog/props.js +4 -4
  6. package/es/ele-dialog/util.d.ts +8 -8
  7. package/es/ele-dialog/util.js +93 -101
  8. package/es/style/plus.scss +2 -0
  9. package/es/style/themes/default.scss +26 -0
  10. package/es/yu-slider-captcha-dialog/SliderCaptcha.d.ts +67 -0
  11. package/es/yu-slider-captcha-dialog/SliderCaptcha.js +528 -0
  12. package/es/yu-slider-captcha-dialog/index.d.ts +14 -0
  13. package/es/yu-slider-captcha-dialog/index.js +75 -0
  14. package/es/yu-slider-captcha-dialog/style.css +175 -0
  15. package/lib/core-components.cjs +53 -54
  16. package/lib/ele-dialog/index.cjs +13 -13
  17. package/lib/ele-dialog/index.d.ts +2 -2
  18. package/lib/ele-dialog/props.cjs +4 -4
  19. package/lib/ele-dialog/props.d.ts +3 -3
  20. package/lib/ele-dialog/util.cjs +93 -101
  21. package/lib/ele-dialog/util.d.ts +8 -8
  22. package/lib/style/plus.scss +2 -0
  23. package/lib/style/themes/default.scss +26 -0
  24. package/lib/yu-slider-captcha-dialog/SliderCaptcha.cjs +527 -0
  25. package/lib/yu-slider-captcha-dialog/SliderCaptcha.d.ts +67 -0
  26. package/lib/yu-slider-captcha-dialog/index.cjs +74 -0
  27. package/lib/yu-slider-captcha-dialog/index.d.ts +14 -0
  28. package/lib/yu-slider-captcha-dialog/style.css +175 -0
  29. package/package.json +2 -2
  30. package/typings/global.d.ts +0 -1
  31. package/es/ele-modal/index.d.ts +0 -245
  32. package/es/ele-modal/index.js +0 -342
  33. package/es/ele-modal/props.d.ts +0 -135
  34. package/es/ele-modal/props.js +0 -71
  35. package/es/ele-modal/style/css-var.scss +0 -8
  36. package/es/ele-modal/style/index.d.ts +0 -1
  37. package/es/ele-modal/style/index.js +0 -3
  38. package/es/ele-modal/style/index.scss +0 -259
  39. package/es/ele-modal/types.d.ts +0 -43
  40. package/es/ele-modal/util.d.ts +0 -52
  41. package/es/ele-modal/util.js +0 -301
  42. package/lib/ele-modal/index.cjs +0 -341
  43. package/lib/ele-modal/index.d.ts +0 -245
  44. package/lib/ele-modal/props.cjs +0 -71
  45. package/lib/ele-modal/props.d.ts +0 -135
  46. package/lib/ele-modal/style/css-var.scss +0 -8
  47. package/lib/ele-modal/style/index.cjs +0 -4
  48. package/lib/ele-modal/style/index.d.ts +0 -1
  49. package/lib/ele-modal/style/index.scss +0 -259
  50. package/lib/ele-modal/types.d.ts +0 -43
  51. package/lib/ele-modal/util.cjs +0 -301
  52. package/lib/ele-modal/util.d.ts +0 -52
@@ -1,259 +0,0 @@
1
- @use '../../style/themes/default.scss' as *;
2
- @use '../../style/util.scss' as *;
3
- @use './css-var.scss' as *;
4
-
5
- @include set-dialog-var($ele);
6
-
7
- .ele-dialog {
8
- &.el-overlay {
9
- height: auto;
10
- }
11
-
12
- & > .el-overlay-dialog {
13
- position: absolute;
14
- display: flex;
15
- flex-direction: column;
16
- justify-content: flex-start;
17
- align-items: center;
18
-
19
- & > .el-dialog {
20
- padding: 0;
21
- flex-shrink: 0;
22
- position: relative;
23
- background: eleVar('modal', 'bg');
24
- border-radius: eleVar('modal', 'radius');
25
- margin-bottom: eleVar('modal', 'mobile-space');
26
-
27
- // 让 model 外层不出现滚动条
28
- position: absolute!important;
29
- left: 50%;
30
- top: 50%;
31
- margin-top: 0!important;
32
- transform: translate(-50%,-50%);
33
- max-height: calc(100% - 30px);
34
- max-width: calc(100% - 30px);
35
- display: flex;
36
- flex-direction: column;
37
-
38
- & > .el-dialog__header,
39
- & > .el-dialog__footer {
40
- flex-shrink: 0;
41
- border: none;
42
- padding: 0;
43
- margin: 0;
44
- }
45
-
46
- & > .el-dialog__body {
47
- padding: 0;
48
- color: inherit;
49
- font-size: inherit;
50
-
51
- overflow: scroll;
52
- }
53
- }
54
- }
55
- }
56
-
57
- /* header */
58
- .ele-dialog-header {
59
- display: flex;
60
- align-items: center;
61
- box-sizing: border-box;
62
- padding: eleVar('modal', 'header-padding');
63
- border-bottom: eleVar('modal', 'header-border');
64
- }
65
-
66
- .ele-dialog-title {
67
- flex: 1;
68
- color: eleVar('modal', 'header-color');
69
- font-size: eleVar('modal', 'header-font-size');
70
- line-height: eleVar('modal', 'header-line-height');
71
- font-weight: eleVar('modal', 'header-font-weight');
72
- box-sizing: border-box;
73
- }
74
-
75
- /* 图标按钮 */
76
- .ele-dialog-tool {
77
- flex-shrink: 0;
78
- display: flex;
79
- align-items: center;
80
- justify-content: center;
81
- width: eleVar('modal', 'icon-size');
82
- height: eleVar('modal', 'icon-size');
83
- line-height: eleVar('modal', 'icon-size');
84
- color: eleVar('modal', 'icon-color');
85
- font-size: eleVar('modal', 'icon-font-size');
86
- border-radius: eleVar('modal', 'icon-radius');
87
- transition: (color $transition-base, background-color $transition-base);
88
- box-sizing: border-box;
89
- cursor: pointer;
90
-
91
- &:hover {
92
- color: eleVar('modal', 'icon-hover-color');
93
- background: eleVar('modal', 'icon-hover-bg');
94
- }
95
-
96
- & + .ele-dialog-tool {
97
- margin-left: eleVar('modal', 'icon-space');
98
- }
99
- }
100
-
101
- /* body */
102
- .ele-dialog-body {
103
- padding: eleVar('modal', 'body-padding');
104
- box-sizing: border-box;
105
-
106
- &.is-form {
107
- padding: eleVar('modal', 'form-body-padding');
108
- }
109
- }
110
-
111
- /* footer */
112
- .ele-dialog-footer {
113
- padding: eleVar('modal', 'footer-padding');
114
- border-top: eleVar('modal', 'footer-border');
115
- box-sizing: border-box;
116
- }
117
-
118
- /* 默认位置 */
119
- .ele-dialog-top > .el-overlay-dialog > .el-dialog {
120
- margin: 0;
121
- }
122
-
123
- .ele-dialog-center > .el-overlay-dialog > .el-dialog {
124
- margin: auto;
125
- }
126
-
127
- .ele-dialog-bottom > .el-overlay-dialog > .el-dialog {
128
- margin: auto auto 0 auto;
129
- }
130
-
131
- .ele-dialog-left > .el-overlay-dialog > .el-dialog {
132
- margin: auto auto auto 0;
133
- }
134
-
135
- .ele-dialog-right > .el-overlay-dialog > .el-dialog {
136
- margin: auto 0 auto auto;
137
- }
138
-
139
- .ele-dialog-left-top > .el-overlay-dialog > .el-dialog {
140
- margin: 0 auto 0 0;
141
- }
142
-
143
- .ele-dialog-left-bottom > .el-overlay-dialog > .el-dialog {
144
- margin: auto auto 0 0;
145
- }
146
-
147
- .ele-dialog-right-top > .el-overlay-dialog > .el-dialog {
148
- margin: 0 0 0 auto;
149
- }
150
-
151
- .ele-dialog-right-bottom > .el-overlay-dialog > .el-dialog {
152
- margin: auto 0 0 auto;
153
- }
154
-
155
- /* 支持拖拽 */
156
- .ele-dialog-movable > .el-overlay-dialog > .el-dialog > .el-dialog__header {
157
- cursor: move;
158
- user-select: none;
159
- }
160
-
161
- /* 支持拉伸 */
162
- .ele-dialog-resize-icon {
163
- position: absolute;
164
- right: 2px;
165
- bottom: 2px;
166
- display: flex;
167
- align-items: center;
168
- justify-content: center;
169
- color: eleVar('modal', 'icon-color');
170
- font-size: 12px;
171
- cursor: se-resize;
172
-
173
- &.is-horizontal {
174
- cursor: e-resize;
175
- }
176
-
177
- &.is-vertical {
178
- cursor: s-resize;
179
- }
180
- }
181
-
182
- .ele-dialog-resizable > .el-overlay-dialog > .el-dialog,
183
- .ele-dialog-fullscreen > .el-overlay-dialog > .el-dialog {
184
- display: flex;
185
- flex-direction: column;
186
-
187
- & > .el-dialog__body {
188
- flex: auto;
189
- overflow: auto;
190
- }
191
- }
192
-
193
- /* 全屏 */
194
- .ele-dialog-fullscreen > .el-overlay-dialog > .el-dialog {
195
- top: 0 !important;
196
- left: 0 !important;
197
- margin: 0 !important;
198
- width: 100% !important;
199
- height: 100% !important;
200
- display: flex !important;
201
- max-width: none !important;
202
- min-width: auto !important;
203
- max-height: none !important;
204
- min-height: auto !important;
205
- border-radius: 0 !important;
206
-
207
- & > .el-dialog__header {
208
- cursor: default;
209
-
210
- & > .ele-dialog-resize-icon {
211
- display: none;
212
- }
213
- }
214
- }
215
-
216
- /* 同时打开多个 */
217
- .ele-dialog-container {
218
- position: absolute;
219
- top: 0;
220
- left: 0;
221
- right: 0;
222
- bottom: 0;
223
- width: 100%;
224
- height: 100%;
225
- pointer-events: none;
226
- box-sizing: border-box;
227
- z-index: elVar('index', 'popper');
228
- overflow: hidden;
229
- }
230
-
231
- .ele-dialog-multiple {
232
- pointer-events: none !important;
233
- position: absolute !important;
234
-
235
- & > .el-overlay-dialog {
236
- pointer-events: none;
237
- overflow: hidden;
238
-
239
- & > .el-dialog {
240
- pointer-events: auto;
241
- }
242
- }
243
- }
244
-
245
- /* 失活状态 */
246
- .ele-dialog-hide {
247
- display: none !important;
248
- }
249
-
250
- /* 最大宽度适应屏幕 */
251
- .ele-dialog-responsive > .el-overlay-dialog > .el-dialog {
252
- max-width: calc(100% - #{eleVar('modal', 'mobile-space')} * 2);
253
- }
254
-
255
- /* 限制在主体区域 */
256
- .ele-admin-modals > .ele-dialog {
257
- pointer-events: auto;
258
- position: absolute !important;
259
- }
@@ -1,43 +0,0 @@
1
- /**
2
- * 拉伸类型
3
- */
4
- export type Resizable = boolean | 'horizontal' | 'vertical';
5
-
6
- /**
7
- * 拖出边界字符类型
8
- */
9
- export type MoveOutValue = 'top' | 'left' | 'right' | 'bottom';
10
-
11
- /**
12
- * 拖出边界类型
13
- */
14
- export type MoveOut = boolean | MoveOutValue[];
15
-
16
- /**
17
- * 初始位置对象类型
18
- */
19
- export interface PositionObject {
20
- top?: string | number;
21
- left?: string | number;
22
- bottom?: string | number;
23
- right?: string | number;
24
- }
25
-
26
- /**
27
- * 初始位置字符类型
28
- */
29
- export type PositionValue =
30
- | 'top'
31
- | 'bottom'
32
- | 'left'
33
- | 'right'
34
- | 'leftTop'
35
- | 'leftBottom'
36
- | 'rightTop'
37
- | 'rightBottom'
38
- | 'center';
39
-
40
- /**
41
- * 初始位置类型
42
- */
43
- export type Position = PositionValue | PositionObject;
@@ -1,52 +0,0 @@
1
- import { Ref } from 'vue';
2
- import { ElDialogInstance } from '../ele-app/el';
3
- import { ModalProps } from './props';
4
-
5
- export declare const containerClass = "ele-dialog-container";
6
- export declare const wrapperClass = "ele-dialog";
7
- export declare const closedClass = "ele-dialog-closed";
8
- /**
9
- * 获取弹窗容器
10
- * @param inner 是否限制在主体内部
11
- * @param multiple 是否支持同时打开多个
12
- * @param appendTo 自定义插入的容器
13
- * @param modalsEl 限制在主体内部时的容器
14
- */
15
- export declare function getDialogContainer(inner?: boolean, multiple?: boolean, appendTo?: string | HTMLElement, modalsEl?: HTMLElement | null): HTMLElement | string;
16
- /**
17
- * 弹窗支持移动
18
- * @param dialogRef 弹窗实例
19
- * @param props 属性
20
- * @param isFullscreen 全屏状态
21
- */
22
- export declare function useModalMove(dialogRef: Ref<ElDialogInstance>, props: ModalProps, isFullscreen: Ref<boolean>): {
23
- handleHeaderMousedown: (e: MouseEvent) => void;
24
- handleHeaderTouchstart: (e: TouchEvent) => void;
25
- };
26
- /**
27
- * 弹窗支持拉伸
28
- * @param dialogRef 弹窗实例
29
- * @param props 属性
30
- * @param isFullscreen 全屏状态
31
- */
32
- export declare function useModalResize(dialogRef: Ref<ElDialogInstance>, props: ModalProps, isFullscreen: Ref<boolean>): {
33
- handleResizeMousedown: (e: MouseEvent) => void;
34
- handleResizeTouchstart: (e: TouchEvent) => void;
35
- };
36
- /**
37
- * 弹窗事件处理
38
- * @param dialogRef 弹窗实例
39
- * @param props 属性
40
- * @param isFullscreen 全屏状态
41
- */
42
- export declare function useModalEvent(dialogRef: Ref<ElDialogInstance>, props: ModalProps, isFullscreen: Ref<boolean>): {
43
- handleHeaderMousedown: (e: MouseEvent) => void;
44
- handleHeaderTouchstart: (e: TouchEvent) => void;
45
- handleResizeMousedown: (e: MouseEvent) => void;
46
- handleResizeTouchstart: (e: TouchEvent) => void;
47
- bindAutoTopEvent: () => void;
48
- unbindAutoTopEvent: () => void;
49
- topModal: (el?: HTMLElement) => void;
50
- setInitPosition: () => void;
51
- resetModalStyle: () => void;
52
- };
@@ -1,301 +0,0 @@
1
- import { unref } from "vue";
2
- import { queryChild, getCurrentStyle } from "../utils/core";
3
- import { useMoveEvent } from "../utils/hook";
4
- const containerClass = "ele-dialog-container";
5
- const wrapperClass = "ele-dialog";
6
- const closedClass = "ele-dialog-closed";
7
- const fixTop = 0.65;
8
- const fixLeft = 0.65;
9
- function getModalEl(dialogRef) {
10
- var _a, _b;
11
- const el = (_b = unref((_a = unref(dialogRef)) == null ? void 0 : _a.dialogContentRef)) == null ? void 0 : _b.$el;
12
- return el;
13
- }
14
- function initModalStyle(modalEl) {
15
- modalEl.style.top = modalEl.offsetTop + "px";
16
- modalEl.style.left = modalEl.offsetLeft + "px";
17
- modalEl.style.right = "auto";
18
- modalEl.style.bottom = "auto";
19
- modalEl.style.position = "absolute";
20
- modalEl.style.margin = "0";
21
- }
22
- function canMoveOut(moveOut, direction) {
23
- if (direction && moveOut != null && Array.isArray(moveOut)) {
24
- return moveOut.includes(direction);
25
- }
26
- return false;
27
- }
28
- function getDialogContainer(inner, multiple, appendTo, modalsEl) {
29
- if (multiple) {
30
- const parent = (inner ? modalsEl : void 0) || document.body;
31
- const wrapper = queryChild(parent, containerClass);
32
- if (wrapper) {
33
- return wrapper;
34
- }
35
- const elem = document.createElement("div");
36
- elem.classList.add(containerClass);
37
- parent.appendChild(elem);
38
- return elem;
39
- }
40
- if (inner && modalsEl) {
41
- return modalsEl;
42
- }
43
- return appendTo || "body";
44
- }
45
- function useModalMove(dialogRef, props, isFullscreen) {
46
- let modalEl = null;
47
- let wrapEl = null;
48
- let downOL = null;
49
- let downOT = null;
50
- const { handleMousedown, handleTouchstart } = useMoveEvent({
51
- start: () => {
52
- modalEl = getModalEl(dialogRef);
53
- wrapEl = modalEl == null ? void 0 : modalEl.parentElement;
54
- if (!modalEl || !wrapEl || !props.draggable || isFullscreen.value) {
55
- return;
56
- }
57
- modalEl.style.userSelect = "none";
58
- initModalStyle(modalEl);
59
- downOL = modalEl.offsetLeft;
60
- downOT = modalEl.offsetTop;
61
- },
62
- move: ({ distanceX, distanceY, e }) => {
63
- if (!modalEl || !wrapEl || downOL == null || downOT == null || distanceX == null || distanceY == null) {
64
- return;
65
- }
66
- e.preventDefault();
67
- let positionLeft = distanceX + downOL;
68
- let positionTop = distanceY + downOT;
69
- const limitL = wrapEl.clientWidth - modalEl.clientWidth - fixLeft;
70
- const limitT = wrapEl.clientHeight - modalEl.clientHeight - fixTop;
71
- if (!props.moveOut) {
72
- if (positionLeft < 0) {
73
- positionLeft = 0;
74
- } else if (positionLeft > limitL) {
75
- positionLeft = limitL;
76
- }
77
- if (positionTop > limitT) {
78
- positionTop = limitT;
79
- }
80
- if (positionTop < 0) {
81
- positionTop = 0;
82
- }
83
- } else {
84
- if (!canMoveOut(props.moveOut, "left") && positionLeft < 0) {
85
- positionLeft = 0;
86
- }
87
- if (!canMoveOut(props.moveOut, "right") && positionLeft > limitL) {
88
- positionLeft = limitL;
89
- }
90
- if (!canMoveOut(props.moveOut, "bottom") && positionTop > limitT) {
91
- positionTop = limitT;
92
- }
93
- if (!canMoveOut(props.moveOut, "top") && positionTop < 0) {
94
- positionTop = 0;
95
- }
96
- const minLimitL = wrapEl.clientWidth - 48;
97
- if (positionLeft > minLimitL) {
98
- positionLeft = minLimitL;
99
- }
100
- const minLimitT = wrapEl.clientHeight - 48;
101
- if (props.multiple && positionTop > minLimitT) {
102
- positionTop = minLimitT;
103
- }
104
- }
105
- modalEl.style.left = `${Math.floor(positionLeft)}px`;
106
- modalEl.style.top = `${Math.floor(positionTop)}px`;
107
- },
108
- end: () => {
109
- if (modalEl) {
110
- modalEl.style.userSelect = "";
111
- }
112
- downOL = null;
113
- downOT = null;
114
- modalEl = null;
115
- wrapEl = null;
116
- },
117
- touchmoveOptions: { passive: false }
118
- });
119
- return {
120
- handleHeaderMousedown: handleMousedown,
121
- handleHeaderTouchstart: handleTouchstart
122
- };
123
- }
124
- function useModalResize(dialogRef, props, isFullscreen) {
125
- let modalEl = null;
126
- let wrapEl = null;
127
- let downW = null;
128
- let downH = null;
129
- const { handleMousedown, handleTouchstart } = useMoveEvent({
130
- start: () => {
131
- modalEl = getModalEl(dialogRef);
132
- wrapEl = modalEl == null ? void 0 : modalEl.parentElement;
133
- if (!modalEl || !wrapEl || !props.resizable || isFullscreen.value) {
134
- return;
135
- }
136
- modalEl.style.userSelect = "none";
137
- initModalStyle(modalEl);
138
- downW = modalEl.clientWidth;
139
- downH = modalEl.clientHeight;
140
- },
141
- move: ({ distanceX, distanceY, e }) => {
142
- if (!modalEl || !wrapEl || downW == null || downH == null || distanceX == null || distanceY == null) {
143
- return;
144
- }
145
- e.preventDefault();
146
- if (props.resizable !== "vertical") {
147
- const w = distanceX + downW;
148
- const maxW = wrapEl.clientWidth - modalEl.offsetLeft - fixLeft;
149
- const nw = (w < props.minWidth ? props.minWidth : !canMoveOut(props.moveOut, "right") && w > maxW ? maxW : w) + "px";
150
- modalEl.style.width = nw;
151
- modalEl.style.maxWidth = nw;
152
- modalEl.style.minWidth = nw;
153
- }
154
- if (props.resizable !== "horizontal") {
155
- const h = distanceY + downH;
156
- const maxH = wrapEl.clientHeight - modalEl.offsetTop - fixTop;
157
- const nh = (h < props.minHeight ? props.minHeight : !canMoveOut(props.moveOut, "bottom") && h > maxH ? maxH : h) + "px";
158
- modalEl.style.height = nh;
159
- modalEl.style.maxHeight = nh;
160
- modalEl.style.minHeight = nh;
161
- }
162
- },
163
- end: () => {
164
- if (modalEl) {
165
- modalEl.style.userSelect = "";
166
- }
167
- downW = null;
168
- downH = null;
169
- modalEl = null;
170
- wrapEl = null;
171
- },
172
- touchmoveOptions: { passive: false }
173
- });
174
- return {
175
- handleResizeMousedown: handleMousedown,
176
- handleResizeTouchstart: handleTouchstart
177
- };
178
- }
179
- function useModalEvent(dialogRef, props, isFullscreen) {
180
- const { handleHeaderMousedown, handleHeaderTouchstart } = useModalMove(
181
- dialogRef,
182
- props,
183
- isFullscreen
184
- );
185
- const { handleResizeMousedown, handleResizeTouchstart } = useModalResize(
186
- dialogRef,
187
- props,
188
- isFullscreen
189
- );
190
- let isInitPosition = true;
191
- const getZIndex = () => {
192
- return props.zIndex ?? 2e3;
193
- };
194
- const topModal = (el) => {
195
- var _a;
196
- const modalEl = el ?? getModalEl(dialogRef);
197
- const overlayEl = (_a = modalEl == null ? void 0 : modalEl.parentElement) == null ? void 0 : _a.parentElement;
198
- if (!overlayEl) {
199
- return;
200
- }
201
- const currentIndex = getCurrentStyle(overlayEl).zIndex;
202
- const containerEl = overlayEl.parentElement;
203
- const cls = `.${wrapperClass}:not(.${closedClass})`;
204
- const modals = containerEl ? containerEl.querySelectorAll(cls) : void 0;
205
- let maxIndex = 0;
206
- (modals ? Array.from(modals) : []).forEach((modalEl2) => {
207
- const zIndex = getCurrentStyle(modalEl2).zIndex;
208
- if (zIndex != null) {
209
- const index = Number(zIndex);
210
- if (index >= maxIndex && (!overlayEl || modalEl2 !== overlayEl)) {
211
- maxIndex = index + 1;
212
- }
213
- }
214
- });
215
- if (maxIndex > Number(currentIndex || getZIndex() || 0)) {
216
- overlayEl.style.zIndex = String(maxIndex);
217
- }
218
- };
219
- const mousedownListener = (event) => {
220
- if (props.multiple) {
221
- topModal(event.currentTarget);
222
- }
223
- };
224
- const bindAutoTopEvent = () => {
225
- const modalEl = getModalEl(dialogRef);
226
- if (modalEl) {
227
- modalEl.addEventListener("mousedown", mousedownListener);
228
- modalEl.addEventListener("touchstart", mousedownListener);
229
- }
230
- };
231
- const unbindAutoTopEvent = () => {
232
- const modalEl = getModalEl(dialogRef);
233
- if (modalEl) {
234
- modalEl.removeEventListener("mousedown", mousedownListener);
235
- modalEl.removeEventListener("touchstart", mousedownListener);
236
- }
237
- };
238
- const getPositionMargin = (position) => {
239
- if (position == null || typeof position !== "object" || position.top == null && position.right == null && position.bottom == null && position.left == null) {
240
- return;
241
- }
242
- return [position.top, position.right, position.bottom, position.left].map((p) => typeof p === "number" ? `${p}px` : p || "auto").join(" ");
243
- };
244
- const getPosition = () => {
245
- if (props.alignCenter) {
246
- return "center";
247
- }
248
- if (props.top != null && props.top !== "") {
249
- return { top: props.top };
250
- }
251
- return props.position;
252
- };
253
- const setInitPosition = () => {
254
- if (isInitPosition) {
255
- isInitPosition = false;
256
- const modalEl = getModalEl(dialogRef);
257
- const margin = getPositionMargin(getPosition());
258
- if (modalEl && margin != null) {
259
- modalEl.style.margin = margin;
260
- }
261
- }
262
- };
263
- const resetModalStyle = () => {
264
- const modalEl = getModalEl(dialogRef);
265
- if (modalEl) {
266
- const w = props.width;
267
- modalEl.style.margin = getPositionMargin(getPosition()) || "";
268
- modalEl.style.position = "";
269
- modalEl.style.top = "";
270
- modalEl.style.left = "";
271
- modalEl.style.right = "";
272
- modalEl.style.bottom = "";
273
- modalEl.style.height = "";
274
- modalEl.style.maxHeight = "";
275
- modalEl.style.minHeight = "";
276
- modalEl.style.width = typeof w === "number" ? `${w}px` : w ?? "";
277
- modalEl.style.maxWidth = "";
278
- modalEl.style.minWidth = "";
279
- }
280
- };
281
- return {
282
- handleHeaderMousedown,
283
- handleHeaderTouchstart,
284
- handleResizeMousedown,
285
- handleResizeTouchstart,
286
- bindAutoTopEvent,
287
- unbindAutoTopEvent,
288
- topModal,
289
- setInitPosition,
290
- resetModalStyle
291
- };
292
- }
293
- export {
294
- closedClass,
295
- containerClass,
296
- getDialogContainer,
297
- useModalEvent,
298
- useModalMove,
299
- useModalResize,
300
- wrapperClass
301
- };