@enadhq/enad-react-sdk 1.1.0 → 1.2.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.
Files changed (157) hide show
  1. package/dist/client/cart/components/cart-drawer.mjs +3 -3
  2. package/dist/client/cart/components/cart-drawer.mjs.map +1 -1
  3. package/dist/client/cart/components/cart-trigger.mjs +1 -1
  4. package/dist/client/cart/components/cart-trigger.mjs.map +1 -1
  5. package/dist/client/storefront/checkout/cart-summary.mjs +1 -1
  6. package/dist/client/storefront/checkout/cart-summary.mjs.map +1 -1
  7. package/dist/client/storefront/components/language-selector.d.ts.map +1 -1
  8. package/dist/client/storefront/components/language-selector.mjs +1 -1
  9. package/dist/client/storefront/components/language-selector.mjs.map +1 -1
  10. package/dist/client/storefront/filters/filter-chip.mjs +1 -1
  11. package/dist/client/storefront/filters/filter-chip.mjs.map +1 -1
  12. package/dist/client/storefront/filters/filter-panel.mjs +1 -1
  13. package/dist/client/storefront/filters/filter-panel.mjs.map +1 -1
  14. package/dist/client/storefront/filters/toggle-list-view.mjs +1 -1
  15. package/dist/client/storefront/filters/toggle-list-view.mjs.map +1 -1
  16. package/dist/client/storefront/layout/promotion-bar.d.ts.map +1 -1
  17. package/dist/client/storefront/layout/promotion-bar.mjs +3 -3
  18. package/dist/client/storefront/layout/promotion-bar.mjs.map +1 -1
  19. package/dist/client/storefront/primitives/button.d.ts +2 -2
  20. package/dist/client/storefront/primitives/button.d.ts.map +1 -1
  21. package/dist/client/storefront/primitives/button.mjs +4 -4
  22. package/dist/client/storefront/primitives/button.mjs.map +1 -1
  23. package/dist/client/storefront/primitives/input.d.ts +1 -1
  24. package/dist/client/storefront/primitives/input.mjs.map +1 -1
  25. package/dist/client/storefront/primitives/pagination.mjs +2 -2
  26. package/dist/client/storefront/primitives/pagination.mjs.map +1 -1
  27. package/dist/client/storefront/product/quantity-picker.mjs +2 -2
  28. package/dist/client/storefront/product/quantity-picker.mjs.map +1 -1
  29. package/dist/client/storefront/types.d.ts +1 -1
  30. package/dist/client/storefront/types.d.ts.map +1 -1
  31. package/dist/client/storefront/types.mjs.map +1 -1
  32. package/dist/client/ui/accordion.d.ts +12 -1
  33. package/dist/client/ui/accordion.d.ts.map +1 -1
  34. package/dist/client/ui/accordion.mjs +23 -5
  35. package/dist/client/ui/accordion.mjs.map +1 -1
  36. package/dist/client/ui/alert.d.ts +16 -7
  37. package/dist/client/ui/alert.d.ts.map +1 -1
  38. package/dist/client/ui/alert.mjs +21 -8
  39. package/dist/client/ui/alert.mjs.map +1 -1
  40. package/dist/client/ui/avatar.d.ts +10 -1
  41. package/dist/client/ui/avatar.d.ts.map +1 -1
  42. package/dist/client/ui/avatar.mjs +18 -4
  43. package/dist/client/ui/avatar.mjs.map +1 -1
  44. package/dist/client/ui/breadcrumb.d.ts +13 -1
  45. package/dist/client/ui/breadcrumb.d.ts.map +1 -1
  46. package/dist/client/ui/breadcrumb.mjs +27 -7
  47. package/dist/client/ui/breadcrumb.mjs.map +1 -1
  48. package/dist/client/ui/button.d.ts +28 -10
  49. package/dist/client/ui/button.d.ts.map +1 -1
  50. package/dist/client/ui/button.mjs +45 -20
  51. package/dist/client/ui/button.mjs.map +1 -1
  52. package/dist/client/ui/card.d.ts +20 -1
  53. package/dist/client/ui/card.d.ts.map +1 -1
  54. package/dist/client/ui/card.mjs +36 -8
  55. package/dist/client/ui/card.mjs.map +1 -1
  56. package/dist/client/ui/carousel.d.ts.map +1 -1
  57. package/dist/client/ui/carousel.mjs +2 -2
  58. package/dist/client/ui/carousel.mjs.map +1 -1
  59. package/dist/client/ui/checkbox.d.ts +9 -1
  60. package/dist/client/ui/checkbox.d.ts.map +1 -1
  61. package/dist/client/ui/checkbox.mjs +12 -3
  62. package/dist/client/ui/checkbox.mjs.map +1 -1
  63. package/dist/client/ui/dialog.d.ts +13 -1
  64. package/dist/client/ui/dialog.d.ts.map +1 -1
  65. package/dist/client/ui/dialog.mjs +27 -7
  66. package/dist/client/ui/dialog.mjs.map +1 -1
  67. package/dist/client/ui/hover-card.d.ts +6 -1
  68. package/dist/client/ui/hover-card.d.ts.map +1 -1
  69. package/dist/client/ui/hover-card.mjs +4 -2
  70. package/dist/client/ui/hover-card.mjs.map +1 -1
  71. package/dist/client/ui/input.d.ts +20 -7
  72. package/dist/client/ui/input.d.ts.map +1 -1
  73. package/dist/client/ui/input.mjs +33 -9
  74. package/dist/client/ui/input.mjs.map +1 -1
  75. package/dist/client/ui/label.d.ts +6 -1
  76. package/dist/client/ui/label.d.ts.map +1 -1
  77. package/dist/client/ui/label.mjs +4 -2
  78. package/dist/client/ui/label.mjs.map +1 -1
  79. package/dist/client/ui/navigation-menu.d.ts +20 -3
  80. package/dist/client/ui/navigation-menu.d.ts.map +1 -1
  81. package/dist/client/ui/navigation-menu.mjs +34 -12
  82. package/dist/client/ui/navigation-menu.mjs.map +1 -1
  83. package/dist/client/ui/pagination.d.ts.map +1 -1
  84. package/dist/client/ui/pagination.mjs +3 -3
  85. package/dist/client/ui/pagination.mjs.map +1 -1
  86. package/dist/client/ui/popover.d.ts +11 -1
  87. package/dist/client/ui/popover.d.ts.map +1 -1
  88. package/dist/client/ui/popover.mjs +21 -5
  89. package/dist/client/ui/popover.mjs.map +1 -1
  90. package/dist/client/ui/progress.d.ts +9 -1
  91. package/dist/client/ui/progress.d.ts.map +1 -1
  92. package/dist/client/ui/progress.mjs +12 -3
  93. package/dist/client/ui/progress.mjs.map +1 -1
  94. package/dist/client/ui/select.d.ts +14 -2
  95. package/dist/client/ui/select.d.ts.map +1 -1
  96. package/dist/client/ui/select.mjs +35 -9
  97. package/dist/client/ui/select.mjs.map +1 -1
  98. package/dist/client/ui/separator.d.ts +6 -1
  99. package/dist/client/ui/separator.d.ts.map +1 -1
  100. package/dist/client/ui/separator.mjs +4 -2
  101. package/dist/client/ui/separator.mjs.map +1 -1
  102. package/dist/client/ui/sheet.d.ts +13 -1
  103. package/dist/client/ui/sheet.d.ts.map +1 -1
  104. package/dist/client/ui/sheet.mjs +35 -7
  105. package/dist/client/ui/sheet.mjs.map +1 -1
  106. package/dist/client/ui/slot-wrapper.d.ts +28 -0
  107. package/dist/client/ui/slot-wrapper.d.ts.map +1 -0
  108. package/dist/client/ui/slot-wrapper.mjs +38 -0
  109. package/dist/client/ui/slot-wrapper.mjs.map +1 -0
  110. package/dist/client/ui/tabs.d.ts +11 -1
  111. package/dist/client/ui/tabs.d.ts.map +1 -1
  112. package/dist/client/ui/tabs.mjs +21 -5
  113. package/dist/client/ui/tabs.mjs.map +1 -1
  114. package/dist/client/ui/toggle-group.d.ts +7 -4
  115. package/dist/client/ui/toggle-group.d.ts.map +1 -1
  116. package/dist/client/ui/toggle-group.mjs +4 -4
  117. package/dist/client/ui/toggle-group.mjs.map +1 -1
  118. package/dist/client/ui/toggle.d.ts +17 -8
  119. package/dist/client/ui/toggle.d.ts.map +1 -1
  120. package/dist/client/ui/toggle.mjs +11 -9
  121. package/dist/client/ui/toggle.mjs.map +1 -1
  122. package/dist/client/ui/tooltip.d.ts +6 -1
  123. package/dist/client/ui/tooltip.d.ts.map +1 -1
  124. package/dist/client/ui/tooltip.mjs +4 -2
  125. package/dist/client/ui/tooltip.mjs.map +1 -1
  126. package/dist/client/ui-resolver/button.d.ts +3 -4
  127. package/dist/client/ui-resolver/button.d.ts.map +1 -1
  128. package/dist/client/ui-resolver/button.mjs +2 -2
  129. package/dist/client/ui-resolver/button.mjs.map +1 -1
  130. package/dist/client/ui-resolver/card.d.ts +14 -1
  131. package/dist/client/ui-resolver/card.d.ts.map +1 -1
  132. package/dist/client/ui-resolver/card.mjs +3 -2
  133. package/dist/client/ui-resolver/card.mjs.map +1 -1
  134. package/dist/client/ui-resolver/context.mjs +1 -1
  135. package/dist/client/ui-resolver/context.mjs.map +1 -1
  136. package/dist/client/ui-resolver/index.d.ts +7 -4
  137. package/dist/client/ui-resolver/index.mjs +6 -4
  138. package/dist/client/ui-resolver/input.d.ts +3 -4
  139. package/dist/client/ui-resolver/input.d.ts.map +1 -1
  140. package/dist/client/ui-resolver/input.mjs +2 -2
  141. package/dist/client/ui-resolver/input.mjs.map +1 -1
  142. package/dist/client/ui-resolver/navigation-menu.d.ts +1 -2
  143. package/dist/client/ui-resolver/navigation-menu.d.ts.map +1 -1
  144. package/dist/client/ui-resolver/recipe.d.ts +95 -0
  145. package/dist/client/ui-resolver/recipe.d.ts.map +1 -0
  146. package/dist/client/ui-resolver/recipe.mjs +134 -0
  147. package/dist/client/ui-resolver/recipe.mjs.map +1 -0
  148. package/dist/client/ui-resolver/toggle.d.ts +2 -2
  149. package/dist/client/ui-resolver/toggle.mjs +2 -2
  150. package/dist/client/ui-resolver/toggle.mjs.map +1 -1
  151. package/dist/client/ui-resolver/types.d.ts +14 -0
  152. package/dist/client/ui-resolver/types.d.ts.map +1 -0
  153. package/dist/client/ui-resolver/types.mjs +1 -0
  154. package/dist/client/wishlist/wishlist-drawer.mjs +4 -4
  155. package/dist/client/wishlist/wishlist-drawer.mjs.map +1 -1
  156. package/dist/styles.css +1 -1
  157. package/package.json +2 -2
@@ -1,10 +1,37 @@
1
1
  "use client";
2
2
  import { useIcon } from "../icons/icon-context.mjs";
3
3
  import { cn } from "./utils.mjs";
4
+ import { defineSlotRecipe } from "../ui-resolver/recipe.mjs";
4
5
  import "react";
5
6
  import { jsx, jsxs } from "react/jsx-runtime";
6
7
  import { Dialog } from "radix-ui";
7
8
  //#region src/client/ui/sheet.tsx
9
+ const sheetRecipe = defineSlotRecipe({
10
+ slots: [
11
+ "overlay",
12
+ "content",
13
+ "header",
14
+ "footer",
15
+ "title",
16
+ "description"
17
+ ],
18
+ base: {
19
+ overlay: "fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
20
+ content: "fixed z-50 flex flex-col gap-4 bg-background shadow-[var(--enad-shadow-lg)] transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500",
21
+ header: "flex flex-col gap-1.5 p-4 border-b",
22
+ footer: "mt-auto flex flex-col gap-2 p-4",
23
+ title: "font-semibold text-foreground",
24
+ description: "text-sm text-muted-foreground"
25
+ },
26
+ variants: { side: {
27
+ right: { content: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm" },
28
+ left: { content: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm" },
29
+ top: { content: "inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top" },
30
+ bottom: { content: "inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom" }
31
+ } },
32
+ defaultVariants: { side: "right" }
33
+ });
34
+ const defaultClasses = sheetRecipe();
8
35
  function Sheet({ ...props }) {
9
36
  return /* @__PURE__ */ jsx(Dialog.Root, {
10
37
  "data-slot": "sheet",
@@ -32,14 +59,15 @@ function SheetPortal({ ...props }) {
32
59
  function SheetOverlay({ className, ...props }) {
33
60
  return /* @__PURE__ */ jsx(Dialog.Overlay, {
34
61
  "data-slot": "sheet-overlay",
35
- className: cn("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0", className),
62
+ className: cn(defaultClasses.overlay, className),
36
63
  ...props
37
64
  });
38
65
  }
39
66
  function SheetContent({ className, children, side = "right", ...props }) {
67
+ const classes = sheetRecipe({ side });
40
68
  return /* @__PURE__ */ jsxs(SheetPortal, { children: [/* @__PURE__ */ jsx(SheetOverlay, {}), /* @__PURE__ */ jsx(Dialog.Content, {
41
69
  "data-slot": "sheet-content",
42
- className: cn("fixed z-50 flex flex-col gap-4 bg-background shadow-[var(--enad-shadow-lg)] transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500", side === "right" && "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm", side === "left" && "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm", side === "top" && "inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top", side === "bottom" && "inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom", className),
70
+ className: cn(classes.content, className),
43
71
  ...props,
44
72
  children
45
73
  })] });
@@ -47,14 +75,14 @@ function SheetContent({ className, children, side = "right", ...props }) {
47
75
  function SheetHeader({ className, ...props }) {
48
76
  return /* @__PURE__ */ jsx("div", {
49
77
  "data-slot": "sheet-header",
50
- className: cn("flex flex-col gap-1.5 p-4 border-b", className),
78
+ className: cn(defaultClasses.header, className),
51
79
  ...props
52
80
  });
53
81
  }
54
82
  function SheetFooter({ className, ...props }) {
55
83
  return /* @__PURE__ */ jsx("div", {
56
84
  "data-slot": "sheet-footer",
57
- className: cn("mt-auto flex flex-col gap-2 p-4", className),
85
+ className: cn(defaultClasses.footer, className),
58
86
  ...props
59
87
  });
60
88
  }
@@ -62,7 +90,7 @@ function SheetTitle({ className, children, showClose = true, ...props }) {
62
90
  const CloseIcon = useIcon("close");
63
91
  return /* @__PURE__ */ jsxs(Dialog.Title, {
64
92
  "data-slot": "sheet-title",
65
- className: cn("font-semibold text-foreground", className),
93
+ className: cn(defaultClasses.title, className),
66
94
  ...props,
67
95
  children: [children, showClose && /* @__PURE__ */ jsxs(Dialog.Close, {
68
96
  className: "absolute top-4 right-4 flex items-center justify-center rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 hover:bg-accent focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none cursor-pointer",
@@ -76,11 +104,11 @@ function SheetTitle({ className, children, showClose = true, ...props }) {
76
104
  function SheetDescription({ className, ...props }) {
77
105
  return /* @__PURE__ */ jsx(Dialog.Description, {
78
106
  "data-slot": "sheet-description",
79
- className: cn("text-sm text-muted-foreground", className),
107
+ className: cn(defaultClasses.description, className),
80
108
  ...props
81
109
  });
82
110
  }
83
111
  //#endregion
84
- export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };
112
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, sheetRecipe };
85
113
 
86
114
  //# sourceMappingURL=sheet.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.mjs","names":["SheetPrimitive"],"sources":["../../../src/client/ui/sheet.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\nimport { Dialog as SheetPrimitive } from \"radix-ui\";\n\nimport { cn } from \"./utils\";\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n \"fixed z-50 flex flex-col gap-4 bg-background shadow-[var(--enad-shadow-lg)] transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500\",\n side === \"right\" &&\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n side === \"left\" &&\n \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n side === \"top\" &&\n \"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n side === \"bottom\" &&\n \"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n className,\n )}\n {...props}\n >\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn(\"flex flex-col gap-1.5 p-4 border-b\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n );\n}\n\nfunction SheetTitle({\n className,\n children,\n showClose = true,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title> & {\n showClose?: boolean;\n}) {\n const CloseIcon = useIcon(\"close\");\n\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"font-semibold text-foreground\", className)}\n {...props}\n >\n {children}\n {showClose && (\n <SheetPrimitive.Close className=\"absolute top-4 right-4 flex items-center justify-center rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 hover:bg-accent focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none cursor-pointer\">\n <CloseIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n </SheetPrimitive.Title>\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n"],"mappings":";;;;;;;AAQA,SAAS,MAAM,EAAE,GAAG,SAA2D;AAC7E,QAAO,oBAACA,OAAe,MAAhB;EAAqB,aAAU;EAAQ,GAAI;EAAS,CAAA;;AAG7D,SAAS,aAAa,EAAE,GAAG,SAA8D;AACvF,QAAO,oBAACA,OAAe,SAAhB;EAAwB,aAAU;EAAgB,GAAI;EAAS,CAAA;;AAGxE,SAAS,WAAW,EAAE,GAAG,SAA4D;AACnF,QAAO,oBAACA,OAAe,OAAhB;EAAsB,aAAU;EAAc,GAAI;EAAS,CAAA;;AAGpE,SAAS,YAAY,EAAE,GAAG,SAA6D;AACrF,QAAO,oBAACA,OAAe,QAAhB;EAAuB,aAAU;EAAe,GAAI;EAAS,CAAA;;AAGtE,SAAS,aAAa,EACpB,WACA,GAAG,SACmD;AACtD,QACE,oBAACA,OAAe,SAAhB;EACE,aAAU;EACV,WAAW,GACT,0JACA,UACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,aAAa,EACpB,WACA,UACA,OAAO,SACP,GAAG,SAGF;AACD,QACE,qBAAC,aAAD,EAAA,UAAA,CACE,oBAAC,cAAD,EAAgB,CAAA,EAChB,oBAACA,OAAe,SAAhB;EACE,aAAU;EACV,WAAW,GACT,mOACA,SAAS,WACP,oIACF,SAAS,UACP,iIACF,SAAS,SACP,4GACF,SAAS,YACP,qHACF,UACD;EACD,GAAI;EAEH;EACsB,CAAA,CACb,EAAA,CAAA;;AAIlB,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;EACJ,CAAA;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,mCAAmC,UAAU;EAC3D,GAAI;EACJ,CAAA;;AAIN,SAAS,WAAW,EAClB,WACA,UACA,YAAY,MACZ,GAAG,SAGF;CACD,MAAM,YAAY,QAAQ,QAAQ;AAElC,QACE,qBAACA,OAAe,OAAhB;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;YAHN,CAKG,UACA,aACC,qBAACA,OAAe,OAAhB;GAAsB,WAAU;aAAhC,CACE,oBAAC,WAAD,EAAW,WAAU,UAAW,CAAA,EAChC,oBAAC,QAAD;IAAM,WAAU;cAAU;IAAY,CAAA,CACjB;KAEJ;;;AAI3B,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;AAC1D,QACE,oBAACA,OAAe,aAAhB;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;EACJ,CAAA"}
1
+ {"version":3,"file":"sheet.mjs","names":["SheetPrimitive"],"sources":["../../../src/client/ui/sheet.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\nimport { Dialog as SheetPrimitive } from \"radix-ui\";\n\nimport { defineSlotRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst sheetRecipe = defineSlotRecipe({\n slots: [\"overlay\", \"content\", \"header\", \"footer\", \"title\", \"description\"] as const,\n base: {\n overlay:\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n content:\n \"fixed z-50 flex flex-col gap-4 bg-background shadow-[var(--enad-shadow-lg)] transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500\",\n header: \"flex flex-col gap-1.5 p-4 border-b\",\n footer: \"mt-auto flex flex-col gap-2 p-4\",\n title: \"font-semibold text-foreground\",\n description: \"text-sm text-muted-foreground\",\n },\n variants: {\n side: {\n right: {\n content:\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n left: {\n content:\n \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n },\n top: {\n content:\n \"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n },\n bottom: {\n content:\n \"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n },\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n});\n\nconst defaultClasses = sheetRecipe();\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(defaultClasses.overlay, className)}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n}) {\n const classes = sheetRecipe({ side });\n\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(classes.content, className)}\n {...props}\n >\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"sheet-header\" className={cn(defaultClasses.header, className)} {...props} />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"sheet-footer\" className={cn(defaultClasses.footer, className)} {...props} />\n );\n}\n\nfunction SheetTitle({\n className,\n children,\n showClose = true,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title> & {\n showClose?: boolean;\n}) {\n const CloseIcon = useIcon(\"close\");\n\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(defaultClasses.title, className)}\n {...props}\n >\n {children}\n {showClose && (\n <SheetPrimitive.Close className=\"absolute top-4 right-4 flex items-center justify-center rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 hover:bg-accent focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none cursor-pointer\">\n <CloseIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n </SheetPrimitive.Title>\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(defaultClasses.description, className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n sheetRecipe,\n};\n"],"mappings":";;;;;;;;AASA,MAAM,cAAc,iBAAiB;CACnC,OAAO;EAAC;EAAW;EAAW;EAAU;EAAU;EAAS;EAAc;CACzE,MAAM;EACJ,SACE;EACF,SACE;EACF,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,aAAa;EACd;CACD,UAAU,EACR,MAAM;EACJ,OAAO,EACL,SACE,oIACH;EACD,MAAM,EACJ,SACE,iIACH;EACD,KAAK,EACH,SACE,4GACH;EACD,QAAQ,EACN,SACE,qHACH;EACF,EACF;CACD,iBAAiB,EACf,MAAM,SACP;CACF,CAAC;AAEF,MAAM,iBAAiB,aAAa;AAEpC,SAAS,MAAM,EAAE,GAAG,SAA2D;AAC7E,QAAO,oBAACA,OAAe,MAAhB;EAAqB,aAAU;EAAQ,GAAI;EAAS,CAAA;;AAG7D,SAAS,aAAa,EAAE,GAAG,SAA8D;AACvF,QAAO,oBAACA,OAAe,SAAhB;EAAwB,aAAU;EAAgB,GAAI;EAAS,CAAA;;AAGxE,SAAS,WAAW,EAAE,GAAG,SAA4D;AACnF,QAAO,oBAACA,OAAe,OAAhB;EAAsB,aAAU;EAAc,GAAI;EAAS,CAAA;;AAGpE,SAAS,YAAY,EAAE,GAAG,SAA6D;AACrF,QAAO,oBAACA,OAAe,QAAhB;EAAuB,aAAU;EAAe,GAAI;EAAS,CAAA;;AAGtE,SAAS,aAAa,EACpB,WACA,GAAG,SACmD;AACtD,QACE,oBAACA,OAAe,SAAhB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,SAAS,UAAU;EAChD,GAAI;EACJ,CAAA;;AAIN,SAAS,aAAa,EACpB,WACA,UACA,OAAO,SACP,GAAG,SAGF;CACD,MAAM,UAAU,YAAY,EAAE,MAAM,CAAC;AAErC,QACE,qBAAC,aAAD,EAAA,UAAA,CACE,oBAAC,cAAD,EAAgB,CAAA,EAChB,oBAACA,OAAe,SAAhB;EACE,aAAU;EACV,WAAW,GAAG,QAAQ,SAAS,UAAU;EACzC,GAAI;EAEH;EACsB,CAAA,CACb,EAAA,CAAA;;AAIlB,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC,OAAD;EAAK,aAAU;EAAe,WAAW,GAAG,eAAe,QAAQ,UAAU;EAAE,GAAI;EAAS,CAAA;;AAIhG,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC,OAAD;EAAK,aAAU;EAAe,WAAW,GAAG,eAAe,QAAQ,UAAU;EAAE,GAAI;EAAS,CAAA;;AAIhG,SAAS,WAAW,EAClB,WACA,UACA,YAAY,MACZ,GAAG,SAGF;CACD,MAAM,YAAY,QAAQ,QAAQ;AAElC,QACE,qBAACA,OAAe,OAAhB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,OAAO,UAAU;EAC9C,GAAI;YAHN,CAKG,UACA,aACC,qBAACA,OAAe,OAAhB;GAAsB,WAAU;aAAhC,CACE,oBAAC,WAAD,EAAW,WAAU,UAAW,CAAA,EAChC,oBAAC,QAAD;IAAM,WAAU;cAAU;IAAY,CAAA,CACjB;KAEJ;;;AAI3B,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;AAC1D,QACE,oBAACA,OAAe,aAAhB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,aAAa,UAAU;EACpD,GAAI;EACJ,CAAA"}
@@ -0,0 +1,28 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/client/ui/slot-wrapper.d.ts
5
+ interface SlotWrapperProps extends React$1.ComponentProps<"div"> {
6
+ startSlot?: React$1.ReactNode;
7
+ endSlot?: React$1.ReactNode;
8
+ }
9
+ /**
10
+ * Decorator slot wrapper for form components (Input, Button, Select, etc.).
11
+ *
12
+ * Renders startSlot → children → endSlot in a flex row. Slot icons scale
13
+ * to --slot-icon-size (set by the parent component's recipe). Padding
14
+ * compensation uses CSS logical properties for RTL support.
15
+ *
16
+ * Decorative slots get aria-hidden so screen readers skip icons/badges
17
+ * that don't add semantic meaning.
18
+ */
19
+ declare function SlotWrapper({
20
+ startSlot,
21
+ endSlot,
22
+ children,
23
+ className,
24
+ ...props
25
+ }: SlotWrapperProps): react_jsx_runtime0.JSX.Element;
26
+ //#endregion
27
+ export { SlotWrapper, type SlotWrapperProps };
28
+ //# sourceMappingURL=slot-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot-wrapper.d.ts","names":[],"sources":["../../../src/client/ui/slot-wrapper.tsx"],"mappings":";;;;UAIU,gBAAA,SAAyB,OAAA,CAAM,cAAA;EACvC,SAAA,GAAY,OAAA,CAAM,SAAA;EAClB,OAAA,GAAU,OAAA,CAAM,SAAA;AAAA;;;;;;;;;;;iBAaT,WAAA,CAAA;EAAc,SAAA;EAAW,OAAA;EAAS,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,gBAAA,GAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,38 @@
1
+ import { cn } from "./utils.mjs";
2
+ import "react";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/client/ui/slot-wrapper.tsx
5
+ /**
6
+ * Decorator slot wrapper for form components (Input, Button, Select, etc.).
7
+ *
8
+ * Renders startSlot → children → endSlot in a flex row. Slot icons scale
9
+ * to --slot-icon-size (set by the parent component's recipe). Padding
10
+ * compensation uses CSS logical properties for RTL support.
11
+ *
12
+ * Decorative slots get aria-hidden so screen readers skip icons/badges
13
+ * that don't add semantic meaning.
14
+ */
15
+ function SlotWrapper({ startSlot, endSlot, children, className, ...props }) {
16
+ if (!startSlot && !endSlot) return /* @__PURE__ */ jsx(Fragment, { children });
17
+ return /* @__PURE__ */ jsxs("div", {
18
+ className: cn("flex items-center gap-[var(--slot-gap,0.5rem)]", className),
19
+ ...props,
20
+ children: [
21
+ startSlot && /* @__PURE__ */ jsx("span", {
22
+ "aria-hidden": "true",
23
+ className: "shrink-0 [&_svg]:size-[var(--slot-icon-size,1rem)]",
24
+ children: startSlot
25
+ }),
26
+ children,
27
+ endSlot && /* @__PURE__ */ jsx("span", {
28
+ "aria-hidden": "true",
29
+ className: "shrink-0 [&_svg]:size-[var(--slot-icon-size,1rem)]",
30
+ children: endSlot
31
+ })
32
+ ]
33
+ });
34
+ }
35
+ //#endregion
36
+ export { SlotWrapper };
37
+
38
+ //# sourceMappingURL=slot-wrapper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot-wrapper.mjs","names":[],"sources":["../../../src/client/ui/slot-wrapper.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\ninterface SlotWrapperProps extends React.ComponentProps<\"div\"> {\n startSlot?: React.ReactNode;\n endSlot?: React.ReactNode;\n}\n\n/**\n * Decorator slot wrapper for form components (Input, Button, Select, etc.).\n *\n * Renders startSlot → children → endSlot in a flex row. Slot icons scale\n * to --slot-icon-size (set by the parent component's recipe). Padding\n * compensation uses CSS logical properties for RTL support.\n *\n * Decorative slots get aria-hidden so screen readers skip icons/badges\n * that don't add semantic meaning.\n */\nfunction SlotWrapper({ startSlot, endSlot, children, className, ...props }: SlotWrapperProps) {\n if (!startSlot && !endSlot) {\n return <>{children}</>;\n }\n\n return (\n <div className={cn(\"flex items-center gap-[var(--slot-gap,0.5rem)]\", className)} {...props}>\n {startSlot && (\n <span aria-hidden=\"true\" className=\"shrink-0 [&_svg]:size-[var(--slot-icon-size,1rem)]\">\n {startSlot}\n </span>\n )}\n {children}\n {endSlot && (\n <span aria-hidden=\"true\" className=\"shrink-0 [&_svg]:size-[var(--slot-icon-size,1rem)]\">\n {endSlot}\n </span>\n )}\n </div>\n );\n}\n\nexport { SlotWrapper, type SlotWrapperProps };\n"],"mappings":";;;;;;;;;;;;;;AAmBA,SAAS,YAAY,EAAE,WAAW,SAAS,UAAU,WAAW,GAAG,SAA2B;AAC5F,KAAI,CAAC,aAAa,CAAC,QACjB,QAAO,oBAAA,UAAA,EAAG,UAAY,CAAA;AAGxB,QACE,qBAAC,OAAD;EAAK,WAAW,GAAG,kDAAkD,UAAU;EAAE,GAAI;YAArF;GACG,aACC,oBAAC,QAAD;IAAM,eAAY;IAAO,WAAU;cAChC;IACI,CAAA;GAER;GACA,WACC,oBAAC,QAAD;IAAM,eAAY;IAAO,WAAU;cAChC;IACI,CAAA;GAEL"}
@@ -3,6 +3,16 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { Tabs as Tabs$1 } from "radix-ui";
4
4
 
5
5
  //#region src/client/ui/tabs.d.ts
6
+ declare const tabsRecipe: (props?: ({
7
+ [x: string]: string | undefined;
8
+ } & {
9
+ className?: Partial<Record<"root" | "trigger" | "content" | "list", string>> | undefined;
10
+ }) | undefined) => {
11
+ root: string;
12
+ trigger: string;
13
+ content: string;
14
+ list: string;
15
+ };
6
16
  declare function Tabs({
7
17
  className,
8
18
  ...props
@@ -20,5 +30,5 @@ declare function TabsContent({
20
30
  ...props
21
31
  }: React$1.ComponentProps<typeof Tabs$1.Content>): react_jsx_runtime0.JSX.Element;
22
32
  //#endregion
23
- export { Tabs, TabsContent, TabsList, TabsTrigger };
33
+ export { Tabs, TabsContent, TabsList, TabsTrigger, tabsRecipe };
24
34
  //# sourceMappingURL=tabs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","names":[],"sources":["../../../src/client/ui/tabs.tsx"],"mappings":";;;;;iBAOS,IAAA,CAAA;EAAO,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAU7E,QAAA,CAAA;EAAW,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAajF,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAavF,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"tabs.d.ts","names":[],"sources":["../../../src/client/ui/tabs.tsx"],"mappings":";;;;;cAQM,UAAA,GAAU,KAAA;EAAA;;cASd,OAAA,CAAA,MAAA;AAAA;;;;;;iBAIO,IAAA,CAAA;EAAO,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAU7E,QAAA,CAAA;EAAW,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUjF,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUvF,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,38 +1,54 @@
1
1
  "use client";
2
2
  import { cn } from "./utils.mjs";
3
+ import { defineSlotRecipe } from "../ui-resolver/recipe.mjs";
3
4
  import "react";
4
5
  import { jsx } from "react/jsx-runtime";
5
6
  import { Tabs as Tabs$1 } from "radix-ui";
6
7
  //#region src/client/ui/tabs.tsx
8
+ const tabsRecipe = defineSlotRecipe({
9
+ slots: [
10
+ "root",
11
+ "list",
12
+ "trigger",
13
+ "content"
14
+ ],
15
+ base: {
16
+ root: "flex flex-col gap-2",
17
+ list: "inline-flex h-9 w-fit items-center justify-center rounded-[var(--enad-button-radius)] bg-muted p-[3px] text-muted-foreground",
18
+ trigger: "inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-[calc(var(--enad-button-radius)_-_1px)] px-2 py-1 text-sm font-medium outline-none transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
19
+ content: "flex-1 outline-none"
20
+ }
21
+ });
22
+ const defaultClasses = tabsRecipe();
7
23
  function Tabs({ className, ...props }) {
8
24
  return /* @__PURE__ */ jsx(Tabs$1.Root, {
9
25
  "data-slot": "tabs",
10
- className: cn("flex flex-col gap-2", className),
26
+ className: cn(defaultClasses.root, className),
11
27
  ...props
12
28
  });
13
29
  }
14
30
  function TabsList({ className, ...props }) {
15
31
  return /* @__PURE__ */ jsx(Tabs$1.List, {
16
32
  "data-slot": "tabs-list",
17
- className: cn("inline-flex h-9 w-fit items-center justify-center rounded-[var(--enad-button-radius)] bg-muted p-[3px] text-muted-foreground", className),
33
+ className: cn(defaultClasses.list, className),
18
34
  ...props
19
35
  });
20
36
  }
21
37
  function TabsTrigger({ className, ...props }) {
22
38
  return /* @__PURE__ */ jsx(Tabs$1.Trigger, {
23
39
  "data-slot": "tabs-trigger",
24
- className: cn("inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-[calc(var(--enad-button-radius)_-_1px)] px-2 py-1 text-sm font-medium outline-none transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
40
+ className: cn(defaultClasses.trigger, className),
25
41
  ...props
26
42
  });
27
43
  }
28
44
  function TabsContent({ className, ...props }) {
29
45
  return /* @__PURE__ */ jsx(Tabs$1.Content, {
30
46
  "data-slot": "tabs-content",
31
- className: cn("flex-1 outline-none", className),
47
+ className: cn(defaultClasses.content, className),
32
48
  ...props
33
49
  });
34
50
  }
35
51
  //#endregion
36
- export { Tabs, TabsContent, TabsList, TabsTrigger };
52
+ export { Tabs, TabsContent, TabsList, TabsTrigger, tabsRecipe };
37
53
 
38
54
  //# sourceMappingURL=tabs.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.mjs","names":["TabsPrimitive"],"sources":["../../../src/client/ui/tabs.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Tabs as TabsPrimitive } from \"radix-ui\";\n\nimport { cn } from \"./utils\";\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n \"inline-flex h-9 w-fit items-center justify-center rounded-[var(--enad-button-radius)] bg-muted p-[3px] text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-[calc(var(--enad-button-radius)_-_1px)] px-2 py-1 text-sm font-medium outline-none transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"mappings":";;;;;;AAOA,SAAS,KAAK,EAAE,WAAW,GAAG,SAA0D;AACtF,QACE,oBAACA,OAAc,MAAf;EACE,aAAU;EACV,WAAW,GAAG,uBAAuB,UAAU;EAC/C,GAAI;EACJ,CAAA;;AAIN,SAAS,SAAS,EAAE,WAAW,GAAG,SAA0D;AAC1F,QACE,oBAACA,OAAc,MAAf;EACE,aAAU;EACV,WAAW,GACT,gIACA,UACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAACA,OAAc,SAAf;EACE,aAAU;EACV,WAAW,GACT,oeACA,UACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAACA,OAAc,SAAf;EACE,aAAU;EACV,WAAW,GAAG,uBAAuB,UAAU;EAC/C,GAAI;EACJ,CAAA"}
1
+ {"version":3,"file":"tabs.mjs","names":["TabsPrimitive"],"sources":["../../../src/client/ui/tabs.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Tabs as TabsPrimitive } from \"radix-ui\";\n\nimport { defineSlotRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst tabsRecipe = defineSlotRecipe({\n slots: [\"root\", \"list\", \"trigger\", \"content\"] as const,\n base: {\n root: \"flex flex-col gap-2\",\n list: \"inline-flex h-9 w-fit items-center justify-center rounded-[var(--enad-button-radius)] bg-muted p-[3px] text-muted-foreground\",\n trigger:\n \"inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-[calc(var(--enad-button-radius)_-_1px)] px-2 py-1 text-sm font-medium outline-none transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n content: \"flex-1 outline-none\",\n },\n});\n\nconst defaultClasses = tabsRecipe();\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(defaultClasses.root, className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(defaultClasses.list, className)}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(defaultClasses.trigger, className)}\n {...props}\n />\n );\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(defaultClasses.content, className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsRecipe };\n"],"mappings":";;;;;;;AAQA,MAAM,aAAa,iBAAiB;CAClC,OAAO;EAAC;EAAQ;EAAQ;EAAW;EAAU;CAC7C,MAAM;EACJ,MAAM;EACN,MAAM;EACN,SACE;EACF,SAAS;EACV;CACF,CAAC;AAEF,MAAM,iBAAiB,YAAY;AAEnC,SAAS,KAAK,EAAE,WAAW,GAAG,SAA0D;AACtF,QACE,oBAACA,OAAc,MAAf;EACE,aAAU;EACV,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;EACJ,CAAA;;AAIN,SAAS,SAAS,EAAE,WAAW,GAAG,SAA0D;AAC1F,QACE,oBAACA,OAAc,MAAf;EACE,aAAU;EACV,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;EACJ,CAAA;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAACA,OAAc,SAAf;EACE,aAAU;EACV,WAAW,GAAG,eAAe,SAAS,UAAU;EAChD,GAAI;EACJ,CAAA;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAACA,OAAc,SAAf;EACE,aAAU;EACV,WAAW,GAAG,eAAe,SAAS,UAAU;EAChD,GAAI;EACJ,CAAA"}
@@ -1,7 +1,5 @@
1
- import { toggleVariants } from "./toggle.js";
2
1
  import * as React$1 from "react";
3
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
4
- import { VariantProps } from "class-variance-authority";
5
3
  import { ToggleGroup as ToggleGroup$1 } from "radix-ui";
6
4
 
7
5
  //#region src/client/ui/toggle-group.d.ts
@@ -12,7 +10,9 @@ declare function ToggleGroup({
12
10
  spacing,
13
11
  children,
14
12
  ...props
15
- }: React$1.ComponentProps<typeof ToggleGroup$1.Root> & VariantProps<typeof toggleVariants> & {
13
+ }: React$1.ComponentProps<typeof ToggleGroup$1.Root> & {
14
+ variant?: "plain" | "outlined";
15
+ size?: "sm" | "md" | "lg";
16
16
  spacing?: number;
17
17
  }): react_jsx_runtime0.JSX.Element;
18
18
  declare function ToggleGroupItem({
@@ -21,7 +21,10 @@ declare function ToggleGroupItem({
21
21
  variant,
22
22
  size,
23
23
  ...props
24
- }: React$1.ComponentProps<typeof ToggleGroup$1.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime0.JSX.Element;
24
+ }: React$1.ComponentProps<typeof ToggleGroup$1.Item> & {
25
+ variant?: "plain" | "outlined";
26
+ size?: "sm" | "md" | "lg";
27
+ }): react_jsx_runtime0.JSX.Element;
25
28
  //#endregion
26
29
  export { ToggleGroup, ToggleGroupItem };
27
30
  //# sourceMappingURL=toggle-group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.d.ts","names":[],"sources":["../../../src/client/ui/toggle-group.tsx"],"mappings":";;;;;;;iBAiBS,WAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,IAAA;EACA,OAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,aAAA,CAAqB,IAAA,IAClD,YAAA,QAAoB,cAAA;EAClB,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAqBM,eAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,OAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,aAAA,CAAqB,IAAA,IAClD,YAAA,QAAoB,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"toggle-group.d.ts","names":[],"sources":["../../../src/client/ui/toggle-group.tsx"],"mappings":";;;;;iBAgBS,WAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,IAAA;EACA,OAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,aAAA,CAAqB,IAAA;EAClD,OAAA;EACA,IAAA;EACA,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAqBQ,eAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,OAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,aAAA,CAAqB,IAAA;EAClD,OAAA;EACA,IAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -5,8 +5,8 @@ import { jsx } from "react/jsx-runtime";
5
5
  import { ToggleGroup as ToggleGroup$1 } from "radix-ui";
6
6
  //#region src/client/ui/toggle-group.tsx
7
7
  const ToggleGroupContext = React$1.createContext({
8
- size: "default",
9
- variant: "default",
8
+ size: "md",
9
+ variant: "plain",
10
10
  spacing: 0
11
11
  });
12
12
  function ToggleGroup({ className, variant, size, spacing = 0, children, ...props }) {
@@ -16,7 +16,7 @@ function ToggleGroup({ className, variant, size, spacing = 0, children, ...props
16
16
  "data-size": size,
17
17
  "data-spacing": spacing,
18
18
  style: { "--gap": spacing },
19
- className: cn("group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs", className),
19
+ className: cn("group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outlined]:shadow-xs", className),
20
20
  ...props,
21
21
  children: /* @__PURE__ */ jsx(ToggleGroupContext.Provider, {
22
22
  value: {
@@ -38,7 +38,7 @@ function ToggleGroupItem({ className, children, variant, size, ...props }) {
38
38
  className: cn(toggleVariants({
39
39
  variant: context.variant || variant,
40
40
  size: context.size || size
41
- }), "w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10", "data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l", className),
41
+ }), "w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10", "data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outlined]:border-l-0 data-[spacing=0]:data-[variant=outlined]:first:border-l", className),
42
42
  ...props,
43
43
  children
44
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.mjs","names":["React","ToggleGroupPrimitive"],"sources":["../../../src/client/ui/toggle-group.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { type VariantProps } from \"class-variance-authority\"\nimport { ToggleGroup as ToggleGroupPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./utils\"\nimport { toggleVariants } from \"./toggle\"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n }\n>({\n size: \"default\",\n variant: \"default\",\n spacing: 0,\n})\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs\",\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size, spacing }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n \"w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10\",\n \"data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l\",\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nexport { ToggleGroup, ToggleGroupItem }\n"],"mappings":";;;;;;AAOA,MAAM,qBAAqBA,QAAM,cAI/B;CACA,MAAM;CACN,SAAS;CACT,SAAS;CACV,CAAC;AAEF,SAAS,YAAY,EACnB,WACA,SACA,MACA,UAAU,GACV,UACA,GAAG,SAIA;AACH,QACE,oBAACC,cAAqB,MAAtB;EACE,aAAU;EACV,gBAAc;EACd,aAAW;EACX,gBAAc;EACd,OAAO,EAAE,SAAS,SAAS;EAC3B,WAAW,GACT,6IACA,UACD;EACD,GAAI;YAEJ,oBAAC,mBAAmB,UAApB;GAA6B,OAAO;IAAE;IAAS;IAAM;IAAS;GAC3D;GAC2B,CAAA;EACJ,CAAA;;AAIhC,SAAS,gBAAgB,EACvB,WACA,UACA,SACA,MACA,GAAG,SAEkC;CACrC,MAAM,UAAUD,QAAM,WAAW,mBAAmB;AAEpD,QACE,oBAACC,cAAqB,MAAtB;EACE,aAAU;EACV,gBAAc,QAAQ,WAAW;EACjC,aAAW,QAAQ,QAAQ;EAC3B,gBAAc,QAAQ;EACtB,WAAW,GACT,eAAe;GACb,SAAS,QAAQ,WAAW;GAC5B,MAAM,QAAQ,QAAQ;GACvB,CAAC,EACF,8DACA,+OACA,UACD;EACD,GAAI;EAEH;EACyB,CAAA"}
1
+ {"version":3,"file":"toggle-group.mjs","names":["React","ToggleGroupPrimitive"],"sources":["../../../src/client/ui/toggle-group.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ToggleGroup as ToggleGroupPrimitive } from \"radix-ui\";\n\nimport { cn } from \"./utils\";\nimport { toggleVariants } from \"./toggle\";\n\nconst ToggleGroupContext = React.createContext<{\n variant?: \"plain\" | \"outlined\";\n size?: \"sm\" | \"md\" | \"lg\";\n spacing?: number;\n}>({\n size: \"md\",\n variant: \"plain\",\n spacing: 0,\n});\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> & {\n variant?: \"plain\" | \"outlined\";\n size?: \"sm\" | \"md\" | \"lg\";\n spacing?: number;\n}) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outlined]:shadow-xs\",\n className,\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size, spacing }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n );\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & {\n variant?: \"plain\" | \"outlined\";\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n \"w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10\",\n \"data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outlined]:border-l-0 data-[spacing=0]:data-[variant=outlined]:first:border-l\",\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n}\n\nexport { ToggleGroup, ToggleGroupItem };\n"],"mappings":";;;;;;AAMA,MAAM,qBAAqBA,QAAM,cAI9B;CACD,MAAM;CACN,SAAS;CACT,SAAS;CACV,CAAC;AAEF,SAAS,YAAY,EACnB,WACA,SACA,MACA,UAAU,GACV,UACA,GAAG,SAKF;AACD,QACE,oBAACC,cAAqB,MAAtB;EACE,aAAU;EACV,gBAAc;EACd,aAAW;EACX,gBAAc;EACd,OAAO,EAAE,SAAS,SAAS;EAC3B,WAAW,GACT,8IACA,UACD;EACD,GAAI;YAEJ,oBAAC,mBAAmB,UAApB;GAA6B,OAAO;IAAE;IAAS;IAAM;IAAS;GAC3D;GAC2B,CAAA;EACJ,CAAA;;AAIhC,SAAS,gBAAgB,EACvB,WACA,UACA,SACA,MACA,GAAG,SAIF;CACD,MAAM,UAAUD,QAAM,WAAW,mBAAmB;AAEpD,QACE,oBAACC,cAAqB,MAAtB;EACE,aAAU;EACV,gBAAc,QAAQ,WAAW;EACjC,aAAW,QAAQ,QAAQ;EAC3B,gBAAc,QAAQ;EACtB,WAAW,GACT,eAAe;GACb,SAAS,QAAQ,WAAW;GAC5B,MAAM,QAAQ,QAAQ;GACvB,CAAC,EACF,8DACA,iPACA,UACD;EACD,GAAI;EAEH;EACyB,CAAA"}
@@ -1,20 +1,29 @@
1
1
  import * as React$1 from "react";
2
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
3
- import { VariantProps } from "class-variance-authority";
4
3
  import { Toggle as Toggle$1 } from "radix-ui";
5
- import * as class_variance_authority_types0 from "class-variance-authority/types";
6
4
 
7
5
  //#region src/client/ui/toggle.d.ts
8
- declare const toggleVariants: (props?: ({
9
- variant?: "default" | "outline" | null | undefined;
10
- size?: "default" | "sm" | "lg" | null | undefined;
11
- } & class_variance_authority_types0.ClassProp) | undefined) => string;
6
+ declare const toggleRecipe: (props?: ({
7
+ variant?: "outlined" | "plain" | undefined;
8
+ size?: "sm" | "md" | "lg" | undefined;
9
+ } & {
10
+ className?: string;
11
+ }) | undefined) => string;
12
12
  declare function Toggle({
13
13
  className,
14
14
  variant,
15
15
  size,
16
16
  ...props
17
- }: React$1.ComponentProps<typeof Toggle$1.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime0.JSX.Element;
17
+ }: React$1.ComponentProps<typeof Toggle$1.Root> & {
18
+ variant?: "plain" | "outlined";
19
+ size?: "sm" | "md" | "lg";
20
+ }): react_jsx_runtime0.JSX.Element;
21
+ declare const toggleVariants: (props?: ({
22
+ variant?: "outlined" | "plain" | undefined;
23
+ size?: "sm" | "md" | "lg" | undefined;
24
+ } & {
25
+ className?: string;
26
+ }) | undefined) => string;
18
27
  //#endregion
19
- export { Toggle, toggleVariants };
28
+ export { Toggle, toggleRecipe, toggleVariants };
20
29
  //# sourceMappingURL=toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.d.ts","names":[],"sources":["../../../src/client/ui/toggle.tsx"],"mappings":";;;;;;;cAMM,cAAA,GAAc,KAAA;;;IAoBnB,+BAAA,CAAA,SAAA;AAAA,iBAEQ,MAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,IAAA,IAC7C,YAAA,QAAoB,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"toggle.d.ts","names":[],"sources":["../../../src/client/ui/toggle.tsx"],"mappings":";;;;;cAMM,YAAA,GAAY,KAAA;;;;;;iBAoBT,MAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,IAAA;EAC7C,OAAA;EACA,IAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAaK,cAAA,GAAc,KAAA"}
@@ -1,30 +1,31 @@
1
1
  import { cn } from "./utils.mjs";
2
+ import { defineRecipe } from "../ui-resolver/recipe.mjs";
2
3
  import "react";
3
4
  import { jsx } from "react/jsx-runtime";
4
- import { cva } from "class-variance-authority";
5
5
  import { Toggle as Toggle$1 } from "radix-ui";
6
6
  //#region src/client/ui/toggle.tsx
7
- const toggleVariants = cva("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
7
+ const toggleRecipe = defineRecipe({
8
+ base: "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
8
9
  variants: {
9
10
  variant: {
10
- default: "bg-transparent",
11
- outline: "border border-input bg-transparent shadow-xs hover:bg-accent-muted hover:text-accent-muted-foreground"
11
+ plain: "bg-transparent",
12
+ outlined: "border border-input bg-transparent shadow-xs hover:bg-accent-muted hover:text-accent-muted-foreground"
12
13
  },
13
14
  size: {
14
- default: "h-9 min-w-9 px-2",
15
15
  sm: "h-8 min-w-8 px-1.5",
16
+ md: "h-9 min-w-9 px-2",
16
17
  lg: "h-10 min-w-10 px-2.5"
17
18
  }
18
19
  },
19
20
  defaultVariants: {
20
- variant: "default",
21
- size: "default"
21
+ variant: "plain",
22
+ size: "md"
22
23
  }
23
24
  });
24
25
  function Toggle({ className, variant, size, ...props }) {
25
26
  return /* @__PURE__ */ jsx(Toggle$1.Root, {
26
27
  "data-slot": "toggle",
27
- className: cn(toggleVariants({
28
+ className: cn(toggleRecipe({
28
29
  variant,
29
30
  size,
30
31
  className
@@ -32,7 +33,8 @@ function Toggle({ className, variant, size, ...props }) {
32
33
  ...props
33
34
  });
34
35
  }
36
+ const toggleVariants = toggleRecipe;
35
37
  //#endregion
36
- export { Toggle, toggleVariants };
38
+ export { Toggle, toggleRecipe, toggleVariants };
37
39
 
38
40
  //# sourceMappingURL=toggle.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.mjs","names":["TogglePrimitive"],"sources":["../../../src/client/ui/toggle.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Toggle as TogglePrimitive } from \"radix-ui\"\n\nimport { cn } from \"./utils\"\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline:\n \"border border-input bg-transparent shadow-xs hover:bg-accent-muted hover:text-accent-muted-foreground\",\n },\n size: {\n default: \"h-9 min-w-9 px-2\",\n sm: \"h-8 min-w-8 px-1.5\",\n lg: \"h-10 min-w-10 px-2.5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n"],"mappings":";;;;;;AAMA,MAAM,iBAAiB,IACrB,ijBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SACE;GACH;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACL;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAED,SAAS,OAAO,EACd,WACA,SACA,MACA,GAAG,SAEkC;AACrC,QACE,oBAACA,SAAgB,MAAjB;EACE,aAAU;EACV,WAAW,GAAG,eAAe;GAAE;GAAS;GAAM;GAAW,CAAC,CAAC;EAC3D,GAAI;EACJ,CAAA"}
1
+ {"version":3,"file":"toggle.mjs","names":["TogglePrimitive"],"sources":["../../../src/client/ui/toggle.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Toggle as TogglePrimitive } from \"radix-ui\";\n\nimport { defineRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst toggleRecipe = defineRecipe({\n base: \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n variants: {\n variant: {\n plain: \"bg-transparent\",\n outlined:\n \"border border-input bg-transparent shadow-xs hover:bg-accent-muted hover:text-accent-muted-foreground\",\n },\n size: {\n sm: \"h-8 min-w-8 px-1.5\",\n md: \"h-9 min-w-9 px-2\",\n lg: \"h-10 min-w-10 px-2.5\",\n },\n },\n defaultVariants: {\n variant: \"plain\",\n size: \"md\",\n },\n});\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> & {\n variant?: \"plain\" | \"outlined\";\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleRecipe({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Toggle, toggleRecipe };\n\n// Backward compat\nconst toggleVariants = toggleRecipe;\nexport { toggleVariants };\n"],"mappings":";;;;;;AAMA,MAAM,eAAe,aAAa;CAChC,MAAM;CACN,UAAU;EACR,SAAS;GACP,OAAO;GACP,UACE;GACH;EACD,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CAAC;AAEF,SAAS,OAAO,EACd,WACA,SACA,MACA,GAAG,SAIF;AACD,QACE,oBAACA,SAAgB,MAAjB;EACE,aAAU;EACV,WAAW,GAAG,aAAa;GAAE;GAAS;GAAM;GAAW,CAAC,CAAC;EACzD,GAAI;EACJ,CAAA;;AAON,MAAM,iBAAiB"}
@@ -3,6 +3,11 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { Tooltip as Tooltip$1 } from "radix-ui";
4
4
 
5
5
  //#region src/client/ui/tooltip.d.ts
6
+ declare const tooltipContentRecipe: (props?: ({
7
+ [x: string]: string | undefined;
8
+ } & {
9
+ className?: string;
10
+ }) | undefined) => string;
6
11
  declare function TooltipProvider({
7
12
  delayDuration,
8
13
  ...props
@@ -20,5 +25,5 @@ declare function TooltipContent({
20
25
  ...props
21
26
  }: React$1.ComponentProps<typeof Tooltip$1.Content>): react_jsx_runtime0.JSX.Element;
22
27
  //#endregion
23
- export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
28
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, tooltipContentRecipe };
24
29
  //# sourceMappingURL=tooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","names":[],"sources":["../../../src/client/ui/tooltip.tsx"],"mappings":";;;;;iBAOS,eAAA,CAAA;EACP,aAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,QAAA,IAAS,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUhD,OAAA,CAAA;EAAA,GAAa;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQxE,cAAA,CAAA;EAAA,GAAoB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIlF,cAAA,CAAA;EACP,SAAA;EACA,UAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"tooltip.d.ts","names":[],"sources":["../../../src/client/ui/tooltip.tsx"],"mappings":";;;;;cAQM,oBAAA,GAAoB,KAAA;EAAA;;;;iBAIjB,eAAA,CAAA;EACP,aAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,QAAA,IAAS,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUhD,OAAA,CAAA;EAAA,GAAa;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQxE,cAAA,CAAA;EAAA,GAAoB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIlF,cAAA,CAAA;EACP,SAAA;EACA,UAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,9 +1,11 @@
1
1
  "use client";
2
2
  import { cn } from "./utils.mjs";
3
+ import { defineRecipe } from "../ui-resolver/recipe.mjs";
3
4
  import "react";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import { Tooltip as Tooltip$1 } from "radix-ui";
6
7
  //#region src/client/ui/tooltip.tsx
8
+ const tooltipContentRecipe = defineRecipe({ base: "z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-[var(--enad-button-radius)] bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2" });
7
9
  function TooltipProvider({ delayDuration = 0, ...props }) {
8
10
  return /* @__PURE__ */ jsx(Tooltip$1.Provider, {
9
11
  "data-slot": "tooltip-provider",
@@ -27,12 +29,12 @@ function TooltipContent({ className, sideOffset = 4, children, ...props }) {
27
29
  return /* @__PURE__ */ jsx(Tooltip$1.Portal, { children: /* @__PURE__ */ jsxs(Tooltip$1.Content, {
28
30
  "data-slot": "tooltip-content",
29
31
  sideOffset,
30
- className: cn("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-[var(--enad-button-radius)] bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", className),
32
+ className: cn(tooltipContentRecipe({ className })),
31
33
  ...props,
32
34
  children: [children, /* @__PURE__ */ jsx(Tooltip$1.Arrow, { className: "fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
33
35
  }) });
34
36
  }
35
37
  //#endregion
36
- export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
38
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, tooltipContentRecipe };
37
39
 
38
40
  //# sourceMappingURL=tooltip.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.mjs","names":["TooltipPrimitive"],"sources":["../../../src/client/ui/tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\";\n\nimport { cn } from \"./utils\";\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 4,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-[var(--enad-button-radius)] bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"mappings":";;;;;;AAOA,SAAS,gBAAgB,EACvB,gBAAgB,GAChB,GAAG,SACsD;AACzD,QACE,oBAACA,UAAiB,UAAlB;EACE,aAAU;EACK;EACf,GAAI;EACJ,CAAA;;AAIN,SAAS,QAAQ,EAAE,GAAG,SAA6D;AACjF,QACE,oBAAC,iBAAD,EAAA,UACE,oBAACA,UAAiB,MAAlB;EAAuB,aAAU;EAAU,GAAI;EAAS,CAAA,EACxC,CAAA;;AAItB,SAAS,eAAe,EAAE,GAAG,SAAgE;AAC3F,QAAO,oBAACA,UAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;EAAS,CAAA;;AAG5E,SAAS,eAAe,EACtB,WACA,aAAa,GACb,UACA,GAAG,SACqD;AACxD,QACE,oBAACA,UAAiB,QAAlB,EAAA,UACE,qBAACA,UAAiB,SAAlB;EACE,aAAU;EACE;EACZ,WAAW,GACT,sbACA,UACD;EACD,GAAI;YAPN,CASG,UACD,oBAACA,UAAiB,OAAlB,EAAwB,WAAU,qFAAsF,CAAA,CAC/F;KACH,CAAA"}
1
+ {"version":3,"file":"tooltip.mjs","names":["TooltipPrimitive"],"sources":["../../../src/client/ui/tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\";\n\nimport { defineRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst tooltipContentRecipe = defineRecipe({\n base: \"z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-[var(--enad-button-radius)] bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n});\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 4,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(tooltipContentRecipe({ className }))}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider, tooltipContentRecipe };\n"],"mappings":";;;;;;;AAQA,MAAM,uBAAuB,aAAa,EACxC,MAAM,sbACP,CAAC;AAEF,SAAS,gBAAgB,EACvB,gBAAgB,GAChB,GAAG,SACsD;AACzD,QACE,oBAACA,UAAiB,UAAlB;EACE,aAAU;EACK;EACf,GAAI;EACJ,CAAA;;AAIN,SAAS,QAAQ,EAAE,GAAG,SAA6D;AACjF,QACE,oBAAC,iBAAD,EAAA,UACE,oBAACA,UAAiB,MAAlB;EAAuB,aAAU;EAAU,GAAI;EAAS,CAAA,EACxC,CAAA;;AAItB,SAAS,eAAe,EAAE,GAAG,SAAgE;AAC3F,QAAO,oBAACA,UAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;EAAS,CAAA;;AAG5E,SAAS,eAAe,EACtB,WACA,aAAa,GACb,UACA,GAAG,SACqD;AACxD,QACE,oBAACA,UAAiB,QAAlB,EAAA,UACE,qBAACA,UAAiB,SAAlB;EACE,aAAU;EACE;EACZ,WAAW,GAAG,qBAAqB,EAAE,WAAW,CAAC,CAAC;EAClD,GAAI;YAJN,CAMG,UACD,oBAACA,UAAiB,OAAlB,EAAwB,WAAU,qFAAsF,CAAA,CAC/F;KACH,CAAA"}
@@ -1,11 +1,10 @@
1
- import { Button as Button$1, buttonVariants } from "../ui/button.js";
2
- import * as React$1 from "react";
1
+ import { ButtonProps, ButtonSize, ButtonVariant, buttonRecipe, buttonVariants } from "../ui/button.js";
3
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
4
3
 
5
4
  //#region src/client/ui-resolver/button.d.ts
6
5
  declare function Button({
7
6
  ...props
8
- }: React$1.ComponentProps<typeof Button$1>): react_jsx_runtime0.JSX.Element;
7
+ }: ButtonProps): react_jsx_runtime0.JSX.Element;
9
8
  //#endregion
10
- export { Button, buttonVariants };
9
+ export { Button, type ButtonProps, type ButtonSize, type ButtonVariant, buttonRecipe, buttonVariants };
11
10
  //# sourceMappingURL=button.d.ts.map