@brightspot/ui 1.4.0 → 1.5.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.
Files changed (104) hide show
  1. package/README.md +12 -0
  2. package/dist/components/avatar/Avatar.d.ts +1 -1
  3. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  4. package/dist/components/avatar/Avatar.js +3 -1
  5. package/dist/components/avatar/Avatar.js.map +1 -1
  6. package/dist/components/popover/Popover.d.ts +161 -0
  7. package/dist/components/popover/Popover.d.ts.map +1 -0
  8. package/dist/components/popover/Popover.js +436 -0
  9. package/dist/components/popover/Popover.js.map +1 -0
  10. package/dist/components/widget/Widget.css +104 -0
  11. package/dist/components/widget/Widget.d.ts +170 -0
  12. package/dist/components/widget/Widget.d.ts.map +1 -0
  13. package/dist/components/widget/Widget.js +434 -0
  14. package/dist/components/widget/Widget.js.map +1 -0
  15. package/dist/custom-elements.json +604 -101
  16. package/dist/global.d.ts +5 -0
  17. package/dist/storybook/assets/{Avatar.stories-DrhezTR1.js → Avatar.stories-CPVNxsaA.js} +37 -32
  18. package/dist/storybook/assets/AvatarGroup.stories-Bl65NGHl.js +225 -0
  19. package/dist/storybook/assets/{Badge.stories-DtJcBfOR.js → Badge.stories-Bbnc6fRy.js} +1 -1
  20. package/dist/storybook/assets/{Button.stories-BKUfLgSY.js → Button.stories-CRJ5n2y4.js} +1 -1
  21. package/dist/storybook/assets/{CircularProgress.stories-dpmD-XJT.js → CircularProgress.stories-D9vBj3JJ.js} +1 -1
  22. package/dist/storybook/assets/{ClipboardMixin.stories-C0pnQ7BY.js → ClipboardMixin.stories-Dm-Jm4yb.js} +7 -7
  23. package/dist/storybook/assets/Color-6BZIO3FS-BcNIJY1U.js +1 -0
  24. package/dist/storybook/assets/{Colors.stories-bKK25qgF.js → Colors.stories-B9_090wL.js} +1 -1
  25. package/dist/storybook/assets/ComponentStatesMixin-ChiFBCuo.js +1 -0
  26. package/dist/storybook/assets/{ComponentStatesMixin.stories-9mRp2zuB.js → ComponentStatesMixin.stories-DHv9MHmE.js} +3 -3
  27. package/dist/storybook/assets/{CopyToClipboard.stories-BW3oaT1i.js → CopyToClipboard.stories-gtJlTP1l.js} +1 -1
  28. package/dist/storybook/assets/{Debounce.stories-BXx3CKvQ.js → Debounce.stories-BBNX7mJA.js} +3 -3
  29. package/dist/storybook/assets/DocsRenderer-LL677BLK-D-E99pXl.js +758 -0
  30. package/dist/storybook/assets/{Events.stories-PBeiuWQn.js → Events.stories-DDmydlh_.js} +1 -1
  31. package/dist/storybook/assets/{Heading.stories-Djkl0MoC.js → Heading.stories-BLGfko-i.js} +1 -1
  32. package/dist/storybook/assets/{Icon.stories-Cam1fyud.js → Icon.stories-BHnAGcFF.js} +1 -1
  33. package/dist/storybook/assets/{LinearProgress.stories-BDNoYIJu.js → LinearProgress.stories-Dx26a0P_.js} +1 -1
  34. package/dist/storybook/assets/Popover.stories-CbqpY6YR.js +431 -0
  35. package/dist/storybook/assets/ReadyMixin-BHiHoIbr.js +1 -0
  36. package/dist/storybook/assets/{Rtc.stories-BrTAIAi1.js → Rtc.stories-CAjDv_Ub.js} +3 -3
  37. package/dist/storybook/assets/{ScrollShadow.stories-DHcKhkag.js → ScrollShadow.stories-BSV4U-tq.js} +1 -1
  38. package/dist/storybook/assets/{Throttle.stories-cSYT_BXu.js → Throttle.stories-kaxXQ8RZ.js} +8 -8
  39. package/dist/storybook/assets/Tooltip.stories-CsxXkztr.js +143 -0
  40. package/dist/storybook/assets/Widget.stories-DqATHnSq.js +233 -0
  41. package/dist/storybook/assets/WithTooltip-65CFNBJE-BtbbFYSA.js +9 -0
  42. package/dist/storybook/assets/custom-element-UsVr97OX.js +1 -0
  43. package/dist/storybook/assets/formatter-EIJCOSYU-C87Csnpu.js +1 -0
  44. package/dist/storybook/assets/if-defined-COHr0XBn.js +1 -0
  45. package/dist/storybook/assets/{iframe-BMxUFmpF.css → iframe-BkDGeDre.css} +1 -1
  46. package/dist/storybook/assets/iframe-CcloOV09.js +1061 -0
  47. package/dist/storybook/assets/index-DP7vnJf7.js +1 -0
  48. package/dist/storybook/assets/onFind-DqriYjEB.js +1 -0
  49. package/dist/storybook/assets/onFind.stories-BxvoC-Z-.js +1069 -0
  50. package/dist/storybook/assets/{onRemove.stories-C7W9KyRr.js → onRemove.stories-Dwoixzb0.js} +3 -3
  51. package/dist/storybook/assets/{onVisible.stories-CIl6R0q4.js → onVisible.stories-CinmRF9w.js} +10 -10
  52. package/dist/storybook/assets/syntaxhighlighter-ED5Y7EFY-BHLkDkOn.js +6 -0
  53. package/dist/storybook/iframe.html +57 -39
  54. package/dist/storybook/index.html +11 -4
  55. package/dist/storybook/index.json +1 -1
  56. package/dist/storybook/project.json +1 -1
  57. package/dist/storybook/sb-addons/docs-1/manager-bundle.js +1 -1
  58. package/dist/storybook/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +112 -290
  59. package/dist/storybook/sb-addons/vitest-2/manager-bundle.js +3 -0
  60. package/dist/storybook/sb-manager/globals-runtime.js +60754 -66346
  61. package/dist/storybook/sb-manager/globals.js +2 -3
  62. package/dist/storybook/sb-manager/manager-stores.js +23 -0
  63. package/dist/storybook/sb-manager/runtime.js +12983 -11699
  64. package/dist/storybook/vite-inject-mocker-entry.js +2 -2
  65. package/dist/tailwind-plugin-popover.d.ts +2 -0
  66. package/dist/tailwind-plugin-popover.d.ts.map +1 -0
  67. package/dist/tailwind-plugin-popover.js +177 -0
  68. package/dist/tailwind-plugin-popover.js.map +1 -0
  69. package/dist/tailwind-plugin-popover.ts +202 -0
  70. package/dist/tailwind-plugin-tooltip.d.ts +2 -0
  71. package/dist/tailwind-plugin-tooltip.d.ts.map +1 -0
  72. package/dist/tailwind-plugin-tooltip.js +184 -0
  73. package/dist/tailwind-plugin-tooltip.js.map +1 -0
  74. package/dist/tailwind-plugin-tooltip.ts +209 -0
  75. package/dist/util/EventEmitterMixin.d.ts +11 -0
  76. package/dist/util/EventEmitterMixin.d.ts.map +1 -1
  77. package/dist/util/EventEmitterMixin.js +1 -1
  78. package/dist/util/EventEmitterMixin.js.map +1 -1
  79. package/dist/util/TooltipController.d.ts +37 -0
  80. package/dist/util/TooltipController.d.ts.map +1 -0
  81. package/dist/util/TooltipController.js +133 -0
  82. package/dist/util/TooltipController.js.map +1 -0
  83. package/dist/util/TooltipMixin.d.ts +42 -0
  84. package/dist/util/TooltipMixin.d.ts.map +1 -0
  85. package/dist/util/TooltipMixin.js +401 -0
  86. package/dist/util/TooltipMixin.js.map +1 -0
  87. package/dist/util/onFind.d.ts +1 -0
  88. package/dist/util/onFind.d.ts.map +1 -1
  89. package/dist/util/onFind.js +73 -48
  90. package/dist/util/onFind.js.map +1 -1
  91. package/dist/util/onVisible.d.ts.map +1 -1
  92. package/dist/util/onVisible.js +13 -2
  93. package/dist/util/onVisible.js.map +1 -1
  94. package/package.json +12 -5
  95. package/dist/storybook/assets/AvatarGroup.stories-DrlxT-mF.js +0 -211
  96. package/dist/storybook/assets/Color-64QXVMR3-Dnd9S2a1.js +0 -1
  97. package/dist/storybook/assets/ComponentStatesMixin-C2HZ9ZFb.js +0 -1
  98. package/dist/storybook/assets/WithTooltip-SK46ZJ2J-Df0E-KJO.js +0 -825
  99. package/dist/storybook/assets/formatter-OMEEQ6HG-DFa_WTfb.js +0 -1
  100. package/dist/storybook/assets/iframe-lTczLWsL.js +0 -1064
  101. package/dist/storybook/assets/index-yMswRDPh.js +0 -1
  102. package/dist/storybook/assets/onFind-C6olvKHR.js +0 -1
  103. package/dist/storybook/assets/onFind.stories-DfW54CDE.js +0 -284
  104. package/dist/storybook/assets/syntaxhighlighter-CAVLW7PM-DoI0ixeu.js +0 -6
@@ -0,0 +1,42 @@
1
+ import { LitElement } from 'lit';
2
+ type Constructor<T = object> = new (...args: any[]) => T;
3
+ export type TooltipOffset = 'sm' | 'md' | 'lg' | 'xl';
4
+ export declare class TooltipMixinInterface {
5
+ tooltip: string;
6
+ tooltipPosition: 'top' | 'bottom' | 'left' | 'right';
7
+ tooltipDelay: number;
8
+ tooltipOffset: TooltipOffset | null;
9
+ tooltipNoArrow: boolean;
10
+ tooltipTrigger: string;
11
+ }
12
+ /**
13
+ * Mixin that adds declarative tooltip support to any LitElement component.
14
+ *
15
+ * Uses the native Popover API for top-layer rendering and CSS anchor positioning
16
+ * for viewport-aware placement. The tooltip element is appended as the last child
17
+ * of the host (safe from Lit re-render interference in Light DOM components).
18
+ *
19
+ * For click triggers (`popover="auto"`), the browser provides light dismiss
20
+ * (Escape key and click-outside). For hover/focus triggers (`popover="manual"`),
21
+ * show/hide is controlled by the mixin.
22
+ *
23
+ * @mixin
24
+ *
25
+ * @cssprop --tooltip-color-background - Background color (default: white)
26
+ * @cssprop --tooltip-color-text - Text color (default: oklch gray-900)
27
+ * @cssprop --tooltip-border-radius - Border radius (default: 0.5rem / lg)
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * class MyComponent extends TooltipMixin(EventEmitterMixin(ReadyMixin(LitElement))) {
32
+ * // Component now supports tooltip, tooltip-position, tooltip-delay attributes
33
+ * }
34
+ * ```
35
+ *
36
+ * ```html
37
+ * <my-component tooltip="Hello!" tooltip-position="bottom"></my-component>
38
+ * ```
39
+ */
40
+ export declare const TooltipMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<TooltipMixinInterface> & T;
41
+ export {};
42
+ //# sourceMappingURL=TooltipMixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipMixin.d.ts","sourceRoot":"","sources":["../../src/util/TooltipMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAGhC,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAExD,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAErD,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACpD,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAA;IACnC,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;CACvB;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,KAiY/C,WAAW,CAAC,qBAAqB,CAAC,GAAG,CAClE,CAAA"}
@@ -0,0 +1,401 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement } from 'lit';
8
+ import { property } from 'lit/decorators.js';
9
+ // Tailwind content scanning requires complete class names (no template literals).
10
+ const POSITION_CLASSES = {
11
+ top: 'btu-tooltip-top',
12
+ bottom: 'btu-tooltip-bottom',
13
+ left: 'btu-tooltip-left',
14
+ right: 'btu-tooltip-right',
15
+ };
16
+ const OFFSET_CLASSES = {
17
+ sm: 'btu-tooltip-offset-sm',
18
+ md: 'btu-tooltip-offset-md',
19
+ lg: 'btu-tooltip-offset-lg',
20
+ xl: 'btu-tooltip-offset-xl',
21
+ };
22
+ /**
23
+ * Mixin that adds declarative tooltip support to any LitElement component.
24
+ *
25
+ * Uses the native Popover API for top-layer rendering and CSS anchor positioning
26
+ * for viewport-aware placement. The tooltip element is appended as the last child
27
+ * of the host (safe from Lit re-render interference in Light DOM components).
28
+ *
29
+ * For click triggers (`popover="auto"`), the browser provides light dismiss
30
+ * (Escape key and click-outside). For hover/focus triggers (`popover="manual"`),
31
+ * show/hide is controlled by the mixin.
32
+ *
33
+ * @mixin
34
+ *
35
+ * @cssprop --tooltip-color-background - Background color (default: white)
36
+ * @cssprop --tooltip-color-text - Text color (default: oklch gray-900)
37
+ * @cssprop --tooltip-border-radius - Border radius (default: 0.5rem / lg)
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * class MyComponent extends TooltipMixin(EventEmitterMixin(ReadyMixin(LitElement))) {
42
+ * // Component now supports tooltip, tooltip-position, tooltip-delay attributes
43
+ * }
44
+ * ```
45
+ *
46
+ * ```html
47
+ * <my-component tooltip="Hello!" tooltip-position="bottom"></my-component>
48
+ * ```
49
+ */
50
+ export const TooltipMixin = (superClass) => {
51
+ class TooltipMixinClass extends superClass {
52
+ constructor() {
53
+ super(...arguments);
54
+ /**
55
+ * Tooltip text content. Set to empty string to remove the tooltip.
56
+ * @attr
57
+ */
58
+ this.tooltip = '';
59
+ /**
60
+ * Position relative to the host element. Auto-flips when constrained by the viewport.
61
+ * @attr
62
+ */
63
+ this.tooltipPosition = 'top';
64
+ /**
65
+ * Show delay in milliseconds (hover trigger only).
66
+ * @attr
67
+ */
68
+ this.tooltipDelay = 300;
69
+ /**
70
+ * Gap between host and tooltip (sm=4px, md=8px, lg=12px, xl=16px).
71
+ * @attr
72
+ */
73
+ this.tooltipOffset = null;
74
+ /**
75
+ * Hide the arrow pseudo-element.
76
+ * @attr
77
+ */
78
+ this.tooltipNoArrow = false;
79
+ /**
80
+ * Space-separated trigger types: 'hover', 'focus', 'click'.
81
+ * @attr
82
+ */
83
+ this.tooltipTrigger = 'hover focus';
84
+ /** @internal */
85
+ this._tooltipEl = null;
86
+ /** @internal */
87
+ this._tooltipId = `btu-tooltip-${crypto.randomUUID()}`;
88
+ /** @internal */
89
+ this._anchorName = `--btu-trigger-${crypto.randomUUID()}`;
90
+ /** @internal */
91
+ this._showTimer = null;
92
+ /** @internal */
93
+ this._isVisible = false;
94
+ /** @internal Parsed set of active triggers */
95
+ this._activeTriggers = new Set();
96
+ /** @internal bound listeners for cleanup */
97
+ this._onMouseEnter = this._handleMouseEnter.bind(this);
98
+ this._onMouseLeave = this._handleMouseLeave.bind(this);
99
+ this._onFocusIn = this._handleFocusIn.bind(this);
100
+ this._onFocusOut = this._handleFocusOut.bind(this);
101
+ this._onClick = this._handleClick.bind(this);
102
+ this._onNativeToggle = this._handleNativeToggle.bind(this);
103
+ this._onKeyDown = this._handleKeyDown.bind(this);
104
+ this._onDocumentClick = null;
105
+ }
106
+ connectedCallback() {
107
+ super.connectedCallback();
108
+ this._bindTriggerListeners();
109
+ }
110
+ disconnectedCallback() {
111
+ this._clearShowTimer();
112
+ this._removeDocumentClickListener();
113
+ this._unbindTriggerListeners();
114
+ if (this._tooltipEl) {
115
+ try {
116
+ this._tooltipEl.hidePopover();
117
+ }
118
+ catch (e) {
119
+ if (!(e instanceof DOMException && e.name === 'InvalidStateError')) {
120
+ console.warn('[btu-tooltip] Failed to hide tooltip during disconnect:', e);
121
+ }
122
+ }
123
+ this._tooltipEl.removeEventListener('toggle', this._onNativeToggle);
124
+ this._tooltipEl.remove();
125
+ this._tooltipEl = null;
126
+ }
127
+ this._removeAriaDescribedBy();
128
+ this.style.removeProperty('anchor-name');
129
+ this._isVisible = false;
130
+ super.disconnectedCallback();
131
+ }
132
+ updated(changedProperties) {
133
+ super.updated(changedProperties);
134
+ if (changedProperties.has('tooltipTrigger')) {
135
+ this._unbindTriggerListeners();
136
+ this._bindTriggerListeners();
137
+ // Update popover mode when trigger changes
138
+ if (this._tooltipEl) {
139
+ if (this._isVisible) {
140
+ this._hide();
141
+ }
142
+ this._tooltipEl.setAttribute('popover', this._getPopoverMode());
143
+ }
144
+ }
145
+ if (changedProperties.has('tooltip') ||
146
+ changedProperties.has('tooltipPosition') ||
147
+ changedProperties.has('tooltipDelay') ||
148
+ changedProperties.has('tooltipOffset') ||
149
+ changedProperties.has('tooltipNoArrow')) {
150
+ this._syncTooltipElement();
151
+ }
152
+ }
153
+ /** @internal
154
+ * Always manual — popovertarget (needed for popover="auto" click toggle)
155
+ * only works on <button>/<input>, not arbitrary custom element hosts.
156
+ */
157
+ _getPopoverMode() {
158
+ return 'manual';
159
+ }
160
+ /** @internal */
161
+ _syncTooltipElement() {
162
+ if (!this.tooltip) {
163
+ // Remove tooltip if text cleared
164
+ if (this._tooltipEl) {
165
+ this._hide();
166
+ this._tooltipEl.removeEventListener('toggle', this._onNativeToggle);
167
+ this._tooltipEl.remove();
168
+ this._tooltipEl = null;
169
+ this._removeAriaDescribedBy();
170
+ this.style.removeProperty('anchor-name');
171
+ document.removeEventListener('keydown', this._onKeyDown);
172
+ }
173
+ return;
174
+ }
175
+ // Set unique anchor name on host
176
+ this.style.setProperty('anchor-name', this._anchorName);
177
+ if (!this._tooltipEl) {
178
+ this._tooltipEl = this._createTooltipElement();
179
+ this.appendChild(this._tooltipEl);
180
+ this._appendAriaDescribedBy();
181
+ // Always manual mode — Escape not handled by browser, add only when tooltip exists
182
+ document.addEventListener('keydown', this._onKeyDown);
183
+ }
184
+ // Update text content
185
+ this._tooltipEl.textContent = this.tooltip;
186
+ // Update classes (includes offset)
187
+ this._tooltipEl.className = this._buildTooltipClasses();
188
+ }
189
+ /** @internal */
190
+ _createTooltipElement() {
191
+ const el = document.createElement('div');
192
+ el.id = this._tooltipId;
193
+ el.className = this._buildTooltipClasses();
194
+ el.setAttribute('role', 'tooltip');
195
+ el.setAttribute('data-tooltip-internal', '');
196
+ el.setAttribute('popover', this._getPopoverMode());
197
+ el.style.setProperty('position-anchor', this._anchorName);
198
+ el.textContent = this.tooltip;
199
+ // Listen for native toggle events — single source of truth for state
200
+ el.addEventListener('toggle', this._onNativeToggle);
201
+ return el;
202
+ }
203
+ /** @internal Builds the full class string for the tooltip element */
204
+ _buildTooltipClasses() {
205
+ const classes = ['btu-tooltip', POSITION_CLASSES[this.tooltipPosition]];
206
+ if (this.tooltipOffset && OFFSET_CLASSES[this.tooltipOffset])
207
+ classes.push(OFFSET_CLASSES[this.tooltipOffset]);
208
+ if (this.tooltipNoArrow)
209
+ classes.push('btu-tooltip-no-arrow');
210
+ return classes.join(' ');
211
+ }
212
+ /** @internal */
213
+ _hasTrigger(trigger) {
214
+ return this._activeTriggers.has(trigger);
215
+ }
216
+ /** @internal Parses trigger string and attaches relevant listeners */
217
+ _bindTriggerListeners() {
218
+ const VALID_TRIGGERS = new Set(['hover', 'focus', 'click']);
219
+ this._activeTriggers = new Set(this.tooltipTrigger.trim().split(/\s+/));
220
+ for (const trigger of this._activeTriggers) {
221
+ if (!VALID_TRIGGERS.has(trigger)) {
222
+ console.warn(`[btu-tooltip] Unrecognized tooltip-trigger value: "${trigger}". Valid values: hover, focus, click.`);
223
+ }
224
+ }
225
+ if (this._hasTrigger('hover')) {
226
+ this.addEventListener('mouseenter', this._onMouseEnter);
227
+ this.addEventListener('mouseleave', this._onMouseLeave);
228
+ }
229
+ if (this._hasTrigger('focus')) {
230
+ this.addEventListener('focusin', this._onFocusIn);
231
+ this.addEventListener('focusout', this._onFocusOut);
232
+ }
233
+ if (this._hasTrigger('click')) {
234
+ this.addEventListener('click', this._onClick);
235
+ }
236
+ // Keydown listener for Escape is added in _syncTooltipElement when tooltip is set
237
+ }
238
+ /** @internal Removes all trigger listeners */
239
+ _unbindTriggerListeners() {
240
+ this.removeEventListener('mouseenter', this._onMouseEnter);
241
+ this.removeEventListener('mouseleave', this._onMouseLeave);
242
+ this.removeEventListener('focusin', this._onFocusIn);
243
+ this.removeEventListener('focusout', this._onFocusOut);
244
+ this.removeEventListener('click', this._onClick);
245
+ document.removeEventListener('keydown', this._onKeyDown);
246
+ }
247
+ /** @internal */
248
+ _show() {
249
+ if (this._isVisible || !this._tooltipEl)
250
+ return;
251
+ try {
252
+ this._tooltipEl.showPopover();
253
+ }
254
+ catch (e) {
255
+ if (!(e instanceof DOMException && e.name === 'InvalidStateError')) {
256
+ console.warn('[btu-tooltip] Failed to show tooltip:', e);
257
+ }
258
+ }
259
+ // Click-outside dismiss for click-triggered tooltips
260
+ if (this._hasTrigger('click')) {
261
+ // Use next tick to avoid the opening click from immediately dismissing
262
+ setTimeout(() => {
263
+ this._removeDocumentClickListener();
264
+ this._onDocumentClick = (e) => {
265
+ const path = e.composedPath();
266
+ if (!path.includes(this) && (!this._tooltipEl || !path.includes(this._tooltipEl))) {
267
+ this._hide();
268
+ }
269
+ };
270
+ document.addEventListener('click', this._onDocumentClick);
271
+ }, 0);
272
+ }
273
+ }
274
+ /** @internal */
275
+ _hide() {
276
+ this._clearShowTimer();
277
+ this._removeDocumentClickListener();
278
+ if (!this._isVisible || !this._tooltipEl)
279
+ return;
280
+ try {
281
+ this._tooltipEl.hidePopover();
282
+ }
283
+ catch (e) {
284
+ if (!(e instanceof DOMException && e.name === 'InvalidStateError')) {
285
+ console.warn('[btu-tooltip] Failed to hide tooltip:', e);
286
+ }
287
+ }
288
+ }
289
+ /** @internal */
290
+ _removeDocumentClickListener() {
291
+ if (this._onDocumentClick) {
292
+ document.removeEventListener('click', this._onDocumentClick);
293
+ this._onDocumentClick = null;
294
+ }
295
+ }
296
+ /** @internal Native toggle event — single source of truth for state changes */
297
+ _handleNativeToggle(e) {
298
+ const { newState } = e;
299
+ this._isVisible = newState === 'open';
300
+ this.dispatchEvent(new CustomEvent(this._isVisible ? 'btu-tooltip-show' : 'btu-tooltip-hide', {
301
+ bubbles: true,
302
+ composed: true,
303
+ }));
304
+ }
305
+ /** @internal Escape dismisses for popover="manual" (hover/focus triggers) */
306
+ _handleKeyDown(e) {
307
+ if (e.key === 'Escape') {
308
+ this._clearShowTimer();
309
+ this._hide();
310
+ }
311
+ }
312
+ /** @internal */
313
+ _clearShowTimer() {
314
+ if (this._showTimer !== null) {
315
+ clearTimeout(this._showTimer);
316
+ this._showTimer = null;
317
+ }
318
+ }
319
+ /** @internal */
320
+ _handleMouseEnter() {
321
+ this._clearShowTimer();
322
+ this._showTimer = setTimeout(() => {
323
+ this._show();
324
+ }, this.tooltipDelay);
325
+ }
326
+ /** @internal */
327
+ _handleMouseLeave() {
328
+ this._clearShowTimer();
329
+ this._hide();
330
+ }
331
+ /** @internal */
332
+ _handleFocusIn() {
333
+ this._clearShowTimer();
334
+ this._show();
335
+ }
336
+ /** @internal */
337
+ _handleFocusOut() {
338
+ this._clearShowTimer();
339
+ this._hide();
340
+ }
341
+ /** @internal Click trigger toggles visibility */
342
+ _handleClick() {
343
+ this._clearShowTimer();
344
+ if (this._isVisible) {
345
+ this._hide();
346
+ }
347
+ else {
348
+ this._show();
349
+ }
350
+ }
351
+ /** @internal Appends tooltip id to existing aria-describedby */
352
+ _appendAriaDescribedBy() {
353
+ const existing = this.getAttribute('aria-describedby');
354
+ if (existing) {
355
+ if (!existing.includes(this._tooltipId)) {
356
+ this.setAttribute('aria-describedby', `${existing} ${this._tooltipId}`);
357
+ }
358
+ }
359
+ else {
360
+ this.setAttribute('aria-describedby', this._tooltipId);
361
+ }
362
+ }
363
+ /** @internal Removes tooltip id from aria-describedby */
364
+ _removeAriaDescribedBy() {
365
+ const existing = this.getAttribute('aria-describedby');
366
+ if (!existing)
367
+ return;
368
+ const ids = existing
369
+ .split(/\s+/)
370
+ .filter(id => id !== this._tooltipId)
371
+ .join(' ')
372
+ .trim();
373
+ if (ids) {
374
+ this.setAttribute('aria-describedby', ids);
375
+ }
376
+ else {
377
+ this.removeAttribute('aria-describedby');
378
+ }
379
+ }
380
+ }
381
+ __decorate([
382
+ property({ attribute: 'tooltip' })
383
+ ], TooltipMixinClass.prototype, "tooltip", void 0);
384
+ __decorate([
385
+ property({ attribute: 'tooltip-position' })
386
+ ], TooltipMixinClass.prototype, "tooltipPosition", void 0);
387
+ __decorate([
388
+ property({ attribute: 'tooltip-delay', type: Number })
389
+ ], TooltipMixinClass.prototype, "tooltipDelay", void 0);
390
+ __decorate([
391
+ property({ attribute: 'tooltip-offset' })
392
+ ], TooltipMixinClass.prototype, "tooltipOffset", void 0);
393
+ __decorate([
394
+ property({ attribute: 'tooltip-no-arrow', type: Boolean })
395
+ ], TooltipMixinClass.prototype, "tooltipNoArrow", void 0);
396
+ __decorate([
397
+ property({ attribute: 'tooltip-trigger' })
398
+ ], TooltipMixinClass.prototype, "tooltipTrigger", void 0);
399
+ return TooltipMixinClass;
400
+ };
401
+ //# sourceMappingURL=TooltipMixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipMixin.js","sourceRoot":"","sources":["../../src/util/TooltipMixin.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ declare namespace onFind {
6
6
  var triggerCallbacks: (mutations?: MutationRecord[]) => void;
7
7
  var pause: () => void;
8
8
  var resume: () => void;
9
+ var ignore: (...selectors: string[]) => void;
9
10
  }
10
11
  export default onFind;
11
12
  //# sourceMappingURL=onFind.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"onFind.d.ts","sourceRoot":"","sources":["../../src/util/onFind.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA;AACtE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;AAqNzC,iBAAS,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AAEzG,iBAAS,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;kBAA9E,MAAM;uCA1GuB,cAAc,EAAE;;;;AAiJtD,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"onFind.d.ts","sourceRoot":"","sources":["../../src/util/onFind.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAA;AACtE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;AA0OzC,iBAAS,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AAEzG,iBAAS,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;kBAA9E,MAAM;uCA/GuB,cAAc,EAAE;;;+BAyJvB,MAAM,EAAE;;AAcvC,eAAe,MAAM,CAAA"}