zero-tooltip 1.0.8 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,23 +10,26 @@ The component is designed to enhance user interactions by providing informative
10
10
  ```bash
11
11
  # npm
12
12
  npm install zero-tooltip
13
+
13
14
  # yarn
14
15
  yarn add zero-tooltip
16
+
17
+ # pnpm
18
+ pnpm install zero-tooltip
15
19
  ```
16
20
 
17
- Add globally in `main.ts`:
21
+ Register plugin in `main.ts`:
18
22
  ```ts
19
23
  import ZeroTooltip from 'zero-tooltip'
20
- // import default styles
21
- import '../node_modules/zero-tooltip/dist/styles.css'
22
- // register directive
24
+
23
25
  const app = createApp(App)
24
- app.directive('tooltip', ZeroTooltip())
26
+
27
+ app.use(ZeroTooltip())
25
28
  ```
26
29
 
27
30
  ## Usage
28
31
 
29
- Use it just like any other Vue.js directive on elements.
32
+ Tooltip can be used with directive `v-tooltip` added on elements.
30
33
  The given value is displayed as tooltip's text:
31
34
 
32
35
  ```html
@@ -43,21 +46,22 @@ Default position for tooltip is above/on top of the element that is being hovere
43
46
  <button v-tooltip:right="'Submits this form'">Submit</button>
44
47
  ```
45
48
 
46
- Acceptable arguments are: `left` | `top` | `right` | `bottom`. Passing this argument locally, it overrides default tooltip position given as `defaultPosition` when registering directive at the app level.
49
+ Acceptable arguments are: `left` | `top` | `right` | `bottom`. This will override tooltip default position that was set during plugin registering process.
47
50
 
48
- You can also define default position globally when registering directive at the app level:
51
+ You can also define default position globally when registering plugin:
49
52
 
50
53
  ```ts
51
- app.directive('tooltip', ZeroTooltip({
54
+ app.use(ZeroTooltip({
52
55
  defaultPosition: 'right'
53
56
  }))
54
57
  ```
55
58
 
56
- Tooltip component is fully customizable by giving config object when declaring global tooltip directive:
59
+ Tooltip component is fully customizable by giving config object as options when registering tooltip plugin:
57
60
  ```ts
58
61
  import ZeroTooltipConfig from 'zero-tooltip'
59
62
 
60
63
  const tooltipConfig: ZeroTooltipConfig = {
64
+ appendTo: ... ,
61
65
  defaultPosition: ... ,
62
66
  positions: ... ,
63
67
  offsetFromSource: ... ,
@@ -73,7 +77,7 @@ const tooltipConfig: ZeroTooltipConfig = {
73
77
  zIndex: ...
74
78
  }
75
79
 
76
- app.directive('tooltip', ZeroTooltip(tooltipConfig))
80
+ app.use(ZeroTooltip(tooltipConfig))
77
81
  ```
78
82
 
79
83
  All above settings are optional.
@@ -88,7 +92,8 @@ Tooltip can be customizable also for each usage (locally) using same config as f
88
92
  import ZeroTooltipLocalConfig from 'zero-tooltip'
89
93
 
90
94
  const tooltipConfig: ZeroTooltipLocalConfig = reactive({
91
- content: 'This is tooltip'
95
+ content: 'This is tooltip',
96
+ appendTo: ... ,
92
97
  defaultPosition: ... ,
93
98
  positions: ... ,
94
99
  offsetFromSource: ... ,
@@ -110,7 +115,8 @@ const tooltipConfig: ZeroTooltipLocalConfig = reactive({
110
115
  ## ZeroTooltipConfig
111
116
  | Property | <div style="width:260px">Default value</div> | Type | Details |
112
117
  |---|---|---|---|
113
- | defaultPosition | *top* | TooltipPosition | Position of tooltip component relative to element that is being hovered |
118
+ | appendTo | *body* | string | A valid CSS query selector to specify where Tooltip gets appended. |
119
+ | defaultPosition | *top* | TooltipPosition | Position of tooltip component relative to element that is being hovered. |
114
120
  | positions | *{ <br> &emsp; left: ['left', 'right', 'top', 'bottom'], <br> &emsp; top: ['top', 'bottom', 'right', 'left'], <br> &emsp; right: ['right', 'left', 'top', 'bottom'], <br> &emsp; bottom: ['bottom', 'top', 'right', 'left'], <br> }* | TooltipPositions | Ordered list of fallback positions in case tooltip does not have enough space in default position. If none of given positions will have enough space for tooltip, then it will not be rendered. |
115
121
  | offsetFromSource | *10* | number | Tooltip offset in `px` from element that's being hovered *(arrow size is not added to this value)* |
116
122
  | offsetFromViewport | *20* | number | Minimal allowed tooltip offset in `px` from viewport sides |
@@ -0,0 +1,4 @@
1
+ export default function useHideOnResize(): {
2
+ handleHideOnResize: (anchorElement: HTMLElement, hideOverlay: () => void) => void;
3
+ resetResizeReferences: () => void;
4
+ };
@@ -0,0 +1,3 @@
1
+ export default function useHideOnScroll(): {
2
+ handleHideOnScroll: (anchorElement: HTMLElement, hideOverlay: () => void) => void;
3
+ };
package/dist/index.d.ts CHANGED
@@ -1,36 +1,11 @@
1
- import { Directive } from 'vue';
2
-
3
- declare const ZeroTooltip: (globalConfig?: ZeroTooltipConfig) => Directive;
4
- export default ZeroTooltip;
5
-
6
- export declare type ZeroTooltipConfig = {
7
- defaultPosition?: ZeroTooltipPosition;
8
- positions?: Partial<ZeroTooltipPositions>;
9
- offsetFromSource?: number;
10
- offsetFromViewport?: number;
11
- minWidth?: number;
12
- maxWidth?: number;
13
- tooltipBorderWidth?: number;
14
- tooltipClasses?: string;
15
- textClasses?: string;
16
- arrowSize?: number;
17
- arrowClasses?: string;
18
- arrowMinOffsetFromTooltipCorner?: number;
19
- zIndex?: number;
20
- };
21
-
22
- export declare type ZeroTooltipLocalConfig = {
23
- content: string;
24
- show?: boolean;
25
- } & ZeroTooltipConfig;
26
-
27
- export declare type ZeroTooltipPosition = 'left' | 'top' | 'right' | 'bottom';
28
-
29
- export declare type ZeroTooltipPositions = {
30
- left: [ZeroTooltipPosition, ZeroTooltipPosition, ZeroTooltipPosition, ZeroTooltipPosition];
31
- top: [ZeroTooltipPosition, ZeroTooltipPosition, ZeroTooltipPosition, ZeroTooltipPosition];
32
- right: [ZeroTooltipPosition, ZeroTooltipPosition, ZeroTooltipPosition, ZeroTooltipPosition];
33
- bottom: [ZeroTooltipPosition, ZeroTooltipPosition, ZeroTooltipPosition, ZeroTooltipPosition];
34
- };
35
-
36
- export { }
1
+ import './style.css';
2
+ import { App } from 'vue';
3
+ import TooltipConfig from "./types/tooltipConfig";
4
+ import TooltipLocalConfig from "./types/tooltipLocalConfig";
5
+ import TooltipPosition from "./types/tooltipPosition";
6
+ import TooltipPositions from "./types/tooltipPositions";
7
+ declare const _default: {
8
+ install: (app: App, options?: TooltipConfig) => void;
9
+ };
10
+ export default _default;
11
+ export type { TooltipConfig as ZeroTooltipConfig, TooltipPosition as ZeroTooltipPosition, TooltipPositions as ZeroTooltipPositions, TooltipLocalConfig as ZeroTooltipLocalConfig };
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ /*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.zt-fixed{position:fixed}.zt-absolute{position:absolute}.zt-right-0{right:0}.zt-top-0{top:0}.zt-z-\[2\]{z-index:2}.zt-box-border{box-sizing:border-box}.zt-inline-block{display:inline-block}.zt-h-\[2000px\]{height:2000px}.zt-h-\[500px\]{height:500px}.zt-w-\[400px\]{width:400px}.zt-w-fit{width:-moz-fit-content;width:fit-content}.zt-w-full{width:100%}.zt-whitespace-pre-wrap{white-space:pre-wrap}.zt-break-words{overflow-wrap:break-word}.zt-rounded-md{border-radius:.375rem}.zt-border-solid{border-style:solid}.zt-border-\[\#495057\]{--tw-border-opacity:1;border-color:rgb(73 80 87/var(--tw-border-opacity))}.\!zt-border-x-transparent{border-left-color:#0000!important;border-right-color:#0000!important}.\!zt-border-y-transparent{border-top-color:#0000!important}.\!zt-border-b-transparent,.\!zt-border-y-transparent{border-bottom-color:#0000!important}.\!zt-border-l-transparent{border-left-color:#0000!important}.\!zt-border-r-transparent{border-right-color:#0000!important}.\!zt-border-t-transparent{border-top-color:#0000!important}.zt-bg-\[\#495057\]{--tw-bg-opacity:1;background-color:rgb(73 80 87/var(--tw-bg-opacity))}.zt-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.zt-bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity))}.zt-px-2{padding-left:.5rem;padding-right:.5rem}.zt-px-2\.5{padding-left:.625rem;padding-right:.625rem}.zt-py-1{padding-top:.25rem;padding-bottom:.25rem}.zt-py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.zt-text-sm{font-size:.875rem;line-height:1.25rem}.zt-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.zt-opacity-0{opacity:0}.zt-shadow-\[0_2px_12px_0_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 2px 12px 0 #0000001a;--tw-shadow-colored:0 2px 12px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}
@@ -0,0 +1,4 @@
1
+ import { Directive } from "vue";
2
+ import TooltipConfig from "./types/tooltipConfig";
3
+ declare const ZeroTooltip: (globalConfig?: TooltipConfig) => Directive;
4
+ export default ZeroTooltip;
@@ -0,0 +1,19 @@
1
+ import TooltipPosition from "./tooltipPosition";
2
+ import TooltipPositions from "./tooltipPositions";
3
+ type TooltipConfig = {
4
+ appendTo?: string;
5
+ defaultPosition?: TooltipPosition;
6
+ positions?: Partial<TooltipPositions>;
7
+ offsetFromSource?: number;
8
+ offsetFromViewport?: number;
9
+ minWidth?: number;
10
+ maxWidth?: number;
11
+ tooltipBorderWidth?: number;
12
+ tooltipClasses?: string;
13
+ textClasses?: string;
14
+ arrowSize?: number;
15
+ arrowClasses?: string;
16
+ arrowMinOffsetFromTooltipCorner?: number;
17
+ zIndex?: number;
18
+ };
19
+ export default TooltipConfig;
@@ -0,0 +1,6 @@
1
+ import TooltipConfig from "./tooltipConfig";
2
+ type TooltipLocalConfig = {
3
+ content: string;
4
+ show?: boolean;
5
+ } & TooltipConfig;
6
+ export default TooltipLocalConfig;
@@ -0,0 +1,2 @@
1
+ type TooltipPosition = 'left' | 'top' | 'right' | 'bottom';
2
+ export default TooltipPosition;
@@ -0,0 +1,8 @@
1
+ import TooltipPosition from "./tooltipPosition";
2
+ type TooltipPositions = {
3
+ left: [TooltipPosition, TooltipPosition, TooltipPosition, TooltipPosition];
4
+ top: [TooltipPosition, TooltipPosition, TooltipPosition, TooltipPosition];
5
+ right: [TooltipPosition, TooltipPosition, TooltipPosition, TooltipPosition];
6
+ bottom: [TooltipPosition, TooltipPosition, TooltipPosition, TooltipPosition];
7
+ };
8
+ export default TooltipPositions;
@@ -1,39 +1,39 @@
1
- import { isReactive as et, watch as rt } from "vue";
1
+ import { isReactive as st, watch as dt } from "vue";
2
2
  let M;
3
- const st = new Uint8Array(16);
4
- function dt() {
3
+ const it = new Uint8Array(16);
4
+ function pt() {
5
5
  if (!M && (M = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !M))
6
6
  throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
7
- return M(st);
7
+ return M(it);
8
8
  }
9
- const w = [];
9
+ const u = [];
10
10
  for (let e = 0; e < 256; ++e)
11
- w.push((e + 256).toString(16).slice(1));
12
- function it(e, t = 0) {
13
- return w[e[t + 0]] + w[e[t + 1]] + w[e[t + 2]] + w[e[t + 3]] + "-" + w[e[t + 4]] + w[e[t + 5]] + "-" + w[e[t + 6]] + w[e[t + 7]] + "-" + w[e[t + 8]] + w[e[t + 9]] + "-" + w[e[t + 10]] + w[e[t + 11]] + w[e[t + 12]] + w[e[t + 13]] + w[e[t + 14]] + w[e[t + 15]];
11
+ u.push((e + 256).toString(16).slice(1));
12
+ function ot(e, t = 0) {
13
+ return u[e[t + 0]] + u[e[t + 1]] + u[e[t + 2]] + u[e[t + 3]] + "-" + u[e[t + 4]] + u[e[t + 5]] + "-" + u[e[t + 6]] + u[e[t + 7]] + "-" + u[e[t + 8]] + u[e[t + 9]] + "-" + u[e[t + 10]] + u[e[t + 11]] + u[e[t + 12]] + u[e[t + 13]] + u[e[t + 14]] + u[e[t + 15]];
14
14
  }
15
- const ot = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), q = {
16
- randomUUID: ot
15
+ const ht = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), R = {
16
+ randomUUID: ht
17
17
  };
18
- function pt(e, t, r) {
19
- if (q.randomUUID && !t && !e)
20
- return q.randomUUID();
18
+ function ut(e, t, r) {
19
+ if (R.randomUUID && !t && !e)
20
+ return R.randomUUID();
21
21
  e = e || {};
22
- const s = e.random || (e.rng || dt)();
22
+ const s = e.random || (e.rng || pt)();
23
23
  if (s[6] = s[6] & 15 | 64, s[8] = s[8] & 63 | 128, t) {
24
24
  r = r || 0;
25
25
  for (let d = 0; d < 16; ++d)
26
26
  t[r + d] = s[d];
27
27
  return t;
28
28
  }
29
- return it(s);
29
+ return ot(s);
30
30
  }
31
- function ht() {
31
+ function wt() {
32
32
  let e = [];
33
33
  const t = (d, i) => {
34
34
  if (r(d), e.length > 0)
35
- for (const o of e)
36
- o.addEventListener("scroll", i);
35
+ for (const p of e)
36
+ p.addEventListener("scroll", i);
37
37
  window.addEventListener("scroll", () => {
38
38
  i(), s(i);
39
39
  });
@@ -41,8 +41,8 @@ function ht() {
41
41
  let i = d;
42
42
  for (; i !== null && i.tagName !== "HTML"; ) {
43
43
  if (i.scrollHeight !== i.clientHeight) {
44
- const o = window.getComputedStyle(i);
45
- (o.overflow === "auto" || o.overflow === "scroll") && e.push(i);
44
+ const p = window.getComputedStyle(i);
45
+ (p.overflow === "auto" || p.overflow === "scroll") && e.push(i);
46
46
  }
47
47
  i = i.parentElement;
48
48
  }
@@ -56,15 +56,15 @@ function ht() {
56
56
  };
57
57
  return { handleHideOnScroll: t };
58
58
  }
59
- function wt() {
59
+ function mt() {
60
60
  let e = null, t = null;
61
61
  return { handleHideOnResize: (d, i) => {
62
- e = new ResizeObserver((o) => {
63
- const p = o[0].target;
62
+ e = new ResizeObserver((p) => {
63
+ const o = p[0].target;
64
64
  if (t === null)
65
65
  t = d.getBoundingClientRect();
66
66
  else {
67
- const h = p.getBoundingClientRect();
67
+ const h = o.getBoundingClientRect();
68
68
  (h.left !== t.left || h.top !== t.top || h.width !== t.width || h.height !== t.height) && i();
69
69
  }
70
70
  }), e.observe(d);
@@ -72,167 +72,168 @@ function wt() {
72
72
  e !== null && e.disconnect(), e = null, t = null;
73
73
  } };
74
74
  }
75
- const { handleHideOnScroll: ut } = ht(), { handleHideOnResize: mt, resetResizeReferences: nt } = wt(), y = "zero-tooltip__container", j = "zero-tooltip__text", tt = "zero-tooltip__arrow", c = {
75
+ const { handleHideOnScroll: nt } = wt(), { handleHideOnResize: ct, resetResizeReferences: Ot } = mt(), S = "zero-tooltip__container", N = "zero-tooltip__text", rt = "zero-tooltip__arrow", c = {
76
76
  left: ["left", "right", "top", "bottom"],
77
77
  top: ["top", "bottom", "right", "left"],
78
78
  right: ["right", "left", "top", "bottom"],
79
79
  bottom: ["bottom", "top", "right", "left"]
80
- }, R = "top", N = 10, Z = 20, G = 100, J = 250, K = 0, Q = "zt-fixed zt-opacity-0 zt-inline-block zt-w-fit zt-py-1.5 zt-px-2.5 zt-rounded-md zt-bg-[#495057] zt-shadow-[0_2px_12px_0_rgba(0,0,0,0.1)] zt-box-border", X = "zt-text-sm zt-text-white zt-whitespace-pre-wrap zt-break-words", Y = 5, ct = "zt-absolute zt-border-solid zt-border-[#495057]", E = 6, l = 1, b = !0, n = {}, Lt = (e) => ({
80
+ }, Z = "body", f = "top", G = 10, J = 20, K = 100, Q = 250, X = 0, Y = "zt-fixed zt-opacity-0 zt-inline-block zt-w-fit zt-py-1.5 zt-px-2.5 zt-rounded-md zt-bg-[#495057] zt-shadow-[0_2px_12px_0_rgba(0,0,0,0.1)] zt-box-border", E = "zt-text-sm zt-text-white zt-whitespace-pre-wrap zt-break-words", l = 5, xt = "zt-absolute zt-border-solid zt-border-[#495057]", b = 6, C = 1, g = !0, n = {}, Ft = (e) => ({
81
81
  created: (t, r, s) => {
82
- const d = pt();
83
- s.el.$_tooltip = { uuid: d }, V(r.value, e, r.arg, t, d), typeof r.value != "string" && et(r.value) && rt(r.value, (i) => {
84
- n[d] && B(n[d]), V(i, e, r.arg, t, d);
82
+ const d = ut();
83
+ s.el.$_tooltip = { uuid: d }, B(r.value, e, r.arg, t, d), typeof r.value != "string" && st(r.value) && dt(r.value, (i) => {
84
+ n[d] && L(n[d]), B(i, e, r.arg, t, d);
85
85
  });
86
86
  },
87
87
  updated: (t, r, s) => {
88
88
  const d = s.el.$_tooltip.uuid;
89
- n[d] && B(n[d]), V(r.value, e, r.arg, t, d);
89
+ n[d] && L(n[d]), B(r.value, e, r.arg, t, d);
90
90
  },
91
91
  beforeUnmount: (t, r, s) => {
92
92
  const d = s.el.$_tooltip.uuid;
93
- n[d] && B(n[d]);
93
+ n[d] && L(n[d]);
94
94
  }
95
95
  });
96
- function V(e, t, r, s, d) {
97
- let i = Ot(e, t, r);
98
- const o = Ft(s, i, d);
99
- n[d] = o, s.matches(":hover") && s.dispatchEvent(new Event("mouseenter"));
96
+ function B(e, t, r, s, d) {
97
+ let i = Tt(e, t, r);
98
+ const p = vt(s, i, d);
99
+ n[d] = p, s.matches(":hover") && s.dispatchEvent(new Event("mouseenter"));
100
100
  }
101
- function Ot(e, t, r) {
102
- var a, L, H, $, A, _, I, U, f, k, D, P;
103
- let s, d, i, o, p, h, u, m, x, O, F, T, W, z, v;
104
- return s = xt(e), typeof e != "string" && (d = r ?? e.defaultPosition ?? (t == null ? void 0 : t.defaultPosition) ?? R, i = {
105
- left: ((a = e.positions) == null ? void 0 : a.left) ?? ((L = t == null ? void 0 : t.positions) == null ? void 0 : L.left) ?? c.left,
106
- top: ((H = e.positions) == null ? void 0 : H.top) ?? (($ = t == null ? void 0 : t.positions) == null ? void 0 : $.top) ?? c.top,
107
- right: ((A = e.positions) == null ? void 0 : A.right) ?? ((_ = t == null ? void 0 : t.positions) == null ? void 0 : _.right) ?? c.right,
108
- bottom: ((I = e.positions) == null ? void 0 : I.bottom) ?? ((U = t == null ? void 0 : t.positions) == null ? void 0 : U.bottom) ?? c.bottom
109
- }, o = e.offsetFromSource ?? (t == null ? void 0 : t.offsetFromSource) ?? N, p = e.offsetFromViewport ?? (t == null ? void 0 : t.offsetFromViewport) ?? Z, h = e.minWidth ?? (t == null ? void 0 : t.minWidth) ?? G, u = e.maxWidth ?? (t == null ? void 0 : t.maxWidth) ?? J, m = e.tooltipBorderWidth ?? (t == null ? void 0 : t.tooltipBorderWidth) ?? K, x = y + " " + Q + " " + (e.tooltipClasses ?? (t == null ? void 0 : t.tooltipClasses) ?? ""), O = j + " " + X + " " + (e.textClasses ?? (t == null ? void 0 : t.textClasses) ?? ""), F = e.arrowSize ?? (t == null ? void 0 : t.arrowSize) ?? Y, T = e.arrowClasses ?? (t == null ? void 0 : t.arrowClasses) ?? "", W = e.arrowMinOffsetFromTooltipCorner ?? (t == null ? void 0 : t.arrowMinOffsetFromTooltipCorner) ?? E, z = e.zIndex ?? (t == null ? void 0 : t.zIndex) ?? l, v = e.show ?? b), d === void 0 && (d = r ?? (t == null ? void 0 : t.defaultPosition) ?? R), i === void 0 && (i = {
110
- left: ((f = t == null ? void 0 : t.positions) == null ? void 0 : f.left) ?? c.left,
111
- top: ((k = t == null ? void 0 : t.positions) == null ? void 0 : k.top) ?? c.top,
112
- right: ((D = t == null ? void 0 : t.positions) == null ? void 0 : D.right) ?? c.right,
113
- bottom: ((P = t == null ? void 0 : t.positions) == null ? void 0 : P.bottom) ?? c.bottom
114
- }), o === void 0 && (o = (t == null ? void 0 : t.offsetFromSource) ?? N), p === void 0 && (p = (t == null ? void 0 : t.offsetFromViewport) ?? Z), h === void 0 && (h = (t == null ? void 0 : t.minWidth) ?? G), u === void 0 && (u = (t == null ? void 0 : t.maxWidth) ?? J), m === void 0 && (m = (t == null ? void 0 : t.tooltipBorderWidth) ?? K), x === void 0 && (x = y + " " + Q + " " + ((t == null ? void 0 : t.tooltipClasses) ?? "")), O === void 0 && (O = j + " " + X + " " + ((t == null ? void 0 : t.textClasses) ?? "")), F === void 0 && (F = (t == null ? void 0 : t.arrowSize) ?? Y), T === void 0 && (T = (t == null ? void 0 : t.arrowClasses) ?? ""), W === void 0 && (W = (t == null ? void 0 : t.arrowMinOffsetFromTooltipCorner) ?? E), z === void 0 && (z = (t == null ? void 0 : t.zIndex) ?? l), v === void 0 && (v = b), {
115
- tooltipText: s,
116
- tooltipPosition: d,
117
- tooltipPositions: i,
101
+ function Tt(e, t, r) {
102
+ var a, H, $, A, _, I, U, k, D, P, q, j;
103
+ let s, d, i, p, o, h, w, m, x, O, F, T, W, v, z, y;
104
+ return d = Wt(e), typeof e != "string" && (s = e.appendTo ?? (t == null ? void 0 : t.appendTo) ?? Z, i = r ?? e.defaultPosition ?? (t == null ? void 0 : t.defaultPosition) ?? f, p = {
105
+ left: ((a = e.positions) == null ? void 0 : a.left) ?? ((H = t == null ? void 0 : t.positions) == null ? void 0 : H.left) ?? c.left,
106
+ top: (($ = e.positions) == null ? void 0 : $.top) ?? ((A = t == null ? void 0 : t.positions) == null ? void 0 : A.top) ?? c.top,
107
+ right: ((_ = e.positions) == null ? void 0 : _.right) ?? ((I = t == null ? void 0 : t.positions) == null ? void 0 : I.right) ?? c.right,
108
+ bottom: ((U = e.positions) == null ? void 0 : U.bottom) ?? ((k = t == null ? void 0 : t.positions) == null ? void 0 : k.bottom) ?? c.bottom
109
+ }, o = e.offsetFromSource ?? (t == null ? void 0 : t.offsetFromSource) ?? G, h = e.offsetFromViewport ?? (t == null ? void 0 : t.offsetFromViewport) ?? J, w = e.minWidth ?? (t == null ? void 0 : t.minWidth) ?? K, m = e.maxWidth ?? (t == null ? void 0 : t.maxWidth) ?? Q, x = e.tooltipBorderWidth ?? (t == null ? void 0 : t.tooltipBorderWidth) ?? X, O = S + " " + Y + " " + (e.tooltipClasses ?? (t == null ? void 0 : t.tooltipClasses) ?? ""), F = N + " " + E + " " + (e.textClasses ?? (t == null ? void 0 : t.textClasses) ?? ""), T = e.arrowSize ?? (t == null ? void 0 : t.arrowSize) ?? l, W = e.arrowClasses ?? (t == null ? void 0 : t.arrowClasses) ?? "", v = e.arrowMinOffsetFromTooltipCorner ?? (t == null ? void 0 : t.arrowMinOffsetFromTooltipCorner) ?? b, z = e.zIndex ?? (t == null ? void 0 : t.zIndex) ?? C, y = e.show ?? g), s === void 0 && (s = (t == null ? void 0 : t.appendTo) ?? Z), i === void 0 && (i = r ?? (t == null ? void 0 : t.defaultPosition) ?? f), p === void 0 && (p = {
110
+ left: ((D = t == null ? void 0 : t.positions) == null ? void 0 : D.left) ?? c.left,
111
+ top: ((P = t == null ? void 0 : t.positions) == null ? void 0 : P.top) ?? c.top,
112
+ right: ((q = t == null ? void 0 : t.positions) == null ? void 0 : q.right) ?? c.right,
113
+ bottom: ((j = t == null ? void 0 : t.positions) == null ? void 0 : j.bottom) ?? c.bottom
114
+ }), o === void 0 && (o = (t == null ? void 0 : t.offsetFromSource) ?? G), h === void 0 && (h = (t == null ? void 0 : t.offsetFromViewport) ?? J), w === void 0 && (w = (t == null ? void 0 : t.minWidth) ?? K), m === void 0 && (m = (t == null ? void 0 : t.maxWidth) ?? Q), x === void 0 && (x = (t == null ? void 0 : t.tooltipBorderWidth) ?? X), O === void 0 && (O = S + " " + Y + " " + ((t == null ? void 0 : t.tooltipClasses) ?? "")), F === void 0 && (F = N + " " + E + " " + ((t == null ? void 0 : t.textClasses) ?? "")), T === void 0 && (T = (t == null ? void 0 : t.arrowSize) ?? l), W === void 0 && (W = (t == null ? void 0 : t.arrowClasses) ?? ""), v === void 0 && (v = (t == null ? void 0 : t.arrowMinOffsetFromTooltipCorner) ?? b), z === void 0 && (z = (t == null ? void 0 : t.zIndex) ?? C), y === void 0 && (y = g), {
115
+ appendTo: s,
116
+ tooltipText: d,
117
+ tooltipPosition: i,
118
+ tooltipPositions: p,
118
119
  tooltipOffsetFromSource: o,
119
- tooltipOffsetFromViewport: p,
120
- tooltipMinWidth: h,
121
- tooltipMaxWidth: u,
122
- tooltipBorderWidth: m,
123
- tooltipClasses: x,
124
- textClasses: O,
125
- arrowSize: F,
126
- arrowClasses: T,
127
- arrowMinOffsetFromTooltipCorner: W,
120
+ tooltipOffsetFromViewport: h,
121
+ tooltipMinWidth: w,
122
+ tooltipMaxWidth: m,
123
+ tooltipBorderWidth: x,
124
+ tooltipClasses: O,
125
+ textClasses: F,
126
+ arrowSize: T,
127
+ arrowClasses: W,
128
+ arrowMinOffsetFromTooltipCorner: v,
128
129
  zIndex: z,
129
- shouldShow: v
130
+ shouldShow: y
130
131
  };
131
132
  }
132
- function xt(e) {
133
+ function Wt(e) {
133
134
  const t = typeof e == "string" ? e : e.content;
134
135
  if (!t)
135
136
  throw new Error("Please enter valid tooltip value");
136
137
  return t;
137
138
  }
138
- function Ft(e, t, r) {
139
- let s = e, d = Tt(t.textClasses, t.tooltipText), i = Wt(t.tooltipClasses, t.tooltipBorderWidth);
139
+ function vt(e, t, r) {
140
+ let s = e, d = zt(t.textClasses, t.tooltipText), i = yt(t.tooltipClasses, t.tooltipBorderWidth);
140
141
  i.append(d), i.dataset.uuid = r;
141
- const o = new AbortController(), p = new AbortController();
142
- return s.addEventListener("mouseenter", () => zt(s, t, i, r), { signal: o.signal }), s.addEventListener("mouseleave", () => vt(r), { signal: p.signal }), {
142
+ const p = new AbortController(), o = new AbortController();
143
+ return s.addEventListener("mouseenter", () => Mt(s, t, i, r), { signal: p.signal }), s.addEventListener("mouseleave", () => St(r), { signal: o.signal }), {
143
144
  anchorElement: s,
144
145
  tooltipConfig: t,
145
146
  tooltipElement: i,
146
- mouseEnterEventController: o,
147
- mouseLeaveEventController: p
147
+ mouseEnterEventController: p,
148
+ mouseLeaveEventController: o
148
149
  };
149
150
  }
150
- function Tt(e, t) {
151
+ function zt(e, t) {
151
152
  let r = document.createElement("p");
152
153
  return r.classList.add(...e.trim().split(" ")), r.innerHTML = t, r;
153
154
  }
154
- function Wt(e, t) {
155
+ function yt(e, t) {
155
156
  let r = document.createElement("div");
156
157
  return r.classList.add(...e.trim().split(" ")), r.style.borderWidth = `${t}px`, r;
157
158
  }
158
- function zt(e, t, r, s) {
159
+ function Mt(e, t, r, s) {
159
160
  if (!t.shouldShow)
160
161
  return;
161
- const d = e.getBoundingClientRect(), i = document.querySelector("body");
162
+ const d = e.getBoundingClientRect(), i = document.querySelector(t.appendTo);
162
163
  i == null || i.appendChild(r);
163
- let o = !1, p = t.tooltipPosition;
164
- for (let h = 0; h < 4 && (p = t.tooltipPositions[t.tooltipPosition][h], p === "left" ? o = Mt(d, t, r) : p === "top" ? o = St(d, t, r) : p === "right" ? o = yt(d, t, r) : p === "bottom" && (o = Vt(d, t, r)), !o); h++)
164
+ let p = !1, o = t.tooltipPosition;
165
+ for (let h = 0; h < 4 && (o = t.tooltipPositions[t.tooltipPosition][h], o === "left" ? p = Vt(d, t, r) : o === "top" ? p = Lt(d, t, r) : o === "right" ? p = Bt(d, t, r) : o === "bottom" && (p = at(d, t, r)), !p); h++)
165
166
  ;
166
- o && (Bt(d, p, t, r), r.style.opacity = "1", r.style.zIndex = t.zIndex.toString(), ut(e, () => S(s)), mt(e, () => S(s)));
167
+ p && (Ht(d, o, t, r), r.style.opacity = "1", r.style.zIndex = t.zIndex.toString(), nt(e, () => V(s)), ct(e, () => V(s)));
167
168
  }
168
- function vt(e) {
169
- S(e);
169
+ function St(e) {
170
+ V(e);
170
171
  }
171
- function Mt(e, t, r) {
172
+ function Vt(e, t, r) {
172
173
  const s = Math.min(e.left - t.tooltipOffsetFromSource - t.tooltipOffsetFromViewport, t.tooltipMaxWidth), d = e.top >= t.tooltipOffsetFromViewport, i = window.innerHeight - e.bottom >= t.tooltipOffsetFromViewport;
173
174
  if (s < t.tooltipMinWidth || !d || !i)
174
175
  return !1;
175
176
  r.style.maxWidth = `${s}px`;
176
- const o = r.getBoundingClientRect();
177
- let p = e.top + e.height / 2 - o.height / 2;
178
- p < t.tooltipOffsetFromViewport ? p = t.tooltipOffsetFromViewport : p + o.height > window.innerHeight - t.tooltipOffsetFromViewport && (p = window.innerHeight - t.tooltipOffsetFromViewport - o.height);
179
- const h = e.left - t.tooltipOffsetFromSource - o.width;
180
- return e.bottom < p + t.arrowMinOffsetFromTooltipCorner * 2 || e.top > p + o.height - t.arrowMinOffsetFromTooltipCorner * 2 ? !1 : (r.style.top = `${p}px`, r.style.left = `${h}px`, !0);
177
+ const p = r.getBoundingClientRect();
178
+ let o = e.top + e.height / 2 - p.height / 2;
179
+ o < t.tooltipOffsetFromViewport ? o = t.tooltipOffsetFromViewport : o + p.height > window.innerHeight - t.tooltipOffsetFromViewport && (o = window.innerHeight - t.tooltipOffsetFromViewport - p.height);
180
+ const h = e.left - t.tooltipOffsetFromSource - p.width;
181
+ return e.bottom < o + t.arrowMinOffsetFromTooltipCorner * 2 || e.top > o + p.height - t.arrowMinOffsetFromTooltipCorner * 2 ? !1 : (r.style.top = `${o}px`, r.style.left = `${h}px`, !0);
181
182
  }
182
- function yt(e, t, r) {
183
+ function Bt(e, t, r) {
183
184
  const s = Math.min(window.innerWidth - (e.right + t.tooltipOffsetFromSource) - t.tooltipOffsetFromViewport, t.tooltipMaxWidth), d = e.top >= t.tooltipOffsetFromViewport, i = window.innerHeight - e.bottom >= t.tooltipOffsetFromViewport;
184
185
  if (s < t.tooltipMinWidth || !d || !i)
185
186
  return !1;
186
187
  r.style.maxWidth = `${s}px`;
187
- const o = r.getBoundingClientRect();
188
- let p = e.top + e.height / 2 - o.height / 2;
189
- p < t.tooltipOffsetFromViewport ? p = t.tooltipOffsetFromViewport : p + o.height > window.innerHeight - t.tooltipOffsetFromViewport && (p = window.innerHeight - t.tooltipOffsetFromViewport - o.height);
188
+ const p = r.getBoundingClientRect();
189
+ let o = e.top + e.height / 2 - p.height / 2;
190
+ o < t.tooltipOffsetFromViewport ? o = t.tooltipOffsetFromViewport : o + p.height > window.innerHeight - t.tooltipOffsetFromViewport && (o = window.innerHeight - t.tooltipOffsetFromViewport - p.height);
190
191
  const h = e.right + t.tooltipOffsetFromSource;
191
- return e.bottom < p + t.arrowMinOffsetFromTooltipCorner * 2 || e.top > p + o.height - t.arrowMinOffsetFromTooltipCorner * 2 ? !1 : (r.style.top = `${p}px`, r.style.left = `${h}px`, !0);
192
+ return e.bottom < o + t.arrowMinOffsetFromTooltipCorner * 2 || e.top > o + p.height - t.arrowMinOffsetFromTooltipCorner * 2 ? !1 : (r.style.top = `${o}px`, r.style.left = `${h}px`, !0);
192
193
  }
193
- function St(e, t, r) {
194
+ function Lt(e, t, r) {
194
195
  const s = Math.min(window.innerWidth - t.tooltipOffsetFromViewport * 2, t.tooltipMaxWidth);
195
196
  r.style.maxWidth = `${s}px`;
196
197
  const d = r.getBoundingClientRect();
197
198
  let i = e.top - t.tooltipOffsetFromSource - d.height;
198
199
  if (i < t.tooltipOffsetFromViewport)
199
200
  return !1;
200
- let o = e.left + e.width / 2 - d.width / 2;
201
- return o < t.tooltipOffsetFromViewport ? o = t.tooltipOffsetFromViewport : o + d.width > window.innerWidth - t.tooltipOffsetFromViewport && (o = window.innerWidth - t.tooltipOffsetFromViewport - d.width), e.left > o + d.width - t.arrowMinOffsetFromTooltipCorner * 2 || e.right < o + t.arrowMinOffsetFromTooltipCorner * 2 ? !1 : (r.style.top = `${i}px`, r.style.left = `${o}px`, !0);
201
+ let p = e.left + e.width / 2 - d.width / 2;
202
+ return p < t.tooltipOffsetFromViewport ? p = t.tooltipOffsetFromViewport : p + d.width > window.innerWidth - t.tooltipOffsetFromViewport && (p = window.innerWidth - t.tooltipOffsetFromViewport - d.width), e.left > p + d.width - t.arrowMinOffsetFromTooltipCorner * 2 || e.right < p + t.arrowMinOffsetFromTooltipCorner * 2 ? !1 : (r.style.top = `${i}px`, r.style.left = `${p}px`, !0);
202
203
  }
203
- function Vt(e, t, r) {
204
+ function at(e, t, r) {
204
205
  const s = Math.min(window.innerWidth - t.tooltipOffsetFromViewport * 2, t.tooltipMaxWidth);
205
206
  r.style.maxWidth = `${s}px`;
206
207
  const d = r.getBoundingClientRect();
207
208
  let i = e.bottom + t.tooltipOffsetFromSource;
208
209
  if (i + d.height > window.innerHeight - t.tooltipOffsetFromViewport)
209
210
  return !1;
210
- let o = e.left + e.width / 2 - d.width / 2;
211
- return o < t.tooltipOffsetFromViewport ? o = t.tooltipOffsetFromViewport : o + d.width > window.innerWidth - t.tooltipOffsetFromViewport && (o = window.innerWidth - t.tooltipOffsetFromViewport - d.width), e.left > o + d.width - t.arrowMinOffsetFromTooltipCorner * 2 || e.right < o + t.arrowMinOffsetFromTooltipCorner * 2 ? !1 : (r.style.top = `${i}px`, r.style.left = `${o}px`, !0);
211
+ let p = e.left + e.width / 2 - d.width / 2;
212
+ return p < t.tooltipOffsetFromViewport ? p = t.tooltipOffsetFromViewport : p + d.width > window.innerWidth - t.tooltipOffsetFromViewport && (p = window.innerWidth - t.tooltipOffsetFromViewport - d.width), e.left > p + d.width - t.arrowMinOffsetFromTooltipCorner * 2 || e.right < p + t.arrowMinOffsetFromTooltipCorner * 2 ? !1 : (r.style.top = `${i}px`, r.style.left = `${p}px`, !0);
212
213
  }
213
- function Bt(e, t, r, s) {
214
+ function Ht(e, t, r, s) {
214
215
  var O;
215
- const d = document.createElement("div"), i = s.getBoundingClientRect(), o = Math.sin(45 * (180 / Math.PI)) * r.arrowSize, p = 1;
216
- let h = 0, u = 0, m = "";
216
+ const d = document.createElement("div"), i = s.getBoundingClientRect(), p = Math.sin(45 * (180 / Math.PI)) * r.arrowSize, o = 1;
217
+ let h = 0, w = 0, m = "";
217
218
  switch (t) {
218
219
  case "left":
219
- m = "!zt-border-y-transparent !zt-border-r-transparent", h = e.top - i.top + e.height / 2 - o - r.tooltipBorderWidth, u = i.width - r.tooltipBorderWidth - p;
220
+ m = "!zt-border-y-transparent !zt-border-r-transparent", h = e.top - i.top + e.height / 2 - p - r.tooltipBorderWidth, w = i.width - r.tooltipBorderWidth - o;
220
221
  break;
221
222
  case "top":
222
- m = "!zt-border-x-transparent !zt-border-b-transparent", h = i.height - r.tooltipBorderWidth - p, u = e.left - i.left + e.width / 2 - o - r.tooltipBorderWidth;
223
+ m = "!zt-border-x-transparent !zt-border-b-transparent", h = i.height - r.tooltipBorderWidth - o, w = e.left - i.left + e.width / 2 - p - r.tooltipBorderWidth;
223
224
  break;
224
225
  case "right":
225
- m = "!zt-border-y-transparent !zt-border-l-transparent", h = e.top - i.top + e.height / 2 - o - r.tooltipBorderWidth, u = -r.arrowSize * 2 - r.tooltipBorderWidth + p;
226
+ m = "!zt-border-y-transparent !zt-border-l-transparent", h = e.top - i.top + e.height / 2 - p - r.tooltipBorderWidth, w = -r.arrowSize * 2 - r.tooltipBorderWidth + o;
226
227
  break;
227
228
  case "bottom":
228
- m = "!zt-border-x-transparent !zt-border-t-transparent", h = -r.arrowSize * 2 - r.tooltipBorderWidth + p, u = e.left - i.left + e.width / 2 - o - r.tooltipBorderWidth;
229
+ m = "!zt-border-x-transparent !zt-border-t-transparent", h = -r.arrowSize * 2 - r.tooltipBorderWidth + o, w = e.left - i.left + e.width / 2 - p - r.tooltipBorderWidth;
229
230
  break;
230
231
  }
231
- t === "left" || t === "right" ? C(t, i, h, r) || (h = g(t, i, h, r)) : C(t, i, u, r) || (u = g(t, i, u, r));
232
- const x = tt + " " + ct + " " + m + " " + r.arrowClasses;
233
- d.classList.add(...x.trim().split(" ")), d.style.top = `${h}px`, d.style.left = `${u}px`, d.style.borderWidth = `${r.arrowSize}px`, (O = document.querySelector(`.${y}`)) == null || O.appendChild(d);
232
+ t === "left" || t === "right" ? tt(t, i, h, r) || (h = et(t, i, h, r)) : tt(t, i, w, r) || (w = et(t, i, w, r));
233
+ const x = rt + " " + xt + " " + m + " " + r.arrowClasses;
234
+ d.classList.add(...x.trim().split(" ")), d.style.top = `${h}px`, d.style.left = `${w}px`, d.style.borderWidth = `${r.arrowSize}px`, (O = document.querySelector(`.${S}`)) == null || O.appendChild(d);
234
235
  }
235
- function C(e, t, r, s) {
236
+ function tt(e, t, r, s) {
236
237
  switch (e) {
237
238
  case "left":
238
239
  case "right":
@@ -242,7 +243,7 @@ function C(e, t, r, s) {
242
243
  return r > s.arrowMinOffsetFromTooltipCorner - s.tooltipBorderWidth && r < t.width + s.tooltipBorderWidth - s.arrowMinOffsetFromTooltipCorner - s.arrowSize * 2;
243
244
  }
244
245
  }
245
- function g(e, t, r, s) {
246
+ function et(e, t, r, s) {
246
247
  switch (e) {
247
248
  case "left":
248
249
  case "right":
@@ -252,15 +253,20 @@ function g(e, t, r, s) {
252
253
  return r < s.arrowMinOffsetFromTooltipCorner - s.tooltipBorderWidth ? s.arrowMinOffsetFromTooltipCorner - s.tooltipBorderWidth : t.width - s.tooltipBorderWidth - s.arrowMinOffsetFromTooltipCorner - s.arrowSize * 2;
253
254
  }
254
255
  }
255
- function S(e) {
256
+ function V(e) {
256
257
  var s, d;
257
- const t = document.querySelector(`.${y}`), r = (s = n[e]) == null ? void 0 : s.tooltipElement;
258
- r && t && t instanceof HTMLElement && t === r && (nt(), (d = t.querySelector(`.${tt}`)) == null || d.remove(), t.style.left = "0", t.style.top = "0", t.remove());
258
+ const t = document.querySelector(`.${S}`), r = (s = n[e]) == null ? void 0 : s.tooltipElement;
259
+ r && t && t instanceof HTMLElement && t === r && (Ot(), (d = t.querySelector(`.${rt}`)) == null || d.remove(), t.style.left = "0", t.style.top = "0", t.remove());
259
260
  }
260
- function B(e) {
261
+ function L(e) {
261
262
  const t = e.tooltipElement.dataset.uuid;
262
- t && (S(t), delete n[t]), e.mouseEnterEventController.abort(), e.mouseLeaveEventController.abort();
263
+ t && (V(t), delete n[t]), e.mouseEnterEventController.abort(), e.mouseLeaveEventController.abort();
263
264
  }
265
+ const At = {
266
+ install: (e, t = {}) => {
267
+ e.directive("tooltip", Ft(t));
268
+ }
269
+ };
264
270
  export {
265
- Lt as default
271
+ At as default
266
272
  };