@enadhq/enad-react-sdk 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/blocks/card-video.mjs +1 -1
- package/dist/client/storefront/blocks/card-video.mjs.map +1 -1
- package/dist/client/storefront/blocks/gallery-with-link-blocks.d.ts.map +1 -1
- package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs +13 -5
- package/dist/client/storefront/blocks/gallery-with-link-blocks.mjs.map +1 -1
- package/dist/client/storefront/blocks/gallery.d.ts +10 -1
- package/dist/client/storefront/blocks/gallery.d.ts.map +1 -1
- package/dist/client/storefront/blocks/gallery.mjs +51 -27
- package/dist/client/storefront/blocks/gallery.mjs.map +1 -1
- package/dist/client/storefront/blocks/hero.d.ts +12 -1
- package/dist/client/storefront/blocks/hero.d.ts.map +1 -1
- package/dist/client/storefront/blocks/hero.mjs +143 -145
- package/dist/client/storefront/blocks/hero.mjs.map +1 -1
- package/dist/client/storefront/blocks/link-block-small.d.ts.map +1 -1
- package/dist/client/storefront/blocks/link-block-small.mjs +1 -1
- package/dist/client/storefront/blocks/link-block-small.mjs.map +1 -1
- package/dist/client/storefront/blocks/link-block.d.ts.map +1 -1
- package/dist/client/storefront/blocks/link-block.mjs +4 -4
- package/dist/client/storefront/blocks/link-block.mjs.map +1 -1
- package/dist/client/storefront/blocks/product-card-parts.d.ts +1 -1
- package/dist/client/storefront/blocks/product-card-parts.d.ts.map +1 -1
- package/dist/client/storefront/blocks/product-card-parts.mjs +2 -2
- package/dist/client/storefront/blocks/product-card-parts.mjs.map +1 -1
- package/dist/client/storefront/blocks/product-card.d.ts +10 -1
- package/dist/client/storefront/blocks/product-card.d.ts.map +1 -1
- package/dist/client/storefront/blocks/product-card.mjs +122 -116
- package/dist/client/storefront/blocks/product-card.mjs.map +1 -1
- package/dist/client/storefront/blocks/product-image.mjs +2 -2
- package/dist/client/storefront/blocks/product-image.mjs.map +1 -1
- package/dist/client/storefront/blocks/text-content-with-image.d.ts +14 -1
- package/dist/client/storefront/blocks/text-content-with-image.d.ts.map +1 -1
- package/dist/client/storefront/blocks/text-content-with-image.mjs +141 -164
- package/dist/client/storefront/blocks/text-content-with-image.mjs.map +1 -1
- package/dist/client/storefront/carousel/swipeable-carousel.d.ts +5 -1
- package/dist/client/storefront/carousel/swipeable-carousel.d.ts.map +1 -1
- package/dist/client/storefront/carousel/swipeable-carousel.mjs +2 -1
- package/dist/client/storefront/carousel/swipeable-carousel.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/components/product-recommendations.d.ts.map +1 -1
- package/dist/client/storefront/components/product-recommendations.mjs +29 -37
- package/dist/client/storefront/components/product-recommendations.mjs.map +1 -1
- package/dist/client/storefront/filters/filter-chip.d.ts +5 -2
- package/dist/client/storefront/filters/filter-chip.d.ts.map +1 -1
- package/dist/client/storefront/filters/filter-chip.mjs +6 -4
- package/dist/client/storefront/filters/filter-chip.mjs.map +1 -1
- package/dist/client/storefront/filters/filter-panel.mjs +2 -2
- 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/index.d.ts +12 -1
- package/dist/client/storefront/index.mjs +12 -1
- package/dist/client/storefront/layout/header.d.ts.map +1 -1
- package/dist/client/storefront/layout/header.mjs +1 -1
- package/dist/client/storefront/layout/header.mjs.map +1 -1
- package/dist/client/storefront/layout/mobile-menu-drawer.mjs +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/block-heading.d.ts +40 -0
- package/dist/client/storefront/primitives/block-heading.d.ts.map +1 -0
- package/dist/client/storefront/primitives/block-heading.mjs +43 -0
- package/dist/client/storefront/primitives/block-heading.mjs.map +1 -0
- 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/cta-group.d.ts +25 -0
- package/dist/client/storefront/primitives/cta-group.d.ts.map +1 -0
- package/dist/client/storefront/primitives/cta-group.mjs +27 -0
- package/dist/client/storefront/primitives/cta-group.mjs.map +1 -0
- package/dist/client/storefront/primitives/image-with-hover.d.ts +18 -0
- package/dist/client/storefront/primitives/image-with-hover.d.ts.map +1 -0
- package/dist/client/storefront/primitives/image-with-hover.mjs +16 -0
- package/dist/client/storefront/primitives/image-with-hover.mjs.map +1 -0
- package/dist/client/storefront/primitives/index.d.ts +4 -1
- package/dist/client/storefront/primitives/index.mjs +4 -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/theme/apply.d.ts +1 -1
- package/dist/client/theme/apply.d.ts.map +1 -1
- package/dist/client/theme/apply.mjs +0 -12
- package/dist/client/theme/apply.mjs.map +1 -1
- package/dist/client/theme/cli.mjs +0 -16
- package/dist/client/theme/cli.mjs.map +1 -1
- package/dist/client/theme/codec.d.ts.map +1 -1
- package/dist/client/theme/codec.mjs +0 -2
- package/dist/client/theme/codec.mjs.map +1 -1
- package/dist/client/theme/defaults.d.ts +0 -2
- package/dist/client/theme/defaults.mjs +0 -2
- package/dist/client/theme/defaults.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 +9 -1
- package/dist/client/ui/carousel.d.ts.map +1 -1
- package/dist/client/ui/carousel.mjs +20 -4
- 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 +8 -6
- 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 +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.mjs","names":["SelectPrimitive"],"sources":["../../../src/client/ui/select.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\nimport { Select as SelectPrimitive } from \"radix-ui\";\n\nimport {
|
|
1
|
+
{"version":3,"file":"select.mjs","names":["SelectPrimitive"],"sources":["../../../src/client/ui/select.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\nimport { Select as SelectPrimitive } from \"radix-ui\";\n\nimport { defineSlotRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst selectRecipe = defineSlotRecipe({\n slots: [\"trigger\", \"content\", \"item\", \"label\", \"separator\", \"scrollButton\"] as const,\n base: {\n trigger:\n \"flex w-fit items-center justify-between gap-2 rounded-[var(--enad-input-radius)] border border-input bg-transparent px-[var(--enad-input-px)] py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground\",\n content:\n \"relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[var(--enad-input-radius)] border bg-popover text-popover-foreground shadow-[var(--enad-shadow-md)] data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n item: \"relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent-muted focus:text-accent-muted-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n label: \"px-2 py-1.5 text-xs text-muted-foreground\",\n separator: \"pointer-events-none -mx-1 my-1 h-px bg-border\",\n scrollButton: \"flex cursor-default items-center justify-center py-1\",\n },\n variants: {\n size: {\n sm: { trigger: \"h-[var(--enad-control-height-sm)]\" },\n md: { trigger: \"h-[var(--enad-input-height)]\" },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst defaultClasses = selectRecipe();\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"md\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"md\";\n}) {\n const ChevronDownIcon = useIcon(\"chevronDown\");\n const classes = selectRecipe({ size });\n\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(classes.trigger, className)}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"item-aligned\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n defaultClasses.content,\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(defaultClasses.label, className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n const CheckIcon = useIcon(\"check\");\n\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(defaultClasses.item, className)}\n {...props}\n >\n <span\n data-slot=\"select-item-indicator\"\n className=\"absolute right-2 flex size-3.5 items-center justify-center\"\n >\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(defaultClasses.separator, className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n const ChevronUpIcon = useIcon(\"chevronUp\");\n\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(defaultClasses.scrollButton, className)}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n const ChevronDownIcon = useIcon(\"chevronDown\");\n\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(defaultClasses.scrollButton, className)}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n selectRecipe,\n};\n"],"mappings":";;;;;;;AAOA,MAAM,eAAe,iBAAiB;CACpC,OAAO;EAAC;EAAW;EAAW;EAAQ;EAAS;EAAa;EAAe;CAC3E,MAAM;EACJ,SACE;EACF,SACE;EACF,MAAM;EACN,OAAO;EACP,WAAW;EACX,cAAc;EACf;CACD,UAAU,EACR,MAAM;EACJ,IAAI,EAAE,SAAS,qCAAqC;EACpD,IAAI,EAAE,SAAS,gCAAgC;EAChD,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAEF,MAAM,iBAAiB,cAAc;AAErC,SAAS,OAAO,EAAE,GAAG,SAA4D;AAC/E,QAAO,oBAACA,SAAgB,MAAjB;EAAsB,aAAU;EAAS,GAAI;EAAS,CAAA;;AAG/D,SAAS,YAAY,EAAE,GAAG,SAA6D;AACrF,QAAO,oBAACA,SAAgB,OAAjB;EAAuB,aAAU;EAAe,GAAI;EAAS,CAAA;;AAGtE,SAAS,YAAY,EAAE,GAAG,SAA6D;AACrF,QAAO,oBAACA,SAAgB,OAAjB;EAAuB,aAAU;EAAe,GAAI;EAAS,CAAA;;AAGtE,SAAS,cAAc,EACrB,WACA,OAAO,MACP,UACA,GAAG,SAGF;CACD,MAAM,kBAAkB,QAAQ,cAAc;CAC9C,MAAM,UAAU,aAAa,EAAE,MAAM,CAAC;AAEtC,QACE,qBAACA,SAAgB,SAAjB;EACE,aAAU;EACV,aAAW;EACX,WAAW,GAAG,QAAQ,SAAS,UAAU;EACzC,GAAI;YAJN,CAMG,UACD,oBAACA,SAAgB,MAAjB;GAAsB,SAAA;aACpB,oBAAC,iBAAD,EAAiB,WAAU,qBAAsB,CAAA;GAC5B,CAAA,CACC;;;AAI9B,SAAS,cAAc,EACrB,WACA,UACA,WAAW,gBACX,QAAQ,UACR,GAAG,SACoD;AACvD,QACE,oBAACA,SAAgB,QAAjB,EAAA,UACE,qBAACA,SAAgB,SAAjB;EACE,aAAU;EACV,WAAW,GACT,eAAe,SACf,aAAa,YACX,mIACF,UACD;EACS;EACH;EACP,GAAI;YAVN;GAYE,oBAAC,sBAAD,EAAwB,CAAA;GACxB,oBAACA,SAAgB,UAAjB;IACE,WAAW,GACT,OACA,aAAa,YACX,sGACH;IAEA;IACwB,CAAA;GAC3B,oBAAC,wBAAD,EAA0B,CAAA;GACF;KACH,CAAA;;AAI7B,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,WAAW,EAClB,WACA,UACA,GAAG,SACiD;CACpD,MAAM,YAAY,QAAQ,QAAQ;AAElC,QACE,qBAACA,SAAgB,MAAjB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;YAHN,CAKE,oBAAC,QAAD;GACE,aAAU;GACV,WAAU;aAEV,oBAACA,SAAgB,eAAjB,EAAA,UACE,oBAAC,WAAD,EAAW,WAAU,UAAW,CAAA,EACF,CAAA;GAC3B,CAAA,EACP,oBAACA,SAAgB,UAAjB,EAA2B,UAAoC,CAAA,CAC1C;;;AAI3B,SAAS,gBAAgB,EACvB,WACA,GAAG,SACsD;AACzD,QACE,oBAACA,SAAgB,WAAjB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,WAAW,UAAU;EAClD,GAAI;EACJ,CAAA;;AAIN,SAAS,qBAAqB,EAC5B,WACA,GAAG,SAC2D;CAC9D,MAAM,gBAAgB,QAAQ,YAAY;AAE1C,QACE,oBAACA,SAAgB,gBAAjB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,cAAc,UAAU;EACrD,GAAI;YAEJ,oBAAC,eAAD,EAAe,WAAU,UAAW,CAAA;EACL,CAAA;;AAIrC,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;CAChE,MAAM,kBAAkB,QAAQ,cAAc;AAE9C,QACE,oBAACA,SAAgB,kBAAjB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,cAAc,UAAU;EACrD,GAAI;YAEJ,oBAAC,iBAAD,EAAiB,WAAU,UAAW,CAAA;EACL,CAAA"}
|
|
@@ -3,6 +3,11 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
|
3
3
|
import { Separator as Separator$1 } from "radix-ui";
|
|
4
4
|
|
|
5
5
|
//#region src/client/ui/separator.d.ts
|
|
6
|
+
declare const separatorRecipe: (props?: ({
|
|
7
|
+
[x: string]: string | undefined;
|
|
8
|
+
} & {
|
|
9
|
+
className?: string;
|
|
10
|
+
}) | undefined) => string;
|
|
6
11
|
declare function Separator({
|
|
7
12
|
className,
|
|
8
13
|
orientation,
|
|
@@ -10,5 +15,5 @@ declare function Separator({
|
|
|
10
15
|
...props
|
|
11
16
|
}: React$1.ComponentProps<typeof Separator$1.Root>): react_jsx_runtime0.JSX.Element;
|
|
12
17
|
//#endregion
|
|
13
|
-
export { Separator };
|
|
18
|
+
export { Separator, separatorRecipe };
|
|
14
19
|
//# sourceMappingURL=separator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"separator.d.ts","names":[],"sources":["../../../src/client/ui/separator.tsx"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"separator.d.ts","names":[],"sources":["../../../src/client/ui/separator.tsx"],"mappings":";;;;;cAMM,eAAA,GAAe,KAAA;EAAA;;;;iBAIZ,SAAA,CAAA;EACP,SAAA;EACA,WAAA;EACA,UAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAmB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { cn } from "./utils.mjs";
|
|
2
|
+
import { defineRecipe } from "../ui-resolver/recipe.mjs";
|
|
2
3
|
import "react";
|
|
3
4
|
import { jsx } from "react/jsx-runtime";
|
|
4
5
|
import { Separator as Separator$1 } from "radix-ui";
|
|
5
6
|
//#region src/client/ui/separator.tsx
|
|
7
|
+
const separatorRecipe = defineRecipe({ base: "shrink-0 bg-border bg-clip-content data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=horizontal]:px-(--separator-horizontal-gutter,0px) data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch data-[orientation=vertical]:py-(--separator-vertical-gutter,0px)" });
|
|
6
8
|
function Separator({ className, orientation = "horizontal", decorative = true, ...props }) {
|
|
7
9
|
return /* @__PURE__ */ jsx(Separator$1.Root, {
|
|
8
10
|
"data-slot": "separator",
|
|
9
11
|
decorative,
|
|
10
12
|
orientation,
|
|
11
|
-
className: cn(
|
|
13
|
+
className: cn(separatorRecipe({ className })),
|
|
12
14
|
...props
|
|
13
15
|
});
|
|
14
16
|
}
|
|
15
17
|
//#endregion
|
|
16
|
-
export { Separator };
|
|
18
|
+
export { Separator, separatorRecipe };
|
|
17
19
|
|
|
18
20
|
//# sourceMappingURL=separator.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"separator.mjs","names":["SeparatorPrimitive"],"sources":["../../../src/client/ui/separator.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Separator as SeparatorPrimitive } from \"radix-ui\";\n\nimport {
|
|
1
|
+
{"version":3,"file":"separator.mjs","names":["SeparatorPrimitive"],"sources":["../../../src/client/ui/separator.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Separator as SeparatorPrimitive } from \"radix-ui\";\n\nimport { defineRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst separatorRecipe = defineRecipe({\n base: \"shrink-0 bg-border bg-clip-content data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=horizontal]:px-(--separator-horizontal-gutter,0px) data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch data-[orientation=vertical]:py-(--separator-vertical-gutter,0px)\",\n});\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(separatorRecipe({ className }))}\n {...props}\n />\n );\n}\n\nexport { Separator, separatorRecipe };\n"],"mappings":";;;;;;AAMA,MAAM,kBAAkB,aAAa,EACnC,MAAM,8TACP,CAAC;AAEF,SAAS,UAAU,EACjB,WACA,cAAc,cACd,aAAa,MACb,GAAG,SACoD;AACvD,QACE,oBAACA,YAAmB,MAApB;EACE,aAAU;EACE;EACC;EACb,WAAW,GAAG,gBAAgB,EAAE,WAAW,CAAC,CAAC;EAC7C,GAAI;EACJ,CAAA"}
|
|
@@ -3,6 +3,18 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
|
3
3
|
import { Dialog } from "radix-ui";
|
|
4
4
|
|
|
5
5
|
//#region src/client/ui/sheet.d.ts
|
|
6
|
+
declare const sheetRecipe: (props?: ({
|
|
7
|
+
side?: "right" | "left" | "top" | "bottom" | undefined;
|
|
8
|
+
} & {
|
|
9
|
+
className?: Partial<Record<"overlay" | "content" | "title" | "description" | "header" | "footer", string>> | undefined;
|
|
10
|
+
}) | undefined) => {
|
|
11
|
+
overlay: string;
|
|
12
|
+
content: string;
|
|
13
|
+
title: string;
|
|
14
|
+
description: string;
|
|
15
|
+
header: string;
|
|
16
|
+
footer: string;
|
|
17
|
+
};
|
|
6
18
|
declare function Sheet({
|
|
7
19
|
...props
|
|
8
20
|
}: React$1.ComponentProps<typeof Dialog.Root>): react_jsx_runtime0.JSX.Element;
|
|
@@ -41,5 +53,5 @@ declare function SheetDescription({
|
|
|
41
53
|
...props
|
|
42
54
|
}: React$1.ComponentProps<typeof Dialog.Description>): react_jsx_runtime0.JSX.Element;
|
|
43
55
|
//#endregion
|
|
44
|
-
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };
|
|
56
|
+
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, sheetRecipe };
|
|
45
57
|
//# sourceMappingURL=sheet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet.d.ts","names":[],"sources":["../../../src/client/ui/sheet.tsx"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"sheet.d.ts","names":[],"sources":["../../../src/client/ui/sheet.tsx"],"mappings":";;;;;cASM,WAAA,GAAW,KAAA;;;cAmCf,OAAA,CAAA,MAAA;AAAA;;;;;;;;iBAIO,KAAA,CAAA;EAAA,GAAW;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAe,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIpE,YAAA,CAAA;EAAA,GAAkB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAe,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI9E,UAAA,CAAA;EAAA,GAAgB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAe,KAAA,IAAM,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAqB1E,YAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAe,OAAA;EAC5C,IAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiBQ,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAMhE,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAMhE,UAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAe,KAAA;EAC5C,SAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAoBQ,gBAAA,CAAA;EACP,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAe,WAAA,IAAY,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/client/ui/sheet.mjs
CHANGED
|
@@ -1,10 +1,37 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useIcon } from "../icons/icon-context.mjs";
|
|
3
3
|
import { cn } from "./utils.mjs";
|
|
4
|
+
import { defineSlotRecipe } from "../ui-resolver/recipe.mjs";
|
|
4
5
|
import "react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
7
|
import { Dialog } from "radix-ui";
|
|
7
8
|
//#region src/client/ui/sheet.tsx
|
|
9
|
+
const sheetRecipe = defineSlotRecipe({
|
|
10
|
+
slots: [
|
|
11
|
+
"overlay",
|
|
12
|
+
"content",
|
|
13
|
+
"header",
|
|
14
|
+
"footer",
|
|
15
|
+
"title",
|
|
16
|
+
"description"
|
|
17
|
+
],
|
|
18
|
+
base: {
|
|
19
|
+
overlay: "fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
20
|
+
content: "fixed z-50 flex flex-col gap-4 bg-background shadow-[var(--enad-shadow-lg)] transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500",
|
|
21
|
+
header: "flex flex-col gap-1.5 p-4 border-b",
|
|
22
|
+
footer: "mt-auto flex flex-col gap-2 p-4",
|
|
23
|
+
title: "font-semibold text-foreground",
|
|
24
|
+
description: "text-sm text-muted-foreground"
|
|
25
|
+
},
|
|
26
|
+
variants: { side: {
|
|
27
|
+
right: { content: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm" },
|
|
28
|
+
left: { content: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm" },
|
|
29
|
+
top: { content: "inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top" },
|
|
30
|
+
bottom: { content: "inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom" }
|
|
31
|
+
} },
|
|
32
|
+
defaultVariants: { side: "right" }
|
|
33
|
+
});
|
|
34
|
+
const defaultClasses = sheetRecipe();
|
|
8
35
|
function Sheet({ ...props }) {
|
|
9
36
|
return /* @__PURE__ */ jsx(Dialog.Root, {
|
|
10
37
|
"data-slot": "sheet",
|
|
@@ -32,14 +59,15 @@ function SheetPortal({ ...props }) {
|
|
|
32
59
|
function SheetOverlay({ className, ...props }) {
|
|
33
60
|
return /* @__PURE__ */ jsx(Dialog.Overlay, {
|
|
34
61
|
"data-slot": "sheet-overlay",
|
|
35
|
-
className: cn(
|
|
62
|
+
className: cn(defaultClasses.overlay, className),
|
|
36
63
|
...props
|
|
37
64
|
});
|
|
38
65
|
}
|
|
39
66
|
function SheetContent({ className, children, side = "right", ...props }) {
|
|
67
|
+
const classes = sheetRecipe({ side });
|
|
40
68
|
return /* @__PURE__ */ jsxs(SheetPortal, { children: [/* @__PURE__ */ jsx(SheetOverlay, {}), /* @__PURE__ */ jsx(Dialog.Content, {
|
|
41
69
|
"data-slot": "sheet-content",
|
|
42
|
-
className: cn(
|
|
70
|
+
className: cn(classes.content, className),
|
|
43
71
|
...props,
|
|
44
72
|
children
|
|
45
73
|
})] });
|
|
@@ -47,14 +75,14 @@ function SheetContent({ className, children, side = "right", ...props }) {
|
|
|
47
75
|
function SheetHeader({ className, ...props }) {
|
|
48
76
|
return /* @__PURE__ */ jsx("div", {
|
|
49
77
|
"data-slot": "sheet-header",
|
|
50
|
-
className: cn(
|
|
78
|
+
className: cn(defaultClasses.header, className),
|
|
51
79
|
...props
|
|
52
80
|
});
|
|
53
81
|
}
|
|
54
82
|
function SheetFooter({ className, ...props }) {
|
|
55
83
|
return /* @__PURE__ */ jsx("div", {
|
|
56
84
|
"data-slot": "sheet-footer",
|
|
57
|
-
className: cn(
|
|
85
|
+
className: cn(defaultClasses.footer, className),
|
|
58
86
|
...props
|
|
59
87
|
});
|
|
60
88
|
}
|
|
@@ -62,7 +90,7 @@ function SheetTitle({ className, children, showClose = true, ...props }) {
|
|
|
62
90
|
const CloseIcon = useIcon("close");
|
|
63
91
|
return /* @__PURE__ */ jsxs(Dialog.Title, {
|
|
64
92
|
"data-slot": "sheet-title",
|
|
65
|
-
className: cn(
|
|
93
|
+
className: cn(defaultClasses.title, className),
|
|
66
94
|
...props,
|
|
67
95
|
children: [children, showClose && /* @__PURE__ */ jsxs(Dialog.Close, {
|
|
68
96
|
className: "absolute top-4 right-4 flex items-center justify-center rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 hover:bg-accent focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none cursor-pointer",
|
|
@@ -76,11 +104,11 @@ function SheetTitle({ className, children, showClose = true, ...props }) {
|
|
|
76
104
|
function SheetDescription({ className, ...props }) {
|
|
77
105
|
return /* @__PURE__ */ jsx(Dialog.Description, {
|
|
78
106
|
"data-slot": "sheet-description",
|
|
79
|
-
className: cn(
|
|
107
|
+
className: cn(defaultClasses.description, className),
|
|
80
108
|
...props
|
|
81
109
|
});
|
|
82
110
|
}
|
|
83
111
|
//#endregion
|
|
84
|
-
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };
|
|
112
|
+
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, sheetRecipe };
|
|
85
113
|
|
|
86
114
|
//# sourceMappingURL=sheet.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sheet.mjs","names":["SheetPrimitive"],"sources":["../../../src/client/ui/sheet.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\nimport { Dialog as SheetPrimitive } from \"radix-ui\";\n\nimport {
|
|
1
|
+
{"version":3,"file":"sheet.mjs","names":["SheetPrimitive"],"sources":["../../../src/client/ui/sheet.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { useIcon } from \"../icons/icon-context\";\nimport { Dialog as SheetPrimitive } from \"radix-ui\";\n\nimport { defineSlotRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst sheetRecipe = defineSlotRecipe({\n slots: [\"overlay\", \"content\", \"header\", \"footer\", \"title\", \"description\"] as const,\n base: {\n overlay:\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n content:\n \"fixed z-50 flex flex-col gap-4 bg-background shadow-[var(--enad-shadow-lg)] transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500\",\n header: \"flex flex-col gap-1.5 p-4 border-b\",\n footer: \"mt-auto flex flex-col gap-2 p-4\",\n title: \"font-semibold text-foreground\",\n description: \"text-sm text-muted-foreground\",\n },\n variants: {\n side: {\n right: {\n content:\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n left: {\n content:\n \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n },\n top: {\n content:\n \"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n },\n bottom: {\n content:\n \"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n },\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n});\n\nconst defaultClasses = sheetRecipe();\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(defaultClasses.overlay, className)}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n}) {\n const classes = sheetRecipe({ side });\n\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(classes.content, className)}\n {...props}\n >\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"sheet-header\" className={cn(defaultClasses.header, className)} {...props} />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"sheet-footer\" className={cn(defaultClasses.footer, className)} {...props} />\n );\n}\n\nfunction SheetTitle({\n className,\n children,\n showClose = true,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title> & {\n showClose?: boolean;\n}) {\n const CloseIcon = useIcon(\"close\");\n\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(defaultClasses.title, className)}\n {...props}\n >\n {children}\n {showClose && (\n <SheetPrimitive.Close className=\"absolute top-4 right-4 flex items-center justify-center rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 hover:bg-accent focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none cursor-pointer\">\n <CloseIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n </SheetPrimitive.Title>\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(defaultClasses.description, className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n sheetRecipe,\n};\n"],"mappings":";;;;;;;;AASA,MAAM,cAAc,iBAAiB;CACnC,OAAO;EAAC;EAAW;EAAW;EAAU;EAAU;EAAS;EAAc;CACzE,MAAM;EACJ,SACE;EACF,SACE;EACF,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,aAAa;EACd;CACD,UAAU,EACR,MAAM;EACJ,OAAO,EACL,SACE,oIACH;EACD,MAAM,EACJ,SACE,iIACH;EACD,KAAK,EACH,SACE,4GACH;EACD,QAAQ,EACN,SACE,qHACH;EACF,EACF;CACD,iBAAiB,EACf,MAAM,SACP;CACF,CAAC;AAEF,MAAM,iBAAiB,aAAa;AAEpC,SAAS,MAAM,EAAE,GAAG,SAA2D;AAC7E,QAAO,oBAACA,OAAe,MAAhB;EAAqB,aAAU;EAAQ,GAAI;EAAS,CAAA;;AAG7D,SAAS,aAAa,EAAE,GAAG,SAA8D;AACvF,QAAO,oBAACA,OAAe,SAAhB;EAAwB,aAAU;EAAgB,GAAI;EAAS,CAAA;;AAGxE,SAAS,WAAW,EAAE,GAAG,SAA4D;AACnF,QAAO,oBAACA,OAAe,OAAhB;EAAsB,aAAU;EAAc,GAAI;EAAS,CAAA;;AAGpE,SAAS,YAAY,EAAE,GAAG,SAA6D;AACrF,QAAO,oBAACA,OAAe,QAAhB;EAAuB,aAAU;EAAe,GAAI;EAAS,CAAA;;AAGtE,SAAS,aAAa,EACpB,WACA,GAAG,SACmD;AACtD,QACE,oBAACA,OAAe,SAAhB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,SAAS,UAAU;EAChD,GAAI;EACJ,CAAA;;AAIN,SAAS,aAAa,EACpB,WACA,UACA,OAAO,SACP,GAAG,SAGF;CACD,MAAM,UAAU,YAAY,EAAE,MAAM,CAAC;AAErC,QACE,qBAAC,aAAD,EAAA,UAAA,CACE,oBAAC,cAAD,EAAgB,CAAA,EAChB,oBAACA,OAAe,SAAhB;EACE,aAAU;EACV,WAAW,GAAG,QAAQ,SAAS,UAAU;EACzC,GAAI;EAEH;EACsB,CAAA,CACb,EAAA,CAAA;;AAIlB,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC,OAAD;EAAK,aAAU;EAAe,WAAW,GAAG,eAAe,QAAQ,UAAU;EAAE,GAAI;EAAS,CAAA;;AAIhG,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC,OAAD;EAAK,aAAU;EAAe,WAAW,GAAG,eAAe,QAAQ,UAAU;EAAE,GAAI;EAAS,CAAA;;AAIhG,SAAS,WAAW,EAClB,WACA,UACA,YAAY,MACZ,GAAG,SAGF;CACD,MAAM,YAAY,QAAQ,QAAQ;AAElC,QACE,qBAACA,OAAe,OAAhB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,OAAO,UAAU;EAC9C,GAAI;YAHN,CAKG,UACA,aACC,qBAACA,OAAe,OAAhB;GAAsB,WAAU;aAAhC,CACE,oBAAC,WAAD,EAAW,WAAU,UAAW,CAAA,EAChC,oBAAC,QAAD;IAAM,WAAU;cAAU;IAAY,CAAA,CACjB;KAEJ;;;AAI3B,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;AAC1D,QACE,oBAACA,OAAe,aAAhB;EACE,aAAU;EACV,WAAW,GAAG,eAAe,aAAa,UAAU;EACpD,GAAI;EACJ,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/client/ui/slot-wrapper.d.ts
|
|
5
|
+
interface SlotWrapperProps extends React$1.ComponentProps<"div"> {
|
|
6
|
+
startSlot?: React$1.ReactNode;
|
|
7
|
+
endSlot?: React$1.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Decorator slot wrapper for form components (Input, Button, Select, etc.).
|
|
11
|
+
*
|
|
12
|
+
* Renders startSlot → children → endSlot in a flex row. Slot icons scale
|
|
13
|
+
* to --slot-icon-size (set by the parent component's recipe). Padding
|
|
14
|
+
* compensation uses CSS logical properties for RTL support.
|
|
15
|
+
*
|
|
16
|
+
* Decorative slots get aria-hidden so screen readers skip icons/badges
|
|
17
|
+
* that don't add semantic meaning.
|
|
18
|
+
*/
|
|
19
|
+
declare function SlotWrapper({
|
|
20
|
+
startSlot,
|
|
21
|
+
endSlot,
|
|
22
|
+
children,
|
|
23
|
+
className,
|
|
24
|
+
...props
|
|
25
|
+
}: SlotWrapperProps): react_jsx_runtime0.JSX.Element;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { SlotWrapper, type SlotWrapperProps };
|
|
28
|
+
//# sourceMappingURL=slot-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot-wrapper.d.ts","names":[],"sources":["../../../src/client/ui/slot-wrapper.tsx"],"mappings":";;;;UAIU,gBAAA,SAAyB,OAAA,CAAM,cAAA;EACvC,SAAA,GAAY,OAAA,CAAM,SAAA;EAClB,OAAA,GAAU,OAAA,CAAM,SAAA;AAAA;;;;;;;;;;;iBAaT,WAAA,CAAA;EAAc,SAAA;EAAW,OAAA;EAAS,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,gBAAA,GAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { cn } from "./utils.mjs";
|
|
2
|
+
import "react";
|
|
3
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/client/ui/slot-wrapper.tsx
|
|
5
|
+
/**
|
|
6
|
+
* Decorator slot wrapper for form components (Input, Button, Select, etc.).
|
|
7
|
+
*
|
|
8
|
+
* Renders startSlot → children → endSlot in a flex row. Slot icons scale
|
|
9
|
+
* to --slot-icon-size (set by the parent component's recipe). Padding
|
|
10
|
+
* compensation uses CSS logical properties for RTL support.
|
|
11
|
+
*
|
|
12
|
+
* Decorative slots get aria-hidden so screen readers skip icons/badges
|
|
13
|
+
* that don't add semantic meaning.
|
|
14
|
+
*/
|
|
15
|
+
function SlotWrapper({ startSlot, endSlot, children, className, ...props }) {
|
|
16
|
+
if (!startSlot && !endSlot) return /* @__PURE__ */ jsx(Fragment, { children });
|
|
17
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
18
|
+
className: cn("flex items-center gap-[var(--slot-gap,0.5rem)]", className),
|
|
19
|
+
...props,
|
|
20
|
+
children: [
|
|
21
|
+
startSlot && /* @__PURE__ */ jsx("span", {
|
|
22
|
+
"aria-hidden": "true",
|
|
23
|
+
className: "shrink-0 [&_svg]:size-[var(--slot-icon-size,1rem)]",
|
|
24
|
+
children: startSlot
|
|
25
|
+
}),
|
|
26
|
+
children,
|
|
27
|
+
endSlot && /* @__PURE__ */ jsx("span", {
|
|
28
|
+
"aria-hidden": "true",
|
|
29
|
+
className: "shrink-0 [&_svg]:size-[var(--slot-icon-size,1rem)]",
|
|
30
|
+
children: endSlot
|
|
31
|
+
})
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { SlotWrapper };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=slot-wrapper.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot-wrapper.mjs","names":[],"sources":["../../../src/client/ui/slot-wrapper.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\ninterface SlotWrapperProps extends React.ComponentProps<\"div\"> {\n startSlot?: React.ReactNode;\n endSlot?: React.ReactNode;\n}\n\n/**\n * Decorator slot wrapper for form components (Input, Button, Select, etc.).\n *\n * Renders startSlot → children → endSlot in a flex row. Slot icons scale\n * to --slot-icon-size (set by the parent component's recipe). Padding\n * compensation uses CSS logical properties for RTL support.\n *\n * Decorative slots get aria-hidden so screen readers skip icons/badges\n * that don't add semantic meaning.\n */\nfunction SlotWrapper({ startSlot, endSlot, children, className, ...props }: SlotWrapperProps) {\n if (!startSlot && !endSlot) {\n return <>{children}</>;\n }\n\n return (\n <div className={cn(\"flex items-center gap-[var(--slot-gap,0.5rem)]\", className)} {...props}>\n {startSlot && (\n <span aria-hidden=\"true\" className=\"shrink-0 [&_svg]:size-[var(--slot-icon-size,1rem)]\">\n {startSlot}\n </span>\n )}\n {children}\n {endSlot && (\n <span aria-hidden=\"true\" className=\"shrink-0 [&_svg]:size-[var(--slot-icon-size,1rem)]\">\n {endSlot}\n </span>\n )}\n </div>\n );\n}\n\nexport { SlotWrapper, type SlotWrapperProps };\n"],"mappings":";;;;;;;;;;;;;;AAmBA,SAAS,YAAY,EAAE,WAAW,SAAS,UAAU,WAAW,GAAG,SAA2B;AAC5F,KAAI,CAAC,aAAa,CAAC,QACjB,QAAO,oBAAA,UAAA,EAAG,UAAY,CAAA;AAGxB,QACE,qBAAC,OAAD;EAAK,WAAW,GAAG,kDAAkD,UAAU;EAAE,GAAI;YAArF;GACG,aACC,oBAAC,QAAD;IAAM,eAAY;IAAO,WAAU;cAChC;IACI,CAAA;GAER;GACA,WACC,oBAAC,QAAD;IAAM,eAAY;IAAO,WAAU;cAChC;IACI,CAAA;GAEL"}
|
package/dist/client/ui/tabs.d.ts
CHANGED
|
@@ -3,6 +3,16 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
|
3
3
|
import { Tabs as Tabs$1 } from "radix-ui";
|
|
4
4
|
|
|
5
5
|
//#region src/client/ui/tabs.d.ts
|
|
6
|
+
declare const tabsRecipe: (props?: ({
|
|
7
|
+
[x: string]: string | undefined;
|
|
8
|
+
} & {
|
|
9
|
+
className?: Partial<Record<"root" | "trigger" | "content" | "list", string>> | undefined;
|
|
10
|
+
}) | undefined) => {
|
|
11
|
+
root: string;
|
|
12
|
+
trigger: string;
|
|
13
|
+
content: string;
|
|
14
|
+
list: string;
|
|
15
|
+
};
|
|
6
16
|
declare function Tabs({
|
|
7
17
|
className,
|
|
8
18
|
...props
|
|
@@ -20,5 +30,5 @@ declare function TabsContent({
|
|
|
20
30
|
...props
|
|
21
31
|
}: React$1.ComponentProps<typeof Tabs$1.Content>): react_jsx_runtime0.JSX.Element;
|
|
22
32
|
//#endregion
|
|
23
|
-
export { Tabs, TabsContent, TabsList, TabsTrigger };
|
|
33
|
+
export { Tabs, TabsContent, TabsList, TabsTrigger, tabsRecipe };
|
|
24
34
|
//# sourceMappingURL=tabs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.d.ts","names":[],"sources":["../../../src/client/ui/tabs.tsx"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","names":[],"sources":["../../../src/client/ui/tabs.tsx"],"mappings":";;;;;cAQM,UAAA,GAAU,KAAA;EAAA;;cASd,OAAA,CAAA,MAAA;AAAA;;;;;;iBAIO,IAAA,CAAA;EAAO,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAU7E,QAAA,CAAA;EAAW,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUjF,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUvF,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAc,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/client/ui/tabs.mjs
CHANGED
|
@@ -1,38 +1,54 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "./utils.mjs";
|
|
3
|
+
import { defineSlotRecipe } from "../ui-resolver/recipe.mjs";
|
|
3
4
|
import "react";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
import { Tabs as Tabs$1 } from "radix-ui";
|
|
6
7
|
//#region src/client/ui/tabs.tsx
|
|
8
|
+
const tabsRecipe = defineSlotRecipe({
|
|
9
|
+
slots: [
|
|
10
|
+
"root",
|
|
11
|
+
"list",
|
|
12
|
+
"trigger",
|
|
13
|
+
"content"
|
|
14
|
+
],
|
|
15
|
+
base: {
|
|
16
|
+
root: "flex flex-col gap-2",
|
|
17
|
+
list: "inline-flex h-9 w-fit items-center justify-center rounded-[var(--enad-button-radius)] bg-muted p-[3px] text-muted-foreground",
|
|
18
|
+
trigger: "inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-[calc(var(--enad-button-radius)_-_1px)] px-2 py-1 text-sm font-medium outline-none transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
19
|
+
content: "flex-1 outline-none"
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const defaultClasses = tabsRecipe();
|
|
7
23
|
function Tabs({ className, ...props }) {
|
|
8
24
|
return /* @__PURE__ */ jsx(Tabs$1.Root, {
|
|
9
25
|
"data-slot": "tabs",
|
|
10
|
-
className: cn(
|
|
26
|
+
className: cn(defaultClasses.root, className),
|
|
11
27
|
...props
|
|
12
28
|
});
|
|
13
29
|
}
|
|
14
30
|
function TabsList({ className, ...props }) {
|
|
15
31
|
return /* @__PURE__ */ jsx(Tabs$1.List, {
|
|
16
32
|
"data-slot": "tabs-list",
|
|
17
|
-
className: cn(
|
|
33
|
+
className: cn(defaultClasses.list, className),
|
|
18
34
|
...props
|
|
19
35
|
});
|
|
20
36
|
}
|
|
21
37
|
function TabsTrigger({ className, ...props }) {
|
|
22
38
|
return /* @__PURE__ */ jsx(Tabs$1.Trigger, {
|
|
23
39
|
"data-slot": "tabs-trigger",
|
|
24
|
-
className: cn(
|
|
40
|
+
className: cn(defaultClasses.trigger, className),
|
|
25
41
|
...props
|
|
26
42
|
});
|
|
27
43
|
}
|
|
28
44
|
function TabsContent({ className, ...props }) {
|
|
29
45
|
return /* @__PURE__ */ jsx(Tabs$1.Content, {
|
|
30
46
|
"data-slot": "tabs-content",
|
|
31
|
-
className: cn(
|
|
47
|
+
className: cn(defaultClasses.content, className),
|
|
32
48
|
...props
|
|
33
49
|
});
|
|
34
50
|
}
|
|
35
51
|
//#endregion
|
|
36
|
-
export { Tabs, TabsContent, TabsList, TabsTrigger };
|
|
52
|
+
export { Tabs, TabsContent, TabsList, TabsTrigger, tabsRecipe };
|
|
37
53
|
|
|
38
54
|
//# sourceMappingURL=tabs.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.mjs","names":["TabsPrimitive"],"sources":["../../../src/client/ui/tabs.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Tabs as TabsPrimitive } from \"radix-ui\";\n\nimport { cn } from \"./utils\";\n\
|
|
1
|
+
{"version":3,"file":"tabs.mjs","names":["TabsPrimitive"],"sources":["../../../src/client/ui/tabs.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Tabs as TabsPrimitive } from \"radix-ui\";\n\nimport { defineSlotRecipe } from \"../ui-resolver/recipe\";\nimport { cn } from \"./utils\";\n\nconst tabsRecipe = defineSlotRecipe({\n slots: [\"root\", \"list\", \"trigger\", \"content\"] as const,\n base: {\n root: \"flex flex-col gap-2\",\n list: \"inline-flex h-9 w-fit items-center justify-center rounded-[var(--enad-button-radius)] bg-muted p-[3px] text-muted-foreground\",\n trigger:\n \"inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-[calc(var(--enad-button-radius)_-_1px)] px-2 py-1 text-sm font-medium outline-none transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n content: \"flex-1 outline-none\",\n },\n});\n\nconst defaultClasses = tabsRecipe();\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(defaultClasses.root, className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(defaultClasses.list, className)}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(defaultClasses.trigger, className)}\n {...props}\n />\n );\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(defaultClasses.content, className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsRecipe };\n"],"mappings":";;;;;;;AAQA,MAAM,aAAa,iBAAiB;CAClC,OAAO;EAAC;EAAQ;EAAQ;EAAW;EAAU;CAC7C,MAAM;EACJ,MAAM;EACN,MAAM;EACN,SACE;EACF,SAAS;EACV;CACF,CAAC;AAEF,MAAM,iBAAiB,YAAY;AAEnC,SAAS,KAAK,EAAE,WAAW,GAAG,SAA0D;AACtF,QACE,oBAACA,OAAc,MAAf;EACE,aAAU;EACV,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;EACJ,CAAA;;AAIN,SAAS,SAAS,EAAE,WAAW,GAAG,SAA0D;AAC1F,QACE,oBAACA,OAAc,MAAf;EACE,aAAU;EACV,WAAW,GAAG,eAAe,MAAM,UAAU;EAC7C,GAAI;EACJ,CAAA;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAACA,OAAc,SAAf;EACE,aAAU;EACV,WAAW,GAAG,eAAe,SAAS,UAAU;EAChD,GAAI;EACJ,CAAA;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAACA,OAAc,SAAf;EACE,aAAU;EACV,WAAW,GAAG,eAAe,SAAS,UAAU;EAChD,GAAI;EACJ,CAAA"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { toggleVariants } from "./toggle.js";
|
|
2
1
|
import * as React$1 from "react";
|
|
3
2
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
-
import { VariantProps } from "class-variance-authority";
|
|
5
3
|
import { ToggleGroup as ToggleGroup$1 } from "radix-ui";
|
|
6
4
|
|
|
7
5
|
//#region src/client/ui/toggle-group.d.ts
|
|
@@ -12,7 +10,9 @@ declare function ToggleGroup({
|
|
|
12
10
|
spacing,
|
|
13
11
|
children,
|
|
14
12
|
...props
|
|
15
|
-
}: React$1.ComponentProps<typeof ToggleGroup$1.Root> &
|
|
13
|
+
}: React$1.ComponentProps<typeof ToggleGroup$1.Root> & {
|
|
14
|
+
variant?: "plain" | "outlined";
|
|
15
|
+
size?: "sm" | "md" | "lg";
|
|
16
16
|
spacing?: number;
|
|
17
17
|
}): react_jsx_runtime0.JSX.Element;
|
|
18
18
|
declare function ToggleGroupItem({
|
|
@@ -21,7 +21,10 @@ declare function ToggleGroupItem({
|
|
|
21
21
|
variant,
|
|
22
22
|
size,
|
|
23
23
|
...props
|
|
24
|
-
}: React$1.ComponentProps<typeof ToggleGroup$1.Item> &
|
|
24
|
+
}: React$1.ComponentProps<typeof ToggleGroup$1.Item> & {
|
|
25
|
+
variant?: "plain" | "outlined";
|
|
26
|
+
size?: "sm" | "md" | "lg";
|
|
27
|
+
}): react_jsx_runtime0.JSX.Element;
|
|
25
28
|
//#endregion
|
|
26
29
|
export { ToggleGroup, ToggleGroupItem };
|
|
27
30
|
//# sourceMappingURL=toggle-group.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.d.ts","names":[],"sources":["../../../src/client/ui/toggle-group.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"toggle-group.d.ts","names":[],"sources":["../../../src/client/ui/toggle-group.tsx"],"mappings":";;;;;iBAgBS,WAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,IAAA;EACA,OAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,aAAA,CAAqB,IAAA;EAClD,OAAA;EACA,IAAA;EACA,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAqBQ,eAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,OAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,aAAA,CAAqB,IAAA;EAClD,OAAA;EACA,IAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -5,8 +5,8 @@ import { jsx } from "react/jsx-runtime";
|
|
|
5
5
|
import { ToggleGroup as ToggleGroup$1 } from "radix-ui";
|
|
6
6
|
//#region src/client/ui/toggle-group.tsx
|
|
7
7
|
const ToggleGroupContext = React$1.createContext({
|
|
8
|
-
size: "
|
|
9
|
-
variant: "
|
|
8
|
+
size: "md",
|
|
9
|
+
variant: "plain",
|
|
10
10
|
spacing: 0
|
|
11
11
|
});
|
|
12
12
|
function ToggleGroup({ className, variant, size, spacing = 0, children, ...props }) {
|
|
@@ -16,7 +16,7 @@ function ToggleGroup({ className, variant, size, spacing = 0, children, ...props
|
|
|
16
16
|
"data-size": size,
|
|
17
17
|
"data-spacing": spacing,
|
|
18
18
|
style: { "--gap": spacing },
|
|
19
|
-
className: cn("group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=
|
|
19
|
+
className: cn("group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outlined]:shadow-xs", className),
|
|
20
20
|
...props,
|
|
21
21
|
children: /* @__PURE__ */ jsx(ToggleGroupContext.Provider, {
|
|
22
22
|
value: {
|
|
@@ -38,7 +38,7 @@ function ToggleGroupItem({ className, children, variant, size, ...props }) {
|
|
|
38
38
|
className: cn(toggleVariants({
|
|
39
39
|
variant: context.variant || variant,
|
|
40
40
|
size: context.size || size
|
|
41
|
-
}), "w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10", "data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=
|
|
41
|
+
}), "w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10", "data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outlined]:border-l-0 data-[spacing=0]:data-[variant=outlined]:first:border-l", className),
|
|
42
42
|
...props,
|
|
43
43
|
children
|
|
44
44
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.mjs","names":["React","ToggleGroupPrimitive"],"sources":["../../../src/client/ui/toggle-group.tsx"],"sourcesContent":["import * as React from \"react\"
|
|
1
|
+
{"version":3,"file":"toggle-group.mjs","names":["React","ToggleGroupPrimitive"],"sources":["../../../src/client/ui/toggle-group.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ToggleGroup as ToggleGroupPrimitive } from \"radix-ui\";\n\nimport { cn } from \"./utils\";\nimport { toggleVariants } from \"./toggle\";\n\nconst ToggleGroupContext = React.createContext<{\n variant?: \"plain\" | \"outlined\";\n size?: \"sm\" | \"md\" | \"lg\";\n spacing?: number;\n}>({\n size: \"md\",\n variant: \"plain\",\n spacing: 0,\n});\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> & {\n variant?: \"plain\" | \"outlined\";\n size?: \"sm\" | \"md\" | \"lg\";\n spacing?: number;\n}) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outlined]:shadow-xs\",\n className,\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size, spacing }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n );\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & {\n variant?: \"plain\" | \"outlined\";\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n \"w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10\",\n \"data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outlined]:border-l-0 data-[spacing=0]:data-[variant=outlined]:first:border-l\",\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n}\n\nexport { ToggleGroup, ToggleGroupItem };\n"],"mappings":";;;;;;AAMA,MAAM,qBAAqBA,QAAM,cAI9B;CACD,MAAM;CACN,SAAS;CACT,SAAS;CACV,CAAC;AAEF,SAAS,YAAY,EACnB,WACA,SACA,MACA,UAAU,GACV,UACA,GAAG,SAKF;AACD,QACE,oBAACC,cAAqB,MAAtB;EACE,aAAU;EACV,gBAAc;EACd,aAAW;EACX,gBAAc;EACd,OAAO,EAAE,SAAS,SAAS;EAC3B,WAAW,GACT,8IACA,UACD;EACD,GAAI;YAEJ,oBAAC,mBAAmB,UAApB;GAA6B,OAAO;IAAE;IAAS;IAAM;IAAS;GAC3D;GAC2B,CAAA;EACJ,CAAA;;AAIhC,SAAS,gBAAgB,EACvB,WACA,UACA,SACA,MACA,GAAG,SAIF;CACD,MAAM,UAAUD,QAAM,WAAW,mBAAmB;AAEpD,QACE,oBAACC,cAAqB,MAAtB;EACE,aAAU;EACV,gBAAc,QAAQ,WAAW;EACjC,aAAW,QAAQ,QAAQ;EAC3B,gBAAc,QAAQ;EACtB,WAAW,GACT,eAAe;GACb,SAAS,QAAQ,WAAW;GAC5B,MAAM,QAAQ,QAAQ;GACvB,CAAC,EACF,8DACA,iPACA,UACD;EACD,GAAI;EAEH;EACyB,CAAA"}
|
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
2
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
-
import { VariantProps } from "class-variance-authority";
|
|
4
3
|
import { Toggle as Toggle$1 } from "radix-ui";
|
|
5
|
-
import * as class_variance_authority_types0 from "class-variance-authority/types";
|
|
6
4
|
|
|
7
5
|
//#region src/client/ui/toggle.d.ts
|
|
8
|
-
declare const
|
|
9
|
-
variant?: "
|
|
10
|
-
size?: "
|
|
11
|
-
} &
|
|
6
|
+
declare const toggleRecipe: (props?: ({
|
|
7
|
+
variant?: "outlined" | "plain" | undefined;
|
|
8
|
+
size?: "sm" | "md" | "lg" | undefined;
|
|
9
|
+
} & {
|
|
10
|
+
className?: string;
|
|
11
|
+
}) | undefined) => string;
|
|
12
12
|
declare function Toggle({
|
|
13
13
|
className,
|
|
14
14
|
variant,
|
|
15
15
|
size,
|
|
16
16
|
...props
|
|
17
|
-
}: React$1.ComponentProps<typeof Toggle$1.Root> &
|
|
17
|
+
}: React$1.ComponentProps<typeof Toggle$1.Root> & {
|
|
18
|
+
variant?: "plain" | "outlined";
|
|
19
|
+
size?: "sm" | "md" | "lg";
|
|
20
|
+
}): react_jsx_runtime0.JSX.Element;
|
|
21
|
+
declare const toggleVariants: (props?: ({
|
|
22
|
+
variant?: "outlined" | "plain" | undefined;
|
|
23
|
+
size?: "sm" | "md" | "lg" | undefined;
|
|
24
|
+
} & {
|
|
25
|
+
className?: string;
|
|
26
|
+
}) | undefined) => string;
|
|
18
27
|
//#endregion
|
|
19
|
-
export { Toggle, toggleVariants };
|
|
28
|
+
export { Toggle, toggleRecipe, toggleVariants };
|
|
20
29
|
//# sourceMappingURL=toggle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.d.ts","names":[],"sources":["../../../src/client/ui/toggle.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"toggle.d.ts","names":[],"sources":["../../../src/client/ui/toggle.tsx"],"mappings":";;;;;cAMM,YAAA,GAAY,KAAA;;;;;;iBAoBT,MAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,QAAA,CAAgB,IAAA;EAC7C,OAAA;EACA,IAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAaK,cAAA,GAAc,KAAA"}
|