@12-apps/ui 1.5.0 → 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 +16 -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 -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,665 +0,0 @@
|
|
|
1
|
-
import Business from '@mui/icons-material/Business';
|
|
2
|
-
import Home from '@mui/icons-material/Home';
|
|
3
|
-
import LocalShipping from '@mui/icons-material/LocalShipping';
|
|
4
|
-
import { Alert,Box, Paper, Stack, Typography } from '@mui/material';
|
|
5
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
6
|
-
import React from 'react';
|
|
7
|
-
|
|
8
|
-
import { AddressAutocomplete } from './AddressAutocomplete';
|
|
9
|
-
import type { AddressDetails } from './AddressAutocomplete.types';
|
|
10
|
-
|
|
11
|
-
const meta: Meta<typeof AddressAutocomplete> = {
|
|
12
|
-
title: 'Form/AddressAutocomplete',
|
|
13
|
-
component: AddressAutocomplete,
|
|
14
|
-
parameters: {
|
|
15
|
-
layout: 'padded',
|
|
16
|
-
docs: {
|
|
17
|
-
description: {
|
|
18
|
-
component:
|
|
19
|
-
'An advanced address autocomplete component with Google Maps integration, current location support, and beautiful glass morphism effects.',
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
tags: ['autodocs', 'component:AddressAutocomplete'],
|
|
24
|
-
argTypes: {
|
|
25
|
-
variant: {
|
|
26
|
-
control: { type: 'select' },
|
|
27
|
-
options: ['glass', 'outlined', 'filled'],
|
|
28
|
-
description: 'Visual style variant of the input field',
|
|
29
|
-
},
|
|
30
|
-
label: {
|
|
31
|
-
control: 'text',
|
|
32
|
-
description: 'Label for the input field',
|
|
33
|
-
},
|
|
34
|
-
placeholder: {
|
|
35
|
-
control: 'text',
|
|
36
|
-
description: 'Placeholder text when field is empty',
|
|
37
|
-
},
|
|
38
|
-
error: {
|
|
39
|
-
control: 'boolean',
|
|
40
|
-
description: 'Shows error state',
|
|
41
|
-
},
|
|
42
|
-
helperText: {
|
|
43
|
-
control: 'text',
|
|
44
|
-
description: 'Helper text displayed below the input',
|
|
45
|
-
},
|
|
46
|
-
disabled: {
|
|
47
|
-
control: 'boolean',
|
|
48
|
-
description: 'Disables the input field',
|
|
49
|
-
},
|
|
50
|
-
required: {
|
|
51
|
-
control: 'boolean',
|
|
52
|
-
description: 'Marks the field as required',
|
|
53
|
-
},
|
|
54
|
-
fullWidth: {
|
|
55
|
-
control: 'boolean',
|
|
56
|
-
description: 'Makes the input take full width of container',
|
|
57
|
-
},
|
|
58
|
-
floating: {
|
|
59
|
-
control: 'boolean',
|
|
60
|
-
description: 'Uses floating label style',
|
|
61
|
-
},
|
|
62
|
-
getCurrentLocation: {
|
|
63
|
-
control: 'boolean',
|
|
64
|
-
description: 'Shows button to use current location',
|
|
65
|
-
},
|
|
66
|
-
googleMapsApiKey: {
|
|
67
|
-
control: 'text',
|
|
68
|
-
description: 'Google Maps API key for autocomplete functionality',
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
export default meta;
|
|
74
|
-
type Story = StoryObj<typeof meta>;
|
|
75
|
-
|
|
76
|
-
const handleAddressSelect = () => {
|
|
77
|
-
// Handle address selection
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
export const Default: Story = {
|
|
81
|
-
args: {
|
|
82
|
-
label: 'Delivery Address',
|
|
83
|
-
placeholder: 'Enter your delivery address',
|
|
84
|
-
googleMapsApiKey: 'demo-key',
|
|
85
|
-
onSelect: handleAddressSelect,
|
|
86
|
-
},
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
export const GlassVariant: Story = {
|
|
90
|
-
args: {
|
|
91
|
-
variant: 'glass',
|
|
92
|
-
label: 'Address',
|
|
93
|
-
placeholder: 'Search for an address...',
|
|
94
|
-
googleMapsApiKey: 'demo-key',
|
|
95
|
-
onSelect: handleAddressSelect,
|
|
96
|
-
getCurrentLocation: true,
|
|
97
|
-
},
|
|
98
|
-
render: (args) => (
|
|
99
|
-
<Box
|
|
100
|
-
sx={{
|
|
101
|
-
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
|
102
|
-
p: 6,
|
|
103
|
-
borderRadius: 2,
|
|
104
|
-
}}
|
|
105
|
-
>
|
|
106
|
-
<AddressAutocomplete {...args} />
|
|
107
|
-
</Box>
|
|
108
|
-
),
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
export const WithCurrentLocation: Story = {
|
|
112
|
-
args: {
|
|
113
|
-
variant: 'outlined',
|
|
114
|
-
label: 'Location',
|
|
115
|
-
placeholder: 'Enter location or use current',
|
|
116
|
-
getCurrentLocation: true,
|
|
117
|
-
googleMapsApiKey: 'demo-key',
|
|
118
|
-
onSelect: handleAddressSelect,
|
|
119
|
-
},
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
const MultipleAddressInputsComponent = () => {
|
|
123
|
-
const [selectedAddresses, setSelectedAddresses] = React.useState<{
|
|
124
|
-
home?: AddressDetails;
|
|
125
|
-
work?: AddressDetails;
|
|
126
|
-
shipping?: AddressDetails;
|
|
127
|
-
}>({});
|
|
128
|
-
|
|
129
|
-
return (
|
|
130
|
-
<Stack spacing={4}>
|
|
131
|
-
<Typography variant="h6">Manage Your Addresses</Typography>
|
|
132
|
-
|
|
133
|
-
<Paper elevation={2} sx={{ p: 3 }}>
|
|
134
|
-
<Stack spacing={3}>
|
|
135
|
-
<Typography variant="subtitle1" color="primary">
|
|
136
|
-
<Home sx={{ mr: 1, verticalAlign: 'middle' }} />
|
|
137
|
-
Home Address
|
|
138
|
-
</Typography>
|
|
139
|
-
<AddressAutocomplete
|
|
140
|
-
variant="outlined"
|
|
141
|
-
label="Home Address"
|
|
142
|
-
placeholder="Enter your home address"
|
|
143
|
-
icon={<Home />}
|
|
144
|
-
googleMapsApiKey="demo-key"
|
|
145
|
-
onSelect={(address) => {
|
|
146
|
-
setSelectedAddresses((prev) => ({ ...prev, home: address }));
|
|
147
|
-
}}
|
|
148
|
-
helperText="This will be your default address"
|
|
149
|
-
/>
|
|
150
|
-
{selectedAddresses.home && (
|
|
151
|
-
<Alert severity="success" variant="outlined">
|
|
152
|
-
Home address set: {selectedAddresses.home.formatted}
|
|
153
|
-
</Alert>
|
|
154
|
-
)}
|
|
155
|
-
</Stack>
|
|
156
|
-
</Paper>
|
|
157
|
-
|
|
158
|
-
<Paper elevation={2} sx={{ p: 3 }}>
|
|
159
|
-
<Stack spacing={3}>
|
|
160
|
-
<Typography variant="subtitle1" color="primary">
|
|
161
|
-
<Business sx={{ mr: 1, verticalAlign: 'middle' }} />
|
|
162
|
-
Work Address
|
|
163
|
-
</Typography>
|
|
164
|
-
<AddressAutocomplete
|
|
165
|
-
variant="outlined"
|
|
166
|
-
label="Work Address"
|
|
167
|
-
placeholder="Enter your work address"
|
|
168
|
-
icon={<Business />}
|
|
169
|
-
googleMapsApiKey="demo-key"
|
|
170
|
-
onSelect={(address) => {
|
|
171
|
-
setSelectedAddresses((prev) => ({ ...prev, work: address }));
|
|
172
|
-
}}
|
|
173
|
-
/>
|
|
174
|
-
{selectedAddresses.work && (
|
|
175
|
-
<Alert severity="success" variant="outlined">
|
|
176
|
-
Work address set: {selectedAddresses.work.formatted}
|
|
177
|
-
</Alert>
|
|
178
|
-
)}
|
|
179
|
-
</Stack>
|
|
180
|
-
</Paper>
|
|
181
|
-
|
|
182
|
-
<Paper elevation={2} sx={{ p: 3 }}>
|
|
183
|
-
<Stack spacing={3}>
|
|
184
|
-
<Typography variant="subtitle1" color="primary">
|
|
185
|
-
<LocalShipping sx={{ mr: 1, verticalAlign: 'middle' }} />
|
|
186
|
-
Shipping Address
|
|
187
|
-
</Typography>
|
|
188
|
-
<AddressAutocomplete
|
|
189
|
-
variant="filled"
|
|
190
|
-
label="Shipping Address"
|
|
191
|
-
placeholder="Where should we deliver?"
|
|
192
|
-
icon={<LocalShipping />}
|
|
193
|
-
googleMapsApiKey="demo-key"
|
|
194
|
-
getCurrentLocation={true}
|
|
195
|
-
onSelect={(address) => {
|
|
196
|
-
setSelectedAddresses((prev) => ({ ...prev, shipping: address }));
|
|
197
|
-
}}
|
|
198
|
-
helperText="We deliver to this address"
|
|
199
|
-
/>
|
|
200
|
-
{selectedAddresses.shipping && (
|
|
201
|
-
<Alert severity="success" variant="outlined">
|
|
202
|
-
Shipping address set: {selectedAddresses.shipping.formatted}
|
|
203
|
-
</Alert>
|
|
204
|
-
)}
|
|
205
|
-
</Stack>
|
|
206
|
-
</Paper>
|
|
207
|
-
</Stack>
|
|
208
|
-
);
|
|
209
|
-
};
|
|
210
|
-
|
|
211
|
-
export const MultipleAddressInputs: Story = {
|
|
212
|
-
render: () => <MultipleAddressInputsComponent />,
|
|
213
|
-
};
|
|
214
|
-
|
|
215
|
-
const WithValidationComponent = () => {
|
|
216
|
-
const [address, setAddress] = React.useState<AddressDetails | null>(null);
|
|
217
|
-
const [error, setError] = React.useState(false);
|
|
218
|
-
const [helperText, setHelperText] = React.useState('');
|
|
219
|
-
|
|
220
|
-
const handleSubmit = () => {
|
|
221
|
-
if (!address) {
|
|
222
|
-
setError(true);
|
|
223
|
-
setHelperText('Please select a valid address');
|
|
224
|
-
} else {
|
|
225
|
-
setError(false);
|
|
226
|
-
setHelperText('');
|
|
227
|
-
// eslint-disable-next-line no-console -- demo output for the Storybook docs page
|
|
228
|
-
console.log(`Address confirmed: ${address.formatted}`);
|
|
229
|
-
}
|
|
230
|
-
};
|
|
231
|
-
|
|
232
|
-
return (
|
|
233
|
-
<Stack spacing={3} sx={{ maxWidth: 500 }}>
|
|
234
|
-
<Typography variant="h6">Address Validation Example</Typography>
|
|
235
|
-
<AddressAutocomplete
|
|
236
|
-
variant="outlined"
|
|
237
|
-
label="Delivery Address"
|
|
238
|
-
placeholder="Enter a valid address"
|
|
239
|
-
googleMapsApiKey="demo-key"
|
|
240
|
-
required
|
|
241
|
-
error={error}
|
|
242
|
-
helperText={helperText}
|
|
243
|
-
onSelect={(addr) => {
|
|
244
|
-
setAddress(addr);
|
|
245
|
-
setError(false);
|
|
246
|
-
setHelperText('');
|
|
247
|
-
}}
|
|
248
|
-
/>
|
|
249
|
-
<button onClick={handleSubmit}>Submit Address</button>
|
|
250
|
-
|
|
251
|
-
{address && !error && (
|
|
252
|
-
<Paper sx={{ p: 2, bgcolor: 'grey.50' }}>
|
|
253
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
254
|
-
Selected Address Details:
|
|
255
|
-
</Typography>
|
|
256
|
-
<Typography variant="body2">Street: {address.street}</Typography>
|
|
257
|
-
<Typography variant="body2">City: {address.city}</Typography>
|
|
258
|
-
<Typography variant="body2">State: {address.state}</Typography>
|
|
259
|
-
<Typography variant="body2">Postal Code: {address.postalCode}</Typography>
|
|
260
|
-
<Typography variant="body2">
|
|
261
|
-
Coordinates: {address.coordinates.lat}, {address.coordinates.lng}
|
|
262
|
-
</Typography>
|
|
263
|
-
</Paper>
|
|
264
|
-
)}
|
|
265
|
-
</Stack>
|
|
266
|
-
);
|
|
267
|
-
};
|
|
268
|
-
|
|
269
|
-
export const WithValidation: Story = {
|
|
270
|
-
render: () => <WithValidationComponent />,
|
|
271
|
-
};
|
|
272
|
-
|
|
273
|
-
export const RestrictedCountries: Story = {
|
|
274
|
-
args: {
|
|
275
|
-
variant: 'outlined',
|
|
276
|
-
label: 'US Address Only',
|
|
277
|
-
placeholder: 'Enter a US address',
|
|
278
|
-
googleMapsApiKey: 'demo-key',
|
|
279
|
-
onSelect: handleAddressSelect,
|
|
280
|
-
restrictions: {
|
|
281
|
-
country: ['us'],
|
|
282
|
-
},
|
|
283
|
-
helperText: 'Only addresses in the United States are allowed',
|
|
284
|
-
},
|
|
285
|
-
};
|
|
286
|
-
|
|
287
|
-
export const BusinessAddresses: Story = {
|
|
288
|
-
args: {
|
|
289
|
-
variant: 'outlined',
|
|
290
|
-
label: 'Business Location',
|
|
291
|
-
placeholder: 'Search for businesses',
|
|
292
|
-
icon: <Business />,
|
|
293
|
-
googleMapsApiKey: 'demo-key',
|
|
294
|
-
onSelect: handleAddressSelect,
|
|
295
|
-
restrictions: {
|
|
296
|
-
types: ['establishment'],
|
|
297
|
-
},
|
|
298
|
-
helperText: 'Search for business locations only',
|
|
299
|
-
},
|
|
300
|
-
};
|
|
301
|
-
|
|
302
|
-
export const FloatingLabel: Story = {
|
|
303
|
-
args: {
|
|
304
|
-
variant: 'outlined',
|
|
305
|
-
label: 'Floating Label Address',
|
|
306
|
-
placeholder: 'Start typing...',
|
|
307
|
-
floating: true,
|
|
308
|
-
googleMapsApiKey: 'demo-key',
|
|
309
|
-
onSelect: handleAddressSelect,
|
|
310
|
-
},
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
export const DisabledState: Story = {
|
|
314
|
-
args: {
|
|
315
|
-
variant: 'outlined',
|
|
316
|
-
label: 'Address',
|
|
317
|
-
placeholder: 'This field is disabled',
|
|
318
|
-
disabled: true,
|
|
319
|
-
googleMapsApiKey: 'demo-key',
|
|
320
|
-
onSelect: handleAddressSelect,
|
|
321
|
-
defaultValue: '123 Main St, San Francisco, CA',
|
|
322
|
-
},
|
|
323
|
-
};
|
|
324
|
-
|
|
325
|
-
export const CustomIcons: Story = {
|
|
326
|
-
render: () => (
|
|
327
|
-
<Stack spacing={3}>
|
|
328
|
-
<AddressAutocomplete
|
|
329
|
-
variant="outlined"
|
|
330
|
-
label="Home"
|
|
331
|
-
icon={<Home />}
|
|
332
|
-
googleMapsApiKey="demo-key"
|
|
333
|
-
onSelect={handleAddressSelect}
|
|
334
|
-
/>
|
|
335
|
-
<AddressAutocomplete
|
|
336
|
-
variant="outlined"
|
|
337
|
-
label="Office"
|
|
338
|
-
icon={<Business />}
|
|
339
|
-
googleMapsApiKey="demo-key"
|
|
340
|
-
onSelect={handleAddressSelect}
|
|
341
|
-
/>
|
|
342
|
-
<AddressAutocomplete
|
|
343
|
-
variant="outlined"
|
|
344
|
-
label="Delivery"
|
|
345
|
-
icon={<LocalShipping />}
|
|
346
|
-
googleMapsApiKey="demo-key"
|
|
347
|
-
onSelect={handleAddressSelect}
|
|
348
|
-
/>
|
|
349
|
-
</Stack>
|
|
350
|
-
),
|
|
351
|
-
};
|
|
352
|
-
|
|
353
|
-
// Required story exports for validation
|
|
354
|
-
export const AllVariants: Story = {
|
|
355
|
-
render: () => (
|
|
356
|
-
<Stack spacing={3}>
|
|
357
|
-
<Typography variant="h6" gutterBottom>
|
|
358
|
-
All Variants
|
|
359
|
-
</Typography>
|
|
360
|
-
|
|
361
|
-
<Box>
|
|
362
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
363
|
-
Glass Variant
|
|
364
|
-
</Typography>
|
|
365
|
-
<Box
|
|
366
|
-
sx={{
|
|
367
|
-
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
|
368
|
-
p: 3,
|
|
369
|
-
borderRadius: 2,
|
|
370
|
-
}}
|
|
371
|
-
>
|
|
372
|
-
<AddressAutocomplete
|
|
373
|
-
variant="glass"
|
|
374
|
-
label="Glass Address"
|
|
375
|
-
placeholder="Enter address..."
|
|
376
|
-
googleMapsApiKey="demo-key"
|
|
377
|
-
onSelect={handleAddressSelect}
|
|
378
|
-
/>
|
|
379
|
-
</Box>
|
|
380
|
-
</Box>
|
|
381
|
-
|
|
382
|
-
<Box>
|
|
383
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
384
|
-
Outlined Variant
|
|
385
|
-
</Typography>
|
|
386
|
-
<AddressAutocomplete
|
|
387
|
-
variant="outlined"
|
|
388
|
-
label="Outlined Address"
|
|
389
|
-
placeholder="Enter address..."
|
|
390
|
-
googleMapsApiKey="demo-key"
|
|
391
|
-
onSelect={handleAddressSelect}
|
|
392
|
-
/>
|
|
393
|
-
</Box>
|
|
394
|
-
|
|
395
|
-
<Box>
|
|
396
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
397
|
-
Filled Variant
|
|
398
|
-
</Typography>
|
|
399
|
-
<AddressAutocomplete
|
|
400
|
-
variant="filled"
|
|
401
|
-
label="Filled Address"
|
|
402
|
-
placeholder="Enter address..."
|
|
403
|
-
googleMapsApiKey="demo-key"
|
|
404
|
-
onSelect={handleAddressSelect}
|
|
405
|
-
/>
|
|
406
|
-
</Box>
|
|
407
|
-
</Stack>
|
|
408
|
-
),
|
|
409
|
-
};
|
|
410
|
-
|
|
411
|
-
export const AllSizes: Story = {
|
|
412
|
-
render: () => (
|
|
413
|
-
<Stack spacing={3}>
|
|
414
|
-
<Typography variant="h6" gutterBottom>
|
|
415
|
-
All Size Configurations
|
|
416
|
-
</Typography>
|
|
417
|
-
|
|
418
|
-
<Box>
|
|
419
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
420
|
-
Default Width
|
|
421
|
-
</Typography>
|
|
422
|
-
<AddressAutocomplete
|
|
423
|
-
variant="outlined"
|
|
424
|
-
label="Default Width"
|
|
425
|
-
placeholder="Enter address..."
|
|
426
|
-
googleMapsApiKey="demo-key"
|
|
427
|
-
onSelect={handleAddressSelect}
|
|
428
|
-
/>
|
|
429
|
-
</Box>
|
|
430
|
-
|
|
431
|
-
<Box>
|
|
432
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
433
|
-
Full Width
|
|
434
|
-
</Typography>
|
|
435
|
-
<AddressAutocomplete
|
|
436
|
-
variant="outlined"
|
|
437
|
-
label="Full Width Address"
|
|
438
|
-
placeholder="Enter address..."
|
|
439
|
-
fullWidth
|
|
440
|
-
googleMapsApiKey="demo-key"
|
|
441
|
-
onSelect={handleAddressSelect}
|
|
442
|
-
/>
|
|
443
|
-
</Box>
|
|
444
|
-
|
|
445
|
-
<Box>
|
|
446
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
447
|
-
With Floating Label
|
|
448
|
-
</Typography>
|
|
449
|
-
<AddressAutocomplete
|
|
450
|
-
variant="outlined"
|
|
451
|
-
label="Floating Label"
|
|
452
|
-
placeholder="Enter address..."
|
|
453
|
-
floating
|
|
454
|
-
googleMapsApiKey="demo-key"
|
|
455
|
-
onSelect={handleAddressSelect}
|
|
456
|
-
/>
|
|
457
|
-
</Box>
|
|
458
|
-
|
|
459
|
-
<Box>
|
|
460
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
461
|
-
With Icon
|
|
462
|
-
</Typography>
|
|
463
|
-
<AddressAutocomplete
|
|
464
|
-
variant="outlined"
|
|
465
|
-
label="Address with Icon"
|
|
466
|
-
placeholder="Enter address..."
|
|
467
|
-
icon={<Home />}
|
|
468
|
-
googleMapsApiKey="demo-key"
|
|
469
|
-
onSelect={handleAddressSelect}
|
|
470
|
-
/>
|
|
471
|
-
</Box>
|
|
472
|
-
</Stack>
|
|
473
|
-
),
|
|
474
|
-
};
|
|
475
|
-
|
|
476
|
-
export const AllStates: Story = {
|
|
477
|
-
render: () => (
|
|
478
|
-
<Stack spacing={3}>
|
|
479
|
-
<Typography variant="h6" gutterBottom>
|
|
480
|
-
All States
|
|
481
|
-
</Typography>
|
|
482
|
-
|
|
483
|
-
<Box>
|
|
484
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
485
|
-
Default State
|
|
486
|
-
</Typography>
|
|
487
|
-
<AddressAutocomplete
|
|
488
|
-
variant="outlined"
|
|
489
|
-
label="Default"
|
|
490
|
-
placeholder="Enter address..."
|
|
491
|
-
googleMapsApiKey="demo-key"
|
|
492
|
-
onSelect={handleAddressSelect}
|
|
493
|
-
/>
|
|
494
|
-
</Box>
|
|
495
|
-
|
|
496
|
-
<Box>
|
|
497
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
498
|
-
Error State
|
|
499
|
-
</Typography>
|
|
500
|
-
<AddressAutocomplete
|
|
501
|
-
variant="outlined"
|
|
502
|
-
label="Error"
|
|
503
|
-
placeholder="Enter address..."
|
|
504
|
-
error
|
|
505
|
-
helperText="This field has an error"
|
|
506
|
-
googleMapsApiKey="demo-key"
|
|
507
|
-
onSelect={handleAddressSelect}
|
|
508
|
-
/>
|
|
509
|
-
</Box>
|
|
510
|
-
|
|
511
|
-
<Box>
|
|
512
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
513
|
-
Disabled State
|
|
514
|
-
</Typography>
|
|
515
|
-
<AddressAutocomplete
|
|
516
|
-
variant="outlined"
|
|
517
|
-
label="Disabled"
|
|
518
|
-
placeholder="Enter address..."
|
|
519
|
-
disabled
|
|
520
|
-
defaultValue="123 Main St, San Francisco, CA"
|
|
521
|
-
googleMapsApiKey="demo-key"
|
|
522
|
-
onSelect={handleAddressSelect}
|
|
523
|
-
/>
|
|
524
|
-
</Box>
|
|
525
|
-
|
|
526
|
-
<Box>
|
|
527
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
528
|
-
Required State
|
|
529
|
-
</Typography>
|
|
530
|
-
<AddressAutocomplete
|
|
531
|
-
variant="outlined"
|
|
532
|
-
label="Required"
|
|
533
|
-
placeholder="Enter address..."
|
|
534
|
-
required
|
|
535
|
-
helperText="This field is required"
|
|
536
|
-
googleMapsApiKey="demo-key"
|
|
537
|
-
onSelect={handleAddressSelect}
|
|
538
|
-
/>
|
|
539
|
-
</Box>
|
|
540
|
-
|
|
541
|
-
<Box>
|
|
542
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
543
|
-
With Current Location
|
|
544
|
-
</Typography>
|
|
545
|
-
<AddressAutocomplete
|
|
546
|
-
variant="outlined"
|
|
547
|
-
label="With Location"
|
|
548
|
-
placeholder="Enter address or use current location..."
|
|
549
|
-
getCurrentLocation
|
|
550
|
-
googleMapsApiKey="demo-key"
|
|
551
|
-
onSelect={handleAddressSelect}
|
|
552
|
-
/>
|
|
553
|
-
</Box>
|
|
554
|
-
</Stack>
|
|
555
|
-
),
|
|
556
|
-
};
|
|
557
|
-
|
|
558
|
-
const InteractiveStatesComponent = () => {
|
|
559
|
-
const [hoveredIndex, setHoveredIndex] = React.useState<number | null>(null);
|
|
560
|
-
|
|
561
|
-
const states = [
|
|
562
|
-
{ label: 'Hover State', variant: 'outlined' as const },
|
|
563
|
-
{ label: 'Focus State', variant: 'outlined' as const },
|
|
564
|
-
{ label: 'Active State', variant: 'outlined' as const },
|
|
565
|
-
];
|
|
566
|
-
|
|
567
|
-
return (
|
|
568
|
-
<Stack spacing={3}>
|
|
569
|
-
<Typography variant="h6" gutterBottom>
|
|
570
|
-
Interactive States
|
|
571
|
-
</Typography>
|
|
572
|
-
{states.map((state, index) => (
|
|
573
|
-
<Box
|
|
574
|
-
key={index}
|
|
575
|
-
onMouseEnter={() => setHoveredIndex(index)}
|
|
576
|
-
onMouseLeave={() => setHoveredIndex(null)}
|
|
577
|
-
>
|
|
578
|
-
<Typography variant="subtitle2" gutterBottom>
|
|
579
|
-
{state.label} {hoveredIndex === index && '(Hovered)'}
|
|
580
|
-
</Typography>
|
|
581
|
-
<AddressAutocomplete
|
|
582
|
-
variant={state.variant}
|
|
583
|
-
label={state.label}
|
|
584
|
-
placeholder="Interact with this field..."
|
|
585
|
-
googleMapsApiKey="demo-key"
|
|
586
|
-
onSelect={handleAddressSelect}
|
|
587
|
-
/>
|
|
588
|
-
</Box>
|
|
589
|
-
))}
|
|
590
|
-
</Stack>
|
|
591
|
-
);
|
|
592
|
-
};
|
|
593
|
-
|
|
594
|
-
export const InteractiveStates: Story = {
|
|
595
|
-
render: () => <InteractiveStatesComponent />,
|
|
596
|
-
};
|
|
597
|
-
|
|
598
|
-
export const Responsive: Story = {
|
|
599
|
-
parameters: {
|
|
600
|
-
viewport: {
|
|
601
|
-
viewports: {
|
|
602
|
-
mobile: {
|
|
603
|
-
name: 'Mobile',
|
|
604
|
-
styles: { width: '375px', height: '667px' },
|
|
605
|
-
},
|
|
606
|
-
tablet: {
|
|
607
|
-
name: 'Tablet',
|
|
608
|
-
styles: { width: '768px', height: '1024px' },
|
|
609
|
-
},
|
|
610
|
-
desktop: {
|
|
611
|
-
name: 'Desktop',
|
|
612
|
-
styles: { width: '1440px', height: '900px' },
|
|
613
|
-
},
|
|
614
|
-
},
|
|
615
|
-
},
|
|
616
|
-
},
|
|
617
|
-
render: () => (
|
|
618
|
-
<Stack spacing={3}>
|
|
619
|
-
<Typography variant="h6" gutterBottom>
|
|
620
|
-
Responsive Design (resize viewport)
|
|
621
|
-
</Typography>
|
|
622
|
-
|
|
623
|
-
<Alert severity="info">
|
|
624
|
-
This component adapts to different screen sizes. Try changing the viewport size using
|
|
625
|
-
Storybook's viewport addon.
|
|
626
|
-
</Alert>
|
|
627
|
-
|
|
628
|
-
<Box sx={{ width: '100%' }}>
|
|
629
|
-
<AddressAutocomplete
|
|
630
|
-
variant="outlined"
|
|
631
|
-
label="Responsive Address"
|
|
632
|
-
placeholder="Enter your address..."
|
|
633
|
-
fullWidth
|
|
634
|
-
getCurrentLocation
|
|
635
|
-
googleMapsApiKey="demo-key"
|
|
636
|
-
onSelect={handleAddressSelect}
|
|
637
|
-
helperText="This field adapts to the container width"
|
|
638
|
-
/>
|
|
639
|
-
</Box>
|
|
640
|
-
|
|
641
|
-
<Box sx={{ display: 'flex', gap: 2, flexWrap: 'wrap' }}>
|
|
642
|
-
<Box sx={{ flex: '1 1 300px' }}>
|
|
643
|
-
<AddressAutocomplete
|
|
644
|
-
variant="outlined"
|
|
645
|
-
label="Home Address"
|
|
646
|
-
icon={<Home />}
|
|
647
|
-
fullWidth
|
|
648
|
-
googleMapsApiKey="demo-key"
|
|
649
|
-
onSelect={handleAddressSelect}
|
|
650
|
-
/>
|
|
651
|
-
</Box>
|
|
652
|
-
<Box sx={{ flex: '1 1 300px' }}>
|
|
653
|
-
<AddressAutocomplete
|
|
654
|
-
variant="outlined"
|
|
655
|
-
label="Work Address"
|
|
656
|
-
icon={<Business />}
|
|
657
|
-
fullWidth
|
|
658
|
-
googleMapsApiKey="demo-key"
|
|
659
|
-
onSelect={handleAddressSelect}
|
|
660
|
-
/>
|
|
661
|
-
</Box>
|
|
662
|
-
</Box>
|
|
663
|
-
</Stack>
|
|
664
|
-
),
|
|
665
|
-
};
|