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