tyrell-components 1.0.0-TC7
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/LICENSE +21 -0
- package/README.md +221 -0
- package/css/tyrell.css +1783 -0
- package/dist/tyrell.css +1783 -0
- package/dist/tyrell.js +2 -0
- package/lib/base/ty-component.d.ts +133 -0
- package/lib/base/ty-component.d.ts.map +1 -0
- package/lib/base/ty-component.js +297 -0
- package/lib/base/ty-component.js.map +1 -0
- package/lib/components/button.d.ts +126 -0
- package/lib/components/button.d.ts.map +1 -0
- package/lib/components/button.js +244 -0
- package/lib/components/button.js.map +1 -0
- package/lib/components/calendar-month.d.ts +132 -0
- package/lib/components/calendar-month.d.ts.map +1 -0
- package/lib/components/calendar-month.js +440 -0
- package/lib/components/calendar-month.js.map +1 -0
- package/lib/components/calendar-navigation.d.ts +137 -0
- package/lib/components/calendar-navigation.d.ts.map +1 -0
- package/lib/components/calendar-navigation.js +366 -0
- package/lib/components/calendar-navigation.js.map +1 -0
- package/lib/components/calendar.d.ts +166 -0
- package/lib/components/calendar.d.ts.map +1 -0
- package/lib/components/calendar.js +774 -0
- package/lib/components/calendar.js.map +1 -0
- package/lib/components/checkbox.d.ts +189 -0
- package/lib/components/checkbox.d.ts.map +1 -0
- package/lib/components/checkbox.js +400 -0
- package/lib/components/checkbox.js.map +1 -0
- package/lib/components/copy.d.ts +180 -0
- package/lib/components/copy.d.ts.map +1 -0
- package/lib/components/copy.js +393 -0
- package/lib/components/copy.js.map +1 -0
- package/lib/components/date-picker.d.ts +379 -0
- package/lib/components/date-picker.d.ts.map +1 -0
- package/lib/components/date-picker.js +1586 -0
- package/lib/components/date-picker.js.map +1 -0
- package/lib/components/dropdown.d.ts +402 -0
- package/lib/components/dropdown.d.ts.map +1 -0
- package/lib/components/dropdown.js +1564 -0
- package/lib/components/dropdown.js.map +1 -0
- package/lib/components/icon.d.ts +107 -0
- package/lib/components/icon.d.ts.map +1 -0
- package/lib/components/icon.js +230 -0
- package/lib/components/icon.js.map +1 -0
- package/lib/components/input.d.ts +270 -0
- package/lib/components/input.d.ts.map +1 -0
- package/lib/components/input.js +721 -0
- package/lib/components/input.js.map +1 -0
- package/lib/components/modal.d.ts +58 -0
- package/lib/components/modal.d.ts.map +1 -0
- package/lib/components/modal.js +473 -0
- package/lib/components/modal.js.map +1 -0
- package/lib/components/multiselect.d.ts +397 -0
- package/lib/components/multiselect.d.ts.map +1 -0
- package/lib/components/multiselect.js +1580 -0
- package/lib/components/multiselect.js.map +1 -0
- package/lib/components/option.d.ts +66 -0
- package/lib/components/option.d.ts.map +1 -0
- package/lib/components/option.js +314 -0
- package/lib/components/option.js.map +1 -0
- package/lib/components/popup.d.ts +43 -0
- package/lib/components/popup.d.ts.map +1 -0
- package/lib/components/popup.js +380 -0
- package/lib/components/popup.js.map +1 -0
- package/lib/components/radio.d.ts +198 -0
- package/lib/components/radio.d.ts.map +1 -0
- package/lib/components/radio.js +437 -0
- package/lib/components/radio.js.map +1 -0
- package/lib/components/resize-observer.d.ts +48 -0
- package/lib/components/resize-observer.d.ts.map +1 -0
- package/lib/components/resize-observer.js +108 -0
- package/lib/components/resize-observer.js.map +1 -0
- package/lib/components/scroll-container.d.ts +51 -0
- package/lib/components/scroll-container.d.ts.map +1 -0
- package/lib/components/scroll-container.js +239 -0
- package/lib/components/scroll-container.js.map +1 -0
- package/lib/components/step.d.ts +26 -0
- package/lib/components/step.d.ts.map +1 -0
- package/lib/components/step.js +75 -0
- package/lib/components/step.js.map +1 -0
- package/lib/components/switch.d.ts +111 -0
- package/lib/components/switch.d.ts.map +1 -0
- package/lib/components/switch.js +240 -0
- package/lib/components/switch.js.map +1 -0
- package/lib/components/tab.d.ts +23 -0
- package/lib/components/tab.d.ts.map +1 -0
- package/lib/components/tab.js +76 -0
- package/lib/components/tab.js.map +1 -0
- package/lib/components/tabs.d.ts +93 -0
- package/lib/components/tabs.d.ts.map +1 -0
- package/lib/components/tabs.js +653 -0
- package/lib/components/tabs.js.map +1 -0
- package/lib/components/tag.d.ts +144 -0
- package/lib/components/tag.d.ts.map +1 -0
- package/lib/components/tag.js +314 -0
- package/lib/components/tag.js.map +1 -0
- package/lib/components/textarea.d.ts +241 -0
- package/lib/components/textarea.d.ts.map +1 -0
- package/lib/components/textarea.js +585 -0
- package/lib/components/textarea.js.map +1 -0
- package/lib/components/tooltip.d.ts +40 -0
- package/lib/components/tooltip.d.ts.map +1 -0
- package/lib/components/tooltip.js +439 -0
- package/lib/components/tooltip.js.map +1 -0
- package/lib/components/wizard.d.ts +86 -0
- package/lib/components/wizard.d.ts.map +1 -0
- package/lib/components/wizard.js +636 -0
- package/lib/components/wizard.js.map +1 -0
- package/lib/icons/fontawesome/brands.d.ts +557 -0
- package/lib/icons/fontawesome/brands.d.ts.map +1 -0
- package/lib/icons/fontawesome/brands.js +557 -0
- package/lib/icons/fontawesome/brands.js.map +1 -0
- package/lib/icons/fontawesome/regular.d.ts +281 -0
- package/lib/icons/fontawesome/regular.d.ts.map +1 -0
- package/lib/icons/fontawesome/regular.js +281 -0
- package/lib/icons/fontawesome/regular.js.map +1 -0
- package/lib/icons/fontawesome/solid.d.ts +1992 -0
- package/lib/icons/fontawesome/solid.d.ts.map +1 -0
- package/lib/icons/fontawesome/solid.js +1992 -0
- package/lib/icons/fontawesome/solid.js.map +1 -0
- package/lib/icons/heroicons/micro.d.ts +324 -0
- package/lib/icons/heroicons/micro.d.ts.map +1 -0
- package/lib/icons/heroicons/micro.js +1032 -0
- package/lib/icons/heroicons/micro.js.map +1 -0
- package/lib/icons/heroicons/mini.d.ts +332 -0
- package/lib/icons/heroicons/mini.d.ts.map +1 -0
- package/lib/icons/heroicons/mini.js +1038 -0
- package/lib/icons/heroicons/mini.js.map +1 -0
- package/lib/icons/heroicons/outline.d.ts +332 -0
- package/lib/icons/heroicons/outline.d.ts.map +1 -0
- package/lib/icons/heroicons/outline.js +993 -0
- package/lib/icons/heroicons/outline.js.map +1 -0
- package/lib/icons/heroicons/solid.d.ts +332 -0
- package/lib/icons/heroicons/solid.d.ts.map +1 -0
- package/lib/icons/heroicons/solid.js +1063 -0
- package/lib/icons/heroicons/solid.js.map +1 -0
- package/lib/icons/lucide.d.ts +1872 -0
- package/lib/icons/lucide.d.ts.map +1 -0
- package/lib/icons/lucide.js +28212 -0
- package/lib/icons/lucide.js.map +1 -0
- package/lib/icons/material/filled.d.ts +2180 -0
- package/lib/icons/material/filled.d.ts.map +1 -0
- package/lib/icons/material/filled.js +14003 -0
- package/lib/icons/material/filled.js.map +1 -0
- package/lib/icons/material/outlined.d.ts +2142 -0
- package/lib/icons/material/outlined.d.ts.map +1 -0
- package/lib/icons/material/outlined.js +14545 -0
- package/lib/icons/material/outlined.js.map +1 -0
- package/lib/icons/material/round.d.ts +2147 -0
- package/lib/icons/material/round.d.ts.map +1 -0
- package/lib/icons/material/round.js +14779 -0
- package/lib/icons/material/round.js.map +1 -0
- package/lib/icons/material/sharp.d.ts +2147 -0
- package/lib/icons/material/sharp.d.ts.map +1 -0
- package/lib/icons/material/sharp.js +14189 -0
- package/lib/icons/material/sharp.js.map +1 -0
- package/lib/icons/material/two-tone.d.ts +2185 -0
- package/lib/icons/material/two-tone.d.ts.map +1 -0
- package/lib/icons/material/two-tone.js +17152 -0
- package/lib/icons/material/two-tone.js.map +1 -0
- package/lib/index.d.ts +78 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +71 -0
- package/lib/index.js.map +1 -0
- package/lib/styles/button.d.ts +14 -0
- package/lib/styles/button.d.ts.map +1 -0
- package/lib/styles/button.js +457 -0
- package/lib/styles/button.js.map +1 -0
- package/lib/styles/calendar-month.d.ts +6 -0
- package/lib/styles/calendar-month.d.ts.map +1 -0
- package/lib/styles/calendar-month.js +229 -0
- package/lib/styles/calendar-month.js.map +1 -0
- package/lib/styles/calendar-navigation.d.ts +6 -0
- package/lib/styles/calendar-navigation.d.ts.map +1 -0
- package/lib/styles/calendar-navigation.js +125 -0
- package/lib/styles/calendar-navigation.js.map +1 -0
- package/lib/styles/calendar.d.ts +6 -0
- package/lib/styles/calendar.d.ts.map +1 -0
- package/lib/styles/calendar.js +28 -0
- package/lib/styles/calendar.js.map +1 -0
- package/lib/styles/checkbox.d.ts +9 -0
- package/lib/styles/checkbox.d.ts.map +1 -0
- package/lib/styles/checkbox.js +19 -0
- package/lib/styles/checkbox.js.map +1 -0
- package/lib/styles/copy.d.ts +7 -0
- package/lib/styles/copy.d.ts.map +1 -0
- package/lib/styles/copy.js +94 -0
- package/lib/styles/copy.js.map +1 -0
- package/lib/styles/custom-scrollbar.d.ts +6 -0
- package/lib/styles/custom-scrollbar.d.ts.map +1 -0
- package/lib/styles/custom-scrollbar.js +157 -0
- package/lib/styles/custom-scrollbar.js.map +1 -0
- package/lib/styles/date-picker.d.ts +6 -0
- package/lib/styles/date-picker.d.ts.map +1 -0
- package/lib/styles/date-picker.js +400 -0
- package/lib/styles/date-picker.js.map +1 -0
- package/lib/styles/dropdown.d.ts +12 -0
- package/lib/styles/dropdown.d.ts.map +1 -0
- package/lib/styles/dropdown.js +983 -0
- package/lib/styles/dropdown.js.map +1 -0
- package/lib/styles/icon.d.ts +6 -0
- package/lib/styles/icon.d.ts.map +1 -0
- package/lib/styles/icon.js +231 -0
- package/lib/styles/icon.js.map +1 -0
- package/lib/styles/input.d.ts +7 -0
- package/lib/styles/input.d.ts.map +1 -0
- package/lib/styles/input.js +685 -0
- package/lib/styles/input.js.map +1 -0
- package/lib/styles/modal.d.ts +8 -0
- package/lib/styles/modal.d.ts.map +1 -0
- package/lib/styles/modal.js +134 -0
- package/lib/styles/modal.js.map +1 -0
- package/lib/styles/multiselect.d.ts +6 -0
- package/lib/styles/multiselect.d.ts.map +1 -0
- package/lib/styles/multiselect.js +774 -0
- package/lib/styles/multiselect.js.map +1 -0
- package/lib/styles/option.d.ts +6 -0
- package/lib/styles/option.d.ts.map +1 -0
- package/lib/styles/option.js +116 -0
- package/lib/styles/option.js.map +1 -0
- package/lib/styles/popup.d.ts +8 -0
- package/lib/styles/popup.d.ts.map +1 -0
- package/lib/styles/popup.js +95 -0
- package/lib/styles/popup.js.map +1 -0
- package/lib/styles/radio.d.ts +8 -0
- package/lib/styles/radio.d.ts.map +1 -0
- package/lib/styles/radio.js +160 -0
- package/lib/styles/radio.js.map +1 -0
- package/lib/styles/resize-observer.d.ts +6 -0
- package/lib/styles/resize-observer.d.ts.map +1 -0
- package/lib/styles/resize-observer.js +18 -0
- package/lib/styles/resize-observer.js.map +1 -0
- package/lib/styles/scroll-container.d.ts +6 -0
- package/lib/styles/scroll-container.d.ts.map +1 -0
- package/lib/styles/scroll-container.js +198 -0
- package/lib/styles/scroll-container.js.map +1 -0
- package/lib/styles/step.d.ts +5 -0
- package/lib/styles/step.d.ts.map +1 -0
- package/lib/styles/step.js +50 -0
- package/lib/styles/step.js.map +1 -0
- package/lib/styles/switch.d.ts +9 -0
- package/lib/styles/switch.d.ts.map +1 -0
- package/lib/styles/switch.js +100 -0
- package/lib/styles/switch.js.map +1 -0
- package/lib/styles/tab.d.ts +5 -0
- package/lib/styles/tab.d.ts.map +1 -0
- package/lib/styles/tab.js +51 -0
- package/lib/styles/tab.js.map +1 -0
- package/lib/styles/tabs.d.ts +13 -0
- package/lib/styles/tabs.d.ts.map +1 -0
- package/lib/styles/tabs.js +184 -0
- package/lib/styles/tabs.js.map +1 -0
- package/lib/styles/tag.d.ts +6 -0
- package/lib/styles/tag.d.ts.map +1 -0
- package/lib/styles/tag.js +415 -0
- package/lib/styles/tag.js.map +1 -0
- package/lib/styles/textarea.d.ts +6 -0
- package/lib/styles/textarea.d.ts.map +1 -0
- package/lib/styles/textarea.js +350 -0
- package/lib/styles/textarea.js.map +1 -0
- package/lib/styles/tooltip.d.ts +9 -0
- package/lib/styles/tooltip.d.ts.map +1 -0
- package/lib/styles/tooltip.js +136 -0
- package/lib/styles/tooltip.js.map +1 -0
- package/lib/styles/wizard.d.ts +25 -0
- package/lib/styles/wizard.d.ts.map +1 -0
- package/lib/styles/wizard.js +325 -0
- package/lib/styles/wizard.js.map +1 -0
- package/lib/types/common.d.ts +143 -0
- package/lib/types/common.d.ts.map +1 -0
- package/lib/types/common.js +5 -0
- package/lib/types/common.js.map +1 -0
- package/lib/utils/calendar-utils.d.ts +176 -0
- package/lib/utils/calendar-utils.d.ts.map +1 -0
- package/lib/utils/calendar-utils.js +370 -0
- package/lib/utils/calendar-utils.js.map +1 -0
- package/lib/utils/custom-scrollbar.d.ts +82 -0
- package/lib/utils/custom-scrollbar.d.ts.map +1 -0
- package/lib/utils/custom-scrollbar.js +320 -0
- package/lib/utils/custom-scrollbar.js.map +1 -0
- package/lib/utils/icon-registry.d.ts +78 -0
- package/lib/utils/icon-registry.d.ts.map +1 -0
- package/lib/utils/icon-registry.js +304 -0
- package/lib/utils/icon-registry.js.map +1 -0
- package/lib/utils/locale.d.ts +136 -0
- package/lib/utils/locale.d.ts.map +1 -0
- package/lib/utils/locale.js +213 -0
- package/lib/utils/locale.js.map +1 -0
- package/lib/utils/mobile.d.ts +14 -0
- package/lib/utils/mobile.d.ts.map +1 -0
- package/lib/utils/mobile.js +21 -0
- package/lib/utils/mobile.js.map +1 -0
- package/lib/utils/number-format.d.ts +83 -0
- package/lib/utils/number-format.d.ts.map +1 -0
- package/lib/utils/number-format.js +143 -0
- package/lib/utils/number-format.js.map +1 -0
- package/lib/utils/parse-boolean.d.ts +39 -0
- package/lib/utils/parse-boolean.d.ts.map +1 -0
- package/lib/utils/parse-boolean.js +58 -0
- package/lib/utils/parse-boolean.js.map +1 -0
- package/lib/utils/positioning.d.ts +143 -0
- package/lib/utils/positioning.d.ts.map +1 -0
- package/lib/utils/positioning.js +308 -0
- package/lib/utils/positioning.js.map +1 -0
- package/lib/utils/property-capture.d.ts +132 -0
- package/lib/utils/property-capture.d.ts.map +1 -0
- package/lib/utils/property-capture.js +152 -0
- package/lib/utils/property-capture.js.map +1 -0
- package/lib/utils/property-manager.d.ts +90 -0
- package/lib/utils/property-manager.d.ts.map +1 -0
- package/lib/utils/property-manager.js +197 -0
- package/lib/utils/property-manager.js.map +1 -0
- package/lib/utils/resize-observer.d.ts +42 -0
- package/lib/utils/resize-observer.d.ts.map +1 -0
- package/lib/utils/resize-observer.js +71 -0
- package/lib/utils/resize-observer.js.map +1 -0
- package/lib/utils/scroll-lock.d.ts +79 -0
- package/lib/utils/scroll-lock.d.ts.map +1 -0
- package/lib/utils/scroll-lock.js +197 -0
- package/lib/utils/scroll-lock.js.map +1 -0
- package/lib/utils/styles.d.ts +27 -0
- package/lib/utils/styles.d.ts.map +1 -0
- package/lib/utils/styles.js +53 -0
- package/lib/utils/styles.js.map +1 -0
- package/lib/version.d.ts +8 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +11 -0
- package/lib/version.js.map +1 -0
- package/package.json +159 -0
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tooltip Component
|
|
3
|
+
*
|
|
4
|
+
* Shows helpful content on hover/focus with smart positioning.
|
|
5
|
+
* Follows the same shadow DOM pattern as other components.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* <ty-tooltip placement="top" flavor="primary" delay="600">
|
|
9
|
+
* Helpful tooltip text
|
|
10
|
+
* </ty-tooltip>
|
|
11
|
+
*/
|
|
12
|
+
import { findBestPosition, placementPreferences } from '../utils/positioning.js';
|
|
13
|
+
import { ensureStyles } from '../utils/styles.js';
|
|
14
|
+
import { tooltipStyles } from '../styles/tooltip.js';
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// WeakMaps for State Management
|
|
17
|
+
// ============================================================================
|
|
18
|
+
const autoUpdateCleanup = new WeakMap();
|
|
19
|
+
const eventCleanup = new WeakMap();
|
|
20
|
+
const timeoutState = new WeakMap();
|
|
21
|
+
const popoverElements = new WeakMap();
|
|
22
|
+
// ============================================================================
|
|
23
|
+
// Helper Functions
|
|
24
|
+
// ============================================================================
|
|
25
|
+
/**
|
|
26
|
+
* Validate and normalize flavor attribute
|
|
27
|
+
*/
|
|
28
|
+
function validateFlavor(flavor) {
|
|
29
|
+
const validFlavors = [
|
|
30
|
+
'dark', 'light', 'primary', 'secondary',
|
|
31
|
+
'success', 'danger', 'warning', 'info', 'neutral'
|
|
32
|
+
];
|
|
33
|
+
const normalized = (flavor || 'dark');
|
|
34
|
+
if (!validFlavors.includes(normalized)) {
|
|
35
|
+
console.warn(`[ty-tooltip] Invalid flavor '${flavor}'. Using 'dark'. ` +
|
|
36
|
+
`Valid flavors: ${validFlavors.join(', ')}.`);
|
|
37
|
+
return 'dark';
|
|
38
|
+
}
|
|
39
|
+
return normalized;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get timeout state for element
|
|
43
|
+
*/
|
|
44
|
+
function getTimeoutState(el) {
|
|
45
|
+
let state = timeoutState.get(el);
|
|
46
|
+
if (!state) {
|
|
47
|
+
state = { showTimeout: null, hideTimeout: null };
|
|
48
|
+
timeoutState.set(el, state);
|
|
49
|
+
}
|
|
50
|
+
return state;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Parse boolean attribute
|
|
54
|
+
*/
|
|
55
|
+
function parseBoolAttr(el, name) {
|
|
56
|
+
return el.hasAttribute(name);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Parse integer attribute
|
|
60
|
+
*/
|
|
61
|
+
function parseIntAttr(el, name, defaultValue) {
|
|
62
|
+
const value = el.getAttribute(name);
|
|
63
|
+
if (value === null)
|
|
64
|
+
return defaultValue;
|
|
65
|
+
const parsed = parseInt(value, 10);
|
|
66
|
+
return isNaN(parsed) ? defaultValue : parsed;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Read all tooltip attributes from element
|
|
70
|
+
*/
|
|
71
|
+
function getTooltipAttributes(el) {
|
|
72
|
+
return {
|
|
73
|
+
placement: (el.getAttribute('placement') || 'top'),
|
|
74
|
+
offset: parseIntAttr(el, 'offset', 8),
|
|
75
|
+
delay: parseIntAttr(el, 'delay', 600),
|
|
76
|
+
disabled: parseBoolAttr(el, 'disabled'),
|
|
77
|
+
flavor: validateFlavor(el.getAttribute('flavor')),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get the parent element (anchor)
|
|
82
|
+
*/
|
|
83
|
+
function getAnchorElement(el) {
|
|
84
|
+
return el.parentElement;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get or create popover element using Popover API
|
|
88
|
+
* The popover is created in document.body for top-layer placement
|
|
89
|
+
*/
|
|
90
|
+
function getOrCreatePopover(el) {
|
|
91
|
+
let popover = popoverElements.get(el);
|
|
92
|
+
if (!popover) {
|
|
93
|
+
// Create popover element
|
|
94
|
+
popover = document.createElement('div');
|
|
95
|
+
popover.id = `ty-tooltip-${Math.random().toString(36).substr(2, 9)}`;
|
|
96
|
+
popover.setAttribute('popover', 'manual');
|
|
97
|
+
popover.className = 'ty-tooltip-popover';
|
|
98
|
+
// Get initial attributes
|
|
99
|
+
const { flavor } = getTooltipAttributes(el);
|
|
100
|
+
popover.setAttribute('data-flavor', flavor);
|
|
101
|
+
// Copy content from slot
|
|
102
|
+
const content = el.textContent || '';
|
|
103
|
+
popover.textContent = content;
|
|
104
|
+
// Apply inline styles (since popover is outside shadow DOM, we need inline styles)
|
|
105
|
+
const styles = `
|
|
106
|
+
position: fixed;
|
|
107
|
+
margin: 0;
|
|
108
|
+
padding: 8px 12px;
|
|
109
|
+
background: var(--ty-tooltip-bg, #1f2937);
|
|
110
|
+
color: #ffffff;
|
|
111
|
+
border: none;
|
|
112
|
+
border-radius: 6px;
|
|
113
|
+
font-size: var(--ty-font-sm, 14px);
|
|
114
|
+
font-weight: var(--ty-font-semibold, 600);
|
|
115
|
+
line-height: 1.5;
|
|
116
|
+
max-width: 250px;
|
|
117
|
+
text-align: center;
|
|
118
|
+
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
|
|
119
|
+
user-select: none;
|
|
120
|
+
pointer-events: none;
|
|
121
|
+
`;
|
|
122
|
+
popover.style.cssText = styles;
|
|
123
|
+
// Apply flavor-specific styles
|
|
124
|
+
applyFlavorStyles(popover, flavor);
|
|
125
|
+
// Append to body
|
|
126
|
+
document.body.appendChild(popover);
|
|
127
|
+
// Store reference
|
|
128
|
+
popoverElements.set(el, popover);
|
|
129
|
+
}
|
|
130
|
+
return popover;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Apply flavor-specific styles to popover
|
|
134
|
+
*/
|
|
135
|
+
function applyFlavorStyles(popover, flavor) {
|
|
136
|
+
// Reset to defaults first
|
|
137
|
+
popover.style.removeProperty('background');
|
|
138
|
+
popover.style.removeProperty('color');
|
|
139
|
+
popover.style.removeProperty('border-color');
|
|
140
|
+
// Apply flavor-specific styles
|
|
141
|
+
switch (flavor) {
|
|
142
|
+
case 'primary':
|
|
143
|
+
popover.style.background = 'var(--ty-bg-primary, #3b82f6)';
|
|
144
|
+
popover.style.color = 'var(--ty-color-primary-strong, #eff6ff)';
|
|
145
|
+
popover.style.borderColor = 'var(--ty-border-primary, #60a5fa)';
|
|
146
|
+
break;
|
|
147
|
+
case 'secondary':
|
|
148
|
+
popover.style.background = 'var(--ty-bg-secondary, #8b5cf6)';
|
|
149
|
+
popover.style.color = 'var(--ty-color-secondary-strong, #f5f3ff)';
|
|
150
|
+
popover.style.borderColor = 'var(--ty-border-secondary, #a78bfa)';
|
|
151
|
+
break;
|
|
152
|
+
case 'success':
|
|
153
|
+
popover.style.background = 'var(--ty-bg-success-mild, #10b981)';
|
|
154
|
+
popover.style.color = 'var(--ty-color-success-strong, #ecfdf5)';
|
|
155
|
+
popover.style.borderColor = 'var(--ty-border-success, #34d399)';
|
|
156
|
+
break;
|
|
157
|
+
case 'danger':
|
|
158
|
+
popover.style.background = 'var(--ty-bg-danger, #ef4444)';
|
|
159
|
+
popover.style.color = 'var(--ty-color-danger-strong, #fef2f2)';
|
|
160
|
+
popover.style.borderColor = 'var(--ty-border-danger, #f87171)';
|
|
161
|
+
break;
|
|
162
|
+
case 'warning':
|
|
163
|
+
popover.style.background = 'var(--ty-bg-warning, #f59e0b)';
|
|
164
|
+
popover.style.color = 'var(--ty-color-warning-strong, #fffbeb)';
|
|
165
|
+
popover.style.borderColor = 'var(--ty-border-warning, #fbbf24)';
|
|
166
|
+
break;
|
|
167
|
+
case 'info':
|
|
168
|
+
popover.style.background = 'var(--ty-bg-info, #06b6d4)';
|
|
169
|
+
popover.style.color = 'var(--ty-text-strong, #f0f9ff)';
|
|
170
|
+
popover.style.borderColor = 'var(--ty-border-info, #22d3ee)';
|
|
171
|
+
break;
|
|
172
|
+
case 'light':
|
|
173
|
+
popover.style.background = 'var(--ty-surface-elevated, #ffffff)';
|
|
174
|
+
popover.style.color = 'var(--ty-text-strong, #111827)';
|
|
175
|
+
popover.style.borderColor = 'var(--ty-border, #e5e7eb)';
|
|
176
|
+
break;
|
|
177
|
+
case 'neutral':
|
|
178
|
+
popover.style.background = 'var(--ty-bg-neutral, #6b7280)';
|
|
179
|
+
popover.style.color = 'var(--ty-color-neutral-strong, #f9fafb)';
|
|
180
|
+
popover.style.borderColor = 'var(--ty-border-neutral, #9ca3af)';
|
|
181
|
+
break;
|
|
182
|
+
case 'dark':
|
|
183
|
+
default:
|
|
184
|
+
popover.style.background = 'var(--ty-bg-neutral-soft, #4b5563)';
|
|
185
|
+
popover.style.color = 'var(--ty-color-neutral-strong, #f3f4f6)';
|
|
186
|
+
popover.style.borderColor = 'var(--ty-border-strong, #6b7280)';
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Update tooltip position based on current anchor/popover state
|
|
192
|
+
*/
|
|
193
|
+
function updatePosition(el) {
|
|
194
|
+
const { placement, offset } = getTooltipAttributes(el);
|
|
195
|
+
const anchor = getAnchorElement(el);
|
|
196
|
+
const popover = popoverElements.get(el);
|
|
197
|
+
if (!anchor || !popover) {
|
|
198
|
+
console.warn('[ty-tooltip] updatePosition: missing anchor or popover');
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
// Calculate preferences based on placement
|
|
202
|
+
const preferences = placement === 'top' ? placementPreferences.tooltip :
|
|
203
|
+
placement === 'bottom' ? ['bottom', 'top', 'left', 'right'] :
|
|
204
|
+
placement === 'left' ? ['left', 'right', 'top', 'bottom'] :
|
|
205
|
+
placement === 'right' ? ['right', 'left', 'top', 'bottom'] :
|
|
206
|
+
placementPreferences.tooltip;
|
|
207
|
+
// Use positioning engine to find best position
|
|
208
|
+
const position = findBestPosition({
|
|
209
|
+
targetEl: anchor,
|
|
210
|
+
floatingEl: popover,
|
|
211
|
+
preferences,
|
|
212
|
+
offset,
|
|
213
|
+
});
|
|
214
|
+
// Apply position directly to popover
|
|
215
|
+
popover.style.left = `${position.x}px`;
|
|
216
|
+
popover.style.top = `${position.y}px`;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Cleanup auto-update system
|
|
220
|
+
*/
|
|
221
|
+
function cleanupAutoUpdate(el) {
|
|
222
|
+
const cleanup = autoUpdateCleanup.get(el);
|
|
223
|
+
if (cleanup) {
|
|
224
|
+
cleanup();
|
|
225
|
+
autoUpdateCleanup.delete(el);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Setup auto-update system for position tracking
|
|
230
|
+
* Note: This does NOT calculate initial position - call updatePosition() separately
|
|
231
|
+
*/
|
|
232
|
+
function setupAutoUpdate(el) {
|
|
233
|
+
const anchor = getAnchorElement(el);
|
|
234
|
+
const popover = popoverElements.get(el);
|
|
235
|
+
if (!anchor || !popover) {
|
|
236
|
+
console.warn('[ty-tooltip] setupAutoUpdate: missing anchor or popover');
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
// Debounced update function
|
|
240
|
+
let timeoutId = null;
|
|
241
|
+
const debouncedUpdate = () => {
|
|
242
|
+
if (timeoutId !== null) {
|
|
243
|
+
clearTimeout(timeoutId);
|
|
244
|
+
}
|
|
245
|
+
timeoutId = window.setTimeout(() => {
|
|
246
|
+
timeoutId = null;
|
|
247
|
+
updatePosition(el);
|
|
248
|
+
}, 10);
|
|
249
|
+
};
|
|
250
|
+
// Setup ResizeObserver for anchor and popover
|
|
251
|
+
const resizeObserver = new ResizeObserver(debouncedUpdate);
|
|
252
|
+
resizeObserver.observe(anchor);
|
|
253
|
+
resizeObserver.observe(popover);
|
|
254
|
+
// Scroll handler with requestAnimationFrame
|
|
255
|
+
let scrollRafId = null;
|
|
256
|
+
const handleScroll = () => {
|
|
257
|
+
if (scrollRafId === null) {
|
|
258
|
+
scrollRafId = requestAnimationFrame(() => {
|
|
259
|
+
scrollRafId = null;
|
|
260
|
+
updatePosition(el);
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
// Listen for scroll and resize
|
|
265
|
+
window.addEventListener('scroll', handleScroll, true);
|
|
266
|
+
window.addEventListener('resize', debouncedUpdate);
|
|
267
|
+
// Store cleanup function
|
|
268
|
+
const cleanup = () => {
|
|
269
|
+
resizeObserver.disconnect();
|
|
270
|
+
window.removeEventListener('scroll', handleScroll, true);
|
|
271
|
+
window.removeEventListener('resize', debouncedUpdate);
|
|
272
|
+
if (timeoutId !== null) {
|
|
273
|
+
clearTimeout(timeoutId);
|
|
274
|
+
}
|
|
275
|
+
if (scrollRafId !== null) {
|
|
276
|
+
cancelAnimationFrame(scrollRafId);
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
autoUpdateCleanup.set(el, cleanup);
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Clear all timeouts
|
|
283
|
+
*/
|
|
284
|
+
function clearTimeouts(el) {
|
|
285
|
+
const state = getTimeoutState(el);
|
|
286
|
+
if (state.showTimeout !== null) {
|
|
287
|
+
clearTimeout(state.showTimeout);
|
|
288
|
+
state.showTimeout = null;
|
|
289
|
+
}
|
|
290
|
+
if (state.hideTimeout !== null) {
|
|
291
|
+
clearTimeout(state.hideTimeout);
|
|
292
|
+
state.hideTimeout = null;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Show tooltip immediately using Popover API
|
|
297
|
+
*/
|
|
298
|
+
function showTooltip(el) {
|
|
299
|
+
const { disabled } = getTooltipAttributes(el);
|
|
300
|
+
if (disabled)
|
|
301
|
+
return;
|
|
302
|
+
// Create popover if it doesn't exist
|
|
303
|
+
const popover = getOrCreatePopover(el);
|
|
304
|
+
try {
|
|
305
|
+
// Show using Popover API
|
|
306
|
+
popover.showPopover();
|
|
307
|
+
el._open = true;
|
|
308
|
+
// Position and setup observers
|
|
309
|
+
updatePosition(el);
|
|
310
|
+
setupAutoUpdate(el);
|
|
311
|
+
}
|
|
312
|
+
catch (e) {
|
|
313
|
+
console.warn('[ty-tooltip] Failed to show popover', e);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Hide tooltip immediately using Popover API
|
|
318
|
+
*/
|
|
319
|
+
function hideTooltip(el) {
|
|
320
|
+
const popover = popoverElements.get(el);
|
|
321
|
+
if (!popover)
|
|
322
|
+
return;
|
|
323
|
+
try {
|
|
324
|
+
popover.hidePopover();
|
|
325
|
+
el._open = false;
|
|
326
|
+
cleanupAutoUpdate(el);
|
|
327
|
+
}
|
|
328
|
+
catch (e) {
|
|
329
|
+
// Already hidden, ignore
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Schedule tooltip to show after delay
|
|
334
|
+
*/
|
|
335
|
+
function scheduleShow(el) {
|
|
336
|
+
const state = getTimeoutState(el);
|
|
337
|
+
const { delay } = getTooltipAttributes(el);
|
|
338
|
+
clearTimeouts(el);
|
|
339
|
+
state.showTimeout = window.setTimeout(() => showTooltip(el), delay);
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Schedule tooltip to hide after delay
|
|
343
|
+
*/
|
|
344
|
+
function scheduleHide(el) {
|
|
345
|
+
const state = getTimeoutState(el);
|
|
346
|
+
clearTimeouts(el);
|
|
347
|
+
state.hideTimeout = window.setTimeout(() => hideTooltip(el), 200);
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Setup event listeners on anchor element
|
|
351
|
+
*/
|
|
352
|
+
function setupEvents(el) {
|
|
353
|
+
const anchor = getAnchorElement(el);
|
|
354
|
+
if (!anchor)
|
|
355
|
+
return;
|
|
356
|
+
const handleEnter = () => scheduleShow(el);
|
|
357
|
+
const handleLeave = () => scheduleHide(el);
|
|
358
|
+
const handleFocus = () => scheduleShow(el);
|
|
359
|
+
const handleBlur = () => scheduleHide(el);
|
|
360
|
+
// Add event listeners
|
|
361
|
+
anchor.addEventListener('mouseenter', handleEnter);
|
|
362
|
+
anchor.addEventListener('mouseleave', handleLeave);
|
|
363
|
+
anchor.addEventListener('focusin', handleFocus);
|
|
364
|
+
anchor.addEventListener('focusout', handleBlur);
|
|
365
|
+
// Store cleanup function
|
|
366
|
+
eventCleanup.set(el, () => {
|
|
367
|
+
anchor.removeEventListener('mouseenter', handleEnter);
|
|
368
|
+
anchor.removeEventListener('mouseleave', handleLeave);
|
|
369
|
+
anchor.removeEventListener('focusin', handleFocus);
|
|
370
|
+
anchor.removeEventListener('focusout', handleBlur);
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Cleanup all resources including popover element
|
|
375
|
+
*/
|
|
376
|
+
function cleanup(el) {
|
|
377
|
+
clearTimeouts(el);
|
|
378
|
+
cleanupAutoUpdate(el);
|
|
379
|
+
const cleanup = eventCleanup.get(el);
|
|
380
|
+
if (cleanup) {
|
|
381
|
+
cleanup();
|
|
382
|
+
eventCleanup.delete(el);
|
|
383
|
+
}
|
|
384
|
+
// Remove popover from body
|
|
385
|
+
const popover = popoverElements.get(el);
|
|
386
|
+
if (popover) {
|
|
387
|
+
popover.remove();
|
|
388
|
+
popoverElements.delete(el);
|
|
389
|
+
}
|
|
390
|
+
timeoutState.delete(el);
|
|
391
|
+
}
|
|
392
|
+
// ============================================================================
|
|
393
|
+
// Component Definition
|
|
394
|
+
// ============================================================================
|
|
395
|
+
/**
|
|
396
|
+
* TyTooltip Web Component
|
|
397
|
+
*/
|
|
398
|
+
export class TyTooltip extends HTMLElement {
|
|
399
|
+
/** Observed attributes */
|
|
400
|
+
static get observedAttributes() {
|
|
401
|
+
return ['placement', 'offset', 'delay', 'disabled', 'flavor'];
|
|
402
|
+
}
|
|
403
|
+
constructor() {
|
|
404
|
+
super();
|
|
405
|
+
/** Internal open state */
|
|
406
|
+
this._open = false;
|
|
407
|
+
this.attachShadow({ mode: 'open' });
|
|
408
|
+
}
|
|
409
|
+
connectedCallback() {
|
|
410
|
+
// Initialize open state
|
|
411
|
+
this._open = false;
|
|
412
|
+
// Inject styles (for :host display: contents)
|
|
413
|
+
ensureStyles(this.shadowRoot, tooltipStyles);
|
|
414
|
+
// Setup events on anchor
|
|
415
|
+
setupEvents(this);
|
|
416
|
+
}
|
|
417
|
+
disconnectedCallback() {
|
|
418
|
+
cleanup(this);
|
|
419
|
+
}
|
|
420
|
+
attributeChangedCallback(name, _oldValue, newValue) {
|
|
421
|
+
// Update flavor in real-time if tooltip is visible
|
|
422
|
+
if (name === 'flavor' && this._open) {
|
|
423
|
+
const popover = popoverElements.get(this);
|
|
424
|
+
if (popover) {
|
|
425
|
+
const flavor = validateFlavor(newValue);
|
|
426
|
+
applyFlavorStyles(popover, flavor);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
// Close tooltip if disabled
|
|
430
|
+
if (name === 'disabled' && newValue !== null) {
|
|
431
|
+
hideTooltip(this);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
// Register the custom element
|
|
436
|
+
if (!customElements.get('ty-tooltip')) {
|
|
437
|
+
customElements.define('ty-tooltip', TyTooltip);
|
|
438
|
+
}
|
|
439
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/components/tooltip.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wizard Component
|
|
3
|
+
*
|
|
4
|
+
* A carousel-based wizard/stepper component with smooth animations, progress tracking, and completion state.
|
|
5
|
+
* Features horizontal sliding transitions between steps, animated progress line, and step completion tracking.
|
|
6
|
+
* Behaves like tabs - a "dumb" component that only renders and fires events. All navigation and validation
|
|
7
|
+
* is controlled by the user.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Carousel animation with smooth sliding transitions between steps
|
|
11
|
+
* - Fixed dimensions prevent layout shift between steps
|
|
12
|
+
* - Animated progress line showing completion status
|
|
13
|
+
* - Step indicators with completed/active/pending states
|
|
14
|
+
* - Rich indicator support via slots (icons, custom content)
|
|
15
|
+
* - Independent panel scrolling with scroll position reset
|
|
16
|
+
* - ResizeObserver for responsive percentage widths
|
|
17
|
+
* - Smart rendering - only updates DOM when necessary
|
|
18
|
+
* - Accessibility with ARIA roles and attributes
|
|
19
|
+
* - Fires events on step clicks - user controls navigation
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <!-- Basic wizard with text labels -->
|
|
23
|
+
* <ty-wizard width="900px" height="600px" active="welcome">
|
|
24
|
+
* <ty-step id="welcome" label="Welcome">
|
|
25
|
+
* <div class="p-6">
|
|
26
|
+
* <h1>Welcome!</h1>
|
|
27
|
+
* <button onclick="goToStep('account')">Next</button>
|
|
28
|
+
* </div>
|
|
29
|
+
* </ty-step>
|
|
30
|
+
* <ty-step id="account" label="Account Setup">
|
|
31
|
+
* <div class="p-6">
|
|
32
|
+
* <h2>Account Setup</h2>
|
|
33
|
+
* <button onclick="goToStep('welcome')">Previous</button>
|
|
34
|
+
* <button onclick="goToStep('complete')">Next</button>
|
|
35
|
+
* </div>
|
|
36
|
+
* </ty-step>
|
|
37
|
+
* </ty-wizard>
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* <!-- Wizard with custom indicators -->
|
|
41
|
+
* <ty-wizard width="100%" height="700px" active="welcome" completed="welcome,account">
|
|
42
|
+
* <!-- Custom indicator icons -->
|
|
43
|
+
* <div slot="indicator-welcome">
|
|
44
|
+
* <ty-icon name="hand" size="sm"></ty-icon>
|
|
45
|
+
* </div>
|
|
46
|
+
* <div slot="indicator-account">
|
|
47
|
+
* <span class="text-lg font-bold">1</span>
|
|
48
|
+
* </div>
|
|
49
|
+
*
|
|
50
|
+
* <ty-step id="welcome" label="Welcome">...</ty-step>
|
|
51
|
+
* <ty-step id="account" label="Account">...</ty-step>
|
|
52
|
+
* <ty-step id="profile" label="Profile">...</ty-step>
|
|
53
|
+
* </ty-wizard>
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* Wizard container attributes configuration
|
|
57
|
+
*/
|
|
58
|
+
export interface WizardAttributes {
|
|
59
|
+
width: string;
|
|
60
|
+
height: string;
|
|
61
|
+
active: string | null;
|
|
62
|
+
completed: string;
|
|
63
|
+
orientation: 'horizontal' | 'vertical';
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Wizard step change event detail
|
|
67
|
+
*/
|
|
68
|
+
export interface WizardStepChangeDetail {
|
|
69
|
+
activeId: string;
|
|
70
|
+
activeIndex: number;
|
|
71
|
+
previousId: string | null;
|
|
72
|
+
previousIndex: number | null;
|
|
73
|
+
direction: 'forward' | 'backward' | 'none';
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* TyWizard Web Component
|
|
77
|
+
*/
|
|
78
|
+
export declare class TyWizard extends HTMLElement {
|
|
79
|
+
/** Observed attributes */
|
|
80
|
+
static get observedAttributes(): string[];
|
|
81
|
+
constructor();
|
|
82
|
+
connectedCallback(): void;
|
|
83
|
+
disconnectedCallback(): void;
|
|
84
|
+
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=wizard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/components/wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AASH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;CAC5C;AAuoBD;;GAEG;AACH,qBAAa,QAAS,SAAQ,WAAW;IACvC,0BAA0B;IAC1B,MAAM,KAAK,kBAAkB,aAE5B;;IAOD,iBAAiB;IAIjB,oBAAoB;IAIpB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CAiBxF"}
|