linkedunion-design-kit 1.9.2 → 1.9.4
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.jsx +13 -0
- package/dist/app/page.jsx +25 -0
- package/dist/build/types/app/layout.d.ts +12 -0
- package/dist/build/types/app/layout.js +22 -0
- package/dist/build/types/app/page.d.ts +12 -0
- package/dist/build/types/app/page.js +22 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/src/components/Accordion/Accordion.stories.jsx +33 -0
- package/dist/src/components/Accordion/accordion.jsx +59 -0
- package/dist/src/components/Alerts/Alert/alert.jsx +152 -0
- package/dist/src/components/Alerts/Alert/alert.stories.jsx +344 -0
- package/dist/src/components/Alerts/AlertDialog/alert-dialog.jsx +170 -0
- 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.jsx +29 -0
- package/dist/src/components/AppIcons/AppIcon.stories.jsx +223 -0
- 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.jsx +45 -0
- package/dist/src/components/Avatar/Avatar/Avatar.stories.jsx +95 -0
- package/dist/src/components/Avatar/Avatar/Avatar.test.jsx +9 -0
- 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.jsx +50 -0
- package/dist/src/components/Badge/Badge.jsx +54 -0
- package/dist/src/components/Badge/Badge.stories.jsx +201 -0
- package/dist/src/components/Button/Button/Button.d.ts +7 -6
- package/dist/src/components/Button/Button/Button.js +32 -9
- package/dist/src/components/Button/Button/Button.jsx +101 -0
- package/dist/src/components/Button/Button/Button.stories.jsx +283 -0
- package/dist/src/components/Button/Button/Button.test.jsx +73 -0
- package/dist/src/components/Button/IconButton/IconButton.jsx +63 -0
- package/dist/src/components/Button/IconButton/IconButton.stories.jsx +128 -0
- package/dist/src/components/Button/IconButton/IconButton.test.jsx +28 -0
- package/dist/src/components/Button/index.js +3 -3
- package/dist/src/components/Card/MultipleNews/MultiNews.jsx +80 -0
- package/dist/src/components/Card/MultipleNews/MultiNews.stories.jsx +104 -0
- package/dist/src/components/Card/PostByCategory/PostByCategory.jsx +60 -0
- package/dist/src/components/Card/PostByCategory/PostByCategory.stories.jsx +106 -0
- package/dist/src/components/Card/SinglePost/SinglePost.jsx +26 -0
- package/dist/src/components/Card/SinglePost/SinglePost.stories.jsx +68 -0
- package/dist/src/components/Card/card.jsx +36 -0
- package/dist/src/components/Card/contactProfile/ContactProfile.jsx +60 -0
- package/dist/src/components/Card/contactProfile/ContactProfile.stories.jsx +103 -0
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.jsx +41 -0
- package/dist/src/components/Card/photoAlbum/PhotoAlbum.stories.jsx +69 -0
- package/dist/src/components/Card/photoGallery/PhotoGallery.jsx +17 -0
- package/dist/src/components/Card/photoGallery/PhotoGallery.stories.jsx +39 -0
- package/dist/src/components/Checkbox/checkbox.jsx +47 -0
- package/dist/src/components/Checkbox/checkbox.stories.jsx +113 -0
- package/dist/src/components/ColorPicker/ColorPicker.jsx +67 -0
- package/dist/src/components/ColorPicker/ColorPicker.stories.jsx +138 -0
- package/dist/src/components/Colors/color.jsx +5 -0
- package/dist/src/components/Colors/color.stories.jsx +20 -0
- package/dist/src/components/Colors/color.test.jsx +23 -0
- package/dist/src/components/Dropdown/Combobox/Combobox.jsx +198 -0
- package/dist/src/components/Dropdown/Combobox/Combobox.stories.jsx +289 -0
- package/dist/src/components/Dropdown/Combobox/utils/renderBadge.jsx +7 -0
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.jsx +102 -0
- package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.jsx +464 -0
- package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.jsx +19 -0
- package/dist/src/components/Dropdown/Select.stories.jsx +201 -0
- package/dist/src/components/Dropdown/select.jsx +93 -0
- package/dist/src/components/Icons/LUIcon.jsx +41 -0
- package/dist/src/components/Icons/LUIcon.test.jsx +308 -0
- 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.jsx +108 -0
- package/dist/src/components/ImageUploader/ImageUploader.stories.jsx +50 -0
- package/dist/src/components/ImageUploader/imageUploader.jsx +94 -0
- package/dist/src/components/Images/LuImage.jsx +19 -0
- package/dist/src/components/Images/LuImage.stories.jsx +154 -0
- package/dist/src/components/Images/LuImage.test.jsx +44 -0
- package/dist/src/components/Input/Input.stories.jsx +250 -0
- package/dist/src/components/Input/input.jsx +110 -0
- package/dist/src/components/Label/Label.jsx +32 -0
- package/dist/src/components/Label/Label.stories.jsx +30 -0
- package/dist/src/components/Pagination/pagination.d.ts +33 -0
- package/dist/src/components/Pagination/pagination.js +68 -0
- package/dist/src/components/Pagination/pagination.jsx +68 -0
- package/dist/src/components/Pagination/pagination.stories.d.ts +74 -0
- package/dist/src/components/Pagination/pagination.stories.js +168 -0
- package/dist/src/components/Pagination/pagination.stories.jsx +114 -0
- package/dist/src/components/RadioGroup/RadioGroup.stories.jsx +146 -0
- package/dist/src/components/RadioGroup/radio-group.jsx +49 -0
- package/dist/src/components/Skeleton/skeleton.d.ts +117 -0
- package/dist/src/components/Skeleton/skeleton.js +140 -0
- package/dist/src/components/Skeleton/skeleton.stories.d.ts +153 -0
- package/dist/src/components/Skeleton/skeleton.stories.js +404 -0
- package/dist/src/components/Slider/Slider.stories.jsx +159 -0
- package/dist/src/components/Slider/slider.jsx +31 -0
- package/dist/src/components/SweetAlert/SweetAlert.jsx +147 -0
- package/dist/src/components/SweetAlert/SweetAlert.stories.jsx +505 -0
- package/dist/src/components/Switch/Switch.stories.jsx +66 -0
- package/dist/src/components/Switch/switch.jsx +61 -0
- package/dist/src/components/Table/Table.d.ts +26 -0
- package/dist/src/components/Table/Table.js +186 -0
- package/dist/src/components/Table/Table.jsx +221 -0
- package/dist/src/components/Table/Table.stories.d.ts +51 -0
- package/dist/src/components/Table/Table.stories.js +408 -0
- package/dist/src/components/Table/Table.stories.jsx +652 -0
- package/dist/src/components/Table/index.d.ts +20 -0
- package/dist/src/components/Table/index.js +20 -0
- package/dist/src/components/Tabs/Tabs.stories.jsx +29 -0
- package/dist/src/components/Tabs/tabs.jsx +32 -0
- package/dist/src/components/Title/Title.jsx +8 -0
- package/dist/src/components/Title/Title.stories.jsx +37 -0
- package/dist/src/components/Title/Title.test.jsx +24 -0
- package/dist/src/components/ToolTip/Tooltip.jsx +18 -0
- package/dist/src/components/ToolTip/Tooltip.stories.jsx +25 -0
- package/dist/src/components/Typography/Body/Body.stories.jsx +34 -0
- package/dist/src/components/Typography/Body/body.jsx +52 -0
- package/dist/src/components/Typography/Caption/Caption.stories.jsx +24 -0
- package/dist/src/components/Typography/Caption/caption.jsx +25 -0
- package/dist/src/components/Typography/Display/Display.stories.jsx +24 -0
- package/dist/src/components/Typography/Display/display.jsx +39 -0
- package/dist/src/components/Typography/Heading/Heading.stories.jsx +37 -0
- package/dist/src/components/Typography/Heading/heading.jsx +53 -0
- package/dist/src/components/ui/avatar.d.ts +3 -10
- package/dist/src/components/ui/avatar.js +12 -27
- package/dist/src/components/ui/avatar.jsx +27 -0
- package/dist/src/components/ui/button.d.ts +10 -0
- package/dist/src/components/ui/button.js +56 -0
- package/dist/src/components/ui/button.jsx +45 -0
- package/dist/src/components/ui/collapsible.d.ts +5 -0
- package/dist/src/components/ui/collapsible.js +5 -0
- package/dist/src/components/ui/collapsible.jsx +5 -0
- package/dist/src/components/ui/command.jsx +67 -0
- package/dist/src/components/ui/dialog.jsx +66 -0
- package/dist/src/components/ui/popover.jsx +33 -0
- package/dist/src/components/ui/tooltip.jsx +38 -0
- package/dist/src/components/ui/typography.jsx +56 -0
- package/dist/src/utils/colors.js +11 -11
- package/dist/src/utils/iconList.d.ts +4 -0
- package/dist/src/utils/iconList.js +4 -0
- package/dist/styles/global.css +209 -67
- package/package.json +1 -1
- package/dist/src/components/Avatar/Avatar/Avatar1.stories.d.ts +0 -17
- package/dist/src/components/Avatar/Avatar/Avatar1.stories.js +0 -68
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Input, inputVariantConfig } from "./input";
|
|
3
|
+
import { inputType } from "."; // Ensure this exports an object like { text: 'text', email: 'email', ... }
|
|
4
|
+
import { Label } from "../Label/Label";
|
|
5
|
+
import LUIcon from "../Icons/LUIcon";
|
|
6
|
+
import Tooltip from "../ToolTip/Tooltip";
|
|
7
|
+
import { Caption } from "../Typography/Caption/caption";
|
|
8
|
+
export default {
|
|
9
|
+
title: "Components/Input",
|
|
10
|
+
component: Input,
|
|
11
|
+
tags: ["autodocs"],
|
|
12
|
+
argTypes: {
|
|
13
|
+
type: {
|
|
14
|
+
control: {
|
|
15
|
+
type: "select",
|
|
16
|
+
labels: Object.keys(inputType),
|
|
17
|
+
},
|
|
18
|
+
options: Object.keys(inputType),
|
|
19
|
+
defaultValue: "text",
|
|
20
|
+
},
|
|
21
|
+
variant: {
|
|
22
|
+
control: {
|
|
23
|
+
type: "select",
|
|
24
|
+
},
|
|
25
|
+
options: Object.keys(inputVariantConfig.variant),
|
|
26
|
+
defaultValue: "filled",
|
|
27
|
+
},
|
|
28
|
+
size: {
|
|
29
|
+
control: {
|
|
30
|
+
type: "select",
|
|
31
|
+
},
|
|
32
|
+
options: Object.keys(inputVariantConfig.size),
|
|
33
|
+
defaultValue: "lg",
|
|
34
|
+
},
|
|
35
|
+
color: {
|
|
36
|
+
control: {
|
|
37
|
+
type: "select",
|
|
38
|
+
},
|
|
39
|
+
options: Object.keys(inputVariantConfig.color),
|
|
40
|
+
defaultValue: "default",
|
|
41
|
+
},
|
|
42
|
+
startIcon: {
|
|
43
|
+
control: "text",
|
|
44
|
+
description: "Icon to display at the start of the input",
|
|
45
|
+
},
|
|
46
|
+
endIcon: {
|
|
47
|
+
control: "text",
|
|
48
|
+
description: "Icon to display at the end of the input",
|
|
49
|
+
},
|
|
50
|
+
placeholder: {
|
|
51
|
+
control: "text",
|
|
52
|
+
defaultValue: "Enter text",
|
|
53
|
+
},
|
|
54
|
+
disabled: {
|
|
55
|
+
control: "boolean",
|
|
56
|
+
defaultValue: false,
|
|
57
|
+
},
|
|
58
|
+
className: {
|
|
59
|
+
control: "text",
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
var Template = function (args) { return <Input {...args}/>; };
|
|
64
|
+
export var Default = Template.bind({});
|
|
65
|
+
Default.args = {
|
|
66
|
+
type: "text",
|
|
67
|
+
placeholder: "Enter your input",
|
|
68
|
+
variant: "filled",
|
|
69
|
+
size: "lg",
|
|
70
|
+
};
|
|
71
|
+
export var WithIcons = function () { return (<div className="space-y-4">
|
|
72
|
+
<div>
|
|
73
|
+
<Label variant={"label-md"}>Search with start icon</Label>
|
|
74
|
+
<Input placeholder="Search..." startIcon="magnifying-glass"/>
|
|
75
|
+
</div>
|
|
76
|
+
<div>
|
|
77
|
+
<Label className="block text-sm font-medium mb-2">
|
|
78
|
+
Email with end icon
|
|
79
|
+
</Label>
|
|
80
|
+
<Input placeholder="Enter email" endIcon="envelope" type="email"/>
|
|
81
|
+
</div>
|
|
82
|
+
<div>
|
|
83
|
+
<Label variant={"label-md"}>Password with both icons</Label>
|
|
84
|
+
<Input placeholder="Enter password" startIcon="lock" endIcon="eye" type="password"/>
|
|
85
|
+
</div>
|
|
86
|
+
<div>
|
|
87
|
+
<Label variant={"label-sm"}>User input</Label>
|
|
88
|
+
<Input placeholder="Enter username" startIcon="user"/>
|
|
89
|
+
</div>
|
|
90
|
+
</div>); };
|
|
91
|
+
export var IconSizes = function () { return (<div className="space-y-4">
|
|
92
|
+
<div>
|
|
93
|
+
<Label variant={"label-sm"}>Small with icons</Label>
|
|
94
|
+
<Input placeholder="Small size" size="sm" startIcon="magnifying-glass" endIcon="xMark"/>
|
|
95
|
+
</div>
|
|
96
|
+
<div>
|
|
97
|
+
<Label variant={"label-md"}>Medium with icons</Label>
|
|
98
|
+
<Input placeholder="Medium size" size="md" startIcon="magnifying-glass" endIcon="xMark"/>
|
|
99
|
+
</div>
|
|
100
|
+
<div>
|
|
101
|
+
<Label variant={"label-lg"}>Large with icons</Label>
|
|
102
|
+
<Input placeholder="Large size" size="lg" startIcon="magnifying-glass" endIcon="xMark"/>
|
|
103
|
+
</div>
|
|
104
|
+
</div>); };
|
|
105
|
+
export var Variants = function () { return (<div className="space-y-4">
|
|
106
|
+
<div>
|
|
107
|
+
<Label variant={"label-md"}>Filled</Label>
|
|
108
|
+
<Input placeholder="Filled variant" variant="filled"/>
|
|
109
|
+
</div>
|
|
110
|
+
<div>
|
|
111
|
+
<Label variant={"label-md"}>Outlined</Label>
|
|
112
|
+
<Input placeholder="Outlined variant" variant="outlined"/>
|
|
113
|
+
</div>
|
|
114
|
+
</div>); };
|
|
115
|
+
export var Sizes = function () { return (<div className="space-y-4">
|
|
116
|
+
<div>
|
|
117
|
+
<Label variant={"label-md"}>Small</Label>
|
|
118
|
+
<Input placeholder="Small size" size="sm"/>
|
|
119
|
+
</div>
|
|
120
|
+
<div>
|
|
121
|
+
<Label variant={"label-md"}>Medium</Label>
|
|
122
|
+
<Input placeholder="Medium size" size="md"/>
|
|
123
|
+
</div>
|
|
124
|
+
<div>
|
|
125
|
+
<Label variant={"label-lg"}>Large (Default)</Label>
|
|
126
|
+
<Input placeholder="Large size" size="lg"/>
|
|
127
|
+
</div>
|
|
128
|
+
</div>); };
|
|
129
|
+
export var VariantsWithIcons = function () { return (<div className="space-y-4">
|
|
130
|
+
<div>
|
|
131
|
+
<Label variant={"label-md"}>Filled with icons</Label>
|
|
132
|
+
<Input placeholder="Filled variant" variant="filled" startIcon="magnifying-glass" endIcon="xMark"/>
|
|
133
|
+
</div>
|
|
134
|
+
<div>
|
|
135
|
+
<Label variant={"label-md"}>Outlined with icons</Label>
|
|
136
|
+
<Input placeholder="Outlined variant" variant="outlined" startIcon="magnifying-glass" endIcon="xMark"/>
|
|
137
|
+
</div>
|
|
138
|
+
</div>); };
|
|
139
|
+
export var ErrorValidation = function () {
|
|
140
|
+
var _a = React.useState("Steve"), email = _a[0], setEmail = _a[1];
|
|
141
|
+
var maxLength = 5;
|
|
142
|
+
var isError = email.length === 5;
|
|
143
|
+
var characterCount = email.length;
|
|
144
|
+
var handleEmailChange = function (e) {
|
|
145
|
+
var newValue = e.target.value;
|
|
146
|
+
// Restrict typing when exactly 5 characters
|
|
147
|
+
if (newValue.length <= 5) {
|
|
148
|
+
setEmail(newValue);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
return (<div className="space-y-4">
|
|
152
|
+
<div>
|
|
153
|
+
<div className="flex items-center gap-2 mb-2">
|
|
154
|
+
<Label variant={"label-md"}>Name</Label>
|
|
155
|
+
<span className="text-red-600">*</span>
|
|
156
|
+
<Tooltip title="This is a tooltip for the email input field">
|
|
157
|
+
<LUIcon variant="padded" size="xs" shape="rounded" icon="question" color="light-blue"/>
|
|
158
|
+
</Tooltip>
|
|
159
|
+
|
|
160
|
+
<Caption variant="md" className={"ms-auto mb-1 ".concat(isError ? "text-red-600" : "text-gray-500")}>
|
|
161
|
+
<span className={isError ? "text-red-600" : "text-gray-900"}>
|
|
162
|
+
{characterCount}
|
|
163
|
+
</span>
|
|
164
|
+
/{maxLength}
|
|
165
|
+
</Caption>
|
|
166
|
+
</div>
|
|
167
|
+
|
|
168
|
+
<Input color={isError ? "danger" : "default"} placeholder="Enter your email address" variant="filled" type="email" value={email} onChange={handleEmailChange} startIcon="user" endIcon="envelope"/>
|
|
169
|
+
{email.length > 4 && (<Caption variant="md" className={"mt-1 ".concat(isError ? "text-red-600" : "text-gray-500")}>
|
|
170
|
+
{isError
|
|
171
|
+
? "Email must be longer than 5 characters"
|
|
172
|
+
: "Please enter a valid email address"}
|
|
173
|
+
</Caption>)}
|
|
174
|
+
</div>
|
|
175
|
+
</div>);
|
|
176
|
+
};
|
|
177
|
+
export var SuccessValidation = function () {
|
|
178
|
+
var _a = React.useState("john_doe"), username = _a[0], setUsername = _a[1];
|
|
179
|
+
var maxLength = 20;
|
|
180
|
+
var isSuccess = username.length >= 6 && username.length <= 15;
|
|
181
|
+
var characterCount = username.length;
|
|
182
|
+
var handleUsernameChange = function (e) {
|
|
183
|
+
var newValue = e.target.value;
|
|
184
|
+
if (newValue.length <= maxLength) {
|
|
185
|
+
setUsername(newValue);
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
return (<div className="space-y-4">
|
|
189
|
+
<div>
|
|
190
|
+
<div className="flex items-center gap-2 mb-2">
|
|
191
|
+
<Label variant={"label-sm"}>Username</Label>
|
|
192
|
+
<span className="text-red-600">*</span>
|
|
193
|
+
<Tooltip title="Username must be 6-15 characters long">
|
|
194
|
+
<LUIcon variant="padded" size="xs" shape="rounded" icon="question" color="light-blue"/>
|
|
195
|
+
</Tooltip>
|
|
196
|
+
|
|
197
|
+
<Caption variant="md" className={"ms-auto mb-1 ".concat(isSuccess ? "text-green-600" : "text-gray-500")}>
|
|
198
|
+
<span className={isSuccess ? "text-green-600" : "text-gray-900"}>
|
|
199
|
+
{characterCount}
|
|
200
|
+
</span>
|
|
201
|
+
/{maxLength}
|
|
202
|
+
</Caption>
|
|
203
|
+
</div>
|
|
204
|
+
|
|
205
|
+
<Input color={isSuccess ? "success" : "default"} placeholder="Enter your username" variant="filled" type="text" value={username} onChange={handleUsernameChange} startIcon="user" endIcon={isSuccess ? "check" : "user-gear"}/>
|
|
206
|
+
<Caption variant="md" className={"mt-1 ".concat(isSuccess ? "text-green-600" : "text-gray-500")}>
|
|
207
|
+
{isSuccess
|
|
208
|
+
? "Great! Username is available"
|
|
209
|
+
: "Username must be 6-15 characters"}
|
|
210
|
+
</Caption>
|
|
211
|
+
</div>
|
|
212
|
+
</div>);
|
|
213
|
+
};
|
|
214
|
+
export var WarningValidation = function () {
|
|
215
|
+
var _a = React.useState("pass123"), password = _a[0], setPassword = _a[1];
|
|
216
|
+
var maxLength = 30;
|
|
217
|
+
var hasWarning = password.length >= 4 && password.length < 8;
|
|
218
|
+
var characterCount = password.length;
|
|
219
|
+
var handlePasswordChange = function (e) {
|
|
220
|
+
var newValue = e.target.value;
|
|
221
|
+
if (newValue.length <= maxLength) {
|
|
222
|
+
setPassword(newValue);
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
return (<div className="space-y-4">
|
|
226
|
+
<div>
|
|
227
|
+
<div className="flex items-center gap-2 mb-2">
|
|
228
|
+
<Label variant={"label-md"}>Password</Label>
|
|
229
|
+
<span className="text-red-600">*</span>
|
|
230
|
+
<Tooltip title="Password should be at least 8 characters for better security">
|
|
231
|
+
<LUIcon variant="padded" size="xs" shape="rounded" icon="question" color="light-blue"/>
|
|
232
|
+
</Tooltip>
|
|
233
|
+
|
|
234
|
+
<Caption variant="md" className={"ms-auto mb-1 ".concat(hasWarning ? "text-yellow-600" : "text-gray-500")}>
|
|
235
|
+
<span className={hasWarning ? "text-yellow-600" : "text-gray-900"}>
|
|
236
|
+
{characterCount}
|
|
237
|
+
</span>
|
|
238
|
+
/{maxLength}
|
|
239
|
+
</Caption>
|
|
240
|
+
</div>
|
|
241
|
+
|
|
242
|
+
<Input color={hasWarning ? "warning" : "default"} placeholder="Enter your password" variant="filled" type="password" value={password} onChange={handlePasswordChange} startIcon="lock" endIcon={hasWarning ? "circle-exclamation" : "eye"}/>
|
|
243
|
+
<Caption variant="md" className={"mt-1 ".concat(hasWarning ? "text-yellow-600" : "text-gray-500")}>
|
|
244
|
+
{hasWarning
|
|
245
|
+
? "Password is weak. Consider using 8+ characters"
|
|
246
|
+
: "Enter a secure password"}
|
|
247
|
+
</Caption>
|
|
248
|
+
</div>
|
|
249
|
+
</div>);
|
|
250
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import * as React from "react";
|
|
13
|
+
import { cva } from "class-variance-authority";
|
|
14
|
+
import { cn } from "../../lib/utils";
|
|
15
|
+
import LUIcon from "../Icons/LUIcon";
|
|
16
|
+
import { getIconSize, getPadding, getIconPosition } from "./";
|
|
17
|
+
// Export variant configurations for reuse in stories
|
|
18
|
+
export var inputVariantConfig = {
|
|
19
|
+
variant: {
|
|
20
|
+
filled: "focus-visible:bg-white focus-visible:border-blue-600 focus-visible:ring-blue-600",
|
|
21
|
+
outlined: "border border-gray-200 bg-transparent focus-visible:border-blue-600 focus-visible:ring-blue-600",
|
|
22
|
+
},
|
|
23
|
+
size: {
|
|
24
|
+
sm: "h-9 text-sm",
|
|
25
|
+
md: "h-10 text-normal",
|
|
26
|
+
lg: "h-12 text-base",
|
|
27
|
+
},
|
|
28
|
+
color: {
|
|
29
|
+
default: "",
|
|
30
|
+
danger: "border-red-600 focus-visible:border-red-600 focus-visible:ring-red-600",
|
|
31
|
+
warning: "border-yellow-500 focus-visible:border-yellow-500 focus-visible:ring-yellow-500",
|
|
32
|
+
success: "border-green-600 focus-visible:border-green-600 focus-visible:ring-green-600",
|
|
33
|
+
},
|
|
34
|
+
shape: {
|
|
35
|
+
rounded: "rounded-full",
|
|
36
|
+
square: "rounded-sm",
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
export var inputVariants = cva("file:text-foreground placeholder:text-muted-foreground selection:bg-primary text-gray-900 selection:text-primary-foreground dark:bg-input/30 border-input flex w-full min-w-0 !border bg-transparent text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
|
|
40
|
+
variants: inputVariantConfig,
|
|
41
|
+
compoundVariants: [
|
|
42
|
+
// Filled variant with default color
|
|
43
|
+
{
|
|
44
|
+
variant: "filled",
|
|
45
|
+
color: "default",
|
|
46
|
+
class: "bg-white border-gray-200",
|
|
47
|
+
},
|
|
48
|
+
// Filled variant with danger color
|
|
49
|
+
{
|
|
50
|
+
variant: "filled",
|
|
51
|
+
color: "danger",
|
|
52
|
+
class: "bg-red-50 border-red-600 focus-visible:bg-red-50",
|
|
53
|
+
},
|
|
54
|
+
// Filled variant with warning color
|
|
55
|
+
{
|
|
56
|
+
variant: "filled",
|
|
57
|
+
color: "warning",
|
|
58
|
+
class: "bg-yellow-50 border-yellow-500 focus-visible:bg-yellow-50",
|
|
59
|
+
},
|
|
60
|
+
// Filled variant with success color
|
|
61
|
+
{
|
|
62
|
+
variant: "filled",
|
|
63
|
+
color: "success",
|
|
64
|
+
class: "bg-green-50 border-green-600 focus-visible:bg-green-50",
|
|
65
|
+
},
|
|
66
|
+
// Outlined variant - always transparent background
|
|
67
|
+
{
|
|
68
|
+
variant: "outlined",
|
|
69
|
+
color: "default",
|
|
70
|
+
class: "bg-transparent border-gray-200",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
variant: "outlined",
|
|
74
|
+
color: "danger",
|
|
75
|
+
class: "bg-transparent",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
variant: "outlined",
|
|
79
|
+
color: "warning",
|
|
80
|
+
class: "bg-transparent",
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
variant: "outlined",
|
|
84
|
+
color: "success",
|
|
85
|
+
class: "bg-transparent",
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
defaultVariants: {
|
|
89
|
+
variant: "filled",
|
|
90
|
+
size: "md",
|
|
91
|
+
color: "default",
|
|
92
|
+
shape: "square",
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
function Input(_a) {
|
|
96
|
+
var className = _a.className, variant = _a.variant, _b = _a.size, size = _b === void 0 ? "md" : _b, type = _a.type, startIcon = _a.startIcon, endIcon = _a.endIcon, _c = _a.shape, shape = _c === void 0 ? "square" : _c, color = _a.color, props = __rest(_a, ["className", "variant", "size", "type", "startIcon", "endIcon", "shape", "color"]);
|
|
97
|
+
var iconSizeClass = getIconSize(size);
|
|
98
|
+
var paddingClass = getPadding(size, !!startIcon, !!endIcon);
|
|
99
|
+
var iconPosition = getIconPosition(size || "md");
|
|
100
|
+
return (<div className="relative">
|
|
101
|
+
{startIcon && (<div className={"absolute ".concat(iconPosition.left, " top-1/2 -translate-y-1/2 pointer-events-none z-10")}>
|
|
102
|
+
<LUIcon icon={startIcon} size={iconSizeClass}/>
|
|
103
|
+
</div>)}
|
|
104
|
+
<input type={type} data-slot="input" className={cn(inputVariants({ variant: variant, size: size, color: color, shape: shape }), paddingClass, className)} {...props}/>
|
|
105
|
+
{endIcon && (<div className={"absolute ".concat(iconPosition.right, " top-1/2 -translate-y-1/2 pointer-events-none z-10")}>
|
|
106
|
+
<LUIcon icon={endIcon} size={iconSizeClass}/>
|
|
107
|
+
</div>)}
|
|
108
|
+
</div>);
|
|
109
|
+
}
|
|
110
|
+
export { Input };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import * as React from "react";
|
|
13
|
+
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
14
|
+
import { cva } from "class-variance-authority";
|
|
15
|
+
import { cn } from "../../lib/utils";
|
|
16
|
+
export var variant = {
|
|
17
|
+
"label-xl": "!text-xl !leading-normal",
|
|
18
|
+
"label-lg": "!text-lg !leading-normal",
|
|
19
|
+
"label-md": "!text-base !leading-normal",
|
|
20
|
+
"label-sm": "!text-sm !leading-normal",
|
|
21
|
+
};
|
|
22
|
+
var labelVariants = cva("select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50 !font-normal m-0", {
|
|
23
|
+
variants: { variant: variant },
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
variant: "label-sm",
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
function Label(_a) {
|
|
29
|
+
var className = _a.className, variant = _a.variant, props = __rest(_a, ["className", "variant"]);
|
|
30
|
+
return (<LabelPrimitive.Root data-slot="label" className={cn(labelVariants({ variant: variant, className: className }))} {...props}/>);
|
|
31
|
+
}
|
|
32
|
+
export { Label, labelVariants };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Label, variant } from "./Label";
|
|
2
|
+
export default {
|
|
3
|
+
title: "Components/Label",
|
|
4
|
+
component: Label,
|
|
5
|
+
tags: ["autodocs"],
|
|
6
|
+
};
|
|
7
|
+
var Template = function (args) { return <Label {...args}></Label>; };
|
|
8
|
+
export var _Label = Template.bind({});
|
|
9
|
+
_Label.args = {
|
|
10
|
+
children: "Label",
|
|
11
|
+
variant: "label-sm",
|
|
12
|
+
};
|
|
13
|
+
_Label.argTypes = {
|
|
14
|
+
variant: {
|
|
15
|
+
control: { type: "select" },
|
|
16
|
+
options: Object.keys(variant),
|
|
17
|
+
description: "Label variant",
|
|
18
|
+
table: {
|
|
19
|
+
defaultValue: { summary: "label-sm" },
|
|
20
|
+
type: { summary: "string" },
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
htmlFor: {
|
|
24
|
+
control: "text",
|
|
25
|
+
description: "ID of the input element this label is for",
|
|
26
|
+
table: {
|
|
27
|
+
type: { summary: "string" },
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { ButtonProps } from "../Button/Button/Button";
|
|
3
|
+
import LUIcon from "../Icons/LUIcon";
|
|
4
|
+
declare const Pagination: {
|
|
5
|
+
({ className, ...props }: React.ComponentProps<"nav">): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
displayName: string;
|
|
7
|
+
};
|
|
8
|
+
declare const PaginationContent: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React.RefAttributes<HTMLUListElement>>;
|
|
9
|
+
declare const PaginationItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
|
10
|
+
type PaginationLinkProps = {
|
|
11
|
+
isActive?: boolean;
|
|
12
|
+
color?: ButtonProps["color"];
|
|
13
|
+
size?: ButtonProps["size"];
|
|
14
|
+
variant?: ButtonProps["variant"];
|
|
15
|
+
} & React.ComponentProps<"a">;
|
|
16
|
+
declare const PaginationLink: {
|
|
17
|
+
({ className, isActive, size, color, variant, ...props }: PaginationLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
declare const PaginationPrevious: {
|
|
21
|
+
({ className, ...props }: React.ComponentProps<typeof PaginationLink>): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
declare const PaginationNext: {
|
|
25
|
+
({ className, ...props }: React.ComponentProps<typeof PaginationLink>): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
displayName: string;
|
|
27
|
+
};
|
|
28
|
+
type PaginationEllipsisProps = Omit<React.ComponentProps<typeof LUIcon>, "icon">;
|
|
29
|
+
declare const PaginationEllipsis: {
|
|
30
|
+
({ color, ...props }: PaginationEllipsisProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
displayName: string;
|
|
32
|
+
};
|
|
33
|
+
export { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis, };
|
|
@@ -0,0 +1,68 @@
|
|
|
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, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
24
|
+
import * as React from "react";
|
|
25
|
+
import { cn } from "../../lib/utils";
|
|
26
|
+
import { buttonVariants } from "../Button/Button/Button";
|
|
27
|
+
import LUIcon from "../Icons/LUIcon";
|
|
28
|
+
var Pagination = function (_a) {
|
|
29
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
30
|
+
return (_jsx("nav", __assign({ role: "navigation", "aria-label": "pagination", className: cn("mx-auto flex w-full justify-center", className) }, props)));
|
|
31
|
+
};
|
|
32
|
+
Pagination.displayName = "Pagination";
|
|
33
|
+
var PaginationContent = React.forwardRef(function (_a, ref) {
|
|
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)));
|
|
36
|
+
});
|
|
37
|
+
PaginationContent.displayName = "PaginationContent";
|
|
38
|
+
var PaginationItem = React.forwardRef(function (_a, ref) {
|
|
39
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
40
|
+
return (_jsx("li", __assign({ ref: ref, className: cn("", className) }, props)));
|
|
41
|
+
});
|
|
42
|
+
PaginationItem.displayName = "PaginationItem";
|
|
43
|
+
var PaginationLink = function (_a) {
|
|
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({
|
|
46
|
+
variant: isActive ? (variant === "link" ? variant : "fill") : variant,
|
|
47
|
+
size: size,
|
|
48
|
+
color: color,
|
|
49
|
+
}), className) }, props)));
|
|
50
|
+
};
|
|
51
|
+
PaginationLink.displayName = "PaginationLink";
|
|
52
|
+
var PaginationPrevious = function (_a) {
|
|
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" }), _jsx("span", { children: "Previous" })] })));
|
|
55
|
+
};
|
|
56
|
+
PaginationPrevious.displayName = "PaginationPrevious";
|
|
57
|
+
var PaginationNext = function (_a) {
|
|
58
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
59
|
+
return (_jsxs(PaginationLink, __assign({ "aria-label": "Go to next page", size: "md", className: cn("gap-1 pr-2.5", className) }, props, { children: [_jsx("span", { children: "Next" }), _jsx(LUIcon, { icon: "arrow-right" })] })));
|
|
60
|
+
};
|
|
61
|
+
PaginationNext.displayName = "PaginationNext";
|
|
62
|
+
var PaginationEllipsis = function (_a) {
|
|
63
|
+
var color = _a.color, props = __rest(_a, ["color"]);
|
|
64
|
+
return (_jsxs(_Fragment, { children: [_jsx(LUIcon, __assign({ icon: "ellipsis-horizontal" // Always use ellipsis-horizontal
|
|
65
|
+
, color: color }, props)), _jsx("span", { className: "sr-only", children: "More pages" })] }));
|
|
66
|
+
};
|
|
67
|
+
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
68
|
+
export { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis, };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import * as React from "react";
|
|
13
|
+
import { ChevronLeft, ChevronRight, MoreHorizontal } from "lucide-react";
|
|
14
|
+
import { cn } from "../../lib/utils";
|
|
15
|
+
import { buttonVariants } from "../../components/ui/button";
|
|
16
|
+
import { Button } from "../Button/Button/Button";
|
|
17
|
+
var Pagination = function (_a) {
|
|
18
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
19
|
+
return (<nav role="navigation" aria-label="pagination" className={cn("mx-auto flex w-full justify-center", className)} {...props}/>);
|
|
20
|
+
};
|
|
21
|
+
Pagination.displayName = "Pagination";
|
|
22
|
+
var PaginationContent = React.forwardRef(function (_a, ref) {
|
|
23
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
24
|
+
return (<ul ref={ref} className={cn("flex flex-row items-center gap-1", className)} {...props}/>);
|
|
25
|
+
});
|
|
26
|
+
PaginationContent.displayName = "PaginationContent";
|
|
27
|
+
var PaginationItem = React.forwardRef(function (_a, ref) {
|
|
28
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
29
|
+
return (<li ref={ref} className={cn("", className)} {...props}/>);
|
|
30
|
+
});
|
|
31
|
+
PaginationItem.displayName = "PaginationItem";
|
|
32
|
+
var PaginationLink = function (_a) {
|
|
33
|
+
var className = _a.className, isActive = _a.isActive, _b = _a.size, size = _b === void 0 ? "icon" : _b, props = __rest(_a, ["className", "isActive", "size"]);
|
|
34
|
+
return ((<a aria-current={isActive ? "page" : undefined} className={cn(buttonVariants({
|
|
35
|
+
variant: isActive ? "outline" : "ghost",
|
|
36
|
+
size: size,
|
|
37
|
+
}), className)}/>
|
|
38
|
+
,
|
|
39
|
+
<Button {...props}/>)
|
|
40
|
+
/ >
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
PaginationLink.displayName = "PaginationLink";
|
|
44
|
+
var PaginationPrevious = function (_a) {
|
|
45
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
46
|
+
return (<PaginationLink aria-label="Go to previous page" size="default" className={cn("gap-1 pl-2.5", className)} {...props}>
|
|
47
|
+
<ChevronLeft className="h-4 w-4"/>
|
|
48
|
+
<span>Previous</span>
|
|
49
|
+
</PaginationLink>);
|
|
50
|
+
};
|
|
51
|
+
PaginationPrevious.displayName = "PaginationPrevious";
|
|
52
|
+
var PaginationNext = function (_a) {
|
|
53
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
54
|
+
return (<PaginationLink aria-label="Go to next page" size="default" className={cn("gap-1 pr-2.5", className)} {...props}>
|
|
55
|
+
<span>Next</span>
|
|
56
|
+
<ChevronRight className="h-4 w-4"/>
|
|
57
|
+
</PaginationLink>);
|
|
58
|
+
};
|
|
59
|
+
PaginationNext.displayName = "PaginationNext";
|
|
60
|
+
var PaginationEllipsis = function (_a) {
|
|
61
|
+
var className = _a.className, props = __rest(_a, ["className"]);
|
|
62
|
+
return (<span aria-hidden className={cn("flex h-9 w-9 items-center justify-center", className)} {...props}>
|
|
63
|
+
<MoreHorizontal className="h-4 w-4"/>
|
|
64
|
+
<span className="sr-only">More pages</span>
|
|
65
|
+
</span>);
|
|
66
|
+
};
|
|
67
|
+
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
68
|
+
export { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis, };
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { buttonStyles } from "../Button";
|
|
2
|
+
import { variant } from "../Button/Button/Button";
|
|
3
|
+
import { Meta } from "@storybook/react";
|
|
4
|
+
declare const _default: Meta;
|
|
5
|
+
export default _default;
|
|
6
|
+
type PaginationColor = keyof typeof buttonStyles.fillColor;
|
|
7
|
+
type PaginationSize = keyof typeof buttonStyles.size;
|
|
8
|
+
type PaginationVariant = keyof typeof variant;
|
|
9
|
+
type PaginationStoryArgs = {
|
|
10
|
+
size?: PaginationSize;
|
|
11
|
+
color?: PaginationColor;
|
|
12
|
+
variant?: PaginationVariant;
|
|
13
|
+
};
|
|
14
|
+
export declare const Default: import("@storybook/core/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, PaginationStoryArgs>;
|
|
15
|
+
export declare const WithEllipsis: {
|
|
16
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
parameters: {
|
|
18
|
+
docs: {
|
|
19
|
+
description: {
|
|
20
|
+
story: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare const AllColors: {
|
|
26
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
parameters: {
|
|
28
|
+
docs: {
|
|
29
|
+
description: {
|
|
30
|
+
story: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export declare const AllVariants: {
|
|
36
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
parameters: {
|
|
38
|
+
docs: {
|
|
39
|
+
description: {
|
|
40
|
+
story: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export declare const AllSizes: {
|
|
46
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
parameters: {
|
|
48
|
+
docs: {
|
|
49
|
+
description: {
|
|
50
|
+
story: string;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
export declare const TablePagination: {
|
|
56
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
parameters: {
|
|
58
|
+
docs: {
|
|
59
|
+
description: {
|
|
60
|
+
story: string;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
export declare const MultiPagination: {
|
|
66
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
67
|
+
parameters: {
|
|
68
|
+
docs: {
|
|
69
|
+
description: {
|
|
70
|
+
story: string;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
};
|