@12-apps/ui 1.4.1 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +17 -8
- package/src/button/index.ts +1 -0
- package/src/social-login-button/index.ts +1 -0
- package/src/{social-login-button.tsx → social-login-button/social-login-button.tsx} +5 -5
- package/src/user-avatar/index.ts +1 -0
- package/src/{user-avatar.tsx → user-avatar/user-avatar.tsx} +4 -4
- package/eslint.config.js +0 -77
- package/src/__tests__/data-grid.test.tsx +0 -125
- package/src/__tests__/package-wiring.test.ts +0 -41
- package/src/__tests__/setup.ts +0 -1
- package/src/__tests__/social-login-button.test.tsx +0 -186
- package/src/__tests__/user-avatar.test.tsx +0 -195
- package/src/__tests__/viewport.test.ts +0 -50
- package/src/components/command/__tests__/command.test.tsx +0 -112
- package/src/components/data-display/Alert/Alert.stories.tsx +0 -559
- package/src/components/data-display/Alert/Alert.test.stories.tsx +0 -707
- package/src/components/data-display/AlertDialog/AlertDialog.stories.tsx +0 -362
- package/src/components/data-display/AlertDialog/AlertDialog.test.stories.tsx +0 -753
- package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.stories.tsx +0 -230
- package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.test.stories.tsx +0 -270
- package/src/components/data-display/Avatar/Avatar.stories.tsx +0 -721
- package/src/components/data-display/Avatar/Avatar.test.stories.tsx +0 -822
- package/src/components/data-display/Badge/Badge.stories.tsx +0 -1134
- package/src/components/data-display/Badge/Badge.test.stories.tsx +0 -1194
- package/src/components/data-display/Banner/Banner.stories.tsx +0 -528
- package/src/components/data-display/Banner/Banner.test.stories.tsx +0 -503
- package/src/components/data-display/Carousel/Carousel.stories.tsx +0 -607
- package/src/components/data-display/Carousel/Carousel.test.stories.tsx +0 -691
- package/src/components/data-display/Chart/Chart.stories.tsx +0 -568
- package/src/components/data-display/Chart/Chart.test.stories.tsx +0 -174
- package/src/components/data-display/Chart/SpecChart.stories.tsx +0 -150
- package/src/components/data-display/Chart/SpecChart.test.stories.tsx +0 -56
- package/src/components/data-display/Chart/__tests__/SpecChart.test.tsx +0 -60
- package/src/components/data-display/Chart/__tests__/chart-format.test.ts +0 -43
- package/src/components/data-display/Chart/__tests__/chart-spec.test.ts +0 -119
- package/src/components/data-display/Chip/Chip.stories.tsx +0 -252
- package/src/components/data-display/Chip/Chip.test.stories.tsx +0 -266
- package/src/components/data-display/DataGrid/DataGrid.stories.tsx +0 -515
- package/src/components/data-display/DataGrid/DataGrid.test.stories.tsx +0 -653
- package/src/components/data-display/DataViews/__tests__/DataViewsGrid.test.tsx +0 -271
- package/src/components/data-display/DataViews/__tests__/DataViewsTableBase.test.tsx +0 -134
- package/src/components/data-display/DataViews/__tests__/SaveViewModal.test.tsx +0 -83
- package/src/components/data-display/DataViews/__tests__/data-views-filter.test.ts +0 -115
- package/src/components/data-display/DataViews/__tests__/data-views-preview.test.ts +0 -53
- package/src/components/data-display/DataViews/__tests__/range-pill.test.tsx +0 -114
- package/src/components/data-display/DataViews/base-card.stories.tsx +0 -136
- package/src/components/data-display/DescriptionItem/DescriptionItem.stories.tsx +0 -254
- package/src/components/data-display/EmptyState/EmptyState.stories.tsx +0 -282
- package/src/components/data-display/EmptyState/EmptyState.test.stories.tsx +0 -441
- package/src/components/data-display/ErrorState/ErrorState.stories.tsx +0 -110
- package/src/components/data-display/ErrorState/ErrorState.test.stories.tsx +0 -133
- package/src/components/data-display/HoverCard/HoverCard.stories.tsx +0 -650
- package/src/components/data-display/HoverCard/HoverCard.test.stories.tsx +0 -929
- package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.stories.tsx +0 -411
- package/src/components/data-display/LazyImage/LazyImage.stories.tsx +0 -387
- package/src/components/data-display/Lightbox/Lightbox.stories.tsx +0 -315
- package/src/components/data-display/Lightbox/Lightbox.test.stories.tsx +0 -598
- package/src/components/data-display/LoadingState/LoadingState.stories.tsx +0 -124
- package/src/components/data-display/LoadingState/LoadingState.test.stories.tsx +0 -99
- package/src/components/data-display/MapPreview/MapPreview.stories.tsx +0 -458
- package/src/components/data-display/MapPreview/MapPreview.test.stories.tsx +0 -394
- package/src/components/data-display/Popover/Popover.stories.tsx +0 -295
- package/src/components/data-display/Popover/Popover.test.stories.tsx +0 -1162
- package/src/components/data-display/Progress/Progress.stories.tsx +0 -481
- package/src/components/data-display/Progress/Progress.test.stories.tsx +0 -2070
- package/src/components/data-display/SectionOnboarding/SectionOnboarding.stories.tsx +0 -160
- package/src/components/data-display/SectionOnboarding/SectionOnboarding.test.stories.tsx +0 -190
- package/src/components/data-display/Sheet/Sheet.stories.tsx +0 -883
- package/src/components/data-display/Sheet/Sheet.test.stories.tsx +0 -1101
- package/src/components/data-display/StatCard/StatCard.stories.tsx +0 -167
- package/src/components/data-display/StatCard/StatCard.test.stories.tsx +0 -240
- package/src/components/data-display/Stepper/Stepper.stories.tsx +0 -540
- package/src/components/data-display/Stepper/Stepper.test.stories.tsx +0 -600
- package/src/components/data-display/Table/Table.stories.tsx +0 -803
- package/src/components/data-display/Table/Table.test.stories.tsx +0 -369
- package/src/components/data-display/Timeline/Timeline.stories.tsx +0 -442
- package/src/components/data-display/Timeline/Timeline.test.stories.tsx +0 -930
- package/src/components/data-display/TimingDiagram/TimingDiagram.stories.tsx +0 -475
- package/src/components/data-display/TimingDiagram/TimingDiagram.test.stories.tsx +0 -734
- package/src/components/data-display/Tooltip/Tooltip.stories.tsx +0 -468
- package/src/components/data-display/Tooltip/Tooltip.test.stories.tsx +0 -1154
- package/src/components/feedback/ConfirmAction/ConfirmAction.stories.tsx +0 -146
- package/src/components/feedback/ConfirmAction/ConfirmAction.test.stories.tsx +0 -114
- package/src/components/feedback/ConfirmAction/__tests__/confirm-action.test.tsx +0 -288
- package/src/components/feedback/Dialog/Dialog.stories.tsx +0 -833
- package/src/components/feedback/Dialog/Dialog.test.stories.tsx +0 -955
- package/src/components/feedback/Dialog/__tests__/dialog-content-spacing.test.tsx +0 -66
- package/src/components/feedback/Modal/Modal.stories.tsx +0 -765
- package/src/components/feedback/Modal/Modal.test.stories.tsx +0 -251
- package/src/components/feedback/Sonner/Sonner.stories.tsx +0 -698
- package/src/components/feedback/Sonner/Sonner.test.stories.tsx +0 -896
- package/src/components/feedback/StackedModal/StackedModal.stories.tsx +0 -1783
- package/src/components/feedback/StackedModal/StackedModal.test.stories.tsx +0 -975
- package/src/components/feedback/StackedModal/__tests__/stacked-modal-viewport.test.tsx +0 -104
- package/src/components/feedback/Toast/Toast.stories.tsx +0 -548
- package/src/components/feedback/Toast/Toast.test.stories.tsx +0 -834
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.stories.tsx +0 -691
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.test.stories.tsx +0 -634
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.stories.tsx +0 -665
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.test.stories.tsx +0 -727
- package/src/components/form/Autocomplete/Autocomplete.stories.tsx +0 -715
- package/src/components/form/Autocomplete/Autocomplete.test.stories.tsx +0 -825
- package/src/components/form/Button/Button.stories.tsx +0 -365
- package/src/components/form/Button/Button.test.stories.tsx +0 -607
- package/src/components/form/Calendar/Calendar.stories.tsx +0 -349
- package/src/components/form/Calendar/Calendar.test.stories.tsx +0 -464
- package/src/components/form/CepField/CepField.stories.tsx +0 -138
- package/src/components/form/CepField/CepField.test.stories.tsx +0 -281
- package/src/components/form/Checkbox/Checkbox.stories.tsx +0 -265
- package/src/components/form/Checkbox/Checkbox.test.stories.tsx +0 -181
- package/src/components/form/CodeEditor/CodeEditor.stories.tsx +0 -871
- package/src/components/form/CodeEditor/CodeEditor.test.stories.tsx +0 -574
- package/src/components/form/Command/Command.stories.tsx +0 -580
- package/src/components/form/Command/Command.test.stories.tsx +0 -215
- package/src/components/form/CreatableSelect/CreatableSelect.stories.tsx +0 -112
- package/src/components/form/CreatableSelect/CreatableSelect.test.stories.tsx +0 -134
- package/src/components/form/Form/Form.stories.tsx +0 -687
- package/src/components/form/Form/Form.test.stories.tsx +0 -601
- package/src/components/form/Input/Input.stories.tsx +0 -260
- package/src/components/form/Input/Input.test.stories.tsx +0 -1191
- package/src/components/form/InputOTP/InputOTP.stories.tsx +0 -774
- package/src/components/form/InputOTP/InputOTP.test.stories.tsx +0 -588
- package/src/components/form/Label/Label.stories.tsx +0 -473
- package/src/components/form/Label/Label.test.stories.tsx +0 -909
- package/src/components/form/Menubar/Menubar.stories.tsx +0 -472
- package/src/components/form/Menubar/Menubar.test.stories.tsx +0 -584
- package/src/components/form/PasswordStrength/PasswordStrength.stories.tsx +0 -562
- package/src/components/form/PasswordStrength/PasswordStrength.test.stories.tsx +0 -327
- package/src/components/form/PhoneInput/PhoneInput.stories.tsx +0 -495
- package/src/components/form/PhoneInput/PhoneInput.test.stories.tsx +0 -666
- package/src/components/form/RadioGroup/RadioGroup.stories.tsx +0 -518
- package/src/components/form/RadioGroup/RadioGroup.test.stories.tsx +0 -685
- package/src/components/form/RichTextEditor/RichTextEditor.stories.tsx +0 -261
- package/src/components/form/RichTextEditor/RichTextEditor.test.stories.tsx +0 -491
- package/src/components/form/SearchPalette/SearchPalette.stories.tsx +0 -135
- package/src/components/form/Select/Select.stories.tsx +0 -364
- package/src/components/form/Select/Select.test.stories.tsx +0 -985
- package/src/components/form/Slider/Slider.stories.tsx +0 -418
- package/src/components/form/Slider/Slider.test.stories.tsx +0 -1042
- package/src/components/form/Switch/Switch.stories.tsx +0 -697
- package/src/components/form/Switch/Switch.test.stories.tsx +0 -597
- package/src/components/form/Textarea/Textarea.stories.tsx +0 -473
- package/src/components/form/Textarea/Textarea.test.stories.tsx +0 -702
- package/src/components/form/Toggle/Toggle.stories.tsx +0 -638
- package/src/components/form/Toggle/Toggle.test.stories.tsx +0 -1159
- package/src/components/form/ToggleGroup/ToggleGroup.stories.tsx +0 -617
- package/src/components/form/ToggleGroup/ToggleGroup.test.stories.tsx +0 -918
- package/src/components/form/UploadButton/UploadButton.stories.tsx +0 -367
- package/src/components/form/UploadButton/UploadButton.test.stories.tsx +0 -573
- package/src/components/form/total-form/total-form.test.tsx +0 -214
- package/src/components/layout/Accordion/Accordion.stories.tsx +0 -694
- package/src/components/layout/Accordion/Accordion.test.stories.tsx +0 -1344
- package/src/components/layout/Card/Card.stories.tsx +0 -591
- package/src/components/layout/Card/Card.test.stories.tsx +0 -1134
- package/src/components/layout/CardGrid/__tests__/CardGrid.test.tsx +0 -92
- package/src/components/layout/Collapsible/Collapsible.stories.tsx +0 -180
- package/src/components/layout/Collapsible/Collapsible.test.stories.tsx +0 -308
- package/src/components/layout/Container/Container.stories.tsx +0 -557
- package/src/components/layout/Container/Container.test.stories.tsx +0 -745
- package/src/components/layout/ContentToolbar/ContentToolbar.stories.tsx +0 -129
- package/src/components/layout/ContentToolbar/ContentToolbar.test.stories.tsx +0 -251
- package/src/components/layout/ContentToolbar/__tests__/ColumnsMenu.test.tsx +0 -39
- package/src/components/layout/ContentToolbar/__tests__/MultiSelectDropdown.test.tsx +0 -131
- package/src/components/layout/ContentToolbar/__tests__/SavedViewsMenu.test.tsx +0 -99
- package/src/components/layout/Dashboard/Dashboard.stories.tsx +0 -104
- package/src/components/layout/Dashboard/Dashboard.test.stories.tsx +0 -190
- package/src/components/layout/Drawer/Drawer.stories.tsx +0 -658
- package/src/components/layout/Drawer/Drawer.test.stories.tsx +0 -1343
- package/src/components/layout/Resizable/Resizable.stories.tsx +0 -1039
- package/src/components/layout/Resizable/Resizable.test.stories.tsx +0 -750
- package/src/components/layout/ScrollArea/ScrollArea.stories.tsx +0 -651
- package/src/components/layout/ScrollArea/ScrollArea.test.stories.tsx +0 -619
- package/src/components/layout/Separator/Separator.stories.tsx +0 -563
- package/src/components/layout/Separator/Separator.test.stories.tsx +0 -518
- package/src/components/layout/SettingsLayout/SettingsLayout.stories.tsx +0 -192
- package/src/components/layout/SettingsLayout/SettingsLayout.test.stories.tsx +0 -175
- package/src/components/layout/Sidebar/Sidebar.stories.tsx +0 -609
- package/src/components/layout/Sidebar/Sidebar.test.stories.tsx +0 -1324
- package/src/components/layout/Skeleton/Skeleton.stories.tsx +0 -689
- package/src/components/layout/Skeleton/Skeleton.test.stories.tsx +0 -521
- package/src/components/layout/Spacer/Spacer.stories.tsx +0 -502
- package/src/components/layout/Spacer/Spacer.test.stories.tsx +0 -472
- package/src/components/layout/TableFilter/TableFilter.stories.tsx +0 -82
- package/src/components/layout/TableFilter/TableFilter.test.stories.tsx +0 -87
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.stories.tsx +0 -638
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.test.stories.tsx +0 -1008
- package/src/components/navigation/CommandPalette/CommandPalette.stories.tsx +0 -386
- package/src/components/navigation/CommandPalette/CommandPalette.test.stories.tsx +0 -435
- package/src/components/navigation/ContextMenu/ContextMenu.stories.tsx +0 -614
- package/src/components/navigation/ContextMenu/ContextMenu.test.stories.tsx +0 -845
- package/src/components/navigation/DropdownMenu/DropdownMenu.stories.tsx +0 -578
- package/src/components/navigation/DropdownMenu/DropdownMenu.test.stories.tsx +0 -660
- package/src/components/navigation/NavigationMenu/stories/NavigationMenu.stories.tsx +0 -516
- package/src/components/navigation/NavigationMenu/stories/NavigationMenu.test.stories.tsx +0 -935
- package/src/components/navigation/NavigationMenu/stories/NavigationMenuHorizontal.stories.tsx +0 -501
- package/src/components/navigation/NavigationMenu/stories/NavigationMenuVertical.stories.tsx +0 -453
- package/src/components/navigation/Pagination/Pagination.stories.tsx +0 -602
- package/src/components/navigation/Pagination/Pagination.test.stories.tsx +0 -520
- package/src/components/navigation/Tabs/Tabs.stories.tsx +0 -1004
- package/src/components/navigation/Tabs/Tabs.test.stories.tsx +0 -1225
- package/src/components/typography/Blockquote/Blockquote.stories.tsx +0 -359
- package/src/components/typography/Blockquote/Blockquote.test.stories.tsx +0 -432
- package/src/components/typography/Code/Code.stories.tsx +0 -686
- package/src/components/typography/Code/Code.test.stories.tsx +0 -703
- package/src/components/typography/Heading/Heading.stories.tsx +0 -451
- package/src/components/typography/Heading/Heading.test.stories.tsx +0 -830
- package/src/components/typography/Paragraph/Paragraph.stories.tsx +0 -280
- package/src/components/typography/Paragraph/Paragraph.test.stories.tsx +0 -231
- package/src/components/typography/Text/Text.stories.tsx +0 -359
- package/src/components/typography/Text/Text.test.stories.tsx +0 -762
- package/src/components/utility/AnimatedIcon/AnimatedIcon.stories.tsx +0 -945
- package/src/components/utility/AnimatedIcon/AnimatedIcon.test.stories.tsx +0 -603
- package/src/components/utility/AspectRatio/AspectRatio.stories.tsx +0 -414
- package/src/components/utility/AspectRatio/AspectRatio.test.stories.tsx +0 -859
- package/src/components/utility/InfiniteScroll/InfiniteScroll.stories.tsx +0 -620
- package/src/components/utility/InfiniteScroll/InfiniteScroll.test.stories.tsx +0 -361
- package/src/components/utility/InstallPrompt/InstallPrompt.stories.tsx +0 -118
- package/src/components/utility/InstallPrompt/InstallPrompt.test.stories.tsx +0 -83
- package/src/components/utility/InstallPrompt/__tests__/InstallPrompt.ios.test.tsx +0 -65
- package/src/components/utility/InstallPrompt/__tests__/usePwaInstall.test.tsx +0 -271
- package/src/components/utility/Portal/Portal.stories.tsx +0 -340
- package/src/components/utility/Portal/Portal.test.stories.tsx +0 -2086
- package/src/components/utility/Transition/Transition.stories.tsx +0 -493
- package/src/components/utility/Transition/Transition.test.stories.tsx +0 -854
- package/src/components/utility/VirtualList/VirtualList.stories.tsx +0 -1073
- package/src/components/utility/VirtualList/VirtualList.test.stories.tsx +0 -1085
- package/src/components/utility/WorkflowStep/WorkflowStep.stories.tsx +0 -431
- package/src/components/utility/WorkflowStep/WorkflowStep.test.stories.tsx +0 -364
- /package/src/{button.tsx → button/button.tsx} +0 -0
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
import Email from '@mui/icons-material/Email';
|
|
2
|
-
import Lock from '@mui/icons-material/Lock';
|
|
3
|
-
import Search from '@mui/icons-material/Search';
|
|
4
|
-
import Visibility from '@mui/icons-material/Visibility';
|
|
5
|
-
import VisibilityOff from '@mui/icons-material/VisibilityOff';
|
|
6
|
-
import { IconButton } from '@mui/material';
|
|
7
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
8
|
-
import { useState } from 'react';
|
|
9
|
-
|
|
10
|
-
import { Input } from './Input';
|
|
11
|
-
|
|
12
|
-
const meta: Meta<typeof Input> = {
|
|
13
|
-
title: 'Form/Input',
|
|
14
|
-
component: Input,
|
|
15
|
-
parameters: {
|
|
16
|
-
layout: 'centered',
|
|
17
|
-
},
|
|
18
|
-
tags: ['autodocs', 'component:Input'],
|
|
19
|
-
argTypes: {
|
|
20
|
-
variant: {
|
|
21
|
-
control: { type: 'select' },
|
|
22
|
-
options: ['outlined', 'filled', 'glass', 'underline', 'gradient'],
|
|
23
|
-
},
|
|
24
|
-
size: {
|
|
25
|
-
control: { type: 'select' },
|
|
26
|
-
options: ['sm', 'md', 'lg'],
|
|
27
|
-
},
|
|
28
|
-
type: {
|
|
29
|
-
control: { type: 'select' },
|
|
30
|
-
options: ['text', 'email', 'password', 'number', 'tel', 'url'],
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export default meta;
|
|
36
|
-
type Story = StoryObj<typeof meta>;
|
|
37
|
-
|
|
38
|
-
export const Default: Story = {
|
|
39
|
-
args: {
|
|
40
|
-
placeholder: 'Enter text...',
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export const WithLabel: Story = {
|
|
45
|
-
args: {
|
|
46
|
-
label: 'Full Name',
|
|
47
|
-
placeholder: 'John Doe',
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
// Required story export: AllVariants
|
|
52
|
-
export const AllVariants: Story = {
|
|
53
|
-
render: () => (
|
|
54
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px', width: '300px' }}>
|
|
55
|
-
<Input variant="outlined" label="Outlined" placeholder="Outlined input" />
|
|
56
|
-
<Input variant="filled" label="Filled" placeholder="Filled input" />
|
|
57
|
-
<Input variant="glass" label="Glass" placeholder="Glass morphism input" />
|
|
58
|
-
<Input variant="underline" label="Underline" placeholder="Underline input" />
|
|
59
|
-
<Input variant="gradient" label="Gradient" placeholder="Gradient border input" />
|
|
60
|
-
</div>
|
|
61
|
-
),
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
// Backward compatibility alias
|
|
65
|
-
export const Variants = AllVariants;
|
|
66
|
-
|
|
67
|
-
// Required story export: AllSizes
|
|
68
|
-
export const AllSizes: Story = {
|
|
69
|
-
render: () => (
|
|
70
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px', width: '300px' }}>
|
|
71
|
-
<Input size="sm" label="Small" placeholder="Small input" />
|
|
72
|
-
<Input size="md" label="Medium" placeholder="Medium input" />
|
|
73
|
-
<Input size="lg" label="Large" placeholder="Large input" />
|
|
74
|
-
</div>
|
|
75
|
-
),
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
// Backward compatibility alias
|
|
79
|
-
export const Sizes = AllSizes;
|
|
80
|
-
|
|
81
|
-
export const WithAdornments: Story = {
|
|
82
|
-
render: () => (
|
|
83
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px', width: '300px' }}>
|
|
84
|
-
<Input label="Search" placeholder="Search..." startAdornment={<Search />} />
|
|
85
|
-
<Input label="Email" type="email" placeholder="john@example.com" startAdornment={<Email />} />
|
|
86
|
-
<PasswordInput />
|
|
87
|
-
</div>
|
|
88
|
-
),
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
// Password input with visibility toggle
|
|
92
|
-
function PasswordInput() {
|
|
93
|
-
const [showPassword, setShowPassword] = useState(false);
|
|
94
|
-
|
|
95
|
-
return (
|
|
96
|
-
<Input
|
|
97
|
-
label="Password"
|
|
98
|
-
type={showPassword ? 'text' : 'password'}
|
|
99
|
-
placeholder="Enter password"
|
|
100
|
-
startAdornment={<Lock />}
|
|
101
|
-
endAdornment={
|
|
102
|
-
<IconButton onClick={() => setShowPassword(!showPassword)} edge="end">
|
|
103
|
-
{showPassword ? <VisibilityOff /> : <Visibility />}
|
|
104
|
-
</IconButton>
|
|
105
|
-
}
|
|
106
|
-
/>
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export const FloatingLabels: Story = {
|
|
111
|
-
render: () => (
|
|
112
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px', width: '300px' }}>
|
|
113
|
-
<Input floating label="Floating Label" placeholder="Type here..." />
|
|
114
|
-
<Input floating variant="glass" label="Glass with Float" />
|
|
115
|
-
<Input floating variant="filled" label="Filled with Float" />
|
|
116
|
-
</div>
|
|
117
|
-
),
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
export const ErrorStates: Story = {
|
|
121
|
-
render: () => (
|
|
122
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px', width: '300px' }}>
|
|
123
|
-
<Input
|
|
124
|
-
label="Email"
|
|
125
|
-
error
|
|
126
|
-
helperText="Please enter a valid email address"
|
|
127
|
-
defaultValue="invalid-email"
|
|
128
|
-
/>
|
|
129
|
-
<Input variant="glass" label="Required Field" error helperText="This field is required" />
|
|
130
|
-
</div>
|
|
131
|
-
),
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
// Enhanced Visual Effects Stories
|
|
135
|
-
export const VisualEffects: Story = {
|
|
136
|
-
render: () => (
|
|
137
|
-
<div
|
|
138
|
-
style={{
|
|
139
|
-
display: 'flex',
|
|
140
|
-
flexDirection: 'column',
|
|
141
|
-
gap: '24px',
|
|
142
|
-
width: '300px',
|
|
143
|
-
backgroundColor: '#f5f5f5',
|
|
144
|
-
padding: '24px',
|
|
145
|
-
borderRadius: '8px',
|
|
146
|
-
}}
|
|
147
|
-
>
|
|
148
|
-
<Input variant="glass" label="Glow Effect" placeholder="Focus me!" glow />
|
|
149
|
-
<Input variant="outlined" label="Pulse Animation" placeholder="Watch me pulse" pulse />
|
|
150
|
-
<Input variant="gradient" label="Loading State" placeholder="Processing..." loading />
|
|
151
|
-
<Input variant="glass" label="Combined Effects" placeholder="Glow + Float" glow floating />
|
|
152
|
-
</div>
|
|
153
|
-
),
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
// Required story export: AllStates
|
|
157
|
-
export const AllStates: Story = {
|
|
158
|
-
render: () => (
|
|
159
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px', width: '300px' }}>
|
|
160
|
-
<Input label="Default State" placeholder="Type here..." />
|
|
161
|
-
<Input label="Focused State" placeholder="Focus me" autoFocus />
|
|
162
|
-
<Input label="Hover State" placeholder="Hover over me" />
|
|
163
|
-
<Input label="Disabled State" placeholder="Cannot type" disabled />
|
|
164
|
-
<Input label="Readonly State" placeholder="Read only" value="Cannot change this" readOnly />
|
|
165
|
-
<Input
|
|
166
|
-
label="Error State"
|
|
167
|
-
placeholder="Has error"
|
|
168
|
-
error
|
|
169
|
-
helperText="This field has an error"
|
|
170
|
-
/>
|
|
171
|
-
<Input label="Required Field" placeholder="This is required" required />
|
|
172
|
-
<Input label="Loading State" placeholder="Loading..." loading />
|
|
173
|
-
</div>
|
|
174
|
-
),
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
// Backward compatibility alias
|
|
178
|
-
export const InteractiveStates = AllStates;
|
|
179
|
-
|
|
180
|
-
// Different Input Types
|
|
181
|
-
export const InputTypes: Story = {
|
|
182
|
-
render: () => (
|
|
183
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px', width: '300px' }}>
|
|
184
|
-
<Input type="text" label="Text Input" placeholder="Enter text" />
|
|
185
|
-
<Input type="email" label="Email Input" placeholder="email@example.com" />
|
|
186
|
-
<Input type="password" label="Password Input" placeholder="Enter password" />
|
|
187
|
-
<Input type="number" label="Number Input" placeholder="123" />
|
|
188
|
-
<Input type="tel" label="Phone Input" placeholder="+1 (555) 123-4567" />
|
|
189
|
-
<Input type="url" label="URL Input" placeholder="https://example.com" />
|
|
190
|
-
</div>
|
|
191
|
-
),
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
// Edge Cases
|
|
195
|
-
export const EdgeCases: Story = {
|
|
196
|
-
render: () => (
|
|
197
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px', width: '300px' }}>
|
|
198
|
-
<Input
|
|
199
|
-
label="Long Text Overflow"
|
|
200
|
-
defaultValue="This is a very long text that should show how the input handles overflow and long content gracefully"
|
|
201
|
-
/>
|
|
202
|
-
<Input label="Empty with Floating" floating placeholder="Floating label behavior" />
|
|
203
|
-
<Input label="No Full Width" fullWidth={false} placeholder="Not full width" />
|
|
204
|
-
<Input
|
|
205
|
-
variant="glass"
|
|
206
|
-
label="Glass + All Props"
|
|
207
|
-
placeholder="Kitchen sink example"
|
|
208
|
-
glow
|
|
209
|
-
pulse
|
|
210
|
-
floating
|
|
211
|
-
helperText="This has all visual effects enabled"
|
|
212
|
-
/>
|
|
213
|
-
</div>
|
|
214
|
-
),
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
// Required story export: Responsive
|
|
218
|
-
export const Responsive: Story = {
|
|
219
|
-
render: () => (
|
|
220
|
-
<div
|
|
221
|
-
style={{
|
|
222
|
-
display: 'grid',
|
|
223
|
-
gridTemplateColumns: 'repeat(auto-fit, minmax(250px, 1fr))',
|
|
224
|
-
gap: '16px',
|
|
225
|
-
}}
|
|
226
|
-
>
|
|
227
|
-
<Input variant="outlined" label="Responsive 1" placeholder="Resize window" />
|
|
228
|
-
<Input variant="glass" label="Responsive 2" placeholder="Watch layout" />
|
|
229
|
-
<Input variant="gradient" label="Responsive 3" placeholder="Adapt to screen" />
|
|
230
|
-
</div>
|
|
231
|
-
),
|
|
232
|
-
parameters: {
|
|
233
|
-
viewport: {
|
|
234
|
-
viewports: {
|
|
235
|
-
mobile: { name: 'Mobile', styles: { width: '375px', height: '667px' } },
|
|
236
|
-
tablet: { name: 'Tablet', styles: { width: '768px', height: '1024px' } },
|
|
237
|
-
desktop: { name: 'Desktop', styles: { width: '1200px', height: '800px' } },
|
|
238
|
-
},
|
|
239
|
-
},
|
|
240
|
-
},
|
|
241
|
-
};
|
|
242
|
-
|
|
243
|
-
// Backward compatibility alias
|
|
244
|
-
export const ResponsiveDemo = Responsive;
|
|
245
|
-
|
|
246
|
-
export const Playground: Story = {
|
|
247
|
-
args: {
|
|
248
|
-
variant: 'outlined',
|
|
249
|
-
size: 'md',
|
|
250
|
-
label: 'Playground Input',
|
|
251
|
-
placeholder: 'Type something...',
|
|
252
|
-
fullWidth: true,
|
|
253
|
-
floating: false,
|
|
254
|
-
glow: false,
|
|
255
|
-
pulse: false,
|
|
256
|
-
loading: false,
|
|
257
|
-
error: false,
|
|
258
|
-
helperText: 'This is helper text',
|
|
259
|
-
},
|
|
260
|
-
};
|