@enadhq/enad-react-sdk 1.1.0 → 1.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.
Files changed (232) 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/blocks/card-video.mjs +1 -1
  6. package/dist/client/storefront/blocks/card-video.mjs.map +1 -1
  7. package/dist/client/storefront/blocks/gallery-with-link-blocks.d.ts.map +1 -1
  8. package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs +13 -5
  9. package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs.map +1 -1
  10. package/dist/client/storefront/blocks/gallery.d.ts +10 -1
  11. package/dist/client/storefront/blocks/gallery.d.ts.map +1 -1
  12. package/dist/client/storefront/blocks/gallery.mjs +51 -27
  13. package/dist/client/storefront/blocks/gallery.mjs.map +1 -1
  14. package/dist/client/storefront/blocks/hero.d.ts +12 -1
  15. package/dist/client/storefront/blocks/hero.d.ts.map +1 -1
  16. package/dist/client/storefront/blocks/hero.mjs +143 -145
  17. package/dist/client/storefront/blocks/hero.mjs.map +1 -1
  18. package/dist/client/storefront/blocks/link-block-small.d.ts.map +1 -1
  19. package/dist/client/storefront/blocks/link-block-small.mjs +1 -1
  20. package/dist/client/storefront/blocks/link-block-small.mjs.map +1 -1
  21. package/dist/client/storefront/blocks/link-block.d.ts.map +1 -1
  22. package/dist/client/storefront/blocks/link-block.mjs +4 -4
  23. package/dist/client/storefront/blocks/link-block.mjs.map +1 -1
  24. package/dist/client/storefront/blocks/product-card-parts.d.ts +1 -1
  25. package/dist/client/storefront/blocks/product-card-parts.d.ts.map +1 -1
  26. package/dist/client/storefront/blocks/product-card-parts.mjs +2 -2
  27. package/dist/client/storefront/blocks/product-card-parts.mjs.map +1 -1
  28. package/dist/client/storefront/blocks/product-card.d.ts +10 -1
  29. package/dist/client/storefront/blocks/product-card.d.ts.map +1 -1
  30. package/dist/client/storefront/blocks/product-card.mjs +122 -116
  31. package/dist/client/storefront/blocks/product-card.mjs.map +1 -1
  32. package/dist/client/storefront/blocks/product-image.mjs +2 -2
  33. package/dist/client/storefront/blocks/product-image.mjs.map +1 -1
  34. package/dist/client/storefront/blocks/text-content-with-image.d.ts +14 -1
  35. package/dist/client/storefront/blocks/text-content-with-image.d.ts.map +1 -1
  36. package/dist/client/storefront/blocks/text-content-with-image.mjs +141 -164
  37. package/dist/client/storefront/blocks/text-content-with-image.mjs.map +1 -1
  38. package/dist/client/storefront/carousel/swipeable-carousel.d.ts +5 -1
  39. package/dist/client/storefront/carousel/swipeable-carousel.d.ts.map +1 -1
  40. package/dist/client/storefront/carousel/swipeable-carousel.mjs +2 -1
  41. package/dist/client/storefront/carousel/swipeable-carousel.mjs.map +1 -1
  42. package/dist/client/storefront/checkout/cart-summary.mjs +1 -1
  43. package/dist/client/storefront/checkout/cart-summary.mjs.map +1 -1
  44. package/dist/client/storefront/components/language-selector.d.ts.map +1 -1
  45. package/dist/client/storefront/components/language-selector.mjs +1 -1
  46. package/dist/client/storefront/components/language-selector.mjs.map +1 -1
  47. package/dist/client/storefront/components/product-recommendations.d.ts.map +1 -1
  48. package/dist/client/storefront/components/product-recommendations.mjs +29 -37
  49. package/dist/client/storefront/components/product-recommendations.mjs.map +1 -1
  50. package/dist/client/storefront/filters/filter-chip.d.ts +5 -2
  51. package/dist/client/storefront/filters/filter-chip.d.ts.map +1 -1
  52. package/dist/client/storefront/filters/filter-chip.mjs +6 -4
  53. package/dist/client/storefront/filters/filter-chip.mjs.map +1 -1
  54. package/dist/client/storefront/filters/filter-panel.mjs +2 -2
  55. package/dist/client/storefront/filters/filter-panel.mjs.map +1 -1
  56. package/dist/client/storefront/filters/toggle-list-view.mjs +1 -1
  57. package/dist/client/storefront/filters/toggle-list-view.mjs.map +1 -1
  58. package/dist/client/storefront/index.d.ts +12 -1
  59. package/dist/client/storefront/index.mjs +12 -1
  60. package/dist/client/storefront/layout/header.d.ts.map +1 -1
  61. package/dist/client/storefront/layout/header.mjs +1 -1
  62. package/dist/client/storefront/layout/header.mjs.map +1 -1
  63. package/dist/client/storefront/layout/mobile-menu-drawer.mjs +1 -1
  64. package/dist/client/storefront/layout/promotion-bar.d.ts.map +1 -1
  65. package/dist/client/storefront/layout/promotion-bar.mjs +3 -3
  66. package/dist/client/storefront/layout/promotion-bar.mjs.map +1 -1
  67. package/dist/client/storefront/primitives/block-heading.d.ts +40 -0
  68. package/dist/client/storefront/primitives/block-heading.d.ts.map +1 -0
  69. package/dist/client/storefront/primitives/block-heading.mjs +43 -0
  70. package/dist/client/storefront/primitives/block-heading.mjs.map +1 -0
  71. package/dist/client/storefront/primitives/button.d.ts +2 -2
  72. package/dist/client/storefront/primitives/button.d.ts.map +1 -1
  73. package/dist/client/storefront/primitives/button.mjs +4 -4
  74. package/dist/client/storefront/primitives/button.mjs.map +1 -1
  75. package/dist/client/storefront/primitives/cta-group.d.ts +25 -0
  76. package/dist/client/storefront/primitives/cta-group.d.ts.map +1 -0
  77. package/dist/client/storefront/primitives/cta-group.mjs +27 -0
  78. package/dist/client/storefront/primitives/cta-group.mjs.map +1 -0
  79. package/dist/client/storefront/primitives/image-with-hover.d.ts +18 -0
  80. package/dist/client/storefront/primitives/image-with-hover.d.ts.map +1 -0
  81. package/dist/client/storefront/primitives/image-with-hover.mjs +16 -0
  82. package/dist/client/storefront/primitives/image-with-hover.mjs.map +1 -0
  83. package/dist/client/storefront/primitives/index.d.ts +4 -1
  84. package/dist/client/storefront/primitives/index.mjs +4 -1
  85. package/dist/client/storefront/primitives/input.d.ts +1 -1
  86. package/dist/client/storefront/primitives/input.mjs.map +1 -1
  87. package/dist/client/storefront/primitives/pagination.mjs +2 -2
  88. package/dist/client/storefront/primitives/pagination.mjs.map +1 -1
  89. package/dist/client/storefront/product/quantity-picker.mjs +2 -2
  90. package/dist/client/storefront/product/quantity-picker.mjs.map +1 -1
  91. package/dist/client/storefront/types.d.ts +1 -1
  92. package/dist/client/storefront/types.d.ts.map +1 -1
  93. package/dist/client/storefront/types.mjs.map +1 -1
  94. package/dist/client/theme/apply.d.ts +1 -1
  95. package/dist/client/theme/apply.d.ts.map +1 -1
  96. package/dist/client/theme/apply.mjs +0 -12
  97. package/dist/client/theme/apply.mjs.map +1 -1
  98. package/dist/client/theme/cli.mjs +0 -16
  99. package/dist/client/theme/cli.mjs.map +1 -1
  100. package/dist/client/theme/codec.d.ts.map +1 -1
  101. package/dist/client/theme/codec.mjs +0 -2
  102. package/dist/client/theme/codec.mjs.map +1 -1
  103. package/dist/client/theme/defaults.d.ts +0 -2
  104. package/dist/client/theme/defaults.mjs +0 -2
  105. package/dist/client/theme/defaults.mjs.map +1 -1
  106. package/dist/client/ui/accordion.d.ts +12 -1
  107. package/dist/client/ui/accordion.d.ts.map +1 -1
  108. package/dist/client/ui/accordion.mjs +23 -5
  109. package/dist/client/ui/accordion.mjs.map +1 -1
  110. package/dist/client/ui/alert.d.ts +16 -7
  111. package/dist/client/ui/alert.d.ts.map +1 -1
  112. package/dist/client/ui/alert.mjs +21 -8
  113. package/dist/client/ui/alert.mjs.map +1 -1
  114. package/dist/client/ui/avatar.d.ts +10 -1
  115. package/dist/client/ui/avatar.d.ts.map +1 -1
  116. package/dist/client/ui/avatar.mjs +18 -4
  117. package/dist/client/ui/avatar.mjs.map +1 -1
  118. package/dist/client/ui/breadcrumb.d.ts +13 -1
  119. package/dist/client/ui/breadcrumb.d.ts.map +1 -1
  120. package/dist/client/ui/breadcrumb.mjs +27 -7
  121. package/dist/client/ui/breadcrumb.mjs.map +1 -1
  122. package/dist/client/ui/button.d.ts +28 -10
  123. package/dist/client/ui/button.d.ts.map +1 -1
  124. package/dist/client/ui/button.mjs +45 -20
  125. package/dist/client/ui/button.mjs.map +1 -1
  126. package/dist/client/ui/card.d.ts +20 -1
  127. package/dist/client/ui/card.d.ts.map +1 -1
  128. package/dist/client/ui/card.mjs +36 -8
  129. package/dist/client/ui/card.mjs.map +1 -1
  130. package/dist/client/ui/carousel.d.ts +9 -1
  131. package/dist/client/ui/carousel.d.ts.map +1 -1
  132. package/dist/client/ui/carousel.mjs +20 -4
  133. package/dist/client/ui/carousel.mjs.map +1 -1
  134. package/dist/client/ui/checkbox.d.ts +9 -1
  135. package/dist/client/ui/checkbox.d.ts.map +1 -1
  136. package/dist/client/ui/checkbox.mjs +12 -3
  137. package/dist/client/ui/checkbox.mjs.map +1 -1
  138. package/dist/client/ui/dialog.d.ts +13 -1
  139. package/dist/client/ui/dialog.d.ts.map +1 -1
  140. package/dist/client/ui/dialog.mjs +27 -7
  141. package/dist/client/ui/dialog.mjs.map +1 -1
  142. package/dist/client/ui/hover-card.d.ts +6 -1
  143. package/dist/client/ui/hover-card.d.ts.map +1 -1
  144. package/dist/client/ui/hover-card.mjs +4 -2
  145. package/dist/client/ui/hover-card.mjs.map +1 -1
  146. package/dist/client/ui/input.d.ts +20 -7
  147. package/dist/client/ui/input.d.ts.map +1 -1
  148. package/dist/client/ui/input.mjs +33 -9
  149. package/dist/client/ui/input.mjs.map +1 -1
  150. package/dist/client/ui/label.d.ts +6 -1
  151. package/dist/client/ui/label.d.ts.map +1 -1
  152. package/dist/client/ui/label.mjs +4 -2
  153. package/dist/client/ui/label.mjs.map +1 -1
  154. package/dist/client/ui/navigation-menu.d.ts +20 -3
  155. package/dist/client/ui/navigation-menu.d.ts.map +1 -1
  156. package/dist/client/ui/navigation-menu.mjs +34 -12
  157. package/dist/client/ui/navigation-menu.mjs.map +1 -1
  158. package/dist/client/ui/pagination.d.ts.map +1 -1
  159. package/dist/client/ui/pagination.mjs +3 -3
  160. package/dist/client/ui/pagination.mjs.map +1 -1
  161. package/dist/client/ui/popover.d.ts +11 -1
  162. package/dist/client/ui/popover.d.ts.map +1 -1
  163. package/dist/client/ui/popover.mjs +21 -5
  164. package/dist/client/ui/popover.mjs.map +1 -1
  165. package/dist/client/ui/progress.d.ts +9 -1
  166. package/dist/client/ui/progress.d.ts.map +1 -1
  167. package/dist/client/ui/progress.mjs +12 -3
  168. package/dist/client/ui/progress.mjs.map +1 -1
  169. package/dist/client/ui/select.d.ts +14 -2
  170. package/dist/client/ui/select.d.ts.map +1 -1
  171. package/dist/client/ui/select.mjs +35 -9
  172. package/dist/client/ui/select.mjs.map +1 -1
  173. package/dist/client/ui/separator.d.ts +6 -1
  174. package/dist/client/ui/separator.d.ts.map +1 -1
  175. package/dist/client/ui/separator.mjs +4 -2
  176. package/dist/client/ui/separator.mjs.map +1 -1
  177. package/dist/client/ui/sheet.d.ts +13 -1
  178. package/dist/client/ui/sheet.d.ts.map +1 -1
  179. package/dist/client/ui/sheet.mjs +35 -7
  180. package/dist/client/ui/sheet.mjs.map +1 -1
  181. package/dist/client/ui/slot-wrapper.d.ts +28 -0
  182. package/dist/client/ui/slot-wrapper.d.ts.map +1 -0
  183. package/dist/client/ui/slot-wrapper.mjs +38 -0
  184. package/dist/client/ui/slot-wrapper.mjs.map +1 -0
  185. package/dist/client/ui/tabs.d.ts +11 -1
  186. package/dist/client/ui/tabs.d.ts.map +1 -1
  187. package/dist/client/ui/tabs.mjs +21 -5
  188. package/dist/client/ui/tabs.mjs.map +1 -1
  189. package/dist/client/ui/toggle-group.d.ts +7 -4
  190. package/dist/client/ui/toggle-group.d.ts.map +1 -1
  191. package/dist/client/ui/toggle-group.mjs +4 -4
  192. package/dist/client/ui/toggle-group.mjs.map +1 -1
  193. package/dist/client/ui/toggle.d.ts +17 -8
  194. package/dist/client/ui/toggle.d.ts.map +1 -1
  195. package/dist/client/ui/toggle.mjs +11 -9
  196. package/dist/client/ui/toggle.mjs.map +1 -1
  197. package/dist/client/ui/tooltip.d.ts +6 -1
  198. package/dist/client/ui/tooltip.d.ts.map +1 -1
  199. package/dist/client/ui/tooltip.mjs +4 -2
  200. package/dist/client/ui/tooltip.mjs.map +1 -1
  201. package/dist/client/ui-resolver/button.d.ts +3 -4
  202. package/dist/client/ui-resolver/button.d.ts.map +1 -1
  203. package/dist/client/ui-resolver/button.mjs +2 -2
  204. package/dist/client/ui-resolver/button.mjs.map +1 -1
  205. package/dist/client/ui-resolver/card.d.ts +14 -1
  206. package/dist/client/ui-resolver/card.d.ts.map +1 -1
  207. package/dist/client/ui-resolver/card.mjs +3 -2
  208. package/dist/client/ui-resolver/card.mjs.map +1 -1
  209. package/dist/client/ui-resolver/context.mjs +1 -1
  210. package/dist/client/ui-resolver/context.mjs.map +1 -1
  211. package/dist/client/ui-resolver/index.d.ts +7 -4
  212. package/dist/client/ui-resolver/index.mjs +8 -6
  213. package/dist/client/ui-resolver/input.d.ts +3 -4
  214. package/dist/client/ui-resolver/input.d.ts.map +1 -1
  215. package/dist/client/ui-resolver/input.mjs +2 -2
  216. package/dist/client/ui-resolver/input.mjs.map +1 -1
  217. package/dist/client/ui-resolver/navigation-menu.d.ts +1 -2
  218. package/dist/client/ui-resolver/navigation-menu.d.ts.map +1 -1
  219. package/dist/client/ui-resolver/recipe.d.ts +95 -0
  220. package/dist/client/ui-resolver/recipe.d.ts.map +1 -0
  221. package/dist/client/ui-resolver/recipe.mjs +134 -0
  222. package/dist/client/ui-resolver/recipe.mjs.map +1 -0
  223. package/dist/client/ui-resolver/toggle.d.ts +2 -2
  224. package/dist/client/ui-resolver/toggle.mjs +2 -2
  225. package/dist/client/ui-resolver/toggle.mjs.map +1 -1
  226. package/dist/client/ui-resolver/types.d.ts +14 -0
  227. package/dist/client/ui-resolver/types.d.ts.map +1 -0
  228. package/dist/client/ui-resolver/types.mjs +1 -0
  229. package/dist/client/wishlist/wishlist-drawer.mjs +4 -4
  230. package/dist/client/wishlist/wishlist-drawer.mjs.map +1 -1
  231. package/dist/styles.css +1 -1
  232. package/package.json +4 -3
@@ -1,15 +1,38 @@
1
1
  import { useIcon } from "../icons/icon-context.mjs";
2
2
  import { cn } from "./utils.mjs";
3
+ import { defineRecipe, defineSlotRecipe } from "../ui-resolver/recipe.mjs";
3
4
  import "react";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
- import { cva } from "class-variance-authority";
6
6
  import { NavigationMenu as NavigationMenu$1 } from "radix-ui";
7
7
  //#region src/client/ui/navigation-menu.tsx
8
+ const navigationMenuRecipe = defineSlotRecipe({
9
+ slots: [
10
+ "root",
11
+ "list",
12
+ "item",
13
+ "content",
14
+ "viewport",
15
+ "link",
16
+ "indicator"
17
+ ],
18
+ base: {
19
+ root: "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
20
+ list: "group flex flex-1 list-none items-center justify-center gap-1",
21
+ item: "relative",
22
+ content: "top-0 left-0 w-full p-2 pr-2.5 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out md:absolute md:w-auto group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95",
23
+ viewport: "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-[var(--enad-card-radius)] border bg-popover text-popover-foreground shadow-[var(--enad-shadow-md)] data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
24
+ link: "flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none hover:bg-accent-muted hover:text-accent-muted-foreground focus:bg-accent-muted focus:text-accent-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground data-[active=true]:hover:bg-accent data-[active=true]:focus:bg-accent [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
25
+ indicator: "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in"
26
+ }
27
+ });
28
+ const navigationMenuTriggerRecipe = defineRecipe({ base: "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-[color,box-shadow] outline-none hover:bg-accent-muted hover:text-accent-muted-foreground focus:bg-accent-muted focus:text-accent-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent/50 data-[state=open]:text-accent-foreground data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent" });
29
+ const navigationMenuTriggerStyle = () => navigationMenuTriggerRecipe();
30
+ const defaultClasses = navigationMenuRecipe();
8
31
  function NavigationMenu({ className, children, viewport = true, ...props }) {
9
32
  return /* @__PURE__ */ jsxs(NavigationMenu$1.Root, {
10
33
  "data-slot": "navigation-menu",
11
34
  "data-viewport": viewport,
12
- className: cn("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", className),
35
+ className: cn(defaultClasses.root, className),
13
36
  ...props,
14
37
  children: [children, viewport && /* @__PURE__ */ jsx(NavigationMenuViewport, {})]
15
38
  });
@@ -17,23 +40,22 @@ function NavigationMenu({ className, children, viewport = true, ...props }) {
17
40
  function NavigationMenuList({ className, ...props }) {
18
41
  return /* @__PURE__ */ jsx(NavigationMenu$1.List, {
19
42
  "data-slot": "navigation-menu-list",
20
- className: cn("group flex flex-1 list-none items-center justify-center gap-1", className),
43
+ className: cn(defaultClasses.list, className),
21
44
  ...props
22
45
  });
23
46
  }
24
47
  function NavigationMenuItem({ className, ...props }) {
25
48
  return /* @__PURE__ */ jsx(NavigationMenu$1.Item, {
26
49
  "data-slot": "navigation-menu-item",
27
- className: cn("relative", className),
50
+ className: cn(defaultClasses.item, className),
28
51
  ...props
29
52
  });
30
53
  }
31
- const navigationMenuTriggerStyle = cva("group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-[color,box-shadow] outline-none hover:bg-accent-muted hover:text-accent-muted-foreground focus:bg-accent-muted focus:text-accent-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent/50 data-[state=open]:text-accent-foreground data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent");
32
54
  function NavigationMenuTrigger({ className, children, ...props }) {
33
55
  const ChevronDownIcon = useIcon("chevronDown");
34
56
  return /* @__PURE__ */ jsxs(NavigationMenu$1.Trigger, {
35
57
  "data-slot": "navigation-menu-trigger",
36
- className: cn(navigationMenuTriggerStyle(), "group", className),
58
+ className: cn(navigationMenuTriggerRecipe(), "group", className),
37
59
  ...props,
38
60
  children: [
39
61
  children,
@@ -48,16 +70,16 @@ function NavigationMenuTrigger({ className, children, ...props }) {
48
70
  function NavigationMenuContent({ className, ...props }) {
49
71
  return /* @__PURE__ */ jsx(NavigationMenu$1.Content, {
50
72
  "data-slot": "navigation-menu-content",
51
- className: cn("top-0 left-0 w-full p-2 pr-2.5 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out md:absolute md:w-auto", "group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95", className),
73
+ className: cn(defaultClasses.content, className),
52
74
  ...props
53
75
  });
54
76
  }
55
77
  function NavigationMenuViewport({ className, ...props }) {
56
78
  return /* @__PURE__ */ jsx("div", {
57
- className: cn("absolute top-full left-0 isolate z-50 flex justify-center"),
79
+ className: "absolute top-full left-0 isolate z-50 flex justify-center",
58
80
  children: /* @__PURE__ */ jsx(NavigationMenu$1.Viewport, {
59
81
  "data-slot": "navigation-menu-viewport",
60
- className: cn("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-[var(--enad-card-radius)] border bg-popover text-popover-foreground shadow-[var(--enad-shadow-md)] data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]", className),
82
+ className: cn(defaultClasses.viewport, className),
61
83
  ...props
62
84
  })
63
85
  });
@@ -65,19 +87,19 @@ function NavigationMenuViewport({ className, ...props }) {
65
87
  function NavigationMenuLink({ className, ...props }) {
66
88
  return /* @__PURE__ */ jsx(NavigationMenu$1.Link, {
67
89
  "data-slot": "navigation-menu-link",
68
- className: cn("flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none hover:bg-accent-muted hover:text-accent-muted-foreground focus:bg-accent-muted focus:text-accent-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground data-[active=true]:hover:bg-accent data-[active=true]:focus:bg-accent [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground", className),
90
+ className: cn(defaultClasses.link, className),
69
91
  ...props
70
92
  });
71
93
  }
72
94
  function NavigationMenuIndicator({ className, ...props }) {
73
95
  return /* @__PURE__ */ jsx(NavigationMenu$1.Indicator, {
74
96
  "data-slot": "navigation-menu-indicator",
75
- className: cn("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in", className),
97
+ className: cn(defaultClasses.indicator, className),
76
98
  ...props,
77
99
  children: /* @__PURE__ */ jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
78
100
  });
79
101
  }
80
102
  //#endregion
81
- export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle };
103
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuRecipe, navigationMenuTriggerRecipe, navigationMenuTriggerStyle };
82
104
 
83
105
  //# sourceMappingURL=navigation-menu.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-menu.mjs","names":["NavigationMenuPrimitive"],"sources":["../../../src/client/ui/navigation-menu.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva } from \"class-variance-authority\"\nimport { useIcon } from \"../icons/icon-context\"\nimport { NavigationMenu as NavigationMenuPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./utils\"\n\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(\n \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\n className\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n )\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn(\n \"group flex flex-1 list-none items-center justify-center gap-1\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn(\"relative\", className)}\n {...props}\n />\n )\n}\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-[color,box-shadow] outline-none hover:bg-accent-muted hover:text-accent-muted-foreground focus:bg-accent-muted focus:text-accent-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent/50 data-[state=open]:text-accent-foreground data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent\"\n)\n\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n const ChevronDownIcon = useIcon(\"chevronDown\")\n\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDownIcon\n className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n )\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n \"top-0 left-0 w-full p-2 pr-2.5 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out md:absolute md:w-auto\",\n \"group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div\n className={cn(\n \"absolute top-full left-0 isolate z-50 flex justify-center\"\n )}\n >\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n \"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-[var(--enad-card-radius)] border bg-popover text-popover-foreground shadow-[var(--enad-shadow-md)] data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className\n )}\n {...props}\n />\n </div>\n )\n}\n\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none hover:bg-accent-muted hover:text-accent-muted-foreground focus:bg-accent-muted focus:text-accent-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground data-[active=true]:hover:bg-accent data-[active=true]:focus:bg-accent [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n \"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in\",\n className\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n )\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n}\n"],"mappings":";;;;;;;AAOA,SAAS,eAAe,EACtB,WACA,UACA,WAAW,MACX,GAAG,SAGF;AACD,QACE,qBAACA,iBAAwB,MAAzB;EACE,aAAU;EACV,iBAAe;EACf,WAAW,GACT,oFACA,UACD;EACD,GAAI;YAPN,CASG,UACA,YAAY,oBAAC,wBAAD,EAA0B,CAAA,CACV;;;AAInC,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAACA,iBAAwB,MAAzB;EACE,aAAU;EACV,WAAW,GACT,iEACA,UACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAACA,iBAAwB,MAAzB;EACE,aAAU;EACV,WAAW,GAAG,YAAY,UAAU;EACpC,GAAI;EACJ,CAAA;;AAIN,MAAM,6BAA6B,IACjC,uhBACD;AAED,SAAS,sBAAsB,EAC7B,WACA,UACA,GAAG,SAC4D;CAC/D,MAAM,kBAAkB,QAAQ,cAAc;AAE9C,QACE,qBAACA,iBAAwB,SAAzB;EACE,aAAU;EACV,WAAW,GAAG,4BAA4B,EAAE,SAAS,UAAU;EAC/D,GAAI;YAHN;GAKG;GAAU;GACX,oBAAC,iBAAD;IACE,WAAU;IACV,eAAY;IACZ,CAAA;GAC8B;;;AAItC,SAAS,sBAAsB,EAC7B,WACA,GAAG,SAC4D;AAC/D,QACE,oBAACA,iBAAwB,SAAzB;EACE,aAAU;EACV,WAAW,GACT,oWACA,6hCACA,UACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAAC,OAAD;EACE,WAAW,GACT,4DACD;YAED,oBAACA,iBAAwB,UAAzB;GACE,aAAU;GACV,WAAW,GACT,qYACA,UACD;GACD,GAAI;GACJ,CAAA;EACE,CAAA;;AAIV,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAACA,iBAAwB,MAAzB;EACE,aAAU;EACV,WAAW,GACT,ifACA,UACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,wBAAwB,EAC/B,WACA,GAAG,SAC8D;AACjE,QACE,oBAACA,iBAAwB,WAAzB;EACE,aAAU;EACV,WAAW,GACT,gMACA,UACD;EACD,GAAI;YAEJ,oBAAC,OAAD,EAAK,WAAU,0EAA2E,CAAA;EACxD,CAAA"}
1
+ {"version":3,"file":"navigation-menu.mjs","names":["NavigationMenuPrimitive"],"sources":["../../../src/client/ui/navigation-menu.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\nimport { NavigationMenu as NavigationMenuPrimitive } from \"radix-ui\";\n\nimport { defineSlotRecipe, defineRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst navigationMenuRecipe = defineSlotRecipe({\n slots: [\"root\", \"list\", \"item\", \"content\", \"viewport\", \"link\", \"indicator\"] as const,\n base: {\n root: \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\n list: \"group flex flex-1 list-none items-center justify-center gap-1\",\n item: \"relative\",\n content:\n \"top-0 left-0 w-full p-2 pr-2.5 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out md:absolute md:w-auto group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95\",\n viewport:\n \"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-[var(--enad-card-radius)] border bg-popover text-popover-foreground shadow-[var(--enad-shadow-md)] data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n link: \"flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none hover:bg-accent-muted hover:text-accent-muted-foreground focus:bg-accent-muted focus:text-accent-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground data-[active=true]:hover:bg-accent data-[active=true]:focus:bg-accent [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground\",\n indicator:\n \"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in\",\n },\n});\n\nconst navigationMenuTriggerRecipe = defineRecipe({\n base: \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-[color,box-shadow] outline-none hover:bg-accent-muted hover:text-accent-muted-foreground focus:bg-accent-muted focus:text-accent-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent/50 data-[state=open]:text-accent-foreground data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent\",\n});\n\n// Backward compat\nconst navigationMenuTriggerStyle = () => navigationMenuTriggerRecipe();\n\nconst defaultClasses = navigationMenuRecipe();\n\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean;\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(defaultClasses.root, className)}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n );\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn(defaultClasses.list, className)}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn(defaultClasses.item, className)}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n const ChevronDownIcon = useIcon(\"chevronDown\");\n\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerRecipe(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDownIcon\n className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(defaultClasses.content, className)}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div className=\"absolute top-full left-0 isolate z-50 flex justify-center\">\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(defaultClasses.viewport, className)}\n {...props}\n />\n </div>\n );\n}\n\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(defaultClasses.link, className)}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(defaultClasses.indicator, className)}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n navigationMenuRecipe,\n navigationMenuTriggerRecipe,\n};\n"],"mappings":";;;;;;;AAOA,MAAM,uBAAuB,iBAAiB;CAC5C,OAAO;EAAC;EAAQ;EAAQ;EAAQ;EAAW;EAAY;EAAQ;EAAY;CAC3E,MAAM;EACJ,MAAM;EACN,MAAM;EACN,MAAM;EACN,SACE;EACF,UACE;EACF,MAAM;EACN,WACE;EACH;CACF,CAAC;AAEF,MAAM,8BAA8B,aAAa,EAC/C,MAAM,whBACP,CAAC;AAGF,MAAM,mCAAmC,6BAA6B;AAEtE,MAAM,iBAAiB,sBAAsB;AAE7C,SAAS,eAAe,EACtB,WACA,UACA,WAAW,MACX,GAAG,SAGF;AACD,QACE,qBAACA,iBAAwB,MAAzB;EACE,aAAU;EACV,iBAAe;EACf,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;YAJN,CAMG,UACA,YAAY,oBAAC,wBAAD,EAA0B,CAAA,CACV;;;AAInC,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAACA,iBAAwB,MAAzB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;EACJ,CAAA;;AAIN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAACA,iBAAwB,MAAzB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;EACJ,CAAA;;AAIN,SAAS,sBAAsB,EAC7B,WACA,UACA,GAAG,SAC4D;CAC/D,MAAM,kBAAkB,QAAQ,cAAc;AAE9C,QACE,qBAACA,iBAAwB,SAAzB;EACE,aAAU;EACV,WAAW,GAAG,6BAA6B,EAAE,SAAS,UAAU;EAChE,GAAI;YAHN;GAKG;GAAU;GACX,oBAAC,iBAAD;IACE,WAAU;IACV,eAAY;IACZ,CAAA;GAC8B;;;AAItC,SAAS,sBAAsB,EAC7B,WACA,GAAG,SAC4D;AAC/D,QACE,oBAACA,iBAAwB,SAAzB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,SAAS,UAAU;EAChD,GAAI;EACJ,CAAA;;AAIN,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAAC,OAAD;EAAK,WAAU;YACb,oBAACA,iBAAwB,UAAzB;GACE,aAAU;GACV,WAAW,GAAG,eAAe,UAAU,UAAU;GACjD,GAAI;GACJ,CAAA;EACE,CAAA;;AAIV,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAACA,iBAAwB,MAAzB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;EACJ,CAAA;;AAIN,SAAS,wBAAwB,EAC/B,WACA,GAAG,SAC8D;AACjE,QACE,oBAACA,iBAAwB,WAAzB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,WAAW,UAAU;EAClD,GAAI;YAEJ,oBAAC,OAAD,EAAK,WAAU,0EAA2E,CAAA;EACxD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","names":[],"sources":["../../../src/client/ui/pagination.tsx"],"mappings":";;;;;iBAMS,UAAA,CAAA;EAAa,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAY/D,iBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUpB,cAAA,CAAA;EAAA,GAAoB;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAI3D,mBAAA;EACH,QAAA;AAAA,IACE,IAAA,CAAK,OAAA,CAAM,cAAA,QAAsB,MAAA,aACnC,OAAA,CAAM,cAAA;AAAA,iBAEC,cAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,IAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,mBAAA,GAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAqBb,kBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgBrC,cAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgBrC,kBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"pagination.d.ts","names":[],"sources":["../../../src/client/ui/pagination.tsx"],"mappings":";;;;;iBAMS,UAAA,CAAA;EAAa,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAW/D,iBAAA,CAAA;EAAoB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUrE,cAAA,CAAA;EAAA,GAAoB;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAI3D,mBAAA;EACH,QAAA;AAAA,IACE,IAAA,CAAK,OAAA,CAAM,cAAA,QAAsB,MAAA,aACnC,OAAA,CAAM,cAAA;AAAA,iBAEC,cAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,IAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,mBAAA,GAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAqBb,kBAAA,CAAA;EAAqB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgBvF,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgBnF,kBAAA,CAAA;EAAqB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -31,7 +31,7 @@ function PaginationLink({ className, isActive, size = "icon", children, ...props
31
31
  "data-slot": "pagination-link",
32
32
  "data-active": isActive,
33
33
  className: cn(buttonVariants({
34
- variant: isActive ? "outline" : "ghost",
34
+ variant: isActive ? "outlined" : "plain",
35
35
  size
36
36
  }), "relative hit-area-1", className),
37
37
  ...props,
@@ -42,7 +42,7 @@ function PaginationPrevious({ className, ...props }) {
42
42
  const ChevronLeftIcon = useIcon("chevronLeft");
43
43
  return /* @__PURE__ */ jsxs(PaginationLink, {
44
44
  "aria-label": "Go to previous page",
45
- size: "default",
45
+ size: "md",
46
46
  className: cn("gap-1 px-2.5 sm:pl-2.5", className),
47
47
  ...props,
48
48
  children: [/* @__PURE__ */ jsx(ChevronLeftIcon, {}), /* @__PURE__ */ jsx("span", {
@@ -55,7 +55,7 @@ function PaginationNext({ className, ...props }) {
55
55
  const ChevronRightIcon = useIcon("chevronRight");
56
56
  return /* @__PURE__ */ jsxs(PaginationLink, {
57
57
  "aria-label": "Go to next page",
58
- size: "default",
58
+ size: "md",
59
59
  className: cn("gap-1 px-2.5 sm:pr-2.5", className),
60
60
  ...props,
61
61
  children: [/* @__PURE__ */ jsx("span", {
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.mjs","names":[],"sources":["../../../src/client/ui/pagination.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { useIcon } from \"../icons/icon-context\"\n\nimport { cn } from \"./utils\"\nimport { buttonVariants, type Button } from \"./button\"\n\nfunction Pagination({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n \n aria-label=\"pagination\"\n data-slot=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n )\n}\n\nfunction PaginationContent({\n className,\n ...props\n}: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"pagination-content\"\n className={cn(\"flex flex-row items-center gap-1\", className)}\n {...props}\n />\n )\n}\n\nfunction PaginationItem({ ...props }: React.ComponentProps<\"li\">) {\n return <li data-slot=\"pagination-item\" {...props} />\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean\n} & Pick<React.ComponentProps<typeof Button>, \"size\"> &\n React.ComponentProps<\"a\">\n\nfunction PaginationLink({\n className,\n isActive,\n size = \"icon\",\n children,\n ...props\n}: PaginationLinkProps) {\n return (\n <a\n aria-current={isActive ? \"page\" : undefined}\n data-slot=\"pagination-link\"\n data-active={isActive}\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n \"relative hit-area-1\",\n className\n )}\n {...props}\n >\n {children}\n </a>\n )\n}\n\nfunction PaginationPrevious({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n const ChevronLeftIcon = useIcon(\"chevronLeft\")\n\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"gap-1 px-2.5 sm:pl-2.5\", className)}\n {...props}\n >\n <ChevronLeftIcon />\n <span className=\"hidden sm:block\">Previous</span>\n </PaginationLink>\n )\n}\n\nfunction PaginationNext({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n const ChevronRightIcon = useIcon(\"chevronRight\")\n\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"gap-1 px-2.5 sm:pr-2.5\", className)}\n {...props}\n >\n <span className=\"hidden sm:block\">Next</span>\n <ChevronRightIcon />\n </PaginationLink>\n )\n}\n\nfunction PaginationEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n const MoreHorizontalIcon = useIcon(\"more\")\n\n return (\n <span\n aria-hidden\n data-slot=\"pagination-ellipsis\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontalIcon className=\"size-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n )\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n}\n"],"mappings":";;;;;;AAMA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC,OAAD;EAEE,cAAW;EACX,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;EACJ,CAAA;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC0B;AAC7B,QACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GAAG,oCAAoC,UAAU;EAC5D,GAAI;EACJ,CAAA;;AAIN,SAAS,eAAe,EAAE,GAAG,SAAqC;AAChE,QAAO,oBAAC,MAAD;EAAI,aAAU;EAAkB,GAAI;EAAS,CAAA;;AAQtD,SAAS,eAAe,EACtB,WACA,UACA,OAAO,QACP,UACA,GAAG,SACmB;AACtB,QACE,oBAAC,KAAD;EACE,gBAAc,WAAW,SAAS,KAAA;EAClC,aAAU;EACV,eAAa;EACb,WAAW,GACT,eAAe;GACb,SAAS,WAAW,YAAY;GAChC;GACD,CAAC,EACF,uBACA,UACD;EACD,GAAI;EAEH;EACC,CAAA;;AAIR,SAAS,mBAAmB,EAC1B,WACA,GAAG,SAC2C;CAC9C,MAAM,kBAAkB,QAAQ,cAAc;AAE9C,QACE,qBAAC,gBAAD;EACE,cAAW;EACX,MAAK;EACL,WAAW,GAAG,0BAA0B,UAAU;EAClD,GAAI;YAJN,CAME,oBAAC,iBAAD,EAAmB,CAAA,EACnB,oBAAC,QAAD;GAAM,WAAU;aAAkB;GAAe,CAAA,CAClC;;;AAIrB,SAAS,eAAe,EACtB,WACA,GAAG,SAC2C;CAC9C,MAAM,mBAAmB,QAAQ,eAAe;AAEhD,QACE,qBAAC,gBAAD;EACE,cAAW;EACX,MAAK;EACL,WAAW,GAAG,0BAA0B,UAAU;EAClD,GAAI;YAJN,CAME,oBAAC,QAAD;GAAM,WAAU;aAAkB;GAAW,CAAA,EAC7C,oBAAC,kBAAD,EAAoB,CAAA,CACL;;;AAIrB,SAAS,mBAAmB,EAC1B,WACA,GAAG,SAC4B;CAC/B,MAAM,qBAAqB,QAAQ,OAAO;AAE1C,QACE,qBAAC,QAAD;EACE,eAAA;EACA,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;YAJN,CAME,oBAAC,oBAAD,EAAoB,WAAU,UAAW,CAAA,EACzC,oBAAC,QAAD;GAAM,WAAU;aAAU;GAAiB,CAAA,CACtC"}
1
+ {"version":3,"file":"pagination.mjs","names":[],"sources":["../../../src/client/ui/pagination.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\n\nimport { cn } from \"./utils\";\nimport { buttonVariants, type Button } from \"./button\";\n\nfunction Pagination({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n aria-label=\"pagination\"\n data-slot=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationContent({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"pagination-content\"\n className={cn(\"flex flex-row items-center gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationItem({ ...props }: React.ComponentProps<\"li\">) {\n return <li data-slot=\"pagination-item\" {...props} />;\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<React.ComponentProps<typeof Button>, \"size\"> &\n React.ComponentProps<\"a\">;\n\nfunction PaginationLink({\n className,\n isActive,\n size = \"icon\",\n children,\n ...props\n}: PaginationLinkProps) {\n return (\n <a\n aria-current={isActive ? \"page\" : undefined}\n data-slot=\"pagination-link\"\n data-active={isActive}\n className={cn(\n buttonVariants({\n variant: isActive ? \"outlined\" : \"plain\",\n size,\n }),\n \"relative hit-area-1\",\n className,\n )}\n {...props}\n >\n {children}\n </a>\n );\n}\n\nfunction PaginationPrevious({ className, ...props }: React.ComponentProps<typeof PaginationLink>) {\n const ChevronLeftIcon = useIcon(\"chevronLeft\");\n\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"md\"\n className={cn(\"gap-1 px-2.5 sm:pl-2.5\", className)}\n {...props}\n >\n <ChevronLeftIcon />\n <span className=\"hidden sm:block\">Previous</span>\n </PaginationLink>\n );\n}\n\nfunction PaginationNext({ className, ...props }: React.ComponentProps<typeof PaginationLink>) {\n const ChevronRightIcon = useIcon(\"chevronRight\");\n\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"md\"\n className={cn(\"gap-1 px-2.5 sm:pr-2.5\", className)}\n {...props}\n >\n <span className=\"hidden sm:block\">Next</span>\n <ChevronRightIcon />\n </PaginationLink>\n );\n}\n\nfunction PaginationEllipsis({ className, ...props }: React.ComponentProps<\"span\">) {\n const MoreHorizontalIcon = useIcon(\"more\");\n\n return (\n <span\n aria-hidden\n data-slot=\"pagination-ellipsis\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontalIcon className=\"size-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n};\n"],"mappings":";;;;;;AAMA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC,OAAD;EACE,cAAW;EACX,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;EACJ,CAAA;;AAIN,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAqC;AAC9E,QACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GAAG,oCAAoC,UAAU;EAC5D,GAAI;EACJ,CAAA;;AAIN,SAAS,eAAe,EAAE,GAAG,SAAqC;AAChE,QAAO,oBAAC,MAAD;EAAI,aAAU;EAAkB,GAAI;EAAS,CAAA;;AAQtD,SAAS,eAAe,EACtB,WACA,UACA,OAAO,QACP,UACA,GAAG,SACmB;AACtB,QACE,oBAAC,KAAD;EACE,gBAAc,WAAW,SAAS,KAAA;EAClC,aAAU;EACV,eAAa;EACb,WAAW,GACT,eAAe;GACb,SAAS,WAAW,aAAa;GACjC;GACD,CAAC,EACF,uBACA,UACD;EACD,GAAI;EAEH;EACC,CAAA;;AAIR,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAsD;CAChG,MAAM,kBAAkB,QAAQ,cAAc;AAE9C,QACE,qBAAC,gBAAD;EACE,cAAW;EACX,MAAK;EACL,WAAW,GAAG,0BAA0B,UAAU;EAClD,GAAI;YAJN,CAME,oBAAC,iBAAD,EAAmB,CAAA,EACnB,oBAAC,QAAD;GAAM,WAAU;aAAkB;GAAe,CAAA,CAClC;;;AAIrB,SAAS,eAAe,EAAE,WAAW,GAAG,SAAsD;CAC5F,MAAM,mBAAmB,QAAQ,eAAe;AAEhD,QACE,qBAAC,gBAAD;EACE,cAAW;EACX,MAAK;EACL,WAAW,GAAG,0BAA0B,UAAU;EAClD,GAAI;YAJN,CAME,oBAAC,QAAD;GAAM,WAAU;aAAkB;GAAW,CAAA,EAC7C,oBAAC,kBAAD,EAAoB,CAAA,CACL;;;AAIrB,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAuC;CACjF,MAAM,qBAAqB,QAAQ,OAAO;AAE1C,QACE,qBAAC,QAAD;EACE,eAAA;EACA,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;YAJN,CAME,oBAAC,oBAAD,EAAoB,WAAU,UAAW,CAAA,EACzC,oBAAC,QAAD;GAAM,WAAU;aAAU;GAAiB,CAAA,CACtC"}
@@ -3,6 +3,16 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { Popover as Popover$1 } from "radix-ui";
4
4
 
5
5
  //#region src/client/ui/popover.d.ts
6
+ declare const popoverRecipe: (props?: ({
7
+ [x: string]: string | undefined;
8
+ } & {
9
+ className?: Partial<Record<"content" | "title" | "description" | "header", string>> | undefined;
10
+ }) | undefined) => {
11
+ content: string;
12
+ title: string;
13
+ description: string;
14
+ header: string;
15
+ };
6
16
  declare function Popover({
7
17
  ...props
8
18
  }: React$1.ComponentProps<typeof Popover$1.Root>): react_jsx_runtime0.JSX.Element;
@@ -31,5 +41,5 @@ declare function PopoverDescription({
31
41
  ...props
32
42
  }: React$1.ComponentProps<"p">): react_jsx_runtime0.JSX.Element;
33
43
  //#endregion
34
- export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger };
44
+ export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, popoverRecipe };
35
45
  //# sourceMappingURL=popover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover.d.ts","names":[],"sources":["../../../src/client/ui/popover.tsx"],"mappings":";;;;;iBAOS,OAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI5C,cAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI/C,cAAA,CAAA;EACP,SAAA;EACA,KAAA;EACA,UAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiB/C,aAAA,CAAA;EAAA,GACJ;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,MAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI9C,aAAA,CAAA;EAAgB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUlE,YAAA,CAAA;EAAe,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUhE,kBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"popover.d.ts","names":[],"sources":["../../../src/client/ui/popover.tsx"],"mappings":";;;;;cAQM,aAAA,GAAa,KAAA;EAAA;;cASjB,OAAA,CAAA,MAAA;AAAA;;;;;;iBAIO,OAAA,CAAA;EAAA,GAAa;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIxE,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,KAAA;EACA,UAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAc/C,aAAA,CAAA;EAAA,GAAmB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,SAAA,CAAiB,MAAA,IAAO,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIhF,aAAA,CAAA;EAAgB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAMlE,YAAA,CAAA;EAAe,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAMhE,kBAAA,CAAA;EAAqB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,9 +1,25 @@
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 { Popover as Popover$1 } from "radix-ui";
6
7
  //#region src/client/ui/popover.tsx
8
+ const popoverRecipe = defineSlotRecipe({
9
+ slots: [
10
+ "content",
11
+ "header",
12
+ "title",
13
+ "description"
14
+ ],
15
+ base: {
16
+ content: "z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-[var(--enad-card-radius)] border bg-popover p-4 text-popover-foreground shadow-[var(--enad-shadow-md)] outline-hidden 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
17
+ header: "flex flex-col gap-1 text-sm",
18
+ title: "font-medium",
19
+ description: "text-muted-foreground"
20
+ }
21
+ });
22
+ const defaultClasses = popoverRecipe();
7
23
  function Popover({ ...props }) {
8
24
  return /* @__PURE__ */ jsx(Popover$1.Root, {
9
25
  "data-slot": "popover",
@@ -21,7 +37,7 @@ function PopoverContent({ className, align = "center", sideOffset = 4, ...props
21
37
  "data-slot": "popover-content",
22
38
  align,
23
39
  sideOffset,
24
- className: cn("z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-[var(--enad-card-radius)] border bg-popover p-4 text-popover-foreground shadow-[var(--enad-shadow-md)] outline-hidden 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95", className),
40
+ className: cn(defaultClasses.content, className),
25
41
  ...props
26
42
  }) });
27
43
  }
@@ -34,25 +50,25 @@ function PopoverAnchor({ ...props }) {
34
50
  function PopoverHeader({ className, ...props }) {
35
51
  return /* @__PURE__ */ jsx("div", {
36
52
  "data-slot": "popover-header",
37
- className: cn("flex flex-col gap-1 text-sm", className),
53
+ className: cn(defaultClasses.header, className),
38
54
  ...props
39
55
  });
40
56
  }
41
57
  function PopoverTitle({ className, ...props }) {
42
58
  return /* @__PURE__ */ jsx("div", {
43
59
  "data-slot": "popover-title",
44
- className: cn("font-medium", className),
60
+ className: cn(defaultClasses.title, className),
45
61
  ...props
46
62
  });
47
63
  }
48
64
  function PopoverDescription({ className, ...props }) {
49
65
  return /* @__PURE__ */ jsx("p", {
50
66
  "data-slot": "popover-description",
51
- className: cn("text-muted-foreground", className),
67
+ className: cn(defaultClasses.description, className),
52
68
  ...props
53
69
  });
54
70
  }
55
71
  //#endregion
56
- export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger };
72
+ export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, popoverRecipe };
57
73
 
58
74
  //# sourceMappingURL=popover.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover.mjs","names":["PopoverPrimitive"],"sources":["../../../src/client/ui/popover.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Popover as PopoverPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./utils\"\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-[var(--enad-card-radius)] border bg-popover p-4 text-popover-foreground shadow-[var(--enad-shadow-md)] outline-hidden 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"popover-header\"\n className={cn(\"flex flex-col gap-1 text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverTitle({ className, ...props }: React.ComponentProps<\"h2\">) {\n return (\n <div\n data-slot=\"popover-title\"\n className={cn(\"font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"popover-description\"\n className={cn(\"text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Popover,\n PopoverTrigger,\n PopoverContent,\n PopoverAnchor,\n PopoverHeader,\n PopoverTitle,\n PopoverDescription,\n}\n"],"mappings":";;;;;;AAOA,SAAS,QAAQ,EACf,GAAG,SACkD;AACrD,QAAO,oBAACA,UAAiB,MAAlB;EAAuB,aAAU;EAAU,GAAI;EAAS,CAAA;;AAGjE,SAAS,eAAe,EACtB,GAAG,SACqD;AACxD,QAAO,oBAACA,UAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;EAAS,CAAA;;AAG5E,SAAS,eAAe,EACtB,WACA,QAAQ,UACR,aAAa,GACb,GAAG,SACqD;AACxD,QACE,oBAACA,UAAiB,QAAlB,EAAA,UACE,oBAACA,UAAiB,SAAlB;EACE,aAAU;EACH;EACK;EACZ,WAAW,GACT,8gBACA,UACD;EACD,GAAI;EACJ,CAAA,EACsB,CAAA;;AAI9B,SAAS,cAAc,EACrB,GAAG,SACoD;AACvD,QAAO,oBAACA,UAAiB,QAAlB;EAAyB,aAAU;EAAiB,GAAI;EAAS,CAAA;;AAG1E,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;AAC3E,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,+BAA+B,UAAU;EACvD,GAAI;EACJ,CAAA;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAqC;AACzE,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,eAAe,UAAU;EACvC,GAAI;EACJ,CAAA;;AAIN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyB;AAC5B,QACE,oBAAC,KAAD;EACE,aAAU;EACV,WAAW,GAAG,yBAAyB,UAAU;EACjD,GAAI;EACJ,CAAA"}
1
+ {"version":3,"file":"popover.mjs","names":["PopoverPrimitive"],"sources":["../../../src/client/ui/popover.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Popover as PopoverPrimitive } from \"radix-ui\";\n\nimport { defineSlotRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst popoverRecipe = defineSlotRecipe({\n slots: [\"content\", \"header\", \"title\", \"description\"] as const,\n base: {\n content:\n \"z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-[var(--enad-card-radius)] border bg-popover p-4 text-popover-foreground shadow-[var(--enad-shadow-md)] outline-hidden 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n header: \"flex flex-col gap-1 text-sm\",\n title: \"font-medium\",\n description: \"text-muted-foreground\",\n },\n});\n\nconst defaultClasses = popoverRecipe();\n\nfunction Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(defaultClasses.content, className)}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"popover-header\" className={cn(defaultClasses.header, className)} {...props} />\n );\n}\n\nfunction PopoverTitle({ className, ...props }: React.ComponentProps<\"h2\">) {\n return (\n <div data-slot=\"popover-title\" className={cn(defaultClasses.title, className)} {...props} />\n );\n}\n\nfunction PopoverDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"popover-description\"\n className={cn(defaultClasses.description, className)}\n {...props}\n />\n );\n}\n\nexport {\n Popover,\n PopoverTrigger,\n PopoverContent,\n PopoverAnchor,\n PopoverHeader,\n PopoverTitle,\n PopoverDescription,\n popoverRecipe,\n};\n"],"mappings":";;;;;;;AAQA,MAAM,gBAAgB,iBAAiB;CACrC,OAAO;EAAC;EAAW;EAAU;EAAS;EAAc;CACpD,MAAM;EACJ,SACE;EACF,QAAQ;EACR,OAAO;EACP,aAAa;EACd;CACF,CAAC;AAEF,MAAM,iBAAiB,eAAe;AAEtC,SAAS,QAAQ,EAAE,GAAG,SAA6D;AACjF,QAAO,oBAACA,UAAiB,MAAlB;EAAuB,aAAU;EAAU,GAAI;EAAS,CAAA;;AAGjE,SAAS,eAAe,EAAE,GAAG,SAAgE;AAC3F,QAAO,oBAACA,UAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;EAAS,CAAA;;AAG5E,SAAS,eAAe,EACtB,WACA,QAAQ,UACR,aAAa,GACb,GAAG,SACqD;AACxD,QACE,oBAACA,UAAiB,QAAlB,EAAA,UACE,oBAACA,UAAiB,SAAlB;EACE,aAAU;EACH;EACK;EACZ,WAAW,GAAG,eAAe,SAAS,UAAU;EAChD,GAAI;EACJ,CAAA,EACsB,CAAA;;AAI9B,SAAS,cAAc,EAAE,GAAG,SAA+D;AACzF,QAAO,oBAACA,UAAiB,QAAlB;EAAyB,aAAU;EAAiB,GAAI;EAAS,CAAA;;AAG1E,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;AAC3E,QACE,oBAAC,OAAD;EAAK,aAAU;EAAiB,WAAW,GAAG,eAAe,QAAQ,UAAU;EAAE,GAAI;EAAS,CAAA;;AAIlG,SAAS,aAAa,EAAE,WAAW,GAAG,SAAqC;AACzE,QACE,oBAAC,OAAD;EAAK,aAAU;EAAgB,WAAW,GAAG,eAAe,OAAO,UAAU;EAAE,GAAI;EAAS,CAAA;;AAIhG,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAoC;AAC9E,QACE,oBAAC,KAAD;EACE,aAAU;EACV,WAAW,GAAG,eAAe,aAAa,UAAU;EACpD,GAAI;EACJ,CAAA"}
@@ -3,11 +3,19 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { Progress as Progress$1 } from "radix-ui";
4
4
 
5
5
  //#region src/client/ui/progress.d.ts
6
+ declare const progressRecipe: (props?: ({
7
+ [x: string]: string | undefined;
8
+ } & {
9
+ className?: Partial<Record<"root" | "indicator", string>> | undefined;
10
+ }) | undefined) => {
11
+ root: string;
12
+ indicator: string;
13
+ };
6
14
  declare function Progress({
7
15
  className,
8
16
  value,
9
17
  ...props
10
18
  }: React$1.ComponentProps<typeof Progress$1.Root>): react_jsx_runtime0.JSX.Element;
11
19
  //#endregion
12
- export { Progress };
20
+ export { Progress, progressRecipe };
13
21
  //# sourceMappingURL=progress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","names":[],"sources":["../../../src/client/ui/progress.tsx"],"mappings":";;;;;iBAOS,QAAA,CAAA;EACP,SAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,UAAA,CAAkB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"progress.d.ts","names":[],"sources":["../../../src/client/ui/progress.tsx"],"mappings":";;;;;cAQM,cAAA,GAAc,KAAA;EAAA;;cAMlB,OAAA,CAAA,MAAA;AAAA;;;;iBAIO,QAAA,CAAA;EACP,SAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,UAAA,CAAkB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,23 +1,32 @@
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 { Progress as Progress$1 } from "radix-ui";
6
7
  //#region src/client/ui/progress.tsx
8
+ const progressRecipe = defineSlotRecipe({
9
+ slots: ["root", "indicator"],
10
+ base: {
11
+ root: "relative h-2 w-full overflow-hidden rounded-full bg-primary/20",
12
+ indicator: "h-full w-full flex-1 rounded-full bg-primary transition-all"
13
+ }
14
+ });
15
+ const defaultClasses = progressRecipe();
7
16
  function Progress({ className, value, ...props }) {
8
17
  return /* @__PURE__ */ jsx(Progress$1.Root, {
9
18
  "data-slot": "progress",
10
19
  value,
11
- className: cn("relative h-2 w-full overflow-hidden rounded-full bg-primary/20", className),
20
+ className: cn(defaultClasses.root, className),
12
21
  ...props,
13
22
  children: /* @__PURE__ */ jsx(Progress$1.Indicator, {
14
23
  "data-slot": "progress-indicator",
15
- className: "h-full w-full flex-1 rounded-full bg-primary transition-all",
24
+ className: defaultClasses.indicator,
16
25
  style: { transform: `translateX(-${100 - (value ?? 0)}%)` }
17
26
  })
18
27
  });
19
28
  }
20
29
  //#endregion
21
- export { Progress };
30
+ export { Progress, progressRecipe };
22
31
 
23
32
  //# sourceMappingURL=progress.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress.mjs","names":["ProgressPrimitive"],"sources":["../../../src/client/ui/progress.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Progress as ProgressPrimitive } from \"radix-ui\";\n\nimport { cn } from \"./utils\";\n\nfunction Progress({\n className,\n value,\n ...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n value={value}\n className={cn(\"relative h-2 w-full overflow-hidden rounded-full bg-primary/20\", className)}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"h-full w-full flex-1 rounded-full bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value ?? 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\nexport { Progress };\n"],"mappings":";;;;;;AAOA,SAAS,SAAS,EAChB,WACA,OACA,GAAG,SACmD;AACtD,QACE,oBAACA,WAAkB,MAAnB;EACE,aAAU;EACH;EACP,WAAW,GAAG,kEAAkE,UAAU;EAC1F,GAAI;YAEJ,oBAACA,WAAkB,WAAnB;GACE,aAAU;GACV,WAAU;GACV,OAAO,EAAE,WAAW,eAAe,OAAO,SAAS,GAAG,KAAK;GAC3D,CAAA;EACqB,CAAA"}
1
+ {"version":3,"file":"progress.mjs","names":["ProgressPrimitive"],"sources":["../../../src/client/ui/progress.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Progress as ProgressPrimitive } from \"radix-ui\";\n\nimport { defineSlotRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst progressRecipe = defineSlotRecipe({\n slots: [\"root\", \"indicator\"] as const,\n base: {\n root: \"relative h-2 w-full overflow-hidden rounded-full bg-primary/20\",\n indicator: \"h-full w-full flex-1 rounded-full bg-primary transition-all\",\n },\n});\n\nconst defaultClasses = progressRecipe();\n\nfunction Progress({\n className,\n value,\n ...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n value={value}\n className={cn(defaultClasses.root, className)}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className={defaultClasses.indicator}\n style={{ transform: `translateX(-${100 - (value ?? 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\nexport { Progress, progressRecipe };\n"],"mappings":";;;;;;;AAQA,MAAM,iBAAiB,iBAAiB;CACtC,OAAO,CAAC,QAAQ,YAAY;CAC5B,MAAM;EACJ,MAAM;EACN,WAAW;EACZ;CACF,CAAC;AAEF,MAAM,iBAAiB,gBAAgB;AAEvC,SAAS,SAAS,EAChB,WACA,OACA,GAAG,SACmD;AACtD,QACE,oBAACA,WAAkB,MAAnB;EACE,aAAU;EACH;EACP,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;YAEJ,oBAACA,WAAkB,WAAnB;GACE,aAAU;GACV,WAAW,eAAe;GAC1B,OAAO,EAAE,WAAW,eAAe,OAAO,SAAS,GAAG,KAAK;GAC3D,CAAA;EACqB,CAAA"}
@@ -3,6 +3,18 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { Select as Select$1 } from "radix-ui";
4
4
 
5
5
  //#region src/client/ui/select.d.ts
6
+ declare const selectRecipe: (props?: ({
7
+ size?: "sm" | "md" | undefined;
8
+ } & {
9
+ className?: Partial<Record<"item" | "trigger" | "content" | "separator" | "label" | "scrollButton", string>> | undefined;
10
+ }) | undefined) => {
11
+ item: string;
12
+ trigger: string;
13
+ content: string;
14
+ separator: string;
15
+ label: string;
16
+ scrollButton: string;
17
+ };
6
18
  declare function Select({
7
19
  ...props
8
20
  }: React$1.ComponentProps<typeof Select$1.Root>): react_jsx_runtime0.JSX.Element;
@@ -18,7 +30,7 @@ declare function SelectTrigger({
18
30
  children,
19
31
  ...props
20
32
  }: React$1.ComponentProps<typeof Select$1.Trigger> & {
21
- size?: "sm" | "default";
33
+ size?: "sm" | "md";
22
34
  }): react_jsx_runtime0.JSX.Element;
23
35
  declare function SelectContent({
24
36
  className,
@@ -49,5 +61,5 @@ declare function SelectScrollDownButton({
49
61
  ...props
50
62
  }: React$1.ComponentProps<typeof Select$1.ScrollDownButton>): react_jsx_runtime0.JSX.Element;
51
63
  //#endregion
52
- export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
64
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, selectRecipe };
53
65
  //# sourceMappingURL=select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","names":[],"sources":["../../../src/client/ui/select.tsx"],"mappings":";;;;;iBAMS,MAAA,CAAA;EAAA,GAAY;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAItE,WAAA,CAAA;EAAA,GAAiB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI5E,WAAA,CAAA;EAAA,GAAiB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI5E,aAAA,CAAA;EACP,SAAA;EACA,IAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,OAAA;EAC7C,IAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAqBQ,aAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,QAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA+B9C,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUvF,UAAA,CAAA;EACP,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAyB3C,eAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,SAAA,IAAU,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUhD,oBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAcrD,sBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,gBAAA,IAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"select.d.ts","names":[],"sources":["../../../src/client/ui/select.tsx"],"mappings":";;;;;cAOM,YAAA,GAAY,KAAA;;;cAqBhB,OAAA,CAAA,MAAA;AAAA;;;;;;;;iBAIO,MAAA,CAAA;EAAA,GAAY;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAItE,WAAA,CAAA;EAAA,GAAiB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI5E,WAAA,CAAA;EAAA,GAAiB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI5E,aAAA,CAAA;EACP,SAAA;EACA,IAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,OAAA;EAC7C,IAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAmBQ,aAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,QAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA+B9C,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUvF,UAAA,CAAA;EACP,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAsB3C,eAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,SAAA,IAAU,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUhD,oBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAcrD,sBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,gBAAA,IAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,9 +1,34 @@
1
1
  import { useIcon } from "../icons/icon-context.mjs";
2
2
  import { cn } from "./utils.mjs";
3
+ import { defineSlotRecipe } from "../ui-resolver/recipe.mjs";
3
4
  import "react";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import { Select as Select$1 } from "radix-ui";
6
7
  //#region src/client/ui/select.tsx
8
+ const selectRecipe = defineSlotRecipe({
9
+ slots: [
10
+ "trigger",
11
+ "content",
12
+ "item",
13
+ "label",
14
+ "separator",
15
+ "scrollButton"
16
+ ],
17
+ base: {
18
+ trigger: "flex w-fit items-center justify-between gap-2 rounded-[var(--enad-input-radius)] border border-input bg-transparent px-[var(--enad-input-px)] py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
19
+ content: "relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[var(--enad-input-radius)] border bg-popover text-popover-foreground shadow-[var(--enad-shadow-md)] 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
20
+ item: "relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent-muted focus:text-accent-muted-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
21
+ label: "px-2 py-1.5 text-xs text-muted-foreground",
22
+ separator: "pointer-events-none -mx-1 my-1 h-px bg-border",
23
+ scrollButton: "flex cursor-default items-center justify-center py-1"
24
+ },
25
+ variants: { size: {
26
+ sm: { trigger: "h-[var(--enad-control-height-sm)]" },
27
+ md: { trigger: "h-[var(--enad-input-height)]" }
28
+ } },
29
+ defaultVariants: { size: "md" }
30
+ });
31
+ const defaultClasses = selectRecipe();
7
32
  function Select({ ...props }) {
8
33
  return /* @__PURE__ */ jsx(Select$1.Root, {
9
34
  "data-slot": "select",
@@ -22,12 +47,13 @@ function SelectValue({ ...props }) {
22
47
  ...props
23
48
  });
24
49
  }
25
- function SelectTrigger({ className, size = "default", children, ...props }) {
50
+ function SelectTrigger({ className, size = "md", children, ...props }) {
26
51
  const ChevronDownIcon = useIcon("chevronDown");
52
+ const classes = selectRecipe({ size });
27
53
  return /* @__PURE__ */ jsxs(Select$1.Trigger, {
28
54
  "data-slot": "select-trigger",
29
55
  "data-size": size,
30
- className: cn("flex w-fit items-center justify-between gap-2 rounded-[var(--enad-input-radius)] border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-[var(--enad-control-height)] data-[size=sm]:h-[var(--enad-control-height-sm)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground", className),
56
+ className: cn(classes.trigger, className),
31
57
  ...props,
32
58
  children: [children, /* @__PURE__ */ jsx(Select$1.Icon, {
33
59
  asChild: true,
@@ -38,7 +64,7 @@ function SelectTrigger({ className, size = "default", children, ...props }) {
38
64
  function SelectContent({ className, children, position = "item-aligned", align = "center", ...props }) {
39
65
  return /* @__PURE__ */ jsx(Select$1.Portal, { children: /* @__PURE__ */ jsxs(Select$1.Content, {
40
66
  "data-slot": "select-content",
41
- className: cn("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[var(--enad-input-radius)] border bg-popover text-popover-foreground shadow-[var(--enad-shadow-md)] 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
67
+ className: cn(defaultClasses.content, position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
42
68
  position,
43
69
  align,
44
70
  ...props,
@@ -55,7 +81,7 @@ function SelectContent({ className, children, position = "item-aligned", align =
55
81
  function SelectLabel({ className, ...props }) {
56
82
  return /* @__PURE__ */ jsx(Select$1.Label, {
57
83
  "data-slot": "select-label",
58
- className: cn("px-2 py-1.5 text-xs text-muted-foreground", className),
84
+ className: cn(defaultClasses.label, className),
59
85
  ...props
60
86
  });
61
87
  }
@@ -63,7 +89,7 @@ function SelectItem({ className, children, ...props }) {
63
89
  const CheckIcon = useIcon("check");
64
90
  return /* @__PURE__ */ jsxs(Select$1.Item, {
65
91
  "data-slot": "select-item",
66
- className: cn("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent-muted focus:text-accent-muted-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className),
92
+ className: cn(defaultClasses.item, className),
67
93
  ...props,
68
94
  children: [/* @__PURE__ */ jsx("span", {
69
95
  "data-slot": "select-item-indicator",
@@ -75,7 +101,7 @@ function SelectItem({ className, children, ...props }) {
75
101
  function SelectSeparator({ className, ...props }) {
76
102
  return /* @__PURE__ */ jsx(Select$1.Separator, {
77
103
  "data-slot": "select-separator",
78
- className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className),
104
+ className: cn(defaultClasses.separator, className),
79
105
  ...props
80
106
  });
81
107
  }
@@ -83,7 +109,7 @@ function SelectScrollUpButton({ className, ...props }) {
83
109
  const ChevronUpIcon = useIcon("chevronUp");
84
110
  return /* @__PURE__ */ jsx(Select$1.ScrollUpButton, {
85
111
  "data-slot": "select-scroll-up-button",
86
- className: cn("flex cursor-default items-center justify-center py-1", className),
112
+ className: cn(defaultClasses.scrollButton, className),
87
113
  ...props,
88
114
  children: /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4" })
89
115
  });
@@ -92,12 +118,12 @@ function SelectScrollDownButton({ className, ...props }) {
92
118
  const ChevronDownIcon = useIcon("chevronDown");
93
119
  return /* @__PURE__ */ jsx(Select$1.ScrollDownButton, {
94
120
  "data-slot": "select-scroll-down-button",
95
- className: cn("flex cursor-default items-center justify-center py-1", className),
121
+ className: cn(defaultClasses.scrollButton, className),
96
122
  ...props,
97
123
  children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4" })
98
124
  });
99
125
  }
100
126
  //#endregion
101
- export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
127
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, selectRecipe };
102
128
 
103
129
  //# sourceMappingURL=select.mjs.map