@whitesev/pops 3.3.4 → 3.3.5
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 +36 -10
- 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 +36 -10
- 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 +36 -10
- 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 +36 -10
- 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 +36 -10
- 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 +36 -10
- 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 +11 -10
- package/dist/types/src/components/folder/types/index.d.ts +4 -0
- package/dist/types/src/components/tooltip/index.d.ts +1 -1
- package/dist/types/src/config/GlobalConfig.d.ts +1 -0
- package/dist/types/src/handler/PopsHandler.d.ts +2 -5
- package/dist/types/src/types/components.d.ts +7 -0
- package/package.json +1 -1
- package/src/components/alert/defaultConfig.ts +1 -0
- package/src/components/confirm/defaultConfig.ts +1 -0
- package/src/components/drawer/defaultConfig.ts +1 -0
- package/src/components/folder/defaultConfig.ts +1 -0
- package/src/components/folder/types/index.ts +4 -0
- package/src/components/iframe/defaultConfig.ts +1 -0
- package/src/components/loading/defaultConfig.ts +1 -0
- package/src/components/panel/defaultConfig.ts +1 -0
- package/src/components/prompt/defaultConfig.ts +1 -0
- package/src/handler/PopsHandler.ts +34 -10
- package/src/types/components.d.ts +7 -0
package/dist/types/src/Pops.d.ts
CHANGED
|
@@ -37,16 +37,16 @@ declare class Pops {
|
|
|
37
37
|
};
|
|
38
38
|
/** icon图标的svg代码 */
|
|
39
39
|
iconSVG: {
|
|
40
|
-
loading: string;
|
|
41
40
|
min: string;
|
|
42
|
-
max: string;
|
|
43
|
-
search: string;
|
|
44
41
|
mise: string;
|
|
42
|
+
max: string;
|
|
45
43
|
close: string;
|
|
46
44
|
edit: string;
|
|
47
45
|
share: string;
|
|
48
46
|
delete: string;
|
|
47
|
+
search: string;
|
|
49
48
|
upload: string;
|
|
49
|
+
loading: string;
|
|
50
50
|
next: string;
|
|
51
51
|
prev: string;
|
|
52
52
|
eleme: string;
|
|
@@ -72,14 +72,14 @@ declare class Pops {
|
|
|
72
72
|
};
|
|
73
73
|
/** 存储已创建的元素 */
|
|
74
74
|
instData: {
|
|
75
|
-
iframe: import("./types/inst").PopsInstGeneralConfig[];
|
|
76
|
-
folder: import("./types/inst").PopsInstGeneralConfig[];
|
|
77
75
|
loading: import("./types/inst").PopsInstGeneralConfig[];
|
|
78
76
|
alert: import("./types/inst").PopsInstGeneralConfig[];
|
|
79
77
|
confirm: import("./types/inst").PopsInstGeneralConfig[];
|
|
80
78
|
prompt: import("./types/inst").PopsInstGeneralConfig[];
|
|
79
|
+
iframe: import("./types/inst").PopsInstGeneralConfig[];
|
|
81
80
|
tooltip: import("./types/inst").PopsInstGeneralConfig[];
|
|
82
81
|
drawer: import("./types/inst").PopsInstGeneralConfig[];
|
|
82
|
+
folder: import("./types/inst").PopsInstGeneralConfig[];
|
|
83
83
|
panel: import("./types/inst").PopsInstGeneralConfig[];
|
|
84
84
|
rightClickMenu: import("./types/inst").PopsInstGeneralConfig[];
|
|
85
85
|
};
|
|
@@ -726,6 +726,7 @@ declare class Pops {
|
|
|
726
726
|
forbiddenScroll?: boolean | undefined;
|
|
727
727
|
lightStyle?: string | undefined;
|
|
728
728
|
darkStyle?: string | undefined;
|
|
729
|
+
stopKeyDownEventPropagation?: boolean | undefined;
|
|
729
730
|
beforeAppendToPageCallBack?: void;
|
|
730
731
|
drag?: boolean | undefined;
|
|
731
732
|
dragLimit?: boolean | undefined;
|
|
@@ -788,16 +789,16 @@ declare class Pops {
|
|
|
788
789
|
showArrow: boolean;
|
|
789
790
|
arrowDistance: number;
|
|
790
791
|
otherDistance: number;
|
|
791
|
-
useShadowRoot: boolean;
|
|
792
|
-
only: boolean;
|
|
793
792
|
zIndex: IFunction<number>;
|
|
794
793
|
style: string | null;
|
|
794
|
+
useShadowRoot: boolean;
|
|
795
|
+
only: boolean;
|
|
795
796
|
lightStyle: string | null;
|
|
796
797
|
darkStyle: string | null;
|
|
797
798
|
beforeAppendToPageCallBack: ($shadowRoot: ShadowRoot | HTMLElement, $shadowContainer: HTMLDivElement) => void;
|
|
798
799
|
};
|
|
799
800
|
$shadowContainer: HTMLDivElement;
|
|
800
|
-
$shadowRoot:
|
|
801
|
+
$shadowRoot: ShadowRoot | HTMLElement;
|
|
801
802
|
toolTip: import("./components/tooltip").ToolTip;
|
|
802
803
|
};
|
|
803
804
|
/**
|
|
@@ -817,9 +818,9 @@ declare class Pops {
|
|
|
817
818
|
panel: (config: PopsPanelConfig) => {
|
|
818
819
|
addEventListener: <K extends keyof import("./components/panel/types").PopsPanelEventType>(event: K, listener: (evt: CustomEvent<import("./components/panel/types").PopsPanelEventType[K]>) => void, options?: boolean | EventListenerOptions) => void;
|
|
819
820
|
removeEventListener: <K extends keyof import("./components/panel/types").PopsPanelEventType>(event: K, listener: (evt: CustomEvent<import("./components/panel/types").PopsPanelEventType[K]>) => void, options?: boolean | EventListenerOptions) => void;
|
|
820
|
-
mode: import("./types/main").PopsType;
|
|
821
821
|
close: () => Promise<void>;
|
|
822
822
|
hide: () => Promise<void>;
|
|
823
|
+
mode: import("./types/main").PopsType;
|
|
823
824
|
show: ($parent?: HTMLElement | Document | ShadowRoot) => Promise<void>;
|
|
824
825
|
$shadowContainer: HTMLDivElement;
|
|
825
826
|
$shadowRoot: ShadowRoot | HTMLElement;
|
|
@@ -907,7 +908,7 @@ declare class Pops {
|
|
|
907
908
|
* searchSuggestion.setAllEvent();
|
|
908
909
|
*/
|
|
909
910
|
searchSuggestion: <T = any>(config: PopsSearchSuggestionConfig<T>) => {
|
|
910
|
-
selfDocument:
|
|
911
|
+
selfDocument: ShadowRoot | Document | (ShadowRoot | Document)[];
|
|
911
912
|
$el: {
|
|
912
913
|
root: HTMLElement;
|
|
913
914
|
$dropdownWrapper: HTMLElement;
|
|
@@ -4,8 +4,12 @@ import type { PopsTitleConfig, PopsDragConfig, PopsGeneralConfig, PopsMoreButton
|
|
|
4
4
|
*/
|
|
5
5
|
export type PopsFolderDownloadOption = {
|
|
6
6
|
/**
|
|
7
|
+
*
|
|
8
|
+
* 前置条件:url不为空
|
|
9
|
+
*
|
|
7
10
|
* 下载方式,不传入就不下载(不做任何处理)
|
|
8
11
|
*
|
|
12
|
+
*
|
|
9
13
|
* + `a`: 使用`a标签`进行下载
|
|
10
14
|
* + `aBlank`: 使用`a标签`进行下载(添加属性`target="_blank"`)
|
|
11
15
|
* + `iframe`: 使用`iframe`进行下载
|
|
@@ -213,7 +213,7 @@ export declare const PopsTooltip: {
|
|
|
213
213
|
beforeAppendToPageCallBack: ($shadowRoot: ShadowRoot | HTMLElement, $shadowContainer: HTMLDivElement) => void;
|
|
214
214
|
};
|
|
215
215
|
$shadowContainer: HTMLDivElement;
|
|
216
|
-
$shadowRoot:
|
|
216
|
+
$shadowRoot: HTMLElement | ShadowRoot;
|
|
217
217
|
toolTip: ToolTip;
|
|
218
218
|
};
|
|
219
219
|
};
|
|
@@ -27,6 +27,7 @@ export declare const GlobalConfig: {
|
|
|
27
27
|
forbiddenScroll?: boolean | undefined;
|
|
28
28
|
lightStyle?: string | undefined;
|
|
29
29
|
darkStyle?: string | undefined;
|
|
30
|
+
stopKeyDownEventPropagation?: boolean | undefined;
|
|
30
31
|
beforeAppendToPageCallBack?: void;
|
|
31
32
|
drag?: boolean | undefined;
|
|
32
33
|
dragLimit?: boolean | undefined;
|
|
@@ -14,12 +14,9 @@ export declare const PopsHandler: {
|
|
|
14
14
|
/**
|
|
15
15
|
* 创建shadow
|
|
16
16
|
*/
|
|
17
|
-
handlerShadow(config: Pick<PopsGeneralConfig, "useShadowRoot">): {
|
|
17
|
+
handlerShadow(config: Pick<PopsGeneralConfig, "useShadowRoot" | "stopKeyDownEventPropagation">): {
|
|
18
18
|
$shadowContainer: HTMLDivElement;
|
|
19
|
-
$shadowRoot: ShadowRoot;
|
|
20
|
-
} | {
|
|
21
|
-
$shadowContainer: HTMLDivElement;
|
|
22
|
-
$shadowRoot: HTMLDivElement;
|
|
19
|
+
$shadowRoot: HTMLElement | ShadowRoot;
|
|
23
20
|
};
|
|
24
21
|
/**
|
|
25
22
|
* 处理初始化
|
|
@@ -214,6 +214,13 @@ export interface PopsGeneralConfig {
|
|
|
214
214
|
* 传入的css都在dark内
|
|
215
215
|
*/
|
|
216
216
|
darkStyle?: string | null;
|
|
217
|
+
/**
|
|
218
|
+
* (可选)是否阻止`keydown`事件传播
|
|
219
|
+
*
|
|
220
|
+
* 主要是阻止当`keydown`触发来源为输入框时,即在输入框内按下按键不会触发页面的快捷键
|
|
221
|
+
* @default true
|
|
222
|
+
*/
|
|
223
|
+
stopKeyDownEventPropagation?: boolean;
|
|
217
224
|
/**
|
|
218
225
|
* 在元素添加到页面前的事件
|
|
219
226
|
* @param $shadowRoot 根元素
|
package/package.json
CHANGED
|
@@ -21,22 +21,46 @@ export const PopsHandler = {
|
|
|
21
21
|
/**
|
|
22
22
|
* 创建shadow
|
|
23
23
|
*/
|
|
24
|
-
handlerShadow(config: Pick<PopsGeneralConfig, "useShadowRoot">) {
|
|
24
|
+
handlerShadow(config: Pick<PopsGeneralConfig, "useShadowRoot" | "stopKeyDownEventPropagation">) {
|
|
25
25
|
const $shadowContainer = popsDOMUtils.createElement("div", {
|
|
26
26
|
className: "pops-shadow-container",
|
|
27
27
|
});
|
|
28
|
+
let $shadowRoot: ShadowRoot | HTMLElement;
|
|
28
29
|
if (config.useShadowRoot) {
|
|
29
|
-
|
|
30
|
-
return {
|
|
31
|
-
$shadowContainer,
|
|
32
|
-
$shadowRoot,
|
|
33
|
-
};
|
|
30
|
+
$shadowRoot = $shadowContainer.attachShadow({ mode: "open" });
|
|
34
31
|
} else {
|
|
35
|
-
|
|
36
|
-
$shadowContainer,
|
|
37
|
-
$shadowRoot: $shadowContainer,
|
|
38
|
-
};
|
|
32
|
+
$shadowRoot = $shadowContainer;
|
|
39
33
|
}
|
|
34
|
+
// 添加键盘监听
|
|
35
|
+
// rightClickMenu
|
|
36
|
+
// searchSuggestion
|
|
37
|
+
// tooltip
|
|
38
|
+
// 以上都不需要添加该事件监听
|
|
39
|
+
if (config.stopKeyDownEventPropagation) {
|
|
40
|
+
popsDOMUtils.on(
|
|
41
|
+
$shadowRoot,
|
|
42
|
+
"keydown",
|
|
43
|
+
[
|
|
44
|
+
'input[type="text"]',
|
|
45
|
+
'input[type="password"]',
|
|
46
|
+
'input[type="number"]',
|
|
47
|
+
'input[type="email"]',
|
|
48
|
+
'input[type="url"]',
|
|
49
|
+
'input[type="search"]',
|
|
50
|
+
"input:not([type])",
|
|
51
|
+
"textarea",
|
|
52
|
+
],
|
|
53
|
+
(evt) => {
|
|
54
|
+
evt.stopImmediatePropagation();
|
|
55
|
+
evt.stopPropagation();
|
|
56
|
+
},
|
|
57
|
+
{ capture: true }
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
$shadowContainer,
|
|
62
|
+
$shadowRoot,
|
|
63
|
+
};
|
|
40
64
|
},
|
|
41
65
|
/**
|
|
42
66
|
* 处理初始化
|
|
@@ -214,6 +214,13 @@ export interface PopsGeneralConfig {
|
|
|
214
214
|
* 传入的css都在dark内
|
|
215
215
|
*/
|
|
216
216
|
darkStyle?: string | null;
|
|
217
|
+
/**
|
|
218
|
+
* (可选)是否阻止`keydown`事件传播
|
|
219
|
+
*
|
|
220
|
+
* 主要是阻止当`keydown`触发来源为输入框时,即在输入框内按下按键不会触发页面的快捷键
|
|
221
|
+
* @default true
|
|
222
|
+
*/
|
|
223
|
+
stopKeyDownEventPropagation?: boolean;
|
|
217
224
|
/**
|
|
218
225
|
* 在元素添加到页面前的事件
|
|
219
226
|
* @param $shadowRoot 根元素
|