@codemonster-ru/vueforge-core 1.1.0 → 1.2.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/README.md +1 -0
- package/dist/components/accordion/VfAccordion.vue.d.ts.map +1 -1
- package/dist/components/alert/VfAlert.vue.d.ts.map +1 -1
- package/dist/components/checkbox/VfCheckbox.vue.d.ts +38 -0
- package/dist/components/checkbox/VfCheckbox.vue.d.ts.map +1 -0
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/dialog/VfDialog.vue.d.ts +5 -1
- package/dist/components/dialog/VfDialog.vue.d.ts.map +1 -1
- package/dist/components/drawer/VfDrawer.vue.d.ts +68 -0
- package/dist/components/drawer/VfDrawer.vue.d.ts.map +1 -0
- package/dist/components/drawer/index.d.ts +2 -0
- package/dist/components/drawer/index.d.ts.map +1 -0
- package/dist/components/dropdown/VfDropdown.vue.d.ts +4 -0
- package/dist/components/dropdown/VfDropdown.vue.d.ts.map +1 -1
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/link/VfLink.vue.d.ts +7 -2
- package/dist/components/link/VfLink.vue.d.ts.map +1 -1
- package/dist/components/nav-menu/VfNavMenu.vue.d.ts +24 -0
- package/dist/components/nav-menu/VfNavMenu.vue.d.ts.map +1 -0
- package/dist/components/nav-menu/VfNavMenuItemNode.vue.d.ts +23 -0
- package/dist/components/nav-menu/VfNavMenuItemNode.vue.d.ts.map +1 -0
- package/dist/components/nav-menu/index.d.ts +2 -0
- package/dist/components/nav-menu/index.d.ts.map +1 -0
- package/dist/components/popover/VfPopover.vue.d.ts +5 -1
- package/dist/components/popover/VfPopover.vue.d.ts.map +1 -1
- package/dist/components/radio/VfRadio.vue.d.ts +40 -0
- package/dist/components/radio/VfRadio.vue.d.ts.map +1 -0
- package/dist/components/radio/index.d.ts +2 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/switch/VfSwitch.vue.d.ts +36 -0
- package/dist/components/switch/VfSwitch.vue.d.ts.map +1 -0
- package/dist/components/switch/index.d.ts +2 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/tooltip/VfTooltip.vue.d.ts +4 -0
- package/dist/components/tooltip/VfTooltip.vue.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/providers/VfThemeProvider.vue.d.ts.map +1 -1
- package/dist/public-CFcLjh0P.js +306 -0
- package/dist/styles.css +1 -1
- package/dist/theme/default-preset.d.ts.map +1 -1
- package/dist/theme/motion.d.ts +10 -0
- package/dist/theme/motion.d.ts.map +1 -0
- package/dist/theme-api.js +1 -1
- package/dist/theme.css +39 -1
- package/dist/tokens.css +70 -2
- package/dist/types/components.d.ts +17 -3
- package/dist/types/components.d.ts.map +1 -1
- package/dist/types/theme.d.ts +69 -1
- package/dist/types/theme.d.ts.map +1 -1
- package/dist/vueforge-core.js +1497 -737
- package/package.json +14 -5
- package/dist/public-D2viaiWv.js +0 -202
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import { b as t } from "./breakpoints-hxAiWC8U.js";
|
|
2
|
+
const n = {
|
|
3
|
+
durationFast: "220ms",
|
|
4
|
+
durationNormal: "320ms",
|
|
5
|
+
easeStandard: "cubic-bezier(0.16, 1, 0.3, 1)"
|
|
6
|
+
};
|
|
7
|
+
function i(r) {
|
|
8
|
+
return Number.parseInt(r, 10);
|
|
9
|
+
}
|
|
10
|
+
const C = {
|
|
11
|
+
fast: i(n.durationFast),
|
|
12
|
+
normal: i(n.durationNormal)
|
|
13
|
+
}, d = {
|
|
14
|
+
breakpointXs: `${t.xs}px`,
|
|
15
|
+
breakpointSm: `${t.sm}px`,
|
|
16
|
+
breakpointMd: `${t.md}px`,
|
|
17
|
+
breakpointLg: `${t.lg}px`,
|
|
18
|
+
breakpointXl: `${t.xl}px`,
|
|
19
|
+
breakpoint2xl: `${t["2xl"]}px`
|
|
20
|
+
}, v = {
|
|
21
|
+
name: "vueforge-default",
|
|
22
|
+
tokens: {
|
|
23
|
+
colorBg: "#fcfcfd",
|
|
24
|
+
colorSurface: "#ffffff",
|
|
25
|
+
colorSurfaceMuted: "#f5f7fb",
|
|
26
|
+
colorText: "#172033",
|
|
27
|
+
colorMuted: "#69738a",
|
|
28
|
+
colorBorder: "#d8e0ef",
|
|
29
|
+
colorPrimary: "#0b63f6",
|
|
30
|
+
colorPrimaryContrast: "#ffffff",
|
|
31
|
+
colorPrimarySoft: "color-mix(in srgb, var(--vf-color-primary) 12%, var(--vf-color-surface))",
|
|
32
|
+
colorPrimaryBorderSoft: "color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border))",
|
|
33
|
+
colorFocusRing: "color-mix(in srgb, var(--vf-color-primary) 32%, var(--vf-color-surface))",
|
|
34
|
+
colorSuccess: "#16a34a",
|
|
35
|
+
colorSuccessContrast: "#ffffff",
|
|
36
|
+
colorInfo: "#0ea5e9",
|
|
37
|
+
colorInfoContrast: "#ffffff",
|
|
38
|
+
colorWarn: "#f59e0b",
|
|
39
|
+
colorWarnContrast: "#1f1300",
|
|
40
|
+
colorHelp: "#8b5cf6",
|
|
41
|
+
colorHelpContrast: "#ffffff",
|
|
42
|
+
colorDanger: "#dc2626",
|
|
43
|
+
colorDangerContrast: "#ffffff",
|
|
44
|
+
colorContrast: "#111827",
|
|
45
|
+
colorContrastContrast: "#ffffff",
|
|
46
|
+
colorSuccessSoft: "color-mix(in srgb, var(--vf-color-success) 12%, var(--vf-color-surface))",
|
|
47
|
+
colorInfoSoft: "color-mix(in srgb, var(--vf-color-info) 12%, var(--vf-color-surface))",
|
|
48
|
+
colorWarnSoft: "color-mix(in srgb, var(--vf-color-warn) 12%, var(--vf-color-surface))",
|
|
49
|
+
colorHelpSoft: "color-mix(in srgb, var(--vf-color-help) 12%, var(--vf-color-surface))",
|
|
50
|
+
colorDangerSoft: "color-mix(in srgb, var(--vf-color-danger) 12%, var(--vf-color-surface))",
|
|
51
|
+
colorContrastSoft: "color-mix(in srgb, var(--vf-color-contrast) 10%, var(--vf-color-surface))",
|
|
52
|
+
colorSuccessBorderSoft: "color-mix(in srgb, var(--vf-color-success) 24%, var(--vf-color-border))",
|
|
53
|
+
colorInfoBorderSoft: "color-mix(in srgb, var(--vf-color-info) 24%, var(--vf-color-border))",
|
|
54
|
+
colorWarnBorderSoft: "color-mix(in srgb, var(--vf-color-warn) 24%, var(--vf-color-border))",
|
|
55
|
+
colorHelpBorderSoft: "color-mix(in srgb, var(--vf-color-help) 24%, var(--vf-color-border))",
|
|
56
|
+
colorDangerBorderSoft: "color-mix(in srgb, var(--vf-color-danger) 24%, var(--vf-color-border))",
|
|
57
|
+
colorContrastBorderSoft: "color-mix(in srgb, var(--vf-color-contrast) 24%, var(--vf-color-border))",
|
|
58
|
+
focusRingWidth: "3px",
|
|
59
|
+
radius: "0.75rem",
|
|
60
|
+
radiusControl: "calc(var(--vf-radius) - 0.125rem)",
|
|
61
|
+
radiusControlTight: "calc(var(--vf-radius) - 0.25rem)",
|
|
62
|
+
radiusSurface: "var(--vf-radius)",
|
|
63
|
+
radiusOverlay: "calc(var(--vf-radius) + 0.125rem)",
|
|
64
|
+
...d,
|
|
65
|
+
controlHeightSm: "1.75rem",
|
|
66
|
+
controlHeightMd: "2.25rem",
|
|
67
|
+
controlHeightLg: "2.5rem",
|
|
68
|
+
controlFontSizeSm: "0.875rem",
|
|
69
|
+
controlFontSizeMd: "0.9375rem",
|
|
70
|
+
controlFontSizeLg: "1rem",
|
|
71
|
+
buttonPaddingSm: "0.25rem 0.55rem",
|
|
72
|
+
buttonPaddingMd: "0.375rem 0.75rem",
|
|
73
|
+
buttonPaddingLg: "0.5rem 0.875rem",
|
|
74
|
+
buttonGap: "0.5rem",
|
|
75
|
+
fieldPaddingSm: "0.25rem 0.55rem",
|
|
76
|
+
fieldPaddingMd: "0.375rem 0.65rem",
|
|
77
|
+
fieldPaddingLg: "0.5rem 0.75rem",
|
|
78
|
+
checkboxSizeSm: "1rem",
|
|
79
|
+
checkboxSizeMd: "1.125rem",
|
|
80
|
+
checkboxSizeLg: "1.25rem",
|
|
81
|
+
selectionGap: "0.65rem",
|
|
82
|
+
checkboxMarkWidth: "0.3rem",
|
|
83
|
+
checkboxMarkHeight: "0.55rem",
|
|
84
|
+
checkboxMarkStrokeWidth: "2px",
|
|
85
|
+
checkboxMarkOffsetY: "-0.05rem",
|
|
86
|
+
radioDotSize: "0.5rem",
|
|
87
|
+
switchWidthSm: "2rem",
|
|
88
|
+
switchWidthMd: "2.25rem",
|
|
89
|
+
switchWidthLg: "2.5rem",
|
|
90
|
+
switchHeightSm: "1.125rem",
|
|
91
|
+
switchHeightMd: "1.25rem",
|
|
92
|
+
switchHeightLg: "1.375rem",
|
|
93
|
+
switchThumbSizeSm: "0.75rem",
|
|
94
|
+
switchThumbSizeMd: "0.875rem",
|
|
95
|
+
switchThumbSizeLg: "1rem",
|
|
96
|
+
switchThumbInset: "0.1875rem",
|
|
97
|
+
textareaMinHeightSm: "4.5rem",
|
|
98
|
+
textareaMinHeightMd: "6rem",
|
|
99
|
+
textareaMinHeightLg: "7rem",
|
|
100
|
+
overlayPadding: "0.875rem",
|
|
101
|
+
overlayGap: "0.75rem",
|
|
102
|
+
overlayViewportPadding: "1rem",
|
|
103
|
+
menuPadding: "0.4rem",
|
|
104
|
+
menuGap: "0.2rem",
|
|
105
|
+
menuMinWidth: "12rem",
|
|
106
|
+
surfacePadding: "0.95rem",
|
|
107
|
+
surfaceGap: "0.625rem",
|
|
108
|
+
surfacePaddingCompact: "0.7rem",
|
|
109
|
+
surfaceGapCompact: "0.5rem",
|
|
110
|
+
sectionPadding: "0.75rem 0.9rem",
|
|
111
|
+
sectionGap: "0.75rem",
|
|
112
|
+
tabsGap: "0.875rem",
|
|
113
|
+
tabsListGap: "0.375rem",
|
|
114
|
+
tabsListPadding: "0.25rem",
|
|
115
|
+
tabsTabPaddingInline: "0.8rem",
|
|
116
|
+
tabsPanelPaddingTop: "0.75rem",
|
|
117
|
+
navMenuListGap: "0.2rem",
|
|
118
|
+
navMenuNestedGap: "0.15rem",
|
|
119
|
+
navMenuCollapseOffsetTop: "0.1rem",
|
|
120
|
+
navMenuCollapseInsetLevel0Margin: "1.275rem",
|
|
121
|
+
navMenuCollapseInsetLevel0Padding: "0.7rem",
|
|
122
|
+
navMenuCollapseInsetSimpleLevel0Margin: "0.75rem",
|
|
123
|
+
navMenuCollapseInsetSimpleLevel0Padding: "0.45rem",
|
|
124
|
+
navMenuCollapseInsetDeepMargin: "0.35rem",
|
|
125
|
+
navMenuCollapseInsetDeepPadding: "0.35rem",
|
|
126
|
+
navMenuCollapseInsetSimpleDeepMargin: "0.2rem",
|
|
127
|
+
navMenuCollapseInsetSimpleDeepPadding: "0.2rem",
|
|
128
|
+
navMenuNodeGroupSpacing: "0.1rem",
|
|
129
|
+
navMenuGroupPadding: "0.35rem 0.65rem",
|
|
130
|
+
navMenuGroupFontSize: "0.875rem",
|
|
131
|
+
navMenuItemPadding: "0.35rem 0.65rem",
|
|
132
|
+
navMenuItemGap: "0.55rem",
|
|
133
|
+
navMenuLeadingIconSize: "1rem",
|
|
134
|
+
navMenuLeadingIconColumnSize: "1.25rem",
|
|
135
|
+
badgeHeight: "1.625rem",
|
|
136
|
+
badgePadding: "0.2rem 0.55rem",
|
|
137
|
+
badgeGap: "0.375rem",
|
|
138
|
+
badgeRadius: "999px",
|
|
139
|
+
badgeFontSize: "0.8125rem",
|
|
140
|
+
badgeLineHeight: "1.2",
|
|
141
|
+
tagHeight: "1.75rem",
|
|
142
|
+
tagPadding: "0.25rem 0.6rem",
|
|
143
|
+
tagFontSize: "0.8125rem",
|
|
144
|
+
tagLineHeight: "1.2",
|
|
145
|
+
tooltipPadding: "0.45rem 0.65rem",
|
|
146
|
+
tooltipMaxWidth: "16rem",
|
|
147
|
+
tooltipFontSize: "0.8125rem",
|
|
148
|
+
tooltipLineHeight: "1.4",
|
|
149
|
+
dialogWidthSm: "28rem",
|
|
150
|
+
dialogWidthMd: "36rem",
|
|
151
|
+
dialogWidthLg: "48rem",
|
|
152
|
+
dialogMaxHeight: "min(85vh, 48rem)",
|
|
153
|
+
drawerSizeSm: "20rem",
|
|
154
|
+
drawerSizeMd: "26rem",
|
|
155
|
+
drawerSizeLg: "32rem",
|
|
156
|
+
drawerOffsetTop: "0px",
|
|
157
|
+
drawerBodyPadding: "var(--vf-overlay-padding)",
|
|
158
|
+
dialogTitleFontSize: "1.125rem",
|
|
159
|
+
dialogHeaderGap: "0.75rem",
|
|
160
|
+
dialogActionsGap: "0.5rem",
|
|
161
|
+
popoverWidth: "min(100vw - 2rem, 22rem)",
|
|
162
|
+
floatingArrowSize: "0.625rem",
|
|
163
|
+
overlayBackdrop: "rgba(15, 23, 42, 0.56)",
|
|
164
|
+
alertPrimarySoft: "color-mix(in srgb, var(--vf-color-primary) 8%, var(--vf-color-surface))",
|
|
165
|
+
alertPrimaryBorderSoft: "color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border))",
|
|
166
|
+
alertContentGap: "0.25rem",
|
|
167
|
+
alertTitleFontSize: "0.9375rem",
|
|
168
|
+
cardTitleFontSize: "1rem",
|
|
169
|
+
panelTitleFontSize: "0.9375rem",
|
|
170
|
+
textLineHeight: "1.5",
|
|
171
|
+
headingLineHeight: "1.3",
|
|
172
|
+
tabsLineHeight: "1.2",
|
|
173
|
+
motionDurationFast: n.durationFast,
|
|
174
|
+
motionDurationNormal: n.durationNormal,
|
|
175
|
+
motionEaseStandard: n.easeStandard,
|
|
176
|
+
zOverlay: "1000",
|
|
177
|
+
zDrawer: "1000",
|
|
178
|
+
zDropdown: "900",
|
|
179
|
+
zPopover: "925",
|
|
180
|
+
zTooltip: "950",
|
|
181
|
+
spacing: "1rem",
|
|
182
|
+
shadow: "none"
|
|
183
|
+
},
|
|
184
|
+
dark: {
|
|
185
|
+
colorBg: "#0f172a",
|
|
186
|
+
colorSurface: "#162033",
|
|
187
|
+
colorSurfaceMuted: "#1b2840",
|
|
188
|
+
colorText: "#eff4ff",
|
|
189
|
+
colorMuted: "#9fb0cf",
|
|
190
|
+
colorBorder: "#2d405f",
|
|
191
|
+
colorPrimary: "#6ea8fe",
|
|
192
|
+
colorPrimaryContrast: "#081120",
|
|
193
|
+
colorPrimarySoft: "color-mix(in srgb, var(--vf-color-primary) 12%, var(--vf-color-surface))",
|
|
194
|
+
colorPrimaryBorderSoft: "color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border))",
|
|
195
|
+
colorFocusRing: "color-mix(in srgb, var(--vf-color-primary) 32%, var(--vf-color-surface))",
|
|
196
|
+
colorSuccess: "#4ade80",
|
|
197
|
+
colorSuccessContrast: "#081120",
|
|
198
|
+
colorInfo: "#38bdf8",
|
|
199
|
+
colorInfoContrast: "#081120",
|
|
200
|
+
colorWarn: "#fbbf24",
|
|
201
|
+
colorWarnContrast: "#1f1300",
|
|
202
|
+
colorHelp: "#a78bfa",
|
|
203
|
+
colorHelpContrast: "#081120",
|
|
204
|
+
colorDanger: "#f87171",
|
|
205
|
+
colorDangerContrast: "#081120",
|
|
206
|
+
colorContrast: "#f3f4f6",
|
|
207
|
+
colorContrastContrast: "#111827",
|
|
208
|
+
colorSuccessSoft: "color-mix(in srgb, var(--vf-color-success) 12%, var(--vf-color-surface))",
|
|
209
|
+
colorInfoSoft: "color-mix(in srgb, var(--vf-color-info) 12%, var(--vf-color-surface))",
|
|
210
|
+
colorWarnSoft: "color-mix(in srgb, var(--vf-color-warn) 12%, var(--vf-color-surface))",
|
|
211
|
+
colorHelpSoft: "color-mix(in srgb, var(--vf-color-help) 12%, var(--vf-color-surface))",
|
|
212
|
+
colorDangerSoft: "color-mix(in srgb, var(--vf-color-danger) 12%, var(--vf-color-surface))",
|
|
213
|
+
colorContrastSoft: "color-mix(in srgb, var(--vf-color-contrast) 10%, var(--vf-color-surface))",
|
|
214
|
+
colorSuccessBorderSoft: "color-mix(in srgb, var(--vf-color-success) 24%, var(--vf-color-border))",
|
|
215
|
+
colorInfoBorderSoft: "color-mix(in srgb, var(--vf-color-info) 24%, var(--vf-color-border))",
|
|
216
|
+
colorWarnBorderSoft: "color-mix(in srgb, var(--vf-color-warn) 24%, var(--vf-color-border))",
|
|
217
|
+
colorHelpBorderSoft: "color-mix(in srgb, var(--vf-color-help) 24%, var(--vf-color-border))",
|
|
218
|
+
colorDangerBorderSoft: "color-mix(in srgb, var(--vf-color-danger) 24%, var(--vf-color-border))",
|
|
219
|
+
colorContrastBorderSoft: "color-mix(in srgb, var(--vf-color-contrast) 24%, var(--vf-color-border))",
|
|
220
|
+
focusRingWidth: "3px",
|
|
221
|
+
zOverlay: "1000",
|
|
222
|
+
zDrawer: "1000",
|
|
223
|
+
zDropdown: "900",
|
|
224
|
+
zPopover: "925",
|
|
225
|
+
zTooltip: "950",
|
|
226
|
+
shadow: "none"
|
|
227
|
+
}
|
|
228
|
+
}, g = "vf-theme", u = "data-vf-theme";
|
|
229
|
+
function P(r) {
|
|
230
|
+
return r === "light" || r === "dark" || r === "system";
|
|
231
|
+
}
|
|
232
|
+
function k(r, o) {
|
|
233
|
+
return r === "system" ? o : r;
|
|
234
|
+
}
|
|
235
|
+
const m = "vf", p = "vf-theme-preset", b = ":root";
|
|
236
|
+
function S(r) {
|
|
237
|
+
return r.replace(/[A-Z]/g, (o) => `-${o.toLowerCase()}`);
|
|
238
|
+
}
|
|
239
|
+
function l(...r) {
|
|
240
|
+
return Object.assign({}, ...r);
|
|
241
|
+
}
|
|
242
|
+
function y(r) {
|
|
243
|
+
return r;
|
|
244
|
+
}
|
|
245
|
+
function h(r = {}) {
|
|
246
|
+
const o = r.prefix ?? m, e = r.rootSelector ?? b, a = r.attribute ?? u;
|
|
247
|
+
return {
|
|
248
|
+
prefix: o,
|
|
249
|
+
rootSelector: e,
|
|
250
|
+
darkModeSelector: r.darkModeSelector ?? `${e}[${a}='dark']`,
|
|
251
|
+
attribute: a,
|
|
252
|
+
storageKey: r.storageKey ?? g,
|
|
253
|
+
styleId: r.styleId ?? p
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
function x(r = {}) {
|
|
257
|
+
const o = r.preset ?? v, e = r.extend, a = l(o.tokens, e, r.light), c = l(o.tokens, o.dark, e, r.dark);
|
|
258
|
+
return {
|
|
259
|
+
name: o.name,
|
|
260
|
+
light: a,
|
|
261
|
+
dark: c
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
function z(r = {}) {
|
|
265
|
+
return {
|
|
266
|
+
preset: x(r),
|
|
267
|
+
options: h(r.options)
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
function s(r, o = m) {
|
|
271
|
+
return Object.fromEntries(
|
|
272
|
+
Object.entries(r).map(([e, a]) => [`--${o}-${S(e)}`, a])
|
|
273
|
+
);
|
|
274
|
+
}
|
|
275
|
+
function f(r) {
|
|
276
|
+
return Object.entries(r).map(([o, e]) => ` ${o}: ${e};`).join(`
|
|
277
|
+
`);
|
|
278
|
+
}
|
|
279
|
+
function M(r) {
|
|
280
|
+
const { preset: o, options: e } = r, a = f(s(o.light, e.prefix)), c = f(s(o.dark, e.prefix));
|
|
281
|
+
return [
|
|
282
|
+
`${e.rootSelector} {
|
|
283
|
+
${a}
|
|
284
|
+
}`,
|
|
285
|
+
`${e.darkModeSelector} {
|
|
286
|
+
${c}
|
|
287
|
+
}`
|
|
288
|
+
].join(`
|
|
289
|
+
|
|
290
|
+
`);
|
|
291
|
+
}
|
|
292
|
+
function L(r, o = document) {
|
|
293
|
+
const e = r.options.styleId, a = o.getElementById(e) ?? Object.assign(o.createElement("style"), { id: e });
|
|
294
|
+
return a.textContent = M(r), a.parentNode || o.head.appendChild(a), a;
|
|
295
|
+
}
|
|
296
|
+
export {
|
|
297
|
+
g as D,
|
|
298
|
+
L as a,
|
|
299
|
+
k as b,
|
|
300
|
+
u as c,
|
|
301
|
+
y as d,
|
|
302
|
+
v as e,
|
|
303
|
+
P as i,
|
|
304
|
+
z as r,
|
|
305
|
+
C as v
|
|
306
|
+
};
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--vf-breakpoint-xs: 480px;--vf-breakpoint-sm: 640px;--vf-breakpoint-md: 768px;--vf-breakpoint-lg: 1024px;--vf-breakpoint-xl: 1280px;--vf-breakpoint-2xl: 1536px}:root{--vf-color-bg: #fcfcfd;--vf-color-surface: #ffffff;--vf-color-surface-muted: #f5f7fb;--vf-color-text: #172033;--vf-color-muted: #69738a;--vf-color-border: #d8e0ef;--vf-color-primary: #0b63f6;--vf-color-primary-contrast: #ffffff;--vf-color-primary-soft: color-mix(in srgb, var(--vf-color-primary) 12%, var(--vf-color-surface));--vf-color-primary-border-soft: color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border));--vf-color-focus-ring: color-mix(in srgb, var(--vf-color-primary) 52%, var(--vf-color-surface));--vf-color-success: #16a34a;--vf-color-danger: #dc2626;--vf-color-success-soft: color-mix(in srgb, var(--vf-color-success) 12%, var(--vf-color-surface));--vf-color-danger-soft: color-mix(in srgb, var(--vf-color-danger) 12%, var(--vf-color-surface));--vf-color-success-border-soft: color-mix(in srgb, var(--vf-color-success) 24%, var(--vf-color-border));--vf-color-danger-border-soft: color-mix(in srgb, var(--vf-color-danger) 24%, var(--vf-color-border));--vf-radius: .75rem;--vf-radius-control: calc(var(--vf-radius) - .125rem);--vf-radius-control-tight: calc(var(--vf-radius) - .25rem);--vf-radius-surface: var(--vf-radius);--vf-radius-overlay: calc(var(--vf-radius) + .125rem);--vf-control-height-sm: 1.75rem;--vf-control-height-md: 2.25rem;--vf-control-height-lg: 2.5rem;--vf-control-font-size-sm: .875rem;--vf-control-font-size-md: .9375rem;--vf-control-font-size-lg: 1rem;--vf-button-padding-sm: .25rem .55rem;--vf-button-padding-md: .375rem .75rem;--vf-button-padding-lg: .5rem .875rem;--vf-button-gap: .5rem;--vf-field-padding-sm: .25rem .55rem;--vf-field-padding-md: .375rem .65rem;--vf-field-padding-lg: .5rem .75rem;--vf-textarea-min-height-sm: 4.5rem;--vf-textarea-min-height-md: 6rem;--vf-textarea-min-height-lg: 7rem;--vf-overlay-padding: .875rem;--vf-overlay-gap: .75rem;--vf-overlay-viewport-padding: 1rem;--vf-menu-padding: .4rem;--vf-menu-gap: .2rem;--vf-menu-min-width: 12rem;--vf-surface-padding: .95rem;--vf-surface-gap: .625rem;--vf-surface-padding-compact: .7rem;--vf-surface-gap-compact: .5rem;--vf-section-padding: .75rem .9rem;--vf-section-gap: .75rem;--vf-tabs-gap: .875rem;--vf-tabs-list-gap: .375rem;--vf-tabs-list-padding: .25rem;--vf-tabs-tab-padding-inline: .8rem;--vf-tabs-panel-padding-top: .75rem;--vf-badge-height: 1.625rem;--vf-badge-padding: .2rem .55rem;--vf-badge-gap: .375rem;--vf-badge-radius: 999px;--vf-badge-font-size: .8125rem;--vf-badge-line-height: 1.2;--vf-tag-height: 1.75rem;--vf-tag-padding: .25rem .6rem;--vf-tag-font-size: .8125rem;--vf-tag-line-height: 1.2;--vf-tooltip-padding: .45rem .65rem;--vf-tooltip-max-width: 16rem;--vf-tooltip-font-size: .8125rem;--vf-tooltip-line-height: 1.4;--vf-dialog-width-sm: 28rem;--vf-dialog-width-md: 36rem;--vf-dialog-width-lg: 48rem;--vf-dialog-max-height: min(85vh, 48rem);--vf-dialog-title-font-size: 1.125rem;--vf-dialog-header-gap: .75rem;--vf-dialog-actions-gap: .5rem;--vf-popover-width: min(100vw - 2rem, 22rem);--vf-floating-arrow-size: .625rem;--vf-overlay-backdrop: rgba(15, 23, 42, .56);--vf-overlay-backdrop-blur: 6px;--vf-alert-primary-soft: color-mix(in srgb, var(--vf-color-primary) 8%, var(--vf-color-surface));--vf-alert-primary-border-soft: color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border));--vf-alert-content-gap: .25rem;--vf-alert-title-font-size: .9375rem;--vf-card-title-font-size: 1rem;--vf-panel-title-font-size: .9375rem;--vf-text-line-height: 1.5;--vf-heading-line-height: 1.3;--vf-tabs-line-height: 1.2;--vf-spacing: 1rem;--vf-shadow: none}:root{color-scheme:light;background-color:var(--vf-color-bg);color:var(--vf-color-text)}:root[data-vf-theme=dark]{color-scheme:dark;--vf-color-bg: #0f172a;--vf-color-surface: #162033;--vf-color-surface-muted: #1b2840;--vf-color-text: #eff4ff;--vf-color-muted: #9fb0cf;--vf-color-border: #2d405f;--vf-color-primary: #6ea8fe;--vf-color-primary-contrast: #081120;--vf-color-primary-soft: color-mix(in srgb, var(--vf-color-primary) 12%, var(--vf-color-surface));--vf-color-primary-border-soft: color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border));--vf-color-focus-ring: color-mix(in srgb, var(--vf-color-primary) 52%, var(--vf-color-surface));--vf-color-success: #4ade80;--vf-color-danger: #f87171;--vf-color-success-soft: color-mix(in srgb, var(--vf-color-success) 12%, var(--vf-color-surface));--vf-color-danger-soft: color-mix(in srgb, var(--vf-color-danger) 12%, var(--vf-color-surface));--vf-color-success-border-soft: color-mix(in srgb, var(--vf-color-success) 24%, var(--vf-color-border));--vf-color-danger-border-soft: color-mix(in srgb, var(--vf-color-danger) 24%, var(--vf-color-border));--vf-shadow: none}.vf-button,.vf-link,.vf-input,.vf-card,.vf-textarea,.vf-panel,.vf-badge,.vf-divider,.vf-dialog,.vf-dialog__overlay,.vf-dialog__content,.vf-dropdown,.vf-dropdown__trigger,.vf-dropdown__menu,.vf-accordion,.vf-accordion__trigger,.vf-tooltip,.vf-tooltip__trigger,.vf-tooltip__content,.vf-tabs,.vf-tabs__list,.vf-tabs__tab,.vf-tabs__panel{box-sizing:border-box;font:inherit}.vf-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--vf-button-gap);min-height:var(--vf-control-height-md);padding:var(--vf-button-padding-md);border:1px solid transparent;border-radius:var(--vf-radius-control);background:var(--vf-color-primary);color:var(--vf-color-primary-contrast);cursor:pointer;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.vf-icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--vf-control-height-md);height:var(--vf-control-height-md);padding:0;border:1px solid transparent;border-radius:var(--vf-radius-control);background:transparent;color:var(--vf-color-text);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.vf-button:hover:not(:disabled){background:var(--vf-color-primary);filter:brightness(.96)}.vf-button:focus-visible,.vf-icon-button:focus-visible{outline:none;border-color:var(--vf-color-primary);border-radius:var(--vf-radius-control);box-shadow:0 0 0 2px var(--vf-color-focus-ring)}.vf-button:disabled,.vf-icon-button:disabled{opacity:.65;cursor:not-allowed}.vf-button--secondary{background:var(--vf-color-surface-muted);border-color:var(--vf-color-border);color:var(--vf-color-text)}.vf-icon-button--primary{background:var(--vf-color-primary);color:var(--vf-color-primary-contrast)}.vf-icon-button--secondary{background:var(--vf-color-surface-muted);border-color:var(--vf-color-border);color:var(--vf-color-text)}.vf-button--ghost,.vf-icon-button--ghost{background:transparent;color:var(--vf-color-text)}.vf-button--secondary:hover:not(:disabled),.vf-button--ghost:hover:not(:disabled),.vf-icon-button--secondary:hover:not(:disabled),.vf-icon-button--ghost:hover:not(:disabled){background:var(--vf-color-surface-muted);border-color:var(--vf-color-primary)}.vf-icon-button--primary:hover:not(:disabled){background:var(--vf-color-primary);filter:brightness(.96)}.vf-button--sm{min-height:var(--vf-control-height-sm);padding:var(--vf-button-padding-sm);font-size:var(--vf-control-font-size-sm)}.vf-icon-button--sm{width:var(--vf-control-height-sm);height:var(--vf-control-height-sm)}.vf-button--lg{min-height:var(--vf-control-height-lg);padding:var(--vf-button-padding-lg);font-size:var(--vf-control-font-size-lg)}.vf-icon-button--lg{width:var(--vf-control-height-lg);height:var(--vf-control-height-lg)}.vf-button--block{width:100%}.vf-link{display:inline-flex;width:fit-content;max-width:100%;align-self:flex-start;border:1px solid transparent;color:var(--vf-color-primary);text-decoration:none;text-underline-offset:.2em;transition:color .18s ease}.vf-link:hover{color:var(--vf-color-primary)}.vf-link:focus-visible{outline:none;border-color:var(--vf-color-primary);border-radius:var(--vf-radius-control);box-shadow:0 0 0 2px var(--vf-color-focus-ring)}.vf-link--muted{color:var(--vf-color-muted)}.vf-link--underline{text-decoration:underline}.vf-link--underline:focus-visible{text-decoration:none}.vf-input,.vf-textarea{width:100%}.vf-input{min-height:var(--vf-control-height-md);padding:var(--vf-field-padding-md);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-control);background:var(--vf-color-surface);color:var(--vf-color-text);transition:border-color .18s ease}.vf-input::placeholder{color:var(--vf-color-muted)}.vf-input:focus,.vf-input:focus-visible{border-color:var(--vf-color-primary)}.vf-input:focus-visible,.vf-textarea:focus-visible{outline:none;border-radius:var(--vf-radius-control);box-shadow:0 0 0 2px var(--vf-color-focus-ring)}.vf-input--sm{min-height:var(--vf-control-height-sm);padding:var(--vf-field-padding-sm);font-size:var(--vf-control-font-size-sm)}.vf-input--lg{min-height:var(--vf-control-height-lg);padding:var(--vf-field-padding-lg)}.vf-input--invalid{border-color:var(--vf-color-danger)}.vf-textarea{min-height:var(--vf-textarea-min-height-md);padding:var(--vf-field-padding-md);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-control);background:var(--vf-color-surface);color:var(--vf-color-text);resize:vertical;transition:border-color .18s ease}.vf-textarea::placeholder{color:var(--vf-color-muted)}.vf-textarea:focus,.vf-textarea:focus-visible{border-color:var(--vf-color-primary)}.vf-textarea--sm{min-height:var(--vf-textarea-min-height-sm);padding:var(--vf-field-padding-sm);font-size:var(--vf-control-font-size-sm)}.vf-textarea--lg{min-height:var(--vf-textarea-min-height-lg);padding:var(--vf-field-padding-lg)}.vf-textarea--invalid{border-color:var(--vf-color-danger)}.vf-input:disabled,.vf-textarea:disabled{opacity:.65;cursor:not-allowed}.vf-card{display:flex;flex-direction:column;gap:var(--vf-surface-gap);padding:var(--vf-surface-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-surface);background:var(--vf-color-surface);color:var(--vf-color-text);line-height:var(--vf-text-line-height)}.vf-card--compact{padding:var(--vf-surface-padding-compact);gap:var(--vf-surface-gap-compact)}.vf-card__title{margin:0;font-size:var(--vf-card-title-font-size);font-weight:600;line-height:var(--vf-heading-line-height)}.vf-card__body{color:var(--vf-color-muted)}.vf-panel{display:flex;flex-direction:column;gap:var(--vf-surface-gap);padding:var(--vf-surface-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-surface);background:var(--vf-color-surface);color:var(--vf-color-text);line-height:var(--vf-text-line-height)}.vf-panel--subtle{background:transparent;box-shadow:none}.vf-panel__title{margin:0;font-size:var(--vf-panel-title-font-size);font-weight:600;line-height:var(--vf-heading-line-height)}.vf-badge{display:inline-flex;align-items:center;gap:var(--vf-badge-gap);min-height:var(--vf-badge-height);padding:var(--vf-badge-padding);border-radius:var(--vf-badge-radius);font-size:var(--vf-badge-font-size);font-weight:600;line-height:var(--vf-badge-line-height);white-space:nowrap;background:var(--vf-color-surface-muted);border:1px solid var(--vf-color-border);color:var(--vf-color-text)}.vf-badge--primary{background:var(--vf-color-primary-soft);border-color:var(--vf-color-primary);color:var(--vf-color-primary)}.vf-badge--success{background:var(--vf-color-success-soft);border-color:var(--vf-color-success);color:var(--vf-color-success)}.vf-badge--danger{background:var(--vf-color-danger-soft);border-color:var(--vf-color-danger);color:var(--vf-color-danger)}.vf-tag{display:inline-flex;align-items:center;min-height:var(--vf-tag-height);padding:var(--vf-tag-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-control-tight);background:var(--vf-color-surface);color:var(--vf-color-text);font-size:var(--vf-tag-font-size);line-height:var(--vf-tag-line-height);white-space:nowrap}.vf-tag--primary{border-color:var(--vf-color-primary);color:var(--vf-color-primary)}.vf-tag--success{border-color:var(--vf-color-success);color:var(--vf-color-success)}.vf-tag--danger{border-color:var(--vf-color-danger);color:var(--vf-color-danger)}.vf-alert{display:grid;grid-template-columns:auto 1fr;gap:var(--vf-section-gap);padding:var(--vf-section-padding);border:1px solid var(--vf-alert-primary-border-soft);border-radius:var(--vf-radius-surface);background:var(--vf-alert-primary-soft);color:var(--vf-color-text);line-height:var(--vf-text-line-height)}.vf-alert--success{border-color:var(--vf-color-success-border-soft);background:var(--vf-color-success-soft)}.vf-alert--danger{border-color:var(--vf-color-danger-border-soft);background:var(--vf-color-danger-soft)}.vf-alert__icon{display:inline-flex;align-items:center;justify-content:center;align-self:start;color:var(--vf-color-primary)}.vf-alert--success .vf-alert__icon{color:var(--vf-color-success)}.vf-alert--danger .vf-alert__icon{color:var(--vf-color-danger)}.vf-alert__content{display:grid;gap:var(--vf-alert-content-gap)}.vf-alert__title{margin:0;font-size:var(--vf-alert-title-font-size);font-weight:600;line-height:var(--vf-heading-line-height)}.vf-alert__body{color:var(--vf-color-muted);line-height:var(--vf-text-line-height)}.vf-divider{margin:0;border:0;background:var(--vf-color-border);flex-shrink:0}.vf-divider--horizontal{width:100%;height:1px}.vf-divider--vertical{width:1px;align-self:stretch}.vf-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--vf-overlay-viewport-padding)}.vf-dialog__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vf-overlay-backdrop);-webkit-backdrop-filter:blur(var(--vf-overlay-backdrop-blur));backdrop-filter:blur(var(--vf-overlay-backdrop-blur))}.vf-dialog__content{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--vf-overlay-gap);width:min(100%,var(--vf-dialog-width-md));max-height:var(--vf-dialog-max-height);overflow:auto;padding:var(--vf-overlay-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-overlay);background:var(--vf-color-surface);color:var(--vf-color-text);line-height:var(--vf-text-line-height)}.vf-dialog__content:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 2px var(--vf-color-focus-ring)}.vf-dialog__content--sm{width:min(100%,var(--vf-dialog-width-sm))}.vf-dialog__content--lg{width:min(100%,var(--vf-dialog-width-lg))}.vf-dialog__header,.vf-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--vf-dialog-header-gap)}.vf-dialog__actions{display:inline-flex;align-items:center;gap:var(--vf-dialog-actions-gap)}.vf-dialog__title{margin:0;font-size:var(--vf-dialog-title-font-size);font-weight:700;line-height:var(--vf-heading-line-height)}.vf-dialog__description{margin:0;color:var(--vf-color-muted);line-height:var(--vf-text-line-height)}.vf-dialog__body{color:var(--vf-color-text);line-height:var(--vf-text-line-height)}.vf-dropdown,.vf-popover{position:relative;display:inline-flex;flex-direction:column}.vf-dropdown__trigger,.vf-popover__trigger{width:fit-content;border:1px solid transparent;border-radius:var(--vf-radius-control)}.vf-dropdown__trigger:focus-visible,.vf-popover__trigger:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 2px var(--vf-color-focus-ring)}.vf-dropdown__menu{position:fixed;top:0;left:0;z-index:900;display:flex;flex-direction:column;gap:var(--vf-menu-gap);min-width:var(--vf-menu-min-width);padding:var(--vf-menu-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-control);background:var(--vf-color-surface);will-change:left,top}.vf-dropdown__arrow{position:absolute;z-index:0;width:var(--vf-floating-arrow-size);height:var(--vf-floating-arrow-size);background:var(--vf-color-surface);border-left:1px solid var(--vf-color-border);border-top:1px solid var(--vf-color-border);transform:rotate(45deg);pointer-events:none}.vf-dropdown__arrow--bottom{margin-top:-1px}.vf-dropdown__arrow--top{margin-top:1px}.vf-popover__content{position:fixed;left:0;top:0;z-index:925;width:var(--vf-popover-width);padding:var(--vf-section-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-surface);background:var(--vf-color-surface);color:var(--vf-color-text);line-height:var(--vf-text-line-height);will-change:left,top}.vf-popover__arrow{position:absolute;width:var(--vf-floating-arrow-size);height:var(--vf-floating-arrow-size);background:var(--vf-color-surface);border-left:1px solid var(--vf-color-border);border-top:1px solid var(--vf-color-border);transform:rotate(45deg);pointer-events:none}.vf-popover__arrow--bottom{margin-top:-1px}.vf-popover__arrow--top{margin-top:1px}.vf-dropdown__item{position:relative;z-index:1;display:flex;align-items:center;width:100%;min-height:var(--vf-control-height-sm);padding:var(--vf-field-padding-sm);border:1px solid transparent;border-radius:var(--vf-radius-control-tight);background:transparent;color:var(--vf-color-text);text-align:left;cursor:pointer}.vf-dropdown__item:hover{background:transparent;color:var(--vf-color-primary)}.vf-dropdown__item:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 2px var(--vf-color-focus-ring);background:transparent;color:var(--vf-color-primary)}.vf-tooltip{position:relative;display:inline-flex;width:fit-content;max-width:100%;align-self:flex-start}.vf-tooltip__trigger{display:inline-flex;width:fit-content;max-width:100%}.vf-tooltip__content{position:fixed;left:0;top:0;z-index:950;max-width:var(--vf-tooltip-max-width);padding:var(--vf-tooltip-padding);border-radius:var(--vf-radius-control-tight);background:var(--vf-color-text);color:var(--vf-color-bg);font-size:var(--vf-tooltip-font-size);line-height:var(--vf-tooltip-line-height);will-change:left,top}.vf-tooltip__arrow{position:absolute;width:var(--vf-floating-arrow-size);height:var(--vf-floating-arrow-size);background:var(--vf-color-text);transform:rotate(45deg);pointer-events:none}.vf-accordion{border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-surface);background:var(--vf-color-surface);color:var(--vf-color-text)}.vf-accordion__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--vf-spacing);position:relative;z-index:1;width:100%;padding:var(--vf-section-padding);border:1px solid transparent;border-radius:inherit;background:transparent;color:inherit;cursor:pointer;text-align:left}.vf-accordion__trigger[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0}.vf-accordion__trigger:hover:not(:disabled){background:transparent;color:var(--vf-color-primary)}.vf-accordion__trigger:focus-visible{z-index:2;outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 2px var(--vf-color-focus-ring)}.vf-accordion__icon{flex-shrink:0;color:var(--vf-color-muted);transition:transform .18s ease}.vf-accordion__icon--open{transform:rotate(180deg)}.vf-accordion__content{position:relative;z-index:1;border-top:1px solid var(--vf-color-border);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:var(--vf-section-padding);background:var(--vf-color-surface);color:var(--vf-color-muted);line-height:var(--vf-text-line-height)}.vf-tabs{display:flex;flex-direction:column;gap:var(--vf-tabs-gap)}.vf-tabs__list{display:inline-flex;align-items:center;gap:var(--vf-tabs-list-gap);width:fit-content;padding:var(--vf-tabs-list-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-overlay);background:var(--vf-color-surface-muted)}.vf-tabs__tab{display:inline-flex;align-items:center;justify-content:center;min-height:var(--vf-control-height-md);padding:0 var(--vf-tabs-tab-padding-inline);border:1px solid transparent;border-radius:var(--vf-radius-control-tight);background:transparent;color:var(--vf-color-muted);cursor:pointer;white-space:nowrap;line-height:var(--vf-tabs-line-height)}.vf-tabs__tab:hover:not(:disabled){color:var(--vf-color-primary);background:transparent}.vf-tabs__tab[aria-selected=true]{background:var(--vf-color-surface);color:var(--vf-color-primary);border:1px solid var(--vf-color-primary)}.vf-tabs__tab:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 2px var(--vf-color-focus-ring)}.vf-tabs__tab:disabled{cursor:not-allowed;opacity:.5}.vf-tabs__panel{border:1px solid transparent;border-radius:var(--vf-radius-control);padding:var(--vf-tabs-panel-padding-top) 0 0;color:var(--vf-color-text);line-height:var(--vf-text-line-height)}.vf-tabs__panel:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 2px var(--vf-color-focus-ring)}
|
|
1
|
+
:root{--vf-breakpoint-xs: 480px;--vf-breakpoint-sm: 640px;--vf-breakpoint-md: 768px;--vf-breakpoint-lg: 1024px;--vf-breakpoint-xl: 1280px;--vf-breakpoint-2xl: 1536px}:root{--vf-color-bg: #fcfcfd;--vf-color-surface: #ffffff;--vf-color-surface-muted: #f5f7fb;--vf-color-text: #172033;--vf-color-muted: #69738a;--vf-color-border: #d8e0ef;--vf-color-primary: #0b63f6;--vf-color-primary-contrast: #ffffff;--vf-color-primary-soft: color-mix(in srgb, var(--vf-color-primary) 12%, var(--vf-color-surface));--vf-color-primary-border-soft: color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border));--vf-color-focus-ring: color-mix(in srgb, var(--vf-color-primary) 32%, var(--vf-color-surface));--vf-color-success: #16a34a;--vf-color-success-contrast: #ffffff;--vf-color-info: #0ea5e9;--vf-color-info-contrast: #ffffff;--vf-color-warn: #f59e0b;--vf-color-warn-contrast: #1f1300;--vf-color-help: #8b5cf6;--vf-color-help-contrast: #ffffff;--vf-color-danger: #dc2626;--vf-color-danger-contrast: #ffffff;--vf-color-contrast: #111827;--vf-color-contrast-contrast: #ffffff;--vf-color-success-soft: color-mix(in srgb, var(--vf-color-success) 12%, var(--vf-color-surface));--vf-color-info-soft: color-mix(in srgb, var(--vf-color-info) 12%, var(--vf-color-surface));--vf-color-warn-soft: color-mix(in srgb, var(--vf-color-warn) 12%, var(--vf-color-surface));--vf-color-help-soft: color-mix(in srgb, var(--vf-color-help) 12%, var(--vf-color-surface));--vf-color-danger-soft: color-mix(in srgb, var(--vf-color-danger) 12%, var(--vf-color-surface));--vf-color-contrast-soft: color-mix(in srgb, var(--vf-color-contrast) 10%, var(--vf-color-surface));--vf-color-success-border-soft: color-mix(in srgb, var(--vf-color-success) 24%, var(--vf-color-border));--vf-color-info-border-soft: color-mix(in srgb, var(--vf-color-info) 24%, var(--vf-color-border));--vf-color-warn-border-soft: color-mix(in srgb, var(--vf-color-warn) 24%, var(--vf-color-border));--vf-color-help-border-soft: color-mix(in srgb, var(--vf-color-help) 24%, var(--vf-color-border));--vf-color-danger-border-soft: color-mix(in srgb, var(--vf-color-danger) 24%, var(--vf-color-border));--vf-color-contrast-border-soft: color-mix(in srgb, var(--vf-color-contrast) 24%, var(--vf-color-border));--vf-focus-ring-width: 3px;--vf-radius: .75rem;--vf-radius-control: calc(var(--vf-radius) - .125rem);--vf-radius-control-tight: calc(var(--vf-radius) - .25rem);--vf-radius-surface: var(--vf-radius);--vf-radius-overlay: calc(var(--vf-radius) + .125rem);--vf-control-height-sm: 1.75rem;--vf-control-height-md: 2.25rem;--vf-control-height-lg: 2.5rem;--vf-control-font-size-sm: .875rem;--vf-control-font-size-md: .9375rem;--vf-control-font-size-lg: 1rem;--vf-button-padding-sm: .25rem .55rem;--vf-button-padding-md: .375rem .75rem;--vf-button-padding-lg: .5rem .875rem;--vf-button-gap: .5rem;--vf-field-padding-sm: .25rem .55rem;--vf-field-padding-md: .375rem .65rem;--vf-field-padding-lg: .5rem .75rem;--vf-checkbox-size-sm: 1rem;--vf-checkbox-size-md: 1.125rem;--vf-checkbox-size-lg: 1.25rem;--vf-selection-gap: .65rem;--vf-checkbox-mark-width: .3rem;--vf-checkbox-mark-height: .55rem;--vf-checkbox-mark-stroke-width: 2px;--vf-checkbox-mark-offset-y: -.05rem;--vf-radio-dot-size: .5rem;--vf-switch-width-sm: 2rem;--vf-switch-width-md: 2.25rem;--vf-switch-width-lg: 2.5rem;--vf-switch-height-sm: 1.125rem;--vf-switch-height-md: 1.25rem;--vf-switch-height-lg: 1.375rem;--vf-switch-thumb-size-sm: .75rem;--vf-switch-thumb-size-md: .875rem;--vf-switch-thumb-size-lg: 1rem;--vf-switch-thumb-inset: .1875rem;--vf-textarea-min-height-sm: 4.5rem;--vf-textarea-min-height-md: 6rem;--vf-textarea-min-height-lg: 7rem;--vf-overlay-padding: .875rem;--vf-overlay-gap: .75rem;--vf-overlay-viewport-padding: 1rem;--vf-menu-padding: .4rem;--vf-menu-gap: .2rem;--vf-menu-min-width: 12rem;--vf-surface-padding: .95rem;--vf-surface-gap: .625rem;--vf-surface-padding-compact: .7rem;--vf-surface-gap-compact: .5rem;--vf-section-padding: .75rem .9rem;--vf-section-gap: .75rem;--vf-tabs-gap: .875rem;--vf-tabs-list-gap: .375rem;--vf-tabs-list-padding: .25rem;--vf-tabs-tab-padding-inline: .8rem;--vf-tabs-panel-padding-top: .75rem;--vf-nav-menu-list-gap: .2rem;--vf-nav-menu-nested-gap: .15rem;--vf-nav-menu-collapse-offset-top: .1rem;--vf-nav-menu-collapse-inset-level-0-margin: 1.275rem;--vf-nav-menu-collapse-inset-level-0-padding: .7rem;--vf-nav-menu-collapse-inset-simple-level-0-margin: .75rem;--vf-nav-menu-collapse-inset-simple-level-0-padding: .45rem;--vf-nav-menu-collapse-inset-deep-margin: .35rem;--vf-nav-menu-collapse-inset-deep-padding: .35rem;--vf-nav-menu-collapse-inset-simple-deep-margin: .2rem;--vf-nav-menu-collapse-inset-simple-deep-padding: .2rem;--vf-nav-menu-node-group-spacing: .1rem;--vf-nav-menu-group-padding: .35rem .65rem;--vf-nav-menu-group-font-size: .875rem;--vf-nav-menu-item-padding: .35rem .65rem;--vf-nav-menu-item-gap: .55rem;--vf-nav-menu-leading-icon-size: 1rem;--vf-nav-menu-leading-icon-column-size: 1.25rem;--vf-badge-height: 1.625rem;--vf-badge-padding: .2rem .55rem;--vf-badge-gap: .375rem;--vf-badge-radius: 999px;--vf-badge-font-size: .8125rem;--vf-badge-line-height: 1.2;--vf-tag-height: 1.75rem;--vf-tag-padding: .25rem .6rem;--vf-tag-font-size: .8125rem;--vf-tag-line-height: 1.2;--vf-tooltip-padding: .45rem .65rem;--vf-tooltip-max-width: 16rem;--vf-tooltip-font-size: .8125rem;--vf-tooltip-line-height: 1.4;--vf-dialog-width-sm: 28rem;--vf-dialog-width-md: 36rem;--vf-dialog-width-lg: 48rem;--vf-dialog-max-height: min(85vh, 48rem);--vf-drawer-size-sm: 20rem;--vf-drawer-size-md: 26rem;--vf-drawer-size-lg: 32rem;--vf-drawer-offset-top: 0px;--vf-drawer-body-padding: var(--vf-overlay-padding);--vf-dialog-title-font-size: 1.125rem;--vf-dialog-header-gap: .75rem;--vf-dialog-actions-gap: .5rem;--vf-popover-width: min(100vw - 2rem, 22rem);--vf-floating-arrow-size: .625rem;--vf-overlay-backdrop: rgba(15, 23, 42, .56);--vf-alert-primary-soft: color-mix(in srgb, var(--vf-color-primary) 8%, var(--vf-color-surface));--vf-alert-primary-border-soft: color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border));--vf-alert-content-gap: .25rem;--vf-alert-title-font-size: .9375rem;--vf-card-title-font-size: 1rem;--vf-panel-title-font-size: .9375rem;--vf-text-line-height: 1.5;--vf-heading-line-height: 1.3;--vf-tabs-line-height: 1.2;--vf-motion-duration-fast: .22s;--vf-motion-duration-normal: .32s;--vf-motion-ease-standard: cubic-bezier(.16, 1, .3, 1);--vf-z-overlay: 1000;--vf-z-drawer: 1000;--vf-z-dropdown: 900;--vf-z-popover: 925;--vf-z-tooltip: 950;--vf-spacing: 1rem;--vf-shadow: none}:root{color-scheme:light;background-color:var(--vf-color-bg);color:var(--vf-color-text)}:root[data-vf-theme=dark]{color-scheme:dark;--vf-color-bg: #0f172a;--vf-color-surface: #162033;--vf-color-surface-muted: #1b2840;--vf-color-text: #eff4ff;--vf-color-muted: #9fb0cf;--vf-color-border: #2d405f;--vf-color-primary: #6ea8fe;--vf-color-primary-contrast: #081120;--vf-color-primary-soft: color-mix(in srgb, var(--vf-color-primary) 12%, var(--vf-color-surface));--vf-color-primary-border-soft: color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border));--vf-color-focus-ring: color-mix(in srgb, var(--vf-color-primary) 32%, var(--vf-color-surface));--vf-color-success: #4ade80;--vf-color-success-contrast: #081120;--vf-color-info: #38bdf8;--vf-color-info-contrast: #081120;--vf-color-warn: #fbbf24;--vf-color-warn-contrast: #1f1300;--vf-color-help: #a78bfa;--vf-color-help-contrast: #081120;--vf-color-danger: #f87171;--vf-color-danger-contrast: #081120;--vf-color-contrast: #f3f4f6;--vf-color-contrast-contrast: #111827;--vf-color-success-soft: color-mix(in srgb, var(--vf-color-success) 12%, var(--vf-color-surface));--vf-color-info-soft: color-mix(in srgb, var(--vf-color-info) 12%, var(--vf-color-surface));--vf-color-warn-soft: color-mix(in srgb, var(--vf-color-warn) 12%, var(--vf-color-surface));--vf-color-help-soft: color-mix(in srgb, var(--vf-color-help) 12%, var(--vf-color-surface));--vf-color-danger-soft: color-mix(in srgb, var(--vf-color-danger) 12%, var(--vf-color-surface));--vf-color-contrast-soft: color-mix(in srgb, var(--vf-color-contrast) 10%, var(--vf-color-surface));--vf-color-success-border-soft: color-mix(in srgb, var(--vf-color-success) 24%, var(--vf-color-border));--vf-color-info-border-soft: color-mix(in srgb, var(--vf-color-info) 24%, var(--vf-color-border));--vf-color-warn-border-soft: color-mix(in srgb, var(--vf-color-warn) 24%, var(--vf-color-border));--vf-color-help-border-soft: color-mix(in srgb, var(--vf-color-help) 24%, var(--vf-color-border));--vf-color-danger-border-soft: color-mix(in srgb, var(--vf-color-danger) 24%, var(--vf-color-border));--vf-color-contrast-border-soft: color-mix(in srgb, var(--vf-color-contrast) 24%, var(--vf-color-border));--vf-shadow: none}:root.vf-theme-transitioning,:root.vf-theme-transitioning body,:root.vf-theme-transitioning #app,:root.vf-theme-transitioning [class^=vf-],:root.vf-theme-transitioning [class*=" vf-"],:root.vf-theme-transitioning .demo-page,:root.vf-theme-transitioning .demo-container,:root.vf-theme-transitioning .demo-header,:root.vf-theme-transitioning .demo-block,:root.vf-theme-transitioning .demo-example,:root.vf-theme-transitioning .demo-item{transition:background-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),border-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),box-shadow var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),fill var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),stroke var(--vf-motion-duration-normal) var(--vf-motion-ease-standard)}.vf-button,.vf-link,.vf-input,.vf-card,.vf-textarea,.vf-panel,.vf-badge,.vf-divider,.vf-dialog,.vf-dialog__overlay,.vf-dialog__content,.vf-drawer,.vf-drawer__overlay,.vf-drawer__content,.vf-dropdown,.vf-dropdown__trigger,.vf-dropdown__menu,.vf-accordion,.vf-accordion__trigger,.vf-nav-menu,.vf-nav-menu__item,.vf-tooltip,.vf-tooltip__trigger,.vf-tooltip__content,.vf-tabs,.vf-tabs__list,.vf-tabs__tab,.vf-tabs__panel{box-sizing:border-box;font:inherit}.vf-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--vf-button-gap);min-height:var(--vf-control-height-md);padding:var(--vf-button-padding-md);border:1px solid transparent;border-radius:var(--vf-radius-control);background:var(--vf-color-primary);color:var(--vf-color-primary-contrast);cursor:pointer;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.vf-icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--vf-control-height-md);height:var(--vf-control-height-md);padding:0;border:1px solid transparent;border-radius:var(--vf-radius-control);background:transparent;color:var(--vf-color-text);cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.vf-button:focus-visible,.vf-icon-button:focus-visible{outline:none;border-color:var(--vf-color-primary);border-radius:var(--vf-radius-control);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-button:disabled,.vf-icon-button:disabled{opacity:.65;cursor:not-allowed}.vf-button--secondary{background:var(--vf-color-surface-muted);border-color:var(--vf-color-border);color:var(--vf-color-text)}.vf-button--primary,.vf-icon-button--primary{background:var(--vf-color-primary);color:var(--vf-color-primary-contrast)}.vf-button--success,.vf-icon-button--success{background:var(--vf-color-success);color:var(--vf-color-success-contrast)}.vf-button--info,.vf-icon-button--info{background:var(--vf-color-info);color:var(--vf-color-info-contrast)}.vf-button--warn,.vf-icon-button--warn{background:var(--vf-color-warn);color:var(--vf-color-warn-contrast)}.vf-button--help,.vf-icon-button--help{background:var(--vf-color-help);color:var(--vf-color-help-contrast)}.vf-button--danger,.vf-icon-button--danger{background:var(--vf-color-danger);color:var(--vf-color-danger-contrast)}.vf-button--contrast,.vf-icon-button--contrast{background:var(--vf-color-contrast);color:var(--vf-color-contrast-contrast)}.vf-icon-button--secondary{background:var(--vf-color-surface-muted);border-color:var(--vf-color-border);color:var(--vf-color-text)}.vf-button--ghost,.vf-icon-button--ghost{background:transparent;color:var(--vf-color-text)}.vf-button--secondary:hover:not(:disabled),.vf-icon-button--secondary:hover:not(:disabled){background:var(--vf-color-surface-muted);border-color:var(--vf-color-border);filter:brightness(.98)}.vf-button--ghost:hover:not(:disabled),.vf-icon-button--ghost:hover:not(:disabled){background:var(--vf-color-surface-muted);border-color:transparent}.vf-button--primary:hover:not(:disabled),.vf-button--success:hover:not(:disabled),.vf-button--info:hover:not(:disabled),.vf-button--warn:hover:not(:disabled),.vf-button--help:hover:not(:disabled),.vf-button--danger:hover:not(:disabled),.vf-button--contrast:hover:not(:disabled),.vf-icon-button--primary:hover:not(:disabled){filter:brightness(.96)}.vf-icon-button--success:hover:not(:disabled),.vf-icon-button--info:hover:not(:disabled),.vf-icon-button--warn:hover:not(:disabled),.vf-icon-button--help:hover:not(:disabled),.vf-icon-button--danger:hover:not(:disabled),.vf-icon-button--contrast:hover:not(:disabled){filter:brightness(.96)}.vf-button--sm{min-height:var(--vf-control-height-sm);padding:var(--vf-button-padding-sm);font-size:var(--vf-control-font-size-sm)}.vf-icon-button--sm{width:var(--vf-control-height-sm);height:var(--vf-control-height-sm)}.vf-button--lg{min-height:var(--vf-control-height-lg);padding:var(--vf-button-padding-lg);font-size:var(--vf-control-font-size-lg)}.vf-icon-button--lg{width:var(--vf-control-height-lg);height:var(--vf-control-height-lg)}.vf-button--block{width:100%}.vf-link{display:inline-flex;width:fit-content;max-width:100%;align-self:flex-start;border:1px solid transparent;color:var(--vf-color-primary);text-decoration:none;text-underline-offset:.2em;transition:color .18s ease}.vf-link:hover{color:var(--vf-color-primary)}.vf-link:focus-visible{outline:none;border-color:var(--vf-color-primary);border-radius:var(--vf-radius-control);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-link--muted{color:var(--vf-color-muted)}.vf-link--underline{text-decoration:underline}.vf-link--underline:focus-visible{text-decoration:none}.vf-input,.vf-textarea{width:100%}.vf-checkbox,.vf-switch,.vf-radio{position:relative;display:inline-flex;align-items:center;gap:var(--vf-selection-gap);width:fit-content;min-width:0;color:var(--vf-color-text);cursor:pointer}.vf-input{min-height:var(--vf-control-height-md);padding:var(--vf-field-padding-md);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-control);background:var(--vf-color-surface);color:var(--vf-color-text);transition:border-color .18s ease}.vf-input::placeholder{color:var(--vf-color-muted)}.vf-input:hover:not(:disabled):not(.vf-input--invalid):not(:focus):not(:focus-visible){border-color:var(--vf-color-primary-border-soft)}.vf-input:focus,.vf-input:focus-visible{border-color:var(--vf-color-primary)}.vf-input:focus-visible,.vf-textarea:focus-visible{outline:none;border-radius:var(--vf-radius-control);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-input--sm{min-height:var(--vf-control-height-sm);padding:var(--vf-field-padding-sm);font-size:var(--vf-control-font-size-sm)}.vf-input--lg{min-height:var(--vf-control-height-lg);padding:var(--vf-field-padding-lg)}.vf-input--invalid{border-color:var(--vf-color-danger)}.vf-input--invalid:hover:not(:disabled):not(:focus):not(:focus-visible){border-color:var(--vf-color-primary-border-soft)}.vf-textarea{min-height:var(--vf-textarea-min-height-md);padding:var(--vf-field-padding-md);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-control);background:var(--vf-color-surface);color:var(--vf-color-text);resize:vertical;transition:border-color .18s ease}.vf-textarea::placeholder{color:var(--vf-color-muted)}.vf-textarea:hover:not(:disabled):not(.vf-textarea--invalid):not(:focus):not(:focus-visible){border-color:var(--vf-color-primary-border-soft)}.vf-textarea:focus,.vf-textarea:focus-visible{border-color:var(--vf-color-primary)}.vf-textarea--sm{min-height:var(--vf-textarea-min-height-sm);padding:var(--vf-field-padding-sm);font-size:var(--vf-control-font-size-sm)}.vf-textarea--lg{min-height:var(--vf-textarea-min-height-lg);padding:var(--vf-field-padding-lg)}.vf-textarea--invalid{border-color:var(--vf-color-danger)}.vf-textarea--invalid:hover:not(:disabled):not(:focus):not(:focus-visible){border-color:var(--vf-color-primary-border-soft)}.vf-input:disabled,.vf-textarea:disabled{opacity:.65;cursor:not-allowed}.vf-checkbox--disabled,.vf-switch--disabled,.vf-radio--disabled{opacity:.65;cursor:not-allowed}.vf-checkbox__input,.vf-switch__input,.vf-radio__input{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}.vf-checkbox__control,.vf-switch__control,.vf-radio__control{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--vf-color-border);background:var(--vf-color-surface);transition:background-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),border-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),box-shadow var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),transform var(--vf-motion-duration-normal) var(--vf-motion-ease-standard)}.vf-checkbox__content,.vf-switch__content,.vf-radio__content{min-width:0;color:currentColor;line-height:var(--vf-text-line-height)}.vf-checkbox__control{width:var(--vf-checkbox-size-md);height:var(--vf-checkbox-size-md);border-radius:calc(var(--vf-radius-control-tight) - .0625rem)}.vf-checkbox__mark{width:var(--vf-checkbox-mark-width);height:var(--vf-checkbox-mark-height);border-right:var(--vf-checkbox-mark-stroke-width) solid transparent;border-bottom:var(--vf-checkbox-mark-stroke-width) solid transparent;transform:translateY(var(--vf-checkbox-mark-offset-y)) rotate(45deg) scale(.8);opacity:0;transition:opacity var(--vf-motion-duration-fast) var(--vf-motion-ease-standard),transform var(--vf-motion-duration-fast) var(--vf-motion-ease-standard),border-color var(--vf-motion-duration-fast) var(--vf-motion-ease-standard)}.vf-checkbox__input:checked+.vf-checkbox__control{border-color:var(--vf-color-primary);background:var(--vf-color-primary)}.vf-checkbox__input:checked+.vf-checkbox__control .vf-checkbox__mark{border-right-color:var(--vf-color-primary-contrast);border-bottom-color:var(--vf-color-primary-contrast);transform:translateY(var(--vf-checkbox-mark-offset-y)) rotate(45deg) scale(1);opacity:1}.vf-checkbox:hover:not(.vf-checkbox--disabled) .vf-checkbox__input:not(:checked)+.vf-checkbox__control{border-color:var(--vf-color-primary-border-soft)}.vf-checkbox__input:focus-visible+.vf-checkbox__control{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-checkbox--invalid .vf-checkbox__control{border-color:var(--vf-color-danger)}.vf-checkbox--invalid:hover:not(.vf-checkbox--disabled) .vf-checkbox__input:not(:checked)+.vf-checkbox__control{border-color:var(--vf-color-primary-border-soft)}.vf-checkbox--sm .vf-checkbox__control{width:var(--vf-checkbox-size-sm);height:var(--vf-checkbox-size-sm)}.vf-checkbox--sm .vf-checkbox__content{font-size:var(--vf-control-font-size-sm)}.vf-checkbox--lg .vf-checkbox__control{width:var(--vf-checkbox-size-lg);height:var(--vf-checkbox-size-lg)}.vf-radio__control{width:var(--vf-checkbox-size-md);height:var(--vf-checkbox-size-md);border-radius:999px;background:color-mix(in srgb,var(--vf-color-border) 12%,var(--vf-color-surface))}.vf-radio__dot{width:var(--vf-radio-dot-size);height:var(--vf-radio-dot-size);border-radius:999px;background:var(--vf-color-primary);transform:scale(.35);opacity:0;transition:opacity var(--vf-motion-duration-fast) var(--vf-motion-ease-standard),transform var(--vf-motion-duration-fast) var(--vf-motion-ease-standard)}.vf-radio__input:checked+.vf-radio__control{border-color:var(--vf-color-primary)}.vf-radio__input:checked+.vf-radio__control .vf-radio__dot{transform:scale(1);opacity:1}.vf-radio:hover:not(.vf-radio--disabled) .vf-radio__input:not(:checked)+.vf-radio__control{border-color:var(--vf-color-primary-border-soft)}.vf-radio__input:focus-visible+.vf-radio__control{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-radio--invalid .vf-radio__control{border-color:var(--vf-color-danger)}.vf-radio--invalid:hover:not(.vf-radio--disabled) .vf-radio__input:not(:checked)+.vf-radio__control{border-color:var(--vf-color-primary-border-soft)}.vf-radio--sm .vf-radio__control{width:var(--vf-checkbox-size-sm);height:var(--vf-checkbox-size-sm)}.vf-radio--sm .vf-radio__content{font-size:var(--vf-control-font-size-sm)}.vf-radio--lg .vf-radio__control{width:var(--vf-checkbox-size-lg);height:var(--vf-checkbox-size-lg)}.vf-switch__control{width:var(--vf-switch-width-md);height:var(--vf-switch-height-md);border-radius:999px;background:color-mix(in srgb,var(--vf-color-text) 10%,var(--vf-color-surface))}.vf-switch__thumb{position:absolute;left:var(--vf-switch-thumb-inset);width:var(--vf-switch-thumb-size-md);height:var(--vf-switch-thumb-size-md);border-radius:999px;border:1px solid color-mix(in srgb,var(--vf-color-surface) 80%,var(--vf-color-border));background:color-mix(in srgb,var(--vf-color-surface) 88%,var(--vf-color-surface-muted));box-shadow:0 1px 2px color-mix(in srgb,var(--vf-color-text) 18%,transparent);transform:translate(0);transition:transform var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),background-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),border-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),box-shadow var(--vf-motion-duration-normal) var(--vf-motion-ease-standard)}.vf-switch__input:checked+.vf-switch__control{border-color:var(--vf-color-primary);background:var(--vf-color-primary)}.vf-switch__input:checked+.vf-switch__control .vf-switch__thumb{transform:translate(calc(var(--vf-switch-width-md) - var(--vf-switch-thumb-size-md) - (var(--vf-switch-thumb-inset) * 2)));border-color:color-mix(in srgb,var(--vf-color-primary) 12%,var(--vf-color-surface));background:var(--vf-color-surface);box-shadow:0 1px 1.5px color-mix(in srgb,var(--vf-color-text) 12%,transparent)}.vf-switch:hover:not(.vf-switch--disabled) .vf-switch__control{background:color-mix(in srgb,var(--vf-color-text) 12%,var(--vf-color-surface))}.vf-switch:hover:not(.vf-switch--disabled) .vf-switch__input:checked+.vf-switch__control{background:color-mix(in srgb,var(--vf-color-primary) 92%,var(--vf-color-surface))}.vf-switch__input:focus-visible+.vf-switch__control{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-switch--sm .vf-switch__control{width:var(--vf-switch-width-sm);height:var(--vf-switch-height-sm)}.vf-switch--sm .vf-switch__thumb{left:var(--vf-switch-thumb-inset);width:var(--vf-switch-thumb-size-sm);height:var(--vf-switch-thumb-size-sm)}.vf-switch--sm .vf-switch__input:checked+.vf-switch__control .vf-switch__thumb{transform:translate(calc(var(--vf-switch-width-sm) - var(--vf-switch-thumb-size-sm) - (var(--vf-switch-thumb-inset) * 2)))}.vf-switch--sm .vf-switch__content{font-size:var(--vf-control-font-size-sm)}.vf-switch--lg .vf-switch__control{width:var(--vf-switch-width-lg);height:var(--vf-switch-height-lg)}.vf-switch--lg .vf-switch__thumb{left:var(--vf-switch-thumb-inset);width:var(--vf-switch-thumb-size-lg);height:var(--vf-switch-thumb-size-lg)}.vf-switch--lg .vf-switch__input:checked+.vf-switch__control .vf-switch__thumb{transform:translate(calc(var(--vf-switch-width-lg) - var(--vf-switch-thumb-size-lg) - (var(--vf-switch-thumb-inset) * 2)))}.vf-card{display:flex;flex-direction:column;gap:var(--vf-surface-gap);padding:var(--vf-surface-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-surface);background:var(--vf-color-surface);color:var(--vf-color-text);line-height:var(--vf-text-line-height)}.vf-card--compact{padding:var(--vf-surface-padding-compact);gap:var(--vf-surface-gap-compact)}.vf-card__title{margin:0;font-size:var(--vf-card-title-font-size);font-weight:600;line-height:var(--vf-heading-line-height)}.vf-card__body{color:var(--vf-color-muted)}.vf-panel{display:flex;flex-direction:column;gap:var(--vf-surface-gap);padding:var(--vf-surface-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-surface);background:var(--vf-color-surface);color:var(--vf-color-text);line-height:var(--vf-text-line-height)}.vf-panel--subtle{background:transparent;box-shadow:none}.vf-panel__title{margin:0;font-size:var(--vf-panel-title-font-size);font-weight:600;line-height:var(--vf-heading-line-height)}.vf-badge{display:inline-flex;align-items:center;gap:var(--vf-badge-gap);min-height:var(--vf-badge-height);padding:var(--vf-badge-padding);border-radius:var(--vf-badge-radius);font-size:var(--vf-badge-font-size);font-weight:600;line-height:var(--vf-badge-line-height);white-space:nowrap;background:var(--vf-color-surface-muted);border:1px solid var(--vf-color-border);color:var(--vf-color-text)}.vf-badge--primary{background:var(--vf-color-primary-soft);border-color:var(--vf-color-primary);color:var(--vf-color-primary)}.vf-badge--success{background:var(--vf-color-success-soft);border-color:var(--vf-color-success);color:var(--vf-color-success)}.vf-badge--info{background:var(--vf-color-info-soft);border-color:var(--vf-color-info);color:var(--vf-color-info)}.vf-badge--warn{background:var(--vf-color-warn-soft);border-color:var(--vf-color-warn);color:var(--vf-color-warn)}.vf-badge--help{background:var(--vf-color-help-soft);border-color:var(--vf-color-help);color:var(--vf-color-help)}.vf-badge--danger{background:var(--vf-color-danger-soft);border-color:var(--vf-color-danger);color:var(--vf-color-danger)}.vf-badge--contrast{background:var(--vf-color-contrast-soft);border-color:var(--vf-color-contrast);color:var(--vf-color-contrast)}.vf-tag{display:inline-flex;align-items:center;min-height:var(--vf-tag-height);padding:var(--vf-tag-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-control-tight);background:var(--vf-color-surface);color:var(--vf-color-text);font-size:var(--vf-tag-font-size);line-height:var(--vf-tag-line-height);white-space:nowrap}.vf-tag--primary{border-color:var(--vf-color-primary);color:var(--vf-color-primary)}.vf-tag--success{border-color:var(--vf-color-success);color:var(--vf-color-success)}.vf-tag--info{border-color:var(--vf-color-info);color:var(--vf-color-info)}.vf-tag--warn{border-color:var(--vf-color-warn);color:var(--vf-color-warn)}.vf-tag--help{border-color:var(--vf-color-help);color:var(--vf-color-help)}.vf-tag--danger{border-color:var(--vf-color-danger);color:var(--vf-color-danger)}.vf-tag--contrast{border-color:var(--vf-color-contrast);color:var(--vf-color-contrast)}.vf-alert{display:grid;grid-template-columns:auto 1fr;gap:var(--vf-section-gap);padding:var(--vf-section-padding);border:1px solid var(--vf-alert-primary-border-soft);border-radius:var(--vf-radius-surface);background:var(--vf-alert-primary-soft);color:var(--vf-color-text);line-height:var(--vf-text-line-height)}.vf-alert--success{border-color:var(--vf-color-success-border-soft);background:var(--vf-color-success-soft)}.vf-alert--info{border-color:var(--vf-color-info-border-soft);background:var(--vf-color-info-soft)}.vf-alert--warn{border-color:var(--vf-color-warn-border-soft);background:var(--vf-color-warn-soft)}.vf-alert--help{border-color:var(--vf-color-help-border-soft);background:var(--vf-color-help-soft)}.vf-alert--danger{border-color:var(--vf-color-danger-border-soft);background:var(--vf-color-danger-soft)}.vf-alert--contrast{border-color:var(--vf-color-contrast-border-soft);background:var(--vf-color-contrast-soft)}.vf-alert__icon{display:inline-flex;align-items:center;justify-content:center;align-self:start;color:var(--vf-color-primary)}.vf-alert--success .vf-alert__icon{color:var(--vf-color-success)}.vf-alert--info .vf-alert__icon{color:var(--vf-color-info)}.vf-alert--warn .vf-alert__icon{color:var(--vf-color-warn)}.vf-alert--help .vf-alert__icon{color:var(--vf-color-help)}.vf-alert--danger .vf-alert__icon{color:var(--vf-color-danger)}.vf-alert--contrast .vf-alert__icon{color:var(--vf-color-contrast)}.vf-alert__content{display:grid;gap:var(--vf-alert-content-gap)}.vf-alert__title{margin:0;font-size:var(--vf-alert-title-font-size);font-weight:600;line-height:var(--vf-heading-line-height)}.vf-alert__body{color:var(--vf-color-muted);line-height:var(--vf-text-line-height)}.vf-divider{margin:0;border:0;background:var(--vf-color-border);flex-shrink:0}.vf-divider--horizontal{width:100%;height:1px}.vf-divider--vertical{width:1px;align-self:stretch}.vf-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vf-z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--vf-overlay-viewport-padding)}.vf-drawer{position:fixed;inset-inline:0;inset-block-end:0;inset-block-start:var(--vf-drawer-offset-top);z-index:var(--vf-z-drawer);display:flex;--vf-drawer-offset-x: 0;--vf-drawer-offset-y: 0}.vf-drawer--left{justify-content:flex-start;--vf-drawer-offset-x: -100%}.vf-drawer--right{justify-content:flex-end;--vf-drawer-offset-x: 100%}.vf-drawer--top{align-items:flex-start;--vf-drawer-offset-y: -100%}.vf-drawer--bottom{align-items:flex-end;--vf-drawer-offset-y: 100%}.vf-dialog__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vf-overlay-backdrop);opacity:1;transition:opacity var(--vf-motion-duration-fast) var(--vf-motion-ease-standard)}.vf-drawer__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vf-overlay-backdrop);opacity:1;transition:opacity var(--vf-motion-duration-normal) var(--vf-motion-ease-standard)}.vf-dialog__content{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--vf-overlay-gap);width:min(100%,var(--vf-dialog-width-md));max-height:var(--vf-dialog-max-height);overflow:auto;padding:var(--vf-overlay-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-overlay);background:var(--vf-color-surface);color:var(--vf-color-text);line-height:var(--vf-text-line-height);opacity:1;transform:translateZ(0);transition:transform var(--vf-motion-duration-fast) var(--vf-motion-ease-standard),opacity var(--vf-motion-duration-fast) var(--vf-motion-ease-standard)}.vf-drawer__content{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--vf-overlay-gap);overflow:hidden;padding:0;border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-overlay);background:var(--vf-color-surface);color:var(--vf-color-text);line-height:var(--vf-text-line-height);transform:translateZ(0);transition:transform var(--vf-motion-duration-normal) var(--vf-motion-ease-standard)}.vf-dialog-transition-enter-active,.vf-dialog-transition-leave-active{transition:none}.vf-dialog-transition-enter-from .vf-dialog__overlay,.vf-dialog-transition-leave-to .vf-dialog__overlay{opacity:0}.vf-dialog-transition-enter-from .vf-dialog__content,.vf-dialog-transition-leave-to .vf-dialog__content{opacity:0;transform:translate3d(0,.75rem,0)}.vf-drawer-transition-enter-active,.vf-drawer-transition-leave-active{transition:none}.vf-drawer-transition-enter-from .vf-drawer__overlay,.vf-drawer-transition-leave-to .vf-drawer__overlay{opacity:0}.vf-drawer-transition-enter-from .vf-drawer__content,.vf-drawer-transition-leave-to .vf-drawer__content{transform:translate3d(var(--vf-drawer-offset-x),var(--vf-drawer-offset-y),0)}.vf-dialog__content:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-drawer__content:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-dialog__content--sm{width:min(100%,var(--vf-dialog-width-sm))}.vf-dialog__content--lg{width:min(100%,var(--vf-dialog-width-lg))}.vf-drawer__content--left,.vf-drawer__content--right{width:min(100dvw,var(--vf-drawer-size-md));height:100%}.vf-drawer__content--left{border-left:none;border-top:none;border-bottom:none;border-top-right-radius:var(--vf-drawer-radius-top-right, var(--vf-radius-overlay));border-bottom-right-radius:var(--vf-drawer-radius-bottom-right, var(--vf-radius-overlay));border-top-left-radius:var(--vf-drawer-radius-top-left, 0);border-bottom-left-radius:var(--vf-drawer-radius-bottom-left, 0)}.vf-drawer__content--right{border-right:none;border-top:none;border-bottom:none;border-top-left-radius:var(--vf-drawer-radius-top-left, var(--vf-radius-overlay));border-bottom-left-radius:var(--vf-drawer-radius-bottom-left, var(--vf-radius-overlay));border-top-right-radius:var(--vf-drawer-radius-top-right, 0);border-bottom-right-radius:var(--vf-drawer-radius-bottom-right, 0)}.vf-drawer__content--top,.vf-drawer__content--bottom{width:100dvw;min-height:min(100%,var(--vf-drawer-size-md));max-height:100%}.vf-drawer__content--top{border-top:none;border-left:none;border-right:none;border-bottom-left-radius:var(--vf-drawer-radius-bottom-left, var(--vf-radius-overlay));border-bottom-right-radius:var(--vf-drawer-radius-bottom-right, var(--vf-radius-overlay));border-top-left-radius:var(--vf-drawer-radius-top-left, 0);border-top-right-radius:var(--vf-drawer-radius-top-right, 0)}.vf-drawer__content--bottom{border-bottom:none;border-left:none;border-right:none;border-top-left-radius:var(--vf-drawer-radius-top-left, var(--vf-radius-overlay));border-top-right-radius:var(--vf-drawer-radius-top-right, var(--vf-radius-overlay));border-bottom-left-radius:var(--vf-drawer-radius-bottom-left, 0);border-bottom-right-radius:var(--vf-drawer-radius-bottom-right, 0)}.vf-drawer--offset-top.vf-drawer--left .vf-drawer__content--left,.vf-drawer--offset-top.vf-drawer--right .vf-drawer__content--right,.vf-drawer--offset-top.vf-drawer--top .vf-drawer__content--top{border-top:1px solid var(--vf-color-border)}.vf-drawer__content--sm.vf-drawer__content--left,.vf-drawer__content--sm.vf-drawer__content--right{width:min(100dvw,var(--vf-drawer-size-sm))}.vf-drawer__content--lg.vf-drawer__content--left,.vf-drawer__content--lg.vf-drawer__content--right{width:min(100dvw,var(--vf-drawer-size-lg))}.vf-drawer__content--sm.vf-drawer__content--top,.vf-drawer__content--sm.vf-drawer__content--bottom{min-height:min(100dvh,var(--vf-drawer-size-sm))}.vf-drawer__content--lg.vf-drawer__content--top,.vf-drawer__content--lg.vf-drawer__content--bottom{min-height:min(100dvh,var(--vf-drawer-size-lg))}.vf-dialog__header,.vf-dialog__footer,.vf-drawer__header,.vf-drawer__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--vf-dialog-header-gap)}.vf-dialog__actions,.vf-drawer__actions{display:inline-flex;align-items:center;gap:var(--vf-dialog-actions-gap)}.vf-dialog__actions .vf-icon-button,.vf-drawer__actions .vf-icon-button{color:var(--vf-color-muted)}.vf-dialog__actions .vf-icon-button .vif-icon,.vf-drawer__actions .vf-icon-button .vif-icon{width:1rem;height:1rem}.vf-dialog__actions .vf-icon-button:hover:not(:disabled),.vf-drawer__actions .vf-icon-button:hover:not(:disabled){background:var(--vf-color-surface-muted);border-color:var(--vf-color-border);color:var(--vf-color-text)}.vf-dialog__actions .vf-icon-button:active:not(:disabled),.vf-drawer__actions .vf-icon-button:active:not(:disabled){background:var(--vf-color-surface-muted);border-color:var(--vf-color-primary);color:var(--vf-color-primary)}.vf-dialog__title,.vf-drawer__title{margin:0;font-size:var(--vf-dialog-title-font-size);font-weight:700;line-height:var(--vf-heading-line-height)}.vf-dialog__description{margin:0;color:var(--vf-color-muted);line-height:var(--vf-text-line-height)}.vf-dialog__body,.vf-drawer__body{flex:1 1 auto;min-height:0;overflow:auto;color:var(--vf-color-text);line-height:var(--vf-text-line-height)}.vf-drawer__header,.vf-drawer__footer{padding:var(--vf-overlay-padding)}.vf-drawer__body{padding:var(--vf-drawer-body-padding)}.vf-dropdown,.vf-popover{position:relative;display:inline-flex;flex-direction:column}.vf-dropdown__trigger,.vf-popover__trigger{width:fit-content;border:1px solid transparent;border-radius:var(--vf-radius-control)}.vf-dropdown__trigger:focus-visible,.vf-popover__trigger:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-dropdown__menu{position:fixed;top:0;left:0;z-index:var(--vf-z-dropdown);display:flex;flex-direction:column;gap:var(--vf-menu-gap);min-width:var(--vf-menu-min-width);padding:var(--vf-menu-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-control);background:var(--vf-color-surface);opacity:1;transform:translateZ(0) scale(1);transition:transform var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),opacity var(--vf-motion-duration-normal) var(--vf-motion-ease-standard);will-change:left,top}.vf-dropdown__arrow{position:absolute;z-index:0;width:var(--vf-floating-arrow-size);height:var(--vf-floating-arrow-size);background:var(--vf-color-surface);border-left:1px solid var(--vf-color-border);border-top:1px solid var(--vf-color-border);transform:rotate(45deg);pointer-events:none}.vf-dropdown__arrow--bottom{margin-top:-1px}.vf-dropdown__arrow--top{margin-top:1px}.vf-popover__content{position:fixed;left:0;top:0;z-index:var(--vf-z-popover);width:var(--vf-popover-width);padding:var(--vf-section-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-surface);background:var(--vf-color-surface);color:var(--vf-color-text);line-height:var(--vf-text-line-height);opacity:1;transform:translateZ(0) scale(1);transition:transform var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),opacity var(--vf-motion-duration-normal) var(--vf-motion-ease-standard);will-change:left,top}.vf-popover__arrow{position:absolute;width:var(--vf-floating-arrow-size);height:var(--vf-floating-arrow-size);background:var(--vf-color-surface);border-left:1px solid var(--vf-color-border);border-top:1px solid var(--vf-color-border);transform:rotate(45deg);pointer-events:none}.vf-popover__arrow--bottom{margin-top:-1px}.vf-popover__arrow--top{margin-top:1px}.vf-dropdown__item{position:relative;z-index:1;display:flex;align-items:center;width:100%;min-height:var(--vf-control-height-sm);padding:var(--vf-field-padding-sm);border:1px solid transparent;border-radius:var(--vf-radius-control-tight);background:transparent;color:var(--vf-color-text);text-align:left;cursor:pointer}.vf-dropdown__item:hover{background:transparent;color:var(--vf-color-primary)}.vf-dropdown__item:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring);background:transparent;color:var(--vf-color-primary)}.vf-tooltip{position:relative;display:inline-flex;width:fit-content;max-width:100%;align-self:flex-start}.vf-tooltip__trigger{display:inline-flex;width:fit-content;max-width:100%}.vf-tooltip__content{position:fixed;left:0;top:0;z-index:var(--vf-z-tooltip);max-width:var(--vf-tooltip-max-width);padding:var(--vf-tooltip-padding);border-radius:var(--vf-radius-control-tight);background:var(--vf-color-text);color:var(--vf-color-bg);font-size:var(--vf-tooltip-font-size);line-height:var(--vf-tooltip-line-height);opacity:1;transform:translateZ(0) scale(1);transition:transform var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),opacity var(--vf-motion-duration-normal) var(--vf-motion-ease-standard);will-change:left,top}.vf-floating-transition-enter-from.vf-dropdown__menu,.vf-floating-transition-leave-to.vf-dropdown__menu,.vf-floating-transition-enter-from.vf-popover__content,.vf-floating-transition-leave-to.vf-popover__content,.vf-floating-transition-enter-from.vf-tooltip__content,.vf-floating-transition-leave-to.vf-tooltip__content{opacity:0;transform:translate3d(0,.25rem,0) scale(.97)}.vf-tooltip__arrow{position:absolute;width:var(--vf-floating-arrow-size);height:var(--vf-floating-arrow-size);background:var(--vf-color-text);transform:rotate(45deg);pointer-events:none}.vf-accordion{border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-surface);background:var(--vf-color-surface);color:var(--vf-color-text)}.vf-accordion__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--vf-spacing);position:relative;z-index:1;width:100%;padding:var(--vf-section-padding);border:1px solid transparent;border-radius:inherit;background:transparent;color:inherit;cursor:pointer;text-align:left}.vf-accordion__trigger[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0}.vf-accordion__trigger:hover:not(:disabled){background:transparent;color:var(--vf-color-primary)}.vf-accordion__trigger:focus-visible{z-index:2;outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-accordion__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1rem;height:1rem;line-height:1;color:var(--vf-color-muted);transition:transform var(--vf-motion-duration-normal) var(--vf-motion-ease-standard)}.vf-accordion__icon .vif-icon{width:1rem;height:1rem}.vf-accordion__icon--open{transform:rotate(180deg)}.vf-accordion__content{overflow:hidden;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;background:var(--vf-color-surface)}.vf-accordion__content-inner{position:relative;z-index:1;border-top:1px solid var(--vf-color-border);padding:var(--vf-section-padding);color:var(--vf-color-muted);line-height:var(--vf-text-line-height)}.vf-tabs{display:flex;flex-direction:column;gap:var(--vf-tabs-gap)}.vf-tabs__list{display:inline-flex;align-items:center;gap:var(--vf-tabs-list-gap);width:fit-content;padding:var(--vf-tabs-list-padding);border:1px solid var(--vf-color-border);border-radius:var(--vf-radius-overlay);background:var(--vf-color-surface-muted)}.vf-tabs__tab{display:inline-flex;align-items:center;justify-content:center;min-height:var(--vf-control-height-md);padding:0 var(--vf-tabs-tab-padding-inline);border:1px solid transparent;border-radius:var(--vf-radius-control-tight);background:transparent;color:var(--vf-color-muted);cursor:pointer;white-space:nowrap;line-height:var(--vf-tabs-line-height);transition:background-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),border-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),box-shadow var(--vf-motion-duration-normal) var(--vf-motion-ease-standard)}.vf-tabs__tab:hover:not(:disabled){color:var(--vf-color-primary);background:transparent}.vf-tabs__tab[aria-selected=true]{background:var(--vf-color-surface);color:var(--vf-color-primary);border:1px solid var(--vf-color-primary)}.vf-tabs__tab:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-tabs__tab:disabled{cursor:not-allowed;opacity:.5}.vf-tabs__panel{border:1px solid transparent;border-radius:var(--vf-radius-control);padding:var(--vf-tabs-panel-padding-top) 0 0;color:var(--vf-color-text);line-height:var(--vf-text-line-height)}.vf-tabs__panel:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-nav-menu{display:flex;flex-direction:column;width:100%;min-width:0}.vf-nav-menu__list{display:grid;gap:var(--vf-nav-menu-list-gap);margin:0;padding:0;list-style:none}.vf-nav-menu__list--nested{margin-top:0;gap:var(--vf-nav-menu-nested-gap);padding-top:0}.vf-nav-menu__collapse{overflow:hidden;margin-top:var(--vf-nav-menu-collapse-offset-top)}.vf-nav-menu__collapse--level-0{margin-left:var(--vf-nav-menu-collapse-inset-level-0-margin);padding-left:var(--vf-nav-menu-collapse-inset-level-0-padding)}.vf-nav-menu--simple .vf-nav-menu__collapse--level-0{margin-left:var(--vf-nav-menu-collapse-inset-simple-level-0-margin);padding-left:var(--vf-nav-menu-collapse-inset-simple-level-0-padding)}.vf-nav-menu__collapse:not(.vf-nav-menu__collapse--level-0){margin-left:var(--vf-nav-menu-collapse-inset-deep-margin);padding-left:var(--vf-nav-menu-collapse-inset-deep-padding)}.vf-nav-menu--simple .vf-nav-menu__collapse:not(.vf-nav-menu__collapse--level-0){margin-left:var(--vf-nav-menu-collapse-inset-simple-deep-margin);padding-left:var(--vf-nav-menu-collapse-inset-simple-deep-padding)}.vf-nav-menu__node{display:block}.vf-nav-menu__node:has(.vf-nav-menu__group)+.vf-nav-menu__node:has(.vf-nav-menu__group){margin-top:var(--vf-nav-menu-node-group-spacing)}.vf-nav-menu__collapse>.vf-nav-menu__list--nested>.vf-nav-menu__node:first-child>.vf-nav-menu__group{padding-top:0}.vf-nav-menu__group{display:flex;align-items:center;min-height:var(--vf-control-height-sm);padding:var(--vf-nav-menu-group-padding);cursor:default}.vf-nav-menu__group-label{font-size:var(--vf-nav-menu-group-font-size);font-weight:400;letter-spacing:0;color:color-mix(in srgb,var(--vf-color-muted) 88%,var(--vf-color-text))}.vf-nav-menu__item-content{display:inline-flex;align-items:center;gap:var(--vf-nav-menu-item-gap);min-width:0}.vf-nav-menu__leading-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--vf-nav-menu-leading-icon-column-size);min-width:var(--vf-nav-menu-leading-icon-column-size);color:currentColor}.vf-nav-menu__leading-icon .vif-icon{width:var(--vf-nav-menu-leading-icon-size);height:var(--vf-nav-menu-leading-icon-size)}.vf-nav-menu__item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--vf-control-height-sm);padding:var(--vf-nav-menu-item-padding);border:1px solid transparent;border-radius:var(--vf-radius-control);background:transparent;font-size:1rem;color:var(--vf-color-muted);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),border-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),box-shadow var(--vf-motion-duration-normal) var(--vf-motion-ease-standard)}.vf-nav-menu__item:hover:not(:disabled):not(.vf-nav-menu__item--active){color:var(--vf-color-primary);background:color-mix(in srgb,var(--vf-color-primary) 12%,var(--vf-color-surface))}.vf-nav-menu__item:focus-visible{outline:none;border-color:var(--vf-color-primary);box-shadow:0 0 0 var(--vf-focus-ring-width) var(--vf-color-focus-ring)}.vf-nav-menu__item--active{color:var(--vf-color-primary);background:color-mix(in srgb,var(--vf-color-primary) 16%,var(--vf-color-surface))}.vf-nav-menu__item--disabled{cursor:not-allowed;opacity:.5}.vf-nav-menu__item--branch{font-weight:400;color:color-mix(in srgb,var(--vf-color-text) 82%,var(--vf-color-muted))}.vf-nav-menu__label{min-width:0;overflow-wrap:anywhere}.vf-nav-menu__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1rem;height:1rem;line-height:1;color:var(--vf-color-muted);transition:transform var(--vf-motion-duration-normal) var(--vf-motion-ease-standard)}.vf-nav-menu__icon .vif-icon{width:1rem;height:1rem}.vf-nav-menu__icon--open{transform:rotate(180deg)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-preset.d.ts","sourceRoot":"","sources":["../../src/theme/default-preset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"default-preset.d.ts","sourceRoot":"","sources":["../../src/theme/default-preset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAalD,eAAO,MAAM,kBAAkB,EAAE,aAgNhC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const vfMotionTokens: {
|
|
2
|
+
readonly durationFast: "220ms";
|
|
3
|
+
readonly durationNormal: "320ms";
|
|
4
|
+
readonly easeStandard: "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
5
|
+
};
|
|
6
|
+
export declare const vfMotionDurationsMs: {
|
|
7
|
+
readonly fast: number;
|
|
8
|
+
readonly normal: number;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=motion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../../src/theme/motion.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;CAIjB,CAAA;AAMV,eAAO,MAAM,mBAAmB;;;CAGtB,CAAA"}
|
package/dist/theme-api.js
CHANGED
package/dist/theme.css
CHANGED
|
@@ -18,12 +18,50 @@
|
|
|
18
18
|
--vf-color-primary-contrast: #081120;
|
|
19
19
|
--vf-color-primary-soft: color-mix(in srgb, var(--vf-color-primary) 12%, var(--vf-color-surface));
|
|
20
20
|
--vf-color-primary-border-soft: color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border));
|
|
21
|
-
--vf-color-focus-ring: color-mix(in srgb, var(--vf-color-primary)
|
|
21
|
+
--vf-color-focus-ring: color-mix(in srgb, var(--vf-color-primary) 32%, var(--vf-color-surface));
|
|
22
22
|
--vf-color-success: #4ade80;
|
|
23
|
+
--vf-color-success-contrast: #081120;
|
|
24
|
+
--vf-color-info: #38bdf8;
|
|
25
|
+
--vf-color-info-contrast: #081120;
|
|
26
|
+
--vf-color-warn: #fbbf24;
|
|
27
|
+
--vf-color-warn-contrast: #1f1300;
|
|
28
|
+
--vf-color-help: #a78bfa;
|
|
29
|
+
--vf-color-help-contrast: #081120;
|
|
23
30
|
--vf-color-danger: #f87171;
|
|
31
|
+
--vf-color-danger-contrast: #081120;
|
|
32
|
+
--vf-color-contrast: #f3f4f6;
|
|
33
|
+
--vf-color-contrast-contrast: #111827;
|
|
24
34
|
--vf-color-success-soft: color-mix(in srgb, var(--vf-color-success) 12%, var(--vf-color-surface));
|
|
35
|
+
--vf-color-info-soft: color-mix(in srgb, var(--vf-color-info) 12%, var(--vf-color-surface));
|
|
36
|
+
--vf-color-warn-soft: color-mix(in srgb, var(--vf-color-warn) 12%, var(--vf-color-surface));
|
|
37
|
+
--vf-color-help-soft: color-mix(in srgb, var(--vf-color-help) 12%, var(--vf-color-surface));
|
|
25
38
|
--vf-color-danger-soft: color-mix(in srgb, var(--vf-color-danger) 12%, var(--vf-color-surface));
|
|
39
|
+
--vf-color-contrast-soft: color-mix(in srgb, var(--vf-color-contrast) 10%, var(--vf-color-surface));
|
|
26
40
|
--vf-color-success-border-soft: color-mix(in srgb, var(--vf-color-success) 24%, var(--vf-color-border));
|
|
41
|
+
--vf-color-info-border-soft: color-mix(in srgb, var(--vf-color-info) 24%, var(--vf-color-border));
|
|
42
|
+
--vf-color-warn-border-soft: color-mix(in srgb, var(--vf-color-warn) 24%, var(--vf-color-border));
|
|
43
|
+
--vf-color-help-border-soft: color-mix(in srgb, var(--vf-color-help) 24%, var(--vf-color-border));
|
|
27
44
|
--vf-color-danger-border-soft: color-mix(in srgb, var(--vf-color-danger) 24%, var(--vf-color-border));
|
|
45
|
+
--vf-color-contrast-border-soft: color-mix(in srgb, var(--vf-color-contrast) 24%, var(--vf-color-border));
|
|
28
46
|
--vf-shadow: none;
|
|
29
47
|
}
|
|
48
|
+
|
|
49
|
+
:root.vf-theme-transitioning,
|
|
50
|
+
:root.vf-theme-transitioning body,
|
|
51
|
+
:root.vf-theme-transitioning #app,
|
|
52
|
+
:root.vf-theme-transitioning [class^='vf-'],
|
|
53
|
+
:root.vf-theme-transitioning [class*=' vf-'],
|
|
54
|
+
:root.vf-theme-transitioning .demo-page,
|
|
55
|
+
:root.vf-theme-transitioning .demo-container,
|
|
56
|
+
:root.vf-theme-transitioning .demo-header,
|
|
57
|
+
:root.vf-theme-transitioning .demo-block,
|
|
58
|
+
:root.vf-theme-transitioning .demo-example,
|
|
59
|
+
:root.vf-theme-transitioning .demo-item {
|
|
60
|
+
transition:
|
|
61
|
+
background-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),
|
|
62
|
+
border-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),
|
|
63
|
+
color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),
|
|
64
|
+
box-shadow var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),
|
|
65
|
+
fill var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),
|
|
66
|
+
stroke var(--vf-motion-duration-normal) var(--vf-motion-ease-standard);
|
|
67
|
+
}
|