overview-components 1.1.171 → 1.1.173
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/lit-data-grid-tanstack.d.ts +1 -1
- package/dist/components/lit-data-grid-tanstack.d.ts.map +1 -1
- package/dist/components/lit-data-grid-tanstack.js +61 -38
- package/dist/components/lit-data-grid-tanstack.js.map +1 -1
- package/dist/shared/icon-svg.d.ts +13 -0
- package/dist/shared/icon-svg.d.ts.map +1 -0
- package/dist/shared/icon-svg.js +77 -0
- package/dist/shared/icon-svg.js.map +1 -0
- package/dist/shared/lit-data-grid-row-actions.d.ts +1 -0
- package/dist/shared/lit-data-grid-row-actions.d.ts.map +1 -1
- package/dist/shared/lit-data-grid-row-actions.js +36 -16
- package/dist/shared/lit-data-grid-row-actions.js.map +1 -1
- package/dist/shared/lit-icon-button.d.ts +0 -1
- package/dist/shared/lit-icon-button.d.ts.map +1 -1
- package/dist/shared/lit-icon-button.js +6 -7
- package/dist/shared/lit-icon-button.js.map +1 -1
- package/dist/shared/lit-menu-item.d.ts +0 -1
- package/dist/shared/lit-menu-item.d.ts.map +1 -1
- package/dist/shared/lit-menu-item.js +5 -6
- package/dist/shared/lit-menu-item.js.map +1 -1
- package/dist/shared/lit-overflow-tooltip.d.ts +1 -11
- package/dist/shared/lit-overflow-tooltip.d.ts.map +1 -1
- package/dist/shared/lit-overflow-tooltip.js +21 -74
- package/dist/shared/lit-overflow-tooltip.js.map +1 -1
- package/dist/shared/simple-tooltip.d.ts +5 -2
- package/dist/shared/simple-tooltip.d.ts.map +1 -1
- package/dist/shared/simple-tooltip.js +143 -17
- package/dist/shared/simple-tooltip.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import glyphs from '../assets/icons/iconGlyphs.js';
|
|
3
|
+
// Inline-SVG equivalent of <lit-icon>. Returns a Lit template that renders a plain
|
|
4
|
+
// light-DOM <svg> (no custom element, no shadow root) and is visually identical to
|
|
5
|
+
// lit-icon. Used for the data grid's INTERNAL icons (cells, icon-buttons, menu
|
|
6
|
+
// items, sort/expand/drag handles) so each icon no longer costs a custom element +
|
|
7
|
+
// shadow root on the synchronous teardown path. The public <lit-icon> element is
|
|
8
|
+
// intentionally left unchanged for consumers.
|
|
9
|
+
//
|
|
10
|
+
// Parity notes vs `lit-icon.ts`:
|
|
11
|
+
// - lit-icon's shadow CSS (`svg{position:relative;top:0.0625rem}` and
|
|
12
|
+
// `svg.rotated{transform:scaleY(-1)}`) does not cross into another shadow root,
|
|
13
|
+
// so those are baked into the inline `style` here.
|
|
14
|
+
// - Every lit-icon receives `scaleY(-1)` — its `notRotateIcon` list is dead code.
|
|
15
|
+
// - fill is `currentColor` normally, `none` + a colored fill for isActive/disabled,
|
|
16
|
+
// and a gradient for aiIcon — matching lit-icon's render() exactly.
|
|
17
|
+
// - `flex:none` keeps the svg at its explicit width/height when it is a direct
|
|
18
|
+
// flex item (e.g. inside lit-icon-button's flex `<button>`). Without it, an
|
|
19
|
+
// inline <svg> with a viewBox gets distorted by flex intrinsic sizing — the
|
|
20
|
+
// old <lit-icon> host (display:inline-block) insulated the svg from this.
|
|
21
|
+
const BASE_STYLE = 'position:relative;top:0.0625rem;transform:scaleY(-1);flex:none;';
|
|
22
|
+
export function renderIcon(icon, options = {}) {
|
|
23
|
+
const glyph = icon ? glyphs[icon] : undefined;
|
|
24
|
+
if (!glyph) {
|
|
25
|
+
return html `<span>Icon not found</span>`;
|
|
26
|
+
}
|
|
27
|
+
const size = options.size || '1.5rem';
|
|
28
|
+
const dims = `width:${size};height:${size};`;
|
|
29
|
+
const extra = options.style ?? '';
|
|
30
|
+
const cls = `rotated ${options.class ?? ''}`.trim();
|
|
31
|
+
if (options.aiIcon) {
|
|
32
|
+
const gradientId = options.disabled ? 'icon-gradient-disabled' : 'icon-gradient';
|
|
33
|
+
return html `
|
|
34
|
+
<svg
|
|
35
|
+
data-icon=${icon}
|
|
36
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
37
|
+
viewBox="0 0 512 512"
|
|
38
|
+
class=${cls}
|
|
39
|
+
style="${BASE_STYLE}${dims}${extra}"
|
|
40
|
+
>
|
|
41
|
+
<defs>
|
|
42
|
+
<linearGradient id="icon-gradient" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
43
|
+
<stop offset="0%" stop-color="#573493" />
|
|
44
|
+
<stop offset="100%" stop-color="#e78047" />
|
|
45
|
+
</linearGradient>
|
|
46
|
+
<linearGradient id="icon-gradient-disabled" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
47
|
+
<stop offset="0%" stop-color="var(--text-disabled, #9ca3af)" />
|
|
48
|
+
<stop offset="100%" stop-color="var(--text-disabled, #9ca3af)" />
|
|
49
|
+
</linearGradient>
|
|
50
|
+
</defs>
|
|
51
|
+
<g transform="translate(0,20)">
|
|
52
|
+
<path d="${glyph.d}" fill="url(#${gradientId})" />
|
|
53
|
+
</g>
|
|
54
|
+
</svg>
|
|
55
|
+
`;
|
|
56
|
+
}
|
|
57
|
+
const fillStyle = options.disabled
|
|
58
|
+
? 'fill:var(--text-disabled, #9ca3af);'
|
|
59
|
+
: options.isActive
|
|
60
|
+
? 'fill:var(--color-primary-main, #76b703);'
|
|
61
|
+
: '';
|
|
62
|
+
return html `
|
|
63
|
+
<svg
|
|
64
|
+
data-icon=${icon}
|
|
65
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
66
|
+
viewBox="0 0 512 512"
|
|
67
|
+
class=${cls}
|
|
68
|
+
fill="${options.isActive || options.disabled ? 'none' : 'currentColor'}"
|
|
69
|
+
style="${BASE_STYLE}${dims}${fillStyle}${extra}"
|
|
70
|
+
>
|
|
71
|
+
<g transform="translate(0,20)">
|
|
72
|
+
<path d="${glyph.d}" />
|
|
73
|
+
</g>
|
|
74
|
+
</svg>
|
|
75
|
+
`;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=icon-svg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-svg.js","sourceRoot":"","sources":["../../src/shared/icon-svg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,MAAM,MAAM,+BAA+B,CAAC;AAcnD,mFAAmF;AACnF,mFAAmF;AACnF,+EAA+E;AAC/E,mFAAmF;AACnF,iFAAiF;AACjF,8CAA8C;AAC9C,EAAE;AACF,iCAAiC;AACjC,uEAAuE;AACvE,mFAAmF;AACnF,sDAAsD;AACtD,mFAAmF;AACnF,qFAAqF;AACrF,uEAAuE;AACvE,gFAAgF;AAChF,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,MAAM,UAAU,GAAG,iEAAiE,CAAC;AAErF,MAAM,UAAU,UAAU,CAAC,IAAa,EAAE,UAA6B,EAAE;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,MAAwC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAA,6BAA6B,CAAC;IAC7C,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;IACtC,MAAM,IAAI,GAAG,SAAS,IAAI,WAAW,IAAI,GAAG,CAAC;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,WAAW,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAEpD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,eAAe,CAAC;QACjF,OAAO,IAAI,CAAA;;4BAES,IAAI;;;wBAGR,GAAG;yBACF,UAAU,GAAG,IAAI,GAAG,KAAK;;;;;;;;;;;;;+BAanB,KAAK,CAAC,CAAC,gBAAgB,UAAU;;;SAGvD,CAAC;IACN,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ;QAC9B,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,OAAO,CAAC,QAAQ;YAChB,CAAC,CAAC,0CAA0C;YAC5C,CAAC,CAAC,EAAE,CAAC;IAEX,OAAO,IAAI,CAAA;;wBAES,IAAI;;;oBAGR,GAAG;oBACH,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc;qBAC7D,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK;;;2BAG/B,KAAK,CAAC,CAAC;;;KAG7B,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lit-data-grid-row-actions.d.ts","sourceRoot":"","sources":["../../src/shared/lit-data-grid-row-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,sBAAsB,CAAC;AAC9B,OAAO,4BAA4B,CAAC;AACpC,OAAO,eAAe,CAAC;AACvB,OAAO,oBAAoB,CAAC;AAE5B,OAAO,oBAAoB,CAAC;AAE5B,MAAM,MAAM,YAAY,GAAG;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACrC,OAAO,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC;AACF,qBAAa,qBAAsB,SAAQ,UAAU;IACtB,OAAO,EAAE,KAAK,CAAC;QACtC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAM;
|
|
1
|
+
{"version":3,"file":"lit-data-grid-row-actions.d.ts","sourceRoot":"","sources":["../../src/shared/lit-data-grid-row-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,sBAAsB,CAAC;AAC9B,OAAO,4BAA4B,CAAC;AACpC,OAAO,eAAe,CAAC;AACvB,OAAO,oBAAoB,CAAC;AAE5B,OAAO,oBAAoB,CAAC;AAE5B,MAAM,MAAM,YAAY,GAAG;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACrC,OAAO,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC;AACF,qBAAa,qBAAsB,SAAQ,UAAU;IACtB,OAAO,EAAE,KAAK,CAAC;QACtC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAM;IAMC,OAAO,CAAC,QAAQ,CAAS;IAElC,OAAO,CAAC,aAAa;IAMrB,MAAM;CAwET;AAMD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,2BAA2B,EAAE,qBAAqB,CAAC;KACtD;CACJ"}
|
|
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { LitElement, html } from 'lit';
|
|
8
|
-
import { property } from 'lit/decorators.js';
|
|
8
|
+
import { property, state } from 'lit/decorators.js';
|
|
9
9
|
import './lit-icon-button.js';
|
|
10
10
|
import './lit-responsive-button.js';
|
|
11
11
|
import './lit-menu.js';
|
|
@@ -16,6 +16,11 @@ export class LitDataGridRowActions extends LitElement {
|
|
|
16
16
|
constructor() {
|
|
17
17
|
super(...arguments);
|
|
18
18
|
this.buttons = [];
|
|
19
|
+
// Whether the kebab ("…") menu is open. The menu content (lit-menu +
|
|
20
|
+
// lit-menu-item) is rendered ONLY while open so a closed grid carries zero
|
|
21
|
+
// menu custom elements (each row otherwise held ~7 lit-menu-item + their
|
|
22
|
+
// lit-icon), which dominates the synchronous teardown cost on route switch.
|
|
23
|
+
this.menuOpen = false;
|
|
19
24
|
}
|
|
20
25
|
handleOnClick(e, onClick) {
|
|
21
26
|
e.stopPropagation(); // Prevent event bubbling
|
|
@@ -51,27 +56,39 @@ export class LitDataGridRowActions extends LitElement {
|
|
|
51
56
|
variant="text"
|
|
52
57
|
icon="morevertical"
|
|
53
58
|
slot="reference"
|
|
59
|
+
@click=${() => {
|
|
60
|
+
this.menuOpen = true;
|
|
61
|
+
}}
|
|
54
62
|
@touchend=${(e) => {
|
|
55
63
|
e.stopPropagation();
|
|
56
64
|
e.preventDefault();
|
|
65
|
+
this.menuOpen = true;
|
|
57
66
|
}}
|
|
58
67
|
></lit-icon-button>
|
|
59
|
-
<simple-popper
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
icon="${button.icon}"
|
|
65
|
-
.onClick="${(e) => this.handleOnClick(e, button.onClick)}"
|
|
66
|
-
.disabled="${button.disabled}"
|
|
67
|
-
@touchend=${(e) => {
|
|
68
|
-
this.handleOnClick(e, button.onClick);
|
|
68
|
+
<simple-popper
|
|
69
|
+
offset="0"
|
|
70
|
+
placement="bottom-end"
|
|
71
|
+
.onClose=${() => {
|
|
72
|
+
this.menuOpen = false;
|
|
69
73
|
}}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
>
|
|
75
|
+
${this.menuOpen
|
|
76
|
+
? html `<lit-menu>
|
|
77
|
+
${showInMenuButtons.map((button) => html `
|
|
78
|
+
<lit-menu-item
|
|
79
|
+
id="${button.id}"
|
|
80
|
+
icon="${button.icon}"
|
|
81
|
+
.onClick="${(e) => this.handleOnClick(e, button.onClick)}"
|
|
82
|
+
.disabled="${button.disabled}"
|
|
83
|
+
@touchend=${(e) => {
|
|
84
|
+
this.handleOnClick(e, button.onClick);
|
|
85
|
+
}}
|
|
86
|
+
>
|
|
87
|
+
${button.label}
|
|
88
|
+
</lit-menu-item>
|
|
89
|
+
`)}
|
|
90
|
+
</lit-menu>`
|
|
91
|
+
: null}
|
|
75
92
|
</simple-popper>`
|
|
76
93
|
: null}
|
|
77
94
|
</div>
|
|
@@ -81,6 +98,9 @@ export class LitDataGridRowActions extends LitElement {
|
|
|
81
98
|
__decorate([
|
|
82
99
|
property({ type: Array })
|
|
83
100
|
], LitDataGridRowActions.prototype, "buttons", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
state()
|
|
103
|
+
], LitDataGridRowActions.prototype, "menuOpen", void 0);
|
|
84
104
|
if (!window.customElements.get('lit-data-grid-row-actions')) {
|
|
85
105
|
window.customElements.define('lit-data-grid-row-actions', LitDataGridRowActions);
|
|
86
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lit-data-grid-row-actions.js","sourceRoot":"","sources":["../../src/shared/lit-data-grid-row-actions.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAO,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAiB,QAAQ,
|
|
1
|
+
{"version":3,"file":"lit-data-grid-row-actions.js","sourceRoot":"","sources":["../../src/shared/lit-data-grid-row-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lit-icon-button.d.ts","sourceRoot":"","sources":["../../src/shared/lit-icon-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,
|
|
1
|
+
{"version":3,"file":"lit-icon-button.d.ts","sourceRoot":"","sources":["../../src/shared/lit-icon-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAM1C,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;AAYnF,qBAAa,UAAW,SAAQ,UAAU;IAEV,OAAO,CAAC,EAAE,iBAAiB,CAAe;IAC1C,KAAK,CAAC,EAAE,eAAe,CAAa;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAY;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAS;IACZ,MAAM,CAAC,EAAE,OAAO,CAAS;IACzC,IAAI,CAAC,EAAE,IAAI,CAAS;IACnB,MAAM,CAAC,EAAE,OAAO,CAAS;IACzB,OAAO,CAAC,EAAE,OAAO,CAAS;IAGvD,MAAM,CAAC,MAAM,4BAmFX;IAGF,MAAM;CA0BT;AAMD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,iBAAiB,EAAE,UAAU,CAAC;KACjC;CACJ"}
|
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { LitElement, html, css } from 'lit';
|
|
8
8
|
import { property } from 'lit/decorators.js';
|
|
9
|
-
import './
|
|
9
|
+
import { renderIcon } from './icon-svg.js';
|
|
10
10
|
// styles
|
|
11
11
|
import buttonStyles from './styles/button-shared-styles.js';
|
|
12
12
|
export class IconButton extends LitElement {
|
|
@@ -39,12 +39,11 @@ export class IconButton extends LitElement {
|
|
|
39
39
|
: ''}
|
|
40
40
|
<slot name="icon"
|
|
41
41
|
>${this.icon &&
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
></lit-icon>`}</slot
|
|
42
|
+
renderIcon(this.icon, {
|
|
43
|
+
isActive: !!this.marked,
|
|
44
|
+
size: iconSize,
|
|
45
|
+
class: `out-ai ${this.loading ? 'icon-hidden' : ''}`,
|
|
46
|
+
})}</slot
|
|
48
47
|
>
|
|
49
48
|
</button>
|
|
50
49
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lit-icon-button.js","sourceRoot":"","sources":["../../src/shared/lit-icon-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAiB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"lit-icon-button.js","sourceRoot":"","sources":["../../src/shared/lit-icon-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAiB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,SAAS;AACT,OAAO,YAAY,MAAM,kCAAkC,CAAC;AAgB5D,MAAM,OAAO,UAAW,SAAQ,UAAU;IAA1C;;QACI,qEAAqE;QACzC,YAAO,GAAuB,WAAW,CAAC;QAC1C,UAAK,GAAqB,SAAS,CAAC;QACpC,SAAI,GAA2C,QAAQ,CAAC;QACvD,aAAQ,GAAa,KAAK,CAAC;QACZ,WAAM,GAAa,KAAK,CAAC;QACzC,SAAI,GAAU,KAAK,CAAC;QACnB,WAAM,GAAa,KAAK,CAAC;QACzB,YAAO,GAAa,KAAK,CAAC;IAmH3D,CAAC;IA3BG,mDAAmD;IACnD,MAAM;QACF,MAAM,OAAO,GAAG,WAAW,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpH,MAAM,QAAQ,GACV,IAAI,CAAC,IAAI,KAAK,OAAO;YACjB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM;gBACrC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;oBACrB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,SAAS,CAAC;QACxB,OAAO,IAAI,CAAA;gCACa,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,UAAU,OAAO;kBAC5D,IAAI,CAAC,OAAO;YACV,CAAC,CAAC,IAAI,CAAA,gCAAgC,IAAI,CAAC,IAAI,UAAU;YACzD,CAAC,CAAC,EAAE;;uBAED,IAAI,CAAC,IAAI;YACZ,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;aACvD,CAAC;;;SAGb,CAAC;IACN,CAAC;;AAhHD,qDAAqD;AAC9C,iBAAM,GAAG;IACZ,UAAU;IACV,YAAY;IACZ,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA+EF;CACJ,AAnFY,CAmFX;AA7F0B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAA2C;AAC1C;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCAAqC;AACpC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wCAAyD;AACvD;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CAA4B;AACZ;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CAA0B;AACzC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wCAAqB;AACnB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAA0B;AACzB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2CAA2B;AAqH3D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAChD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lit-menu-item.d.ts","sourceRoot":"","sources":["../../src/shared/lit-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"lit-menu-item.d.ts","sourceRoot":"","sources":["../../src/shared/lit-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,OAAO,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,qBAAa,WAAY,SAAQ,UAAU;IACvC,MAAM,CAAC,MAAM,0BAmCX;IAE0B,IAAI,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAS;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAS;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAS;IAE1D,OAAO,CAAC,WAAW;IAMnB,MAAM;CAkBT;AAMD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,eAAe,EAAE,WAAW,CAAC;KAChC;CACJ"}
|
|
@@ -8,7 +8,7 @@ import { LitElement, html, css } from 'lit';
|
|
|
8
8
|
import { classMap } from 'lit/directives/class-map.js';
|
|
9
9
|
import { property } from 'lit/decorators.js';
|
|
10
10
|
//components
|
|
11
|
-
import './
|
|
11
|
+
import { renderIcon } from './icon-svg.js';
|
|
12
12
|
export class LitMenuItem extends LitElement {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
@@ -30,11 +30,10 @@ export class LitMenuItem extends LitElement {
|
|
|
30
30
|
return html `
|
|
31
31
|
<li class=${classMap(classes)} @click="${this.handleClick}">
|
|
32
32
|
${this.icon
|
|
33
|
-
?
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
></lit-icon>`
|
|
33
|
+
? renderIcon(this.icon, {
|
|
34
|
+
size: '1.125rem',
|
|
35
|
+
style: 'margin-right:10px;',
|
|
36
|
+
})
|
|
38
37
|
: ''}
|
|
39
38
|
<div class="item-label"><slot></slot></div>
|
|
40
39
|
</li>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lit-menu-item.js","sourceRoot":"","sources":["../../src/shared/lit-menu-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAiB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG5D,YAAY;AACZ,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"lit-menu-item.js","sourceRoot":"","sources":["../../src/shared/lit-menu-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAiB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG5D,YAAY;AACZ,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAU3C,MAAM,OAAO,WAAY,SAAQ,UAAU;IAA3C;;QAwCiC,aAAQ,GAAa,KAAK,CAAC;QAC3B,aAAQ,GAAa,KAAK,CAAC;QAC3B,eAAU,GAAa,KAAK,CAAC;IA0B9D,CAAC;IAxBW,WAAW,CAAC,CAAa;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,MAAM;QACF,MAAM,OAAO,GAAG;YACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;SACvC,CAAC;QACF,OAAO,IAAI,CAAA;wBACK,QAAQ,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,WAAW;kBACnD,IAAI,CAAC,IAAI;YACP,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,oBAAoB;aAC9B,CAAC;YACJ,CAAC,CAAC,EAAE;;;SAGf,CAAC;IACN,CAAC;;AAlEM,kBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmClB,AAnCY,CAmCX;AAE0B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCAAe;AACZ;IAA7B,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;4CAAoB;AACpB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CAA4B;AAC3B;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CAA4B;AAC3B;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CAA8B;AA4B9D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;IAC9C,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -1,21 +1,11 @@
|
|
|
1
|
-
import { LitElement
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
2
|
import type { TooltipPlacement } from './simple-tooltip.js';
|
|
3
3
|
export declare class LitOverflowTooltip extends LitElement {
|
|
4
4
|
label: unknown;
|
|
5
5
|
placement: TooltipPlacement;
|
|
6
|
-
private isOverflowing;
|
|
7
|
-
private textElement;
|
|
8
|
-
private textObserver?;
|
|
9
|
-
private hostObserver?;
|
|
10
6
|
private tooltipCleanup?;
|
|
11
7
|
static styles: import("lit").CSSResult;
|
|
12
|
-
connectedCallback(): void;
|
|
13
8
|
disconnectedCallback(): void;
|
|
14
|
-
firstUpdated(): void;
|
|
15
|
-
protected updated(changedProps: PropertyValues): void;
|
|
16
|
-
private setupObservers;
|
|
17
|
-
private disconnectObservers;
|
|
18
|
-
private checkOverflow;
|
|
19
9
|
render(): import("lit-html").TemplateResult<1>;
|
|
20
10
|
}
|
|
21
11
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lit-overflow-tooltip.d.ts","sourceRoot":"","sources":["../../src/shared/lit-overflow-tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"lit-overflow-tooltip.d.ts","sourceRoot":"","sources":["../../src/shared/lit-overflow-tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,qBAAa,kBAAmB,SAAQ,UAAU;IAMlC,KAAK,EAAE,OAAO,CAAM;IACJ,SAAS,EAAE,gBAAgB,CAAS;IAEhE,OAAO,CAAC,cAAc,CAAC,CAAa;IAEpC,MAAM,CAAC,MAAM,0BAUX;IAEF,oBAAoB;IASpB,MAAM;CAsBT;AAMD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,sBAAsB,EAAE,kBAAkB,CAAC;KAC9C;CACJ"}
|
|
@@ -4,9 +4,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { LitElement, html, css
|
|
8
|
-
import { property
|
|
9
|
-
import { tooltip } from './simple-tooltip.js';
|
|
7
|
+
import { LitElement, html, css } from 'lit';
|
|
8
|
+
import { property } from 'lit/decorators.js';
|
|
9
|
+
import { tooltip, measureOverflow } from './simple-tooltip.js';
|
|
10
10
|
export class LitOverflowTooltip extends LitElement {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
@@ -17,77 +17,30 @@ export class LitOverflowTooltip extends LitElement {
|
|
|
17
17
|
// "[object Object]".
|
|
18
18
|
this.label = '';
|
|
19
19
|
this.placement = 'top';
|
|
20
|
-
this.isOverflowing = false;
|
|
21
|
-
this.checkOverflow = () => {
|
|
22
|
-
const el = this.textElement;
|
|
23
|
-
if (!el) {
|
|
24
|
-
// Hide tooltip if element is gone
|
|
25
|
-
if (this.isOverflowing) {
|
|
26
|
-
this.tooltipCleanup?.();
|
|
27
|
-
}
|
|
28
|
-
this.isOverflowing = false;
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const wasOverflowing = this.isOverflowing;
|
|
32
|
-
this.isOverflowing = el.scrollWidth > el.clientWidth;
|
|
33
|
-
// Hide tooltip if no longer overflowing
|
|
34
|
-
if (wasOverflowing && !this.isOverflowing) {
|
|
35
|
-
this.tooltipCleanup?.();
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
connectedCallback() {
|
|
40
|
-
super.connectedCallback();
|
|
41
|
-
// No observer setup here, wait for element access in firstUpdated
|
|
42
20
|
}
|
|
43
21
|
disconnectedCallback() {
|
|
44
|
-
this
|
|
45
|
-
//
|
|
22
|
+
// Remove any floating tooltip created in document.body when this cell
|
|
23
|
+
// unmounts. The tooltip directive is a sync `Directive`, so Lit does not
|
|
24
|
+
// auto-call its `disconnect()` — cleanup is wired manually via the
|
|
25
|
+
// `onCleanup` callback below.
|
|
46
26
|
this.tooltipCleanup?.();
|
|
47
27
|
super.disconnectedCallback();
|
|
48
28
|
}
|
|
49
|
-
firstUpdated() {
|
|
50
|
-
this.setupObservers();
|
|
51
|
-
this.shadowRoot?.querySelector('slot')?.addEventListener('slotchange', this.checkOverflow);
|
|
52
|
-
// Initial check
|
|
53
|
-
this.checkOverflow();
|
|
54
|
-
}
|
|
55
|
-
updated(changedProps) {
|
|
56
|
-
if (changedProps.has('label')) {
|
|
57
|
-
this.checkOverflow();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
setupObservers() {
|
|
61
|
-
// Defensive: disconnect if already setup
|
|
62
|
-
this.disconnectObservers();
|
|
63
|
-
// Bind checkOverflow for correct 'this'
|
|
64
|
-
this.checkOverflow = this.checkOverflow.bind(this);
|
|
65
|
-
if (this.textElement) {
|
|
66
|
-
this.textObserver = new ResizeObserver(this.checkOverflow);
|
|
67
|
-
this.textObserver.observe(this.textElement);
|
|
68
|
-
}
|
|
69
|
-
this.hostObserver = new ResizeObserver(this.checkOverflow);
|
|
70
|
-
this.hostObserver.observe(this);
|
|
71
|
-
}
|
|
72
|
-
disconnectObservers() {
|
|
73
|
-
this.textObserver?.disconnect();
|
|
74
|
-
this.textObserver = undefined;
|
|
75
|
-
this.hostObserver?.disconnect();
|
|
76
|
-
this.hostObserver = undefined;
|
|
77
|
-
}
|
|
78
29
|
render() {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
30
|
+
// Always attach the tooltip directive; overflow is measured lazily by the
|
|
31
|
+
// directive on first hover/focus (and re-checked before each show), so the
|
|
32
|
+
// tooltip still only appears when the text actually overflows — without any
|
|
33
|
+
// eager geometry read or ResizeObserver on the mount/teardown path.
|
|
34
|
+
return html `
|
|
35
|
+
<div
|
|
36
|
+
class="text-content"
|
|
37
|
+
${tooltip(this.label, this.placement, 200, (cleanup) => {
|
|
38
|
+
this.tooltipCleanup = cleanup;
|
|
39
|
+
}, measureOverflow)}
|
|
40
|
+
>
|
|
41
|
+
<slot></slot>
|
|
42
|
+
</div>
|
|
43
|
+
`;
|
|
91
44
|
}
|
|
92
45
|
}
|
|
93
46
|
LitOverflowTooltip.styles = css `
|
|
@@ -107,12 +60,6 @@ __decorate([
|
|
|
107
60
|
__decorate([
|
|
108
61
|
property({ type: String })
|
|
109
62
|
], LitOverflowTooltip.prototype, "placement", void 0);
|
|
110
|
-
__decorate([
|
|
111
|
-
state()
|
|
112
|
-
], LitOverflowTooltip.prototype, "isOverflowing", void 0);
|
|
113
|
-
__decorate([
|
|
114
|
-
query('.text-content')
|
|
115
|
-
], LitOverflowTooltip.prototype, "textElement", void 0);
|
|
116
63
|
if (!window.customElements.get('lit-overflow-tooltip')) {
|
|
117
64
|
window.customElements.define('lit-overflow-tooltip', LitOverflowTooltip);
|
|
118
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lit-overflow-tooltip.js","sourceRoot":"","sources":["../../src/shared/lit-overflow-tooltip.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"lit-overflow-tooltip.js","sourceRoot":"","sources":["../../src/shared/lit-overflow-tooltip.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAAlD;;QACI,4EAA4E;QAC5E,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,qBAAqB;QACT,UAAK,GAAY,EAAE,CAAC;QACJ,cAAS,GAAqB,KAAK,CAAC;IA+CpE,CAAC;IA/BG,oBAAoB;QAChB,sEAAsE;QACtE,yEAAyE;QACzE,mEAAmE;QACnE,8BAA8B;QAC9B,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACxB,KAAK,CAAC,oBAAoB,EAAE,CAAC;IACjC,CAAC;IAED,MAAM;QACF,0EAA0E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,oEAAoE;QACpE,OAAO,IAAI,CAAA;;;kBAGD,OAAO,CACL,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,EACd,GAAG,EACH,CAAC,OAAmB,EAAE,EAAE;YACpB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAClC,CAAC,EACD,eAAe,CAClB;;;;SAIR,CAAC;IACN,CAAC;;AA1CM,yBAAM,GAAG,GAAG,CAAA;;;;;;;;;;KAUlB,AAVY,CAUX;AAfU;IAAX,QAAQ,EAAE;iDAAqB;AACJ;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDAAqC;AAiDpE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACrD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
|
+
export declare const measureOverflow: (el: Element) => boolean;
|
|
2
3
|
export type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
|
|
3
4
|
export declare class SimpleTooltip extends LitElement {
|
|
4
5
|
static styles: import("lit").CSSResult;
|
|
@@ -7,6 +8,7 @@ export declare class SimpleTooltip extends LitElement {
|
|
|
7
8
|
offset: number;
|
|
8
9
|
openDelayMs: number;
|
|
9
10
|
hideDelayMs: number;
|
|
11
|
+
shouldShow?: () => boolean;
|
|
10
12
|
private arrowElement;
|
|
11
13
|
private _target;
|
|
12
14
|
private openTimeout;
|
|
@@ -21,7 +23,7 @@ export declare class SimpleTooltip extends LitElement {
|
|
|
21
23
|
scheduleShow: () => void;
|
|
22
24
|
private showTooltipNow;
|
|
23
25
|
private clearOpenTimeout;
|
|
24
|
-
|
|
26
|
+
markHovering: () => void;
|
|
25
27
|
private markNotHovering;
|
|
26
28
|
private markHoveringTooltip;
|
|
27
29
|
private handleTooltipLeave;
|
|
@@ -30,5 +32,6 @@ export declare class SimpleTooltip extends LitElement {
|
|
|
30
32
|
hide: () => void;
|
|
31
33
|
render(): import("lit-html").TemplateResult<1>;
|
|
32
34
|
}
|
|
33
|
-
export declare const tooltip: (content: unknown, placement?: TooltipPlacement, delay?: number, onCleanup?: (cleanup: () => void) => void) => any;
|
|
35
|
+
export declare const tooltip: (content: unknown, placement?: TooltipPlacement, delay?: number, onCleanup?: (cleanup: () => void) => void, shouldShow?: (target: Element) => boolean) => any;
|
|
36
|
+
export declare const overflowTooltip: (content: unknown, placement?: TooltipPlacement) => any;
|
|
34
37
|
//# sourceMappingURL=simple-tooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-tooltip.d.ts","sourceRoot":"","sources":["../../src/shared/simple-tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"simple-tooltip.d.ts","sourceRoot":"","sources":["../../src/shared/simple-tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAC;AAY5C,eAAO,MAAM,eAAe,GAAI,IAAI,OAAO,YAAoC,CAAC;AAEhF,MAAM,MAAM,gBAAgB,GACtB,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,WAAW,GACX,SAAS,GACT,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,aAAa,GACb,WAAW,CAAC;AA0ClB,qBAAa,aAAc,SAAQ,UAAU;IACzC,MAAM,CAAC,MAAM,0BAoDX;IAE0C,OAAO,UAAS;IACjB,SAAS,EAAE,gBAAgB,CAAS;IACnD,MAAM,SAAK;IACX,WAAW,SAAO;IAGlB,WAAW,SAAO;IAMvC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAElC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,iBAAiB,CAAS;IAElC,IAAI,MAAM,IAIK,OAAO,GAAG,IAAI,CAF5B;IAED,IAAI,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,EA0B5B;IAED,iBAAiB;IAUjB,oBAAoB;IAQpB,YAAY;IAIL,YAAY,aAUjB;IAEF,OAAO,CAAC,cAAc,CAmDpB;IAEF,OAAO,CAAC,gBAAgB,CAKtB;IAMK,YAAY,aAEjB;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,mBAAmB,CAIzB;IAEF,OAAO,CAAC,kBAAkB,CAGxB;IAEK,YAAY,aAOjB;IAEF,OAAO,CAAC,gBAAgB,CAKtB;IAEF,IAAI,aAOF;IAEF,MAAM;CAMT;AA2GD,eAAO,MAAM,OAAO,EAAE,CAClB,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,gBAAgB,EAC5B,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,EACzC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,KACxC,GAAiC,CAAC;AAmGvC,eAAO,MAAM,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,gBAAgB,KAAK,GAEjF,CAAC"}
|