@techfides/ui-library-design 0.8.0 → 0.9.1
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/README.md +1 -3
- package/css/theme.css +61 -82
- package/dist/anatomies.d.ts +1 -9
- package/dist/anatomies.js +0 -2
- package/dist/anatomy.d.ts +2 -3
- package/dist/anatomy.js +0 -2
- package/dist/brands.d.ts +1 -2
- package/dist/brands.js +0 -2
- package/dist/cn.d.ts +1 -2
- package/dist/cn.generated.js +40 -4
- package/dist/cn.js +0 -2
- package/dist/control.d.ts +1 -2
- package/dist/control.js +0 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/mark.d.ts +1 -2
- package/dist/mark.js +0 -2
- package/dist/parts/control.js +0 -2
- package/dist/parts/eyebrow.js +0 -2
- package/dist/parts/mark.js +0 -2
- package/dist/parts/reveal.js +0 -2
- package/dist/parts/rouse.js +0 -2
- package/dist/parts/rule.js +0 -2
- package/dist/parts/scroll.js +0 -2
- package/dist/parts/shell.js +0 -2
- package/dist/parts/surface.js +0 -2
- package/dist/parts/tone.js +0 -2
- package/dist/parts/travel.js +0 -2
- package/dist/recipes/accordion.d.ts +1 -2
- package/dist/recipes/accordion.js +0 -2
- package/dist/recipes/alert.d.ts +1 -2
- package/dist/recipes/alert.js +0 -2
- package/dist/recipes/band.d.ts +1 -2
- package/dist/recipes/band.js +0 -2
- package/dist/recipes/bars.d.ts +1 -2
- package/dist/recipes/bars.js +0 -2
- package/dist/recipes/brandMark.d.ts +1 -2
- package/dist/recipes/brandMark.js +0 -2
- package/dist/recipes/button.d.ts +1 -2
- package/dist/recipes/button.js +0 -2
- package/dist/recipes/cardHeader.d.ts +1 -2
- package/dist/recipes/cardHeader.js +0 -2
- package/dist/recipes/chart.d.ts +5 -0
- package/dist/recipes/chart.js +5 -0
- package/dist/recipes/checkbox.d.ts +1 -2
- package/dist/recipes/checkbox.js +0 -2
- package/dist/recipes/chip.d.ts +1 -2
- package/dist/recipes/chip.js +0 -2
- package/dist/recipes/codeEditor.d.ts +1 -2
- package/dist/recipes/codeEditor.js +0 -2
- package/dist/recipes/datePicker.d.ts +1 -2
- package/dist/recipes/datePicker.js +0 -2
- package/dist/recipes/dialog.d.ts +1 -2
- package/dist/recipes/dialog.js +0 -2
- package/dist/recipes/feature.d.ts +1 -2
- package/dist/recipes/feature.js +0 -2
- package/dist/recipes/field.d.ts +1 -2
- package/dist/recipes/field.js +0 -2
- package/dist/recipes/findings.d.ts +1 -2
- package/dist/recipes/findings.js +0 -2
- package/dist/recipes/heading.d.ts +1 -2
- package/dist/recipes/heading.js +0 -2
- package/dist/recipes/heartbeat.d.ts +1 -2
- package/dist/recipes/heartbeat.js +0 -2
- package/dist/recipes/ink.d.ts +1 -2
- package/dist/recipes/ink.js +0 -2
- package/dist/recipes/input.d.ts +1 -3
- package/dist/recipes/input.js +0 -3
- package/dist/recipes/listItem.d.ts +1 -2
- package/dist/recipes/listItem.js +0 -2
- package/dist/recipes/listbox.d.ts +1 -2
- package/dist/recipes/listbox.js +0 -2
- package/dist/recipes/marquee.d.ts +1 -2
- package/dist/recipes/marquee.js +0 -2
- package/dist/recipes/menu.d.ts +1 -2
- package/dist/recipes/menu.js +0 -2
- package/dist/recipes/metaRow.d.ts +1 -2
- package/dist/recipes/metaRow.js +0 -2
- package/dist/recipes/meter.d.ts +1 -2
- package/dist/recipes/meter.js +0 -2
- package/dist/recipes/motion.d.ts +1 -2
- package/dist/recipes/motion.js +0 -2
- package/dist/recipes/nebula.d.ts +1 -2
- package/dist/recipes/nebula.js +0 -2
- package/dist/recipes/numberRange.d.ts +1 -2
- package/dist/recipes/numberRange.js +0 -2
- package/dist/recipes/paper.d.ts +1 -2
- package/dist/recipes/paper.js +0 -2
- package/dist/recipes/progressBar.d.ts +1 -2
- package/dist/recipes/progressBar.js +0 -2
- package/dist/recipes/queue.d.ts +1 -2
- package/dist/recipes/queue.js +0 -2
- package/dist/recipes/radioGroup.d.ts +1 -3
- package/dist/recipes/radioGroup.js +0 -3
- package/dist/recipes/scopeSwitcher.d.ts +1 -4
- package/dist/recipes/scopeSwitcher.js +0 -4
- package/dist/recipes/scrollArea.d.ts +1 -2
- package/dist/recipes/scrollArea.js +0 -2
- package/dist/recipes/searchPalette.d.ts +1 -3
- package/dist/recipes/searchPalette.js +0 -3
- package/dist/recipes/sectionHeader.d.ts +1 -2
- package/dist/recipes/sectionHeader.js +0 -2
- package/dist/recipes/segmentedControl.d.ts +1 -2
- package/dist/recipes/segmentedControl.js +0 -2
- package/dist/recipes/select.d.ts +1 -3
- package/dist/recipes/select.js +0 -3
- package/dist/recipes/separator.d.ts +1 -2
- package/dist/recipes/separator.js +0 -2
- package/dist/recipes/sidebar.d.ts +1 -2
- package/dist/recipes/sidebar.js +0 -2
- package/dist/recipes/sky.d.ts +1 -2
- package/dist/recipes/sky.js +0 -2
- package/dist/recipes/slider.d.ts +1 -2
- package/dist/recipes/slider.js +0 -2
- package/dist/recipes/stat.d.ts +1 -3
- package/dist/recipes/stat.js +0 -4
- package/dist/recipes/switch.d.ts +1 -2
- package/dist/recipes/switch.js +0 -2
- package/dist/recipes/table.d.ts +1 -2
- package/dist/recipes/table.js +0 -2
- package/dist/recipes/tableFilter.d.ts +1 -2
- package/dist/recipes/tableFilter.js +0 -2
- package/dist/recipes/tablePaging.d.ts +1 -2
- package/dist/recipes/tablePaging.js +0 -2
- package/dist/recipes/tail.d.ts +1 -2
- package/dist/recipes/tail.js +0 -2
- package/dist/recipes/text.d.ts +1 -2
- package/dist/recipes/text.js +0 -2
- package/dist/recipes/textarea.d.ts +1 -2
- package/dist/recipes/textarea.js +0 -2
- package/dist/recipes/tile.d.ts +1 -2
- package/dist/recipes/tile.js +0 -2
- package/dist/recipes/tooltip.d.ts +1 -2
- package/dist/recipes/tooltip.js +0 -2
- package/dist/recipes/topBar.d.ts +1 -2
- package/dist/recipes/topBar.js +0 -2
- package/dist/recipes/trail.d.ts +1 -2
- package/dist/recipes/trail.js +0 -2
- package/dist/recipes/userMenu.d.ts +1 -2
- package/dist/recipes/userMenu.js +0 -2
- package/dist/tone.d.ts +1 -2
- package/dist/tone.js +0 -2
- package/package.json +1 -1
- package/dist/anatomies.js.map +0 -1
- package/dist/anatomy.js.map +0 -1
- package/dist/brands.js.map +0 -1
- package/dist/cn.generated.js.map +0 -1
- package/dist/cn.js.map +0 -1
- package/dist/control.js.map +0 -1
- package/dist/mark.js.map +0 -1
- package/dist/parts/control.js.map +0 -1
- package/dist/parts/eyebrow.js.map +0 -1
- package/dist/parts/mark.js.map +0 -1
- package/dist/parts/reveal.js.map +0 -1
- package/dist/parts/rouse.js.map +0 -1
- package/dist/parts/rule.js.map +0 -1
- package/dist/parts/scroll.js.map +0 -1
- package/dist/parts/shell.js.map +0 -1
- package/dist/parts/surface.js.map +0 -1
- package/dist/parts/tone.js.map +0 -1
- package/dist/parts/travel.js.map +0 -1
- package/dist/recipes/accordion.js.map +0 -1
- package/dist/recipes/alert.js.map +0 -1
- package/dist/recipes/band.js.map +0 -1
- package/dist/recipes/bars.js.map +0 -1
- package/dist/recipes/brandMark.js.map +0 -1
- package/dist/recipes/button.js.map +0 -1
- package/dist/recipes/cardHeader.js.map +0 -1
- package/dist/recipes/checkbox.js.map +0 -1
- package/dist/recipes/chip.js.map +0 -1
- package/dist/recipes/codeEditor.js.map +0 -1
- package/dist/recipes/datePicker.js.map +0 -1
- package/dist/recipes/dialog.js.map +0 -1
- package/dist/recipes/feature.js.map +0 -1
- package/dist/recipes/field.js.map +0 -1
- package/dist/recipes/findings.js.map +0 -1
- package/dist/recipes/heading.js.map +0 -1
- package/dist/recipes/heartbeat.js.map +0 -1
- package/dist/recipes/ink.js.map +0 -1
- package/dist/recipes/input.js.map +0 -1
- package/dist/recipes/listItem.js.map +0 -1
- package/dist/recipes/listbox.js.map +0 -1
- package/dist/recipes/marquee.js.map +0 -1
- package/dist/recipes/menu.js.map +0 -1
- package/dist/recipes/metaRow.js.map +0 -1
- package/dist/recipes/meter.js.map +0 -1
- package/dist/recipes/motion.js.map +0 -1
- package/dist/recipes/nebula.js.map +0 -1
- package/dist/recipes/numberRange.js.map +0 -1
- package/dist/recipes/paper.js.map +0 -1
- package/dist/recipes/progressBar.js.map +0 -1
- package/dist/recipes/queue.js.map +0 -1
- package/dist/recipes/radioGroup.js.map +0 -1
- package/dist/recipes/scopeSwitcher.js.map +0 -1
- package/dist/recipes/scrollArea.js.map +0 -1
- package/dist/recipes/searchPalette.js.map +0 -1
- package/dist/recipes/sectionHeader.js.map +0 -1
- package/dist/recipes/segmentedControl.js.map +0 -1
- package/dist/recipes/select.js.map +0 -1
- package/dist/recipes/separator.js.map +0 -1
- package/dist/recipes/sidebar.js.map +0 -1
- package/dist/recipes/sky.js.map +0 -1
- package/dist/recipes/slider.js.map +0 -1
- package/dist/recipes/stat.js.map +0 -1
- package/dist/recipes/switch.js.map +0 -1
- package/dist/recipes/table.js.map +0 -1
- package/dist/recipes/tableFilter.js.map +0 -1
- package/dist/recipes/tablePaging.js.map +0 -1
- package/dist/recipes/tail.js.map +0 -1
- package/dist/recipes/text.js.map +0 -1
- package/dist/recipes/textarea.js.map +0 -1
- package/dist/recipes/tile.js.map +0 -1
- package/dist/recipes/tooltip.js.map +0 -1
- package/dist/recipes/topBar.js.map +0 -1
- package/dist/recipes/trail.js.map +0 -1
- package/dist/recipes/userMenu.js.map +0 -1
- package/dist/tone.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The framework-agnostic half of the TechFides UI library: the Tailwind CSS v4 theme, the design tokens, and the variant recipes every component is built from.
|
|
4
4
|
|
|
5
|
-
No framework, no components. If you are building with Vue, install [`@techfides/ui-library-vue`](https://www.npmjs.com/package/@techfides/ui-library-vue) instead — it depends on this one and brings it with it. Reach for this package directly when you are styling something the component library does not cover, or when a React binding arrives.
|
|
5
|
+
No framework, no components. If you are building with Vue, install [`@techfides/ui-library-vue`](https://www.npmjs.com/package/@techfides/ui-library-vue) instead — it depends on this one and brings it with it. Reach for this package directly when you are styling something the component library does not cover, or when a React binding arrives. Words and languages live in [`@techfides/ui-library-core`](https://www.npmjs.com/package/@techfides/ui-library-core), the framework-free package, not here.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -37,8 +37,6 @@ cn('bg-tf-panel p-6', props.class)
|
|
|
37
37
|
|
|
38
38
|
**Brand** — four accents, switched by a `data-brand` attribute on the root. Every accent role in the system derives from the one the brand names.
|
|
39
39
|
|
|
40
|
-
**Words** — every string a component says on its own behalf, as a `Language`. `english` and `czech` ship; the framework binding hands one to `provideLanguage`. Words live here rather than in the binding so both bindings say the same thing ([ADR 0004](https://github.com/TechFides/ui-library/blob/main/docs/adr/0004-words-live-in-the-framework-free-package.md)).
|
|
41
|
-
|
|
42
40
|
## The one thing to know about surfaces
|
|
43
41
|
|
|
44
42
|
Depth is carried by lightness, not by shadow: on a dark screen a black shadow has almost nothing to fall on. There are five surface steps and each is measurably lighter than the one below it. A shadow means something different — that a thing has left the page altogether.
|
package/css/theme.css
CHANGED
|
@@ -27,17 +27,34 @@
|
|
|
27
27
|
font-family: var(--font-tf-body);
|
|
28
28
|
scrollbar-gutter: stable;
|
|
29
29
|
}
|
|
30
|
+
|
|
31
|
+
x-vue-echarts {
|
|
32
|
+
display: block;
|
|
33
|
+
width: 100%;
|
|
34
|
+
height: 100%;
|
|
35
|
+
min-width: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
x-vue-echarts > .echarts-host {
|
|
39
|
+
display: block;
|
|
40
|
+
width: 100%;
|
|
41
|
+
height: 100%;
|
|
42
|
+
min-width: 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
x-vue-echarts > .echarts-host > :first-child,
|
|
46
|
+
x-vue-echarts > .echarts-host > :first-child > canvas {
|
|
47
|
+
border-radius: inherit;
|
|
48
|
+
}
|
|
30
49
|
}
|
|
31
50
|
|
|
32
51
|
@theme static inline {
|
|
33
52
|
--ceiling-tf-accent: var(--tf-accent-ceiling);
|
|
34
|
-
|
|
35
53
|
--color-tf-accent: var(--tf-accent);
|
|
36
|
-
--color-tf-accent-hi: oklch(from var(--tf-accent)
|
|
37
|
-
--color-tf-accent-surface: oklch(from var(--tf-accent)
|
|
38
|
-
--color-tf-accent-deep: oklch(from var(--tf-accent)
|
|
39
|
-
--color-tf-on-accent: #
|
|
40
|
-
|
|
54
|
+
--color-tf-accent-hi: oklch(from var(--tf-accent) 73% c h);
|
|
55
|
+
--color-tf-accent-surface: oklch(from var(--tf-accent) 55% c h);
|
|
56
|
+
--color-tf-accent-deep: oklch(from var(--tf-accent) 45% c h);
|
|
57
|
+
--color-tf-on-accent: #fff;
|
|
41
58
|
--color-tf-accent-tint: color-mix(
|
|
42
59
|
in oklab,
|
|
43
60
|
var(--tf-accent) var(--tf-tint),
|
|
@@ -57,13 +74,11 @@
|
|
|
57
74
|
--color-tf-panel-2: rgb(255 255 255 / 3%);
|
|
58
75
|
--color-tf-panel-hi: rgb(255 255 255 / 8.5%);
|
|
59
76
|
--color-tf-glass: rgb(255 255 255 / 6.5%);
|
|
60
|
-
|
|
61
77
|
--color-tf-sunken: rgb(0 0 0 / 26%);
|
|
62
78
|
--color-tf-sunken-hi: rgb(0 0 0 / 20%);
|
|
63
79
|
--color-tf-sunken-quiet: rgb(0 0 0 / 34%);
|
|
64
80
|
--color-tf-control: rgb(255 255 255 / 9%);
|
|
65
81
|
--color-tf-control-hi: rgb(255 255 255 / 12%);
|
|
66
|
-
|
|
67
82
|
--color-tf-surface-hi: color-mix(in oklab, #fff 4.5%, var(--color-tf-surface));
|
|
68
83
|
--color-tf-surface-quiet: color-mix(in oklab, var(--color-tf-bg) 55%, var(--color-tf-surface));
|
|
69
84
|
--color-tf-shade-under: color-mix(in oklab, var(--color-tf-bg) 38%, transparent);
|
|
@@ -76,26 +91,22 @@
|
|
|
76
91
|
--color-tf-fg: #eef1f6;
|
|
77
92
|
--color-tf-fg-held: color-mix(in oklab, #eef1f6 82%, var(--color-tf-bg));
|
|
78
93
|
--color-tf-muted: #98a1b2;
|
|
79
|
-
|
|
80
|
-
--color-tf-success: oklch(
|
|
81
|
-
--color-tf-
|
|
82
|
-
--color-tf-warning: oklch(
|
|
83
|
-
--color-tf-
|
|
84
|
-
--color-tf-info: oklch(
|
|
85
|
-
--color-tf-
|
|
86
|
-
--color-tf-danger: oklch(
|
|
87
|
-
--color-tf-
|
|
88
|
-
--color-tf-on-semantic: #ffffff;
|
|
89
|
-
|
|
94
|
+
--color-tf-success: oklch(55% 0.19 133deg);
|
|
95
|
+
--color-tf-success-hi: oklch(73% 0.195 133deg);
|
|
96
|
+
--color-tf-warning: oklch(60% 0.13 70deg);
|
|
97
|
+
--color-tf-warning-hi: oklch(73% 0.158 70deg);
|
|
98
|
+
--color-tf-info: oklch(55% 0.196 243deg);
|
|
99
|
+
--color-tf-info-hi: oklch(73% 0.156 243deg);
|
|
100
|
+
--color-tf-danger: oklch(55% 0.241 27deg);
|
|
101
|
+
--color-tf-danger-hi: oklch(73% 0.17 27deg);
|
|
102
|
+
--color-tf-on-semantic: #fff;
|
|
90
103
|
--ceiling-tf-success: 0.169;
|
|
91
104
|
--ceiling-tf-warning: 0.13;
|
|
92
105
|
--ceiling-tf-info: 0.145;
|
|
93
106
|
--ceiling-tf-danger: 0.244;
|
|
94
|
-
|
|
95
107
|
--tf-tint: 15%;
|
|
96
108
|
--tf-edge: 32%;
|
|
97
109
|
--tf-edge-rest: 32%;
|
|
98
|
-
|
|
99
110
|
--tf-rest-angle: 110deg;
|
|
100
111
|
--tf-rest-waist: 33%;
|
|
101
112
|
--tf-mixed-angle: 150deg;
|
|
@@ -103,11 +114,9 @@
|
|
|
103
114
|
--tf-milk-reach: 34%;
|
|
104
115
|
--tf-pressed-angle: 124deg;
|
|
105
116
|
--tf-fall-angle: 180deg;
|
|
106
|
-
|
|
107
117
|
--tf-glass-flat:
|
|
108
118
|
linear-gradient(var(--color-tf-glass), var(--color-tf-glass)), var(--color-tf-bg);
|
|
109
119
|
--tf-rise-angle: 290deg;
|
|
110
|
-
|
|
111
120
|
--color-tf-success-tint: color-mix(
|
|
112
121
|
in oklab,
|
|
113
122
|
var(--color-tf-success) var(--tf-tint),
|
|
@@ -149,10 +158,8 @@
|
|
|
149
158
|
var(--color-tf-danger) var(--tf-edge),
|
|
150
159
|
var(--color-tf-surface)
|
|
151
160
|
);
|
|
152
|
-
|
|
153
161
|
--font-tf-display: 'Poppins', system-ui, sans-serif;
|
|
154
162
|
--font-tf-body: 'Inter Variable', 'Inter', system-ui, sans-serif;
|
|
155
|
-
|
|
156
163
|
--text-tf-numeral: clamp(96px, 11vw, 160px);
|
|
157
164
|
--text-tf-numeral--line-height: 1;
|
|
158
165
|
--text-tf-display: clamp(38px, 4.5vw, 54px);
|
|
@@ -179,16 +186,13 @@
|
|
|
179
186
|
--text-tf-caption--line-height: 1.6;
|
|
180
187
|
--text-tf-caption-sm: 12px;
|
|
181
188
|
--text-tf-caption-sm--line-height: 1.6;
|
|
182
|
-
|
|
183
189
|
--tracking-tf-tight: -0.022em;
|
|
184
190
|
--tracking-tf-eyebrow: 0.12em;
|
|
185
|
-
|
|
186
191
|
--breakpoint-*: initial;
|
|
187
192
|
--breakpoint-sm: 40rem;
|
|
188
193
|
--breakpoint-md: 48rem;
|
|
189
194
|
--breakpoint-lg: 64rem;
|
|
190
195
|
--breakpoint-xl: 80rem;
|
|
191
|
-
|
|
192
196
|
--container-*: initial;
|
|
193
197
|
--max-width-*: initial;
|
|
194
198
|
--container-tf-panel: 24rem;
|
|
@@ -197,97 +201,77 @@
|
|
|
197
201
|
--container-tf-measure: 65ch;
|
|
198
202
|
--container-tf-page: 56rem;
|
|
199
203
|
--container-tf-canvas: 100rem;
|
|
200
|
-
|
|
201
204
|
--spacing-tf-hairline: 1px;
|
|
202
|
-
|
|
203
205
|
--spacing-tf-control-2xs: 1.5rem;
|
|
204
206
|
--spacing-tf-control-xs: 2rem;
|
|
205
207
|
--spacing-tf-control-sm: 2.5rem;
|
|
206
208
|
--spacing-tf-control-md: 3rem;
|
|
207
209
|
--spacing-tf-control-lg: 3.5rem;
|
|
208
|
-
|
|
209
210
|
--spacing-tf-row: 2.25rem;
|
|
210
211
|
--spacing-tf-chip-sm: 1.5rem;
|
|
211
212
|
--spacing-tf-target: 3rem;
|
|
212
|
-
|
|
213
213
|
--spacing-tf-menu: 12rem;
|
|
214
214
|
--spacing-tf-sidebar: 17rem;
|
|
215
215
|
--spacing-tf-rail: 5rem;
|
|
216
|
-
|
|
217
216
|
--spacing-tf-icon-2xs: 0.875rem;
|
|
218
217
|
--spacing-tf-icon-xs: 1rem;
|
|
219
218
|
--spacing-tf-icon-sm: 1.125rem;
|
|
220
219
|
--spacing-tf-icon-md: 1.25rem;
|
|
221
220
|
--spacing-tf-icon-lg: 1.375rem;
|
|
222
|
-
|
|
223
221
|
--spacing-tf-icon-solo-xs: 1rem;
|
|
224
222
|
--spacing-tf-icon-solo-sm: 1.25rem;
|
|
225
223
|
--spacing-tf-icon-solo-md: 1.375rem;
|
|
226
224
|
--spacing-tf-icon-solo-lg: 1.5rem;
|
|
227
|
-
|
|
228
225
|
--spacing-tf-mark-glyph: 0.875rem;
|
|
229
226
|
--spacing-tf-mark-dot: 0.625rem;
|
|
230
227
|
--spacing-tf-mark-track: 0.375rem;
|
|
231
228
|
--spacing-tf-mark-inset: 0.1875rem;
|
|
232
|
-
|
|
233
229
|
--tf-mark-path: 23;
|
|
234
230
|
--tf-icon-stroke: 2.75;
|
|
235
231
|
--tf-icon-stroke-solo: 3;
|
|
236
|
-
|
|
237
232
|
--blur-tf-panel: 16px;
|
|
238
233
|
--blur-tf-glass: 16px;
|
|
239
234
|
--blur-tf-scrim: 6px;
|
|
240
235
|
--blur-tf-cloud-md: 14px;
|
|
241
236
|
--blur-tf-cloud-tight: 10px;
|
|
242
237
|
--blur-tf-cloud-wide: 32px;
|
|
243
|
-
|
|
244
238
|
--radius-tf-none: 0;
|
|
245
239
|
--radius-tf-inline: 0.375rem;
|
|
246
240
|
--radius-tf-control: 0.625rem;
|
|
247
241
|
--radius-tf-block: 0.75rem;
|
|
248
242
|
--radius-tf-card: 1rem;
|
|
249
243
|
--radius-tf-pill: 9999px;
|
|
250
|
-
|
|
251
244
|
--shadow-tf-float: 0 18px 44px -18px rgb(0 0 0 / 88%);
|
|
252
245
|
--shadow-tf-mark: 0 1px 2px rgb(0 0 0 / 40%);
|
|
253
|
-
|
|
254
246
|
--ease-tf: cubic-bezier(0.16, 0.8, 0.3, 1);
|
|
255
247
|
--ease-tf-spring: cubic-bezier(0.34, 1.56, 0.5, 1);
|
|
256
248
|
--ease-tf-glide: cubic-bezier(0.45, 0.05, 0.35, 1);
|
|
257
249
|
--ease-tf-settle: cubic-bezier(0.32, 1.36, 0.58, 1);
|
|
258
|
-
|
|
259
250
|
--tf-z-raised: 10;
|
|
260
251
|
--tf-z-dropdown: 20;
|
|
261
252
|
--tf-z-tooltip: 30;
|
|
262
253
|
--tf-z-modal: 40;
|
|
263
254
|
--tf-z-toast: 50;
|
|
264
|
-
|
|
265
255
|
--tf-duration-1: 140ms;
|
|
266
256
|
--tf-duration-2: 240ms;
|
|
267
257
|
--tf-duration-3: 600ms;
|
|
268
258
|
--tf-duration-4: 700ms;
|
|
269
|
-
|
|
270
259
|
--tf-marquee-pace: calc(var(--spacing-tf-icon-solo-lg) * (1s / var(--tf-duration-3)));
|
|
271
|
-
|
|
272
260
|
--tf-sweep-duration: calc(var(--tf-duration-3) * 30);
|
|
273
261
|
--tf-twinkle-duration: calc(var(--tf-duration-3) * 26);
|
|
274
262
|
--tf-pulse-duration: calc(var(--tf-duration-3) * 3);
|
|
275
|
-
|
|
276
263
|
--tf-timing-quick: var(--tf-duration-1) var(--ease-tf);
|
|
277
264
|
--tf-timing-glide: var(--tf-duration-2) var(--ease-tf-glide);
|
|
278
265
|
--tf-timing-drift: var(--tf-duration-3) var(--ease-tf-glide);
|
|
279
266
|
--tf-timing-trail: var(--tf-duration-4) var(--ease-tf-glide);
|
|
280
267
|
--tf-timing-spring: var(--tf-duration-2) var(--ease-tf-spring);
|
|
281
268
|
--tf-timing-settle: var(--tf-duration-2) var(--ease-tf-settle);
|
|
282
|
-
|
|
283
269
|
--tf-blend-timing: var(--tf-timing-glide);
|
|
284
270
|
--tf-shadow-timing: var(--tf-timing-glide);
|
|
285
271
|
--tf-move-timing: var(--tf-timing-quick);
|
|
286
272
|
--tf-weather-timing: var(--tf-timing-drift);
|
|
287
273
|
--tf-ink-timing: var(--tf-timing-quick);
|
|
288
|
-
|
|
289
274
|
--tf-cloud-blur: var(--blur-tf-cloud-md);
|
|
290
|
-
|
|
291
275
|
--animate-tf-blend-in: tf-blend-in var(--tf-duration-2) var(--ease-tf-glide);
|
|
292
276
|
--animate-tf-arrive: tf-arrive var(--tf-duration-2) var(--ease-tf) both;
|
|
293
277
|
--animate-tf-depart: tf-depart var(--tf-duration-1) var(--ease-tf) both;
|
|
@@ -457,7 +441,7 @@
|
|
|
457
441
|
}
|
|
458
442
|
|
|
459
443
|
@keyframes tf-chip-in {
|
|
460
|
-
|
|
444
|
+
0% {
|
|
461
445
|
width: 0;
|
|
462
446
|
padding-inline: 0;
|
|
463
447
|
margin-inline-end: calc(var(--tf-chip-gap, 0px) * -1);
|
|
@@ -613,15 +597,10 @@
|
|
|
613
597
|
}
|
|
614
598
|
|
|
615
599
|
@custom-variant interactive (&:not(:disabled):not([aria-disabled='true']):not([data-disabled]));
|
|
616
|
-
|
|
617
600
|
@custom-variant hovered (&:hover, &[data-hover]);
|
|
618
|
-
|
|
619
601
|
@custom-variant pressed (&:active, &[data-active]);
|
|
620
|
-
|
|
621
602
|
@custom-variant focused (&:focus-visible, &[data-focus-visible]);
|
|
622
|
-
|
|
623
603
|
@custom-variant reached (&:focus-within, &[data-reached]);
|
|
624
|
-
|
|
625
604
|
@custom-variant asleep (
|
|
626
605
|
&:has(:placeholder-shown, [data-placeholder-shown]):not(:focus-within):not([data-reached]):not([data-state='open'])
|
|
627
606
|
);
|
|
@@ -713,7 +692,7 @@
|
|
|
713
692
|
@property --tf-nudge {
|
|
714
693
|
syntax: '<length>';
|
|
715
694
|
inherits: true;
|
|
716
|
-
initial-value:
|
|
695
|
+
initial-value: 0;
|
|
717
696
|
}
|
|
718
697
|
|
|
719
698
|
@property --tf-tally {
|
|
@@ -754,25 +733,25 @@
|
|
|
754
733
|
|
|
755
734
|
@property --tf-marquee-run {
|
|
756
735
|
syntax: '<length>';
|
|
757
|
-
initial-value:
|
|
736
|
+
initial-value: 0;
|
|
758
737
|
inherits: true;
|
|
759
738
|
}
|
|
760
739
|
|
|
761
740
|
@property --tf-marquee-pace {
|
|
762
741
|
syntax: '<length>';
|
|
763
|
-
initial-value:
|
|
742
|
+
initial-value: 0;
|
|
764
743
|
inherits: true;
|
|
765
744
|
}
|
|
766
745
|
|
|
767
746
|
@property --tf-fade-head {
|
|
768
747
|
syntax: '<length>';
|
|
769
|
-
initial-value:
|
|
748
|
+
initial-value: 0;
|
|
770
749
|
inherits: false;
|
|
771
750
|
}
|
|
772
751
|
|
|
773
752
|
@property --tf-fade-foot {
|
|
774
753
|
syntax: '<length>';
|
|
775
|
-
initial-value:
|
|
754
|
+
initial-value: 0;
|
|
776
755
|
inherits: false;
|
|
777
756
|
}
|
|
778
757
|
|
|
@@ -837,15 +816,15 @@
|
|
|
837
816
|
}
|
|
838
817
|
|
|
839
818
|
@utility tf-fill-scale {
|
|
840
|
-
--tf-lift: oklch(from var(--tf-base)
|
|
819
|
+
--tf-lift: oklch(from var(--tf-base) 60% min(calc(var(--tf-c, c) * 1.1), var(--tf-ceiling)) h);
|
|
841
820
|
--tf-vivid: oklch(
|
|
842
|
-
from var(--tf-base)
|
|
821
|
+
from var(--tf-base) 51% min(calc(var(--tf-c, c) * 1.05), calc(var(--tf-ceiling) * 0.85)) h
|
|
843
822
|
);
|
|
844
|
-
--tf-deep: oklch(from var(--tf-base)
|
|
823
|
+
--tf-deep: oklch(from var(--tf-base) 42% min(c, calc(var(--tf-ceiling) * 0.7)) h);
|
|
845
824
|
--tf-flare: oklch(
|
|
846
|
-
from var(--tf-base)
|
|
825
|
+
from var(--tf-base) 68% min(calc(var(--tf-c, c) * 1.1), calc(var(--tf-ceiling) * 0.77)) h
|
|
847
826
|
);
|
|
848
|
-
--tf-abyss: oklch(from var(--tf-base)
|
|
827
|
+
--tf-abyss: oklch(from var(--tf-base) 33% min(c, calc(var(--tf-ceiling) * 0.55)) h);
|
|
849
828
|
}
|
|
850
829
|
|
|
851
830
|
@utility bg-tf-blend {
|
|
@@ -865,11 +844,11 @@
|
|
|
865
844
|
}
|
|
866
845
|
|
|
867
846
|
@utility tf-ink-scale {
|
|
868
|
-
--tf-lift: oklch(from var(--tf-base)
|
|
869
|
-
--tf-vivid: oklch(from var(--tf-base)
|
|
870
|
-
--tf-deep: oklch(from var(--tf-base)
|
|
871
|
-
--tf-flare: oklch(from var(--tf-base)
|
|
872
|
-
--tf-abyss: oklch(from var(--tf-base)
|
|
847
|
+
--tf-lift: oklch(from var(--tf-base) 88% calc(var(--tf-c, c) * 1.1) h);
|
|
848
|
+
--tf-vivid: oklch(from var(--tf-base) 82% calc(var(--tf-c, c) * 1.3) h);
|
|
849
|
+
--tf-deep: oklch(from var(--tf-base) 70% c h);
|
|
850
|
+
--tf-flare: oklch(from var(--tf-base) 92% calc(var(--tf-c, c) * 1.15) h);
|
|
851
|
+
--tf-abyss: oklch(from var(--tf-base) 66% calc(var(--tf-c, c) * 1.05) h);
|
|
873
852
|
}
|
|
874
853
|
|
|
875
854
|
@utility text-tf-blend {
|
|
@@ -880,6 +859,7 @@
|
|
|
880
859
|
--tf-rest-trail: var(--color-tf-fg);
|
|
881
860
|
|
|
882
861
|
@apply tf-ramp;
|
|
862
|
+
|
|
883
863
|
background-clip: text;
|
|
884
864
|
color: transparent;
|
|
885
865
|
text-box-trim: trim-start;
|
|
@@ -907,9 +887,9 @@
|
|
|
907
887
|
}
|
|
908
888
|
|
|
909
889
|
@utility tf-label-lit {
|
|
910
|
-
--tf-label-lead: var(--tf-label-ink, oklch(from var(--tf-base)
|
|
911
|
-
--tf-label-mid: var(--tf-label-ink, oklch(from var(--tf-base)
|
|
912
|
-
--tf-label-trail: var(--tf-label-ink, oklch(from var(--tf-base)
|
|
890
|
+
--tf-label-lead: var(--tf-label-ink, oklch(from var(--tf-base) 73% c h));
|
|
891
|
+
--tf-label-mid: var(--tf-label-ink, oklch(from var(--tf-base) 73% c h));
|
|
892
|
+
--tf-label-trail: var(--tf-label-ink, oklch(from var(--tf-base) 73% c h));
|
|
913
893
|
}
|
|
914
894
|
|
|
915
895
|
@utility tf-label-failed {
|
|
@@ -1022,7 +1002,6 @@
|
|
|
1022
1002
|
|
|
1023
1003
|
@utility tf-blend-outline {
|
|
1024
1004
|
@apply tf-ink-scale;
|
|
1025
|
-
|
|
1026
1005
|
@apply tf-ring-scale;
|
|
1027
1006
|
|
|
1028
1007
|
--tf-outline-lift: var(--tf-ring-lit-bloom);
|
|
@@ -1080,7 +1059,7 @@
|
|
|
1080
1059
|
mask-image: linear-gradient(
|
|
1081
1060
|
to bottom,
|
|
1082
1061
|
transparent 0,
|
|
1083
|
-
transparent var(--tf-fade-head,
|
|
1062
|
+
transparent var(--tf-fade-head, 0),
|
|
1084
1063
|
#000 calc(var(--tf-fade-head, 0px) + var(--spacing)),
|
|
1085
1064
|
#000 calc(100% - var(--tf-fade-foot, 0px)),
|
|
1086
1065
|
transparent 100%
|
|
@@ -1179,10 +1158,10 @@
|
|
|
1179
1158
|
}
|
|
1180
1159
|
|
|
1181
1160
|
@utility tf-ring-scale {
|
|
1182
|
-
--tf-ring-dim: oklch(from var(--tf-base)
|
|
1183
|
-
--tf-ring-dim-bloom: oklch(from var(--tf-base)
|
|
1184
|
-
--tf-ring-lit: oklch(from var(--tf-base)
|
|
1185
|
-
--tf-ring-lit-bloom: oklch(from var(--tf-base)
|
|
1161
|
+
--tf-ring-dim: oklch(from var(--tf-base) 34% calc(var(--tf-c, c) * 0.34) h);
|
|
1162
|
+
--tf-ring-dim-bloom: oklch(from var(--tf-base) 45% calc(var(--tf-c, c) * 0.42) h);
|
|
1163
|
+
--tf-ring-lit: oklch(from var(--tf-base) 60% calc(var(--tf-c, c) * 0.85) h);
|
|
1164
|
+
--tf-ring-lit-bloom: oklch(from var(--tf-base) 78% c h);
|
|
1186
1165
|
}
|
|
1187
1166
|
|
|
1188
1167
|
@utility tf-ring-rest {
|
|
@@ -1331,7 +1310,7 @@
|
|
|
1331
1310
|
|
|
1332
1311
|
--tf-rest-lead: var(--tf-ring-base);
|
|
1333
1312
|
--tf-rest-mid: oklch(from var(--tf-ring-base) l c h / calc(100% - var(--tf-blend-waist)));
|
|
1334
|
-
--tf-rest-trail: oklch(from var(--tf-ring-base) l c h / 0);
|
|
1313
|
+
--tf-rest-trail: oklch(from var(--tf-ring-base) l c h / 0%);
|
|
1335
1314
|
|
|
1336
1315
|
@apply tf-ramp;
|
|
1337
1316
|
}
|
|
@@ -1392,9 +1371,9 @@
|
|
|
1392
1371
|
}
|
|
1393
1372
|
|
|
1394
1373
|
@utility tf-cloud-scale {
|
|
1395
|
-
--tf-haze: oklch(from var(--tf-base)
|
|
1396
|
-
--tf-haze-lit: oklch(from var(--tf-base)
|
|
1397
|
-
--tf-haze-quiet: oklch(from var(--tf-base)
|
|
1374
|
+
--tf-haze: oklch(from var(--tf-base) 85% c h);
|
|
1375
|
+
--tf-haze-lit: oklch(from var(--tf-base) 92% c h);
|
|
1376
|
+
--tf-haze-quiet: oklch(from var(--tf-base) 60% c h);
|
|
1398
1377
|
}
|
|
1399
1378
|
|
|
1400
1379
|
@utility tf-cloud-brand {
|
package/dist/anatomies.d.ts
CHANGED
|
@@ -541,7 +541,6 @@ declare const anatomies: {
|
|
|
541
541
|
};
|
|
542
542
|
readonly spinner: {
|
|
543
543
|
readonly part: "spinner";
|
|
544
|
-
readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
545
544
|
readonly required: false;
|
|
546
545
|
};
|
|
547
546
|
readonly trailing: {
|
|
@@ -836,7 +835,6 @@ declare const anatomies: {
|
|
|
836
835
|
};
|
|
837
836
|
readonly requiredIndicator: {
|
|
838
837
|
readonly part: "required-indicator";
|
|
839
|
-
readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
840
838
|
readonly required: false;
|
|
841
839
|
};
|
|
842
840
|
readonly root: {
|
|
@@ -863,7 +861,6 @@ declare const anatomies: {
|
|
|
863
861
|
};
|
|
864
862
|
readonly root: {
|
|
865
863
|
readonly part: "scope-switcher";
|
|
866
|
-
readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
867
864
|
readonly required: true;
|
|
868
865
|
};
|
|
869
866
|
readonly rowText: {
|
|
@@ -878,7 +875,6 @@ declare const anatomies: {
|
|
|
878
875
|
};
|
|
879
876
|
readonly value: {
|
|
880
877
|
readonly part: "value";
|
|
881
|
-
readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
882
878
|
readonly required: true;
|
|
883
879
|
};
|
|
884
880
|
};
|
|
@@ -904,7 +900,6 @@ declare const anatomies: {
|
|
|
904
900
|
};
|
|
905
901
|
readonly hint: {
|
|
906
902
|
readonly part: "hint";
|
|
907
|
-
readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
908
903
|
readonly required: true;
|
|
909
904
|
};
|
|
910
905
|
readonly mark: {
|
|
@@ -1011,7 +1006,6 @@ declare const anatomies: {
|
|
|
1011
1006
|
};
|
|
1012
1007
|
readonly spinner: {
|
|
1013
1008
|
readonly part: "spinner";
|
|
1014
|
-
readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
1015
1009
|
readonly required: false;
|
|
1016
1010
|
};
|
|
1017
1011
|
readonly trailing: {
|
|
@@ -1214,7 +1208,6 @@ declare const anatomies: {
|
|
|
1214
1208
|
};
|
|
1215
1209
|
readonly counted: {
|
|
1216
1210
|
readonly part: "counted";
|
|
1217
|
-
readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
1218
1211
|
readonly required: true;
|
|
1219
1212
|
};
|
|
1220
1213
|
readonly figure: {
|
|
@@ -1582,5 +1575,4 @@ declare const anatomies: {
|
|
|
1582
1575
|
};
|
|
1583
1576
|
type AnyPart = PartsOf<(typeof anatomies)[keyof typeof anatomies]>;
|
|
1584
1577
|
//#endregion
|
|
1585
|
-
export { type AnyPart, anatomies };
|
|
1586
|
-
//# sourceMappingURL=anatomies.d.ts.map
|
|
1578
|
+
export { type AnyPart, anatomies };
|
package/dist/anatomies.js
CHANGED
package/dist/anatomy.d.ts
CHANGED
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
type Recipe = (...args: never[]) => string;
|
|
3
3
|
interface Part {
|
|
4
4
|
part: string;
|
|
5
|
-
recipe
|
|
5
|
+
recipe?: Recipe;
|
|
6
6
|
required: boolean;
|
|
7
7
|
}
|
|
8
8
|
type Anatomy = Record<string, Part>;
|
|
9
9
|
declare const anatomy: <const Shape extends Anatomy>(parts: Shape) => Shape;
|
|
10
10
|
type PartsOf<Shape> = Shape extends Anatomy ? Shape[keyof Shape]['part'] : never;
|
|
11
11
|
//#endregion
|
|
12
|
-
export { type Anatomy, type Part, type PartsOf, type Recipe, anatomy };
|
|
13
|
-
//# sourceMappingURL=anatomy.d.ts.map
|
|
12
|
+
export { type Anatomy, type Part, type PartsOf, type Recipe, anatomy };
|
package/dist/anatomy.js
CHANGED
package/dist/brands.d.ts
CHANGED
|
@@ -35,5 +35,4 @@ declare const brands: readonly [{
|
|
|
35
35
|
declare const defaultBrand: BrandSlug;
|
|
36
36
|
declare const brandTitle: (slug: string) => string;
|
|
37
37
|
//#endregion
|
|
38
|
-
export { type Brand, type BrandSlug, brandTitle, brands, defaultBrand };
|
|
39
|
-
//# sourceMappingURL=brands.d.ts.map
|
|
38
|
+
export { type Brand, type BrandSlug, brandTitle, brands, defaultBrand };
|
package/dist/brands.js
CHANGED
package/dist/cn.d.ts
CHANGED
package/dist/cn.generated.js
CHANGED
|
@@ -167,6 +167,29 @@ const zSteps = [
|
|
|
167
167
|
"tf-toast"
|
|
168
168
|
];
|
|
169
169
|
const utilityFamilies = {
|
|
170
|
+
"tf-animation": [
|
|
171
|
+
"tf-blend-hushed",
|
|
172
|
+
"tf-blended",
|
|
173
|
+
"tf-breathing",
|
|
174
|
+
"tf-chip-arrives",
|
|
175
|
+
"tf-chip-departs",
|
|
176
|
+
"tf-cloud-breathing",
|
|
177
|
+
"tf-lands",
|
|
178
|
+
"tf-looping",
|
|
179
|
+
"tf-pinging",
|
|
180
|
+
"tf-pops",
|
|
181
|
+
"tf-shaken",
|
|
182
|
+
"tf-tallies",
|
|
183
|
+
"tf-turning",
|
|
184
|
+
"tf-twinkling"
|
|
185
|
+
],
|
|
186
|
+
"tf-cast": [
|
|
187
|
+
"tf-lifted",
|
|
188
|
+
"tf-pressed",
|
|
189
|
+
"tf-raised",
|
|
190
|
+
"tf-settled",
|
|
191
|
+
"tf-settled-quiet"
|
|
192
|
+
],
|
|
170
193
|
"tf-cloud-blur": [
|
|
171
194
|
"tf-cloud-md",
|
|
172
195
|
"tf-cloud-tight",
|
|
@@ -198,6 +221,11 @@ const utilityFamilies = {
|
|
|
198
221
|
],
|
|
199
222
|
"tf-lit": ["tf-lit-inside", "tf-lit-rest"],
|
|
200
223
|
"tf-mark-tone": ["tf-mark-failed", "tf-mark-lit"],
|
|
224
|
+
"tf-mask": [
|
|
225
|
+
"tf-cloud-low",
|
|
226
|
+
"tf-faded-x",
|
|
227
|
+
"tf-scroll-faded"
|
|
228
|
+
],
|
|
201
229
|
"tf-moves": ["tf-moves-glide", "tf-moves-spring"],
|
|
202
230
|
"tf-plated": ["tf-plated", "tf-plated-quiet"],
|
|
203
231
|
"tf-rule": [
|
|
@@ -208,10 +236,18 @@ const utilityFamilies = {
|
|
|
208
236
|
"tf-rule-quiet",
|
|
209
237
|
"tf-rule-quiet-fall"
|
|
210
238
|
],
|
|
211
|
-
"tf-
|
|
212
|
-
"tf-slides": ["tf-slides-settle", "tf-slides-spring"]
|
|
239
|
+
"tf-scroll": ["tf-scroll-hidden", "tf-scroll-thin"],
|
|
240
|
+
"tf-slides": ["tf-slides-settle", "tf-slides-spring"],
|
|
241
|
+
"tf-transition": [
|
|
242
|
+
"tf-arrives",
|
|
243
|
+
"tf-crossfades",
|
|
244
|
+
"tf-fades",
|
|
245
|
+
"tf-grows",
|
|
246
|
+
"tf-resizes",
|
|
247
|
+
"tf-reveals",
|
|
248
|
+
"tf-slows",
|
|
249
|
+
"tf-transition"
|
|
250
|
+
]
|
|
213
251
|
};
|
|
214
252
|
//#endregion
|
|
215
253
|
export { durationSteps, twScales, utilityFamilies, zSteps };
|
|
216
|
-
|
|
217
|
-
//# sourceMappingURL=cn.generated.js.map
|
package/dist/cn.js
CHANGED
package/dist/control.d.ts
CHANGED
|
@@ -10,5 +10,4 @@ declare const controlIcon: {
|
|
|
10
10
|
xs: string;
|
|
11
11
|
};
|
|
12
12
|
//#endregion
|
|
13
|
-
export { type ButtonSize, type ControlSize, type FieldSize, controlIcon, defaultFieldSize };
|
|
14
|
-
//# sourceMappingURL=control.d.ts.map
|
|
13
|
+
export { type ButtonSize, type ControlSize, type FieldSize, controlIcon, defaultFieldSize };
|