@12-apps/ui 1.5.0 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +17 -9
- 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 -89
- 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 -763
- 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 -511
- package/src/components/data-display/Carousel/Carousel.stories.tsx +0 -607
- package/src/components/data-display/Carousel/Carousel.test.stories.tsx +0 -701
- 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 -1105
- 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 -964
- 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 -973
- 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 -915
- 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 -915
- 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 -754
- 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 -474
- 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 -759
- 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,468 +0,0 @@
|
|
|
1
|
-
import Delete from '@mui/icons-material/Delete';
|
|
2
|
-
import Help from '@mui/icons-material/Help';
|
|
3
|
-
import Info from '@mui/icons-material/Info';
|
|
4
|
-
import Settings from '@mui/icons-material/Settings';
|
|
5
|
-
import { Avatar, Box, Button, IconButton, Stack, Typography } from '@mui/material';
|
|
6
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
7
|
-
|
|
8
|
-
import { Tooltip } from './Tooltip';
|
|
9
|
-
|
|
10
|
-
const meta: Meta<typeof Tooltip> = {
|
|
11
|
-
title: 'DataDisplay/Tooltip',
|
|
12
|
-
component: Tooltip,
|
|
13
|
-
parameters: {
|
|
14
|
-
layout: 'centered',
|
|
15
|
-
},
|
|
16
|
-
tags: ['autodocs', 'component:Tooltip'],
|
|
17
|
-
argTypes: {
|
|
18
|
-
variant: {
|
|
19
|
-
control: { type: 'select' },
|
|
20
|
-
options: ['default', 'dark', 'light', 'glass'],
|
|
21
|
-
},
|
|
22
|
-
size: {
|
|
23
|
-
control: { type: 'select' },
|
|
24
|
-
options: ['sm', 'md', 'lg'],
|
|
25
|
-
},
|
|
26
|
-
placement: {
|
|
27
|
-
control: { type: 'select' },
|
|
28
|
-
options: ['top', 'bottom', 'left', 'right'],
|
|
29
|
-
},
|
|
30
|
-
glow: {
|
|
31
|
-
control: { type: 'boolean' },
|
|
32
|
-
},
|
|
33
|
-
pulse: {
|
|
34
|
-
control: { type: 'boolean' },
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export default meta;
|
|
40
|
-
type Story = StoryObj<typeof meta>;
|
|
41
|
-
|
|
42
|
-
// Basic examples
|
|
43
|
-
export const Default: Story = {
|
|
44
|
-
args: {
|
|
45
|
-
title: 'This is a helpful tooltip',
|
|
46
|
-
children: <Button variant="outlined">Hover me</Button>,
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export const WithIcon: Story = {
|
|
51
|
-
args: {
|
|
52
|
-
title: 'Click for more information',
|
|
53
|
-
children: (
|
|
54
|
-
<IconButton>
|
|
55
|
-
<Help />
|
|
56
|
-
</IconButton>
|
|
57
|
-
),
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
// Variants
|
|
62
|
-
export const Variants: Story = {
|
|
63
|
-
render: () => (
|
|
64
|
-
<Stack direction="row" spacing={3}>
|
|
65
|
-
<Tooltip variant="default" title="Default tooltip">
|
|
66
|
-
<Button variant="outlined">Default</Button>
|
|
67
|
-
</Tooltip>
|
|
68
|
-
<Tooltip variant="dark" title="Dark tooltip">
|
|
69
|
-
<Button variant="outlined">Dark</Button>
|
|
70
|
-
</Tooltip>
|
|
71
|
-
<Tooltip variant="light" title="Light tooltip">
|
|
72
|
-
<Button variant="outlined">Light</Button>
|
|
73
|
-
</Tooltip>
|
|
74
|
-
<Tooltip variant="glass" title="Glass tooltip">
|
|
75
|
-
<Button variant="outlined">Glass</Button>
|
|
76
|
-
</Tooltip>
|
|
77
|
-
</Stack>
|
|
78
|
-
),
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
// Sizes
|
|
82
|
-
export const Sizes: Story = {
|
|
83
|
-
render: () => (
|
|
84
|
-
<Stack direction="row" spacing={3}>
|
|
85
|
-
<Tooltip size="sm" title="Small tooltip">
|
|
86
|
-
<Button variant="outlined" size="small">
|
|
87
|
-
Small
|
|
88
|
-
</Button>
|
|
89
|
-
</Tooltip>
|
|
90
|
-
<Tooltip size="md" title="Medium tooltip">
|
|
91
|
-
<Button variant="outlined">Medium</Button>
|
|
92
|
-
</Tooltip>
|
|
93
|
-
<Tooltip size="lg" title="Large tooltip">
|
|
94
|
-
<Button variant="outlined" size="large">
|
|
95
|
-
Large
|
|
96
|
-
</Button>
|
|
97
|
-
</Tooltip>
|
|
98
|
-
</Stack>
|
|
99
|
-
),
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
// Placements
|
|
103
|
-
export const Placements: Story = {
|
|
104
|
-
render: () => (
|
|
105
|
-
<Box
|
|
106
|
-
sx={{
|
|
107
|
-
display: 'grid',
|
|
108
|
-
gridTemplateColumns: 'repeat(3, 1fr)',
|
|
109
|
-
gap: 3,
|
|
110
|
-
width: 300,
|
|
111
|
-
height: 200,
|
|
112
|
-
}}
|
|
113
|
-
>
|
|
114
|
-
<Box />
|
|
115
|
-
<Tooltip placement="top" title="Top tooltip">
|
|
116
|
-
<Button variant="outlined" fullWidth>
|
|
117
|
-
Top
|
|
118
|
-
</Button>
|
|
119
|
-
</Tooltip>
|
|
120
|
-
<Box />
|
|
121
|
-
|
|
122
|
-
<Tooltip placement="left" title="Left tooltip">
|
|
123
|
-
<Button variant="outlined" fullWidth>
|
|
124
|
-
Left
|
|
125
|
-
</Button>
|
|
126
|
-
</Tooltip>
|
|
127
|
-
<Box />
|
|
128
|
-
<Tooltip placement="right" title="Right tooltip">
|
|
129
|
-
<Button variant="outlined" fullWidth>
|
|
130
|
-
Right
|
|
131
|
-
</Button>
|
|
132
|
-
</Tooltip>
|
|
133
|
-
|
|
134
|
-
<Box />
|
|
135
|
-
<Tooltip placement="bottom" title="Bottom tooltip">
|
|
136
|
-
<Button variant="outlined" fullWidth>
|
|
137
|
-
Bottom
|
|
138
|
-
</Button>
|
|
139
|
-
</Tooltip>
|
|
140
|
-
<Box />
|
|
141
|
-
</Box>
|
|
142
|
-
),
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
// With effects
|
|
146
|
-
export const WithGlow: Story = {
|
|
147
|
-
args: {
|
|
148
|
-
variant: 'dark',
|
|
149
|
-
glow: true,
|
|
150
|
-
title: 'This tooltip has a glow effect',
|
|
151
|
-
children: (
|
|
152
|
-
<Button variant="contained" color="primary">
|
|
153
|
-
Glow Effect
|
|
154
|
-
</Button>
|
|
155
|
-
),
|
|
156
|
-
},
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
export const WithPulse: Story = {
|
|
160
|
-
args: {
|
|
161
|
-
variant: 'light',
|
|
162
|
-
pulse: true,
|
|
163
|
-
title: 'This tooltip pulses to grab attention',
|
|
164
|
-
children: (
|
|
165
|
-
<Button variant="contained" color="warning">
|
|
166
|
-
Pulse Effect
|
|
167
|
-
</Button>
|
|
168
|
-
),
|
|
169
|
-
},
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
export const WithGlowAndPulse: Story = {
|
|
173
|
-
args: {
|
|
174
|
-
variant: 'glass',
|
|
175
|
-
glow: true,
|
|
176
|
-
pulse: true,
|
|
177
|
-
title: 'This tooltip combines both effects',
|
|
178
|
-
children: (
|
|
179
|
-
<Button variant="contained" color="secondary">
|
|
180
|
-
Combined Effects
|
|
181
|
-
</Button>
|
|
182
|
-
),
|
|
183
|
-
},
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
// Complex tooltips
|
|
187
|
-
export const ComplexTooltip: Story = {
|
|
188
|
-
args: {
|
|
189
|
-
variant: 'light',
|
|
190
|
-
size: 'lg',
|
|
191
|
-
title: (
|
|
192
|
-
<Box>
|
|
193
|
-
<Typography variant="subtitle2" sx={{ fontWeight: 600, mb: 1 }}>
|
|
194
|
-
Advanced Settings
|
|
195
|
-
</Typography>
|
|
196
|
-
<Typography variant="body2" sx={{ mb: 1 }}>
|
|
197
|
-
Configure advanced options for this feature.
|
|
198
|
-
</Typography>
|
|
199
|
-
<ul style={{ margin: 0, paddingLeft: 16, fontSize: '0.875rem' }}>
|
|
200
|
-
<li>Enable notifications</li>
|
|
201
|
-
<li>Set custom thresholds</li>
|
|
202
|
-
<li>Configure automation</li>
|
|
203
|
-
</ul>
|
|
204
|
-
</Box>
|
|
205
|
-
),
|
|
206
|
-
children: (
|
|
207
|
-
<IconButton>
|
|
208
|
-
<Settings />
|
|
209
|
-
</IconButton>
|
|
210
|
-
),
|
|
211
|
-
},
|
|
212
|
-
};
|
|
213
|
-
|
|
214
|
-
// Real-world examples
|
|
215
|
-
export const UserInterface: Story = {
|
|
216
|
-
render: () => (
|
|
217
|
-
<Stack direction="row" spacing={2} alignItems="center">
|
|
218
|
-
<Tooltip title="User profile and settings">
|
|
219
|
-
<Avatar
|
|
220
|
-
src="https://images.unsplash.com/photo-1494790108755-2616b612b789?w=150&h=150&fit=crop&crop=face"
|
|
221
|
-
alt="User"
|
|
222
|
-
sx={{ cursor: 'pointer' }}
|
|
223
|
-
/>
|
|
224
|
-
</Tooltip>
|
|
225
|
-
|
|
226
|
-
<Tooltip title="Get help and support" variant="light">
|
|
227
|
-
<IconButton>
|
|
228
|
-
<Help />
|
|
229
|
-
</IconButton>
|
|
230
|
-
</Tooltip>
|
|
231
|
-
|
|
232
|
-
<Tooltip title="View system information" variant="glass">
|
|
233
|
-
<IconButton>
|
|
234
|
-
<Info />
|
|
235
|
-
</IconButton>
|
|
236
|
-
</Tooltip>
|
|
237
|
-
|
|
238
|
-
<Tooltip
|
|
239
|
-
title="This action cannot be undone. All data will be permanently deleted."
|
|
240
|
-
variant="dark"
|
|
241
|
-
placement="left"
|
|
242
|
-
glow
|
|
243
|
-
>
|
|
244
|
-
<IconButton color="error">
|
|
245
|
-
<Delete />
|
|
246
|
-
</IconButton>
|
|
247
|
-
</Tooltip>
|
|
248
|
-
</Stack>
|
|
249
|
-
),
|
|
250
|
-
};
|
|
251
|
-
|
|
252
|
-
export const FormHelp: Story = {
|
|
253
|
-
render: () => (
|
|
254
|
-
<Stack spacing={3} sx={{ width: 400 }}>
|
|
255
|
-
<Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>
|
|
256
|
-
<Typography variant="subtitle2">Email Address</Typography>
|
|
257
|
-
<Tooltip
|
|
258
|
-
title="We'll use this email to send you important updates and notifications"
|
|
259
|
-
variant="light"
|
|
260
|
-
size="sm"
|
|
261
|
-
>
|
|
262
|
-
<Help fontSize="small" sx={{ color: 'text.secondary', cursor: 'pointer' }} />
|
|
263
|
-
</Tooltip>
|
|
264
|
-
</Box>
|
|
265
|
-
|
|
266
|
-
<Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>
|
|
267
|
-
<Typography variant="subtitle2">Password</Typography>
|
|
268
|
-
<Tooltip
|
|
269
|
-
title="Password must be at least 8 characters long and include uppercase, lowercase, number, and special character"
|
|
270
|
-
variant="glass"
|
|
271
|
-
maxWidth={250}
|
|
272
|
-
>
|
|
273
|
-
<Help fontSize="small" sx={{ color: 'text.secondary', cursor: 'pointer' }} />
|
|
274
|
-
</Tooltip>
|
|
275
|
-
</Box>
|
|
276
|
-
|
|
277
|
-
<Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>
|
|
278
|
-
<Typography variant="subtitle2">Two-Factor Authentication</Typography>
|
|
279
|
-
<Tooltip
|
|
280
|
-
title="Adds an extra layer of security to your account by requiring a second form of verification"
|
|
281
|
-
variant="dark"
|
|
282
|
-
glow
|
|
283
|
-
>
|
|
284
|
-
<Help fontSize="small" sx={{ color: 'text.secondary', cursor: 'pointer' }} />
|
|
285
|
-
</Tooltip>
|
|
286
|
-
</Box>
|
|
287
|
-
</Stack>
|
|
288
|
-
),
|
|
289
|
-
};
|
|
290
|
-
|
|
291
|
-
// Interactive features
|
|
292
|
-
export const InteractiveTooltips: Story = {
|
|
293
|
-
render: () => (
|
|
294
|
-
<Stack direction="row" spacing={3}>
|
|
295
|
-
<Tooltip title="This tooltip appears quickly" enterDelay={100} leaveDelay={0}>
|
|
296
|
-
<Button variant="outlined">Fast</Button>
|
|
297
|
-
</Tooltip>
|
|
298
|
-
|
|
299
|
-
<Tooltip title="This tooltip has a longer delay" enterDelay={1000} leaveDelay={200}>
|
|
300
|
-
<Button variant="outlined">Slow</Button>
|
|
301
|
-
</Tooltip>
|
|
302
|
-
|
|
303
|
-
<Tooltip
|
|
304
|
-
title="This tooltip stays open longer"
|
|
305
|
-
enterDelay={500}
|
|
306
|
-
leaveDelay={1000}
|
|
307
|
-
variant="glass"
|
|
308
|
-
pulse
|
|
309
|
-
>
|
|
310
|
-
<Button variant="outlined">Persistent</Button>
|
|
311
|
-
</Tooltip>
|
|
312
|
-
</Stack>
|
|
313
|
-
),
|
|
314
|
-
};
|
|
315
|
-
|
|
316
|
-
// Long text handling
|
|
317
|
-
export const LongText: Story = {
|
|
318
|
-
args: {
|
|
319
|
-
variant: 'light',
|
|
320
|
-
size: 'md',
|
|
321
|
-
maxWidth: 200,
|
|
322
|
-
title:
|
|
323
|
-
'This is a very long tooltip text that should wrap nicely within the maximum width constraints. It demonstrates how the tooltip handles longer content.',
|
|
324
|
-
children: <Button variant="outlined">Long Tooltip</Button>,
|
|
325
|
-
},
|
|
326
|
-
};
|
|
327
|
-
|
|
328
|
-
// Required comprehensive stories
|
|
329
|
-
export const AllVariants: Story = {
|
|
330
|
-
render: () => (
|
|
331
|
-
<Stack spacing={3}>
|
|
332
|
-
<Typography variant="h6">All Tooltip Variants</Typography>
|
|
333
|
-
<Stack direction="row" spacing={3} flexWrap="wrap">
|
|
334
|
-
<Tooltip variant="default" title="Default variant tooltip">
|
|
335
|
-
<Button variant="outlined">Default</Button>
|
|
336
|
-
</Tooltip>
|
|
337
|
-
<Tooltip variant="dark" title="Dark variant tooltip">
|
|
338
|
-
<Button variant="outlined">Dark</Button>
|
|
339
|
-
</Tooltip>
|
|
340
|
-
<Tooltip variant="light" title="Light variant tooltip">
|
|
341
|
-
<Button variant="outlined">Light</Button>
|
|
342
|
-
</Tooltip>
|
|
343
|
-
<Tooltip variant="glass" title="Glass variant tooltip">
|
|
344
|
-
<Button variant="outlined">Glass</Button>
|
|
345
|
-
</Tooltip>
|
|
346
|
-
</Stack>
|
|
347
|
-
</Stack>
|
|
348
|
-
),
|
|
349
|
-
};
|
|
350
|
-
|
|
351
|
-
export const AllSizes: Story = {
|
|
352
|
-
render: () => (
|
|
353
|
-
<Stack spacing={3}>
|
|
354
|
-
<Typography variant="h6">All Tooltip Sizes</Typography>
|
|
355
|
-
<Stack direction="row" spacing={3}>
|
|
356
|
-
<Tooltip size="sm" title="Small size tooltip">
|
|
357
|
-
<Button variant="outlined" size="small">
|
|
358
|
-
Small
|
|
359
|
-
</Button>
|
|
360
|
-
</Tooltip>
|
|
361
|
-
<Tooltip size="md" title="Medium size tooltip">
|
|
362
|
-
<Button variant="outlined">Medium</Button>
|
|
363
|
-
</Tooltip>
|
|
364
|
-
<Tooltip size="lg" title="Large size tooltip">
|
|
365
|
-
<Button variant="outlined" size="large">
|
|
366
|
-
Large
|
|
367
|
-
</Button>
|
|
368
|
-
</Tooltip>
|
|
369
|
-
</Stack>
|
|
370
|
-
</Stack>
|
|
371
|
-
),
|
|
372
|
-
};
|
|
373
|
-
|
|
374
|
-
export const AllStates: Story = {
|
|
375
|
-
render: () => (
|
|
376
|
-
<Stack spacing={3}>
|
|
377
|
-
<Typography variant="h6">All Tooltip States</Typography>
|
|
378
|
-
<Stack direction="row" spacing={3} flexWrap="wrap">
|
|
379
|
-
<Tooltip title="Normal state tooltip">
|
|
380
|
-
<Button variant="outlined">Normal</Button>
|
|
381
|
-
</Tooltip>
|
|
382
|
-
<Tooltip title="Tooltip with glow effect" glow>
|
|
383
|
-
<Button variant="outlined">With Glow</Button>
|
|
384
|
-
</Tooltip>
|
|
385
|
-
<Tooltip title="Tooltip with pulse effect" pulse>
|
|
386
|
-
<Button variant="outlined">With Pulse</Button>
|
|
387
|
-
</Tooltip>
|
|
388
|
-
<Tooltip title="Tooltip with both effects" glow pulse>
|
|
389
|
-
<Button variant="outlined">Glow + Pulse</Button>
|
|
390
|
-
</Tooltip>
|
|
391
|
-
<Tooltip title="Disabled element">
|
|
392
|
-
<span>
|
|
393
|
-
<Button variant="outlined" disabled>
|
|
394
|
-
Disabled
|
|
395
|
-
</Button>
|
|
396
|
-
</span>
|
|
397
|
-
</Tooltip>
|
|
398
|
-
</Stack>
|
|
399
|
-
</Stack>
|
|
400
|
-
),
|
|
401
|
-
};
|
|
402
|
-
|
|
403
|
-
export const InteractiveStates: Story = {
|
|
404
|
-
render: () => (
|
|
405
|
-
<Stack spacing={3}>
|
|
406
|
-
<Typography variant="h6">Interactive Tooltip States</Typography>
|
|
407
|
-
<Stack direction="row" spacing={3} flexWrap="wrap">
|
|
408
|
-
<Tooltip title="Hover to see tooltip" enterDelay={0} leaveDelay={0}>
|
|
409
|
-
<Button variant="outlined">Instant</Button>
|
|
410
|
-
</Tooltip>
|
|
411
|
-
<Tooltip title="Delayed tooltip" enterDelay={500} leaveDelay={200}>
|
|
412
|
-
<Button variant="outlined">Delayed</Button>
|
|
413
|
-
</Tooltip>
|
|
414
|
-
<Tooltip title="Click to toggle" enterTouchDelay={0}>
|
|
415
|
-
<Button variant="outlined">Touch/Click</Button>
|
|
416
|
-
</Tooltip>
|
|
417
|
-
<Tooltip title="Focus to see tooltip" enterDelay={0}>
|
|
418
|
-
<Button variant="outlined">Focus</Button>
|
|
419
|
-
</Tooltip>
|
|
420
|
-
</Stack>
|
|
421
|
-
</Stack>
|
|
422
|
-
),
|
|
423
|
-
};
|
|
424
|
-
|
|
425
|
-
export const Responsive: Story = {
|
|
426
|
-
parameters: {
|
|
427
|
-
viewport: {
|
|
428
|
-
viewports: {
|
|
429
|
-
mobile: { name: 'Mobile', styles: { width: '360px', height: '640px' } },
|
|
430
|
-
tablet: { name: 'Tablet', styles: { width: '768px', height: '1024px' } },
|
|
431
|
-
desktop: { name: 'Desktop', styles: { width: '1920px', height: '1080px' } },
|
|
432
|
-
},
|
|
433
|
-
},
|
|
434
|
-
},
|
|
435
|
-
render: () => (
|
|
436
|
-
<Stack spacing={3} sx={{ p: 2 }}>
|
|
437
|
-
<Typography variant="h6">Responsive Tooltips</Typography>
|
|
438
|
-
<Box
|
|
439
|
-
sx={{
|
|
440
|
-
display: 'grid',
|
|
441
|
-
gridTemplateColumns: { xs: '1fr', sm: '1fr 1fr', md: 'repeat(4, 1fr)' },
|
|
442
|
-
gap: 2,
|
|
443
|
-
}}
|
|
444
|
-
>
|
|
445
|
-
<Tooltip title="Responsive tooltip on mobile" placement="bottom">
|
|
446
|
-
<Button variant="outlined" fullWidth>
|
|
447
|
-
Mobile
|
|
448
|
-
</Button>
|
|
449
|
-
</Tooltip>
|
|
450
|
-
<Tooltip title="Responsive tooltip on tablet" placement="top">
|
|
451
|
-
<Button variant="outlined" fullWidth>
|
|
452
|
-
Tablet
|
|
453
|
-
</Button>
|
|
454
|
-
</Tooltip>
|
|
455
|
-
<Tooltip title="Responsive tooltip on desktop" placement="right">
|
|
456
|
-
<Button variant="outlined" fullWidth>
|
|
457
|
-
Desktop
|
|
458
|
-
</Button>
|
|
459
|
-
</Tooltip>
|
|
460
|
-
<Tooltip title="Adaptive placement" placement="auto">
|
|
461
|
-
<Button variant="outlined" fullWidth>
|
|
462
|
-
Adaptive
|
|
463
|
-
</Button>
|
|
464
|
-
</Tooltip>
|
|
465
|
-
</Box>
|
|
466
|
-
</Stack>
|
|
467
|
-
),
|
|
468
|
-
};
|