@spaced-out/ui-design-system 0.4.13-beta.0 → 0.4.13-beta.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/.cspell/custom-words.txt +2 -0
- package/CHANGELOG.md +7 -0
- package/cspell.json +3 -1
- package/gulpfile.js +2 -1
- package/lib/styles/index.js +535 -275
- package/package.json +2 -2
- package/lib/components/AIPromptFlow/AIPromptFlow.stories.tsx +0 -465
- package/lib/components/Accordion/Accordion.stories.tsx +0 -165
- package/lib/components/Accordion/Accordion.tsx +0 -112
- package/lib/components/Accordion/AccordionGroup.stories.tsx +0 -215
- package/lib/components/Accordion/AccordionGroup.tsx +0 -77
- package/lib/components/Accordion/index.ts +0 -2
- package/lib/components/Avatar/Avatar.stories.tsx +0 -152
- package/lib/components/Avatar/Avatar.tsx +0 -272
- package/lib/components/Avatar/index.ts +0 -1
- package/lib/components/AvatarGroup/AvatarGroup.stories.tsx +0 -138
- package/lib/components/AvatarGroup/AvatarGroup.tsx +0 -164
- package/lib/components/AvatarGroup/index.ts +0 -1
- package/lib/components/Badge/Badge.stories.tsx +0 -131
- package/lib/components/Badge/Badge.tsx +0 -149
- package/lib/components/Badge/index.ts +0 -1
- package/lib/components/BadgedIcon/BadgedIcon.stories.tsx +0 -80
- package/lib/components/BadgedIcon/BadgedIcon.tsx +0 -76
- package/lib/components/BadgedIcon/index.ts +0 -1
- package/lib/components/Banner/Banner.stories.tsx +0 -187
- package/lib/components/Banner/Banner.tsx +0 -55
- package/lib/components/Banner/index.ts +0 -1
- package/lib/components/Breadcrumbs/BreadcrumbLink/BreadcrumbLink.stories.tsx +0 -114
- package/lib/components/Breadcrumbs/BreadcrumbLink/BreadcrumbLink.tsx +0 -52
- package/lib/components/Breadcrumbs/BreadcrumbLink/index.ts +0 -1
- package/lib/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -189
- package/lib/components/Breadcrumbs/Breadcrumbs.tsx +0 -59
- package/lib/components/Breadcrumbs/index.ts +0 -2
- package/lib/components/Button/Button.stories.tsx +0 -220
- package/lib/components/Button/Button.tsx +0 -285
- package/lib/components/Button/index.ts +0 -8
- package/lib/components/ButtonDropdown/ButtonDropdown.stories.tsx +0 -677
- package/lib/components/ButtonDropdown/ButtonDropdown.tsx +0 -221
- package/lib/components/ButtonDropdown/SimpleButtonDropdown.stories.tsx +0 -624
- package/lib/components/ButtonDropdown/SimpleButtonDropdown.tsx +0 -167
- package/lib/components/ButtonDropdown/index.ts +0 -2
- package/lib/components/ButtonTabs/ButtonTab/ButtonTab.stories.tsx +0 -125
- package/lib/components/ButtonTabs/ButtonTab/ButtonTab.tsx +0 -76
- package/lib/components/ButtonTabs/ButtonTab/index.ts +0 -1
- package/lib/components/ButtonTabs/ButtonTabDropdown.tsx +0 -147
- package/lib/components/ButtonTabs/ButtonTabs.stories.tsx +0 -393
- package/lib/components/ButtonTabs/ButtonTabs.tsx +0 -119
- package/lib/components/ButtonTabs/index.ts +0 -2
- package/lib/components/Card/Card.stories.tsx +0 -245
- package/lib/components/Card/Card.tsx +0 -172
- package/lib/components/Card/index.ts +0 -1
- package/lib/components/Charts/ChartTooltip/index.ts +0 -13
- package/lib/components/Charts/ChartWrapper/ChartWrapper.tsx +0 -179
- package/lib/components/Charts/ChartWrapper/index.ts +0 -1
- package/lib/components/Charts/ColumnChart/ColumnChart.stories.tsx +0 -574
- package/lib/components/Charts/ColumnChart/ColumnChart.tsx +0 -125
- package/lib/components/Charts/ColumnChart/index.ts +0 -1
- package/lib/components/Charts/DonutChart/DonutChart.stories.tsx +0 -415
- package/lib/components/Charts/DonutChart/DonutChart.tsx +0 -155
- package/lib/components/Charts/DonutChart/index.ts +0 -1
- package/lib/components/Charts/FunnelChart/FunnelChart.stories.tsx +0 -510
- package/lib/components/Charts/FunnelChart/FunnelChart.tsx +0 -110
- package/lib/components/Charts/FunnelChart/index.ts +0 -1
- package/lib/components/Charts/LineChart/LineChart.stories.tsx +0 -590
- package/lib/components/Charts/LineChart/LineChart.tsx +0 -109
- package/lib/components/Charts/LineChart/index.ts +0 -1
- package/lib/components/Charts/SpiderChart/SpiderChart.stories.tsx +0 -467
- package/lib/components/Charts/SpiderChart/SpiderChart.tsx +0 -104
- package/lib/components/Charts/SpiderChart/index.ts +0 -1
- package/lib/components/Charts/index.ts +0 -11
- package/lib/components/ChatBubble/ChatAnchor.stories.tsx +0 -95
- package/lib/components/ChatBubble/ChatBubble.stories.tsx +0 -277
- package/lib/components/ChatBubble/ChatBubble.tsx +0 -232
- package/lib/components/ChatBubble/index.ts +0 -1
- package/lib/components/Checkbox/Checkbox.stories.tsx +0 -180
- package/lib/components/Checkbox/Checkbox.tsx +0 -168
- package/lib/components/Checkbox/CheckboxGroup.stories.tsx +0 -381
- package/lib/components/Checkbox/CheckboxGroup.tsx +0 -119
- package/lib/components/Checkbox/index.ts +0 -2
- package/lib/components/Chip/Chip.stories.tsx +0 -335
- package/lib/components/Chip/Chip.tsx +0 -204
- package/lib/components/Chip/index.ts +0 -2
- package/lib/components/CircularLoader/CircularLoader.stories.tsx +0 -75
- package/lib/components/CircularLoader/CircularLoader.tsx +0 -51
- package/lib/components/CircularLoader/index.ts +0 -1
- package/lib/components/CollapsibleCard/CollapsibleCard.stories.tsx +0 -311
- package/lib/components/CollapsibleCard/CollapsibleCard.tsx +0 -135
- package/lib/components/CollapsibleCard/index.ts +0 -1
- package/lib/components/Combobox/Combobox.stories.tsx +0 -306
- package/lib/components/Combobox/Combobox.tsx +0 -297
- package/lib/components/Combobox/helper.ts +0 -201
- package/lib/components/Combobox/index.ts +0 -1
- package/lib/components/ConditionalWrapper/ConditionalWrapper.stories.tsx +0 -51
- package/lib/components/ConditionalWrapper/ConditionalWrapper.ts +0 -16
- package/lib/components/ConditionalWrapper/index.ts +0 -1
- package/lib/components/DateRangePicker/Calendar.tsx +0 -110
- package/lib/components/DateRangePicker/DateRangePicker.stories.tsx +0 -397
- package/lib/components/DateRangePicker/DateRangePicker.tsx +0 -210
- package/lib/components/DateRangePicker/DateRangeWrapper.tsx +0 -386
- package/lib/components/DateRangePicker/Day.tsx +0 -74
- package/lib/components/DateRangePicker/index.ts +0 -1
- package/lib/components/Dialog/Dialog.stories.tsx +0 -254
- package/lib/components/Dialog/Dialog.tsx +0 -222
- package/lib/components/Dialog/index.ts +0 -1
- package/lib/components/Disclaimer/Disclaimer.stories.tsx +0 -148
- package/lib/components/Disclaimer/Disclaimer.tsx +0 -35
- package/lib/components/Disclaimer/index.ts +0 -1
- package/lib/components/Dropdown/Dropdown.stories.tsx +0 -785
- package/lib/components/Dropdown/Dropdown.tsx +0 -174
- package/lib/components/Dropdown/SimpleDropdown.stories.tsx +0 -534
- package/lib/components/Dropdown/SimpleDropdown.tsx +0 -167
- package/lib/components/Dropdown/index.ts +0 -2
- package/lib/components/EmptyState/EmptyImages/CalendarEmptyImage.tsx +0 -108
- package/lib/components/EmptyState/EmptyImages/ChartEmptyImage.tsx +0 -194
- package/lib/components/EmptyState/EmptyImages/DataEmptyImage.tsx +0 -116
- package/lib/components/EmptyState/EmptyImages/FileEmptyImage.tsx +0 -133
- package/lib/components/EmptyState/EmptyImages/MessageEmptyImage.tsx +0 -64
- package/lib/components/EmptyState/EmptyImages/UploadEmptyImage.tsx +0 -67
- package/lib/components/EmptyState/EmptyImages/index.ts +0 -6
- package/lib/components/EmptyState/EmptyState.stories.tsx +0 -104
- package/lib/components/EmptyState/EmptyState.tsx +0 -83
- package/lib/components/EmptyState/index.ts +0 -1
- package/lib/components/ErrorMessage/ErrorImages/ForbiddenImage.tsx +0 -85
- package/lib/components/ErrorMessage/ErrorImages/NotFoundImage.tsx +0 -117
- package/lib/components/ErrorMessage/ErrorImages/ServerErrorImage.tsx +0 -237
- package/lib/components/ErrorMessage/ErrorImages/UnauthorizedImage.tsx +0 -73
- package/lib/components/ErrorMessage/ErrorImages/index.ts +0 -4
- package/lib/components/ErrorMessage/ErrorMessage.stories.tsx +0 -112
- package/lib/components/ErrorMessage/ErrorMessage.tsx +0 -87
- package/lib/components/ErrorMessage/index.ts +0 -1
- package/lib/components/FileUpload/FileBlock/FileBlock.stories.tsx +0 -85
- package/lib/components/FileUpload/FileBlock/FileBlock.tsx +0 -136
- package/lib/components/FileUpload/FileBlock/index.ts +0 -1
- package/lib/components/FileUpload/FileUpload.stories.tsx +0 -958
- package/lib/components/FileUpload/FileUpload.tsx +0 -206
- package/lib/components/FileUpload/index.ts +0 -2
- package/lib/components/FilterButtonOverlay/FilterButtonOverlay.stories.tsx +0 -345
- package/lib/components/FilterButtonOverlay/FilterButtonOverlay.tsx +0 -163
- package/lib/components/FilterButtonOverlay/index.ts +0 -1
- package/lib/components/FocusManager/FocusManager.stories.tsx +0 -117
- package/lib/components/FocusManager/FocusManager.tsx +0 -59
- package/lib/components/FocusManager/index.ts +0 -1
- package/lib/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.stories.tsx +0 -557
- package/lib/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.tsx +0 -156
- package/lib/components/FocusManagerWithArrowKeyNavigation/index.ts +0 -1
- package/lib/components/FormTitleWrapper/FormTitleWrapper.stories.tsx +0 -173
- package/lib/components/FormTitleWrapper/FormTitleWrapper.tsx +0 -63
- package/lib/components/FormTitleWrapper/index.ts +0 -1
- package/lib/components/Grid/Col.stories.tsx +0 -114
- package/lib/components/Grid/Grid.tsx +0 -119
- package/lib/components/Grid/GridPatterns.stories.tsx +0 -420
- package/lib/components/Grid/Row.stories.tsx +0 -135
- package/lib/components/Grid/Tablist.layout.stories.tsx +0 -281
- package/lib/components/Grid/index.ts +0 -1
- package/lib/components/Icon/ClickableIcon.tsx +0 -104
- package/lib/components/Icon/Icon.docs.ts +0 -118
- package/lib/components/Icon/Icon.stories.tsx +0 -79
- package/lib/components/Icon/Icon.tsx +0 -78
- package/lib/components/Icon/SemanticIcon.stories.tsx +0 -74
- package/lib/components/Icon/SemanticIcon.tsx +0 -49
- package/lib/components/Icon/index.ts +0 -3
- package/lib/components/InContextAlert/InContextAlert.stories.tsx +0 -164
- package/lib/components/InContextAlert/InContextAlert.tsx +0 -204
- package/lib/components/InContextAlert/index.ts +0 -1
- package/lib/components/InfinitePagination/InfinitePagination.stories.tsx +0 -323
- package/lib/components/InfinitePagination/InfinitePagination.tsx +0 -121
- package/lib/components/InfinitePagination/index.ts +0 -1
- package/lib/components/InlineDropdown/InlineDropdown.stories.tsx +0 -415
- package/lib/components/InlineDropdown/InlineDropdown.tsx +0 -175
- package/lib/components/InlineDropdown/SimpleInlineDropdown.stories.tsx +0 -513
- package/lib/components/InlineDropdown/SimpleInlineDropdown.tsx +0 -165
- package/lib/components/InlineDropdown/index.ts +0 -2
- package/lib/components/Input/Input.stories.tsx +0 -590
- package/lib/components/Input/Input.tsx +0 -336
- package/lib/components/Input/NativeColorpicker.stories.tsx +0 -337
- package/lib/components/Input/NativeDatepicker.stories.tsx +0 -424
- package/lib/components/Input/index.ts +0 -1
- package/lib/components/KPIBox/KPIBox.stories.tsx +0 -321
- package/lib/components/KPIBox/KPIBox.tsx +0 -94
- package/lib/components/KPIBox/index.ts +0 -1
- package/lib/components/LinearLoader/LinearLoader.stories.tsx +0 -132
- package/lib/components/LinearLoader/LinearLoader.tsx +0 -48
- package/lib/components/LinearLoader/index.ts +0 -1
- package/lib/components/Link/Link.stories.tsx +0 -302
- package/lib/components/Link/Link.tsx +0 -231
- package/lib/components/Link/index.ts +0 -1
- package/lib/components/Menu/Menu.stories.tsx +0 -1046
- package/lib/components/Menu/Menu.tsx +0 -391
- package/lib/components/Menu/MenuOptionButton.tsx +0 -206
- package/lib/components/Menu/index.ts +0 -2
- package/lib/components/Modal/Modal.stories.tsx +0 -430
- package/lib/components/Modal/Modal.tsx +0 -379
- package/lib/components/Modal/index.ts +0 -8
- package/lib/components/Notification/Notification.stories.tsx +0 -132
- package/lib/components/Notification/Notification.tsx +0 -140
- package/lib/components/Notification/index.ts +0 -1
- package/lib/components/OptionButton/OptionButton.stories.tsx +0 -397
- package/lib/components/OptionButton/OptionButton.tsx +0 -149
- package/lib/components/OptionButton/SimpleOptionButton.stories.tsx +0 -525
- package/lib/components/OptionButton/SimpleOptionButton.tsx +0 -160
- package/lib/components/OptionButton/index.ts +0 -2
- package/lib/components/PageTitle/PageTitle.stories.tsx +0 -257
- package/lib/components/PageTitle/PageTitle.tsx +0 -276
- package/lib/components/PageTitle/index.ts +0 -1
- package/lib/components/Pagination/Pagination.stories.tsx +0 -259
- package/lib/components/Pagination/Pagination.tsx +0 -147
- package/lib/components/Pagination/PaginationItem.tsx +0 -118
- package/lib/components/Pagination/index.ts +0 -1
- package/lib/components/Panel/Panel.stories.tsx +0 -452
- package/lib/components/Panel/Panel.tsx +0 -181
- package/lib/components/Panel/index.ts +0 -2
- package/lib/components/ProgressDonut/ProgressDonut.stories.tsx +0 -97
- package/lib/components/ProgressDonut/ProgressDonut.tsx +0 -111
- package/lib/components/ProgressDonut/index.ts +0 -1
- package/lib/components/PromptChip/PromptChip.stories.tsx +0 -202
- package/lib/components/PromptChip/PromptChip.tsx +0 -166
- package/lib/components/PromptChip/index.ts +0 -1
- package/lib/components/PromptInput/PromptInput.stories.tsx +0 -349
- package/lib/components/PromptInput/PromptInput.tsx +0 -190
- package/lib/components/PromptInput/index.ts +0 -1
- package/lib/components/RadioButton/RadioButton.stories.tsx +0 -157
- package/lib/components/RadioButton/RadioButton.tsx +0 -135
- package/lib/components/RadioButton/RadioGroup.stories.tsx +0 -283
- package/lib/components/RadioButton/RadioGroup.tsx +0 -90
- package/lib/components/RadioButton/index.ts +0 -2
- package/lib/components/RadioTile/RadioTile.stories.tsx +0 -276
- package/lib/components/RadioTile/RadioTile.tsx +0 -107
- package/lib/components/RadioTile/index.ts +0 -1
- package/lib/components/RangeSlider/RangeSlider.stories.tsx +0 -342
- package/lib/components/RangeSlider/RangeSlider.tsx +0 -201
- package/lib/components/RangeSlider/index.ts +0 -1
- package/lib/components/Rating/Rating.stories.tsx +0 -257
- package/lib/components/Rating/Rating.tsx +0 -141
- package/lib/components/Rating/index.ts +0 -1
- package/lib/components/ScoreBar/ScoreBar.stories.tsx +0 -182
- package/lib/components/ScoreBar/ScoreBar.tsx +0 -133
- package/lib/components/ScoreBar/index.ts +0 -1
- package/lib/components/SearchInput/SearchInput.stories.tsx +0 -260
- package/lib/components/SearchInput/SearchInput.tsx +0 -81
- package/lib/components/SearchInput/index.ts +0 -2
- package/lib/components/Separator/Separator.stories.tsx +0 -95
- package/lib/components/Separator/Separator.tsx +0 -57
- package/lib/components/Separator/index.ts +0 -1
- package/lib/components/Shimmer/Shimmer.stories.tsx +0 -317
- package/lib/components/Shimmer/Shimmer.tsx +0 -143
- package/lib/components/Shimmer/index.ts +0 -1
- package/lib/components/SideMenuLink/SideMenuLink.stories.tsx +0 -153
- package/lib/components/SideMenuLink/SideMenuLink.tsx +0 -344
- package/lib/components/SideMenuLink/index.ts +0 -1
- package/lib/components/StatusIndicator/StatusIndicator.stories.tsx +0 -130
- package/lib/components/StatusIndicator/StatusIndicator.tsx +0 -62
- package/lib/components/StatusIndicator/index.ts +0 -1
- package/lib/components/Stepper/Step/Step.stories.tsx +0 -117
- package/lib/components/Stepper/Step/Step.tsx +0 -125
- package/lib/components/Stepper/Step/StepContent.tsx +0 -40
- package/lib/components/Stepper/Step/StepLabel.tsx +0 -40
- package/lib/components/Stepper/Step/index.ts +0 -3
- package/lib/components/Stepper/Stepper.stories.tsx +0 -422
- package/lib/components/Stepper/Stepper.tsx +0 -68
- package/lib/components/Stepper/index.ts +0 -2
- package/lib/components/StickyBar/StickyBar.stories.tsx +0 -152
- package/lib/components/StickyBar/StickyBar.tsx +0 -65
- package/lib/components/StickyBar/index.ts +0 -1
- package/lib/components/SubMenu/SubMenu.stories.tsx +0 -413
- package/lib/components/SubMenu/SubMenu.tsx +0 -96
- package/lib/components/SubMenu/SubMenuGroup.tsx +0 -161
- package/lib/components/SubMenu/SubMenuItem.tsx +0 -170
- package/lib/components/SubMenu/SubMenuLink.tsx +0 -87
- package/lib/components/SubMenu/index.ts +0 -4
- package/lib/components/Table/BasicTable.stories.tsx +0 -647
- package/lib/components/Table/BulkActions.stories.tsx +0 -267
- package/lib/components/Table/Cell.tsx +0 -125
- package/lib/components/Table/DefaultRow.tsx +0 -159
- package/lib/components/Table/DefaultTableHeader.tsx +0 -244
- package/lib/components/Table/InlineEdit.stories.tsx +0 -390
- package/lib/components/Table/StaticTable.tsx +0 -230
- package/lib/components/Table/Table.docs.ts +0 -495
- package/lib/components/Table/Table.tsx +0 -135
- package/lib/components/Table/TableActionBar.tsx +0 -55
- package/lib/components/Table/TableBottomBar.tsx +0 -25
- package/lib/components/Table/TableTopBar.tsx +0 -25
- package/lib/components/Table/dummyTableData.ts +0 -2189
- package/lib/components/Table/hooks.ts +0 -102
- package/lib/components/Table/index.ts +0 -8
- package/lib/components/Tabs/Tab/Tab.stories.tsx +0 -151
- package/lib/components/Tabs/Tab/Tab.tsx +0 -152
- package/lib/components/Tabs/Tab/index.ts +0 -1
- package/lib/components/Tabs/TabList/TabDropdown.tsx +0 -125
- package/lib/components/Tabs/TabList/TabList.stories.tsx +0 -172
- package/lib/components/Tabs/TabList/TabList.tsx +0 -178
- package/lib/components/Tabs/TabList/index.ts +0 -1
- package/lib/components/Tabs/index.ts +0 -2
- package/lib/components/Text/HighlightedText.stories.tsx +0 -122
- package/lib/components/Text/Text.stories.tsx +0 -302
- package/lib/components/Text/Text.tsx +0 -882
- package/lib/components/Text/index.ts +0 -30
- package/lib/components/TextTile/TextTile.stories.tsx +0 -89
- package/lib/components/TextTile/TextTile.tsx +0 -51
- package/lib/components/TextTile/index.ts +0 -1
- package/lib/components/Textarea/Textarea.stories.tsx +0 -324
- package/lib/components/Textarea/Textarea.tsx +0 -148
- package/lib/components/Textarea/index.ts +0 -2
- package/lib/components/Timeline/Timeline.stories.tsx +0 -272
- package/lib/components/Timeline/Timeline.tsx +0 -57
- package/lib/components/Timeline/TimelineItem/TimelineItem.stories.tsx +0 -216
- package/lib/components/Timeline/TimelineItem/TimelineItem.tsx +0 -128
- package/lib/components/Timeline/TimelineItem/index.ts +0 -1
- package/lib/components/Timeline/index.ts +0 -2
- package/lib/components/Toast/Toast.stories.tsx +0 -274
- package/lib/components/Toast/Toast.tsx +0 -264
- package/lib/components/Toast/ToastContainer.tsx +0 -123
- package/lib/components/Toast/ToastManager.ts +0 -60
- package/lib/components/Toast/index.ts +0 -10
- package/lib/components/Toggle/Toggle.stories.tsx +0 -175
- package/lib/components/Toggle/Toggle.tsx +0 -121
- package/lib/components/Toggle/index.ts +0 -1
- package/lib/components/TokenListInput/TokenListInput.stories.tsx +0 -678
- package/lib/components/TokenListInput/TokenListInput.tsx +0 -393
- package/lib/components/TokenListInput/TokenValueChips.tsx +0 -69
- package/lib/components/TokenListInput/index.ts +0 -1
- package/lib/components/Tooltip/Tooltip.stories.tsx +0 -316
- package/lib/components/Tooltip/Tooltip.tsx +0 -188
- package/lib/components/Tooltip/index.ts +0 -1
- package/lib/components/Truncate/Truncate.stories.tsx +0 -106
- package/lib/components/Truncate/Truncate.tsx +0 -80
- package/lib/components/Truncate/index.ts +0 -2
- package/lib/components/TruncatedTextWithTooltip/TruncatedTextWithTooltip.stories.tsx +0 -147
- package/lib/components/TruncatedTextWithTooltip/TruncatedTextWithTooltip.tsx +0 -109
- package/lib/components/TruncatedTextWithTooltip/index.ts +0 -1
- package/lib/components/Typeahead/SimpleTypeahead.stories.tsx +0 -567
- package/lib/components/Typeahead/SimpleTypeahead.tsx +0 -159
- package/lib/components/Typeahead/Typeahead.stories.tsx +0 -552
- package/lib/components/Typeahead/Typeahead.tsx +0 -243
- package/lib/components/Typeahead/index.ts +0 -2
- package/lib/components/WeekdayPicker/WeekdayPicker.stories.tsx +0 -263
- package/lib/components/WeekdayPicker/WeekdayPicker.tsx +0 -224
- package/lib/components/WeekdayPicker/index.ts +0 -1
- package/lib/components/index.ts +0 -77
- package/lib/hooks/index.ts +0 -16
- package/lib/hooks/useArbitraryOptionAddition/index.ts +0 -1
- package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.stories.tsx +0 -158
- package/lib/hooks/useArbitraryOptionAddition/useArbitraryOptionAddition.ts +0 -127
- package/lib/hooks/useCopyToClipboard/index.ts +0 -1
- package/lib/hooks/useCopyToClipboard/useCopyToClipboard.stories.tsx +0 -112
- package/lib/hooks/useCopyToClipboard/useCopyToClipboard.ts +0 -29
- package/lib/hooks/useDebounce/index.ts +0 -1
- package/lib/hooks/useDebounce/useDebounce.stories.tsx +0 -82
- package/lib/hooks/useDebounce/useDebounce.ts +0 -15
- package/lib/hooks/useFileUpload/index.ts +0 -1
- package/lib/hooks/useFileUpload/useFileUpload.stories.tsx +0 -468
- package/lib/hooks/useFileUpload/useFileUpload.ts +0 -326
- package/lib/hooks/useFilteredOptions/index.ts +0 -1
- package/lib/hooks/useFilteredOptions/useFilteredOptions.stories.tsx +0 -142
- package/lib/hooks/useFilteredOptions/useFilteredOptions.ts +0 -92
- package/lib/hooks/useInfiniteScroll/index.ts +0 -1
- package/lib/hooks/useInfiniteScroll/useInfiniteScroll.ts +0 -85
- package/lib/hooks/useInputState/index.ts +0 -1
- package/lib/hooks/useInputState/useInputState.stories.tsx +0 -62
- package/lib/hooks/useInputState/useInputState.ts +0 -24
- package/lib/hooks/useLockedBody/index.ts +0 -1
- package/lib/hooks/useLockedBody/useLockedBody.stories.tsx +0 -71
- package/lib/hooks/useLockedBody/useLockedBody.ts +0 -53
- package/lib/hooks/useModal/index.ts +0 -1
- package/lib/hooks/useModal/useModal.stories.tsx +0 -134
- package/lib/hooks/useModal/useModal.ts +0 -36
- package/lib/hooks/useMountTransition/index.ts +0 -25
- package/lib/hooks/useMountTransition/useMountTransition.stories.tsx +0 -64
- package/lib/hooks/usePagination/index.ts +0 -1
- package/lib/hooks/usePagination/usePagination.stories.tsx +0 -72
- package/lib/hooks/usePagination/usePagination.ts +0 -151
- package/lib/hooks/useReferenceElementWidth/index.ts +0 -1
- package/lib/hooks/useReferenceElementWidth/useReferenceElementWidth.ts +0 -19
- package/lib/hooks/useResizeObserver/index.ts +0 -1
- package/lib/hooks/useResizeObserver/useResizeObserver.ts +0 -29
- package/lib/hooks/useToastPortal/index.ts +0 -1
- package/lib/hooks/useToastPortal/useToastPortal.ts +0 -34
- package/lib/hooks/useToggle/index.ts +0 -1
- package/lib/hooks/useToggle/useToggle.stories.tsx +0 -70
- package/lib/hooks/useToggle/useToggle.ts +0 -13
- package/lib/hooks/useWindowSize/index.ts +0 -1
- package/lib/hooks/useWindowSize/useWindowSize.stories.tsx +0 -62
- package/lib/hooks/useWindowSize/useWindowSize.ts +0 -39
- package/lib/index.ts +0 -6
- package/lib/styles/index.ts +0 -533
- package/lib/styles/variables/_border.ts +0 -23
- package/lib/styles/variables/_color.ts +0 -207
- package/lib/styles/variables/_elevation.ts +0 -13
- package/lib/styles/variables/_font.ts +0 -59
- package/lib/styles/variables/_motion.ts +0 -11
- package/lib/styles/variables/_opacity.ts +0 -29
- package/lib/styles/variables/_shadow.ts +0 -47
- package/lib/styles/variables/_size.ts +0 -113
- package/lib/styles/variables/_space.ts +0 -23
- package/lib/types/charts.ts +0 -247
- package/lib/types/common.ts +0 -11
- package/lib/types/cssvariables.d.ts +0 -8
- package/lib/types/date-range-picker.ts +0 -20
- package/lib/types/flow-to-typescript-codemod.d.ts +0 -48
- package/lib/types/global.d.ts +0 -84
- package/lib/types/index.ts +0 -6
- package/lib/types/menu.ts +0 -13
- package/lib/types/toast.ts +0 -34
- package/lib/types/typography.ts +0 -17
- package/lib/utils/array/are-arrays-equal.ts +0 -12
- package/lib/utils/array/index.ts +0 -1
- package/lib/utils/charts/charts.ts +0 -110
- package/lib/utils/charts/columnChart.ts +0 -62
- package/lib/utils/charts/donutChart.ts +0 -123
- package/lib/utils/charts/funnelChart.ts +0 -97
- package/lib/utils/charts/helpers.ts +0 -65
- package/lib/utils/charts/index.ts +0 -7
- package/lib/utils/charts/lineChart.ts +0 -51
- package/lib/utils/charts/spiderChart.ts +0 -57
- package/lib/utils/charts/typography.ts +0 -52
- package/lib/utils/classify/classify.stories.tsx +0 -65
- package/lib/utils/classify/index.ts +0 -27
- package/lib/utils/click-away/ClickAway.stories.tsx +0 -248
- package/lib/utils/click-away/click-away.ts +0 -230
- package/lib/utils/click-away/index.ts +0 -1
- package/lib/utils/date-range-picker/date-range-picker.ts +0 -430
- package/lib/utils/date-range-picker/index.ts +0 -2
- package/lib/utils/date-range-picker/timezones.ts +0 -263
- package/lib/utils/dom/dom.stories.tsx +0 -59
- package/lib/utils/dom/dom.ts +0 -247
- package/lib/utils/dom/index.ts +0 -1
- package/lib/utils/helpers/helpers.stories.tsx +0 -124
- package/lib/utils/helpers/helpers.ts +0 -51
- package/lib/utils/helpers/index.ts +0 -1
- package/lib/utils/index.ts +0 -14
- package/lib/utils/makeClassNameComponent/index.ts +0 -1
- package/lib/utils/makeClassNameComponent/makeClassNameComponent.stories.tsx +0 -46
- package/lib/utils/makeClassNameComponent/makeClassNameComponent.tsx +0 -60
- package/lib/utils/menu/index.ts +0 -1
- package/lib/utils/menu/menu.ts +0 -174
- package/lib/utils/merge-refs/index.ts +0 -1
- package/lib/utils/merge-refs/merge-refs.stories.tsx +0 -92
- package/lib/utils/merge-refs/merge-refs.ts +0 -16
- package/lib/utils/rating/index.ts +0 -1
- package/lib/utils/rating/rating.ts +0 -30
- package/lib/utils/score-bar/index.ts +0 -1
- package/lib/utils/score-bar/score-bar.ts +0 -45
- package/lib/utils/string/index.ts +0 -1
- package/lib/utils/string/string.stories.tsx +0 -71
- package/lib/utils/string/string.ts +0 -26
- package/lib/utils/token-list-input/token-list-input.ts +0 -32
- package/lib/utils/tokens/index.ts +0 -1
- package/lib/utils/tokens/tokens.ts +0 -237
|
@@ -1,452 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
import {Button} from '../Button';
|
|
4
|
-
import {Dialog, DialogBody, DialogFooter, DialogHeader} from '../Dialog';
|
|
5
|
-
import {SimpleDropdown} from '../Dropdown';
|
|
6
|
-
import {Input} from '../Input';
|
|
7
|
-
import {BodyLarge, SubTitleLarge} from '../Text';
|
|
8
|
-
import {Textarea} from '../Textarea';
|
|
9
|
-
import {Tooltip} from '../Tooltip';
|
|
10
|
-
|
|
11
|
-
import type {PanelProps} from './Panel';
|
|
12
|
-
import {Panel, PanelBody, PanelFooter, PanelHeader} from './Panel';
|
|
13
|
-
|
|
14
|
-
import css from './Panel.stories.module.css';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export default {
|
|
18
|
-
tags: ['autodocs'],
|
|
19
|
-
title: 'Components/Panel',
|
|
20
|
-
argTypes: {
|
|
21
|
-
isOpen: {
|
|
22
|
-
description: 'if **true**, the modal is presented',
|
|
23
|
-
control: {
|
|
24
|
-
type: 'boolean',
|
|
25
|
-
},
|
|
26
|
-
table: {
|
|
27
|
-
type: {summary: 'boolean'},
|
|
28
|
-
defaultValue: {summary: 'false'},
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
classNames: {
|
|
32
|
-
description: 'External classnames to be applied',
|
|
33
|
-
control: {
|
|
34
|
-
type: 'object',
|
|
35
|
-
},
|
|
36
|
-
table: {
|
|
37
|
-
type: {
|
|
38
|
-
summary: '{container?: string, content?: string, backdrop?: string}',
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
tapOutsideToClose: {
|
|
43
|
-
description: 'if **true**, closes the modal on tap of backdrop',
|
|
44
|
-
control: {
|
|
45
|
-
type: 'boolean',
|
|
46
|
-
},
|
|
47
|
-
table: {
|
|
48
|
-
type: {summary: 'boolean'},
|
|
49
|
-
defaultValue: {summary: 'true'},
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
anchor: {
|
|
53
|
-
options: ['left', 'right'],
|
|
54
|
-
description: 'Position of Panel',
|
|
55
|
-
control: {
|
|
56
|
-
type: 'select',
|
|
57
|
-
},
|
|
58
|
-
table: {
|
|
59
|
-
type: {summary: 'enum'},
|
|
60
|
-
defaultValue: {summary: 'left'},
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
allowBackgroundInteraction: {
|
|
64
|
-
description:
|
|
65
|
-
'if **true**, allows interaction with the background content. This would remove the backdrop layer for the panel and set tapOutsideToClose to false',
|
|
66
|
-
control: {
|
|
67
|
-
type: 'boolean',
|
|
68
|
-
},
|
|
69
|
-
table: {
|
|
70
|
-
type: {summary: 'boolean'},
|
|
71
|
-
defaultValue: {summary: 'false'},
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
size: {
|
|
75
|
-
description:
|
|
76
|
-
'Panel supports only three size variants namely small, medium and large. `small` < `medium` < `large`',
|
|
77
|
-
options: ['small', 'medium', 'large'],
|
|
78
|
-
control: {
|
|
79
|
-
type: 'select',
|
|
80
|
-
},
|
|
81
|
-
table: {
|
|
82
|
-
type: {summary: 'enum'},
|
|
83
|
-
defaultValue: {summary: 'medium'},
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
children: {
|
|
87
|
-
description: 'The children to rendered inside the Modal window',
|
|
88
|
-
table: {
|
|
89
|
-
type: {summary: 'React.ReactNode'},
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
onClose: {
|
|
93
|
-
description: '**onClose** handler is triggered on backdrop click',
|
|
94
|
-
action: 'clicked',
|
|
95
|
-
table: {
|
|
96
|
-
type: {summary: '(SyntheticEvent<HTMLElement>) => mixed'},
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
customAnimation: {
|
|
100
|
-
description: `
|
|
101
|
-
\`<Modal>\` and its derivatives(\`<Dialog>\`, \`<Panel>\`) support
|
|
102
|
-
\`customAnimation: UseTransitionStylesProps\` prop for
|
|
103
|
-
all your custom animation needs.
|
|
104
|
-
It defines the following properties:
|
|
105
|
-
|
|
106
|
-
- \`duration\` (optional): Specifies the duration of the animation in milliseconds.
|
|
107
|
-
It can be a single number to set the duration for both opening and closing animations,
|
|
108
|
-
or an object with separate open and close properties to specify different durations
|
|
109
|
-
for opening and closing animations.
|
|
110
|
-
- \`initial\` (optional): Represents the initial CSS styles for the modal component when
|
|
111
|
-
it is first mounted. This property allows you to define the initial appearance of the
|
|
112
|
-
modal before any animations occur.
|
|
113
|
-
- \`open\` (optional): Defines the CSS styles that should be applied when the modal is fully
|
|
114
|
-
opened. This property specifies the appearance of the modal when it transitions from the
|
|
115
|
-
initial state to the fully open state.
|
|
116
|
-
- \`close\` (optional): Specifies the CSS styles for the modal when it is being closed. This
|
|
117
|
-
property determines the appearance of the modal when it transitions from the fully open
|
|
118
|
-
state to the closed state.
|
|
119
|
-
- \`common\` (optional): Represents the CSS styles that are common to all states of the modal
|
|
120
|
-
component. These styles will be applied throughout the entire lifecycle of the modal,
|
|
121
|
-
regardless of whether it is in the initial, open, or close state. You can use this property
|
|
122
|
-
to define shared styles that should be present in all states.
|
|
123
|
-
|
|
124
|
-
The modal component follows a predefined order of states as it transitions through
|
|
125
|
-
its lifecycle. It starts in the \`unmounted\` state, then moves to the \`initial\` state when mounted.
|
|
126
|
-
From there, it can transition to the \`open\` state when fully opened, and then to the \`close\` state
|
|
127
|
-
when being closed. Finally, it returns to the \`unmounted\` state when it is no longer needed.
|
|
128
|
-
|
|
129
|
-
This is the transition order: \`unmounted\` -> \`initial\` -> \`open\` -> \`close\` -> \`unmounted\`
|
|
130
|
-
By specifying the appropriate values for the \`duration\`, \`initial\`, \`open\`, \`close\`, and \`common\` properties,
|
|
131
|
-
you can control the animation and styling of the modal at each stage of its lifecycle.
|
|
132
|
-
`,
|
|
133
|
-
control: {
|
|
134
|
-
type: 'object',
|
|
135
|
-
},
|
|
136
|
-
table: {
|
|
137
|
-
type: {summary: 'UseTransitionStylesProps'},
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
hideBackdrop: {
|
|
141
|
-
description:
|
|
142
|
-
'if **true**, dark backdrop is removed and transparent backdrop is applied on the DOM',
|
|
143
|
-
control: {
|
|
144
|
-
type: 'boolean',
|
|
145
|
-
},
|
|
146
|
-
table: {
|
|
147
|
-
type: {summary: 'boolean'},
|
|
148
|
-
defaultValue: {summary: 'true'},
|
|
149
|
-
},
|
|
150
|
-
},
|
|
151
|
-
initialFocus: {
|
|
152
|
-
description:
|
|
153
|
-
'Which element to initially focus. Can be a number (tabbable index as specified by the order)',
|
|
154
|
-
control: {
|
|
155
|
-
type: 'number',
|
|
156
|
-
},
|
|
157
|
-
table: {
|
|
158
|
-
type: {summary: 'number'},
|
|
159
|
-
defaultValue: {summary: '-1'},
|
|
160
|
-
},
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
|
-
|
|
164
|
-
parameters: {
|
|
165
|
-
docs: {
|
|
166
|
-
subtitle: 'Generates a Panel component',
|
|
167
|
-
description: {
|
|
168
|
-
component: `
|
|
169
|
-
\`\`\`js
|
|
170
|
-
import { Panel, PanelBody, PanelHeader, PanelFooter } from "@spaced-out/ui-design-system/lib/components/Panel";
|
|
171
|
-
\`\`\`
|
|
172
|
-
Destinations in the app are accessible through Panels. Panels are **side sheets**, which are attached to the left or
|
|
173
|
-
right edge of the screen and are surfaces with extra content. Panels can either be permanently on-screen or controlled by an **action**.
|
|
174
|
-
|
|
175
|
-
Panel is a variation of a **<a href="../?path=/docs/components-modal--docs">Modal</a>** with additional animation, position and size overrides.
|
|
176
|
-
|
|
177
|
-
Semantically a Panel component should be composed from \`PanelHeader\`, \`PanelBody\`, and \`PanelFooter\` **components**, these are nothing but layout components which defines
|
|
178
|
-
appropriate spacing for the children living in them. \`PanelHeader\` adds a close icon by default and provides a callback on click. You can pass a prop to
|
|
179
|
-
show/hide the close button as well.
|
|
180
|
-
Each of these components also exposes a className
|
|
181
|
-
`,
|
|
182
|
-
},
|
|
183
|
-
},
|
|
184
|
-
storySource: {
|
|
185
|
-
componentPath: '/src/components/Panel/Panel.jsx',
|
|
186
|
-
},
|
|
187
|
-
},
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
export const _Normal = (args: PanelProps) => {
|
|
191
|
-
const [isOpen, setIsOpen] = React.useState(args.isOpen);
|
|
192
|
-
|
|
193
|
-
React.useEffect(() => {
|
|
194
|
-
setIsOpen(args.isOpen);
|
|
195
|
-
}, [args.isOpen]);
|
|
196
|
-
|
|
197
|
-
return (
|
|
198
|
-
<div className={css.container}>
|
|
199
|
-
<Button onClick={() => setIsOpen(!isOpen)}>Open Panel</Button>
|
|
200
|
-
<Panel {...args} isOpen={isOpen} onClose={() => setIsOpen(false)}>
|
|
201
|
-
<PanelHeader onCloseButtonClick={() => setIsOpen(false)} size="medium">
|
|
202
|
-
<SubTitleLarge>Panel Title</SubTitleLarge>
|
|
203
|
-
</PanelHeader>
|
|
204
|
-
|
|
205
|
-
<PanelBody>
|
|
206
|
-
<Input
|
|
207
|
-
type="email"
|
|
208
|
-
label="Email Address"
|
|
209
|
-
placeholder="Enter your email address"
|
|
210
|
-
/>
|
|
211
|
-
<br />
|
|
212
|
-
<SimpleDropdown
|
|
213
|
-
label="Issue Type"
|
|
214
|
-
placeholder="Select an issue type"
|
|
215
|
-
options={[
|
|
216
|
-
{
|
|
217
|
-
iconLeft: 'bug',
|
|
218
|
-
iconLeftType: 'duotone',
|
|
219
|
-
key: '1',
|
|
220
|
-
label: 'Production Issue',
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
iconLeft: 'bug-slash',
|
|
224
|
-
iconLeftType: 'duotone',
|
|
225
|
-
key: '2',
|
|
226
|
-
label: 'Dev Issue',
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
iconLeft: 'ban-bug',
|
|
230
|
-
iconLeftType: 'duotone',
|
|
231
|
-
key: '4',
|
|
232
|
-
label: 'Product Issue',
|
|
233
|
-
},
|
|
234
|
-
]}
|
|
235
|
-
/>
|
|
236
|
-
<br />
|
|
237
|
-
<Textarea
|
|
238
|
-
label="Description"
|
|
239
|
-
placeholder="Enter the issue description"
|
|
240
|
-
/>
|
|
241
|
-
</PanelBody>
|
|
242
|
-
|
|
243
|
-
<PanelFooter>
|
|
244
|
-
<Button type="tertiary" onClick={() => setIsOpen(false)}>
|
|
245
|
-
Close
|
|
246
|
-
</Button>
|
|
247
|
-
<Button type="secondary" onClick={() => setIsOpen(false)}>
|
|
248
|
-
Save
|
|
249
|
-
</Button>
|
|
250
|
-
</PanelFooter>
|
|
251
|
-
</Panel>
|
|
252
|
-
</div>
|
|
253
|
-
);
|
|
254
|
-
};
|
|
255
|
-
|
|
256
|
-
_Normal.args = {
|
|
257
|
-
anchor: 'right',
|
|
258
|
-
size: 'medium',
|
|
259
|
-
tapOutsideToClose: true,
|
|
260
|
-
initialFocus: 1,
|
|
261
|
-
};
|
|
262
|
-
|
|
263
|
-
export const _WithNestedDialog = (args: PanelProps) => {
|
|
264
|
-
const [isOpen, setIsOpen] = React.useState(args.isOpen || false);
|
|
265
|
-
const [isOpen2, setIsOpen2] = React.useState(false);
|
|
266
|
-
|
|
267
|
-
React.useEffect(() => {
|
|
268
|
-
// @ts-ignore - TS2345 - Argument of type 'boolean | undefined' is not assignable to parameter of type 'SetStateAction<boolean>'.
|
|
269
|
-
setIsOpen(args.isOpen);
|
|
270
|
-
}, [args.isOpen]);
|
|
271
|
-
|
|
272
|
-
return (
|
|
273
|
-
<div className={css.container}>
|
|
274
|
-
<Button onClick={() => setIsOpen(!isOpen)}>
|
|
275
|
-
Open Panel With Nested Dialog
|
|
276
|
-
</Button>
|
|
277
|
-
<Panel {...args} isOpen={isOpen} onClose={() => setIsOpen(false)}>
|
|
278
|
-
<PanelHeader onCloseButtonClick={() => setIsOpen(false)} size="medium">
|
|
279
|
-
<SubTitleLarge>Panel Title(First Elevation)</SubTitleLarge>
|
|
280
|
-
</PanelHeader>
|
|
281
|
-
|
|
282
|
-
<PanelBody>
|
|
283
|
-
<Input
|
|
284
|
-
type="email"
|
|
285
|
-
label="Email Address"
|
|
286
|
-
placeholder="Enter your email address"
|
|
287
|
-
/>
|
|
288
|
-
<br />
|
|
289
|
-
<SimpleDropdown
|
|
290
|
-
label="Issue Type"
|
|
291
|
-
placeholder="Select an issue type"
|
|
292
|
-
options={[
|
|
293
|
-
{
|
|
294
|
-
iconLeft: 'bug',
|
|
295
|
-
iconLeftType: 'duotone',
|
|
296
|
-
key: '1',
|
|
297
|
-
label: 'Production Issue',
|
|
298
|
-
},
|
|
299
|
-
{
|
|
300
|
-
iconLeft: 'bug-slash',
|
|
301
|
-
iconLeftType: 'duotone',
|
|
302
|
-
key: '2',
|
|
303
|
-
label: 'Dev Issue',
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
iconLeft: 'ban-bug',
|
|
307
|
-
iconLeftType: 'duotone',
|
|
308
|
-
key: '4',
|
|
309
|
-
label: 'Product Issue',
|
|
310
|
-
},
|
|
311
|
-
]}
|
|
312
|
-
/>
|
|
313
|
-
<br />
|
|
314
|
-
<Textarea
|
|
315
|
-
label="Description"
|
|
316
|
-
placeholder="Enter the issue description"
|
|
317
|
-
/>
|
|
318
|
-
<Dialog
|
|
319
|
-
initialFocus={1}
|
|
320
|
-
onClose={() => setIsOpen2(false)}
|
|
321
|
-
semantic="neutral"
|
|
322
|
-
isOpen={isOpen2}
|
|
323
|
-
>
|
|
324
|
-
<DialogHeader>
|
|
325
|
-
<SubTitleLarge> Dialog Title</SubTitleLarge>
|
|
326
|
-
</DialogHeader>
|
|
327
|
-
<DialogBody>
|
|
328
|
-
<BodyLarge color="secondary">
|
|
329
|
-
Dialogs should only be used occasionally because they are
|
|
330
|
-
intended to be disruptive. Dialogs come in multiple variants.
|
|
331
|
-
</BodyLarge>
|
|
332
|
-
</DialogBody>
|
|
333
|
-
<DialogFooter>
|
|
334
|
-
<Button isFluid onClick={() => setIsOpen2(false)} type="tertiary">
|
|
335
|
-
Close
|
|
336
|
-
</Button>
|
|
337
|
-
<Button
|
|
338
|
-
isFluid
|
|
339
|
-
onClick={() => setIsOpen2(false)}
|
|
340
|
-
type="secondary"
|
|
341
|
-
>
|
|
342
|
-
Confirm
|
|
343
|
-
</Button>
|
|
344
|
-
</DialogFooter>
|
|
345
|
-
</Dialog>
|
|
346
|
-
</PanelBody>
|
|
347
|
-
|
|
348
|
-
<PanelFooter>
|
|
349
|
-
<Button type="tertiary" onClick={() => setIsOpen(false)}>
|
|
350
|
-
Close
|
|
351
|
-
</Button>
|
|
352
|
-
<Button type="secondary" onClick={() => setIsOpen2(true)}>
|
|
353
|
-
Open Nested Dialog
|
|
354
|
-
</Button>
|
|
355
|
-
</PanelFooter>
|
|
356
|
-
</Panel>
|
|
357
|
-
</div>
|
|
358
|
-
);
|
|
359
|
-
};
|
|
360
|
-
|
|
361
|
-
_WithNestedDialog.args = {
|
|
362
|
-
anchor: 'right',
|
|
363
|
-
size: 'medium',
|
|
364
|
-
tapOutsideToClose: true,
|
|
365
|
-
initialFocus: 1,
|
|
366
|
-
};
|
|
367
|
-
|
|
368
|
-
export const _WithInteractiveBackground = (args: PanelProps) => {
|
|
369
|
-
const [isOpen, setIsOpen] = React.useState(args.isOpen);
|
|
370
|
-
|
|
371
|
-
React.useEffect(() => {
|
|
372
|
-
setIsOpen(args.isOpen);
|
|
373
|
-
}, [args.isOpen]);
|
|
374
|
-
|
|
375
|
-
return (
|
|
376
|
-
<div className={css.container}>
|
|
377
|
-
<Button onClick={() => setIsOpen(!isOpen)}>Open Panel</Button>
|
|
378
|
-
<div className={css.interactionContainer}>
|
|
379
|
-
<Tooltip
|
|
380
|
-
body="When the panel opens, the background content is interactive"
|
|
381
|
-
bodyMaxLines={2}
|
|
382
|
-
placement="top"
|
|
383
|
-
title="I am interactive tooltip"
|
|
384
|
-
>
|
|
385
|
-
<Button iconLeftName="face-sunglasses" type="tertiary">
|
|
386
|
-
Hover Me after opening the panel
|
|
387
|
-
</Button>
|
|
388
|
-
</Tooltip>
|
|
389
|
-
</div>
|
|
390
|
-
|
|
391
|
-
<Panel {...args} isOpen={isOpen} onClose={() => setIsOpen(false)}>
|
|
392
|
-
<PanelHeader onCloseButtonClick={() => setIsOpen(false)} size="medium">
|
|
393
|
-
<SubTitleLarge>Panel Title</SubTitleLarge>
|
|
394
|
-
</PanelHeader>
|
|
395
|
-
|
|
396
|
-
<PanelBody>
|
|
397
|
-
<Input
|
|
398
|
-
type="email"
|
|
399
|
-
label="Email Address"
|
|
400
|
-
placeholder="Enter your email address"
|
|
401
|
-
/>
|
|
402
|
-
<br />
|
|
403
|
-
<SimpleDropdown
|
|
404
|
-
label="Issue Type"
|
|
405
|
-
placeholder="Select an issue type"
|
|
406
|
-
options={[
|
|
407
|
-
{
|
|
408
|
-
iconLeft: 'bug',
|
|
409
|
-
iconLeftType: 'duotone',
|
|
410
|
-
key: '1',
|
|
411
|
-
label: 'Production Issue',
|
|
412
|
-
},
|
|
413
|
-
{
|
|
414
|
-
iconLeft: 'bug-slash',
|
|
415
|
-
iconLeftType: 'duotone',
|
|
416
|
-
key: '2',
|
|
417
|
-
label: 'Dev Issue',
|
|
418
|
-
},
|
|
419
|
-
{
|
|
420
|
-
iconLeft: 'ban-bug',
|
|
421
|
-
iconLeftType: 'duotone',
|
|
422
|
-
key: '4',
|
|
423
|
-
label: 'Product Issue',
|
|
424
|
-
},
|
|
425
|
-
]}
|
|
426
|
-
/>
|
|
427
|
-
<br />
|
|
428
|
-
<Textarea
|
|
429
|
-
label="Description"
|
|
430
|
-
placeholder="Enter the issue description"
|
|
431
|
-
/>
|
|
432
|
-
</PanelBody>
|
|
433
|
-
|
|
434
|
-
<PanelFooter>
|
|
435
|
-
<Button type="tertiary" onClick={() => setIsOpen(false)}>
|
|
436
|
-
Close
|
|
437
|
-
</Button>
|
|
438
|
-
<Button type="secondary" onClick={() => setIsOpen(false)}>
|
|
439
|
-
Save
|
|
440
|
-
</Button>
|
|
441
|
-
</PanelFooter>
|
|
442
|
-
</Panel>
|
|
443
|
-
</div>
|
|
444
|
-
);
|
|
445
|
-
};
|
|
446
|
-
|
|
447
|
-
_WithInteractiveBackground.args = {
|
|
448
|
-
anchor: 'right',
|
|
449
|
-
size: 'medium',
|
|
450
|
-
initialFocus: 1,
|
|
451
|
-
allowBackgroundInteraction: true,
|
|
452
|
-
};
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
import {Flow} from 'flow-to-typescript-codemod';
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
|
|
5
|
-
import useMountTransition from '../../hooks/useMountTransition';
|
|
6
|
-
import {
|
|
7
|
-
motionDurationNormal,
|
|
8
|
-
motionDurationSlow,
|
|
9
|
-
} from '../../styles/variables/_motion';
|
|
10
|
-
import {
|
|
11
|
-
spaceFluid,
|
|
12
|
-
spaceNegFluid,
|
|
13
|
-
spaceNone,
|
|
14
|
-
} from '../../styles/variables/_space';
|
|
15
|
-
import classify from '../../utils/classify';
|
|
16
|
-
import {Button} from '../Button';
|
|
17
|
-
import type {ModalProps} from '../Modal';
|
|
18
|
-
import {Modal} from '../Modal';
|
|
19
|
-
import {Truncate} from '../Truncate';
|
|
20
|
-
|
|
21
|
-
import css from './Panel.module.css';
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
export type PanelSize = 'small' | 'medium' | 'large';
|
|
25
|
-
export type PanelAnchor = 'left' | 'right';
|
|
26
|
-
|
|
27
|
-
export type PanelHeaderProps = {
|
|
28
|
-
children?: React.ReactNode;
|
|
29
|
-
hideCloseBtn?: boolean;
|
|
30
|
-
onCloseButtonClick?: ((arg1: React.SyntheticEvent<HTMLElement>) => unknown) | null | undefined;
|
|
31
|
-
className?: string;
|
|
32
|
-
size?: 'medium' | 'small';
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
type FooterClassNames = Readonly<{
|
|
36
|
-
wrapper?: string;
|
|
37
|
-
actions?: string;
|
|
38
|
-
}>;
|
|
39
|
-
|
|
40
|
-
export type PanelFooterProps = {
|
|
41
|
-
children?: React.ReactNode;
|
|
42
|
-
classNames?: FooterClassNames;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export type PanelBodyProps = {
|
|
46
|
-
children?: React.ReactNode;
|
|
47
|
-
className?: string;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export type PanelProps = ((ModalProps) & {
|
|
51
|
-
allowBackgroundInteraction?: boolean;
|
|
52
|
-
size?: PanelSize;
|
|
53
|
-
anchor?: PanelAnchor;
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
const getDefaultPanelAnimation = (anchor: PanelAnchor) => ({
|
|
57
|
-
// Configure both open and close durations:
|
|
58
|
-
duration: {
|
|
59
|
-
open: parseInt(motionDurationSlow),
|
|
60
|
-
close: parseInt(motionDurationNormal),
|
|
61
|
-
},
|
|
62
|
-
initial: {
|
|
63
|
-
transform: `translateX(${anchor === 'right' ? spaceFluid : spaceNegFluid})`,
|
|
64
|
-
},
|
|
65
|
-
open: {
|
|
66
|
-
transform: `translateX(${spaceNone})`,
|
|
67
|
-
},
|
|
68
|
-
close: {
|
|
69
|
-
transform: `translateX(${anchor === 'right' ? spaceFluid : spaceNegFluid})`,
|
|
70
|
-
},
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
export const PanelHeader = (
|
|
74
|
-
{
|
|
75
|
-
children,
|
|
76
|
-
hideCloseBtn,
|
|
77
|
-
onCloseButtonClick,
|
|
78
|
-
className,
|
|
79
|
-
size,
|
|
80
|
-
}: PanelHeaderProps,
|
|
81
|
-
) => (<>
|
|
82
|
-
{React.Children.count(children) > 0 && (
|
|
83
|
-
<div className={classify(css.panelHeader, className)}>
|
|
84
|
-
<div className={css.headerContent}>
|
|
85
|
-
<Truncate>{children}</Truncate>
|
|
86
|
-
</div>
|
|
87
|
-
{!hideCloseBtn && (
|
|
88
|
-
<Button
|
|
89
|
-
iconLeftName="xmark"
|
|
90
|
-
type="ghost"
|
|
91
|
-
onClick={onCloseButtonClick}
|
|
92
|
-
ariaLabel="Close Button"
|
|
93
|
-
size={size}
|
|
94
|
-
></Button>
|
|
95
|
-
)}
|
|
96
|
-
</div>
|
|
97
|
-
)}
|
|
98
|
-
</>);
|
|
99
|
-
|
|
100
|
-
export const PanelBody: Flow.AbstractComponent<PanelBodyProps, HTMLDivElement> = React.forwardRef<HTMLDivElement, PanelBodyProps>((
|
|
101
|
-
{
|
|
102
|
-
children,
|
|
103
|
-
className,
|
|
104
|
-
}: PanelBodyProps,
|
|
105
|
-
ref,
|
|
106
|
-
) => (<div ref={ref} className={classify(css.panelBody, className)}>
|
|
107
|
-
{children}
|
|
108
|
-
</div>));
|
|
109
|
-
|
|
110
|
-
export const PanelFooter = (
|
|
111
|
-
{
|
|
112
|
-
children,
|
|
113
|
-
classNames,
|
|
114
|
-
}: PanelFooterProps,
|
|
115
|
-
) => (<>
|
|
116
|
-
{React.Children.count(children) > 0 && (
|
|
117
|
-
<div className={classify(css.panelFooter, classNames?.wrapper)}>
|
|
118
|
-
<div className={classify(css.panelFooterActions, classNames?.actions)}>
|
|
119
|
-
{children}
|
|
120
|
-
</div>
|
|
121
|
-
</div>
|
|
122
|
-
)}
|
|
123
|
-
</>);
|
|
124
|
-
|
|
125
|
-
export const Panel = (
|
|
126
|
-
{
|
|
127
|
-
children,
|
|
128
|
-
isOpen = false,
|
|
129
|
-
size = 'medium',
|
|
130
|
-
anchor = 'left',
|
|
131
|
-
onClose,
|
|
132
|
-
hideBackdrop = true,
|
|
133
|
-
classNames,
|
|
134
|
-
customAnimation,
|
|
135
|
-
tapOutsideToClose = true,
|
|
136
|
-
allowBackgroundInteraction,
|
|
137
|
-
...restPanelProps
|
|
138
|
-
}: PanelProps,
|
|
139
|
-
) => {
|
|
140
|
-
const isTransitioning = useMountTransition(
|
|
141
|
-
isOpen,
|
|
142
|
-
parseInt(motionDurationNormal),
|
|
143
|
-
);
|
|
144
|
-
|
|
145
|
-
const defaultPanelAnimation = getDefaultPanelAnimation(anchor);
|
|
146
|
-
|
|
147
|
-
return (
|
|
148
|
-
<Modal
|
|
149
|
-
isOpen={isOpen}
|
|
150
|
-
onClose={onClose}
|
|
151
|
-
hideBackdrop={hideBackdrop}
|
|
152
|
-
tapOutsideToClose={allowBackgroundInteraction ? false : tapOutsideToClose}
|
|
153
|
-
allowBackgroundInteraction={allowBackgroundInteraction}
|
|
154
|
-
{...restPanelProps}
|
|
155
|
-
classNames={{
|
|
156
|
-
container: classify(
|
|
157
|
-
css.panelContainer,
|
|
158
|
-
{
|
|
159
|
-
[css.in]: isTransitioning,
|
|
160
|
-
[css.open]: isOpen,
|
|
161
|
-
},
|
|
162
|
-
classNames?.container,
|
|
163
|
-
),
|
|
164
|
-
content: classify(
|
|
165
|
-
css.panel,
|
|
166
|
-
css[anchor],
|
|
167
|
-
{
|
|
168
|
-
[css.medium]: size === 'medium',
|
|
169
|
-
[css.small]: size === 'small',
|
|
170
|
-
[css.large]: size === 'large',
|
|
171
|
-
},
|
|
172
|
-
classNames?.content,
|
|
173
|
-
),
|
|
174
|
-
backdrop: classify(classNames?.backdrop),
|
|
175
|
-
}}
|
|
176
|
-
customAnimation={customAnimation || defaultPanelAnimation}
|
|
177
|
-
>
|
|
178
|
-
{children}
|
|
179
|
-
</Modal>
|
|
180
|
-
);
|
|
181
|
-
};
|