@discourser/design-system 0.1.6 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.md +411 -16
  2. package/dist/index.cjs +1881 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +22098 -0
  5. package/dist/index.d.ts +22098 -0
  6. package/dist/index.js +1845 -0
  7. package/dist/index.js.map +1 -0
  8. package/package.json +10 -7
  9. package/styled-system/css/conditions.mjs +1 -1
  10. package/styled-system/css/css.mjs +1 -1
  11. package/styled-system/css/sva.mjs +9 -4
  12. package/styled-system/helpers.mjs +12 -20
  13. package/styled-system/jsx/create-style-context.d.ts +54 -0
  14. package/styled-system/jsx/create-style-context.mjs +118 -0
  15. package/styled-system/jsx/factory.mjs +14 -5
  16. package/styled-system/jsx/index.d.ts +1 -0
  17. package/styled-system/jsx/index.mjs +1 -0
  18. package/styled-system/jsx/is-valid-prop.mjs +2 -2
  19. package/styled-system/patterns/aspect-ratio.d.ts +0 -1
  20. package/styled-system/patterns/bleed.d.ts +0 -1
  21. package/styled-system/patterns/box.d.ts +0 -1
  22. package/styled-system/patterns/center.d.ts +0 -1
  23. package/styled-system/patterns/circle.d.ts +0 -1
  24. package/styled-system/patterns/container.d.ts +0 -1
  25. package/styled-system/patterns/cq.d.ts +0 -1
  26. package/styled-system/patterns/divider.d.ts +1 -2
  27. package/styled-system/patterns/flex.d.ts +0 -1
  28. package/styled-system/patterns/float.d.ts +1 -2
  29. package/styled-system/patterns/grid-item.d.ts +0 -1
  30. package/styled-system/patterns/grid.d.ts +0 -1
  31. package/styled-system/patterns/grid.mjs +1 -1
  32. package/styled-system/patterns/hstack.d.ts +0 -1
  33. package/styled-system/patterns/hstack.mjs +1 -1
  34. package/styled-system/patterns/link-overlay.d.ts +0 -1
  35. package/styled-system/patterns/spacer.d.ts +0 -1
  36. package/styled-system/patterns/square.d.ts +0 -1
  37. package/styled-system/patterns/stack.d.ts +0 -1
  38. package/styled-system/patterns/stack.mjs +1 -1
  39. package/styled-system/patterns/visually-hidden.d.ts +0 -1
  40. package/styled-system/patterns/vstack.d.ts +0 -1
  41. package/styled-system/patterns/vstack.mjs +1 -1
  42. package/styled-system/patterns/wrap.d.ts +0 -1
  43. package/styled-system/patterns/wrap.mjs +1 -1
  44. package/styled-system/recipes/absolute-center.d.ts +34 -0
  45. package/styled-system/recipes/absolute-center.mjs +32 -0
  46. package/styled-system/recipes/accordion.d.ts +38 -0
  47. package/styled-system/recipes/accordion.mjs +67 -0
  48. package/styled-system/recipes/avatar.d.ts +42 -0
  49. package/styled-system/recipes/avatar.mjs +71 -0
  50. package/styled-system/recipes/badge.d.ts +38 -0
  51. package/styled-system/recipes/badge.mjs +41 -0
  52. package/styled-system/recipes/button.d.ts +6 -7
  53. package/styled-system/recipes/button.mjs +11 -7
  54. package/styled-system/recipes/card.d.ts +6 -11
  55. package/styled-system/recipes/card.mjs +50 -23
  56. package/styled-system/recipes/checkbox.d.ts +38 -0
  57. package/styled-system/recipes/checkbox.mjs +68 -0
  58. package/styled-system/recipes/dialog.d.ts +13 -6
  59. package/styled-system/recipes/dialog.mjs +35 -3
  60. package/styled-system/recipes/drawer.d.ts +38 -0
  61. package/styled-system/recipes/drawer.mjs +90 -0
  62. package/styled-system/recipes/field.d.ts +31 -0
  63. package/styled-system/recipes/field.mjs +61 -0
  64. package/styled-system/recipes/group.d.ts +36 -0
  65. package/styled-system/recipes/group.mjs +72 -0
  66. package/styled-system/recipes/index.d.ts +21 -3
  67. package/styled-system/recipes/index.mjs +21 -3
  68. package/styled-system/recipes/input.d.ts +6 -8
  69. package/styled-system/recipes/input.mjs +12 -9
  70. package/styled-system/recipes/popover.d.ts +31 -0
  71. package/styled-system/recipes/popover.mjs +81 -0
  72. package/styled-system/recipes/progress.d.ts +44 -0
  73. package/styled-system/recipes/progress.mjs +98 -0
  74. package/styled-system/recipes/radio-group.d.ts +38 -0
  75. package/styled-system/recipes/radio-group.mjs +68 -0
  76. package/styled-system/recipes/select.d.ts +38 -0
  77. package/styled-system/recipes/select.mjs +111 -0
  78. package/styled-system/recipes/skeleton.d.ts +39 -0
  79. package/styled-system/recipes/skeleton.mjs +40 -0
  80. package/styled-system/recipes/slider.d.ts +42 -0
  81. package/styled-system/recipes/slider.mjs +94 -0
  82. package/styled-system/recipes/spinner.d.ts +34 -0
  83. package/styled-system/recipes/spinner.mjs +36 -0
  84. package/styled-system/recipes/switch-component.d.ts +38 -0
  85. package/styled-system/recipes/switch-component.mjs +65 -0
  86. package/styled-system/recipes/tabs.d.ts +39 -0
  87. package/styled-system/recipes/tabs.mjs +71 -0
  88. package/styled-system/recipes/textarea.d.ts +38 -0
  89. package/styled-system/recipes/textarea.mjs +41 -0
  90. package/styled-system/recipes/toast.d.ts +31 -0
  91. package/styled-system/recipes/toast.mjs +53 -0
  92. package/styled-system/recipes/tooltip.d.ts +31 -0
  93. package/styled-system/recipes/tooltip.mjs +49 -0
  94. package/styled-system/tokens/index.mjs +3483 -635
  95. package/styled-system/tokens/tokens.d.ts +31 -19
  96. package/styled-system/types/composition.d.ts +83 -23
  97. package/styled-system/types/conditions.d.ts +15 -11
  98. package/styled-system/types/jsx.d.ts +27 -10
  99. package/styled-system/types/pattern.d.ts +4 -4
  100. package/styled-system/types/prop-type.d.ts +30 -3
  101. package/styled-system/types/style-props.d.ts +262 -225
  102. package/styled-system/types/system-types.d.ts +162 -2
  103. package/styled-system/recipes/icon-button.d.ts +0 -39
  104. package/styled-system/recipes/icon-button.mjs +0 -39
  105. package/styled-system/recipes/switch-control.d.ts +0 -35
  106. package/styled-system/recipes/switch-control.mjs +0 -53
  107. package/styled-system/recipes/switch.d.ts +0 -35
  108. package/styled-system/recipes/switch.mjs +0 -53
package/dist/index.js ADDED
@@ -0,0 +1,1845 @@
1
+ import { ark as ark$1 } from '@ark-ui/react/factory';
2
+ import { createContext, mergeProps } from '@ark-ui/react/utils';
3
+ import { forwardRef, useMemo, createContext as createContext$1, useContext } from 'react';
4
+ import { styled, createStyleContext, Stack } from '@discourser/design-system/styled-system/jsx';
5
+ import { group, absoluteCenter, spinner, button, card, dialog, switchComponent, accordion, drawer, tabs, checkbox, radioGroup, select, slider, textarea, avatar, badge, progress, skeleton, toast, popover, tooltip } from '@discourser/design-system/styled-system/recipes';
6
+ import { ark } from '@ark-ui/react';
7
+ import { jsx, jsxs } from 'react/jsx-runtime';
8
+ import { Dialog, DialogContext } from '@ark-ui/react/dialog';
9
+ import { Switch, SwitchContext } from '@ark-ui/react/switch';
10
+ import { Accordion, AccordionContext } from '@ark-ui/react/accordion';
11
+ import { Tabs, TabsContext } from '@ark-ui/react/tabs';
12
+ import { Checkbox, useCheckboxContext, CheckboxGroupProvider } from '@ark-ui/react/checkbox';
13
+ import { RadioGroup, RadioGroupContext } from '@ark-ui/react/radio-group';
14
+ import { Select, useSelectItemContext, SelectItemContext, SelectContext } from '@ark-ui/react/select';
15
+ import { Slider, SliderContext, useSliderContext } from '@ark-ui/react/slider';
16
+ import { Field } from '@ark-ui/react/field';
17
+ import { Avatar, AvatarContext } from '@ark-ui/react/avatar';
18
+ import { Progress } from '@ark-ui/react/progress';
19
+ import { Portal } from '@ark-ui/react/portal';
20
+ import { Toast, Toaster as Toaster$1, useToastContext, createToaster } from '@ark-ui/react/toast';
21
+ import { Popover, PopoverContext } from '@ark-ui/react/popover';
22
+ import { Tooltip as Tooltip$1, TooltipContext } from '@ark-ui/react/tooltip';
23
+ import { clsx } from 'clsx';
24
+
25
+ var __defProp = Object.defineProperty;
26
+ var __export = (target, all) => {
27
+ for (var name in all)
28
+ __defProp(target, name, { get: all[name], enumerable: true });
29
+ };
30
+
31
+ // src/components/Button.tsx
32
+ var Button_exports = {};
33
+ __export(Button_exports, {
34
+ Button: () => Button,
35
+ ButtonGroup: () => ButtonGroup
36
+ });
37
+
38
+ // src/components/Group.tsx
39
+ var Group_exports = {};
40
+ __export(Group_exports, {
41
+ Group: () => Group
42
+ });
43
+ var Group = styled(ark.div, group);
44
+
45
+ // src/components/AbsoluteCenter.tsx
46
+ var AbsoluteCenter_exports = {};
47
+ __export(AbsoluteCenter_exports, {
48
+ AbsoluteCenter: () => AbsoluteCenter
49
+ });
50
+ var AbsoluteCenter = styled(ark$1.div, absoluteCenter);
51
+
52
+ // src/components/Spinner.tsx
53
+ var Spinner_exports = {};
54
+ __export(Spinner_exports, {
55
+ Spinner: () => Spinner
56
+ });
57
+ var Spinner = styled(ark$1.span, spinner);
58
+ var Span = styled("span");
59
+ var Loader = forwardRef(function Loader2(props, ref) {
60
+ const {
61
+ spinner: spinner2 = /* @__PURE__ */ jsx(Spinner, { size: "inherit", borderWidth: "0.125em", color: "inherit" }),
62
+ spinnerPlacement = "start",
63
+ children,
64
+ text,
65
+ visible = true,
66
+ ...rest
67
+ } = props;
68
+ if (!visible) return children;
69
+ if (text) {
70
+ return /* @__PURE__ */ jsxs(Span, { ref, display: "contents", ...rest, children: [
71
+ spinnerPlacement === "start" && spinner2,
72
+ text,
73
+ spinnerPlacement === "end" && spinner2
74
+ ] });
75
+ }
76
+ if (spinner2) {
77
+ return /* @__PURE__ */ jsxs(Span, { ref, display: "contents", ...rest, children: [
78
+ /* @__PURE__ */ jsx(AbsoluteCenter, { display: "inline-flex", children: spinner2 }),
79
+ /* @__PURE__ */ jsx(Span, { visibility: "hidden", display: "contents", children })
80
+ ] });
81
+ }
82
+ return /* @__PURE__ */ jsx(Span, { ref, display: "contents", ...rest, children });
83
+ });
84
+ var BaseButton = styled(ark$1.button, button);
85
+ var Button = forwardRef(function Button2(props, ref) {
86
+ const propsContext = useButtonPropsContext();
87
+ const buttonProps = useMemo(
88
+ () => mergeProps(propsContext, props),
89
+ [propsContext, props]
90
+ );
91
+ const { loading, loadingText, children, spinner: spinner2, spinnerPlacement, ...rest } = buttonProps;
92
+ return /* @__PURE__ */ jsx(
93
+ BaseButton,
94
+ {
95
+ type: "button",
96
+ ref,
97
+ ...rest,
98
+ "data-loading": loading ? "" : void 0,
99
+ disabled: loading || rest.disabled,
100
+ children: !props.asChild && loading ? /* @__PURE__ */ jsx(Loader, { spinner: spinner2, text: loadingText, spinnerPlacement, children }) : children
101
+ }
102
+ );
103
+ });
104
+ var ButtonGroup = forwardRef(
105
+ function ButtonGroup2(props, ref) {
106
+ const [variantProps, otherProps] = useMemo(() => button.splitVariantProps(props), [props]);
107
+ return /* @__PURE__ */ jsx(ButtonPropsProvider, { value: variantProps, children: /* @__PURE__ */ jsx(Group, { ref, ...otherProps }) });
108
+ }
109
+ );
110
+ var [ButtonPropsProvider, useButtonPropsContext] = createContext({
111
+ name: "ButtonPropsContext",
112
+ hookName: "useButtonPropsContext",
113
+ providerName: "<PropsProvider />",
114
+ strict: false
115
+ });
116
+
117
+ // src/components/Card.tsx
118
+ var Card_exports = {};
119
+ __export(Card_exports, {
120
+ Body: () => Body,
121
+ Card: () => Card,
122
+ Description: () => Description,
123
+ Footer: () => Footer,
124
+ Header: () => Header,
125
+ Root: () => Root,
126
+ Title: () => Title
127
+ });
128
+ var { withProvider, withContext } = createStyleContext(card);
129
+ var Root = withProvider(ark$1.div, "root");
130
+ var Header = withContext(ark$1.div, "header");
131
+ var Body = withContext(ark$1.div, "body");
132
+ var Footer = withContext(ark$1.div, "footer");
133
+ var Title = withContext(ark$1.h3, "title");
134
+ var Description = withContext(ark$1.div, "description");
135
+ var Card = {
136
+ Root,
137
+ Header,
138
+ Body,
139
+ Footer,
140
+ Title,
141
+ Description
142
+ };
143
+
144
+ // src/components/Dialog.tsx
145
+ var Dialog_exports = {};
146
+ __export(Dialog_exports, {
147
+ Backdrop: () => Backdrop,
148
+ Body: () => Body2,
149
+ CloseTrigger: () => CloseTrigger,
150
+ Content: () => Content,
151
+ Context: () => DialogContext,
152
+ Description: () => Description2,
153
+ Footer: () => Footer2,
154
+ Header: () => Header2,
155
+ Positioner: () => Positioner,
156
+ Root: () => Root2,
157
+ Title: () => Title2,
158
+ Trigger: () => Trigger
159
+ });
160
+ var { withRootProvider, withContext: withContext2 } = createStyleContext(dialog);
161
+ var Root2 = withRootProvider(Dialog.Root, {
162
+ defaultProps: { unmountOnExit: true, lazyMount: true }
163
+ });
164
+ var Backdrop = withContext2(Dialog.Backdrop, "backdrop");
165
+ var CloseTrigger = withContext2(Dialog.CloseTrigger, "closeTrigger");
166
+ var Content = withContext2(Dialog.Content, "content");
167
+ var Description2 = withContext2(Dialog.Description, "description");
168
+ var Positioner = withContext2(Dialog.Positioner, "positioner");
169
+ var Title2 = withContext2(Dialog.Title, "title");
170
+ var Trigger = withContext2(Dialog.Trigger, "trigger");
171
+ var Body2 = withContext2(ark$1.div, "body");
172
+ var Header2 = withContext2(ark$1.div, "header");
173
+ var Footer2 = withContext2(ark$1.div, "footer");
174
+
175
+ // src/components/IconButton.tsx
176
+ var IconButton_exports = {};
177
+ __export(IconButton_exports, {
178
+ IconButton: () => IconButton
179
+ });
180
+ var IconButton = forwardRef(
181
+ function IconButton2(props, ref) {
182
+ return /* @__PURE__ */ jsx(Button, { px: "0", py: "0", ref, ...props });
183
+ }
184
+ );
185
+
186
+ // src/components/Switch.tsx
187
+ var Switch_exports = {};
188
+ __export(Switch_exports, {
189
+ Context: () => SwitchContext,
190
+ Control: () => Control,
191
+ HiddenInput: () => HiddenInput,
192
+ Label: () => Label,
193
+ Root: () => Root3,
194
+ Thumb: () => Thumb
195
+ });
196
+ var { withProvider: withProvider2, withContext: withContext3 } = createStyleContext(switchComponent);
197
+ var Root3 = withProvider2(Switch.Root, "root");
198
+ var Label = withContext3(Switch.Label, "label");
199
+ var Thumb = withContext3(Switch.Thumb, "thumb");
200
+ var HiddenInput = Switch.HiddenInput;
201
+ var Control = withContext3(Switch.Control, "control", {
202
+ defaultProps: { children: /* @__PURE__ */ jsx(Thumb, {}) }
203
+ });
204
+
205
+ // src/components/Accordion.tsx
206
+ var Accordion_exports = {};
207
+ __export(Accordion_exports, {
208
+ Context: () => AccordionContext,
209
+ Item: () => Item,
210
+ ItemBody: () => ItemBody,
211
+ ItemContent: () => ItemContent,
212
+ ItemIndicator: () => ItemIndicator,
213
+ ItemTrigger: () => ItemTrigger,
214
+ Root: () => Root4,
215
+ RootProvider: () => RootProvider
216
+ });
217
+ var ChevronDownIcon = () => /* @__PURE__ */ jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "m6 9 6 6 6-6" }) });
218
+ var { withProvider: withProvider3, withContext: withContext4 } = createStyleContext(accordion);
219
+ var Root4 = withProvider3(Accordion.Root, "root");
220
+ var RootProvider = withProvider3(Accordion.RootProvider, "root");
221
+ var Item = withContext4(Accordion.Item, "item");
222
+ var ItemContent = withContext4(Accordion.ItemContent, "itemContent");
223
+ var ItemIndicator = withContext4(Accordion.ItemIndicator, "itemIndicator", {
224
+ defaultProps: { children: /* @__PURE__ */ jsx(ChevronDownIcon, {}) }
225
+ });
226
+ var ItemTrigger = withContext4(Accordion.ItemTrigger, "itemTrigger");
227
+ var ItemBody = withContext4(ark$1.div, "itemBody");
228
+
229
+ // src/components/Drawer.tsx
230
+ var Drawer_exports = {};
231
+ __export(Drawer_exports, {
232
+ Backdrop: () => Backdrop2,
233
+ Body: () => Body3,
234
+ CloseTrigger: () => CloseTrigger2,
235
+ Content: () => Content2,
236
+ Context: () => DialogContext,
237
+ Description: () => Description3,
238
+ Footer: () => Footer3,
239
+ Header: () => Header3,
240
+ Positioner: () => Positioner2,
241
+ Root: () => Root5,
242
+ RootProvider: () => RootProvider2,
243
+ Title: () => Title3,
244
+ Trigger: () => Trigger2
245
+ });
246
+ var { withRootProvider: withRootProvider2, withContext: withContext5 } = createStyleContext(drawer);
247
+ var Root5 = withRootProvider2(Dialog.Root, {
248
+ defaultProps: { unmountOnExit: true, lazyMount: true }
249
+ });
250
+ var RootProvider2 = withRootProvider2(Dialog.Root, {
251
+ defaultProps: { unmountOnExit: true, lazyMount: true }
252
+ });
253
+ var Backdrop2 = withContext5(Dialog.Backdrop, "backdrop");
254
+ var Positioner2 = withContext5(Dialog.Positioner, "positioner");
255
+ var CloseTrigger2 = withContext5(Dialog.CloseTrigger, "closeTrigger");
256
+ var Content2 = withContext5(Dialog.Content, "content");
257
+ var Description3 = withContext5(Dialog.Description, "description");
258
+ var Title3 = withContext5(Dialog.Title, "title");
259
+ var Trigger2 = withContext5(Dialog.Trigger, "trigger");
260
+ var Body3 = withContext5(ark$1.div, "body");
261
+ var Header3 = withContext5(ark$1.div, "header");
262
+ var Footer3 = withContext5(ark$1.div, "footer");
263
+
264
+ // src/components/Tabs.tsx
265
+ var Tabs_exports = {};
266
+ __export(Tabs_exports, {
267
+ Content: () => Content3,
268
+ Context: () => TabsContext,
269
+ Indicator: () => Indicator,
270
+ List: () => List,
271
+ Root: () => Root6,
272
+ RootProvider: () => RootProvider3,
273
+ Trigger: () => Trigger3
274
+ });
275
+ var { withProvider: withProvider4, withContext: withContext6 } = createStyleContext(tabs);
276
+ var Root6 = withProvider4(Tabs.Root, "root");
277
+ var RootProvider3 = withProvider4(Tabs.RootProvider, "root");
278
+ var List = withContext6(Tabs.List, "list");
279
+ var Trigger3 = withContext6(Tabs.Trigger, "trigger");
280
+ var Content3 = withContext6(Tabs.Content, "content");
281
+ var Indicator = withContext6(Tabs.Indicator, "indicator");
282
+
283
+ // src/components/Checkbox.tsx
284
+ var Checkbox_exports = {};
285
+ __export(Checkbox_exports, {
286
+ Control: () => Control2,
287
+ Group: () => Group2,
288
+ GroupProvider: () => CheckboxGroupProvider,
289
+ HiddenInput: () => HiddenInput2,
290
+ Indicator: () => Indicator2,
291
+ Label: () => Label2,
292
+ Root: () => Root7,
293
+ RootProvider: () => RootProvider4
294
+ });
295
+ var { withProvider: withProvider5, withContext: withContext7 } = createStyleContext(checkbox);
296
+ var Root7 = withProvider5(Checkbox.Root, "root");
297
+ var RootProvider4 = withProvider5(Checkbox.RootProvider, "root");
298
+ var Control2 = withContext7(Checkbox.Control, "control");
299
+ var Group2 = withProvider5(Checkbox.Group, "group");
300
+ var Label2 = withContext7(Checkbox.Label, "label");
301
+ var HiddenInput2 = Checkbox.HiddenInput;
302
+ var Indicator2 = forwardRef(
303
+ function Indicator3(props, ref) {
304
+ const { indeterminate, checked } = useCheckboxContext();
305
+ return /* @__PURE__ */ jsx(Checkbox.Indicator, { indeterminate, asChild: true, children: /* @__PURE__ */ jsxs(
306
+ styled.svg,
307
+ {
308
+ ref,
309
+ viewBox: "0 0 24 24",
310
+ fill: "none",
311
+ stroke: "currentColor",
312
+ strokeWidth: "3px",
313
+ strokeLinecap: "round",
314
+ strokeLinejoin: "round",
315
+ ...props,
316
+ children: [
317
+ /* @__PURE__ */ jsx("title", { children: "Checkmark" }),
318
+ indeterminate ? /* @__PURE__ */ jsx("path", { d: "M5 12h14" }) : checked ? /* @__PURE__ */ jsx("path", { d: "M20 6 9 17l-5-5" }) : null
319
+ ]
320
+ }
321
+ ) });
322
+ }
323
+ );
324
+
325
+ // src/components/RadioGroup.tsx
326
+ var RadioGroup_exports = {};
327
+ __export(RadioGroup_exports, {
328
+ Context: () => RadioGroupContext,
329
+ Indicator: () => Indicator4,
330
+ Item: () => Item2,
331
+ ItemControl: () => ItemControl,
332
+ ItemHiddenInput: () => ItemHiddenInput,
333
+ ItemText: () => ItemText,
334
+ Label: () => Label3,
335
+ Root: () => Root8,
336
+ RootProvider: () => RootProvider5
337
+ });
338
+ var { withProvider: withProvider6, withContext: withContext8 } = createStyleContext(radioGroup);
339
+ var Root8 = withProvider6(RadioGroup.Root, "root");
340
+ var RootProvider5 = withProvider6(RadioGroup.RootProvider, "root");
341
+ var Indicator4 = withContext8(RadioGroup.Indicator, "indicator");
342
+ var Item2 = withContext8(RadioGroup.Item, "item");
343
+ var ItemControl = withContext8(RadioGroup.ItemControl, "itemControl");
344
+ var ItemText = withContext8(RadioGroup.ItemText, "itemText");
345
+ var Label3 = withContext8(RadioGroup.Label, "label");
346
+ var ItemHiddenInput = RadioGroup.ItemHiddenInput;
347
+
348
+ // src/components/Select.tsx
349
+ var Select_exports = {};
350
+ __export(Select_exports, {
351
+ ClearTrigger: () => ClearTrigger,
352
+ Content: () => Content4,
353
+ Context: () => SelectContext,
354
+ Control: () => Control3,
355
+ HiddenSelect: () => HiddenSelect,
356
+ Indicator: () => Indicator5,
357
+ IndicatorGroup: () => IndicatorGroup,
358
+ Item: () => Item3,
359
+ ItemContext: () => SelectItemContext,
360
+ ItemGroup: () => ItemGroup,
361
+ ItemGroupLabel: () => ItemGroupLabel,
362
+ ItemIndicator: () => ItemIndicator2,
363
+ ItemText: () => ItemText2,
364
+ Label: () => Label4,
365
+ List: () => List2,
366
+ Positioner: () => Positioner3,
367
+ Root: () => Root9,
368
+ Trigger: () => Trigger4,
369
+ ValueText: () => ValueText
370
+ });
371
+ var { withProvider: withProvider7, withContext: withContext9 } = createStyleContext(select);
372
+ var CheckIcon = () => /* @__PURE__ */ jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx("polyline", { points: "20 6 9 17 4 12" }) });
373
+ var ChevronsUpDownIcon = () => /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
374
+ /* @__PURE__ */ jsx("path", { d: "m7 15 5 5 5-5" }),
375
+ /* @__PURE__ */ jsx("path", { d: "m7 9 5-5 5 5" })
376
+ ] });
377
+ var Root9 = withProvider7(Select.Root, "root");
378
+ var ClearTrigger = withContext9(Select.ClearTrigger, "clearTrigger");
379
+ var Content4 = withContext9(Select.Content, "content");
380
+ var Control3 = withContext9(Select.Control, "control");
381
+ var IndicatorGroup = withContext9(ark$1.div, "indicatorGroup");
382
+ var Item3 = withContext9(Select.Item, "item");
383
+ var ItemGroup = withContext9(Select.ItemGroup, "itemGroup");
384
+ var ItemGroupLabel = withContext9(Select.ItemGroupLabel, "itemGroupLabel");
385
+ var ItemText2 = withContext9(Select.ItemText, "itemText");
386
+ var Label4 = withContext9(Select.Label, "label");
387
+ var List2 = withContext9(Select.List, "list");
388
+ var Positioner3 = withContext9(Select.Positioner, "positioner");
389
+ var Trigger4 = withContext9(Select.Trigger, "trigger");
390
+ var ValueText = withContext9(Select.ValueText, "valueText");
391
+ var Indicator5 = withContext9(Select.Indicator, "indicator", {
392
+ defaultProps: { children: /* @__PURE__ */ jsx(ChevronsUpDownIcon, {}) }
393
+ });
394
+ var HiddenSelect = Select.HiddenSelect;
395
+ var StyledItemIndicator = withContext9(Select.ItemIndicator, "itemIndicator");
396
+ var ItemIndicator2 = forwardRef(
397
+ function ItemIndicator3(props, ref) {
398
+ const item = useSelectItemContext();
399
+ return item.selected ? /* @__PURE__ */ jsx(StyledItemIndicator, { ref, ...props, children: /* @__PURE__ */ jsx(CheckIcon, {}) }) : /* @__PURE__ */ jsx("svg", { "aria-hidden": "true", focusable: "false" });
400
+ }
401
+ );
402
+
403
+ // src/components/Slider.tsx
404
+ var Slider_exports = {};
405
+ __export(Slider_exports, {
406
+ Context: () => SliderContext,
407
+ Control: () => Control4,
408
+ DraggingIndicator: () => DraggingIndicator,
409
+ HiddenInput: () => HiddenInput3,
410
+ Label: () => Label5,
411
+ Marker: () => Marker,
412
+ MarkerGroup: () => MarkerGroup,
413
+ MarkerIndicator: () => MarkerIndicator,
414
+ Marks: () => Marks,
415
+ Range: () => Range,
416
+ Root: () => Root10,
417
+ Thumb: () => Thumb2,
418
+ Thumbs: () => Thumbs,
419
+ Track: () => Track,
420
+ ValueText: () => ValueText2
421
+ });
422
+ var StyleContextInternal = createContext$1(null);
423
+ var Root10 = forwardRef(
424
+ function SliderRoot(props, ref) {
425
+ const { orientation, size, variant, colorPalette, className, ...arkProps } = props;
426
+ const styles = slider({ orientation, size, variant });
427
+ const colorPaletteClass = colorPalette ? `color-palette_${colorPalette}` : "";
428
+ const combinedClassName = [styles.root, colorPaletteClass, className].filter(Boolean).join(" ");
429
+ return /* @__PURE__ */ jsx(StyleContextInternal.Provider, { value: styles, children: /* @__PURE__ */ jsx(
430
+ Slider.Root,
431
+ {
432
+ ref,
433
+ orientation,
434
+ className: combinedClassName,
435
+ ...arkProps
436
+ }
437
+ ) });
438
+ }
439
+ );
440
+ var createStyledComponent = (Component, slot, displayName) => {
441
+ const StyledComponent = forwardRef((props, ref) => {
442
+ const styles = useContext(StyleContextInternal);
443
+ const slotClass = styles?.[slot];
444
+ const { className, ...rest } = props;
445
+ return /* @__PURE__ */ jsx(Component, { ref, className: `${slotClass} ${className || ""}`.trim(), ...rest });
446
+ });
447
+ StyledComponent.displayName = displayName;
448
+ return StyledComponent;
449
+ };
450
+ var Control4 = createStyledComponent(Slider.Control, "control", "Control");
451
+ var Track = createStyledComponent(Slider.Track, "track", "Track");
452
+ var Range = createStyledComponent(Slider.Range, "range", "Range");
453
+ var Thumb2 = forwardRef((props, ref) => {
454
+ const styles = useContext(StyleContextInternal);
455
+ const slotClass = styles?.thumb;
456
+ const { className, ...rest } = props;
457
+ return /* @__PURE__ */ jsx(Slider.Thumb, { ref, className: `${slotClass} ${className || ""}`.trim(), ...rest });
458
+ });
459
+ Thumb2.displayName = "Thumb";
460
+ var Label5 = forwardRef((props, ref) => {
461
+ const styles = useContext(StyleContextInternal);
462
+ const slotClass = styles?.label;
463
+ const { className, ...rest } = props;
464
+ return /* @__PURE__ */ jsx(Slider.Label, { ref, className: `${slotClass} ${className || ""}`.trim(), ...rest });
465
+ });
466
+ Label5.displayName = "Label";
467
+ var ValueText2 = forwardRef((props, ref) => {
468
+ const styles = useContext(StyleContextInternal);
469
+ const slotClass = styles?.valueText;
470
+ const { className, ...rest } = props;
471
+ return /* @__PURE__ */ jsx(Slider.ValueText, { ref, className: `${slotClass} ${className || ""}`.trim(), ...rest });
472
+ });
473
+ ValueText2.displayName = "ValueText";
474
+ var Marker = forwardRef((props, ref) => {
475
+ const styles = useContext(StyleContextInternal);
476
+ const slotClass = styles?.marker;
477
+ const { className, ...rest } = props;
478
+ return /* @__PURE__ */ jsx(Slider.Marker, { ref, className: `${slotClass} ${className || ""}`.trim(), ...rest });
479
+ });
480
+ Marker.displayName = "Marker";
481
+ var MarkerGroup = forwardRef((props, ref) => {
482
+ const styles = useContext(StyleContextInternal);
483
+ const slotClass = styles?.markerGroup;
484
+ const { className, ...rest } = props;
485
+ return /* @__PURE__ */ jsx(Slider.MarkerGroup, { ref, className: `${slotClass} ${className || ""}`.trim(), ...rest });
486
+ });
487
+ MarkerGroup.displayName = "MarkerGroup";
488
+ var MarkerIndicator = forwardRef((props, ref) => {
489
+ const styles = useContext(StyleContextInternal);
490
+ const slotClass = styles?.markerIndicator;
491
+ const { className, ...rest } = props;
492
+ return /* @__PURE__ */ jsx(ark$1.div, { ref, className: `${slotClass} ${className || ""}`.trim(), ...rest });
493
+ });
494
+ MarkerIndicator.displayName = "MarkerIndicator";
495
+ var DraggingIndicator = forwardRef((props, ref) => {
496
+ const styles = useContext(StyleContextInternal);
497
+ const slotClass = styles?.draggingIndicator;
498
+ const { className, ...rest } = props;
499
+ return /* @__PURE__ */ jsx(Slider.DraggingIndicator, { ref, className: `${slotClass} ${className || ""}`.trim(), ...rest });
500
+ });
501
+ DraggingIndicator.displayName = "DraggingIndicator";
502
+ var HiddenInput3 = Slider.HiddenInput;
503
+ var Marks = forwardRef(function Marks2(props, ref) {
504
+ const { marks, ...rest } = props;
505
+ if (!marks?.length) return null;
506
+ return /* @__PURE__ */ jsx(MarkerGroup, { ref, ...rest, children: marks.map((mark, index) => {
507
+ const value = typeof mark === "number" ? mark : mark.value;
508
+ const label = typeof mark === "number" ? void 0 : mark.label;
509
+ return /* @__PURE__ */ jsxs(Marker, { value, children: [
510
+ /* @__PURE__ */ jsx(MarkerIndicator, {}),
511
+ label != null && /* @__PURE__ */ jsx("span", { children: label })
512
+ ] }, index);
513
+ }) });
514
+ });
515
+ var Thumbs = (props) => {
516
+ const slider2 = useSliderContext();
517
+ return slider2.value.map((_, index) => /* @__PURE__ */ jsx(Thumb2, { index, ...props, children: /* @__PURE__ */ jsx(HiddenInput3, {}) }, index));
518
+ };
519
+
520
+ // src/components/Textarea.tsx
521
+ var Textarea_exports = {};
522
+ __export(Textarea_exports, {
523
+ Textarea: () => Textarea
524
+ });
525
+ var Textarea = styled(Field.Textarea, textarea);
526
+
527
+ // src/components/Avatar.tsx
528
+ var Avatar_exports = {};
529
+ __export(Avatar_exports, {
530
+ Context: () => AvatarContext,
531
+ Fallback: () => Fallback,
532
+ Image: () => Image,
533
+ Root: () => Root11,
534
+ RootProvider: () => RootProvider6
535
+ });
536
+ var UserIcon = () => /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
537
+ /* @__PURE__ */ jsx("path", { d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2" }),
538
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "7", r: "4" })
539
+ ] });
540
+ var { withProvider: withProvider8, withContext: withContext10 } = createStyleContext(avatar);
541
+ var Root11 = withProvider8(Avatar.Root, "root");
542
+ var RootProvider6 = withProvider8(Avatar.RootProvider, "root");
543
+ var Image = withContext10(Avatar.Image, "image", {
544
+ defaultProps: {
545
+ draggable: "false",
546
+ referrerPolicy: "no-referrer"
547
+ }
548
+ });
549
+ var StyledFallback = withContext10(Avatar.Fallback, "fallback");
550
+ var Fallback = forwardRef(function Fallback2(props, ref) {
551
+ const { name, children, asChild, ...rest } = props;
552
+ const fallbackContent = children || asChild ? children : name ? getInitials(name) : /* @__PURE__ */ jsx(UserIcon, {});
553
+ return /* @__PURE__ */ jsx(StyledFallback, { ref, ...rest, children: fallbackContent });
554
+ });
555
+ var getInitials = (name) => {
556
+ const names = name.trim().split(" ");
557
+ const firstName = names[0] || "";
558
+ const lastName = names.length > 1 ? names[names.length - 1] : "";
559
+ return firstName && lastName ? `${firstName[0]}${lastName[0]}` : firstName[0];
560
+ };
561
+
562
+ // src/components/Badge.tsx
563
+ var Badge_exports = {};
564
+ __export(Badge_exports, {
565
+ Badge: () => Badge
566
+ });
567
+ var Badge = styled(ark$1.div, badge);
568
+
569
+ // src/components/Progress.tsx
570
+ var Progress_exports = {};
571
+ __export(Progress_exports, {
572
+ Circle: () => Circle,
573
+ CircleRange: () => CircleRange,
574
+ CircleTrack: () => CircleTrack,
575
+ Label: () => Label6,
576
+ Range: () => Range2,
577
+ Root: () => Root12,
578
+ RootProvider: () => RootProvider7,
579
+ Track: () => Track2,
580
+ ValueText: () => ValueText3,
581
+ View: () => View
582
+ });
583
+ var { withProvider: withProvider9, withContext: withContext11 } = createStyleContext(progress);
584
+ var Root12 = withProvider9(Progress.Root, "root");
585
+ var RootProvider7 = withProvider9(Progress.RootProvider, "root");
586
+ var Circle = withContext11(Progress.Circle, "circle");
587
+ var CircleRange = withContext11(Progress.CircleRange, "circleRange");
588
+ var CircleTrack = withContext11(Progress.CircleTrack, "circleTrack");
589
+ var Label6 = withContext11(Progress.Label, "label");
590
+ var Range2 = withContext11(Progress.Range, "range");
591
+ var Track2 = withContext11(Progress.Track, "track");
592
+ var ValueText3 = withContext11(Progress.ValueText, "valueText");
593
+ var View = withContext11(Progress.View, "view");
594
+
595
+ // src/components/Skeleton.tsx
596
+ var Skeleton_exports = {};
597
+ __export(Skeleton_exports, {
598
+ Skeleton: () => Skeleton,
599
+ SkeletonCircle: () => SkeletonCircle,
600
+ SkeletonText: () => SkeletonText
601
+ });
602
+ var Skeleton = styled(ark$1.div, skeleton);
603
+ var SkeletonCircle = styled(ark$1.div, skeleton, { defaultProps: { circle: true } });
604
+ var SkeletonText = forwardRef(
605
+ function SkeletonText2(props, ref) {
606
+ const { noOfLines = 3, gap, rootProps, ...skeletonProps } = props;
607
+ return /* @__PURE__ */ jsx(Stack, { ref, gap, width: "full", ...rootProps, children: [...Array(noOfLines).keys()].map((index) => /* @__PURE__ */ jsx(
608
+ Skeleton,
609
+ {
610
+ height: "4",
611
+ _last: { maxW: noOfLines === 1 ? "100%" : "80%" },
612
+ ...skeletonProps
613
+ },
614
+ index
615
+ )) });
616
+ }
617
+ );
618
+
619
+ // src/components/CloseButton.tsx
620
+ var CloseButton_exports = {};
621
+ __export(CloseButton_exports, {
622
+ CloseButton: () => CloseButton
623
+ });
624
+ var XIcon = () => /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
625
+ /* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
626
+ /* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })
627
+ ] });
628
+ var CloseButton = forwardRef(
629
+ function CloseButton2(props, ref) {
630
+ return /* @__PURE__ */ jsx(IconButton, { variant: "plain", colorPalette: "gray", "aria-label": "Close", ref, ...props, children: props.children ?? /* @__PURE__ */ jsx(XIcon, {}) });
631
+ }
632
+ );
633
+
634
+ // src/components/Icon.tsx
635
+ var Icon_exports = {};
636
+ __export(Icon_exports, {
637
+ Icon: () => Icon
638
+ });
639
+ var Icon = styled(ark$1.svg);
640
+ var CheckCircleIcon = () => /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
641
+ /* @__PURE__ */ jsx("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }),
642
+ /* @__PURE__ */ jsx("path", { d: "m9 11 3 3L22 4" })
643
+ ] });
644
+ var CircleAlertIcon = () => /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
645
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
646
+ /* @__PURE__ */ jsx("line", { x1: "12", x2: "12", y1: "8", y2: "12" }),
647
+ /* @__PURE__ */ jsx("line", { x1: "12", x2: "12.01", y1: "16", y2: "16" })
648
+ ] });
649
+ var CircleXIcon = () => /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
650
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
651
+ /* @__PURE__ */ jsx("path", { d: "m15 9-6 6" }),
652
+ /* @__PURE__ */ jsx("path", { d: "m9 9 6 6" })
653
+ ] });
654
+ var { withProvider: withProvider10, withContext: withContext12 } = createStyleContext(toast);
655
+ var Root13 = withProvider10(Toast.Root, "root");
656
+ var Title4 = withContext12(Toast.Title, "title");
657
+ var Description4 = withContext12(Toast.Description, "description");
658
+ var ActionTrigger = withContext12(Toast.ActionTrigger, "actionTrigger");
659
+ var CloseTrigger3 = withContext12(Toast.CloseTrigger, "closeTrigger");
660
+ var StyledToaster = styled(Toaster$1);
661
+ var iconMap = {
662
+ warning: CircleAlertIcon,
663
+ success: CheckCircleIcon,
664
+ error: CircleXIcon
665
+ };
666
+ var Indicator6 = forwardRef(function ToastIndicator(props, ref) {
667
+ const toast2 = useToastContext();
668
+ const StatusIcon = iconMap[toast2.type];
669
+ if (!StatusIcon) return null;
670
+ return /* @__PURE__ */ jsx(Icon, { ref, "data-type": toast2.type, ...props, children: /* @__PURE__ */ jsx(StatusIcon, {}) });
671
+ });
672
+ var toaster = createToaster({
673
+ placement: "bottom-end",
674
+ pauseOnPageIdle: true,
675
+ overlap: true,
676
+ max: 5
677
+ });
678
+ var Toaster = () => {
679
+ return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(StyledToaster, { toaster, insetInline: { mdDown: "4" }, children: (toast2) => /* @__PURE__ */ jsxs(Root13, { children: [
680
+ toast2.type === "loading" ? /* @__PURE__ */ jsx(Spinner, { color: "colorPalette.plain.fg" }) : /* @__PURE__ */ jsx(Indicator6, {}),
681
+ /* @__PURE__ */ jsxs(Stack, { gap: "3", alignItems: "start", children: [
682
+ /* @__PURE__ */ jsxs(Stack, { gap: "1", children: [
683
+ toast2.title && /* @__PURE__ */ jsx(Title4, { children: toast2.title }),
684
+ toast2.description && /* @__PURE__ */ jsx(Description4, { children: toast2.description })
685
+ ] }),
686
+ toast2.action && /* @__PURE__ */ jsx(ActionTrigger, { children: toast2.action.label })
687
+ ] }),
688
+ toast2.closable && /* @__PURE__ */ jsx(CloseTrigger3, { asChild: true, children: /* @__PURE__ */ jsx(CloseButton, { size: "sm" }) })
689
+ ] }) }) });
690
+ };
691
+
692
+ // src/components/Popover.tsx
693
+ var Popover_exports = {};
694
+ __export(Popover_exports, {
695
+ Anchor: () => Anchor,
696
+ Arrow: () => Arrow,
697
+ ArrowTip: () => ArrowTip,
698
+ Body: () => Body4,
699
+ CloseTrigger: () => CloseTrigger4,
700
+ Content: () => Content5,
701
+ Context: () => PopoverContext,
702
+ Description: () => Description5,
703
+ Footer: () => Footer4,
704
+ Header: () => Header4,
705
+ Indicator: () => Indicator7,
706
+ Positioner: () => Positioner4,
707
+ Root: () => Root14,
708
+ RootProvider: () => RootProvider8,
709
+ Title: () => Title5,
710
+ Trigger: () => Trigger5
711
+ });
712
+ var { withRootProvider: withRootProvider3, withContext: withContext13 } = createStyleContext(popover);
713
+ var Root14 = withRootProvider3(Popover.Root, {
714
+ defaultProps: { unmountOnExit: true, lazyMount: true }
715
+ });
716
+ var RootProvider8 = withRootProvider3(Popover.Root, {
717
+ defaultProps: { unmountOnExit: true, lazyMount: true }
718
+ });
719
+ var Anchor = withContext13(Popover.Anchor, "anchor");
720
+ var ArrowTip = withContext13(Popover.ArrowTip, "arrowTip");
721
+ var Arrow = withContext13(Popover.Arrow, "arrow", {
722
+ defaultProps: { children: /* @__PURE__ */ jsx(ArrowTip, {}) }
723
+ });
724
+ var CloseTrigger4 = withContext13(Popover.CloseTrigger, "closeTrigger");
725
+ var Content5 = withContext13(Popover.Content, "content");
726
+ var Description5 = withContext13(Popover.Description, "description");
727
+ var Indicator7 = withContext13(Popover.Indicator, "indicator");
728
+ var Positioner4 = withContext13(Popover.Positioner, "positioner");
729
+ var Title5 = withContext13(Popover.Title, "title");
730
+ var Trigger5 = withContext13(Popover.Trigger, "trigger");
731
+ var Body4 = withContext13(ark$1.div, "body");
732
+ var Header4 = withContext13(ark$1.div, "header");
733
+ var Footer4 = withContext13(ark$1.div, "footer");
734
+
735
+ // src/components/Tooltip.tsx
736
+ var Tooltip_exports = {};
737
+ __export(Tooltip_exports, {
738
+ Context: () => TooltipContext,
739
+ Tooltip: () => Tooltip
740
+ });
741
+ var { withRootProvider: withRootProvider4, withContext: withContext14 } = createStyleContext(tooltip);
742
+ var Root15 = withRootProvider4(Tooltip$1.Root, {
743
+ defaultProps: { unmountOnExit: true, lazyMount: true }
744
+ });
745
+ var Arrow2 = withContext14(Tooltip$1.Arrow, "arrow");
746
+ var ArrowTip2 = withContext14(Tooltip$1.ArrowTip, "arrowTip");
747
+ var Content6 = withContext14(Tooltip$1.Content, "content");
748
+ var Positioner5 = withContext14(Tooltip$1.Positioner, "positioner");
749
+ var Trigger6 = withContext14(Tooltip$1.Trigger, "trigger");
750
+ var Tooltip = forwardRef(function Tooltip2(props, ref) {
751
+ const {
752
+ showArrow,
753
+ children,
754
+ disabled,
755
+ portalled = true,
756
+ content,
757
+ contentProps,
758
+ portalRef,
759
+ ...rootProps
760
+ } = props;
761
+ if (disabled) return children;
762
+ return /* @__PURE__ */ jsxs(Root15, { ...rootProps, children: [
763
+ /* @__PURE__ */ jsx(Trigger6, { asChild: true, children }),
764
+ /* @__PURE__ */ jsx(Portal, { disabled: !portalled, container: portalRef, children: /* @__PURE__ */ jsx(Positioner5, { children: /* @__PURE__ */ jsxs(Content6, { ref, ...contentProps, children: [
765
+ showArrow && /* @__PURE__ */ jsx(Arrow2, { children: /* @__PURE__ */ jsx(ArrowTip2, {}) }),
766
+ content
767
+ ] }) }) })
768
+ ] });
769
+ });
770
+
771
+ // node_modules/.pnpm/@pandacss+dev@1.8.0_hono@4.11.3_jsdom@27.4.0_typescript@5.9.3/node_modules/@pandacss/dev/dist/index.mjs
772
+ function defineRecipe(config) {
773
+ return config;
774
+ }
775
+ function defineSlotRecipe(config) {
776
+ return config;
777
+ }
778
+
779
+ // src/recipes/button.recipe.ts
780
+ var buttonRecipe = defineRecipe({
781
+ className: "button",
782
+ description: "Material Design 3 button component",
783
+ base: {
784
+ display: "inline-flex",
785
+ alignItems: "center",
786
+ justifyContent: "center",
787
+ gap: "sm",
788
+ fontFamily: "body",
789
+ fontWeight: "500",
790
+ borderRadius: "full",
791
+ cursor: "pointer",
792
+ transition: "all",
793
+ transitionDuration: "fast",
794
+ transitionTimingFunction: "standard",
795
+ outline: "none",
796
+ border: "none",
797
+ textDecoration: "none",
798
+ _disabled: {
799
+ opacity: 0.38,
800
+ cursor: "not-allowed",
801
+ pointerEvents: "none"
802
+ },
803
+ _focusVisible: {
804
+ outline: "2px solid",
805
+ outlineColor: "primary",
806
+ outlineOffset: "2px"
807
+ }
808
+ },
809
+ variants: {
810
+ variant: {
811
+ filled: {
812
+ bg: "primary",
813
+ color: "onPrimary",
814
+ _hover: {
815
+ opacity: 0.92,
816
+ shadow: "level1"
817
+ },
818
+ _active: {
819
+ opacity: 0.88
820
+ }
821
+ },
822
+ outlined: {
823
+ bg: "transparent",
824
+ color: "primary",
825
+ borderWidth: "1px",
826
+ borderStyle: "solid",
827
+ borderColor: "outline",
828
+ _hover: {
829
+ bg: "primary",
830
+ bgOpacity: 0.08
831
+ },
832
+ _active: {
833
+ bg: "primary",
834
+ bgOpacity: 0.12
835
+ }
836
+ },
837
+ text: {
838
+ bg: "transparent",
839
+ color: "primary",
840
+ _hover: {
841
+ bg: "primary",
842
+ bgOpacity: 0.08
843
+ },
844
+ _active: {
845
+ bg: "primary",
846
+ bgOpacity: 0.12
847
+ }
848
+ },
849
+ elevated: {
850
+ bg: "surfaceContainerLow",
851
+ color: "primary",
852
+ shadow: "level1",
853
+ _hover: {
854
+ shadow: "level2",
855
+ bg: "surfaceContainerLow"
856
+ },
857
+ _active: {
858
+ shadow: "level1"
859
+ }
860
+ },
861
+ tonal: {
862
+ bg: "secondaryContainer",
863
+ color: "onSecondaryContainer",
864
+ _hover: {
865
+ shadow: "level1"
866
+ },
867
+ _active: {
868
+ shadow: "none"
869
+ }
870
+ }
871
+ },
872
+ size: {
873
+ sm: {
874
+ height: "32px",
875
+ px: "md",
876
+ fontSize: "labelMedium",
877
+ lineHeight: "labelMedium"
878
+ },
879
+ md: {
880
+ height: "40px",
881
+ px: "lg",
882
+ fontSize: "labelLarge",
883
+ lineHeight: "labelLarge"
884
+ },
885
+ lg: {
886
+ height: "48px",
887
+ px: "xl",
888
+ fontSize: "labelLarge",
889
+ lineHeight: "labelLarge"
890
+ }
891
+ }
892
+ },
893
+ defaultVariants: {
894
+ variant: "filled",
895
+ size: "md"
896
+ }
897
+ });
898
+
899
+ // src/recipes/card.recipe.ts
900
+ var cardRecipe = defineRecipe({
901
+ className: "card",
902
+ description: "Material Design 3 card component",
903
+ base: {
904
+ display: "flex",
905
+ flexDirection: "column",
906
+ borderRadius: "medium",
907
+ overflow: "hidden",
908
+ transition: "all",
909
+ transitionDuration: "fast",
910
+ transitionTimingFunction: "standard"
911
+ },
912
+ variants: {
913
+ variant: {
914
+ elevated: {
915
+ bg: "surfaceContainerLow",
916
+ shadow: "level1",
917
+ _hover: {
918
+ shadow: "level2"
919
+ }
920
+ },
921
+ filled: {
922
+ bg: "surfaceContainerHighest"
923
+ },
924
+ outlined: {
925
+ bg: "surface",
926
+ borderWidth: "1px",
927
+ borderStyle: "solid",
928
+ borderColor: "outlineVariant"
929
+ }
930
+ },
931
+ interactive: {
932
+ true: {
933
+ cursor: "pointer",
934
+ _hover: {
935
+ opacity: 0.96
936
+ },
937
+ _active: {
938
+ opacity: 0.92
939
+ }
940
+ }
941
+ }
942
+ },
943
+ defaultVariants: {
944
+ variant: "elevated",
945
+ interactive: false
946
+ }
947
+ });
948
+
949
+ // src/recipes/icon-button.recipe.ts
950
+ var iconButtonRecipe = defineRecipe({
951
+ className: "icon-button",
952
+ description: "Material Design 3 icon button component",
953
+ base: {
954
+ display: "inline-flex",
955
+ alignItems: "center",
956
+ justifyContent: "center",
957
+ borderRadius: "full",
958
+ cursor: "pointer",
959
+ transition: "all",
960
+ transitionDuration: "fast",
961
+ transitionTimingFunction: "standard",
962
+ outline: "none",
963
+ border: "none",
964
+ p: "0",
965
+ _disabled: {
966
+ opacity: 0.38,
967
+ cursor: "not-allowed",
968
+ pointerEvents: "none"
969
+ },
970
+ _focusVisible: {
971
+ outline: "2px solid",
972
+ outlineColor: "primary",
973
+ outlineOffset: "2px"
974
+ }
975
+ },
976
+ variants: {
977
+ variant: {
978
+ standard: {
979
+ bg: "transparent",
980
+ color: "onSurfaceVariant",
981
+ _hover: {
982
+ bg: "onSurfaceVariant",
983
+ bgOpacity: 0.08
984
+ }
985
+ },
986
+ filled: {
987
+ bg: "primary",
988
+ color: "onPrimary",
989
+ _hover: {
990
+ opacity: 0.92
991
+ }
992
+ },
993
+ tonal: {
994
+ bg: "secondaryContainer",
995
+ color: "onSecondaryContainer",
996
+ _hover: {
997
+ opacity: 0.92
998
+ }
999
+ },
1000
+ outlined: {
1001
+ bg: "transparent",
1002
+ color: "onSurfaceVariant",
1003
+ borderWidth: "1px",
1004
+ borderStyle: "solid",
1005
+ borderColor: "outline",
1006
+ _hover: {
1007
+ bg: "onSurfaceVariant",
1008
+ bgOpacity: 0.08
1009
+ }
1010
+ }
1011
+ },
1012
+ size: {
1013
+ sm: {
1014
+ width: "32px",
1015
+ height: "32px",
1016
+ "& svg": {
1017
+ width: "18px",
1018
+ height: "18px"
1019
+ }
1020
+ },
1021
+ md: {
1022
+ width: "40px",
1023
+ height: "40px",
1024
+ "& svg": {
1025
+ width: "24px",
1026
+ height: "24px"
1027
+ }
1028
+ },
1029
+ lg: {
1030
+ width: "48px",
1031
+ height: "48px",
1032
+ "& svg": {
1033
+ width: "24px",
1034
+ height: "24px"
1035
+ }
1036
+ }
1037
+ }
1038
+ },
1039
+ defaultVariants: {
1040
+ variant: "standard",
1041
+ size: "md"
1042
+ }
1043
+ });
1044
+
1045
+ // src/recipes/input.recipe.ts
1046
+ var inputRecipe = defineRecipe({
1047
+ className: "input",
1048
+ description: "Material Design 3 text field component",
1049
+ base: {
1050
+ width: "100%",
1051
+ fontFamily: "body",
1052
+ fontSize: "bodyLarge",
1053
+ lineHeight: "bodyLarge",
1054
+ color: "onSurface",
1055
+ bg: "transparent",
1056
+ borderRadius: "extraSmall",
1057
+ px: "md",
1058
+ transition: "all",
1059
+ transitionDuration: "fast",
1060
+ outline: "none",
1061
+ _placeholder: {
1062
+ color: "onSurfaceVariant",
1063
+ opacity: 0.6
1064
+ },
1065
+ _focus: {
1066
+ outline: "none"
1067
+ },
1068
+ _disabled: {
1069
+ opacity: 0.38,
1070
+ cursor: "not-allowed"
1071
+ }
1072
+ },
1073
+ variants: {
1074
+ variant: {
1075
+ filled: {
1076
+ bg: "surfaceContainerHighest",
1077
+ borderBottomWidth: "1px",
1078
+ borderBottomStyle: "solid",
1079
+ borderBottomColor: "onSurfaceVariant",
1080
+ borderTopLeftRadius: "extraSmall",
1081
+ borderTopRightRadius: "extraSmall",
1082
+ borderBottomLeftRadius: "0",
1083
+ borderBottomRightRadius: "0",
1084
+ _hover: {
1085
+ bg: "surfaceContainerHigh"
1086
+ },
1087
+ _focus: {
1088
+ borderBottomWidth: "2px",
1089
+ borderBottomColor: "primary"
1090
+ }
1091
+ },
1092
+ outlined: {
1093
+ bg: "transparent",
1094
+ borderWidth: "1px",
1095
+ borderStyle: "solid",
1096
+ borderColor: "outline",
1097
+ _hover: {
1098
+ borderColor: "onSurface"
1099
+ },
1100
+ _focus: {
1101
+ borderWidth: "2px",
1102
+ borderColor: "primary"
1103
+ }
1104
+ }
1105
+ },
1106
+ size: {
1107
+ sm: {
1108
+ height: "40px",
1109
+ fontSize: "bodySmall",
1110
+ lineHeight: "bodySmall"
1111
+ },
1112
+ md: {
1113
+ height: "56px",
1114
+ fontSize: "bodyLarge",
1115
+ lineHeight: "bodyLarge"
1116
+ }
1117
+ },
1118
+ state: {
1119
+ error: {
1120
+ borderColor: "error",
1121
+ _focus: {
1122
+ borderColor: "error"
1123
+ }
1124
+ },
1125
+ disabled: {
1126
+ opacity: 0.38,
1127
+ cursor: "not-allowed",
1128
+ pointerEvents: "none"
1129
+ }
1130
+ }
1131
+ },
1132
+ defaultVariants: {
1133
+ variant: "outlined",
1134
+ size: "md"
1135
+ }
1136
+ });
1137
+
1138
+ // src/recipes/dialog.recipe.ts
1139
+ var dialogRecipe = defineSlotRecipe({
1140
+ className: "dialog",
1141
+ description: "Material Design 3 dialog component",
1142
+ slots: ["backdrop", "positioner", "content", "title", "description", "closeTrigger"],
1143
+ base: {
1144
+ backdrop: {
1145
+ position: "fixed",
1146
+ inset: "0",
1147
+ bg: "scrim",
1148
+ opacity: 0.4,
1149
+ zIndex: "modal",
1150
+ animation: "fadeIn",
1151
+ _open: {
1152
+ animation: "fadeIn"
1153
+ },
1154
+ _closed: {
1155
+ animation: "fadeOut"
1156
+ }
1157
+ },
1158
+ positioner: {
1159
+ position: "fixed",
1160
+ inset: "0",
1161
+ display: "flex",
1162
+ alignItems: "center",
1163
+ justifyContent: "center",
1164
+ zIndex: "modal",
1165
+ p: "lg"
1166
+ },
1167
+ content: {
1168
+ position: "relative",
1169
+ bg: "surfaceContainerHigh",
1170
+ color: "onSurface",
1171
+ borderRadius: "extraLarge",
1172
+ boxShadow: "level3",
1173
+ display: "flex",
1174
+ flexDirection: "column",
1175
+ maxWidth: "90vw",
1176
+ maxHeight: "90vh",
1177
+ overflow: "hidden",
1178
+ animation: "scaleIn",
1179
+ _open: {
1180
+ animation: "scaleIn"
1181
+ },
1182
+ _closed: {
1183
+ animation: "scaleOut"
1184
+ }
1185
+ },
1186
+ title: {
1187
+ fontFamily: "headline",
1188
+ fontSize: "headlineSmall",
1189
+ fontWeight: "regular",
1190
+ color: "onSurface",
1191
+ px: "xl",
1192
+ pt: "xl",
1193
+ pb: "md"
1194
+ },
1195
+ description: {
1196
+ fontFamily: "body",
1197
+ fontSize: "bodyMedium",
1198
+ color: "onSurfaceVariant",
1199
+ px: "xl",
1200
+ pb: "xl",
1201
+ flex: "1",
1202
+ overflow: "auto"
1203
+ },
1204
+ closeTrigger: {
1205
+ position: "absolute",
1206
+ top: "md",
1207
+ right: "md",
1208
+ display: "flex",
1209
+ alignItems: "center",
1210
+ justifyContent: "center",
1211
+ width: "40px",
1212
+ height: "40px",
1213
+ borderRadius: "full",
1214
+ cursor: "pointer",
1215
+ color: "onSurfaceVariant",
1216
+ bg: "transparent",
1217
+ border: "none",
1218
+ transition: "all",
1219
+ transitionDuration: "fast",
1220
+ _hover: {
1221
+ bg: "surfaceContainerHighest"
1222
+ },
1223
+ _focus: {
1224
+ outline: "none",
1225
+ bg: "surfaceContainerHighest"
1226
+ }
1227
+ }
1228
+ },
1229
+ variants: {
1230
+ size: {
1231
+ sm: {
1232
+ content: {
1233
+ width: "280px",
1234
+ minHeight: "140px"
1235
+ }
1236
+ },
1237
+ md: {
1238
+ content: {
1239
+ width: "560px",
1240
+ minHeight: "200px"
1241
+ }
1242
+ },
1243
+ lg: {
1244
+ content: {
1245
+ width: "800px",
1246
+ minHeight: "300px"
1247
+ }
1248
+ },
1249
+ fullscreen: {
1250
+ content: {
1251
+ width: "100vw",
1252
+ height: "100vh",
1253
+ maxWidth: "100vw",
1254
+ maxHeight: "100vh",
1255
+ borderRadius: "none"
1256
+ },
1257
+ positioner: {
1258
+ p: "0"
1259
+ }
1260
+ }
1261
+ }
1262
+ },
1263
+ defaultVariants: {
1264
+ size: "md"
1265
+ }
1266
+ });
1267
+
1268
+ // src/recipes/switch.recipe.ts
1269
+ var switchRecipe = defineSlotRecipe({
1270
+ className: "switchControl",
1271
+ description: "Material Design 3 switch component",
1272
+ slots: ["root", "control", "thumb", "label"],
1273
+ base: {
1274
+ root: {
1275
+ display: "inline-flex",
1276
+ alignItems: "center",
1277
+ gap: "sm",
1278
+ cursor: "pointer",
1279
+ userSelect: "none",
1280
+ _disabled: {
1281
+ cursor: "not-allowed",
1282
+ opacity: 0.38
1283
+ }
1284
+ },
1285
+ control: {
1286
+ position: "relative",
1287
+ display: "inline-flex",
1288
+ alignItems: "center",
1289
+ width: "52px",
1290
+ height: "32px",
1291
+ borderRadius: "full",
1292
+ bg: "surfaceContainerHighest",
1293
+ border: "2px solid",
1294
+ borderColor: "outline",
1295
+ transition: "all",
1296
+ transitionDuration: "fast",
1297
+ flexShrink: 0,
1298
+ _checked: {
1299
+ bg: "primary",
1300
+ borderColor: "primary"
1301
+ },
1302
+ _disabled: {
1303
+ bg: "surfaceVariant",
1304
+ borderColor: "onSurface",
1305
+ opacity: 0.12
1306
+ }
1307
+ },
1308
+ thumb: {
1309
+ position: "absolute",
1310
+ left: "4px",
1311
+ width: "16px",
1312
+ height: "16px",
1313
+ borderRadius: "full",
1314
+ bg: "outline",
1315
+ transition: "all",
1316
+ transitionDuration: "fast",
1317
+ _checked: {
1318
+ left: "28px",
1319
+ width: "24px",
1320
+ height: "24px",
1321
+ bg: "onPrimary"
1322
+ },
1323
+ _disabled: {
1324
+ bg: "onSurface",
1325
+ opacity: 0.38
1326
+ }
1327
+ },
1328
+ label: {
1329
+ fontFamily: "body",
1330
+ fontSize: "bodyMedium",
1331
+ color: "onSurface",
1332
+ userSelect: "none",
1333
+ _disabled: {
1334
+ opacity: 0.38
1335
+ }
1336
+ }
1337
+ },
1338
+ variants: {
1339
+ size: {
1340
+ sm: {
1341
+ control: {
1342
+ width: "44px",
1343
+ height: "24px"
1344
+ },
1345
+ thumb: {
1346
+ width: "12px",
1347
+ height: "12px",
1348
+ left: "4px",
1349
+ _checked: {
1350
+ left: "24px",
1351
+ width: "16px",
1352
+ height: "16px"
1353
+ }
1354
+ },
1355
+ label: {
1356
+ fontSize: "bodySmall"
1357
+ }
1358
+ },
1359
+ md: {
1360
+ control: {
1361
+ width: "52px",
1362
+ height: "32px"
1363
+ },
1364
+ thumb: {
1365
+ width: "16px",
1366
+ height: "16px",
1367
+ left: "4px",
1368
+ _checked: {
1369
+ left: "28px",
1370
+ width: "24px",
1371
+ height: "24px"
1372
+ }
1373
+ },
1374
+ label: {
1375
+ fontSize: "bodyMedium"
1376
+ }
1377
+ }
1378
+ }
1379
+ },
1380
+ defaultVariants: {
1381
+ size: "md"
1382
+ }
1383
+ });
1384
+
1385
+ // src/languages/material3.language.ts
1386
+ var material3Language = {
1387
+ name: "material3",
1388
+ version: "1.0.0",
1389
+ colors: {
1390
+ // From Material Theme Builder export
1391
+ primary: {
1392
+ 0: "#000000",
1393
+ 10: "#102000",
1394
+ 20: "#1F3700",
1395
+ 30: "#2F4F00",
1396
+ 40: "#3F6900",
1397
+ 50: "#518500",
1398
+ 60: "#64A104",
1399
+ 70: "#7DBD2A",
1400
+ 80: "#97D945",
1401
+ 90: "#B2F65F",
1402
+ 95: "#D2FF9B",
1403
+ 99: "#F9FFE9",
1404
+ 100: "#FFFFFF"
1405
+ },
1406
+ secondary: {
1407
+ 0: "#000000",
1408
+ 10: "#121F04",
1409
+ 20: "#263515",
1410
+ 30: "#3C4C2A",
1411
+ 40: "#54643F",
1412
+ 50: "#6C7D56",
1413
+ 60: "#85976E",
1414
+ 70: "#A0B187",
1415
+ 80: "#BBCDA1",
1416
+ 90: "#D7E9BB",
1417
+ 95: "#E5F7C9",
1418
+ 99: "#F9FFE9",
1419
+ 100: "#FFFFFF"
1420
+ },
1421
+ tertiary: {
1422
+ 0: "#000000",
1423
+ 10: "#00201E",
1424
+ 20: "#003735",
1425
+ 30: "#00504C",
1426
+ 40: "#046A66",
1427
+ 50: "#30837F",
1428
+ 60: "#4D9D98",
1429
+ 70: "#69B8B3",
1430
+ 80: "#85D4CF",
1431
+ 90: "#A1F1EB",
1432
+ 95: "#B0FFF9",
1433
+ 99: "#F2FFFD",
1434
+ 100: "#FFFFFF"
1435
+ },
1436
+ neutral: {
1437
+ 0: "#000000",
1438
+ 10: "#1B1C18",
1439
+ 20: "#30312C",
1440
+ 30: "#464742",
1441
+ 40: "#5E5F59",
1442
+ 50: "#777771",
1443
+ 60: "#91918B",
1444
+ 70: "#ABACA5",
1445
+ 80: "#C7C7C0",
1446
+ 90: "#E3E3DB",
1447
+ 95: "#F2F1E9",
1448
+ 99: "#FDFCF5",
1449
+ 100: "#FFFFFF"
1450
+ },
1451
+ neutralVariant: {
1452
+ 0: "#000000",
1453
+ 10: "#191D14",
1454
+ 20: "#2E3228",
1455
+ 30: "#44483D",
1456
+ 40: "#5C6054",
1457
+ 50: "#75796C",
1458
+ 60: "#8F9285",
1459
+ 70: "#A9AD9F",
1460
+ 80: "#C5C8BA",
1461
+ 90: "#E1E4D5",
1462
+ 95: "#EFF2E3",
1463
+ 99: "#FBFEEE",
1464
+ 100: "#FFFFFF"
1465
+ },
1466
+ error: {
1467
+ 0: "#000000",
1468
+ 10: "#410E0B",
1469
+ 20: "#601410",
1470
+ 30: "#8C1D18",
1471
+ 40: "#B3261E",
1472
+ 50: "#DC362E",
1473
+ 60: "#E46962",
1474
+ 70: "#EC928E",
1475
+ 80: "#F2B8B5",
1476
+ 90: "#F9DEDC",
1477
+ 95: "#FCEEEE",
1478
+ 99: "#FFFBF9",
1479
+ 100: "#FFFFFF"
1480
+ }
1481
+ },
1482
+ semantic: {
1483
+ // Light theme from Material Theme Builder
1484
+ primary: "#4C662B",
1485
+ onPrimary: "#FFFFFF",
1486
+ primaryContainer: "#CDEDA3",
1487
+ onPrimaryContainer: "#354E16",
1488
+ secondary: "#586249",
1489
+ onSecondary: "#FFFFFF",
1490
+ secondaryContainer: "#DCE7C8",
1491
+ onSecondaryContainer: "#404A33",
1492
+ tertiary: "#386663",
1493
+ onTertiary: "#FFFFFF",
1494
+ tertiaryContainer: "#BCECE7",
1495
+ onTertiaryContainer: "#1F4E4B",
1496
+ error: "#BA1A1A",
1497
+ onError: "#FFFFFF",
1498
+ errorContainer: "#FFDAD6",
1499
+ onErrorContainer: "#93000A",
1500
+ surface: "#F9FAEF",
1501
+ onSurface: "#1A1C16",
1502
+ surfaceVariant: "#E1E4D5",
1503
+ onSurfaceVariant: "#44483D",
1504
+ surfaceContainerLowest: "#FFFFFF",
1505
+ surfaceContainerLow: "#F3F4E9",
1506
+ surfaceContainer: "#EEEFE3",
1507
+ surfaceContainerHigh: "#E8E9DE",
1508
+ surfaceContainerHighest: "#E2E3D8",
1509
+ outline: "#75796C",
1510
+ outlineVariant: "#C5C8BA",
1511
+ inverseSurface: "#2F312A",
1512
+ inverseOnSurface: "#F1F2E6",
1513
+ inversePrimary: "#B1D18A",
1514
+ background: "#F9FAEF",
1515
+ onBackground: "#1A1C16",
1516
+ scrim: "#000000",
1517
+ shadow: "#000000"
1518
+ },
1519
+ // Dark theme semantic colors (for reference/dark mode implementation)
1520
+ semanticDark: {
1521
+ primary: "#B1D18A",
1522
+ onPrimary: "#1F3701",
1523
+ primaryContainer: "#354E16",
1524
+ onPrimaryContainer: "#CDEDA3",
1525
+ secondary: "#BFCBAD",
1526
+ onSecondary: "#2A331E",
1527
+ secondaryContainer: "#404A33",
1528
+ onSecondaryContainer: "#DCE7C8",
1529
+ tertiary: "#A0D0CB",
1530
+ onTertiary: "#003735",
1531
+ tertiaryContainer: "#1F4E4B",
1532
+ onTertiaryContainer: "#BCECE7",
1533
+ error: "#FFB4AB",
1534
+ onError: "#690005",
1535
+ errorContainer: "#93000A",
1536
+ onErrorContainer: "#FFDAD6",
1537
+ surface: "#12140E",
1538
+ onSurface: "#E2E3D8",
1539
+ surfaceVariant: "#44483D",
1540
+ onSurfaceVariant: "#C5C8BA",
1541
+ surfaceContainerLowest: "#0C0F09",
1542
+ surfaceContainerLow: "#1A1C16",
1543
+ surfaceContainer: "#1E201A",
1544
+ surfaceContainerHigh: "#282B24",
1545
+ surfaceContainerHighest: "#33362E",
1546
+ outline: "#8F9285",
1547
+ outlineVariant: "#44483D",
1548
+ inverseSurface: "#E2E3D8",
1549
+ inverseOnSurface: "#2F312A",
1550
+ inversePrimary: "#4C662B",
1551
+ background: "#12140E",
1552
+ onBackground: "#E2E3D8",
1553
+ scrim: "#000000",
1554
+ shadow: "#000000"
1555
+ },
1556
+ typography: {
1557
+ fonts: {
1558
+ display: '"Fraunces", Georgia, serif',
1559
+ body: '"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
1560
+ mono: '"JetBrains Mono", "Fira Code", Consolas, monospace'
1561
+ },
1562
+ scale: {
1563
+ displayLarge: {
1564
+ fontSize: "57px",
1565
+ lineHeight: "64px",
1566
+ fontWeight: "400",
1567
+ letterSpacing: "-0.25px",
1568
+ fontFamily: "display"
1569
+ },
1570
+ displayMedium: {
1571
+ fontSize: "45px",
1572
+ lineHeight: "52px",
1573
+ fontWeight: "400",
1574
+ letterSpacing: "0px",
1575
+ fontFamily: "display"
1576
+ },
1577
+ displaySmall: {
1578
+ fontSize: "36px",
1579
+ lineHeight: "44px",
1580
+ fontWeight: "400",
1581
+ letterSpacing: "0px",
1582
+ fontFamily: "display"
1583
+ },
1584
+ headlineLarge: {
1585
+ fontSize: "32px",
1586
+ lineHeight: "40px",
1587
+ fontWeight: "400",
1588
+ letterSpacing: "0px",
1589
+ fontFamily: "display"
1590
+ },
1591
+ headlineMedium: {
1592
+ fontSize: "28px",
1593
+ lineHeight: "36px",
1594
+ fontWeight: "400",
1595
+ letterSpacing: "0px",
1596
+ fontFamily: "display"
1597
+ },
1598
+ headlineSmall: {
1599
+ fontSize: "24px",
1600
+ lineHeight: "32px",
1601
+ fontWeight: "400",
1602
+ letterSpacing: "0px",
1603
+ fontFamily: "display"
1604
+ },
1605
+ titleLarge: {
1606
+ fontSize: "22px",
1607
+ lineHeight: "28px",
1608
+ fontWeight: "500",
1609
+ letterSpacing: "0px",
1610
+ fontFamily: "body"
1611
+ },
1612
+ titleMedium: {
1613
+ fontSize: "16px",
1614
+ lineHeight: "24px",
1615
+ fontWeight: "500",
1616
+ letterSpacing: "0.15px",
1617
+ fontFamily: "body"
1618
+ },
1619
+ titleSmall: {
1620
+ fontSize: "14px",
1621
+ lineHeight: "20px",
1622
+ fontWeight: "500",
1623
+ letterSpacing: "0.1px",
1624
+ fontFamily: "body"
1625
+ },
1626
+ bodyLarge: {
1627
+ fontSize: "16px",
1628
+ lineHeight: "24px",
1629
+ fontWeight: "400",
1630
+ letterSpacing: "0.5px",
1631
+ fontFamily: "body"
1632
+ },
1633
+ bodyMedium: {
1634
+ fontSize: "14px",
1635
+ lineHeight: "20px",
1636
+ fontWeight: "400",
1637
+ letterSpacing: "0.25px",
1638
+ fontFamily: "body"
1639
+ },
1640
+ bodySmall: {
1641
+ fontSize: "12px",
1642
+ lineHeight: "16px",
1643
+ fontWeight: "400",
1644
+ letterSpacing: "0.4px",
1645
+ fontFamily: "body"
1646
+ },
1647
+ labelLarge: {
1648
+ fontSize: "14px",
1649
+ lineHeight: "20px",
1650
+ fontWeight: "500",
1651
+ letterSpacing: "0.1px",
1652
+ fontFamily: "body"
1653
+ },
1654
+ labelMedium: {
1655
+ fontSize: "12px",
1656
+ lineHeight: "16px",
1657
+ fontWeight: "500",
1658
+ letterSpacing: "0.5px",
1659
+ fontFamily: "body"
1660
+ },
1661
+ labelSmall: {
1662
+ fontSize: "11px",
1663
+ lineHeight: "16px",
1664
+ fontWeight: "500",
1665
+ letterSpacing: "0.5px",
1666
+ fontFamily: "body"
1667
+ }
1668
+ }
1669
+ },
1670
+ spacing: {
1671
+ none: "0px",
1672
+ xxs: "2px",
1673
+ xs: "4px",
1674
+ sm: "8px",
1675
+ md: "16px",
1676
+ lg: "24px",
1677
+ xl: "32px",
1678
+ xxl: "48px",
1679
+ xxxl: "64px"
1680
+ },
1681
+ shape: {
1682
+ radii: {
1683
+ none: "0px",
1684
+ extraSmall: "4px",
1685
+ small: "8px",
1686
+ medium: "12px",
1687
+ large: "16px",
1688
+ extraLarge: "28px",
1689
+ full: "9999px"
1690
+ },
1691
+ style: "rounded"
1692
+ },
1693
+ elevation: {
1694
+ levels: {
1695
+ level0: "none",
1696
+ level1: "0px 1px 2px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15)",
1697
+ level2: "0px 1px 2px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15)",
1698
+ level3: "0px 4px 8px 3px rgba(0, 0, 0, 0.15), 0px 1px 3px rgba(0, 0, 0, 0.3)",
1699
+ level4: "0px 6px 10px 4px rgba(0, 0, 0, 0.15), 0px 2px 3px rgba(0, 0, 0, 0.3)",
1700
+ level5: "0px 8px 12px 6px rgba(0, 0, 0, 0.15), 0px 4px 4px rgba(0, 0, 0, 0.3)"
1701
+ },
1702
+ style: "shadow"
1703
+ },
1704
+ motion: {
1705
+ durations: {
1706
+ instant: "0ms",
1707
+ fast: "100ms",
1708
+ normal: "200ms",
1709
+ slow: "300ms",
1710
+ slower: "500ms"
1711
+ },
1712
+ easings: {
1713
+ standard: "cubic-bezier(0.2, 0, 0, 1)",
1714
+ standardDecelerate: "cubic-bezier(0, 0, 0, 1)",
1715
+ standardAccelerate: "cubic-bezier(0.3, 0, 1, 1)",
1716
+ emphasized: "cubic-bezier(0.2, 0, 0, 1)",
1717
+ emphasizedDecelerate: "cubic-bezier(0.05, 0.7, 0.1, 1)",
1718
+ emphasizedAccelerate: "cubic-bezier(0.3, 0, 0.8, 0.15)"
1719
+ },
1720
+ style: "expressive"
1721
+ }
1722
+ };
1723
+
1724
+ // src/languages/transform.ts
1725
+ function transformToPandaTheme(language) {
1726
+ return {
1727
+ tokens: transformTokens(language),
1728
+ semanticTokens: transformSemanticTokens(language),
1729
+ textStyles: transformTextStyles(language)
1730
+ };
1731
+ }
1732
+ function transformTokens(language) {
1733
+ return {
1734
+ colors: transformColorPalettes(language.colors),
1735
+ fonts: {
1736
+ display: { value: language.typography.fonts.display },
1737
+ body: { value: language.typography.fonts.body },
1738
+ mono: { value: language.typography.fonts.mono }
1739
+ },
1740
+ fontSizes: extractFontSizes(language.typography.scale),
1741
+ lineHeights: extractLineHeights(language.typography.scale),
1742
+ fontWeights: extractFontWeights(language.typography.scale),
1743
+ letterSpacings: extractLetterSpacings(language.typography.scale),
1744
+ spacing: objectToTokens(language.spacing),
1745
+ radii: objectToTokens(language.shape.radii),
1746
+ shadows: objectToTokens(language.elevation.levels),
1747
+ durations: objectToTokens(language.motion.durations),
1748
+ easings: objectToTokens(language.motion.easings)
1749
+ };
1750
+ }
1751
+ function transformSemanticTokens(language) {
1752
+ const light = language.semantic;
1753
+ const dark = language.semanticDark || light;
1754
+ return {
1755
+ colors: Object.fromEntries(
1756
+ Object.entries(light).map(([key, lightValue]) => [
1757
+ key,
1758
+ {
1759
+ value: {
1760
+ base: lightValue,
1761
+ _dark: dark[key] || lightValue
1762
+ }
1763
+ }
1764
+ ])
1765
+ )
1766
+ };
1767
+ }
1768
+ function transformTextStyles(language) {
1769
+ const scale = language.typography.scale;
1770
+ return Object.fromEntries(
1771
+ Object.entries(scale).map(([name, style]) => [
1772
+ name,
1773
+ {
1774
+ value: {
1775
+ fontFamily: style.fontFamily || "body",
1776
+ fontSize: style.fontSize,
1777
+ lineHeight: style.lineHeight,
1778
+ fontWeight: style.fontWeight,
1779
+ letterSpacing: style.letterSpacing
1780
+ }
1781
+ }
1782
+ ])
1783
+ );
1784
+ }
1785
+ function transformColorPalettes(palettes) {
1786
+ return Object.fromEntries(
1787
+ Object.entries(palettes).map(([name, palette]) => [
1788
+ name,
1789
+ Object.fromEntries(
1790
+ Object.entries(palette).map(([tone, value]) => [
1791
+ tone,
1792
+ { value }
1793
+ ])
1794
+ )
1795
+ ])
1796
+ );
1797
+ }
1798
+ function objectToTokens(obj) {
1799
+ return Object.fromEntries(
1800
+ Object.entries(obj).map(([key, value]) => [key, { value }])
1801
+ );
1802
+ }
1803
+ function extractFontSizes(scale) {
1804
+ return Object.fromEntries(
1805
+ Object.entries(scale).map(([name, style]) => [
1806
+ name,
1807
+ { value: style.fontSize }
1808
+ ])
1809
+ );
1810
+ }
1811
+ function extractLineHeights(scale) {
1812
+ return Object.fromEntries(
1813
+ Object.entries(scale).map(([name, style]) => [
1814
+ name,
1815
+ { value: style.lineHeight }
1816
+ ])
1817
+ );
1818
+ }
1819
+ function extractFontWeights(scale) {
1820
+ const weights = /* @__PURE__ */ new Map();
1821
+ Object.values(scale).forEach((style) => {
1822
+ weights.set(style.fontWeight, style.fontWeight);
1823
+ });
1824
+ return Object.fromEntries(
1825
+ Array.from(weights.entries()).map(([key, value]) => [
1826
+ key,
1827
+ { value }
1828
+ ])
1829
+ );
1830
+ }
1831
+ function extractLetterSpacings(scale) {
1832
+ return Object.fromEntries(
1833
+ Object.entries(scale).map(([name, style]) => [
1834
+ name,
1835
+ { value: style.letterSpacing }
1836
+ ])
1837
+ );
1838
+ }
1839
+ function cn(...inputs) {
1840
+ return clsx(inputs);
1841
+ }
1842
+
1843
+ export { AbsoluteCenter_exports as AbsoluteCenter, Accordion_exports as Accordion, Avatar_exports as Avatar, Badge_exports as Badge, Button_exports as Button, Card_exports as Card, Checkbox_exports as Checkbox, CloseButton_exports as CloseButton, Dialog_exports as Dialog, Drawer_exports as Drawer, Group_exports as Group, Icon_exports as Icon, IconButton_exports as IconButton, Popover_exports as Popover, Progress_exports as Progress, RadioGroup_exports as RadioGroup, Select_exports as Select, Skeleton_exports as Skeleton, Slider_exports as Slider, Spinner_exports as Spinner, Switch_exports as Switch, Tabs_exports as Tabs, Textarea_exports as Textarea, Toaster, Tooltip_exports as Tooltip, material3Language as activeLanguage, buttonRecipe, cardRecipe, cn, dialogRecipe, iconButtonRecipe, inputRecipe, switchRecipe, toaster, transformToPandaTheme };
1844
+ //# sourceMappingURL=index.js.map
1845
+ //# sourceMappingURL=index.js.map