@threelight/ui 0.2.0-alpha.0 → 0.3.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export declare const threelightUiPackage: {
2
2
  readonly name: "@threelight/ui";
3
- readonly purpose: "framework-neutral governed HTML/CSS UI primitives";
3
+ readonly purpose: "Short-class CSS, role tokens, and metadata for service UI systems.";
4
+ readonly contract: "alpha-reset";
4
5
  };
5
6
  export declare const themeFamilies: readonly ["default"];
6
7
  export type ThemeFamily = (typeof themeFamilies)[number];
@@ -8,26 +9,250 @@ export declare const themeModes: readonly ["light", "dark"];
8
9
  export type ThemeMode = (typeof themeModes)[number];
9
10
  export declare const toneNames: readonly ["neutral", "primary", "info", "success", "warning", "danger"];
10
11
  export type ToneName = (typeof toneNames)[number];
12
+ export declare const stateNames: readonly ["loading", "empty", "error", "success"];
13
+ export type StateName = (typeof stateNames)[number];
14
+ export declare const sizeNames: readonly ["sm", "md", "lg"];
15
+ export type SizeName = (typeof sizeNames)[number];
16
+ export declare const densityNames: readonly ["comfortable", "compact"];
17
+ export type DensityName = (typeof densityNames)[number];
18
+ export declare const variantNames: readonly ["solid", "soft", "outline", "ghost", "plain"];
19
+ export type VariantName = (typeof variantNames)[number];
20
+ export declare const stageNames: readonly ["core", "candidate"];
21
+ export type StageName = (typeof stageNames)[number];
22
+ export declare const categoryNames: readonly ["action", "data-display", "feedback", "form", "layout", "navigation", "pattern", "surface", "typography", "utility"];
23
+ export type CategoryName = (typeof categoryNames)[number];
24
+ export type ComponentContract = {
25
+ readonly name: string;
26
+ readonly className: string;
27
+ readonly stage: StageName;
28
+ readonly category: CategoryName;
29
+ readonly parts?: readonly string[];
30
+ };
31
+ export declare const componentContracts: readonly [{
32
+ readonly name: "app-shell";
33
+ readonly className: "tl-app-shell";
34
+ readonly stage: "candidate";
35
+ readonly category: "layout";
36
+ readonly parts: readonly ["sidebar", "topbar", "main", "content"];
37
+ }, {
38
+ readonly name: "side-nav";
39
+ readonly className: "tl-side-nav";
40
+ readonly stage: "candidate";
41
+ readonly category: "navigation";
42
+ readonly parts: readonly ["group", "label", "item", "badge"];
43
+ }, {
44
+ readonly name: "top-bar";
45
+ readonly className: "tl-top-bar";
46
+ readonly stage: "candidate";
47
+ readonly category: "navigation";
48
+ readonly parts: readonly ["title", "actions"];
49
+ }, {
50
+ readonly name: "stack";
51
+ readonly className: "tl-stack";
52
+ readonly stage: "core";
53
+ readonly category: "layout";
54
+ }, {
55
+ readonly name: "cluster";
56
+ readonly className: "tl-cluster";
57
+ readonly stage: "core";
58
+ readonly category: "layout";
59
+ }, {
60
+ readonly name: "grid";
61
+ readonly className: "tl-grid";
62
+ readonly stage: "core";
63
+ readonly category: "layout";
64
+ }, {
65
+ readonly name: "toolbar";
66
+ readonly className: "tl-toolbar";
67
+ readonly stage: "candidate";
68
+ readonly category: "layout";
69
+ readonly parts: readonly ["group", "actions"];
70
+ }, {
71
+ readonly name: "heading";
72
+ readonly className: "tl-heading";
73
+ readonly stage: "core";
74
+ readonly category: "typography";
75
+ }, {
76
+ readonly name: "text";
77
+ readonly className: "tl-text";
78
+ readonly stage: "core";
79
+ readonly category: "typography";
80
+ }, {
81
+ readonly name: "caption";
82
+ readonly className: "tl-caption";
83
+ readonly stage: "core";
84
+ readonly category: "typography";
85
+ }, {
86
+ readonly name: "mono";
87
+ readonly className: "tl-mono";
88
+ readonly stage: "core";
89
+ readonly category: "typography";
90
+ }, {
91
+ readonly name: "button";
92
+ readonly className: "tl-button";
93
+ readonly stage: "core";
94
+ readonly category: "action";
95
+ readonly parts: readonly ["icon", "label"];
96
+ }, {
97
+ readonly name: "icon-button";
98
+ readonly className: "tl-icon-button";
99
+ readonly stage: "core";
100
+ readonly category: "action";
101
+ readonly parts: readonly ["icon"];
102
+ }, {
103
+ readonly name: "badge";
104
+ readonly className: "tl-badge";
105
+ readonly stage: "core";
106
+ readonly category: "feedback";
107
+ }, {
108
+ readonly name: "alert";
109
+ readonly className: "tl-alert";
110
+ readonly stage: "core";
111
+ readonly category: "feedback";
112
+ readonly parts: readonly ["icon", "content", "title", "description", "actions"];
113
+ }, {
114
+ readonly name: "toast";
115
+ readonly className: "tl-toast";
116
+ readonly stage: "candidate";
117
+ readonly category: "feedback";
118
+ readonly parts: readonly ["icon", "content", "title", "description", "actions", "close"];
119
+ }, {
120
+ readonly name: "toast-region";
121
+ readonly className: "tl-toast-region";
122
+ readonly stage: "candidate";
123
+ readonly category: "feedback";
124
+ }, {
125
+ readonly name: "empty-state";
126
+ readonly className: "tl-empty-state";
127
+ readonly stage: "candidate";
128
+ readonly category: "feedback";
129
+ readonly parts: readonly ["content", "actions"];
130
+ }, {
131
+ readonly name: "card";
132
+ readonly className: "tl-card";
133
+ readonly stage: "core";
134
+ readonly category: "surface";
135
+ readonly parts: readonly ["header", "title", "description", "body", "footer"];
136
+ }, {
137
+ readonly name: "panel";
138
+ readonly className: "tl-panel";
139
+ readonly stage: "core";
140
+ readonly category: "surface";
141
+ readonly parts: readonly ["header", "title", "description", "body", "footer"];
142
+ }, {
143
+ readonly name: "data-panel";
144
+ readonly className: "tl-data-panel";
145
+ readonly stage: "candidate";
146
+ readonly category: "surface";
147
+ readonly parts: readonly ["header", "body", "footer"];
148
+ }, {
149
+ readonly name: "field";
150
+ readonly className: "tl-field";
151
+ readonly stage: "core";
152
+ readonly category: "form";
153
+ readonly parts: readonly ["label", "control", "help", "error"];
154
+ }, {
155
+ readonly name: "input";
156
+ readonly className: "tl-input";
157
+ readonly stage: "core";
158
+ readonly category: "form";
159
+ }, {
160
+ readonly name: "select";
161
+ readonly className: "tl-select";
162
+ readonly stage: "core";
163
+ readonly category: "form";
164
+ }, {
165
+ readonly name: "switch";
166
+ readonly className: "tl-switch";
167
+ readonly stage: "core";
168
+ readonly category: "form";
169
+ readonly parts: readonly ["track", "thumb", "label"];
170
+ }, {
171
+ readonly name: "tabs";
172
+ readonly className: "tl-tabs";
173
+ readonly stage: "core";
174
+ readonly category: "navigation";
175
+ readonly parts: readonly ["list", "tab", "panel"];
176
+ }, {
177
+ readonly name: "table";
178
+ readonly className: "tl-table";
179
+ readonly stage: "core";
180
+ readonly category: "data-display";
181
+ readonly parts: readonly ["head", "body", "row", "cell"];
182
+ }, {
183
+ readonly name: "code-block";
184
+ readonly className: "tl-code-block";
185
+ readonly stage: "core";
186
+ readonly category: "data-display";
187
+ readonly parts: readonly ["content", "copy"];
188
+ }, {
189
+ readonly name: "filter-bar";
190
+ readonly className: "tl-filter-bar";
191
+ readonly stage: "candidate";
192
+ readonly category: "pattern";
193
+ readonly parts: readonly ["group", "actions"];
194
+ }, {
195
+ readonly name: "metric-card";
196
+ readonly className: "tl-metric-card";
197
+ readonly stage: "candidate";
198
+ readonly category: "data-display";
199
+ readonly parts: readonly ["label", "value", "delta"];
200
+ }, {
201
+ readonly name: "metric-group";
202
+ readonly className: "tl-metric-group";
203
+ readonly stage: "candidate";
204
+ readonly category: "data-display";
205
+ }, {
206
+ readonly name: "settings-section";
207
+ readonly className: "tl-settings-section";
208
+ readonly stage: "candidate";
209
+ readonly category: "pattern";
210
+ readonly parts: readonly ["summary", "content", "actions"];
211
+ }, {
212
+ readonly name: "stepper";
213
+ readonly className: "tl-stepper";
214
+ readonly stage: "candidate";
215
+ readonly category: "pattern";
216
+ readonly parts: readonly ["item", "marker", "label"];
217
+ }, {
218
+ readonly name: "choice-card";
219
+ readonly className: "tl-choice-card";
220
+ readonly stage: "candidate";
221
+ readonly category: "pattern";
222
+ readonly parts: readonly ["media", "title", "description"];
223
+ }, {
224
+ readonly name: "docs-shell";
225
+ readonly className: "tl-docs-shell";
226
+ readonly stage: "candidate";
227
+ readonly category: "layout";
228
+ readonly parts: readonly ["sidebar", "content", "toc"];
229
+ }, {
230
+ readonly name: "sr-only";
231
+ readonly className: "tl-sr-only";
232
+ readonly stage: "core";
233
+ readonly category: "utility";
234
+ }, {
235
+ readonly name: "truncate";
236
+ readonly className: "tl-truncate";
237
+ readonly stage: "core";
238
+ readonly category: "utility";
239
+ }];
240
+ export type ComponentName = (typeof componentContracts)[number]['name'];
241
+ export type ComponentClassName = (typeof componentContracts)[number]['className'];
242
+ export declare const componentClasses: Record<ComponentName, ComponentClassName>;
243
+ export declare const partClasses: string[];
244
+ export declare const primitiveClasses: readonly string[];
245
+ export declare const tokenNames: readonly ["--tl-color-canvas", "--tl-color-surface", "--tl-color-layer", "--tl-color-content-primary", "--tl-color-content-secondary", "--tl-color-content-subtle", "--tl-color-border-subtle", "--tl-color-border-strong", "--tl-color-focus", ...string[], "--tl-font-sans", "--tl-font-mono", "--tl-font-size-xs", "--tl-font-size-sm", "--tl-font-size-md", "--tl-font-size-lg", "--tl-font-size-xl", "--tl-space-1", "--tl-space-2", "--tl-space-3", "--tl-space-4", "--tl-space-5", "--tl-space-6", "--tl-space-8", "--tl-radius-control", "--tl-radius-card", "--tl-radius-panel", "--tl-shadow-card", "--tl-shadow-popover", "--tl-density-comfortable", "--tl-density-compact", "--tl-motion-duration-fast", "--tl-motion-duration-base", "--tl-motion-ease-standard"];
246
+ export type TokenName = (typeof tokenNames)[number];
11
247
  export declare const themeAttributes: {
12
248
  readonly root: "data-tl-root";
13
249
  readonly theme: "data-tl-theme";
14
250
  readonly mode: "data-tl-mode";
15
251
  readonly tone: "data-tl-tone";
252
+ readonly state: "data-tl-state";
253
+ readonly size: "data-tl-size";
254
+ readonly density: "data-tl-density";
255
+ readonly variant: "data-tl-variant";
256
+ readonly stage: "data-tl-stage";
16
257
  };
17
- export declare const primitiveClasses: {
18
- readonly layout: readonly ["tl-section", "tl-stack", "tl-cluster", "tl-grid"];
19
- readonly surface: readonly ["tl-surface", "tl-card", "tl-panel"];
20
- readonly text: readonly ["tl-display", "tl-heading", "tl-body", "tl-caption", "tl-meta", "tl-label", "tl-action-text", "tl-metric", "tl-code", "tl-help"];
21
- readonly action: readonly ["tl-button"];
22
- readonly status: readonly ["tl-badge", "tl-alert"];
23
- readonly form: readonly ["tl-field", "tl-input"];
24
- };
25
- export type PrimitiveGroup = keyof typeof primitiveClasses;
26
- export type PrimitiveClass = (typeof primitiveClasses)[PrimitiveGroup][number];
27
- export declare const semanticTokenNames: readonly ["--tl-canvas", "--tl-surface", "--tl-layer", "--tl-content-primary", "--tl-content-secondary", "--tl-content-subtle", "--tl-border-subtle", "--tl-border-strong", "--tl-focus"];
28
- export type SemanticTokenName = (typeof semanticTokenNames)[number];
29
- export declare const toneTokenNames: ("--tl-primary-fill" | "--tl-info-fill" | "--tl-success-fill" | "--tl-warning-fill" | "--tl-danger-fill" | "--tl-primary-on-fill" | "--tl-info-on-fill" | "--tl-success-on-fill" | "--tl-warning-on-fill" | "--tl-danger-on-fill" | "--tl-primary-soft" | "--tl-info-soft" | "--tl-success-soft" | "--tl-warning-soft" | "--tl-danger-soft" | "--tl-primary-content" | "--tl-info-content" | "--tl-success-content" | "--tl-warning-content" | "--tl-danger-content" | "--tl-primary-border" | "--tl-info-border" | "--tl-success-border" | "--tl-warning-border" | "--tl-danger-border")[];
30
- export type ToneTokenName = (typeof toneTokenNames)[number];
31
- export declare const componentTokenNames: readonly ["--tl-component-background", "--tl-component-content", "--tl-component-content-muted", "--tl-component-border", "--tl-button-background", "--tl-button-content", "--tl-button-border", "--tl-badge-background", "--tl-badge-content", "--tl-badge-border"];
32
- export type ComponentTokenName = (typeof componentTokenNames)[number];
33
258
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;CAGtB,CAAA;AAEV,eAAO,MAAM,aAAa,sBAAuB,CAAA;AACjD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,eAAO,MAAM,UAAU,4BAA6B,CAAA;AACpD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnD,eAAO,MAAM,SAAS,yEAOZ,CAAA;AACV,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD,eAAO,MAAM,eAAe;;;;;CAKlB,CAAA;AAEV,eAAO,MAAM,gBAAgB;;;;;;;CAkBnB,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,gBAAgB,CAAA;AAC1D,MAAM,MAAM,cAAc,GACxB,CAAC,OAAO,gBAAgB,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnD,eAAO,MAAM,kBAAkB,2LAUrB,CAAA;AACV,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE,eAAO,MAAM,cAAc,6jBAUzB,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D,eAAO,MAAM,mBAAmB,sQAWtB,CAAA;AACV,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;CAItB,CAAA;AAEV,eAAO,MAAM,aAAa,sBAAuB,CAAA;AACjD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,eAAO,MAAM,UAAU,4BAA6B,CAAA;AACpD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnD,eAAO,MAAM,SAAS,yEAOZ,CAAA;AACV,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD,eAAO,MAAM,UAAU,mDAAoD,CAAA;AAC3E,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnD,eAAO,MAAM,SAAS,6BAA8B,CAAA;AACpD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD,eAAO,MAAM,YAAY,qCAAsC,CAAA;AAC/D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvD,eAAO,MAAM,YAAY,yDAA0D,CAAA;AACnF,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvD,eAAO,MAAM,UAAU,gCAAiC,CAAA;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnD,eAAO,MAAM,aAAa,gIAWhB,CAAA;AACV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCkB,CAAA;AAEjD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;AACvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAA;AAEjF,eAAO,MAAM,gBAAgB,EAExB,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAA;AAE9C,eAAO,MAAM,WAAW,EAInB,MAAM,EAAE,CAAA;AAEb,eAAO,MAAM,gBAAgB,mBAGnB,CAAA;AAoDV,eAAO,MAAM,UAAU,ivBAIb,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnD,eAAO,MAAM,eAAe;;;;;;;;;;CAUlB,CAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export const threelightUiPackage = {
2
2
  name: '@threelight/ui',
3
- purpose: 'framework-neutral governed HTML/CSS UI primitives',
3
+ purpose: 'Short-class CSS, role tokens, and metadata for service UI systems.',
4
+ contract: 'alpha-reset',
4
5
  };
5
6
  export const themeFamilies = ['default'];
6
7
  export const themeModes = ['light', 'dark'];
@@ -12,63 +13,127 @@ export const toneNames = [
12
13
  'warning',
13
14
  'danger',
14
15
  ];
16
+ export const stateNames = ['loading', 'empty', 'error', 'success'];
17
+ export const sizeNames = ['sm', 'md', 'lg'];
18
+ export const densityNames = ['comfortable', 'compact'];
19
+ export const variantNames = ['solid', 'soft', 'outline', 'ghost', 'plain'];
20
+ export const stageNames = ['core', 'candidate'];
21
+ export const categoryNames = [
22
+ 'action',
23
+ 'data-display',
24
+ 'feedback',
25
+ 'form',
26
+ 'layout',
27
+ 'navigation',
28
+ 'pattern',
29
+ 'surface',
30
+ 'typography',
31
+ 'utility',
32
+ ];
33
+ export const componentContracts = [
34
+ { name: 'app-shell', className: 'tl-app-shell', stage: 'candidate', category: 'layout', parts: ['sidebar', 'topbar', 'main', 'content'] },
35
+ { name: 'side-nav', className: 'tl-side-nav', stage: 'candidate', category: 'navigation', parts: ['group', 'label', 'item', 'badge'] },
36
+ { name: 'top-bar', className: 'tl-top-bar', stage: 'candidate', category: 'navigation', parts: ['title', 'actions'] },
37
+ { name: 'stack', className: 'tl-stack', stage: 'core', category: 'layout' },
38
+ { name: 'cluster', className: 'tl-cluster', stage: 'core', category: 'layout' },
39
+ { name: 'grid', className: 'tl-grid', stage: 'core', category: 'layout' },
40
+ { name: 'toolbar', className: 'tl-toolbar', stage: 'candidate', category: 'layout', parts: ['group', 'actions'] },
41
+ { name: 'heading', className: 'tl-heading', stage: 'core', category: 'typography' },
42
+ { name: 'text', className: 'tl-text', stage: 'core', category: 'typography' },
43
+ { name: 'caption', className: 'tl-caption', stage: 'core', category: 'typography' },
44
+ { name: 'mono', className: 'tl-mono', stage: 'core', category: 'typography' },
45
+ { name: 'button', className: 'tl-button', stage: 'core', category: 'action', parts: ['icon', 'label'] },
46
+ { name: 'icon-button', className: 'tl-icon-button', stage: 'core', category: 'action', parts: ['icon'] },
47
+ { name: 'badge', className: 'tl-badge', stage: 'core', category: 'feedback' },
48
+ { name: 'alert', className: 'tl-alert', stage: 'core', category: 'feedback', parts: ['icon', 'content', 'title', 'description', 'actions'] },
49
+ { name: 'toast', className: 'tl-toast', stage: 'candidate', category: 'feedback', parts: ['icon', 'content', 'title', 'description', 'actions', 'close'] },
50
+ { name: 'toast-region', className: 'tl-toast-region', stage: 'candidate', category: 'feedback' },
51
+ { name: 'empty-state', className: 'tl-empty-state', stage: 'candidate', category: 'feedback', parts: ['content', 'actions'] },
52
+ { name: 'card', className: 'tl-card', stage: 'core', category: 'surface', parts: ['header', 'title', 'description', 'body', 'footer'] },
53
+ { name: 'panel', className: 'tl-panel', stage: 'core', category: 'surface', parts: ['header', 'title', 'description', 'body', 'footer'] },
54
+ { name: 'data-panel', className: 'tl-data-panel', stage: 'candidate', category: 'surface', parts: ['header', 'body', 'footer'] },
55
+ { name: 'field', className: 'tl-field', stage: 'core', category: 'form', parts: ['label', 'control', 'help', 'error'] },
56
+ { name: 'input', className: 'tl-input', stage: 'core', category: 'form' },
57
+ { name: 'select', className: 'tl-select', stage: 'core', category: 'form' },
58
+ { name: 'switch', className: 'tl-switch', stage: 'core', category: 'form', parts: ['track', 'thumb', 'label'] },
59
+ { name: 'tabs', className: 'tl-tabs', stage: 'core', category: 'navigation', parts: ['list', 'tab', 'panel'] },
60
+ { name: 'table', className: 'tl-table', stage: 'core', category: 'data-display', parts: ['head', 'body', 'row', 'cell'] },
61
+ { name: 'code-block', className: 'tl-code-block', stage: 'core', category: 'data-display', parts: ['content', 'copy'] },
62
+ { name: 'filter-bar', className: 'tl-filter-bar', stage: 'candidate', category: 'pattern', parts: ['group', 'actions'] },
63
+ { name: 'metric-card', className: 'tl-metric-card', stage: 'candidate', category: 'data-display', parts: ['label', 'value', 'delta'] },
64
+ { name: 'metric-group', className: 'tl-metric-group', stage: 'candidate', category: 'data-display' },
65
+ { name: 'settings-section', className: 'tl-settings-section', stage: 'candidate', category: 'pattern', parts: ['summary', 'content', 'actions'] },
66
+ { name: 'stepper', className: 'tl-stepper', stage: 'candidate', category: 'pattern', parts: ['item', 'marker', 'label'] },
67
+ { name: 'choice-card', className: 'tl-choice-card', stage: 'candidate', category: 'pattern', parts: ['media', 'title', 'description'] },
68
+ { name: 'docs-shell', className: 'tl-docs-shell', stage: 'candidate', category: 'layout', parts: ['sidebar', 'content', 'toc'] },
69
+ { name: 'sr-only', className: 'tl-sr-only', stage: 'core', category: 'utility' },
70
+ { name: 'truncate', className: 'tl-truncate', stage: 'core', category: 'utility' },
71
+ ];
72
+ export const componentClasses = Object.fromEntries(componentContracts.map((contract) => [contract.name, contract.className]));
73
+ export const partClasses = componentContracts.flatMap((contract) => ('parts' in contract ? contract.parts : []).map((part) => `${contract.className}__${part}`));
74
+ export const primitiveClasses = [
75
+ ...componentContracts.map((contract) => contract.className),
76
+ ...partClasses,
77
+ ];
78
+ const semanticColorTokenNames = [
79
+ '--tl-color-canvas',
80
+ '--tl-color-surface',
81
+ '--tl-color-layer',
82
+ '--tl-color-content-primary',
83
+ '--tl-color-content-secondary',
84
+ '--tl-color-content-subtle',
85
+ '--tl-color-border-subtle',
86
+ '--tl-color-border-strong',
87
+ '--tl-color-focus',
88
+ ];
89
+ const toneTokenNames = toneNames.flatMap((tone) => tone === 'neutral'
90
+ ? []
91
+ : [
92
+ `--tl-color-${tone}-fill`,
93
+ `--tl-color-${tone}-content`,
94
+ `--tl-color-${tone}-soft`,
95
+ `--tl-color-${tone}-border`,
96
+ ]);
97
+ const roleTokenNames = [
98
+ '--tl-font-sans',
99
+ '--tl-font-mono',
100
+ '--tl-font-size-xs',
101
+ '--tl-font-size-sm',
102
+ '--tl-font-size-md',
103
+ '--tl-font-size-lg',
104
+ '--tl-font-size-xl',
105
+ '--tl-space-1',
106
+ '--tl-space-2',
107
+ '--tl-space-3',
108
+ '--tl-space-4',
109
+ '--tl-space-5',
110
+ '--tl-space-6',
111
+ '--tl-space-8',
112
+ '--tl-radius-control',
113
+ '--tl-radius-card',
114
+ '--tl-radius-panel',
115
+ '--tl-shadow-card',
116
+ '--tl-shadow-popover',
117
+ '--tl-density-comfortable',
118
+ '--tl-density-compact',
119
+ '--tl-motion-duration-fast',
120
+ '--tl-motion-duration-base',
121
+ '--tl-motion-ease-standard',
122
+ ];
123
+ export const tokenNames = [
124
+ ...semanticColorTokenNames,
125
+ ...toneTokenNames,
126
+ ...roleTokenNames,
127
+ ];
15
128
  export const themeAttributes = {
16
129
  root: 'data-tl-root',
17
130
  theme: 'data-tl-theme',
18
131
  mode: 'data-tl-mode',
19
132
  tone: 'data-tl-tone',
133
+ state: 'data-tl-state',
134
+ size: 'data-tl-size',
135
+ density: 'data-tl-density',
136
+ variant: 'data-tl-variant',
137
+ stage: 'data-tl-stage',
20
138
  };
21
- export const primitiveClasses = {
22
- layout: ['tl-section', 'tl-stack', 'tl-cluster', 'tl-grid'],
23
- surface: ['tl-surface', 'tl-card', 'tl-panel'],
24
- text: [
25
- 'tl-display',
26
- 'tl-heading',
27
- 'tl-body',
28
- 'tl-caption',
29
- 'tl-meta',
30
- 'tl-label',
31
- 'tl-action-text',
32
- 'tl-metric',
33
- 'tl-code',
34
- 'tl-help',
35
- ],
36
- action: ['tl-button'],
37
- status: ['tl-badge', 'tl-alert'],
38
- form: ['tl-field', 'tl-input'],
39
- };
40
- export const semanticTokenNames = [
41
- '--tl-canvas',
42
- '--tl-surface',
43
- '--tl-layer',
44
- '--tl-content-primary',
45
- '--tl-content-secondary',
46
- '--tl-content-subtle',
47
- '--tl-border-subtle',
48
- '--tl-border-strong',
49
- '--tl-focus',
50
- ];
51
- export const toneTokenNames = toneNames.flatMap((tone) => {
52
- if (tone === 'neutral')
53
- return [];
54
- return [
55
- `--tl-${tone}-fill`,
56
- `--tl-${tone}-on-fill`,
57
- `--tl-${tone}-soft`,
58
- `--tl-${tone}-content`,
59
- `--tl-${tone}-border`,
60
- ];
61
- });
62
- export const componentTokenNames = [
63
- '--tl-component-background',
64
- '--tl-component-content',
65
- '--tl-component-content-muted',
66
- '--tl-component-border',
67
- '--tl-button-background',
68
- '--tl-button-content',
69
- '--tl-button-border',
70
- '--tl-badge-background',
71
- '--tl-badge-content',
72
- '--tl-badge-border',
73
- ];
74
139
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,mDAAmD;CACpD,CAAA;AAEV,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,CAAU,CAAA;AAGjD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU,CAAA;AAGpD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,SAAS;IACT,SAAS;IACT,MAAM;IACN,SAAS;IACT,SAAS;IACT,QAAQ;CACA,CAAA;AAGV,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,cAAc;CACZ,CAAA;AAEV,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC;IAC3D,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC;IAC9C,IAAI,EAAE;QACJ,YAAY;QACZ,YAAY;QACZ,SAAS;QACT,YAAY;QACZ,SAAS;QACT,UAAU;QACV,gBAAgB;QAChB,WAAW;QACX,SAAS;QACT,SAAS;KACV;IACD,MAAM,EAAE,CAAC,WAAW,CAAC;IACrB,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;CACtB,CAAA;AAMV,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,aAAa;IACb,cAAc;IACd,YAAY;IACZ,sBAAsB;IACtB,wBAAwB;IACxB,qBAAqB;IACrB,oBAAoB;IACpB,oBAAoB;IACpB,YAAY;CACJ,CAAA;AAGV,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;IACvD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAEjC,OAAO;QACL,QAAQ,IAAI,OAAO;QACnB,QAAQ,IAAI,UAAU;QACtB,QAAQ,IAAI,OAAO;QACnB,QAAQ,IAAI,UAAU;QACtB,QAAQ,IAAI,SAAS;KACb,CAAA;AACZ,CAAC,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,2BAA2B;IAC3B,wBAAwB;IACxB,8BAA8B;IAC9B,uBAAuB;IACvB,wBAAwB;IACxB,qBAAqB;IACrB,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;IACpB,mBAAmB;CACX,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}