@whitesev/pops 3.2.0 → 3.2.2

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 (126) hide show
  1. package/README.md +249 -249
  2. package/dist/index.amd.js +702 -667
  3. package/dist/index.amd.js.map +1 -1
  4. package/dist/index.amd.min.js +1 -1
  5. package/dist/index.amd.min.js.map +1 -1
  6. package/dist/index.cjs.js +702 -667
  7. package/dist/index.cjs.js.map +1 -1
  8. package/dist/index.cjs.min.js +1 -1
  9. package/dist/index.cjs.min.js.map +1 -1
  10. package/dist/index.esm.js +702 -667
  11. package/dist/index.esm.js.map +1 -1
  12. package/dist/index.esm.min.js +1 -1
  13. package/dist/index.esm.min.js.map +1 -1
  14. package/dist/index.iife.js +702 -667
  15. package/dist/index.iife.js.map +1 -1
  16. package/dist/index.iife.min.js +1 -1
  17. package/dist/index.iife.min.js.map +1 -1
  18. package/dist/index.system.js +702 -667
  19. package/dist/index.system.js.map +1 -1
  20. package/dist/index.system.min.js +1 -1
  21. package/dist/index.system.min.js.map +1 -1
  22. package/dist/index.umd.js +702 -667
  23. package/dist/index.umd.js.map +1 -1
  24. package/dist/index.umd.min.js +1 -1
  25. package/dist/index.umd.min.js.map +1 -1
  26. package/dist/types/src/components/folder/types/index.d.ts +43 -13
  27. package/dist/types/src/types/PopsDOMUtilsEventType.d.ts +313 -313
  28. package/dist/types/src/types/animation.d.ts +19 -19
  29. package/dist/types/src/types/button.d.ts +94 -94
  30. package/dist/types/src/types/components.d.ts +211 -211
  31. package/dist/types/src/types/event.d.ts +43 -43
  32. package/dist/types/src/types/global.d.ts +31 -31
  33. package/dist/types/src/types/icon.d.ts +32 -32
  34. package/dist/types/src/types/inst.d.ts +28 -28
  35. package/dist/types/src/types/main.d.ts +66 -66
  36. package/dist/types/src/types/mask.d.ts +52 -52
  37. package/dist/types/src/types/position.d.ts +60 -60
  38. package/package.json +27 -25
  39. package/src/Pops.ts +206 -206
  40. package/src/PopsAnimation.ts +32 -32
  41. package/src/PopsCSS.ts +54 -54
  42. package/src/PopsCore.ts +37 -37
  43. package/src/PopsIcon.ts +95 -95
  44. package/src/PopsInst.ts +21 -21
  45. package/src/components/alert/defaultConfig.ts +62 -62
  46. package/src/components/alert/index.ts +163 -163
  47. package/src/components/alert/types/index.ts +23 -23
  48. package/src/components/confirm/defaultConfig.ts +90 -90
  49. package/src/components/confirm/index.ts +165 -165
  50. package/src/components/confirm/types/index.ts +13 -17
  51. package/src/components/drawer/defaultConfig.ts +89 -89
  52. package/src/components/drawer/index.css +37 -37
  53. package/src/components/drawer/index.ts +245 -245
  54. package/src/components/drawer/types/index.ts +62 -61
  55. package/src/components/folder/defaultConfig.ts +151 -151
  56. package/src/components/folder/folderIcon.ts +28 -28
  57. package/src/components/folder/index.css +303 -303
  58. package/src/components/folder/index.ts +953 -932
  59. package/src/components/folder/types/index.ts +143 -110
  60. package/src/components/iframe/defaultConfig.ts +60 -60
  61. package/src/components/iframe/index.css +76 -76
  62. package/src/components/iframe/index.ts +331 -331
  63. package/src/components/iframe/types/index.ts +96 -96
  64. package/src/components/loading/defaultConfig.ts +29 -29
  65. package/src/components/loading/index.css +66 -66
  66. package/src/components/loading/index.ts +101 -101
  67. package/src/components/loading/types/index.ts +36 -34
  68. package/src/components/panel/css/components-select.css +84 -84
  69. package/src/components/panel/defaultConfig.ts +868 -868
  70. package/src/components/panel/handlerComponents.ts +3993 -3993
  71. package/src/components/panel/index.css +1403 -1401
  72. package/src/components/panel/index.ts +221 -221
  73. package/src/components/panel/types/components-button.ts +56 -56
  74. package/src/components/panel/types/components-common.ts +73 -73
  75. package/src/components/panel/types/components-container.ts +25 -25
  76. package/src/components/panel/types/components-deepMenu.ts +64 -64
  77. package/src/components/panel/types/components-input.ts +90 -90
  78. package/src/components/panel/types/components-own.ts +16 -16
  79. package/src/components/panel/types/components-select.ts +169 -169
  80. package/src/components/panel/types/components-selectMultiple.ts +105 -104
  81. package/src/components/panel/types/components-slider.ts +55 -55
  82. package/src/components/panel/types/components-switch.ts +33 -33
  83. package/src/components/panel/types/components-textarea.ts +45 -45
  84. package/src/components/panel/types/index.ts +244 -244
  85. package/src/components/prompt/defaultConfig.ts +94 -94
  86. package/src/components/prompt/index.css +34 -34
  87. package/src/components/prompt/index.ts +187 -215
  88. package/src/components/prompt/types/index.ts +57 -56
  89. package/src/components/rightClickMenu/defaultConfig.ts +103 -103
  90. package/src/components/rightClickMenu/index.css +115 -115
  91. package/src/components/rightClickMenu/index.ts +662 -662
  92. package/src/components/rightClickMenu/types/index.ts +145 -143
  93. package/src/components/searchSuggestion/defaultConfig.ts +63 -63
  94. package/src/components/searchSuggestion/index.ts +813 -813
  95. package/src/components/searchSuggestion/types/index.ts +244 -242
  96. package/src/components/tooltip/defaultConfig.ts +33 -33
  97. package/src/components/tooltip/index.css +199 -199
  98. package/src/components/tooltip/index.ts +617 -617
  99. package/src/components/tooltip/types/index.ts +123 -121
  100. package/src/config/CommonCSSClassName.ts +17 -17
  101. package/src/config/GlobalConfig.ts +63 -63
  102. package/src/css/animation.css +987 -987
  103. package/src/css/button.css +551 -551
  104. package/src/css/common.css +54 -54
  105. package/src/css/index.css +253 -253
  106. package/src/css/ninePalaceGridPosition.css +50 -50
  107. package/src/css/scrollbar.css +22 -22
  108. package/src/handler/PopsElementHandler.ts +303 -303
  109. package/src/handler/PopsHandler.ts +611 -611
  110. package/src/types/PopsDOMUtilsEventType.d.ts +313 -313
  111. package/src/types/animation.d.ts +19 -19
  112. package/src/types/button.d.ts +94 -94
  113. package/src/types/components.d.ts +211 -211
  114. package/src/types/event.d.ts +43 -43
  115. package/src/types/global.d.ts +31 -31
  116. package/src/types/icon.d.ts +32 -32
  117. package/src/types/inst.d.ts +28 -28
  118. package/src/types/main.d.ts +66 -66
  119. package/src/types/mask.d.ts +52 -52
  120. package/src/types/position.d.ts +60 -60
  121. package/src/utils/PopsDOMUtils.ts +2483 -2483
  122. package/src/utils/PopsDOMUtilsEventsConfig.ts +4 -4
  123. package/src/utils/PopsInstanceUtils.ts +714 -714
  124. package/src/utils/PopsMathUtils.ts +71 -71
  125. package/src/utils/PopsSafeUtils.ts +22 -22
  126. package/src/utils/PopsUtils.ts +421 -421
@@ -1,245 +1,245 @@
1
- import { GlobalConfig } from "../../config/GlobalConfig";
2
- import { PopsElementHandler } from "../../handler/PopsElementHandler";
3
- import { PopsHandler } from "../../handler/PopsHandler";
4
- import { PopsCSS } from "../../PopsCSS";
5
- import type { PopsHandlerEventConfig } from "../../types/event";
6
- import type { PopsType } from "../../types/main";
7
- import { popsDOMUtils } from "../../utils/PopsDOMUtils";
8
- import { popsUtils } from "../../utils/PopsUtils";
9
- import { PopsDrawerDefaultConfig } from "./defaultConfig";
10
- import type { PopsDrawerConfig } from "./types";
11
-
12
- export const PopsDrawer = {
13
- init(__config__: PopsDrawerConfig) {
14
- const guid = popsUtils.getRandomGUID();
15
- // 设置当前类型
16
- const popsType: PopsType = "drawer";
17
-
18
- let config = PopsDrawerDefaultConfig();
19
- config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
20
- config = popsUtils.assign(config, __config__);
21
- config = PopsHandler.handleOnly(popsType, config);
22
-
23
- const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow(config);
24
- PopsHandler.handleInit($shadowRoot, [
25
- {
26
- name: "index",
27
- css: PopsCSS.index,
28
- },
29
- {
30
- name: "ninePalaceGridPosition",
31
- css: PopsCSS.ninePalaceGridPosition,
32
- },
33
- {
34
- name: "scrollbar",
35
- css: PopsCSS.scrollbar,
36
- },
37
- {
38
- name: "button",
39
- css: PopsCSS.button,
40
- },
41
- {
42
- name: "anim",
43
- css: PopsCSS.anim,
44
- },
45
- {
46
- name: "common",
47
- css: PopsCSS.common,
48
- },
49
- {
50
- name: "drawerCSS",
51
- css: PopsCSS.drawerCSS,
52
- },
53
- ]);
54
-
55
- // 先把z-index提取出来
56
- const zIndex = PopsHandler.handleZIndex(config.zIndex);
57
- const maskHTML = PopsElementHandler.createMask(guid, zIndex);
58
-
59
- const headerBtnHTML = PopsElementHandler.createHeader(popsType, config);
60
- const bottomBtnHTML = PopsElementHandler.createBottom(popsType, config);
61
- const { headerStyle, headerPStyle } = PopsElementHandler.createHeaderStyle(popsType, config);
62
- const { contentStyle, contentPStyle } = PopsElementHandler.createContentStyle(popsType, config);
63
- const animHTML = PopsElementHandler.createAnim(
64
- guid,
65
- popsType,
66
- config,
67
- /*html*/ `
68
- ${
69
- config.title.enable
70
- ? /*html*/ `<div class="pops-title pops-${popsType}-title" style="${headerStyle}">${
71
- config.title.html
72
- ? config.title.text
73
- : /*html*/ `<p pops class="pops-${popsType}-title-text" style="width: 100%;text-align: ${config.title.position};${headerPStyle}">${config.title.text}</p>`
74
- }${headerBtnHTML}</div>`
75
- : ""
76
- }
77
- <div class="pops-content pops-${popsType}-content" style="${contentStyle}">${
78
- config.content.html
79
- ? config.content.text
80
- : `<p pops class="pops-${popsType}-content-text" style="${contentPStyle}">${config.content.text}</p>`
81
- }</div>${bottomBtnHTML}`,
82
- bottomBtnHTML,
83
- zIndex
84
- );
85
- /**
86
- * 弹窗的主元素,包括动画层
87
- */
88
- const $anim = PopsElementHandler.parseElement<HTMLDivElement>(animHTML);
89
- const {
90
- $pops: popsElement,
91
- $headerBtnClose: headerCloseBtnElement,
92
- $btnCancel: btnCancelElement,
93
- $btnOk: btnOkElement,
94
- $btnOther: btnOtherElement,
95
- } = PopsHandler.handleQueryElement($anim, popsType);
96
- const $pops = popsElement!;
97
- const $headerCloseBtn = headerCloseBtnElement!;
98
- const $btnCancel = btnCancelElement!;
99
- const $btnOk = btnOkElement!;
100
- const $btnOther = btnOtherElement!;
101
- /**
102
- * 遮罩层元素
103
- */
104
- let $mask: HTMLDivElement | undefined = void 0;
105
- /**
106
- * 已创建的元素列表
107
- */
108
- const $elList: HTMLElement[] = [$anim];
109
-
110
- if (config.mask.enable) {
111
- const handleMask = PopsHandler.handleMask({
112
- type: popsType,
113
- guid: guid,
114
- config: config,
115
- animElement: $anim,
116
- maskHTML: maskHTML,
117
- });
118
- $mask = handleMask.maskElement;
119
- $elList.push($mask);
120
- }
121
- const evtConfig = PopsHandler.handleEventConfig(
122
- config,
123
- guid,
124
- $shadowContainer,
125
- $shadowRoot,
126
- popsType,
127
- $anim,
128
- $pops,
129
- $mask
130
- );
131
- const result = PopsHandler.handleResultConfig(evtConfig);
132
- // 处理方向
133
-
134
- $pops.setAttribute("direction", config.direction);
135
-
136
- // 处理border-radius
137
- // 处理动画前的宽高
138
- if (config.direction === "top") {
139
- $pops.style.setProperty("height", "0");
140
-
141
- $pops.style.setProperty("border-radius", `0px 0px ${config.borderRadius}px ${config.borderRadius}px`);
142
- } else if (config.direction === "bottom") {
143
- $pops.style.setProperty("height", "0");
144
-
145
- $pops.style.setProperty("border-radius", `${config.borderRadius}px ${config.borderRadius}px 0px 0px`);
146
- } else if (config.direction === "left") {
147
- $pops.style.setProperty("width", "0");
148
-
149
- $pops.style.setProperty("border-radius", `0px ${config.borderRadius}px 0px ${config.borderRadius}px`);
150
- } else if (config.direction === "right") {
151
- $pops.style.setProperty("width", "0");
152
-
153
- $pops.style.setProperty("border-radius", `${config.borderRadius}px 0px ${config.borderRadius}px 0px`);
154
- }
155
-
156
- // 按下Esc键触发关闭
157
- if (config.closeOnPressEscape) {
158
- PopsHandler.handleKeyboardEvent("Escape", [], function () {
159
- evtConfig.close();
160
- });
161
- }
162
- // 待处理的点击事件列表
163
- const needHandleClickEventList: {
164
- type: PopsHandlerEventConfig["type"];
165
- ele: HTMLElement;
166
- }[] = [
167
- {
168
- type: "close",
169
- ele: $headerCloseBtn,
170
- },
171
- {
172
- type: "cancel",
173
- ele: $btnCancel,
174
- },
175
- {
176
- type: "ok",
177
- ele: $btnOk,
178
- },
179
- {
180
- type: "other",
181
- ele: $btnOther,
182
- },
183
- ];
184
- needHandleClickEventList.forEach((item) => {
185
- PopsHandler.handleClickEvent(item.type, item.ele, evtConfig, (evtConfig, event) => {
186
- const callback = config.btn[item.type].callback;
187
- if (typeof callback === "function") {
188
- callback(evtConfig, event);
189
- }
190
- });
191
- });
192
-
193
- // 先隐藏,然后根据config.openDelay来显示
194
- $elList.forEach((element) => {
195
- element.style.setProperty("display", "none");
196
- if (["top"].includes(config.direction)) {
197
- $pops.style.setProperty("height", config.size.toString());
198
-
199
- $pops.style.setProperty("transform", "translateY(-100%)");
200
- } else if (["bottom"].includes(config.direction)) {
201
- $pops.style.setProperty("height", config.size.toString());
202
-
203
- $pops.style.setProperty("transform", "translateY(100%)");
204
- } else if (["left"].includes(config.direction)) {
205
- $pops.style.setProperty("width", config.size.toString());
206
-
207
- $pops.style.setProperty("transform", "translateX(-100%)");
208
- } else if (["right"].includes(config.direction)) {
209
- $pops.style.setProperty("width", config.size.toString());
210
-
211
- $pops.style.setProperty("transform", "translateX(100%)");
212
- }
213
- element.style.setProperty("display", "");
214
- });
215
- // 创建到页面中
216
-
217
- popsDOMUtils.append($shadowRoot, $elList);
218
- if (typeof config.beforeAppendToPageCallBack === "function") {
219
- config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);
220
- }
221
-
222
- popsDOMUtils.appendBody($shadowContainer);
223
- popsUtils.setTimeout(() => {
224
- popsUtils.setTimeout(() => {
225
- $pops.style.setProperty("transform", "");
226
- }, config.openDelay);
227
- }, 50);
228
-
229
- if ($mask != null) {
230
- $anim.after($mask);
231
- }
232
-
233
- PopsHandler.handlePush(popsType, {
234
- guid: guid,
235
- $anim: $anim,
236
- $pops: $pops,
237
- $mask: $mask!,
238
- $shadowContainer: $shadowContainer,
239
- $shadowRoot: $shadowRoot,
240
- config: config,
241
- destory: result.close,
242
- });
243
- return result;
244
- },
245
- };
1
+ import { GlobalConfig } from "../../config/GlobalConfig";
2
+ import { PopsElementHandler } from "../../handler/PopsElementHandler";
3
+ import { PopsHandler } from "../../handler/PopsHandler";
4
+ import { PopsCSS } from "../../PopsCSS";
5
+ import type { PopsHandlerEventConfig } from "../../types/event";
6
+ import type { PopsType } from "../../types/main";
7
+ import { popsDOMUtils } from "../../utils/PopsDOMUtils";
8
+ import { popsUtils } from "../../utils/PopsUtils";
9
+ import { PopsDrawerDefaultConfig } from "./defaultConfig";
10
+ import type { PopsDrawerConfig } from "./types";
11
+
12
+ export const PopsDrawer = {
13
+ init(__config__: PopsDrawerConfig) {
14
+ const guid = popsUtils.getRandomGUID();
15
+ // 设置当前类型
16
+ const popsType: PopsType = "drawer";
17
+
18
+ let config = PopsDrawerDefaultConfig();
19
+ config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
20
+ config = popsUtils.assign(config, __config__);
21
+ config = PopsHandler.handleOnly(popsType, config);
22
+
23
+ const { $shadowContainer, $shadowRoot } = PopsHandler.handlerShadow(config);
24
+ PopsHandler.handleInit($shadowRoot, [
25
+ {
26
+ name: "index",
27
+ css: PopsCSS.index,
28
+ },
29
+ {
30
+ name: "ninePalaceGridPosition",
31
+ css: PopsCSS.ninePalaceGridPosition,
32
+ },
33
+ {
34
+ name: "scrollbar",
35
+ css: PopsCSS.scrollbar,
36
+ },
37
+ {
38
+ name: "button",
39
+ css: PopsCSS.button,
40
+ },
41
+ {
42
+ name: "anim",
43
+ css: PopsCSS.anim,
44
+ },
45
+ {
46
+ name: "common",
47
+ css: PopsCSS.common,
48
+ },
49
+ {
50
+ name: "drawerCSS",
51
+ css: PopsCSS.drawerCSS,
52
+ },
53
+ ]);
54
+
55
+ // 先把z-index提取出来
56
+ const zIndex = PopsHandler.handleZIndex(config.zIndex);
57
+ const maskHTML = PopsElementHandler.createMask(guid, zIndex);
58
+
59
+ const headerBtnHTML = PopsElementHandler.createHeader(popsType, config);
60
+ const bottomBtnHTML = PopsElementHandler.createBottom(popsType, config);
61
+ const { headerStyle, headerPStyle } = PopsElementHandler.createHeaderStyle(popsType, config);
62
+ const { contentStyle, contentPStyle } = PopsElementHandler.createContentStyle(popsType, config);
63
+ const animHTML = PopsElementHandler.createAnim(
64
+ guid,
65
+ popsType,
66
+ config,
67
+ /*html*/ `
68
+ ${
69
+ config.title.enable
70
+ ? /*html*/ `<div class="pops-title pops-${popsType}-title" style="${headerStyle}">${
71
+ config.title.html
72
+ ? config.title.text
73
+ : /*html*/ `<p pops class="pops-${popsType}-title-text" style="width: 100%;text-align: ${config.title.position};${headerPStyle}">${config.title.text}</p>`
74
+ }${headerBtnHTML}</div>`
75
+ : ""
76
+ }
77
+ <div class="pops-content pops-${popsType}-content" style="${contentStyle}">${
78
+ config.content.html
79
+ ? config.content.text
80
+ : `<p pops class="pops-${popsType}-content-text" style="${contentPStyle}">${config.content.text}</p>`
81
+ }</div>${bottomBtnHTML}`,
82
+ bottomBtnHTML,
83
+ zIndex
84
+ );
85
+ /**
86
+ * 弹窗的主元素,包括动画层
87
+ */
88
+ const $anim = PopsElementHandler.parseElement<HTMLDivElement>(animHTML);
89
+ const {
90
+ $pops: popsElement,
91
+ $headerBtnClose: headerCloseBtnElement,
92
+ $btnCancel: btnCancelElement,
93
+ $btnOk: btnOkElement,
94
+ $btnOther: btnOtherElement,
95
+ } = PopsHandler.handleQueryElement($anim, popsType);
96
+ const $pops = popsElement!;
97
+ const $headerCloseBtn = headerCloseBtnElement!;
98
+ const $btnCancel = btnCancelElement!;
99
+ const $btnOk = btnOkElement!;
100
+ const $btnOther = btnOtherElement!;
101
+ /**
102
+ * 遮罩层元素
103
+ */
104
+ let $mask: HTMLDivElement | undefined = void 0;
105
+ /**
106
+ * 已创建的元素列表
107
+ */
108
+ const $elList: HTMLElement[] = [$anim];
109
+
110
+ if (config.mask.enable) {
111
+ const handleMask = PopsHandler.handleMask({
112
+ type: popsType,
113
+ guid: guid,
114
+ config: config,
115
+ animElement: $anim,
116
+ maskHTML: maskHTML,
117
+ });
118
+ $mask = handleMask.maskElement;
119
+ $elList.push($mask);
120
+ }
121
+ const evtConfig = PopsHandler.handleEventConfig(
122
+ config,
123
+ guid,
124
+ $shadowContainer,
125
+ $shadowRoot,
126
+ popsType,
127
+ $anim,
128
+ $pops,
129
+ $mask
130
+ );
131
+ const result = PopsHandler.handleResultConfig(evtConfig);
132
+ // 处理方向
133
+
134
+ $pops.setAttribute("direction", config.direction);
135
+
136
+ // 处理border-radius
137
+ // 处理动画前的宽高
138
+ if (config.direction === "top") {
139
+ $pops.style.setProperty("height", "0");
140
+
141
+ $pops.style.setProperty("border-radius", `0px 0px ${config.borderRadius}px ${config.borderRadius}px`);
142
+ } else if (config.direction === "bottom") {
143
+ $pops.style.setProperty("height", "0");
144
+
145
+ $pops.style.setProperty("border-radius", `${config.borderRadius}px ${config.borderRadius}px 0px 0px`);
146
+ } else if (config.direction === "left") {
147
+ $pops.style.setProperty("width", "0");
148
+
149
+ $pops.style.setProperty("border-radius", `0px ${config.borderRadius}px 0px ${config.borderRadius}px`);
150
+ } else if (config.direction === "right") {
151
+ $pops.style.setProperty("width", "0");
152
+
153
+ $pops.style.setProperty("border-radius", `${config.borderRadius}px 0px ${config.borderRadius}px 0px`);
154
+ }
155
+
156
+ // 按下Esc键触发关闭
157
+ if (config.closeOnPressEscape) {
158
+ PopsHandler.handleKeyboardEvent("Escape", [], function () {
159
+ evtConfig.close();
160
+ });
161
+ }
162
+ // 待处理的点击事件列表
163
+ const needHandleClickEventList: {
164
+ type: PopsHandlerEventConfig["type"];
165
+ ele: HTMLElement;
166
+ }[] = [
167
+ {
168
+ type: "close",
169
+ ele: $headerCloseBtn,
170
+ },
171
+ {
172
+ type: "cancel",
173
+ ele: $btnCancel,
174
+ },
175
+ {
176
+ type: "ok",
177
+ ele: $btnOk,
178
+ },
179
+ {
180
+ type: "other",
181
+ ele: $btnOther,
182
+ },
183
+ ];
184
+ needHandleClickEventList.forEach((item) => {
185
+ PopsHandler.handleClickEvent(item.type, item.ele, evtConfig, (evtConfig, event) => {
186
+ const callback = config.btn[item.type].callback;
187
+ if (typeof callback === "function") {
188
+ callback(evtConfig, event);
189
+ }
190
+ });
191
+ });
192
+
193
+ // 先隐藏,然后根据config.openDelay来显示
194
+ $elList.forEach((element) => {
195
+ element.style.setProperty("display", "none");
196
+ if (["top"].includes(config.direction)) {
197
+ $pops.style.setProperty("height", config.size.toString());
198
+
199
+ $pops.style.setProperty("transform", "translateY(-100%)");
200
+ } else if (["bottom"].includes(config.direction)) {
201
+ $pops.style.setProperty("height", config.size.toString());
202
+
203
+ $pops.style.setProperty("transform", "translateY(100%)");
204
+ } else if (["left"].includes(config.direction)) {
205
+ $pops.style.setProperty("width", config.size.toString());
206
+
207
+ $pops.style.setProperty("transform", "translateX(-100%)");
208
+ } else if (["right"].includes(config.direction)) {
209
+ $pops.style.setProperty("width", config.size.toString());
210
+
211
+ $pops.style.setProperty("transform", "translateX(100%)");
212
+ }
213
+ element.style.setProperty("display", "");
214
+ });
215
+ // 创建到页面中
216
+
217
+ popsDOMUtils.append($shadowRoot, $elList);
218
+ if (typeof config.beforeAppendToPageCallBack === "function") {
219
+ config.beforeAppendToPageCallBack($shadowRoot, $shadowContainer);
220
+ }
221
+
222
+ popsDOMUtils.appendBody($shadowContainer);
223
+ popsUtils.setTimeout(() => {
224
+ popsUtils.setTimeout(() => {
225
+ $pops.style.setProperty("transform", "");
226
+ }, config.openDelay);
227
+ }, 50);
228
+
229
+ if ($mask != null) {
230
+ $anim.after($mask);
231
+ }
232
+
233
+ PopsHandler.handlePush(popsType, {
234
+ guid: guid,
235
+ $anim: $anim,
236
+ $pops: $pops,
237
+ $mask: $mask!,
238
+ $shadowContainer: $shadowContainer,
239
+ $shadowRoot: $shadowRoot,
240
+ config: config,
241
+ destory: result.close,
242
+ });
243
+ return result;
244
+ },
245
+ };
@@ -1,61 +1,62 @@
1
- import type {
2
- PopsTitleConfig,
3
- PopsContentConfig,
4
- // PopsDragConfig,
5
- PopsGeneralConfig,
6
- PopsMoreButtonConfig,
7
- } from "../../../types/components";
8
-
9
- /**
10
- * pops.drawer
11
- */
12
- export interface PopsDrawerConfig
13
- extends PopsContentConfig,
14
- PopsMoreButtonConfig,
15
- Omit<PopsGeneralConfig, "width" | "height" | "position" | "animation"> {
16
- /**
17
- * 标题
18
- */
19
- title?: Partial<PopsTitleConfig["title"]> & {
20
- /**
21
- * 是否启用
22
- * @default true
23
- */
24
- enable: boolean;
25
- };
26
- /**
27
- * 打开的方向
28
- * @default "right"
29
- */
30
- direction?: "top" | "bottom" | "left" | "right";
31
- /**
32
- * 窗体的大小; 当使用 number 类型时; 以像素为单位,默认为30%
33
- * @default "30%"
34
- */
35
- size?: string | number;
36
- /**
37
- * 是否在 Drawer 出现时将 body 滚动锁定,默认为false
38
- * @default false
39
- */
40
- lockScroll?: boolean;
41
- /**
42
- * 是否可以通过按下 ESC 关闭 Drawer,默认为true
43
- * @default true'
44
- */
45
- closeOnPressEscape?: boolean;
46
- /**
47
- * 打开的延时时间,单位毫秒,默认为0
48
- * @default 0
49
- */
50
- openDelay?: number;
51
- /**
52
- * 关闭的延时时间,单位毫秒,默认为0
53
- * @default 0
54
- */
55
- closeDelay?: number;
56
- /**
57
- * border-radius,根据direction自动适应,默认为5
58
- * @default 5
59
- */
60
- borderRadius?: number;
61
- }
1
+ import type {
2
+ PopsTitleConfig,
3
+ PopsContentConfig,
4
+ // PopsDragConfig,
5
+ PopsGeneralConfig,
6
+ PopsMoreButtonConfig,
7
+ } from "../../../types/components";
8
+
9
+ /**
10
+ * pops.drawer
11
+ */
12
+ export interface PopsDrawerConfig
13
+ extends
14
+ PopsContentConfig,
15
+ PopsMoreButtonConfig,
16
+ Omit<PopsGeneralConfig, "width" | "height" | "position" | "animation"> {
17
+ /**
18
+ * 标题
19
+ */
20
+ title?: Partial<PopsTitleConfig["title"]> & {
21
+ /**
22
+ * 是否启用
23
+ * @default true
24
+ */
25
+ enable: boolean;
26
+ };
27
+ /**
28
+ * 打开的方向
29
+ * @default "right"
30
+ */
31
+ direction?: "top" | "bottom" | "left" | "right";
32
+ /**
33
+ * 窗体的大小; 当使用 number 类型时; 以像素为单位,默认为30%
34
+ * @default "30%"
35
+ */
36
+ size?: string | number;
37
+ /**
38
+ * 是否在 Drawer 出现时将 body 滚动锁定,默认为false
39
+ * @default false
40
+ */
41
+ lockScroll?: boolean;
42
+ /**
43
+ * 是否可以通过按下 ESC 关闭 Drawer,默认为true
44
+ * @default true'
45
+ */
46
+ closeOnPressEscape?: boolean;
47
+ /**
48
+ * 打开的延时时间,单位毫秒,默认为0
49
+ * @default 0
50
+ */
51
+ openDelay?: number;
52
+ /**
53
+ * 关闭的延时时间,单位毫秒,默认为0
54
+ * @default 0
55
+ */
56
+ closeDelay?: number;
57
+ /**
58
+ * border-radius,根据direction自动适应,默认为5
59
+ * @default 5
60
+ */
61
+ borderRadius?: number;
62
+ }