@discourser/design-system 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -584,6 +584,59 @@ pnpm test --ui # Open Vitest UI
584
584
  | `pnpm typecheck` | TypeScript validation |
585
585
  | `pnpm lint` | ESLint |
586
586
 
587
+ ## 🔄 Token Workflow
588
+
589
+ This design system uses [figma-token-sync](https://github.com/yourusername/figma-token-sync) for bidirectional token synchronization with Figma.
590
+
591
+ ### After Exporting from Figma
592
+
593
+ 1. **Export from Figma**
594
+ - Run figma-token-sync plugin → Export
595
+ - Save files to Downloads (or remember location)
596
+
597
+ 2. **Organize tokens**
598
+ ```bash
599
+ pnpm organize-tokens
600
+ ```
601
+ - Provide paths when prompted
602
+ - Review summary
603
+
604
+ 3. **Rebuild design system**
605
+ ```bash
606
+ pnpm build:panda
607
+ ```
608
+
609
+ 4. **Test in Storybook**
610
+ ```bash
611
+ pnpm dev
612
+ ```
613
+
614
+ 5. **Commit changes**
615
+ ```bash
616
+ git add tokens/
617
+ git commit -m "chore: update tokens from Figma"
618
+ ```
619
+
620
+ ### Importing to Figma
621
+
622
+ 1. **Generate DTCG tokens**
623
+ ```bash
624
+ pnpm transform:contract-to-dtcg
625
+ ```
626
+
627
+ 2. **Open figma-token-sync plugin**
628
+ - Click "Import"
629
+ - Browse to `tokens/tokens.json`
630
+ - Plugin creates/updates Figma variables
631
+
632
+ ### Token Files
633
+
634
+ - `tokens/primitives-generated.json` - Primitive color tokens from Figma (not in git)
635
+ - `tokens/semantic-light-generated.json` - Light mode semantic tokens (not in git)
636
+ - `tokens/semantic-dark-generated.json` - Dark mode semantic tokens (not in git)
637
+ - `tokens/tokens.json` - Combined token file for import to Figma (not in git)
638
+ - `src/languages/material3.language.ts` - Source of truth (in git)
639
+
587
640
  ## 🤝 Contributing
588
641
 
589
642
  ### Development Workflow
package/dist/index.cjs CHANGED
@@ -11,11 +11,11 @@ var dialog = require('@ark-ui/react/dialog');
11
11
  var _switch = require('@ark-ui/react/switch');
12
12
  var accordion = require('@ark-ui/react/accordion');
13
13
  var tabs = require('@ark-ui/react/tabs');
14
+ var field = require('@ark-ui/react/field');
14
15
  var checkbox = require('@ark-ui/react/checkbox');
15
16
  var radioGroup = require('@ark-ui/react/radio-group');
16
17
  var select = require('@ark-ui/react/select');
17
18
  var slider = require('@ark-ui/react/slider');
18
- var field = require('@ark-ui/react/field');
19
19
  var avatar = require('@ark-ui/react/avatar');
20
20
  var progress = require('@ark-ui/react/progress');
21
21
  var portal = require('@ark-ui/react/portal');
@@ -281,6 +281,26 @@ var List = withContext6(tabs.Tabs.List, "list");
281
281
  var Trigger3 = withContext6(tabs.Tabs.Trigger, "trigger");
282
282
  var Content3 = withContext6(tabs.Tabs.Content, "content");
283
283
  var Indicator = withContext6(tabs.Tabs.Indicator, "indicator");
284
+ var Input = jsx.styled(field.Field.Input, recipes.input);
285
+ var InputAddon = jsx.styled(factory.ark.div, recipes.inputAddon);
286
+ var { withProvider: withProvider5, withContext: withContext7 } = jsx.createStyleContext(recipes.inputGroup);
287
+ var Root7 = withProvider5(factory.ark.div, "root");
288
+ var Element = withContext7(factory.ark.div, "element");
289
+ var InputGroupRoot = react$1.forwardRef(
290
+ function InputGroup(props, ref) {
291
+ const { startElement, endElement, children, ...rest } = props;
292
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root7, { ref, ...rest, children: [
293
+ startElement && /* @__PURE__ */ jsxRuntime.jsx(Element, { insetInlineStart: "0", top: "0", children: startElement }),
294
+ children,
295
+ endElement && /* @__PURE__ */ jsxRuntime.jsx(Element, { insetInlineEnd: "0", top: "0", children: endElement })
296
+ ] });
297
+ }
298
+ );
299
+ var InputGroup2 = Object.assign(InputGroupRoot, {
300
+ Root: Root7,
301
+ Element
302
+ });
303
+ var Textarea = jsx.styled(field.Field.Textarea, recipes.textarea);
284
304
 
285
305
  // src/components/Checkbox.tsx
286
306
  var Checkbox_exports = {};
@@ -291,15 +311,15 @@ __export(Checkbox_exports, {
291
311
  HiddenInput: () => HiddenInput2,
292
312
  Indicator: () => Indicator2,
293
313
  Label: () => Label2,
294
- Root: () => Root7,
314
+ Root: () => Root8,
295
315
  RootProvider: () => RootProvider4
296
316
  });
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");
317
+ var { withProvider: withProvider6, withContext: withContext8 } = jsx.createStyleContext(recipes.checkbox);
318
+ var Root8 = withProvider6(checkbox.Checkbox.Root, "root");
319
+ var RootProvider4 = withProvider6(checkbox.Checkbox.RootProvider, "root");
320
+ var Control2 = withContext8(checkbox.Checkbox.Control, "control");
321
+ var Group2 = withProvider6(checkbox.Checkbox.Group, "group");
322
+ var Label2 = withContext8(checkbox.Checkbox.Label, "label");
303
323
  var HiddenInput2 = checkbox.Checkbox.HiddenInput;
304
324
  var Indicator2 = react$1.forwardRef(
305
325
  function Indicator3(props, ref) {
@@ -334,17 +354,17 @@ __export(RadioGroup_exports, {
334
354
  ItemHiddenInput: () => ItemHiddenInput,
335
355
  ItemText: () => ItemText,
336
356
  Label: () => Label3,
337
- Root: () => Root8,
357
+ Root: () => Root9,
338
358
  RootProvider: () => RootProvider5
339
359
  });
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");
360
+ var { withProvider: withProvider7, withContext: withContext9 } = jsx.createStyleContext(recipes.radioGroup);
361
+ var Root9 = withProvider7(radioGroup.RadioGroup.Root, "root");
362
+ var RootProvider5 = withProvider7(radioGroup.RadioGroup.RootProvider, "root");
363
+ var Indicator4 = withContext9(radioGroup.RadioGroup.Indicator, "indicator");
364
+ var Item2 = withContext9(radioGroup.RadioGroup.Item, "item");
365
+ var ItemControl = withContext9(radioGroup.RadioGroup.ItemControl, "itemControl");
366
+ var ItemText = withContext9(radioGroup.RadioGroup.ItemText, "itemText");
367
+ var Label3 = withContext9(radioGroup.RadioGroup.Label, "label");
348
368
  var ItemHiddenInput = radioGroup.RadioGroup.ItemHiddenInput;
349
369
 
350
370
  // src/components/Select.tsx
@@ -366,35 +386,35 @@ __export(Select_exports, {
366
386
  Label: () => Label4,
367
387
  List: () => List2,
368
388
  Positioner: () => Positioner3,
369
- Root: () => Root9,
389
+ Root: () => Root10,
370
390
  Trigger: () => Trigger4,
371
391
  ValueText: () => ValueText
372
392
  });
373
- var { withProvider: withProvider7, withContext: withContext9 } = jsx.createStyleContext(recipes.select);
393
+ var { withProvider: withProvider8, withContext: withContext10 } = jsx.createStyleContext(recipes.select);
374
394
  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
395
  var ChevronsUpDownIcon = () => /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
376
396
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m7 15 5 5 5-5" }),
377
397
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m7 9 5-5 5 5" })
378
398
  ] });
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", {
399
+ var Root10 = withProvider8(select.Select.Root, "root");
400
+ var ClearTrigger = withContext10(select.Select.ClearTrigger, "clearTrigger");
401
+ var Content4 = withContext10(select.Select.Content, "content");
402
+ var Control3 = withContext10(select.Select.Control, "control");
403
+ var IndicatorGroup = withContext10(factory.ark.div, "indicatorGroup");
404
+ var Item3 = withContext10(select.Select.Item, "item");
405
+ var ItemGroup = withContext10(select.Select.ItemGroup, "itemGroup");
406
+ var ItemGroupLabel = withContext10(select.Select.ItemGroupLabel, "itemGroupLabel");
407
+ var ItemText2 = withContext10(select.Select.ItemText, "itemText");
408
+ var Label4 = withContext10(select.Select.Label, "label");
409
+ var List2 = withContext10(select.Select.List, "list");
410
+ var Positioner3 = withContext10(select.Select.Positioner, "positioner");
411
+ var Trigger4 = withContext10(select.Select.Trigger, "trigger");
412
+ var ValueText = withContext10(select.Select.ValueText, "valueText");
413
+ var Indicator5 = withContext10(select.Select.Indicator, "indicator", {
394
414
  defaultProps: { children: /* @__PURE__ */ jsxRuntime.jsx(ChevronsUpDownIcon, {}) }
395
415
  });
396
416
  var HiddenSelect = select.Select.HiddenSelect;
397
- var StyledItemIndicator = withContext9(select.Select.ItemIndicator, "itemIndicator");
417
+ var StyledItemIndicator = withContext10(select.Select.ItemIndicator, "itemIndicator");
398
418
  var ItemIndicator2 = react$1.forwardRef(
399
419
  function ItemIndicator3(props, ref) {
400
420
  const item = select.useSelectItemContext();
@@ -415,14 +435,14 @@ __export(Slider_exports, {
415
435
  MarkerIndicator: () => MarkerIndicator,
416
436
  Marks: () => Marks,
417
437
  Range: () => Range,
418
- Root: () => Root10,
438
+ Root: () => Root11,
419
439
  Thumb: () => Thumb2,
420
440
  Thumbs: () => Thumbs,
421
441
  Track: () => Track,
422
442
  ValueText: () => ValueText2
423
443
  });
424
444
  var StyleContextInternal = react$1.createContext(null);
425
- var Root10 = react$1.forwardRef(
445
+ var Root11 = react$1.forwardRef(
426
446
  function SliderRoot(props, ref) {
427
447
  const { orientation, size, variant, colorPalette, className, ...arkProps } = props;
428
448
  const styles = recipes.slider({ orientation, size, variant });
@@ -519,36 +539,29 @@ var Thumbs = (props) => {
519
539
  return slider2.value.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(Thumb2, { index, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(HiddenInput3, {}) }, index));
520
540
  };
521
541
 
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
542
  // src/components/Avatar.tsx
530
543
  var Avatar_exports = {};
531
544
  __export(Avatar_exports, {
532
545
  Context: () => avatar.AvatarContext,
533
546
  Fallback: () => Fallback,
534
547
  Image: () => Image,
535
- Root: () => Root11,
548
+ Root: () => Root12,
536
549
  RootProvider: () => RootProvider6
537
550
  });
538
551
  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
552
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2" }),
540
553
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "7", r: "4" })
541
554
  ] });
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", {
555
+ var { withProvider: withProvider9, withContext: withContext11 } = jsx.createStyleContext(recipes.avatar);
556
+ var Root12 = withProvider9(avatar.Avatar.Root, "root");
557
+ var RootProvider6 = withProvider9(avatar.Avatar.RootProvider, "root");
558
+ var Image = withContext11(avatar.Avatar.Image, "image", {
546
559
  defaultProps: {
547
560
  draggable: "false",
548
561
  referrerPolicy: "no-referrer"
549
562
  }
550
563
  });
551
- var StyledFallback = withContext10(avatar.Avatar.Fallback, "fallback");
564
+ var StyledFallback = withContext11(avatar.Avatar.Fallback, "fallback");
552
565
  var Fallback = react$1.forwardRef(function Fallback2(props, ref) {
553
566
  const { name, children, asChild, ...rest } = props;
554
567
  const fallbackContent = children || asChild ? children : name ? getInitials(name) : /* @__PURE__ */ jsxRuntime.jsx(UserIcon, {});
@@ -576,23 +589,23 @@ __export(Progress_exports, {
576
589
  CircleTrack: () => CircleTrack,
577
590
  Label: () => Label6,
578
591
  Range: () => Range2,
579
- Root: () => Root12,
592
+ Root: () => Root13,
580
593
  RootProvider: () => RootProvider7,
581
594
  Track: () => Track2,
582
595
  ValueText: () => ValueText3,
583
596
  View: () => View
584
597
  });
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");
598
+ var { withProvider: withProvider10, withContext: withContext12 } = jsx.createStyleContext(recipes.progress);
599
+ var Root13 = withProvider10(progress.Progress.Root, "root");
600
+ var RootProvider7 = withProvider10(progress.Progress.RootProvider, "root");
601
+ var Circle = withContext12(progress.Progress.Circle, "circle");
602
+ var CircleRange = withContext12(progress.Progress.CircleRange, "circleRange");
603
+ var CircleTrack = withContext12(progress.Progress.CircleTrack, "circleTrack");
604
+ var Label6 = withContext12(progress.Progress.Label, "label");
605
+ var Range2 = withContext12(progress.Progress.Range, "range");
606
+ var Track2 = withContext12(progress.Progress.Track, "track");
607
+ var ValueText3 = withContext12(progress.Progress.ValueText, "valueText");
608
+ var View = withContext12(progress.Progress.View, "view");
596
609
 
597
610
  // src/components/Skeleton.tsx
598
611
  var Skeleton_exports = {};
@@ -653,12 +666,12 @@ var CircleXIcon = () => /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "16", he
653
666
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m15 9-6 6" }),
654
667
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m9 9 6 6" })
655
668
  ] });
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");
669
+ var { withProvider: withProvider11, withContext: withContext13 } = jsx.createStyleContext(recipes.toast);
670
+ var Root14 = withProvider11(toast.Toast.Root, "root");
671
+ var Title4 = withContext13(toast.Toast.Title, "title");
672
+ var Description4 = withContext13(toast.Toast.Description, "description");
673
+ var ActionTrigger = withContext13(toast.Toast.ActionTrigger, "actionTrigger");
674
+ var CloseTrigger3 = withContext13(toast.Toast.CloseTrigger, "closeTrigger");
662
675
  var StyledToaster = jsx.styled(toast.Toaster);
663
676
  var iconMap = {
664
677
  warning: CircleAlertIcon,
@@ -678,7 +691,7 @@ var toaster = toast.createToaster({
678
691
  max: 5
679
692
  });
680
693
  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: [
694
+ return /* @__PURE__ */ jsxRuntime.jsx(portal.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(StyledToaster, { toaster, insetInline: { mdDown: "4" }, children: (toast2) => /* @__PURE__ */ jsxRuntime.jsxs(Root14, { children: [
682
695
  toast2.type === "loading" ? /* @__PURE__ */ jsxRuntime.jsx(Spinner, { color: "colorPalette.plain.fg" }) : /* @__PURE__ */ jsxRuntime.jsx(Indicator6, {}),
683
696
  /* @__PURE__ */ jsxRuntime.jsxs(jsx.Stack, { gap: "3", alignItems: "start", children: [
684
697
  /* @__PURE__ */ jsxRuntime.jsxs(jsx.Stack, { gap: "1", children: [
@@ -706,33 +719,33 @@ __export(Popover_exports, {
706
719
  Header: () => Header4,
707
720
  Indicator: () => Indicator7,
708
721
  Positioner: () => Positioner4,
709
- Root: () => Root14,
722
+ Root: () => Root15,
710
723
  RootProvider: () => RootProvider8,
711
724
  Title: () => Title5,
712
725
  Trigger: () => Trigger5
713
726
  });
714
- var { withRootProvider: withRootProvider3, withContext: withContext13 } = jsx.createStyleContext(recipes.popover);
715
- var Root14 = withRootProvider3(popover.Popover.Root, {
727
+ var { withRootProvider: withRootProvider3, withContext: withContext14 } = jsx.createStyleContext(recipes.popover);
728
+ var Root15 = withRootProvider3(popover.Popover.Root, {
716
729
  defaultProps: { unmountOnExit: true, lazyMount: true }
717
730
  });
718
731
  var RootProvider8 = withRootProvider3(popover.Popover.Root, {
719
732
  defaultProps: { unmountOnExit: true, lazyMount: true }
720
733
  });
721
- var Anchor = withContext13(popover.Popover.Anchor, "anchor");
722
- var ArrowTip = withContext13(popover.Popover.ArrowTip, "arrowTip");
723
- var Arrow = withContext13(popover.Popover.Arrow, "arrow", {
734
+ var Anchor = withContext14(popover.Popover.Anchor, "anchor");
735
+ var ArrowTip = withContext14(popover.Popover.ArrowTip, "arrowTip");
736
+ var Arrow = withContext14(popover.Popover.Arrow, "arrow", {
724
737
  defaultProps: { children: /* @__PURE__ */ jsxRuntime.jsx(ArrowTip, {}) }
725
738
  });
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");
739
+ var CloseTrigger4 = withContext14(popover.Popover.CloseTrigger, "closeTrigger");
740
+ var Content5 = withContext14(popover.Popover.Content, "content");
741
+ var Description5 = withContext14(popover.Popover.Description, "description");
742
+ var Indicator7 = withContext14(popover.Popover.Indicator, "indicator");
743
+ var Positioner4 = withContext14(popover.Popover.Positioner, "positioner");
744
+ var Title5 = withContext14(popover.Popover.Title, "title");
745
+ var Trigger5 = withContext14(popover.Popover.Trigger, "trigger");
746
+ var Body4 = withContext14(factory.ark.div, "body");
747
+ var Header4 = withContext14(factory.ark.div, "header");
748
+ var Footer4 = withContext14(factory.ark.div, "footer");
736
749
 
737
750
  // src/components/Tooltip.tsx
738
751
  var Tooltip_exports = {};
@@ -740,15 +753,15 @@ __export(Tooltip_exports, {
740
753
  Context: () => tooltip.TooltipContext,
741
754
  Tooltip: () => Tooltip
742
755
  });
743
- var { withRootProvider: withRootProvider4, withContext: withContext14 } = jsx.createStyleContext(recipes.tooltip);
744
- var Root15 = withRootProvider4(tooltip.Tooltip.Root, {
756
+ var { withRootProvider: withRootProvider4, withContext: withContext15 } = jsx.createStyleContext(recipes.tooltip);
757
+ var Root16 = withRootProvider4(tooltip.Tooltip.Root, {
745
758
  defaultProps: { unmountOnExit: true, lazyMount: true }
746
759
  });
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");
760
+ var Arrow2 = withContext15(tooltip.Tooltip.Arrow, "arrow");
761
+ var ArrowTip2 = withContext15(tooltip.Tooltip.ArrowTip, "arrowTip");
762
+ var Content6 = withContext15(tooltip.Tooltip.Content, "content");
763
+ var Positioner5 = withContext15(tooltip.Tooltip.Positioner, "positioner");
764
+ var Trigger6 = withContext15(tooltip.Tooltip.Trigger, "trigger");
752
765
  var Tooltip = react$1.forwardRef(function Tooltip2(props, ref) {
753
766
  const {
754
767
  showArrow,
@@ -761,7 +774,7 @@ var Tooltip = react$1.forwardRef(function Tooltip2(props, ref) {
761
774
  ...rootProps
762
775
  } = props;
763
776
  if (disabled) return children;
764
- return /* @__PURE__ */ jsxRuntime.jsxs(Root15, { ...rootProps, children: [
777
+ return /* @__PURE__ */ jsxRuntime.jsxs(Root16, { ...rootProps, children: [
765
778
  /* @__PURE__ */ jsxRuntime.jsx(Trigger6, { asChild: true, children }),
766
779
  /* @__PURE__ */ jsxRuntime.jsx(portal.Portal, { disabled: !portalled, container: portalRef, children: /* @__PURE__ */ jsxRuntime.jsx(Positioner5, { children: /* @__PURE__ */ jsxRuntime.jsxs(Content6, { ref, ...contentProps, children: [
767
780
  showArrow && /* @__PURE__ */ jsxRuntime.jsx(Arrow2, { children: /* @__PURE__ */ jsxRuntime.jsx(ArrowTip2, {}) }),
@@ -769,6 +782,7 @@ var Tooltip = react$1.forwardRef(function Tooltip2(props, ref) {
769
782
  ] }) }) })
770
783
  ] });
771
784
  });
785
+ var Heading = jsx.styled("h2", recipes.heading);
772
786
 
773
787
  // 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
788
  function defineRecipe(config) {
@@ -1720,6 +1734,13 @@ var material3Language = {
1720
1734
  emphasizedAccelerate: "cubic-bezier(0.3, 0, 0.8, 0.15)"
1721
1735
  },
1722
1736
  style: "expressive"
1737
+ },
1738
+ border: {
1739
+ widths: {
1740
+ thin: "1px",
1741
+ medium: "2px",
1742
+ thick: "4px"
1743
+ }
1723
1744
  }
1724
1745
  };
1725
1746
 
@@ -1747,7 +1768,8 @@ function transformTokens(language) {
1747
1768
  radii: objectToTokens(language.shape.radii),
1748
1769
  shadows: objectToTokens(language.elevation.levels),
1749
1770
  durations: objectToTokens(language.motion.durations),
1750
- easings: objectToTokens(language.motion.easings)
1771
+ easings: objectToTokens(language.motion.easings),
1772
+ borderWidths: objectToTokens(language.border.widths)
1751
1773
  };
1752
1774
  }
1753
1775
  function transformSemanticTokens(language) {
@@ -1853,8 +1875,12 @@ exports.CloseButton = CloseButton_exports;
1853
1875
  exports.Dialog = Dialog_exports;
1854
1876
  exports.Drawer = Drawer_exports;
1855
1877
  exports.Group = Group_exports;
1878
+ exports.Heading = Heading;
1856
1879
  exports.Icon = Icon_exports;
1857
1880
  exports.IconButton = IconButton_exports;
1881
+ exports.Input = Input;
1882
+ exports.InputAddon = InputAddon;
1883
+ exports.InputGroup = InputGroup2;
1858
1884
  exports.Popover = Popover_exports;
1859
1885
  exports.Progress = Progress_exports;
1860
1886
  exports.RadioGroup = RadioGroup_exports;
@@ -1864,7 +1890,7 @@ exports.Slider = Slider_exports;
1864
1890
  exports.Spinner = Spinner_exports;
1865
1891
  exports.Switch = Switch_exports;
1866
1892
  exports.Tabs = Tabs_exports;
1867
- exports.Textarea = Textarea_exports;
1893
+ exports.Textarea = Textarea;
1868
1894
  exports.Toaster = Toaster;
1869
1895
  exports.Tooltip = Tooltip_exports;
1870
1896
  exports.activeLanguage = material3Language;