@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,557 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
import {Button} from '../Button';
|
|
4
|
-
import {SubTitleExtraSmall} from '../Text';
|
|
5
|
-
|
|
6
|
-
import type {FocusManagerWithArrowKeyNavigationProps} from './';
|
|
7
|
-
import {
|
|
8
|
-
FocusManagerWithArrowKeyNavigation,
|
|
9
|
-
SkipElementFromNavigation,
|
|
10
|
-
} from './FocusManagerWithArrowKeyNavigation';
|
|
11
|
-
|
|
12
|
-
import css from './FocusManagerWithArrowKeyNavigation.stories.module.css';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export default {
|
|
16
|
-
tags: ['autodocs'],
|
|
17
|
-
title: 'Utils/Focus Manager With Arrow Key Navigation',
|
|
18
|
-
component: FocusManagerWithArrowKeyNavigation,
|
|
19
|
-
argTypes: {
|
|
20
|
-
classNames: {
|
|
21
|
-
description: 'Provide an optional className to be applied to the wrapper',
|
|
22
|
-
control: {
|
|
23
|
-
type: 'object',
|
|
24
|
-
},
|
|
25
|
-
table: {
|
|
26
|
-
type: {
|
|
27
|
-
summary: '{wrapper?: string}',
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
children: {
|
|
32
|
-
description:
|
|
33
|
-
'The children to be rendered inside the FocusManager And provides list and grid navigation',
|
|
34
|
-
table: {
|
|
35
|
-
type: {summary: 'React.ReactNode'},
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
initialFocus: {
|
|
39
|
-
description:
|
|
40
|
-
'Which element to initially focus. Can be a number (tabbable index as specified by the order)',
|
|
41
|
-
control: {
|
|
42
|
-
type: 'number',
|
|
43
|
-
},
|
|
44
|
-
table: {
|
|
45
|
-
type: {summary: 'number'},
|
|
46
|
-
defaultValue: {summary: '-1'},
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
returnFocus: {
|
|
50
|
-
description:
|
|
51
|
-
'Determines if focus should be returned to the reference element (or if that is not available, the previously focused element). This prop is ignored if the floating element lost focus.',
|
|
52
|
-
control: {
|
|
53
|
-
type: 'boolean',
|
|
54
|
-
},
|
|
55
|
-
table: {
|
|
56
|
-
type: {summary: 'boolean'},
|
|
57
|
-
defaultValue: {summary: 'true'},
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
modal: {
|
|
61
|
-
description:
|
|
62
|
-
'Determines if focus is “modal”, meaning focus is fully trapped inside the floating element and outside content cannot be accessed. This includes screen reader virtual cursors.',
|
|
63
|
-
control: {
|
|
64
|
-
type: 'boolean',
|
|
65
|
-
},
|
|
66
|
-
table: {
|
|
67
|
-
type: {summary: 'boolean'},
|
|
68
|
-
defaultValue: {summary: 'true'},
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
guards: {
|
|
72
|
-
description:
|
|
73
|
-
'Determines if the focus guards are rendered. If not, focus can escape into the address bar/console/browser UI, like in native dialogs.',
|
|
74
|
-
control: {
|
|
75
|
-
type: 'boolean',
|
|
76
|
-
},
|
|
77
|
-
table: {
|
|
78
|
-
type: {summary: 'boolean'},
|
|
79
|
-
defaultValue: {summary: 'true'},
|
|
80
|
-
},
|
|
81
|
-
},
|
|
82
|
-
cols: {
|
|
83
|
-
description:
|
|
84
|
-
'For a list it should be 1. For grid, you can have cols set according to your use-case',
|
|
85
|
-
control: {
|
|
86
|
-
type: 'number',
|
|
87
|
-
},
|
|
88
|
-
table: {
|
|
89
|
-
type: {summary: 'number'},
|
|
90
|
-
defaultValue: {summary: '1'},
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
orientation: {
|
|
94
|
-
options: ['vertical', 'horizontal'],
|
|
95
|
-
description:
|
|
96
|
-
'For list, orientation should be vertical. For grid, the orientation should be set to horizontal',
|
|
97
|
-
control: {
|
|
98
|
-
type: 'select',
|
|
99
|
-
},
|
|
100
|
-
table: {
|
|
101
|
-
type: {summary: 'enum'},
|
|
102
|
-
defaultValue: {summary: 'vertical'},
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
loop: {
|
|
106
|
-
description:
|
|
107
|
-
'Determines whether to restart from the beginning or end if the user has navigated to the boundary of the list and grid(in vertical direction only).',
|
|
108
|
-
control: {
|
|
109
|
-
type: 'boolean',
|
|
110
|
-
},
|
|
111
|
-
table: {
|
|
112
|
-
type: {summary: 'boolean'},
|
|
113
|
-
defaultValue: {summary: 'false'},
|
|
114
|
-
},
|
|
115
|
-
},
|
|
116
|
-
listReference: {
|
|
117
|
-
description:
|
|
118
|
-
'User can provide custom list of elements to navigate between by using listReference. It accepts a list of ref nodes',
|
|
119
|
-
},
|
|
120
|
-
focusItemOnOpen: {
|
|
121
|
-
description:
|
|
122
|
-
'Determines whether to focus the item upon opening the floating element. "auto" infers what to do based on the input type (keyboard vs. pointer), while a boolean value will force the value. \n **Note**: By default value is "auto" string.',
|
|
123
|
-
control: {
|
|
124
|
-
type: 'boolean',
|
|
125
|
-
},
|
|
126
|
-
table: {
|
|
127
|
-
type: {summary: 'boolean'},
|
|
128
|
-
defaultValue: {summary: 'auto'},
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
},
|
|
132
|
-
parameters: {
|
|
133
|
-
docs: {
|
|
134
|
-
subtitle:
|
|
135
|
-
'Generates a FocusManager component with list or grid navigation.',
|
|
136
|
-
description: {
|
|
137
|
-
component: `
|
|
138
|
-
\`\`\`js
|
|
139
|
-
import { FocusManagerWithArrowKeyNavigation, SkipElementFromNavigation } from "@spaced-out/ui-design-system/lib/components/FocusManagerWithArrowKeyNavigation";
|
|
140
|
-
\`\`\`
|
|
141
|
-
Provides flexible non-modal focus management for an element and also provides navigation(list or grid) with arrow keys for the children elements passed. \n **Note:** If there are elements you want to skip in navigation, you should wrap the element using **SkipElementFromNavigation**, which will not be indexed. In case of Grid, if you have any empty slots, calling component should take care of it. For practical implementation of both cases check examples below.
|
|
142
|
-
`,
|
|
143
|
-
},
|
|
144
|
-
},
|
|
145
|
-
storySource: {
|
|
146
|
-
componentPath:
|
|
147
|
-
'/src/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.jsx',
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
export const _FocusManagerWithGridNavigation = (args: FocusManagerWithArrowKeyNavigationProps) => {
|
|
153
|
-
const onClick = (e: React.SyntheticEvent<HTMLElement>) => {
|
|
154
|
-
console.error('checking pass through', e);
|
|
155
|
-
};
|
|
156
|
-
const numbers = [
|
|
157
|
-
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
|
158
|
-
];
|
|
159
|
-
const alphabets = [
|
|
160
|
-
'A',
|
|
161
|
-
'B',
|
|
162
|
-
'C',
|
|
163
|
-
'D',
|
|
164
|
-
'E',
|
|
165
|
-
'F',
|
|
166
|
-
'G',
|
|
167
|
-
'H',
|
|
168
|
-
'I',
|
|
169
|
-
'J',
|
|
170
|
-
'K',
|
|
171
|
-
'L',
|
|
172
|
-
'M',
|
|
173
|
-
'N',
|
|
174
|
-
'O',
|
|
175
|
-
];
|
|
176
|
-
const smallCase = [
|
|
177
|
-
'a',
|
|
178
|
-
'b',
|
|
179
|
-
'c',
|
|
180
|
-
'd',
|
|
181
|
-
'e',
|
|
182
|
-
'f',
|
|
183
|
-
'g',
|
|
184
|
-
'h',
|
|
185
|
-
'i',
|
|
186
|
-
'j',
|
|
187
|
-
'k',
|
|
188
|
-
'l',
|
|
189
|
-
'm',
|
|
190
|
-
'n',
|
|
191
|
-
'o',
|
|
192
|
-
];
|
|
193
|
-
return (
|
|
194
|
-
<FocusManagerWithArrowKeyNavigation
|
|
195
|
-
initialFocus={0}
|
|
196
|
-
cols={5}
|
|
197
|
-
orientation="horizontal"
|
|
198
|
-
classNames={{wrapper: css.wrapper}}
|
|
199
|
-
{...args}
|
|
200
|
-
>
|
|
201
|
-
<SkipElementFromNavigation className={css.categoryName}>
|
|
202
|
-
<SubTitleExtraSmall color="clickable">{'Numbers'}</SubTitleExtraSmall>
|
|
203
|
-
</SkipElementFromNavigation>
|
|
204
|
-
{numbers.map((number) => (
|
|
205
|
-
<Button
|
|
206
|
-
type="ghost"
|
|
207
|
-
key={number}
|
|
208
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
209
|
-
className={css.btnWidth}
|
|
210
|
-
onClick={onClick}
|
|
211
|
-
>
|
|
212
|
-
{number}
|
|
213
|
-
</Button>
|
|
214
|
-
))}
|
|
215
|
-
<SkipElementFromNavigation className={css.categoryName}>
|
|
216
|
-
<SubTitleExtraSmall color="clickable">{'Alphabets'}</SubTitleExtraSmall>
|
|
217
|
-
</SkipElementFromNavigation>
|
|
218
|
-
{alphabets.map((alphabet) => (
|
|
219
|
-
<Button
|
|
220
|
-
type="ghost"
|
|
221
|
-
key={alphabet}
|
|
222
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
223
|
-
className={css.btnWidth}
|
|
224
|
-
onClick={onClick}
|
|
225
|
-
>
|
|
226
|
-
{alphabet}
|
|
227
|
-
</Button>
|
|
228
|
-
))}
|
|
229
|
-
<SkipElementFromNavigation className={css.categoryName}>
|
|
230
|
-
<SubTitleExtraSmall color="clickable">{'SmallCase'}</SubTitleExtraSmall>
|
|
231
|
-
</SkipElementFromNavigation>
|
|
232
|
-
{smallCase.map((alphabet) => (
|
|
233
|
-
<Button
|
|
234
|
-
type="ghost"
|
|
235
|
-
key={alphabet}
|
|
236
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
237
|
-
className={css.btnWidth}
|
|
238
|
-
onClick={onClick}
|
|
239
|
-
>
|
|
240
|
-
{alphabet}
|
|
241
|
-
</Button>
|
|
242
|
-
))}
|
|
243
|
-
</FocusManagerWithArrowKeyNavigation>
|
|
244
|
-
);
|
|
245
|
-
};
|
|
246
|
-
|
|
247
|
-
_FocusManagerWithGridNavigation.args = {
|
|
248
|
-
loop: true,
|
|
249
|
-
focusItemOnOpen: 'auto',
|
|
250
|
-
};
|
|
251
|
-
|
|
252
|
-
export const _FocusManagerWithGridNavigationHavingEmptyElements =
|
|
253
|
-
() => {
|
|
254
|
-
const onClick = (e: React.SyntheticEvent<HTMLElement>) => {
|
|
255
|
-
console.error('checking pass through', e);
|
|
256
|
-
};
|
|
257
|
-
const numbers = [
|
|
258
|
-
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
|
259
|
-
];
|
|
260
|
-
const alphabets = [
|
|
261
|
-
'A',
|
|
262
|
-
'B',
|
|
263
|
-
'C',
|
|
264
|
-
'D',
|
|
265
|
-
'E',
|
|
266
|
-
'F',
|
|
267
|
-
'G',
|
|
268
|
-
'H',
|
|
269
|
-
'I',
|
|
270
|
-
'J',
|
|
271
|
-
'K',
|
|
272
|
-
'L',
|
|
273
|
-
];
|
|
274
|
-
const smallCase = [
|
|
275
|
-
'a',
|
|
276
|
-
'b',
|
|
277
|
-
'c',
|
|
278
|
-
'd',
|
|
279
|
-
'e',
|
|
280
|
-
'f',
|
|
281
|
-
'g',
|
|
282
|
-
'h',
|
|
283
|
-
'i',
|
|
284
|
-
'j',
|
|
285
|
-
'k',
|
|
286
|
-
'l',
|
|
287
|
-
'm',
|
|
288
|
-
'n',
|
|
289
|
-
'o',
|
|
290
|
-
];
|
|
291
|
-
return (
|
|
292
|
-
<FocusManagerWithArrowKeyNavigation
|
|
293
|
-
initialFocus={0}
|
|
294
|
-
cols={5}
|
|
295
|
-
orientation="horizontal"
|
|
296
|
-
classNames={{wrapper: css.wrapper}}
|
|
297
|
-
>
|
|
298
|
-
<SkipElementFromNavigation className={css.categoryName}>
|
|
299
|
-
<SubTitleExtraSmall color="clickable">{'Numbers'}</SubTitleExtraSmall>
|
|
300
|
-
</SkipElementFromNavigation>
|
|
301
|
-
{numbers.map((number) => (
|
|
302
|
-
<Button
|
|
303
|
-
type="ghost"
|
|
304
|
-
key={number}
|
|
305
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
306
|
-
className={css.btnWidth}
|
|
307
|
-
onClick={onClick}
|
|
308
|
-
>
|
|
309
|
-
{number}
|
|
310
|
-
</Button>
|
|
311
|
-
))}
|
|
312
|
-
{/* adding two empty slots for consistent navigation in grid */}
|
|
313
|
-
{ /* @ts-ignore - TS2322 - Type '{ disabled: boolean; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'. */}
|
|
314
|
-
<div disabled={true}></div>
|
|
315
|
-
{ /* @ts-ignore - TS2322 - Type '{ disabled: boolean; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'. */}
|
|
316
|
-
<div disabled={true}></div>
|
|
317
|
-
<SkipElementFromNavigation className={css.categoryName}>
|
|
318
|
-
<SubTitleExtraSmall color="clickable">
|
|
319
|
-
{'Alphabets'}
|
|
320
|
-
</SubTitleExtraSmall>
|
|
321
|
-
</SkipElementFromNavigation>
|
|
322
|
-
{alphabets.map((alphabet) => (
|
|
323
|
-
<Button
|
|
324
|
-
type="ghost"
|
|
325
|
-
key={alphabet}
|
|
326
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
327
|
-
className={css.btnWidth}
|
|
328
|
-
onClick={onClick}
|
|
329
|
-
>
|
|
330
|
-
{alphabet}
|
|
331
|
-
</Button>
|
|
332
|
-
))}
|
|
333
|
-
{/* adding three empty slots for consistent navigation in grid*/}
|
|
334
|
-
{ /* @ts-ignore - TS2322 - Type '{ disabled: boolean; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'. */}
|
|
335
|
-
<div disabled={true}></div>
|
|
336
|
-
{ /* @ts-ignore - TS2322 - Type '{ disabled: boolean; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'. */}
|
|
337
|
-
<div disabled={true}></div>
|
|
338
|
-
{ /* @ts-ignore - TS2322 - Type '{ disabled: boolean; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'. */}
|
|
339
|
-
<div disabled={true}></div>
|
|
340
|
-
<SkipElementFromNavigation className={css.categoryName}>
|
|
341
|
-
<SubTitleExtraSmall color="clickable">
|
|
342
|
-
{'SmallCase'}
|
|
343
|
-
</SubTitleExtraSmall>
|
|
344
|
-
</SkipElementFromNavigation>
|
|
345
|
-
{smallCase.map((alphabet) => (
|
|
346
|
-
<Button
|
|
347
|
-
type="ghost"
|
|
348
|
-
key={alphabet}
|
|
349
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
350
|
-
className={css.btnWidth}
|
|
351
|
-
onClick={onClick}
|
|
352
|
-
>
|
|
353
|
-
{alphabet}
|
|
354
|
-
</Button>
|
|
355
|
-
))}
|
|
356
|
-
</FocusManagerWithArrowKeyNavigation>
|
|
357
|
-
);
|
|
358
|
-
};
|
|
359
|
-
|
|
360
|
-
export const _FocusManagerWithListNavigation = () => {
|
|
361
|
-
const onClick = (e: React.SyntheticEvent<HTMLElement>) => {
|
|
362
|
-
console.error('checking pass through', e);
|
|
363
|
-
};
|
|
364
|
-
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
365
|
-
return (
|
|
366
|
-
<FocusManagerWithArrowKeyNavigation
|
|
367
|
-
initialFocus={0}
|
|
368
|
-
cols={1}
|
|
369
|
-
orientation="vertical"
|
|
370
|
-
classNames={{wrapper: css.wrapper}}
|
|
371
|
-
>
|
|
372
|
-
{numbers.map((number) => (
|
|
373
|
-
<Button
|
|
374
|
-
type="ghost"
|
|
375
|
-
key={number}
|
|
376
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
377
|
-
className={css.btnWidth}
|
|
378
|
-
onClick={onClick}
|
|
379
|
-
isFluid={true}
|
|
380
|
-
>
|
|
381
|
-
{number}
|
|
382
|
-
</Button>
|
|
383
|
-
))}
|
|
384
|
-
</FocusManagerWithArrowKeyNavigation>
|
|
385
|
-
);
|
|
386
|
-
};
|
|
387
|
-
|
|
388
|
-
export const _FocusManagerWithGridNavigationUsingListReference = (args: FocusManagerWithArrowKeyNavigationProps) => {
|
|
389
|
-
const onClick = (e: React.SyntheticEvent<HTMLElement>) => {
|
|
390
|
-
console.error('checking pass through', e);
|
|
391
|
-
};
|
|
392
|
-
const numbers = [
|
|
393
|
-
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
|
394
|
-
];
|
|
395
|
-
const alphabets = [
|
|
396
|
-
'A',
|
|
397
|
-
'B',
|
|
398
|
-
'C',
|
|
399
|
-
'D',
|
|
400
|
-
'E',
|
|
401
|
-
'F',
|
|
402
|
-
'G',
|
|
403
|
-
'H',
|
|
404
|
-
'I',
|
|
405
|
-
'J',
|
|
406
|
-
'K',
|
|
407
|
-
'L',
|
|
408
|
-
];
|
|
409
|
-
const smallCase = [
|
|
410
|
-
'a',
|
|
411
|
-
'b',
|
|
412
|
-
'c',
|
|
413
|
-
'd',
|
|
414
|
-
'e',
|
|
415
|
-
'f',
|
|
416
|
-
'g',
|
|
417
|
-
'h',
|
|
418
|
-
'i',
|
|
419
|
-
'j',
|
|
420
|
-
'k',
|
|
421
|
-
'l',
|
|
422
|
-
'm',
|
|
423
|
-
];
|
|
424
|
-
const listRef = React.useRef([]);
|
|
425
|
-
return (
|
|
426
|
-
<FocusManagerWithArrowKeyNavigation
|
|
427
|
-
initialFocus={0}
|
|
428
|
-
cols={5}
|
|
429
|
-
orientation="horizontal"
|
|
430
|
-
classNames={{wrapper: css.wrapper}}
|
|
431
|
-
listReference={listRef}
|
|
432
|
-
{...args}
|
|
433
|
-
>
|
|
434
|
-
<SubTitleExtraSmall color="clickable" className={css.categoryName}>
|
|
435
|
-
{'Numbers'}
|
|
436
|
-
</SubTitleExtraSmall>
|
|
437
|
-
{numbers.map((number) => (
|
|
438
|
-
<Button
|
|
439
|
-
type="ghost"
|
|
440
|
-
key={number}
|
|
441
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
442
|
-
className={css.btnWidth}
|
|
443
|
-
onClick={onClick}
|
|
444
|
-
ref={(node) => {
|
|
445
|
-
if (node) {
|
|
446
|
-
// @ts-ignore - TS2345 - Argument of type 'HTMLButtonElement' is not assignable to parameter of type 'never'.
|
|
447
|
-
listRef.current.push(node);
|
|
448
|
-
}
|
|
449
|
-
}}
|
|
450
|
-
>
|
|
451
|
-
{number}
|
|
452
|
-
</Button>
|
|
453
|
-
))}
|
|
454
|
-
|
|
455
|
-
<SubTitleExtraSmall color="clickable" className={css.categoryName}>
|
|
456
|
-
{'Alphabets'}
|
|
457
|
-
</SubTitleExtraSmall>
|
|
458
|
-
|
|
459
|
-
{alphabets.map((alphabet) => (
|
|
460
|
-
<Button
|
|
461
|
-
type="ghost"
|
|
462
|
-
key={alphabet}
|
|
463
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
464
|
-
className={css.btnWidth}
|
|
465
|
-
onClick={onClick}
|
|
466
|
-
ref={(node) => {
|
|
467
|
-
if (node) {
|
|
468
|
-
// @ts-ignore - TS2345 - Argument of type 'HTMLButtonElement' is not assignable to parameter of type 'never'.
|
|
469
|
-
listRef.current.push(node);
|
|
470
|
-
}
|
|
471
|
-
}}
|
|
472
|
-
>
|
|
473
|
-
{alphabet}
|
|
474
|
-
</Button>
|
|
475
|
-
))}
|
|
476
|
-
{/* adding three empty slots for consistent navigation in grid*/}
|
|
477
|
-
<div
|
|
478
|
-
// @ts-ignore - TS2322 - Type '{ disabled: boolean; ref: (node: HTMLDivElement | null) => void; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.
|
|
479
|
-
disabled={true}
|
|
480
|
-
ref={(node) => {
|
|
481
|
-
if (node) {
|
|
482
|
-
// @ts-ignore - TS2345 - Argument of type 'HTMLDivElement' is not assignable to parameter of type 'never'.
|
|
483
|
-
listRef.current.push(node);
|
|
484
|
-
}
|
|
485
|
-
}}
|
|
486
|
-
></div>
|
|
487
|
-
<div
|
|
488
|
-
// @ts-ignore - TS2322 - Type '{ disabled: boolean; ref: (node: HTMLDivElement | null) => void; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.
|
|
489
|
-
disabled={true}
|
|
490
|
-
ref={(node) => {
|
|
491
|
-
if (node) {
|
|
492
|
-
// @ts-ignore - TS2345 - Argument of type 'HTMLDivElement' is not assignable to parameter of type 'never'.
|
|
493
|
-
listRef.current.push(node);
|
|
494
|
-
}
|
|
495
|
-
}}
|
|
496
|
-
></div>
|
|
497
|
-
<div
|
|
498
|
-
// @ts-ignore - TS2322 - Type '{ disabled: boolean; ref: (node: HTMLDivElement | null) => void; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.
|
|
499
|
-
disabled={true}
|
|
500
|
-
ref={(node) => {
|
|
501
|
-
if (node) {
|
|
502
|
-
// @ts-ignore - TS2345 - Argument of type 'HTMLDivElement' is not assignable to parameter of type 'never'.
|
|
503
|
-
listRef.current.push(node);
|
|
504
|
-
}
|
|
505
|
-
}}
|
|
506
|
-
></div>
|
|
507
|
-
<SubTitleExtraSmall color="clickable" className={css.categoryName}>
|
|
508
|
-
{'SmallCase'}
|
|
509
|
-
</SubTitleExtraSmall>
|
|
510
|
-
{smallCase.map((alphabet) => (
|
|
511
|
-
<Button
|
|
512
|
-
type="ghost"
|
|
513
|
-
key={alphabet}
|
|
514
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
515
|
-
className={css.btnWidth}
|
|
516
|
-
onClick={onClick}
|
|
517
|
-
ref={(node) => {
|
|
518
|
-
if (node) {
|
|
519
|
-
// @ts-ignore - TS2345 - Argument of type 'HTMLButtonElement' is not assignable to parameter of type 'never'.
|
|
520
|
-
listRef.current.push(node);
|
|
521
|
-
}
|
|
522
|
-
}}
|
|
523
|
-
>
|
|
524
|
-
{alphabet}
|
|
525
|
-
</Button>
|
|
526
|
-
))}
|
|
527
|
-
{/* adding three empty slots for consistent navigation in grid*/}
|
|
528
|
-
<div
|
|
529
|
-
// @ts-ignore - TS2322 - Type '{ disabled: boolean; ref: (node: HTMLDivElement | null) => void; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.
|
|
530
|
-
disabled={true}
|
|
531
|
-
ref={(node) => {
|
|
532
|
-
if (node) {
|
|
533
|
-
// @ts-ignore - TS2345 - Argument of type 'HTMLDivElement' is not assignable to parameter of type 'never'.
|
|
534
|
-
listRef.current.push(node);
|
|
535
|
-
}
|
|
536
|
-
}}
|
|
537
|
-
></div>
|
|
538
|
-
<div
|
|
539
|
-
// @ts-ignore - TS2322 - Type '{ disabled: boolean; ref: (node: HTMLDivElement | null) => void; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.
|
|
540
|
-
disabled={true}
|
|
541
|
-
ref={(node) => {
|
|
542
|
-
if (node) {
|
|
543
|
-
// @ts-ignore - TS2345 - Argument of type 'HTMLDivElement' is not assignable to parameter of type 'never'.
|
|
544
|
-
listRef.current.push(node);
|
|
545
|
-
}
|
|
546
|
-
}}
|
|
547
|
-
></div>
|
|
548
|
-
</FocusManagerWithArrowKeyNavigation>
|
|
549
|
-
);
|
|
550
|
-
};
|
|
551
|
-
|
|
552
|
-
_FocusManagerWithGridNavigationUsingListReference.args = {
|
|
553
|
-
loop: true,
|
|
554
|
-
focusItemOnOpen: 'auto',
|
|
555
|
-
self: true,
|
|
556
|
-
passListReference: true,
|
|
557
|
-
};
|
package/lib/components/FocusManagerWithArrowKeyNavigation/FocusManagerWithArrowKeyNavigation.tsx
DELETED
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import {Flow} from 'flow-to-typescript-codemod';
|
|
2
|
-
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import {
|
|
5
|
-
FloatingFocusManager,
|
|
6
|
-
useFloating,
|
|
7
|
-
useInteractions,
|
|
8
|
-
useListNavigation,
|
|
9
|
-
} from '@floating-ui/react';
|
|
10
|
-
|
|
11
|
-
import classify from '../../utils/classify';
|
|
12
|
-
import type {FocusManagerProps} from '../FocusManager';
|
|
13
|
-
|
|
14
|
-
import css from './FocusManagerWithArrowKeyNavigation.module.css';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const SKIP_ELEMENT_DISPLAY_NAME = 'SkipElementFromNavigation';
|
|
18
|
-
|
|
19
|
-
export type SkipElementFromNavigationProps = {
|
|
20
|
-
children: React.ReactNode;
|
|
21
|
-
className?: string;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export const SkipElementFromNavigation: Flow.AbstractComponent<SkipElementFromNavigationProps, HTMLDivElement> = React.forwardRef<HTMLDivElement, SkipElementFromNavigationProps>((
|
|
25
|
-
{
|
|
26
|
-
children,
|
|
27
|
-
className,
|
|
28
|
-
...restProps
|
|
29
|
-
}: SkipElementFromNavigationProps,
|
|
30
|
-
ref,
|
|
31
|
-
) => (
|
|
32
|
-
<div {...restProps} className={className} tabIndex={-1} ref={ref}>
|
|
33
|
-
{children}
|
|
34
|
-
</div>
|
|
35
|
-
));
|
|
36
|
-
|
|
37
|
-
SkipElementFromNavigation.displayName = SKIP_ELEMENT_DISPLAY_NAME;
|
|
38
|
-
|
|
39
|
-
export type FocusManagerWithArrowKeyNavigationProps = ((FocusManagerProps) & {
|
|
40
|
-
cols?: number;
|
|
41
|
-
orientation?: 'horizontal' | 'vertical';
|
|
42
|
-
focusItemOnOpen?: 'auto' | boolean;
|
|
43
|
-
loop?: boolean;
|
|
44
|
-
listReference?: {
|
|
45
|
-
current: Array<HTMLElement>;
|
|
46
|
-
};
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
export const FocusManagerWithArrowKeyNavigation = (
|
|
50
|
-
props: FocusManagerWithArrowKeyNavigationProps & Omit<Omit<Flow.ComponentProps<typeof FloatingFocusManager>, 'context' | 'modal' | 'initialFocus'>, keyof FocusManagerWithArrowKeyNavigationProps>,
|
|
51
|
-
) => {
|
|
52
|
-
const {
|
|
53
|
-
classNames,
|
|
54
|
-
children,
|
|
55
|
-
initialFocus = -1,
|
|
56
|
-
orientation = 'vertical',
|
|
57
|
-
modal = false,
|
|
58
|
-
cols = 1,
|
|
59
|
-
focusItemOnOpen = 'auto',
|
|
60
|
-
loop = false,
|
|
61
|
-
listReference,
|
|
62
|
-
...restFloatingFocusManagerProps
|
|
63
|
-
} = props;
|
|
64
|
-
|
|
65
|
-
const {refs, context} = useFloating({open: true});
|
|
66
|
-
const [activeIndex, setActiveIndex] = React.useState<any>(null);
|
|
67
|
-
const listRef = React.useRef([]);
|
|
68
|
-
const childrenArray = React.Children.toArray(children).filter(Boolean);
|
|
69
|
-
|
|
70
|
-
// Note(Nishant): This is to correctly call the onClick handler which could have been on child
|
|
71
|
-
// we also need to set the active index correctly on click for list navigation to work
|
|
72
|
-
// @ts-ignore - TS7019 - Rest parameter 'args' implicitly has an 'any[]' type.
|
|
73
|
-
const childOnClickPassthrough = (childOnClickHandler: any | null | undefined, index: number, ...args) => {
|
|
74
|
-
if (childOnClickHandler) {
|
|
75
|
-
childOnClickHandler(...args);
|
|
76
|
-
}
|
|
77
|
-
setActiveIndex(index);
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
// Add childOnClickPassthrough for the list of references passed in case of custom nodes passed
|
|
81
|
-
if (listReference) {
|
|
82
|
-
listReference.current.map((element, index) => {
|
|
83
|
-
const childClickHandler = element.onclick;
|
|
84
|
-
element.onclick = (...args) => {
|
|
85
|
-
childOnClickPassthrough(childClickHandler, index, ...args);
|
|
86
|
-
};
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
// Note(Nishant): Force the list navigation props onto the children
|
|
90
|
-
// while using this component make sure your all the passed children have a focus state
|
|
91
|
-
|
|
92
|
-
let skippedChildrenCount = 0;
|
|
93
|
-
|
|
94
|
-
const clonedChildren = listReference
|
|
95
|
-
? children
|
|
96
|
-
: childrenArray.map((child, index) => {
|
|
97
|
-
// @ts-ignore - TS2339 - Property 'props' does not exist on type 'string | number | bigint | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<React.ReactNode> | ReactPortal | Promise<...>'.
|
|
98
|
-
const {onClick: childClickHandler} = child.props;
|
|
99
|
-
|
|
100
|
-
let adjustedIndex = index - skippedChildrenCount;
|
|
101
|
-
|
|
102
|
-
// @ts-ignore - TS2339 - Property 'type' does not exist on type 'string | number | bigint | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<React.ReactNode> | ReactPortal | Promise<...>'.
|
|
103
|
-
if (child?.type?.displayName === SKIP_ELEMENT_DISPLAY_NAME) {
|
|
104
|
-
skippedChildrenCount++;
|
|
105
|
-
// @ts-ignore - TS2322 - Type 'null' is not assignable to type 'number'.
|
|
106
|
-
adjustedIndex = null;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
// @ts-ignore - TS2769 - No overload matches this call.
|
|
110
|
-
return React.cloneElement(child, {
|
|
111
|
-
// @ts-ignore - TS2339 - Property 'props' does not exist on type 'string | number | bigint | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<React.ReactNode> | ReactPortal | Promise<...>'.
|
|
112
|
-
...child.props,
|
|
113
|
-
tabIndex: activeIndex === index ? 0 : -1,
|
|
114
|
-
// @ts-ignore - TS7006 - Parameter 'node' implicitly has an 'any' type.
|
|
115
|
-
ref: (node) => {
|
|
116
|
-
if (adjustedIndex !== null) {
|
|
117
|
-
// @ts-ignore - TS2322 - Type 'any' is not assignable to type 'never'.
|
|
118
|
-
listRef.current[adjustedIndex] = node;
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
// @ts-ignore - TS7019 - Rest parameter 'args' implicitly has an 'any[]' type.
|
|
122
|
-
onClick: (...args) => {
|
|
123
|
-
childOnClickPassthrough(childClickHandler, adjustedIndex, ...args);
|
|
124
|
-
},
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
const listNavigation = useListNavigation(context, {
|
|
129
|
-
orientation,
|
|
130
|
-
cols,
|
|
131
|
-
listRef: listReference ? listReference : listRef,
|
|
132
|
-
activeIndex,
|
|
133
|
-
onNavigate: setActiveIndex,
|
|
134
|
-
focusItemOnOpen,
|
|
135
|
-
loop,
|
|
136
|
-
});
|
|
137
|
-
const {getFloatingProps} = useInteractions([listNavigation]);
|
|
138
|
-
|
|
139
|
-
return (
|
|
140
|
-
<FloatingFocusManager
|
|
141
|
-
context={context}
|
|
142
|
-
modal={modal}
|
|
143
|
-
initialFocus={initialFocus}
|
|
144
|
-
{...restFloatingFocusManagerProps}
|
|
145
|
-
>
|
|
146
|
-
<div
|
|
147
|
-
ref={refs.setFloating}
|
|
148
|
-
data-testid="FocusManagerWithArrowKeyNavigation"
|
|
149
|
-
{...getFloatingProps()}
|
|
150
|
-
className={classify(css.wrapper, classNames?.wrapper)}
|
|
151
|
-
>
|
|
152
|
-
{clonedChildren}
|
|
153
|
-
</div>
|
|
154
|
-
</FloatingFocusManager>
|
|
155
|
-
);
|
|
156
|
-
};
|