tuijs-util 2.0.4 → 2.0.6
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.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/lists/colors-detail.d.ts +3 -0
- package/dist/lib/lists/colors-detail.d.ts.map +1 -0
- package/dist/lib/lists/colors-detail.js +1053 -0
- package/dist/lib/lists/colors-detail.js.map +1 -0
- package/dist/lib/misc.d.ts +0 -9
- package/dist/lib/misc.d.ts.map +1 -1
- package/dist/lib/misc.js +0 -40
- package/dist/lib/misc.js.map +1 -1
- package/dist/lib/scroll.d.ts +6 -0
- package/dist/lib/scroll.d.ts.map +1 -0
- package/dist/lib/scroll.js +42 -0
- package/dist/lib/scroll.js.map +1 -0
- package/package.json +2 -2
- package/src/index.ts +1 -0
- package/src/lib/lists/colors-detail.ts +1053 -0
- package/src/lib/misc.ts +0 -46
- package/src/lib/scroll.ts +47 -0
package/src/lib/misc.ts
CHANGED
|
@@ -43,52 +43,6 @@ export function sleep(ms: number): Promise<void> {
|
|
|
43
43
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
/**
|
|
47
|
-
* NEED TO ADD NAME AND JSDOC
|
|
48
|
-
* MAY NEED REWORD
|
|
49
|
-
*/
|
|
50
|
-
export function scrollIntoView() {
|
|
51
|
-
let allObservers: IntersectionObserver[] = [];
|
|
52
|
-
|
|
53
|
-
function addObserver(targets: Element[], callback: (target: Element) => void, observerOptions: IntersectionObserverInit = { threshold: 0.5 }) {
|
|
54
|
-
const observer = new IntersectionObserver((entries) => {
|
|
55
|
-
entries.forEach(entry => {
|
|
56
|
-
if (entry.isIntersecting) { // Only trigger when the element is intersecting
|
|
57
|
-
callback(entry.target);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}, observerOptions);
|
|
61
|
-
for (let i = 0; i < targets.length; i++) {
|
|
62
|
-
observer.observe(targets[i])
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
allObservers.push(observer);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function removeNamedObserver(name: string) {
|
|
69
|
-
for (let i = 0; i < allObservers.length; i++) {
|
|
70
|
-
if ((allObservers[i] as any).name === name) { // REMOVE ANY?
|
|
71
|
-
allObservers[i].disconnect();
|
|
72
|
-
allObservers.splice(i, 1);
|
|
73
|
-
i--;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function removeAllObservers() {
|
|
79
|
-
for (let i = 0; i < allObservers.length; i++) {
|
|
80
|
-
allObservers[i].disconnect();
|
|
81
|
-
}
|
|
82
|
-
allObservers = [];
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return {
|
|
86
|
-
addObserver,
|
|
87
|
-
removeNamedObserver,
|
|
88
|
-
removeAllObservers
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
46
|
export function convertBitsToMask(bits: number): string | undefined {
|
|
93
47
|
if (bits < 0 || bits > 32) {
|
|
94
48
|
throw new Error("Bit input must be between 0 and 32");
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export function scrollIntoView() {
|
|
2
|
+
let allObservers: IntersectionObserver[] = [];
|
|
3
|
+
|
|
4
|
+
function addObserver(targets: Element[], callback: (target: Element) => void, observerOptions: IntersectionObserverInit = { threshold: 0.5 }) {
|
|
5
|
+
const configuredThreshold = observerOptions.threshold ?? 0.5;
|
|
6
|
+
const requiredRatio = Array.isArray(configuredThreshold)
|
|
7
|
+
? Math.max(...configuredThreshold)
|
|
8
|
+
: configuredThreshold;
|
|
9
|
+
|
|
10
|
+
const observer: IntersectionObserver = new IntersectionObserver((entries) => {
|
|
11
|
+
entries.forEach(entry => {
|
|
12
|
+
if (entry.isIntersecting && entry.intersectionRatio > requiredRatio) {
|
|
13
|
+
observer.unobserve(entry.target);
|
|
14
|
+
callback(entry.target);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}, observerOptions);
|
|
18
|
+
for (let i = 0; i < targets.length; i++) {
|
|
19
|
+
observer.observe(targets[i]);
|
|
20
|
+
|
|
21
|
+
}
|
|
22
|
+
allObservers.push(observer);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function removeNamedObserver(name: string) {
|
|
26
|
+
for (let i = 0; i < allObservers.length; i++) {
|
|
27
|
+
if ((allObservers[i] as any).name === name) { // REMOVE ANY?
|
|
28
|
+
allObservers[i].disconnect();
|
|
29
|
+
allObservers.splice(i, 1);
|
|
30
|
+
i--;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function removeAllObservers() {
|
|
36
|
+
for (let i = 0; i < allObservers.length; i++) {
|
|
37
|
+
allObservers[i].disconnect();
|
|
38
|
+
}
|
|
39
|
+
allObservers = [];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return {
|
|
43
|
+
addObserver,
|
|
44
|
+
removeNamedObserver,
|
|
45
|
+
removeAllObservers
|
|
46
|
+
}
|
|
47
|
+
}
|