@whitesev/pops 2.1.9 → 2.1.10
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 +111 -2
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +111 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +111 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +111 -2
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +111 -2
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +111 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/Pops.d.ts +6 -0
- package/dist/types/src/utils/PopsDOMUtils.d.ts +13 -0
- package/package.json +1 -1
- package/src/components/rightClickMenu/index.css +13 -9
- package/src/css/index.css +3 -0
- package/src/utils/PopsDOMUtils.ts +113 -0
package/dist/types/src/Pops.d.ts
CHANGED
|
@@ -141,6 +141,12 @@ declare class Pops {
|
|
|
141
141
|
before(element: HTMLElement | Element | string, content: HTMLElement | string): void;
|
|
142
142
|
after(element: HTMLElement | Element | string, content: HTMLElement | string): void;
|
|
143
143
|
getKeyFrames(sheet: CSSStyleSheet): {};
|
|
144
|
+
calcColor(): {
|
|
145
|
+
hexToRgb: (str: string) => any;
|
|
146
|
+
rgbToHex: (r: any, g: any, b: any) => string;
|
|
147
|
+
getDarkColor: (color: string, level: number) => string;
|
|
148
|
+
getLightColor: (color: string, level: number) => string;
|
|
149
|
+
};
|
|
144
150
|
on<T extends import("./types/PopsDOMUtilsEventType").PopsDOMUtils_EventType>(element: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsElementEventType, eventType: T | T[], callback: (this: HTMLElement, event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event[T]) => void, option?: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsEventListenerOption | boolean): void;
|
|
145
151
|
on<T extends Event>(element: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsElementEventType, eventType: string | string[], callback: (this: HTMLElement, event: T) => void, option?: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsEventListenerOption | boolean): void;
|
|
146
152
|
on<T extends import("./types/PopsDOMUtilsEventType").PopsDOMUtils_EventType>(element: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsElementEventType, eventType: T | T[], selector: string | string[] | undefined | null, callback: (this: HTMLElement, event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event[T], selectorTarget: HTMLElement) => void, option?: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsEventListenerOption | boolean): void;
|
|
@@ -729,6 +729,19 @@ declare class PopsDOMUtils extends PopsDOMUtilsEvent {
|
|
|
729
729
|
* @returns
|
|
730
730
|
*/
|
|
731
731
|
getKeyFrames(sheet: CSSStyleSheet): {};
|
|
732
|
+
/**
|
|
733
|
+
* 颜色转换函数
|
|
734
|
+
* @method hexToRgb hex 颜色转 rgb 颜色
|
|
735
|
+
* @method rgbToHex rgb 颜色转 Hex 颜色
|
|
736
|
+
* @method getDarkColor 加深颜色值
|
|
737
|
+
* @method getLightColor 变浅颜色值
|
|
738
|
+
*/
|
|
739
|
+
calcColor(): {
|
|
740
|
+
hexToRgb: (str: string) => any;
|
|
741
|
+
rgbToHex: (r: any, g: any, b: any) => string;
|
|
742
|
+
getDarkColor: (color: string, level: number) => string;
|
|
743
|
+
getLightColor: (color: string, level: number) => string;
|
|
744
|
+
};
|
|
732
745
|
}
|
|
733
746
|
declare const popsDOMUtils: PopsDOMUtils;
|
|
734
747
|
export { popsDOMUtils };
|
package/package.json
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
.pops-rightClickMenu {
|
|
2
|
-
--right-context-
|
|
3
|
-
--right-context-
|
|
4
|
-
--right-context-
|
|
2
|
+
--pops-right-context-color: #000000;
|
|
3
|
+
--pops-right-context-bg-color: #ffffff;
|
|
4
|
+
--pops-right-context-z-index: 10000;
|
|
5
|
+
--pops-right-context-menu-shadow-color: #cacaca;
|
|
6
|
+
--pops-right-context-menu-row-visited-color: #dfdfdf;
|
|
7
|
+
--pops-right-context-menu-row-hover-color: #dfdfdf;
|
|
5
8
|
}
|
|
6
9
|
.pops-rightClickMenu * {
|
|
7
10
|
-webkit-box-sizing: border-box;
|
|
@@ -13,13 +16,14 @@
|
|
|
13
16
|
}
|
|
14
17
|
.pops-rightClickMenu {
|
|
15
18
|
position: fixed;
|
|
16
|
-
z-index:
|
|
19
|
+
z-index: var(--pops-right-context-z-index);
|
|
17
20
|
text-align: center;
|
|
18
21
|
border-radius: 3px;
|
|
19
22
|
font-size: 16px;
|
|
20
23
|
font-weight: 500;
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
color: var(--pops-right-context-color);
|
|
25
|
+
background-color: var(--pops-right-context-bg-color);
|
|
26
|
+
box-shadow: 0px 1px 6px 1px var(--pops-right-context-menu-shadow-color);
|
|
23
27
|
}
|
|
24
28
|
.pops-rightClickMenu-anim-grid {
|
|
25
29
|
display: grid;
|
|
@@ -30,7 +34,7 @@
|
|
|
30
34
|
grid-template-rows: 1fr;
|
|
31
35
|
}
|
|
32
36
|
.pops-rightClickMenu-is-visited {
|
|
33
|
-
background: var(--right-context-menu-row-visited-color);
|
|
37
|
+
background: var(--pops-right-context-menu-row-visited-color);
|
|
34
38
|
}
|
|
35
39
|
i.pops-rightClickMenu-icon {
|
|
36
40
|
height: 1em;
|
|
@@ -50,7 +54,7 @@ i.pops-rightClickMenu-icon[is-loading="true"] {
|
|
|
50
54
|
animation: rotating 2s linear infinite;
|
|
51
55
|
}
|
|
52
56
|
.pops-rightClickMenu li:hover {
|
|
53
|
-
background: var(--right-context-menu-row-hover-color);
|
|
57
|
+
background: var(--pops-right-context-menu-row-hover-color);
|
|
54
58
|
cursor: pointer;
|
|
55
59
|
}
|
|
56
60
|
.pops-rightClickMenu ul {
|
|
@@ -79,6 +83,6 @@ i.pops-rightClickMenu-icon[is-loading="true"] {
|
|
|
79
83
|
|
|
80
84
|
@media (prefers-color-scheme: dark) {
|
|
81
85
|
.pops-rightClickMenu {
|
|
82
|
-
--right-context-menu-shadow-color: #3c3c3c;
|
|
86
|
+
--pops-right-context-menu-shadow-color: #3c3c3c;
|
|
83
87
|
}
|
|
84
88
|
}
|
package/src/css/index.css
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
--pops-bd-opacity: 1;
|
|
14
14
|
--pops-font-size: 16px;
|
|
15
15
|
interpolate-size: allow-keywords;
|
|
16
|
+
--pops-color: #000000;
|
|
16
17
|
--pops-bg-color: rgb(255, 255, 255, var(--pops-bg-opacity));
|
|
17
18
|
--pops-bd-color: rgb(235, 238, 245, var(--pops-bd-opacity));
|
|
18
19
|
--pops-box-shadow-color: rgba(0, 0, 0, 0.12);
|
|
@@ -29,6 +30,7 @@
|
|
|
29
30
|
@media (prefers-color-scheme: dark) {
|
|
30
31
|
.pops {
|
|
31
32
|
--pops-mask-bg-opacity: 0.8;
|
|
33
|
+
--pops-color: #ffffff;
|
|
32
34
|
--pops-bg-color: rgb(17, 17, 17, var(--pops-bg-opacity));
|
|
33
35
|
--pops-bd-color: rgb(55, 55, 55, var(--pops-bd-opacity));
|
|
34
36
|
--pops-box-shadow-color: rgba(81, 81, 81, 0.12);
|
|
@@ -38,6 +40,7 @@
|
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
42
|
.pops {
|
|
43
|
+
color: var(--pops-color);
|
|
41
44
|
background-color: var(--pops-bg-color);
|
|
42
45
|
border: 1px solid var(--pops-bd-color);
|
|
43
46
|
border-radius: 4px;
|
|
@@ -2517,6 +2517,119 @@ class PopsDOMUtils extends PopsDOMUtilsEvent {
|
|
|
2517
2517
|
});
|
|
2518
2518
|
return result;
|
|
2519
2519
|
}
|
|
2520
|
+
/**
|
|
2521
|
+
* 颜色转换函数
|
|
2522
|
+
* @method hexToRgb hex 颜色转 rgb 颜色
|
|
2523
|
+
* @method rgbToHex rgb 颜色转 Hex 颜色
|
|
2524
|
+
* @method getDarkColor 加深颜色值
|
|
2525
|
+
* @method getLightColor 变浅颜色值
|
|
2526
|
+
*/
|
|
2527
|
+
calcColor() {
|
|
2528
|
+
function useChangeColor() {
|
|
2529
|
+
/**
|
|
2530
|
+
* hex 颜色转 rgb 颜色
|
|
2531
|
+
*/
|
|
2532
|
+
const hexToRgb = (
|
|
2533
|
+
/**
|
|
2534
|
+
* hex 颜色值
|
|
2535
|
+
*/
|
|
2536
|
+
str: string
|
|
2537
|
+
): any => {
|
|
2538
|
+
let hexs: any = "";
|
|
2539
|
+
let reg = /^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/;
|
|
2540
|
+
if (!reg.test(str)) {
|
|
2541
|
+
console.warn("输入错误的hex");
|
|
2542
|
+
return "";
|
|
2543
|
+
}
|
|
2544
|
+
str = str.replace("#", "");
|
|
2545
|
+
hexs = str.match(/../g);
|
|
2546
|
+
for (let i = 0; i < 3; i++) hexs[i] = parseInt(hexs[i], 16);
|
|
2547
|
+
return hexs;
|
|
2548
|
+
};
|
|
2549
|
+
|
|
2550
|
+
/**
|
|
2551
|
+
* rgb转hex
|
|
2552
|
+
*/
|
|
2553
|
+
const rgbToHex = (
|
|
2554
|
+
/**
|
|
2555
|
+
* 红色
|
|
2556
|
+
*/
|
|
2557
|
+
r: any,
|
|
2558
|
+
/**
|
|
2559
|
+
* 绿色
|
|
2560
|
+
*/
|
|
2561
|
+
g: any,
|
|
2562
|
+
/**
|
|
2563
|
+
* 蓝色
|
|
2564
|
+
*/
|
|
2565
|
+
b: any
|
|
2566
|
+
): string => {
|
|
2567
|
+
let reg = /^\d{1,3}$/;
|
|
2568
|
+
if (!reg.test(r) || !reg.test(g) || !reg.test(b)) {
|
|
2569
|
+
console.warn("输入错误的rgb颜色值");
|
|
2570
|
+
return "";
|
|
2571
|
+
}
|
|
2572
|
+
let hexs = [r.toString(16), g.toString(16), b.toString(16)];
|
|
2573
|
+
for (let i = 0; i < 3; i++)
|
|
2574
|
+
if (hexs[i].length == 1) hexs[i] = `0${hexs[i]}`;
|
|
2575
|
+
return `#${hexs.join("")}`;
|
|
2576
|
+
};
|
|
2577
|
+
|
|
2578
|
+
/**
|
|
2579
|
+
* 获取深色
|
|
2580
|
+
*/
|
|
2581
|
+
const getDarkColor = (
|
|
2582
|
+
/**
|
|
2583
|
+
* 颜色值字符串
|
|
2584
|
+
*/
|
|
2585
|
+
color: string,
|
|
2586
|
+
/**
|
|
2587
|
+
* 加深的程度,限0-1之间
|
|
2588
|
+
*/
|
|
2589
|
+
level: number
|
|
2590
|
+
): string => {
|
|
2591
|
+
let reg = /^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/;
|
|
2592
|
+
if (!reg.test(color)) {
|
|
2593
|
+
console.warn("输入错误的hex颜色值");
|
|
2594
|
+
return "";
|
|
2595
|
+
}
|
|
2596
|
+
let rgb = useChangeColor().hexToRgb(color);
|
|
2597
|
+
for (let i = 0; i < 3; i++) rgb[i] = Math.floor(rgb[i] * (1 - level));
|
|
2598
|
+
return useChangeColor().rgbToHex(rgb[0], rgb[1], rgb[2]);
|
|
2599
|
+
};
|
|
2600
|
+
|
|
2601
|
+
/**
|
|
2602
|
+
* 获取颜色变浅后的颜色值
|
|
2603
|
+
*/
|
|
2604
|
+
const getLightColor = (
|
|
2605
|
+
/**
|
|
2606
|
+
* 颜色值字符串
|
|
2607
|
+
*/
|
|
2608
|
+
color: string,
|
|
2609
|
+
/**
|
|
2610
|
+
* 加深的程度,限0-1之间
|
|
2611
|
+
*/
|
|
2612
|
+
level: number
|
|
2613
|
+
): string => {
|
|
2614
|
+
let reg = /^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/;
|
|
2615
|
+
if (!reg.test(color)) {
|
|
2616
|
+
console.warn("输入错误的hex颜色值");
|
|
2617
|
+
return "";
|
|
2618
|
+
}
|
|
2619
|
+
let rgb = useChangeColor().hexToRgb(color);
|
|
2620
|
+
for (let i = 0; i < 3; i++)
|
|
2621
|
+
rgb[i] = Math.floor((255 - rgb[i]) * level + rgb[i]);
|
|
2622
|
+
return useChangeColor().rgbToHex(rgb[0], rgb[1], rgb[2]);
|
|
2623
|
+
};
|
|
2624
|
+
return {
|
|
2625
|
+
hexToRgb,
|
|
2626
|
+
rgbToHex,
|
|
2627
|
+
getDarkColor,
|
|
2628
|
+
getLightColor,
|
|
2629
|
+
};
|
|
2630
|
+
}
|
|
2631
|
+
return useChangeColor();
|
|
2632
|
+
}
|
|
2520
2633
|
}
|
|
2521
2634
|
|
|
2522
2635
|
const popsDOMUtils = new PopsDOMUtils();
|