@almach/ui 0.1.8 → 0.1.9

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.
@@ -0,0 +1,79 @@
1
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
2
+ import * as React from "react";
3
+ type ViewComponent = React.ComponentType<Record<string, unknown>>;
4
+ interface ViewsRegistry {
5
+ [viewName: string]: ViewComponent;
6
+ }
7
+ interface FamilyModalCtxValue {
8
+ view: string;
9
+ setView: (view: string) => void;
10
+ views: ViewsRegistry | undefined;
11
+ contentHeight: number;
12
+ setContentHeight: (h: number) => void;
13
+ }
14
+ declare function useFamilyModal(): FamilyModalCtxValue;
15
+ interface FamilyModalRootProps {
16
+ children: React.ReactNode;
17
+ open?: boolean;
18
+ defaultOpen?: boolean;
19
+ onOpenChange?: (open: boolean) => void;
20
+ defaultView?: string;
21
+ onViewChange?: (view: string) => void;
22
+ views?: ViewsRegistry;
23
+ }
24
+ declare function FamilyModalRoot({ children, open: controlledOpen, defaultOpen, onOpenChange, defaultView, onViewChange, views: customViews, }: FamilyModalRootProps): import("react/jsx-runtime").JSX.Element;
25
+ interface FamilyModalContentProps {
26
+ children?: React.ReactNode;
27
+ className?: string;
28
+ }
29
+ interface FamilyModalAnimatedWrapperProps {
30
+ children: React.ReactNode;
31
+ className?: string;
32
+ }
33
+ declare function FamilyModalAnimatedWrapper({ children, className }: FamilyModalAnimatedWrapperProps): import("react/jsx-runtime").JSX.Element;
34
+ interface FamilyModalAnimatedContentProps {
35
+ children: React.ReactNode;
36
+ }
37
+ declare function FamilyModalAnimatedContent({ children }: FamilyModalAnimatedContentProps): import("react/jsx-runtime").JSX.Element;
38
+ interface FamilyModalViewContentProps {
39
+ views?: ViewsRegistry;
40
+ }
41
+ declare function FamilyModalViewContent({ views: propViews }?: FamilyModalViewContentProps): import("react/jsx-runtime").JSX.Element | null;
42
+ interface FamilyModalCloseProps {
43
+ children?: React.ReactNode;
44
+ className?: string;
45
+ }
46
+ declare function FamilyModalClose({ children, className }: FamilyModalCloseProps): import("react/jsx-runtime").JSX.Element;
47
+ interface FamilyModalHeaderProps {
48
+ icon?: React.ReactNode;
49
+ title: string;
50
+ description?: string;
51
+ className?: string;
52
+ }
53
+ declare function FamilyModalHeader({ icon, title, description, className }: FamilyModalHeaderProps): import("react/jsx-runtime").JSX.Element;
54
+ interface FamilyModalButtonProps {
55
+ children: React.ReactNode;
56
+ onClick?: () => void;
57
+ className?: string;
58
+ }
59
+ declare function FamilyModalButton({ children, onClick, className }: FamilyModalButtonProps): import("react/jsx-runtime").JSX.Element;
60
+ interface FamilyModalSecondaryButtonProps {
61
+ children: React.ReactNode;
62
+ onClick?: () => void;
63
+ className: string;
64
+ }
65
+ declare function FamilyModalSecondaryButton({ children, onClick, className, }: FamilyModalSecondaryButtonProps): import("react/jsx-runtime").JSX.Element;
66
+ declare const FamilyModal: typeof FamilyModalRoot & {
67
+ Trigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
68
+ Content: React.ForwardRefExoticComponent<FamilyModalContentProps & React.RefAttributes<HTMLDivElement>>;
69
+ AnimatedWrapper: typeof FamilyModalAnimatedWrapper;
70
+ AnimatedContent: typeof FamilyModalAnimatedContent;
71
+ ViewContent: typeof FamilyModalViewContent;
72
+ Close: typeof FamilyModalClose;
73
+ Header: typeof FamilyModalHeader;
74
+ Button: typeof FamilyModalButton;
75
+ SecondaryButton: typeof FamilyModalSecondaryButton;
76
+ };
77
+ export { FamilyModal, useFamilyModal };
78
+ export type { ViewsRegistry, ViewComponent };
79
+ //# sourceMappingURL=family-modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-modal.d.ts","sourceRoot":"","sources":["../../src/components/family-modal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
4
+ import * as React from "react";
5
+ import { cn } from "@almach/utils";
6
+ const FamilyModalCtx = React.createContext(undefined);
7
+ const DisplayedViewCtx = React.createContext("default");
8
+ function useFamilyModal() {
9
+ const ctx = React.useContext(FamilyModalCtx);
10
+ if (!ctx)
11
+ throw new Error("FamilyModal components must be used within FamilyModal");
12
+ return ctx;
13
+ }
14
+ function FamilyModalRoot({ children, open: controlledOpen, defaultOpen = false, onOpenChange, defaultView = "default", onViewChange, views: customViews, }) {
15
+ const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
16
+ const [view, setView] = React.useState(defaultView);
17
+ const [contentHeight, setContentHeight] = React.useState(0);
18
+ const isOpen = controlledOpen !== undefined ? controlledOpen : internalOpen;
19
+ const setIsOpen = onOpenChange ?? setInternalOpen;
20
+ const handleViewChange = (newView) => {
21
+ setView(newView);
22
+ onViewChange?.(newView);
23
+ };
24
+ const views = customViews && Object.keys(customViews).length > 0 ? customViews : undefined;
25
+ return (_jsx(FamilyModalCtx.Provider, { value: { view, setView: handleViewChange, views, contentHeight, setContentHeight }, children: _jsx(DialogPrimitive.Root, { open: isOpen, onOpenChange: setIsOpen, children: children }) }));
26
+ }
27
+ const FamilyModalContent = React.forwardRef(({ children, className }, ref) => {
28
+ const { contentHeight } = useFamilyModal();
29
+ return (_jsxs(DialogPrimitive.Portal, { children: [_jsx(DialogPrimitive.Overlay, { className: cn("fixed inset-0 z-50 bg-black/30", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0") }), _jsx(DialogPrimitive.Content, { ref: ref, className: cn("fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2", "w-[calc(100%-2rem)] max-w-[361px]", "overflow-hidden rounded-[36px] bg-background shadow-xl outline-none", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", className), style: {
30
+ height: contentHeight > 0 ? contentHeight : undefined,
31
+ transition: "height 0.27s cubic-bezier(0.25, 1, 0.5, 1)",
32
+ }, children: children ?? (_jsxs(_Fragment, { children: [_jsx(FamilyModalClose, {}), _jsx(FamilyModalAnimatedWrapper, { children: _jsx(FamilyModalAnimatedContent, { children: _jsx(FamilyModalViewContent, {}) }) })] })) })] }));
33
+ });
34
+ FamilyModalContent.displayName = "FamilyModal.Content";
35
+ function FamilyModalAnimatedWrapper({ children, className }) {
36
+ const { setContentHeight } = useFamilyModal();
37
+ const ref = React.useRef(null);
38
+ React.useEffect(() => {
39
+ const el = ref.current;
40
+ if (!el)
41
+ return;
42
+ const observer = new ResizeObserver(() => {
43
+ setContentHeight(el.offsetHeight);
44
+ });
45
+ observer.observe(el);
46
+ setContentHeight(el.offsetHeight);
47
+ return () => observer.disconnect();
48
+ }, [setContentHeight]);
49
+ return (_jsx("div", { ref: ref, className: cn("px-6 pb-6 pt-2.5 antialiased", className), children: children }));
50
+ }
51
+ function FamilyModalAnimatedContent({ children }) {
52
+ const { view } = useFamilyModal();
53
+ const [displayedView, setDisplayedView] = React.useState(view);
54
+ const [visible, setVisible] = React.useState(true);
55
+ const pendingRef = React.useRef(view);
56
+ React.useEffect(() => {
57
+ if (view === displayedView)
58
+ return;
59
+ pendingRef.current = view;
60
+ setVisible(false);
61
+ const t = setTimeout(() => {
62
+ setDisplayedView(pendingRef.current);
63
+ setVisible(true);
64
+ }, 120);
65
+ return () => clearTimeout(t);
66
+ }, [view, displayedView]);
67
+ return (_jsx(DisplayedViewCtx.Provider, { value: displayedView, children: _jsx("div", { style: {
68
+ opacity: visible ? 1 : 0,
69
+ transform: visible ? "scale(1)" : "scale(0.96)",
70
+ transition: "opacity 0.12s ease, transform 0.12s ease",
71
+ }, children: children }) }));
72
+ }
73
+ function FamilyModalViewContent({ views: propViews } = {}) {
74
+ const { views: contextViews } = useFamilyModal();
75
+ const displayedView = React.useContext(DisplayedViewCtx);
76
+ const views = propViews ?? contextViews;
77
+ if (!views) {
78
+ throw new Error("FamilyModalViewContent requires views via props or FamilyModal root");
79
+ }
80
+ const ViewComponent = views[displayedView] ?? views.default;
81
+ return ViewComponent ? _jsx(ViewComponent, {}) : null;
82
+ }
83
+ function FamilyModalClose({ children, className }) {
84
+ return (_jsx(DialogPrimitive.Close, { className: cn("absolute right-8 top-7 z-10 flex h-8 w-8 items-center justify-center", "rounded-full bg-muted text-muted-foreground", "transition-transform focus:scale-95 active:scale-75 cursor-pointer", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", className), children: children ?? _jsx(FamilyModalCloseIcon, {}) }));
85
+ }
86
+ function FamilyModalHeader({ icon, title, description, className }) {
87
+ return (_jsxs("header", { className: cn("mt-[21px]", className), children: [icon, _jsx(DialogPrimitive.Title, { className: "mt-2.5 text-[22px] font-semibold text-foreground md:font-medium", children: title }), description && (_jsx(DialogPrimitive.Description, { className: "mt-3 text-[17px] font-medium leading-[24px] text-muted-foreground md:font-normal", children: description }))] }));
88
+ }
89
+ function FamilyModalButton({ children, onClick, className }) {
90
+ return (_jsx("button", { type: "button", className: cn("flex h-12 w-full items-center gap-[15px] rounded-[16px] bg-muted px-4", "text-[17px] font-semibold text-foreground md:font-medium", "transition-transform focus:scale-95 active:scale-95 cursor-pointer", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", className), onClick: onClick, children: children }));
91
+ }
92
+ function FamilyModalSecondaryButton({ children, onClick, className, }) {
93
+ return (_jsx("button", { type: "button", className: cn("flex h-12 w-full items-center justify-center gap-[15px] rounded-full", "text-center text-[19px] font-semibold md:font-medium", "transition-transform focus:scale-95 active:scale-95 cursor-pointer", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", className), onClick: onClick, children: children }));
94
+ }
95
+ /* ── Close Icon ───────────────────────────────────────────────────────────── */
96
+ function FamilyModalCloseIcon() {
97
+ return (_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("title", { children: "Close" }), _jsx("path", { d: "M10.4854 1.99998L2.00007 10.4853", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M10.4854 10.4844L2.00007 1.99908", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round" })] }));
98
+ }
99
+ /* ── Compound export ──────────────────────────────────────────────────────── */
100
+ const FamilyModal = Object.assign(FamilyModalRoot, {
101
+ Trigger: DialogPrimitive.Trigger,
102
+ Content: FamilyModalContent,
103
+ AnimatedWrapper: FamilyModalAnimatedWrapper,
104
+ AnimatedContent: FamilyModalAnimatedContent,
105
+ ViewContent: FamilyModalViewContent,
106
+ Close: FamilyModalClose,
107
+ Header: FamilyModalHeader,
108
+ Button: FamilyModalButton,
109
+ SecondaryButton: FamilyModalSecondaryButton,
110
+ });
111
+ export { FamilyModal, useFamilyModal };
112
+ //# sourceMappingURL=family-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-modal.js","sourceRoot":"","sources":["../../src/components/family-modal.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +1,41 @@
1
1
  import * as React from "react";
2
+ type ViewComponent = React.ComponentType<Record<string, unknown>>;
3
+ interface ViewsRegistry {
4
+ [viewName: string]: ViewComponent;
5
+ }
6
+ /** Use inside any view component to read/change the current view. */
7
+ declare function useModal(): {
8
+ view: string;
9
+ setView: (v: string) => void;
10
+ };
2
11
  interface ModalRootProps {
12
+ children?: React.ReactNode;
3
13
  open?: boolean;
14
+ defaultOpen?: boolean;
4
15
  onOpenChange?: (open: boolean) => void;
5
- children: React.ReactNode;
16
+ /** Shorthand: wraps element in Modal.Trigger */
17
+ trigger?: React.ReactNode;
18
+ /** Shorthand: renders Modal.Header + Modal.Title (regular mode only) */
19
+ title?: string;
20
+ /** Shorthand: renders Modal.Description below the title */
21
+ description?: string;
22
+ /** Enable family multi-view mode — map of view name → component */
23
+ views?: ViewsRegistry;
24
+ /** Starting view for family mode (default: "default") */
25
+ defaultView?: string;
26
+ /** Called whenever the active view changes */
27
+ onViewChange?: (view: string) => void;
6
28
  }
7
- declare function ModalRoot({ open, onOpenChange, children }: ModalRootProps): import("react/jsx-runtime").JSX.Element;
29
+ declare function ModalRoot({ children, open, defaultOpen, onOpenChange, trigger, title, description, views: customViews, defaultView, onViewChange, }: ModalRootProps): import("react/jsx-runtime").JSX.Element;
8
30
  interface ModalTriggerProps {
9
31
  asChild?: boolean;
10
32
  children: React.ReactNode;
11
33
  }
12
34
  declare function ModalTrigger({ asChild, children }: ModalTriggerProps): import("react/jsx-runtime").JSX.Element;
13
35
  interface ModalContentProps {
36
+ children?: React.ReactNode;
14
37
  className?: string;
15
- children: React.ReactNode;
16
38
  }
17
- declare function ModalContent({ className, children }: ModalContentProps): import("react/jsx-runtime").JSX.Element;
18
39
  declare function ModalHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
19
40
  declare function ModalFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
20
41
  interface ModalCloseProps {
@@ -23,14 +44,48 @@ interface ModalCloseProps {
23
44
  className?: string;
24
45
  }
25
46
  declare function ModalClose({ asChild, children, className }: ModalCloseProps): import("react/jsx-runtime").JSX.Element;
47
+ declare function ModalAnimatedWrapper({ children, className, }: {
48
+ children: React.ReactNode;
49
+ className?: string;
50
+ }): import("react/jsx-runtime").JSX.Element;
51
+ declare function ModalAnimatedContent({ children }: {
52
+ children: React.ReactNode;
53
+ }): import("react/jsx-runtime").JSX.Element;
54
+ declare function ModalViewContent({ views: propViews }?: {
55
+ views?: ViewsRegistry;
56
+ }): import("react/jsx-runtime").JSX.Element | null;
57
+ interface ModalViewHeaderProps {
58
+ icon?: React.ReactNode;
59
+ title: string;
60
+ description?: string;
61
+ className?: string;
62
+ }
63
+ declare function ModalViewHeader({ icon, title, description, className }: ModalViewHeaderProps): import("react/jsx-runtime").JSX.Element;
64
+ declare function ModalNavButton({ children, onClick, className, }: {
65
+ children: React.ReactNode;
66
+ onClick?: () => void;
67
+ className?: string;
68
+ }): import("react/jsx-runtime").JSX.Element;
69
+ declare function ModalActionButton({ children, onClick, className, }: {
70
+ children: React.ReactNode;
71
+ onClick?: () => void;
72
+ className: string;
73
+ }): import("react/jsx-runtime").JSX.Element;
26
74
  declare const Modal: typeof ModalRoot & {
27
75
  Trigger: typeof ModalTrigger;
28
- Content: typeof ModalContent;
76
+ Content: React.ForwardRefExoticComponent<ModalContentProps & React.RefAttributes<HTMLDivElement>>;
29
77
  Header: typeof ModalHeader;
30
78
  Footer: typeof ModalFooter;
31
79
  Title: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
32
80
  Description: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
33
81
  Close: typeof ModalClose;
82
+ ViewHeader: typeof ModalViewHeader;
83
+ ViewContent: typeof ModalViewContent;
84
+ AnimatedWrapper: typeof ModalAnimatedWrapper;
85
+ AnimatedContent: typeof ModalAnimatedContent;
86
+ NavButton: typeof ModalNavButton;
87
+ ActionButton: typeof ModalActionButton;
34
88
  };
35
- export { Modal };
89
+ export { Modal, useModal };
90
+ export type { ViewsRegistry, ViewComponent };
36
91
  //# sourceMappingURL=modal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/components/modal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,UAAU,cAAc;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,iBAAS,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,cAAc,2CAalE;AAGD,UAAU,iBAAiB;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,iBAAS,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAI7D;AAGD,UAAU,iBAAiB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAK/D;AAGD,iBAAS,WAAW,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAItC;AAGD,iBAAS,WAAW,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAItC;AA2BD,UAAU,eAAe;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,iBAAS,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,eAAe,2CAWpE;AAGD,QAAA,MAAM,KAAK;;;;;;;;CAQT,CAAC;AAEH,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/components/modal.tsx"],"names":[],"mappings":"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"}
@@ -1,45 +1,90 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
3
4
  import * as React from "react";
5
+ import { cn } from "@almach/utils";
4
6
  import { useIsMobile } from "../hooks/use-media-query";
5
7
  import { Dialog } from "./dialog";
6
8
  import { Drawer } from "./drawer";
7
- /* ── Context ─────────────────────────────────────────────────────────────── */
8
- const ModalCtx = React.createContext(false);
9
- const useModal = () => React.useContext(ModalCtx);
10
- function ModalRoot({ open, onOpenChange, children }) {
9
+ const ModalCtx = React.createContext({
10
+ isMobile: false,
11
+ views: undefined,
12
+ view: "default",
13
+ setView: () => { },
14
+ contentHeight: 0,
15
+ setContentHeight: () => { },
16
+ });
17
+ /* Internal: tracks which view is currently rendered (lags during transition) */
18
+ const DisplayedViewCtx = React.createContext("default");
19
+ function useModalCtx() {
20
+ return React.useContext(ModalCtx);
21
+ }
22
+ /** Use inside any view component to read/change the current view. */
23
+ function useModal() {
24
+ const { view, setView } = useModalCtx();
25
+ return { view, setView };
26
+ }
27
+ function ModalRoot({ children, open, defaultOpen, onOpenChange, trigger, title, description, views: customViews, defaultView = "default", onViewChange, }) {
11
28
  const isMobile = useIsMobile();
12
29
  const Root = isMobile ? Drawer : Dialog;
13
- return (_jsx(ModalCtx.Provider, { value: isMobile, children: _jsx(Root, { ...(open !== undefined && { open }), ...(onOpenChange !== undefined && { onOpenChange }), children: children }) }));
30
+ const [view, setView] = React.useState(defaultView);
31
+ const [contentHeight, setContentHeight] = React.useState(0);
32
+ const views = customViews && Object.keys(customViews).length > 0 ? customViews : undefined;
33
+ const handleViewChange = (v) => {
34
+ setView(v);
35
+ onViewChange?.(v);
36
+ };
37
+ const rootProps = {
38
+ ...(open !== undefined && { open }),
39
+ ...(defaultOpen !== undefined && { defaultOpen }),
40
+ ...(onOpenChange !== undefined && { onOpenChange }),
41
+ };
42
+ const isFamilyMode = !!views;
43
+ const hasShorthand = trigger !== undefined || title !== undefined;
44
+ const inner = hasShorthand ? (_jsxs(_Fragment, { children: [trigger !== undefined && (_jsx(ModalTrigger, { asChild: true, children: trigger })), isFamilyMode ? (_jsx(ModalContent, {})) : (_jsxs(ModalContent, { children: [title !== undefined && (_jsxs(ModalHeader, { children: [_jsx(ModalTitle, { children: title }), description && _jsx(ModalDescription, { children: description })] })), children] }))] })) : (children);
45
+ return (_jsx(ModalCtx.Provider, { value: { isMobile, views, view, setView: handleViewChange, contentHeight, setContentHeight }, children: _jsx(Root, { ...rootProps, children: inner }) }));
14
46
  }
15
47
  function ModalTrigger({ asChild, children }) {
16
- const isMobile = useModal();
48
+ const { isMobile } = useModalCtx();
17
49
  const Trigger = isMobile ? Drawer.Trigger : Dialog.Trigger;
18
50
  return _jsx(Trigger, { ...(asChild !== undefined && { asChild }), children: children });
19
51
  }
20
- function ModalContent({ className, children }) {
21
- const isMobile = useModal();
22
- if (isMobile)
23
- return _jsx(Drawer.Content, { className: className, children: children });
24
- return _jsx(Dialog.Content, { className: className, children: children });
25
- }
52
+ const ModalContent = React.forwardRef(({ children, className }, ref) => {
53
+ const { isMobile, views, contentHeight } = useModalCtx();
54
+ const isFamilyMode = !!views;
55
+ const familyContent = children ?? (_jsxs(_Fragment, { children: [_jsx(ModalFamilyClose, {}), _jsx(ModalAnimatedWrapper, { children: _jsx(ModalAnimatedContent, { children: _jsx(ModalViewContent, {}) }) })] }));
56
+ /* Mobile Vaul bottom sheet */
57
+ if (isMobile) {
58
+ return (_jsx(Drawer.Content, { className: className, children: isFamilyMode ? familyContent : children }));
59
+ }
60
+ /* Desktop, family mode — bare DialogPrimitive with height animation */
61
+ if (isFamilyMode) {
62
+ return (_jsxs(DialogPrimitive.Portal, { children: [_jsx(DialogPrimitive.Overlay, { className: cn("fixed inset-0 z-50 bg-black/30", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0") }), _jsx(DialogPrimitive.Content, { ref: ref, className: cn("fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2", "w-[calc(100%-2rem)] max-w-[361px] overflow-hidden rounded-[36px]", "bg-background shadow-xl outline-none", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", className), style: {
63
+ height: contentHeight > 0 ? contentHeight : undefined,
64
+ transition: "height 0.27s cubic-bezier(0.25, 1, 0.5, 1)",
65
+ }, children: familyContent })] }));
66
+ }
67
+ /* Desktop, regular mode — standard Dialog */
68
+ return (_jsx(Dialog.Content, { ref: ref, className: className, children: children }));
69
+ });
70
+ ModalContent.displayName = "Modal.Content";
26
71
  /* ── Header ──────────────────────────────────────────────────────────────── */
27
72
  function ModalHeader({ className, ...props }) {
28
- const isMobile = useModal();
73
+ const { isMobile } = useModalCtx();
29
74
  if (isMobile)
30
75
  return _jsx(Drawer.Header, { className: className, ...props });
31
76
  return _jsx(Dialog.Header, { className: className, ...props });
32
77
  }
33
78
  /* ── Footer ──────────────────────────────────────────────────────────────── */
34
79
  function ModalFooter({ className, ...props }) {
35
- const isMobile = useModal();
80
+ const { isMobile } = useModalCtx();
36
81
  if (isMobile)
37
82
  return _jsx(Drawer.Footer, { className: className, ...props });
38
83
  return _jsx(Dialog.Footer, { className: className, ...props });
39
84
  }
40
85
  /* ── Title ───────────────────────────────────────────────────────────────── */
41
86
  const ModalTitle = React.forwardRef(({ className, ...props }, ref) => {
42
- const isMobile = useModal();
87
+ const { isMobile } = useModalCtx();
43
88
  if (isMobile)
44
89
  return _jsx(Drawer.Title, { ref: ref, className: className, ...props });
45
90
  return _jsx(Dialog.Title, { ref: ref, className: className, ...props });
@@ -47,17 +92,86 @@ const ModalTitle = React.forwardRef(({ className, ...props }, ref) => {
47
92
  ModalTitle.displayName = "Modal.Title";
48
93
  /* ── Description ─────────────────────────────────────────────────────────── */
49
94
  const ModalDescription = React.forwardRef(({ className, ...props }, ref) => {
50
- const isMobile = useModal();
95
+ const { isMobile } = useModalCtx();
51
96
  if (isMobile)
52
97
  return _jsx(Drawer.Description, { ref: ref, className: className, ...props });
53
98
  return _jsx(Dialog.Description, { ref: ref, className: className, ...props });
54
99
  });
55
100
  ModalDescription.displayName = "Modal.Description";
56
101
  function ModalClose({ asChild, children, className }) {
57
- const isMobile = useModal();
102
+ const { isMobile } = useModalCtx();
58
103
  const Close = isMobile ? Drawer.Close : Dialog.Close;
59
104
  return (_jsx(Close, { ...(asChild !== undefined && { asChild }), ...(className !== undefined && { className }), children: children }));
60
105
  }
106
+ /* ── Family: animated wrapper (measures height) ───────────────────────────── */
107
+ function ModalAnimatedWrapper({ children, className, }) {
108
+ const { setContentHeight } = useModalCtx();
109
+ const ref = React.useRef(null);
110
+ React.useEffect(() => {
111
+ const el = ref.current;
112
+ if (!el)
113
+ return;
114
+ const observer = new ResizeObserver(() => setContentHeight(el.offsetHeight));
115
+ observer.observe(el);
116
+ setContentHeight(el.offsetHeight);
117
+ return () => observer.disconnect();
118
+ }, [setContentHeight]);
119
+ return (_jsx("div", { ref: ref, className: cn("px-6 pb-6 pt-2.5 antialiased", className), children: children }));
120
+ }
121
+ /* ── Family: animated content (view transitions) ─────────────────────────── */
122
+ function ModalAnimatedContent({ children }) {
123
+ const { view } = useModalCtx();
124
+ const [displayedView, setDisplayedView] = React.useState(view);
125
+ const [visible, setVisible] = React.useState(true);
126
+ const pendingRef = React.useRef(view);
127
+ React.useEffect(() => {
128
+ if (view === displayedView)
129
+ return;
130
+ pendingRef.current = view;
131
+ setVisible(false);
132
+ const t = setTimeout(() => {
133
+ setDisplayedView(pendingRef.current);
134
+ setVisible(true);
135
+ }, 120);
136
+ return () => clearTimeout(t);
137
+ }, [view, displayedView]);
138
+ return (_jsx(DisplayedViewCtx.Provider, { value: displayedView, children: _jsx("div", { style: {
139
+ opacity: visible ? 1 : 0,
140
+ transform: visible ? "scale(1)" : "scale(0.96)",
141
+ transition: "opacity 0.12s ease, transform 0.12s ease",
142
+ }, children: children }) }));
143
+ }
144
+ /* ── Family: view content renderer ───────────────────────────────────────── */
145
+ function ModalViewContent({ views: propViews } = {}) {
146
+ const { views: contextViews } = useModalCtx();
147
+ const displayedView = React.useContext(DisplayedViewCtx);
148
+ const views = propViews ?? contextViews;
149
+ if (!views)
150
+ throw new Error("Modal.ViewContent requires views on the Modal root");
151
+ const ViewComponent = views[displayedView] ?? views.default;
152
+ return ViewComponent ? _jsx(ViewComponent, {}) : null;
153
+ }
154
+ /* ── Family: floating close button ───────────────────────────────────────── */
155
+ function ModalFamilyClose({ children, className, }) {
156
+ const { isMobile } = useModalCtx();
157
+ const Close = isMobile ? Drawer.Close : DialogPrimitive.Close;
158
+ return (_jsx(Close, { className: cn("absolute right-8 top-7 z-10 flex h-8 w-8 items-center justify-center", "rounded-full bg-muted text-muted-foreground cursor-pointer", "transition-transform focus:scale-95 active:scale-75", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", className), children: children ?? _jsx(ModalCloseIcon, {}) }));
159
+ }
160
+ function ModalViewHeader({ icon, title, description, className }) {
161
+ return (_jsxs("header", { className: cn("mt-[21px]", className), children: [icon, _jsx(DialogPrimitive.Title, { className: "mt-2.5 text-[22px] font-semibold text-foreground md:font-medium", children: title }), description && (_jsx(DialogPrimitive.Description, { className: "mt-3 text-[17px] font-medium leading-[24px] text-muted-foreground md:font-normal", children: description }))] }));
162
+ }
163
+ /* ── Family: navigation button ────────────────────────────────────────────── */
164
+ function ModalNavButton({ children, onClick, className, }) {
165
+ return (_jsx("button", { type: "button", onClick: onClick, className: cn("flex h-12 w-full items-center gap-[15px] rounded-[16px] bg-muted px-4", "text-[17px] font-semibold text-foreground md:font-medium cursor-pointer", "transition-transform focus:scale-95 active:scale-95", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", className), children: children }));
166
+ }
167
+ /* ── Family: action button (pill) ─────────────────────────────────────────── */
168
+ function ModalActionButton({ children, onClick, className, }) {
169
+ return (_jsx("button", { type: "button", onClick: onClick, className: cn("flex h-12 w-full items-center justify-center gap-[15px] rounded-full", "text-center text-[19px] font-semibold md:font-medium cursor-pointer", "transition-transform focus:scale-95 active:scale-95", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", className), children: children }));
170
+ }
171
+ /* ── Close icon ───────────────────────────────────────────────────────────── */
172
+ function ModalCloseIcon() {
173
+ return (_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("title", { children: "Close" }), _jsx("path", { d: "M10.4854 1.99998L2.00007 10.4853", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M10.4854 10.4844L2.00007 1.99908", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round" })] }));
174
+ }
61
175
  /* ── Compound export ─────────────────────────────────────────────────────── */
62
176
  const Modal = Object.assign(ModalRoot, {
63
177
  Trigger: ModalTrigger,
@@ -67,6 +181,13 @@ const Modal = Object.assign(ModalRoot, {
67
181
  Title: ModalTitle,
68
182
  Description: ModalDescription,
69
183
  Close: ModalClose,
184
+ /* Family mode */
185
+ ViewHeader: ModalViewHeader,
186
+ ViewContent: ModalViewContent,
187
+ AnimatedWrapper: ModalAnimatedWrapper,
188
+ AnimatedContent: ModalAnimatedContent,
189
+ NavButton: ModalNavButton,
190
+ ActionButton: ModalActionButton,
70
191
  });
71
- export { Modal };
192
+ export { Modal, useModal };
72
193
  //# sourceMappingURL=modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/components/modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/components/modal.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,7 +22,9 @@ export type { InputProps, InputDateProps, DateInputProps } from "./components/in
22
22
  export { InputCurrency, CURRENCIES, CurrencyFlagBadge } from "./components/currency-input";
23
23
  export type { CurrencyDef, CurrencyValue, InputCurrencyProps, CurrencySelectorMode } from "./components/currency-input";
24
24
  export { Label } from "./components/label";
25
- export { Modal } from "./components/modal";
25
+ export { FamilyModal, useFamilyModal } from "./components/family-modal";
26
+ export { Modal, useModal } from "./components/modal";
27
+ export type { ViewsRegistry, ViewComponent } from "./components/modal";
26
28
  export { Popover } from "./components/popover";
27
29
  export { Progress } from "./components/progress";
28
30
  export { Radio } from "./components/radio";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -22,7 +22,8 @@ export { DropdownMenu } from "./components/dropdown-menu";
22
22
  export { Input, DateInput } from "./components/input";
23
23
  export { InputCurrency, CURRENCIES, CurrencyFlagBadge } from "./components/currency-input";
24
24
  export { Label } from "./components/label";
25
- export { Modal } from "./components/modal";
25
+ export { FamilyModal, useFamilyModal } from "./components/family-modal";
26
+ export { Modal, useModal } from "./components/modal";
26
27
  export { Popover } from "./components/popover";
27
28
  export { Progress } from "./components/progress";
28
29
  export { Radio } from "./components/radio";