@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.
- package/dist/client/cart/components/cart-drawer.mjs +3 -3
- package/dist/client/cart/components/cart-drawer.mjs.map +1 -1
- package/dist/client/cart/components/cart-trigger.mjs +1 -1
- package/dist/client/cart/components/cart-trigger.mjs.map +1 -1
- package/dist/client/storefront/checkout/cart-summary.mjs +1 -1
- package/dist/client/storefront/checkout/cart-summary.mjs.map +1 -1
- package/dist/client/storefront/components/language-selector.d.ts.map +1 -1
- package/dist/client/storefront/components/language-selector.mjs +1 -1
- package/dist/client/storefront/components/language-selector.mjs.map +1 -1
- package/dist/client/storefront/filters/filter-chip.mjs +1 -1
- package/dist/client/storefront/filters/filter-chip.mjs.map +1 -1
- package/dist/client/storefront/filters/filter-panel.mjs +1 -1
- package/dist/client/storefront/filters/filter-panel.mjs.map +1 -1
- package/dist/client/storefront/filters/toggle-list-view.mjs +1 -1
- package/dist/client/storefront/filters/toggle-list-view.mjs.map +1 -1
- package/dist/client/storefront/layout/promotion-bar.d.ts.map +1 -1
- package/dist/client/storefront/layout/promotion-bar.mjs +3 -3
- package/dist/client/storefront/layout/promotion-bar.mjs.map +1 -1
- package/dist/client/storefront/primitives/button.d.ts +2 -2
- package/dist/client/storefront/primitives/button.d.ts.map +1 -1
- package/dist/client/storefront/primitives/button.mjs +4 -4
- package/dist/client/storefront/primitives/button.mjs.map +1 -1
- package/dist/client/storefront/primitives/input.d.ts +1 -1
- package/dist/client/storefront/primitives/input.mjs.map +1 -1
- package/dist/client/storefront/primitives/pagination.mjs +2 -2
- package/dist/client/storefront/primitives/pagination.mjs.map +1 -1
- package/dist/client/storefront/product/quantity-picker.mjs +2 -2
- package/dist/client/storefront/product/quantity-picker.mjs.map +1 -1
- package/dist/client/storefront/types.d.ts +1 -1
- package/dist/client/storefront/types.d.ts.map +1 -1
- package/dist/client/storefront/types.mjs.map +1 -1
- package/dist/client/ui/accordion.d.ts +12 -1
- package/dist/client/ui/accordion.d.ts.map +1 -1
- package/dist/client/ui/accordion.mjs +23 -5
- package/dist/client/ui/accordion.mjs.map +1 -1
- package/dist/client/ui/alert.d.ts +16 -7
- package/dist/client/ui/alert.d.ts.map +1 -1
- package/dist/client/ui/alert.mjs +21 -8
- package/dist/client/ui/alert.mjs.map +1 -1
- package/dist/client/ui/avatar.d.ts +10 -1
- package/dist/client/ui/avatar.d.ts.map +1 -1
- package/dist/client/ui/avatar.mjs +18 -4
- package/dist/client/ui/avatar.mjs.map +1 -1
- package/dist/client/ui/breadcrumb.d.ts +13 -1
- package/dist/client/ui/breadcrumb.d.ts.map +1 -1
- package/dist/client/ui/breadcrumb.mjs +27 -7
- package/dist/client/ui/breadcrumb.mjs.map +1 -1
- package/dist/client/ui/button.d.ts +28 -10
- package/dist/client/ui/button.d.ts.map +1 -1
- package/dist/client/ui/button.mjs +45 -20
- package/dist/client/ui/button.mjs.map +1 -1
- package/dist/client/ui/card.d.ts +20 -1
- package/dist/client/ui/card.d.ts.map +1 -1
- package/dist/client/ui/card.mjs +36 -8
- package/dist/client/ui/card.mjs.map +1 -1
- package/dist/client/ui/carousel.d.ts.map +1 -1
- package/dist/client/ui/carousel.mjs +2 -2
- package/dist/client/ui/carousel.mjs.map +1 -1
- package/dist/client/ui/checkbox.d.ts +9 -1
- package/dist/client/ui/checkbox.d.ts.map +1 -1
- package/dist/client/ui/checkbox.mjs +12 -3
- package/dist/client/ui/checkbox.mjs.map +1 -1
- package/dist/client/ui/dialog.d.ts +13 -1
- package/dist/client/ui/dialog.d.ts.map +1 -1
- package/dist/client/ui/dialog.mjs +27 -7
- package/dist/client/ui/dialog.mjs.map +1 -1
- package/dist/client/ui/hover-card.d.ts +6 -1
- package/dist/client/ui/hover-card.d.ts.map +1 -1
- package/dist/client/ui/hover-card.mjs +4 -2
- package/dist/client/ui/hover-card.mjs.map +1 -1
- package/dist/client/ui/input.d.ts +20 -7
- package/dist/client/ui/input.d.ts.map +1 -1
- package/dist/client/ui/input.mjs +33 -9
- package/dist/client/ui/input.mjs.map +1 -1
- package/dist/client/ui/label.d.ts +6 -1
- package/dist/client/ui/label.d.ts.map +1 -1
- package/dist/client/ui/label.mjs +4 -2
- package/dist/client/ui/label.mjs.map +1 -1
- package/dist/client/ui/navigation-menu.d.ts +20 -3
- package/dist/client/ui/navigation-menu.d.ts.map +1 -1
- package/dist/client/ui/navigation-menu.mjs +34 -12
- package/dist/client/ui/navigation-menu.mjs.map +1 -1
- package/dist/client/ui/pagination.d.ts.map +1 -1
- package/dist/client/ui/pagination.mjs +3 -3
- package/dist/client/ui/pagination.mjs.map +1 -1
- package/dist/client/ui/popover.d.ts +11 -1
- package/dist/client/ui/popover.d.ts.map +1 -1
- package/dist/client/ui/popover.mjs +21 -5
- package/dist/client/ui/popover.mjs.map +1 -1
- package/dist/client/ui/progress.d.ts +9 -1
- package/dist/client/ui/progress.d.ts.map +1 -1
- package/dist/client/ui/progress.mjs +12 -3
- package/dist/client/ui/progress.mjs.map +1 -1
- package/dist/client/ui/select.d.ts +14 -2
- package/dist/client/ui/select.d.ts.map +1 -1
- package/dist/client/ui/select.mjs +35 -9
- package/dist/client/ui/select.mjs.map +1 -1
- package/dist/client/ui/separator.d.ts +6 -1
- package/dist/client/ui/separator.d.ts.map +1 -1
- package/dist/client/ui/separator.mjs +4 -2
- package/dist/client/ui/separator.mjs.map +1 -1
- package/dist/client/ui/sheet.d.ts +13 -1
- package/dist/client/ui/sheet.d.ts.map +1 -1
- package/dist/client/ui/sheet.mjs +35 -7
- package/dist/client/ui/sheet.mjs.map +1 -1
- package/dist/client/ui/slot-wrapper.d.ts +28 -0
- package/dist/client/ui/slot-wrapper.d.ts.map +1 -0
- package/dist/client/ui/slot-wrapper.mjs +38 -0
- package/dist/client/ui/slot-wrapper.mjs.map +1 -0
- package/dist/client/ui/tabs.d.ts +11 -1
- package/dist/client/ui/tabs.d.ts.map +1 -1
- package/dist/client/ui/tabs.mjs +21 -5
- package/dist/client/ui/tabs.mjs.map +1 -1
- package/dist/client/ui/toggle-group.d.ts +7 -4
- package/dist/client/ui/toggle-group.d.ts.map +1 -1
- package/dist/client/ui/toggle-group.mjs +4 -4
- package/dist/client/ui/toggle-group.mjs.map +1 -1
- package/dist/client/ui/toggle.d.ts +17 -8
- package/dist/client/ui/toggle.d.ts.map +1 -1
- package/dist/client/ui/toggle.mjs +11 -9
- package/dist/client/ui/toggle.mjs.map +1 -1
- package/dist/client/ui/tooltip.d.ts +6 -1
- package/dist/client/ui/tooltip.d.ts.map +1 -1
- package/dist/client/ui/tooltip.mjs +4 -2
- package/dist/client/ui/tooltip.mjs.map +1 -1
- package/dist/client/ui-resolver/button.d.ts +3 -4
- package/dist/client/ui-resolver/button.d.ts.map +1 -1
- package/dist/client/ui-resolver/button.mjs +2 -2
- package/dist/client/ui-resolver/button.mjs.map +1 -1
- package/dist/client/ui-resolver/card.d.ts +14 -1
- package/dist/client/ui-resolver/card.d.ts.map +1 -1
- package/dist/client/ui-resolver/card.mjs +3 -2
- package/dist/client/ui-resolver/card.mjs.map +1 -1
- package/dist/client/ui-resolver/context.mjs +1 -1
- package/dist/client/ui-resolver/context.mjs.map +1 -1
- package/dist/client/ui-resolver/index.d.ts +7 -4
- package/dist/client/ui-resolver/index.mjs +6 -4
- package/dist/client/ui-resolver/input.d.ts +3 -4
- package/dist/client/ui-resolver/input.d.ts.map +1 -1
- package/dist/client/ui-resolver/input.mjs +2 -2
- package/dist/client/ui-resolver/input.mjs.map +1 -1
- package/dist/client/ui-resolver/navigation-menu.d.ts +1 -2
- package/dist/client/ui-resolver/navigation-menu.d.ts.map +1 -1
- package/dist/client/ui-resolver/recipe.d.ts +95 -0
- package/dist/client/ui-resolver/recipe.d.ts.map +1 -0
- package/dist/client/ui-resolver/recipe.mjs +134 -0
- package/dist/client/ui-resolver/recipe.mjs.map +1 -0
- package/dist/client/ui-resolver/toggle.d.ts +2 -2
- package/dist/client/ui-resolver/toggle.mjs +2 -2
- package/dist/client/ui-resolver/toggle.mjs.map +1 -1
- package/dist/client/ui-resolver/types.d.ts +14 -0
- package/dist/client/ui-resolver/types.d.ts.map +1 -0
- package/dist/client/ui-resolver/types.mjs +1 -0
- package/dist/client/wishlist/wishlist-drawer.mjs +4 -4
- package/dist/client/wishlist/wishlist-drawer.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/client/storefront/types.ts"],"mappings":";KAEY,UAAA;EACV,GAAA;EACA,GAAA;EACA,KAAA;AAAA;AAAA,KAGU,QAAA;EACV,IAAA;EACA,KAAA;EACA,MAAA;AAAA;AAAA,KAKU,eAAA;AAAA,KAIA,UAAA;AAAA,
|
|
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
|
|
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":";;;;;
|
|
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(
|
|
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(
|
|
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(
|
|
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:
|
|
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(
|
|
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
|
|
8
|
-
variant?: "default" | "destructive" |
|
|
9
|
-
} &
|
|
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"> &
|
|
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":"
|
|
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"}
|
package/dist/client/ui/alert.mjs
CHANGED
|
@@ -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
|
|
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(
|
|
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(
|
|
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(
|
|
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 {
|
|
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":";;;;;
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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":";;;;
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
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"}
|