@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,102 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import get from 'lodash/get';
|
|
3
|
-
import sortBy from 'lodash/sortBy';
|
|
4
|
-
|
|
5
|
-
import type {GenericObject} from './Table';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export type SortDirection = 'asc' | 'desc' | 'original';
|
|
9
|
-
|
|
10
|
-
export function useSortableEntries<T extends GenericObject>(
|
|
11
|
-
entries: Array<T>,
|
|
12
|
-
idName: keyof T,
|
|
13
|
-
{
|
|
14
|
-
defaultSortKey = 'id',
|
|
15
|
-
defaultSortDirection = 'original',
|
|
16
|
-
onSort,
|
|
17
|
-
enableInternalSorting = true,
|
|
18
|
-
}: {
|
|
19
|
-
defaultSortKey?: keyof T;
|
|
20
|
-
defaultSortDirection?: SortDirection;
|
|
21
|
-
onSort?: (sortKey: string, sortDirection: SortDirection) => unknown;
|
|
22
|
-
enableInternalSorting?: boolean;
|
|
23
|
-
},
|
|
24
|
-
): {
|
|
25
|
-
handleSortClick: (sortKey: keyof T) => unknown;
|
|
26
|
-
sortDirection: SortDirection;
|
|
27
|
-
sortKey?: string;
|
|
28
|
-
sortedEntries: T[];
|
|
29
|
-
sortedKeys: keyof T[];
|
|
30
|
-
} {
|
|
31
|
-
const [sortKey, setSortKey] = React.useState(defaultSortKey);
|
|
32
|
-
const [sortDirection, setSortDirection] =
|
|
33
|
-
React.useState<SortDirection>(defaultSortDirection);
|
|
34
|
-
|
|
35
|
-
const getNextDirection = (direction: SortDirection): SortDirection => {
|
|
36
|
-
switch (direction) {
|
|
37
|
-
case 'original':
|
|
38
|
-
return 'desc';
|
|
39
|
-
case 'asc':
|
|
40
|
-
return 'original';
|
|
41
|
-
case 'desc':
|
|
42
|
-
return 'asc';
|
|
43
|
-
default:
|
|
44
|
-
return 'original';
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
const advanceSortDirection = (dir: SortDirection) => {
|
|
48
|
-
const nextDirection = getNextDirection(dir);
|
|
49
|
-
// eslint-disable-next-line unused-imports/no-unused-vars
|
|
50
|
-
// @ts-ignore - TS6133 - 'dir' is declared but its value is never read.
|
|
51
|
-
setSortDirection((dir) => nextDirection);
|
|
52
|
-
return nextDirection;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
const handleSortClick = React.useCallback(
|
|
56
|
-
(nextSortKey: string) => {
|
|
57
|
-
let nextSortDirection;
|
|
58
|
-
if (nextSortKey === sortKey) {
|
|
59
|
-
nextSortDirection = advanceSortDirection(sortDirection);
|
|
60
|
-
} else {
|
|
61
|
-
setSortKey(nextSortKey);
|
|
62
|
-
nextSortDirection = 'desc';
|
|
63
|
-
}
|
|
64
|
-
// @ts-ignore - TS2345 - Argument of type 'string' is not assignable to parameter of type 'SetStateAction<SortDirection>'.
|
|
65
|
-
setSortDirection(nextSortDirection);
|
|
66
|
-
// @ts-ignore - TS2345 - Argument of type 'string' is not assignable to parameter of type 'SortDirection'.
|
|
67
|
-
onSort?.(nextSortKey, nextSortDirection);
|
|
68
|
-
},
|
|
69
|
-
[sortKey, sortDirection, entries],
|
|
70
|
-
);
|
|
71
|
-
|
|
72
|
-
const sortedEntries = React.useMemo(() => {
|
|
73
|
-
if (!enableInternalSorting || sortDirection === 'original') {
|
|
74
|
-
return entries;
|
|
75
|
-
}
|
|
76
|
-
const caseInsensitiveSortFunction = (entry: T) => {
|
|
77
|
-
if (typeof entry[sortKey] === 'string') {
|
|
78
|
-
// @ts-ignore - TS2339 - Property 'toLowerCase' does not exist on type 'T[keyof T]'.
|
|
79
|
-
return entry[sortKey].toLowerCase();
|
|
80
|
-
}
|
|
81
|
-
return entry[sortKey];
|
|
82
|
-
};
|
|
83
|
-
const sortedAsc = sortBy(entries, caseInsensitiveSortFunction);
|
|
84
|
-
return sortDirection === 'asc' ? sortedAsc : sortedAsc.reverse();
|
|
85
|
-
}, [sortDirection, sortKey, entries, enableInternalSorting]);
|
|
86
|
-
|
|
87
|
-
const sortedKeys = React.useMemo(
|
|
88
|
-
() => sortedEntries.map((ent) => get(ent, idName)),
|
|
89
|
-
[sortedEntries],
|
|
90
|
-
);
|
|
91
|
-
|
|
92
|
-
return {
|
|
93
|
-
sortedEntries,
|
|
94
|
-
// @ts-ignore - TS2322 - Type 'T[keyof T][]' is not assignable to type 'keyof T[]'.
|
|
95
|
-
sortedKeys,
|
|
96
|
-
sortDirection,
|
|
97
|
-
// @ts-ignore - TS2322 - Type 'string | number | symbol' is not assignable to type 'string | undefined'.
|
|
98
|
-
sortKey,
|
|
99
|
-
// @ts-ignore - TS2322 - Type '(nextSortKey: string) => void' is not assignable to type '(sortKey: keyof T) => unknown'.
|
|
100
|
-
handleSortClick,
|
|
101
|
-
};
|
|
102
|
-
}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
import type {TabProps} from './Tab';
|
|
4
|
-
import {Tab, tabSizeOptions} from '.';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export default {
|
|
8
|
-
tags: ['autodocs'],
|
|
9
|
-
title: 'Components/Tabs/Anatomy',
|
|
10
|
-
argTypes: {
|
|
11
|
-
size: {
|
|
12
|
-
description: 'Tab supports two size variants namely small, medium',
|
|
13
|
-
control: {
|
|
14
|
-
type: 'select',
|
|
15
|
-
},
|
|
16
|
-
options: tabSizeOptions,
|
|
17
|
-
table: {
|
|
18
|
-
type: {summary: 'enum'},
|
|
19
|
-
defaultValue: {summary: 'medium'},
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
disabled: {
|
|
23
|
-
name: 'disabled',
|
|
24
|
-
description: `Disabled Tab. When true, User can not interact with the the Tab.`,
|
|
25
|
-
options: [false, true],
|
|
26
|
-
control: 'boolean',
|
|
27
|
-
table: {
|
|
28
|
-
type: {summary: 'boolean'},
|
|
29
|
-
defaultValue: {summary: false},
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
iconName: {
|
|
33
|
-
name: 'iconName',
|
|
34
|
-
description: 'Icon name for tab with Icon',
|
|
35
|
-
table: {
|
|
36
|
-
type: {summary: 'string'},
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
iconType: {
|
|
40
|
-
description:
|
|
41
|
-
'Type of Icon for tab with Icon. Type represents 4 unique icon styles :- Solid, Regular, Duotone and Brands',
|
|
42
|
-
options: ['regular', 'solid', 'duotone', 'brands'],
|
|
43
|
-
control: {type: 'select'},
|
|
44
|
-
table: {
|
|
45
|
-
type: {summary: 'string'},
|
|
46
|
-
defaultValue: {summary: 'regular'},
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
label: {
|
|
50
|
-
description: 'Pass label for Tab',
|
|
51
|
-
table: {
|
|
52
|
-
type: {summary: 'string'},
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
tabId: {
|
|
56
|
-
description:
|
|
57
|
-
'Pass tabId for each Tab. It should be unique for among a TabList',
|
|
58
|
-
table: {
|
|
59
|
-
type: {summary: 'string'},
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
onSelect: {
|
|
63
|
-
description:
|
|
64
|
-
'**onSelect** handler is triggered when there is a change in selected tab',
|
|
65
|
-
action: 'clicked',
|
|
66
|
-
table: {
|
|
67
|
-
type: {summary: '({tabId: string, label: string}) => mixed'},
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
selectedTab: {
|
|
71
|
-
description: 'Pass the tabId and label(optional) of selected tab',
|
|
72
|
-
control: {
|
|
73
|
-
type: 'object',
|
|
74
|
-
},
|
|
75
|
-
table: {
|
|
76
|
-
type: {summary: '{tabId?: string, label?: string}'},
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
width: {
|
|
80
|
-
description:
|
|
81
|
-
'Manual width control. This overrides the default width consideration tab',
|
|
82
|
-
control: {
|
|
83
|
-
type: 'text',
|
|
84
|
-
},
|
|
85
|
-
table: {
|
|
86
|
-
type: {summary: 'string'},
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
onClick: {
|
|
90
|
-
description:
|
|
91
|
-
'**onClick** handler that is applied to the root `<button>` element',
|
|
92
|
-
action: 'clicked',
|
|
93
|
-
table: {
|
|
94
|
-
type: {summary: '(SyntheticEvent<HTMLElement>) => mixed'},
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
|
-
classNames: {
|
|
98
|
-
description: 'External classNames to be applied',
|
|
99
|
-
control: {
|
|
100
|
-
type: 'object',
|
|
101
|
-
},
|
|
102
|
-
table: {
|
|
103
|
-
type: {summary: '{wrapper?: string, iconTextWrap?: string}'},
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
parameters: {
|
|
108
|
-
docs: {
|
|
109
|
-
subtitle: 'Generates a Tabs component.',
|
|
110
|
-
description: {
|
|
111
|
-
component: `
|
|
112
|
-
\`\`\`js
|
|
113
|
-
import { Tab } from "@spaced-out/ui-design-system/lib/components/Tabs";
|
|
114
|
-
\`\`\`
|
|
115
|
-
Tab has to be used as child of <a href="../?path=/docs/components-tablist--docs">TabList</a>.
|
|
116
|
-
Tabs make it easy to switch between different views. A controlled value can be provided using the selectedTab prop.
|
|
117
|
-
Tab accepts an onSelect prop, when Tab is clicked this function will be called and you will receive
|
|
118
|
-
the tabId and label.
|
|
119
|
-
`,
|
|
120
|
-
},
|
|
121
|
-
},
|
|
122
|
-
storySource: {
|
|
123
|
-
componentPath: '/src/components/Tabs/Tab/Tab.jsx',
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
export const _Anatomy = (args: TabProps) => {
|
|
129
|
-
const [selectedTab, setSelectedTab] = React.useState(args.selectedTab);
|
|
130
|
-
const onSelectHandler = (
|
|
131
|
-
params: {
|
|
132
|
-
label?: string;
|
|
133
|
-
tabId?: string;
|
|
134
|
-
},
|
|
135
|
-
): void => {
|
|
136
|
-
args.onSelect && args.onSelect(params);
|
|
137
|
-
setSelectedTab(params);
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
return <Tab {...args} onSelect={onSelectHandler} selectedTab={selectedTab} />;
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
_Anatomy.args = {
|
|
144
|
-
size: 'medium',
|
|
145
|
-
selectedTab: {key: '', value: ''},
|
|
146
|
-
disabled: false,
|
|
147
|
-
iconName: 'face-party',
|
|
148
|
-
iconType: 'regular',
|
|
149
|
-
label: 'Tab Link',
|
|
150
|
-
tabId: 'tab-0',
|
|
151
|
-
};
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import {Flow} from 'flow-to-typescript-codemod';
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
|
|
5
|
-
import {TEXT_COLORS} from '../../../types/typography';
|
|
6
|
-
import {classify} from '../../../utils/classify';
|
|
7
|
-
import {UnstyledButton} from '../../Button';
|
|
8
|
-
import type {IconType} from '../../Icon';
|
|
9
|
-
import {Icon} from '../../Icon';
|
|
10
|
-
import {ButtonTextMedium, ButtonTextSmall} from '../../Text';
|
|
11
|
-
|
|
12
|
-
import css from './Tab.module.css';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
type ClassNames = Readonly<{
|
|
16
|
-
wrapper?: string;
|
|
17
|
-
iconTextWrap?: string;
|
|
18
|
-
}>;
|
|
19
|
-
|
|
20
|
-
export const TAB_SIZE = Object.freeze({
|
|
21
|
-
small: 'small',
|
|
22
|
-
medium: 'medium',
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
export const tabSizeOptions: Array<unknown> = [...Object.keys(TAB_SIZE)];
|
|
26
|
-
|
|
27
|
-
export type TabSize = keyof typeof TAB_SIZE;
|
|
28
|
-
|
|
29
|
-
export type TabProps = {
|
|
30
|
-
classNames?: ClassNames;
|
|
31
|
-
onSelect?: (
|
|
32
|
-
arg1: {
|
|
33
|
-
tabId?: string;
|
|
34
|
-
label?: string;
|
|
35
|
-
},
|
|
36
|
-
) => unknown;
|
|
37
|
-
size?: TabSize;
|
|
38
|
-
selectedTab?: {
|
|
39
|
-
tabId?: string;
|
|
40
|
-
label?: string;
|
|
41
|
-
};
|
|
42
|
-
disabled?: boolean;
|
|
43
|
-
tabId?: string;
|
|
44
|
-
label?: string;
|
|
45
|
-
iconName?: string;
|
|
46
|
-
iconType?: IconType;
|
|
47
|
-
width?: string;
|
|
48
|
-
onClick?: ((arg1: React.SyntheticEvent<HTMLElement>) => unknown) | null | undefined;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
export const Tab: Flow.AbstractComponent<TabProps, HTMLButtonElement> =
|
|
52
|
-
React.forwardRef<HTMLButtonElement, TabProps>((
|
|
53
|
-
{
|
|
54
|
-
classNames,
|
|
55
|
-
onSelect,
|
|
56
|
-
size = 'medium',
|
|
57
|
-
selectedTab,
|
|
58
|
-
disabled = false,
|
|
59
|
-
tabId,
|
|
60
|
-
label,
|
|
61
|
-
iconName,
|
|
62
|
-
iconType,
|
|
63
|
-
onClick,
|
|
64
|
-
width,
|
|
65
|
-
...props
|
|
66
|
-
}: TabProps,
|
|
67
|
-
forwardRef,
|
|
68
|
-
) => {
|
|
69
|
-
const tabRef = React.useRef(null);
|
|
70
|
-
// @ts-ignore - TS2322 - Type 'null' is not assignable to type 'HTMLButtonElement'.
|
|
71
|
-
React.useImperativeHandle(forwardRef, () => tabRef.current);
|
|
72
|
-
const selected = tabId && tabId === selectedTab?.tabId;
|
|
73
|
-
const onClickHandler = (e: React.SyntheticEvent<HTMLElement>) => {
|
|
74
|
-
if (!disabled) {
|
|
75
|
-
e.preventDefault();
|
|
76
|
-
onSelect && onSelect({tabId, label});
|
|
77
|
-
onClick && onClick(e);
|
|
78
|
-
// @ts-ignore - TS2339 - Property 'blur' does not exist on type 'never'.
|
|
79
|
-
tabRef.current?.blur();
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
return (
|
|
83
|
-
<UnstyledButton
|
|
84
|
-
{...props}
|
|
85
|
-
disabled={disabled}
|
|
86
|
-
className={classify(
|
|
87
|
-
css.button,
|
|
88
|
-
{
|
|
89
|
-
[css.selected]: selected === true,
|
|
90
|
-
[css.disabled]: disabled === true,
|
|
91
|
-
[css.mediumSize]: size === 'medium',
|
|
92
|
-
[css.smallSize]: size === 'small',
|
|
93
|
-
},
|
|
94
|
-
classNames?.wrapper,
|
|
95
|
-
)}
|
|
96
|
-
onClick={onClickHandler}
|
|
97
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
98
|
-
style={{width}}
|
|
99
|
-
tabIndex={disabled ? -1 : 0}
|
|
100
|
-
ref={tabRef}
|
|
101
|
-
>
|
|
102
|
-
<span
|
|
103
|
-
className={classify(
|
|
104
|
-
css.iconTextWrap,
|
|
105
|
-
{
|
|
106
|
-
[css.selected]: selected === true,
|
|
107
|
-
[css.disabled]: disabled === true,
|
|
108
|
-
},
|
|
109
|
-
classNames?.iconTextWrap,
|
|
110
|
-
)}
|
|
111
|
-
>
|
|
112
|
-
{iconName ? (
|
|
113
|
-
<Icon
|
|
114
|
-
name={iconName}
|
|
115
|
-
type={iconType}
|
|
116
|
-
size={size}
|
|
117
|
-
className={classify(css.icon, {
|
|
118
|
-
[css.disabled]: disabled === true,
|
|
119
|
-
})}
|
|
120
|
-
/>
|
|
121
|
-
) : null}
|
|
122
|
-
|
|
123
|
-
{label && (
|
|
124
|
-
<>
|
|
125
|
-
{size === TAB_SIZE.medium ? (
|
|
126
|
-
<ButtonTextMedium
|
|
127
|
-
color={TEXT_COLORS.secondary}
|
|
128
|
-
className={classify(css.tabContainer, {
|
|
129
|
-
[css.disabled]: disabled === true,
|
|
130
|
-
})}
|
|
131
|
-
>
|
|
132
|
-
{label}
|
|
133
|
-
</ButtonTextMedium>
|
|
134
|
-
) : (
|
|
135
|
-
<ButtonTextSmall
|
|
136
|
-
color={TEXT_COLORS.secondary}
|
|
137
|
-
className={classify(css.tabContainer, {
|
|
138
|
-
[css.selected]: selected === true,
|
|
139
|
-
[css.disabled]: disabled === true,
|
|
140
|
-
})}
|
|
141
|
-
>
|
|
142
|
-
{label}
|
|
143
|
-
</ButtonTextSmall>
|
|
144
|
-
)}
|
|
145
|
-
</>
|
|
146
|
-
)}
|
|
147
|
-
</span>
|
|
148
|
-
</UnstyledButton>
|
|
149
|
-
);
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
Tab.displayName = 'Tab';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Tab';
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
autoUpdate,
|
|
4
|
-
flip,
|
|
5
|
-
FloatingFocusManager,
|
|
6
|
-
FloatingPortal,
|
|
7
|
-
offset,
|
|
8
|
-
shift,
|
|
9
|
-
useFloating,
|
|
10
|
-
} from '@floating-ui/react';
|
|
11
|
-
|
|
12
|
-
import {spaceNone, spaceXXSmall} from '../../../styles/variables/_space';
|
|
13
|
-
import {classify} from '../../../utils/classify';
|
|
14
|
-
import {ClickAway} from '../../../utils/click-away';
|
|
15
|
-
import {mergeRefs} from '../../../utils/merge-refs';
|
|
16
|
-
import type {AnchorType} from '../../ButtonDropdown';
|
|
17
|
-
import type {MenuOption, MenuProps} from '../../Menu';
|
|
18
|
-
import {Menu} from '../../Menu';
|
|
19
|
-
import type {ElevationType} from '../../Tooltip';
|
|
20
|
-
import {getElevationValue} from '../../Tooltip';
|
|
21
|
-
import type {TabProps} from '../Tab';
|
|
22
|
-
import {Tab} from '../Tab';
|
|
23
|
-
|
|
24
|
-
import css from './TabDropdown.module.css';
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
type ClassNames = Readonly<{
|
|
28
|
-
wrapper?: string;
|
|
29
|
-
}>;
|
|
30
|
-
|
|
31
|
-
export type TabDropdownProps = {
|
|
32
|
-
anchorPosition?: AnchorType;
|
|
33
|
-
size?: 'medium' | 'small';
|
|
34
|
-
props?: {
|
|
35
|
-
tab: TabProps;
|
|
36
|
-
menu: MenuProps;
|
|
37
|
-
};
|
|
38
|
-
onOptionSelect?: (
|
|
39
|
-
option: MenuOption,
|
|
40
|
-
arg2?: React.SyntheticEvent<HTMLElement> | null | undefined,
|
|
41
|
-
) => unknown;
|
|
42
|
-
classNames?: ClassNames;
|
|
43
|
-
selected?: boolean;
|
|
44
|
-
disabled?: boolean;
|
|
45
|
-
elevation?: ElevationType;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
export const TabDropdown = (
|
|
49
|
-
{
|
|
50
|
-
anchorPosition = 'bottom-start',
|
|
51
|
-
size,
|
|
52
|
-
onOptionSelect,
|
|
53
|
-
props,
|
|
54
|
-
elevation = 'modal',
|
|
55
|
-
classNames,
|
|
56
|
-
}: TabDropdownProps,
|
|
57
|
-
) => {
|
|
58
|
-
const {x, y, refs, strategy, context} = useFloating({
|
|
59
|
-
open: true,
|
|
60
|
-
strategy: 'absolute',
|
|
61
|
-
// @ts-ignore - TS2322 - Type 'string' is not assignable to type 'Placement | undefined'.
|
|
62
|
-
placement: anchorPosition,
|
|
63
|
-
whileElementsMounted: autoUpdate,
|
|
64
|
-
middleware: [shift(), flip(), offset(parseInt(spaceXXSmall))],
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
return (
|
|
68
|
-
<ClickAway>
|
|
69
|
-
{({isOpen, onOpen, clickAway, boundaryRef, triggerRef}) => (
|
|
70
|
-
<div
|
|
71
|
-
data-testid="TabDropdown"
|
|
72
|
-
className={classify(css.tabDropdownContainer, classNames?.wrapper)}
|
|
73
|
-
>
|
|
74
|
-
<Tab
|
|
75
|
-
{...props?.tab}
|
|
76
|
-
size={size}
|
|
77
|
-
// @ts-ignore - TS2322 - Type '((node: ReferenceType | null) => void) & ((node: ReferenceType | null) => void)' is not assignable to type '{ current: HTMLElement | null | undefined; }'.
|
|
78
|
-
ref={mergeRefs([refs.setReference, triggerRef])}
|
|
79
|
-
onClick={(e) => {
|
|
80
|
-
e.stopPropagation();
|
|
81
|
-
onOpen();
|
|
82
|
-
}}
|
|
83
|
-
classNames={{
|
|
84
|
-
wrapper: css.dotTabWrapper,
|
|
85
|
-
iconTextWrap: css.dotTextWrap,
|
|
86
|
-
}}
|
|
87
|
-
/>
|
|
88
|
-
{isOpen && props?.menu && (
|
|
89
|
-
<FloatingPortal>
|
|
90
|
-
<FloatingFocusManager
|
|
91
|
-
modal={false}
|
|
92
|
-
context={context}
|
|
93
|
-
// @ts-ignore - TS2322 - Type 'MutableRefObject<ReferenceType | null> & MutableRefObject<ReferenceType | null>' is not assignable to type 'number | MutableRefObject<HTMLElement | null> | undefined'.
|
|
94
|
-
initialFocus={refs.reference}
|
|
95
|
-
>
|
|
96
|
-
<div
|
|
97
|
-
// @ts-ignore - TS2322 - Type '((node: HTMLElement | null) => void) & ((node: HTMLElement | null) => void)' is not assignable to type '{ current: HTMLElement | null | undefined; }'.
|
|
98
|
-
ref={mergeRefs([refs.setFloating, boundaryRef])}
|
|
99
|
-
className={css.menuWrapper}
|
|
100
|
-
style={{
|
|
101
|
-
display: 'flex',
|
|
102
|
-
position: strategy,
|
|
103
|
-
top: y ?? spaceNone,
|
|
104
|
-
left: x ?? spaceNone,
|
|
105
|
-
'--menu-elevation': getElevationValue(elevation),
|
|
106
|
-
}}
|
|
107
|
-
>
|
|
108
|
-
<Menu
|
|
109
|
-
{...props.menu}
|
|
110
|
-
onSelect={(option, e) => {
|
|
111
|
-
onOptionSelect && onOptionSelect(option, e);
|
|
112
|
-
clickAway();
|
|
113
|
-
}}
|
|
114
|
-
size={props.menu.size || size}
|
|
115
|
-
onTabOut={clickAway}
|
|
116
|
-
/>
|
|
117
|
-
</div>
|
|
118
|
-
</FloatingFocusManager>
|
|
119
|
-
</FloatingPortal>
|
|
120
|
-
)}
|
|
121
|
-
</div>
|
|
122
|
-
)}
|
|
123
|
-
</ClickAway>
|
|
124
|
-
);
|
|
125
|
-
};
|