@operato/utils 2.0.0-alpha.8 → 2.0.0-beta.13
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/CHANGELOG.md +94 -0
- package/demo/index.html +13 -2
- package/dist/src/decode-html.d.ts +1 -0
- package/dist/src/decode-html.js +6 -0
- package/dist/src/decode-html.js.map +1 -0
- package/dist/src/detect-overflow.d.ts +1 -0
- package/dist/src/detect-overflow.js +1 -0
- package/dist/src/detect-overflow.js.map +1 -1
- package/dist/src/has-overflow.d.ts +7 -0
- package/dist/src/has-overflow.js +19 -0
- package/dist/src/has-overflow.js.map +1 -0
- package/dist/src/index.d.ts +5 -1
- package/dist/src/index.js +6 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/longpressable.d.ts +8 -0
- package/dist/src/longpressable.js +83 -0
- package/dist/src/longpressable.js.map +1 -0
- package/dist/src/{checker.js → number-parser.js} +1 -1
- package/dist/src/number-parser.js.map +1 -0
- package/dist/src/reactive-controllers/index.d.ts +1 -0
- package/dist/src/reactive-controllers/index.js +2 -0
- package/dist/src/reactive-controllers/index.js.map +1 -0
- package/dist/src/reactive-controllers/tooltip-mouse-controller.d.ts +10 -0
- package/dist/src/reactive-controllers/tooltip-mouse-controller.js +43 -0
- package/dist/src/reactive-controllers/tooltip-mouse-controller.js.map +1 -0
- package/dist/src/reactive-controllers/tooltip-reactive-controller.d.ts +40 -0
- package/dist/src/reactive-controllers/tooltip-reactive-controller.js +70 -0
- package/dist/src/reactive-controllers/tooltip-reactive-controller.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -12
- package/src/decode-html.ts +5 -0
- package/src/detect-overflow.ts +1 -0
- package/src/has-overflow.ts +22 -0
- package/src/index.ts +7 -2
- package/src/longpressable.ts +101 -0
- package/src/reactive-controllers/index.ts +1 -0
- package/src/reactive-controllers/tooltip-reactive-controller.ts +89 -0
- package/dist/src/checker.js.map +0 -1
- /package/dist/src/{checker.d.ts → number-parser.d.ts} +0 -0
- /package/src/{checker.ts → number-parser.ts} +0 -0
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,100 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
+
## [2.0.0-beta.13](https://github.com/hatiolab/operato/compare/v2.0.0-beta.12...v2.0.0-beta.13) (2024-06-09)
|
7
|
+
|
8
|
+
|
9
|
+
### :rocket: New Features
|
10
|
+
|
11
|
+
* tooltip-reactive-controller for mouse over/out ([73f069b](https://github.com/hatiolab/operato/commit/73f069b4e8c1472cc991010bbe7b3866035a05f0))
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
## [2.0.0-beta.0](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.158...v2.0.0-beta.0) (2024-06-01)
|
16
|
+
|
17
|
+
**Note:** Version bump only for package @operato/utils
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
## [2.0.0-alpha.154](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.153...v2.0.0-alpha.154) (2024-06-01)
|
24
|
+
|
25
|
+
**Note:** Version bump only for package @operato/utils
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
## [2.0.0-alpha.145](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.144...v2.0.0-alpha.145) (2024-05-28)
|
32
|
+
|
33
|
+
|
34
|
+
### :rocket: New Features
|
35
|
+
|
36
|
+
* add decode-html @operato/utils ([247e442](https://github.com/hatiolab/operato/commit/247e442331a4922cfce86d77be234d38ad085633))
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
## [2.0.0-alpha.122](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.121...v2.0.0-alpha.122) (2024-05-06)
|
41
|
+
|
42
|
+
|
43
|
+
### :bug: Bug Fix
|
44
|
+
|
45
|
+
* migrate longpressable from things-factory/utils to operato/utils ([299c35e](https://github.com/hatiolab/operato/commit/299c35eab7c0e1b8359e64dfbbde36eb312d4331))
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
## [2.0.0-alpha.111](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.110...v2.0.0-alpha.111) (2024-05-02)
|
50
|
+
|
51
|
+
**Note:** Version bump only for package @operato/utils
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
## [2.0.0-alpha.110](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.109...v2.0.0-alpha.110) (2024-05-02)
|
58
|
+
|
59
|
+
**Note:** Version bump only for package @operato/utils
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
## [2.0.0-alpha.68](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.67...v2.0.0-alpha.68) (2024-04-13)
|
66
|
+
|
67
|
+
|
68
|
+
### :bug: Bug Fix
|
69
|
+
|
70
|
+
* mwc=>md for context ([2bc13f2](https://github.com/hatiolab/operato/commit/2bc13f285f257782f73e5d7b5d1ddd197df85393))
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
## [2.0.0-alpha.57](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.56...v2.0.0-alpha.57) (2024-04-07)
|
75
|
+
|
76
|
+
**Note:** Version bump only for package @operato/utils
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
## [2.0.0-alpha.35](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.34...v2.0.0-alpha.35) (2024-03-13)
|
83
|
+
|
84
|
+
|
85
|
+
### :bug: Bug Fix
|
86
|
+
|
87
|
+
* 리팩토링 grist editor 인라인에디터 ([a8922c4](https://github.com/hatiolab/operato/commit/a8922c40f960596ac58aea885fd7501267fd2d8b))
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
## [2.0.0-alpha.28](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.27...v2.0.0-alpha.28) (2024-02-20)
|
92
|
+
|
93
|
+
|
94
|
+
### :bug: Bug Fix
|
95
|
+
|
96
|
+
* upgrade devDependencies for webcomponents ([1489b8b](https://github.com/hatiolab/operato/commit/1489b8b790d9bcee779a070a630697f25c01728f))
|
97
|
+
|
98
|
+
|
99
|
+
|
6
100
|
## [2.0.0-alpha.8](https://github.com/hatiolab/operato/compare/v2.0.0-alpha.7...v2.0.0-alpha.8) (2024-01-20)
|
7
101
|
|
8
102
|
|
package/demo/index.html
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<!
|
1
|
+
<!doctype html>
|
2
2
|
<html lang="en-GB">
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8" />
|
@@ -16,7 +16,18 @@
|
|
16
16
|
}
|
17
17
|
</style>
|
18
18
|
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet" />
|
19
|
-
<link
|
19
|
+
<link
|
20
|
+
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
21
|
+
rel="stylesheet"
|
22
|
+
/>
|
23
|
+
<link
|
24
|
+
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL@20..48,100..700,0..1"
|
25
|
+
rel="stylesheet"
|
26
|
+
/>
|
27
|
+
<link
|
28
|
+
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
|
29
|
+
rel="stylesheet"
|
30
|
+
/>
|
20
31
|
</head>
|
21
32
|
<body>
|
22
33
|
<div id="demo"></div>
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function decodeHTML(html: string): string;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"decode-html.js","sourceRoot":"","sources":["../../src/decode-html.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7C,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IACrB,OAAO,GAAG,CAAC,KAAK,CAAC;AACnB,CAAC","sourcesContent":["export function decodeHTML(html: string) {\n var txt = document.createElement('textarea');\n txt.innerHTML = html;\n return txt.value;\n}\n"]}
|
@@ -3,5 +3,6 @@
|
|
3
3
|
*
|
4
4
|
* @param {HTMLElement} el - The HTMLElement to check for overflow.
|
5
5
|
* @returns {boolean} - `true` if overflow is detected, `false` otherwise.
|
6
|
+
* @deprecated This function is no longer recommended for use and has been replaced by 'hasOverflow'.
|
6
7
|
*/
|
7
8
|
export declare function detectOverflow(el: HTMLElement): boolean;
|
@@ -3,6 +3,7 @@
|
|
3
3
|
*
|
4
4
|
* @param {HTMLElement} el - The HTMLElement to check for overflow.
|
5
5
|
* @returns {boolean} - `true` if overflow is detected, `false` otherwise.
|
6
|
+
* @deprecated This function is no longer recommended for use and has been replaced by 'hasOverflow'.
|
6
7
|
*/
|
7
8
|
export function detectOverflow(el) {
|
8
9
|
var styleOverflow = el.style.overflow;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"detect-overflow.js","sourceRoot":"","sources":["../../src/detect-overflow.ts"],"names":[],"mappings":"AAAA
|
1
|
+
{"version":3,"file":"detect-overflow.js","sourceRoot":"","sources":["../../src/detect-overflow.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,EAAe;IAC5C,IAAI,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAA;IAErC,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,SAAS;QAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE/E,IAAI,UAAU,GAAG,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAA;IAErF,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAA;IAEjC,OAAO,UAAU,CAAA;AACnB,CAAC","sourcesContent":["/**\n * Detects if the content of an HTMLElement overflows its boundaries.\n *\n * @param {HTMLElement} el - The HTMLElement to check for overflow.\n * @returns {boolean} - `true` if overflow is detected, `false` otherwise.\n * @deprecated This function is no longer recommended for use and has been replaced by 'hasOverflow'.\n */\nexport function detectOverflow(el: HTMLElement) {\n var styleOverflow = el.style.overflow\n\n if (!styleOverflow || styleOverflow === 'visible') el.style.overflow = 'hidden'\n\n var overflowed = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight\n\n el.style.overflow = styleOverflow\n\n return overflowed\n}\n"]}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
/**
|
2
|
+
* Detects if the content of an HTMLElement overflows its boundaries.
|
3
|
+
*
|
4
|
+
* @param {HTMLElement} el - The HTMLElement to check for overflow.
|
5
|
+
* @returns {boolean} - `true` if overflow is detected, `false` otherwise.
|
6
|
+
*/
|
7
|
+
export declare function hasOverflow(el: HTMLElement): boolean;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
/**
|
2
|
+
* Detects if the content of an HTMLElement overflows its boundaries.
|
3
|
+
*
|
4
|
+
* @param {HTMLElement} el - The HTMLElement to check for overflow.
|
5
|
+
* @returns {boolean} - `true` if overflow is detected, `false` otherwise.
|
6
|
+
*/
|
7
|
+
export function hasOverflow(el) {
|
8
|
+
const computedStyle = getComputedStyle(el);
|
9
|
+
const originalOverflow = computedStyle.overflow;
|
10
|
+
if (originalOverflow === 'visible') {
|
11
|
+
el.style.overflow = 'hidden';
|
12
|
+
}
|
13
|
+
const isOverflowing = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight;
|
14
|
+
if (originalOverflow === 'visible') {
|
15
|
+
el.style.overflow = '';
|
16
|
+
}
|
17
|
+
return isOverflowing;
|
18
|
+
}
|
19
|
+
//# sourceMappingURL=has-overflow.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"has-overflow.js","sourceRoot":"","sources":["../../src/has-overflow.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,EAAe;IACzC,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAA;IAE/C,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC9B,CAAC;IAED,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAA;IAE1F,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAA;IACxB,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC","sourcesContent":["/**\n * Detects if the content of an HTMLElement overflows its boundaries.\n *\n * @param {HTMLElement} el - The HTMLElement to check for overflow.\n * @returns {boolean} - `true` if overflow is detected, `false` otherwise.\n */\nexport function hasOverflow(el: HTMLElement): boolean {\n const computedStyle = getComputedStyle(el)\n const originalOverflow = computedStyle.overflow\n\n if (originalOverflow === 'visible') {\n el.style.overflow = 'hidden'\n }\n\n const isOverflowing = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight\n\n if (originalOverflow === 'visible') {\n el.style.overflow = ''\n }\n\n return isOverflowing\n}\n"]}
|
package/dist/src/index.d.ts
CHANGED
@@ -9,6 +9,7 @@ export * from './parse-jwt.js';
|
|
9
9
|
export * from './password-pattern.js';
|
10
10
|
export * from './closest-element.js';
|
11
11
|
export * from './detect-overflow.js';
|
12
|
+
export * from './has-overflow.js';
|
12
13
|
export * from './timecapsule/index.js';
|
13
14
|
export * from './clipboard.js';
|
14
15
|
export * from './format.js';
|
@@ -17,4 +18,7 @@ export * from './is-unvalued.js';
|
|
17
18
|
export * from './stringify-bignum.js';
|
18
19
|
export * from './encode-form-params.js';
|
19
20
|
export * from './cookie.js';
|
20
|
-
export * from './
|
21
|
+
export * from './number-parser.js';
|
22
|
+
export * from './longpressable.js';
|
23
|
+
export * from './decode-html.js';
|
24
|
+
export * from './reactive-controllers';
|
package/dist/src/index.js
CHANGED
@@ -8,7 +8,8 @@ export * from './fullscreen.js';
|
|
8
8
|
export * from './parse-jwt.js';
|
9
9
|
export * from './password-pattern.js';
|
10
10
|
export * from './closest-element.js';
|
11
|
-
export * from './detect-overflow.js';
|
11
|
+
export * from './detect-overflow.js'; /* deprecated by 'has-overflow' */
|
12
|
+
export * from './has-overflow.js';
|
12
13
|
export * from './timecapsule/index.js';
|
13
14
|
export * from './clipboard.js';
|
14
15
|
export * from './format.js';
|
@@ -17,5 +18,8 @@ export * from './is-unvalued.js';
|
|
17
18
|
export * from './stringify-bignum.js';
|
18
19
|
export * from './encode-form-params.js';
|
19
20
|
export * from './cookie.js';
|
20
|
-
export * from './
|
21
|
+
export * from './number-parser.js';
|
22
|
+
export * from './longpressable.js';
|
23
|
+
export * from './decode-html.js';
|
24
|
+
export * from './reactive-controllers';
|
21
25
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA,CAAC,kCAAkC;AACvE,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAEhC,cAAc,wBAAwB,CAAA","sourcesContent":["export * from './sleep.js'\nexport * from './async-lock.js'\nexport * from './file-drop-helper.js'\nexport * from './context-path.js'\nexport * from './os.js'\nexport * from './swipe-listener.js'\nexport * from './fullscreen.js'\nexport * from './parse-jwt.js'\nexport * from './password-pattern.js'\nexport * from './closest-element.js'\nexport * from './detect-overflow.js' /* deprecated by 'has-overflow' */\nexport * from './has-overflow.js'\nexport * from './timecapsule/index.js'\nexport * from './clipboard.js'\nexport * from './format.js'\nexport * from './adjust-list-param.js'\nexport * from './is-unvalued.js'\nexport * from './stringify-bignum.js'\nexport * from './encode-form-params.js'\nexport * from './cookie.js'\nexport * from './number-parser.js'\nexport * from './longpressable.js'\nexport * from './decode-html.js'\n\nexport * from './reactive-controllers'\n"]}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
/**
|
2
|
+
* @license Copyright © HatioLab Inc. All rights reserved.
|
3
|
+
*/
|
4
|
+
/* Inspired by https://github.com/john-doherty/long-press-event */
|
5
|
+
var timer = null;
|
6
|
+
// check if we're using a touch screen
|
7
|
+
//@ts-ignore
|
8
|
+
const isTouch = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
|
9
|
+
// switch to touch events if using a touch screen
|
10
|
+
const mouseDown = isTouch ? 'touchstart' : 'mousedown';
|
11
|
+
const mouseOut = isTouch ? 'touchcancel' : 'mouseout';
|
12
|
+
const mouseUp = isTouch ? 'touchend' : 'mouseup';
|
13
|
+
const mouseMove = isTouch ? 'touchmove' : 'mousemove';
|
14
|
+
/*
|
15
|
+
* Fires the 'long-press' event on element
|
16
|
+
* @returns {void}
|
17
|
+
*/
|
18
|
+
function fireLongPressEvent() {
|
19
|
+
clearLongPressTimer();
|
20
|
+
// fire the long-press event
|
21
|
+
var suppressClickEvent = this.dispatchEvent(new CustomEvent('long-press', { bubbles: true, cancelable: true }));
|
22
|
+
if (suppressClickEvent) {
|
23
|
+
// temporarily intercept and clear the next click
|
24
|
+
this.addEventListener(mouseUp, function clearMouseUp(e) {
|
25
|
+
this.removeEventListener(mouseUp, clearMouseUp, true);
|
26
|
+
cancelEvent(e);
|
27
|
+
}, true);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
/*
|
31
|
+
* method responsible for starting the long press timer
|
32
|
+
* @param {event} e - event object
|
33
|
+
* @returns {void}
|
34
|
+
*/
|
35
|
+
function startLongPressTimer(e) {
|
36
|
+
clearLongPressTimer(e);
|
37
|
+
var el = e.target;
|
38
|
+
// get delay from html attribute if it exists, otherwise default to 1500
|
39
|
+
var longPressDelayInMs = parseInt(el.getAttribute('data-long-press-delay') || '600', 10);
|
40
|
+
// start the timer
|
41
|
+
timer = setTimeout(fireLongPressEvent.bind(el), longPressDelayInMs);
|
42
|
+
}
|
43
|
+
/*
|
44
|
+
* method responsible for clearing a pending long press timer
|
45
|
+
* @param {event} e - event object
|
46
|
+
* @returns {void}
|
47
|
+
*/
|
48
|
+
function clearLongPressTimer(e) {
|
49
|
+
clearTimeout(timer);
|
50
|
+
timer = null;
|
51
|
+
}
|
52
|
+
/*
|
53
|
+
* Cancels the current event
|
54
|
+
* @param {object} e - browser event object
|
55
|
+
* @returns {void}
|
56
|
+
*/
|
57
|
+
function cancelEvent(e) {
|
58
|
+
e.stopImmediatePropagation();
|
59
|
+
e.preventDefault();
|
60
|
+
e.stopPropagation();
|
61
|
+
}
|
62
|
+
/**
|
63
|
+
* method set target element to be able to respond longpress event
|
64
|
+
* @param {HTMLElement} element target element
|
65
|
+
*/
|
66
|
+
export const longpressable = (element) => {
|
67
|
+
// hook events that clear a pending long press event
|
68
|
+
element.addEventListener(mouseOut, clearLongPressTimer, true);
|
69
|
+
element.addEventListener(mouseUp, clearLongPressTimer, true);
|
70
|
+
element.addEventListener(mouseMove, clearLongPressTimer, true);
|
71
|
+
element.addEventListener('wheel', clearLongPressTimer, true);
|
72
|
+
element.addEventListener('scroll', clearLongPressTimer, true);
|
73
|
+
// hook events that can trigger a long press event
|
74
|
+
element.addEventListener(mouseDown, startLongPressTimer, true); // <- start
|
75
|
+
// cancel context for touch display
|
76
|
+
if (mouseDown.indexOf('touch') === 0) {
|
77
|
+
element.addEventListener('contextmenu', cancelEvent, true);
|
78
|
+
}
|
79
|
+
else {
|
80
|
+
element.addEventListener('contextmenu', clearLongPressTimer, true);
|
81
|
+
}
|
82
|
+
};
|
83
|
+
//# sourceMappingURL=longpressable.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"longpressable.js","sourceRoot":"","sources":["../../src/longpressable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,kEAAkE;AAElE,IAAI,KAAK,GAAG,IAAW,CAAA;AAEvB,sCAAsC;AACtC,YAAY;AACZ,MAAM,OAAO,GAAG,cAAc,IAAI,MAAM,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,IAAI,SAAS,CAAC,gBAAgB,GAAG,CAAC,CAAA;AAE1G,iDAAiD;AACjD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAA;AACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAA;AACrD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;AAChD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAA;AAErD;;;GAGG;AACH,SAAS,kBAAkB;IACzB,mBAAmB,EAAE,CAAA;IAErB,4BAA4B;IAC5B,IAAI,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAE/G,IAAI,kBAAkB,EAAE,CAAC;QACvB,iDAAiD;QACjD,IAAI,CAAC,gBAAgB,CACnB,OAAO,EACP,SAAS,YAAY,CAAC,CAAC;YACrB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;YACrD,WAAW,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC,EACD,IAAI,CACL,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,CAAQ;IACnC,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAEtB,IAAI,EAAE,GAAG,CAAC,CAAC,MAAqB,CAAA;IAEhC,wEAAwE;IACxE,IAAI,kBAAkB,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC,CAAA;IAExF,kBAAkB;IAClB,KAAK,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAA;AACrE,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,CAAS;IACpC,YAAY,CAAC,KAAK,CAAC,CAAA;IACnB,KAAK,GAAG,IAAI,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,CAAQ;IAC3B,CAAC,CAAC,wBAAwB,EAAE,CAAA;IAC5B,CAAC,CAAC,cAAc,EAAE,CAAA;IAClB,CAAC,CAAC,eAAe,EAAE,CAAA;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAoB,EAAE,EAAE;IACpD,oDAAoD;IACpD,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA;IAC7D,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA;IAC5D,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA;IAC9D,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA;IAC5D,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA;IAE7D,kDAAkD;IAClD,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA,CAAC,WAAW;IAE1E,mCAAmC;IACnC,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA;IACpE,CAAC;AACH,CAAC,CAAA","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\n/* Inspired by https://github.com/john-doherty/long-press-event */\n\nvar timer = null as any\n\n// check if we're using a touch screen\n//@ts-ignore\nconst isTouch = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0\n\n// switch to touch events if using a touch screen\nconst mouseDown = isTouch ? 'touchstart' : 'mousedown'\nconst mouseOut = isTouch ? 'touchcancel' : 'mouseout'\nconst mouseUp = isTouch ? 'touchend' : 'mouseup'\nconst mouseMove = isTouch ? 'touchmove' : 'mousemove'\n\n/*\n * Fires the 'long-press' event on element\n * @returns {void}\n */\nfunction fireLongPressEvent(this: HTMLElement) {\n clearLongPressTimer()\n\n // fire the long-press event\n var suppressClickEvent = this.dispatchEvent(new CustomEvent('long-press', { bubbles: true, cancelable: true }))\n\n if (suppressClickEvent) {\n // temporarily intercept and clear the next click\n this.addEventListener(\n mouseUp,\n function clearMouseUp(e) {\n this.removeEventListener(mouseUp, clearMouseUp, true)\n cancelEvent(e)\n },\n true\n )\n }\n}\n\n/*\n * method responsible for starting the long press timer\n * @param {event} e - event object\n * @returns {void}\n */\nfunction startLongPressTimer(e: Event) {\n clearLongPressTimer(e)\n\n var el = e.target as HTMLElement\n\n // get delay from html attribute if it exists, otherwise default to 1500\n var longPressDelayInMs = parseInt(el.getAttribute('data-long-press-delay') || '600', 10)\n\n // start the timer\n timer = setTimeout(fireLongPressEvent.bind(el), longPressDelayInMs)\n}\n\n/*\n * method responsible for clearing a pending long press timer\n * @param {event} e - event object\n * @returns {void}\n */\nfunction clearLongPressTimer(e?: Event) {\n clearTimeout(timer)\n timer = null\n}\n\n/*\n * Cancels the current event\n * @param {object} e - browser event object\n * @returns {void}\n */\nfunction cancelEvent(e: Event) {\n e.stopImmediatePropagation()\n e.preventDefault()\n e.stopPropagation()\n}\n\n/**\n * method set target element to be able to respond longpress event\n * @param {HTMLElement} element target element\n */\nexport const longpressable = (element: HTMLElement) => {\n // hook events that clear a pending long press event\n element.addEventListener(mouseOut, clearLongPressTimer, true)\n element.addEventListener(mouseUp, clearLongPressTimer, true)\n element.addEventListener(mouseMove, clearLongPressTimer, true)\n element.addEventListener('wheel', clearLongPressTimer, true)\n element.addEventListener('scroll', clearLongPressTimer, true)\n\n // hook events that can trigger a long press event\n element.addEventListener(mouseDown, startLongPressTimer, true) // <- start\n\n // cancel context for touch display\n if (mouseDown.indexOf('touch') === 0) {\n element.addEventListener('contextmenu', cancelEvent, true)\n } else {\n element.addEventListener('contextmenu', clearLongPressTimer, true)\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"number-parser.js","sourceRoot":"","sources":["../../src/number-parser.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,MAAM,UAAU,mBAAmB,CAAC,KAAU;IAC5C,IAAI,MAAM,GAAkB,IAAI,CAAA;IAEhC,6BAA6B;IAC7B,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,EAAE,CAAC;QACxG,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["// 숫자라면 숫자값을, 아니면 null을 반환\n// 0 = true\n// '0' = true\n// 123 = true\n// \"123\" = true\n// -123 = true\n// \"-123\" = true\n// true = false\n// false = false\n// \"\" = false\n// null = false\n// undefined = false\n// {} = false\n// [] = false\nexport function parseToNumberOrNull(value: any): number | null {\n let result: number | null = null\n\n // 숫자나 스트링이면서 NaN이 아니면 숫자로 변환\n if ((typeof value === 'string' || typeof value === 'number') && value !== '' && !isNaN(value as number)) {\n result = Number(value)\n }\n\n return result\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './tooltip-reactive-controller.js';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reactive-controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA","sourcesContent":["export * from './tooltip-reactive-controller.js'\n"]}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
2
|
+
export declare class TooltipMouseController implements ReactiveController {
|
3
|
+
private host;
|
4
|
+
private attributeName;
|
5
|
+
constructor(host: ReactiveControllerHost & HTMLElement, attributeName?: string);
|
6
|
+
hostConnected(): void;
|
7
|
+
hostDisconnected(): void;
|
8
|
+
private handleMouseOver;
|
9
|
+
private handleMouseOut;
|
10
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { hasOverflow } from '../has-overflow';
|
2
|
+
export class TooltipMouseController {
|
3
|
+
constructor(host, attributeName = 'data-reactive-tooltip') {
|
4
|
+
this.handleMouseOver = (e) => {
|
5
|
+
var _a;
|
6
|
+
const element = e.target;
|
7
|
+
if (element.hasAttribute(this.attributeName) && hasOverflow(element)) {
|
8
|
+
element.setAttribute('data-tooltip', ((_a = element.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '');
|
9
|
+
// Calculate tooltip position
|
10
|
+
const rect = element.getBoundingClientRect();
|
11
|
+
const top = rect.top + rect.height; // - window.scrollY
|
12
|
+
const left = rect.left + window.scrollX;
|
13
|
+
// Set CSS variables for position
|
14
|
+
element.style.setProperty('--tooltip-top', `${top}px`);
|
15
|
+
element.style.setProperty('--tooltip-left', `${left}px`);
|
16
|
+
}
|
17
|
+
};
|
18
|
+
this.handleMouseOut = (e) => {
|
19
|
+
const element = e.target;
|
20
|
+
if (element.hasAttribute('data-tooltip')) {
|
21
|
+
element.removeAttribute('data-tooltip');
|
22
|
+
element.style.removeProperty('--tooltip-top');
|
23
|
+
element.style.removeProperty('--tooltip-left');
|
24
|
+
}
|
25
|
+
};
|
26
|
+
this.host = host;
|
27
|
+
this.attributeName = attributeName;
|
28
|
+
host.addController(this);
|
29
|
+
}
|
30
|
+
hostConnected() {
|
31
|
+
var _a;
|
32
|
+
const target = (_a = this.host.shadowRoot) !== null && _a !== void 0 ? _a : this.host;
|
33
|
+
target.addEventListener('mouseover', this.handleMouseOver);
|
34
|
+
target.addEventListener('mouseout', this.handleMouseOut);
|
35
|
+
}
|
36
|
+
hostDisconnected() {
|
37
|
+
var _a;
|
38
|
+
const target = (_a = this.host.shadowRoot) !== null && _a !== void 0 ? _a : this.host;
|
39
|
+
target.removeEventListener('mouseover', this.handleMouseOver);
|
40
|
+
target.removeEventListener('mouseout', this.handleMouseOut);
|
41
|
+
}
|
42
|
+
}
|
43
|
+
//# sourceMappingURL=tooltip-mouse-controller.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tooltip-mouse-controller.js","sourceRoot":"","sources":["../../../src/reactive-controllers/tooltip-mouse-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,MAAM,OAAO,sBAAsB;IAIjC,YAAY,IAA0C,EAAE,gBAAwB,uBAAuB;QAkB/F,oBAAe,GAAG,CAAC,CAAQ,EAAE,EAAE;;YACrC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAqB,CAAA;YACvC,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrE,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,CAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,IAAI,EAAE,KAAI,EAAE,CAAC,CAAA;gBAEvE,6BAA6B;gBAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAA;gBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA,CAAC,mBAAmB;gBACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAA;gBAEvC,iCAAiC;gBACjC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,GAAG,GAAG,IAAI,CAAC,CAAA;gBACtD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,GAAG,IAAI,IAAI,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC,CAAA;QAEO,mBAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAqB,CAAA;YACvC,IAAI,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;gBACvC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;gBAC7C,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;QACH,CAAC,CAAA;QAxCC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,aAAa;;QACX,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,IAAI,CAAA;QAChD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAC1D,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1D,CAAC;IAED,gBAAgB;;QACd,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,IAAI,CAAA;QAChD,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAC7D,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAC7D,CAAC;CA0BF","sourcesContent":["import { ReactiveController, ReactiveControllerHost } from 'lit'\nimport { hasOverflow } from '../has-overflow'\n\nexport class TooltipMouseController implements ReactiveController {\n private host: ReactiveControllerHost & HTMLElement\n private attributeName: string\n\n constructor(host: ReactiveControllerHost & HTMLElement, attributeName: string = 'data-reactive-tooltip') {\n this.host = host\n this.attributeName = attributeName\n host.addController(this)\n }\n\n hostConnected() {\n const target = this.host.shadowRoot ?? this.host\n target.addEventListener('mouseover', this.handleMouseOver)\n target.addEventListener('mouseout', this.handleMouseOut)\n }\n\n hostDisconnected() {\n const target = this.host.shadowRoot ?? this.host\n target.removeEventListener('mouseover', this.handleMouseOver)\n target.removeEventListener('mouseout', this.handleMouseOut)\n }\n\n private handleMouseOver = (e: Event) => {\n const element = e.target as HTMLElement\n if (element.hasAttribute(this.attributeName) && hasOverflow(element)) {\n element.setAttribute('data-tooltip', element.textContent?.trim() || '')\n\n // Calculate tooltip position\n const rect = element.getBoundingClientRect()\n const top = rect.top + rect.height // - window.scrollY\n const left = rect.left + window.scrollX\n\n // Set CSS variables for position\n element.style.setProperty('--tooltip-top', `${top}px`)\n element.style.setProperty('--tooltip-left', `${left}px`)\n }\n }\n\n private handleMouseOut = (e: Event) => {\n const element = e.target as HTMLElement\n if (element.hasAttribute('data-tooltip')) {\n element.removeAttribute('data-tooltip')\n element.style.removeProperty('--tooltip-top')\n element.style.removeProperty('--tooltip-left')\n }\n }\n}\n"]}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
2
|
+
/**
|
3
|
+
* TooltipReactiveController is a controller that manages the display of tooltips
|
4
|
+
* for elements with a specified attribute. It works in conjunction with TooltipStyles
|
5
|
+
* to position and style the tooltips.
|
6
|
+
*/
|
7
|
+
export declare class TooltipReactiveController implements ReactiveController {
|
8
|
+
private host;
|
9
|
+
private attributeName;
|
10
|
+
private content?;
|
11
|
+
/**
|
12
|
+
* @param host - The host element that this controller is associated with.
|
13
|
+
* @param options - An optional object containing the content of the tooltip and the attribute name that triggers the tooltip.
|
14
|
+
* - content: The tooltip content, either a string or a function that returns a string based on the element.
|
15
|
+
* - attributeName: The attribute name that triggers the tooltip. Defaults to 'data-reactive-tooltip'.
|
16
|
+
*/
|
17
|
+
constructor(host: ReactiveControllerHost & HTMLElement, options?: {
|
18
|
+
content?: string | ((element: HTMLElement) => string);
|
19
|
+
attributeName?: string;
|
20
|
+
});
|
21
|
+
/**
|
22
|
+
* Called when the host is connected to the DOM. Adds event listeners for mouseover and mouseout events.
|
23
|
+
*/
|
24
|
+
hostConnected(): void;
|
25
|
+
/**
|
26
|
+
* Called when the host is disconnected from the DOM. Removes event listeners for mouseover and mouseout events.
|
27
|
+
*/
|
28
|
+
hostDisconnected(): void;
|
29
|
+
/**
|
30
|
+
* Handles the mouseover event. Checks if the target element has the specified attribute and if it has overflow.
|
31
|
+
* If both conditions are met, sets the tooltip content and calculates its position.
|
32
|
+
* @param e - The mouseover event.
|
33
|
+
*/
|
34
|
+
private handleMouseOver;
|
35
|
+
/**
|
36
|
+
* Handles the mouseout event. Removes the tooltip content and position properties from the target element.
|
37
|
+
* @param e - The mouseout event.
|
38
|
+
*/
|
39
|
+
private handleMouseOut;
|
40
|
+
}
|
@@ -0,0 +1,70 @@
|
|
1
|
+
import { hasOverflow } from '../has-overflow';
|
2
|
+
/**
|
3
|
+
* TooltipReactiveController is a controller that manages the display of tooltips
|
4
|
+
* for elements with a specified attribute. It works in conjunction with TooltipStyles
|
5
|
+
* to position and style the tooltips.
|
6
|
+
*/
|
7
|
+
export class TooltipReactiveController {
|
8
|
+
/**
|
9
|
+
* @param host - The host element that this controller is associated with.
|
10
|
+
* @param options - An optional object containing the content of the tooltip and the attribute name that triggers the tooltip.
|
11
|
+
* - content: The tooltip content, either a string or a function that returns a string based on the element.
|
12
|
+
* - attributeName: The attribute name that triggers the tooltip. Defaults to 'data-reactive-tooltip'.
|
13
|
+
*/
|
14
|
+
constructor(host, options) {
|
15
|
+
/**
|
16
|
+
* Handles the mouseover event. Checks if the target element has the specified attribute and if it has overflow.
|
17
|
+
* If both conditions are met, sets the tooltip content and calculates its position.
|
18
|
+
* @param e - The mouseover event.
|
19
|
+
*/
|
20
|
+
this.handleMouseOver = (e) => {
|
21
|
+
var _a;
|
22
|
+
const element = e.target;
|
23
|
+
if (element.hasAttribute(this.attributeName) && hasOverflow(element)) {
|
24
|
+
element.setAttribute('data-tooltip', typeof this.content === 'function'
|
25
|
+
? this.content.call(this, element)
|
26
|
+
: this.content || ((_a = element.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '');
|
27
|
+
const rect = element.getBoundingClientRect();
|
28
|
+
// Set CSS variables for position
|
29
|
+
element.style.setProperty('--tooltip-top', `${rect.top + rect.height}px`);
|
30
|
+
element.style.setProperty('--tooltip-left', `${rect.left}px`);
|
31
|
+
}
|
32
|
+
};
|
33
|
+
/**
|
34
|
+
* Handles the mouseout event. Removes the tooltip content and position properties from the target element.
|
35
|
+
* @param e - The mouseout event.
|
36
|
+
*/
|
37
|
+
this.handleMouseOut = (e) => {
|
38
|
+
const element = e.target;
|
39
|
+
if (element.hasAttribute('data-tooltip')) {
|
40
|
+
element.removeAttribute('data-tooltip');
|
41
|
+
element.style.removeProperty('--tooltip-top');
|
42
|
+
element.style.removeProperty('--tooltip-left');
|
43
|
+
}
|
44
|
+
};
|
45
|
+
const { attributeName, content } = options || {};
|
46
|
+
this.host = host;
|
47
|
+
this.attributeName = attributeName || 'data-reactive-tooltip';
|
48
|
+
this.content = content;
|
49
|
+
host.addController(this);
|
50
|
+
}
|
51
|
+
/**
|
52
|
+
* Called when the host is connected to the DOM. Adds event listeners for mouseover and mouseout events.
|
53
|
+
*/
|
54
|
+
hostConnected() {
|
55
|
+
var _a;
|
56
|
+
const target = (_a = this.host.shadowRoot) !== null && _a !== void 0 ? _a : this.host;
|
57
|
+
target.addEventListener('mouseover', this.handleMouseOver);
|
58
|
+
target.addEventListener('mouseout', this.handleMouseOut);
|
59
|
+
}
|
60
|
+
/**
|
61
|
+
* Called when the host is disconnected from the DOM. Removes event listeners for mouseover and mouseout events.
|
62
|
+
*/
|
63
|
+
hostDisconnected() {
|
64
|
+
var _a;
|
65
|
+
const target = (_a = this.host.shadowRoot) !== null && _a !== void 0 ? _a : this.host;
|
66
|
+
target.removeEventListener('mouseover', this.handleMouseOver);
|
67
|
+
target.removeEventListener('mouseout', this.handleMouseOut);
|
68
|
+
}
|
69
|
+
}
|
70
|
+
//# sourceMappingURL=tooltip-reactive-controller.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tooltip-reactive-controller.js","sourceRoot":"","sources":["../../../src/reactive-controllers/tooltip-reactive-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C;;;;GAIG;AACH,MAAM,OAAO,yBAAyB;IAKpC;;;;;OAKG;IACH,YACE,IAA0C,EAC1C,OAGC;QA6BH;;;;WAIG;QACK,oBAAe,GAAG,CAAC,CAAQ,EAAE,EAAE;;YACrC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAqB,CAAA;YACvC,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrE,OAAO,CAAC,YAAY,CAClB,cAAc,EACd,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU;oBAChC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;oBAClC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAI,MAAA,OAAO,CAAC,WAAW,0CAAE,IAAI,EAAE,CAAA,IAAI,EAAE,CACtD,CAAA;gBAED,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAA;gBAE5C,iCAAiC;gBACjC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;gBACzE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC,CAAA;QAED;;;WAGG;QACK,mBAAc,GAAG,CAAC,CAAQ,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAqB,CAAA;YACvC,IAAI,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;gBACvC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;gBAC7C,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;QACH,CAAC,CAAA;QA7DC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAEhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,uBAAuB,CAAA;QAC7D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,aAAa;;QACX,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,IAAI,CAAA;QAChD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAC1D,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1D,CAAC;IAED;;OAEG;IACH,gBAAgB;;QACd,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,IAAI,CAAA;QAChD,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAC7D,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAC7D,CAAC;CAqCF","sourcesContent":["import { ReactiveController, ReactiveControllerHost } from 'lit'\nimport { hasOverflow } from '../has-overflow'\n\n/**\n * TooltipReactiveController is a controller that manages the display of tooltips\n * for elements with a specified attribute. It works in conjunction with TooltipStyles\n * to position and style the tooltips.\n */\nexport class TooltipReactiveController implements ReactiveController {\n private host: ReactiveControllerHost & HTMLElement\n private attributeName!: string\n private content?: string | ((element: HTMLElement) => string)\n\n /**\n * @param host - The host element that this controller is associated with.\n * @param options - An optional object containing the content of the tooltip and the attribute name that triggers the tooltip.\n * - content: The tooltip content, either a string or a function that returns a string based on the element.\n * - attributeName: The attribute name that triggers the tooltip. Defaults to 'data-reactive-tooltip'.\n */\n constructor(\n host: ReactiveControllerHost & HTMLElement,\n options?: {\n content?: string | ((element: HTMLElement) => string)\n attributeName?: string\n }\n ) {\n const { attributeName, content } = options || {}\n\n this.host = host\n this.attributeName = attributeName || 'data-reactive-tooltip'\n this.content = content\n\n host.addController(this)\n }\n\n /**\n * Called when the host is connected to the DOM. Adds event listeners for mouseover and mouseout events.\n */\n hostConnected() {\n const target = this.host.shadowRoot ?? this.host\n target.addEventListener('mouseover', this.handleMouseOver)\n target.addEventListener('mouseout', this.handleMouseOut)\n }\n\n /**\n * Called when the host is disconnected from the DOM. Removes event listeners for mouseover and mouseout events.\n */\n hostDisconnected() {\n const target = this.host.shadowRoot ?? this.host\n target.removeEventListener('mouseover', this.handleMouseOver)\n target.removeEventListener('mouseout', this.handleMouseOut)\n }\n\n /**\n * Handles the mouseover event. Checks if the target element has the specified attribute and if it has overflow.\n * If both conditions are met, sets the tooltip content and calculates its position.\n * @param e - The mouseover event.\n */\n private handleMouseOver = (e: Event) => {\n const element = e.target as HTMLElement\n if (element.hasAttribute(this.attributeName) && hasOverflow(element)) {\n element.setAttribute(\n 'data-tooltip',\n typeof this.content === 'function'\n ? this.content.call(this, element)\n : this.content || element.textContent?.trim() || ''\n )\n\n const rect = element.getBoundingClientRect()\n\n // Set CSS variables for position\n element.style.setProperty('--tooltip-top', `${rect.top + rect.height}px`)\n element.style.setProperty('--tooltip-left', `${rect.left}px`)\n }\n }\n\n /**\n * Handles the mouseout event. Removes the tooltip content and position properties from the target element.\n * @param e - The mouseout event.\n */\n private handleMouseOut = (e: Event) => {\n const element = e.target as HTMLElement\n if (element.hasAttribute('data-tooltip')) {\n element.removeAttribute('data-tooltip')\n element.style.removeProperty('--tooltip-top')\n element.style.removeProperty('--tooltip-left')\n }\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../src/adjust-list-param.ts","../src/async-lock.ts","../src/checker.ts","../src/clipboard.ts","../src/closest-element.ts","../src/context-path.ts","../src/cookie.ts","../src/detect-overflow.ts","../src/encode-form-params.ts","../src/file-drop-helper.ts","../src/format.ts","../src/fullscreen.ts","../src/sleep.ts","../src/os.ts","../src/swipe-listener.ts","../src/parse-jwt.ts","../src/password-pattern.ts","../src/logger.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash-es/debounce.d.ts","../src/timecapsule/snapshot-taker.ts","../src/timecapsule/timecapsule.ts","../src/timecapsule/index.ts","../src/is-unvalued.ts","../src/stringify-bignum.ts","../src/index.ts","../src/mixins/infinite-scrollable.ts","../src/mixins/index.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900",{"version":"973ff19d4b21d528741d19ef8ae1a6192806e7fbe18e2b414dae6a5eb4ce1c18","signature":"098ec42cd54c2b3354584c4fe8ad143040114891dde762741522b62788772f0d"},{"version":"3c004a51a1d43261e6411e7c6934185e3f2f66126c64c0817b5b9181870086e2","signature":"f5800813e5c0d6c27d73b76f2c99f39bdfd6229d03553a8a9ae485f6aeb94425"},{"version":"679a664272f576edc7a22e5d35e1a050634eac2f0a2564c704f380e653e4f4b7","signature":"13a5d8ec52111b64ed8fdcb47ab664b60085733c46c44aede33fd2926840ac31"},{"version":"c65636fa3cea14ad6a96f3c01bcc30d9f83c6e6095864b5e20190fef7d0e30eb","signature":"7fcb76be88d4a64f6318b5a24b57021d7463f24485a3d1a931bf664c7e437534"},{"version":"e16b98f53c89fc764db968b0ef9dce28a0f0d039439851eea30fab962ca2cdeb","signature":"7efea6f2270a14f1b0d5f472f2a6fcb0a97beb677299e10b073cc2abdabeef51"},{"version":"4c7799288b1bd167612ecedf9fe0f2563904ce78809c161536799a16b1b15901","signature":"6cf5098c7bf0c14358b656edd6103df1ae9f8c6a94abca9df8650c2b520d8096"},{"version":"644c5f408a19dac2fb6e89eae85ff930d51a88414da6e762e572f49eecb81ab4","signature":"dc2461db89dde29306a73a2926e2cf874e981ef034412f4d1e3d06d45bb3127e"},{"version":"fb5c88564856d19073cfc997a693b78cc811c7d9ccf5562b1b72b8edf96d637d","signature":"385679adcfaaa1b561983bd5ae140b4db1e360a534f9685ee87f5019540c9ce8"},{"version":"8e8f663fe7c4665c984072bb694c8bd5303afb5bc64ebc1edfb7637677dcc80d","signature":"cb2de9f1d7d286191834eeb331d23dc69eeb322745114ddad1695e4c575b5feb"},{"version":"69ef8de8a4e2551f1a0e21d82a04d233fb5d7d8a1f8db661a1a18e880b4e7545","signature":"4d5e201faa4bceca840b652dfc10795170c061f498e19429a06e056490aa69aa"},{"version":"4f3fc5607259633875df57067d72509cbceb362775f4985462e6b2244baac6c4","signature":"940995980343a2bfebf515240e5eec487f845002a089bee0d18656ebf61d59aa"},{"version":"b18b9acb5cff76a70fec4f1effd260b9f956bba6edb28c1e160979f0b9a51dd6","signature":"85e0f00b17c3ae8cd88438c754a2c43f4a9361e685b97a70e52e33afbf62488f"},{"version":"d9e51838c1aa2a91b7d2a495adb92ab70eb35c81fcd3b359c2509903958bf3f8","signature":"05cfea0488751015b0b85911b6cdcde7c6cebdd9b8cada1ec0b5c1736357a552"},{"version":"a1953ae5bbf52b027ed3044bf32024e21994345c8a05d0aaa3902e08c033c803","signature":"ee11b7061adce4a1c0370620949a57851215b152a5632d2faf1aedbc90ad0520"},{"version":"d1d0e3e5bd9e070e932c938bd580da6fce3b6a9e230b7156584f7b38ce3a9c4e","signature":"f8c86fcbfb0a1e69a0ed28d3249cc33c312fa23a39c17e15cbbcc539bdcdc303"},{"version":"f1f7164489347eacf6f1239bcae173a72047ee9be4ba8cd7f4f6af42e8155ce8","signature":"39d2d450df6efbf38585fd316f18922c8ac3fdfd4c3fc412d0bee34e2bc86378"},{"version":"995abaa0980d5f0e01b0c4723c203194a3ea4b289ea814afdcc6ec9df478488c","signature":"4dcdfe4c18557fc02d8cb22cb422cb98bfeba8158aaf18cc66f9d99293ebe2c8"},{"version":"2d95c27112bfd3344d29539192bbdd69996f276fb24e061932d8043f3a9ef26f","signature":"bc971f58cf8cef65c3e5a4d37539b96e1f8d19b5c662e9ab796b62c9a63cc0c0"},"b8442e9db28157344d1bc5d8a5a256f1692de213f0c0ddeb84359834015a008c","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","68a0d0c508e1b6d8d23a519a8a0a3303dc5baa4849ca049f21e5bad41945e3fc","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","a862dcb740371257e3dae1ab379b0859edcb5119484f8359a5e6fb405db9e12e",{"version":"c169e9579cc2e83f78561e54b8e76d8474f28f01606dfc622823a8bb6478a2eb","signature":"3df6a0e8bdb7199dff6cf75c0250316f06b87c982bb47460960a1c5a793f5ca6"},{"version":"fb6284b223f3580ff8a5bc75b24824f80ea7b2f32afcae4aee7c6bd73802179c","signature":"b3238dd00b7796eda3f507726e9882a55ff7043b249be8309abed22cfb7d7463"},{"version":"b3725f31a113200e0a0266278f33e64ba879874b0acf6837054f9acd34719588","signature":"f499d7fb533781939c7a5ab778ac6e6c8ffe65601b1a61a843c36ee0013f05b6"},{"version":"4d8db0ef58073a950c6a985b0d1313a358c888e491d5d9a4d5a0777d84351c9a","signature":"1e73d612f806d183d6c16c4135c16c1a14dd827c1a67097e72ab1841852bfcb9"},{"version":"8e485e375afaab51fdf32972879fa40758471dc93fc9c2484ad16542fd9a8fdb","signature":"30046b0787c577061d43e498b507da8a249fbc58bbe33a09a7bef777e1d5fb67"},{"version":"cdfd2f0a8745d769be651be12c4a5639c0dc9c5cad57d8305ac765ab840d34be","signature":"3d756f378335d282346d9c6d93a05f6f6c884ac93aaa67525c7d127ce9454c9d"},{"version":"f9520a64036c4378b6617c0e414d8f02f5ce3bcc2a7b0a929a319e7e3f9c6800","signature":"156f461ef172e70226132dc36df4b72f7e77ae88523aaad9f0440307a53bda36"},{"version":"14fd84e1f3037c24aa5e5c9b6c4250e9effeea0fae526277c8ac4890310273c6","signature":"2045cb057c6163f5d5bb4d12655bb1449383952bcd3b7a7a62b2848e420245c1"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"e2eb1ce13a9c0fa7ab62c63909d81973ef4b707292667c64f1e25e6e53fa7afa","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","1b282e90846fada1e96dc1cf5111647d6ab5985c8d7b5c542642f1ea2739406d","bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"7aae1df2053572c2cfc2089a77847aadbb38eedbaa837a846c6a49fb37c6e5bd","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","f1ace2d2f98429e007d017c7a445efad2aaebf8233135abdb2c88b8c0fef91ab","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","8013f6c4d1632da8f1c4d3d702ae559acccd0f1be05360c31755f272587199c9",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447",{"version":"0ea93d01083b3d5863cc98cb589b5d0eac55d14417487f9e5e455dfa0b17c660","affectsGlobalScope":true}],"root":[[47,64],[79,86]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"fileIdsList":[[77],[65,67,68,69,70,71,72,73,74,75,76,77],[65,66,68,69,70,71,72,73,74,75,76,77],[66,67,68,69,70,71,72,73,74,75,76,77],[65,66,67,69,70,71,72,73,74,75,76,77],[65,66,67,68,70,71,72,73,74,75,76,77],[65,66,67,68,69,71,72,73,74,75,76,77],[65,66,67,68,69,70,72,73,74,75,76,77],[65,66,67,68,69,70,71,73,74,75,76,77],[65,66,67,68,69,70,71,72,74,75,76,77],[65,66,67,68,69,70,71,72,73,75,76,77],[65,66,67,68,69,70,71,72,73,74,76,77],[65,66,67,68,69,70,71,72,73,74,75,77],[65,66,67,68,69,70,71,72,73,74,75,76],[87],[123],[124,129,157],[125,136,137,144,154,165],[125,126,136,144],[127,166],[128,129,137,145],[129,154,162],[130,132,136,144],[123,131],[132,133],[136],[134,136],[123,136],[136,137,138,154,165],[136,137,138,151,154,157],[121,124,170],[132,136,139,144,154,165],[136,137,139,140,144,154,162,165],[139,141,154,162,165],[87,88,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],[136,142],[143,165,170],[132,136,144,154],[145],[146],[123,147],[148,164,170],[149],[150],[136,151,152],[151,153,166,168],[124,136,154,155,156,157],[124,154,156],[154,155],[157],[158],[123,154],[136,160,161],[160,161],[129,144,154,162],[163],[144,164],[124,139,150,165],[129,166],[154,167],[143,168],[169],[124,129,136,138,147,154,165,168,170],[154,171],[98,102,165],[98,154,165],[93],[95,98,162,165],[144,162],[173],[93,173],[95,98,144,165],[90,91,94,97,124,136,154,165],[90,96],[94,98,124,157,165,173],[124,173],[114,124,173],[92,93,173],[98],[92,93,94,95,96,97,98,99,100,102,103,104,105,106,107,108,109,110,111,112,113,115,116,117,118,119,120],[98,105,106],[96,98,106,107],[97],[90,93,98],[98,102,106,107],[102],[96,98,101,165],[90,95,96,98,102,105],[124,154],[93,98,114,124,170,173],[46],[46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,81,82,83],[46,85],[46,78],[46,79,80],[46,78,80],[46,64,79],[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,81,82,83],[85],[79,80],[80],[79]],"referencedMap":[[78,1],[66,2],[67,3],[65,4],[68,5],[69,6],[70,7],[71,8],[72,9],[73,10],[74,11],[75,12],[76,13],[77,14],[87,15],[88,15],[123,16],[124,17],[125,18],[126,19],[127,20],[128,21],[129,22],[130,23],[131,24],[132,25],[133,25],[135,26],[134,27],[136,28],[137,29],[138,30],[122,31],[139,32],[140,33],[141,34],[173,35],[142,36],[143,37],[144,38],[145,39],[146,40],[147,41],[148,42],[149,43],[150,44],[151,45],[152,45],[153,46],[154,47],[156,48],[155,49],[157,50],[158,51],[159,52],[160,53],[161,54],[162,55],[163,56],[164,57],[165,58],[166,59],[167,60],[168,61],[169,62],[170,63],[171,64],[105,65],[112,66],[104,65],[119,67],[96,68],[95,69],[118,70],[113,71],[116,72],[98,73],[97,74],[93,75],[92,76],[115,77],[94,78],[99,79],[103,79],[121,80],[120,79],[107,81],[108,82],[110,83],[106,84],[109,85],[114,70],[101,86],[102,87],[111,88],[91,89],[117,90],[47,91],[48,91],[49,91],[50,91],[51,91],[52,91],[53,91],[54,91],[55,91],[56,91],[57,91],[58,91],[84,92],[82,91],[64,91],[86,93],[85,94],[60,91],[62,91],[63,91],[59,91],[83,91],[61,91],[81,95],[79,96],[80,97]],"exportedModulesMap":[[78,1],[66,2],[67,3],[65,4],[68,5],[69,6],[70,7],[71,8],[72,9],[73,10],[74,11],[75,12],[76,13],[77,14],[87,15],[88,15],[123,16],[124,17],[125,18],[126,19],[127,20],[128,21],[129,22],[130,23],[131,24],[132,25],[133,25],[135,26],[134,27],[136,28],[137,29],[138,30],[122,31],[139,32],[140,33],[141,34],[173,35],[142,36],[143,37],[144,38],[145,39],[146,40],[147,41],[148,42],[149,43],[150,44],[151,45],[152,45],[153,46],[154,47],[156,48],[155,49],[157,50],[158,51],[159,52],[160,53],[161,54],[162,55],[163,56],[164,57],[165,58],[166,59],[167,60],[168,61],[169,62],[170,63],[171,64],[105,65],[112,66],[104,65],[119,67],[96,68],[95,69],[118,70],[113,71],[116,72],[98,73],[97,74],[93,75],[92,76],[115,77],[94,78],[99,79],[103,79],[121,80],[120,79],[107,81],[108,82],[110,83],[106,84],[109,85],[114,70],[101,86],[102,87],[111,88],[91,89],[117,90],[84,98],[86,99],[85,1],[81,100],[79,101],[80,102]],"semanticDiagnosticsPerFile":[78,66,67,65,68,69,70,71,72,73,74,75,76,77,174,87,88,123,124,125,126,127,128,129,130,131,132,133,135,134,136,137,138,122,172,139,140,141,173,142,143,144,145,146,147,148,149,150,151,152,153,154,156,155,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,89,46,44,45,8,10,9,2,11,12,13,14,15,16,17,18,3,4,19,23,20,21,22,24,25,26,5,27,28,29,30,6,34,31,32,33,35,7,36,41,42,37,38,39,40,1,43,105,112,104,119,96,95,118,113,116,98,97,93,92,115,94,99,100,103,90,121,120,107,108,110,106,109,114,101,102,111,91,117,47,48,49,50,51,52,53,54,55,56,57,58,84,82,64,86,85,60,62,63,59,83,61,81,79,80]},"version":"5.3.3"}
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../src/adjust-list-param.ts","../src/async-lock.ts","../src/clipboard.ts","../src/closest-element.ts","../src/context-path.ts","../src/cookie.ts","../src/decode-html.ts","../src/detect-overflow.ts","../src/encode-form-params.ts","../src/file-drop-helper.ts","../src/format.ts","../src/fullscreen.ts","../src/has-overflow.ts","../src/sleep.ts","../src/os.ts","../src/swipe-listener.ts","../src/parse-jwt.ts","../src/password-pattern.ts","../src/logger.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash-es/debounce.d.ts","../src/timecapsule/snapshot-taker.ts","../src/timecapsule/timecapsule.ts","../src/timecapsule/index.ts","../src/is-unvalued.ts","../src/stringify-bignum.ts","../src/number-parser.ts","../src/longpressable.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/@types/trusted-types/index.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../src/reactive-controllers/tooltip-reactive-controller.ts","../src/reactive-controllers/index.ts","../src/index.ts","../src/mixins/infinite-scrollable.ts","../src/mixins/index.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"4a882ffbb4ed09d9b7734f784aebb1dfe488d63725c40759165c5d9c657ca029",{"version":"973ff19d4b21d528741d19ef8ae1a6192806e7fbe18e2b414dae6a5eb4ce1c18","signature":"098ec42cd54c2b3354584c4fe8ad143040114891dde762741522b62788772f0d"},{"version":"3c004a51a1d43261e6411e7c6934185e3f2f66126c64c0817b5b9181870086e2","signature":"f5800813e5c0d6c27d73b76f2c99f39bdfd6229d03553a8a9ae485f6aeb94425"},{"version":"c65636fa3cea14ad6a96f3c01bcc30d9f83c6e6095864b5e20190fef7d0e30eb","signature":"7fcb76be88d4a64f6318b5a24b57021d7463f24485a3d1a931bf664c7e437534"},{"version":"e16b98f53c89fc764db968b0ef9dce28a0f0d039439851eea30fab962ca2cdeb","signature":"7efea6f2270a14f1b0d5f472f2a6fcb0a97beb677299e10b073cc2abdabeef51"},{"version":"4c7799288b1bd167612ecedf9fe0f2563904ce78809c161536799a16b1b15901","signature":"6cf5098c7bf0c14358b656edd6103df1ae9f8c6a94abca9df8650c2b520d8096"},{"version":"644c5f408a19dac2fb6e89eae85ff930d51a88414da6e762e572f49eecb81ab4","signature":"dc2461db89dde29306a73a2926e2cf874e981ef034412f4d1e3d06d45bb3127e"},{"version":"9796074435e67376d48ec509ef8249ac69caeedfb942a2cc6daf9a86b4335396","signature":"4f69dd36aa514494e2665a9dd1ecbb94f705c37f13554aa6f0c4b55d47dcfec1"},{"version":"8f09cc9e905cb1d54d2d863de2bafbb1c0c4f20e979a07e4edc2a29361798de7","signature":"642bd83dc8b11abc31785975f869fea5ab2dd84246acd13c6ad7e769fea95150"},{"version":"8e8f663fe7c4665c984072bb694c8bd5303afb5bc64ebc1edfb7637677dcc80d","signature":"cb2de9f1d7d286191834eeb331d23dc69eeb322745114ddad1695e4c575b5feb"},{"version":"69ef8de8a4e2551f1a0e21d82a04d233fb5d7d8a1f8db661a1a18e880b4e7545","signature":"4d5e201faa4bceca840b652dfc10795170c061f498e19429a06e056490aa69aa"},{"version":"4f3fc5607259633875df57067d72509cbceb362775f4985462e6b2244baac6c4","signature":"940995980343a2bfebf515240e5eec487f845002a089bee0d18656ebf61d59aa"},{"version":"b18b9acb5cff76a70fec4f1effd260b9f956bba6edb28c1e160979f0b9a51dd6","signature":"85e0f00b17c3ae8cd88438c754a2c43f4a9361e685b97a70e52e33afbf62488f"},{"version":"6d3648445c8620b2330d9fb7c2caea528e3c4e079437959516b853c8cc360754","signature":"712dbb6cc6020b1dae2a2031b8a117717318652f73fd5042d508f7de416c47b7"},{"version":"d9e51838c1aa2a91b7d2a495adb92ab70eb35c81fcd3b359c2509903958bf3f8","signature":"05cfea0488751015b0b85911b6cdcde7c6cebdd9b8cada1ec0b5c1736357a552"},{"version":"a1953ae5bbf52b027ed3044bf32024e21994345c8a05d0aaa3902e08c033c803","signature":"ee11b7061adce4a1c0370620949a57851215b152a5632d2faf1aedbc90ad0520"},{"version":"d1d0e3e5bd9e070e932c938bd580da6fce3b6a9e230b7156584f7b38ce3a9c4e","signature":"f8c86fcbfb0a1e69a0ed28d3249cc33c312fa23a39c17e15cbbcc539bdcdc303"},{"version":"f1f7164489347eacf6f1239bcae173a72047ee9be4ba8cd7f4f6af42e8155ce8","signature":"39d2d450df6efbf38585fd316f18922c8ac3fdfd4c3fc412d0bee34e2bc86378"},{"version":"995abaa0980d5f0e01b0c4723c203194a3ea4b289ea814afdcc6ec9df478488c","signature":"4dcdfe4c18557fc02d8cb22cb422cb98bfeba8158aaf18cc66f9d99293ebe2c8"},{"version":"2d95c27112bfd3344d29539192bbdd69996f276fb24e061932d8043f3a9ef26f","signature":"bc971f58cf8cef65c3e5a4d37539b96e1f8d19b5c662e9ab796b62c9a63cc0c0"},"ff81bffa4ecfceae2e86b5920c3fcb250b66b1d6ed72944dffdf58123be2481b","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","aa2c18a1b5a086bbcaae10a4efba409cc95ba7287d8cf8f2591b53704fea3dea","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","3c221f8328720606c7fdc037039f4803e13b5ee5b758eee4a4ccc34fb872d824","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","a862dcb740371257e3dae1ab379b0859edcb5119484f8359a5e6fb405db9e12e",{"version":"c169e9579cc2e83f78561e54b8e76d8474f28f01606dfc622823a8bb6478a2eb","signature":"3df6a0e8bdb7199dff6cf75c0250316f06b87c982bb47460960a1c5a793f5ca6"},{"version":"fb6284b223f3580ff8a5bc75b24824f80ea7b2f32afcae4aee7c6bd73802179c","signature":"b3238dd00b7796eda3f507726e9882a55ff7043b249be8309abed22cfb7d7463"},{"version":"b3725f31a113200e0a0266278f33e64ba879874b0acf6837054f9acd34719588","signature":"f499d7fb533781939c7a5ab778ac6e6c8ffe65601b1a61a843c36ee0013f05b6"},{"version":"4d8db0ef58073a950c6a985b0d1313a358c888e491d5d9a4d5a0777d84351c9a","signature":"1e73d612f806d183d6c16c4135c16c1a14dd827c1a67097e72ab1841852bfcb9"},{"version":"8e485e375afaab51fdf32972879fa40758471dc93fc9c2484ad16542fd9a8fdb","signature":"30046b0787c577061d43e498b507da8a249fbc58bbe33a09a7bef777e1d5fb67"},{"version":"679a664272f576edc7a22e5d35e1a050634eac2f0a2564c704f380e653e4f4b7","signature":"13a5d8ec52111b64ed8fdcb47ab664b60085733c46c44aede33fd2926840ac31"},{"version":"9544dfae3085b4d978f768b14b591c75a2d811d28ea006075bfb1428ff9da82e","signature":"1cf02270a889fcc3fa5863734fcdbea410d3b4dd71e4678a894a48028f836f6e"},"e056bb30bf82271634daeee81f772f4a7960085f01f6d4d09c8da1ebe5f6a623","5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576",{"version":"86492a546c3308feaf1dde967afd325c321483b5e96f5fa9e9b6e691dc23fa9e","affectsGlobalScope":true},"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e",{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true},"d4b4f6148a6444ec92db4ac4c7dd7050ffc32b21a10276a59498e04740e8fd8d","2524f58c8d67af441b487c0ce0e0dd9c18bf3d06c05f621874dcda9780d8e22c","c7dd759e5948a94b42422ba7cf70eb8455416def9447614a3bdc1a99b81fc8bb","1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be",{"version":"f408caa23323423542f1a751f0c66a2c3bd32d39f0f6c2015e1a7789a522cdbd","signature":"9e5ae84aa6fb0c1ad6771d51994210f9cc0fc60d43c9afbd4cde4e10e719b97b"},{"version":"8961b63c842af1026b9e1e6f67cba3cae570b0011168719c538d950f202b3689","signature":"51f3be4aa09529ea1ad83a3d66830075a49e3e630df25d9892ef5708bb00de55"},{"version":"c675bb21cfe468c2c5954085a1b94afe505064abeadeb692a8b93944b518f231","signature":"1bdef5c3270439174be1f8668f4e2d9b0e61be67f10e5dc770b4b7562caf04bb"},{"version":"f9520a64036c4378b6617c0e414d8f02f5ce3bcc2a7b0a929a319e7e3f9c6800","signature":"156f461ef172e70226132dc36df4b72f7e77ae88523aaad9f0440307a53bda36"},{"version":"14fd84e1f3037c24aa5e5c9b6c4250e9effeea0fae526277c8ac4890310273c6","signature":"2045cb057c6163f5d5bb4d12655bb1449383952bcd3b7a7a62b2848e420245c1"},"2db0dd3aaa2ed285950273ce96ae8a450b45423aa9da2d10e194570f1233fa6b","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36",{"version":"392eadc2af403dd10b4debfbc655c089a7fa6a9750caeb770cfb30051e55e848","affectsGlobalScope":true},"b67f9c5d42e7770ddf8b6d1747b531275c44617e8071d2602a2cffd2932ad95e","53f0960fdcc53d097918adfd8861ffbe0db989c56ffc16c052197bf115da5ed6",{"version":"662163e5327f260b23ca0a1a1ad8a74078aabb587c904fcb5ef518986987eaff","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"c48c503c6b3f63baf18257e9a87559b5602a4e960107c762586d2a6a62b64a18","affectsGlobalScope":true},"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","3bb6e21a9f30417c0a059e240b3f8f70c8af9c4cb6f2fd1bc2db594c647e285f","7483ef24249f6a3e24eb3d8136ec7fe0633cd6f8ffe752e2a8d99412aff35bb7","d0ca5d7df114035258a9d01165be309371fcccf0cccd9d57b1453204686d1ed0",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"1bb9aab2311a9d596a45dba7c378b4e23846738d9bae54d60863dd3676b1edbc","affectsGlobalScope":true},"173b6275a81ebdb283b180654890f46516c21199734fed01a773b1c168b8c45c","304f66274aa8119e8d65a49b1cff84cbf803def6afe1b2cc987386e9a9890e22","1b9adafe8a7fefaeaf9099a0e06f602903f6268438147b843a33a5233ac71745","98273274f2dbb79b0b2009b20f74eca4a7146a3447c912d580cd5d2d94a7ae30","c933f7ba4b201c98b14275fd11a14abb950178afd2074703250fe3654fc10cd2","2eaa31492906bc8525aff3c3ec2236e22d90b0dfeee77089f196cd0adf0b3e3b",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"8f5814f29dbaf8bacd1764aebdf1c8a6eb86381f6a188ddbac0fcbaab855ce52","a63d03de72adfb91777784015bd3b4125abd2f5ef867fc5a13920b5649e8f52b","d20e003f3d518a7c1f749dbe27c6ab5e3be7b3c905a48361b04a9557de4a6900",{"version":"1d4d78c8b23c9ddaaaa49485e6adc2ec01086dfe5d8d4d36ca4cdc98d2f7e74a","affectsGlobalScope":true},{"version":"44fc16356b81c0463cc7d7b2b35dcf324d8144136f5bc5ce73ced86f2b3475b5","affectsGlobalScope":true},"575fb200043b11b464db8e42cc64379c5fd322b6d787638e005b5ee98a64486d","6de2f225d942562733e231a695534b30039bdf1875b377bb7255881f0df8ede8","56249fd3ef1f6b90888e606f4ea648c43978ef43a7263aafad64f8d83cd3b8aa","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","7b166975fdbd3b37afb64707b98bca88e46577bbc6c59871f9383a7df2daacd1","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","81505c54d7cad0009352eaa21bd923ab7cdee7ec3405357a54d9a5da033a2084","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","2ee1645e0df9d84467cfe1d67b0ad3003c2f387de55874d565094464ee6f2927",{"version":"abe61b580e030f1ca3ee548c8fd7b40fc686a97a056d5d1481f34c39c637345f","affectsGlobalScope":true},{"version":"9cf780e96b687e4bdfd1907ed26a688c18b89797490a00598fa8b8ab683335dd","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","9ae88ce9f73446c24b2d2452e993b676da1b31fca5ceb7276e7f36279f693ed1","e49d7625faff2a7842e4e7b9b197f972633fca685afcf6b4403400c97d087c36","b82c38abc53922b1b3670c3af6f333c21b735722a8f156e7d357a2da7c53a0a0",{"version":"b423f53647708043299ded4daa68d95c967a2ac30aa1437adc4442129d7d0a6c","affectsGlobalScope":true},{"version":"7245af181218216bacb01fbdf51095617a51661f20d77178c69a377e16fb69ed","affectsGlobalScope":true},"4f0fc7b7f54422bd97cfaf558ddb4bca86893839367b746a8f86b60ac7619673","4cdd8b6b51599180a387cc7c1c50f49eca5ce06595d781638fd0216520d98246","d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c",{"version":"ac14eb65c59722f0333e776a73e6a02cea23b5aa857a749ea176daf4e960e872","affectsGlobalScope":true},"7c6929fd7cbf38499b6a600b91c3b603d1d78395046dc3499b2b92d01418b94b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc",{"version":"0ea93d01083b3d5863cc98cb589b5d0eac55d14417487f9e5e455dfa0b17c660","affectsGlobalScope":true}],"root":[[48,66],[81,87],[98,102]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"fileIdsList":[[88,89],[79],[67,69,70,71,72,73,74,75,76,77,78,79],[67,68,70,71,72,73,74,75,76,77,78,79],[68,69,70,71,72,73,74,75,76,77,78,79],[67,68,69,71,72,73,74,75,76,77,78,79],[67,68,69,70,72,73,74,75,76,77,78,79],[67,68,69,70,71,73,74,75,76,77,78,79],[67,68,69,70,71,72,74,75,76,77,78,79],[67,68,69,70,71,72,73,75,76,77,78,79],[67,68,69,70,71,72,73,74,76,77,78,79],[67,68,69,70,71,72,73,74,75,77,78,79],[67,68,69,70,71,72,73,74,75,76,78,79],[67,68,69,70,71,72,73,74,75,76,77,79],[67,68,69,70,71,72,73,74,75,76,77,78],[103],[139],[140,145,174],[141,146,152,153,160,171,182],[141,142,152,160],[143,183],[144,145,153,161],[145,171,179],[146,148,152,160],[139,147],[148,149],[152],[150,152],[139,152],[152,153,154,171,182],[152,153,154,167,171,174],[137,140,187],[148,152,155,160,171,182],[152,153,155,156,160,171,179,182],[155,157,171,179,182],[103,104,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189],[152,158],[159,182,187],[148,152,160,171],[161],[162],[139,163],[160,161,164,181,187],[165],[166],[152,167,168],[167,169,183,185],[140,152,171,172,173,174],[140,171,173],[171,172],[174],[175],[139,171],[152,177,178],[177,178],[145,160,171,179],[180],[160,181],[140,155,166,182],[145,183],[171,184],[159,185],[186],[140,145,152,154,163,171,182,185,187],[171,188],[91],[90,94],[94],[92,93],[90,94,95,96],[114,118,182],[114,171,182],[109],[111,114,179,182],[160,179],[190],[109,190],[111,114,160,182],[106,107,110,113,140,152,171,182],[106,112],[110,114,140,174,182,190],[140,190],[130,140,190],[108,109,190],[114],[108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136],[114,121,122],[112,114,122,123],[113],[106,109,114],[114,118,122,123],[118],[112,114,117,182],[106,111,112,114,118,121],[140,171],[109,114,130,140,187,190],[47],[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,83,84,85,86,87,99],[47,101],[47,80],[47,98],[47,60,97],[47,81,82],[47,80,82],[47,66,81],[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,83,84,85,86,87,99],[101],[98],[97],[81,82],[82],[81]],"referencedMap":[[90,1],[80,2],[68,3],[69,4],[67,5],[70,6],[71,7],[72,8],[73,9],[74,10],[75,11],[76,12],[77,13],[78,14],[79,15],[103,16],[104,16],[139,17],[140,18],[141,19],[142,20],[143,21],[144,22],[145,23],[146,24],[147,25],[148,26],[149,26],[151,27],[150,28],[152,29],[153,30],[154,31],[138,32],[155,33],[156,34],[157,35],[190,36],[158,37],[159,38],[160,39],[161,40],[162,41],[163,42],[164,43],[165,44],[166,45],[167,46],[168,46],[169,47],[171,48],[173,49],[172,50],[174,51],[175,52],[176,53],[177,54],[178,55],[179,56],[180,57],[181,58],[182,59],[183,60],[184,61],[185,62],[186,63],[187,64],[188,65],[92,66],[95,67],[93,68],[94,69],[97,70],[121,71],[128,72],[120,71],[135,73],[112,74],[111,75],[134,76],[129,77],[132,78],[114,79],[113,80],[109,81],[108,82],[131,83],[110,84],[115,85],[119,85],[137,86],[136,85],[123,87],[124,88],[126,89],[122,90],[125,91],[130,76],[117,92],[118,93],[127,94],[107,95],[133,96],[48,97],[49,97],[50,97],[51,97],[52,97],[53,97],[54,97],[55,97],[56,97],[57,97],[58,97],[59,97],[60,97],[100,98],[84,97],[66,97],[87,97],[102,99],[101,100],[86,97],[62,97],[64,97],[65,97],[99,101],[98,102],[61,97],[85,97],[63,97],[83,103],[81,104],[82,105]],"exportedModulesMap":[[90,1],[80,2],[68,3],[69,4],[67,5],[70,6],[71,7],[72,8],[73,9],[74,10],[75,11],[76,12],[77,13],[78,14],[79,15],[103,16],[104,16],[139,17],[140,18],[141,19],[142,20],[143,21],[144,22],[145,23],[146,24],[147,25],[148,26],[149,26],[151,27],[150,28],[152,29],[153,30],[154,31],[138,32],[155,33],[156,34],[157,35],[190,36],[158,37],[159,38],[160,39],[161,40],[162,41],[163,42],[164,43],[165,44],[166,45],[167,46],[168,46],[169,47],[171,48],[173,49],[172,50],[174,51],[175,52],[176,53],[177,54],[178,55],[179,56],[180,57],[181,58],[182,59],[183,60],[184,61],[185,62],[186,63],[187,64],[188,65],[92,66],[95,67],[93,68],[94,69],[97,70],[121,71],[128,72],[120,71],[135,73],[112,74],[111,75],[134,76],[129,77],[132,78],[114,79],[113,80],[109,81],[108,82],[131,83],[110,84],[115,85],[119,85],[137,86],[136,85],[123,87],[124,88],[126,89],[122,90],[125,91],[130,76],[117,92],[118,93],[127,94],[107,95],[133,96],[100,106],[102,107],[101,2],[99,108],[98,109],[83,110],[81,111],[82,112]],"semanticDiagnosticsPerFile":[88,89,90,80,68,69,67,70,71,72,73,74,75,76,77,78,79,191,103,104,139,140,141,142,143,144,145,146,147,148,149,151,150,152,153,154,138,189,155,156,157,190,158,159,160,161,162,163,164,165,166,167,168,169,170,171,173,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,92,91,105,95,93,96,94,97,47,45,46,8,10,9,2,11,12,13,14,15,16,17,18,3,19,4,20,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,1,44,121,128,120,135,112,111,134,129,132,114,113,109,108,131,110,115,116,119,106,137,136,123,124,126,122,125,130,117,118,127,107,133,48,49,50,51,52,53,54,55,56,57,58,59,60,100,84,66,87,102,101,86,62,64,65,99,98,61,85,63,83,81,82]},"version":"5.4.5"}
|
package/package.json
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
"name": "@operato/utils",
|
3
3
|
"description": "Webcomponent utils following open-wc recommendations",
|
4
4
|
"author": "heartyoh",
|
5
|
-
"version": "2.0.0-
|
5
|
+
"version": "2.0.0-beta.13",
|
6
6
|
"main": "dist/src/index.js",
|
7
7
|
"module": "dist/src/index.js",
|
8
8
|
"exports": {
|
@@ -83,21 +83,21 @@
|
|
83
83
|
"storybook:build": "tsc && npm run analyze -- --exclude dist && build-storybook"
|
84
84
|
},
|
85
85
|
"devDependencies": {
|
86
|
-
"@custom-elements-manifest/analyzer": "^0.
|
86
|
+
"@custom-elements-manifest/analyzer": "^0.9.2",
|
87
87
|
"@hatiolab/prettier-config": "^1.0.0",
|
88
|
-
"@open-wc/eslint-config": "^
|
88
|
+
"@open-wc/eslint-config": "^12.0.3",
|
89
89
|
"@open-wc/testing": "^3.1.6",
|
90
|
-
"@typescript-eslint/eslint-plugin": "^
|
91
|
-
"@typescript-eslint/parser": "^
|
90
|
+
"@typescript-eslint/eslint-plugin": "^7.0.1",
|
91
|
+
"@typescript-eslint/parser": "^7.0.1",
|
92
92
|
"@web/dev-server": "^0.3.0",
|
93
|
-
"@web/dev-server-storybook": "^0.
|
94
|
-
"@web/test-runner": "^0.
|
93
|
+
"@web/dev-server-storybook": "^2.0.1",
|
94
|
+
"@web/test-runner": "^0.18.0",
|
95
95
|
"concurrently": "^8.0.1",
|
96
96
|
"eslint": "^8.39.0",
|
97
|
-
"eslint-config-prettier": "^
|
98
|
-
"husky": "^
|
99
|
-
"lint-staged": "^
|
100
|
-
"prettier": "^2.
|
97
|
+
"eslint-config-prettier": "^9.1.0",
|
98
|
+
"husky": "^9.0.11",
|
99
|
+
"lint-staged": "^15.2.2",
|
100
|
+
"prettier": "^3.2.5",
|
101
101
|
"tslib": "^2.3.1",
|
102
102
|
"typescript": "^5.0.4"
|
103
103
|
},
|
@@ -117,5 +117,5 @@
|
|
117
117
|
"dependencies": {
|
118
118
|
"lodash-es": "^4.17.21"
|
119
119
|
},
|
120
|
-
"gitHead": "
|
120
|
+
"gitHead": "719dcda3f81008118bc3593658f3e68570dd8866"
|
121
121
|
}
|
package/src/detect-overflow.ts
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
*
|
4
4
|
* @param {HTMLElement} el - The HTMLElement to check for overflow.
|
5
5
|
* @returns {boolean} - `true` if overflow is detected, `false` otherwise.
|
6
|
+
* @deprecated This function is no longer recommended for use and has been replaced by 'hasOverflow'.
|
6
7
|
*/
|
7
8
|
export function detectOverflow(el: HTMLElement) {
|
8
9
|
var styleOverflow = el.style.overflow
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/**
|
2
|
+
* Detects if the content of an HTMLElement overflows its boundaries.
|
3
|
+
*
|
4
|
+
* @param {HTMLElement} el - The HTMLElement to check for overflow.
|
5
|
+
* @returns {boolean} - `true` if overflow is detected, `false` otherwise.
|
6
|
+
*/
|
7
|
+
export function hasOverflow(el: HTMLElement): boolean {
|
8
|
+
const computedStyle = getComputedStyle(el)
|
9
|
+
const originalOverflow = computedStyle.overflow
|
10
|
+
|
11
|
+
if (originalOverflow === 'visible') {
|
12
|
+
el.style.overflow = 'hidden'
|
13
|
+
}
|
14
|
+
|
15
|
+
const isOverflowing = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight
|
16
|
+
|
17
|
+
if (originalOverflow === 'visible') {
|
18
|
+
el.style.overflow = ''
|
19
|
+
}
|
20
|
+
|
21
|
+
return isOverflowing
|
22
|
+
}
|
package/src/index.ts
CHANGED
@@ -8,7 +8,8 @@ export * from './fullscreen.js'
|
|
8
8
|
export * from './parse-jwt.js'
|
9
9
|
export * from './password-pattern.js'
|
10
10
|
export * from './closest-element.js'
|
11
|
-
export * from './detect-overflow.js'
|
11
|
+
export * from './detect-overflow.js' /* deprecated by 'has-overflow' */
|
12
|
+
export * from './has-overflow.js'
|
12
13
|
export * from './timecapsule/index.js'
|
13
14
|
export * from './clipboard.js'
|
14
15
|
export * from './format.js'
|
@@ -17,4 +18,8 @@ export * from './is-unvalued.js'
|
|
17
18
|
export * from './stringify-bignum.js'
|
18
19
|
export * from './encode-form-params.js'
|
19
20
|
export * from './cookie.js'
|
20
|
-
export * from './
|
21
|
+
export * from './number-parser.js'
|
22
|
+
export * from './longpressable.js'
|
23
|
+
export * from './decode-html.js'
|
24
|
+
|
25
|
+
export * from './reactive-controllers'
|
@@ -0,0 +1,101 @@
|
|
1
|
+
/**
|
2
|
+
* @license Copyright © HatioLab Inc. All rights reserved.
|
3
|
+
*/
|
4
|
+
|
5
|
+
/* Inspired by https://github.com/john-doherty/long-press-event */
|
6
|
+
|
7
|
+
var timer = null as any
|
8
|
+
|
9
|
+
// check if we're using a touch screen
|
10
|
+
//@ts-ignore
|
11
|
+
const isTouch = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0
|
12
|
+
|
13
|
+
// switch to touch events if using a touch screen
|
14
|
+
const mouseDown = isTouch ? 'touchstart' : 'mousedown'
|
15
|
+
const mouseOut = isTouch ? 'touchcancel' : 'mouseout'
|
16
|
+
const mouseUp = isTouch ? 'touchend' : 'mouseup'
|
17
|
+
const mouseMove = isTouch ? 'touchmove' : 'mousemove'
|
18
|
+
|
19
|
+
/*
|
20
|
+
* Fires the 'long-press' event on element
|
21
|
+
* @returns {void}
|
22
|
+
*/
|
23
|
+
function fireLongPressEvent(this: HTMLElement) {
|
24
|
+
clearLongPressTimer()
|
25
|
+
|
26
|
+
// fire the long-press event
|
27
|
+
var suppressClickEvent = this.dispatchEvent(new CustomEvent('long-press', { bubbles: true, cancelable: true }))
|
28
|
+
|
29
|
+
if (suppressClickEvent) {
|
30
|
+
// temporarily intercept and clear the next click
|
31
|
+
this.addEventListener(
|
32
|
+
mouseUp,
|
33
|
+
function clearMouseUp(e) {
|
34
|
+
this.removeEventListener(mouseUp, clearMouseUp, true)
|
35
|
+
cancelEvent(e)
|
36
|
+
},
|
37
|
+
true
|
38
|
+
)
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
/*
|
43
|
+
* method responsible for starting the long press timer
|
44
|
+
* @param {event} e - event object
|
45
|
+
* @returns {void}
|
46
|
+
*/
|
47
|
+
function startLongPressTimer(e: Event) {
|
48
|
+
clearLongPressTimer(e)
|
49
|
+
|
50
|
+
var el = e.target as HTMLElement
|
51
|
+
|
52
|
+
// get delay from html attribute if it exists, otherwise default to 1500
|
53
|
+
var longPressDelayInMs = parseInt(el.getAttribute('data-long-press-delay') || '600', 10)
|
54
|
+
|
55
|
+
// start the timer
|
56
|
+
timer = setTimeout(fireLongPressEvent.bind(el), longPressDelayInMs)
|
57
|
+
}
|
58
|
+
|
59
|
+
/*
|
60
|
+
* method responsible for clearing a pending long press timer
|
61
|
+
* @param {event} e - event object
|
62
|
+
* @returns {void}
|
63
|
+
*/
|
64
|
+
function clearLongPressTimer(e?: Event) {
|
65
|
+
clearTimeout(timer)
|
66
|
+
timer = null
|
67
|
+
}
|
68
|
+
|
69
|
+
/*
|
70
|
+
* Cancels the current event
|
71
|
+
* @param {object} e - browser event object
|
72
|
+
* @returns {void}
|
73
|
+
*/
|
74
|
+
function cancelEvent(e: Event) {
|
75
|
+
e.stopImmediatePropagation()
|
76
|
+
e.preventDefault()
|
77
|
+
e.stopPropagation()
|
78
|
+
}
|
79
|
+
|
80
|
+
/**
|
81
|
+
* method set target element to be able to respond longpress event
|
82
|
+
* @param {HTMLElement} element target element
|
83
|
+
*/
|
84
|
+
export const longpressable = (element: HTMLElement) => {
|
85
|
+
// hook events that clear a pending long press event
|
86
|
+
element.addEventListener(mouseOut, clearLongPressTimer, true)
|
87
|
+
element.addEventListener(mouseUp, clearLongPressTimer, true)
|
88
|
+
element.addEventListener(mouseMove, clearLongPressTimer, true)
|
89
|
+
element.addEventListener('wheel', clearLongPressTimer, true)
|
90
|
+
element.addEventListener('scroll', clearLongPressTimer, true)
|
91
|
+
|
92
|
+
// hook events that can trigger a long press event
|
93
|
+
element.addEventListener(mouseDown, startLongPressTimer, true) // <- start
|
94
|
+
|
95
|
+
// cancel context for touch display
|
96
|
+
if (mouseDown.indexOf('touch') === 0) {
|
97
|
+
element.addEventListener('contextmenu', cancelEvent, true)
|
98
|
+
} else {
|
99
|
+
element.addEventListener('contextmenu', clearLongPressTimer, true)
|
100
|
+
}
|
101
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './tooltip-reactive-controller.js'
|
@@ -0,0 +1,89 @@
|
|
1
|
+
import { ReactiveController, ReactiveControllerHost } from 'lit'
|
2
|
+
import { hasOverflow } from '../has-overflow'
|
3
|
+
|
4
|
+
/**
|
5
|
+
* TooltipReactiveController is a controller that manages the display of tooltips
|
6
|
+
* for elements with a specified attribute. It works in conjunction with TooltipStyles
|
7
|
+
* to position and style the tooltips.
|
8
|
+
*/
|
9
|
+
export class TooltipReactiveController implements ReactiveController {
|
10
|
+
private host: ReactiveControllerHost & HTMLElement
|
11
|
+
private attributeName!: string
|
12
|
+
private content?: string | ((element: HTMLElement) => string)
|
13
|
+
|
14
|
+
/**
|
15
|
+
* @param host - The host element that this controller is associated with.
|
16
|
+
* @param options - An optional object containing the content of the tooltip and the attribute name that triggers the tooltip.
|
17
|
+
* - content: The tooltip content, either a string or a function that returns a string based on the element.
|
18
|
+
* - attributeName: The attribute name that triggers the tooltip. Defaults to 'data-reactive-tooltip'.
|
19
|
+
*/
|
20
|
+
constructor(
|
21
|
+
host: ReactiveControllerHost & HTMLElement,
|
22
|
+
options?: {
|
23
|
+
content?: string | ((element: HTMLElement) => string)
|
24
|
+
attributeName?: string
|
25
|
+
}
|
26
|
+
) {
|
27
|
+
const { attributeName, content } = options || {}
|
28
|
+
|
29
|
+
this.host = host
|
30
|
+
this.attributeName = attributeName || 'data-reactive-tooltip'
|
31
|
+
this.content = content
|
32
|
+
|
33
|
+
host.addController(this)
|
34
|
+
}
|
35
|
+
|
36
|
+
/**
|
37
|
+
* Called when the host is connected to the DOM. Adds event listeners for mouseover and mouseout events.
|
38
|
+
*/
|
39
|
+
hostConnected() {
|
40
|
+
const target = this.host.shadowRoot ?? this.host
|
41
|
+
target.addEventListener('mouseover', this.handleMouseOver)
|
42
|
+
target.addEventListener('mouseout', this.handleMouseOut)
|
43
|
+
}
|
44
|
+
|
45
|
+
/**
|
46
|
+
* Called when the host is disconnected from the DOM. Removes event listeners for mouseover and mouseout events.
|
47
|
+
*/
|
48
|
+
hostDisconnected() {
|
49
|
+
const target = this.host.shadowRoot ?? this.host
|
50
|
+
target.removeEventListener('mouseover', this.handleMouseOver)
|
51
|
+
target.removeEventListener('mouseout', this.handleMouseOut)
|
52
|
+
}
|
53
|
+
|
54
|
+
/**
|
55
|
+
* Handles the mouseover event. Checks if the target element has the specified attribute and if it has overflow.
|
56
|
+
* If both conditions are met, sets the tooltip content and calculates its position.
|
57
|
+
* @param e - The mouseover event.
|
58
|
+
*/
|
59
|
+
private handleMouseOver = (e: Event) => {
|
60
|
+
const element = e.target as HTMLElement
|
61
|
+
if (element.hasAttribute(this.attributeName) && hasOverflow(element)) {
|
62
|
+
element.setAttribute(
|
63
|
+
'data-tooltip',
|
64
|
+
typeof this.content === 'function'
|
65
|
+
? this.content.call(this, element)
|
66
|
+
: this.content || element.textContent?.trim() || ''
|
67
|
+
)
|
68
|
+
|
69
|
+
const rect = element.getBoundingClientRect()
|
70
|
+
|
71
|
+
// Set CSS variables for position
|
72
|
+
element.style.setProperty('--tooltip-top', `${rect.top + rect.height}px`)
|
73
|
+
element.style.setProperty('--tooltip-left', `${rect.left}px`)
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
/**
|
78
|
+
* Handles the mouseout event. Removes the tooltip content and position properties from the target element.
|
79
|
+
* @param e - The mouseout event.
|
80
|
+
*/
|
81
|
+
private handleMouseOut = (e: Event) => {
|
82
|
+
const element = e.target as HTMLElement
|
83
|
+
if (element.hasAttribute('data-tooltip')) {
|
84
|
+
element.removeAttribute('data-tooltip')
|
85
|
+
element.style.removeProperty('--tooltip-top')
|
86
|
+
element.style.removeProperty('--tooltip-left')
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|
package/dist/src/checker.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../src/checker.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,MAAM,UAAU,mBAAmB,CAAC,KAAU;IAC5C,IAAI,MAAM,GAAkB,IAAI,CAAA;IAEhC,6BAA6B;IAC7B,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,EAAE,CAAC;QACxG,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["// 숫자라면 숫자값을, 아니면 null을 반환\n// 0 = true\n// '0' = true\n// 123 = true\n// \"123\" = true\n// -123 = true\n// \"-123\" = true\n// true = false\n// false = false\n// \"\" = false\n// null = false\n// undefined = false\n// {} = false\n// [] = false\nexport function parseToNumberOrNull(value: any): number | null {\n let result: number | null = null\n\n // 숫자나 스트링이면서 NaN이 아니면 숫자로 변환\n if ((typeof value === 'string' || typeof value === 'number') && value !== '' && !isNaN(value as number)) {\n result = Number(value)\n }\n\n return result\n}\n"]}
|
File without changes
|
File without changes
|