@loadsmart/loadsmart-ui 7.6.0 → 7.7.0-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/README.md +15 -1
- package/dist/DragDropFile.context-oKnUu6d3.js +33 -0
- package/dist/{DragDropFile.context-D-EBrXnw.js.map → DragDropFile.context-oKnUu6d3.js.map} +1 -1
- package/dist/index.js +9104 -253
- package/dist/index.js.map +1 -1
- package/dist/miranda-compatibility.theme-C_FEacSw.js +2528 -0
- package/dist/{miranda-compatibility.theme-ChPV-BBw.js.map → miranda-compatibility.theme-C_FEacSw.js.map} +1 -1
- package/dist/prop-B8LY6G2g.js +81 -0
- package/dist/{prop-BwhJNJHO.js.map → prop-B8LY6G2g.js.map} +1 -1
- package/dist/testing/index.js +282 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/theming/index.js +22 -1
- package/dist/theming/index.js.map +1 -1
- package/dist/toArray-Dxb1kUxx.js +14 -0
- package/dist/{toArray-BW3gx_gH.js.map → toArray-Dxb1kUxx.js.map} +1 -1
- package/dist/tools/index.js +6 -1
- package/dist/tools/index.js.map +1 -1
- package/package.json +24 -54
- package/dist/DragDropFile.context-D-EBrXnw.js +0 -2
- package/dist/DragDropFile.context-jVTIKfj5.mjs +0 -29
- package/dist/DragDropFile.context-jVTIKfj5.mjs.map +0 -1
- package/dist/index.mjs +0 -8046
- package/dist/index.mjs.map +0 -1
- package/dist/miranda-compatibility.theme-ChPV-BBw.js +0 -2
- package/dist/miranda-compatibility.theme-DQDHkWzC.mjs +0 -2469
- package/dist/miranda-compatibility.theme-DQDHkWzC.mjs.map +0 -1
- package/dist/prop-5m3D4883.mjs +0 -54
- package/dist/prop-5m3D4883.mjs.map +0 -1
- package/dist/prop-BwhJNJHO.js +0 -2
- package/dist/testing/index.mjs +0 -228
- package/dist/testing/index.mjs.map +0 -1
- package/dist/theming/index.mjs +0 -20
- package/dist/theming/index.mjs.map +0 -1
- package/dist/toArray-BW3gx_gH.js +0 -2
- package/dist/toArray-DqgeO2ua.mjs +0 -8
- package/dist/toArray-DqgeO2ua.mjs.map +0 -1
- package/dist/tools/index.mjs +0 -7
- package/dist/tools/index.mjs.map +0 -1
- package/src/@types/@loadsmart/utilsFunction.d.ts +0 -5
- package/src/@types/@loadsmart/utilsObject.d.ts +0 -5
- package/src/@types/svg.d.ts +0 -4
- package/src/addons/Theme/register.js +0 -590
- package/src/common/BackButton/BackButton.tsx +0 -18
- package/src/common/BackButton/index.ts +0 -2
- package/src/common/CloseButton/CloseButton.tsx +0 -55
- package/src/common/CloseButton/index.ts +0 -2
- package/src/common/SelectionWrapper.tsx +0 -130
- package/src/components/Accordion/Accordion.context.tsx +0 -36
- package/src/components/Accordion/Accordion.stories.tsx +0 -186
- package/src/components/Accordion/Accordion.test.tsx +0 -209
- package/src/components/Accordion/Accordion.tsx +0 -233
- package/src/components/Accordion/index.ts +0 -2
- package/src/components/Banner/Banner.stories.tsx +0 -213
- package/src/components/Banner/Banner.test.tsx +0 -118
- package/src/components/Banner/Banner.tsx +0 -418
- package/src/components/Banner/index.tsx +0 -2
- package/src/components/Breadcrumbs/Breadbrumbs.test.tsx +0 -125
- package/src/components/Breadcrumbs/Breadcrumb.tsx +0 -92
- package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -21
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -54
- package/src/components/Breadcrumbs/index.ts +0 -4
- package/src/components/Button/Button.stories.tsx +0 -174
- package/src/components/Button/Button.test.tsx +0 -57
- package/src/components/Button/Button.tsx +0 -576
- package/src/components/Button/index.tsx +0 -2
- package/src/components/Calendar/Calendar.helpers.ts +0 -15
- package/src/components/Calendar/Calendar.stories.tsx +0 -168
- package/src/components/Calendar/Calendar.test.tsx +0 -316
- package/src/components/Calendar/Calendar.tsx +0 -130
- package/src/components/Calendar/Calendar.types.ts +0 -68
- package/src/components/Calendar/Date.helper.test.ts +0 -847
- package/src/components/Calendar/Date.helper.ts +0 -461
- package/src/components/Calendar/DateFormat.helper.test.ts +0 -171
- package/src/components/Calendar/DateFormat.helper.ts +0 -195
- package/src/components/Calendar/Month.helper.test.ts +0 -187
- package/src/components/Calendar/Month.helper.ts +0 -172
- package/src/components/Calendar/PickerModeToggle.tsx +0 -61
- package/src/components/Calendar/Pickers/DayPicker.test.tsx +0 -85
- package/src/components/Calendar/Pickers/DayPicker.tsx +0 -127
- package/src/components/Calendar/Pickers/MonthPicker.test.tsx +0 -77
- package/src/components/Calendar/Pickers/MonthPicker.tsx +0 -51
- package/src/components/Calendar/Pickers/PickerButton.tsx +0 -119
- package/src/components/Calendar/Pickers/YearPicker.test.tsx +0 -75
- package/src/components/Calendar/Pickers/YearPicker.tsx +0 -52
- package/src/components/Calendar/index.ts +0 -10
- package/src/components/Calendar/useCalendar.ts +0 -190
- package/src/components/Calendar/usePickerMode.ts +0 -48
- package/src/components/Card/Card.stories.tsx +0 -117
- package/src/components/Card/Card.test.tsx +0 -139
- package/src/components/Card/Card.tsx +0 -106
- package/src/components/Card/CardTitle.tsx +0 -43
- package/src/components/Card/index.ts +0 -2
- package/src/components/Checkbox/Checkbox.stories.tsx +0 -79
- package/src/components/Checkbox/Checkbox.test.tsx +0 -66
- package/src/components/Checkbox/Checkbox.tsx +0 -170
- package/src/components/Checkbox/index.ts +0 -2
- package/src/components/DatePicker/DatePicker.stories.tsx +0 -113
- package/src/components/DatePicker/DatePicker.test.tsx +0 -174
- package/src/components/DatePicker/DatePicker.tsx +0 -140
- package/src/components/DatePicker/DatePicker.types.ts +0 -30
- package/src/components/DatePicker/DateRangePicker.stories.tsx +0 -128
- package/src/components/DatePicker/DateRangePicker.test.tsx +0 -267
- package/src/components/DatePicker/DateRangePicker.tsx +0 -110
- package/src/components/DatePicker/index.ts +0 -3
- package/src/components/DatePicker/useDatePicker.ts +0 -201
- package/src/components/DatePicker/useDateRangePicker.ts +0 -224
- package/src/components/Dialog/Dialog.stories.tsx +0 -227
- package/src/components/Dialog/Dialog.test.tsx +0 -74
- package/src/components/Dialog/Dialog.tsx +0 -139
- package/src/components/Dialog/index.tsx +0 -4
- package/src/components/Dialog/useDialog.tsx +0 -59
- package/src/components/DragDropFile/DragDropFile.context.tsx +0 -39
- package/src/components/DragDropFile/DragDropFile.stories.tsx +0 -183
- package/src/components/DragDropFile/DragDropFile.tsx +0 -11
- package/src/components/DragDropFile/components/DropZone.test.tsx +0 -108
- package/src/components/DragDropFile/components/DropZone.tsx +0 -145
- package/src/components/DragDropFile/components/FileItem.tsx +0 -117
- package/src/components/DragDropFile/components/FileList.test.tsx +0 -119
- package/src/components/DragDropFile/components/FileList.tsx +0 -47
- package/src/components/DragDropFile/components/Wrapper.tsx +0 -22
- package/src/components/DragDropFile/index.ts +0 -9
- package/src/components/DragDropFile/mocks.ts +0 -23
- package/src/components/DragDropFile/styles.tsx +0 -81
- package/src/components/DragDropFile/types.ts +0 -85
- package/src/components/Drawer/Drawer.stories.tsx +0 -83
- package/src/components/Drawer/Drawer.test.tsx +0 -90
- package/src/components/Drawer/Drawer.tsx +0 -225
- package/src/components/Drawer/index.ts +0 -4
- package/src/components/Dropdown/Dropdown.context.ts +0 -13
- package/src/components/Dropdown/Dropdown.fixtures.ts +0 -15
- package/src/components/Dropdown/Dropdown.stories.tsx +0 -259
- package/src/components/Dropdown/Dropdown.test.tsx +0 -173
- package/src/components/Dropdown/Dropdown.tsx +0 -141
- package/src/components/Dropdown/Dropdown.types.ts +0 -59
- package/src/components/Dropdown/DropdownMenu.tsx +0 -263
- package/src/components/Dropdown/DropdownTrigger.tsx +0 -368
- package/src/components/Dropdown/index.ts +0 -15
- package/src/components/Dropdown/useDropdown.test.ts +0 -96
- package/src/components/Dropdown/useDropdown.ts +0 -65
- package/src/components/EmptyState/EmptyState.mocks.tsx +0 -60
- package/src/components/EmptyState/EmptyState.stories.tsx +0 -239
- package/src/components/EmptyState/EmptyState.test.tsx +0 -101
- package/src/components/EmptyState/EmptyState.tsx +0 -22
- package/src/components/EmptyState/EmptyState.types.ts +0 -59
- package/src/components/EmptyState/EmptyStateWithIcon.tsx +0 -42
- package/src/components/EmptyState/EmptyStateWithIllustration.tsx +0 -72
- package/src/components/EmptyState/Illustration.tsx +0 -29
- package/src/components/EmptyState/index.ts +0 -4
- package/src/components/ErrorMessage/ErrorMessage.stories.tsx +0 -26
- package/src/components/ErrorMessage/ErrorMessage.test.tsx +0 -24
- package/src/components/ErrorMessage/ErrorMessage.tsx +0 -19
- package/src/components/ErrorMessage/index.ts +0 -2
- package/src/components/HighlightMatch/HighlightMatch.stories.tsx +0 -24
- package/src/components/HighlightMatch/HighlightMatch.test.tsx +0 -37
- package/src/components/HighlightMatch/HighlightMatch.tsx +0 -29
- package/src/components/HighlightMatch/index.ts +0 -2
- package/src/components/Icon/Icon.tsx +0 -55
- package/src/components/Icon/assets/back.svg +0 -4
- package/src/components/Icon/assets/burger-menu.svg +0 -3
- package/src/components/Icon/assets/calendar.svg +0 -5
- package/src/components/Icon/assets/caret-down.svg +0 -4
- package/src/components/Icon/assets/caret-left.svg +0 -4
- package/src/components/Icon/assets/caret-right-last.svg +0 -4
- package/src/components/Icon/assets/caret-right.svg +0 -4
- package/src/components/Icon/assets/check.svg +0 -4
- package/src/components/Icon/assets/chevron-down.svg +0 -3
- package/src/components/Icon/assets/circle.svg +0 -3
- package/src/components/Icon/assets/close.svg +0 -4
- package/src/components/Icon/assets/dots-horizontal.svg +0 -1
- package/src/components/Icon/assets/information.svg +0 -4
- package/src/components/Icon/assets/minus.svg +0 -4
- package/src/components/Icon/assets/plus.svg +0 -4
- package/src/components/Icon/assets/refresh.svg +0 -3
- package/src/components/Icon/assets/sort-asc.svg +0 -7
- package/src/components/Icon/assets/sort-desc.svg +0 -7
- package/src/components/Icon/assets/sort.svg +0 -7
- package/src/components/Icon/assets/upload.svg +0 -3
- package/src/components/Icon/assets/warning.svg +0 -4
- package/src/components/Icon/index.ts +0 -2
- package/src/components/IconFactory/IconFactory.fixtures.tsx +0 -31
- package/src/components/IconFactory/IconFactory.stories.tsx +0 -120
- package/src/components/IconFactory/IconFactory.test.tsx +0 -36
- package/src/components/IconFactory/IconFactory.tsx +0 -75
- package/src/components/IconFactory/index.ts +0 -2
- package/src/components/Label/Label.stories.tsx +0 -47
- package/src/components/Label/Label.test.tsx +0 -80
- package/src/components/Label/Label.tsx +0 -120
- package/src/components/Label/index.ts +0 -2
- package/src/components/Layout/Box.tsx +0 -98
- package/src/components/Layout/Grid.tsx +0 -42
- package/src/components/Layout/Group.tsx +0 -55
- package/src/components/Layout/Layout.stories.tsx +0 -412
- package/src/components/Layout/Layout.tsx +0 -19
- package/src/components/Layout/Layout.types.ts +0 -9
- package/src/components/Layout/Layout.utils.ts +0 -20
- package/src/components/Layout/Sidebar.tsx +0 -75
- package/src/components/Layout/Stack.tsx +0 -63
- package/src/components/Layout/Switcher.tsx +0 -48
- package/src/components/Layout/index.tsx +0 -8
- package/src/components/Link/Link.stories.tsx +0 -22
- package/src/components/Link/Link.test.tsx +0 -79
- package/src/components/Link/Link.tsx +0 -114
- package/src/components/Link/index.ts +0 -3
- package/src/components/Link/useSafeLink.ts +0 -49
- package/src/components/Loaders/LoadingBar.stories.tsx +0 -36
- package/src/components/Loaders/LoadingBar.test.tsx +0 -35
- package/src/components/Loaders/LoadingBar.tsx +0 -65
- package/src/components/Loaders/LoadingDots.stories.tsx +0 -69
- package/src/components/Loaders/LoadingDots.test.tsx +0 -22
- package/src/components/Loaders/LoadingDots.tsx +0 -68
- package/src/components/Loaders/Spinner.stories.tsx +0 -24
- package/src/components/Loaders/Spinner.test.tsx +0 -35
- package/src/components/Loaders/Spinner.tsx +0 -68
- package/src/components/Loaders/index.tsx +0 -3
- package/src/components/Modal/Modal.stories.tsx +0 -121
- package/src/components/Modal/Modal.test.tsx +0 -46
- package/src/components/Modal/Modal.tsx +0 -163
- package/src/components/Modal/index.tsx +0 -2
- package/src/components/Pagination/Pagination.constants.ts +0 -7
- package/src/components/Pagination/Pagination.helper.ts +0 -88
- package/src/components/Pagination/Pagination.stories.tsx +0 -29
- package/src/components/Pagination/Pagination.test.tsx +0 -102
- package/src/components/Pagination/Pagination.tsx +0 -34
- package/src/components/Pagination/Pagination.types.ts +0 -55
- package/src/components/Pagination/PaginationItem.tsx +0 -74
- package/src/components/Pagination/index.ts +0 -2
- package/src/components/Pagination/usePagination.test.ts +0 -188
- package/src/components/Pagination/usePagination.ts +0 -87
- package/src/components/Popover/Popover.stories.tsx +0 -50
- package/src/components/Popover/Popover.test.tsx +0 -22
- package/src/components/Popover/Popover.tsx +0 -110
- package/src/components/Popover/Popover.types.ts +0 -39
- package/src/components/Popover/index.ts +0 -11
- package/src/components/ProgressBar/ProgressBar.stories.tsx +0 -47
- package/src/components/ProgressBar/ProgressBar.test.tsx +0 -40
- package/src/components/ProgressBar/ProgressBar.tsx +0 -89
- package/src/components/ProgressBar/index.tsx +0 -2
- package/src/components/Radio/Radio.stories.tsx +0 -75
- package/src/components/Radio/Radio.test.tsx +0 -66
- package/src/components/Radio/Radio.tsx +0 -153
- package/src/components/Radio/index.ts +0 -2
- package/src/components/Section/Section.test.tsx +0 -35
- package/src/components/Section/Section.tsx +0 -66
- package/src/components/Section/Sections.stories.tsx +0 -56
- package/src/components/Section/index.ts +0 -2
- package/src/components/Select/Select.constants.ts +0 -12
- package/src/components/Select/Select.context.ts +0 -11
- package/src/components/Select/Select.fixtures.ts +0 -167
- package/src/components/Select/Select.stories.tsx +0 -780
- package/src/components/Select/Select.test.tsx +0 -1109
- package/src/components/Select/Select.tsx +0 -271
- package/src/components/Select/Select.types.ts +0 -148
- package/src/components/Select/SelectCreatableOption.tsx +0 -20
- package/src/components/Select/SelectEmpty.test.tsx +0 -15
- package/src/components/Select/SelectEmpty.tsx +0 -29
- package/src/components/Select/SelectOption.test.tsx +0 -78
- package/src/components/Select/SelectOption.tsx +0 -79
- package/src/components/Select/SelectTrigger.tsx +0 -83
- package/src/components/Select/components.tsx +0 -14
- package/src/components/Select/index.ts +0 -12
- package/src/components/Select/useSelect.helpers.test.ts +0 -184
- package/src/components/Select/useSelect.helpers.ts +0 -63
- package/src/components/Select/useSelect.test.ts +0 -207
- package/src/components/Select/useSelect.ts +0 -540
- package/src/components/Select/useSelectExternal.ts +0 -26
- package/src/components/SideNavigation/Logo/Logo.test.tsx +0 -19
- package/src/components/SideNavigation/Logo/Logo.tsx +0 -26
- package/src/components/SideNavigation/Logo/index.ts +0 -1
- package/src/components/SideNavigation/Menu/Menu.test.tsx +0 -65
- package/src/components/SideNavigation/Menu/Menu.tsx +0 -53
- package/src/components/SideNavigation/Menu/MenuBaseItem.tsx +0 -64
- package/src/components/SideNavigation/Menu/MenuExpandable.tsx +0 -107
- package/src/components/SideNavigation/Menu/MenuLink.tsx +0 -37
- package/src/components/SideNavigation/Menu/index.ts +0 -1
- package/src/components/SideNavigation/Separator/Separator.test.tsx +0 -14
- package/src/components/SideNavigation/Separator/Separator.tsx +0 -20
- package/src/components/SideNavigation/Separator/index.ts +0 -1
- package/src/components/SideNavigation/SideNavigation.stories.tsx +0 -69
- package/src/components/SideNavigation/SideNavigation.test.tsx +0 -21
- package/src/components/SideNavigation/SideNavigation.tsx +0 -47
- package/src/components/SideNavigation/index.ts +0 -5
- package/src/components/SideNavigation/useSideNavigation.ts +0 -36
- package/src/components/Steps/ProgressSteps/ProgressStep.tsx +0 -163
- package/src/components/Steps/ProgressSteps/ProgressSteps.tsx +0 -37
- package/src/components/Steps/ProgressSteps/index.ts +0 -1
- package/src/components/Steps/Steps.fixtures.ts +0 -11
- package/src/components/Steps/Steps.helpers.ts +0 -11
- package/src/components/Steps/Steps.stories.tsx +0 -65
- package/src/components/Steps/Steps.test.tsx +0 -78
- package/src/components/Steps/Steps.tsx +0 -53
- package/src/components/Steps/Steps.types.ts +0 -5
- package/src/components/Steps/StepsContext.ts +0 -5
- package/src/components/Steps/StepsStep.tsx +0 -58
- package/src/components/Steps/index.ts +0 -6
- package/src/components/Steps/useStep.test.tsx +0 -217
- package/src/components/Steps/useSteps.ts +0 -131
- package/src/components/Switch/Switch.stories.tsx +0 -65
- package/src/components/Switch/Switch.test.tsx +0 -60
- package/src/components/Switch/Switch.tsx +0 -209
- package/src/components/Switch/index.ts +0 -2
- package/src/components/Table/Selection.tsx +0 -202
- package/src/components/Table/Table.fixtures.ts +0 -101
- package/src/components/Table/Table.stories.tsx +0 -568
- package/src/components/Table/Table.test.tsx +0 -310
- package/src/components/Table/Table.tsx +0 -523
- package/src/components/Table/Table.types.ts +0 -93
- package/src/components/Table/TableSortHandle.tsx +0 -31
- package/src/components/Table/index.tsx +0 -2
- package/src/components/Table/useSortBy.test.ts +0 -96
- package/src/components/Table/useSortBy.ts +0 -92
- package/src/components/Table/useSortBy.types.ts +0 -21
- package/src/components/TablePagination/RowsPerPage.tsx +0 -81
- package/src/components/TablePagination/TablePagination.stories.tsx +0 -42
- package/src/components/TablePagination/TablePagination.styles.ts +0 -13
- package/src/components/TablePagination/TablePagination.test.tsx +0 -111
- package/src/components/TablePagination/TablePagination.tsx +0 -49
- package/src/components/TablePagination/TablePagination.types.ts +0 -69
- package/src/components/TablePagination/TablePaginationActions.tsx +0 -144
- package/src/components/TablePagination/index.ts +0 -2
- package/src/components/Tabs/Tabs.stories.tsx +0 -78
- package/src/components/Tabs/Tabs.test.tsx +0 -103
- package/src/components/Tabs/Tabs.tsx +0 -287
- package/src/components/Tabs/Tabs.types.ts +0 -7
- package/src/components/Tabs/TabsContext.ts +0 -10
- package/src/components/Tabs/index.ts +0 -2
- package/src/components/Tag/Tag.stories.tsx +0 -112
- package/src/components/Tag/Tag.test.tsx +0 -19
- package/src/components/Tag/Tag.tsx +0 -393
- package/src/components/Tag/index.ts +0 -2
- package/src/components/Text/Text.stories.tsx +0 -59
- package/src/components/Text/Text.test.tsx +0 -48
- package/src/components/Text/Text.tsx +0 -14
- package/src/components/Text/index.ts +0 -2
- package/src/components/TextField/TextField.stories.tsx +0 -90
- package/src/components/TextField/TextField.test.tsx +0 -36
- package/src/components/TextField/TextField.tsx +0 -244
- package/src/components/TextField/index.ts +0 -6
- package/src/components/TextField/useTextField.tsx +0 -26
- package/src/components/Textarea/Textarea.stories.tsx +0 -101
- package/src/components/Textarea/Textarea.test.tsx +0 -14
- package/src/components/Textarea/Textarea.tsx +0 -230
- package/src/components/Textarea/index.ts +0 -2
- package/src/components/Toast/Toast.stories.tsx +0 -50
- package/src/components/Toast/Toast.test.tsx +0 -24
- package/src/components/Toast/Toast.tsx +0 -141
- package/src/components/Toast/icons/close.svg +0 -3
- package/src/components/Toast/icons/danger.svg +0 -4
- package/src/components/Toast/icons/neutral.svg +0 -4
- package/src/components/Toast/icons/success.svg +0 -3
- package/src/components/Toast/icons/warning.svg +0 -4
- package/src/components/Toast/index.tsx +0 -2
- package/src/components/ToggleGroup/Toggle.test.tsx +0 -76
- package/src/components/ToggleGroup/Toggle.tsx +0 -158
- package/src/components/ToggleGroup/ToggleGroup.constants.ts +0 -16
- package/src/components/ToggleGroup/ToggleGroup.stories.tsx +0 -145
- package/src/components/ToggleGroup/ToggleGroup.test.tsx +0 -237
- package/src/components/ToggleGroup/ToggleGroup.tsx +0 -165
- package/src/components/ToggleGroup/ToggleGroup.types.ts +0 -35
- package/src/components/ToggleGroup/ToggleGroupContext.ts +0 -13
- package/src/components/ToggleGroup/index.ts +0 -3
- package/src/components/Tooltip/Tooltip.stories.tsx +0 -82
- package/src/components/Tooltip/Tooltip.test.tsx +0 -49
- package/src/components/Tooltip/Tooltip.tsx +0 -185
- package/src/components/Tooltip/index.ts +0 -2
- package/src/components/TopNavigation/Logo/Logo.test.tsx +0 -21
- package/src/components/TopNavigation/Logo/Logo.tsx +0 -20
- package/src/components/TopNavigation/Logo/index.ts +0 -1
- package/src/components/TopNavigation/Menu/Menu.test.tsx +0 -125
- package/src/components/TopNavigation/Menu/Menu.tsx +0 -62
- package/src/components/TopNavigation/Menu/MenuItemDropdown.tsx +0 -118
- package/src/components/TopNavigation/Menu/MenuItemIcon.tsx +0 -50
- package/src/components/TopNavigation/Menu/index.ts +0 -1
- package/src/components/TopNavigation/OpenSideNavButton/OpenSideNavButton.tsx +0 -28
- package/src/components/TopNavigation/OpenSideNavButton/index.ts +0 -1
- package/src/components/TopNavigation/TopNavigation.stories.tsx +0 -42
- package/src/components/TopNavigation/TopNavigation.tsx +0 -47
- package/src/components/TopNavigation/index.ts +0 -2
- package/src/components/VisuallyHidden/VisuallyHidden.mdx +0 -26
- package/src/components/VisuallyHidden/VisuallyHidden.stories.tsx +0 -32
- package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +0 -18
- package/src/components/VisuallyHidden/VisuallyHidden.tsx +0 -6
- package/src/components/VisuallyHidden/index.ts +0 -1
- package/src/docs/tools/DatePickerEvent.stories.mdx +0 -108
- package/src/docs/tools/DragDropFileEvent.stories.mdx +0 -75
- package/src/docs/tools/conditional.stories.mdx +0 -251
- package/src/docs/tools/selectEvent.stories.mdx +0 -121
- package/src/hooks/useClickOutside/index.ts +0 -1
- package/src/hooks/useClickOutside/useClickOutside.test.tsx +0 -116
- package/src/hooks/useClickOutside/useClickOutside.ts +0 -65
- package/src/hooks/useDidMount/index.ts +0 -1
- package/src/hooks/useDidMount/useDidMount.test.tsx +0 -38
- package/src/hooks/useDidMount/useDidMount.ts +0 -20
- package/src/hooks/useFingerprint/index.ts +0 -1
- package/src/hooks/useFingerprint/useFingerprint.test.ts +0 -76
- package/src/hooks/useFingerprint/useFingerprint.ts +0 -94
- package/src/hooks/useFocusTrap/index.ts +0 -2
- package/src/hooks/useFocusTrap/useFocusTrap.stories.tsx +0 -87
- package/src/hooks/useFocusTrap/useFocusTrap.test.tsx +0 -129
- package/src/hooks/useFocusTrap/useFocusTrap.ts +0 -187
- package/src/hooks/useFocusWithin/index.ts +0 -2
- package/src/hooks/useFocusWithin/useFocusWithin.test.tsx +0 -71
- package/src/hooks/useFocusWithin/useFocusWithin.ts +0 -62
- package/src/hooks/useHeightExpansionToggler/index.ts +0 -2
- package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.test.tsx +0 -85
- package/src/hooks/useHeightExpansionToggler/useHeightExpansionToggler.ts +0 -54
- package/src/hooks/useID/index.ts +0 -1
- package/src/hooks/useID/useID.ts +0 -18
- package/src/hooks/useSelectable/SelectableStrategy.test.ts +0 -424
- package/src/hooks/useSelectable/SelectableStrategy.ts +0 -143
- package/src/hooks/useSelectable/index.ts +0 -8
- package/src/hooks/useSelectable/useSelectable.test.ts +0 -221
- package/src/hooks/useSelectable/useSelectable.ts +0 -156
- package/src/hooks/useSelectable/useSelectable.types.ts +0 -45
- package/src/hooks/useWindowResize/index.ts +0 -1
- package/src/hooks/useWindowResize/useWindowResize.ts +0 -27
- package/src/index.ts +0 -188
- package/src/stories/assets/code-brackets.svg +0 -1
- package/src/stories/assets/colors.svg +0 -1
- package/src/stories/assets/comments.svg +0 -1
- package/src/stories/assets/direction.svg +0 -1
- package/src/stories/assets/flow.svg +0 -1
- package/src/stories/assets/plugin.svg +0 -1
- package/src/stories/assets/repo.svg +0 -1
- package/src/stories/assets/stackalt.svg +0 -1
- package/src/stories/introduction.stories.mdx +0 -57
- package/src/stories/startPage.stories.mdx +0 -95
- package/src/styles/activatable.tsx +0 -30
- package/src/styles/disableable.tsx +0 -45
- package/src/styles/ellipsizable.tsx +0 -14
- package/src/styles/focusable.tsx +0 -32
- package/src/styles/font.test.ts +0 -31
- package/src/styles/font.tsx +0 -40
- package/src/styles/hidden.tsx +0 -29
- package/src/styles/hoverable.tsx +0 -30
- package/src/styles/transition.tsx +0 -25
- package/src/styles/typography.test.ts +0 -93
- package/src/styles/typography.ts +0 -190
- package/src/testing/DatePickerEvent/DatePickerEvent.ts +0 -117
- package/src/testing/DatePickerEvent/DateRangePickerEvent.ts +0 -83
- package/src/testing/DatePickerEvent/index.ts +0 -2
- package/src/testing/DragDropFileEvent/DragDropFileEvent.ts +0 -56
- package/src/testing/DragDropFileEvent/index.ts +0 -1
- package/src/testing/SelectEvent/SelectEvent.test.tsx +0 -192
- package/src/testing/SelectEvent/SelectEvent.ts +0 -264
- package/src/testing/SelectEvent/index.ts +0 -1
- package/src/testing/getInterpolatedStyles/getInterpolatedStyles.ts +0 -25
- package/src/testing/getInterpolatedStyles/index.ts +0 -1
- package/src/testing/index.ts +0 -6
- package/src/testing/renderWithDragDropFileProvider/index.ts +0 -1
- package/src/testing/renderWithDragDropFileProvider/renderWithDragDropFileProvider.tsx +0 -28
- package/src/tests/generator.ts +0 -127
- package/src/tests/renderer.tsx +0 -39
- package/src/theming/index.ts +0 -42
- package/src/theming/themes/alice.theme.ts +0 -1022
- package/src/theming/themes/index.ts +0 -3
- package/src/theming/themes/loadsmart.theme.ts +0 -1019
- package/src/theming/themes/miranda-compatibility.theme.ts +0 -972
- package/src/theming/theming.helpers.ts +0 -95
- package/src/tools/conditional.test.ts +0 -166
- package/src/tools/conditional.ts +0 -127
- package/src/tools/index.ts +0 -2
- package/src/tools/prop.test.ts +0 -52
- package/src/tools/prop.ts +0 -36
- package/src/utils/toolset/awaitTo.ts +0 -24
- package/src/utils/toolset/flatten.ts +0 -3
- package/src/utils/toolset/formatBytes.test.ts +0 -45
- package/src/utils/toolset/formatBytes.ts +0 -18
- package/src/utils/toolset/get.ts +0 -2
- package/src/utils/toolset/getID.test.ts +0 -57
- package/src/utils/toolset/getID.ts +0 -93
- package/src/utils/toolset/getOrdinalSuffix.test.ts +0 -27
- package/src/utils/toolset/getOrdinalSuffix.ts +0 -15
- package/src/utils/toolset/highlightMatch.test.tsx +0 -32
- package/src/utils/toolset/highlightMatch.tsx +0 -32
- package/src/utils/toolset/interleave.test.ts +0 -40
- package/src/utils/toolset/interleave.ts +0 -23
- package/src/utils/toolset/isEmpty.ts +0 -2
- package/src/utils/toolset/isThenable.test.ts +0 -40
- package/src/utils/toolset/isThenable.ts +0 -14
- package/src/utils/toolset/keyboard.ts +0 -50
- package/src/utils/toolset/omit.ts +0 -2
- package/src/utils/toolset/pluralize.ts +0 -16
- package/src/utils/toolset/range.ts +0 -2
- package/src/utils/toolset/rem.ts +0 -7
- package/src/utils/toolset/styledCompounds.ts +0 -22
- package/src/utils/toolset/toArray.ts +0 -16
- package/src/utils/types/ColorScheme.ts +0 -3
- package/src/utils/types/EventLike.ts +0 -11
- package/src/utils/types/InterpolatedStyle.ts +0 -3
- package/src/utils/types/Status.ts +0 -8
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import styled from 'styled-components'
|
|
3
|
-
|
|
4
|
-
import { getToken as token } from 'theming'
|
|
5
|
-
import { Group } from 'components/Layout'
|
|
6
|
-
import { Text as DefaultText } from 'components/Text'
|
|
7
|
-
import { TODAY } from '../Date.helper'
|
|
8
|
-
import DateFormatHelper from '../DateFormat.helper'
|
|
9
|
-
import PickerButton from './PickerButton'
|
|
10
|
-
|
|
11
|
-
import type { CalendarDate } from '../Date.helper'
|
|
12
|
-
import type { CalendarPickerProps, RenderableMonth, useCalendarReturn } from '../Calendar.types'
|
|
13
|
-
|
|
14
|
-
export const WEEKDAYS = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']
|
|
15
|
-
export const formatter = DateFormatHelper('MM/DD/YYYY')
|
|
16
|
-
|
|
17
|
-
function getStatus(calendar: useCalendarReturn, date: CalendarDate) {
|
|
18
|
-
const isPastYearDay =
|
|
19
|
-
date.getYear() < calendar.months[0].year && date.getMonth() > calendar.months[0].month
|
|
20
|
-
|
|
21
|
-
if (calendar.selected[0] == date.getTime()) {
|
|
22
|
-
return 'selection-start'
|
|
23
|
-
} else if (calendar.selected[1] == date.getTime()) {
|
|
24
|
-
return 'selection-end'
|
|
25
|
-
} else if (
|
|
26
|
-
calendar.selected[0] != null &&
|
|
27
|
-
date.getTime() > calendar.selected[0] &&
|
|
28
|
-
calendar.selected[1] != null &&
|
|
29
|
-
date.getTime() < calendar.selected[1]
|
|
30
|
-
) {
|
|
31
|
-
return 'selection'
|
|
32
|
-
} else if (
|
|
33
|
-
calendar.mode === 'single' &&
|
|
34
|
-
(isPastYearDay || date.getMonth() < calendar.months[0].month)
|
|
35
|
-
) {
|
|
36
|
-
return 'faded'
|
|
37
|
-
} else if (calendar.mode === 'single' && date.getMonth() > calendar.months[0].month) {
|
|
38
|
-
return 'next-month-day'
|
|
39
|
-
} else if (date.getTime() == TODAY.getTime()) {
|
|
40
|
-
return 'current-day'
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return 'default'
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const Text = styled(DefaultText)`
|
|
47
|
-
display: inline-flex;
|
|
48
|
-
align-items: center;
|
|
49
|
-
justify-content: center;
|
|
50
|
-
|
|
51
|
-
user-select: none;
|
|
52
|
-
`
|
|
53
|
-
|
|
54
|
-
const Grid = styled.div`
|
|
55
|
-
display: grid;
|
|
56
|
-
grid-gap: ${token('space-2xs')};
|
|
57
|
-
grid-template-rows: 1.25rem repeat(auto-fill, 2.5rem);
|
|
58
|
-
grid-template-columns: repeat(7, 2.5rem);
|
|
59
|
-
`
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* filling days of previous month
|
|
63
|
-
* TODO: supress this for range selection
|
|
64
|
-
*/
|
|
65
|
-
function CalendarDayPicker({ calendar, onDayClick }: CalendarPickerProps): JSX.Element {
|
|
66
|
-
function renderDaysOfWeek() {
|
|
67
|
-
return WEEKDAYS.map((weekday) => (
|
|
68
|
-
<Text
|
|
69
|
-
key={weekday}
|
|
70
|
-
as="abbr"
|
|
71
|
-
variant="chips-sm"
|
|
72
|
-
color="color-neutral"
|
|
73
|
-
style={{ textDecoration: 'none' }}
|
|
74
|
-
>
|
|
75
|
-
{weekday}
|
|
76
|
-
</Text>
|
|
77
|
-
))
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
function renderDaysOfMonth(month: RenderableMonth) {
|
|
81
|
-
const constraints = calendar.constraints || []
|
|
82
|
-
|
|
83
|
-
return month.days.map((day) => {
|
|
84
|
-
const status = getStatus(calendar, day)
|
|
85
|
-
const formatted = formatter.format(day)
|
|
86
|
-
const isDisabled = day.matches(...constraints)
|
|
87
|
-
|
|
88
|
-
if (calendar.mode === 'range' && day.getMonth() !== month.month) {
|
|
89
|
-
return <span key={formatted} aria-hidden></span>
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return (
|
|
93
|
-
<PickerButton
|
|
94
|
-
key={formatted}
|
|
95
|
-
type="button"
|
|
96
|
-
role="checkbox"
|
|
97
|
-
aria-checked={['selection-start', 'selection', 'selection-end'].includes(status)}
|
|
98
|
-
aria-label={formatted}
|
|
99
|
-
disabled={isDisabled}
|
|
100
|
-
onClick={() => {
|
|
101
|
-
if (!isDisabled && onDayClick) {
|
|
102
|
-
onDayClick(day.getTime())
|
|
103
|
-
}
|
|
104
|
-
}}
|
|
105
|
-
$status={status}
|
|
106
|
-
>
|
|
107
|
-
<time dateTime={day.toString()}>{day.getDate()}</time>
|
|
108
|
-
</PickerButton>
|
|
109
|
-
)
|
|
110
|
-
})
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
return (
|
|
114
|
-
<Group>
|
|
115
|
-
{calendar.months.map((month) => {
|
|
116
|
-
return (
|
|
117
|
-
<Grid key={`${month.year}${month.month}`} role="group" data-testid="calendar-day-picker">
|
|
118
|
-
{renderDaysOfWeek()}
|
|
119
|
-
{renderDaysOfMonth(month)}
|
|
120
|
-
</Grid>
|
|
121
|
-
)
|
|
122
|
-
})}
|
|
123
|
-
</Group>
|
|
124
|
-
)
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export default CalendarDayPicker
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
|
|
3
|
-
import DateHelper from '../Date.helper'
|
|
4
|
-
import generator from '../../../tests/generator'
|
|
5
|
-
import MonthHelper from '../Month.helper'
|
|
6
|
-
import MonthPicker from './MonthPicker'
|
|
7
|
-
import range from 'utils/toolset/range'
|
|
8
|
-
import renderer, { screen, fire } from '../../../tests/renderer'
|
|
9
|
-
|
|
10
|
-
import type { useCalendarReturn, CalendarPickerProps, usePickerModeReturn } from '../Calendar.types'
|
|
11
|
-
import type { CalendarMonthAlias } from '../Month.helper'
|
|
12
|
-
|
|
13
|
-
const setup = (overrides: CalendarPickerProps) => renderer(<MonthPicker {...overrides} />).render()
|
|
14
|
-
|
|
15
|
-
describe('MonthPicker', () => {
|
|
16
|
-
const mockedCalendar: useCalendarReturn = {
|
|
17
|
-
mode: 'single',
|
|
18
|
-
months: [
|
|
19
|
-
{
|
|
20
|
-
month: 10,
|
|
21
|
-
year: 2021,
|
|
22
|
-
days: [
|
|
23
|
-
DateHelper('2021-11-01T12:00:00.000Z'),
|
|
24
|
-
DateHelper('2021-11-02T12:00:00.000Z'),
|
|
25
|
-
DateHelper('2021-11-03T12:00:00.000Z'),
|
|
26
|
-
DateHelper('2021-11-04T12:00:00.000Z'),
|
|
27
|
-
DateHelper('2021-11-05T12:00:00.000Z'),
|
|
28
|
-
],
|
|
29
|
-
},
|
|
30
|
-
],
|
|
31
|
-
selected: [1635822000000, 1635994800000],
|
|
32
|
-
constraints: [],
|
|
33
|
-
clear: jest.fn(),
|
|
34
|
-
set: jest.fn(),
|
|
35
|
-
select: jest.fn(),
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const mockedMode: usePickerModeReturn = {
|
|
39
|
-
get: jest.fn(),
|
|
40
|
-
is: jest.fn(),
|
|
41
|
-
dispatch: jest.fn(),
|
|
42
|
-
Picker: jest.fn(),
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
it('renders all months correctly', () => {
|
|
46
|
-
const props: CalendarPickerProps = { calendar: mockedCalendar, mode: mockedMode }
|
|
47
|
-
setup(props)
|
|
48
|
-
|
|
49
|
-
MonthHelper.getAll().forEach((month) => {
|
|
50
|
-
expect(screen.getByLabelText(`Select month ${month.name}`)).toHaveTextContent(
|
|
51
|
-
MonthHelper(month.name as CalendarMonthAlias).format('narrow')
|
|
52
|
-
)
|
|
53
|
-
})
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
it('renders current month correctly', () => {
|
|
57
|
-
const props: CalendarPickerProps = { calendar: mockedCalendar, mode: mockedMode }
|
|
58
|
-
setup(props)
|
|
59
|
-
|
|
60
|
-
const currentMonth = screen.getByRole('radio', { checked: true })
|
|
61
|
-
expect(currentMonth).toHaveTextContent(
|
|
62
|
-
MonthHelper(mockedCalendar.months[0].month as CalendarMonthAlias).format('short')
|
|
63
|
-
)
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
it('trigger selection correctly', () => {
|
|
67
|
-
const props: CalendarPickerProps = { calendar: mockedCalendar, mode: mockedMode }
|
|
68
|
-
setup(props)
|
|
69
|
-
|
|
70
|
-
const selectedMonth = generator.pick(range(0, 12))
|
|
71
|
-
|
|
72
|
-
fire.click(screen.getByText(MonthHelper(selectedMonth as CalendarMonthAlias).format('short')))
|
|
73
|
-
|
|
74
|
-
expect(mockedCalendar.set).toHaveBeenCalledWith({ month: selectedMonth })
|
|
75
|
-
expect(mockedMode.dispatch).toHaveBeenCalledWith({ type: 'set-mode', payload: 'day-picker' })
|
|
76
|
-
})
|
|
77
|
-
})
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import styled from 'styled-components'
|
|
3
|
-
|
|
4
|
-
import { getToken as token } from 'theming'
|
|
5
|
-
import MonthHelper from '../Month.helper'
|
|
6
|
-
import PickerButton from './PickerButton'
|
|
7
|
-
|
|
8
|
-
import type { useCalendarReturn, CalendarPickerProps } from '../Calendar.types'
|
|
9
|
-
import type { CalendarMonth, CalendarMonthAlias } from '../Month.helper'
|
|
10
|
-
|
|
11
|
-
const Container = styled.div`
|
|
12
|
-
display: grid;
|
|
13
|
-
grid-auto-rows: 3.75rem;
|
|
14
|
-
grid-gap: ${token('space-2xs')};
|
|
15
|
-
grid-template-columns: repeat(3, 1fr);
|
|
16
|
-
`
|
|
17
|
-
|
|
18
|
-
function getStatus(calendar: useCalendarReturn, month: CalendarMonth) {
|
|
19
|
-
if (calendar.months[0].month == month.index) {
|
|
20
|
-
return 'selection-start'
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return 'default'
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function CalendarMonthPicker({ calendar, mode }: CalendarPickerProps): JSX.Element {
|
|
27
|
-
return (
|
|
28
|
-
<Container role="radiogroup" data-testid="calendar-month-picker">
|
|
29
|
-
{MonthHelper.getAll().map((month) => (
|
|
30
|
-
<PickerButton
|
|
31
|
-
key={month.index}
|
|
32
|
-
type="button"
|
|
33
|
-
role="radio"
|
|
34
|
-
aria-checked={month.index == calendar.months[0].month}
|
|
35
|
-
aria-label={`Select month ${month.name}`}
|
|
36
|
-
onClick={() => {
|
|
37
|
-
calendar.set({ month: month.index })
|
|
38
|
-
mode.dispatch({ type: 'set-mode', payload: 'day-picker' })
|
|
39
|
-
}}
|
|
40
|
-
$status={getStatus(calendar, month)}
|
|
41
|
-
>
|
|
42
|
-
<time dateTime={`${calendar.months[0].year}-${month.index + 1}`}>
|
|
43
|
-
{MonthHelper(month.name as CalendarMonthAlias).format('short')}
|
|
44
|
-
</time>
|
|
45
|
-
</PickerButton>
|
|
46
|
-
))}
|
|
47
|
-
</Container>
|
|
48
|
-
)
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export default CalendarMonthPicker
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import styled from 'styled-components'
|
|
2
|
-
|
|
3
|
-
import { BaseButton } from 'components/Button'
|
|
4
|
-
import { getToken as token } from 'theming'
|
|
5
|
-
import activatable from 'styles/activatable'
|
|
6
|
-
import conditional, { whenProps } from 'tools/conditional'
|
|
7
|
-
import disableable from 'styles/disableable'
|
|
8
|
-
import focusable from 'styles/focusable'
|
|
9
|
-
import hoverable from 'styles/hoverable'
|
|
10
|
-
import typography from 'styles/typography'
|
|
11
|
-
|
|
12
|
-
const PickerButton = styled(BaseButton)<{
|
|
13
|
-
$status:
|
|
14
|
-
| 'default'
|
|
15
|
-
| 'current-day'
|
|
16
|
-
| 'faded'
|
|
17
|
-
| 'selection-start'
|
|
18
|
-
| 'selection-end'
|
|
19
|
-
| 'selection'
|
|
20
|
-
| 'next-month-day'
|
|
21
|
-
}>`
|
|
22
|
-
${typography(
|
|
23
|
-
conditional({
|
|
24
|
-
body: whenProps({ $status: ['default', 'faded'] }),
|
|
25
|
-
'body-bold': whenProps({
|
|
26
|
-
$status: ['current-day', 'selection-start', 'selection', 'selection-end'],
|
|
27
|
-
}),
|
|
28
|
-
})
|
|
29
|
-
)}
|
|
30
|
-
|
|
31
|
-
user-select: none;
|
|
32
|
-
|
|
33
|
-
height: 100%;
|
|
34
|
-
|
|
35
|
-
border-radius: 0;
|
|
36
|
-
|
|
37
|
-
color: ${conditional({
|
|
38
|
-
'color-neutral-lighter': whenProps({
|
|
39
|
-
$status: ['selection-start', 'selection', 'selection-end'],
|
|
40
|
-
}),
|
|
41
|
-
'color-neutral-darker': whenProps({ $status: ['default', 'faded'] }),
|
|
42
|
-
'color-neutral-dark': whenProps({ $status: 'next-month-day' }),
|
|
43
|
-
'color-accent': whenProps({ $status: 'current-day' }),
|
|
44
|
-
})};
|
|
45
|
-
|
|
46
|
-
background: ${conditional({
|
|
47
|
-
'color-transparent': whenProps({ $status: ['default', 'faded', 'next-month-day'] }),
|
|
48
|
-
'color-neutral-darker': whenProps({ $status: ['selection-start', 'selection-end'] }),
|
|
49
|
-
'color-neutral': whenProps({ $status: 'selection' }),
|
|
50
|
-
'color-neutral-lightest': whenProps({ $status: 'current-day' }),
|
|
51
|
-
})};
|
|
52
|
-
|
|
53
|
-
border-color: ${conditional({
|
|
54
|
-
'color-transparent': whenProps({ $status: ['default', 'faded', 'next-month-day'] }),
|
|
55
|
-
'color-neutral-darker': whenProps({ $status: ['selection-start', 'selection-end'] }),
|
|
56
|
-
'color-neutral': whenProps({ $status: 'selection' }),
|
|
57
|
-
'color-neutral-light': whenProps({ $status: 'current-day' }),
|
|
58
|
-
})};
|
|
59
|
-
|
|
60
|
-
${conditional({
|
|
61
|
-
'opacity: 0.4;': whenProps({ $status: 'faded' }),
|
|
62
|
-
'opacity: 1;': whenProps({ $status: (status) => status !== 'faded' }),
|
|
63
|
-
})}
|
|
64
|
-
|
|
65
|
-
padding: ${token('space-xs')} ${token('space-s')};
|
|
66
|
-
|
|
67
|
-
${hoverable`
|
|
68
|
-
border-color: ${token('color-neutral')};
|
|
69
|
-
background-color: ${conditional({
|
|
70
|
-
'color-transparent': whenProps({ $status: ['default', 'faded', 'next-month-day'] }),
|
|
71
|
-
'color-neutral-dark': whenProps({
|
|
72
|
-
$status: ['selection-start', 'selection', 'selection-end'],
|
|
73
|
-
}),
|
|
74
|
-
'color-neutral-lightest': whenProps({ $status: 'current-day' }),
|
|
75
|
-
})};
|
|
76
|
-
color: ${conditional({
|
|
77
|
-
'color-neutral-dark': whenProps({ $status: ['default', 'faded'] }),
|
|
78
|
-
'color-neutral-lightest': whenProps({
|
|
79
|
-
$status: ['selection-start', 'selection', 'selection-end'],
|
|
80
|
-
}),
|
|
81
|
-
})};
|
|
82
|
-
|
|
83
|
-
font-weight: ${token('font-weight-bold')};
|
|
84
|
-
`}
|
|
85
|
-
|
|
86
|
-
${focusable`
|
|
87
|
-
box-shadow: ${token('button-primary-outline')};
|
|
88
|
-
font-weight: ${token('font-weight-bold')};
|
|
89
|
-
`}
|
|
90
|
-
|
|
91
|
-
${activatable`
|
|
92
|
-
border-color: ${token('color-neutral')};
|
|
93
|
-
background-color: ${conditional({
|
|
94
|
-
'color-transparent': whenProps({ 'aria-checked': false }),
|
|
95
|
-
'color-neutral': whenProps({ 'aria-checked': true }),
|
|
96
|
-
})};
|
|
97
|
-
color: ${conditional({
|
|
98
|
-
'color-neutral': whenProps({ 'aria-checked': false }),
|
|
99
|
-
'color-neutral-white': whenProps({ 'aria-checked': true }),
|
|
100
|
-
})};
|
|
101
|
-
`}
|
|
102
|
-
|
|
103
|
-
${disableable`
|
|
104
|
-
background-color: ${token('color-transparent')};
|
|
105
|
-
border-color: ${conditional({
|
|
106
|
-
'color-neutral-darkest': whenProps({ 'aria-checked': true }),
|
|
107
|
-
'color-transparent': whenProps({ 'aria-checked': false }),
|
|
108
|
-
})};
|
|
109
|
-
|
|
110
|
-
color: ${token('color-neutral-darker')};
|
|
111
|
-
`}
|
|
112
|
-
|
|
113
|
-
visibility: ${conditional({
|
|
114
|
-
visible: whenProps({ 'aria-hidden': false }),
|
|
115
|
-
hidden: whenProps({ 'aria-hidden': true }),
|
|
116
|
-
})};
|
|
117
|
-
`
|
|
118
|
-
|
|
119
|
-
export default styled(PickerButton)({})
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
|
|
3
|
-
import generator from '../../../tests/generator'
|
|
4
|
-
import range from 'utils/toolset/range'
|
|
5
|
-
import renderer, { screen, fire } from '../../../tests/renderer'
|
|
6
|
-
import YearPicker from './YearPicker'
|
|
7
|
-
import DateHelper from '../Date.helper'
|
|
8
|
-
|
|
9
|
-
import type { useCalendarReturn, CalendarPickerProps, usePickerModeReturn } from '../Calendar.types'
|
|
10
|
-
|
|
11
|
-
const setup = (overrides: CalendarPickerProps) => renderer(<YearPicker {...overrides} />).render()
|
|
12
|
-
|
|
13
|
-
function getYearRange() {
|
|
14
|
-
return range(2012, 2032)
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
describe('YearPicker', () => {
|
|
18
|
-
const mockedCalendar: useCalendarReturn = {
|
|
19
|
-
mode: 'single',
|
|
20
|
-
months: [
|
|
21
|
-
{
|
|
22
|
-
month: 10,
|
|
23
|
-
year: 2021,
|
|
24
|
-
days: [
|
|
25
|
-
DateHelper('2021-11-01T12:00:00.000Z'),
|
|
26
|
-
DateHelper('2021-11-02T12:00:00.000Z'),
|
|
27
|
-
DateHelper('2021-11-03T12:00:00.000Z'),
|
|
28
|
-
DateHelper('2021-11-04T12:00:00.000Z'),
|
|
29
|
-
DateHelper('2021-11-05T12:00:00.000Z'),
|
|
30
|
-
],
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
selected: [1635822000000, 1635994800000],
|
|
34
|
-
constraints: [],
|
|
35
|
-
clear: jest.fn(),
|
|
36
|
-
set: jest.fn(),
|
|
37
|
-
select: jest.fn(),
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const mockedMode: usePickerModeReturn = {
|
|
41
|
-
get: jest.fn(),
|
|
42
|
-
is: jest.fn(),
|
|
43
|
-
dispatch: jest.fn(),
|
|
44
|
-
Picker: jest.fn(),
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
it('renders all supported years correctly', () => {
|
|
48
|
-
const props: CalendarPickerProps = { calendar: mockedCalendar, mode: mockedMode }
|
|
49
|
-
setup(props)
|
|
50
|
-
|
|
51
|
-
getYearRange().forEach((year) => {
|
|
52
|
-
expect(screen.getByLabelText(`Select year ${year}`)).toHaveTextContent(String(year))
|
|
53
|
-
})
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
it('renders current year correctly', () => {
|
|
57
|
-
const props: CalendarPickerProps = { calendar: mockedCalendar, mode: mockedMode }
|
|
58
|
-
setup(props)
|
|
59
|
-
|
|
60
|
-
const currentYear = screen.getByRole('radio', { checked: true })
|
|
61
|
-
expect(currentYear).toHaveTextContent(String(mockedCalendar.months[0].year))
|
|
62
|
-
})
|
|
63
|
-
|
|
64
|
-
it('trigger selection correctly', () => {
|
|
65
|
-
const props: CalendarPickerProps = { calendar: mockedCalendar, mode: mockedMode }
|
|
66
|
-
setup(props)
|
|
67
|
-
|
|
68
|
-
const selectedYear = generator.pick(getYearRange())
|
|
69
|
-
|
|
70
|
-
fire.click(screen.getByText(String(selectedYear)))
|
|
71
|
-
|
|
72
|
-
expect(mockedCalendar.set).toHaveBeenCalledWith({ year: selectedYear })
|
|
73
|
-
expect(mockedMode.dispatch).toHaveBeenCalledWith({ type: 'set-mode', payload: 'month-picker' })
|
|
74
|
-
})
|
|
75
|
-
})
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import styled from 'styled-components'
|
|
3
|
-
|
|
4
|
-
import { getToken as token } from 'theming'
|
|
5
|
-
import DefaultPickerButton from './PickerButton'
|
|
6
|
-
import range from 'utils/toolset/range'
|
|
7
|
-
|
|
8
|
-
import type { useCalendarReturn, CalendarPickerProps } from '../Calendar.types'
|
|
9
|
-
|
|
10
|
-
const Container = styled.div`
|
|
11
|
-
display: grid;
|
|
12
|
-
grid-auto-rows: 2.875rem;
|
|
13
|
-
grid-gap: ${token('space-2xs')};
|
|
14
|
-
grid-template-columns: repeat(4, 1fr);
|
|
15
|
-
`
|
|
16
|
-
|
|
17
|
-
const PickerButton = styled(DefaultPickerButton)`
|
|
18
|
-
block-size: 46px;
|
|
19
|
-
`
|
|
20
|
-
|
|
21
|
-
function getStatus(calendar: useCalendarReturn, year: number) {
|
|
22
|
-
if (calendar.months[0].year == year) {
|
|
23
|
-
return 'selection-start'
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return 'default'
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function CalendarYearPicker({ calendar, mode }: CalendarPickerProps): JSX.Element {
|
|
30
|
-
return (
|
|
31
|
-
<Container role="radiogroup" data-testid="calendar-year-picker">
|
|
32
|
-
{range(2012, 2032).map((year) => (
|
|
33
|
-
<PickerButton
|
|
34
|
-
key={year}
|
|
35
|
-
type="button"
|
|
36
|
-
role="radio"
|
|
37
|
-
aria-checked={year == calendar.months[0].year}
|
|
38
|
-
aria-label={`Select year ${year}`}
|
|
39
|
-
onClick={() => {
|
|
40
|
-
calendar.set({ year })
|
|
41
|
-
mode.dispatch({ type: 'set-mode', payload: 'month-picker' })
|
|
42
|
-
}}
|
|
43
|
-
$status={getStatus(calendar, year)}
|
|
44
|
-
>
|
|
45
|
-
{year}
|
|
46
|
-
</PickerButton>
|
|
47
|
-
))}
|
|
48
|
-
</Container>
|
|
49
|
-
)
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export default CalendarYearPicker
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export { default as Calendar, GenericCalendar } from './Calendar'
|
|
2
|
-
export { default as DateFormatHelper } from './DateFormat.helper'
|
|
3
|
-
export { default as DateHelper, TODAY } from './Date.helper'
|
|
4
|
-
export { default as MonthHelper } from './Month.helper'
|
|
5
|
-
export { default as useCalendar } from './useCalendar'
|
|
6
|
-
|
|
7
|
-
export type { CalendarDate, CalendarDateRange, CalendarConstraint } from './Date.helper'
|
|
8
|
-
export type { DateFormat } from './DateFormat.helper'
|
|
9
|
-
export type { CalendarMonth, CalendarMonthAlias } from './Month.helper'
|
|
10
|
-
export type { CalendarProps, useCalendarProps, GenericCalendarProps } from './Calendar.types'
|