@ziioapp/ui 0.1.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/LICENSE +22 -0
- package/README.md +47 -0
- package/THIRD_PARTY_NOTICES.md +3 -0
- package/dist/base.css +2 -0
- package/dist/hooks/use-mobile.d.ts +1 -0
- package/dist/hooks/use-mobile.js +15 -0
- package/dist/lib/official-themes.d.ts +76 -0
- package/dist/lib/official-themes.js +102 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.js +5 -0
- package/dist/registry/registry.json +427 -0
- package/dist/registry/ziio-ui.json +421 -0
- package/dist/shadcn/components/accordion.d.ts +6 -0
- package/dist/shadcn/components/accordion.js +18 -0
- package/dist/shadcn/components/alert-dialog.d.ts +18 -0
- package/dist/shadcn/components/alert-dialog.js +44 -0
- package/dist/shadcn/components/alert.d.ts +10 -0
- package/dist/shadcn/components/alert.js +29 -0
- package/dist/shadcn/components/aspect-ratio.d.ts +4 -0
- package/dist/shadcn/components/aspect-ratio.js +9 -0
- package/dist/shadcn/components/attachment.d.ts +23 -0
- package/dist/shadcn/components/attachment.js +70 -0
- package/dist/shadcn/components/avatar.d.ts +11 -0
- package/dist/shadcn/components/avatar.js +25 -0
- package/dist/shadcn/components/badge.d.ts +7 -0
- package/dist/shadcn/components/badge.js +34 -0
- package/dist/shadcn/components/breadcrumb.d.ts +10 -0
- package/dist/shadcn/components/breadcrumb.js +38 -0
- package/dist/shadcn/components/bubble.d.ts +16 -0
- package/dist/shadcn/components/bubble.js +61 -0
- package/dist/shadcn/components/button-group.d.ts +10 -0
- package/dist/shadcn/components/button-group.js +37 -0
- package/dist/shadcn/components/button.d.ts +8 -0
- package/dist/shadcn/components/button.js +35 -0
- package/dist/shadcn/components/calendar.d.ts +10 -0
- package/dist/shadcn/components/calendar.js +77 -0
- package/dist/shadcn/components/card.d.ts +11 -0
- package/dist/shadcn/components/card.js +26 -0
- package/dist/shadcn/components/carousel.d.ts +28 -0
- package/dist/shadcn/components/carousel.js +92 -0
- package/dist/shadcn/components/chart.d.ts +44 -0
- package/dist/shadcn/components/chart.js +133 -0
- package/dist/shadcn/components/checkbox.d.ts +3 -0
- package/dist/shadcn/components/checkbox.js +10 -0
- package/dist/shadcn/components/collapsible.d.ts +5 -0
- package/dist/shadcn/components/collapsible.js +14 -0
- package/dist/shadcn/components/combobox.d.ts +24 -0
- package/dist/shadcn/components/combobox.js +59 -0
- package/dist/shadcn/components/command.d.ts +19 -0
- package/dist/shadcn/components/command.js +37 -0
- package/dist/shadcn/components/context-menu.d.ts +29 -0
- package/dist/shadcn/components/context-menu.js +53 -0
- package/dist/shadcn/components/dialog.d.ts +17 -0
- package/dist/shadcn/components/dialog.js +39 -0
- package/dist/shadcn/components/direction.d.ts +1 -0
- package/dist/shadcn/components/direction.js +3 -0
- package/dist/shadcn/components/drawer.d.ts +16 -0
- package/dist/shadcn/components/drawer.js +76 -0
- package/dist/shadcn/components/dropdown-menu.d.ts +29 -0
- package/dist/shadcn/components/dropdown-menu.js +53 -0
- package/dist/shadcn/components/empty.d.ts +11 -0
- package/dist/shadcn/components/empty.js +34 -0
- package/dist/shadcn/components/field.d.ts +24 -0
- package/dist/shadcn/components/field.js +69 -0
- package/dist/shadcn/components/hover-card.d.ts +5 -0
- package/dist/shadcn/components/hover-card.js +15 -0
- package/dist/shadcn/components/input-group.d.ts +18 -0
- package/dist/shadcn/components/input-group.js +59 -0
- package/dist/shadcn/components/input-otp.d.ts +11 -0
- package/dist/shadcn/components/input-otp.js +22 -0
- package/dist/shadcn/components/input.d.ts +3 -0
- package/dist/shadcn/components/input.js +9 -0
- package/dist/shadcn/components/item.d.ts +22 -0
- package/dist/shadcn/components/item.js +80 -0
- package/dist/shadcn/components/kbd.d.ts +3 -0
- package/dist/shadcn/components/kbd.js +10 -0
- package/dist/shadcn/components/label.d.ts +3 -0
- package/dist/shadcn/components/label.js +9 -0
- package/dist/shadcn/components/marker.d.ts +10 -0
- package/dist/shadcn/components/marker.js +36 -0
- package/dist/shadcn/components/menubar.d.ts +29 -0
- package/dist/shadcn/components/menubar.js +58 -0
- package/dist/shadcn/components/message-scroller.d.ts +10 -0
- package/dist/shadcn/components/message-scroller.js +27 -0
- package/dist/shadcn/components/message.d.ts +10 -0
- package/dist/shadcn/components/message.js +23 -0
- package/dist/shadcn/components/native-select.d.ts +8 -0
- package/dist/shadcn/components/native-select.js +15 -0
- package/dist/shadcn/components/navigation-menu.d.ts +11 -0
- package/dist/shadcn/components/navigation-menu.js +32 -0
- package/dist/shadcn/components/pagination.d.ts +17 -0
- package/dist/shadcn/components/pagination.js +28 -0
- package/dist/shadcn/components/popover.d.ts +9 -0
- package/dist/shadcn/components/popover.js +25 -0
- package/dist/shadcn/components/progress.d.ts +7 -0
- package/dist/shadcn/components/progress.js +21 -0
- package/dist/shadcn/components/questionnaire.d.ts +19 -0
- package/dist/shadcn/components/questionnaire.js +54 -0
- package/dist/shadcn/components/radio-group.d.ts +5 -0
- package/dist/shadcn/components/radio-group.js +13 -0
- package/dist/shadcn/components/resizable.d.ts +7 -0
- package/dist/shadcn/components/resizable.js +15 -0
- package/dist/shadcn/components/scroll-area.d.ts +4 -0
- package/dist/shadcn/components/scroll-area.js +12 -0
- package/dist/shadcn/components/select.d.ts +15 -0
- package/dist/shadcn/components/select.js +36 -0
- package/dist/shadcn/components/separator.d.ts +3 -0
- package/dist/shadcn/components/separator.js +9 -0
- package/dist/shadcn/components/sheet.d.ts +14 -0
- package/dist/shadcn/components/sheet.js +39 -0
- package/dist/shadcn/components/sidebar.d.ts +63 -0
- package/dist/shadcn/components/sidebar.js +257 -0
- package/dist/shadcn/components/skeleton.d.ts +2 -0
- package/dist/shadcn/components/skeleton.js +7 -0
- package/dist/shadcn/components/slider.d.ts +3 -0
- package/dist/shadcn/components/slider.js +13 -0
- package/dist/shadcn/components/sonner.d.ts +3 -0
- package/dist/shadcn/components/sonner.js +26 -0
- package/dist/shadcn/components/spinner.d.ts +2 -0
- package/dist/shadcn/components/spinner.js +8 -0
- package/dist/shadcn/components/switch.d.ts +5 -0
- package/dist/shadcn/components/switch.js +9 -0
- package/dist/shadcn/components/table.d.ts +10 -0
- package/dist/shadcn/components/table.js +30 -0
- package/dist/shadcn/components/tabs.d.ts +10 -0
- package/dist/shadcn/components/tabs.js +30 -0
- package/dist/shadcn/components/textarea.d.ts +3 -0
- package/dist/shadcn/components/textarea.js +8 -0
- package/dist/shadcn/components/toast.d.ts +15 -0
- package/dist/shadcn/components/toast.js +68 -0
- package/dist/shadcn/components/toggle-group.d.ts +10 -0
- package/dist/shadcn/components/toggle-group.js +26 -0
- package/dist/shadcn/components/toggle.d.ts +8 -0
- package/dist/shadcn/components/toggle.js +27 -0
- package/dist/shadcn/components/tooltip.d.ts +6 -0
- package/dist/shadcn/components/tooltip.js +18 -0
- package/dist/shadcn/hooks/use-mobile.d.ts +1 -0
- package/dist/shadcn/hooks/use-mobile.js +16 -0
- package/dist/size-report.json +80 -0
- package/dist/styles/app-loading.css +40 -0
- package/dist/styles/bases/base-mauve.css +71 -0
- package/dist/styles/bases/base-mist.css +71 -0
- package/dist/styles/bases/base-neutral.css +71 -0
- package/dist/styles/bases/base-olive.css +71 -0
- package/dist/styles/bases/base-stone.css +71 -0
- package/dist/styles/bases/base-taupe.css +71 -0
- package/dist/styles/bases/base-zinc.css +71 -0
- package/dist/styles/chart.css +18 -0
- package/dist/styles/charts/chart-amber.css +18 -0
- package/dist/styles/charts/chart-blue.css +18 -0
- package/dist/styles/charts/chart-rose.css +18 -0
- package/dist/styles/charts/chart-teal.css +18 -0
- package/dist/styles/compiled/luma.css +2 -0
- package/dist/styles/compiled/lyra.css +2 -0
- package/dist/styles/compiled/maia.css +2 -0
- package/dist/styles/compiled/mira.css +2 -0
- package/dist/styles/compiled/nova.css +2 -0
- package/dist/styles/compiled/rhea.css +2 -0
- package/dist/styles/compiled/sera.css +2 -0
- package/dist/styles/compiled/vega.css +2 -0
- package/dist/styles/index.css +52 -0
- package/dist/styles/official/bases/base-mauve.css +67 -0
- package/dist/styles/official/bases/base-mist.css +67 -0
- package/dist/styles/official/bases/base-neutral.css +67 -0
- package/dist/styles/official/bases/base-olive.css +67 -0
- package/dist/styles/official/bases/base-stone.css +67 -0
- package/dist/styles/official/bases/base-taupe.css +67 -0
- package/dist/styles/official/bases/base-zinc.css +67 -0
- package/dist/styles/official/charts/chart-amber.css +14 -0
- package/dist/styles/official/charts/chart-blue.css +14 -0
- package/dist/styles/official/charts/chart-cyan.css +14 -0
- package/dist/styles/official/charts/chart-emerald.css +14 -0
- package/dist/styles/official/charts/chart-fuchsia.css +14 -0
- package/dist/styles/official/charts/chart-green.css +14 -0
- package/dist/styles/official/charts/chart-indigo.css +14 -0
- package/dist/styles/official/charts/chart-lime.css +14 -0
- package/dist/styles/official/charts/chart-mauve.css +14 -0
- package/dist/styles/official/charts/chart-mist.css +14 -0
- package/dist/styles/official/charts/chart-neutral.css +14 -0
- package/dist/styles/official/charts/chart-olive.css +14 -0
- package/dist/styles/official/charts/chart-orange.css +14 -0
- package/dist/styles/official/charts/chart-pink.css +14 -0
- package/dist/styles/official/charts/chart-purple.css +14 -0
- package/dist/styles/official/charts/chart-red.css +14 -0
- package/dist/styles/official/charts/chart-rose.css +14 -0
- package/dist/styles/official/charts/chart-sky.css +14 -0
- package/dist/styles/official/charts/chart-stone.css +14 -0
- package/dist/styles/official/charts/chart-taupe.css +14 -0
- package/dist/styles/official/charts/chart-teal.css +14 -0
- package/dist/styles/official/charts/chart-violet.css +14 -0
- package/dist/styles/official/charts/chart-yellow.css +14 -0
- package/dist/styles/official/charts/chart-zinc.css +14 -0
- package/dist/styles/official/themes/theme-amber.css +26 -0
- package/dist/styles/official/themes/theme-blue.css +26 -0
- package/dist/styles/official/themes/theme-cyan.css +26 -0
- package/dist/styles/official/themes/theme-emerald.css +26 -0
- package/dist/styles/official/themes/theme-fuchsia.css +26 -0
- package/dist/styles/official/themes/theme-green.css +26 -0
- package/dist/styles/official/themes/theme-indigo.css +26 -0
- package/dist/styles/official/themes/theme-lime.css +26 -0
- package/dist/styles/official/themes/theme-mauve.css +67 -0
- package/dist/styles/official/themes/theme-mist.css +67 -0
- package/dist/styles/official/themes/theme-neutral.css +67 -0
- package/dist/styles/official/themes/theme-olive.css +67 -0
- package/dist/styles/official/themes/theme-orange.css +26 -0
- package/dist/styles/official/themes/theme-pink.css +26 -0
- package/dist/styles/official/themes/theme-purple.css +26 -0
- package/dist/styles/official/themes/theme-red.css +26 -0
- package/dist/styles/official/themes/theme-rose.css +27 -0
- package/dist/styles/official/themes/theme-sky.css +26 -0
- package/dist/styles/official/themes/theme-stone.css +67 -0
- package/dist/styles/official/themes/theme-taupe.css +67 -0
- package/dist/styles/official/themes/theme-teal.css +26 -0
- package/dist/styles/official/themes/theme-violet.css +26 -0
- package/dist/styles/official/themes/theme-yellow.css +26 -0
- package/dist/styles/official/themes/theme-zinc.css +67 -0
- package/dist/styles/runtime.css +6 -0
- package/dist/styles/shadcn-utilities.css +629 -0
- package/dist/styles/shadcn.css +169 -0
- package/dist/styles/source.css +1 -0
- package/dist/styles/styles/all.css +8 -0
- package/dist/styles/styles/style-luma.css +1744 -0
- package/dist/styles/styles/style-lyra.css +1723 -0
- package/dist/styles/styles/style-maia.css +1745 -0
- package/dist/styles/styles/style-mira.css +1750 -0
- package/dist/styles/styles/style-nova.css +1748 -0
- package/dist/styles/styles/style-rhea.css +1744 -0
- package/dist/styles/styles/style-sera.css +1735 -0
- package/dist/styles/styles/style-vega.css +1748 -0
- package/dist/styles/theme-base.css +102 -0
- package/dist/styles/themes/theme-atmosphere-coffee.css +72 -0
- package/dist/styles/themes/theme-atmosphere-halloween.css +72 -0
- package/dist/styles/themes/theme-atmosphere-literary.css +72 -0
- package/dist/styles/themes/theme-atmosphere-sakura.css +72 -0
- package/dist/styles/themes/theme-blue.css +20 -0
- package/dist/styles/themes/theme-indigo.css +20 -0
- package/dist/styles/themes/theme-morandi-dust.css +72 -0
- package/dist/styles/themes/theme-morandi-fog.css +72 -0
- package/dist/styles/themes/theme-morandi-sage.css +72 -0
- package/dist/styles/themes/theme-rose.css +20 -0
- package/dist/styles.css +2 -0
- package/package.json +108 -0
- package/upstream/components.json +870 -0
- package/upstream/lock.json +101 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu";
|
|
3
|
+
declare function ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function ContextMenuPortal({ ...props }: ContextMenuPrimitive.Portal.Props): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function ContextMenuTrigger({ className, ...props }: ContextMenuPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function ContextMenuContent({ className, align, alignOffset, side, sideOffset, ...props }: ContextMenuPrimitive.Popup.Props & Pick<ContextMenuPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function ContextMenuGroup({ ...props }: ContextMenuPrimitive.Group.Props): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function ContextMenuLabel({ className, inset, ...props }: ContextMenuPrimitive.GroupLabel.Props & {
|
|
9
|
+
inset?: boolean;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function ContextMenuItem({ className, inset, variant, ...props }: ContextMenuPrimitive.Item.Props & {
|
|
12
|
+
inset?: boolean;
|
|
13
|
+
variant?: "default" | "destructive";
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function ContextMenuSub({ ...props }: ContextMenuPrimitive.SubmenuRoot.Props): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare function ContextMenuSubTrigger({ className, inset, children, ...props }: ContextMenuPrimitive.SubmenuTrigger.Props & {
|
|
17
|
+
inset?: boolean;
|
|
18
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare function ContextMenuSubContent({ ...props }: React.ComponentProps<typeof ContextMenuContent>): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
declare function ContextMenuCheckboxItem({ className, children, checked, inset, ...props }: ContextMenuPrimitive.CheckboxItem.Props & {
|
|
21
|
+
inset?: boolean;
|
|
22
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare function ContextMenuRadioGroup({ ...props }: ContextMenuPrimitive.RadioGroup.Props): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
declare function ContextMenuRadioItem({ className, children, inset, ...props }: ContextMenuPrimitive.RadioItem.Props & {
|
|
25
|
+
inset?: boolean;
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare function ContextMenuSeparator({ className, ...props }: ContextMenuPrimitive.Separator.Props): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
declare function ContextMenuShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup, };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Generated from locked shadcn upstream; edit scripts/sync-upstream.mjs, not this file.
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { CheckIcon, ChevronRightIcon } from "lucide-react";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu";
|
|
7
|
+
import { cn } from "@ziioapp/ui/lib/utils";
|
|
8
|
+
function ContextMenu({ ...props }) {
|
|
9
|
+
return _jsx(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
|
|
10
|
+
}
|
|
11
|
+
function ContextMenuPortal({ ...props }) {
|
|
12
|
+
return (_jsx(ContextMenuPrimitive.Portal, { "data-slot": "context-menu-portal", ...props }));
|
|
13
|
+
}
|
|
14
|
+
function ContextMenuTrigger({ className, ...props }) {
|
|
15
|
+
return (_jsx(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", className: cn("cn-context-menu-trigger select-none", className), ...props }));
|
|
16
|
+
}
|
|
17
|
+
function ContextMenuContent({ className, align = "start", alignOffset = 4, side = "right", sideOffset = 0, ...props }) {
|
|
18
|
+
return (_jsx(ContextMenuPrimitive.Portal, { children: _jsx(ContextMenuPrimitive.Positioner, { className: "isolate z-50 outline-none", align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, children: _jsx(ContextMenuPrimitive.Popup, { "data-slot": "context-menu-content", className: cn("cn-context-menu-content cn-context-menu-content-logical cn-menu-target z-50 max-h-(--available-height) origin-(--transform-origin) overflow-x-hidden overflow-y-auto outline-none", className), ...props }) }) }));
|
|
19
|
+
}
|
|
20
|
+
function ContextMenuGroup({ ...props }) {
|
|
21
|
+
return (_jsx(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props }));
|
|
22
|
+
}
|
|
23
|
+
function ContextMenuLabel({ className, inset, ...props }) {
|
|
24
|
+
return (_jsx(ContextMenuPrimitive.GroupLabel, { "data-slot": "context-menu-label", "data-inset": inset, className: cn("cn-context-menu-label", className), ...props }));
|
|
25
|
+
}
|
|
26
|
+
function ContextMenuItem({ className, inset, variant = "default", ...props }) {
|
|
27
|
+
return (_jsx(ContextMenuPrimitive.Item, { "data-slot": "context-menu-item", "data-inset": inset, "data-variant": variant, className: cn("cn-context-menu-item group/context-menu-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className), ...props }));
|
|
28
|
+
}
|
|
29
|
+
function ContextMenuSub({ ...props }) {
|
|
30
|
+
return (_jsx(ContextMenuPrimitive.SubmenuRoot, { "data-slot": "context-menu-sub", ...props }));
|
|
31
|
+
}
|
|
32
|
+
function ContextMenuSubTrigger({ className, inset, children, ...props }) {
|
|
33
|
+
return (_jsxs(ContextMenuPrimitive.SubmenuTrigger, { "data-slot": "context-menu-sub-trigger", "data-inset": inset, className: cn("cn-context-menu-sub-trigger flex cursor-default items-center outline-hidden select-none [&_svg]:pointer-events-none [&_svg]:shrink-0", className), ...props, children: [children, _jsx(ChevronRightIcon, { className: "cn-rtl-flip ml-auto" })] }));
|
|
34
|
+
}
|
|
35
|
+
function ContextMenuSubContent({ ...props }) {
|
|
36
|
+
return (_jsx(ContextMenuContent, { "data-slot": "context-menu-sub-content", className: "cn-context-menu-subcontent cn-menu-target ", side: "right", ...props }));
|
|
37
|
+
}
|
|
38
|
+
function ContextMenuCheckboxItem({ className, children, checked, inset, ...props }) {
|
|
39
|
+
return (_jsxs(ContextMenuPrimitive.CheckboxItem, { "data-slot": "context-menu-checkbox-item", "data-inset": inset, className: cn("cn-context-menu-checkbox-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className), checked: checked, ...props, children: [_jsx("span", { className: "cn-context-menu-item-indicator pointer-events-none", children: _jsx(ContextMenuPrimitive.CheckboxItemIndicator, { children: _jsx(CheckIcon, {}) }) }), children] }));
|
|
40
|
+
}
|
|
41
|
+
function ContextMenuRadioGroup({ ...props }) {
|
|
42
|
+
return (_jsx(ContextMenuPrimitive.RadioGroup, { "data-slot": "context-menu-radio-group", ...props }));
|
|
43
|
+
}
|
|
44
|
+
function ContextMenuRadioItem({ className, children, inset, ...props }) {
|
|
45
|
+
return (_jsxs(ContextMenuPrimitive.RadioItem, { "data-slot": "context-menu-radio-item", "data-inset": inset, className: cn("cn-context-menu-radio-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className), ...props, children: [_jsx("span", { className: "cn-context-menu-item-indicator pointer-events-none", children: _jsx(ContextMenuPrimitive.RadioItemIndicator, { children: _jsx(CheckIcon, {}) }) }), children] }));
|
|
46
|
+
}
|
|
47
|
+
function ContextMenuSeparator({ className, ...props }) {
|
|
48
|
+
return (_jsx(ContextMenuPrimitive.Separator, { "data-slot": "context-menu-separator", className: cn("cn-context-menu-separator", className), ...props }));
|
|
49
|
+
}
|
|
50
|
+
function ContextMenuShortcut({ className, ...props }) {
|
|
51
|
+
return (_jsx("span", { "data-slot": "context-menu-shortcut", className: cn("cn-context-menu-shortcut", className), ...props }));
|
|
52
|
+
}
|
|
53
|
+
export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup, };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Dialog as DialogPrimitive } from "@base-ui/react/dialog";
|
|
3
|
+
declare function Dialog({ ...props }: DialogPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function DialogTrigger({ ...props }: DialogPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function DialogPortal({ ...props }: DialogPrimitive.Portal.Props): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function DialogClose({ ...props }: DialogPrimitive.Close.Props): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function DialogContent({ className, children, showCloseButton, ...props }: DialogPrimitive.Popup.Props & {
|
|
9
|
+
showCloseButton?: boolean;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function DialogFooter({ className, showCloseButton, children, ...props }: React.ComponentProps<"div"> & {
|
|
13
|
+
showCloseButton?: boolean;
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function DialogTitle({ className, ...props }: DialogPrimitive.Title.Props): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare function DialogDescription({ className, ...props }: DialogPrimitive.Description.Props): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Generated from locked shadcn upstream; edit scripts/sync-upstream.mjs, not this file.
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { XIcon } from "lucide-react";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { Dialog as DialogPrimitive } from "@base-ui/react/dialog";
|
|
7
|
+
import { cn } from "@ziioapp/ui/lib/utils";
|
|
8
|
+
import { Button } from "@ziioapp/ui/components/button";
|
|
9
|
+
function Dialog({ ...props }) {
|
|
10
|
+
return _jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
|
|
11
|
+
}
|
|
12
|
+
function DialogTrigger({ ...props }) {
|
|
13
|
+
return _jsx(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
14
|
+
}
|
|
15
|
+
function DialogPortal({ ...props }) {
|
|
16
|
+
return _jsx(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
|
|
17
|
+
}
|
|
18
|
+
function DialogClose({ ...props }) {
|
|
19
|
+
return _jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
|
|
20
|
+
}
|
|
21
|
+
function DialogOverlay({ className, ...props }) {
|
|
22
|
+
return (_jsx(DialogPrimitive.Backdrop, { "data-slot": "dialog-overlay", className: cn("cn-dialog-overlay fixed inset-0 isolate z-50", className), ...props }));
|
|
23
|
+
}
|
|
24
|
+
function DialogContent({ className, children, showCloseButton = true, ...props }) {
|
|
25
|
+
return (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Popup, { "data-slot": "dialog-content", className: cn("cn-dialog-content fixed top-1/2 left-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2 outline-none", className), ...props, children: [children, showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", render: _jsx(Button, { variant: "ghost", className: "cn-dialog-close", size: "icon-sm" }), children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
|
|
26
|
+
}
|
|
27
|
+
function DialogHeader({ className, ...props }) {
|
|
28
|
+
return (_jsx("div", { "data-slot": "dialog-header", className: cn("cn-dialog-header flex flex-col", className), ...props }));
|
|
29
|
+
}
|
|
30
|
+
function DialogFooter({ className, showCloseButton = false, children, ...props }) {
|
|
31
|
+
return (_jsxs("div", { "data-slot": "dialog-footer", className: cn("cn-dialog-footer flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className), ...props, children: [children, showCloseButton && (_jsx(DialogPrimitive.Close, { render: _jsx(Button, { variant: "outline" }), children: "Close" }))] }));
|
|
32
|
+
}
|
|
33
|
+
function DialogTitle({ className, ...props }) {
|
|
34
|
+
return (_jsx(DialogPrimitive.Title, { "data-slot": "dialog-title", className: cn("cn-dialog-title cn-font-heading", className), ...props }));
|
|
35
|
+
}
|
|
36
|
+
function DialogDescription({ className, ...props }) {
|
|
37
|
+
return (_jsx(DialogPrimitive.Description, { "data-slot": "dialog-description", className: cn("cn-dialog-description", className), ...props }));
|
|
38
|
+
}
|
|
39
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DirectionProvider, useDirection, } from "@base-ui/react/direction-provider";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Drawer as DrawerPrimitive } from "@base-ui/react/drawer";
|
|
3
|
+
declare function Drawer({ modal, showSwipeHandle, snapPoints, swipeDirection, ...props }: DrawerPrimitive.Root.Props & {
|
|
4
|
+
showSwipeHandle?: boolean;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function DrawerTrigger({ ...props }: DrawerPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function DrawerPortal({ ...props }: DrawerPrimitive.Portal.Props): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function DrawerClose({ ...props }: DrawerPrimitive.Close.Props): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function DrawerOverlay({ className, ...props }: DrawerPrimitive.Backdrop.Props): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare function DrawerSwipeHandle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function DrawerContent({ className, children, ...props }: DrawerPrimitive.Popup.Props): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function DrawerHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare function DrawerFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
declare function DrawerTitle({ className, ...props }: DrawerPrimitive.Title.Props): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function DrawerDescription({ className, ...props }: DrawerPrimitive.Description.Props): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export { Drawer, DrawerPortal, DrawerOverlay, DrawerSwipeHandle, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// Generated from locked shadcn upstream; edit scripts/sync-upstream.mjs, not this file.
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { Drawer as DrawerPrimitive } from "@base-ui/react/drawer";
|
|
6
|
+
import { cn } from "@ziioapp/ui/lib/utils";
|
|
7
|
+
const DrawerContext = React.createContext(null);
|
|
8
|
+
function useDrawer() {
|
|
9
|
+
const context = React.useContext(DrawerContext);
|
|
10
|
+
if (!context) {
|
|
11
|
+
throw new Error("useDrawer must be used within a Drawer.");
|
|
12
|
+
}
|
|
13
|
+
return context;
|
|
14
|
+
}
|
|
15
|
+
function Drawer({ modal = true, showSwipeHandle = false, snapPoints, swipeDirection = "down", ...props }) {
|
|
16
|
+
const hasSnapPoints = snapPoints != null && snapPoints.length > 0;
|
|
17
|
+
const contextValue = React.useMemo(() => ({ hasSnapPoints, modal, showSwipeHandle, swipeDirection }), [hasSnapPoints, modal, showSwipeHandle, swipeDirection]);
|
|
18
|
+
return (_jsx(DrawerContext.Provider, { value: contextValue, children: _jsx(DrawerPrimitive.Root, { "data-slot": "drawer", modal: modal, snapPoints: snapPoints, swipeDirection: swipeDirection, ...props }) }));
|
|
19
|
+
}
|
|
20
|
+
function DrawerTrigger({ ...props }) {
|
|
21
|
+
return _jsx(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
|
|
22
|
+
}
|
|
23
|
+
function DrawerPortal({ ...props }) {
|
|
24
|
+
return _jsx(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
|
|
25
|
+
}
|
|
26
|
+
function DrawerClose({ ...props }) {
|
|
27
|
+
return _jsx(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
|
|
28
|
+
}
|
|
29
|
+
function DrawerOverlay({ className, ...props }) {
|
|
30
|
+
return (_jsx(DrawerPrimitive.Backdrop, { "data-slot": "drawer-overlay", className: cn("cn-drawer-overlay fixed inset-0 z-50 min-h-dvh opacity-[max(var(--drawer-overlay-min-opacity,0),calc(1-var(--drawer-swipe-progress)))] transition-opacity duration-450 ease-[cubic-bezier(0.32,0.72,0,1)] select-none data-ending-style:pointer-events-none data-ending-style:opacity-0 data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-snap-points:[--drawer-overlay-min-opacity:0.5] data-starting-style:opacity-0 data-swiping:duration-0 supports-[-webkit-touch-callout:none]:absolute", className), ...props }));
|
|
31
|
+
}
|
|
32
|
+
function DrawerSwipeHandle({ className, ...props }) {
|
|
33
|
+
return (_jsx("div", { "data-slot": "drawer-swipe-handle", "aria-hidden": "true", className: cn("cn-drawer-swipe-handle relative z-10 flex shrink-0 cursor-grab transition-opacity duration-200 group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100 group-data-[swipe-direction=left]/drawer-popup:order-last group-data-[swipe-direction=up]/drawer-popup:order-last active:cursor-grabbing", className), ...props }));
|
|
34
|
+
}
|
|
35
|
+
function DrawerContent({ className, children, ...props }) {
|
|
36
|
+
const { hasSnapPoints, modal, showSwipeHandle, swipeDirection } = useDrawer();
|
|
37
|
+
const swipeAxis = swipeDirection === "down" || swipeDirection === "up" ? "y" : "x";
|
|
38
|
+
return (_jsxs(DrawerPortal, { "data-slot": "drawer-portal", children: [modal === true && (_jsx(DrawerOverlay, { "data-snap-points": hasSnapPoints ? "" : undefined })), _jsx(DrawerPrimitive.Viewport, { "data-slot": "drawer-viewport", "data-modal": modal, className: "pointer-events-none fixed inset-0 z-50 select-none data-[modal=true]:pointer-events-auto", children: _jsxs(DrawerPrimitive.Popup, { "data-slot": "drawer-popup", "data-swipe-axis": swipeAxis, "data-snap-points": hasSnapPoints ? "" : undefined, className: cn(
|
|
39
|
+
// Base.
|
|
40
|
+
"cn-drawer-popup group/drawer-popup pointer-events-auto fixed z-50 m-(--drawer-inset,0px) flex h-(--drawer-content-height) max-h-(--drawer-content-max-height,none) min-h-0 w-(--drawer-content-width,auto) transform-[translate3d(var(--translate-x,0px),var(--translate-y,0px),0)_scale(var(--stack-scale))] flex-col transition-[transform,height,opacity,filter] duration-450 ease-[cubic-bezier(0.22,1,0.36,1)] will-change-transform outline-none select-none [interpolate-size:allow-keywords]",
|
|
41
|
+
// Nested.
|
|
42
|
+
"data-nested-drawer-open:overflow-hidden data-nested-drawer-open:brightness-95",
|
|
43
|
+
// Bleed.
|
|
44
|
+
"after:pointer-events-none after:absolute after:bg-(--drawer-bleed-background,var(--color-popover)) data-[swipe-axis=x]:after:inset-y-0 data-[swipe-axis=x]:after:w-(--bleed) data-[swipe-axis=y]:after:inset-x-0 data-[swipe-axis=y]:after:h-(--bleed) data-[swipe-direction=down]:after:top-full data-[swipe-direction=left]:after:right-full data-[swipe-direction=right]:after:left-full data-[swipe-direction=up]:after:bottom-full",
|
|
45
|
+
// Sizing.
|
|
46
|
+
"[--drawer-content-height:var(--drawer-height,auto)] data-[swipe-axis=x]:[--drawer-content-width:75%] data-[swipe-axis=y]:[--drawer-content-max-height:calc(100dvh-6rem)] data-[swipe-axis=y]:data-snap-points:[--drawer-content-height:100dvh] data-[swipe-axis=x]:sm:[--drawer-content-width:24rem]",
|
|
47
|
+
// Stack.
|
|
48
|
+
"[--bleed:3rem] [--peek:1rem] [--stack-height:var(--drawer-frontmost-height,var(--drawer-height,0px))] [--stack-peek-offset:max(0px,calc((var(--nested-drawers)-var(--stack-progress))*var(--peek)))] [--stack-progress:clamp(0,var(--drawer-swipe-progress),1)] [--stack-scale-base:max(0,calc(1-(var(--nested-drawers)*var(--stack-step))))] [--stack-scale:clamp(0,calc(var(--stack-scale-base)+(var(--stack-step)*var(--stack-progress))),1)] [--stack-shrink:calc(1-var(--stack-scale))] [--stack-step:0.05]",
|
|
49
|
+
// Transitions.
|
|
50
|
+
"data-ending-style:transform-(--closed-transform) data-ending-style:opacity-[0.9999] data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-nested-drawer-swiping:duration-0 data-ending-style:data-nested-drawer-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)] data-starting-style:transform-(--closed-transform) data-swiping:duration-0 data-ending-style:data-swiping:duration-[calc(var(--drawer-swipe-strength)*400ms)]",
|
|
51
|
+
// Axis: y.
|
|
52
|
+
"data-[swipe-axis=y]:inset-x-0 data-[swipe-axis=y]:data-nested-drawer-open:h-(--stack-height)",
|
|
53
|
+
// Axis: x.
|
|
54
|
+
"data-[swipe-axis=x]:inset-y-0 data-[swipe-axis=x]:flex-row",
|
|
55
|
+
// Direction: down.
|
|
56
|
+
"data-[swipe-direction=down]:bottom-0 data-[swipe-direction=down]:origin-bottom data-[swipe-direction=down]:[--closed-transform:translate3d(0,calc(100%+var(--drawer-inset,0px)+2px),0)] data-[swipe-direction=down]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)-var(--stack-peek-offset)-(var(--stack-shrink)*var(--stack-height)))]",
|
|
57
|
+
// Direction: up.
|
|
58
|
+
"data-[swipe-direction=up]:top-0 data-[swipe-direction=up]:origin-top data-[swipe-direction=up]:[--closed-transform:translate3d(0,calc(-100%-var(--drawer-inset,0px)-2px),0)] data-[swipe-direction=up]:[--translate-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y)+var(--stack-peek-offset)+(var(--stack-shrink)*var(--stack-height)))]",
|
|
59
|
+
// Direction: left.
|
|
60
|
+
"data-[swipe-direction=left]:left-0 data-[swipe-direction=left]:origin-left data-[swipe-direction=left]:[--closed-transform:translate3d(calc(-100%-var(--drawer-inset,0px)-2px),0,0)] data-[swipe-direction=left]:[--translate-x:calc(var(--drawer-swipe-movement-x)+var(--stack-peek-offset)+(var(--stack-shrink)*100%))]",
|
|
61
|
+
// Direction: right.
|
|
62
|
+
"data-[swipe-direction=right]:right-0 data-[swipe-direction=right]:origin-right data-[swipe-direction=right]:[--closed-transform:translate3d(calc(100%+var(--drawer-inset,0px)+2px),0,0)] data-[swipe-direction=right]:[--translate-x:calc(var(--drawer-swipe-movement-x)-var(--stack-peek-offset)-(var(--stack-shrink)*100%))]", className), ...props, children: [showSwipeHandle && _jsx(DrawerSwipeHandle, {}), _jsx(DrawerPrimitive.Content, { "data-slot": "drawer-content", className: cn("cn-drawer-content-base flex min-h-0 flex-1 flex-col overflow-hidden overscroll-contain rounded-[inherit] transition-opacity duration-300 ease-[cubic-bezier(0.45,1.005,0,1.005)] select-text group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100 group-data-swiping/drawer-popup:select-none"), children: children })] }) })] }));
|
|
63
|
+
}
|
|
64
|
+
function DrawerHeader({ className, ...props }) {
|
|
65
|
+
return (_jsx("div", { "data-slot": "drawer-header", className: cn("cn-drawer-header-base flex shrink-0 flex-col group-data-[swipe-axis=y]/drawer-popup:text-center", className), ...props }));
|
|
66
|
+
}
|
|
67
|
+
function DrawerFooter({ className, ...props }) {
|
|
68
|
+
return (_jsx("div", { "data-slot": "drawer-footer", className: cn("cn-drawer-footer-base mt-auto flex shrink-0 flex-col", className), ...props }));
|
|
69
|
+
}
|
|
70
|
+
function DrawerTitle({ className, ...props }) {
|
|
71
|
+
return (_jsx(DrawerPrimitive.Title, { "data-slot": "drawer-title", className: cn("cn-drawer-title cn-font-heading", className), ...props }));
|
|
72
|
+
}
|
|
73
|
+
function DrawerDescription({ className, ...props }) {
|
|
74
|
+
return (_jsx(DrawerPrimitive.Description, { "data-slot": "drawer-description", className: cn("cn-drawer-description text-balance", className), ...props }));
|
|
75
|
+
}
|
|
76
|
+
export { Drawer, DrawerPortal, DrawerOverlay, DrawerSwipeHandle, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Menu as MenuPrimitive } from "@base-ui/react/menu";
|
|
3
|
+
declare function DropdownMenu({ ...props }: MenuPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function DropdownMenuContent({ align, alignOffset, side, sideOffset, className, ...props }: MenuPrimitive.Popup.Props & Pick<MenuPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function DropdownMenuLabel({ className, inset, ...props }: MenuPrimitive.GroupLabel.Props & {
|
|
9
|
+
inset?: boolean;
|
|
10
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function DropdownMenuItem({ className, inset, variant, ...props }: MenuPrimitive.Item.Props & {
|
|
12
|
+
inset?: boolean;
|
|
13
|
+
variant?: "default" | "destructive";
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: MenuPrimitive.SubmenuTrigger.Props & {
|
|
17
|
+
inset?: boolean;
|
|
18
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare function DropdownMenuSubContent({ align, alignOffset, side, sideOffset, className, ...props }: React.ComponentProps<typeof DropdownMenuContent>): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
declare function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }: MenuPrimitive.CheckboxItem.Props & {
|
|
21
|
+
inset?: boolean;
|
|
22
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare function DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
declare function DropdownMenuRadioItem({ className, children, inset, ...props }: MenuPrimitive.RadioItem.Props & {
|
|
25
|
+
inset?: boolean;
|
|
26
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare function DropdownMenuSeparator({ className, ...props }: MenuPrimitive.Separator.Props): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Generated from locked shadcn upstream; edit scripts/sync-upstream.mjs, not this file.
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { CheckIcon, ChevronRightIcon } from "lucide-react";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { Menu as MenuPrimitive } from "@base-ui/react/menu";
|
|
7
|
+
import { cn } from "@ziioapp/ui/lib/utils";
|
|
8
|
+
function DropdownMenu({ ...props }) {
|
|
9
|
+
return _jsx(MenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
10
|
+
}
|
|
11
|
+
function DropdownMenuPortal({ ...props }) {
|
|
12
|
+
return _jsx(MenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
|
|
13
|
+
}
|
|
14
|
+
function DropdownMenuTrigger({ ...props }) {
|
|
15
|
+
return _jsx(MenuPrimitive.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
|
|
16
|
+
}
|
|
17
|
+
function DropdownMenuContent({ align = "start", alignOffset = 0, side = "bottom", sideOffset = 4, className, ...props }) {
|
|
18
|
+
return (_jsx(MenuPrimitive.Portal, { children: _jsx(MenuPrimitive.Positioner, { className: "isolate z-50 outline-none", align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, children: _jsx(MenuPrimitive.Popup, { "data-slot": "dropdown-menu-content", className: cn("cn-dropdown-menu-content cn-dropdown-menu-content-logical cn-menu-target z-50 max-h-(--available-height) w-(--anchor-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto outline-none data-closed:overflow-hidden", className), ...props }) }) }));
|
|
19
|
+
}
|
|
20
|
+
function DropdownMenuGroup({ ...props }) {
|
|
21
|
+
return _jsx(MenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
22
|
+
}
|
|
23
|
+
function DropdownMenuLabel({ className, inset, ...props }) {
|
|
24
|
+
return (_jsx(MenuPrimitive.GroupLabel, { "data-slot": "dropdown-menu-label", "data-inset": inset, className: cn("cn-dropdown-menu-label", className), ...props }));
|
|
25
|
+
}
|
|
26
|
+
function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
|
|
27
|
+
return (_jsx(MenuPrimitive.Item, { "data-slot": "dropdown-menu-item", "data-inset": inset, "data-variant": variant, className: cn("cn-dropdown-menu-item group/dropdown-menu-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className), ...props }));
|
|
28
|
+
}
|
|
29
|
+
function DropdownMenuSub({ ...props }) {
|
|
30
|
+
return _jsx(MenuPrimitive.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
|
|
31
|
+
}
|
|
32
|
+
function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
|
|
33
|
+
return (_jsxs(MenuPrimitive.SubmenuTrigger, { "data-slot": "dropdown-menu-sub-trigger", "data-inset": inset, className: cn("cn-dropdown-menu-sub-trigger flex cursor-default items-center outline-hidden select-none data-popup-open:bg-accent data-popup-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0", className), ...props, children: [children, _jsx(ChevronRightIcon, { className: "cn-rtl-flip ml-auto" })] }));
|
|
34
|
+
}
|
|
35
|
+
function DropdownMenuSubContent({ align = "start", alignOffset = -3, side = "right", sideOffset = 0, className, ...props }) {
|
|
36
|
+
return (_jsx(DropdownMenuContent, { "data-slot": "dropdown-menu-sub-content", className: cn("cn-dropdown-menu-sub-content cn-menu-target w-auto", className), align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, ...props }));
|
|
37
|
+
}
|
|
38
|
+
function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }) {
|
|
39
|
+
return (_jsxs(MenuPrimitive.CheckboxItem, { "data-slot": "dropdown-menu-checkbox-item", "data-inset": inset, className: cn("cn-dropdown-menu-checkbox-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className), checked: checked, ...props, children: [_jsx("span", { className: "cn-dropdown-menu-item-indicator pointer-events-none", "data-slot": "dropdown-menu-checkbox-item-indicator", children: _jsx(MenuPrimitive.CheckboxItemIndicator, { children: _jsx(CheckIcon, {}) }) }), children] }));
|
|
40
|
+
}
|
|
41
|
+
function DropdownMenuRadioGroup({ ...props }) {
|
|
42
|
+
return (_jsx(MenuPrimitive.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props }));
|
|
43
|
+
}
|
|
44
|
+
function DropdownMenuRadioItem({ className, children, inset, ...props }) {
|
|
45
|
+
return (_jsxs(MenuPrimitive.RadioItem, { "data-slot": "dropdown-menu-radio-item", "data-inset": inset, className: cn("cn-dropdown-menu-radio-item relative flex cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className), ...props, children: [_jsx("span", { className: "cn-dropdown-menu-item-indicator pointer-events-none", "data-slot": "dropdown-menu-radio-item-indicator", children: _jsx(MenuPrimitive.RadioItemIndicator, { children: _jsx(CheckIcon, {}) }) }), children] }));
|
|
46
|
+
}
|
|
47
|
+
function DropdownMenuSeparator({ className, ...props }) {
|
|
48
|
+
return (_jsx(MenuPrimitive.Separator, { "data-slot": "dropdown-menu-separator", className: cn("cn-dropdown-menu-separator", className), ...props }));
|
|
49
|
+
}
|
|
50
|
+
function DropdownMenuShortcut({ className, ...props }) {
|
|
51
|
+
return (_jsx("span", { "data-slot": "dropdown-menu-shortcut", className: cn("cn-dropdown-menu-shortcut", className), ...props }));
|
|
52
|
+
}
|
|
53
|
+
export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
declare function Empty({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare function EmptyHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare const emptyMediaVariants: (props?: ({
|
|
5
|
+
variant?: "default" | "icon" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare function EmptyMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function EmptyTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function EmptyDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare function EmptyContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia, };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// Generated from locked shadcn upstream; edit scripts/sync-upstream.mjs, not this file.
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "@ziioapp/ui/lib/utils";
|
|
5
|
+
function Empty({ className, ...props }) {
|
|
6
|
+
return (_jsx("div", { "data-slot": "empty", className: cn("cn-empty flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance", className), ...props }));
|
|
7
|
+
}
|
|
8
|
+
function EmptyHeader({ className, ...props }) {
|
|
9
|
+
return (_jsx("div", { "data-slot": "empty-header", className: cn("cn-empty-header flex max-w-sm flex-col items-center", className), ...props }));
|
|
10
|
+
}
|
|
11
|
+
const emptyMediaVariants = cva("cn-empty-media flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0", {
|
|
12
|
+
variants: {
|
|
13
|
+
variant: {
|
|
14
|
+
default: "cn-empty-media-default",
|
|
15
|
+
icon: "cn-empty-media-icon",
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
defaultVariants: {
|
|
19
|
+
variant: "default",
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
function EmptyMedia({ className, variant = "default", ...props }) {
|
|
23
|
+
return (_jsx("div", { "data-slot": "empty-icon", "data-variant": variant, className: cn(emptyMediaVariants({ variant, className })), ...props }));
|
|
24
|
+
}
|
|
25
|
+
function EmptyTitle({ className, ...props }) {
|
|
26
|
+
return (_jsx("div", { "data-slot": "empty-title", className: cn("cn-empty-title cn-font-heading", className), ...props }));
|
|
27
|
+
}
|
|
28
|
+
function EmptyDescription({ className, ...props }) {
|
|
29
|
+
return (_jsx("div", { "data-slot": "empty-description", className: cn("cn-empty-description text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className), ...props }));
|
|
30
|
+
}
|
|
31
|
+
function EmptyContent({ className, ...props }) {
|
|
32
|
+
return (_jsx("div", { "data-slot": "empty-content", className: cn("cn-empty-content flex w-full max-w-sm min-w-0 flex-col items-center text-balance", className), ...props }));
|
|
33
|
+
}
|
|
34
|
+
export { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia, };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import { Label } from "@ziioapp/ui/components/label";
|
|
3
|
+
declare function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<"legend"> & {
|
|
5
|
+
variant?: "legend" | "label";
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function FieldGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare const fieldVariants: (props?: ({
|
|
9
|
+
orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
|
|
10
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
|
+
declare function Field({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function FieldContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<"div"> & {
|
|
17
|
+
children?: React.ReactNode;
|
|
18
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare function FieldError({ className, children, errors, ...props }: React.ComponentProps<"div"> & {
|
|
20
|
+
errors?: Array<{
|
|
21
|
+
message?: string;
|
|
22
|
+
} | undefined>;
|
|
23
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
24
|
+
export { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle, };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Generated from locked shadcn upstream; edit scripts/sync-upstream.mjs, not this file.
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { useMemo } from "react";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import { cn } from "@ziioapp/ui/lib/utils";
|
|
7
|
+
import { Label } from "@ziioapp/ui/components/label";
|
|
8
|
+
import { Separator } from "@ziioapp/ui/components/separator";
|
|
9
|
+
function FieldSet({ className, ...props }) {
|
|
10
|
+
return (_jsx("fieldset", { "data-slot": "field-set", className: cn("cn-field-set flex flex-col", className), ...props }));
|
|
11
|
+
}
|
|
12
|
+
function FieldLegend({ className, variant = "legend", ...props }) {
|
|
13
|
+
return (_jsx("legend", { "data-slot": "field-legend", "data-variant": variant, className: cn("cn-field-legend", className), ...props }));
|
|
14
|
+
}
|
|
15
|
+
function FieldGroup({ className, ...props }) {
|
|
16
|
+
return (_jsx("div", { "data-slot": "field-group", className: cn("cn-field-group group/field-group @container/field-group flex w-full flex-col", className), ...props }));
|
|
17
|
+
}
|
|
18
|
+
const fieldVariants = cva("cn-field group/field flex w-full", {
|
|
19
|
+
variants: {
|
|
20
|
+
orientation: {
|
|
21
|
+
vertical: "cn-field-orientation-vertical flex-col *:w-full [&>.sr-only]:w-auto",
|
|
22
|
+
horizontal: "cn-field-orientation-horizontal flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
|
|
23
|
+
responsive: "cn-field-orientation-responsive flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
defaultVariants: {
|
|
27
|
+
orientation: "vertical",
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
function Field({ className, orientation = "vertical", ...props }) {
|
|
31
|
+
return (_jsx("div", { role: "group", "data-slot": "field", "data-orientation": orientation, className: cn(fieldVariants({ orientation }), className), ...props }));
|
|
32
|
+
}
|
|
33
|
+
function FieldContent({ className, ...props }) {
|
|
34
|
+
return (_jsx("div", { "data-slot": "field-content", className: cn("cn-field-content group/field-content flex flex-1 flex-col leading-snug", className), ...props }));
|
|
35
|
+
}
|
|
36
|
+
function FieldLabel({ className, ...props }) {
|
|
37
|
+
return (_jsx(Label, { "data-slot": "field-label", className: cn("cn-field-label group/field-label peer/field-label flex w-fit", "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col", className), ...props }));
|
|
38
|
+
}
|
|
39
|
+
function FieldTitle({ className, ...props }) {
|
|
40
|
+
return (_jsx("div", { "data-slot": "field-label", className: cn("cn-field-title flex w-fit items-center", className), ...props }));
|
|
41
|
+
}
|
|
42
|
+
function FieldDescription({ className, ...props }) {
|
|
43
|
+
return (_jsx("p", { "data-slot": "field-description", className: cn("cn-field-description leading-normal font-normal group-has-data-horizontal/field:text-balance", "last:mt-0 nth-last-2:-mt-1", "[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className), ...props }));
|
|
44
|
+
}
|
|
45
|
+
function FieldSeparator({ children, className, ...props }) {
|
|
46
|
+
return (_jsxs("div", { "data-slot": "field-separator", "data-content": !!children, className: cn("cn-field-separator relative", className), ...props, children: [_jsx(Separator, { className: "absolute inset-0 top-1/2" }), children && (_jsx("span", { className: "cn-field-separator-content relative mx-auto block w-fit bg-background", "data-slot": "field-separator-content", children: children }))] }));
|
|
47
|
+
}
|
|
48
|
+
function FieldError({ className, children, errors, ...props }) {
|
|
49
|
+
const content = useMemo(() => {
|
|
50
|
+
if (children) {
|
|
51
|
+
return children;
|
|
52
|
+
}
|
|
53
|
+
if (!errors?.length) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
const uniqueErrors = [
|
|
57
|
+
...new Map(errors.map((error) => [error?.message, error])).values(),
|
|
58
|
+
];
|
|
59
|
+
if (uniqueErrors?.length == 1) {
|
|
60
|
+
return uniqueErrors[0]?.message;
|
|
61
|
+
}
|
|
62
|
+
return (_jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map((error, index) => error?.message && _jsx("li", { children: error.message }, index)) }));
|
|
63
|
+
}, [children, errors]);
|
|
64
|
+
if (!content) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
return (_jsx("div", { role: "alert", "data-slot": "field-error", className: cn("cn-field-error font-normal", className), ...props, children: content }));
|
|
68
|
+
}
|
|
69
|
+
export { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle, };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PreviewCard as PreviewCardPrimitive } from "@base-ui/react/preview-card";
|
|
2
|
+
declare function HoverCard({ ...props }: PreviewCardPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare function HoverCardTrigger({ ...props }: PreviewCardPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function HoverCardContent({ className, side, sideOffset, align, alignOffset, ...props }: PreviewCardPrimitive.Popup.Props & Pick<PreviewCardPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export { HoverCard, HoverCardTrigger, HoverCardContent };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Generated from locked shadcn upstream; edit scripts/sync-upstream.mjs, not this file.
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
import { PreviewCard as PreviewCardPrimitive } from "@base-ui/react/preview-card";
|
|
5
|
+
import { cn } from "@ziioapp/ui/lib/utils";
|
|
6
|
+
function HoverCard({ ...props }) {
|
|
7
|
+
return _jsx(PreviewCardPrimitive.Root, { "data-slot": "hover-card", ...props });
|
|
8
|
+
}
|
|
9
|
+
function HoverCardTrigger({ ...props }) {
|
|
10
|
+
return (_jsx(PreviewCardPrimitive.Trigger, { "data-slot": "hover-card-trigger", ...props }));
|
|
11
|
+
}
|
|
12
|
+
function HoverCardContent({ className, side = "bottom", sideOffset = 4, align = "center", alignOffset = 4, ...props }) {
|
|
13
|
+
return (_jsx(PreviewCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: _jsx(PreviewCardPrimitive.Positioner, { align: align, alignOffset: alignOffset, side: side, sideOffset: sideOffset, className: "isolate z-50", children: _jsx(PreviewCardPrimitive.Popup, { "data-slot": "hover-card-content", className: cn("cn-hover-card-content cn-hover-card-content-logical z-50 origin-(--transform-origin) outline-hidden", className), ...props }) }) }));
|
|
14
|
+
}
|
|
15
|
+
export { HoverCard, HoverCardTrigger, HoverCardContent };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
import { Button } from "@ziioapp/ui/components/button";
|
|
4
|
+
declare function InputGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare const inputGroupAddonVariants: (props?: ({
|
|
6
|
+
align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
declare function InputGroupAddon({ className, align, ...props }: React.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare const inputGroupButtonVariants: (props?: ({
|
|
10
|
+
size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
|
+
declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React.ComponentProps<typeof Button>, "size" | "type"> & VariantProps<typeof inputGroupButtonVariants> & {
|
|
13
|
+
type?: "button" | "submit" | "reset";
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function InputGroupText({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare function InputGroupInput({ className, ...props }: React.ComponentProps<"input">): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
declare function InputGroupTextarea({ className, ...props }: React.ComponentProps<"textarea">): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InputGroupInput, InputGroupTextarea, };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// Generated from locked shadcn upstream; edit scripts/sync-upstream.mjs, not this file.
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import { cn } from "@ziioapp/ui/lib/utils";
|
|
7
|
+
import { Button } from "@ziioapp/ui/components/button";
|
|
8
|
+
import { Input } from "@ziioapp/ui/components/input";
|
|
9
|
+
import { Textarea } from "@ziioapp/ui/components/textarea";
|
|
10
|
+
function InputGroup({ className, ...props }) {
|
|
11
|
+
return (_jsx("div", { "data-slot": "input-group", role: "group", className: cn("group/input-group cn-input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto", className), ...props }));
|
|
12
|
+
}
|
|
13
|
+
const inputGroupAddonVariants = cva("cn-input-group-addon flex cursor-text items-center justify-center select-none", {
|
|
14
|
+
variants: {
|
|
15
|
+
align: {
|
|
16
|
+
"inline-start": "cn-input-group-addon-align-inline-start order-first",
|
|
17
|
+
"inline-end": "cn-input-group-addon-align-inline-end order-last",
|
|
18
|
+
"block-start": "cn-input-group-addon-align-block-start order-first w-full justify-start",
|
|
19
|
+
"block-end": "cn-input-group-addon-align-block-end order-last w-full justify-start",
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
align: "inline-start",
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
function InputGroupAddon({ className, align = "inline-start", ...props }) {
|
|
27
|
+
return (_jsx("div", { role: "group", "data-slot": "input-group-addon", "data-align": align, className: cn(inputGroupAddonVariants({ align }), className), onClick: (e) => {
|
|
28
|
+
if (e.target.closest("button")) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
e.currentTarget.parentElement?.querySelector("input")?.focus();
|
|
32
|
+
}, ...props }));
|
|
33
|
+
}
|
|
34
|
+
const inputGroupButtonVariants = cva("cn-input-group-button flex items-center shadow-none", {
|
|
35
|
+
variants: {
|
|
36
|
+
size: {
|
|
37
|
+
xs: "cn-input-group-button-size-xs",
|
|
38
|
+
sm: "cn-input-group-button-size-sm",
|
|
39
|
+
"icon-xs": "cn-input-group-button-size-icon-xs",
|
|
40
|
+
"icon-sm": "cn-input-group-button-size-icon-sm",
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
defaultVariants: {
|
|
44
|
+
size: "xs",
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
function InputGroupButton({ className, type = "button", variant = "ghost", size = "xs", ...props }) {
|
|
48
|
+
return (_jsx(Button, { type: type, "data-size": size, variant: variant, className: cn(inputGroupButtonVariants({ size }), className), ...props }));
|
|
49
|
+
}
|
|
50
|
+
function InputGroupText({ className, ...props }) {
|
|
51
|
+
return (_jsx("span", { className: cn("cn-input-group-text flex items-center [&_svg]:pointer-events-none", className), ...props }));
|
|
52
|
+
}
|
|
53
|
+
function InputGroupInput({ className, ...props }) {
|
|
54
|
+
return (_jsx(Input, { "data-slot": "input-group-control", className: cn("cn-input-group-input flex-1", className), ...props }));
|
|
55
|
+
}
|
|
56
|
+
function InputGroupTextarea({ className, ...props }) {
|
|
57
|
+
return (_jsx(Textarea, { "data-slot": "input-group-control", className: cn("cn-input-group-textarea flex-1 resize-none", className), ...props }));
|
|
58
|
+
}
|
|
59
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InputGroupInput, InputGroupTextarea, };
|