@discourser/design-system 0.1.7 → 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 +776 -145
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +21793 -151
  5. package/dist/index.d.ts +21793 -151
  6. package/dist/index.js +753 -142
  7. package/dist/index.js.map +1 -1
  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 CHANGED
@@ -1,168 +1,776 @@
1
1
  'use strict';
2
2
 
3
- var react = require('react');
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');
4
7
  var recipes = require('@discourser/design-system/styled-system/recipes');
5
- var clsx = require('clsx');
8
+ var react = require('@ark-ui/react');
6
9
  var jsxRuntime = require('react/jsx-runtime');
7
- var field = require('@ark-ui/react/field');
8
10
  var dialog = require('@ark-ui/react/dialog');
9
- var portal = require('@ark-ui/react/portal');
10
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');
11
26
 
12
- function cn(...inputs) {
13
- return clsx.clsx(inputs);
14
- }
15
- var Button = react.forwardRef(
16
- ({ children, variant, size, leftIcon, rightIcon, className, ...props }, ref) => {
17
- return /* @__PURE__ */ jsxRuntime.jsxs(
18
- "button",
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,
19
309
  {
20
310
  ref,
21
- className: cn(recipes.button({ variant, size }), className),
311
+ viewBox: "0 0 24 24",
312
+ fill: "none",
313
+ stroke: "currentColor",
314
+ strokeWidth: "3px",
315
+ strokeLinecap: "round",
316
+ strokeLinejoin: "round",
22
317
  ...props,
23
318
  children: [
24
- leftIcon,
25
- children,
26
- rightIcon
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
27
321
  ]
28
322
  }
29
- );
323
+ ) });
30
324
  }
31
325
  );
32
- Button.displayName = "Button";
33
- var Card = react.forwardRef(
34
- ({ children, variant, interactive, className, ...props }, ref) => {
35
- return /* @__PURE__ */ jsxRuntime.jsx(
36
- "div",
37
- {
38
- ref,
39
- className: cn(recipes.card({ variant, interactive }), className),
40
- ...props,
41
- children
42
- }
43
- );
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" });
44
402
  }
45
403
  );
46
- Card.displayName = "Card";
47
- var IconButton = react.forwardRef(
48
- ({ children, variant, size, className, ...props }, ref) => {
49
- return /* @__PURE__ */ jsxRuntime.jsx(
50
- "button",
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,
51
433
  {
52
434
  ref,
53
- className: cn(recipes.iconButton({ variant, size }), className),
54
- ...props,
55
- children
435
+ orientation,
436
+ className: combinedClassName,
437
+ ...arkProps
56
438
  }
57
- );
439
+ ) });
58
440
  }
59
441
  );
60
- IconButton.displayName = "IconButton";
61
- var Input = react.forwardRef(
62
- ({ label, helperText, errorText, variant, size, state, className, ...props }, ref) => {
63
- const hasError = !!errorText || state === "error";
64
- return /* @__PURE__ */ jsxRuntime.jsxs(field.Field.Root, { invalid: hasError, children: [
65
- label && /* @__PURE__ */ jsxRuntime.jsx(field.Field.Label, { children: label }),
66
- /* @__PURE__ */ jsxRuntime.jsx(
67
- field.Field.Input,
68
- {
69
- ref,
70
- className: cn(
71
- recipes.input({ variant, size, state: hasError ? "error" : state }),
72
- className
73
- ),
74
- ...props
75
- }
76
- ),
77
- helperText && !hasError && /* @__PURE__ */ jsxRuntime.jsx(field.Field.HelperText, { children: helperText }),
78
- errorText && /* @__PURE__ */ jsxRuntime.jsx(field.Field.ErrorText, { children: errorText })
79
- ] });
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"
80
549
  }
81
- );
82
- Input.displayName = "Input";
83
- var Dialog = react.forwardRef(
84
- ({
85
- open,
86
- onOpenChange,
87
- title,
88
- description,
89
- children,
90
- size,
91
- showCloseButton = true,
92
- closeLabel = "Close"
93
- }, ref) => {
94
- const classes = recipes.dialog({ size });
95
- return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Root, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(portal.Portal, { children: [
96
- /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Backdrop, { className: classes.backdrop }),
97
- /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Positioner, { className: classes.positioner, children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.Dialog.Content, { ref, className: classes.content, children: [
98
- title && /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Title, { className: classes.title, children: title }),
99
- description && /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Description, { className: classes.description, children: description }),
100
- children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.description, children }),
101
- showCloseButton && /* @__PURE__ */ jsxRuntime.jsx(
102
- dialog.Dialog.CloseTrigger,
103
- {
104
- className: classes.closeTrigger,
105
- "aria-label": closeLabel,
106
- children: /* @__PURE__ */ jsxRuntime.jsxs(
107
- "svg",
108
- {
109
- width: "24",
110
- height: "24",
111
- viewBox: "0 0 24 24",
112
- fill: "none",
113
- stroke: "currentColor",
114
- strokeWidth: "2",
115
- strokeLinecap: "round",
116
- strokeLinejoin: "round",
117
- children: [
118
- /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
119
- /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
120
- ]
121
- }
122
- )
123
- }
124
- )
125
- ] }) })
126
- ] }) });
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
+ )) });
127
618
  }
128
619
  );
129
- Dialog.displayName = "Dialog";
130
- var Switch = react.forwardRef(
131
- ({
132
- label,
133
- checked,
134
- defaultChecked,
135
- onCheckedChange,
136
- disabled,
137
- name,
138
- value,
139
- required,
140
- size
141
- }, ref) => {
142
- const classes = recipes.switchControl({ size });
143
- return /* @__PURE__ */ jsxRuntime.jsxs(
144
- _switch.Switch.Root,
145
- {
146
- checked,
147
- defaultChecked,
148
- onCheckedChange,
149
- disabled,
150
- name,
151
- value,
152
- required,
153
- className: classes.root,
154
- children: [
155
- /* @__PURE__ */ jsxRuntime.jsx(_switch.Switch.Control, { className: classes.control, children: /* @__PURE__ */ jsxRuntime.jsx(_switch.Switch.Thumb, { className: classes.thumb }) }),
156
- /* @__PURE__ */ jsxRuntime.jsx(_switch.Switch.HiddenInput, { ref }),
157
- label && /* @__PURE__ */ jsxRuntime.jsx(_switch.Switch.Label, { className: classes.label, children: label })
158
- ]
159
- }
160
- );
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, {}) });
161
633
  }
162
634
  );
163
- Switch.displayName = "Switch";
164
635
 
165
- // node_modules/.pnpm/@pandacss+dev@0.52.0_jsdom@27.4.0_typescript@5.9.3/node_modules/@pandacss/dev/dist/index.mjs
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
166
774
  function defineRecipe(config) {
167
775
  return config;
168
776
  }
@@ -949,8 +1557,8 @@ var material3Language = {
949
1557
  },
950
1558
  typography: {
951
1559
  fonts: {
952
- display: 'Georgia, "Times New Roman", serif',
953
- body: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
1560
+ display: '"Fraunces", Georgia, serif',
1561
+ body: '"Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
954
1562
  mono: '"JetBrains Mono", "Fira Code", Consolas, monospace'
955
1563
  },
956
1564
  scale: {
@@ -1230,13 +1838,35 @@ function extractLetterSpacings(scale) {
1230
1838
  ])
1231
1839
  );
1232
1840
  }
1841
+ function cn(...inputs) {
1842
+ return clsx.clsx(inputs);
1843
+ }
1233
1844
 
1234
- exports.Button = Button;
1235
- exports.Card = Card;
1236
- exports.Dialog = Dialog;
1237
- exports.IconButton = IconButton;
1238
- exports.Input = Input;
1239
- exports.Switch = Switch;
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;
1240
1870
  exports.activeLanguage = material3Language;
1241
1871
  exports.buttonRecipe = buttonRecipe;
1242
1872
  exports.cardRecipe = cardRecipe;
@@ -1245,6 +1875,7 @@ exports.dialogRecipe = dialogRecipe;
1245
1875
  exports.iconButtonRecipe = iconButtonRecipe;
1246
1876
  exports.inputRecipe = inputRecipe;
1247
1877
  exports.switchRecipe = switchRecipe;
1878
+ exports.toaster = toaster;
1248
1879
  exports.transformToPandaTheme = transformToPandaTheme;
1249
1880
  //# sourceMappingURL=index.cjs.map
1250
1881
  //# sourceMappingURL=index.cjs.map