@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.
- package/dist/cjs/index.js +1 -1
- package/dist/esm/components/MultiPageDialog.d.ts +34 -0
- package/dist/esm/components/MultiPageDialog.d.ts.map +1 -0
- package/dist/esm/components/MultiPageDialog.js +116 -0
- package/dist/esm/components/MultiPageDialog.js.map +1 -0
- package/dist/esm/components/MultiPageSheet.d.ts +1 -0
- package/dist/esm/components/MultiPageSheet.d.ts.map +1 -1
- package/dist/esm/components/MultiPageSheet.js +2 -2
- package/dist/esm/components/MultiPageSheet.js.map +1 -1
- package/dist/esm/stories/MultiPageDialog.stories.d.ts +10 -0
- package/dist/esm/stories/MultiPageDialog.stories.d.ts.map +1 -0
- package/dist/esm/stories/MultiPageDialog.stories.js +301 -0
- package/dist/esm/stories/MultiPageDialog.stories.js.map +1 -0
- package/dist/sparkle.css +47 -0
- package/package.json +1 -1
- package/src/components/MultiPageDialog.tsx +295 -0
- package/src/components/MultiPageSheet.tsx +3 -1
- package/src/stories/MultiPageDialog.stories.tsx +592 -0
|
@@ -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,
|
|
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,
|
|
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":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,KAAK,EACL,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
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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"}
|