@dust-tt/sparkle 0.2.552 → 0.2.553-rc-1

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,34 @@
1
+ import * as React from "react";
2
+ declare const MULTI_PAGE_DIALOG_SIZES: readonly ["md", "lg", "xl"];
3
+ type MultiPageDialogSizeType = (typeof MULTI_PAGE_DIALOG_SIZES)[number];
4
+ interface MultiPageDialogPage {
5
+ id: string;
6
+ title: string;
7
+ description?: string;
8
+ icon?: React.ComponentType;
9
+ content: React.ReactNode;
10
+ }
11
+ interface MultiPageDialogProps {
12
+ pages: MultiPageDialogPage[];
13
+ currentPageId: string;
14
+ onPageChange: (pageId: string) => void;
15
+ size?: MultiPageDialogSizeType;
16
+ trapFocusScope?: boolean;
17
+ isAlertDialog?: boolean;
18
+ showNavigation?: boolean;
19
+ showHeaderNavigation?: boolean;
20
+ footerContent?: React.ReactNode;
21
+ onSave?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
22
+ className?: string;
23
+ disableNext?: boolean;
24
+ disableSave?: boolean;
25
+ }
26
+ declare const MultiPageDialogRoot: React.FC<import("@radix-ui/react-dialog").DialogProps>;
27
+ declare const MultiPageDialogTrigger: React.ForwardRefExoticComponent<import("@radix-ui/react-dialog").DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
28
+ declare const MultiPageDialogClose: React.ForwardRefExoticComponent<import("@radix-ui/react-dialog").DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
29
+ interface MultiPageDialogContentProps extends MultiPageDialogProps {
30
+ children?: never;
31
+ }
32
+ declare const MultiPageDialogContent: React.ForwardRefExoticComponent<MultiPageDialogContentProps & React.RefAttributes<HTMLDivElement>>;
33
+ export { MultiPageDialogRoot as MultiPageDialog, MultiPageDialogClose, MultiPageDialogContent, type MultiPageDialogPage, type MultiPageDialogProps, MultiPageDialogTrigger, };
34
+ //# sourceMappingURL=MultiPageDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiPageDialog.d.ts","sourceRoot":"","sources":["../../../src/components/MultiPageDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,QAAA,MAAM,uBAAuB,6BAA8B,CAAC;AAC5D,KAAK,uBAAuB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAqBxE,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,mBAAmB,wDAAS,CAAC;AACnC,QAAA,MAAM,sBAAsB,+HAAgB,CAAC;AAC7C,QAAA,MAAM,oBAAoB,6HAAc,CAAC;AAEzC,UAAU,2BAA4B,SAAQ,oBAAoB;IAChE,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,QAAA,MAAM,sBAAsB,oGAmN3B,CAAC;AAIF,OAAO,EACL,mBAAmB,IAAI,eAAe,EACtC,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,sBAAsB,GACvB,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { __assign, __read, __rest } from "tslib";
2
+ import { cva } from "class-variance-authority";
3
+ import * as React from "react";
4
+ import { useState } from "react";
5
+ import { Button, Icon, ScrollArea } from "../components";
6
+ import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "../components/Dialog";
7
+ import { ChevronLeftIcon, ChevronRightIcon } from "../icons/app";
8
+ import { cn } from "../lib/utils";
9
+ var MULTI_PAGE_DIALOG_SIZES = ["md", "lg", "xl"];
10
+ var multiPageDialogSizeClasses = {
11
+ md: "s-h-100 s-max-h-screen",
12
+ lg: "s-h-125 s-max-h-screen",
13
+ xl: "s-h-150 s-max-h-screen",
14
+ };
15
+ var multiPageDialogHeightVariants = cva("", {
16
+ variants: {
17
+ size: multiPageDialogSizeClasses,
18
+ },
19
+ defaultVariants: {
20
+ size: "md",
21
+ },
22
+ });
23
+ var multiPageDialogLayoutVariants = cva(cn("s-flex s-flex-col s-h-full s-overflow-hidden"));
24
+ var MultiPageDialogRoot = Dialog;
25
+ var MultiPageDialogTrigger = DialogTrigger;
26
+ var MultiPageDialogClose = DialogClose;
27
+ var MultiPageDialogContent = React.forwardRef(function (_a, ref) {
28
+ var pages = _a.pages, currentPageId = _a.currentPageId, onPageChange = _a.onPageChange, _b = _a.size, size = _b === void 0 ? "md" : _b, trapFocusScope = _a.trapFocusScope, isAlertDialog = _a.isAlertDialog, _c = _a.showNavigation, showNavigation = _c === void 0 ? true : _c, _d = _a.showHeaderNavigation, showHeaderNavigation = _d === void 0 ? true : _d, footerContent = _a.footerContent, onSave = _a.onSave, className = _a.className, _e = _a.disableNext, disableNext = _e === void 0 ? false : _e, _f = _a.disableSave, disableSave = _f === void 0 ? false : _f, props = __rest(_a, ["pages", "currentPageId", "onPageChange", "size", "trapFocusScope", "isAlertDialog", "showNavigation", "showHeaderNavigation", "footerContent", "onSave", "className", "disableNext", "disableSave"]);
29
+ var currentPageIndex = pages.findIndex(function (page) { return page.id === currentPageId; });
30
+ var currentPage = pages[currentPageIndex];
31
+ var _g = __read(useState(false), 2), isTransitioning = _g[0], setIsTransitioning = _g[1];
32
+ var _h = __read(useState("next"), 2), transitionDirection = _h[0], setTransitionDirection = _h[1];
33
+ var handlePrevious = function (e) {
34
+ e.preventDefault();
35
+ if (currentPageIndex > 0 && !isTransitioning) {
36
+ setTransitionDirection("prev");
37
+ setIsTransitioning(true);
38
+ setTimeout(function () {
39
+ onPageChange(pages[currentPageIndex - 1].id);
40
+ setTimeout(function () { return setIsTransitioning(false); }, 50);
41
+ }, 150);
42
+ }
43
+ };
44
+ var handleNext = function (e) {
45
+ e.preventDefault();
46
+ if (currentPageIndex < pages.length - 1 && !isTransitioning) {
47
+ setTransitionDirection("next");
48
+ setIsTransitioning(true);
49
+ setTimeout(function () {
50
+ onPageChange(pages[currentPageIndex + 1].id);
51
+ setTimeout(function () { return setIsTransitioning(false); }, 50);
52
+ }, 150);
53
+ }
54
+ };
55
+ if (!currentPage) {
56
+ console.warn("Page with id \"".concat(currentPageId, "\" not found"));
57
+ return null;
58
+ }
59
+ var hasPrevious = currentPageIndex > 0;
60
+ var hasNext = currentPageIndex < pages.length - 1;
61
+ var nextButtonDisabled = disableNext || !hasNext || isTransitioning;
62
+ var prevButtonDisabled = !hasPrevious || isTransitioning;
63
+ return (React.createElement(DialogContent, __assign({ ref: ref, size: size, trapFocusScope: trapFocusScope, isAlertDialog: isAlertDialog, className: cn(multiPageDialogHeightVariants({ size: size }), className) }, props),
64
+ React.createElement("div", { className: cn(multiPageDialogLayoutVariants()) },
65
+ React.createElement(DialogHeader, { hideButton: true, className: "s-flex-none" },
66
+ React.createElement("div", { className: "s-flex s-items-center s-justify-between s-pr-8" },
67
+ React.createElement("div", { className: "s-flex s-items-center s-gap-3" },
68
+ showNavigation && showHeaderNavigation && (React.createElement("div", { className: "s-flex s-items-center s-gap-1" },
69
+ React.createElement(Button, { icon: ChevronLeftIcon, variant: "ghost", size: "sm", disabled: prevButtonDisabled, onClick: handlePrevious, tooltip: hasPrevious && !isTransitioning
70
+ ? "Previous page"
71
+ : undefined }),
72
+ React.createElement(Button, { icon: ChevronRightIcon, variant: "ghost", size: "sm", disabled: nextButtonDisabled, onClick: handleNext, tooltip: hasNext && !disableNext && !isTransitioning
73
+ ? "Next page"
74
+ : undefined }))),
75
+ React.createElement("div", { className: cn("s-flex s-items-center s-gap-2 s-transition-all s-duration-200 s-ease-out", {
76
+ "s-transform s-opacity-0": isTransitioning,
77
+ "s-translate-x-1": isTransitioning && transitionDirection === "next",
78
+ "s--translate-x-1": isTransitioning && transitionDirection === "prev",
79
+ "s-translate-x-0 s-opacity-100": !isTransitioning,
80
+ }) },
81
+ currentPage.icon && (React.createElement(Icon, { visual: currentPage.icon, size: "lg", className: "s-text-foreground" })),
82
+ React.createElement("div", null,
83
+ React.createElement(DialogTitle, null, currentPage.title),
84
+ currentPage.description && (React.createElement(DialogDescription, null, currentPage.description))))),
85
+ showNavigation && pages.length > 1 && (React.createElement("div", { className: "s-text-xs s-text-muted-foreground dark:s-text-muted-foreground-night" },
86
+ currentPageIndex + 1,
87
+ " / ",
88
+ pages.length)))),
89
+ React.createElement("div", { className: "s-min-h-0 s-flex-1 s-overflow-hidden" },
90
+ React.createElement(ScrollArea, { className: cn("s-h-full s-transition-all s-duration-200 s-ease-out", {
91
+ "s-transform s-opacity-0": isTransitioning,
92
+ "s-translate-x-2": isTransitioning && transitionDirection === "next",
93
+ "s--translate-x-2": isTransitioning && transitionDirection === "prev",
94
+ "s-translate-x-0 s-opacity-100": !isTransitioning,
95
+ }) },
96
+ React.createElement("div", { className: "s-flex s-flex-col s-gap-2 s-px-5 s-py-4" }, currentPage.content))),
97
+ React.createElement(DialogFooter, { className: "s-flex-none", leftButtonProps: {
98
+ label: "Cancel",
99
+ variant: "outline",
100
+ size: "sm",
101
+ }, rightButtonProps: showNavigation && pages.length > 1 && hasPrevious
102
+ ? {
103
+ label: "Previous",
104
+ variant: "outline",
105
+ size: "sm",
106
+ disabled: isTransitioning,
107
+ onClick: handlePrevious,
108
+ }
109
+ : undefined },
110
+ showNavigation && pages.length > 1 && hasNext && (React.createElement(Button, { label: "Next", variant: "outline", size: "sm", disabled: disableNext || isTransitioning, onClick: handleNext })),
111
+ showNavigation && pages.length > 1 && !hasNext && onSave && (React.createElement(Button, { label: "Save changes", variant: "primary", size: "sm", disabled: disableSave || isTransitioning, onClick: onSave })),
112
+ footerContent))));
113
+ });
114
+ MultiPageDialogContent.displayName = "MultiPageDialogContent";
115
+ export { MultiPageDialogRoot as MultiPageDialog, MultiPageDialogClose, MultiPageDialogContent, MultiPageDialogTrigger, };
116
+ //# sourceMappingURL=MultiPageDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiPageDialog.js","sourceRoot":"","sources":["../../../src/components/MultiPageDialog.tsx"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ interface MultiPageSheetProps {
15
15
  side?: React.ComponentProps<typeof SheetContent>["side"];
16
16
  trapFocusScope?: boolean;
17
17
  showNavigation?: boolean;
18
+ showHeaderNavigation?: boolean;
18
19
  footerContent?: React.ReactNode;
19
20
  onSave?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
20
21
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"MultiPageSheet.d.ts","sourceRoot":"","sources":["../../../src/components/MultiPageSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAIL,YAAY,EAMb,MAAM,2BAA2B,CAAC;AAGnC,UAAU,kBAAkB;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,kBAAkB,wDAAQ,CAAC;AACjC,QAAA,MAAM,qBAAqB,+HAAe,CAAC;AAC3C,QAAA,MAAM,mBAAmB,6HAAa,CAAC;AAEvC,UAAU,0BAA2B,SAAQ,mBAAmB;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,QAAA,MAAM,qBAAqB,mGA8J1B,CAAC;AAIF,OAAO,EACL,kBAAkB,IAAI,cAAc,EACpC,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,qBAAqB,GACtB,CAAC"}
1
+ {"version":3,"file":"MultiPageSheet.d.ts","sourceRoot":"","sources":["../../../src/components/MultiPageSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAIL,YAAY,EAMb,MAAM,2BAA2B,CAAC;AAGnC,UAAU,kBAAkB;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,kBAAkB,wDAAQ,CAAC;AACjC,QAAA,MAAM,qBAAqB,+HAAe,CAAC;AAC3C,QAAA,MAAM,mBAAmB,6HAAa,CAAC;AAEvC,UAAU,0BAA2B,SAAQ,mBAAmB;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,QAAA,MAAM,qBAAqB,mGA+J1B,CAAC;AAIF,OAAO,EACL,kBAAkB,IAAI,cAAc,EACpC,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,qBAAqB,GACtB,CAAC"}
@@ -7,7 +7,7 @@ var MultiPageSheetRoot = Sheet;
7
7
  var MultiPageSheetTrigger = SheetTrigger;
8
8
  var MultiPageSheetClose = SheetClose;
9
9
  var MultiPageSheetContent = React.forwardRef(function (_a, ref) {
10
- var pages = _a.pages, currentPageId = _a.currentPageId, onPageChange = _a.onPageChange, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.side, side = _c === void 0 ? "right" : _c, trapFocusScope = _a.trapFocusScope, _d = _a.showNavigation, showNavigation = _d === void 0 ? true : _d, footerContent = _a.footerContent, onSave = _a.onSave, className = _a.className, _e = _a.disableNext, disableNext = _e === void 0 ? false : _e, _f = _a.disableSave, disableSave = _f === void 0 ? false : _f, props = __rest(_a, ["pages", "currentPageId", "onPageChange", "size", "side", "trapFocusScope", "showNavigation", "footerContent", "onSave", "className", "disableNext", "disableSave"]);
10
+ var pages = _a.pages, currentPageId = _a.currentPageId, onPageChange = _a.onPageChange, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.side, side = _c === void 0 ? "right" : _c, trapFocusScope = _a.trapFocusScope, _d = _a.showNavigation, showNavigation = _d === void 0 ? true : _d, _e = _a.showHeaderNavigation, showHeaderNavigation = _e === void 0 ? true : _e, footerContent = _a.footerContent, onSave = _a.onSave, className = _a.className, _f = _a.disableNext, disableNext = _f === void 0 ? false : _f, _g = _a.disableSave, disableSave = _g === void 0 ? false : _g, props = __rest(_a, ["pages", "currentPageId", "onPageChange", "size", "side", "trapFocusScope", "showNavigation", "showHeaderNavigation", "footerContent", "onSave", "className", "disableNext", "disableSave"]);
11
11
  var currentPageIndex = pages.findIndex(function (page) { return page.id === currentPageId; });
12
12
  var currentPage = pages[currentPageIndex];
13
13
  var handlePrevious = function (e) {
@@ -33,7 +33,7 @@ var MultiPageSheetContent = React.forwardRef(function (_a, ref) {
33
33
  React.createElement(SheetHeader, { hideButton: true },
34
34
  React.createElement("div", { className: "s-flex s-items-center s-justify-between s-pr-8" },
35
35
  React.createElement("div", { className: "s-flex s-items-center s-gap-3" },
36
- showNavigation && (React.createElement("div", { className: "s-flex s-items-center s-gap-1" },
36
+ showNavigation && showHeaderNavigation && (React.createElement("div", { className: "s-flex s-items-center s-gap-1" },
37
37
  React.createElement(Button, { icon: ChevronLeftIcon, variant: "ghost", size: "sm", disabled: !hasPrevious, onClick: handlePrevious, tooltip: hasPrevious ? "Previous page" : undefined }),
38
38
  React.createElement(Button, { icon: ChevronRightIcon, variant: "ghost", size: "sm", disabled: nextButtonDisabled, onClick: handleNext, tooltip: hasNext && !disableNext ? "Next page" : undefined }))),
39
39
  React.createElement("div", { className: "s-flex s-items-center s-gap-2" },
@@ -1 +1 @@
1
- {"version":3,"file":"MultiPageSheet.js","sourceRoot":"","sources":["../../../src/components/MultiPageSheet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiPageSheet.js","sourceRoot":"","sources":["../../../src/components/MultiPageSheet.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { MultiPageDialogContent } from "../components/MultiPageDialog";
3
+ declare const meta: Meta<typeof MultiPageDialogContent>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const Default: Story;
7
+ export declare const InteractiveContent: Story;
8
+ export declare const WithConditionalNavigation: Story;
9
+ export declare const ScrollableContent: Story;
10
+ //# sourceMappingURL=MultiPageDialog.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiPageDialog.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/MultiPageDialog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAEL,sBAAsB,EAGvB,MAAM,qCAAqC,CAAC;AAG7C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,sBAAsB,CAG7C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA0HnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KA0LhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAuIvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KA0H/B,CAAC"}
@@ -0,0 +1,301 @@
1
+ import { __assign, __read, __spreadArray } from "tslib";
2
+ import React, { useState } from "react";
3
+ import { Button } from "../components/Button";
4
+ import { MultiPageDialog, MultiPageDialogContent, MultiPageDialogTrigger, } from "../components/MultiPageDialog";
5
+ import { Cog6ToothIcon, DocumentTextIcon, UserIcon } from "../icons/app";
6
+ var meta = {
7
+ title: "Primitives/MultiPageDialog",
8
+ component: MultiPageDialogContent,
9
+ };
10
+ export default meta;
11
+ var samplePages = [
12
+ {
13
+ id: "profile",
14
+ title: "User Profile",
15
+ description: "Manage your personal information",
16
+ icon: UserIcon,
17
+ content: (React.createElement("div", { className: "s-space-y-4" },
18
+ React.createElement("div", null,
19
+ React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Personal Information"),
20
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Update your profile details and preferences.")),
21
+ React.createElement("div", { className: "s-space-y-3" },
22
+ React.createElement("div", null,
23
+ React.createElement("label", { className: "s-text-sm s-font-medium" }, "Full Name"),
24
+ React.createElement("input", { type: "text", className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "John Doe" })),
25
+ React.createElement("div", null,
26
+ React.createElement("label", { className: "s-text-sm s-font-medium" }, "Email"),
27
+ React.createElement("input", { type: "email", className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "john@example.com" }))))),
28
+ },
29
+ {
30
+ id: "documents",
31
+ title: "Documents",
32
+ description: "Manage your uploaded files",
33
+ icon: DocumentTextIcon,
34
+ content: (React.createElement("div", { className: "s-space-y-4" },
35
+ React.createElement("div", null,
36
+ React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "File Management"),
37
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Upload, organize, and manage your documents.")),
38
+ React.createElement("div", { className: "s-space-y-2" },
39
+ React.createElement("div", { className: "s-flex s-items-center s-justify-between s-rounded-md s-border s-p-3" },
40
+ React.createElement("span", { className: "s-text-sm" }, "document1.pdf"),
41
+ React.createElement(Button, { label: "Download", size: "sm", variant: "outline" })),
42
+ React.createElement("div", { className: "s-flex s-items-center s-justify-between s-rounded-md s-border s-p-3" },
43
+ React.createElement("span", { className: "s-text-sm" }, "report.docx"),
44
+ React.createElement(Button, { label: "Download", size: "sm", variant: "outline" }))))),
45
+ },
46
+ {
47
+ id: "settings",
48
+ title: "Settings",
49
+ description: "Configure your preferences",
50
+ icon: Cog6ToothIcon,
51
+ content: (React.createElement("div", { className: "s-space-y-4" },
52
+ React.createElement("div", null,
53
+ React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Application Settings"),
54
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Customize your experience and notification preferences.")),
55
+ React.createElement("div", { className: "s-space-y-3" },
56
+ React.createElement("div", { className: "s-flex s-items-center s-justify-between" },
57
+ React.createElement("span", { className: "s-text-sm" }, "Email notifications"),
58
+ React.createElement("input", { type: "checkbox", className: "s-rounded", defaultChecked: true })),
59
+ React.createElement("div", { className: "s-flex s-items-center s-justify-between" },
60
+ React.createElement("span", { className: "s-text-sm" }, "Dark mode"),
61
+ React.createElement("input", { type: "checkbox", className: "s-rounded" })),
62
+ React.createElement("div", { className: "s-flex s-items-center s-justify-between" },
63
+ React.createElement("span", { className: "s-text-sm" }, "Auto-save"),
64
+ React.createElement("input", { type: "checkbox", className: "s-rounded", defaultChecked: true }))))),
65
+ },
66
+ ];
67
+ var MultiPageDialogDemo = function () {
68
+ var _a = __read(useState("profile"), 2), currentPageId = _a[0], setCurrentPageId = _a[1];
69
+ var handleSave = function () {
70
+ alert("Changes saved!");
71
+ };
72
+ return (React.createElement(MultiPageDialog, null,
73
+ React.createElement(MultiPageDialogTrigger, { asChild: true },
74
+ React.createElement(Button, { label: "Open Multi-Page Dialog" })),
75
+ React.createElement(MultiPageDialogContent, { pages: samplePages, currentPageId: currentPageId, onPageChange: setCurrentPageId, size: "xl", onSave: handleSave })));
76
+ };
77
+ export var Default = {
78
+ render: function () { return React.createElement(MultiPageDialogDemo, null); },
79
+ };
80
+ export var InteractiveContent = {
81
+ render: function () {
82
+ var _a = __read(useState("step1"), 2), currentPageId = _a[0], setCurrentPageId = _a[1];
83
+ var _b = __read(useState({
84
+ name: "",
85
+ email: "",
86
+ selectedFile: "",
87
+ notifications: false,
88
+ }), 2), formData = _b[0], setFormData = _b[1];
89
+ var handleSave = function () {
90
+ alert("Setup completed! Data: ".concat(JSON.stringify(formData, null, 2)));
91
+ };
92
+ var interactivePages = [
93
+ {
94
+ id: "step1",
95
+ title: "Personal Info",
96
+ description: "Enter your basic information",
97
+ icon: UserIcon,
98
+ content: (React.createElement("div", { className: "s-space-y-4" },
99
+ React.createElement("div", null,
100
+ React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Let's get started"),
101
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Fill in your details to continue to the next step.")),
102
+ React.createElement("div", { className: "s-space-y-3" },
103
+ React.createElement("div", null,
104
+ React.createElement("label", { className: "s-text-sm s-font-medium" }, "Full Name *"),
105
+ React.createElement("input", { type: "text", className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "Enter your name", value: formData.name, onChange: function (e) {
106
+ return setFormData(__assign(__assign({}, formData), { name: e.target.value }));
107
+ } })),
108
+ React.createElement("div", null,
109
+ React.createElement("label", { className: "s-text-sm s-font-medium" }, "Email *"),
110
+ React.createElement("input", { type: "email", className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "Enter your email", value: formData.email, onChange: function (e) {
111
+ return setFormData(__assign(__assign({}, formData), { email: e.target.value }));
112
+ } })),
113
+ React.createElement("div", { className: "s-pt-2" },
114
+ React.createElement(Button, { label: "Continue to File Selection", variant: "primary", size: "md", disabled: !formData.name || !formData.email, onClick: function () { return setCurrentPageId("step2"); } }))))),
115
+ },
116
+ {
117
+ id: "step2",
118
+ title: "File Selection",
119
+ description: "Choose your files",
120
+ icon: DocumentTextIcon,
121
+ content: (React.createElement("div", { className: "s-space-y-4" },
122
+ React.createElement("div", null,
123
+ React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Select a file to work with"),
124
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Choose from the available files below.")),
125
+ React.createElement("div", { className: "s-space-y-2" }, [
126
+ "project-proposal.pdf",
127
+ "budget-2024.xlsx",
128
+ "meeting-notes.docx",
129
+ ].map(function (file) { return (React.createElement("div", { key: file, className: "s-flex s-cursor-pointer s-items-center s-justify-between s-rounded-md s-border s-p-3 s-transition-colors hover:s-bg-gray-50 ".concat(formData.selectedFile === file
130
+ ? "s-border-blue-300 s-bg-blue-50"
131
+ : ""), onClick: function () {
132
+ return setFormData(__assign(__assign({}, formData), { selectedFile: file }));
133
+ } },
134
+ React.createElement("span", { className: "s-text-sm" }, file),
135
+ React.createElement("div", { className: "s-flex s-items-center s-gap-2" },
136
+ React.createElement("input", { type: "radio", checked: formData.selectedFile === file, readOnly: true, className: "s-pointer-events-none" })))); })),
137
+ formData.selectedFile && (React.createElement("div", { className: "s-pt-2" },
138
+ React.createElement(Button, { label: "Continue to Settings", variant: "primary", size: "md", onClick: function () { return setCurrentPageId("step3"); } }))))),
139
+ },
140
+ {
141
+ id: "step3",
142
+ title: "Final Settings",
143
+ description: "Configure your preferences",
144
+ icon: Cog6ToothIcon,
145
+ content: (React.createElement("div", { className: "s-space-y-4" },
146
+ React.createElement("div", null,
147
+ React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Almost done!"),
148
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Configure your final preferences and complete the setup.")),
149
+ React.createElement("div", { className: "s-space-y-3" },
150
+ React.createElement("div", { className: "s-flex s-items-center s-justify-between" },
151
+ React.createElement("span", { className: "s-text-sm" }, "Enable email notifications"),
152
+ React.createElement("input", { type: "checkbox", className: "s-rounded", checked: formData.notifications, onChange: function (e) {
153
+ return setFormData(__assign(__assign({}, formData), { notifications: e.target.checked }));
154
+ } })),
155
+ React.createElement("div", { className: "s-rounded-md s-bg-gray-50 s-p-3" },
156
+ React.createElement("h4", { className: "s-mb-2 s-text-sm s-font-medium" }, "Summary"),
157
+ React.createElement("div", { className: "s-space-y-1 s-text-xs s-text-gray-600" },
158
+ React.createElement("div", null,
159
+ "Name: ",
160
+ formData.name),
161
+ React.createElement("div", null,
162
+ "Email: ",
163
+ formData.email),
164
+ React.createElement("div", null,
165
+ "Selected File: ",
166
+ formData.selectedFile),
167
+ React.createElement("div", null,
168
+ "Notifications:",
169
+ " ",
170
+ formData.notifications ? "Enabled" : "Disabled")))))),
171
+ },
172
+ ];
173
+ return (React.createElement(MultiPageDialog, null,
174
+ React.createElement(MultiPageDialogTrigger, { asChild: true },
175
+ React.createElement(Button, { label: "Open Interactive Setup" })),
176
+ React.createElement(MultiPageDialogContent, { pages: interactivePages, currentPageId: currentPageId, onPageChange: setCurrentPageId, size: "lg", onSave: handleSave })));
177
+ },
178
+ };
179
+ export var WithConditionalNavigation = {
180
+ render: function () {
181
+ var _a = __read(useState("data-selection"), 2), currentPageId = _a[0], setCurrentPageId = _a[1];
182
+ var _b = __read(useState([]), 2), selectedItems = _b[0], setSelectedItems = _b[1];
183
+ var _c = __read(useState(""), 2), description = _c[0], setDescription = _c[1];
184
+ var handleSave = function () {
185
+ alert("Configuration saved! Selected: ".concat(selectedItems.join(", "), ", Description: ").concat(description));
186
+ };
187
+ var conditionalPages = [
188
+ {
189
+ id: "data-selection",
190
+ title: "Select Data Sources",
191
+ description: "Choose which data sources to include",
192
+ icon: DocumentTextIcon,
193
+ content: (React.createElement("div", { className: "s-space-y-4" },
194
+ React.createElement("div", null,
195
+ React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Available Data Sources"),
196
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Select at least one data source to proceed to the next step.")),
197
+ React.createElement("div", { className: "s-space-y-2" }, [
198
+ "Company Database",
199
+ "Customer Files",
200
+ "Analytics Data",
201
+ "Reports Archive",
202
+ ].map(function (item) { return (React.createElement("div", { key: item, className: "s-flex s-cursor-pointer s-items-center s-justify-between s-rounded-md s-border s-p-3 s-transition-colors hover:s-bg-gray-50 ".concat(selectedItems.includes(item)
203
+ ? "s-border-blue-300 s-bg-blue-50"
204
+ : ""), onClick: function () {
205
+ if (selectedItems.includes(item)) {
206
+ setSelectedItems(selectedItems.filter(function (i) { return i !== item; }));
207
+ }
208
+ else {
209
+ setSelectedItems(__spreadArray(__spreadArray([], __read(selectedItems), false), [item], false));
210
+ }
211
+ } },
212
+ React.createElement("span", { className: "s-text-sm" }, item),
213
+ React.createElement("input", { type: "checkbox", checked: selectedItems.includes(item), readOnly: true, className: "s-pointer-events-none" }))); })),
214
+ selectedItems.length > 0 && (React.createElement("div", { className: "s-rounded-md s-border s-bg-blue-50 s-p-3" },
215
+ React.createElement("p", { className: "s-text-sm s-text-blue-700" },
216
+ selectedItems.length,
217
+ " data source",
218
+ selectedItems.length !== 1 ? "s" : "",
219
+ " selected"))))),
220
+ },
221
+ {
222
+ id: "description",
223
+ title: "Add Description",
224
+ description: "Describe your configuration",
225
+ icon: Cog6ToothIcon,
226
+ content: (React.createElement("div", { className: "s-space-y-4" },
227
+ React.createElement("div", null,
228
+ React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Configuration Details"),
229
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Add a description for your selected data sources.")),
230
+ React.createElement("div", { className: "s-rounded-md s-border s-bg-blue-50 s-p-3" },
231
+ React.createElement("p", { className: "s-text-sm s-text-blue-700" },
232
+ "Selected: ",
233
+ selectedItems.join(", "))),
234
+ React.createElement("div", { className: "s-space-y-2" },
235
+ React.createElement("label", { className: "s-text-sm s-font-medium" }, "Description"),
236
+ React.createElement("textarea", { className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "Describe how these data sources will be used...", value: description, onChange: function (e) { return setDescription(e.target.value); }, rows: 4 }),
237
+ React.createElement("p", { className: "s-text-xs s-text-muted-foreground" }, "This description helps explain the purpose of your configuration.")))),
238
+ },
239
+ ];
240
+ return (React.createElement(MultiPageDialog, null,
241
+ React.createElement(MultiPageDialogTrigger, { asChild: true },
242
+ React.createElement(Button, { label: "Open Configuration Wizard" })),
243
+ React.createElement(MultiPageDialogContent, { pages: conditionalPages, currentPageId: currentPageId, onPageChange: setCurrentPageId, size: "lg", onSave: handleSave, showNavigation: true, disableNext: currentPageId === "data-selection" && selectedItems.length === 0, disableSave: !description.trim(), footerContent: React.createElement("div", { className: "s-w-full s-border s-border-border-dark" }, "This is a footer content") })));
244
+ },
245
+ };
246
+ export var ScrollableContent = {
247
+ render: function () {
248
+ var _a = __read(useState("long-form"), 2), currentPageId = _a[0], setCurrentPageId = _a[1];
249
+ var handleSave = function () {
250
+ alert("Long form submitted!");
251
+ };
252
+ var scrollablePages = [
253
+ {
254
+ id: "long-form",
255
+ title: "Long Form Content",
256
+ description: "This page demonstrates scrollable content",
257
+ icon: DocumentTextIcon,
258
+ content: (React.createElement("div", { className: "s-space-y-6" },
259
+ React.createElement("div", null,
260
+ React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Terms and Conditions"),
261
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "This page contains a lot of content to demonstrate scrolling functionality. The content should be scrollable within the dialog area.")),
262
+ Array.from({ length: 15 }, function (_, i) { return (React.createElement("div", { key: i, className: "s-space-y-3" },
263
+ React.createElement("h4", { className: "s-text-md s-font-semibold" },
264
+ "Section ",
265
+ i + 1),
266
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."),
267
+ React.createElement("div", { className: "s-space-y-2" },
268
+ React.createElement("div", null,
269
+ React.createElement("label", { className: "s-text-sm s-font-medium" },
270
+ "Field ",
271
+ i + 1),
272
+ React.createElement("input", { type: "text", className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "Enter value for field ".concat(i + 1) })),
273
+ i % 3 === 0 && (React.createElement("div", null,
274
+ React.createElement("label", { className: "s-text-sm s-font-medium" }, "Additional Notes"),
275
+ React.createElement("textarea", { className: "s-mt-1 s-w-full s-rounded-md s-border s-px-3 s-py-2", placeholder: "Add any additional notes here...", rows: 3 })))))); }),
276
+ React.createElement("div", { className: "s-rounded-md s-border s-bg-blue-50 s-p-4" },
277
+ React.createElement("h4", { className: "s-mb-2 s-text-sm s-font-semibold s-text-blue-900" }, "Scroll Test Complete"),
278
+ React.createElement("p", { className: "s-text-xs s-text-blue-700" }, "If you can see this message, the scrolling functionality is working correctly! The dialog maintains its fixed height while allowing the content to scroll.")))),
279
+ },
280
+ {
281
+ id: "summary",
282
+ title: "Summary",
283
+ description: "Review your information",
284
+ icon: Cog6ToothIcon,
285
+ content: (React.createElement("div", { className: "s-space-y-4" },
286
+ React.createElement("div", null,
287
+ React.createElement("h3", { className: "s-mb-2 s-text-lg s-font-semibold" }, "Form Summary"),
288
+ React.createElement("p", { className: "s-text-sm s-text-muted-foreground" }, "Thank you for testing the scrollable content functionality.")),
289
+ React.createElement("div", { className: "s-rounded-md s-border s-bg-green-50 s-p-3" },
290
+ React.createElement("p", { className: "s-text-sm s-text-green-700" }, "\u2713 Scrolling functionality verified"),
291
+ React.createElement("p", { className: "s-text-sm s-text-green-700" }, "\u2713 Fixed dialog height maintained"),
292
+ React.createElement("p", { className: "s-text-sm s-text-green-700" }, "\u2713 Content overflow handled properly")))),
293
+ },
294
+ ];
295
+ return (React.createElement(MultiPageDialog, null,
296
+ React.createElement(MultiPageDialogTrigger, { asChild: true },
297
+ React.createElement(Button, { label: "Open Scrollable Content Dialog" })),
298
+ React.createElement(MultiPageDialogContent, { pages: scrollablePages, currentPageId: currentPageId, onPageChange: setCurrentPageId, size: "lg", onSave: handleSave })));
299
+ },
300
+ };
301
+ //# sourceMappingURL=MultiPageDialog.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiPageDialog.stories.js","sourceRoot":"","sources":["../../../src/stories/MultiPageDialog.stories.tsx"],"names":[],"mappings":"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"}