@whitesev/pops 3.1.2 → 3.2.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.
- package/dist/index.amd.js +337 -250
- package/dist/index.amd.js.map +1 -1
- package/dist/index.amd.min.js +1 -1
- package/dist/index.amd.min.js.map +1 -1
- package/dist/index.cjs.js +337 -250
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs.min.js +1 -1
- package/dist/index.cjs.min.js.map +1 -1
- package/dist/index.esm.js +337 -250
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/index.iife.js +337 -250
- package/dist/index.iife.js.map +1 -1
- package/dist/index.iife.min.js +1 -1
- package/dist/index.iife.min.js.map +1 -1
- package/dist/index.system.js +337 -250
- package/dist/index.system.js.map +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/dist/index.umd.js +337 -250
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/dist/types/src/Pops.d.ts +10 -10
- package/dist/types/src/components/panel/index.d.ts +2 -2
- package/dist/types/src/components/rightClickMenu/index.d.ts +1 -1
- package/dist/types/src/components/rightClickMenu/types/index.d.ts +8 -1
- package/dist/types/src/components/tooltip/index.d.ts +5 -5
- package/dist/types/src/components/tooltip/types/index.d.ts +15 -14
- package/dist/types/src/handler/PopsHandler.d.ts +4 -4
- package/dist/types/src/types/PopsDOMUtilsEventType.d.ts +39 -0
- package/dist/types/src/types/components.d.ts +2 -1
- package/dist/types/src/types/event.d.ts +13 -3
- package/dist/types/src/types/inst.d.ts +4 -0
- package/dist/types/src/utils/PopsDOMUtils.d.ts +10 -12
- package/dist/types/src/utils/PopsInstanceUtils.d.ts +2 -2
- package/package.json +9 -9
- package/src/components/alert/index.ts +3 -1
- package/src/components/confirm/index.ts +3 -1
- package/src/components/drawer/index.ts +3 -1
- package/src/components/folder/index.ts +3 -1
- package/src/components/iframe/index.ts +6 -4
- package/src/components/panel/handlerComponents.ts +26 -26
- package/src/components/panel/index.ts +3 -1
- package/src/components/prompt/index.ts +3 -1
- package/src/components/rightClickMenu/defaultConfig.ts +1 -0
- package/src/components/rightClickMenu/index.ts +18 -7
- package/src/components/rightClickMenu/types/index.ts +8 -1
- package/src/components/searchSuggestion/index.ts +7 -19
- package/src/components/tooltip/defaultConfig.ts +1 -1
- package/src/components/tooltip/index.ts +38 -23
- package/src/components/tooltip/types/index.ts +15 -14
- package/src/handler/PopsHandler.ts +22 -19
- package/src/types/PopsDOMUtilsEventType.d.ts +39 -0
- package/src/types/components.d.ts +2 -1
- package/src/types/event.d.ts +13 -3
- package/src/types/inst.d.ts +4 -0
- package/src/utils/PopsDOMUtils.ts +71 -40
- package/src/utils/PopsInstanceUtils.ts +62 -30
- package/src/utils/PopsUtils.ts +1 -1
package/dist/types/src/Pops.d.ts
CHANGED
|
@@ -119,12 +119,12 @@ declare class Pops {
|
|
|
119
119
|
addClassName($el: Element | undefined | null | undefined, className: string | string[] | (() => string | string[]) | undefined | null): void;
|
|
120
120
|
removeClassName($el: Element | undefined | null, className: string): void;
|
|
121
121
|
containsClassName($el: HTMLElement | undefined | null, className: string): boolean;
|
|
122
|
-
css(
|
|
123
|
-
css(
|
|
124
|
-
css(
|
|
125
|
-
css(
|
|
122
|
+
css($el: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsTargetElementType, property: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsCSSPropertyType): string;
|
|
123
|
+
css($el: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsTargetElementType, property: string): string;
|
|
124
|
+
css($el: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsTargetElementType, property: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsCSSPropertyType & string, value: string | number): string;
|
|
125
|
+
css($el: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsTargetElementType, property: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsCSSProperty | {
|
|
126
126
|
[key: string]: string | number;
|
|
127
|
-
}): string;
|
|
127
|
+
} | string): string;
|
|
128
128
|
createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, property?: ({ [P in keyof HTMLElementTagNameMap[K]]?: HTMLElementTagNameMap[K][P] extends string | boolean | number ? HTMLElementTagNameMap[K][P] : never; } & {
|
|
129
129
|
[key: string]: any;
|
|
130
130
|
}) | string, attributes?: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsCreateElementAttributesMap): HTMLElementTagNameMap[K];
|
|
@@ -200,7 +200,7 @@ declare class Pops {
|
|
|
200
200
|
isOverMaxZIndex: boolean;
|
|
201
201
|
};
|
|
202
202
|
getMaxZIndex(deviation?: number): number;
|
|
203
|
-
removeInstance(
|
|
203
|
+
removeInstance(totalInstConfigList: import("./types/inst").PopsInstGeneralConfig[][], guid?: string, isAll?: boolean): Promise<import("./types/inst").PopsInstGeneralConfig[][]>;
|
|
204
204
|
hide(config: PopsAlertConfig | PopsDrawerConfig | PopsPromptConfig | PopsConfirmConfig | PopsIframeConfig | PopsLoadingConfig | PopsPanelConfig | PopsFolderConfig, popsType: import("./types/main").PopsInstStoreType, instConfigList: import("./types/inst").PopsInstGeneralConfig[], guid: string, $anim: HTMLElement, $mask?: HTMLElement): Promise<void>;
|
|
205
205
|
show(config: PopsAlertConfig | PopsDrawerConfig | PopsPromptConfig | PopsConfirmConfig | PopsIframeConfig | PopsLoadingConfig | PopsPanelConfig | PopsFolderConfig, popsType: import("./types/main").PopsInstStoreType, instConfigList: import("./types/inst").PopsInstGeneralConfig[], guid: string, $anim: HTMLElement, $mask?: HTMLElement): Promise<void>;
|
|
206
206
|
close(config: PopsAlertConfig | PopsDrawerConfig | PopsPromptConfig | PopsConfirmConfig | PopsIframeConfig | PopsLoadingConfig | PopsPanelConfig | PopsFolderConfig, popsType: string, instConfigList: import("./types/inst").PopsInstGeneralConfig[], guid: string, $anim: HTMLElement): Promise<void>;
|
|
@@ -773,7 +773,7 @@ declare class Pops {
|
|
|
773
773
|
otherDistance: number;
|
|
774
774
|
useShadowRoot: boolean;
|
|
775
775
|
only: boolean;
|
|
776
|
-
zIndex: number
|
|
776
|
+
zIndex: IFunction<number>;
|
|
777
777
|
style: string | null;
|
|
778
778
|
beforeAppendToPageCallBack: ($shadowRoot: ShadowRoot | HTMLElement, $shadowContainer: HTMLDivElement) => void;
|
|
779
779
|
};
|
|
@@ -801,14 +801,14 @@ declare class Pops {
|
|
|
801
801
|
mode: import("./types/main").PopsType;
|
|
802
802
|
close: () => Promise<void>;
|
|
803
803
|
hide: () => Promise<void>;
|
|
804
|
-
show: () => Promise<void>;
|
|
805
|
-
guid: string;
|
|
804
|
+
show: ($parent?: HTMLElement | Document | ShadowRoot) => Promise<void>;
|
|
806
805
|
$shadowContainer: HTMLDivElement;
|
|
807
806
|
$shadowRoot: ShadowRoot | HTMLElement;
|
|
808
807
|
$el: HTMLDivElement;
|
|
809
808
|
$anim: HTMLDivElement;
|
|
810
809
|
$pops: HTMLDivElement;
|
|
811
810
|
$mask?: HTMLDivElement | undefined;
|
|
811
|
+
guid: string;
|
|
812
812
|
};
|
|
813
813
|
/**
|
|
814
814
|
* 右键菜单
|
|
@@ -836,7 +836,7 @@ declare class Pops {
|
|
|
836
836
|
shadowRootCheckClickEvent(event: MouseEvent | PointerEvent): void;
|
|
837
837
|
addWindowCheckClickListener(): void;
|
|
838
838
|
removeWindowCheckClickListener(): void;
|
|
839
|
-
contextMenuEvent(event: PointerEvent, selectorTarget: NonNullable<PopsRightClickMenuConfig["$target"]>): void
|
|
839
|
+
contextMenuEvent(event: PointerEvent, selectorTarget: NonNullable<PopsRightClickMenuConfig["$target"]>): Promise<void>;
|
|
840
840
|
addContextMenuEvent(target: PopsRightClickMenuConfig["$target"], selector?: string): void;
|
|
841
841
|
removeContextMenuEvent(target: HTMLElement | typeof globalThis | Window, selector?: string): void;
|
|
842
842
|
animationCloseMenu($menu: HTMLElement): void;
|
|
@@ -7,13 +7,13 @@ export declare const PopsPanel: {
|
|
|
7
7
|
mode: PopsType;
|
|
8
8
|
close: () => Promise<void>;
|
|
9
9
|
hide: () => Promise<void>;
|
|
10
|
-
show: () => Promise<void>;
|
|
11
|
-
guid: string;
|
|
10
|
+
show: ($parent?: HTMLElement | Document | ShadowRoot) => Promise<void>;
|
|
12
11
|
$shadowContainer: HTMLDivElement;
|
|
13
12
|
$shadowRoot: ShadowRoot | HTMLElement;
|
|
14
13
|
$el: HTMLDivElement;
|
|
15
14
|
$anim: HTMLDivElement;
|
|
16
15
|
$pops: HTMLDivElement;
|
|
17
16
|
$mask?: HTMLDivElement | undefined;
|
|
17
|
+
guid: string;
|
|
18
18
|
};
|
|
19
19
|
};
|
|
@@ -47,7 +47,7 @@ export declare const PopsRightClickMenu: {
|
|
|
47
47
|
* @param event
|
|
48
48
|
* @param selectorTarget
|
|
49
49
|
*/
|
|
50
|
-
contextMenuEvent(event: PointerEvent, selectorTarget: NonNullable<PopsRightClickMenuConfig["$target"]>): void
|
|
50
|
+
contextMenuEvent(event: PointerEvent, selectorTarget: NonNullable<PopsRightClickMenuConfig["$target"]>): Promise<void>;
|
|
51
51
|
/**
|
|
52
52
|
* 添加contextmenu事件
|
|
53
53
|
* @param target 目标
|
|
@@ -39,7 +39,7 @@ export interface PopsRightClickMenuDataConfig {
|
|
|
39
39
|
/**
|
|
40
40
|
* 文字
|
|
41
41
|
*/
|
|
42
|
-
text: string
|
|
42
|
+
text: IFunction<string>;
|
|
43
43
|
/**
|
|
44
44
|
* 点击的回调函数
|
|
45
45
|
* @param clickEvent 点击菜单的click事件
|
|
@@ -124,4 +124,11 @@ export interface PopsRightClickMenuConfig extends Pick<PopsGeneralConfig, "useSh
|
|
|
124
124
|
* @default true
|
|
125
125
|
*/
|
|
126
126
|
limitPositionYInView?: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* 菜单显示前的回调
|
|
129
|
+
* @returns
|
|
130
|
+
*
|
|
131
|
+
* + `false`:阻止默认行为(显示菜单)
|
|
132
|
+
*/
|
|
133
|
+
beforeShowCallBack?(event: PointerEvent): IPromise<false | void>;
|
|
127
134
|
}
|
|
@@ -155,19 +155,19 @@ export declare class ToolTip {
|
|
|
155
155
|
*/
|
|
156
156
|
onToolTipMouseEnterEvent(): void;
|
|
157
157
|
/**
|
|
158
|
-
*
|
|
158
|
+
* 取消监听事件 - 鼠标|触摸
|
|
159
159
|
*/
|
|
160
160
|
offToolTipMouseEnterEvent(): void;
|
|
161
161
|
/**
|
|
162
|
-
*
|
|
162
|
+
* 离开事件 - 鼠标|触摸
|
|
163
163
|
*/
|
|
164
164
|
toolTipMouseLeaveEvent(event: MouseEvent | PointerEvent): void;
|
|
165
165
|
/**
|
|
166
|
-
*
|
|
166
|
+
* 监听离开事件 - 鼠标|触摸
|
|
167
167
|
*/
|
|
168
168
|
onToolTipMouseLeaveEvent(): void;
|
|
169
169
|
/**
|
|
170
|
-
*
|
|
170
|
+
* 取消监听离开事件 - 鼠标|触摸
|
|
171
171
|
*/
|
|
172
172
|
offToolTipMouseLeaveEvent(): void;
|
|
173
173
|
}
|
|
@@ -206,7 +206,7 @@ export declare const PopsTooltip: {
|
|
|
206
206
|
otherDistance: number;
|
|
207
207
|
useShadowRoot: boolean;
|
|
208
208
|
only: boolean;
|
|
209
|
-
zIndex: number
|
|
209
|
+
zIndex: IFunction<number>;
|
|
210
210
|
style: string | null;
|
|
211
211
|
beforeAppendToPageCallBack: ($shadowRoot: ShadowRoot | HTMLElement, $shadowContainer: HTMLDivElement) => void;
|
|
212
212
|
};
|
|
@@ -15,35 +15,34 @@ export interface PopsToolTipConfig extends Pick<PopsGeneralConfig, "useShadowRoo
|
|
|
15
15
|
*/
|
|
16
16
|
content: string | (() => string);
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
18
|
+
* 是否比较获取到的`content`的内容是否改变
|
|
19
19
|
*
|
|
20
|
-
*
|
|
20
|
+
* 如果未改变,则在触发`.show`时不修改内容
|
|
21
21
|
* @default false
|
|
22
22
|
*/
|
|
23
23
|
isDiffContent?: boolean;
|
|
24
24
|
/**
|
|
25
25
|
* 位置
|
|
26
|
-
* + `follow`
|
|
26
|
+
* + `follow` 跟随(鼠标|触摸)的位置而移动
|
|
27
27
|
* @default "top"
|
|
28
28
|
*/
|
|
29
29
|
position?: PopsTooltipPosition;
|
|
30
30
|
/**
|
|
31
31
|
* 自定义className
|
|
32
32
|
*
|
|
33
|
-
* + `github-tooltip
|
|
33
|
+
* + `github-tooltip`:github的样式
|
|
34
34
|
* @default ""
|
|
35
35
|
*/
|
|
36
36
|
className?: PopsPanelGeneralConfig<any>["className"];
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
38
|
+
* 是否使用`fixed`定位,`false`则是`absolute`定位
|
|
40
39
|
* @default false
|
|
41
40
|
*/
|
|
42
41
|
isFixed?: boolean;
|
|
43
42
|
/**
|
|
44
43
|
* 是否总是显示,默认为false
|
|
45
|
-
* + true
|
|
46
|
-
*
|
|
44
|
+
* + true 设置的`onShowEventName`、`onCloseEventName`将无效
|
|
45
|
+
* 返回提供`show`和`close`函数,取消`on`和`off`
|
|
47
46
|
* + false 事件触发才显示
|
|
48
47
|
*/
|
|
49
48
|
alwaysShow?: boolean;
|
|
@@ -53,13 +52,15 @@ export interface PopsToolTipConfig extends Pick<PopsGeneralConfig, "useShadowRoo
|
|
|
53
52
|
*/
|
|
54
53
|
delayCloseTime?: number;
|
|
55
54
|
/**
|
|
56
|
-
*
|
|
55
|
+
* 触发显示事件的名称,默认`mouseenter`、`touchstart`,如果是多个事件,按空格分割
|
|
56
|
+
*
|
|
57
|
+
* 如果`position`为`follow`,则添加`mousemove`、`touchmove`事件监听
|
|
57
58
|
* @default "mouseenter touchstart"
|
|
58
59
|
*/
|
|
59
60
|
onShowEventName?: string;
|
|
60
61
|
/**
|
|
61
|
-
*
|
|
62
|
-
* @default "mouseleave touchend"
|
|
62
|
+
* 触发关闭事件的名称,默认`mouseleave`、`touchend`、`touchcancel`,如果是多个事件,按空格分割
|
|
63
|
+
* @default "mouseleave touchend touchcancel"
|
|
63
64
|
*/
|
|
64
65
|
onCloseEventName?: string;
|
|
65
66
|
/**
|
|
@@ -107,9 +108,9 @@ export interface PopsToolTipConfig extends Pick<PopsGeneralConfig, "useShadowRoo
|
|
|
107
108
|
arrowDistance?: number;
|
|
108
109
|
/**
|
|
109
110
|
* 其它的距离(px)
|
|
110
|
-
* +
|
|
111
|
-
* +
|
|
112
|
-
* +
|
|
111
|
+
* + 当`position`为`left`或者`right`,这个距离是上、下距离
|
|
112
|
+
* + 当`position`为`top`或者`bottom`,这个距离是左、右距离
|
|
113
|
+
* + 当`position`为`follow`,这个距离是上、左距离
|
|
113
114
|
* @default 0
|
|
114
115
|
*/
|
|
115
116
|
otherDistance?: number;
|
|
@@ -177,23 +177,23 @@ export declare const PopsHandler: {
|
|
|
177
177
|
* @param guid
|
|
178
178
|
* @param $shadowContainer
|
|
179
179
|
* @param $shadowRoot
|
|
180
|
-
* @param
|
|
180
|
+
* @param type 当前弹窗类型
|
|
181
181
|
* @param $anim 动画层
|
|
182
182
|
* @param $pops 主元素
|
|
183
183
|
* @param $mask 遮罩层
|
|
184
184
|
* @param config 当前配置
|
|
185
185
|
*/
|
|
186
|
-
handleEventConfig(config: PopsAlertConfig | PopsDrawerConfig | PopsPromptConfig | PopsConfirmConfig | PopsIframeConfig | PopsLoadingConfig | PopsPanelConfig | PopsFolderConfig, guid: string, $shadowContainer: HTMLDivElement, $shadowRoot: ShadowRoot | HTMLElement,
|
|
186
|
+
handleEventConfig(config: PopsAlertConfig | PopsDrawerConfig | PopsPromptConfig | PopsConfirmConfig | PopsIframeConfig | PopsLoadingConfig | PopsPanelConfig | PopsFolderConfig, guid: string, $shadowContainer: HTMLDivElement, $shadowRoot: ShadowRoot | HTMLElement, type: PopsInstStoreType, $anim: HTMLDivElement, $pops: HTMLDivElement, $mask?: HTMLDivElement): PopsEventConfig;
|
|
187
187
|
/**
|
|
188
188
|
* 获取loading的事件配置
|
|
189
189
|
* @param guid
|
|
190
|
-
* @param
|
|
190
|
+
* @param type 当前弹窗类型
|
|
191
191
|
* @param $anim 动画层
|
|
192
192
|
* @param $pops 主元素
|
|
193
193
|
* @param $mask 遮罩层
|
|
194
194
|
* @param config 当前配置
|
|
195
195
|
*/
|
|
196
|
-
handleLoadingEventConfig(config: PopsAlertConfig | PopsDrawerConfig | PopsPromptConfig | PopsConfirmConfig | PopsIframeConfig | PopsLoadingConfig | PopsPanelConfig | PopsFolderConfig, guid: string,
|
|
196
|
+
handleLoadingEventConfig(config: PopsAlertConfig | PopsDrawerConfig | PopsPromptConfig | PopsConfirmConfig | PopsIframeConfig | PopsLoadingConfig | PopsPanelConfig | PopsFolderConfig, guid: string, type: "loading", $anim: HTMLDivElement, $pops: HTMLDivElement, $mask?: HTMLDivElement): Omit<PopsEventConfig, "$shadowContainer" | "$shadowRoot">;
|
|
197
197
|
/**
|
|
198
198
|
* 处理返回的配置,针对popsHandler.handleEventConfig
|
|
199
199
|
* @param config 配置
|
|
@@ -272,3 +272,42 @@ export declare type PopsDOMUtilsEventListenerOption = AddEventListenerOptions &
|
|
|
272
272
|
*/
|
|
273
273
|
isComposedPath?: boolean;
|
|
274
274
|
};
|
|
275
|
+
|
|
276
|
+
export type PopsDOMUtilsTargetElementType = HTMLElement | string | NodeList | HTMLElement[];
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* 属性转驼峰
|
|
280
|
+
*/
|
|
281
|
+
export type PopsDOMUtilsCamelToKebabCSSProperty<S extends string> = S extends `webkit${infer U}`
|
|
282
|
+
? `-${Lowercase<"webkit">}${U extends `${infer First}${infer Rest}`
|
|
283
|
+
? First extends Uppercase<First>
|
|
284
|
+
? `-${Uncapitalize<First>}${PopsDOMUtilsCamelToKebabCSSProperty<Rest>}`
|
|
285
|
+
: `${First}${PopsDOMUtilsCamelToKebabCSSProperty<Rest>}`
|
|
286
|
+
: U}`
|
|
287
|
+
: S extends `${infer T}${infer U}`
|
|
288
|
+
? U extends Uncapitalize<U>
|
|
289
|
+
? `${Uncapitalize<T>}${PopsDOMUtilsCamelToKebabCSSProperty<U>}`
|
|
290
|
+
: `${Uncapitalize<T>}-${PopsDOMUtilsCamelToKebabCSSProperty<U>}`
|
|
291
|
+
: S;
|
|
292
|
+
|
|
293
|
+
export type PopsDOMUtilsCSSPropertyType = PopsDOMUtilsCamelToKebabCSSProperty<
|
|
294
|
+
Extract<
|
|
295
|
+
keyof Omit<
|
|
296
|
+
CSSStyleDeclaration,
|
|
297
|
+
| "cssFloat"
|
|
298
|
+
| "cssText"
|
|
299
|
+
| "length"
|
|
300
|
+
| "parentRule"
|
|
301
|
+
| "getPropertyPriority"
|
|
302
|
+
| "getPropertyValue"
|
|
303
|
+
| "item"
|
|
304
|
+
| "removeProperty"
|
|
305
|
+
| "setProperty"
|
|
306
|
+
>,
|
|
307
|
+
string
|
|
308
|
+
>
|
|
309
|
+
>;
|
|
310
|
+
|
|
311
|
+
export type PopsDOMUtilsCSSProperty = {
|
|
312
|
+
[P in PopsDOMUtilsCSSPropertyType]: string | number;
|
|
313
|
+
};
|
|
@@ -184,7 +184,7 @@ export interface PopsGeneralConfig {
|
|
|
184
184
|
*
|
|
185
185
|
* @default 10000
|
|
186
186
|
*/
|
|
187
|
-
zIndex?: number
|
|
187
|
+
zIndex?: IFunction<number>;
|
|
188
188
|
/**
|
|
189
189
|
* 遮罩层
|
|
190
190
|
*/
|
|
@@ -199,6 +199,7 @@ export interface PopsGeneralConfig {
|
|
|
199
199
|
forbiddenScroll?: boolean;
|
|
200
200
|
/**
|
|
201
201
|
* (可选)自定义style
|
|
202
|
+
* @default ""
|
|
202
203
|
*/
|
|
203
204
|
style?: string | null;
|
|
204
205
|
/**
|
|
@@ -18,10 +18,20 @@ export interface PopsEventConfig {
|
|
|
18
18
|
$mask?: HTMLDivElement;
|
|
19
19
|
/** 当前弹窗类型 */
|
|
20
20
|
mode: PopsType;
|
|
21
|
+
/** 唯一id */
|
|
21
22
|
guid: string;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
/**
|
|
24
|
+
* 关闭弹窗
|
|
25
|
+
*/
|
|
26
|
+
close(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* 隐藏弹窗
|
|
29
|
+
*/
|
|
30
|
+
hide(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* 显示弹出
|
|
33
|
+
*/
|
|
34
|
+
show($parent?: HTMLElement | Document | ShadowRoot): Promise<void>;
|
|
25
35
|
}
|
|
26
36
|
|
|
27
37
|
/**
|
|
@@ -21,4 +21,8 @@ export interface PopsInstGeneralConfig extends PopsInstConfig {
|
|
|
21
21
|
$shadowRoot: ShadowRoot | HTMLElement;
|
|
22
22
|
/** 移除实例前的回调函数 */
|
|
23
23
|
beforeRemoveCallBack?: (instCommonConfig: PopsInstGeneralConfig) => void;
|
|
24
|
+
/** 配置 */
|
|
25
|
+
config: any;
|
|
26
|
+
/** 销毁元素 */
|
|
27
|
+
destory(): void | Promise<void>;
|
|
24
28
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ParseHTMLReturnType, PopsDOMUtils_EventType, PopsDOMUtilsCreateElementAttributesMap, PopsDOMUtilsEventListenerOption, PopsDOMUtilsEventListenerOptionsAttribute, PopsDOMUtils_Event, PopsDOMUtilsElementEventType, PopsDOMUtilsAddEventListenerResult } from "../types/PopsDOMUtilsEventType";
|
|
1
|
+
import type { ParseHTMLReturnType, PopsDOMUtils_EventType, PopsDOMUtilsCreateElementAttributesMap, PopsDOMUtilsEventListenerOption, PopsDOMUtilsEventListenerOptionsAttribute, PopsDOMUtils_Event, PopsDOMUtilsElementEventType, PopsDOMUtilsAddEventListenerResult, PopsDOMUtilsCSSProperty, PopsDOMUtilsCSSPropertyType, PopsDOMUtilsTargetElementType } from "../types/PopsDOMUtilsEventType";
|
|
2
2
|
declare class PopsDOMUtilsEvent {
|
|
3
3
|
/**
|
|
4
4
|
* 绑定事件
|
|
@@ -517,7 +517,7 @@ declare class PopsDOMUtils extends PopsDOMUtilsEvent {
|
|
|
517
517
|
containsClassName($el: HTMLElement | undefined | null, className: string): boolean;
|
|
518
518
|
/**
|
|
519
519
|
* 获取元素的样式属性值
|
|
520
|
-
* @param
|
|
520
|
+
* @param $el 目标元素
|
|
521
521
|
* @param property 样式属性名或包含多个属性名和属性值的对象
|
|
522
522
|
* @example
|
|
523
523
|
* // 获取元素a.xx的CSS属性display
|
|
@@ -525,10 +525,10 @@ declare class PopsDOMUtils extends PopsDOMUtilsEvent {
|
|
|
525
525
|
* DOMUtils.css("a.xx","display");
|
|
526
526
|
* > "none"
|
|
527
527
|
* */
|
|
528
|
-
css(
|
|
528
|
+
css($el: PopsDOMUtilsTargetElementType, property: PopsDOMUtilsCSSPropertyType): string;
|
|
529
529
|
/**
|
|
530
530
|
* 获取元素的样式属性值
|
|
531
|
-
* @param
|
|
531
|
+
* @param $el 目标元素
|
|
532
532
|
* @param property 样式属性名或包含多个属性名和属性值的对象
|
|
533
533
|
* @example
|
|
534
534
|
* // 获取元素a.xx的CSS属性display
|
|
@@ -536,10 +536,10 @@ declare class PopsDOMUtils extends PopsDOMUtilsEvent {
|
|
|
536
536
|
* DOMUtils.css("a.xx","display");
|
|
537
537
|
* > "none"
|
|
538
538
|
* */
|
|
539
|
-
css(
|
|
539
|
+
css($el: PopsDOMUtilsTargetElementType, property: string): string;
|
|
540
540
|
/**
|
|
541
541
|
* 设置元素的样式属性
|
|
542
|
-
* @param
|
|
542
|
+
* @param $el 目标元素
|
|
543
543
|
* @param property 样式属性名或包含多个属性名和属性值的对象
|
|
544
544
|
* @param value 样式属性值
|
|
545
545
|
* @example
|
|
@@ -553,10 +553,10 @@ declare class PopsDOMUtils extends PopsDOMUtilsEvent {
|
|
|
553
553
|
* DOMUtils.css(document.querySelector("a.xx"),"top","10px");
|
|
554
554
|
* DOMUtils.css(document.querySelector("a.xx"),"top",10);
|
|
555
555
|
* */
|
|
556
|
-
css(
|
|
556
|
+
css($el: PopsDOMUtilsTargetElementType, property: PopsDOMUtilsCSSPropertyType & string, value: string | number): string;
|
|
557
557
|
/**
|
|
558
558
|
* 设置元素的样式属性
|
|
559
|
-
* @param
|
|
559
|
+
* @param $el 目标元素
|
|
560
560
|
* @param property 样式属性名或包含多个属性名和属性值的对象
|
|
561
561
|
* @param value 样式属性值
|
|
562
562
|
* @example
|
|
@@ -568,11 +568,9 @@ declare class PopsDOMUtils extends PopsDOMUtilsEvent {
|
|
|
568
568
|
* DOMUtils.css(document.querySelector("a.xx"),{ top: "10px" });
|
|
569
569
|
* DOMUtils.css(document.querySelector("a.xx"),{ top: 10 });
|
|
570
570
|
* */
|
|
571
|
-
css(
|
|
572
|
-
[P in keyof CSSStyleDeclaration]?: CSSStyleDeclaration[P];
|
|
573
|
-
} | {
|
|
571
|
+
css($el: PopsDOMUtilsTargetElementType, property: PopsDOMUtilsCSSProperty | {
|
|
574
572
|
[key: string]: string | number;
|
|
575
|
-
}): string;
|
|
573
|
+
} | string): string;
|
|
576
574
|
/**
|
|
577
575
|
* 创建元素
|
|
578
576
|
* @param tagName 标签名
|
|
@@ -44,11 +44,11 @@ export declare const PopsInstanceUtils: {
|
|
|
44
44
|
getMaxZIndex(deviation?: number): number;
|
|
45
45
|
/**
|
|
46
46
|
* 删除配置中对应的对象
|
|
47
|
-
* @param
|
|
47
|
+
* @param totalInstConfigList 配置实例列表
|
|
48
48
|
* @param guid 唯一标识
|
|
49
49
|
* @param isAll 是否全部删除
|
|
50
50
|
*/
|
|
51
|
-
removeInstance(
|
|
51
|
+
removeInstance(totalInstConfigList: PopsInstGeneralConfig[][], guid?: string, isAll?: boolean): Promise<PopsInstGeneralConfig[][]>;
|
|
52
52
|
/**
|
|
53
53
|
* 隐藏
|
|
54
54
|
* @param popsType
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whitesev/pops",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "弹窗库,包含了alert、confirm、prompt、drawer、loading、iframe、rightClickMenu等组件",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/WhiteSevs/TamperMonkeyScript/tree/master/lib/pops#readme",
|
|
@@ -41,34 +41,34 @@
|
|
|
41
41
|
"license": "MIT",
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"any-touch": "^2.2.0",
|
|
44
|
-
"worker-timers": "
|
|
44
|
+
"worker-timers": "8.0.27"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@eslint/js": "^9.39.
|
|
47
|
+
"@eslint/js": "^9.39.2",
|
|
48
48
|
"@rollup/plugin-commonjs": "^29.0.0",
|
|
49
49
|
"@rollup/plugin-json": "^6.1.0",
|
|
50
50
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
51
51
|
"@rollup/plugin-terser": "^0.4.4",
|
|
52
52
|
"@rollup/plugin-typescript": "12.3.0",
|
|
53
|
-
"browserslist": "^4.28.
|
|
54
|
-
"caniuse-lite": "^1.0.
|
|
55
|
-
"eslint": "^9.39.
|
|
53
|
+
"browserslist": "^4.28.1",
|
|
54
|
+
"caniuse-lite": "^1.0.30001761",
|
|
55
|
+
"eslint": "^9.39.2",
|
|
56
56
|
"eslint-config-prettier": "^10.1.8",
|
|
57
57
|
"eslint-plugin-compat": "^6.0.2",
|
|
58
58
|
"eslint-plugin-prettier": "^5.5.4",
|
|
59
59
|
"globals": "^16.5.0",
|
|
60
|
-
"rollup": "^4.
|
|
60
|
+
"rollup": "^4.54.0",
|
|
61
61
|
"rollup-plugin-clear": "^2.0.7",
|
|
62
62
|
"rollup-plugin-import-css": "^4.1.2",
|
|
63
63
|
"tslib": "^2.8.1",
|
|
64
64
|
"typescript": "^5.9.3",
|
|
65
|
-
"typescript-eslint": "^8.
|
|
65
|
+
"typescript-eslint": "^8.50.1"
|
|
66
66
|
},
|
|
67
67
|
"scripts": {
|
|
68
68
|
"lint": "eslint .",
|
|
69
69
|
"lint:fix": "eslint . --fix",
|
|
70
70
|
"format": "prettier . --write",
|
|
71
|
-
"dev": "
|
|
71
|
+
"dev": "vue-tsc --noEmit && vite --force",
|
|
72
72
|
"build": "pnpm run format && pnpm run lint && rollup -c"
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -118,6 +118,7 @@ export const PopsAlert = {
|
|
|
118
118
|
$pops,
|
|
119
119
|
$mask
|
|
120
120
|
);
|
|
121
|
+
const result = PopsHandler.handleResultConfig(evtConfig);
|
|
121
122
|
// 为顶部右边的关闭按钮添加点击事件
|
|
122
123
|
PopsHandler.handleClickEvent("close", $headerCloseBtn, evtConfig, config.btn.close?.callback);
|
|
123
124
|
// 为底部ok按钮添加点击事件
|
|
@@ -143,6 +144,8 @@ export const PopsAlert = {
|
|
|
143
144
|
$mask: $mask!,
|
|
144
145
|
$shadowContainer: $shadowContainer,
|
|
145
146
|
$shadowRoot: $shadowRoot,
|
|
147
|
+
config: config,
|
|
148
|
+
destory: result.close,
|
|
146
149
|
});
|
|
147
150
|
// 拖拽
|
|
148
151
|
if (config.drag) {
|
|
@@ -155,7 +158,6 @@ export const PopsAlert = {
|
|
|
155
158
|
});
|
|
156
159
|
}
|
|
157
160
|
|
|
158
|
-
const result = PopsHandler.handleResultConfig(evtConfig);
|
|
159
161
|
return result;
|
|
160
162
|
},
|
|
161
163
|
};
|
|
@@ -123,6 +123,7 @@ export const PopsConfirm = {
|
|
|
123
123
|
$pops,
|
|
124
124
|
$mask
|
|
125
125
|
);
|
|
126
|
+
const result = PopsHandler.handleResultConfig(evtConfig);
|
|
126
127
|
PopsHandler.handleClickEvent("close", $btnClose, evtConfig, config.btn.close.callback);
|
|
127
128
|
PopsHandler.handleClickEvent("ok", $btnOk, evtConfig, config.btn.ok.callback);
|
|
128
129
|
PopsHandler.handleClickEvent("cancel", $btnCancel, evtConfig, config.btn.cancel.callback);
|
|
@@ -146,6 +147,8 @@ export const PopsConfirm = {
|
|
|
146
147
|
$mask: $mask!,
|
|
147
148
|
$shadowContainer: $shadowContainer,
|
|
148
149
|
$shadowRoot: $shadowRoot,
|
|
150
|
+
config: config,
|
|
151
|
+
destory: result.close,
|
|
149
152
|
});
|
|
150
153
|
// 拖拽
|
|
151
154
|
if (config.drag) {
|
|
@@ -157,7 +160,6 @@ export const PopsConfirm = {
|
|
|
157
160
|
endCallBack: config.dragEndCallBack,
|
|
158
161
|
});
|
|
159
162
|
}
|
|
160
|
-
const result = PopsHandler.handleResultConfig(evtConfig);
|
|
161
163
|
return result;
|
|
162
164
|
},
|
|
163
165
|
};
|
|
@@ -128,6 +128,7 @@ export const PopsDrawer = {
|
|
|
128
128
|
$pops,
|
|
129
129
|
$mask
|
|
130
130
|
);
|
|
131
|
+
const result = PopsHandler.handleResultConfig(evtConfig);
|
|
131
132
|
// 处理方向
|
|
132
133
|
|
|
133
134
|
$pops.setAttribute("direction", config.direction);
|
|
@@ -236,8 +237,9 @@ export const PopsDrawer = {
|
|
|
236
237
|
$mask: $mask!,
|
|
237
238
|
$shadowContainer: $shadowContainer,
|
|
238
239
|
$shadowRoot: $shadowRoot,
|
|
240
|
+
config: config,
|
|
241
|
+
destory: result.close,
|
|
239
242
|
});
|
|
240
|
-
const result = PopsHandler.handleResultConfig(evtConfig);
|
|
241
243
|
return result;
|
|
242
244
|
},
|
|
243
245
|
};
|
|
@@ -280,6 +280,7 @@ export const PopsFolder = {
|
|
|
280
280
|
$pops,
|
|
281
281
|
$mask
|
|
282
282
|
);
|
|
283
|
+
const result = PopsHandler.handleResultConfig(evtConfig);
|
|
283
284
|
PopsHandler.handleClickEvent("close", $btnCloseBtn, evtConfig, config.btn.close.callback);
|
|
284
285
|
PopsHandler.handleClickEvent("ok", btnOkElement, evtConfig, config.btn.ok.callback);
|
|
285
286
|
PopsHandler.handleClickEvent("cancel", btnCancelElement, evtConfig, config.btn.cancel.callback);
|
|
@@ -923,8 +924,9 @@ export const PopsFolder = {
|
|
|
923
924
|
$mask: $mask!,
|
|
924
925
|
$shadowContainer: $shadowContainer,
|
|
925
926
|
$shadowRoot: $shadowRoot,
|
|
927
|
+
config: config,
|
|
928
|
+
destory: result.close,
|
|
926
929
|
});
|
|
927
|
-
const result = PopsHandler.handleResultConfig(evtConfig);
|
|
928
930
|
return result;
|
|
929
931
|
},
|
|
930
932
|
};
|
|
@@ -146,6 +146,8 @@ export const PopsIframe = {
|
|
|
146
146
|
// 赋值额外的$iframe参数
|
|
147
147
|
evtConfig.$iframe = $iframe!;
|
|
148
148
|
|
|
149
|
+
const result = PopsHandler.handleResultConfig(evtConfig);
|
|
150
|
+
|
|
149
151
|
popsDOMUtils.on($anim, popsDOMUtils.getAnimationEndNameList(), function () {
|
|
150
152
|
// 动画加载完毕
|
|
151
153
|
$anim.style.width = "0%";
|
|
@@ -301,10 +303,10 @@ export const PopsIframe = {
|
|
|
301
303
|
popsDOMUtils.on<MouseEvent | PointerEvent>(
|
|
302
304
|
headerCloseBtnElement,
|
|
303
305
|
"click",
|
|
304
|
-
(event) => {
|
|
306
|
+
async (event) => {
|
|
305
307
|
event.preventDefault();
|
|
306
308
|
event.stopPropagation();
|
|
307
|
-
PopsInstanceUtils.removeInstance([PopsInstData.iframe], guid, false);
|
|
309
|
+
await PopsInstanceUtils.removeInstance([PopsInstData.iframe], guid, false);
|
|
308
310
|
if (typeof config?.btn?.close?.callback === "function") {
|
|
309
311
|
config.btn.close.callback(evtConfig, event);
|
|
310
312
|
}
|
|
@@ -321,9 +323,9 @@ export const PopsIframe = {
|
|
|
321
323
|
$mask: $mask!,
|
|
322
324
|
$shadowContainer: $shadowContainer,
|
|
323
325
|
$shadowRoot: $shadowRoot,
|
|
326
|
+
config: config,
|
|
327
|
+
destory: result.close,
|
|
324
328
|
});
|
|
325
|
-
|
|
326
|
-
const result = PopsHandler.handleResultConfig(evtConfig);
|
|
327
329
|
return result;
|
|
328
330
|
},
|
|
329
331
|
};
|