linkedunion-design-kit 1.9.6-beta.0 → 1.9.6-beta.2
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/build/types/validator.js +12 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/src/components/Badge/Badge.stories.d.ts +1 -1
- package/dist/src/components/Badge/Badge.stories.js +1 -1
- package/dist/src/components/Button/Button/Button.js +3 -3
- package/dist/src/components/Button/Button/Button.module.css +1 -1
- package/dist/src/components/Card/MultipleNews/MultiNews.js +2 -2
- package/dist/src/components/Pagination/pagination.js +3 -3
- package/dist/src/components/Skeleton/skeleton.stories.d.ts +3 -1
- package/dist/src/components/Skeleton/skeleton.stories.js +48 -38
- package/dist/src/components/Title/Title.module.css +1 -1
- package/dist/src/components/Typography/Heading/heading.module.css +1 -1
- package/dist/src/components/VerticalTabs/VerticalTabs.d.ts +18 -0
- package/dist/src/components/VerticalTabs/VerticalTabs.js +60 -0
- package/dist/src/components/VerticalTabs/VerticalTabs.stories.d.ts +11 -0
- package/dist/src/components/VerticalTabs/VerticalTabs.stories.js +100 -0
- package/dist/src/components/VerticalTabs/VerticalTabs.test.d.ts +1 -0
- package/dist/src/components/VerticalTabs/VerticalTabs.test.js +48 -0
- package/dist/styles/global.css +123 -23
- package/package.json +2 -2
- package/dist/app/layout.jsx +0 -13
- package/dist/app/page.jsx +0 -5
- package/dist/src/components/Accordion/Accordion.stories.jsx +0 -33
- package/dist/src/components/Accordion/accordion.jsx +0 -59
- package/dist/src/components/Alerts/Alert/alert.jsx +0 -152
- package/dist/src/components/Alerts/Alert/alert.stories.jsx +0 -344
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.jsx +0 -170
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.jsx +0 -552
- package/dist/src/components/AppIcons/AndroidIcon.jsx +0 -24
- package/dist/src/components/AppIcons/AppIcon.jsx +0 -29
- package/dist/src/components/AppIcons/AppIcon.stories.jsx +0 -223
- package/dist/src/components/AppIcons/AppleIcon.jsx +0 -31
- package/dist/src/components/AppIcons/PlayStoreIcon.jsx +0 -29
- package/dist/src/components/Avatar/Avatar/Avatar.jsx +0 -45
- package/dist/src/components/Avatar/Avatar/Avatar.stories.jsx +0 -95
- package/dist/src/components/Avatar/Avatar/Avatar.test.jsx +0 -9
- package/dist/src/components/Avatar/Avatar/type.d.ts +0 -12
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.jsx +0 -17
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.jsx +0 -32
- package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.jsx +0 -20
- package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.stories.jsx +0 -50
- package/dist/src/components/Badge/Badge.jsx +0 -54
- package/dist/src/components/Badge/Badge.stories.jsx +0 -201
- package/dist/src/components/Button/Button/Button.jsx +0 -96
- package/dist/src/components/Button/Button/Button.stories.jsx +0 -283
- package/dist/src/components/Button/Button/Button.test.jsx +0 -73
- package/dist/src/components/Button/IconButton/IconButton.jsx +0 -63
- package/dist/src/components/Button/IconButton/IconButton.stories.jsx +0 -128
- package/dist/src/components/Button/IconButton/IconButton.test.jsx +0 -28
- package/dist/src/components/Card/MultipleNews/MultiNews.jsx +0 -70
- package/dist/src/components/Card/MultipleNews/MultiNews.stories.jsx +0 -101
- package/dist/src/components/Card/PostByCategory/PostByCategory.jsx +0 -60
- package/dist/src/components/Card/PostByCategory/PostByCategory.stories.jsx +0 -102
- package/dist/src/components/Card/SinglePost/SinglePost.jsx +0 -26
- package/dist/src/components/Card/SinglePost/SinglePost.stories.jsx +0 -63
- package/dist/src/components/Card/card.jsx +0 -20
- package/dist/src/components/Card/contactProfile/ContactProfile.jsx +0 -60
- package/dist/src/components/Card/contactProfile/ContactProfile.stories.jsx +0 -99
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.jsx +0 -41
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.stories.jsx +0 -51
- package/dist/src/components/Card/photoGallery/PhotoGallery.jsx +0 -17
- package/dist/src/components/Card/photoGallery/PhotoGallery.stories.jsx +0 -34
- package/dist/src/components/Checkbox/checkbox.jsx +0 -47
- package/dist/src/components/Checkbox/checkbox.stories.jsx +0 -113
- package/dist/src/components/ColorPicker/ColorPicker.jsx +0 -67
- package/dist/src/components/ColorPicker/ColorPicker.stories.jsx +0 -138
- package/dist/src/components/Colors/color.jsx +0 -5
- package/dist/src/components/Colors/color.stories.jsx +0 -20
- package/dist/src/components/Colors/color.test.jsx +0 -23
- package/dist/src/components/Dropdown/Combobox/Combobox.jsx +0 -198
- package/dist/src/components/Dropdown/Combobox/Combobox.stories.jsx +0 -289
- package/dist/src/components/Dropdown/Combobox/utils/renderBadge.jsx +0 -7
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.jsx +0 -102
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.jsx +0 -464
- package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.jsx +0 -19
- package/dist/src/components/Dropdown/Select.stories.jsx +0 -201
- package/dist/src/components/Dropdown/select.jsx +0 -93
- package/dist/src/components/Icons/LUIcon.jsx +0 -41
- package/dist/src/components/Icons/LUIcon.test.jsx +0 -308
- package/dist/src/components/Icons/stories/IconDropdown.jsx +0 -67
- package/dist/src/components/Icons/stories/IconGallery.jsx +0 -77
- package/dist/src/components/Icons/stories/InteractiveIconSelector.jsx +0 -86
- package/dist/src/components/Icons/stories/LUIcon.stories.jsx +0 -108
- package/dist/src/components/ImageUploader/ImageUploader.stories.jsx +0 -50
- package/dist/src/components/ImageUploader/imageUploader.jsx +0 -94
- package/dist/src/components/Images/LuImage.jsx +0 -19
- package/dist/src/components/Images/LuImage.stories.jsx +0 -154
- package/dist/src/components/Images/LuImage.test.jsx +0 -44
- package/dist/src/components/Input/Input.stories.jsx +0 -250
- package/dist/src/components/Input/input.jsx +0 -110
- package/dist/src/components/Label/Label.jsx +0 -32
- package/dist/src/components/Label/Label.stories.jsx +0 -30
- package/dist/src/components/Pagination/pagination.jsx +0 -65
- package/dist/src/components/Pagination/pagination.stories.jsx +0 -301
- package/dist/src/components/RadioGroup/RadioGroup.stories.jsx +0 -146
- package/dist/src/components/RadioGroup/radio-group.jsx +0 -49
- package/dist/src/components/Slider/Slider.stories.jsx +0 -159
- package/dist/src/components/Slider/slider.jsx +0 -31
- package/dist/src/components/SweetAlert/SweetAlert.jsx +0 -147
- package/dist/src/components/SweetAlert/SweetAlert.stories.jsx +0 -505
- package/dist/src/components/Switch/Switch.stories.jsx +0 -66
- package/dist/src/components/Switch/switch.jsx +0 -61
- package/dist/src/components/Table/Table.jsx +0 -221
- package/dist/src/components/Table/Table.stories.jsx +0 -652
- package/dist/src/components/Tabs/Tabs.stories.jsx +0 -29
- package/dist/src/components/Tabs/tabs.jsx +0 -32
- package/dist/src/components/Title/Title.jsx +0 -8
- package/dist/src/components/Title/Title.stories.jsx +0 -37
- package/dist/src/components/Title/Title.test.jsx +0 -24
- package/dist/src/components/ToolTip/Tooltip.jsx +0 -18
- package/dist/src/components/ToolTip/Tooltip.stories.jsx +0 -25
- package/dist/src/components/Typography/Body/Body.stories.jsx +0 -34
- package/dist/src/components/Typography/Body/body.jsx +0 -52
- package/dist/src/components/Typography/Caption/Caption.stories.jsx +0 -24
- package/dist/src/components/Typography/Caption/caption.jsx +0 -25
- package/dist/src/components/Typography/Display/Display.stories.jsx +0 -24
- package/dist/src/components/Typography/Display/display.jsx +0 -39
- package/dist/src/components/Typography/Heading/Heading.stories.jsx +0 -37
- package/dist/src/components/Typography/Heading/heading.jsx +0 -53
- package/dist/src/components/ui/avatar.d.ts +0 -6
- package/dist/src/components/ui/avatar.js +0 -38
- package/dist/src/components/ui/avatar.jsx +0 -27
- package/dist/src/components/ui/button.d.ts +0 -10
- package/dist/src/components/ui/button.js +0 -56
- package/dist/src/components/ui/button.jsx +0 -45
- package/dist/src/components/ui/collapsible.jsx +0 -5
- package/dist/src/components/ui/command.jsx +0 -67
- package/dist/src/components/ui/dialog.jsx +0 -66
- package/dist/src/components/ui/popover.jsx +0 -33
- package/dist/src/components/ui/tooltip.jsx +0 -38
- package/dist/src/components/ui/typography.jsx +0 -56
- /package/dist/{src/components/Avatar/Avatar/type.js → build/types/validator.d.ts} +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// This file is generated automatically by Next.js
|
|
2
|
+
// Do not edit this file manually
|
|
3
|
+
// This file validates that all pages and layouts export the correct types
|
|
4
|
+
// Validate ../../app/page.tsx
|
|
5
|
+
{
|
|
6
|
+
var handler = {};
|
|
7
|
+
}
|
|
8
|
+
// Validate ../../app/layout.tsx
|
|
9
|
+
{
|
|
10
|
+
var handler = {};
|
|
11
|
+
}
|
|
12
|
+
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -29,3 +29,5 @@ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuIte
|
|
|
29
29
|
export { Badge } from "./src/components/Badge/Badge";
|
|
30
30
|
export { default as Combobox } from "./src/components/Dropdown/Combobox/Combobox";
|
|
31
31
|
export { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis, } from "./src/components/Pagination/pagination";
|
|
32
|
+
export { Skeleton } from "./src/components/Skeleton/skeleton";
|
|
33
|
+
export { Tabs as VerticalTabs, TabsContent as VerticalTabsContent, TabsList as VerticalTabsList, tabSizes as verticalTabsSize, TabsTrigger as VerticalTabsTrigger, TabsHeading as VerticalTabsHeading, } from "./src/components/VerticalTabs/VerticalTabs";
|
package/dist/index.js
CHANGED
|
@@ -29,3 +29,5 @@ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuIte
|
|
|
29
29
|
export { Badge } from "./src/components/Badge/Badge";
|
|
30
30
|
export { default as Combobox } from "./src/components/Dropdown/Combobox/Combobox";
|
|
31
31
|
export { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis, } from "./src/components/Pagination/pagination";
|
|
32
|
+
export { Skeleton } from "./src/components/Skeleton/skeleton";
|
|
33
|
+
export { Tabs as VerticalTabs, TabsContent as VerticalTabsContent, TabsList as VerticalTabsList, tabSizes as verticalTabsSize, TabsTrigger as VerticalTabsTrigger, TabsHeading as VerticalTabsHeading, } from "./src/components/VerticalTabs/VerticalTabs";
|
|
@@ -37,9 +37,9 @@ import LUIcon from "../../Icons/LUIcon";
|
|
|
37
37
|
import { buttonStyles } from "..";
|
|
38
38
|
export var variant = {
|
|
39
39
|
fill: "",
|
|
40
|
-
link: "bg-transparent hover:bg-transparent focus:bg-transparent active:bg-transparent !p-0 underline-offset-4 hover:underline border-none",
|
|
41
|
-
outline: "border bg-transparent",
|
|
42
|
-
ghost: "bg-transparent border-none",
|
|
40
|
+
link: "lu-bg-transparent hover:lu-bg-transparent focus:lu-bg-transparent active:lu-bg-transparent !p-0 underline-offset-4 hover:underline border-none",
|
|
41
|
+
outline: "border lu-bg-transparent",
|
|
42
|
+
ghost: "lu-bg-transparent border-none",
|
|
43
43
|
};
|
|
44
44
|
var buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-blue-200 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer", {
|
|
45
45
|
variants: {
|
|
@@ -35,12 +35,12 @@ export var MultipleNewsCard = function (props) {
|
|
|
35
35
|
};
|
|
36
36
|
// Horizontal layout
|
|
37
37
|
if (orientation === "horizontal") {
|
|
38
|
-
return (_jsxs("div", { className: "!p-5 bg-white rounded-2xl flex ".concat(mediaPosition === "right" ? "flex-row-reverse" : "", " !gap-5 items-center shadow-lg ").concat(editor === null || editor === void 0 ? void 0 : editor.card), children: [_jsx(CardMedia, { className: "max-w-48 aspect-square rounded-lg" }), _jsxs("div", { className: "flex flex-col !gap-5 w-full", children: [_jsx(CardContent, {}), _jsx(ActionButton, {})] })] }));
|
|
38
|
+
return (_jsxs("div", { className: "!p-5 bg-white rounded-2xl flex max-sm:flex-col ".concat(mediaPosition === "right" ? "flex-row-reverse" : "", " !gap-5 items-center shadow-lg ").concat(editor === null || editor === void 0 ? void 0 : editor.card), children: [_jsx(CardMedia, { className: "w-full sm:max-w-48 aspect-square rounded-lg" }), _jsxs("div", { className: "flex flex-col !gap-5 w-full", children: [_jsx(CardContent, {}), _jsx(ActionButton, {})] })] }));
|
|
39
39
|
}
|
|
40
40
|
// Vertical layout
|
|
41
41
|
return (_jsxs("div", { className: "!p-4 bg-white rounded-2xl flex flex-col !gap-5 max-w-md shadow-lg ".concat(editor === null || editor === void 0 ? void 0 : editor.card), children: [_jsxs("div", { className: "flex ".concat(mediaPosition === "top" ? "flex-col" : "flex-col-reverse", " !gap-4"), children: [mediaPosition === "middle" && (_jsx(Body, { variant: "body-lg", className: "text-gray-600 line-clamp-2 h-14 ".concat(editor === null || editor === void 0 ? void 0 : editor.cardText), dangerouslySetInnerHTML: {
|
|
42
42
|
__html: item.description || "",
|
|
43
|
-
} })), _jsx(CardMedia, { className: "aspect-16/10" }), _jsxs("div", { className: "flex flex-col !gap-1", children: [_jsx(Heading, { variant: "h4-700", className: "line-clamp-1 capitalize ".concat(editor === null || editor === void 0 ? void 0 : editor.cardTitle), children: item === null || item === void 0 ? void 0 : item.title }), (
|
|
43
|
+
} })), _jsx(CardMedia, { className: "aspect-16/10" }), _jsxs("div", { className: "flex flex-col !gap-1", children: [_jsx(Heading, { variant: "h4-700", className: "line-clamp-1 capitalize ".concat(editor === null || editor === void 0 ? void 0 : editor.cardTitle), children: item === null || item === void 0 ? void 0 : item.title }), _jsx(Body, { "aria-description": "short-Description", variant: mediaPosition === "middle" ? "body-lg-500" : "body-xl", className: "".concat(item.description || mediaPosition === "middle" ? "line-clamp-1 text-gray-600" : "line-clamp-2 h-14 text-gray-600", " ").concat(editor === null || editor === void 0 ? void 0 : editor.shortDescription), children: item === null || item === void 0 ? void 0 : item.short_description }), mediaPosition !== "middle" && (_jsx(Body, { variant: "body-lg", className: "text-gray-600 line-clamp-2 ".concat(editor === null || editor === void 0 ? void 0 : editor.cardText), dangerouslySetInnerHTML: {
|
|
44
44
|
__html: item.description || "",
|
|
45
45
|
} }))] })] }), _jsx(ActionButton, {})] }));
|
|
46
46
|
};
|
|
@@ -32,7 +32,7 @@ var Pagination = function (_a) {
|
|
|
32
32
|
Pagination.displayName = "Pagination";
|
|
33
33
|
var PaginationContent = React.forwardRef(function (_a, ref) {
|
|
34
34
|
var className = _a.className, props = __rest(_a, ["className"]);
|
|
35
|
-
return (_jsx("ul", __assign({ ref: ref, className: cn("flex flex-row items-center gap-1", className) }, props)));
|
|
35
|
+
return (_jsx("ul", __assign({ "data-slot": "reset-bs-ul", ref: ref, className: cn("flex flex-row items-center gap-1", className) }, props)));
|
|
36
36
|
});
|
|
37
37
|
PaginationContent.displayName = "PaginationContent";
|
|
38
38
|
var PaginationItem = React.forwardRef(function (_a, ref) {
|
|
@@ -42,7 +42,7 @@ var PaginationItem = React.forwardRef(function (_a, ref) {
|
|
|
42
42
|
PaginationItem.displayName = "PaginationItem";
|
|
43
43
|
var PaginationLink = function (_a) {
|
|
44
44
|
var className = _a.className, isActive = _a.isActive, _b = _a.size, size = _b === void 0 ? "md" : _b, _c = _a.color, color = _c === void 0 ? "gray" : _c, _d = _a.variant, variant = _d === void 0 ? "ghost" : _d, props = __rest(_a, ["className", "isActive", "size", "color", "variant"]);
|
|
45
|
-
return (_jsx("a", __assign({ "aria-current": isActive ? "page" : undefined, className: cn(buttonVariants({
|
|
45
|
+
return (_jsx("a", __assign({ "aria-current": isActive ? "page" : undefined, "data-slot": "reset-bs-link", className: cn(buttonVariants({
|
|
46
46
|
variant: isActive ? (variant === "link" ? variant : "fill") : variant,
|
|
47
47
|
size: size,
|
|
48
48
|
color: color,
|
|
@@ -51,7 +51,7 @@ var PaginationLink = function (_a) {
|
|
|
51
51
|
PaginationLink.displayName = "PaginationLink";
|
|
52
52
|
var PaginationPrevious = function (_a) {
|
|
53
53
|
var className = _a.className, props = __rest(_a, ["className"]);
|
|
54
|
-
return (_jsxs(PaginationLink, __assign({ "aria-label": "Go to previous page", size: "md", className: cn("gap-1 pl-2.5", className) }, props, { children: [_jsx(LUIcon, { icon: "arrow-left" }),
|
|
54
|
+
return (_jsxs(PaginationLink, __assign({ "aria-label": "Go to previous page", size: "md", className: cn("gap-1 pl-2.5", className) }, props, { children: [_jsx(LUIcon, { icon: "arrow-left" }), "Previous"] })));
|
|
55
55
|
};
|
|
56
56
|
PaginationPrevious.displayName = "PaginationPrevious";
|
|
57
57
|
var PaginationNext = function (_a) {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Meta } from "@storybook/react";
|
|
2
|
+
declare const SKELETON_VARIANTS: string[];
|
|
3
|
+
type SkeletonVariant = (typeof SKELETON_VARIANTS)[number];
|
|
2
4
|
interface SkeletonStoryArgs {
|
|
3
5
|
className?: string;
|
|
4
|
-
variant?:
|
|
6
|
+
variant?: SkeletonVariant;
|
|
5
7
|
size?: string;
|
|
6
8
|
columns?: number;
|
|
7
9
|
lines?: number;
|
|
@@ -18,6 +18,25 @@ import { comboboxSizes } from "../Dropdown/Combobox";
|
|
|
18
18
|
import { iconSize as LUIconSizes } from "../Icons";
|
|
19
19
|
import { checkboxSize } from "../Checkbox/checkbox";
|
|
20
20
|
import { size as SwitchSizes } from "../Switch/switch";
|
|
21
|
+
import { Body } from "../Typography/Body/body";
|
|
22
|
+
import { Heading } from "../Typography/Heading/heading";
|
|
23
|
+
// Dynamically define Skeleton variants
|
|
24
|
+
var SKELETON_VARIANTS = [
|
|
25
|
+
"default",
|
|
26
|
+
"button",
|
|
27
|
+
"input",
|
|
28
|
+
"avatar",
|
|
29
|
+
"badge",
|
|
30
|
+
"card",
|
|
31
|
+
"tableRow",
|
|
32
|
+
"checkbox",
|
|
33
|
+
"switch",
|
|
34
|
+
"select",
|
|
35
|
+
"icon",
|
|
36
|
+
"text",
|
|
37
|
+
"heading",
|
|
38
|
+
"image",
|
|
39
|
+
];
|
|
21
40
|
var meta = {
|
|
22
41
|
title: "Components/Skeleton",
|
|
23
42
|
component: Skeleton,
|
|
@@ -44,22 +63,7 @@ var meta = {
|
|
|
44
63
|
argTypes: {
|
|
45
64
|
variant: {
|
|
46
65
|
control: { type: "select" },
|
|
47
|
-
options:
|
|
48
|
-
"default",
|
|
49
|
-
"button",
|
|
50
|
-
"input",
|
|
51
|
-
"avatar",
|
|
52
|
-
"badge",
|
|
53
|
-
"card",
|
|
54
|
-
"tableRow",
|
|
55
|
-
"checkbox",
|
|
56
|
-
"switch",
|
|
57
|
-
"select",
|
|
58
|
-
"icon",
|
|
59
|
-
"text",
|
|
60
|
-
"heading",
|
|
61
|
-
"image",
|
|
62
|
-
],
|
|
66
|
+
options: SKELETON_VARIANTS,
|
|
63
67
|
description: "Select the skeleton component variant",
|
|
64
68
|
table: {
|
|
65
69
|
defaultValue: { summary: "default" },
|
|
@@ -127,17 +131,20 @@ var meta = {
|
|
|
127
131
|
decorators: [
|
|
128
132
|
function (Story, context) {
|
|
129
133
|
var currentVariant = context.args.variant;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
134
|
+
// Dynamically determine which variants support size
|
|
135
|
+
var variantsWithSize = SKELETON_VARIANTS.filter(function (v) {
|
|
136
|
+
return [
|
|
137
|
+
"button",
|
|
138
|
+
"avatar",
|
|
139
|
+
"badge",
|
|
140
|
+
"input",
|
|
141
|
+
"tableRow",
|
|
142
|
+
"select",
|
|
143
|
+
"icon",
|
|
144
|
+
"text",
|
|
145
|
+
"heading",
|
|
146
|
+
].includes(v);
|
|
147
|
+
});
|
|
141
148
|
if (context.argTypes && context.argTypes.size) {
|
|
142
149
|
// Hide size control for variants that don't support it
|
|
143
150
|
if (!variantsWithSize.includes(currentVariant !== null && currentVariant !== void 0 ? currentVariant : "")) {
|
|
@@ -277,7 +284,7 @@ var Template = function (args) {
|
|
|
277
284
|
};
|
|
278
285
|
export var Default = Template.bind({});
|
|
279
286
|
// Button Skeletons - All Sizes
|
|
280
|
-
export var ButtonSkeletons = function () { return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx(
|
|
287
|
+
export var ButtonSkeletons = function () { return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Button Skeleton Sizes" }), _jsx("div", { className: "flex flex-col gap-4", children: Object.keys(buttonStyles.size).map(function (size) { return (_jsxs("div", { children: [_jsx("p", { children: size.toUpperCase() }), _jsx(Skeleton.Button, { size: size })] }, size)); }) })] }), _jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Custom Width" }), _jsx(Skeleton.Button, { className: "w-64" })] })] })); };
|
|
281
288
|
ButtonSkeletons.parameters = {
|
|
282
289
|
docs: {
|
|
283
290
|
description: {
|
|
@@ -286,7 +293,7 @@ ButtonSkeletons.parameters = {
|
|
|
286
293
|
},
|
|
287
294
|
};
|
|
288
295
|
// Input Skeletons - All Sizes
|
|
289
|
-
export var InputSkeletons = function () { return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx(
|
|
296
|
+
export var InputSkeletons = function () { return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx(Body, { children: "Small Input" }), _jsx(Skeleton.Input, { size: "sm" })] }), _jsxs("div", { children: [_jsx(Body, { children: "Medium Input" }), _jsx(Skeleton.Input, { size: "md" })] }), _jsxs("div", { children: [_jsx(Body, { children: "Large Input (Default)" }), _jsx(Skeleton.Input, { size: "lg" })] }), _jsxs("div", { children: [_jsx(Body, { children: "Custom Width" }), _jsx(Skeleton.Input, { className: "w-1/2" })] })] })); };
|
|
290
297
|
InputSkeletons.parameters = {
|
|
291
298
|
docs: {
|
|
292
299
|
description: {
|
|
@@ -295,7 +302,10 @@ InputSkeletons.parameters = {
|
|
|
295
302
|
},
|
|
296
303
|
};
|
|
297
304
|
// Avatar Skeletons - All Sizes
|
|
298
|
-
export var AvatarSkeletons = function () {
|
|
305
|
+
export var AvatarSkeletons = function () {
|
|
306
|
+
var allAvatarSizes = Object.keys(avatarSize);
|
|
307
|
+
return (_jsx("div", { className: "space-y-4", children: _jsx("div", { className: "flex items-center gap-4 flex-wrap", children: allAvatarSizes.map(function (size) { return (_jsxs("div", { className: "flex flex-col items-center gap-2", children: [_jsx(Skeleton.Avatar, { size: size }), _jsx("span", { className: "text-xs text-gray-500", children: size })] }, size)); }) }) }));
|
|
308
|
+
};
|
|
299
309
|
AvatarSkeletons.parameters = {
|
|
300
310
|
docs: {
|
|
301
311
|
description: {
|
|
@@ -304,7 +314,7 @@ AvatarSkeletons.parameters = {
|
|
|
304
314
|
},
|
|
305
315
|
};
|
|
306
316
|
// Badge Skeletons - All Sizes
|
|
307
|
-
export var BadgeSkeletons = function () { return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx(
|
|
317
|
+
export var BadgeSkeletons = function () { return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx(Body, { children: "Small Badge" }), _jsx(Skeleton.Badge, { size: "sm" })] }), _jsxs("div", { children: [_jsx(Body, { children: "Medium Badge (Default)" }), _jsx(Skeleton.Badge, { size: "md" })] }), _jsxs("div", { children: [_jsx(Body, { children: "Large Badge" }), _jsx(Skeleton.Badge, { size: "lg" })] })] })); };
|
|
308
318
|
BadgeSkeletons.parameters = {
|
|
309
319
|
docs: {
|
|
310
320
|
description: {
|
|
@@ -313,7 +323,7 @@ BadgeSkeletons.parameters = {
|
|
|
313
323
|
},
|
|
314
324
|
};
|
|
315
325
|
// Card Skeleton
|
|
316
|
-
export var CardSkeleton = function () { return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx(
|
|
326
|
+
export var CardSkeleton = function () { return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx(Body, { children: "Default Card Skeleton" }), _jsx(Skeleton.Card, {})] }), _jsxs("div", { children: [_jsx(Body, { children: "Custom Height" }), _jsx(Skeleton.Card, { className: "h-64" })] })] })); };
|
|
317
327
|
CardSkeleton.parameters = {
|
|
318
328
|
docs: {
|
|
319
329
|
description: {
|
|
@@ -322,7 +332,7 @@ CardSkeleton.parameters = {
|
|
|
322
332
|
},
|
|
323
333
|
};
|
|
324
334
|
// Table Row Skeletons
|
|
325
|
-
export var TableRowSkeletons = function () { return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx(
|
|
335
|
+
export var TableRowSkeletons = function () { return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx(Body, { children: "3 Columns - Small" }), _jsx(Skeleton.TableRow, { columns: 3, size: "sm" })] }), _jsxs("div", { children: [_jsx(Body, { children: "4 Columns - Medium" }), _jsx(Skeleton.TableRow, { columns: 4, size: "md" })] }), _jsxs("div", { children: [_jsx(Body, { children: "5 Columns - Large" }), _jsx(Skeleton.TableRow, { columns: 5, size: "lg" })] }), _jsxs("div", { children: [_jsx(Body, { children: "Full Table Example" }), _jsxs("div", { className: "space-y-2", children: [_jsx(Skeleton.TableRow, { columns: 4, size: "md" }), _jsx(Skeleton.TableRow, { columns: 4, size: "md" }), _jsx(Skeleton.TableRow, { columns: 4, size: "md" })] })] })] })); };
|
|
326
336
|
TableRowSkeletons.parameters = {
|
|
327
337
|
docs: {
|
|
328
338
|
description: {
|
|
@@ -331,7 +341,7 @@ TableRowSkeletons.parameters = {
|
|
|
331
341
|
},
|
|
332
342
|
};
|
|
333
343
|
// Form Elements Skeletons
|
|
334
|
-
export var FormElementsSkeletons = function () { return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx(
|
|
344
|
+
export var FormElementsSkeletons = function () { return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Checkbox" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Skeleton.Checkbox, {}), _jsx(Skeleton, { className: "h-4 w-24" })] })] }), _jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Switch" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Skeleton.Switch, {}), _jsx(Skeleton, { className: "h-4 w-32" })] })] }), _jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Select/Dropdown" }), _jsxs("div", { className: "space-y-2", children: [_jsx(Skeleton.Select, { size: "sm" }), _jsx(Skeleton.Select, { size: "md" }), _jsx(Skeleton.Select, { size: "lg" })] })] })] })); };
|
|
335
345
|
FormElementsSkeletons.parameters = {
|
|
336
346
|
docs: {
|
|
337
347
|
description: {
|
|
@@ -349,7 +359,7 @@ IconSkeletons.parameters = {
|
|
|
349
359
|
},
|
|
350
360
|
};
|
|
351
361
|
// Text Skeletons
|
|
352
|
-
export var TextSkeletons = function () { return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx(
|
|
362
|
+
export var TextSkeletons = function () { return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Text Sizes" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx(Body, { children: "Extra Small (xs)" }), _jsx(Skeleton.Text, { lines: 1, size: "xs" })] }), _jsxs("div", { children: [_jsx(Body, { children: "Small (sm)" }), _jsx(Skeleton.Text, { lines: 1, size: "sm" })] }), _jsxs("div", { children: [_jsx(Body, { children: "Medium (md) - Default" }), _jsx(Skeleton.Text, { lines: 1, size: "md" })] }), _jsxs("div", { children: [_jsx(Body, { children: "Large (lg)" }), _jsx(Skeleton.Text, { lines: 1, size: "lg" })] }), _jsxs("div", { children: [_jsx(Body, { children: "Extra Large (xl)" }), _jsx(Skeleton.Text, { lines: 1, size: "xl" })] })] })] }), _jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Multi-line Text" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx(Body, { children: "Two Lines" }), _jsx(Skeleton.Text, { lines: 2 })] }), _jsxs("div", { children: [_jsx(Body, { children: "Three Lines" }), _jsx(Skeleton.Text, { lines: 3 })] }), _jsxs("div", { children: [_jsx(Body, { children: "Five Lines" }), _jsx(Skeleton.Text, { lines: 5 })] })] })] })] })); };
|
|
353
363
|
TextSkeletons.parameters = {
|
|
354
364
|
docs: {
|
|
355
365
|
description: {
|
|
@@ -358,7 +368,7 @@ TextSkeletons.parameters = {
|
|
|
358
368
|
},
|
|
359
369
|
};
|
|
360
370
|
// Heading Skeletons
|
|
361
|
-
export var HeadingSkeletons = function () { return (_jsx("div", { className: "space-y-6", children: _jsxs("div", { children: [_jsx(
|
|
371
|
+
export var HeadingSkeletons = function () { return (_jsx("div", { className: "space-y-6", children: _jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Heading Sizes" }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx(Body, { children: "H1 - Largest" }), _jsx(Skeleton.Heading, { size: "h1" })] }), _jsxs("div", { children: [_jsx(Body, { children: "H2 - Default" }), _jsx(Skeleton.Heading, { size: "h2" })] }), _jsxs("div", { children: [_jsx(Body, { children: "H3" }), _jsx(Skeleton.Heading, { size: "h3" })] }), _jsxs("div", { children: [_jsx(Body, { children: "H4" }), _jsx(Skeleton.Heading, { size: "h4" })] }), _jsxs("div", { children: [_jsx(Body, { children: "H5" }), _jsx(Skeleton.Heading, { size: "h5" })] }), _jsxs("div", { children: [_jsx(Body, { children: "H6 - Smallest" }), _jsx(Skeleton.Heading, { size: "h6" })] })] })] }) })); };
|
|
362
372
|
HeadingSkeletons.parameters = {
|
|
363
373
|
docs: {
|
|
364
374
|
description: {
|
|
@@ -367,7 +377,7 @@ HeadingSkeletons.parameters = {
|
|
|
367
377
|
},
|
|
368
378
|
};
|
|
369
379
|
// Image Skeletons
|
|
370
|
-
export var ImageSkeletons = function () { return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx(
|
|
380
|
+
export var ImageSkeletons = function () { return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsx(Body, { children: "Square Aspect Ratio" }), _jsx("div", { className: "w-64", children: _jsx(Skeleton.Image, { aspectRatio: "square" }) })] }), _jsxs("div", { children: [_jsx(Body, { children: "Video Aspect Ratio (16:9)" }), _jsx("div", { className: "w-64", children: _jsx(Skeleton.Image, { aspectRatio: "video" }) })] }), _jsxs("div", { children: [_jsx(Body, { children: "Portrait Aspect Ratio (3:4)" }), _jsx("div", { className: "w-48", children: _jsx(Skeleton.Image, { aspectRatio: "portrait" }) })] }), _jsxs("div", { children: [_jsx(Body, { children: "Icon Scale Variations" }), _jsxs("div", { className: "flex gap-6 flex-wrap", children: [_jsxs("div", { className: "w-40", children: [_jsx(Body, { children: "Scale: sm" }), _jsx(Skeleton.Image, { aspectRatio: "square" })] }), _jsxs("div", { className: "w-40", children: [_jsx(Body, { children: "Scale: md" }), _jsx(Skeleton.Image, { aspectRatio: "square" })] }), _jsxs("div", { className: "w-40", children: [_jsx(Body, { children: "Scale: lg" }), _jsx(Skeleton.Image, { aspectRatio: "square" })] }), _jsxs("div", { className: "w-40", children: [_jsx(Body, { children: "Scale: auto (responsive)" }), _jsx(Skeleton.Image, { aspectRatio: "square" })] })] })] })] })); };
|
|
371
381
|
ImageSkeletons.parameters = {
|
|
372
382
|
docs: {
|
|
373
383
|
description: {
|
|
@@ -394,7 +404,7 @@ CompleteFormExample.parameters = {
|
|
|
394
404
|
},
|
|
395
405
|
};
|
|
396
406
|
// All Variants Together
|
|
397
|
-
export var AllVariants = function () { return (_jsxs("div", { className: "space-y-8", children: [_jsxs("div", { children: [_jsx(
|
|
407
|
+
export var AllVariants = function () { return (_jsxs("div", { className: "space-y-8", children: [_jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Buttons" }), _jsxs("div", { className: "flex gap-4", children: [_jsx(Skeleton.Button, { size: "sm" }), _jsx(Skeleton.Button, { size: "md" }), _jsx(Skeleton.Button, { size: "lg" })] })] }), _jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Inputs & Selects" }), _jsxs("div", { className: "space-y-2 max-w-md", children: [_jsx(Skeleton.Input, { size: "sm" }), _jsx(Skeleton.Input, { size: "md" }), _jsx(Skeleton.Select, { size: "lg" })] })] }), _jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Avatars" }), _jsxs("div", { className: "flex gap-4 items-center", children: [_jsx(Skeleton.Avatar, { size: "sm" }), _jsx(Skeleton.Avatar, { size: "md" }), _jsx(Skeleton.Avatar, { size: "lg" }), _jsx(Skeleton.Avatar, { size: "xl" })] })] }), _jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Badges" }), _jsxs("div", { className: "flex gap-4 items-center", children: [_jsx(Skeleton.Badge, { size: "sm" }), _jsx(Skeleton.Badge, { size: "md" }), _jsx(Skeleton.Badge, { size: "lg" })] })] }), _jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Form Controls" }), _jsxs("div", { className: "flex gap-4 items-center", children: [_jsx(Skeleton.Checkbox, {}), _jsx(Skeleton.Switch, {}), _jsx(Skeleton.Icon, { size: "md" })] })] }), _jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Text" }), _jsx("div", { className: "max-w-md", children: _jsx(Skeleton.Text, { lines: 3 }) })] }), _jsxs("div", { children: [_jsx(Heading, { variant: "h4", children: "Images" }), _jsxs("div", { className: "flex gap-4", children: [_jsx("div", { className: "w-32", children: _jsx(Skeleton.Image, { aspectRatio: "square" }) }), _jsx("div", { className: "w-48", children: _jsx(Skeleton.Image, { aspectRatio: "video" }) })] })] })] })); };
|
|
398
408
|
AllVariants.parameters = {
|
|
399
409
|
docs: {
|
|
400
410
|
description: {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
3
|
+
export declare const tabSizes: {
|
|
4
|
+
lg: string;
|
|
5
|
+
md: string;
|
|
6
|
+
sm: string;
|
|
7
|
+
};
|
|
8
|
+
type TabsProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {
|
|
9
|
+
size?: keyof typeof tabSizes;
|
|
10
|
+
};
|
|
11
|
+
declare const Tabs: React.FC<TabsProps>;
|
|
12
|
+
declare const TabsHeading: React.FC<{
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
}>;
|
|
15
|
+
declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
17
|
+
declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
18
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent, TabsHeading };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
24
|
+
import * as React from "react";
|
|
25
|
+
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
26
|
+
import { cn } from "../../lib/utils";
|
|
27
|
+
import { Heading } from "../Typography/Heading/heading";
|
|
28
|
+
export var tabSizes = {
|
|
29
|
+
lg: "!px-5 !py-3 !text-base font-normal",
|
|
30
|
+
md: "!px-5 !py-2.5 !text-sm font-normal",
|
|
31
|
+
sm: "!px-3 !py-2 !text-sm font-normal",
|
|
32
|
+
};
|
|
33
|
+
var TabsContext = React.createContext({
|
|
34
|
+
size: "md",
|
|
35
|
+
});
|
|
36
|
+
var Tabs = function (_a) {
|
|
37
|
+
var _b = _a.size, size = _b === void 0 ? "md" : _b, children = _a.children, props = __rest(_a, ["size", "children"]);
|
|
38
|
+
return (_jsx(TabsContext.Provider, { value: { size: size }, children: _jsx(TabsPrimitive.Root, __assign({}, props, { children: children })) }));
|
|
39
|
+
};
|
|
40
|
+
var TabsHeading = function (_a) {
|
|
41
|
+
var children = _a.children;
|
|
42
|
+
return (_jsx(Heading, { variant: "h6-500", className: "bg-gray-900 !px-5 !py-3 rounded-t-md !text-gray-50 shadow-lg", children: children }));
|
|
43
|
+
};
|
|
44
|
+
var TabsList = React.forwardRef(function (_a, ref) {
|
|
45
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
46
|
+
return (_jsx(TabsPrimitive.List, __assign({ ref: ref, className: cn("flex flex-col h-full items-start justify-start bg-gray-50 text-gray-950 !p-1 shadow-lg", className) }, props)));
|
|
47
|
+
});
|
|
48
|
+
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
49
|
+
var TabsTrigger = React.forwardRef(function (_a, ref) {
|
|
50
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
51
|
+
var size = React.useContext(TabsContext).size;
|
|
52
|
+
return (_jsx(TabsPrimitive.Trigger, __assign({ ref: ref, className: cn("inline-flex items-center justify-start whitespace-nowrap !rounded-md font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 w-full text-left !text-gray-950 hover:bg-gray-50 data-[state=active]:!text-gray-50 data-[state=active]:bg-gray-950", tabSizes[size], className) }, props)));
|
|
53
|
+
});
|
|
54
|
+
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
55
|
+
var TabsContent = React.forwardRef(function (_a, ref) {
|
|
56
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
57
|
+
return (_jsx(TabsPrimitive.Content, __assign({ ref: ref, className: cn("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", className) }, props)));
|
|
58
|
+
});
|
|
59
|
+
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
60
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent, TabsHeading };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Meta } from "@storybook/react";
|
|
2
|
+
declare const _default: Meta;
|
|
3
|
+
export default _default;
|
|
4
|
+
export declare const _VerticalTabs: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, any>;
|
|
5
|
+
export declare const VerticalTabsSmall: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, any>;
|
|
6
|
+
export declare const VerticalTabsMedium: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, any>;
|
|
7
|
+
export declare const VerticalTabsLarge: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, any>;
|
|
8
|
+
export declare const VerticalTabsWithoutHeading: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, any>;
|
|
9
|
+
export declare const VerticalTabsWithIcon: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, any>;
|
|
10
|
+
export declare const VerticalTabsWithBadge: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, any>;
|
|
11
|
+
export declare const VerticalTabsWithIconAndBadge: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, any>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Tabs, TabsContent, TabsList, tabSizes, TabsTrigger, TabsHeading, } from "./VerticalTabs";
|
|
3
|
+
import LUIcon from "../Icons/LUIcon";
|
|
4
|
+
import { Badge } from "../Badge/Badge";
|
|
5
|
+
export default {
|
|
6
|
+
title: "Components/VerticalTabs",
|
|
7
|
+
component: Tabs,
|
|
8
|
+
tags: ["autodocs"],
|
|
9
|
+
argTypes: {
|
|
10
|
+
children: {
|
|
11
|
+
description: "Pass `TabList` components as children. Each item includes an `TabsTrigger` (the clickable label) and `TabsContent`. You can customize both with any valid React nodes \n\nFor more details and usage examples, refer to the [ShadCN Tabs documentation](https://ui.shadcn.com/docs/components/tabs).",
|
|
12
|
+
table: {
|
|
13
|
+
type: { summary: "React.ReactNode" },
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
heading: {
|
|
17
|
+
description: "Optional heading displayed at the top of the Tabs.",
|
|
18
|
+
table: {
|
|
19
|
+
type: { summary: "string" },
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
size: {
|
|
23
|
+
control: { type: "select" },
|
|
24
|
+
options: Object.keys(tabSizes),
|
|
25
|
+
description: "Size of the Tabs component",
|
|
26
|
+
table: {
|
|
27
|
+
type: { summary: Object.keys(tabSizes).join(" | ") },
|
|
28
|
+
defaultValue: { summary: "md" },
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
var Template = function (args) { return (_jsxs(Tabs, { defaultValue: "account", size: args.size, children: [args.heading && _jsx(TabsHeading, { children: args.heading }), _jsx(TabsList, { children: args.triggers }), _jsx(TabsContent, { value: "account", children: "Account Settings" }), _jsx(TabsContent, { value: "password", children: "Change Password" })] })); };
|
|
34
|
+
export var _VerticalTabs = Template.bind({});
|
|
35
|
+
_VerticalTabs.args = {
|
|
36
|
+
heading: "Tab Title",
|
|
37
|
+
triggers: [
|
|
38
|
+
_jsx(TabsTrigger, { value: "account", children: "Account" }, "account"),
|
|
39
|
+
_jsx(TabsTrigger, { value: "password", children: "Password" }, "password"),
|
|
40
|
+
],
|
|
41
|
+
size: "md",
|
|
42
|
+
};
|
|
43
|
+
export var VerticalTabsSmall = Template.bind({});
|
|
44
|
+
VerticalTabsSmall.args = {
|
|
45
|
+
heading: "Sm Tabs",
|
|
46
|
+
triggers: [
|
|
47
|
+
_jsx(TabsTrigger, { value: "account", children: "Account" }, "account"),
|
|
48
|
+
_jsx(TabsTrigger, { value: "password", children: "Password" }, "password"),
|
|
49
|
+
],
|
|
50
|
+
size: "sm",
|
|
51
|
+
};
|
|
52
|
+
export var VerticalTabsMedium = Template.bind({});
|
|
53
|
+
VerticalTabsMedium.args = {
|
|
54
|
+
heading: "Md Tabs",
|
|
55
|
+
triggers: [
|
|
56
|
+
_jsx(TabsTrigger, { value: "account", children: "Account" }, "account"),
|
|
57
|
+
_jsx(TabsTrigger, { value: "password", children: "Password" }, "password"),
|
|
58
|
+
],
|
|
59
|
+
size: "md",
|
|
60
|
+
};
|
|
61
|
+
export var VerticalTabsLarge = Template.bind({});
|
|
62
|
+
VerticalTabsLarge.args = {
|
|
63
|
+
heading: "Lg Tabs",
|
|
64
|
+
triggers: [
|
|
65
|
+
_jsx(TabsTrigger, { value: "account", children: "Account" }, "account"),
|
|
66
|
+
_jsx(TabsTrigger, { value: "password", children: "Password" }, "password"),
|
|
67
|
+
],
|
|
68
|
+
size: "lg",
|
|
69
|
+
};
|
|
70
|
+
export var VerticalTabsWithoutHeading = Template.bind({});
|
|
71
|
+
VerticalTabsWithoutHeading.args = {
|
|
72
|
+
triggers: [
|
|
73
|
+
_jsxs(TabsTrigger, { value: "account", children: [_jsx(LUIcon, { icon: "user", size: "md", className: "mr-1" }), "Account"] }, "account"),
|
|
74
|
+
_jsxs(TabsTrigger, { value: "password", children: [_jsx(LUIcon, { icon: "lock", size: "md", className: "mr-1" }), "Password"] }, "password"),
|
|
75
|
+
],
|
|
76
|
+
};
|
|
77
|
+
export var VerticalTabsWithIcon = Template.bind({});
|
|
78
|
+
VerticalTabsWithIcon.args = {
|
|
79
|
+
heading: "Tab Title",
|
|
80
|
+
triggers: [
|
|
81
|
+
_jsxs(TabsTrigger, { value: "account", children: [_jsx(LUIcon, { icon: "user", size: "md", className: "mr-1" }), "Account"] }, "account"),
|
|
82
|
+
_jsxs(TabsTrigger, { value: "password", children: [_jsx(LUIcon, { icon: "lock", size: "md", className: "mr-1" }), "Password"] }, "password"),
|
|
83
|
+
],
|
|
84
|
+
};
|
|
85
|
+
export var VerticalTabsWithBadge = Template.bind({});
|
|
86
|
+
VerticalTabsWithBadge.args = {
|
|
87
|
+
heading: "Tab Title",
|
|
88
|
+
triggers: [
|
|
89
|
+
_jsxs(TabsTrigger, { value: "account", children: ["Account", _jsx(Badge, { size: "sm", color: "gray", className: "ms-auto", children: "03" })] }, "account"),
|
|
90
|
+
_jsxs(TabsTrigger, { value: "password", children: ["Password", _jsx(Badge, { size: "sm", color: "gray", className: "ms-auto", children: "01" })] }, "password"),
|
|
91
|
+
],
|
|
92
|
+
};
|
|
93
|
+
export var VerticalTabsWithIconAndBadge = Template.bind({});
|
|
94
|
+
VerticalTabsWithIconAndBadge.args = {
|
|
95
|
+
heading: "Tab Title",
|
|
96
|
+
triggers: [
|
|
97
|
+
_jsxs(TabsTrigger, { value: "account", children: [_jsx(LUIcon, { icon: "user", size: "md", className: "mr-1" }), "Account", _jsx(Badge, { size: "sm", color: "gray", className: "ms-auto", children: "03" })] }, "account"),
|
|
98
|
+
_jsxs(TabsTrigger, { value: "password", children: [_jsx(LUIcon, { icon: "lock", size: "md", className: "mr-1" }), "Password", _jsx(Badge, { size: "sm", color: "gray", className: "ms-auto", children: "01" })] }, "password"),
|
|
99
|
+
],
|
|
100
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|