@humanforest/ui 0.1.2 → 0.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/preset.gen.js ADDED
@@ -0,0 +1,1444 @@
1
+ /* GENERATED by scripts/preset.ts — do not edit. Run `bun run build:preset`.
2
+ The compiled form of src/forest-preset.ts, which a consumer's vite.config.ts imports and Node
3
+ loads DIRECTLY: Node cannot type-strip a .ts file under node_modules, so the source cannot be
4
+ the published entry point. Everything else in this package still ships as source, because
5
+ Tailwind's @source and @nuxt/ui's scanner have to read it. */
6
+ var __defProp = Object.defineProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true,
12
+ configurable: true,
13
+ set: (newValue) => all[name] = () => newValue
14
+ });
15
+ };
16
+
17
+ // packages/ui/src/themes/index.ts
18
+ var exports_themes = {};
19
+ __export(exports_themes, {
20
+ user: () => userTheme,
21
+ tree: () => treeTheme,
22
+ tooltip: () => tooltipTheme,
23
+ toaster: () => toasterTheme,
24
+ toast: () => toastTheme,
25
+ timeline: () => timelineTheme,
26
+ textarea: () => textareaTheme,
27
+ tabs: () => tabsTheme,
28
+ table: () => tableTheme,
29
+ switch: () => switchTheme,
30
+ stepper: () => stepperTheme,
31
+ splitter: () => splitterTheme,
32
+ slider: () => sliderTheme,
33
+ slideover: () => slideoverTheme,
34
+ skeleton: () => skeletonTheme,
35
+ sidebar: () => sidebarTheme,
36
+ separator: () => separatorTheme,
37
+ selectMenu: () => selectMenuTheme,
38
+ select: () => selectTheme,
39
+ scrollArea: () => scrollAreaTheme,
40
+ radioGroup: () => radioGroupTheme,
41
+ prose: () => proseTheme,
42
+ progressGroup: () => progressGroupTheme,
43
+ progress: () => progressTheme,
44
+ popover: () => popoverTheme,
45
+ pinInput: () => pinInputTheme,
46
+ pagination: () => paginationTheme,
47
+ pageSection: () => pageSectionTheme,
48
+ pageLinks: () => pageLinksTheme,
49
+ pageHero: () => pageHeroTheme,
50
+ pageHeader: () => pageHeaderTheme,
51
+ pageFeature: () => pageFeatureTheme,
52
+ pageCta: () => pageCtaTheme,
53
+ pageCard: () => pageCardTheme,
54
+ pageAside: () => pageAsideTheme,
55
+ pageAnchors: () => pageAnchorsTheme,
56
+ page: () => pageTheme,
57
+ navigationMenu: () => navigationMenuTheme,
58
+ modal: () => modalTheme,
59
+ marquee: () => marqueeTheme,
60
+ main: () => mainTheme,
61
+ listbox: () => listboxTheme,
62
+ link: () => linkTheme,
63
+ kbd: () => kbdTheme,
64
+ inputTime: () => inputTimeTheme,
65
+ inputTags: () => inputTagsTheme,
66
+ inputRating: () => inputRatingTheme,
67
+ inputNumber: () => inputNumberTheme,
68
+ inputMenu: () => inputMenuTheme,
69
+ inputDate: () => inputDateTheme,
70
+ input: () => inputTheme,
71
+ icon: () => iconTheme,
72
+ header: () => headerTheme,
73
+ formField: () => formFieldTheme,
74
+ form: () => formTheme,
75
+ footerColumns: () => footerColumnsTheme,
76
+ footer: () => footerTheme,
77
+ fileUpload: () => fileUploadTheme,
78
+ fieldGroup: () => fieldGroupTheme,
79
+ empty: () => emptyTheme,
80
+ dropdownMenu: () => dropdownMenuTheme,
81
+ drawer: () => drawerTheme,
82
+ dashboardToolbar: () => dashboardToolbarTheme,
83
+ dashboardSidebarToggle: () => dashboardSidebarToggleTheme,
84
+ dashboardSidebarCollapse: () => dashboardSidebarCollapseTheme,
85
+ dashboardSidebar: () => dashboardSidebarTheme,
86
+ dashboardResizeHandle: () => dashboardResizeHandleTheme,
87
+ dashboardPanel: () => dashboardPanelTheme,
88
+ dashboardNavbar: () => dashboardNavbarTheme,
89
+ dashboardGroup: () => dashboardGroupTheme,
90
+ contextMenu: () => contextMenuTheme,
91
+ container: () => containerTheme,
92
+ commandPalette: () => commandPaletteTheme,
93
+ colorPicker: () => colorPickerTheme,
94
+ collapsible: () => collapsibleTheme,
95
+ chip: () => chipTheme,
96
+ checkboxGroup: () => checkboxGroupTheme,
97
+ checkbox: () => checkboxTheme,
98
+ carousel: () => carouselTheme,
99
+ card: () => cardTheme,
100
+ calendar: () => calendarTheme,
101
+ button: () => buttonTheme,
102
+ breadcrumb: () => breadcrumbTheme,
103
+ banner: () => bannerTheme,
104
+ badge: () => badgeTheme,
105
+ avatarGroup: () => avatarGroupTheme,
106
+ avatar: () => avatarTheme,
107
+ authForm: () => authFormTheme,
108
+ alert: () => alertTheme,
109
+ accordion: () => accordionTheme
110
+ });
111
+
112
+ // packages/ui/src/themes/accordion.ts
113
+ var accordionTheme = {
114
+ slots: {
115
+ trigger: "font-bold focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--color-forest-500)]",
116
+ body: "text-muted",
117
+ content: "data-[state=open]:animate-[accordion-down_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[accordion-up_var(--motion-slow)_var(--motion-ease-out)]",
118
+ trailingIcon: "duration-(--motion-fast) ease-(--motion-ease-out)"
119
+ }
120
+ };
121
+ // packages/ui/src/themes/alert.ts
122
+ var alertTheme = {
123
+ slots: {
124
+ title: "font-bold"
125
+ }
126
+ };
127
+ // packages/ui/src/themes/auth-form.ts
128
+ var authFormTheme = {
129
+ slots: {
130
+ title: "type-title",
131
+ description: "type-body"
132
+ }
133
+ };
134
+ // packages/ui/src/themes/avatar.ts
135
+ var avatarTheme = {
136
+ slots: {
137
+ root: "font-bold",
138
+ fallback: "font-bold"
139
+ }
140
+ };
141
+ // packages/ui/src/themes/avatar-group.ts
142
+ var avatarGroupTheme = {};
143
+ // packages/ui/src/themes/badge.ts
144
+ var badgeTheme = {
145
+ slots: { base: "rounded-sm font-bold uppercase tracking-wide" },
146
+ variants: {
147
+ size: {
148
+ xs: { base: "rounded-xs coarse:text-[10px]/3 coarse:px-1.5 coarse:py-1" },
149
+ sm: {
150
+ base: "rounded-xs coarse:text-xs coarse:px-2 coarse:rounded-sm",
151
+ leadingIcon: "coarse:size-4",
152
+ trailingIcon: "coarse:size-4"
153
+ },
154
+ md: {
155
+ base: "rounded-sm coarse:text-sm coarse:gap-1.5",
156
+ leadingIcon: "coarse:size-5",
157
+ trailingIcon: "coarse:size-5"
158
+ },
159
+ lg: {
160
+ base: "rounded-sm coarse:text-base coarse:px-2.5",
161
+ leadingIcon: "coarse:size-6",
162
+ trailingIcon: "coarse:size-6"
163
+ },
164
+ xl: { base: "rounded-sm" }
165
+ }
166
+ },
167
+ defaultVariants: { variant: "subtle" }
168
+ };
169
+ // packages/ui/src/themes/banner.ts
170
+ var bannerTheme = {
171
+ slots: {
172
+ left: "lg:flex-none",
173
+ center: "flex-1",
174
+ title: "font-bold me-auto",
175
+ right: "lg:flex-none"
176
+ }
177
+ };
178
+ // packages/ui/src/themes/breadcrumb.ts
179
+ var breadcrumbTheme = {};
180
+ // packages/ui/src/themes/button.mechanics.ts
181
+ var FOCUS = "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--btn-ring)]";
182
+ var KEYCAP = [
183
+ "relative isolate overflow-visible border-0 text-[var(--btn-ink)]",
184
+ "bg-transparent hover:bg-transparent active:bg-transparent disabled:bg-transparent aria-disabled:bg-transparent",
185
+ "[--btn-y-focus:var(--btn-y)] [--btn-yi-focus:var(--btn-yi)] [--btn-ring-w:2px]",
186
+ "translate-y-[var(--btn-y)] transition-[translate] duration-(--motion-instant) ease-(--motion-ease-out) motion-reduce:transition-none",
187
+ "hover:translate-y-[var(--btn-y-h)] active:translate-y-0 focus-visible:translate-y-[var(--btn-y-focus)]",
188
+ "disabled:translate-y-0 aria-disabled:translate-y-0",
189
+ "after:content-[''] after:absolute after:inset-0 after:-z-10 after:rounded-[inherit] after:bg-[var(--btn-face)] after:border-solid after:[border-width:var(--btn-edge,1px)] after:border-[var(--btn-lip)] after:transition-[background-color] after:duration-(--motion-instant) after:ease-(--motion-ease-out)",
190
+ "hover:after:bg-[var(--btn-hover)] active:after:bg-[var(--btn-hover)]",
191
+ "before:content-[''] before:absolute before:inset-x-0 before:bottom-0 before:top-[var(--btn-y)] before:-z-20 before:rounded-[inherit] before:bg-[var(--btn-lip)]",
192
+ "before:translate-y-[var(--btn-yi)] before:transition-[translate,top] before:duration-(--motion-instant) before:ease-(--motion-ease-out) before:motion-reduce:transition-none",
193
+ "hover:before:translate-y-[var(--btn-yhi)] hover:before:top-[var(--btn-y-h)] active:before:translate-y-0 active:before:top-0",
194
+ "focus-visible:before:top-[var(--btn-y-focus)] focus-visible:before:translate-y-[var(--btn-yi-focus)]",
195
+ "disabled:before:translate-y-0 disabled:before:top-0 aria-disabled:before:translate-y-0 aria-disabled:before:top-0",
196
+ "focus-visible:outline-none focus-visible:before:outline-[length:var(--btn-ring-w)] focus-visible:before:outline-offset-2 focus-visible:before:outline-[var(--btn-ring)]"
197
+ ].join(" ");
198
+ var PAD = [
199
+ "[--btn-face:var(--btn-t1)] dark:[--btn-face:var(--btn-t1)] [--btn-hover:var(--btn-t2)] dark:[--btn-hover:var(--btn-t2)] [--btn-press:var(--btn-t3)] dark:[--btn-press:var(--btn-t3)] [--btn-lip:var(--btn-line)] dark:[--btn-lip:var(--btn-line)] [--btn-ink:var(--btn-text)] dark:[--btn-ink:var(--btn-text)]",
200
+ KEYCAP
201
+ ].join(" ");
202
+ var FRAMED = [
203
+ "ring-[length:var(--btn-edge,1px)] ring-inset ring-[var(--btn-lip)] text-[var(--btn-ink)] bg-[var(--btn-face)]",
204
+ "hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)]",
205
+ FOCUS
206
+ ].join(" ");
207
+ var SOLID = [
208
+ "border-0 text-[var(--btn-ink)] bg-[var(--btn-face)]",
209
+ "hover:bg-[var(--btn-hover)] active:bg-[var(--btn-press)]",
210
+ FOCUS
211
+ ].join(" ");
212
+ var SUBTLE = [
213
+ "ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-default",
214
+ "hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)]",
215
+ FOCUS
216
+ ].join(" ");
217
+ var OUTLINE = [
218
+ "ring-[length:var(--btn-edge,1px)] ring-[var(--btn-line)] text-[var(--btn-text)] bg-transparent",
219
+ "hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)]",
220
+ FOCUS
221
+ ].join(" ");
222
+ var SOFT = [
223
+ "text-[var(--btn-text)] bg-[var(--btn-t1)]",
224
+ "hover:bg-[var(--btn-t2)] active:bg-[var(--btn-t3)]",
225
+ FOCUS
226
+ ].join(" ");
227
+ var GHOST = [
228
+ "text-[var(--btn-text)] bg-transparent",
229
+ "hover:bg-[var(--btn-t1)] active:bg-[var(--btn-t2)]",
230
+ FOCUS
231
+ ].join(" ");
232
+ var LINK = [
233
+ "border-0 bg-transparent text-[var(--btn-text)] underline-offset-4",
234
+ "hover:underline hover:text-[var(--btn-press)] active:text-[var(--btn-press)]",
235
+ FOCUS
236
+ ].join(" ");
237
+ var PAL_FOREST = "[--btn-face:var(--forest-500)] dark:[--btn-face:var(--forest-400)] [--btn-hover:var(--forest-600)] dark:[--btn-hover:var(--forest-500)] [--btn-press:var(--forest-700)] dark:[--btn-press:var(--forest-600)] [--btn-lip:var(--forest-700)] dark:[--btn-lip:var(--forest-600)] [--btn-ring:var(--forest-500)] [--btn-t1:var(--forest-100)] dark:[--btn-t1:var(--forest-900)] [--btn-t2:var(--forest-200)] dark:[--btn-t2:var(--forest-800)] [--btn-t3:var(--forest-300)] dark:[--btn-t3:var(--forest-700)] [--btn-line:var(--forest-400)] dark:[--btn-line:var(--forest-600)] [--btn-text:var(--forest-700)] dark:[--btn-text:var(--forest-300)] [--btn-ink:var(--forest-0)] dark:[--btn-ink:var(--forest-950)]";
238
+ var PAL_RIVER = "[--btn-face:var(--river-500)] dark:[--btn-face:var(--river-400)] [--btn-hover:var(--river-600)] dark:[--btn-hover:var(--river-500)] [--btn-press:var(--river-700)] dark:[--btn-press:var(--river-600)] [--btn-lip:var(--river-700)] dark:[--btn-lip:var(--river-600)] [--btn-ring:var(--river-500)] [--btn-t1:var(--river-100)] dark:[--btn-t1:var(--river-900)] [--btn-t2:var(--river-200)] dark:[--btn-t2:var(--river-800)] [--btn-t3:var(--river-300)] dark:[--btn-t3:var(--river-700)] [--btn-line:var(--river-400)] dark:[--btn-line:var(--river-600)] [--btn-text:var(--river-700)] dark:[--btn-text:var(--river-300)] [--btn-ink:var(--river-0)] dark:[--btn-ink:var(--river-950)]";
239
+ var PAL_MAPLE = "[--btn-face:var(--maple-500)] dark:[--btn-face:var(--maple-400)] [--btn-hover:var(--maple-600)] dark:[--btn-hover:var(--maple-500)] [--btn-press:var(--maple-700)] dark:[--btn-press:var(--maple-600)] [--btn-lip:var(--maple-700)] dark:[--btn-lip:var(--maple-600)] [--btn-ring:var(--maple-500)] [--btn-t1:var(--maple-100)] dark:[--btn-t1:var(--maple-900)] [--btn-t2:var(--maple-200)] dark:[--btn-t2:var(--maple-800)] [--btn-t3:var(--maple-300)] dark:[--btn-t3:var(--maple-700)] [--btn-line:var(--maple-400)] dark:[--btn-line:var(--maple-600)] [--btn-text:var(--maple-700)] dark:[--btn-text:var(--maple-300)] [--btn-ink:var(--maple-0)] dark:[--btn-ink:var(--maple-950)]";
240
+ var PAL_AMBER = "[--btn-face:var(--amber-300)] [--btn-hover:var(--amber-400)] [--btn-press:var(--amber-500)] [--btn-lip:var(--amber-600)] [--btn-ring:var(--amber-500)] [--btn-t1:var(--amber-100)] dark:[--btn-t1:var(--amber-900)] [--btn-t2:var(--amber-200)] dark:[--btn-t2:var(--amber-800)] [--btn-t3:var(--amber-300)] dark:[--btn-t3:var(--amber-700)] [--btn-line:var(--amber-400)] dark:[--btn-line:var(--amber-600)] [--btn-text:var(--amber-700)] dark:[--btn-text:var(--amber-300)] [--btn-ink:var(--amber-950)]";
241
+ var PAL_SECONDARY = "[--btn-face:var(--warm-500)] dark:[--btn-face:var(--warm-400)] [--btn-hover:var(--warm-600)] dark:[--btn-hover:var(--warm-500)] [--btn-press:var(--warm-700)] dark:[--btn-press:var(--warm-600)] [--btn-lip:var(--warm-700)] dark:[--btn-lip:var(--warm-600)] [--btn-ring:var(--warm-500)] [--btn-t1:var(--warm-100)] dark:[--btn-t1:var(--warm-900)] [--btn-t2:var(--warm-200)] dark:[--btn-t2:var(--warm-800)] [--btn-t3:var(--warm-300)] dark:[--btn-t3:var(--warm-700)] [--btn-line:var(--warm-400)] dark:[--btn-line:var(--warm-600)] [--btn-text:var(--warm-700)] dark:[--btn-text:var(--warm-300)] [--btn-ink:var(--warm-0)] dark:[--btn-ink:var(--warm-950)]";
242
+ var PAL_NEUTRAL = "[--btn-face:var(--neutral-900)] dark:[--btn-face:var(--neutral-50)] [--btn-hover:var(--neutral-800)] dark:[--btn-hover:var(--neutral-100)] [--btn-press:var(--neutral-700)] dark:[--btn-press:var(--neutral-200)] [--btn-lip:var(--neutral-400)] dark:[--btn-lip:var(--neutral-300)] [--btn-ring:var(--neutral-500)] [--btn-t1:var(--neutral-50)] dark:[--btn-t1:var(--neutral-950)] [--btn-t2:var(--neutral-100)] dark:[--btn-t2:var(--neutral-900)] [--btn-t3:var(--neutral-200)] dark:[--btn-t3:var(--neutral-800)] [--btn-line:var(--neutral-300)] dark:[--btn-line:var(--neutral-700)] [--btn-text:var(--neutral-900)] dark:[--btn-text:var(--neutral-100)] [--btn-ink:var(--neutral-0)] dark:[--btn-ink:var(--neutral-900)]";
243
+ var ALL = ["primary", "secondary", "success", "info", "warning", "error", "neutral"];
244
+ var emphasis = (variant, cls) => ALL.map((color) => ({ color, variant, class: cls }));
245
+
246
+ // packages/ui/src/themes/button.ts
247
+ var buttonTheme = {
248
+ slots: {
249
+ base: "font-bold transition-[transform,box-shadow,background-color,border-color,color] duration-(--motion-fast) motion-reduce:transition-[background-color,border-color,color]"
250
+ },
251
+ variants: {
252
+ color: {
253
+ primary: PAL_FOREST,
254
+ success: PAL_FOREST,
255
+ info: PAL_RIVER,
256
+ error: PAL_MAPLE,
257
+ warning: PAL_AMBER,
258
+ secondary: PAL_SECONDARY,
259
+ neutral: PAL_NEUTRAL
260
+ },
261
+ variant: {
262
+ keycap: "",
263
+ pad: "",
264
+ framed: "",
265
+ subtle: "",
266
+ link: ""
267
+ },
268
+ size: {
269
+ xs: { base: "min-h-6 px-2.5 rounded-sm touch:min-h-7 [--btn-y:-1px] [--btn-yi:1px] [--btn-y-h:-2px] [--btn-yhi:2px] coarse:[--btn-y:-2px] coarse:[--btn-yi:2px] coarse:[--btn-y-h:-3px] coarse:[--btn-yhi:3px]" },
270
+ sm: { base: "min-h-7 px-3 rounded-md touch:min-h-9 touch:text-sm [--btn-y:-2px] [--btn-yi:2px] [--btn-y-h:-3px] [--btn-yhi:3px]", leadingIcon: "touch:size-5", trailingIcon: "touch:size-5" },
271
+ md: { base: "min-h-8 px-3.5 rounded-md touch:min-h-10 [--btn-y:-2px] [--btn-yi:2px] [--btn-y-h:-3px] [--btn-yhi:3px] coarse:[--btn-y:-3px] coarse:[--btn-yi:3px] coarse:[--btn-y-h:-4px] coarse:[--btn-yhi:4px]" },
272
+ lg: { base: "min-h-9 px-4 rounded-lg touch:min-h-11 touch:text-base [--btn-y:-3px] [--btn-yi:3px] [--btn-y-h:-4px] [--btn-yhi:4px]", leadingIcon: "touch:size-6", trailingIcon: "touch:size-6" },
273
+ xl: { base: "min-h-10 px-4 rounded-lg touch:min-h-13 touch:text-lg [--btn-y:-3px] [--btn-yi:3px] [--btn-y-h:-4px] [--btn-yhi:4px]", leadingIcon: "touch:size-7", trailingIcon: "touch:size-7" }
274
+ }
275
+ },
276
+ compoundVariants: [
277
+ ...emphasis("keycap", KEYCAP),
278
+ ...emphasis("pad", PAD),
279
+ ...emphasis("framed", FRAMED),
280
+ ...emphasis("solid", SOLID),
281
+ ...emphasis("subtle", SUBTLE),
282
+ ...emphasis("soft", SOFT),
283
+ ...emphasis("outline", OUTLINE),
284
+ ...emphasis("ghost", GHOST),
285
+ ...emphasis("link", LINK),
286
+ { square: true, class: "justify-center aspect-square touch:px-0 touch:py-0" }
287
+ ],
288
+ defaultVariants: {
289
+ color: "primary",
290
+ variant: "solid",
291
+ size: "md"
292
+ }
293
+ };
294
+ // packages/ui/src/themes/calendar.ts
295
+ var calendarTheme = {
296
+ slots: {
297
+ root: "rounded-xl border border-default bg-elevated/30 p-4 inline-block",
298
+ headingLabel: "font-bold tracking-tight text-highlighted",
299
+ cellTrigger: "focus-visible:ring-2 focus-visible:ring-offset-2 focus:outline-none data-today:font-bold"
300
+ }
301
+ };
302
+ // packages/ui/src/themes/card.ts
303
+ var flatGap = {
304
+ header: "[&:not(:last-child)]:pb-0",
305
+ footer: "[&:not(:first-child)]:pt-0"
306
+ };
307
+ var cardTheme = {
308
+ slots: {
309
+ root: "rounded-xl forest-card",
310
+ body: "sm:p-4",
311
+ header: "sm:px-4",
312
+ footer: "sm:px-4",
313
+ title: "[font-family:var(--fx-title-family)] [text-transform:var(--fx-title-transform)]"
314
+ },
315
+ variants: {
316
+ variant: {
317
+ soft: { root: "bg-[var(--forest-card-bg)] divide-y-0", ...flatGap },
318
+ solid: { ...flatGap },
319
+ subtle: { root: "bg-[var(--forest-card-bg)] ring-[var(--forest-card-ring)] divide-[color:var(--forest-card-ring)]" },
320
+ outline: { root: "ring-[var(--forest-card-ring)] divide-[color:var(--forest-card-ring)]" },
321
+ peach: { root: "bg-[var(--forest-card-peach-bg)] ring-[var(--forest-card-peach-ring)]", title: "text-[var(--forest-card-peach-text)]", description: "text-[var(--forest-card-peach-muted)]", ...flatGap },
322
+ mint: { root: "bg-[var(--forest-card-mint-bg)] ring-[var(--forest-card-mint-ring)]", title: "text-[var(--forest-card-mint-text)]", description: "text-[var(--forest-card-mint-muted)]", ...flatGap },
323
+ sky: { root: "bg-[var(--forest-card-sky-bg)] ring-[var(--forest-card-sky-ring)]", title: "text-[var(--forest-card-sky-text)]", description: "text-[var(--forest-card-sky-muted)]", ...flatGap },
324
+ amber: { root: "bg-[var(--forest-card-amber-bg)] ring-[var(--forest-card-amber-ring)]", title: "text-[var(--forest-card-amber-text)]", description: "text-[var(--forest-card-amber-muted)]", ...flatGap }
325
+ }
326
+ },
327
+ defaultVariants: {
328
+ variant: "soft"
329
+ }
330
+ };
331
+ // packages/ui/src/themes/carousel.ts
332
+ var FOCUS_RING = "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--forest-500)]";
333
+ var carouselTheme = {
334
+ slots: {
335
+ prev: FOCUS_RING,
336
+ next: FOCUS_RING,
337
+ dot: `focus:outline-none ${FOCUS_RING}`
338
+ },
339
+ variants: {
340
+ active: {
341
+ true: {
342
+ dot: "data-[state=active]:bg-[var(--forest-500)] dark:data-[state=active]:bg-[var(--forest-400)]"
343
+ }
344
+ }
345
+ }
346
+ };
347
+ // packages/ui/src/themes/checkbox.ts
348
+ var checkboxTheme = {
349
+ slots: {
350
+ base: "rounded focus-visible:outline-offset-2"
351
+ },
352
+ variants: {
353
+ size: {
354
+ xs: { base: "coarse:size-3.5", icon: "coarse:size-3" },
355
+ sm: { base: "coarse:size-4", icon: "coarse:size-3.5", container: "coarse:h-5", wrapper: "coarse:text-sm" },
356
+ md: { base: "coarse:size-4.5", icon: "coarse:size-4" },
357
+ lg: { base: "coarse:size-5", icon: "coarse:size-4.5", container: "coarse:h-6", wrapper: "coarse:text-base" }
358
+ }
359
+ },
360
+ compoundVariants: [
361
+ { variant: "list", indicator: ["start", "end"], class: { base: "focus-visible:outline-2" } },
362
+ { variant: "card", class: { root: "has-focus-visible:outline-2 has-focus-visible:outline-offset-2" } },
363
+ { variant: "list", indicator: "hidden", class: { root: "has-focus-visible:outline-2 has-focus-visible:outline-offset-2" } }
364
+ ]
365
+ };
366
+ // packages/ui/src/themes/checkbox-group.ts
367
+ var checkboxGroupTheme = {
368
+ slots: {
369
+ legend: "font-bold"
370
+ }
371
+ };
372
+ // packages/ui/src/themes/chip.ts
373
+ var chipTheme = {
374
+ slots: {
375
+ base: "font-bold [&:not(:empty)]:px-1 [&:not(:empty)]:leading-none"
376
+ },
377
+ variants: {
378
+ standalone: {
379
+ true: "[&.ring]:translate-x-0 [&.ring]:translate-y-0"
380
+ },
381
+ size: {
382
+ "3xs": "[&:not(:empty)]:min-h-[14px] [&:not(:empty)]:min-w-[14px] [&:not(:empty)]:text-[10px]",
383
+ "2xs": "[&:not(:empty)]:min-h-[14px] [&:not(:empty)]:min-w-[14px] [&:not(:empty)]:text-[10px]",
384
+ xs: "[&:not(:empty)]:min-h-[15px] [&:not(:empty)]:min-w-[15px] [&:not(:empty)]:text-[10px]",
385
+ sm: "[&:not(:empty)]:min-h-[15px] [&:not(:empty)]:min-w-[15px] [&:not(:empty)]:text-[11px]",
386
+ md: "[&:not(:empty)]:min-h-[16px] [&:not(:empty)]:min-w-[16px] [&:not(:empty)]:text-[11px]",
387
+ lg: "[&:not(:empty)]:min-h-[17px] [&:not(:empty)]:min-w-[17px] [&:not(:empty)]:text-[12px]",
388
+ xl: "[&:not(:empty)]:min-h-[18px] [&:not(:empty)]:min-w-[18px] [&:not(:empty)]:text-[13px]",
389
+ "2xl": "[&:not(:empty)]:min-h-[20px] [&:not(:empty)]:min-w-[20px] [&:not(:empty)]:text-[14px]",
390
+ "3xl": "[&:not(:empty)]:min-h-[22px] [&:not(:empty)]:min-w-[22px] [&:not(:empty)]:text-[15px]"
391
+ }
392
+ }
393
+ };
394
+ // packages/ui/src/themes/collapsible.ts
395
+ var collapsibleTheme = {
396
+ slots: {
397
+ root: "rounded-lg",
398
+ content: "data-[state=open]:animate-[collapsible-down_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[collapsible-up_var(--motion-slow)_var(--motion-ease-out)] overflow-hidden text-sm text-muted"
399
+ }
400
+ };
401
+ // packages/ui/src/themes/color-picker.ts
402
+ var colorPickerTheme = {};
403
+ // packages/ui/src/themes/command-palette.ts
404
+ var commandPaletteTheme = {
405
+ slots: {
406
+ root: "rounded-xl",
407
+ label: "font-bold tracking-wide"
408
+ },
409
+ variants: {
410
+ size: {
411
+ xs: { item: "coarse:p-1.5 coarse:gap-1.5", label: "coarse:p-1.5 coarse:gap-1.5" },
412
+ sm: { item: "coarse:text-sm", label: "coarse:text-xs", itemLeadingIcon: "coarse:size-5", itemTrailingIcon: "coarse:size-5", itemTrailingHighlightedIcon: "coarse:size-5" },
413
+ md: { item: "coarse:p-2 coarse:gap-2", label: "coarse:p-2 coarse:gap-2" },
414
+ lg: { item: "coarse:text-base", label: "coarse:text-sm", itemLeadingIcon: "coarse:size-6", itemTrailingIcon: "coarse:size-6", itemTrailingHighlightedIcon: "coarse:size-6" }
415
+ }
416
+ }
417
+ };
418
+ // packages/ui/src/themes/container.ts
419
+ var containerTheme = {};
420
+ // packages/ui/src/themes/context-menu.ts
421
+ var contextMenuTheme = {
422
+ slots: {
423
+ content: "data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]",
424
+ item: "before:rounded-sm",
425
+ label: "font-bold tracking-wide"
426
+ },
427
+ variants: {
428
+ size: {
429
+ xs: { item: "coarse:p-1.5 coarse:gap-1.5", label: "coarse:p-1.5 coarse:gap-1.5" },
430
+ sm: { item: "coarse:text-sm", label: "coarse:text-sm", itemLeadingIcon: "coarse:size-5", itemTrailingIcon: "coarse:size-5" },
431
+ md: { item: "coarse:p-2 coarse:gap-2", label: "coarse:p-2 coarse:gap-2" },
432
+ lg: { item: "coarse:text-base", label: "coarse:text-base", itemLeadingIcon: "coarse:size-6", itemTrailingIcon: "coarse:size-6" }
433
+ }
434
+ }
435
+ };
436
+ // packages/ui/src/themes/dashboard-group.ts
437
+ var dashboardGroupTheme = {
438
+ base: "bg-muted dark:bg-(--ui-color-neutral-950) text-default"
439
+ };
440
+ // packages/ui/src/themes/dashboard-navbar.ts
441
+ var dashboardNavbarTheme = {};
442
+ // packages/ui/src/themes/dashboard-panel.ts
443
+ var dashboardPanelTheme = {
444
+ slots: {
445
+ root: "bg-default overflow-hidden m-(--forest-panel-inset) lg:ms-0 rounded-lg ring ring-[var(--forest-card-ring)] min-h-0"
446
+ }
447
+ };
448
+ // packages/ui/src/themes/dashboard-resize-handle.ts
449
+ var dashboardResizeHandleTheme = {
450
+ base: [
451
+ "before:-left-3.5",
452
+ "after:absolute after:top-1/2 after:right-1 after:-translate-y-1/2",
453
+ "after:h-16 after:w-1 after:rounded-full after:bg-(--ui-text-dimmed)",
454
+ "after:opacity-0 after:transition-opacity after:duration-(--motion-fast)",
455
+ "hover:after:opacity-100 hover:after:delay-(--motion-dwell)",
456
+ "active:after:opacity-100 active:after:delay-0"
457
+ ].join(" ")
458
+ };
459
+ // packages/ui/src/themes/dashboard-sidebar.ts
460
+ var dashboardSidebarTheme = {
461
+ slots: {
462
+ root: [
463
+ "group transition-[width] duration-(--motion-slow) ease-(--motion-ease-in-out)",
464
+ "data-[dragging=true]:transition-none"
465
+ ].join(" "),
466
+ header: "group-data-[collapsed=true]:px-2 group-data-[collapsed=true]:justify-center",
467
+ body: "[scrollbar-width:none]! group-data-[collapsed=true]:px-2",
468
+ footer: "group-data-[collapsed=true]:px-2 group-data-[collapsed=true]:justify-center"
469
+ },
470
+ variants: {
471
+ side: {
472
+ left: { root: "border-e-0" }
473
+ }
474
+ }
475
+ };
476
+ // packages/ui/src/themes/dashboard-sidebar-collapse.ts
477
+ var dashboardSidebarCollapseTheme = {};
478
+ // packages/ui/src/themes/dashboard-sidebar-toggle.ts
479
+ var dashboardSidebarToggleTheme = {};
480
+ // packages/ui/src/themes/dashboard-toolbar.ts
481
+ var dashboardToolbarTheme = {
482
+ slots: {
483
+ root: "min-h-(--ui-header-height)"
484
+ }
485
+ };
486
+ // packages/ui/src/themes/drawer.ts
487
+ var drawerTheme = {
488
+ slots: {
489
+ title: "text-base tracking-tight"
490
+ },
491
+ variants: {
492
+ inset: { true: { content: "rounded-[var(--forest-drawer-radius)]" } }
493
+ },
494
+ compoundVariants: [
495
+ { direction: "bottom", inset: false, class: { content: "rounded-t-[var(--forest-drawer-radius)]" } },
496
+ { direction: "top", inset: false, class: { content: "rounded-b-[var(--forest-drawer-radius)]" } },
497
+ { direction: "left", inset: false, class: { content: "rounded-r-[var(--forest-drawer-radius)]" } },
498
+ { direction: "right", inset: false, class: { content: "rounded-l-[var(--forest-drawer-radius)]" } }
499
+ ]
500
+ };
501
+ // packages/ui/src/themes/dropdown-menu.ts
502
+ var dropdownMenuTheme = {
503
+ slots: {
504
+ content: "data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]",
505
+ item: "before:rounded-sm",
506
+ label: "font-bold tracking-wide"
507
+ },
508
+ variants: {
509
+ size: {
510
+ xs: { item: "coarse:p-1.5 coarse:gap-1.5", label: "coarse:p-1.5 coarse:gap-1.5" },
511
+ sm: { item: "coarse:text-sm", label: "coarse:text-sm", itemLeadingIcon: "coarse:size-5", itemTrailingIcon: "coarse:size-5" },
512
+ md: { item: "coarse:p-2 coarse:gap-2", label: "coarse:p-2 coarse:gap-2" },
513
+ lg: { item: "coarse:text-base", label: "coarse:text-base", itemLeadingIcon: "coarse:size-6", itemTrailingIcon: "coarse:size-6" }
514
+ }
515
+ }
516
+ };
517
+ // packages/ui/src/themes/empty.ts
518
+ var emptyTheme = {
519
+ slots: {
520
+ root: "rounded-2xl p-8 sm:p-10 lg:p-12",
521
+ title: "font-display",
522
+ description: "max-w-xs",
523
+ actions: "gap-3"
524
+ },
525
+ variants: {
526
+ size: {
527
+ xs: { title: "text-lg" },
528
+ sm: { title: "text-lg" },
529
+ md: { title: "text-xl" },
530
+ lg: { title: "text-xl" },
531
+ xl: { title: "text-2xl" }
532
+ }
533
+ }
534
+ };
535
+ // packages/ui/src/themes/footer.ts
536
+ var footerTheme = {};
537
+ // packages/ui/src/themes/footer-columns.ts
538
+ var footerColumnsTheme = {
539
+ slots: {
540
+ label: "type-overline"
541
+ }
542
+ };
543
+ // packages/ui/src/themes/field-group.ts
544
+ var fieldGroupTheme = {
545
+ base: "rounded-md",
546
+ variants: {
547
+ orientation: {
548
+ horizontal: "[&>*:first-child]:rounded-s-md [&>*:last-child]:rounded-e-md",
549
+ vertical: "[&>*:first-child]:rounded-t-md [&>*:last-child]:rounded-b-md"
550
+ }
551
+ }
552
+ };
553
+ // packages/ui/src/themes/file-upload.ts
554
+ var fileUploadTheme = {
555
+ slots: {
556
+ base: "rounded-xl transition-[background,border-color] duration-(--motion-fast)",
557
+ label: "font-bold"
558
+ }
559
+ };
560
+ // packages/ui/src/themes/form.ts
561
+ var formTheme = {
562
+ base: "space-y-5"
563
+ };
564
+ // packages/ui/src/themes/form-field.ts
565
+ var formFieldTheme = {
566
+ slots: {
567
+ label: "font-bold"
568
+ }
569
+ };
570
+ // packages/ui/src/themes/header.ts
571
+ var headerTheme = {
572
+ slots: {
573
+ title: "type-title"
574
+ }
575
+ };
576
+ // packages/ui/src/themes/icon.ts
577
+ var iconTheme = {};
578
+ // packages/ui/src/themes/input-date.ts
579
+ var inputDateTheme = {
580
+ slots: {
581
+ base: "transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] has-focus-visible:shadow-none",
582
+ segment: "focus:rounded"
583
+ },
584
+ variants: {
585
+ size: {
586
+ xs: { base: "[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5" },
587
+ sm: { base: "[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]", leadingIcon: "touch:size-5", trailingIcon: "touch:size-5" },
588
+ md: { base: "[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2" },
589
+ lg: { base: "[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-6", trailingIcon: "touch:size-6" },
590
+ xl: { base: "[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-7", trailingIcon: "touch:size-7" }
591
+ }
592
+ },
593
+ compoundVariants: [
594
+ { variant: "ghost", class: { base: "shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]" } },
595
+ { variant: "none", class: { base: "shadow-none" } },
596
+ { color: "primary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-primary)]" } },
597
+ { color: "secondary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-secondary)]" } },
598
+ { color: "success", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-success)]" } },
599
+ { color: "info", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-info)]" } },
600
+ { color: "warning", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warning)]" } },
601
+ { color: "error", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-error)]" } },
602
+ { color: "forest", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-forest)]" } },
603
+ { color: "maple", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-maple)]" } },
604
+ { color: "river", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-river)]" } },
605
+ { color: "warm", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warm)]" } },
606
+ { color: "acid", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-acid)]" } }
607
+ ]
608
+ };
609
+ // packages/ui/src/themes/input-menu.ts
610
+ var inputMenuTheme = {
611
+ slots: {
612
+ base: "transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none",
613
+ content: "data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]",
614
+ item: "before:rounded-sm",
615
+ tagsItem: "rounded-md"
616
+ },
617
+ variants: {
618
+ variant: {
619
+ outline: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]",
620
+ subtle: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"
621
+ },
622
+ size: {
623
+ xs: { base: "[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5" },
624
+ sm: { base: "[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]", leadingIcon: "touch:size-5", trailingIcon: "touch:size-5" },
625
+ md: { base: "[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2" },
626
+ lg: { base: "[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-6", trailingIcon: "touch:size-6" },
627
+ xl: { base: "[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-7", trailingIcon: "touch:size-7" }
628
+ }
629
+ },
630
+ compoundVariants: [
631
+ { variant: "ghost", class: { base: "shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]" } },
632
+ { variant: "none", class: { base: "shadow-none" } },
633
+ { color: "primary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-primary)]" } },
634
+ { color: "secondary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-secondary)]" } },
635
+ { color: "success", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-success)]" } },
636
+ { color: "info", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-info)]" } },
637
+ { color: "warning", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warning)]" } },
638
+ { color: "error", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-error)]" } },
639
+ { color: "forest", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-forest)]" } },
640
+ { color: "maple", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-maple)]" } },
641
+ { color: "river", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-river)]" } },
642
+ { color: "warm", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warm)]" } },
643
+ { color: "acid", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-acid)]" } }
644
+ ]
645
+ };
646
+ // packages/ui/src/themes/input-number.ts
647
+ var inputNumberTheme = {
648
+ slots: {
649
+ base: "transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none"
650
+ },
651
+ variants: {
652
+ size: {
653
+ xs: "[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5",
654
+ sm: "[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]",
655
+ md: "[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2",
656
+ lg: "[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]",
657
+ xl: "[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]"
658
+ }
659
+ },
660
+ compoundVariants: [
661
+ { variant: "ghost", class: { base: "shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]" } },
662
+ { variant: "none", class: { base: "shadow-none" } },
663
+ { color: "primary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-primary)]" } },
664
+ { color: "secondary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-secondary)]" } },
665
+ { color: "success", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-success)]" } },
666
+ { color: "info", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-info)]" } },
667
+ { color: "warning", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warning)]" } },
668
+ { color: "error", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-error)]" } },
669
+ { color: "forest", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-forest)]" } },
670
+ { color: "maple", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-maple)]" } },
671
+ { color: "river", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-river)]" } },
672
+ { color: "warm", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warm)]" } },
673
+ { color: "acid", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-acid)]" } }
674
+ ]
675
+ };
676
+ // packages/ui/src/themes/input-rating.ts
677
+ var inputRatingTheme = {
678
+ defaultVariants: { color: "warning" },
679
+ variants: {
680
+ size: {
681
+ xs: { item: "coarse:size-4", icon: "coarse:size-4" },
682
+ sm: { item: "coarse:size-5", icon: "coarse:size-5" },
683
+ md: { item: "coarse:size-6", icon: "coarse:size-6" },
684
+ lg: { item: "coarse:size-7", icon: "coarse:size-7" }
685
+ }
686
+ }
687
+ };
688
+ // packages/ui/src/themes/input-tags.ts
689
+ var inputTagsTheme = {
690
+ slots: {
691
+ base: "transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] has-focus-visible:shadow-none",
692
+ item: "rounded-lg",
693
+ itemDelete: "rounded-sm"
694
+ },
695
+ variants: {
696
+ size: {
697
+ xs: { base: "[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5" },
698
+ sm: { base: "[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]", leadingIcon: "touch:size-5", trailingIcon: "touch:size-5" },
699
+ md: { base: "[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2" },
700
+ lg: { base: "[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-6", trailingIcon: "touch:size-6" },
701
+ xl: { base: "[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-7", trailingIcon: "touch:size-7" }
702
+ }
703
+ },
704
+ compoundVariants: [
705
+ { variant: "ghost", class: { base: "shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]" } },
706
+ { variant: "none", class: { base: "shadow-none" } },
707
+ { color: "primary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-primary)]" } },
708
+ { color: "secondary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-secondary)]" } },
709
+ { color: "success", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-success)]" } },
710
+ { color: "info", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-info)]" } },
711
+ { color: "warning", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warning)]" } },
712
+ { color: "error", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-error)]" } },
713
+ { color: "forest", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-forest)]" } },
714
+ { color: "maple", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-maple)]" } },
715
+ { color: "river", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-river)]" } },
716
+ { color: "warm", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warm)]" } },
717
+ { color: "acid", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-acid)]" } }
718
+ ]
719
+ };
720
+ // packages/ui/src/themes/input-time.ts
721
+ var inputTimeTheme = {
722
+ slots: {
723
+ base: "transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] has-focus-visible:shadow-none"
724
+ },
725
+ variants: {
726
+ variant: {
727
+ outline: "hover:bg-elevated disabled:bg-default focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]",
728
+ subtle: "hover:bg-accented/75 disabled:bg-elevated focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"
729
+ },
730
+ size: {
731
+ xs: { base: "[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5" },
732
+ sm: { base: "[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]", leadingIcon: "touch:size-5", trailingIcon: "touch:size-5" },
733
+ md: { base: "[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2" },
734
+ lg: { base: "[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-6", trailingIcon: "touch:size-6" },
735
+ xl: { base: "[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-7", trailingIcon: "touch:size-7" }
736
+ }
737
+ },
738
+ compoundVariants: [
739
+ { variant: "ghost", class: { base: "shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]" } },
740
+ { variant: "none", class: { base: "shadow-none" } },
741
+ { color: "primary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-primary)]" } },
742
+ { color: "secondary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-secondary)]" } },
743
+ { color: "success", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-success)]" } },
744
+ { color: "info", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-info)]" } },
745
+ { color: "warning", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warning)]" } },
746
+ { color: "error", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-error)]" } },
747
+ { color: "forest", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-forest)]" } },
748
+ { color: "maple", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-maple)]" } },
749
+ { color: "river", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-river)]" } },
750
+ { color: "warm", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warm)]" } },
751
+ { color: "acid", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-acid)]" } }
752
+ ]
753
+ };
754
+ // packages/ui/src/themes/input.ts
755
+ var inputTheme = {
756
+ slots: {
757
+ base: "transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-[0_0_0_3px_var(--forest-input-halo,var(--forest-halo-primary))]"
758
+ },
759
+ variants: {
760
+ size: {
761
+ xs: { base: "rounded-sm [--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5" },
762
+ sm: { base: "rounded-sm [--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]", leadingIcon: "touch:size-5", trailingIcon: "touch:size-5" },
763
+ md: { base: "[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2" },
764
+ lg: { base: "[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-6", trailingIcon: "touch:size-6" },
765
+ xl: { base: "[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-7", trailingIcon: "touch:size-7" }
766
+ },
767
+ color: {
768
+ primary: "[--forest-input-halo:var(--forest-halo-primary)]",
769
+ secondary: "[--forest-input-halo:var(--forest-halo-secondary)]",
770
+ success: "[--forest-input-halo:var(--forest-halo-success)]",
771
+ info: "[--forest-input-halo:var(--forest-halo-info)]",
772
+ warning: "[--forest-input-halo:var(--forest-halo-warning)]",
773
+ error: "[--forest-input-halo:var(--forest-halo-error)]",
774
+ forest: "[--forest-input-halo:var(--forest-halo-forest)]",
775
+ maple: "[--forest-input-halo:var(--forest-halo-maple)]",
776
+ river: "[--forest-input-halo:var(--forest-halo-river)]",
777
+ warm: "[--forest-input-halo:var(--forest-halo-warm)]",
778
+ acid: "[--forest-input-halo:var(--forest-halo-acid)]",
779
+ neutral: "[--forest-input-halo:var(--forest-halo-neutral)]"
780
+ }
781
+ },
782
+ compoundVariants: [
783
+ {
784
+ variant: "ghost",
785
+ class: {
786
+ base: "shadow-none focus-visible:shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"
787
+ }
788
+ },
789
+ { variant: "none", class: { base: "shadow-none focus-visible:shadow-none" } },
790
+ { color: "primary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-primary)]" } },
791
+ { color: "secondary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-secondary)]" } },
792
+ { color: "success", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-success)]" } },
793
+ { color: "info", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-info)]" } },
794
+ { color: "warning", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warning)]" } },
795
+ { color: "error", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-error)]" } },
796
+ { color: "forest", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-forest)]" } },
797
+ { color: "maple", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-maple)]" } },
798
+ { color: "river", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-river)]" } },
799
+ { color: "warm", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warm)]" } },
800
+ { color: "acid", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-acid)]" } }
801
+ ]
802
+ };
803
+ // packages/ui/src/themes/kbd.ts
804
+ var kbdTheme = {
805
+ base: "rounded-xs font-mono px-2",
806
+ variants: { size: { sm: "px-1" } }
807
+ };
808
+ // packages/ui/src/themes/link.ts
809
+ var linkTheme = {
810
+ base: "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--color-forest-500)]"
811
+ };
812
+ // packages/ui/src/themes/listbox.ts
813
+ var listboxTheme = {
814
+ slots: {
815
+ label: "font-bold tracking-wide"
816
+ },
817
+ variants: {
818
+ size: {
819
+ xs: { item: "coarse:p-1.5 coarse:gap-1.5", label: "coarse:p-1.5 coarse:gap-1.5" },
820
+ sm: { item: "coarse:text-sm", label: "coarse:text-xs", itemLeadingIcon: "coarse:size-5", itemTrailingIcon: "coarse:size-5" },
821
+ md: { item: "coarse:p-2 coarse:gap-2", label: "coarse:p-2 coarse:gap-2" },
822
+ lg: { item: "coarse:text-base", label: "coarse:text-sm", itemDescription: "coarse:text-sm", itemLeadingIcon: "coarse:size-6", itemTrailingIcon: "coarse:size-6" }
823
+ }
824
+ }
825
+ };
826
+ // packages/ui/src/themes/main.ts
827
+ var mainTheme = {};
828
+ // packages/ui/src/themes/marquee.ts
829
+ var marqueeTheme = {
830
+ slots: {
831
+ root: "rounded-xl py-1.5",
832
+ content: "gap-6"
833
+ }
834
+ };
835
+ // packages/ui/src/themes/modal.ts
836
+ var modalTheme = {
837
+ slots: {
838
+ title: "font-display text-xl"
839
+ },
840
+ variants: {
841
+ transition: {
842
+ true: {
843
+ overlay: "data-[state=open]:animate-[fade-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[fade-out_var(--motion-fast)_var(--motion-ease-out)]",
844
+ content: "data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]"
845
+ }
846
+ },
847
+ fullscreen: {
848
+ false: {
849
+ content: "rounded-xl"
850
+ }
851
+ }
852
+ }
853
+ };
854
+ // packages/ui/src/themes/navigation-menu.ts
855
+ var navigationMenuTheme = {
856
+ slots: {
857
+ viewport: "duration-(--motion-slow) ease-(--motion-ease-in-out) data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]",
858
+ arrow: "rounded-sm",
859
+ label: "text-xs uppercase tracking-wider text-dimmed",
860
+ childLink: "before:rounded-sm dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2"
861
+ },
862
+ variants: {
863
+ active: {
864
+ true: {
865
+ childLink: "before:bg-primary/10 text-primary font-bold"
866
+ }
867
+ }
868
+ },
869
+ compoundVariants: [
870
+ {
871
+ variant: "pill",
872
+ active: true,
873
+ class: { link: "before:bg-primary/10 font-bold" }
874
+ },
875
+ {
876
+ variant: "link",
877
+ active: true,
878
+ class: { link: "font-bold" }
879
+ },
880
+ {
881
+ orientation: "vertical",
882
+ collapsed: false,
883
+ class: { label: "mt-6 [li:first-child>&]:mt-0" }
884
+ },
885
+ {
886
+ orientation: "vertical",
887
+ collapsed: true,
888
+ class: {
889
+ link: "size-8 p-0 justify-center mx-auto",
890
+ separator: "w-5 mx-auto my-1.5 px-0"
891
+ }
892
+ }
893
+ ]
894
+ };
895
+ // packages/ui/src/themes/page.ts
896
+ var pageTheme = {};
897
+ // packages/ui/src/themes/page-anchors.ts
898
+ var pageAnchorsTheme = {};
899
+ // packages/ui/src/themes/page-aside.ts
900
+ var pageAsideTheme = {};
901
+ // packages/ui/src/themes/page-card.ts
902
+ var pageCardTheme = {
903
+ slots: {
904
+ root: "rounded-xl",
905
+ title: "type-heading-xs",
906
+ description: "type-body"
907
+ }
908
+ };
909
+ // packages/ui/src/themes/page-cta.ts
910
+ var pageCtaTheme = {
911
+ slots: {
912
+ title: "type-headline",
913
+ description: "type-body"
914
+ }
915
+ };
916
+ // packages/ui/src/themes/page-feature.ts
917
+ var pageFeatureTheme = {
918
+ slots: {
919
+ title: "type-heading-xs",
920
+ description: "type-body"
921
+ }
922
+ };
923
+ // packages/ui/src/themes/page-header.ts
924
+ var pageHeaderTheme = {
925
+ slots: {
926
+ headline: "type-overline",
927
+ title: "type-display",
928
+ description: "type-body"
929
+ }
930
+ };
931
+ // packages/ui/src/themes/page-hero.ts
932
+ var pageHeroTheme = {
933
+ slots: {
934
+ title: "type-display",
935
+ description: "type-subtitle"
936
+ }
937
+ };
938
+ // packages/ui/src/themes/page-links.ts
939
+ var pageLinksTheme = {
940
+ slots: {
941
+ title: "type-label"
942
+ }
943
+ };
944
+ // packages/ui/src/themes/page-section.ts
945
+ var pageSectionTheme = {
946
+ slots: {
947
+ title: "type-headline",
948
+ description: "type-body"
949
+ }
950
+ };
951
+ // packages/ui/src/themes/pagination.ts
952
+ var paginationTheme = {
953
+ slots: {
954
+ label: "font-bold",
955
+ item: "rounded-lg",
956
+ ellipsis: "ring-0"
957
+ }
958
+ };
959
+ // packages/ui/src/themes/pin-input.ts
960
+ var pinInputTheme = {
961
+ slots: {
962
+ root: "gap-2",
963
+ base: "font-bold transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-[inset_0_var(--forest-input-depth)_0_0_var(--forest-input-recess),0_0_0_3px_var(--forest-input-halo,var(--forest-halo-primary))]"
964
+ },
965
+ variants: {
966
+ size: {
967
+ xs: { base: "rounded-sm [--forest-input-depth:2px] touch:size-7" },
968
+ sm: { base: "rounded-sm [--forest-input-depth:2px] touch:size-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]" },
969
+ md: { base: "[--forest-input-depth:3px] touch:size-10 touch:text-sm" },
970
+ lg: { base: "[--forest-input-depth:3px] touch:size-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]" },
971
+ xl: { base: "[--forest-input-depth:4px] touch:size-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]" }
972
+ },
973
+ color: {
974
+ primary: "[--forest-input-halo:var(--forest-halo-primary)]",
975
+ secondary: "[--forest-input-halo:var(--forest-halo-secondary)]",
976
+ success: "[--forest-input-halo:var(--forest-halo-success)]",
977
+ info: "[--forest-input-halo:var(--forest-halo-info)]",
978
+ warning: "[--forest-input-halo:var(--forest-halo-warning)]",
979
+ error: "[--forest-input-halo:var(--forest-halo-error)]",
980
+ forest: "[--forest-input-halo:var(--forest-halo-forest)]",
981
+ maple: "[--forest-input-halo:var(--forest-halo-maple)]",
982
+ river: "[--forest-input-halo:var(--forest-halo-river)]",
983
+ warm: "[--forest-input-halo:var(--forest-halo-warm)]",
984
+ acid: "[--forest-input-halo:var(--forest-halo-acid)]",
985
+ neutral: "[--forest-input-halo:var(--forest-halo-neutral)]"
986
+ }
987
+ },
988
+ compoundVariants: [
989
+ {
990
+ variant: "ghost",
991
+ class: {
992
+ base: "shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"
993
+ }
994
+ }
995
+ ]
996
+ };
997
+ // packages/ui/src/themes/popover.ts
998
+ var popoverTheme = {
999
+ slots: {
1000
+ content: "shadow-xl rounded-xl data-[state=open]:animate-[scale-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-fast)_var(--motion-ease-out)]"
1001
+ }
1002
+ };
1003
+ // packages/ui/src/themes/progress.ts
1004
+ var progressTheme = {
1005
+ slots: {
1006
+ indicator: "duration-(--motion-slow) ease-(--motion-ease-out) will-change-transform"
1007
+ }
1008
+ };
1009
+ // packages/ui/src/themes/progress-group.ts
1010
+ var progressGroupTheme = {
1011
+ slots: {
1012
+ segment: "duration-(--motion-slow) ease-(--motion-ease-out)",
1013
+ status: "duration-(--motion-slow) ease-(--motion-ease-out)"
1014
+ }
1015
+ };
1016
+ // packages/ui/src/themes/prose.ts
1017
+ var proseTheme = {
1018
+ codePreview: {
1019
+ slots: {
1020
+ preview: "ed-demo"
1021
+ }
1022
+ },
1023
+ codeCollapse: {
1024
+ variants: {
1025
+ open: {
1026
+ false: {
1027
+ root: "rounded-md"
1028
+ }
1029
+ }
1030
+ }
1031
+ }
1032
+ };
1033
+ // packages/ui/src/themes/radio-group.ts
1034
+ var radioGroupTheme = {
1035
+ slots: {
1036
+ legend: "font-bold"
1037
+ },
1038
+ variants: {
1039
+ size: {
1040
+ xs: { base: "coarse:size-3.5" },
1041
+ sm: { base: "coarse:size-4", item: "coarse:text-sm", legend: "coarse:text-sm", container: "coarse:h-5", fieldset: "coarse:gap-y-1", indicator: "coarse:after:size-1.5" },
1042
+ md: { base: "coarse:size-4.5" },
1043
+ lg: { base: "coarse:size-5", item: "coarse:text-base", legend: "coarse:text-base", container: "coarse:h-6", fieldset: "coarse:gap-y-1.5", indicator: "coarse:after:size-2" }
1044
+ }
1045
+ }
1046
+ };
1047
+ // packages/ui/src/themes/scroll-area.ts
1048
+ var scrollAreaTheme = {
1049
+ slots: {
1050
+ root: "rounded-lg [scrollbar-color:var(--forest-400)_transparent] hover:[scrollbar-color:var(--forest-500)_transparent]"
1051
+ }
1052
+ };
1053
+ // packages/ui/src/themes/select-menu.ts
1054
+ var selectMenuTheme = {
1055
+ slots: {
1056
+ base: "transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none",
1057
+ label: "font-bold",
1058
+ item: "before:rounded-sm",
1059
+ content: "w-auto min-w-(--reka-combobox-trigger-width) max-w-[min(28rem,var(--reka-combobox-content-available-width))]"
1060
+ },
1061
+ variants: {
1062
+ variant: {
1063
+ outline: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]",
1064
+ subtle: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"
1065
+ },
1066
+ size: {
1067
+ xs: { base: "[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5" },
1068
+ sm: { base: "[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]", leadingIcon: "touch:size-5", trailingIcon: "touch:size-5" },
1069
+ md: { base: "[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2" },
1070
+ lg: { base: "[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-6", trailingIcon: "touch:size-6" },
1071
+ xl: { base: "[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-7", trailingIcon: "touch:size-7" }
1072
+ }
1073
+ },
1074
+ compoundVariants: [
1075
+ { variant: "ghost", class: { base: "shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]" } },
1076
+ { variant: "none", class: { base: "shadow-none" } },
1077
+ { color: "primary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-primary)]" } },
1078
+ { color: "secondary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-secondary)]" } },
1079
+ { color: "success", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-success)]" } },
1080
+ { color: "info", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-info)]" } },
1081
+ { color: "warning", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warning)]" } },
1082
+ { color: "error", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-error)]" } },
1083
+ { color: "forest", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-forest)]" } },
1084
+ { color: "maple", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-maple)]" } },
1085
+ { color: "river", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-river)]" } },
1086
+ { color: "warm", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warm)]" } },
1087
+ { color: "acid", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-acid)]" } }
1088
+ ]
1089
+ };
1090
+ // packages/ui/src/themes/select.ts
1091
+ var selectTheme = {
1092
+ slots: {
1093
+ base: "transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-none focus:outline-none",
1094
+ item: "before:rounded-sm",
1095
+ label: "text-dimmed uppercase tracking-wider"
1096
+ },
1097
+ variants: {
1098
+ variant: {
1099
+ outline: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]",
1100
+ subtle: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--forest-500)]"
1101
+ },
1102
+ size: {
1103
+ xs: { base: "[--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5" },
1104
+ sm: { base: "[--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]", leadingIcon: "touch:size-5", trailingIcon: "touch:size-5" },
1105
+ md: { base: "[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2" },
1106
+ lg: { base: "[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-6", trailingIcon: "touch:size-6" },
1107
+ xl: { base: "[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-7", trailingIcon: "touch:size-7" }
1108
+ }
1109
+ },
1110
+ compoundVariants: [
1111
+ { variant: "ghost", class: { base: "shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]" } },
1112
+ { variant: "none", class: { base: "shadow-none" } },
1113
+ { color: "primary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-primary)]" } },
1114
+ { color: "secondary", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-secondary)]" } },
1115
+ { color: "success", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-success)]" } },
1116
+ { color: "info", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-info)]" } },
1117
+ { color: "warning", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warning)]" } },
1118
+ { color: "error", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-error)]" } },
1119
+ { color: "forest", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-forest)]" } },
1120
+ { color: "maple", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-maple)]" } },
1121
+ { color: "river", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-river)]" } },
1122
+ { color: "warm", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-warm)]" } },
1123
+ { color: "acid", highlight: true, class: { base: "[--forest-input-recess:var(--forest-recess-acid)]" } }
1124
+ ]
1125
+ };
1126
+ // packages/ui/src/themes/separator.ts
1127
+ var separatorTheme = {
1128
+ slots: {
1129
+ container: "font-bold"
1130
+ }
1131
+ };
1132
+ // packages/ui/src/themes/sidebar.ts
1133
+ var sidebarTheme = {
1134
+ slots: {
1135
+ title: "font-display",
1136
+ description: "mt-1"
1137
+ },
1138
+ variants: {
1139
+ collapsible: {
1140
+ icon: {
1141
+ header: "group-data-[state=collapsed]/sidebar:px-2 group-data-[state=collapsed]/sidebar:justify-center",
1142
+ body: "group-data-[state=collapsed]/sidebar:px-2",
1143
+ footer: "group-data-[state=collapsed]/sidebar:px-2 group-data-[state=collapsed]/sidebar:justify-center"
1144
+ }
1145
+ },
1146
+ transition: {
1147
+ true: {
1148
+ gap: "duration-(--motion-slow) ease-(--motion-ease-in-out)",
1149
+ container: "duration-(--motion-slow) ease-(--motion-ease-in-out)",
1150
+ rail: "duration-(--motion-fast) ease-(--motion-ease-out)"
1151
+ }
1152
+ },
1153
+ variant: {
1154
+ floating: {
1155
+ inner: "bg-default shadow-none"
1156
+ }
1157
+ }
1158
+ },
1159
+ compoundVariants: [
1160
+ {
1161
+ variant: "floating",
1162
+ class: {
1163
+ container: "border-transparent"
1164
+ }
1165
+ }
1166
+ ]
1167
+ };
1168
+ // packages/ui/src/themes/skeleton.ts
1169
+ var skeletonTheme = {
1170
+ base: "rounded-sm"
1171
+ };
1172
+ // packages/ui/src/themes/slideover.ts
1173
+ var slideoverTheme = {
1174
+ slots: {
1175
+ content: "shadow-xl",
1176
+ title: "font-display",
1177
+ header: "border-b border-default",
1178
+ footer: "border-t border-default"
1179
+ },
1180
+ variants: {
1181
+ inset: {
1182
+ true: { content: "rounded-xl" }
1183
+ },
1184
+ transition: {
1185
+ true: {
1186
+ overlay: "data-[state=open]:animate-[fade-in_var(--motion-base)_var(--motion-ease-out)] data-[state=closed]:animate-[fade-out_var(--motion-fast)_var(--motion-ease-out)]"
1187
+ }
1188
+ }
1189
+ },
1190
+ compoundVariants: [
1191
+ {
1192
+ transition: true,
1193
+ side: "top",
1194
+ class: {
1195
+ content: "data-[state=open]:animate-[slide-in-from-top_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-top_var(--motion-fast)_var(--motion-ease-out)]"
1196
+ }
1197
+ },
1198
+ {
1199
+ transition: true,
1200
+ side: "right",
1201
+ class: {
1202
+ content: "data-[state=open]:animate-[slide-in-from-right_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-right_var(--motion-fast)_var(--motion-ease-out)]"
1203
+ }
1204
+ },
1205
+ {
1206
+ transition: true,
1207
+ side: "bottom",
1208
+ class: {
1209
+ content: "data-[state=open]:animate-[slide-in-from-bottom_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-bottom_var(--motion-fast)_var(--motion-ease-out)]"
1210
+ }
1211
+ },
1212
+ {
1213
+ transition: true,
1214
+ side: "left",
1215
+ class: {
1216
+ content: "data-[state=open]:animate-[slide-in-from-left_var(--motion-slow)_var(--motion-ease-out)] data-[state=closed]:animate-[slide-out-to-left_var(--motion-fast)_var(--motion-ease-out)]"
1217
+ }
1218
+ }
1219
+ ],
1220
+ defaultVariants: {
1221
+ inset: true
1222
+ }
1223
+ };
1224
+ // packages/ui/src/themes/slider.ts
1225
+ var sliderTheme = {
1226
+ slots: {
1227
+ thumb: "focus-visible:outline-2 shadow-sm cursor-grab active:cursor-grabbing transition-[box-shadow,ring-color] duration-(--motion-fast)"
1228
+ },
1229
+ variants: {
1230
+ size: {
1231
+ xs: { thumb: "coarse:size-3.5" },
1232
+ sm: { thumb: "coarse:size-4" },
1233
+ md: { thumb: "coarse:size-4.5" },
1234
+ lg: { thumb: "coarse:size-5" }
1235
+ }
1236
+ }
1237
+ };
1238
+ // packages/ui/src/themes/splitter.ts
1239
+ var splitterTheme = {
1240
+ slots: {
1241
+ handle: "focus-visible:outline-offset-2 focus-visible:outline-[var(--forest-500)]"
1242
+ }
1243
+ };
1244
+ // packages/ui/src/themes/stepper.ts
1245
+ var stepperTheme = {
1246
+ slots: {
1247
+ trigger: "focus-visible:outline-2 focus-visible:outline-offset-2",
1248
+ title: "font-bold",
1249
+ separator: "opacity-60 group-data-[state=completed]:opacity-100"
1250
+ }
1251
+ };
1252
+ // packages/ui/src/themes/switch.ts
1253
+ var switchTheme = {
1254
+ slots: {
1255
+ base: "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--forest-500)] duration-(--motion-base)",
1256
+ thumb: "shadow-md duration-(--motion-base) ease-(--motion-ease-out)"
1257
+ },
1258
+ variants: {
1259
+ size: {
1260
+ xs: { base: "coarse:w-8", thumb: "coarse:size-3.5 coarse:data-[state=checked]:translate-x-3.5" },
1261
+ sm: { base: "coarse:w-9", container: "coarse:h-5", thumb: "coarse:size-4 coarse:data-[state=checked]:translate-x-4", wrapper: "coarse:text-sm" },
1262
+ md: { base: "coarse:w-10", thumb: "coarse:size-4.5 coarse:data-[state=checked]:translate-x-4.5" },
1263
+ lg: { base: "coarse:w-11", container: "coarse:h-6", thumb: "coarse:size-5 coarse:data-[state=checked]:translate-x-5", wrapper: "coarse:text-base" }
1264
+ }
1265
+ }
1266
+ };
1267
+ // packages/ui/src/themes/table.ts
1268
+ var tableTheme = {
1269
+ slots: {
1270
+ th: "text-xs font-bold uppercase tracking-wider text-default",
1271
+ td: "text-default",
1272
+ empty: "text-dimmed"
1273
+ }
1274
+ };
1275
+ // packages/ui/src/themes/tabs.ts
1276
+ var tabsTheme = {
1277
+ slots: {
1278
+ indicator: "duration-(--motion-base) ease-(--motion-ease-in-out)",
1279
+ trigger: "font-bold"
1280
+ },
1281
+ variants: {
1282
+ size: {
1283
+ xs: { trigger: "coarse:px-2.5 coarse:py-1.5 coarse:gap-1.5" },
1284
+ sm: { trigger: "coarse:px-3 coarse:text-sm", leadingIcon: "coarse:size-5" },
1285
+ md: { trigger: "coarse:py-2 coarse:gap-2" },
1286
+ lg: { trigger: "coarse:text-base", leadingIcon: "coarse:size-6" }
1287
+ }
1288
+ },
1289
+ compoundVariants: [
1290
+ { variant: "pill", class: { list: "bg-default ring ring-inset ring-accented" } },
1291
+ { variant: "pill", size: "xs", class: { list: "rounded-md", indicator: "rounded-sm" } },
1292
+ { variant: "pill", size: "sm", class: { list: "rounded-md coarse:rounded-lg", indicator: "rounded-sm coarse:rounded-md" } },
1293
+ { variant: "pill", size: "md", class: { list: "rounded-lg", indicator: "rounded-md" } },
1294
+ { variant: "pill", size: "lg", class: { list: "rounded-lg", indicator: "rounded-md" } },
1295
+ { variant: "pill", size: "xl", class: { list: "rounded-lg", indicator: "rounded-md" } }
1296
+ ]
1297
+ };
1298
+ // packages/ui/src/themes/textarea.ts
1299
+ var textareaTheme = {
1300
+ slots: {
1301
+ base: "transition-[color,box-shadow] duration-(--motion-fast) shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)] focus-visible:shadow-[inset_0_var(--forest-input-depth)_0_0_var(--forest-input-recess),0_0_0_3px_var(--forest-input-halo,var(--forest-halo-primary))]"
1302
+ },
1303
+ variants: {
1304
+ size: {
1305
+ xs: { base: "rounded-sm [--forest-input-depth:2px] touch:min-h-7 touch:gap-1.5" },
1306
+ sm: { base: "rounded-sm [--forest-input-depth:2px] touch:min-h-9 touch:text-sm touch:rounded-md touch:[--forest-input-depth:3px]", leadingIcon: "touch:size-5", trailingIcon: "touch:size-5" },
1307
+ md: { base: "[--forest-input-depth:3px] touch:min-h-10 touch:text-sm touch:gap-2" },
1308
+ lg: { base: "[--forest-input-depth:3px] touch:min-h-11 touch:text-base touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-6", trailingIcon: "touch:size-6" },
1309
+ xl: { base: "[--forest-input-depth:4px] touch:min-h-13 touch:text-lg touch:rounded-lg touch:[--forest-input-depth:4px]", leadingIcon: "touch:size-7", trailingIcon: "touch:size-7" }
1310
+ },
1311
+ color: {
1312
+ primary: "[--forest-input-halo:var(--forest-halo-primary)]",
1313
+ secondary: "[--forest-input-halo:var(--forest-halo-secondary)]",
1314
+ success: "[--forest-input-halo:var(--forest-halo-success)]",
1315
+ info: "[--forest-input-halo:var(--forest-halo-info)]",
1316
+ warning: "[--forest-input-halo:var(--forest-halo-warning)]",
1317
+ error: "[--forest-input-halo:var(--forest-halo-error)]",
1318
+ forest: "[--forest-input-halo:var(--forest-halo-forest)]",
1319
+ maple: "[--forest-input-halo:var(--forest-halo-maple)]",
1320
+ river: "[--forest-input-halo:var(--forest-halo-river)]",
1321
+ warm: "[--forest-input-halo:var(--forest-halo-warm)]",
1322
+ acid: "[--forest-input-halo:var(--forest-halo-acid)]",
1323
+ neutral: "[--forest-input-halo:var(--forest-halo-neutral)]"
1324
+ }
1325
+ },
1326
+ compoundVariants: [
1327
+ {
1328
+ variant: "ghost",
1329
+ class: {
1330
+ base: "shadow-none hover:shadow-[inset_0_calc(var(--forest-input-depth)_+_var(--forest-field-edge,0px))_0_0_var(--forest-input-recess)]"
1331
+ }
1332
+ }
1333
+ ]
1334
+ };
1335
+ // packages/ui/src/themes/timeline.ts
1336
+ var timelineTheme = {
1337
+ slots: {
1338
+ title: "font-bold"
1339
+ }
1340
+ };
1341
+ // packages/ui/src/themes/toast.ts
1342
+ var toastTheme = {
1343
+ slots: {
1344
+ root: "rounded-xl gap-3 focus:outline-none",
1345
+ title: "font-bold"
1346
+ }
1347
+ };
1348
+ // packages/ui/src/themes/toaster.ts
1349
+ var toasterTheme = {
1350
+ slots: {
1351
+ base: [
1352
+ "data-[front=false]:*:duration-(--motion-instant)",
1353
+ "data-[state=closed]:animate-[toast-closed_var(--motion-fast)_var(--motion-ease-out)]",
1354
+ "data-[state=closed]:data-[expanded=false]:data-[front=false]:animate-[toast-collapsed-closed_var(--motion-fast)_var(--motion-ease-out)]",
1355
+ "data-[state=open]:data-[pulsing=odd]:animate-[toast-pulse-a_var(--motion-base)_var(--motion-ease-out)]",
1356
+ "data-[state=open]:data-[pulsing=even]:animate-[toast-pulse-b_var(--motion-base)_var(--motion-ease-out)]",
1357
+ "duration-(--motion-base) ease-(--motion-ease-out)"
1358
+ ].join(" ")
1359
+ },
1360
+ variants: {
1361
+ swipeDirection: {
1362
+ up: "data-[swipe=end]:animate-[toast-slide-up_var(--motion-fast)_var(--motion-ease-out)]",
1363
+ right: "data-[swipe=end]:animate-[toast-slide-right_var(--motion-fast)_var(--motion-ease-out)]",
1364
+ down: "data-[swipe=end]:animate-[toast-slide-down_var(--motion-fast)_var(--motion-ease-out)]",
1365
+ left: "data-[swipe=end]:animate-[toast-slide-left_var(--motion-fast)_var(--motion-ease-out)]"
1366
+ }
1367
+ },
1368
+ compoundVariants: [
1369
+ {
1370
+ position: ["top-left", "top-center", "top-right"],
1371
+ class: {
1372
+ base: "data-[state=open]:animate-[toast-slide-in-from-top_var(--motion-base)_var(--motion-ease-out)]"
1373
+ }
1374
+ },
1375
+ {
1376
+ position: ["bottom-left", "bottom-center", "bottom-right"],
1377
+ class: {
1378
+ base: "data-[state=open]:animate-[toast-slide-in-from-bottom_var(--motion-base)_var(--motion-ease-out)]"
1379
+ }
1380
+ }
1381
+ ]
1382
+ };
1383
+ // packages/ui/src/themes/tooltip.ts
1384
+ var tooltipTheme = {
1385
+ slots: {
1386
+ content: "bg-inverted text-inverted rounded-lg data-[state=delayed-open]:animate-[scale-in_var(--motion-fast)_var(--motion-ease-out)] data-[state=instant-open]:animate-[scale-in_var(--motion-fast)_var(--motion-ease-out)] data-[state=closed]:animate-[scale-out_var(--motion-instant)_var(--motion-ease-out)]",
1387
+ arrow: "fill-[var(--ui-bg-inverted)]"
1388
+ }
1389
+ };
1390
+ // packages/ui/src/themes/tree.ts
1391
+ var treeTheme = {
1392
+ slots: {
1393
+ link: "focus-visible:before:ring-inset focus-visible:before:ring-2",
1394
+ linkTrailingIcon: "duration-(--motion-fast) ease-(--motion-ease-out)"
1395
+ },
1396
+ variants: {
1397
+ size: {
1398
+ xs: { link: "coarse:px-2.5 coarse:py-1.5 coarse:gap-1.5" },
1399
+ sm: { link: "coarse:text-sm", linkLeadingIcon: "coarse:size-5", linkTrailingIcon: "coarse:size-5" },
1400
+ md: { link: "coarse:px-3 coarse:py-2 coarse:gap-2" },
1401
+ lg: { link: "coarse:text-base", linkLeadingIcon: "coarse:size-6", linkTrailingIcon: "coarse:size-6" }
1402
+ }
1403
+ }
1404
+ };
1405
+ // packages/ui/src/themes/user.ts
1406
+ var userTheme = {
1407
+ slots: {
1408
+ name: "font-bold",
1409
+ wrapper: "min-w-0"
1410
+ },
1411
+ variants: {
1412
+ to: {
1413
+ true: { avatar: "duration-(--motion-fast) ease-(--motion-ease-out)" }
1414
+ }
1415
+ }
1416
+ };
1417
+ // packages/ui/src/forest-preset.ts
1418
+ var forestPreset = {
1419
+ ui: {
1420
+ ...exports_themes,
1421
+ icons: {
1422
+ star: "i-forest-star-fill"
1423
+ },
1424
+ colors: {
1425
+ primary: "forest",
1426
+ secondary: "warm",
1427
+ success: "forest",
1428
+ info: "river",
1429
+ warning: "amber",
1430
+ error: "maple",
1431
+ neutral: "neutral"
1432
+ }
1433
+ },
1434
+ theme: {
1435
+ colors: ["secondary", "success", "info", "warning", "error", "forest", "maple", "river", "warm", "acid"]
1436
+ }
1437
+ };
1438
+ var PRESET_STRUCTURAL_MARKERS = ["forest-card"];
1439
+ var forest_preset_default = forestPreset;
1440
+ export {
1441
+ forestPreset,
1442
+ forest_preset_default as default,
1443
+ PRESET_STRUCTURAL_MARKERS
1444
+ };