@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,62 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
import {Input} from '../../components/Input';
|
|
4
|
-
import {BodyLarge} from '../../components/Text';
|
|
5
|
-
|
|
6
|
-
import {useInputState} from './useInputState';
|
|
7
|
-
|
|
8
|
-
import css from './useInputState.stories.module.css';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export default {
|
|
12
|
-
tags: ['autodocs'],
|
|
13
|
-
title: 'Hooks/useInputState',
|
|
14
|
-
component: useInputState,
|
|
15
|
-
parameters: {
|
|
16
|
-
docs: {
|
|
17
|
-
description: {
|
|
18
|
-
component: `
|
|
19
|
-
\`\`\`js
|
|
20
|
-
import { useInputState } from "@spaced-out/ui-design-system/lib/hooks/useInputState";
|
|
21
|
-
\`\`\`
|
|
22
|
-
The \`useInputState\` hook is a simple hook that provides state management for input elements.
|
|
23
|
-
It abstracts the onChange property of the input and returns the current value and a callback function to update it.
|
|
24
|
-
|
|
25
|
-
### Return Type
|
|
26
|
-
- An array with two elements:
|
|
27
|
-
- \`value\`: The current value of the input.
|
|
28
|
-
- \`onChange\`: A callback function to handle changes in the input value.
|
|
29
|
-
|
|
30
|
-
### Usage
|
|
31
|
-
\`\`\`jsx
|
|
32
|
-
import { useInputState } from './useInputState';
|
|
33
|
-
|
|
34
|
-
const MyComponent = () => {
|
|
35
|
-
const [value, onChange] = useInputState('');
|
|
36
|
-
|
|
37
|
-
return (
|
|
38
|
-
<div className={css.container}>
|
|
39
|
-
<Input type="text" value={value} onChange={onChange} />
|
|
40
|
-
<BodyLarge>Value: {value}</BodyLarge>
|
|
41
|
-
</div>
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export default MyComponent;
|
|
46
|
-
\`\`\`
|
|
47
|
-
`,
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export const Example = () => {
|
|
54
|
-
const [value, onChange] = useInputState('');
|
|
55
|
-
|
|
56
|
-
return (
|
|
57
|
-
<div className={css.container}>
|
|
58
|
-
<Input type="text" value={value} onChange={onChange} />
|
|
59
|
-
<BodyLarge className={css.value}>Value: {value}</BodyLarge>
|
|
60
|
-
</div>
|
|
61
|
-
);
|
|
62
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
type ReturnType = [string, (event: React.ChangeEvent<HTMLInputElement>) => void];
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Simple Hook to use with input tag. The primary purpose is an abstraction over input onChange property.
|
|
8
|
-
* () => {
|
|
9
|
-
* const [value, onChange] = useInputState("");
|
|
10
|
-
*
|
|
11
|
-
* return <Input type="text" value={value} onChange={onChange} />;
|
|
12
|
-
* }
|
|
13
|
-
*/
|
|
14
|
-
export const useInputState = (initialState: string = ''): ReturnType => {
|
|
15
|
-
const [state, setState] = React.useState(initialState);
|
|
16
|
-
|
|
17
|
-
const setInputState = React.useCallback(
|
|
18
|
-
// @ts-ignore - TS7006 - Parameter 'event' implicitly has an 'any' type.
|
|
19
|
-
(event) => setState(event && event.target.value),
|
|
20
|
-
[],
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
return [state, setInputState];
|
|
24
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './useLockedBody';
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import {Button} from '../../components/Button';
|
|
4
|
-
|
|
5
|
-
import {useLockedBody} from './useLockedBody';
|
|
6
|
-
|
|
7
|
-
import css from './useLockedBody.stories.module.css';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export default {
|
|
11
|
-
tags: ['autodocs'],
|
|
12
|
-
title: 'Hooks/useLockedBody',
|
|
13
|
-
component: useLockedBody,
|
|
14
|
-
parameters: {
|
|
15
|
-
docs: {
|
|
16
|
-
description: {
|
|
17
|
-
component: `
|
|
18
|
-
\`\`\`js
|
|
19
|
-
import { useLockedBody } from "@spaced-out/ui-design-system/lib/hooks/useLockedBody";
|
|
20
|
-
\`\`\`
|
|
21
|
-
The \`useLockedBody\` hook is a custom hook that allows locking and unlocking the scroll of the document's body.
|
|
22
|
-
It prevents the user from scrolling the page by setting the overflow and padding-right styles of the body element.
|
|
23
|
-
|
|
24
|
-
### Return Type
|
|
25
|
-
- An array with two elements:
|
|
26
|
-
- \`locked\`: A boolean indicating whether the body scroll is locked or not.
|
|
27
|
-
- \`setLocked\`: A function to toggle the locked state.
|
|
28
|
-
|
|
29
|
-
### Usage
|
|
30
|
-
\`\`\`jsx
|
|
31
|
-
import { useLockedBody } from './useLockedBody';
|
|
32
|
-
|
|
33
|
-
const MyComponent = () => {
|
|
34
|
-
const [locked, setLocked] = useLockedBody(false);
|
|
35
|
-
|
|
36
|
-
const toggleLock = () => {
|
|
37
|
-
setLocked(!locked);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
return (
|
|
41
|
-
<div className={css.container}>
|
|
42
|
-
<Button onClick={toggleLock}>
|
|
43
|
-
{locked ? 'Unlock Scroll' : 'Lock Scroll'}
|
|
44
|
-
</Button>
|
|
45
|
-
</div>
|
|
46
|
-
);
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export default MyComponent;
|
|
50
|
-
\`\`\`
|
|
51
|
-
`,
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
export const Example = (): React.ReactElement<React.ComponentProps<'div'>> => {
|
|
58
|
-
const [locked, setLocked] = useLockedBody(false);
|
|
59
|
-
|
|
60
|
-
const toggleLock = () => {
|
|
61
|
-
setLocked(!locked);
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
return (
|
|
65
|
-
<div className={css.container}>
|
|
66
|
-
<Button onClick={toggleLock}>
|
|
67
|
-
{locked ? 'Unlock Scroll' : 'Lock Scroll'}
|
|
68
|
-
</Button>
|
|
69
|
-
</div>
|
|
70
|
-
);
|
|
71
|
-
};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import {useEffect, useLayoutEffect, useState} from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
type ReturnType = [boolean, (locked: boolean) => void];
|
|
5
|
-
|
|
6
|
-
export function useLockedBody(initialLocked: boolean = false): ReturnType {
|
|
7
|
-
const [locked, setLocked] = useState(initialLocked);
|
|
8
|
-
|
|
9
|
-
// Do the side effect before render
|
|
10
|
-
useLayoutEffect(() => {
|
|
11
|
-
if (!locked) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
// Save initial body style
|
|
16
|
-
const originalOverflow = document.body?.style.overflow || '';
|
|
17
|
-
const originalPaddingRight = document.body?.style.paddingRight || '';
|
|
18
|
-
|
|
19
|
-
// Lock body scroll
|
|
20
|
-
if (document.body) {
|
|
21
|
-
document.body.style.overflow = 'hidden';
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Get the scrollBar width
|
|
25
|
-
// TODO(Nishant): Fetch the scrollBar width from the browser
|
|
26
|
-
const scrollBarWidth = 0;
|
|
27
|
-
|
|
28
|
-
// Avoid width reflow
|
|
29
|
-
if (!!scrollBarWidth && document.body) {
|
|
30
|
-
document.body.style.paddingRight = `${scrollBarWidth}px`;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return () => {
|
|
34
|
-
if (document.body) {
|
|
35
|
-
document.body.style.overflow = originalOverflow;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (!!scrollBarWidth && document.body) {
|
|
39
|
-
document.body.style.paddingRight = originalPaddingRight;
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
}, [locked]);
|
|
43
|
-
|
|
44
|
-
// Update state if initialValue changes
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
if (locked !== initialLocked) {
|
|
47
|
-
setLocked(initialLocked);
|
|
48
|
-
}
|
|
49
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50
|
-
}, [initialLocked]);
|
|
51
|
-
|
|
52
|
-
return [locked, setLocked];
|
|
53
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './useModal';
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import {Button} from '../../components/Button';
|
|
4
|
-
import {BasicDialog} from '../../components/Dialog';
|
|
5
|
-
|
|
6
|
-
import type {UseModalExtras} from './useModal';
|
|
7
|
-
import {useModal} from './useModal';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export default {
|
|
11
|
-
tags: ['autodocs'],
|
|
12
|
-
title: 'Hooks/useModal',
|
|
13
|
-
component: useModal,
|
|
14
|
-
parameters: {
|
|
15
|
-
docs: {
|
|
16
|
-
description: {
|
|
17
|
-
component: `
|
|
18
|
-
\`\`\`js
|
|
19
|
-
import { useModal } from "@spaced-out/ui-design-system/lib/hooks/useModal";
|
|
20
|
-
\`\`\`
|
|
21
|
-
The \`useModal\` hook is a simple hook that provides state management for Modal(Dialog) when triggered from hooks (non-components).
|
|
22
|
-
You can provide all the additional details in extras as shown in the example to invoke Modal(Dialog).
|
|
23
|
-
\n**Note:** You don't need this hook if you are using Dialog from a component.
|
|
24
|
-
|
|
25
|
-
### Return Type
|
|
26
|
-
- An Object with four elements:
|
|
27
|
-
- \`isOpen\`: The current value of if the Dialog is open.
|
|
28
|
-
- \`openModal\`: A callback function to perform open action on the Dialog with additional info which you can pass as params (title, description, ...).
|
|
29
|
-
- \`closeModal\`: A callback function to perform close action on the Dialog.
|
|
30
|
-
- \`extras\`: This is an object when the calling hook can set additional information and handlers as required for a particular use case. Refer the example for better understanding.
|
|
31
|
-
|
|
32
|
-
### Usage
|
|
33
|
-
\`\`\`jsx
|
|
34
|
-
import { useModal } from './useModal';
|
|
35
|
-
|
|
36
|
-
const useIntermediateExampleHook = (
|
|
37
|
-
openModal: (extras?: UseModalExtras) => void,
|
|
38
|
-
closeModal: () => void,
|
|
39
|
-
): ({handleClick: () => void}) => {
|
|
40
|
-
const onConfirmClick = () => {
|
|
41
|
-
console.error('onConfirmClick handler called');
|
|
42
|
-
closeModal();
|
|
43
|
-
};
|
|
44
|
-
const handleClick = () => {
|
|
45
|
-
openModal({
|
|
46
|
-
title: 'Dialog title',
|
|
47
|
-
description: 'Dialog description',
|
|
48
|
-
cancelText: 'Cancel',
|
|
49
|
-
confirmText: 'Confirm',
|
|
50
|
-
semantic: 'danger',
|
|
51
|
-
onConfirmClick,
|
|
52
|
-
});
|
|
53
|
-
console.error('some action in click handler useIntermediateExampleHook');
|
|
54
|
-
};
|
|
55
|
-
return {handleClick};
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export const MyComponent = (): React$Element<'div'> => {
|
|
59
|
-
const { isOpen, openModal, closeModal, extras } = useModal();
|
|
60
|
-
const { handleClick } = useIntermediateExampleHook(openModal, closeModal);
|
|
61
|
-
return (
|
|
62
|
-
<div>
|
|
63
|
-
<Button type="primary" onClick={handleClick}>
|
|
64
|
-
Open Dialog
|
|
65
|
-
</Button>
|
|
66
|
-
<BasicDialog
|
|
67
|
-
initialFocus={1}
|
|
68
|
-
onClose={closeModal}
|
|
69
|
-
semantic={extras.semantic}
|
|
70
|
-
isOpen={isOpen}
|
|
71
|
-
heading={extras.title}
|
|
72
|
-
body={extras.description}
|
|
73
|
-
confirmText={extras.confirmText}
|
|
74
|
-
abortText={extras.cancelText}
|
|
75
|
-
handleConfirm={extras.onConfirmClick}
|
|
76
|
-
handleAbort={closeModal}
|
|
77
|
-
/>
|
|
78
|
-
</div>
|
|
79
|
-
);
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
export default MyComponent;
|
|
84
|
-
\`\`\`
|
|
85
|
-
`,
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
const useIntermediateExampleHook = (openModal: (extras?: UseModalExtras) => void, closeModal: () => void): {
|
|
92
|
-
handleClick: () => void;
|
|
93
|
-
} => {
|
|
94
|
-
const onConfirmClick = () => {
|
|
95
|
-
console.error('onConfirmClick handler called');
|
|
96
|
-
closeModal();
|
|
97
|
-
};
|
|
98
|
-
const handleClick = () => {
|
|
99
|
-
openModal({
|
|
100
|
-
title: 'Dialog title - useModal',
|
|
101
|
-
description: 'Dialog description - useModal',
|
|
102
|
-
cancelText: 'Cancel',
|
|
103
|
-
confirmText: 'Confirm',
|
|
104
|
-
semantic: 'danger',
|
|
105
|
-
onConfirmClick,
|
|
106
|
-
});
|
|
107
|
-
console.error('some action in click handler useIntermediateExampleHook');
|
|
108
|
-
};
|
|
109
|
-
return {handleClick};
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
export const Example = (): React.ReactElement<React.ComponentProps<'div'>> => {
|
|
113
|
-
const { isOpen, openModal, closeModal, extras } = useModal();
|
|
114
|
-
const { handleClick } = useIntermediateExampleHook(openModal, closeModal);
|
|
115
|
-
return (
|
|
116
|
-
<div>
|
|
117
|
-
<Button type="primary" onClick={handleClick}>
|
|
118
|
-
Open Dialog
|
|
119
|
-
</Button>
|
|
120
|
-
<BasicDialog
|
|
121
|
-
initialFocus={1}
|
|
122
|
-
onClose={closeModal}
|
|
123
|
-
semantic={extras.semantic}
|
|
124
|
-
isOpen={isOpen}
|
|
125
|
-
heading={extras.title}
|
|
126
|
-
body={extras.description}
|
|
127
|
-
confirmText={extras.confirmText}
|
|
128
|
-
abortText={extras.cancelText}
|
|
129
|
-
handleConfirm={extras.onConfirmClick}
|
|
130
|
-
handleAbort={closeModal}
|
|
131
|
-
/>
|
|
132
|
-
</div>
|
|
133
|
-
);
|
|
134
|
-
};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import {useCallback, useState} from 'react';
|
|
2
|
-
|
|
3
|
-
import {motionDurationNormal} from '../../styles/variables/_motion';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export type UseModalExtras = {
|
|
7
|
-
// TODO(Ashwini): Add type for extras
|
|
8
|
-
[key: string]: any;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export type UseModalReturnType = {
|
|
12
|
-
isOpen: boolean;
|
|
13
|
-
openModal: (extras?: UseModalExtras) => void;
|
|
14
|
-
closeModal: () => void;
|
|
15
|
-
extras: UseModalExtras;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export const useModal = (): UseModalReturnType => {
|
|
19
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
20
|
-
const [extras, setExtras] = useState({});
|
|
21
|
-
|
|
22
|
-
const openModal = useCallback((props: UseModalExtras = {}) => {
|
|
23
|
-
setExtras(props);
|
|
24
|
-
setIsOpen(true);
|
|
25
|
-
}, []);
|
|
26
|
-
|
|
27
|
-
const closeModal = () => {
|
|
28
|
-
setIsOpen(false);
|
|
29
|
-
// Since the Dialog close uses animation and its duration is motionDurationNormal, we should clear the data after the animation duration for better user experience
|
|
30
|
-
setTimeout(() => {
|
|
31
|
-
setExtras({});
|
|
32
|
-
}, parseInt(motionDurationNormal));
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
return {isOpen, openModal, closeModal, extras};
|
|
36
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import {useEffect, useState} from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const useMountTransition = (isMounted: boolean, unmountDelay: number): boolean => {
|
|
5
|
-
const [isTransitioning, setIsTransitioning] = useState(false);
|
|
6
|
-
|
|
7
|
-
useEffect(() => {
|
|
8
|
-
// @ts-ignore - TS7034 - Variable 'timeoutId' implicitly has type 'any' in some locations where its type cannot be determined.
|
|
9
|
-
let timeoutId;
|
|
10
|
-
|
|
11
|
-
if (isMounted && !isTransitioning) {
|
|
12
|
-
setIsTransitioning(true);
|
|
13
|
-
} else if (!isMounted && isTransitioning) {
|
|
14
|
-
timeoutId = setTimeout(() => setIsTransitioning(false), unmountDelay);
|
|
15
|
-
}
|
|
16
|
-
return () => {
|
|
17
|
-
// @ts-ignore - TS7005 - Variable 'timeoutId' implicitly has an 'any' type.
|
|
18
|
-
clearTimeout(timeoutId);
|
|
19
|
-
};
|
|
20
|
-
}, [unmountDelay, isMounted, isTransitioning]);
|
|
21
|
-
|
|
22
|
-
return isTransitioning;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export default useMountTransition;
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import {BodyLarge} from '../../components/Text';
|
|
4
|
-
|
|
5
|
-
import useMountTransition from './';
|
|
6
|
-
|
|
7
|
-
import css from './useMountTransition.stories.module.css';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export default {
|
|
11
|
-
tags: ['autodocs'],
|
|
12
|
-
title: 'Hooks/useMountTransition',
|
|
13
|
-
component: useMountTransition,
|
|
14
|
-
parameters: {
|
|
15
|
-
docs: {
|
|
16
|
-
description: {
|
|
17
|
-
component: `
|
|
18
|
-
\`\`\`js
|
|
19
|
-
import { useMountTransition } from "@spaced-out/ui-design-system/lib/hooks/useMountTransition";
|
|
20
|
-
\`\`\`
|
|
21
|
-
The \`useMountTransition\` hook is a custom hook that tracks the mount and unmount transitions of a component.
|
|
22
|
-
|
|
23
|
-
### Props Accepted
|
|
24
|
-
- \`isMounted\`: A boolean value indicating whether the component is mounted or not.
|
|
25
|
-
- \`unmountDelay\`: The delay in milliseconds before transitioning from mounted to unmounted state.
|
|
26
|
-
|
|
27
|
-
### Return Value
|
|
28
|
-
- \`isTransitioning\`: A boolean value indicating whether the component is currently transitioning.
|
|
29
|
-
|
|
30
|
-
### Usage
|
|
31
|
-
\`\`\`jsx
|
|
32
|
-
import useMountTransition from './useMountTransition';
|
|
33
|
-
|
|
34
|
-
const MyComponent = () => {
|
|
35
|
-
const isMounted = ...; // Some value indicating whether the component is mounted or not
|
|
36
|
-
const unmountDelay = ...; // Delay before transitioning from mounted to unmounted state
|
|
37
|
-
|
|
38
|
-
const isTransitioning = useMountTransition(isMounted, unmountDelay);
|
|
39
|
-
|
|
40
|
-
useEffect(() => {
|
|
41
|
-
// Perform any additional actions during transition
|
|
42
|
-
if (isTransitioning) {
|
|
43
|
-
// ...
|
|
44
|
-
}
|
|
45
|
-
}, [isTransitioning]);
|
|
46
|
-
|
|
47
|
-
return (
|
|
48
|
-
<div className={\`${css.container} \${isTransitioning ? css.transitioning : ''}\`}>
|
|
49
|
-
<BodyLarge>Component content</BodyLarge>
|
|
50
|
-
</div>
|
|
51
|
-
);
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export default MyComponent;
|
|
55
|
-
\`\`\`
|
|
56
|
-
`,
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
export const Example = (): React.ReactElement<React.ComponentProps<'div'>> => (<div>
|
|
63
|
-
<BodyLarge>Usage documented above</BodyLarge>
|
|
64
|
-
</div>);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './usePagination';
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
import {Pagination} from '../../components/Pagination';
|
|
4
|
-
|
|
5
|
-
import {usePagination} from './usePagination';
|
|
6
|
-
|
|
7
|
-
import css from './usePagination.stories.module.css';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export default {
|
|
11
|
-
tags: ['autodocs'],
|
|
12
|
-
title: 'Hooks/usePagination',
|
|
13
|
-
component: usePagination,
|
|
14
|
-
parameters: {
|
|
15
|
-
docs: {
|
|
16
|
-
description: {
|
|
17
|
-
component: `
|
|
18
|
-
\`\`\`js
|
|
19
|
-
import { usePagination } from "@spaced-out/ui-design-system/lib/hooks/usePagination";
|
|
20
|
-
\`\`\`
|
|
21
|
-
The \`usePagination\` hook is a custom hook that provides pagination functionality.
|
|
22
|
-
It generates a list of pagination items based on the provided props, including
|
|
23
|
-
the current page, total number of pages, and various display options.
|
|
24
|
-
|
|
25
|
-
### Props Accepted
|
|
26
|
-
- \`boundaryCount\` (optional): The number of pages to display at the beginning and end of the pagination. Defaults to 1.
|
|
27
|
-
- \`totalPages\` (optional): The total number of pages. Defaults to 1.
|
|
28
|
-
- \`disabled\` (optional): If set to \`true\`, the pagination functionality is disabled.
|
|
29
|
-
- \`hideNextButton\` (optional): If set to \`true\`, the next button is hidden.
|
|
30
|
-
- \`hidePrevButton\` (optional): If set to \`true\`, the previous button is hidden.
|
|
31
|
-
- \`onChange\` (optional): A callback function called when a pagination item is clicked. Receives the selected page number and the event object.
|
|
32
|
-
- \`currentPage\` (optional): The currently selected page. Defaults to 1.
|
|
33
|
-
- \`showFirstButton\` (optional): If set to \`true\`, the first button is shown.
|
|
34
|
-
- \`showLastButton\` (optional): If set to \`true\`, the last button is shown.
|
|
35
|
-
- \`siblingCount\` (optional): The number of sibling pages to display before and after the current page. Defaults to 1.
|
|
36
|
-
- \`style\` (optional): The style of the pagination. Can be 'primary' or 'secondary'. Defaults to 'primary'.
|
|
37
|
-
|
|
38
|
-
### Props Returned
|
|
39
|
-
- \`items\`: An array of pagination items with associated props.
|
|
40
|
-
|
|
41
|
-
### Usage
|
|
42
|
-
\`\`\`jsx
|
|
43
|
-
import { usePagination } from './usePagination';
|
|
44
|
-
|
|
45
|
-
const MyComponent = () => {
|
|
46
|
-
const { items } = usePagination({
|
|
47
|
-
boundaryCount: 1,
|
|
48
|
-
totalPages: 10,
|
|
49
|
-
disabled: false,
|
|
50
|
-
hideNextButton: false,
|
|
51
|
-
hidePrevButton: false,
|
|
52
|
-
onChange: (selectedPage, event) => {
|
|
53
|
-
},
|
|
54
|
-
currentPage: 1,
|
|
55
|
-
showFirstButton: false,
|
|
56
|
-
showLastButton: false,
|
|
57
|
-
siblingCount: 1,
|
|
58
|
-
style: 'primary',
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
export default MyComponent;
|
|
63
|
-
\`\`\`
|
|
64
|
-
`,
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export const Example = (): React.ReactElement<React.ComponentProps<'div'>> => (<div className={css.pagination}>
|
|
71
|
-
<Pagination currentPage={10} totalPages={20}></Pagination>
|
|
72
|
-
</div>);
|