tyrell-components 1.0.0-RC6
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 +1552 -0
- package/lib/components/dropdown.js.map +1 -0
- package/lib/components/icon.d.ts +118 -0
- package/lib/components/icon.d.ts.map +1 -0
- package/lib/components/icon.js +245 -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 +316 -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 +275 -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 +143 -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 +435 -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 +241 -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 +420 -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 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/components/dropdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TyIcon Web Component
|
|
3
|
+
* PORTED FROM: clj/ty/components/icon.cljs
|
|
4
|
+
* SVG icon component with size variants and animations
|
|
5
|
+
*/
|
|
6
|
+
import type { IconSize, IconTempo, TyIconElement } from '../types/common.js';
|
|
7
|
+
import { TyComponent } from '../base/ty-component.js';
|
|
8
|
+
import type { PropertyChange } from '../utils/property-manager.js';
|
|
9
|
+
import * as IconRegistry from '../utils/icon-registry.js';
|
|
10
|
+
/**
|
|
11
|
+
* Component internal state (for typing TyComponent)
|
|
12
|
+
*/
|
|
13
|
+
interface IconState {
|
|
14
|
+
name: string;
|
|
15
|
+
size: string;
|
|
16
|
+
spin: boolean;
|
|
17
|
+
pulse: boolean;
|
|
18
|
+
tempo: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Ty Icon Component
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```html
|
|
25
|
+
* <ty-icon name="check"></ty-icon>
|
|
26
|
+
* <ty-icon name="spinner" spin></ty-icon>
|
|
27
|
+
* <ty-icon name="heart" size="xl"></ty-icon>
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare class TyIcon extends TyComponent<IconState> implements TyIconElement {
|
|
31
|
+
static formAssociated: boolean;
|
|
32
|
+
protected static properties: {
|
|
33
|
+
name: {
|
|
34
|
+
type: "string";
|
|
35
|
+
visual: boolean;
|
|
36
|
+
default: string;
|
|
37
|
+
};
|
|
38
|
+
size: {
|
|
39
|
+
type: "string";
|
|
40
|
+
visual: boolean;
|
|
41
|
+
default: string;
|
|
42
|
+
};
|
|
43
|
+
spin: {
|
|
44
|
+
type: "boolean";
|
|
45
|
+
visual: boolean;
|
|
46
|
+
default: boolean;
|
|
47
|
+
};
|
|
48
|
+
pulse: {
|
|
49
|
+
type: "boolean";
|
|
50
|
+
visual: boolean;
|
|
51
|
+
default: boolean;
|
|
52
|
+
};
|
|
53
|
+
tempo: {
|
|
54
|
+
type: "string";
|
|
55
|
+
visual: boolean;
|
|
56
|
+
default: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
private _watchId;
|
|
60
|
+
/** Track currently rendered SVG to avoid unnecessary re-renders */
|
|
61
|
+
private _currentSvg;
|
|
62
|
+
/**
|
|
63
|
+
* Single shadow-DOM <slot> that holds either:
|
|
64
|
+
* - light-DOM children supplied by the user (server-side path: pasted SVG), or
|
|
65
|
+
* - fallback content driven by the registry (`name=`) or NOT_FOUND_ICON.
|
|
66
|
+
*
|
|
67
|
+
* Browser slot semantics handle precedence: when the host has assigned nodes,
|
|
68
|
+
* the slot's fallback content is hidden automatically — no detection logic needed.
|
|
69
|
+
*/
|
|
70
|
+
private _slot;
|
|
71
|
+
constructor();
|
|
72
|
+
/**
|
|
73
|
+
* Called when component connects to DOM
|
|
74
|
+
*/
|
|
75
|
+
protected onConnect(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Called when component disconnects from DOM
|
|
78
|
+
*/
|
|
79
|
+
protected onDisconnect(): void;
|
|
80
|
+
/**
|
|
81
|
+
* Handle property changes - called BEFORE render
|
|
82
|
+
* Detects name changes to update icon registry watcher
|
|
83
|
+
*/
|
|
84
|
+
protected onPropertiesChanged(changes: PropertyChange[]): void;
|
|
85
|
+
get name(): string;
|
|
86
|
+
set name(value: string);
|
|
87
|
+
get size(): IconSize | undefined;
|
|
88
|
+
set size(value: IconSize | undefined);
|
|
89
|
+
get spin(): boolean;
|
|
90
|
+
set spin(value: boolean);
|
|
91
|
+
get pulse(): boolean;
|
|
92
|
+
set pulse(value: boolean);
|
|
93
|
+
get tempo(): IconTempo | undefined;
|
|
94
|
+
set tempo(value: IconTempo | undefined);
|
|
95
|
+
/** Build CSS classes for the host element */
|
|
96
|
+
private buildClasses;
|
|
97
|
+
/** Update host element classes */
|
|
98
|
+
private updateClasses;
|
|
99
|
+
/**
|
|
100
|
+
* Render the icon SVG
|
|
101
|
+
* Smart rendering strategy:
|
|
102
|
+
* 1. Check memory registry (instant)
|
|
103
|
+
* 2. If found in memory -> render immediately
|
|
104
|
+
* 3. If not in memory -> show NOT_FOUND_ICON immediately (prevents empty state)
|
|
105
|
+
* 4. Then check cache asynchronously and replace if found
|
|
106
|
+
* 5. Only re-render if SVG actually changed
|
|
107
|
+
*/
|
|
108
|
+
protected render(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Update the slot's fallback content.
|
|
111
|
+
* If the user has slotted light-DOM children (e.g., raw <svg>), the browser
|
|
112
|
+
* shows those instead and the fallback stays hidden — but we still keep it
|
|
113
|
+
* up to date so removing the children reveals the right registry/fallback SVG.
|
|
114
|
+
*/
|
|
115
|
+
private renderSvg;
|
|
116
|
+
}
|
|
117
|
+
export { IconRegistry };
|
|
118
|
+
//# sourceMappingURL=icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../src/components/icon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAGlE,OAAO,KAAK,YAAY,MAAM,2BAA2B,CAAA;AAYzD;;GAEG;AACH,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;GASG;AACH,qBAAa,MAAO,SAAQ,WAAW,CAAC,SAAS,CAAE,YAAW,aAAa;IACzE,MAAM,CAAC,cAAc,UAAQ;IAK7B,SAAS,CAAC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;MAM1B;IAMD,OAAO,CAAC,QAAQ,CAAsB;IAEtC,mEAAmE;IACnE,OAAO,CAAC,WAAW,CAAa;IAEhC;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK,CAA+B;;IAqB5C;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAoB3B;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAQ9B;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI;IA6B9D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,IAAI,IAAI,IAAI,QAAQ,GAAG,SAAS,CAG/B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAEnC;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAEtB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IAED,IAAI,KAAK,IAAI,SAAS,GAAG,SAAS,CAGjC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAErC;IAMD,6CAA6C;IAC7C,OAAO,CAAC,YAAY;IAoCpB,kCAAkC;IAClC,OAAO,CAAC,aAAa;IAOrB;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,IAAI,IAAI;IAkBxB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;CAWlB;AAQD,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TyIcon Web Component
|
|
3
|
+
* PORTED FROM: clj/ty/components/icon.cljs
|
|
4
|
+
* SVG icon component with size variants and animations
|
|
5
|
+
*/
|
|
6
|
+
import { TyComponent } from '../base/ty-component.js';
|
|
7
|
+
import { ensureStyles } from '../utils/styles.js';
|
|
8
|
+
import { iconStyles } from '../styles/icon.js';
|
|
9
|
+
import * as IconRegistry from '../utils/icon-registry.js';
|
|
10
|
+
let _iconIdCounter = 0;
|
|
11
|
+
/** Fallback SVG for missing icons - More visible to prevent layout shift */
|
|
12
|
+
const NOT_FOUND_ICON = `<svg xmlns="http://www.w3.org/2000/svg"
|
|
13
|
+
viewBox="0 0 512 512"
|
|
14
|
+
fill="currentColor"
|
|
15
|
+
opacity="0.2">
|
|
16
|
+
<path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z"/>
|
|
17
|
+
</svg>`;
|
|
18
|
+
/**
|
|
19
|
+
* Ty Icon Component
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```html
|
|
23
|
+
* <ty-icon name="check"></ty-icon>
|
|
24
|
+
* <ty-icon name="spinner" spin></ty-icon>
|
|
25
|
+
* <ty-icon name="heart" size="xl"></ty-icon>
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export class TyIcon extends TyComponent {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(); // TyComponent handles attachInternals() and attachShadow()
|
|
31
|
+
// ============================================================================
|
|
32
|
+
// INTERNAL STATE - Not managed by PropertyManager
|
|
33
|
+
// ============================================================================
|
|
34
|
+
this._watchId = null;
|
|
35
|
+
/** Track currently rendered SVG to avoid unnecessary re-renders */
|
|
36
|
+
this._currentSvg = '';
|
|
37
|
+
/**
|
|
38
|
+
* Single shadow-DOM <slot> that holds either:
|
|
39
|
+
* - light-DOM children supplied by the user (server-side path: pasted SVG), or
|
|
40
|
+
* - fallback content driven by the registry (`name=`) or NOT_FOUND_ICON.
|
|
41
|
+
*
|
|
42
|
+
* Browser slot semantics handle precedence: when the host has assigned nodes,
|
|
43
|
+
* the slot's fallback content is hidden automatically — no detection logic needed.
|
|
44
|
+
*/
|
|
45
|
+
this._slot = null;
|
|
46
|
+
// Apply styles to shadow root
|
|
47
|
+
ensureStyles(this.shadowRoot, { css: iconStyles, id: 'ty-icon' });
|
|
48
|
+
// Build the slot once. Fallback content shows when no light-DOM children are slotted.
|
|
49
|
+
this._slot = document.createElement('slot');
|
|
50
|
+
this._slot.innerHTML = NOT_FOUND_ICON;
|
|
51
|
+
this._currentSvg = NOT_FOUND_ICON;
|
|
52
|
+
this.shadowRoot.appendChild(this._slot);
|
|
53
|
+
}
|
|
54
|
+
// observedAttributes auto-generated by TyComponent from properties config
|
|
55
|
+
// ============================================================================
|
|
56
|
+
// TYCOMPONENT LIFECYCLE HOOKS
|
|
57
|
+
// ============================================================================
|
|
58
|
+
/**
|
|
59
|
+
* Called when component connects to DOM
|
|
60
|
+
*/
|
|
61
|
+
onConnect() {
|
|
62
|
+
// Generate unique watch ID
|
|
63
|
+
this._watchId = `ty-icon-${++_iconIdCounter}`;
|
|
64
|
+
// Watch for registry changes that affect this icon
|
|
65
|
+
if (this.name) {
|
|
66
|
+
IconRegistry.addWatcher(this._watchId, this.name, (changedIcons) => {
|
|
67
|
+
// Re-render if our icon changed
|
|
68
|
+
if (this.name && changedIcons.has(this.name)) {
|
|
69
|
+
this.render();
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
// Update host element classes
|
|
74
|
+
this.updateClasses();
|
|
75
|
+
// TyComponent will call render() automatically after this hook
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Called when component disconnects from DOM
|
|
79
|
+
*/
|
|
80
|
+
onDisconnect() {
|
|
81
|
+
// Clean up watcher
|
|
82
|
+
if (this._watchId) {
|
|
83
|
+
IconRegistry.removeWatcher(this._watchId);
|
|
84
|
+
this._watchId = null;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Handle property changes - called BEFORE render
|
|
89
|
+
* Detects name changes to update icon registry watcher
|
|
90
|
+
*/
|
|
91
|
+
onPropertiesChanged(changes) {
|
|
92
|
+
for (const change of changes) {
|
|
93
|
+
if (change.name === 'name') {
|
|
94
|
+
// Remove old watcher
|
|
95
|
+
if (this._watchId) {
|
|
96
|
+
IconRegistry.removeWatcher(this._watchId);
|
|
97
|
+
}
|
|
98
|
+
// Re-add watcher for new name
|
|
99
|
+
const newName = change.newValue || '';
|
|
100
|
+
if (newName && this.isConnected) {
|
|
101
|
+
this._watchId = `ty-icon-${++_iconIdCounter}`;
|
|
102
|
+
IconRegistry.addWatcher(this._watchId, newName, (changedIcons) => {
|
|
103
|
+
if (this.name && changedIcons.has(this.name)) {
|
|
104
|
+
this.render();
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// Update host element classes for any visual change
|
|
111
|
+
this.updateClasses();
|
|
112
|
+
}
|
|
113
|
+
// ============================================================================
|
|
114
|
+
// PROPERTY ACCESSORS - Simple wrappers (no logic!)
|
|
115
|
+
// ============================================================================
|
|
116
|
+
get name() {
|
|
117
|
+
return this.getProperty('name');
|
|
118
|
+
}
|
|
119
|
+
set name(value) {
|
|
120
|
+
this.setProperty('name', value);
|
|
121
|
+
}
|
|
122
|
+
get size() {
|
|
123
|
+
const val = this.getProperty('size');
|
|
124
|
+
return val || undefined;
|
|
125
|
+
}
|
|
126
|
+
set size(value) {
|
|
127
|
+
this.setProperty('size', value || '');
|
|
128
|
+
}
|
|
129
|
+
get spin() {
|
|
130
|
+
return this.getProperty('spin');
|
|
131
|
+
}
|
|
132
|
+
set spin(value) {
|
|
133
|
+
this.setProperty('spin', value);
|
|
134
|
+
}
|
|
135
|
+
get pulse() {
|
|
136
|
+
return this.getProperty('pulse');
|
|
137
|
+
}
|
|
138
|
+
set pulse(value) {
|
|
139
|
+
this.setProperty('pulse', value);
|
|
140
|
+
}
|
|
141
|
+
get tempo() {
|
|
142
|
+
const val = this.getProperty('tempo');
|
|
143
|
+
return val || undefined;
|
|
144
|
+
}
|
|
145
|
+
set tempo(value) {
|
|
146
|
+
this.setProperty('tempo', value || '');
|
|
147
|
+
}
|
|
148
|
+
// ============================================================================
|
|
149
|
+
// RENDERING
|
|
150
|
+
// ============================================================================
|
|
151
|
+
/** Build CSS classes for the host element */
|
|
152
|
+
buildClasses() {
|
|
153
|
+
const classes = [];
|
|
154
|
+
// Size class
|
|
155
|
+
const size = this.getProperty('size');
|
|
156
|
+
if (size) {
|
|
157
|
+
classes.push(`icon-${size}`);
|
|
158
|
+
}
|
|
159
|
+
// Animation classes
|
|
160
|
+
if (this.getProperty('spin')) {
|
|
161
|
+
classes.push('icon-spin');
|
|
162
|
+
}
|
|
163
|
+
if (this.getProperty('pulse')) {
|
|
164
|
+
classes.push('icon-pulse');
|
|
165
|
+
}
|
|
166
|
+
// Tempo class
|
|
167
|
+
const tempo = this.getProperty('tempo');
|
|
168
|
+
if (tempo && (this.getProperty('spin') || this.getProperty('pulse'))) {
|
|
169
|
+
classes.push(`icon-tempo-${tempo}`);
|
|
170
|
+
}
|
|
171
|
+
// Preserve user-added classes that don't conflict
|
|
172
|
+
const currentClasses = this.className.split(/\s+/).filter(cls => {
|
|
173
|
+
// Filter out component-managed classes
|
|
174
|
+
return cls &&
|
|
175
|
+
!cls.startsWith('icon-') &&
|
|
176
|
+
cls !== 'icon-spin' &&
|
|
177
|
+
cls !== 'icon-pulse';
|
|
178
|
+
});
|
|
179
|
+
return [...classes, ...currentClasses];
|
|
180
|
+
}
|
|
181
|
+
/** Update host element classes */
|
|
182
|
+
updateClasses() {
|
|
183
|
+
const newClasses = this.buildClasses().join(' ');
|
|
184
|
+
if (this.className !== newClasses) {
|
|
185
|
+
this.className = newClasses;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Render the icon SVG
|
|
190
|
+
* Smart rendering strategy:
|
|
191
|
+
* 1. Check memory registry (instant)
|
|
192
|
+
* 2. If found in memory -> render immediately
|
|
193
|
+
* 3. If not in memory -> show NOT_FOUND_ICON immediately (prevents empty state)
|
|
194
|
+
* 4. Then check cache asynchronously and replace if found
|
|
195
|
+
* 5. Only re-render if SVG actually changed
|
|
196
|
+
*/
|
|
197
|
+
render() {
|
|
198
|
+
const name = this.getProperty('name');
|
|
199
|
+
if (!name) {
|
|
200
|
+
this.renderSvg(NOT_FOUND_ICON);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
// Fast path: Check memory registry first
|
|
204
|
+
const memorySvg = IconRegistry.getIcon(name);
|
|
205
|
+
if (memorySvg) {
|
|
206
|
+
this.renderSvg(memorySvg);
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
this.renderSvg(NOT_FOUND_ICON);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Update the slot's fallback content.
|
|
213
|
+
* If the user has slotted light-DOM children (e.g., raw <svg>), the browser
|
|
214
|
+
* shows those instead and the fallback stays hidden — but we still keep it
|
|
215
|
+
* up to date so removing the children reveals the right registry/fallback SVG.
|
|
216
|
+
*/
|
|
217
|
+
renderSvg(svg) {
|
|
218
|
+
// Only render if content actually changed
|
|
219
|
+
if (this._currentSvg === svg) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
if (this._slot) {
|
|
223
|
+
this._slot.innerHTML = svg;
|
|
224
|
+
this._currentSvg = svg;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
TyIcon.formAssociated = false;
|
|
229
|
+
// ============================================================================
|
|
230
|
+
// PROPERTY CONFIGURATION - Declarative property lifecycle
|
|
231
|
+
// ============================================================================
|
|
232
|
+
TyIcon.properties = {
|
|
233
|
+
name: { type: 'string', visual: true, default: '' },
|
|
234
|
+
size: { type: 'string', visual: true, default: '' },
|
|
235
|
+
spin: { type: 'boolean', visual: true, default: false },
|
|
236
|
+
pulse: { type: 'boolean', visual: true, default: false },
|
|
237
|
+
tempo: { type: 'string', visual: true, default: '' },
|
|
238
|
+
};
|
|
239
|
+
// Register the custom element
|
|
240
|
+
if (!customElements.get('ty-icon')) {
|
|
241
|
+
customElements.define('ty-icon', TyIcon);
|
|
242
|
+
}
|
|
243
|
+
// Export for use in other modules
|
|
244
|
+
export { IconRegistry };
|
|
245
|
+
//# sourceMappingURL=icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../src/components/icon.ts"],"names":[],"mappings":"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"}
|