linkedunion-design-kit 1.11.6 → 1.11.8
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/app/layout.d.ts +1 -1
- package/dist/app/{layout.js → layout.jsx} +3 -2
- package/dist/app/page.d.ts +1 -1
- package/dist/app/page.jsx +5 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/src/components/Accordion/Accordion.stories.jsx +33 -0
- package/dist/src/components/Accordion/accordion.d.ts +4 -4
- package/dist/src/components/Accordion/{accordion.js → accordion.jsx} +11 -16
- package/dist/src/components/Alerts/Alert/alert.d.ts +7 -7
- package/dist/src/components/Alerts/Alert/{alert.js → alert.jsx} +21 -25
- package/dist/src/components/Alerts/Alert/alert.stories.d.ts +8 -8
- package/dist/src/components/Alerts/Alert/alert.stories.jsx +344 -0
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.d.ts +11 -11
- package/dist/src/components/Alerts/AlertDialog/{alert-dialog.js → alert-dialog.jsx} +26 -24
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.d.ts +10 -10
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.jsx +552 -0
- package/dist/src/components/AppIcons/AndroidIcon.jsx +24 -0
- package/dist/src/components/AppIcons/{AppIcon.js → AppIcon.jsx} +4 -15
- package/dist/src/components/AppIcons/AppleIcon.jsx +31 -0
- package/dist/src/components/AppIcons/PlayStoreIcon.jsx +29 -0
- package/dist/src/components/Avatar/Avatar/{Avatar.js → Avatar.jsx} +13 -18
- package/dist/src/components/Avatar/Avatar/Avatar.stories.d.ts +7 -7
- package/dist/src/components/Avatar/Avatar/Avatar.stories.jsx +95 -0
- package/dist/src/components/Avatar/Avatar/{Avatar.test.js → Avatar.test.jsx} +1 -2
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.d.ts +1 -1
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.jsx +17 -0
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.jsx +32 -0
- package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.jsx +20 -0
- package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.stories.d.ts +2 -2
- package/dist/src/components/Avatar/StatusIndicator/{StatusIndicator.stories.js → StatusIndicator.stories.jsx} +12 -3
- package/dist/src/components/Badge/Badge.d.ts +1 -1
- package/dist/src/components/Badge/{Badge.js → Badge.jsx} +8 -13
- package/dist/src/components/Badge/Badge.stories.d.ts +10 -10
- package/dist/src/components/Badge/Badge.stories.jsx +201 -0
- package/dist/src/components/Button/Button/Button.d.ts +3 -2
- package/dist/src/components/Button/Button/{Button.js → Button.jsx} +24 -8
- package/dist/src/components/Button/Button/Button.stories.d.ts +5 -3
- package/dist/src/components/Button/Button/{Button.stories.js → Button.stories.jsx} +1 -13
- package/dist/src/components/Button/Button/Button.test.jsx +73 -0
- package/dist/src/components/Button/IconButton/IconButton.d.ts +1 -1
- package/dist/src/components/Button/IconButton/{IconButton.js → IconButton.jsx} +4 -13
- package/dist/src/components/Button/IconButton/IconButton.stories.d.ts +1 -1
- package/dist/src/components/Button/IconButton/{IconButton.stories.js → IconButton.stories.jsx} +1 -13
- package/dist/src/components/Button/IconButton/{IconButton.test.js → IconButton.test.jsx} +5 -6
- package/dist/src/components/Button/index.d.ts +1 -0
- package/dist/src/components/Button/index.js +3 -2
- package/dist/src/components/Card/MultipleNews/MultiNews.d.ts +1 -1
- package/dist/src/components/Card/MultipleNews/MultiNews.jsx +71 -0
- package/dist/src/components/Card/MultipleNews/{MultiNews.stories.js → MultiNews.stories.jsx} +1 -2
- package/dist/src/components/Card/PostByCategory/PostByCategory.d.ts +1 -1
- package/dist/src/components/Card/PostByCategory/PostByCategory.jsx +57 -0
- package/dist/src/components/Card/PostByCategory/{PostByCategory.stories.js → PostByCategory.stories.jsx} +1 -2
- package/dist/src/components/Card/SinglePost/SinglePost.d.ts +1 -1
- package/dist/src/components/Card/SinglePost/SinglePost.jsx +26 -0
- package/dist/src/components/Card/card.d.ts +2 -1
- package/dist/src/components/Card/{card.js → card.jsx} +2 -13
- package/dist/src/components/Card/contactProfile/ContactProfile.d.ts +1 -1
- package/dist/src/components/Card/contactProfile/ContactProfile.jsx +76 -0
- package/dist/src/components/Card/contactProfile/{ContactProfile.stories.js → ContactProfile.stories.jsx} +1 -2
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.d.ts +1 -1
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.jsx +41 -0
- package/dist/src/components/Card/photoAlbum/{PhotoAlbum.stories.js → PhotoAlbum.stories.jsx} +1 -13
- package/dist/src/components/Card/photoGallery/PhotoGallery.d.ts +1 -1
- package/dist/src/components/Card/photoGallery/PhotoGallery.jsx +17 -0
- package/dist/src/components/Card/photoGallery/{PhotoGallery.stories.js → PhotoGallery.stories.jsx} +1 -13
- package/dist/src/components/Checkbox/checkbox.d.ts +1 -1
- package/dist/src/components/Checkbox/{checkbox.js → checkbox.jsx} +6 -13
- package/dist/src/components/Checkbox/checkbox.stories.jsx +113 -0
- package/dist/src/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/dist/src/components/ColorPicker/{ColorPicker.js → ColorPicker.jsx} +6 -13
- package/dist/src/components/ColorPicker/ColorPicker.stories.d.ts +5 -5
- package/dist/src/components/ColorPicker/ColorPicker.stories.jsx +138 -0
- package/dist/src/components/Colors/color.d.ts +1 -1
- package/dist/src/components/Colors/{color.js → color.jsx} +1 -2
- package/dist/src/components/Colors/color.stories.jsx +20 -0
- package/dist/src/components/Colors/{color.test.js → color.test.jsx} +3 -4
- package/dist/src/components/DatePicker/DatePicker.d.ts +1 -1
- package/dist/src/components/DatePicker/DatePicker.jsx +67 -0
- package/dist/src/components/DatePicker/DatePicker.stories.d.ts +9 -9
- package/dist/src/components/DatePicker/DatePicker.stories.jsx +291 -0
- package/dist/src/components/DateRangePicker/DateRangePicker.d.ts +1 -1
- package/dist/src/components/DateRangePicker/{DateRangePicker.js → DateRangePicker.jsx} +92 -44
- package/dist/src/components/DateRangePicker/DateRangePicker.stories.d.ts +19 -19
- package/dist/src/components/DateRangePicker/DateRangePicker.stories.jsx +582 -0
- package/dist/src/components/Dropdown/Combobox/Combobox.d.ts +1 -1
- package/dist/src/components/Dropdown/Combobox/{Combobox.js → Combobox.jsx} +67 -29
- package/dist/src/components/Dropdown/Combobox/Combobox.stories.d.ts +8 -8
- package/dist/src/components/Dropdown/Combobox/Combobox.stories.jsx +289 -0
- package/dist/src/components/Dropdown/Combobox/dialog.d.ts +10 -10
- package/dist/src/components/Dropdown/Combobox/dialog.jsx +66 -0
- package/dist/src/components/Dropdown/Combobox/utils/renderBadge.jsx +7 -0
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.d.ts +7 -3
- package/dist/src/components/Dropdown/DropdownMenu/{DropdownMenu.js → DropdownMenu.jsx} +29 -22
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.d.ts +19 -12
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.jsx +552 -0
- package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.jsx +19 -0
- package/dist/src/components/Dropdown/DropdownMenu/index.d.ts +5 -0
- package/dist/src/components/Dropdown/DropdownMenu/index.js +5 -0
- package/dist/src/components/Dropdown/Select.stories.d.ts +7 -6
- package/dist/src/components/Dropdown/{Select.stories.js → Select.stories.jsx} +71 -8
- package/dist/src/components/Dropdown/select.d.ts +10 -10
- package/dist/src/components/Dropdown/select.jsx +94 -0
- package/dist/src/components/Icons/LUIcon.d.ts +1 -1
- package/dist/src/components/Icons/{LUIcon.js → LUIcon.jsx} +10 -13
- package/dist/src/components/Icons/stories/IconDropdown.jsx +67 -0
- package/dist/src/components/Icons/stories/IconGallery.jsx +77 -0
- package/dist/src/components/Icons/stories/InteractiveIconSelector.jsx +86 -0
- package/dist/src/components/Icons/stories/LUIcon.stories.d.ts +5 -5
- package/dist/src/components/Icons/stories/{LUIcon.stories.js → LUIcon.stories.jsx} +23 -8
- package/dist/src/components/ImageUploader/imageUploader.d.ts +1 -1
- package/dist/src/components/ImageUploader/{imageUploader.js → imageUploader.jsx} +28 -13
- package/dist/src/components/Images/LuImage.d.ts +1 -1
- package/dist/src/components/Images/{LuImage.js → LuImage.jsx} +1 -13
- package/dist/src/components/Images/{LuImage.stories.js → LuImage.stories.jsx} +1 -13
- package/dist/src/components/Images/{LuImage.test.js → LuImage.test.jsx} +6 -18
- package/dist/src/components/Input/Input.stories.d.ts +9 -8
- package/dist/src/components/Input/Input.stories.jsx +250 -0
- package/dist/src/components/Input/input.d.ts +1 -1
- package/dist/src/components/Input/{input.js → input.jsx} +10 -13
- package/dist/src/components/Label/Label.d.ts +1 -1
- package/dist/src/components/Label/{Label.js → Label.jsx} +2 -13
- package/dist/src/components/Label/{Label.stories.js → Label.stories.jsx} +1 -13
- package/dist/src/components/Modal/Modal.d.ts +3 -3
- package/dist/src/components/Modal/{Modal.js → Modal.jsx} +20 -19
- package/dist/src/components/Modal/Modal.stories.d.ts +15 -15
- package/dist/src/components/Modal/Modal.stories.jsx +487 -0
- package/dist/src/components/Pagination/pagination.d.ts +5 -5
- package/dist/src/components/Pagination/{pagination.js → pagination.jsx} +18 -21
- package/dist/src/components/Pagination/pagination.stories.d.ts +6 -6
- package/dist/src/components/Pagination/pagination.stories.jsx +301 -0
- package/dist/src/components/RadioGroup/{RadioGroup.stories.js → RadioGroup.stories.jsx} +52 -22
- package/dist/src/components/RadioGroup/radio-group.d.ts +1 -1
- package/dist/src/components/RadioGroup/{radio-group.js → radio-group.jsx} +6 -14
- package/dist/src/components/Separator/Separator.stories.d.ts +15 -0
- package/dist/src/components/Separator/Separator.stories.jsx +94 -0
- package/dist/src/components/Separator/index.d.ts +1 -0
- package/dist/src/components/Separator/index.js +1 -0
- package/dist/src/components/Separator/separator.d.ts +4 -0
- package/dist/src/components/Separator/separator.jsx +20 -0
- package/dist/src/components/Sheet/index.d.ts +1 -0
- package/dist/src/components/Sheet/index.js +1 -0
- package/dist/src/components/Sheet/sheet.d.ts +25 -0
- package/dist/src/components/Sheet/sheet.jsx +73 -0
- package/dist/src/components/Sheet/sheet.stories.d.ts +4 -0
- package/dist/src/components/Sheet/sheet.stories.jsx +34 -0
- package/dist/src/components/Skeleton/skeleton.d.ts +14 -14
- package/dist/src/components/Skeleton/{skeleton.js → skeleton.jsx} +23 -27
- package/dist/src/components/Skeleton/skeleton.stories.d.ts +14 -14
- package/dist/src/components/Skeleton/skeleton.stories.jsx +734 -0
- package/dist/src/components/Slider/slider.d.ts +1 -1
- package/dist/src/components/Slider/slider.jsx +31 -0
- package/dist/src/components/SweetAlert/SweetAlert.d.ts +9 -9
- package/dist/src/components/SweetAlert/{SweetAlert.js → SweetAlert.jsx} +18 -21
- package/dist/src/components/SweetAlert/SweetAlert.stories.d.ts +7 -7
- package/dist/src/components/SweetAlert/{SweetAlert.stories.js → SweetAlert.stories.jsx} +215 -15
- package/dist/src/components/Switch/{Switch.stories.js → Switch.stories.jsx} +1 -13
- package/dist/src/components/Switch/switch.d.ts +1 -1
- package/dist/src/components/Switch/{switch.js → switch.jsx} +4 -13
- package/dist/src/components/Table/{Table.js → Table.jsx} +111 -58
- package/dist/src/components/Table/Table.stories.d.ts +13 -13
- package/dist/src/components/Table/{Table.stories.js → Table.stories.jsx} +299 -45
- package/dist/src/components/Table/{Table.test.js → Table.test.jsx} +39 -7
- package/dist/src/components/Tabs/{Tabs.stories.js → Tabs.stories.jsx} +10 -3
- package/dist/src/components/Tabs/tabs.d.ts +4 -4
- package/dist/src/components/Tabs/tabs.jsx +32 -0
- package/dist/src/components/TimePicker/TimePicker.d.ts +1 -1
- package/dist/src/components/TimePicker/{TimePicker.js → TimePicker.jsx} +54 -30
- package/dist/src/components/TimePicker/TimePicker.stories.d.ts +10 -10
- package/dist/src/components/TimePicker/TimePicker.stories.jsx +298 -0
- package/dist/src/components/Title/Title.d.ts +1 -1
- package/dist/src/components/Title/{Title.js → Title.jsx} +2 -2
- package/dist/src/components/Title/{Title.stories.js → Title.stories.jsx} +1 -13
- package/dist/src/components/Title/{Title.test.js → Title.test.jsx} +4 -5
- package/dist/src/components/ToolTip/Tooltip.d.ts +1 -1
- package/dist/src/components/ToolTip/Tooltip.jsx +18 -0
- package/dist/src/components/ToolTip/{Tooltip.stories.js → Tooltip.stories.jsx} +2 -14
- package/dist/src/components/Typography/Body/{Body.stories.js → Body.stories.jsx} +1 -13
- package/dist/src/components/Typography/Body/body.d.ts +1 -1
- package/dist/src/components/Typography/Body/{body.js → body.jsx} +4 -13
- package/dist/src/components/Typography/Caption/{Caption.stories.js → Caption.stories.jsx} +1 -13
- package/dist/src/components/Typography/Caption/caption.d.ts +1 -1
- package/dist/src/components/Typography/Caption/{caption.js → caption.jsx} +4 -13
- package/dist/src/components/Typography/Display/{Display.stories.js → Display.stories.jsx} +1 -13
- package/dist/src/components/Typography/Display/display.d.ts +1 -1
- package/dist/src/components/Typography/Display/{display.js → display.jsx} +4 -13
- package/dist/src/components/Typography/Heading/Heading.stories.d.ts +6 -6
- package/dist/src/components/Typography/Heading/Heading.stories.jsx +85 -0
- package/dist/src/components/Typography/Heading/{heading.js → heading.jsx} +5 -14
- package/dist/src/components/VerticalTabs/{VerticalTabs.js → VerticalTabs.jsx} +9 -17
- package/dist/src/components/VerticalTabs/VerticalTabs.stories.jsx +154 -0
- package/dist/src/components/VerticalTabs/VerticalTabs.test.jsx +97 -0
- package/dist/src/components/ui/calendar.d.ts +2 -2
- package/dist/src/components/ui/{calendar.js → calendar.jsx} +36 -22
- package/dist/src/components/ui/command.d.ts +9 -9
- package/dist/src/components/ui/command.jsx +67 -0
- package/dist/src/components/ui/popover.d.ts +4 -4
- package/dist/src/components/ui/popover.jsx +33 -0
- package/dist/src/components/ui/tooltip.d.ts +4 -4
- package/dist/src/components/ui/tooltip.jsx +38 -0
- package/dist/src/components/ui/typography.d.ts +1 -1
- package/dist/src/components/ui/{typography.js → typography.jsx} +4 -13
- package/dist/styles/global.css +107 -5
- package/package.json +4 -3
- package/dist/app/page.js +0 -4
- package/dist/src/components/Accordion/Accordion.stories.js +0 -32
- package/dist/src/components/Alerts/Alert/alert.stories.js +0 -166
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.js +0 -213
- package/dist/src/components/AppIcons/AndroidIcon.js +0 -28
- package/dist/src/components/AppIcons/AppleIcon.js +0 -28
- package/dist/src/components/AppIcons/PlayStoreIcon.js +0 -28
- package/dist/src/components/Avatar/Avatar/Avatar.stories.js +0 -69
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.js +0 -8
- package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.js +0 -14
- package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.js +0 -18
- package/dist/src/components/Badge/Badge.stories.js +0 -145
- package/dist/src/components/Button/Button/Button.test.js +0 -10
- package/dist/src/components/Card/MultipleNews/MultiNews.js +0 -46
- package/dist/src/components/Card/PostByCategory/PostByCategory.js +0 -37
- package/dist/src/components/Card/SinglePost/SinglePost.js +0 -10
- package/dist/src/components/Card/contactProfile/ContactProfile.js +0 -39
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.js +0 -16
- package/dist/src/components/Card/photoGallery/PhotoGallery.js +0 -8
- package/dist/src/components/Checkbox/checkbox.stories.js +0 -78
- package/dist/src/components/ColorPicker/ColorPicker.stories.js +0 -77
- package/dist/src/components/Colors/color.stories.js +0 -32
- package/dist/src/components/DatePicker/DatePicker.js +0 -64
- package/dist/src/components/DatePicker/DatePicker.stories.js +0 -171
- package/dist/src/components/DateRangePicker/DateRangePicker.stories.js +0 -318
- package/dist/src/components/Dropdown/Combobox/Combobox.stories.js +0 -225
- package/dist/src/components/Dropdown/Combobox/dialog.js +0 -68
- package/dist/src/components/Dropdown/Combobox/utils/renderBadge.js +0 -5
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.js +0 -253
- package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.js +0 -9
- package/dist/src/components/Dropdown/select.js +0 -87
- package/dist/src/components/Icons/stories/IconDropdown.js +0 -38
- package/dist/src/components/Icons/stories/IconGallery.js +0 -31
- package/dist/src/components/Icons/stories/InteractiveIconSelector.js +0 -26
- package/dist/src/components/Input/Input.stories.js +0 -133
- package/dist/src/components/Modal/Modal.stories.js +0 -115
- package/dist/src/components/Pagination/pagination.stories.js +0 -168
- package/dist/src/components/Skeleton/skeleton.stories.js +0 -414
- package/dist/src/components/Slider/slider.js +0 -38
- package/dist/src/components/Tabs/tabs.js +0 -43
- package/dist/src/components/TimePicker/TimePicker.stories.js +0 -176
- package/dist/src/components/ToolTip/Tooltip.js +0 -8
- package/dist/src/components/Typography/Heading/Heading.stories.js +0 -67
- package/dist/src/components/VerticalTabs/VerticalTabs.stories.js +0 -100
- package/dist/src/components/VerticalTabs/VerticalTabs.test.js +0 -48
- package/dist/src/components/ui/command.js +0 -65
- package/dist/src/components/ui/popover.js +0 -42
- package/dist/src/components/ui/tooltip.js +0 -42
- /package/dist/src/components/AppIcons/{AppIcon.stories.js → AppIcon.stories.jsx} +0 -0
- /package/dist/src/components/Card/SinglePost/{SinglePost.stories.js → SinglePost.stories.jsx} +0 -0
- /package/dist/src/components/Icons/{LUIcon.test.js → LUIcon.test.jsx} +0 -0
- /package/dist/src/components/ImageUploader/{ImageUploader.stories.js → ImageUploader.stories.jsx} +0 -0
- /package/dist/src/components/Slider/{Slider.stories.js → Slider.stories.jsx} +0 -0
- /package/dist/src/components/ui/{collapsible.js → collapsible.jsx} +0 -0
|
@@ -0,0 +1,734 @@
|
|
|
1
|
+
import { BadgeSkeletonSize, HeadingSkeletonSize, InputSkeletonSize, Skeleton, TextSkeletonSize, } from "./skeleton";
|
|
2
|
+
import { avatarSize } from "../Avatar/Avatar";
|
|
3
|
+
import { buttonStyles } from "../Button";
|
|
4
|
+
import { tableBodySize } from "../Table";
|
|
5
|
+
import { comboboxSizes } from "../Dropdown/Combobox";
|
|
6
|
+
import { iconSize as LUIconSizes } from "../Icons";
|
|
7
|
+
import { checkboxSize } from "../Checkbox/checkbox";
|
|
8
|
+
import { size as SwitchSizes } from "../Switch/switch";
|
|
9
|
+
import { Body } from "../Typography/Body/body";
|
|
10
|
+
import { Heading } from "../Typography/Heading/heading";
|
|
11
|
+
// Dynamically define Skeleton variants
|
|
12
|
+
var SKELETON_VARIANTS = [
|
|
13
|
+
"default",
|
|
14
|
+
"button",
|
|
15
|
+
"input",
|
|
16
|
+
"avatar",
|
|
17
|
+
"badge",
|
|
18
|
+
"card",
|
|
19
|
+
"tableRow",
|
|
20
|
+
"checkbox",
|
|
21
|
+
"switch",
|
|
22
|
+
"select",
|
|
23
|
+
"icon",
|
|
24
|
+
"text",
|
|
25
|
+
"heading",
|
|
26
|
+
"image",
|
|
27
|
+
];
|
|
28
|
+
var meta = {
|
|
29
|
+
title: "Components/Skeleton",
|
|
30
|
+
component: Skeleton,
|
|
31
|
+
tags: ["autodocs"],
|
|
32
|
+
parameters: {
|
|
33
|
+
docs: {
|
|
34
|
+
description: {
|
|
35
|
+
component: "A component for displaying loading skeleton placeholders. ",
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
controls: {
|
|
39
|
+
expanded: true,
|
|
40
|
+
sort: "requiredFirst",
|
|
41
|
+
hideNoControlsWarning: true,
|
|
42
|
+
exclude: [],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
args: {
|
|
46
|
+
className: "",
|
|
47
|
+
variant: "default",
|
|
48
|
+
size: "md",
|
|
49
|
+
isIcon: true,
|
|
50
|
+
},
|
|
51
|
+
argTypes: {
|
|
52
|
+
variant: {
|
|
53
|
+
control: { type: "select" },
|
|
54
|
+
options: SKELETON_VARIANTS,
|
|
55
|
+
description: "Select the skeleton component variant",
|
|
56
|
+
table: {
|
|
57
|
+
defaultValue: { summary: "default" },
|
|
58
|
+
type: { summary: "enum" },
|
|
59
|
+
category: "Component",
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
size: {
|
|
63
|
+
control: { type: "select" },
|
|
64
|
+
options: Object.keys(avatarSize), // Will be dynamically updated by decorator
|
|
65
|
+
description: "Size for Avatar, Button, Badge, Input, TableRow, Select, Icon, Text, and Heading skeletons (when applicable)",
|
|
66
|
+
table: {
|
|
67
|
+
defaultValue: { summary: "md" },
|
|
68
|
+
type: { summary: "enum" },
|
|
69
|
+
category: "Size",
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
columns: {
|
|
73
|
+
control: { type: "number", min: 1, max: 10 },
|
|
74
|
+
description: "Number of columns for TableRow skeleton",
|
|
75
|
+
table: {
|
|
76
|
+
type: { summary: "number" },
|
|
77
|
+
category: "TableRow",
|
|
78
|
+
},
|
|
79
|
+
if: { arg: "variant", eq: "tableRow" },
|
|
80
|
+
},
|
|
81
|
+
lines: {
|
|
82
|
+
control: { type: "number", min: 1, max: 10 },
|
|
83
|
+
description: "Number of lines for Text skeleton",
|
|
84
|
+
table: {
|
|
85
|
+
type: { summary: "number" },
|
|
86
|
+
category: "Text",
|
|
87
|
+
},
|
|
88
|
+
if: { arg: "variant", eq: "text" },
|
|
89
|
+
},
|
|
90
|
+
aspectRatio: {
|
|
91
|
+
control: { type: "select" },
|
|
92
|
+
options: ["square", "video", "portrait"],
|
|
93
|
+
description: "Aspect ratio for Image skeleton",
|
|
94
|
+
table: {
|
|
95
|
+
type: { summary: '"square" | "video" | "portrait"' },
|
|
96
|
+
category: "Image",
|
|
97
|
+
},
|
|
98
|
+
if: { arg: "variant", eq: "image" },
|
|
99
|
+
},
|
|
100
|
+
isIcon: {
|
|
101
|
+
control: { type: "boolean" },
|
|
102
|
+
description: "Toggle placeholder icon inside Image skeleton",
|
|
103
|
+
table: {
|
|
104
|
+
type: { summary: "boolean" },
|
|
105
|
+
defaultValue: { summary: "true" },
|
|
106
|
+
category: "Image",
|
|
107
|
+
},
|
|
108
|
+
if: { arg: "variant", eq: "image" },
|
|
109
|
+
},
|
|
110
|
+
className: {
|
|
111
|
+
control: "text",
|
|
112
|
+
description: "Custom className to override default sizing",
|
|
113
|
+
table: {
|
|
114
|
+
type: { summary: "string" },
|
|
115
|
+
category: "Styling",
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
decorators: [
|
|
120
|
+
function (Story, context) {
|
|
121
|
+
var currentVariant = context.args.variant;
|
|
122
|
+
// Dynamically determine which variants support size
|
|
123
|
+
var variantsWithSize = SKELETON_VARIANTS.filter(function (v) {
|
|
124
|
+
return [
|
|
125
|
+
"button",
|
|
126
|
+
"avatar",
|
|
127
|
+
"badge",
|
|
128
|
+
"input",
|
|
129
|
+
"tableRow",
|
|
130
|
+
"select",
|
|
131
|
+
"icon",
|
|
132
|
+
"text",
|
|
133
|
+
"heading",
|
|
134
|
+
].includes(v);
|
|
135
|
+
});
|
|
136
|
+
if (context.argTypes && context.argTypes.size) {
|
|
137
|
+
// Hide size control for variants that don't support it
|
|
138
|
+
if (!variantsWithSize.includes(currentVariant !== null && currentVariant !== void 0 ? currentVariant : "")) {
|
|
139
|
+
context.argTypes.size.table = { disable: true };
|
|
140
|
+
delete context.argTypes.size.control;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
// Show size control and update options based on variant
|
|
144
|
+
context.argTypes.size.control = { type: "select" };
|
|
145
|
+
context.argTypes.size.table = {
|
|
146
|
+
defaultValue: { summary: "md" },
|
|
147
|
+
type: { summary: "enum" },
|
|
148
|
+
category: "Size",
|
|
149
|
+
};
|
|
150
|
+
// Set default size and options based on variant
|
|
151
|
+
if (currentVariant === "button") {
|
|
152
|
+
context.argTypes.size.options = Object.keys(buttonStyles.size);
|
|
153
|
+
// Set default size if not already set
|
|
154
|
+
if (!context.args.size || context.args.size === "md") {
|
|
155
|
+
context.args.size = "md";
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else if (currentVariant === "avatar") {
|
|
159
|
+
context.argTypes.size.options = Object.keys(avatarSize);
|
|
160
|
+
if (!context.args.size || context.args.size === "md") {
|
|
161
|
+
context.args.size = "md";
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else if (currentVariant === "badge") {
|
|
165
|
+
context.argTypes.size.options = Object.keys(BadgeSkeletonSize);
|
|
166
|
+
if (!context.args.size || context.args.size === "md") {
|
|
167
|
+
context.args.size = "md";
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
else if (currentVariant === "switch") {
|
|
171
|
+
context.argTypes.size.options = Object.keys(SwitchSizes);
|
|
172
|
+
if (!context.args.size || context.args.size === "md") {
|
|
173
|
+
context.args.size = "md";
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
else if (currentVariant === "input") {
|
|
177
|
+
context.argTypes.size.options = Object.keys(InputSkeletonSize);
|
|
178
|
+
if (!context.args.size || context.args.size === "md") {
|
|
179
|
+
context.args.size = "lg"; // Input default is lg
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
else if (currentVariant === "tableRow") {
|
|
183
|
+
context.argTypes.size.options = Object.keys(tableBodySize);
|
|
184
|
+
if (!context.args.size || context.args.size === "md") {
|
|
185
|
+
context.args.size = "md";
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
else if (currentVariant === "select") {
|
|
189
|
+
context.argTypes.size.options = Object.keys(comboboxSizes);
|
|
190
|
+
if (!context.args.size || context.args.size === "md") {
|
|
191
|
+
context.args.size = "md";
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
else if (currentVariant === "icon") {
|
|
195
|
+
context.argTypes.size.options = Object.keys(LUIconSizes);
|
|
196
|
+
if (!context.args.size || context.args.size === "md") {
|
|
197
|
+
context.args.size = "md";
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
else if (currentVariant === "text") {
|
|
201
|
+
context.argTypes.size.options = Object.keys(TextSkeletonSize);
|
|
202
|
+
if (!context.args.size || context.args.size === "md") {
|
|
203
|
+
context.args.size = "md";
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
else if (currentVariant === "checkbox") {
|
|
207
|
+
context.argTypes.size.options = Object.keys(checkboxSize);
|
|
208
|
+
if (!context.args.size || context.args.size === "md") {
|
|
209
|
+
context.args.size = "md";
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
else if (currentVariant === "heading") {
|
|
213
|
+
context.argTypes.size.options = Object.keys(HeadingSkeletonSize);
|
|
214
|
+
// Heading has a special default
|
|
215
|
+
if (!context.args.size || context.args.size === "md") {
|
|
216
|
+
context.args.size = "h2";
|
|
217
|
+
}
|
|
218
|
+
context.argTypes.size.table.defaultValue = { summary: "h2" };
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return <Story {...context}/>;
|
|
223
|
+
},
|
|
224
|
+
],
|
|
225
|
+
};
|
|
226
|
+
export default meta;
|
|
227
|
+
// Default Skeleton
|
|
228
|
+
var Template = function (args) {
|
|
229
|
+
var _a = args.variant, variant = _a === void 0 ? "default" : _a, className = args.className, columns = args.columns, lines = args.lines, aspectRatio = args.aspectRatio, isIcon = args.isIcon;
|
|
230
|
+
// Set appropriate default size based on variant
|
|
231
|
+
// Narrow size type for each variant
|
|
232
|
+
var size = args.size;
|
|
233
|
+
if (!size) {
|
|
234
|
+
if (variant === "heading") {
|
|
235
|
+
size = "h2";
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
size = "md";
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
switch (variant) {
|
|
242
|
+
case "button":
|
|
243
|
+
return (<Skeleton.Button size={size} className={className}/>);
|
|
244
|
+
case "input":
|
|
245
|
+
return (<Skeleton.Input size={size} className={className}/>);
|
|
246
|
+
case "avatar":
|
|
247
|
+
return (<Skeleton.Avatar size={size} className={className}/>);
|
|
248
|
+
case "badge":
|
|
249
|
+
return (<Skeleton.Badge size={size} className={className}/>);
|
|
250
|
+
case "card":
|
|
251
|
+
return <Skeleton.Card className={className}/>;
|
|
252
|
+
case "tableRow":
|
|
253
|
+
return (<Skeleton.TableRow columns={columns} size={size} className={className}/>);
|
|
254
|
+
case "checkbox":
|
|
255
|
+
return <Skeleton.Checkbox className={className}/>;
|
|
256
|
+
case "switch":
|
|
257
|
+
return <Skeleton.Switch className={className}/>;
|
|
258
|
+
case "select":
|
|
259
|
+
return (<Skeleton.Select size={size} className={className}/>);
|
|
260
|
+
case "icon":
|
|
261
|
+
return (<Skeleton.Icon size={size} className={className}/>);
|
|
262
|
+
case "text":
|
|
263
|
+
return (<Skeleton.Text lines={lines} size={size} className={className}/>);
|
|
264
|
+
case "heading":
|
|
265
|
+
return (<Skeleton.Heading size={size} className={className}/>);
|
|
266
|
+
case "image":
|
|
267
|
+
return (<Skeleton.Image aspectRatio={aspectRatio} isIcon={isIcon} className={className}/>);
|
|
268
|
+
case "default":
|
|
269
|
+
default:
|
|
270
|
+
return <Skeleton className={"w-48 h-48 ".concat(className)}/>;
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
export var Default = Template.bind({});
|
|
274
|
+
// Button Skeletons - All Sizes
|
|
275
|
+
export var ButtonSkeletons = function () { return (<div className="space-y-6">
|
|
276
|
+
<div>
|
|
277
|
+
<Heading variant="h4">Button Skeleton Sizes</Heading>
|
|
278
|
+
<div className="flex flex-col gap-4">
|
|
279
|
+
{Object.keys(buttonStyles.size).map(function (size) { return (<div key={size}>
|
|
280
|
+
<p>{size.toUpperCase()}</p>
|
|
281
|
+
<Skeleton.Button size={size}/>
|
|
282
|
+
</div>); })}
|
|
283
|
+
</div>
|
|
284
|
+
</div>
|
|
285
|
+
<div>
|
|
286
|
+
<Heading variant="h4">Custom Width</Heading>
|
|
287
|
+
<Skeleton.Button className="w-64"/>
|
|
288
|
+
</div>
|
|
289
|
+
</div>); };
|
|
290
|
+
ButtonSkeletons.parameters = {
|
|
291
|
+
docs: {
|
|
292
|
+
description: {
|
|
293
|
+
story: "Button skeleton placeholders in all available sizes (sm, md, lg, xl).",
|
|
294
|
+
},
|
|
295
|
+
},
|
|
296
|
+
};
|
|
297
|
+
// Input Skeletons - All Sizes
|
|
298
|
+
export var InputSkeletons = function () { return (<div className="space-y-4">
|
|
299
|
+
<div>
|
|
300
|
+
<Body>Small Input</Body>
|
|
301
|
+
<Skeleton.Input size="sm"/>
|
|
302
|
+
</div>
|
|
303
|
+
<div>
|
|
304
|
+
<Body>Medium Input</Body>
|
|
305
|
+
<Skeleton.Input size="md"/>
|
|
306
|
+
</div>
|
|
307
|
+
<div>
|
|
308
|
+
<Body>Large Input (Default)</Body>
|
|
309
|
+
<Skeleton.Input size="lg"/>
|
|
310
|
+
</div>
|
|
311
|
+
<div>
|
|
312
|
+
<Body>Custom Width</Body>
|
|
313
|
+
<Skeleton.Input className="w-1/2"/>
|
|
314
|
+
</div>
|
|
315
|
+
</div>); };
|
|
316
|
+
InputSkeletons.parameters = {
|
|
317
|
+
docs: {
|
|
318
|
+
description: {
|
|
319
|
+
story: "Input skeleton placeholders with size options (sm, md, lg).",
|
|
320
|
+
},
|
|
321
|
+
},
|
|
322
|
+
};
|
|
323
|
+
// Avatar Skeletons - All Sizes
|
|
324
|
+
export var AvatarSkeletons = function () {
|
|
325
|
+
var allAvatarSizes = Object.keys(avatarSize);
|
|
326
|
+
return (<div className="space-y-4">
|
|
327
|
+
<div className="flex items-center gap-4 flex-wrap">
|
|
328
|
+
{allAvatarSizes.map(function (size) { return (<div key={size} className="flex flex-col items-center gap-2">
|
|
329
|
+
<Skeleton.Avatar size={size}/>
|
|
330
|
+
<span className="text-xs text-gray-500">{size}</span>
|
|
331
|
+
</div>); })}
|
|
332
|
+
</div>
|
|
333
|
+
</div>);
|
|
334
|
+
};
|
|
335
|
+
AvatarSkeletons.parameters = {
|
|
336
|
+
docs: {
|
|
337
|
+
description: {
|
|
338
|
+
story: "Avatar skeleton placeholders in all available sizes.",
|
|
339
|
+
},
|
|
340
|
+
},
|
|
341
|
+
};
|
|
342
|
+
// Badge Skeletons - All Sizes
|
|
343
|
+
export var BadgeSkeletons = function () { return (<div className="space-y-4">
|
|
344
|
+
<div>
|
|
345
|
+
<Body>Small Badge</Body>
|
|
346
|
+
<Skeleton.Badge size="sm"/>
|
|
347
|
+
</div>
|
|
348
|
+
<div>
|
|
349
|
+
<Body>Medium Badge (Default)</Body>
|
|
350
|
+
<Skeleton.Badge size="md"/>
|
|
351
|
+
</div>
|
|
352
|
+
<div>
|
|
353
|
+
<Body>Large Badge</Body>
|
|
354
|
+
<Skeleton.Badge size="lg"/>
|
|
355
|
+
</div>
|
|
356
|
+
</div>); };
|
|
357
|
+
BadgeSkeletons.parameters = {
|
|
358
|
+
docs: {
|
|
359
|
+
description: {
|
|
360
|
+
story: "Badge skeleton placeholders with size options (sm, md, lg).",
|
|
361
|
+
},
|
|
362
|
+
},
|
|
363
|
+
};
|
|
364
|
+
// Card Skeleton
|
|
365
|
+
export var CardSkeleton = function () { return (<div className="space-y-4">
|
|
366
|
+
<div>
|
|
367
|
+
<Body>Default Card Skeleton</Body>
|
|
368
|
+
<Skeleton.Card />
|
|
369
|
+
</div>
|
|
370
|
+
<div>
|
|
371
|
+
<Body>Custom Height</Body>
|
|
372
|
+
<Skeleton.Card className="h-64"/>
|
|
373
|
+
</div>
|
|
374
|
+
</div>); };
|
|
375
|
+
CardSkeleton.parameters = {
|
|
376
|
+
docs: {
|
|
377
|
+
description: {
|
|
378
|
+
story: "Card skeleton placeholder for card components.",
|
|
379
|
+
},
|
|
380
|
+
},
|
|
381
|
+
};
|
|
382
|
+
// Table Row Skeletons
|
|
383
|
+
export var TableRowSkeletons = function () { return (<div className="space-y-6">
|
|
384
|
+
<div>
|
|
385
|
+
<Body>3 Columns - Small</Body>
|
|
386
|
+
<Skeleton.TableRow columns={3} size="sm"/>
|
|
387
|
+
</div>
|
|
388
|
+
<div>
|
|
389
|
+
<Body>4 Columns - Medium</Body>
|
|
390
|
+
<Skeleton.TableRow columns={4} size="md"/>
|
|
391
|
+
</div>
|
|
392
|
+
<div>
|
|
393
|
+
<Body>5 Columns - Large</Body>
|
|
394
|
+
<Skeleton.TableRow columns={5} size="lg"/>
|
|
395
|
+
</div>
|
|
396
|
+
<div>
|
|
397
|
+
<Body>Full Table Example</Body>
|
|
398
|
+
<div className="space-y-2">
|
|
399
|
+
<Skeleton.TableRow columns={4} size="md"/>
|
|
400
|
+
<Skeleton.TableRow columns={4} size="md"/>
|
|
401
|
+
<Skeleton.TableRow columns={4} size="md"/>
|
|
402
|
+
</div>
|
|
403
|
+
</div>
|
|
404
|
+
</div>); };
|
|
405
|
+
TableRowSkeletons.parameters = {
|
|
406
|
+
docs: {
|
|
407
|
+
description: {
|
|
408
|
+
story: "Table row skeleton with customizable columns and sizes. Perfect for table loading states.",
|
|
409
|
+
},
|
|
410
|
+
},
|
|
411
|
+
};
|
|
412
|
+
// Form Elements Skeletons
|
|
413
|
+
export var FormElementsSkeletons = function () { return (<div className="space-y-6">
|
|
414
|
+
<div>
|
|
415
|
+
<Heading variant="h4">Checkbox</Heading>
|
|
416
|
+
<div className="flex items-center gap-2">
|
|
417
|
+
<Skeleton.Checkbox />
|
|
418
|
+
<Skeleton className="h-4 w-24"/>
|
|
419
|
+
</div>
|
|
420
|
+
</div>
|
|
421
|
+
<div>
|
|
422
|
+
<Heading variant="h4">Switch</Heading>
|
|
423
|
+
<div className="flex items-center gap-2">
|
|
424
|
+
<Skeleton.Switch />
|
|
425
|
+
<Skeleton className="h-4 w-32"/>
|
|
426
|
+
</div>
|
|
427
|
+
</div>
|
|
428
|
+
<div>
|
|
429
|
+
<Heading variant="h4">Select/Dropdown</Heading>
|
|
430
|
+
<div className="space-y-2">
|
|
431
|
+
<Skeleton.Select size="sm"/>
|
|
432
|
+
<Skeleton.Select size="md"/>
|
|
433
|
+
<Skeleton.Select size="lg"/>
|
|
434
|
+
</div>
|
|
435
|
+
</div>
|
|
436
|
+
</div>); };
|
|
437
|
+
FormElementsSkeletons.parameters = {
|
|
438
|
+
docs: {
|
|
439
|
+
description: {
|
|
440
|
+
story: "Skeleton loaders for form elements like checkbox, switch, and select.",
|
|
441
|
+
},
|
|
442
|
+
},
|
|
443
|
+
};
|
|
444
|
+
// Icon Skeletons
|
|
445
|
+
export var IconSkeletons = function () { return (<div className="space-y-4">
|
|
446
|
+
<div className="flex items-center gap-4">
|
|
447
|
+
<div className="flex flex-col items-center gap-2">
|
|
448
|
+
<Skeleton.Icon size="sm"/>
|
|
449
|
+
<span className="text-xs text-gray-500">Small</span>
|
|
450
|
+
</div>
|
|
451
|
+
<div className="flex flex-col items-center gap-2">
|
|
452
|
+
<Skeleton.Icon size="md"/>
|
|
453
|
+
<span className="text-xs text-gray-500">Medium</span>
|
|
454
|
+
</div>
|
|
455
|
+
<div className="flex flex-col items-center gap-2">
|
|
456
|
+
<Skeleton.Icon size="lg"/>
|
|
457
|
+
<span className="text-xs text-gray-500">Large</span>
|
|
458
|
+
</div>
|
|
459
|
+
<div className="flex flex-col items-center gap-2">
|
|
460
|
+
<Skeleton.Icon size="xl"/>
|
|
461
|
+
<span className="text-xs text-gray-500">XLarge</span>
|
|
462
|
+
</div>
|
|
463
|
+
</div>
|
|
464
|
+
</div>); };
|
|
465
|
+
IconSkeletons.parameters = {
|
|
466
|
+
docs: {
|
|
467
|
+
description: {
|
|
468
|
+
story: "Icon skeleton placeholders in different sizes (sm, md, lg, xl).",
|
|
469
|
+
},
|
|
470
|
+
},
|
|
471
|
+
};
|
|
472
|
+
// Text Skeletons
|
|
473
|
+
export var TextSkeletons = function () { return (<div className="space-y-6">
|
|
474
|
+
<div>
|
|
475
|
+
<Heading variant="h4">Text Sizes</Heading>
|
|
476
|
+
<div className="space-y-4">
|
|
477
|
+
<div>
|
|
478
|
+
<Body>Extra Small (xs)</Body>
|
|
479
|
+
<Skeleton.Text lines={1} size="xs"/>
|
|
480
|
+
</div>
|
|
481
|
+
<div>
|
|
482
|
+
<Body>Small (sm)</Body>
|
|
483
|
+
<Skeleton.Text lines={1} size="sm"/>
|
|
484
|
+
</div>
|
|
485
|
+
<div>
|
|
486
|
+
<Body>Medium (md) - Default</Body>
|
|
487
|
+
<Skeleton.Text lines={1} size="md"/>
|
|
488
|
+
</div>
|
|
489
|
+
<div>
|
|
490
|
+
<Body>Large (lg)</Body>
|
|
491
|
+
<Skeleton.Text lines={1} size="lg"/>
|
|
492
|
+
</div>
|
|
493
|
+
<div>
|
|
494
|
+
<Body>Extra Large (xl)</Body>
|
|
495
|
+
<Skeleton.Text lines={1} size="xl"/>
|
|
496
|
+
</div>
|
|
497
|
+
</div>
|
|
498
|
+
</div>
|
|
499
|
+
<div>
|
|
500
|
+
<Heading variant="h4">Multi-line Text</Heading>
|
|
501
|
+
<div className="space-y-4">
|
|
502
|
+
<div>
|
|
503
|
+
<Body>Two Lines</Body>
|
|
504
|
+
<Skeleton.Text lines={2}/>
|
|
505
|
+
</div>
|
|
506
|
+
<div>
|
|
507
|
+
<Body>Three Lines</Body>
|
|
508
|
+
<Skeleton.Text lines={3}/>
|
|
509
|
+
</div>
|
|
510
|
+
<div>
|
|
511
|
+
<Body>Five Lines</Body>
|
|
512
|
+
<Skeleton.Text lines={5}/>
|
|
513
|
+
</div>
|
|
514
|
+
</div>
|
|
515
|
+
</div>
|
|
516
|
+
</div>); };
|
|
517
|
+
TextSkeletons.parameters = {
|
|
518
|
+
docs: {
|
|
519
|
+
description: {
|
|
520
|
+
story: "Text skeleton placeholders with multiple size options (xs, sm, md, lg, xl) and multi-line support. The last line is automatically 75% width for multi-line text.",
|
|
521
|
+
},
|
|
522
|
+
},
|
|
523
|
+
};
|
|
524
|
+
// Heading Skeletons
|
|
525
|
+
export var HeadingSkeletons = function () { return (<div className="space-y-6">
|
|
526
|
+
<div>
|
|
527
|
+
<Heading variant="h4">Heading Sizes</Heading>
|
|
528
|
+
<div className="space-y-4">
|
|
529
|
+
<div>
|
|
530
|
+
<Body>H1 - Largest</Body>
|
|
531
|
+
<Skeleton.Heading size="h1"/>
|
|
532
|
+
</div>
|
|
533
|
+
<div>
|
|
534
|
+
<Body>H2 - Default</Body>
|
|
535
|
+
<Skeleton.Heading size="h2"/>
|
|
536
|
+
</div>
|
|
537
|
+
<div>
|
|
538
|
+
<Body>H3</Body>
|
|
539
|
+
<Skeleton.Heading size="h3"/>
|
|
540
|
+
</div>
|
|
541
|
+
<div>
|
|
542
|
+
<Body>H4</Body>
|
|
543
|
+
<Skeleton.Heading size="h4"/>
|
|
544
|
+
</div>
|
|
545
|
+
<div>
|
|
546
|
+
<Body>H5</Body>
|
|
547
|
+
<Skeleton.Heading size="h5"/>
|
|
548
|
+
</div>
|
|
549
|
+
<div>
|
|
550
|
+
<Body>H6 - Smallest</Body>
|
|
551
|
+
<Skeleton.Heading size="h6"/>
|
|
552
|
+
</div>
|
|
553
|
+
</div>
|
|
554
|
+
</div>
|
|
555
|
+
</div>); };
|
|
556
|
+
HeadingSkeletons.parameters = {
|
|
557
|
+
docs: {
|
|
558
|
+
description: {
|
|
559
|
+
story: "Heading skeleton placeholders with all heading sizes (h1 through h6). Default width is 75% but can be customized with className.",
|
|
560
|
+
},
|
|
561
|
+
},
|
|
562
|
+
};
|
|
563
|
+
// Image Skeletons
|
|
564
|
+
export var ImageSkeletons = function () { return (<div className="space-y-6">
|
|
565
|
+
<div>
|
|
566
|
+
<Body>Square Aspect Ratio</Body>
|
|
567
|
+
<div className="w-64">
|
|
568
|
+
<Skeleton.Image aspectRatio="square"/>
|
|
569
|
+
</div>
|
|
570
|
+
</div>
|
|
571
|
+
<div>
|
|
572
|
+
<Body>Video Aspect Ratio (16:9)</Body>
|
|
573
|
+
<div className="w-64">
|
|
574
|
+
<Skeleton.Image aspectRatio="video"/>
|
|
575
|
+
</div>
|
|
576
|
+
</div>
|
|
577
|
+
<div>
|
|
578
|
+
<Body>Portrait Aspect Ratio (3:4)</Body>
|
|
579
|
+
<div className="w-48">
|
|
580
|
+
<Skeleton.Image aspectRatio="portrait"/>
|
|
581
|
+
</div>
|
|
582
|
+
</div>
|
|
583
|
+
<div>
|
|
584
|
+
<Body>Icon Scale Variations</Body>
|
|
585
|
+
<div className="flex gap-6 flex-wrap">
|
|
586
|
+
<div className="w-40">
|
|
587
|
+
<Body>Scale: sm</Body>
|
|
588
|
+
<Skeleton.Image aspectRatio="square"/>
|
|
589
|
+
</div>
|
|
590
|
+
<div className="w-40">
|
|
591
|
+
<Body>Scale: md</Body>
|
|
592
|
+
<Skeleton.Image aspectRatio="square"/>
|
|
593
|
+
</div>
|
|
594
|
+
<div className="w-40">
|
|
595
|
+
<Body>Scale: lg</Body>
|
|
596
|
+
<Skeleton.Image aspectRatio="square"/>
|
|
597
|
+
</div>
|
|
598
|
+
<div className="w-40">
|
|
599
|
+
<Body>Scale: auto (responsive)</Body>
|
|
600
|
+
<Skeleton.Image aspectRatio="square"/>
|
|
601
|
+
</div>
|
|
602
|
+
</div>
|
|
603
|
+
</div>
|
|
604
|
+
</div>); };
|
|
605
|
+
ImageSkeletons.parameters = {
|
|
606
|
+
docs: {
|
|
607
|
+
description: {
|
|
608
|
+
story: "Image skeleton placeholders with different aspect ratio options (square, video, portrait).",
|
|
609
|
+
},
|
|
610
|
+
},
|
|
611
|
+
};
|
|
612
|
+
// Complete Card Example
|
|
613
|
+
export var CompleteCardExample = function () { return (<div className="w-80 rounded-lg border p-6">
|
|
614
|
+
<div className="flex items-center gap-4 mb-4">
|
|
615
|
+
<Skeleton.Avatar size="lg"/>
|
|
616
|
+
<div className="flex-1 space-y-2">
|
|
617
|
+
<Skeleton className="h-4 w-3/4"/>
|
|
618
|
+
<Skeleton className="h-3 w-1/2"/>
|
|
619
|
+
</div>
|
|
620
|
+
</div>
|
|
621
|
+
<div className="space-y-2 mb-4">
|
|
622
|
+
<Skeleton.Text lines={3}/>
|
|
623
|
+
</div>
|
|
624
|
+
<div className="flex gap-2">
|
|
625
|
+
<Skeleton.Button size="md" className="flex-1"/>
|
|
626
|
+
<Skeleton.Button size="md" className="flex-1"/>
|
|
627
|
+
</div>
|
|
628
|
+
</div>); };
|
|
629
|
+
CompleteCardExample.parameters = {
|
|
630
|
+
docs: {
|
|
631
|
+
description: {
|
|
632
|
+
story: "A complete card loading state example using multiple skeleton components.",
|
|
633
|
+
},
|
|
634
|
+
},
|
|
635
|
+
};
|
|
636
|
+
// Complete Form Example
|
|
637
|
+
export var CompleteFormExample = function () { return (<div className="w-96 space-y-4">
|
|
638
|
+
<div>
|
|
639
|
+
<Skeleton className="h-4 w-20 mb-2"/>
|
|
640
|
+
<Skeleton.Input size="lg"/>
|
|
641
|
+
</div>
|
|
642
|
+
<div>
|
|
643
|
+
<Skeleton className="h-4 w-24 mb-2"/>
|
|
644
|
+
<Skeleton.Input size="lg"/>
|
|
645
|
+
</div>
|
|
646
|
+
<div>
|
|
647
|
+
<Skeleton className="h-4 w-32 mb-2"/>
|
|
648
|
+
<Skeleton.Select size="md"/>
|
|
649
|
+
</div>
|
|
650
|
+
<div className="flex items-center gap-2">
|
|
651
|
+
<Skeleton.Checkbox />
|
|
652
|
+
<Skeleton className="h-4 w-40"/>
|
|
653
|
+
</div>
|
|
654
|
+
<div className="flex items-center gap-2">
|
|
655
|
+
<Skeleton.Switch />
|
|
656
|
+
<Skeleton className="h-4 w-36"/>
|
|
657
|
+
</div>
|
|
658
|
+
<Skeleton.Button size="lg" className="w-full"/>
|
|
659
|
+
</div>); };
|
|
660
|
+
CompleteFormExample.parameters = {
|
|
661
|
+
docs: {
|
|
662
|
+
description: {
|
|
663
|
+
story: "A complete form loading state example with various input types.",
|
|
664
|
+
},
|
|
665
|
+
},
|
|
666
|
+
};
|
|
667
|
+
// All Variants Together
|
|
668
|
+
export var AllVariants = function () { return (<div className="space-y-8">
|
|
669
|
+
<div>
|
|
670
|
+
<Heading variant="h4">Buttons</Heading>
|
|
671
|
+
<div className="flex gap-4">
|
|
672
|
+
<Skeleton.Button size="sm"/>
|
|
673
|
+
<Skeleton.Button size="md"/>
|
|
674
|
+
<Skeleton.Button size="lg"/>
|
|
675
|
+
</div>
|
|
676
|
+
</div>
|
|
677
|
+
<div>
|
|
678
|
+
<Heading variant="h4">Inputs & Selects</Heading>
|
|
679
|
+
<div className="space-y-2 max-w-md">
|
|
680
|
+
<Skeleton.Input size="sm"/>
|
|
681
|
+
<Skeleton.Input size="md"/>
|
|
682
|
+
<Skeleton.Select size="lg"/>
|
|
683
|
+
</div>
|
|
684
|
+
</div>
|
|
685
|
+
<div>
|
|
686
|
+
<Heading variant="h4">Avatars</Heading>
|
|
687
|
+
<div className="flex gap-4 items-center">
|
|
688
|
+
<Skeleton.Avatar size="sm"/>
|
|
689
|
+
<Skeleton.Avatar size="md"/>
|
|
690
|
+
<Skeleton.Avatar size="lg"/>
|
|
691
|
+
<Skeleton.Avatar size="xl"/>
|
|
692
|
+
</div>
|
|
693
|
+
</div>
|
|
694
|
+
<div>
|
|
695
|
+
<Heading variant="h4">Badges</Heading>
|
|
696
|
+
<div className="flex gap-4 items-center">
|
|
697
|
+
<Skeleton.Badge size="sm"/>
|
|
698
|
+
<Skeleton.Badge size="md"/>
|
|
699
|
+
<Skeleton.Badge size="lg"/>
|
|
700
|
+
</div>
|
|
701
|
+
</div>
|
|
702
|
+
<div>
|
|
703
|
+
<Heading variant="h4">Form Controls</Heading>
|
|
704
|
+
<div className="flex gap-4 items-center">
|
|
705
|
+
<Skeleton.Checkbox />
|
|
706
|
+
<Skeleton.Switch />
|
|
707
|
+
<Skeleton.Icon size="md"/>
|
|
708
|
+
</div>
|
|
709
|
+
</div>
|
|
710
|
+
<div>
|
|
711
|
+
<Heading variant="h4">Text</Heading>
|
|
712
|
+
<div className="max-w-md">
|
|
713
|
+
<Skeleton.Text lines={3}/>
|
|
714
|
+
</div>
|
|
715
|
+
</div>
|
|
716
|
+
<div>
|
|
717
|
+
<Heading variant="h4">Images</Heading>
|
|
718
|
+
<div className="flex gap-4">
|
|
719
|
+
<div className="w-32">
|
|
720
|
+
<Skeleton.Image aspectRatio="square"/>
|
|
721
|
+
</div>
|
|
722
|
+
<div className="w-48">
|
|
723
|
+
<Skeleton.Image aspectRatio="video"/>
|
|
724
|
+
</div>
|
|
725
|
+
</div>
|
|
726
|
+
</div>
|
|
727
|
+
</div>); };
|
|
728
|
+
AllVariants.parameters = {
|
|
729
|
+
docs: {
|
|
730
|
+
description: {
|
|
731
|
+
story: "Overview of all skeleton variants and their common use cases.",
|
|
732
|
+
},
|
|
733
|
+
},
|
|
734
|
+
};
|