@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 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/client/storefront/types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/client/storefront/types.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","names":[],"sources":["../../../src/client/storefront/types.ts"],"sourcesContent":["/* ─── Asset & Link primitives ─── */\n\nexport type ImageAsset = {\n src: string\n alt?: string\n title?: string\n}\n\nexport type LinkItem = {\n href: string\n label?: string\n target?: \"_blank\" | \"_self\"\n}\n\n/* ─── Rich text (pre-rendered HTML) ─── */\n\nexport type RichTextContent = string\n\n/* ─── Color themes (semantic — mapped to shadcn CSS variables) ─── */\n\nexport type ColorTheme =\n | \"default\"\n | \"muted\"\n | \"primary\"\n | \"secondary\"\n | \"accent\"\n | \"inverse\"\n\nconst themeClasses: Record<ColorTheme, string> = {\n default: \"bg-background text-foreground\",\n muted: \"bg-muted text-foreground\",\n primary: \"bg-primary text-primary-foreground\",\n secondary: \"bg-secondary text-secondary-foreground\",\n accent: \"bg-accent text-accent-foreground\",\n inverse: \"bg-foreground text-background\",\n}\n\nexport function colorThemeClasses(theme?: ColorTheme): string {\n if (!theme) return \"\"\n return themeClasses[theme] ?? \"\"\n}\n\nexport function isThemeDark(theme?: ColorTheme): boolean {\n return theme === \"primary\" || theme === \"inverse\"\n}\n\n/* ─── Navigation ─── */\n\nexport type NavChild = {\n label: string\n href: string\n}\n\nexport type MegaMenuCategory = {\n id?: string\n title: string\n href: string\n items?: NavChild[]\n stackWithPrevious?: boolean\n}\n\nexport type MegaMenuFeatured = {\n id?: string\n label: string\n href: string\n image?: ImageAsset\n}\n\nexport type NavItem = {\n id?: string\n label: string\n href?: string\n megaMenuCategories?: MegaMenuCategory[]\n megaMenuFeatured?: MegaMenuFeatured[]\n}\n\n/* ─── Layout prop types ─── */\n\nexport interface HeaderProps {\n variant?: \"default\" | \"transparent\" | \"overlay\"\n navItems?: NavItem[]\n utilityLinks?: NavChild[]\n promotionEnabled?: boolean\n promotionMessages?: string[]\n logo?: React.ReactNode\n onSearchClick?: () => void\n onCartClick?: () => void\n cartHref?: string\n labels?: {\n search?: string\n cart?: string\n menu?: string\n closeMenu?: string\n changeLanguage?: string\n }\n className?: string\n}\n\nexport interface MobileMenuDrawerProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n items: {\n label: string\n href: string\n children?: NavChild[]\n }[]\n labels?: {\n close?: string\n back?: string\n }\n className?: string\n}\n\nexport interface FooterProps {\n columns: { title?: string; links: NavChild[] }[]\n bottomLinks?: NavChild[]\n logo?: React.ReactNode\n paymentIcons?: React.ReactNode\n newsletterSlot?: React.ReactNode\n copyright?: string\n className?: string\n}\n\nexport interface PromotionBarProps {\n enabled?: boolean\n messages?: string[]\n onDismiss?: () => void\n className?: string\n}\n\n/* ─── Language selector ─── */\n\nexport type LanguageOption = {\n code: string\n label: string\n icon?: React.ReactNode\n}\n\nexport interface LanguageSelectorProps {\n languages: LanguageOption[]\n value: string\n onValueChange: (code: string) => void\n variant?: \"code\" | \"full\" | \"icon\"\n size?: \"sm\" | \"default\"\n className?: string\n labels?: {\n changeLanguage?: string\n }\n}\n\n/* ─── Block prop types ─── */\n\nexport type AspectRatio = \"1:1\" | \"4:5\" | \"3:4\" | \"9:16\" | \"16:9\" | \"4:3\" | \"2:1\"\n\nexport interface SpacerProps {\n size?: \"sm\" | \"md\" | \"lg\"\n}\n\nexport interface ImageBlockProps {\n image?: ImageAsset\n aspectRatio?: \"4:5\" | \"16:9\" | \"1:1\"\n caption?: string\n className?: string\n}\n\nexport interface CardImageWithCaptionProps {\n image?: ImageAsset\n title?: string\n caption?: string\n className?: string\n}\n\nexport type TextContentVariant = \"default\" | \"pull-quote\" | \"columns\"\n\nexport interface TextContentProps {\n preheader?: string\n heading?: string\n body?: string\n variant?: TextContentVariant\n layout?: \"default\" | \"text-indent\" | \"wide\"\n buttonLabel?: string\n buttonHref?: string\n textLinkLabel?: string\n textLinkHref?: string\n colorTheme?: ColorTheme\n className?: string\n}\n\nexport interface VariableTextContentProps {\n html: RichTextContent\n className?: string\n}\n\nexport type TextContentWithImageVariant = \"side-by-side\" | \"stacked\" | \"overlap\"\n\nexport interface TextContentWithImageProps {\n image?: ImageAsset\n imagePosition?: \"first\" | \"last\"\n fullWidth?: boolean\n variant?: TextContentWithImageVariant\n preheader?: string\n heading?: string\n body?: string\n buttonLabel?: string\n buttonHref?: string\n textLinkLabel?: string\n textLinkHref?: string\n colorTheme?: ColorTheme\n className?: string\n}\n\nexport type LinkBlockVariant = \"overlay\" | \"card\" | \"text-only\"\n\nexport interface LinkBlockProps {\n image?: ImageAsset\n eyebrow?: string\n title?: string\n variant?: LinkBlockVariant\n buttonLabel?: string\n buttonHref?: string\n colorTheme?: ColorTheme\n className?: string\n}\n\nexport interface LinkBlockSmallProps {\n image?: ImageAsset\n title?: string\n href?: string\n className?: string\n}\n\nexport interface CardVideoProps {\n thumbnail?: ImageAsset\n videoUrl?: string\n title?: string\n caption?: string\n aspectRatio?: \"4:3\" | \"1:1\" | \"16:9\"\n className?: string\n}\n\nexport interface AccordionBlockProps {\n items: {\n id?: string\n title: string\n content: RichTextContent\n variant?: \"standard\" | \"technical-data\" | \"downloads\"\n children?: React.ReactNode\n }[]\n defaultValue?: string\n className?: string\n}\n\nexport interface TruncatedTextProps {\n html: RichTextContent\n visibleLines?: number\n labels?: {\n showMore?: string\n showLess?: string\n }\n className?: string\n}\n\nexport type HeroLayout = \"overlay\" | \"split\" | \"image-only\" | \"minimal\" | \"banner\"\n\nexport type HeroContentPosition =\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"center-left\"\n | \"center-center\"\n | \"center-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\"\n\nexport type HeroContentWidth = \"sm\" | \"md\" | \"lg\"\n\nexport type HeroTextAlign = \"left\" | \"center\" | \"right\"\n\nexport interface HeroProps {\n image?: ImageAsset\n aspectRatio?: \"9:16\" | \"4:5\" | \"1:1\" | \"16:9\"\n layout?: HeroLayout\n contentPosition?: HeroContentPosition\n contentWidth?: HeroContentWidth\n textAlign?: HeroTextAlign\n preheader?: string\n heading?: string\n buttonLabel?: string\n buttonHref?: string\n textLinkLabel?: string\n textLinkHref?: string\n colorTheme?: ColorTheme\n className?: string\n}\n\nexport interface ProductCardProps {\n images?: ImageAsset[]\n title?: string\n subtitle?: string\n price?: string\n tag?: string\n href?: string\n layout?: \"gallery\" | \"list\" | \"stripped\" | \"horizontal\" | \"minimal\"\n showFavorites?: boolean\n showPaginationDots?: boolean\n onFavoriteClick?: () => void\n className?: string\n}\n\nexport interface ProductImageProps {\n images: ImageAsset[]\n aspectRatio?: \"1:1\" | \"4:5\"\n showZoom?: boolean\n /** 'inset' — arrows float over the image edges; 'outset' — arrows sit outside the image bounds */\n arrows?: \"inset\" | \"outset\"\n showDots?: boolean\n showThumbnails?: boolean\n className?: string\n}\n\nexport type GalleryVariant = \"grid\" | \"masonry\" | \"filmstrip\"\n\nexport interface GalleryProps {\n heading?: string\n variant?: GalleryVariant\n children: React.ReactNode\n className?: string\n}\n\nexport interface GalleryWithCaptionProps {\n heading?: string\n indent?: boolean\n colorTheme?: ColorTheme\n children: React.ReactNode\n className?: string\n}\n\nexport interface GalleryWithLinkBlocksProps {\n heading?: string\n children: React.ReactNode\n className?: string\n}\n\nexport interface ContentWithGalleryProps {\n images?: ImageAsset[]\n preheader?: string\n heading?: string\n body?: string\n productCards?: React.ReactNode\n layout?: \"image-above\" | \"side-by-side\"\n colorTheme?: ColorTheme\n className?: string\n}\n\nexport interface ContentWithImageProductDataProps {\n image?: ImageAsset\n preheader?: string\n heading?: string\n body?: string\n usps?: string[]\n buttonLabel?: string\n buttonHref?: string\n productCards?: React.ReactNode\n className?: string\n}\n"],"mappings":";AA4BA,MAAM,eAA2C;CAC/C,SAAS;CACT,OAAO;CACP,SAAS;CACT,WAAW;CACX,QAAQ;CACR,SAAS;CACV;AAED,SAAgB,kBAAkB,OAA4B;AAC5D,KAAI,CAAC,MAAO,QAAO;AACnB,QAAO,aAAa,UAAU;;AAGhC,SAAgB,YAAY,OAA6B;AACvD,QAAO,UAAU,aAAa,UAAU"}
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../../../src/client/storefront/types.ts"],"sourcesContent":["/* ─── Asset & Link primitives ─── */\n\nexport type ImageAsset = {\n src: string;\n alt?: string;\n title?: string;\n};\n\nexport type LinkItem = {\n href: string;\n label?: string;\n target?: \"_blank\" | \"_self\";\n};\n\n/* ─── Rich text (pre-rendered HTML) ─── */\n\nexport type RichTextContent = string;\n\n/* ─── Color themes (semantic — mapped to shadcn CSS variables) ─── */\n\nexport type ColorTheme = \"default\" | \"muted\" | \"primary\" | \"secondary\" | \"accent\" | \"inverse\";\n\nconst themeClasses: Record<ColorTheme, string> = {\n default: \"bg-background text-foreground\",\n muted: \"bg-muted text-foreground\",\n primary: \"bg-primary text-primary-foreground\",\n secondary: \"bg-secondary text-secondary-foreground\",\n accent: \"bg-accent text-accent-foreground\",\n inverse: \"bg-foreground text-background\",\n};\n\nexport function colorThemeClasses(theme?: ColorTheme): string {\n if (!theme) return \"\";\n return themeClasses[theme] ?? \"\";\n}\n\nexport function isThemeDark(theme?: ColorTheme): boolean {\n return theme === \"primary\" || theme === \"inverse\";\n}\n\n/* ─── Navigation ─── */\n\nexport type NavChild = {\n label: string;\n href: string;\n};\n\nexport type MegaMenuCategory = {\n id?: string;\n title: string;\n href: string;\n items?: NavChild[];\n stackWithPrevious?: boolean;\n};\n\nexport type MegaMenuFeatured = {\n id?: string;\n label: string;\n href: string;\n image?: ImageAsset;\n};\n\nexport type NavItem = {\n id?: string;\n label: string;\n href?: string;\n megaMenuCategories?: MegaMenuCategory[];\n megaMenuFeatured?: MegaMenuFeatured[];\n};\n\n/* ─── Layout prop types ─── */\n\nexport interface HeaderProps {\n variant?: \"default\" | \"transparent\" | \"overlay\";\n navItems?: NavItem[];\n utilityLinks?: NavChild[];\n promotionEnabled?: boolean;\n promotionMessages?: string[];\n logo?: React.ReactNode;\n onSearchClick?: () => void;\n onCartClick?: () => void;\n cartHref?: string;\n labels?: {\n search?: string;\n cart?: string;\n menu?: string;\n closeMenu?: string;\n changeLanguage?: string;\n };\n className?: string;\n}\n\nexport interface MobileMenuDrawerProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n items: {\n label: string;\n href: string;\n children?: NavChild[];\n }[];\n labels?: {\n close?: string;\n back?: string;\n };\n className?: string;\n}\n\nexport interface FooterProps {\n columns: { title?: string; links: NavChild[] }[];\n bottomLinks?: NavChild[];\n logo?: React.ReactNode;\n paymentIcons?: React.ReactNode;\n newsletterSlot?: React.ReactNode;\n copyright?: string;\n className?: string;\n}\n\nexport interface PromotionBarProps {\n enabled?: boolean;\n messages?: string[];\n onDismiss?: () => void;\n className?: string;\n}\n\n/* ─── Language selector ─── */\n\nexport type LanguageOption = {\n code: string;\n label: string;\n icon?: React.ReactNode;\n};\n\nexport interface LanguageSelectorProps {\n languages: LanguageOption[];\n value: string;\n onValueChange: (code: string) => void;\n variant?: \"code\" | \"full\" | \"icon\";\n size?: \"sm\" | \"md\";\n className?: string;\n labels?: {\n changeLanguage?: string;\n };\n}\n\n/* ─── Block prop types ─── */\n\nexport type AspectRatio = \"1:1\" | \"4:5\" | \"3:4\" | \"9:16\" | \"16:9\" | \"4:3\" | \"2:1\";\n\nexport interface SpacerProps {\n size?: \"sm\" | \"md\" | \"lg\";\n}\n\nexport interface ImageBlockProps {\n image?: ImageAsset;\n aspectRatio?: \"4:5\" | \"16:9\" | \"1:1\";\n caption?: string;\n className?: string;\n}\n\nexport interface CardImageWithCaptionProps {\n image?: ImageAsset;\n title?: string;\n caption?: string;\n className?: string;\n}\n\nexport type TextContentVariant = \"default\" | \"pull-quote\" | \"columns\";\n\nexport interface TextContentProps {\n preheader?: string;\n heading?: string;\n body?: string;\n variant?: TextContentVariant;\n layout?: \"default\" | \"text-indent\" | \"wide\";\n buttonLabel?: string;\n buttonHref?: string;\n textLinkLabel?: string;\n textLinkHref?: string;\n colorTheme?: ColorTheme;\n className?: string;\n}\n\nexport interface VariableTextContentProps {\n html: RichTextContent;\n className?: string;\n}\n\nexport type TextContentWithImageVariant = \"side-by-side\" | \"stacked\" | \"overlap\";\n\nexport interface TextContentWithImageProps {\n image?: ImageAsset;\n imagePosition?: \"first\" | \"last\";\n fullWidth?: boolean;\n variant?: TextContentWithImageVariant;\n preheader?: string;\n heading?: string;\n body?: string;\n buttonLabel?: string;\n buttonHref?: string;\n textLinkLabel?: string;\n textLinkHref?: string;\n colorTheme?: ColorTheme;\n className?: string;\n}\n\nexport type LinkBlockVariant = \"overlay\" | \"card\" | \"text-only\";\n\nexport interface LinkBlockProps {\n image?: ImageAsset;\n eyebrow?: string;\n title?: string;\n variant?: LinkBlockVariant;\n buttonLabel?: string;\n buttonHref?: string;\n colorTheme?: ColorTheme;\n className?: string;\n}\n\nexport interface LinkBlockSmallProps {\n image?: ImageAsset;\n title?: string;\n href?: string;\n className?: string;\n}\n\nexport interface CardVideoProps {\n thumbnail?: ImageAsset;\n videoUrl?: string;\n title?: string;\n caption?: string;\n aspectRatio?: \"4:3\" | \"1:1\" | \"16:9\";\n className?: string;\n}\n\nexport interface AccordionBlockProps {\n items: {\n id?: string;\n title: string;\n content: RichTextContent;\n variant?: \"standard\" | \"technical-data\" | \"downloads\";\n children?: React.ReactNode;\n }[];\n defaultValue?: string;\n className?: string;\n}\n\nexport interface TruncatedTextProps {\n html: RichTextContent;\n visibleLines?: number;\n labels?: {\n showMore?: string;\n showLess?: string;\n };\n className?: string;\n}\n\nexport type HeroLayout = \"overlay\" | \"split\" | \"image-only\" | \"minimal\" | \"banner\";\n\nexport type HeroContentPosition =\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"center-left\"\n | \"center-center\"\n | \"center-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\";\n\nexport type HeroContentWidth = \"sm\" | \"md\" | \"lg\";\n\nexport type HeroTextAlign = \"left\" | \"center\" | \"right\";\n\nexport interface HeroProps {\n image?: ImageAsset;\n aspectRatio?: \"9:16\" | \"4:5\" | \"1:1\" | \"16:9\";\n layout?: HeroLayout;\n contentPosition?: HeroContentPosition;\n contentWidth?: HeroContentWidth;\n textAlign?: HeroTextAlign;\n preheader?: string;\n heading?: string;\n buttonLabel?: string;\n buttonHref?: string;\n textLinkLabel?: string;\n textLinkHref?: string;\n colorTheme?: ColorTheme;\n className?: string;\n}\n\nexport interface ProductCardProps {\n images?: ImageAsset[];\n title?: string;\n subtitle?: string;\n price?: string;\n tag?: string;\n href?: string;\n layout?: \"gallery\" | \"list\" | \"stripped\" | \"horizontal\" | \"minimal\";\n showFavorites?: boolean;\n showPaginationDots?: boolean;\n onFavoriteClick?: () => void;\n className?: string;\n}\n\nexport interface ProductImageProps {\n images: ImageAsset[];\n aspectRatio?: \"1:1\" | \"4:5\";\n showZoom?: boolean;\n /** 'inset' — arrows float over the image edges; 'outset' — arrows sit outside the image bounds */\n arrows?: \"inset\" | \"outset\";\n showDots?: boolean;\n showThumbnails?: boolean;\n className?: string;\n}\n\nexport type GalleryVariant = \"grid\" | \"masonry\" | \"filmstrip\";\n\nexport interface GalleryProps {\n heading?: string;\n variant?: GalleryVariant;\n children: React.ReactNode;\n className?: string;\n}\n\nexport interface GalleryWithCaptionProps {\n heading?: string;\n indent?: boolean;\n colorTheme?: ColorTheme;\n children: React.ReactNode;\n className?: string;\n}\n\nexport interface GalleryWithLinkBlocksProps {\n heading?: string;\n children: React.ReactNode;\n className?: string;\n}\n\nexport interface ContentWithGalleryProps {\n images?: ImageAsset[];\n preheader?: string;\n heading?: string;\n body?: string;\n productCards?: React.ReactNode;\n layout?: \"image-above\" | \"side-by-side\";\n colorTheme?: ColorTheme;\n className?: string;\n}\n\nexport interface ContentWithImageProductDataProps {\n image?: ImageAsset;\n preheader?: string;\n heading?: string;\n body?: string;\n usps?: string[];\n buttonLabel?: string;\n buttonHref?: string;\n productCards?: React.ReactNode;\n className?: string;\n}\n"],"mappings":";AAsBA,MAAM,eAA2C;CAC/C,SAAS;CACT,OAAO;CACP,SAAS;CACT,WAAW;CACX,QAAQ;CACR,SAAS;CACV;AAED,SAAgB,kBAAkB,OAA4B;AAC5D,KAAI,CAAC,MAAO,QAAO;AACnB,QAAO,aAAa,UAAU;;AAGhC,SAAgB,YAAY,OAA6B;AACvD,QAAO,UAAU,aAAa,UAAU"}
@@ -3,6 +3,17 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { Accordion as Accordion$1 } from "radix-ui";
4
4
 
5
5
  //#region src/client/ui/accordion.d.ts
6
+ declare const accordionRecipe: (props?: ({
7
+ [x: string]: string | undefined;
8
+ } & {
9
+ className?: Partial<Record<"root" | "group" | "item" | "trigger" | "content", string>> | undefined;
10
+ }) | undefined) => {
11
+ root: string;
12
+ group: string;
13
+ item: string;
14
+ trigger: string;
15
+ content: string;
16
+ };
6
17
  declare function Accordion({
7
18
  ...props
8
19
  }: React$1.ComponentProps<typeof Accordion$1.Root>): react_jsx_runtime0.JSX.Element;
@@ -25,5 +36,5 @@ declare function AccordionContent({
25
36
  ...props
26
37
  }: React$1.ComponentProps<typeof Accordion$1.Content>): react_jsx_runtime0.JSX.Element;
27
38
  //#endregion
28
- export { Accordion, AccordionContent, AccordionGroup, AccordionItem, AccordionTrigger };
39
+ export { Accordion, AccordionContent, AccordionGroup, AccordionItem, AccordionTrigger, accordionRecipe };
29
40
  //# sourceMappingURL=accordion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.d.ts","names":[],"sources":["../../../src/client/ui/accordion.tsx"],"mappings":";;;;;iBAMS,SAAA,CAAA;EAAA,GAAe;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAmB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI5E,cAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAmB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAa9C,aAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAmB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAU9C,gBAAA,CAAA;EACP,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAmB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAoBjD,gBAAA,CAAA;EACP,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAmB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"accordion.d.ts","names":[],"sources":["../../../src/client/ui/accordion.tsx"],"mappings":";;;;;cAOM,eAAA,GAAe,KAAA;EAAA;;cAWnB,OAAA,CAAA,MAAA;AAAA;;;;;;;iBAIO,SAAA,CAAA;EAAA,GAAe;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAmB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI5E,cAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAmB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAU9C,aAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAmB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAU9C,gBAAA,CAAA;EACP,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAmB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiBjD,gBAAA,CAAA;EACP,SAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAmB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,9 +1,27 @@
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 { Accordion as Accordion$1 } from "radix-ui";
6
7
  //#region src/client/ui/accordion.tsx
8
+ const accordionRecipe = defineSlotRecipe({
9
+ slots: [
10
+ "root",
11
+ "group",
12
+ "item",
13
+ "trigger",
14
+ "content"
15
+ ],
16
+ base: {
17
+ root: "",
18
+ group: "flex w-full flex-col overflow-hidden rounded-xl border bg-card text-card-foreground",
19
+ item: "border-b last:border-b-0",
20
+ trigger: "flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
21
+ content: "overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
22
+ }
23
+ });
24
+ const defaultClasses = accordionRecipe();
7
25
  function Accordion({ ...props }) {
8
26
  return /* @__PURE__ */ jsx(Accordion$1.Root, {
9
27
  "data-slot": "accordion",
@@ -13,14 +31,14 @@ function Accordion({ ...props }) {
13
31
  function AccordionGroup({ className, ...props }) {
14
32
  return /* @__PURE__ */ jsx(Accordion$1.Root, {
15
33
  "data-slot": "accordion",
16
- className: cn("flex w-full flex-col overflow-hidden rounded-xl border bg-card text-card-foreground", className),
34
+ className: cn(defaultClasses.group, className),
17
35
  ...props
18
36
  });
19
37
  }
20
38
  function AccordionItem({ className, ...props }) {
21
39
  return /* @__PURE__ */ jsx(Accordion$1.Item, {
22
40
  "data-slot": "accordion-item",
23
- className: cn("border-b last:border-b-0", className),
41
+ className: cn(defaultClasses.item, className),
24
42
  ...props
25
43
  });
26
44
  }
@@ -30,7 +48,7 @@ function AccordionTrigger({ className, children, ...props }) {
30
48
  className: "flex",
31
49
  children: /* @__PURE__ */ jsxs(Accordion$1.Trigger, {
32
50
  "data-slot": "accordion-trigger",
33
- className: cn("flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180", className),
51
+ className: cn(defaultClasses.trigger, className),
34
52
  ...props,
35
53
  children: [children, /* @__PURE__ */ jsx(ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 translate-y-0.5 text-muted-foreground transition-transform duration-200" })]
36
54
  })
@@ -39,7 +57,7 @@ function AccordionTrigger({ className, children, ...props }) {
39
57
  function AccordionContent({ className, children, ...props }) {
40
58
  return /* @__PURE__ */ jsx(Accordion$1.Content, {
41
59
  "data-slot": "accordion-content",
42
- className: "overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
60
+ className: defaultClasses.content,
43
61
  ...props,
44
62
  children: /* @__PURE__ */ jsx("div", {
45
63
  className: cn("pt-0 pb-4", className),
@@ -48,6 +66,6 @@ function AccordionContent({ className, children, ...props }) {
48
66
  });
49
67
  }
50
68
  //#endregion
51
- export { Accordion, AccordionContent, AccordionGroup, AccordionItem, AccordionTrigger };
69
+ export { Accordion, AccordionContent, AccordionGroup, AccordionItem, AccordionTrigger, accordionRecipe };
52
70
 
53
71
  //# sourceMappingURL=accordion.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.mjs","names":["AccordionPrimitive"],"sources":["../../../src/client/ui/accordion.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\nimport { Accordion as AccordionPrimitive } from \"radix-ui\";\n\nimport { cn } from \"./utils\";\n\nfunction Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionGroup({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn(\n \"flex w-full flex-col overflow-hidden rounded-xl border bg-card text-card-foreground\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n const ChevronDownIcon = useIcon(\"chevronDown\");\n\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"pointer-events-none size-4 shrink-0 translate-y-0.5 text-muted-foreground transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pt-0 pb-4\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionGroup, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":";;;;;;AAMA,SAAS,UAAU,EAAE,GAAG,SAA+D;AACrF,QAAO,oBAACA,YAAmB,MAApB;EAAyB,aAAU;EAAY,GAAI;EAAS,CAAA;;AAGrE,SAAS,eAAe,EACtB,WACA,GAAG,SACoD;AACvD,QACE,oBAACA,YAAmB,MAApB;EACE,aAAU;EACV,WAAW,GACT,uFACA,UACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;AACvD,QACE,oBAACA,YAAmB,MAApB;EACE,aAAU;EACV,WAAW,GAAG,4BAA4B,UAAU;EACpD,GAAI;EACJ,CAAA;;AAIN,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;CAC1D,MAAM,kBAAkB,QAAQ,cAAc;AAE9C,QACE,oBAACA,YAAmB,QAApB;EAA2B,WAAU;YACnC,qBAACA,YAAmB,SAApB;GACE,aAAU;GACV,WAAW,GACT,8SACA,UACD;GACD,GAAI;aANN,CAQG,UACD,oBAAC,iBAAD,EAAiB,WAAU,+GAAgH,CAAA,CAChH;;EACH,CAAA;;AAIhC,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;AAC1D,QACE,oBAACA,YAAmB,SAApB;EACE,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,oBAAC,OAAD;GAAK,WAAW,GAAG,aAAa,UAAU;GAAG;GAAe,CAAA;EACjC,CAAA"}
1
+ {"version":3,"file":"accordion.mjs","names":["AccordionPrimitive"],"sources":["../../../src/client/ui/accordion.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\nimport { Accordion as AccordionPrimitive } from \"radix-ui\";\n\nimport { defineSlotRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst accordionRecipe = defineSlotRecipe({\n slots: [\"root\", \"group\", \"item\", \"trigger\", \"content\"] as const,\n base: {\n root: \"\",\n group: \"flex w-full flex-col overflow-hidden rounded-xl border bg-card text-card-foreground\",\n item: \"border-b last:border-b-0\",\n trigger:\n \"flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n content:\n \"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\",\n },\n});\n\nconst defaultClasses = accordionRecipe();\n\nfunction Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionGroup({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn(defaultClasses.group, className)}\n {...props}\n />\n );\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(defaultClasses.item, className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n const ChevronDownIcon = useIcon(\"chevronDown\");\n\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(defaultClasses.trigger, className)}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"pointer-events-none size-4 shrink-0 translate-y-0.5 text-muted-foreground transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className={defaultClasses.content}\n {...props}\n >\n <div className={cn(\"pt-0 pb-4\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport {\n Accordion,\n AccordionGroup,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n accordionRecipe,\n};\n"],"mappings":";;;;;;;AAOA,MAAM,kBAAkB,iBAAiB;CACvC,OAAO;EAAC;EAAQ;EAAS;EAAQ;EAAW;EAAU;CACtD,MAAM;EACJ,MAAM;EACN,OAAO;EACP,MAAM;EACN,SACE;EACF,SACE;EACH;CACF,CAAC;AAEF,MAAM,iBAAiB,iBAAiB;AAExC,SAAS,UAAU,EAAE,GAAG,SAA+D;AACrF,QAAO,oBAACA,YAAmB,MAApB;EAAyB,aAAU;EAAY,GAAI;EAAS,CAAA;;AAGrE,SAAS,eAAe,EACtB,WACA,GAAG,SACoD;AACvD,QACE,oBAACA,YAAmB,MAApB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,OAAO,UAAU;EAC9C,GAAI;EACJ,CAAA;;AAIN,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;AACvD,QACE,oBAACA,YAAmB,MAApB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;EACJ,CAAA;;AAIN,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;CAC1D,MAAM,kBAAkB,QAAQ,cAAc;AAE9C,QACE,oBAACA,YAAmB,QAApB;EAA2B,WAAU;YACnC,qBAACA,YAAmB,SAApB;GACE,aAAU;GACV,WAAW,GAAG,eAAe,SAAS,UAAU;GAChD,GAAI;aAHN,CAKG,UACD,oBAAC,iBAAD,EAAiB,WAAU,+GAAgH,CAAA,CAChH;;EACH,CAAA;;AAIhC,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;AAC1D,QACE,oBAACA,YAAmB,SAApB;EACE,aAAU;EACV,WAAW,eAAe;EAC1B,GAAI;YAEJ,oBAAC,OAAD;GAAK,WAAW,GAAG,aAAa,UAAU;GAAG;GAAe,CAAA;EACjC,CAAA"}
@@ -1,17 +1,23 @@
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
- import * as class_variance_authority_types0 from "class-variance-authority/types";
5
3
 
6
4
  //#region src/client/ui/alert.d.ts
7
- declare const alertVariants: (props?: ({
8
- variant?: "default" | "destructive" | null | undefined;
9
- } & class_variance_authority_types0.ClassProp) | undefined) => string;
5
+ declare const alertRecipe: (props?: ({
6
+ variant?: "default" | "destructive" | undefined;
7
+ } & {
8
+ className?: Partial<Record<"root" | "title" | "description", string>> | undefined;
9
+ }) | undefined) => {
10
+ root: string;
11
+ title: string;
12
+ description: string;
13
+ };
10
14
  declare function Alert({
11
15
  className,
12
16
  variant,
13
17
  ...props
14
- }: React$1.ComponentProps<"div"> & VariantProps<typeof alertVariants>): react_jsx_runtime0.JSX.Element;
18
+ }: React$1.ComponentProps<"div"> & {
19
+ variant?: "default" | "destructive";
20
+ }): react_jsx_runtime0.JSX.Element;
15
21
  declare function AlertTitle({
16
22
  className,
17
23
  ...props
@@ -20,6 +26,9 @@ declare function AlertDescription({
20
26
  className,
21
27
  ...props
22
28
  }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
29
+ declare const alertVariants: (props: {
30
+ variant?: "default" | "destructive";
31
+ }) => string;
23
32
  //#endregion
24
- export { Alert, AlertDescription, AlertTitle, alertVariants };
33
+ export { Alert, AlertDescription, AlertTitle, alertRecipe, alertVariants };
25
34
  //# sourceMappingURL=alert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.d.ts","names":[],"sources":["../../../src/client/ui/alert.tsx"],"mappings":";;;;;;cAOM,aAAA,GAAa,KAAA;;IAclB,+BAAA,CAAA,SAAA;AAAA,iBAEQ,KAAA,CAAA;EACP,SAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,UAAwB,YAAA,QAAoB,aAAA,IAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAW1D,UAAA,CAAA;EAAa,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAU9D,gBAAA,CAAA;EAAmB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"alert.d.ts","names":[],"sources":["../../../src/client/ui/alert.tsx"],"mappings":";;;;cAOM,WAAA,GAAW,KAAA;;;cAkBf,OAAA,CAAA,MAAA;AAAA;;;;;iBAIO,KAAA,CAAA;EACP,SAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA;EAA0B,OAAA;AAAA,IAAqC,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAM/D,UAAA,CAAA;EAAa,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI9D,gBAAA,CAAA;EAAmB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAaxE,aAAA,GAAiB,KAAA;EAAS,OAAA;AAAA"}
@@ -1,39 +1,52 @@
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
- import { cva } from "class-variance-authority";
6
6
  //#region src/client/ui/alert.tsx
7
- const alertVariants = cva("relative w-full rounded-[var(--enad-card-radius)] border p-4 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:top-4 [&>svg]:left-4 [&>svg]:text-foreground [&>svg~*]:pl-7", {
7
+ const alertRecipe = defineSlotRecipe({
8
+ slots: [
9
+ "root",
10
+ "title",
11
+ "description"
12
+ ],
13
+ base: {
14
+ root: "relative w-full rounded-[var(--enad-card-radius)] border p-4 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:top-4 [&>svg]:left-4 [&>svg]:text-foreground [&>svg~*]:pl-7",
15
+ title: "mb-1 font-medium leading-none tracking-tight",
16
+ description: "text-sm [&_p]:leading-relaxed"
17
+ },
8
18
  variants: { variant: {
9
- default: "bg-background text-foreground",
10
- destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
19
+ default: { root: "bg-background text-foreground" },
20
+ destructive: { root: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive" }
11
21
  } },
12
22
  defaultVariants: { variant: "default" }
13
23
  });
24
+ const defaultClasses = alertRecipe();
14
25
  function Alert({ className, variant, ...props }) {
26
+ const classes = alertRecipe({ variant });
15
27
  return /* @__PURE__ */ jsx("div", {
16
28
  "data-slot": "alert",
17
29
  role: "alert",
18
- className: cn(alertVariants({ variant }), className),
30
+ className: cn(classes.root, className),
19
31
  ...props
20
32
  });
21
33
  }
22
34
  function AlertTitle({ className, ...props }) {
23
35
  return /* @__PURE__ */ jsx("h5", {
24
36
  "data-slot": "alert-title",
25
- className: cn("mb-1 font-medium leading-none tracking-tight", className),
37
+ className: cn(defaultClasses.title, className),
26
38
  ...props
27
39
  });
28
40
  }
29
41
  function AlertDescription({ className, ...props }) {
30
42
  return /* @__PURE__ */ jsx("div", {
31
43
  "data-slot": "alert-description",
32
- className: cn("text-sm [&_p]:leading-relaxed", className),
44
+ className: cn(defaultClasses.description, className),
33
45
  ...props
34
46
  });
35
47
  }
48
+ const alertVariants = (props) => alertRecipe(props).root;
36
49
  //#endregion
37
- export { Alert, AlertDescription, AlertTitle, alertVariants };
50
+ export { Alert, AlertDescription, AlertTitle, alertRecipe, alertVariants };
38
51
 
39
52
  //# sourceMappingURL=alert.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.mjs","names":[],"sources":["../../../src/client/ui/alert.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"./utils\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-[var(--enad-card-radius)] border p-4 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:top-4 [&>svg]:left-4 [&>svg]:text-foreground [&>svg~*]:pl-7\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"h5\">) {\n return (\n <h5\n data-slot=\"alert-title\"\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription, alertVariants };\n"],"mappings":";;;;;;AAOA,MAAM,gBAAgB,IACpB,4LACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;EACH,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,MAAM,EACb,WACA,SACA,GAAG,SACgE;AACnE,QACE,oBAAC,OAAD;EACE,aAAU;EACV,MAAK;EACL,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EACpD,GAAI;EACJ,CAAA;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAqC;AACvE,QACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GAAG,gDAAgD,UAAU;EACxE,GAAI;EACJ,CAAA;;AAIN,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;AAC9E,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;EACJ,CAAA"}
1
+ {"version":3,"file":"alert.mjs","names":[],"sources":["../../../src/client/ui/alert.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport { defineSlotRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst alertRecipe = defineSlotRecipe({\n slots: [\"root\", \"title\", \"description\"] as const,\n base: {\n root: \"relative w-full rounded-[var(--enad-card-radius)] border p-4 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:top-4 [&>svg]:left-4 [&>svg]:text-foreground [&>svg~*]:pl-7\",\n title: \"mb-1 font-medium leading-none tracking-tight\",\n description: \"text-sm [&_p]:leading-relaxed\",\n },\n variants: {\n variant: {\n default: { root: \"bg-background text-foreground\" },\n destructive: {\n root: \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n },\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\n\nconst defaultClasses = alertRecipe();\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & { variant?: \"default\" | \"destructive\" }) {\n const classes = alertRecipe({ variant });\n\n return <div data-slot=\"alert\" role=\"alert\" className={cn(classes.root, className)} {...props} />;\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"h5\">) {\n return <h5 data-slot=\"alert-title\" className={cn(defaultClasses.title, className)} {...props} />;\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(defaultClasses.description, className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription, alertRecipe };\n\n// Backward compat\nconst alertVariants = (props: { variant?: \"default\" | \"destructive\" }) => alertRecipe(props).root;\nexport { alertVariants };\n"],"mappings":";;;;;;AAOA,MAAM,cAAc,iBAAiB;CACnC,OAAO;EAAC;EAAQ;EAAS;EAAc;CACvC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,aAAa;EACd;CACD,UAAU,EACR,SAAS;EACP,SAAS,EAAE,MAAM,iCAAiC;EAClD,aAAa,EACX,MAAM,2FACP;EACF,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CAAC;AAEF,MAAM,iBAAiB,aAAa;AAEpC,SAAS,MAAM,EACb,WACA,SACA,GAAG,SACqE;CACxE,MAAM,UAAU,YAAY,EAAE,SAAS,CAAC;AAExC,QAAO,oBAAC,OAAD;EAAK,aAAU;EAAQ,MAAK;EAAQ,WAAW,GAAG,QAAQ,MAAM,UAAU;EAAE,GAAI;EAAS,CAAA;;AAGlG,SAAS,WAAW,EAAE,WAAW,GAAG,SAAqC;AACvE,QAAO,oBAAC,MAAD;EAAI,aAAU;EAAc,WAAW,GAAG,eAAe,OAAO,UAAU;EAAE,GAAI;EAAS,CAAA;;AAGlG,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;AAC9E,QACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,eAAe,aAAa,UAAU;EACpD,GAAI;EACJ,CAAA;;AAON,MAAM,iBAAiB,UAAmD,YAAY,MAAM,CAAC"}
@@ -3,6 +3,15 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { Avatar as Avatar$1 } from "radix-ui";
4
4
 
5
5
  //#region src/client/ui/avatar.d.ts
6
+ declare const avatarRecipe: (props?: ({
7
+ [x: string]: string | undefined;
8
+ } & {
9
+ className?: Partial<Record<"root" | "image" | "fallback", string>> | undefined;
10
+ }) | undefined) => {
11
+ root: string;
12
+ image: string;
13
+ fallback: string;
14
+ };
6
15
  declare function Avatar({
7
16
  className,
8
17
  ...props
@@ -16,5 +25,5 @@ declare function AvatarFallback({
16
25
  ...props
17
26
  }: React$1.ComponentProps<typeof Avatar$1.Fallback>): react_jsx_runtime0.JSX.Element;
18
27
  //#endregion
19
- export { Avatar, AvatarFallback, AvatarImage };
28
+ export { Avatar, AvatarFallback, AvatarImage, avatarRecipe };
20
29
  //# sourceMappingURL=avatar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.d.ts","names":[],"sources":["../../../src/client/ui/avatar.tsx"],"mappings":";;;;;iBAOS,MAAA,CAAA;EAAS,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUjF,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUvF,cAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,QAAA,IAAS,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"avatar.d.ts","names":[],"sources":["../../../src/client/ui/avatar.tsx"],"mappings":";;;;;cAQM,YAAA,GAAY,KAAA;EAAA;;cAQhB,OAAA,CAAA,MAAA;AAAA;;;;;iBAIO,MAAA,CAAA;EAAS,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUjF,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUvF,cAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,QAAA,IAAS,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,31 +1,45 @@
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 { Avatar as Avatar$1 } from "radix-ui";
6
7
  //#region src/client/ui/avatar.tsx
8
+ const avatarRecipe = defineSlotRecipe({
9
+ slots: [
10
+ "root",
11
+ "image",
12
+ "fallback"
13
+ ],
14
+ base: {
15
+ root: "relative flex size-8 shrink-0 overflow-hidden rounded-full",
16
+ image: "aspect-square size-full",
17
+ fallback: "flex size-full items-center justify-center rounded-full bg-muted text-xs font-medium"
18
+ }
19
+ });
20
+ const defaultClasses = avatarRecipe();
7
21
  function Avatar({ className, ...props }) {
8
22
  return /* @__PURE__ */ jsx(Avatar$1.Root, {
9
23
  "data-slot": "avatar",
10
- className: cn("relative flex size-8 shrink-0 overflow-hidden rounded-full", className),
24
+ className: cn(defaultClasses.root, className),
11
25
  ...props
12
26
  });
13
27
  }
14
28
  function AvatarImage({ className, ...props }) {
15
29
  return /* @__PURE__ */ jsx(Avatar$1.Image, {
16
30
  "data-slot": "avatar-image",
17
- className: cn("aspect-square size-full", className),
31
+ className: cn(defaultClasses.image, className),
18
32
  ...props
19
33
  });
20
34
  }
21
35
  function AvatarFallback({ className, ...props }) {
22
36
  return /* @__PURE__ */ jsx(Avatar$1.Fallback, {
23
37
  "data-slot": "avatar-fallback",
24
- className: cn("flex size-full items-center justify-center rounded-full bg-muted text-xs font-medium", className),
38
+ className: cn(defaultClasses.fallback, className),
25
39
  ...props
26
40
  });
27
41
  }
28
42
  //#endregion
29
- export { Avatar, AvatarFallback, AvatarImage };
43
+ export { Avatar, AvatarFallback, AvatarImage, avatarRecipe };
30
44
 
31
45
  //# sourceMappingURL=avatar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.mjs","names":["AvatarPrimitive"],"sources":["../../../src/client/ui/avatar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Avatar as AvatarPrimitive } from \"radix-ui\";\n\nimport { cn } from \"./utils\";\n\nfunction Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\"relative flex size-8 shrink-0 overflow-hidden rounded-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center rounded-full bg-muted text-xs font-medium\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"],"mappings":";;;;;;AAOA,SAAS,OAAO,EAAE,WAAW,GAAG,SAA4D;AAC1F,QACE,oBAACA,SAAgB,MAAjB;EACE,aAAU;EACV,WAAW,GAAG,8DAA8D,UAAU;EACtF,GAAI;EACJ,CAAA;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAACA,SAAgB,OAAjB;EACE,aAAU;EACV,WAAW,GAAG,2BAA2B,UAAU;EACnD,GAAI;EACJ,CAAA;;AAIN,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;AACxD,QACE,oBAACA,SAAgB,UAAjB;EACE,aAAU;EACV,WAAW,GACT,wFACA,UACD;EACD,GAAI;EACJ,CAAA"}
1
+ {"version":3,"file":"avatar.mjs","names":["AvatarPrimitive"],"sources":["../../../src/client/ui/avatar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Avatar as AvatarPrimitive } from \"radix-ui\";\n\nimport { defineSlotRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst avatarRecipe = defineSlotRecipe({\n slots: [\"root\", \"image\", \"fallback\"] as const,\n base: {\n root: \"relative flex size-8 shrink-0 overflow-hidden rounded-full\",\n image: \"aspect-square size-full\",\n fallback:\n \"flex size-full items-center justify-center rounded-full bg-muted text-xs font-medium\",\n },\n});\n\nconst defaultClasses = avatarRecipe();\n\nfunction Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(defaultClasses.root, className)}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(defaultClasses.image, className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(defaultClasses.fallback, className)}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, avatarRecipe };\n"],"mappings":";;;;;;;AAQA,MAAM,eAAe,iBAAiB;CACpC,OAAO;EAAC;EAAQ;EAAS;EAAW;CACpC,MAAM;EACJ,MAAM;EACN,OAAO;EACP,UACE;EACH;CACF,CAAC;AAEF,MAAM,iBAAiB,cAAc;AAErC,SAAS,OAAO,EAAE,WAAW,GAAG,SAA4D;AAC1F,QACE,oBAACA,SAAgB,MAAjB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;EACJ,CAAA;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAACA,SAAgB,OAAjB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,OAAO,UAAU;EAC9C,GAAI;EACJ,CAAA;;AAIN,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;AACxD,QACE,oBAACA,SAAgB,UAAjB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,UAAU,UAAU;EACjD,GAAI;EACJ,CAAA"}
@@ -2,6 +2,18 @@ import * as React$1 from "react";
2
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/client/ui/breadcrumb.d.ts
5
+ declare const breadcrumbRecipe: (props?: ({
6
+ [x: string]: string | undefined;
7
+ } & {
8
+ className?: Partial<Record<"item" | "list" | "link" | "page" | "separator" | "ellipsis", string>> | undefined;
9
+ }) | undefined) => {
10
+ item: string;
11
+ list: string;
12
+ link: string;
13
+ page: string;
14
+ separator: string;
15
+ ellipsis: string;
16
+ };
5
17
  declare function Breadcrumb({
6
18
  ...props
7
19
  }: React$1.ComponentProps<"nav">): react_jsx_runtime0.JSX.Element;
@@ -34,5 +46,5 @@ declare function BreadcrumbEllipsis({
34
46
  ...props
35
47
  }: React$1.ComponentProps<"span">): react_jsx_runtime0.JSX.Element;
36
48
  //#endregion
37
- export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
49
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, breadcrumbRecipe };
38
50
  //# sourceMappingURL=breadcrumb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.d.ts","names":[],"sources":["../../../src/client/ui/breadcrumb.tsx"],"mappings":";;;;iBAMS,UAAA,CAAA;EAAA,GAAgB;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIpD,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAalE,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUlE,cAAA,CAAA;EACP,OAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA;EACP,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAYQ,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAWpE,mBAAA,CAAA;EAAsB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAcjF,kBAAA,CAAA;EAAqB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"breadcrumb.d.ts","names":[],"sources":["../../../src/client/ui/breadcrumb.tsx"],"mappings":";;;;cAOM,gBAAA,GAAgB,KAAA;EAAA;;cAUpB,OAAA,CAAA,MAAA;AAAA;;;;;;;;iBAIO,UAAA,CAAA;EAAA,GAAgB;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIpD,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAMlE,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAMlE,cAAA,CAAA;EACP,OAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA;EAAwB,OAAA;AAAA,IAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQ3C,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAWpE,mBAAA,CAAA;EAAsB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAcjF,kBAAA,CAAA;EAAqB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,9 +1,29 @@
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 { Slot } from "radix-ui";
6
7
  //#region src/client/ui/breadcrumb.tsx
8
+ const breadcrumbRecipe = defineSlotRecipe({
9
+ slots: [
10
+ "list",
11
+ "item",
12
+ "link",
13
+ "page",
14
+ "separator",
15
+ "ellipsis"
16
+ ],
17
+ base: {
18
+ list: "flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground sm:gap-2.5",
19
+ item: "inline-flex items-center gap-1.5",
20
+ link: "transition-colors hover:text-foreground",
21
+ page: "font-normal text-foreground",
22
+ separator: "[&>svg]:size-3.5",
23
+ ellipsis: "flex size-9 items-center justify-center"
24
+ }
25
+ });
26
+ const defaultClasses = breadcrumbRecipe();
7
27
  function Breadcrumb({ ...props }) {
8
28
  return /* @__PURE__ */ jsx("nav", {
9
29
  "aria-label": "breadcrumb",
@@ -14,21 +34,21 @@ function Breadcrumb({ ...props }) {
14
34
  function BreadcrumbList({ className, ...props }) {
15
35
  return /* @__PURE__ */ jsx("ol", {
16
36
  "data-slot": "breadcrumb-list",
17
- className: cn("flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground sm:gap-2.5", className),
37
+ className: cn(defaultClasses.list, className),
18
38
  ...props
19
39
  });
20
40
  }
21
41
  function BreadcrumbItem({ className, ...props }) {
22
42
  return /* @__PURE__ */ jsx("li", {
23
43
  "data-slot": "breadcrumb-item",
24
- className: cn("inline-flex items-center gap-1.5", className),
44
+ className: cn(defaultClasses.item, className),
25
45
  ...props
26
46
  });
27
47
  }
28
48
  function BreadcrumbLink({ asChild, className, ...props }) {
29
49
  return /* @__PURE__ */ jsx(asChild ? Slot.Root : "a", {
30
50
  "data-slot": "breadcrumb-link",
31
- className: cn("transition-colors hover:text-foreground", className),
51
+ className: cn(defaultClasses.link, className),
32
52
  ...props
33
53
  });
34
54
  }
@@ -36,7 +56,7 @@ function BreadcrumbPage({ className, ...props }) {
36
56
  return /* @__PURE__ */ jsx("span", {
37
57
  "data-slot": "breadcrumb-page",
38
58
  "aria-current": "page",
39
- className: cn("font-normal text-foreground", className),
59
+ className: cn(defaultClasses.page, className),
40
60
  ...props
41
61
  });
42
62
  }
@@ -45,7 +65,7 @@ function BreadcrumbSeparator({ children, className, ...props }) {
45
65
  "data-slot": "breadcrumb-separator",
46
66
  role: "presentation",
47
67
  "aria-hidden": "true",
48
- className: cn("[&>svg]:size-3.5", className),
68
+ className: cn(defaultClasses.separator, className),
49
69
  ...props,
50
70
  children: children ?? "/"
51
71
  });
@@ -56,7 +76,7 @@ function BreadcrumbEllipsis({ className, ...props }) {
56
76
  "data-slot": "breadcrumb-ellipsis",
57
77
  role: "presentation",
58
78
  "aria-hidden": "true",
59
- className: cn("flex size-9 items-center justify-center", className),
79
+ className: cn(defaultClasses.ellipsis, className),
60
80
  ...props,
61
81
  children: [/* @__PURE__ */ jsx(MoreIcon, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
62
82
  className: "sr-only",
@@ -65,6 +85,6 @@ function BreadcrumbEllipsis({ className, ...props }) {
65
85
  });
66
86
  }
67
87
  //#endregion
68
- export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
88
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, breadcrumbRecipe };
69
89
 
70
90
  //# sourceMappingURL=breadcrumb.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.mjs","names":[],"sources":["../../../src/client/ui/breadcrumb.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\nimport { Slot } from \"radix-ui\";\n\nimport { cn } from \"./utils\";\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground sm:gap-2.5\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\"transition-colors hover:text-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? \"/\"}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<\"span\">) {\n const MoreIcon = useIcon(\"more\");\n\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreIcon className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"mappings":";;;;;;AAMA,SAAS,WAAW,EAAE,GAAG,SAAsC;AAC7D,QAAO,oBAAC,OAAD;EAAK,cAAW;EAAa,aAAU;EAAa,GAAI;EAAS,CAAA;;AAG1E,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GACT,4FACA,UACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GAAG,oCAAoC,UAAU;EAC5D,GAAI;EACJ,CAAA;;AAIN,SAAS,eAAe,EACtB,SACA,WACA,GAAG,SAGF;AAGD,QACE,oBAHW,UAAU,KAAK,OAAO,KAGjC;EACE,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;EACJ,CAAA;;AAIN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAuC;AAC7E,QACE,oBAAC,QAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,+BAA+B,UAAU;EACvD,GAAI;EACJ,CAAA;;AAIN,SAAS,oBAAoB,EAAE,UAAU,WAAW,GAAG,SAAqC;AAC1F,QACE,oBAAC,MAAD;EACE,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,oBAAoB,UAAU;EAC5C,GAAI;YAEH,YAAY;EACV,CAAA;;AAIT,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAuC;CACjF,MAAM,WAAW,QAAQ,OAAO;AAEhC,QACE,qBAAC,QAAD;EACE,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;YALN,CAOE,oBAAC,UAAD,EAAU,WAAU,UAAW,CAAA,EAC/B,oBAAC,QAAD;GAAM,WAAU;aAAU;GAAW,CAAA,CAChC"}
1
+ {"version":3,"file":"breadcrumb.mjs","names":[],"sources":["../../../src/client/ui/breadcrumb.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\nimport { Slot } from \"radix-ui\";\n\nimport { defineSlotRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst breadcrumbRecipe = defineSlotRecipe({\n slots: [\"list\", \"item\", \"link\", \"page\", \"separator\", \"ellipsis\"] as const,\n base: {\n list: \"flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground sm:gap-2.5\",\n item: \"inline-flex items-center gap-1.5\",\n link: \"transition-colors hover:text-foreground\",\n page: \"font-normal text-foreground\",\n separator: \"[&>svg]:size-3.5\",\n ellipsis: \"flex size-9 items-center justify-center\",\n },\n});\n\nconst defaultClasses = breadcrumbRecipe();\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol data-slot=\"breadcrumb-list\" className={cn(defaultClasses.list, className)} {...props} />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li data-slot=\"breadcrumb-item\" className={cn(defaultClasses.item, className)} {...props} />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"a\";\n\n return (\n <Comp data-slot=\"breadcrumb-link\" className={cn(defaultClasses.link, className)} {...props} />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n aria-current=\"page\"\n className={cn(defaultClasses.page, className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(defaultClasses.separator, className)}\n {...props}\n >\n {children ?? \"/\"}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<\"span\">) {\n const MoreIcon = useIcon(\"more\");\n\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(defaultClasses.ellipsis, className)}\n {...props}\n >\n <MoreIcon className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n breadcrumbRecipe,\n};\n"],"mappings":";;;;;;;AAOA,MAAM,mBAAmB,iBAAiB;CACxC,OAAO;EAAC;EAAQ;EAAQ;EAAQ;EAAQ;EAAa;EAAW;CAChE,MAAM;EACJ,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACN,WAAW;EACX,UAAU;EACX;CACF,CAAC;AAEF,MAAM,iBAAiB,kBAAkB;AAEzC,SAAS,WAAW,EAAE,GAAG,SAAsC;AAC7D,QAAO,oBAAC,OAAD;EAAK,cAAW;EAAa,aAAU;EAAa,GAAI;EAAS,CAAA;;AAG1E,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC,MAAD;EAAI,aAAU;EAAkB,WAAW,GAAG,eAAe,MAAM,UAAU;EAAE,GAAI;EAAS,CAAA;;AAIhG,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC,MAAD;EAAI,aAAU;EAAkB,WAAW,GAAG,eAAe,MAAM,UAAU;EAAE,GAAI;EAAS,CAAA;;AAIhG,SAAS,eAAe,EACtB,SACA,WACA,GAAG,SACiD;AAGpD,QACE,oBAHW,UAAU,KAAK,OAAO,KAGjC;EAAM,aAAU;EAAkB,WAAW,GAAG,eAAe,MAAM,UAAU;EAAE,GAAI;EAAS,CAAA;;AAIlG,SAAS,eAAe,EAAE,WAAW,GAAG,SAAuC;AAC7E,QACE,oBAAC,QAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;EACJ,CAAA;;AAIN,SAAS,oBAAoB,EAAE,UAAU,WAAW,GAAG,SAAqC;AAC1F,QACE,oBAAC,MAAD;EACE,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,eAAe,WAAW,UAAU;EAClD,GAAI;YAEH,YAAY;EACV,CAAA;;AAIT,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAuC;CACjF,MAAM,WAAW,QAAQ,OAAO;AAEhC,QACE,qBAAC,QAAD;EACE,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,eAAe,UAAU,UAAU;EACjD,GAAI;YALN,CAOE,oBAAC,UAAD,EAAU,WAAU,UAAW,CAAA,EAC/B,oBAAC,QAAD;GAAM,WAAU;aAAU;GAAW,CAAA,CAChC"}