@whitesev/pops 2.2.8 → 2.3.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 (146) hide show
  1. package/dist/index.amd.js +2817 -3012
  2. package/dist/index.amd.js.map +1 -1
  3. package/dist/index.cjs.js +2817 -3012
  4. package/dist/index.cjs.js.map +1 -1
  5. package/dist/index.esm.js +2817 -3012
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.iife.js +2817 -3012
  8. package/dist/index.iife.js.map +1 -1
  9. package/dist/index.system.js +2817 -3012
  10. package/dist/index.system.js.map +1 -1
  11. package/dist/index.umd.js +2817 -3012
  12. package/dist/index.umd.js.map +1 -1
  13. package/dist/types/src/Pops.d.ts +497 -192
  14. package/dist/types/src/PopsIcon.d.ts +2 -2
  15. package/dist/types/src/components/panel/index.d.ts +1 -1
  16. package/dist/types/src/components/rightClickMenu/index.d.ts +487 -182
  17. package/dist/types/src/components/tooltip/index.d.ts +2 -2
  18. package/dist/types/src/types/PopsDOMUtilsEventType.d.ts +256 -259
  19. package/dist/types/src/types/animation.d.ts +19 -19
  20. package/dist/types/src/types/button.d.ts +187 -196
  21. package/dist/types/src/types/components.d.ts +213 -229
  22. package/dist/types/src/types/event.d.ts +63 -63
  23. package/dist/types/src/types/global.d.ts +20 -20
  24. package/dist/types/src/types/icon.d.ts +32 -32
  25. package/dist/types/src/types/inst.d.ts +24 -24
  26. package/dist/types/src/types/main.d.ts +114 -122
  27. package/dist/types/src/types/mask.d.ts +49 -49
  28. package/dist/types/src/types/position.d.ts +60 -60
  29. package/package.json +13 -8
  30. package/src/Pops.ts +0 -209
  31. package/src/PopsAnimation.ts +0 -32
  32. package/src/PopsCSS.ts +0 -51
  33. package/src/PopsCore.ts +0 -44
  34. package/src/PopsIcon.ts +0 -95
  35. package/src/PopsInst.ts +0 -21
  36. package/src/components/alert/config.ts +0 -62
  37. package/src/components/alert/index.css +0 -0
  38. package/src/components/alert/index.ts +0 -181
  39. package/src/components/alert/types/index.ts +0 -30
  40. package/src/components/confirm/config.ts +0 -90
  41. package/src/components/confirm/index.css +0 -0
  42. package/src/components/confirm/index.ts +0 -192
  43. package/src/components/confirm/types/index.ts +0 -17
  44. package/src/components/drawer/config.ts +0 -89
  45. package/src/components/drawer/index.css +0 -35
  46. package/src/components/drawer/index.ts +0 -260
  47. package/src/components/drawer/types/index.ts +0 -61
  48. package/src/components/folder/config.ts +0 -147
  49. package/src/components/folder/folderIcon.ts +0 -28
  50. package/src/components/folder/index.css +0 -314
  51. package/src/components/folder/index.ts +0 -1050
  52. package/src/components/folder/types/index.ts +0 -101
  53. package/src/components/iframe/config.ts +0 -60
  54. package/src/components/iframe/index.css +0 -75
  55. package/src/components/iframe/index.ts +0 -351
  56. package/src/components/iframe/types/index.ts +0 -146
  57. package/src/components/loading/config.ts +0 -29
  58. package/src/components/loading/index.css +0 -66
  59. package/src/components/loading/index.ts +0 -114
  60. package/src/components/loading/types/index.ts +0 -40
  61. package/src/components/panel/config.ts +0 -550
  62. package/src/components/panel/handlerComponents.ts +0 -3277
  63. package/src/components/panel/index.css +0 -1292
  64. package/src/components/panel/index.ts +0 -213
  65. package/src/components/panel/types/components-button.ts +0 -69
  66. package/src/components/panel/types/components-common.ts +0 -55
  67. package/src/components/panel/types/components-deepMenu.ts +0 -85
  68. package/src/components/panel/types/components-forms.ts +0 -45
  69. package/src/components/panel/types/components-input.ts +0 -82
  70. package/src/components/panel/types/components-own.ts +0 -31
  71. package/src/components/panel/types/components-select.ts +0 -101
  72. package/src/components/panel/types/components-selectMultiple.ts +0 -133
  73. package/src/components/panel/types/components-slider.ts +0 -78
  74. package/src/components/panel/types/components-switch.ts +0 -57
  75. package/src/components/panel/types/components-textarea.ts +0 -69
  76. package/src/components/panel/types/index.ts +0 -177
  77. package/src/components/prompt/config.ts +0 -94
  78. package/src/components/prompt/index.css +0 -34
  79. package/src/components/prompt/index.ts +0 -222
  80. package/src/components/prompt/types/index.ts +0 -55
  81. package/src/components/rightClickMenu/config.ts +0 -130
  82. package/src/components/rightClickMenu/index.css +0 -88
  83. package/src/components/rightClickMenu/index.ts +0 -689
  84. package/src/components/rightClickMenu/types/index.ts +0 -91
  85. package/src/components/searchSuggestion/config.ts +0 -59
  86. package/src/components/searchSuggestion/index.ts +0 -708
  87. package/src/components/searchSuggestion/types/index.ts +0 -147
  88. package/src/components/tooltip/config.ts +0 -34
  89. package/src/components/tooltip/index.css +0 -196
  90. package/src/components/tooltip/index.ts +0 -655
  91. package/src/components/tooltip/types/index.ts +0 -125
  92. package/src/config/CommonCSSClassName.ts +0 -17
  93. package/src/config/GlobalConfig.ts +0 -80
  94. package/src/css/animation.css +0 -2245
  95. package/src/css/button.css +0 -542
  96. package/src/css/common.css +0 -52
  97. package/src/css/index.css +0 -254
  98. package/src/css/ninePalaceGridPosition.css +0 -50
  99. package/src/css/scrollbar.css +0 -22
  100. package/src/handler/PopsElementHandler.ts +0 -325
  101. package/src/handler/PopsHandler.ts +0 -719
  102. package/src/svg/arrowLeft.svg +0 -4
  103. package/src/svg/arrowRight.svg +0 -4
  104. package/src/svg/chromeFilled.svg +0 -14
  105. package/src/svg/circleClose.svg +0 -8
  106. package/src/svg/close.svg +0 -5
  107. package/src/svg/cpu.svg +0 -8
  108. package/src/svg/delete.svg +0 -5
  109. package/src/svg/documentCopy.svg +0 -5
  110. package/src/svg/edit.svg +0 -8
  111. package/src/svg/eleme.svg +0 -5
  112. package/src/svg/elemePlus.svg +0 -5
  113. package/src/svg/headset.svg +0 -5
  114. package/src/svg/hide.svg +0 -8
  115. package/src/svg/keyboard.svg +0 -8
  116. package/src/svg/loading.svg +0 -5
  117. package/src/svg/max.svg +0 -5
  118. package/src/svg/min.svg +0 -5
  119. package/src/svg/mise.svg +0 -5
  120. package/src/svg/monitor.svg +0 -5
  121. package/src/svg/next.svg +0 -5
  122. package/src/svg/picture.svg +0 -8
  123. package/src/svg/prev.svg +0 -5
  124. package/src/svg/search.svg +0 -5
  125. package/src/svg/share.svg +0 -5
  126. package/src/svg/upload.svg +0 -5
  127. package/src/svg/videoPause.svg +0 -5
  128. package/src/svg/videoPlay.svg +0 -5
  129. package/src/svg/view.svg +0 -5
  130. package/src/types/PopsDOMUtilsEventType.d.ts +0 -259
  131. package/src/types/animation.d.ts +0 -19
  132. package/src/types/button.d.ts +0 -196
  133. package/src/types/components.d.ts +0 -229
  134. package/src/types/event.d.ts +0 -63
  135. package/src/types/global.d.ts +0 -20
  136. package/src/types/icon.d.ts +0 -32
  137. package/src/types/inst.d.ts +0 -24
  138. package/src/types/main.d.ts +0 -122
  139. package/src/types/mask.d.ts +0 -49
  140. package/src/types/position.d.ts +0 -60
  141. package/src/utils/PopsDOMUtils.ts +0 -2649
  142. package/src/utils/PopsDOMUtilsEventsConfig.ts +0 -6
  143. package/src/utils/PopsInstanceUtils.ts +0 -801
  144. package/src/utils/PopsMathUtils.ts +0 -77
  145. package/src/utils/PopsSafeUtils.ts +0 -24
  146. package/src/utils/PopsUtils.ts +0 -430
@@ -1,196 +0,0 @@
1
- import { PopsEventDetails, PopsHandlerEventDetails } from "./event";
2
- import type { PopsIconType } from "./icon";
3
- import type { PopsType } from "./main";
4
-
5
- /**
6
- * 按钮类型
7
- */
8
- export type PopsButtonType = "close" | "ok" | "cancel" | "other";
9
- /**
10
- * 按钮样式类型
11
- */
12
- export type PopsButtonStyleType =
13
- | "default"
14
- | "primary"
15
- | "xiaomi-primary"
16
- | "success"
17
- | "info"
18
- | "warning"
19
- | "danger"
20
- | "violet";
21
-
22
- /**
23
- * 按钮大小
24
- */
25
- export type PopsButtonSize = "large" | "small";
26
-
27
- /**
28
- * 按钮的点击回调参数event
29
- */
30
- export interface PopsBtnCallBackEvent {
31
- /**
32
- * 元素
33
- */
34
- element: HTMLElement;
35
- /**
36
- * 动画元素(包裹着弹窗元素)
37
- */
38
- animElement: HTMLElement;
39
- /**
40
- * 弹窗元素
41
- */
42
- popsElement: HTMLElement;
43
- /**
44
- * 遮罩层元素
45
- */
46
- maskElement: HTMLElement | undefined;
47
- /**
48
- * 按钮调用类型
49
- */
50
- type: PopsButtonType;
51
- /**
52
- * 调用的方法
53
- */
54
- mode: PopsType;
55
- /**
56
- * 唯一id
57
- */
58
- guid: string;
59
- /**
60
- * 关闭弹窗
61
- */
62
- close(): void;
63
- /**
64
- * 隐藏弹窗
65
- */
66
- hide(): void;
67
- /**
68
- * 显示弹窗
69
- */
70
- show(): void;
71
- }
72
-
73
- /**
74
- * 按钮配置
75
- */
76
- export interface PopsButtonDetails<T = {}> {
77
- /**
78
- * 是否启用按钮
79
- */
80
- enable: boolean;
81
- /**
82
- * 图标按钮,如果名字为内置的,则使用内置的,否则为自定义的svg
83
- */
84
- icon: PopsIconType;
85
- /**
86
- * 图标按钮是否放在右边
87
- */
88
- rightIcon: boolean;
89
- /**
90
- * 图标按钮是否是旋转360°
91
- * @default false
92
- */
93
- iconIsLoading: boolean;
94
- /**
95
- * 按钮尺寸大小
96
- * @default ""
97
- */
98
- size: PopsButtonSize | "";
99
- /**
100
- * 按钮样式类型
101
- * @default "default"
102
- */
103
- type: PopsButtonStyleType;
104
- /**
105
- * 按钮文字,默认为空
106
- */
107
- text: string;
108
- /**
109
- * 按钮点击的回调
110
- *
111
- * 如果传入该值,那么将不会自动关闭弹窗
112
- */
113
- callback(
114
- eventDetails: PopsHandlerEventDetails & T,
115
- event: PointerEvent | MouseEvent
116
- ): void;
117
- }
118
-
119
- /**
120
- * 按钮配置(匹配任意类型)
121
- */
122
- export type PopsButtonDetailsAnyType<T = {}> = Omit<
123
- PopsButtonDetails<T>,
124
- "type"
125
- > & {
126
- /**
127
- * 按钮样式类型
128
- * @default "default"
129
- */
130
- type: string;
131
- };
132
-
133
- /** prompt的点击回调 */
134
- export interface PopsPromptButtonDetails extends PopsButtonDetails {
135
- callback(
136
- eventDetails: PopsHandlerEventDetails & {
137
- text: string;
138
- },
139
- event: PointerEvent | MouseEvent
140
- ): void;
141
- }
142
- /**
143
- * 右上角关闭按钮点击回调的配置
144
- */
145
- export interface PopsHeaderCloseButtonClickCallBackEvent {
146
- /**
147
- * 动画元素(包裹着弹窗元素)
148
- */
149
- animElement: HTMLElement;
150
- /**
151
- * 遮罩层元素,如果未设置,那么不存在
152
- */
153
- maskElement?: HTMLElement;
154
- /**
155
- * 按钮调用类型
156
- */
157
- type: string;
158
- /**
159
- * 唯一id
160
- */
161
- guid: string;
162
- /**
163
- * 关闭弹窗
164
- */
165
- close(): void;
166
- /**
167
- * 隐藏弹窗
168
- */
169
- hide(): void;
170
- /**
171
- * 显示弹窗
172
- */
173
- show(): void;
174
- /**
175
- * 输入的内容
176
- */
177
- text: string;
178
- }
179
- /**
180
- * 顶部关闭按钮配置
181
- */
182
- export interface PopsHeaderCloseButtonDetails {
183
- /**
184
- * 是否启用按钮
185
- */
186
- enable?: boolean;
187
- /**
188
- * 按钮点击的回调
189
- *
190
- * 如果传入该值,那么将不会自动关闭弹窗
191
- */
192
- callback?: (
193
- details: PopsEventDetails,
194
- event: PointerEvent | MouseEvent
195
- ) => void;
196
- }
@@ -1,229 +0,0 @@
1
- import type { PopsAnimation } from "./animation";
2
- import type {
3
- PopsPosition,
4
- PopsTextAlign,
5
- PopsJustifyContent,
6
- } from "./position";
7
- import type {
8
- PopsButtonDetails,
9
- PopsButtonDetailsAnyType,
10
- PopsHeaderCloseButtonDetails,
11
- } from "./button";
12
- import type { PopsMaskDetails } from "./mask";
13
-
14
- /**
15
- * 标题配置
16
- */
17
- export interface PopsTitleConfig {
18
- title: {
19
- /**
20
- * 标题文字
21
- */
22
- text?: string;
23
- /**
24
- * 标题文字的位置
25
- * @default "left"
26
- */
27
- position?: PopsTextAlign;
28
- /**
29
- * 标题文字是否是html
30
- * @default false
31
- */
32
- html?: boolean;
33
- /**
34
- * 自定义CSS
35
- */
36
- style?: string;
37
- };
38
- }
39
-
40
- /**
41
- * 内容配置
42
- */
43
- export interface PopsContentConfig {
44
- content: {
45
- /**
46
- * 内容文字
47
- */
48
- text?: string;
49
- /**
50
- * 内容文字是否是html
51
- * @default false
52
- */
53
- html?: boolean;
54
- /**
55
- * 自定义CSS
56
- */
57
- style?: string;
58
- };
59
- }
60
- /**
61
- * 按钮配置
62
- */
63
- export interface PopsButtonConfig {
64
- btn?: {
65
- /**
66
- * 按钮的位置
67
- * @default "flex-end"
68
- */
69
- position?: PopsJustifyContent;
70
- /**
71
- * 右上角的关闭按钮
72
- */
73
- close?: PopsHeaderCloseButtonDetails;
74
- };
75
- }
76
- /**
77
- * 按钮的其它配置
78
- */
79
- export interface PopsMoreButtonConfig<T = {}> {
80
- btn?: PopsButtonConfig["btn"] & {
81
- /**
82
- * 是否合并按钮
83
- * @default false
84
- */
85
- merge?: boolean;
86
- /**
87
- * 是否对合并的按钮逆反
88
- * @default false
89
- */
90
- mergeReverse?: boolean;
91
- /**
92
- * 是否逆反
93
- * @default false
94
- */
95
- reverse?: boolean;
96
- /**
97
- * 确定按钮
98
- */
99
- ok?: Partial<PopsButtonDetails<T> | PopsButtonDetailsAnyType<T>>;
100
- /**
101
- * 取消按钮
102
- */
103
- cancel?: Partial<PopsButtonDetails<T> | PopsButtonDetailsAnyType<T>>;
104
- /**
105
- * 其他按钮
106
- */
107
- other?: Partial<PopsButtonDetails<T> | PopsButtonDetailsAnyType<T>>;
108
- };
109
- }
110
- /**
111
- * 拖拽(标题栏)的配置
112
- */
113
- export interface PopsDragConfig {
114
- /**
115
- * 是否可以按钮标题栏进行拖拽,默认false
116
- * @default false
117
- */
118
- drag?: boolean;
119
- /**
120
- * 是否限制拖拽在浏览器窗口内移动,默认true
121
- * @default true
122
- */
123
- dragLimit?: boolean;
124
- /**
125
- * 当启用dragLimit时,该参数为弹窗在窗口中的距离边际的距离,默认为3(px)
126
- * @default 3
127
- */
128
- dragExtraDistance?: number;
129
- /**
130
- * (可选)拖动中的回调
131
- * @param moveElement 当前拖动的元素
132
- * @param left 当前left值
133
- * @param top 当前的top值
134
- */
135
- dragMoveCallBack?: (
136
- moveElement: HTMLElement,
137
- left: number,
138
- top: number
139
- ) => void;
140
- /**
141
- * (可选)拖动结束的回调
142
- * @param moveElement 当前拖动的元素
143
- * @param left 当前left值
144
- * @param top 当前的top值
145
- */
146
- dragEndCallBack?: (
147
- moveElement: HTMLElement,
148
- left: number,
149
- top: number
150
- ) => void;
151
- }
152
- /**
153
- * 通用配置
154
- */
155
- export interface PopsCommonConfig {
156
- /**
157
- * 是否使用shadowRoot
158
- *
159
- * @default true
160
- */
161
- useShadowRoot?: boolean;
162
- /**
163
- * 自定义的className
164
- *
165
- * @default ""
166
- */
167
- class?: string;
168
- /**
169
- * 是否是唯一的
170
- *
171
- * @default false
172
- */
173
- only?: boolean;
174
- /**
175
- * 宽度
176
- *
177
- * @default "350px"
178
- */
179
- width: string;
180
- /**
181
- * 高度
182
- *
183
- * @default "200px"
184
- */
185
- height: string;
186
- /**
187
- * 位置
188
- *
189
- * @default "center"
190
- */
191
- position?: PopsPosition;
192
- /**
193
- * 动画
194
- *
195
- * @default "pops-anim-fadein-zoom"
196
- */
197
- animation?: PopsAnimation;
198
- /**
199
- * z-index显示层级
200
- *
201
- * @default 10000
202
- */
203
- zIndex?: number | (() => number);
204
- /**
205
- * 遮罩层
206
- */
207
- mask?: PopsMaskDetails;
208
- /**
209
- * 是否禁用页面滚动
210
- *
211
- * 暂时不会生效
212
- *
213
- * @default false
214
- */
215
- forbiddenScroll?: boolean;
216
- /**
217
- * (可选)自定义style
218
- */
219
- style?: string | null;
220
- /**
221
- * 在元素添加到页面前的事件
222
- * @param $shadowRoot 根元素
223
- * @param $shadowContainer 容器
224
- */
225
- beforeAppendToPageCallBack?: (
226
- $shadowRoot: ShadowRoot | HTMLElement,
227
- $shadowContainer: HTMLDivElement
228
- ) => void;
229
- }
@@ -1,63 +0,0 @@
1
- import type { PopsIframeDetails } from "../components/iframe/types";
2
- import type { PopsType } from "./main";
3
-
4
- /**
5
- * 事件配置
6
- */
7
- export interface PopsIframeEventDetails {
8
- /**
9
- * 唯一id
10
- */
11
- guid: string;
12
- /**
13
- * 当前弹窗类型
14
- */
15
- mode: PopsType;
16
- /**
17
- * 动画层
18
- */
19
- animElement: HTMLElement;
20
- /**
21
- * 主元素
22
- */
23
- popsElement: HTMLElement;
24
- /**
25
- * 遮罩层
26
- */
27
- maskElement: HTMLElement;
28
- /**
29
- * 当前配置
30
- */
31
- config: PopsIframeDetails;
32
- }
33
- /**
34
- * 事件配置
35
- */
36
- export interface PopsEventDetails {
37
- /** 最外层包裹的元素 */
38
- $shadowContainer: HTMLDivElement;
39
- /** ShadowRoot */
40
- $shadowRoot: ShadowRoot | HTMLElement;
41
- /** -> 动画层 */
42
- element: HTMLDivElement;
43
- /** 动画层 */
44
- animElement: HTMLDivElement;
45
- /** 主元素 */
46
- popsElement: HTMLDivElement;
47
- /** 遮罩层 */
48
- maskElement?: HTMLDivElement;
49
- /** 当前弹窗类型 */
50
- mode: PopsType;
51
- guid: string;
52
- close: () => Promise<void>;
53
- hide: () => Promise<void>;
54
- show: () => Promise<void>;
55
- }
56
-
57
- /**
58
- * 处理过的事件配置
59
- */
60
- export interface PopsHandlerEventDetails extends PopsEventDetails {
61
- /** 当前按钮类型 */
62
- type: "cancel" | "close" | "ok" | "other";
63
- }
@@ -1,20 +0,0 @@
1
- declare module "*.css" {
2
- const content: string;
3
- export default content;
4
- }
5
- declare module "*.svg" {
6
- const content: string;
7
- export default content;
8
- }
9
-
10
- declare var unsafeWindow: Window & typeof globalThis;
11
-
12
- declare type DeepRequired<T> = T extends Function
13
- ? T
14
- : T extends object
15
- ? T extends Node
16
- ? T
17
- : {
18
- [K in keyof T]-?: DeepRequired<T[K]>;
19
- }
20
- : T;
@@ -1,32 +0,0 @@
1
- /**
2
- * 按钮svg图标
3
- */
4
- export type PopsIconType =
5
- | "min"
6
- | "mise"
7
- | "max"
8
- | "close"
9
- | "edit"
10
- | "share"
11
- | "delete"
12
- | "search"
13
- | "upload"
14
- | "loading"
15
- | "next"
16
- | "prev"
17
- | "eleme"
18
- | "elemePlus"
19
- | "chromeFilled"
20
- | "cpu"
21
- | "videoPlay"
22
- | "videoPause"
23
- | "headset"
24
- | "monitor"
25
- | "documentCopy"
26
- | "picture"
27
- | "circleClose"
28
- | "view"
29
- | "hide"
30
- | "keyboard"
31
- | "arrowRight"
32
- | "arrowLeft";
@@ -1,24 +0,0 @@
1
- /**
2
- * config实例配置
3
- */
4
- export interface PopsInstConfig {
5
- /** 固定id */
6
- guid: string;
7
- /** 动画元素 */
8
- animElement: HTMLDivElement;
9
- /** 主元素 */
10
- popsElement: HTMLDivElement;
11
- /** 遮罩层元素 */
12
- maskElement?: HTMLDivElement;
13
- }
14
- /**
15
- * config实例通用配置
16
- */
17
- export interface PopsInstCommonConfig extends PopsInstConfig {
18
- /** shadow容器 */
19
- $shadowContainer: HTMLDivElement;
20
- /** shadow容器的shandowRoot */
21
- $shadowRoot: ShadowRoot | HTMLElement;
22
- /** 移除实例前的回调函数 */
23
- beforeRemoveCallBack?: (instCommonConfig: PopsInstCommonConfig) => void;
24
- }
@@ -1,122 +0,0 @@
1
- import type { PopsAlertDetails } from "../components/alert/types";
2
- import type { PopsConfirmDetails } from "../components/confirm/types";
3
- import type { PopsDrawerDetails } from "../components/drawer/types";
4
- import type { PopsFolderDetails } from "../components/folder/types";
5
- import type { PopsIframeDetails } from "../components/iframe/types";
6
- import type { PopsLoadingDetails } from "../components/loading/types";
7
- import type { PopsPanelButtonDetails } from "../components/panel/types/components-button";
8
- import type { PopsPanelDeepMenuDetails } from "../components/panel/types/components-deepMenu";
9
- import type { PopsPanelDetails } from "../components/panel/types";
10
- import type { PopsPanelInputDetails } from "../components/panel/types/components-input";
11
- import type { PopsPanelOwnDetails } from "../components/panel/types/components-own";
12
- import type { PopsPanelSelectDetails } from "../components/panel/types/components-select";
13
- import type { PopsPanelSliderDetails } from "../components/panel/types/components-slider";
14
- import type { PopsPanelSwitchDetails } from "../components/panel/types/components-switch";
15
- import type { PopsPanelTextAreaDetails } from "../components/panel/types/components-textarea";
16
- import type { PopsPromptDetails } from "../components/prompt/types/index";
17
- import { PopsRightClickMenuDetails } from "../components/rightClickMenu/types";
18
- import { PopsToolTipDetails } from "../components/tooltip/types/index";
19
- import type { PopsSearchSuggestionDetails } from "../components/searchSuggestion/types";
20
-
21
- export interface PopsUtilsOwnObject<V extends any> {
22
- [key: string]: V | PopsUtilsOwnObject<V>;
23
- }
24
-
25
- /** pops所有的类型配置 11个*/
26
- export interface PopsDetails {
27
- alert: PopsAlertDetails;
28
- confirm: PopsConfirmDetails;
29
- prompt: PopsPromptDetails;
30
- loading: PopsLoadingDetails;
31
- iframe: PopsIframeDetails;
32
- tooltip: PopsToolTipDetails;
33
- drawer: PopsDrawerDetails;
34
- folder: PopsFolderDetails;
35
- panel: PopsPanelDetails;
36
- rightClickMenu: PopsRightClickMenuDetails;
37
- searchSuggestion: PopsSearchSuggestionDetails;
38
- }
39
-
40
- /** pops的类型 */
41
- export type PopsType = keyof PopsDetails;
42
-
43
- /** pops中支持only的配置 */
44
- export type PopsSupportOnlyDetails = Omit<PopsDetails, "searchSuggestion">;
45
-
46
- /** 存储实例的类型 */
47
- export type PopsInstStoreType = keyof Omit<PopsDetails, "searchSuggestion">;
48
-
49
- /** pops弹窗支持动画元素的配置 8个 */
50
- export type PopsSupportAnimDetails = Omit<
51
- PopsDetails,
52
- "tooltip" | "rightClickMenu" | "searchSuggestion"
53
- >;
54
-
55
- /** pops弹窗支持动画元素的类型 */
56
- export type PopsSupportAnimDetailsType = keyof PopsSupportAnimDetails;
57
-
58
- /** pops弹窗支持标题栏的配置 */
59
- export type PopsSupportHeaderTitleDetails = Pick<
60
- PopsDetails,
61
- "alert" | "confirm" | "prompt" | "iframe" | "drawer" | "folder" | "panel"
62
- >;
63
-
64
- /** pops弹窗支持标题栏的类型 */
65
- export type PopsSupportHeaderTitleDetailsType =
66
- keyof PopsSupportHeaderTitleDetails;
67
-
68
- /** pops支持底部按钮的配置 */
69
- export type PopsSupportBottomBtnDetails = Pick<
70
- PopsDetails,
71
- "alert" | "confirm" | "prompt" | "drawer"
72
- >;
73
-
74
- /** pops支持底部按钮的类型 */
75
- export type PopsSupportBottomBtnDetailsType =
76
- keyof PopsSupportHeaderTitleDetails;
77
-
78
- /** pops支持中间内容的配置 */
79
- export type PopsSupportContentDetails = Pick<
80
- PopsDetails,
81
- "alert" | "confirm" | "prompt" | "drawer" | "loading"
82
- >;
83
-
84
- /** pops支持中间内容的类型 */
85
- export type PopsSupportContentDetailsType = keyof PopsSupportContentDetails;
86
-
87
- /** panel的各种类型的配置项 */
88
- export type PopsPanelFormsTotalDetails =
89
- | PopsPanelSwitchDetails
90
- | PopsPanelSliderDetails
91
- | PopsPanelInputDetails
92
- | PopsPanelTextAreaDetails
93
- | PopsPanelSelectDetails<any>
94
- | PopsPanelButtonDetails
95
- | PopsPanelDeepMenuDetails
96
- | PopsPanelOwnDetails;
97
-
98
- /**
99
- * pops.xxx的调用返回值
100
- */
101
- export interface PopsCallResult {
102
- /** 唯一标识id */
103
- guid: string;
104
- /** 影子元素 */
105
- $shadowContainer: HTMLDivElement;
106
- /** 影子元素的根节点 */
107
- $shadowRoot: ShadowRoot | HTMLElement;
108
- /** 元素 */
109
- element: HTMLDivElement;
110
- /** 动画层元素 */
111
- animElement: HTMLDivElement;
112
- /** pops元素 */
113
- popsElement: HTMLDivElement;
114
- /** 遮罩层元素 */
115
- maskElement?: HTMLDivElement;
116
- /** 关闭弹窗 */
117
- close(): void;
118
- /** 隐藏弹窗 */
119
- hide(): void;
120
- /** 显示弹窗 */
121
- show(): void;
122
- }