@humanforest/ui 0.1.2 → 0.1.3

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