@workday/canvas-kit-react 5.3.0 → 5.3.4
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/action-bar/lib/ActionBar.tsx +30 -43
- package/button/lib/PrimaryButton.tsx +32 -110
- package/button/lib/SecondaryButton.tsx +16 -31
- package/button/lib/TertiaryButton.tsx +36 -45
- package/button/lib/parts/ButtonContainer.tsx +5 -18
- package/button/lib/parts/ButtonLabelIcon.tsx +14 -34
- package/button/lib/types.ts +0 -11
- package/common/index.ts +0 -1
- package/common/lib/styles/accessibleHide.ts +2 -2
- package/common/lib/theming/README.md +25 -189
- package/common/lib/theming/breakpoints.ts +16 -296
- package/common/lib/theming/types.ts +1 -191
- package/common/lib/utils/components.ts +23 -50
- package/common/lib/utils/index.ts +0 -1
- package/common/lib/utils/mergeProps.ts +0 -4
- package/common/lib/utils/useUniqueId.ts +3 -4
- package/cookie-banner/README.md +10 -15
- package/cookie-banner/index.ts +3 -3
- package/cookie-banner/lib/CookieBanner.tsx +4 -29
- package/dist/commonjs/action-bar/lib/ActionBar.d.ts.map +1 -1
- package/dist/commonjs/action-bar/lib/ActionBar.js +27 -35
- package/dist/commonjs/button/lib/PrimaryButton.d.ts +6 -80
- package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/PrimaryButton.js +26 -80
- package/dist/commonjs/button/lib/SecondaryButton.d.ts +5 -8
- package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/SecondaryButton.js +12 -22
- package/dist/commonjs/button/lib/TertiaryButton.d.ts +4 -8
- package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/TertiaryButton.js +20 -24
- package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +3 -5
- package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts.map +1 -1
- package/dist/commonjs/button/lib/parts/ButtonContainer.js +9 -7
- package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
- package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts.map +1 -1
- package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +4 -7
- package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
- package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +13 -28
- package/dist/commonjs/button/lib/types.d.ts +0 -9
- package/dist/commonjs/button/lib/types.d.ts.map +1 -1
- package/dist/commonjs/common/index.d.ts +0 -1
- package/dist/commonjs/common/index.d.ts.map +1 -1
- package/dist/commonjs/common/index.js +0 -1
- package/dist/commonjs/common/lib/styles/accessibleHide.d.ts +2 -2
- package/dist/commonjs/common/lib/styles/accessibleHide.d.ts.map +1 -1
- package/dist/commonjs/common/lib/theming/breakpoints.d.ts +6 -287
- package/dist/commonjs/common/lib/theming/breakpoints.d.ts.map +1 -1
- package/dist/commonjs/common/lib/theming/breakpoints.js +10 -192
- package/dist/commonjs/common/lib/theming/types.d.ts +1 -191
- package/dist/commonjs/common/lib/theming/types.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/components.d.ts +9 -19
- package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/components.js +2 -12
- package/dist/commonjs/common/lib/utils/index.d.ts +0 -1
- package/dist/commonjs/common/lib/utils/index.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/index.js +0 -1
- package/dist/commonjs/common/lib/utils/mergeProps.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/mergeProps.js +0 -5
- package/dist/commonjs/common/lib/utils/useUniqueId.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/useUniqueId.js +10 -3
- package/dist/commonjs/cookie-banner/index.d.ts +3 -3
- package/dist/commonjs/cookie-banner/index.d.ts.map +1 -1
- package/dist/commonjs/cookie-banner/index.js +1 -1
- package/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts +2 -19
- package/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
- package/dist/commonjs/cookie-banner/lib/CookieBanner.js +8 -19
- package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +16 -4
- package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
- package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +2 -5
- package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
- package/dist/commonjs/loading-animation/lib/LoadingDots.js +3 -6
- package/dist/commonjs/modal/lib/ModalOverlay.d.ts +2 -4
- package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
- package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +16 -4
- package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts.map +1 -1
- package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +17 -5
- package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
- package/dist/commonjs/page-header/index.d.ts +3 -3
- package/dist/commonjs/page-header/index.d.ts.map +1 -1
- package/dist/commonjs/page-header/index.js +1 -1
- package/dist/commonjs/page-header/lib/PageHeader.d.ts +2 -19
- package/dist/commonjs/page-header/lib/PageHeader.d.ts.map +1 -1
- package/dist/commonjs/page-header/lib/PageHeader.js +7 -18
- package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
- package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
- package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
- package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
- package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
- package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/PopupCard.js +3 -2
- package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +2 -5
- package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +2 -4
- package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +2 -5
- package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +2 -4
- package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +2 -4
- package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
- package/dist/commonjs/tabs/index.d.ts +0 -5
- package/dist/commonjs/tabs/index.d.ts.map +1 -1
- package/dist/commonjs/tabs/index.js +0 -11
- package/dist/commonjs/tabs/lib/Tab.d.ts +49 -0
- package/dist/commonjs/tabs/lib/Tab.d.ts.map +1 -0
- package/dist/commonjs/tabs/lib/Tab.js +95 -0
- package/dist/{es6/tabs/lib/TabsPanels.d.ts → commonjs/tabs/lib/TabList.d.ts} +5 -5
- package/dist/commonjs/tabs/lib/TabList.d.ts.map +1 -0
- package/dist/commonjs/tabs/lib/{TabsMenuPopper.js → TabList.js} +19 -7
- package/dist/{es6/tabs/lib/TabsPanel.d.ts → commonjs/tabs/lib/TabPanel.d.ts} +5 -15
- package/dist/commonjs/tabs/lib/TabPanel.d.ts.map +1 -0
- package/dist/commonjs/tabs/lib/TabPanel.js +56 -0
- package/dist/commonjs/tabs/lib/Tabs.d.ts +7 -35
- package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/Tabs.js +7 -28
- package/dist/commonjs/tabs/lib/cursor/hooks.d.ts +39 -0
- package/dist/commonjs/tabs/lib/cursor/hooks.d.ts.map +1 -0
- package/dist/commonjs/tabs/lib/cursor/{useRovingFocus.js → hooks.js} +50 -26
- package/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
- package/dist/commonjs/tabs/lib/cursor/index.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/cursor/index.js +1 -1
- package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +13 -23
- package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/cursor/useCursorModel.js +49 -50
- package/dist/commonjs/tabs/lib/hooks.d.ts +10 -0
- package/dist/commonjs/tabs/lib/hooks.d.ts.map +1 -0
- package/dist/commonjs/tabs/lib/{selection/useResetCursorOnBlur.js → hooks.js} +9 -8
- package/dist/commonjs/tabs/lib/list/hooks.d.ts +11 -0
- package/dist/commonjs/tabs/lib/list/hooks.d.ts.map +1 -0
- package/dist/commonjs/tabs/lib/list/hooks.js +39 -0
- package/dist/commonjs/tabs/lib/list/index.d.ts +1 -2
- package/dist/commonjs/tabs/lib/list/index.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/list/index.js +1 -2
- package/dist/commonjs/tabs/lib/list/useListModel.d.ts +13 -25
- package/dist/commonjs/tabs/lib/list/useListModel.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/list/useListModel.js +7 -20
- package/dist/commonjs/tabs/lib/useTabsModel.d.ts +38 -39
- package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/useTabsModel.js +37 -50
- package/dist/commonjs/tokens/index.d.ts +20 -3
- package/dist/commonjs/tokens/index.d.ts.map +1 -1
- package/dist/commonjs/tokens/index.js +6 -3
- package/dist/commonjs/tokens/lib/depth.d.ts +3 -109
- package/dist/commonjs/tokens/lib/depth.d.ts.map +1 -1
- package/dist/commonjs/tokens/lib/depth.js +5 -40
- package/dist/commonjs/tooltip/lib/Tooltip.d.ts +9 -1
- package/dist/commonjs/tooltip/lib/Tooltip.d.ts.map +1 -1
- package/dist/commonjs/tooltip/lib/Tooltip.js +7 -2
- package/dist/commonjs/tooltip/lib/useTooltip.d.ts +10 -2
- package/dist/commonjs/tooltip/lib/useTooltip.d.ts.map +1 -1
- package/dist/commonjs/tooltip/lib/useTooltip.js +13 -8
- package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
- package/dist/es6/action-bar/lib/ActionBar.js +22 -33
- package/dist/es6/button/lib/PrimaryButton.d.ts +6 -80
- package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/PrimaryButton.js +27 -81
- package/dist/es6/button/lib/SecondaryButton.d.ts +5 -8
- package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/SecondaryButton.js +12 -22
- package/dist/es6/button/lib/TertiaryButton.d.ts +4 -8
- package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/TertiaryButton.js +21 -25
- package/dist/es6/button/lib/parts/ButtonContainer.d.ts +3 -5
- package/dist/es6/button/lib/parts/ButtonContainer.d.ts.map +1 -1
- package/dist/es6/button/lib/parts/ButtonContainer.js +9 -7
- package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
- package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
- package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +4 -7
- package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
- package/dist/es6/button/lib/parts/ButtonLabelIcon.js +13 -28
- package/dist/es6/button/lib/types.d.ts +0 -9
- package/dist/es6/button/lib/types.d.ts.map +1 -1
- package/dist/es6/common/index.d.ts +0 -1
- package/dist/es6/common/index.d.ts.map +1 -1
- package/dist/es6/common/index.js +0 -1
- package/dist/es6/common/lib/styles/accessibleHide.d.ts +2 -2
- package/dist/es6/common/lib/styles/accessibleHide.d.ts.map +1 -1
- package/dist/es6/common/lib/theming/breakpoints.d.ts +6 -287
- package/dist/es6/common/lib/theming/breakpoints.d.ts.map +1 -1
- package/dist/es6/common/lib/theming/breakpoints.js +10 -192
- package/dist/es6/common/lib/theming/types.d.ts +1 -191
- package/dist/es6/common/lib/theming/types.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/components.d.ts +9 -19
- package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/components.js +2 -12
- package/dist/es6/common/lib/utils/index.d.ts +0 -1
- package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/index.js +0 -1
- package/dist/es6/common/lib/utils/mergeProps.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/mergeProps.js +0 -5
- package/dist/es6/common/lib/utils/useUniqueId.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/useUniqueId.js +3 -3
- package/dist/es6/cookie-banner/index.d.ts +3 -3
- package/dist/es6/cookie-banner/index.d.ts.map +1 -1
- package/dist/es6/cookie-banner/index.js +3 -3
- package/dist/es6/cookie-banner/lib/CookieBanner.d.ts +2 -19
- package/dist/es6/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
- package/dist/es6/cookie-banner/lib/CookieBanner.js +8 -19
- package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +16 -4
- package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
- package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +2 -5
- package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
- package/dist/es6/loading-animation/lib/LoadingDots.js +1 -1
- package/dist/es6/modal/lib/ModalOverlay.d.ts +2 -4
- package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
- package/dist/es6/modal/lib/hooks/useModalCard.d.ts +16 -4
- package/dist/es6/modal/lib/hooks/useModalCard.d.ts.map +1 -1
- package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +17 -5
- package/dist/es6/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
- package/dist/es6/page-header/index.d.ts +3 -3
- package/dist/es6/page-header/index.d.ts.map +1 -1
- package/dist/es6/page-header/index.js +3 -3
- package/dist/es6/page-header/lib/PageHeader.d.ts +2 -19
- package/dist/es6/page-header/lib/PageHeader.d.ts.map +1 -1
- package/dist/es6/page-header/lib/PageHeader.js +7 -18
- package/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
- package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
- package/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
- package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
- package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
- package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
- package/dist/es6/popup/lib/PopupCard.js +4 -3
- package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +2 -5
- package/dist/es6/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
- package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +2 -4
- package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
- package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +2 -5
- package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
- package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +2 -4
- package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
- package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +2 -4
- package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
- package/dist/es6/tabs/index.d.ts +0 -5
- package/dist/es6/tabs/index.d.ts.map +1 -1
- package/dist/es6/tabs/index.js +0 -5
- package/dist/es6/tabs/lib/Tab.d.ts +49 -0
- package/dist/es6/tabs/lib/Tab.d.ts.map +1 -0
- package/dist/es6/tabs/lib/Tab.js +86 -0
- package/dist/{commonjs/tabs/lib/TabsPanels.d.ts → es6/tabs/lib/TabList.d.ts} +5 -5
- package/dist/es6/tabs/lib/TabList.d.ts.map +1 -0
- package/dist/es6/tabs/lib/{TabsMenuPopper.js → TabList.js} +20 -8
- package/dist/{commonjs/tabs/lib/TabsPanel.d.ts → es6/tabs/lib/TabPanel.d.ts} +5 -15
- package/dist/es6/tabs/lib/TabPanel.d.ts.map +1 -0
- package/dist/es6/tabs/lib/TabPanel.js +51 -0
- package/dist/es6/tabs/lib/Tabs.d.ts +7 -35
- package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
- package/dist/es6/tabs/lib/Tabs.js +7 -28
- package/dist/es6/tabs/lib/cursor/hooks.d.ts +39 -0
- package/dist/es6/tabs/lib/cursor/hooks.d.ts.map +1 -0
- package/dist/es6/tabs/lib/cursor/hooks.js +108 -0
- package/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
- package/dist/es6/tabs/lib/cursor/index.d.ts.map +1 -1
- package/dist/es6/tabs/lib/cursor/index.js +1 -1
- package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +13 -23
- package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
- package/dist/es6/tabs/lib/cursor/useCursorModel.js +50 -51
- package/dist/es6/tabs/lib/hooks.d.ts +10 -0
- package/dist/es6/tabs/lib/hooks.d.ts.map +1 -0
- package/dist/es6/tabs/lib/{selection/useResetCursorOnBlur.js → hooks.js} +9 -8
- package/dist/es6/tabs/lib/list/hooks.d.ts +11 -0
- package/dist/es6/tabs/lib/list/hooks.d.ts.map +1 -0
- package/dist/es6/tabs/lib/list/hooks.js +34 -0
- package/dist/es6/tabs/lib/list/index.d.ts +1 -2
- package/dist/es6/tabs/lib/list/index.d.ts.map +1 -1
- package/dist/es6/tabs/lib/list/index.js +1 -2
- package/dist/es6/tabs/lib/list/useListModel.d.ts +13 -25
- package/dist/es6/tabs/lib/list/useListModel.d.ts.map +1 -1
- package/dist/es6/tabs/lib/list/useListModel.js +8 -21
- package/dist/es6/tabs/lib/useTabsModel.d.ts +38 -39
- package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
- package/dist/es6/tabs/lib/useTabsModel.js +37 -50
- package/dist/es6/tokens/index.d.ts +20 -3
- package/dist/es6/tokens/index.d.ts.map +1 -1
- package/dist/es6/tokens/index.js +1 -1
- package/dist/es6/tokens/lib/depth.d.ts +3 -109
- package/dist/es6/tokens/lib/depth.d.ts.map +1 -1
- package/dist/es6/tokens/lib/depth.js +2 -40
- package/dist/es6/tooltip/lib/Tooltip.d.ts +9 -1
- package/dist/es6/tooltip/lib/Tooltip.d.ts.map +1 -1
- package/dist/es6/tooltip/lib/Tooltip.js +7 -2
- package/dist/es6/tooltip/lib/useTooltip.d.ts +10 -2
- package/dist/es6/tooltip/lib/useTooltip.d.ts.map +1 -1
- package/dist/es6/tooltip/lib/useTooltip.js +13 -8
- package/loading-animation/lib/LoadingDots.tsx +1 -1
- package/package.json +6 -7
- package/page-header/README.md +6 -11
- package/page-header/index.ts +3 -3
- package/page-header/lib/PageHeader.tsx +3 -28
- package/popup/lib/PopupCard.tsx +2 -3
- package/tabs/index.ts +0 -6
- package/tabs/lib/Tab.tsx +170 -0
- package/tabs/lib/TabList.tsx +59 -0
- package/tabs/lib/{TabsPanel.tsx → TabPanel.tsx} +31 -33
- package/tabs/lib/Tabs.tsx +9 -34
- package/tabs/lib/cursor/hooks.tsx +122 -0
- package/tabs/lib/cursor/index.ts +1 -1
- package/tabs/lib/cursor/useCursorModel.tsx +65 -78
- package/tabs/lib/hooks.tsx +31 -0
- package/tabs/lib/list/hooks.tsx +45 -0
- package/tabs/lib/list/index.ts +1 -2
- package/tabs/lib/list/useListModel.tsx +23 -48
- package/tabs/lib/useTabsModel.tsx +78 -93
- package/tokens/README.md +12 -5
- package/tokens/index.ts +2 -2
- package/tokens/lib/depth.ts +3 -125
- package/tooltip/lib/Tooltip.tsx +16 -1
- package/tooltip/lib/useTooltip.tsx +21 -6
- package/ts3.5/dist/commonjs/button/lib/PrimaryButton.d.ts +6 -80
- package/ts3.5/dist/commonjs/button/lib/SecondaryButton.d.ts +5 -8
- package/ts3.5/dist/commonjs/button/lib/TertiaryButton.d.ts +4 -8
- package/ts3.5/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +3 -5
- package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
- package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +4 -7
- package/ts3.5/dist/commonjs/button/lib/types.d.ts +0 -9
- package/ts3.5/dist/commonjs/common/index.d.ts +0 -1
- package/ts3.5/dist/commonjs/common/lib/styles/accessibleHide.d.ts +2 -2
- package/ts3.5/dist/commonjs/common/lib/theming/breakpoints.d.ts +6 -287
- package/ts3.5/dist/commonjs/common/lib/theming/types.d.ts +1 -191
- package/ts3.5/dist/commonjs/common/lib/utils/components.d.ts +9 -19
- package/ts3.5/dist/commonjs/common/lib/utils/index.d.ts +0 -1
- package/ts3.5/dist/commonjs/cookie-banner/index.d.ts +3 -3
- package/ts3.5/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts +2 -19
- package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +16 -4
- package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +2 -5
- package/ts3.5/dist/commonjs/modal/lib/ModalOverlay.d.ts +2 -4
- package/ts3.5/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +16 -4
- package/ts3.5/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +17 -5
- package/ts3.5/dist/commonjs/page-header/index.d.ts +3 -3
- package/ts3.5/dist/commonjs/page-header/lib/PageHeader.d.ts +2 -19
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
- package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
- package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +2 -5
- package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +2 -4
- package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +2 -5
- package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +2 -4
- package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +2 -4
- package/ts3.5/dist/commonjs/tabs/index.d.ts +0 -5
- package/ts3.5/dist/commonjs/tabs/lib/Tab.d.ts +49 -0
- package/ts3.5/dist/commonjs/tabs/lib/{TabsPanels.d.ts → TabList.d.ts} +5 -5
- package/ts3.5/dist/commonjs/tabs/lib/{TabsPanel.d.ts → TabPanel.d.ts} +5 -15
- package/ts3.5/dist/commonjs/tabs/lib/Tabs.d.ts +7 -35
- package/ts3.5/dist/commonjs/tabs/lib/cursor/hooks.d.ts +39 -0
- package/ts3.5/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
- package/ts3.5/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +13 -23
- package/ts3.5/dist/commonjs/tabs/lib/hooks.d.ts +10 -0
- package/ts3.5/dist/commonjs/tabs/lib/list/hooks.d.ts +11 -0
- package/ts3.5/dist/commonjs/tabs/lib/list/index.d.ts +1 -2
- package/ts3.5/dist/commonjs/tabs/lib/list/useListModel.d.ts +13 -25
- package/ts3.5/dist/commonjs/tabs/lib/useTabsModel.d.ts +38 -39
- package/ts3.5/dist/commonjs/tokens/index.d.ts +20 -3
- package/ts3.5/dist/commonjs/tokens/lib/depth.d.ts +3 -109
- package/ts3.5/dist/commonjs/tooltip/lib/Tooltip.d.ts +9 -1
- package/ts3.5/dist/commonjs/tooltip/lib/useTooltip.d.ts +10 -2
- package/ts3.5/dist/es6/button/lib/PrimaryButton.d.ts +6 -80
- package/ts3.5/dist/es6/button/lib/SecondaryButton.d.ts +5 -8
- package/ts3.5/dist/es6/button/lib/TertiaryButton.d.ts +4 -8
- package/ts3.5/dist/es6/button/lib/parts/ButtonContainer.d.ts +3 -5
- package/ts3.5/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
- package/ts3.5/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +4 -7
- package/ts3.5/dist/es6/button/lib/types.d.ts +0 -9
- package/ts3.5/dist/es6/common/index.d.ts +0 -1
- package/ts3.5/dist/es6/common/lib/styles/accessibleHide.d.ts +2 -2
- package/ts3.5/dist/es6/common/lib/theming/breakpoints.d.ts +6 -287
- package/ts3.5/dist/es6/common/lib/theming/types.d.ts +1 -191
- package/ts3.5/dist/es6/common/lib/utils/components.d.ts +9 -19
- package/ts3.5/dist/es6/common/lib/utils/index.d.ts +0 -1
- package/ts3.5/dist/es6/cookie-banner/index.d.ts +3 -3
- package/ts3.5/dist/es6/cookie-banner/lib/CookieBanner.d.ts +2 -19
- package/ts3.5/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +16 -4
- package/ts3.5/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +2 -5
- package/ts3.5/dist/es6/modal/lib/ModalOverlay.d.ts +2 -4
- package/ts3.5/dist/es6/modal/lib/hooks/useModalCard.d.ts +16 -4
- package/ts3.5/dist/es6/modal/lib/hooks/useModalHeading.d.ts +17 -5
- package/ts3.5/dist/es6/page-header/index.d.ts +3 -3
- package/ts3.5/dist/es6/page-header/lib/PageHeader.d.ts +2 -19
- package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
- package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
- package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +28 -28
- package/ts3.5/dist/es6/popup/lib/hooks/usePopupCard.d.ts +2 -5
- package/ts3.5/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +2 -4
- package/ts3.5/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +2 -5
- package/ts3.5/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +2 -4
- package/ts3.5/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +2 -4
- package/ts3.5/dist/es6/tabs/index.d.ts +0 -5
- package/ts3.5/dist/es6/tabs/lib/Tab.d.ts +49 -0
- package/ts3.5/dist/es6/tabs/lib/{TabsPanels.d.ts → TabList.d.ts} +5 -5
- package/ts3.5/dist/es6/tabs/lib/{TabsPanel.d.ts → TabPanel.d.ts} +5 -15
- package/ts3.5/dist/es6/tabs/lib/Tabs.d.ts +7 -35
- package/ts3.5/dist/es6/tabs/lib/cursor/hooks.d.ts +39 -0
- package/ts3.5/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
- package/ts3.5/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +13 -23
- package/ts3.5/dist/es6/tabs/lib/hooks.d.ts +10 -0
- package/ts3.5/dist/es6/tabs/lib/list/hooks.d.ts +11 -0
- package/ts3.5/dist/es6/tabs/lib/list/index.d.ts +1 -2
- package/ts3.5/dist/es6/tabs/lib/list/useListModel.d.ts +13 -25
- package/ts3.5/dist/es6/tabs/lib/useTabsModel.d.ts +38 -39
- package/ts3.5/dist/es6/tokens/index.d.ts +20 -3
- package/ts3.5/dist/es6/tokens/lib/depth.d.ts +3 -109
- package/ts3.5/dist/es6/tooltip/lib/Tooltip.d.ts +9 -1
- package/ts3.5/dist/es6/tooltip/lib/useTooltip.d.ts +10 -2
- package/common/lib/EllipsisText.tsx +0 -11
- package/common/lib/utils/useConstant.ts +0 -18
- package/common/lib/utils/useResizeObserver.ts +0 -29
- package/dist/commonjs/common/lib/EllipsisText.d.ts +0 -5
- package/dist/commonjs/common/lib/EllipsisText.d.ts.map +0 -1
- package/dist/commonjs/common/lib/EllipsisText.js +0 -13
- package/dist/commonjs/common/lib/utils/useConstant.d.ts +0 -9
- package/dist/commonjs/common/lib/utils/useConstant.d.ts.map +0 -1
- package/dist/commonjs/common/lib/utils/useConstant.js +0 -18
- package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +0 -3
- package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts.map +0 -1
- package/dist/commonjs/common/lib/utils/useResizeObserver.js +0 -42
- package/dist/commonjs/tabs/lib/TabsItem.d.ts +0 -107
- package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/TabsItem.js +0 -140
- package/dist/commonjs/tabs/lib/TabsList.d.ts +0 -43
- package/dist/commonjs/tabs/lib/TabsList.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/TabsList.js +0 -53
- package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +0 -21
- package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +0 -31
- package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/TabsOverflowButton.js +0 -57
- package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/TabsPanel.js +0 -64
- package/dist/commonjs/tabs/lib/TabsPanels.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/TabsPanels.js +0 -21
- package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +0 -37
- package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/list/renderItem.d.ts +0 -4
- package/dist/commonjs/tabs/lib/list/renderItem.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/list/renderItem.js +0 -18
- package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +0 -14
- package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/list/useListRegisterItem.js +0 -46
- package/dist/commonjs/tabs/lib/menu/Menu.d.ts +0 -80
- package/dist/commonjs/tabs/lib/menu/Menu.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/menu/Menu.js +0 -94
- package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +0 -17
- package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/menu/MenuCard.js +0 -82
- package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +0 -62
- package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/menu/MenuItem.js +0 -145
- package/dist/commonjs/tabs/lib/menu/MenuList.d.ts +0 -23
- package/dist/commonjs/tabs/lib/menu/MenuList.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/menu/MenuList.js +0 -52
- package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +0 -21
- package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/menu/MenuPopper.js +0 -45
- package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +0 -21
- package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/menu/MenuTarget.js +0 -60
- package/dist/commonjs/tabs/lib/menu/index.d.ts +0 -8
- package/dist/commonjs/tabs/lib/menu/index.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/menu/index.js +0 -18
- package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +0 -35
- package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/menu/useMenuModel.js +0 -33
- package/dist/commonjs/tabs/lib/overflow/index.d.ts +0 -5
- package/dist/commonjs/tabs/lib/overflow/index.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/overflow/index.js +0 -9
- package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +0 -8
- package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.js +0 -22
- package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +0 -10
- package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.js +0 -32
- package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +0 -69
- package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/overflow/useOverflowModel.js +0 -117
- package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +0 -11
- package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.js +0 -35
- package/dist/commonjs/tabs/lib/selection/index.d.ts +0 -4
- package/dist/commonjs/tabs/lib/selection/index.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/selection/index.js +0 -8
- package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +0 -13
- package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +0 -8
- package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/selection/useSelectionItem.js +0 -16
- package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +0 -62
- package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts.map +0 -1
- package/dist/commonjs/tabs/lib/selection/useSelectionModel.js +0 -80
- package/dist/es6/common/lib/EllipsisText.d.ts +0 -5
- package/dist/es6/common/lib/EllipsisText.d.ts.map +0 -1
- package/dist/es6/common/lib/EllipsisText.js +0 -8
- package/dist/es6/common/lib/utils/useConstant.d.ts +0 -9
- package/dist/es6/common/lib/utils/useConstant.d.ts.map +0 -1
- package/dist/es6/common/lib/utils/useConstant.js +0 -15
- package/dist/es6/common/lib/utils/useResizeObserver.d.ts +0 -3
- package/dist/es6/common/lib/utils/useResizeObserver.d.ts.map +0 -1
- package/dist/es6/common/lib/utils/useResizeObserver.js +0 -37
- package/dist/es6/tabs/lib/TabsItem.d.ts +0 -107
- package/dist/es6/tabs/lib/TabsItem.d.ts.map +0 -1
- package/dist/es6/tabs/lib/TabsItem.js +0 -131
- package/dist/es6/tabs/lib/TabsList.d.ts +0 -43
- package/dist/es6/tabs/lib/TabsList.d.ts.map +0 -1
- package/dist/es6/tabs/lib/TabsList.js +0 -44
- package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +0 -21
- package/dist/es6/tabs/lib/TabsMenuPopper.d.ts.map +0 -1
- package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +0 -31
- package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +0 -1
- package/dist/es6/tabs/lib/TabsOverflowButton.js +0 -48
- package/dist/es6/tabs/lib/TabsPanel.d.ts.map +0 -1
- package/dist/es6/tabs/lib/TabsPanel.js +0 -59
- package/dist/es6/tabs/lib/TabsPanels.d.ts.map +0 -1
- package/dist/es6/tabs/lib/TabsPanels.js +0 -12
- package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +0 -37
- package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts.map +0 -1
- package/dist/es6/tabs/lib/cursor/useRovingFocus.js +0 -84
- package/dist/es6/tabs/lib/list/renderItem.d.ts +0 -4
- package/dist/es6/tabs/lib/list/renderItem.d.ts.map +0 -1
- package/dist/es6/tabs/lib/list/renderItem.js +0 -12
- package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +0 -14
- package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts.map +0 -1
- package/dist/es6/tabs/lib/list/useListRegisterItem.js +0 -41
- package/dist/es6/tabs/lib/menu/Menu.d.ts +0 -80
- package/dist/es6/tabs/lib/menu/Menu.d.ts.map +0 -1
- package/dist/es6/tabs/lib/menu/Menu.js +0 -89
- package/dist/es6/tabs/lib/menu/MenuCard.d.ts +0 -17
- package/dist/es6/tabs/lib/menu/MenuCard.d.ts.map +0 -1
- package/dist/es6/tabs/lib/menu/MenuCard.js +0 -73
- package/dist/es6/tabs/lib/menu/MenuItem.d.ts +0 -62
- package/dist/es6/tabs/lib/menu/MenuItem.d.ts.map +0 -1
- package/dist/es6/tabs/lib/menu/MenuItem.js +0 -136
- package/dist/es6/tabs/lib/menu/MenuList.d.ts +0 -23
- package/dist/es6/tabs/lib/menu/MenuList.d.ts.map +0 -1
- package/dist/es6/tabs/lib/menu/MenuList.js +0 -43
- package/dist/es6/tabs/lib/menu/MenuPopper.d.ts +0 -21
- package/dist/es6/tabs/lib/menu/MenuPopper.d.ts.map +0 -1
- package/dist/es6/tabs/lib/menu/MenuPopper.js +0 -36
- package/dist/es6/tabs/lib/menu/MenuTarget.d.ts +0 -21
- package/dist/es6/tabs/lib/menu/MenuTarget.d.ts.map +0 -1
- package/dist/es6/tabs/lib/menu/MenuTarget.js +0 -51
- package/dist/es6/tabs/lib/menu/index.d.ts +0 -8
- package/dist/es6/tabs/lib/menu/index.d.ts.map +0 -1
- package/dist/es6/tabs/lib/menu/index.js +0 -7
- package/dist/es6/tabs/lib/menu/useMenuModel.d.ts +0 -35
- package/dist/es6/tabs/lib/menu/useMenuModel.d.ts.map +0 -1
- package/dist/es6/tabs/lib/menu/useMenuModel.js +0 -31
- package/dist/es6/tabs/lib/overflow/index.d.ts +0 -5
- package/dist/es6/tabs/lib/overflow/index.d.ts.map +0 -1
- package/dist/es6/tabs/lib/overflow/index.js +0 -4
- package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +0 -8
- package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +0 -1
- package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.js +0 -13
- package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +0 -10
- package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +0 -1
- package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.js +0 -30
- package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +0 -69
- package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts.map +0 -1
- package/dist/es6/tabs/lib/overflow/useOverflowModel.js +0 -111
- package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +0 -11
- package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts.map +0 -1
- package/dist/es6/tabs/lib/overflow/useOverflowTarget.js +0 -30
- package/dist/es6/tabs/lib/selection/index.d.ts +0 -4
- package/dist/es6/tabs/lib/selection/index.d.ts.map +0 -1
- package/dist/es6/tabs/lib/selection/index.js +0 -3
- package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +0 -13
- package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +0 -1
- package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +0 -8
- package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts.map +0 -1
- package/dist/es6/tabs/lib/selection/useSelectionItem.js +0 -14
- package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +0 -62
- package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts.map +0 -1
- package/dist/es6/tabs/lib/selection/useSelectionModel.js +0 -75
- package/tabs/lib/TabsItem.tsx +0 -250
- package/tabs/lib/TabsList.tsx +0 -67
- package/tabs/lib/TabsMenuPopper.tsx +0 -27
- package/tabs/lib/TabsOverflowButton.tsx +0 -58
- package/tabs/lib/TabsPanels.tsx +0 -28
- package/tabs/lib/cursor/useRovingFocus.tsx +0 -94
- package/tabs/lib/list/renderItem.tsx +0 -19
- package/tabs/lib/list/useListRegisterItem.tsx +0 -53
- package/tabs/lib/menu/Menu.tsx +0 -95
- package/tabs/lib/menu/MenuCard.tsx +0 -96
- package/tabs/lib/menu/MenuItem.tsx +0 -195
- package/tabs/lib/menu/MenuList.tsx +0 -59
- package/tabs/lib/menu/MenuPopper.tsx +0 -31
- package/tabs/lib/menu/MenuTarget.tsx +0 -52
- package/tabs/lib/menu/index.ts +0 -8
- package/tabs/lib/menu/useMenuModel.tsx +0 -67
- package/tabs/lib/overflow/index.ts +0 -4
- package/tabs/lib/overflow/spec/tsconfig.json +0 -3
- package/tabs/lib/overflow/spec/useOverflowModel.spec.tsx +0 -46
- package/tabs/lib/overflow/useOverflowMeasureContainer.ts +0 -20
- package/tabs/lib/overflow/useOverflowMeasureItem.tsx +0 -40
- package/tabs/lib/overflow/useOverflowModel.tsx +0 -185
- package/tabs/lib/overflow/useOverflowTarget.tsx +0 -42
- package/tabs/lib/selection/index.ts +0 -3
- package/tabs/lib/selection/useResetCursorOnBlur.tsx +0 -29
- package/tabs/lib/selection/useSelectionItem.tsx +0 -26
- package/tabs/lib/selection/useSelectionModel.tsx +0 -133
- package/ts3.5/dist/commonjs/common/lib/EllipsisText.d.ts +0 -5
- package/ts3.5/dist/commonjs/common/lib/utils/useConstant.d.ts +0 -9
- package/ts3.5/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +0 -3
- package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +0 -107
- package/ts3.5/dist/commonjs/tabs/lib/TabsList.d.ts +0 -43
- package/ts3.5/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +0 -21
- package/ts3.5/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +0 -31
- package/ts3.5/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +0 -37
- package/ts3.5/dist/commonjs/tabs/lib/list/renderItem.d.ts +0 -4
- package/ts3.5/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +0 -14
- package/ts3.5/dist/commonjs/tabs/lib/menu/Menu.d.ts +0 -80
- package/ts3.5/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +0 -17
- package/ts3.5/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +0 -62
- package/ts3.5/dist/commonjs/tabs/lib/menu/MenuList.d.ts +0 -23
- package/ts3.5/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +0 -21
- package/ts3.5/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +0 -21
- package/ts3.5/dist/commonjs/tabs/lib/menu/index.d.ts +0 -8
- package/ts3.5/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +0 -35
- package/ts3.5/dist/commonjs/tabs/lib/overflow/index.d.ts +0 -5
- package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +0 -8
- package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +0 -10
- package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +0 -69
- package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +0 -11
- package/ts3.5/dist/commonjs/tabs/lib/selection/index.d.ts +0 -4
- package/ts3.5/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +0 -13
- package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +0 -8
- package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +0 -62
- package/ts3.5/dist/es6/common/lib/EllipsisText.d.ts +0 -5
- package/ts3.5/dist/es6/common/lib/utils/useConstant.d.ts +0 -9
- package/ts3.5/dist/es6/common/lib/utils/useResizeObserver.d.ts +0 -3
- package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +0 -107
- package/ts3.5/dist/es6/tabs/lib/TabsList.d.ts +0 -43
- package/ts3.5/dist/es6/tabs/lib/TabsMenuPopper.d.ts +0 -21
- package/ts3.5/dist/es6/tabs/lib/TabsOverflowButton.d.ts +0 -31
- package/ts3.5/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +0 -37
- package/ts3.5/dist/es6/tabs/lib/list/renderItem.d.ts +0 -4
- package/ts3.5/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +0 -14
- package/ts3.5/dist/es6/tabs/lib/menu/Menu.d.ts +0 -80
- package/ts3.5/dist/es6/tabs/lib/menu/MenuCard.d.ts +0 -17
- package/ts3.5/dist/es6/tabs/lib/menu/MenuItem.d.ts +0 -62
- package/ts3.5/dist/es6/tabs/lib/menu/MenuList.d.ts +0 -23
- package/ts3.5/dist/es6/tabs/lib/menu/MenuPopper.d.ts +0 -21
- package/ts3.5/dist/es6/tabs/lib/menu/MenuTarget.d.ts +0 -21
- package/ts3.5/dist/es6/tabs/lib/menu/index.d.ts +0 -8
- package/ts3.5/dist/es6/tabs/lib/menu/useMenuModel.d.ts +0 -35
- package/ts3.5/dist/es6/tabs/lib/overflow/index.d.ts +0 -5
- package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +0 -8
- package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +0 -10
- package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +0 -69
- package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +0 -11
- package/ts3.5/dist/es6/tabs/lib/selection/index.d.ts +0 -4
- package/ts3.5/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +0 -13
- package/ts3.5/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +0 -8
- package/ts3.5/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +0 -62
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {mergeProps, useIsRTL, useMount} from '@workday/canvas-kit-react/common';
|
|
3
|
+
|
|
4
|
+
import {CursorModel, getItem, getNext} from './useCursorModel';
|
|
5
|
+
|
|
6
|
+
export const orientationKeyMap = {
|
|
7
|
+
horizontal: {
|
|
8
|
+
ArrowLeft: 'previous',
|
|
9
|
+
Left: 'previous',
|
|
10
|
+
ArrowRight: 'next',
|
|
11
|
+
Right: 'next',
|
|
12
|
+
Home: 'first',
|
|
13
|
+
End: 'last',
|
|
14
|
+
},
|
|
15
|
+
vertical: {
|
|
16
|
+
ArrowUp: 'previous',
|
|
17
|
+
Up: 'previous',
|
|
18
|
+
ArrowDown: 'next',
|
|
19
|
+
Down: 'next',
|
|
20
|
+
Home: 'first',
|
|
21
|
+
End: 'last',
|
|
22
|
+
},
|
|
23
|
+
} as const;
|
|
24
|
+
|
|
25
|
+
const rightToLeftMap = {
|
|
26
|
+
ArrowLeft: 'ArrowRight',
|
|
27
|
+
Left: 'Right',
|
|
28
|
+
ArrowRight: 'ArrowLeft',
|
|
29
|
+
Right: 'Left',
|
|
30
|
+
Home: 'End',
|
|
31
|
+
End: 'Home',
|
|
32
|
+
} as const;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Handles the roving focus behavior of a Cursor model. It should be added to the element
|
|
36
|
+
* representing the list. It does not handle the tabIndex.
|
|
37
|
+
*
|
|
38
|
+
* @see https://www.w3.org/TR/wai-aria-practices/#kbd_roving_tabindex
|
|
39
|
+
*/
|
|
40
|
+
export const useRovingFocusList = (model: CursorModel, elemProps = {}) => {
|
|
41
|
+
const {state, events} = model;
|
|
42
|
+
const stateRef = React.useRef(state);
|
|
43
|
+
stateRef.current = state;
|
|
44
|
+
// keep track of intentional focus changes. Without this state tracking, all changes to
|
|
45
|
+
// `state.cursorId` or `state.items` would result in focus changes. That is definitely not what
|
|
46
|
+
// we want.
|
|
47
|
+
const keyDownRef = React.useRef(false);
|
|
48
|
+
const isRTL = useIsRTL();
|
|
49
|
+
|
|
50
|
+
React.useEffect(() => {
|
|
51
|
+
if (keyDownRef.current) {
|
|
52
|
+
const item = getItem(state.cursorId, state.items);
|
|
53
|
+
item.ref.current?.focus();
|
|
54
|
+
|
|
55
|
+
keyDownRef.current = false;
|
|
56
|
+
}
|
|
57
|
+
}, [state.cursorId, state.items]);
|
|
58
|
+
|
|
59
|
+
return mergeProps(
|
|
60
|
+
{
|
|
61
|
+
onKeyDown(event: React.KeyboardEvent) {
|
|
62
|
+
(Object.keys(
|
|
63
|
+
orientationKeyMap[state.orientation]
|
|
64
|
+
) as (keyof typeof orientationKeyMap[typeof state.orientation])[]).forEach(key => {
|
|
65
|
+
if (isRTL ? event.key === rightToLeftMap[key] : event.key === key) {
|
|
66
|
+
const event = orientationKeyMap[state.orientation][key];
|
|
67
|
+
keyDownRef.current = true;
|
|
68
|
+
events[event]?.();
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
elemProps
|
|
74
|
+
);
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Handles the roving focus behavior of a Cursor model. It should be added to the element
|
|
79
|
+
* representing a list item. It does not handle the tabIndex.
|
|
80
|
+
*
|
|
81
|
+
* @see https://www.w3.org/TR/wai-aria-practices/#kbd_roving_tabindex
|
|
82
|
+
*/
|
|
83
|
+
export const useRovingFocusItem = ({state}: CursorModel, elemProps = {}) => {
|
|
84
|
+
// Tracks when this element has focus. If this item is removed while still focused, we have to
|
|
85
|
+
// inform the model to move the cursor to the next item.
|
|
86
|
+
const focusRef = React.useRef(false);
|
|
87
|
+
|
|
88
|
+
// Create a ref out of state. We don't want to watch state on unmount, so we use a ref to get the
|
|
89
|
+
// current value at the time of unmounting. Otherwise, `state.items` would be a cached value of an
|
|
90
|
+
// empty array
|
|
91
|
+
const stateRef = React.useRef(state);
|
|
92
|
+
stateRef.current = state;
|
|
93
|
+
|
|
94
|
+
useMount(() => {
|
|
95
|
+
return () => {
|
|
96
|
+
if (focusRef.current && stateRef.current.items.length) {
|
|
97
|
+
// Unmount is called before state updates are flushed and we'll never get the last state
|
|
98
|
+
// update, so use `getNext` instead of `getItem`
|
|
99
|
+
const item = getNext(stateRef.current.cursorId, stateRef.current.items);
|
|
100
|
+
|
|
101
|
+
// If we call `focus` right away, there seems to be a timing issue where the focus handler
|
|
102
|
+
// never gets called. Waiting until just before a frame is rendered seems to ensure the
|
|
103
|
+
// focus handler is called correctly. Removing will make deleting multiple items fail.
|
|
104
|
+
requestAnimationFrame(() => {
|
|
105
|
+
item.ref.current?.focus();
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
return mergeProps(
|
|
112
|
+
{
|
|
113
|
+
onFocus(event: React.FocusEvent) {
|
|
114
|
+
focusRef.current = true;
|
|
115
|
+
},
|
|
116
|
+
onBlur(event: React.FocusEvent) {
|
|
117
|
+
focusRef.current = false;
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
elemProps
|
|
121
|
+
);
|
|
122
|
+
};
|
package/tabs/lib/cursor/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './hooks';
|
|
2
2
|
export * from './useCursorModel';
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createEventMap,
|
|
4
|
+
Model,
|
|
5
|
+
ToModelConfig,
|
|
6
|
+
useEventMap,
|
|
7
|
+
assert,
|
|
8
|
+
} from '@workday/canvas-kit-react/common';
|
|
3
9
|
|
|
4
10
|
import {
|
|
5
11
|
ListState,
|
|
@@ -7,13 +13,13 @@ import {
|
|
|
7
13
|
BaseListModelConfig,
|
|
8
14
|
listEventMap,
|
|
9
15
|
useListModel,
|
|
16
|
+
Item,
|
|
10
17
|
ListModelConfig,
|
|
11
|
-
ListModel,
|
|
12
18
|
} from '../list/useListModel';
|
|
13
19
|
|
|
14
20
|
export type Orientation = 'horizontal' | 'vertical';
|
|
15
21
|
|
|
16
|
-
export type CursorState
|
|
22
|
+
export type CursorState = ListState & {
|
|
17
23
|
/** Orientation of the list. This property determines what "next" and "previous" mean. This should
|
|
18
24
|
* be set to match the layout of UI components */
|
|
19
25
|
orientation: Orientation;
|
|
@@ -21,7 +27,7 @@ export type CursorState<T = unknown> = ListState<T> & {
|
|
|
21
27
|
cursorId: string;
|
|
22
28
|
};
|
|
23
29
|
|
|
24
|
-
export type CursorEvents
|
|
30
|
+
export type CursorEvents = ListEvents & {
|
|
25
31
|
/** Directly sets the cursor to the list item by its identifier. */
|
|
26
32
|
goTo(data: {id: string}): void;
|
|
27
33
|
/** Set the cursor to the "next" item in the list. If the end of the list is detected, it will
|
|
@@ -36,10 +42,7 @@ export type CursorEvents<T = unknown> = ListEvents<T> & {
|
|
|
36
42
|
last(): void;
|
|
37
43
|
};
|
|
38
44
|
|
|
39
|
-
export
|
|
40
|
-
state: CursorState<T>;
|
|
41
|
-
events: CursorEvents<T>;
|
|
42
|
-
}
|
|
45
|
+
export type CursorModel = Model<CursorState, CursorEvents>;
|
|
43
46
|
|
|
44
47
|
export const cursorEventMap = createEventMap<CursorEvents>()({
|
|
45
48
|
guards: {
|
|
@@ -58,114 +61,98 @@ export const cursorEventMap = createEventMap<CursorEvents>()({
|
|
|
58
61
|
},
|
|
59
62
|
});
|
|
60
63
|
|
|
61
|
-
export type BaseCursorModelConfig
|
|
64
|
+
export type BaseCursorModelConfig = BaseListModelConfig & {
|
|
62
65
|
/**
|
|
63
66
|
* The orientation of a list of items. Values are either `vertical` or `horizontal`. This value will
|
|
64
|
-
* effect which
|
|
67
|
+
* effect which keys activate progression through a list. For example, `horizontal` will activate with
|
|
65
68
|
* left and right arrows while `vertical` will activate with up and down arrows.
|
|
66
69
|
* @default 'vertical'
|
|
67
70
|
*/
|
|
68
71
|
orientation?: Orientation;
|
|
69
|
-
/**
|
|
70
|
-
* Initial cursor position. If not provided, the cursor will point to the first item in the list
|
|
71
|
-
*/
|
|
72
|
-
initialCursorId?: string;
|
|
73
72
|
};
|
|
74
73
|
|
|
75
|
-
export type CursorModelConfig
|
|
76
|
-
Partial<ToModelConfig<CursorState
|
|
77
|
-
|
|
78
|
-
export const useCursorNavigation = <T extends unknown>(
|
|
79
|
-
state: CursorState<T>,
|
|
80
|
-
getId: ListModel<T>['getId']
|
|
81
|
-
) => {
|
|
82
|
-
// refs for performance so that new functions aren't created every render
|
|
83
|
-
const getIdRef = React.useRef(getId);
|
|
84
|
-
const itemsRef = React.useRef(state.items);
|
|
85
|
-
const nonInteractiveIdsRef = React.useRef(state.nonInteractiveIds);
|
|
86
|
-
|
|
87
|
-
itemsRef.current = state.items;
|
|
88
|
-
nonInteractiveIdsRef.current = state.nonInteractiveIds;
|
|
89
|
-
|
|
90
|
-
// return a memoized function to prevent recreation of functions every render
|
|
91
|
-
return React.useMemo(() => {
|
|
92
|
-
const getFirst = () => itemsRef.current[0];
|
|
93
|
-
const getLast = () => itemsRef.current[itemsRef.current.length - 1];
|
|
94
|
-
|
|
95
|
-
const getItem = (id: string): T => {
|
|
96
|
-
const item = id ? itemsRef.current.find(item => getIdRef.current(item) === id) : getFirst(); // no id, return first item
|
|
97
|
-
assert(item, `Item not found: ${id}`);
|
|
98
|
-
return item;
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
const getOffsetItem = (offset: number) => (id: string, tries = itemsRef.current.length): T => {
|
|
102
|
-
const items = itemsRef.current;
|
|
103
|
-
const item = getItem(id);
|
|
104
|
-
|
|
105
|
-
const getId = getIdRef.current;
|
|
106
|
-
const currentIndex = items.findIndex(i => getId(item) === getId(i));
|
|
107
|
-
let nextIndex = currentIndex + offset;
|
|
108
|
-
if (nextIndex < 0) {
|
|
109
|
-
nextIndex = items.length - 1;
|
|
110
|
-
} else if (nextIndex >= items.length) {
|
|
111
|
-
nextIndex = 0;
|
|
112
|
-
}
|
|
74
|
+
export type CursorModelConfig = BaseCursorModelConfig &
|
|
75
|
+
Partial<ToModelConfig<CursorState, CursorEvents, typeof cursorEventMap>>;
|
|
113
76
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
return getOffsetItem(offset)(getId(items[nextIndex]), tries - 1);
|
|
118
|
-
}
|
|
77
|
+
const getFirst = (items: Item[]): Item => {
|
|
78
|
+
return items[0];
|
|
79
|
+
};
|
|
119
80
|
|
|
120
|
-
|
|
121
|
-
|
|
81
|
+
const getLast = (items: Item[]): Item => {
|
|
82
|
+
return items[items.length - 1];
|
|
83
|
+
};
|
|
122
84
|
|
|
123
|
-
|
|
124
|
-
|
|
85
|
+
export const getItem = (id: string, items: Item[]): Item => {
|
|
86
|
+
const item = id ? items.find(item => item.id === id) : getFirst(items); // no id, return first item
|
|
87
|
+
assert(item, `Item not found: ${id}`);
|
|
88
|
+
return item;
|
|
89
|
+
};
|
|
125
90
|
|
|
126
|
-
|
|
127
|
-
|
|
91
|
+
const getOffsetItem = (offset: number) => (id: string, items: Item[]): Item => {
|
|
92
|
+
const item = getItem(id, items);
|
|
93
|
+
const currentIndex = items.findIndex(({id}) => item.id === id);
|
|
94
|
+
let nextIndex = currentIndex + offset;
|
|
95
|
+
if (nextIndex < 0) {
|
|
96
|
+
nextIndex = items.length - 1;
|
|
97
|
+
} else if (nextIndex >= items.length) {
|
|
98
|
+
nextIndex = 0;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const disabledAttribute = items[nextIndex].ref.current?.getAttribute('disabled');
|
|
102
|
+
if (disabledAttribute !== null || disabledAttribute === 'false') {
|
|
103
|
+
// The next item is disabled, try again
|
|
104
|
+
return getOffsetItem(offset)(items[nextIndex].id, items);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return items[nextIndex];
|
|
128
108
|
};
|
|
129
109
|
|
|
130
|
-
export const
|
|
131
|
-
|
|
132
|
-
|
|
110
|
+
export const hasItems = (items: Item[]) => items.some(item => item.ref.current);
|
|
111
|
+
|
|
112
|
+
export const getNext = getOffsetItem(1);
|
|
113
|
+
export const getPrevious = getOffsetItem(-1);
|
|
114
|
+
|
|
115
|
+
export const useCursorModel = (config: CursorModelConfig = {}): CursorModel => {
|
|
133
116
|
const [orientation] = React.useState(config.orientation || 'vertical');
|
|
134
117
|
const [cursorId, setCursorId] = React.useState('');
|
|
135
|
-
const
|
|
136
|
-
const
|
|
137
|
-
config.initialCursorId || config.items?.length ? list.getId(config.items![0]) : ''
|
|
138
|
-
);
|
|
118
|
+
const initialCurrentRef = React.useRef('');
|
|
119
|
+
const list = useListModel(config as ListModelConfig);
|
|
139
120
|
|
|
140
121
|
const state = {...list.state, orientation, cursorId};
|
|
141
|
-
const navigation = useCursorNavigation(state, list.getId);
|
|
142
122
|
|
|
143
123
|
const events = useEventMap(cursorEventMap, state, config, {
|
|
144
124
|
...list.events,
|
|
145
125
|
registerItem(data) {
|
|
146
126
|
// point the cursor at the first item
|
|
147
127
|
if (!initialCurrentRef.current) {
|
|
148
|
-
initialCurrentRef.current =
|
|
128
|
+
initialCurrentRef.current = data.item.id;
|
|
149
129
|
setCursorId(initialCurrentRef.current);
|
|
150
130
|
}
|
|
151
131
|
list.events.registerItem(data);
|
|
152
132
|
},
|
|
133
|
+
unregisterItem(data) {
|
|
134
|
+
// move the cursor forward if the the cursor is pointing to an item that is being removed
|
|
135
|
+
if (state.cursorId === data.id && state.items.some(i => i.ref.current !== null)) {
|
|
136
|
+
events.next();
|
|
137
|
+
}
|
|
138
|
+
list.events.unregisterItem(data);
|
|
139
|
+
},
|
|
153
140
|
goTo({id}) {
|
|
154
141
|
setCursorId(id);
|
|
155
142
|
},
|
|
156
143
|
next() {
|
|
157
|
-
setCursorId(
|
|
144
|
+
setCursorId(getNext(state.cursorId, state.items).id);
|
|
158
145
|
},
|
|
159
146
|
previous() {
|
|
160
|
-
setCursorId(
|
|
147
|
+
setCursorId(getPrevious(state.cursorId, state.items).id);
|
|
161
148
|
},
|
|
162
149
|
first() {
|
|
163
|
-
setCursorId(
|
|
150
|
+
setCursorId(getFirst(state.items).id);
|
|
164
151
|
},
|
|
165
152
|
last() {
|
|
166
|
-
setCursorId(
|
|
153
|
+
setCursorId(getLast(state.items).id);
|
|
167
154
|
},
|
|
168
|
-
}
|
|
155
|
+
});
|
|
169
156
|
|
|
170
|
-
return {state, events
|
|
157
|
+
return {state, events};
|
|
171
158
|
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {mergeProps} from '@workday/canvas-kit-react/common';
|
|
3
|
+
|
|
4
|
+
import {orientationKeyMap} from './cursor/hooks';
|
|
5
|
+
import {TabsModel} from './useTabsModel';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Reset the cursor to the active tab when the tab list looses focus
|
|
9
|
+
*/
|
|
10
|
+
export const useResetCursorOnBlur = ({state, events}: TabsModel, elemProps = {}) => {
|
|
11
|
+
const programmaticFocusRef = React.useRef(false);
|
|
12
|
+
return mergeProps(
|
|
13
|
+
{
|
|
14
|
+
onKeyDown(event: React.KeyboardEvent) {
|
|
15
|
+
// Programmatic focus only on any focus change via keyboard
|
|
16
|
+
if (Object.keys(orientationKeyMap[state.orientation]).indexOf(event.key) !== -1) {
|
|
17
|
+
programmaticFocusRef.current = true;
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
onFocus() {
|
|
21
|
+
programmaticFocusRef.current = false;
|
|
22
|
+
},
|
|
23
|
+
onBlur() {
|
|
24
|
+
if (!programmaticFocusRef.current) {
|
|
25
|
+
events.goTo({id: state.activeTab});
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
elemProps
|
|
30
|
+
);
|
|
31
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import {useMountLayout} from '@workday/canvas-kit-react/common';
|
|
4
|
+
|
|
5
|
+
import {ListModel} from './useListModel';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Handle list registration. Returns an identifier used to identify this item in the list
|
|
9
|
+
* @param model A ListModel
|
|
10
|
+
* @param localRef A RefObject that will be used to register an item
|
|
11
|
+
* @param id Desired identifier for the List Model. If not provided, it will fall back to the index
|
|
12
|
+
* in the list
|
|
13
|
+
* @param index (Optional) Specify the position of the item if the order is expected to change
|
|
14
|
+
*/
|
|
15
|
+
export const useRegisterItem = (
|
|
16
|
+
{state, events}: ListModel,
|
|
17
|
+
localRef: React.RefObject<any>,
|
|
18
|
+
id = '',
|
|
19
|
+
index?: number
|
|
20
|
+
): string => {
|
|
21
|
+
const [localId, setLocalId] = React.useState(id);
|
|
22
|
+
const firstRender = React.useRef(true);
|
|
23
|
+
|
|
24
|
+
React.useLayoutEffect(() => {
|
|
25
|
+
if (index !== undefined && !firstRender.current) {
|
|
26
|
+
events.updateItemPosition({id: localId, index});
|
|
27
|
+
}
|
|
28
|
+
// we only care about the index changing
|
|
29
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
30
|
+
}, [index]);
|
|
31
|
+
|
|
32
|
+
useMountLayout(() => {
|
|
33
|
+
const defaultId = state.indexRef.current;
|
|
34
|
+
const itemId = id || String(defaultId);
|
|
35
|
+
events.registerItem({item: {id: itemId, ref: localRef}, index});
|
|
36
|
+
setLocalId(itemId);
|
|
37
|
+
firstRender.current = false;
|
|
38
|
+
|
|
39
|
+
return () => {
|
|
40
|
+
events.unregisterItem({id: itemId});
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
return localId;
|
|
45
|
+
};
|
package/tabs/lib/list/index.ts
CHANGED
|
@@ -5,42 +5,34 @@ import {
|
|
|
5
5
|
ToModelConfig,
|
|
6
6
|
useEventMap,
|
|
7
7
|
useUniqueId,
|
|
8
|
-
assert,
|
|
9
8
|
} from '@workday/canvas-kit-react/common';
|
|
10
9
|
|
|
11
|
-
export type
|
|
10
|
+
export type Item = {
|
|
11
|
+
/** IDREF of the list. Children ids can be derived from this id */
|
|
12
|
+
id: string;
|
|
13
|
+
ref: React.RefObject<HTMLElement>;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export type ListState = {
|
|
12
17
|
/** IDREF of the list. Children ids can be derived from this id */
|
|
13
18
|
id: string;
|
|
14
19
|
/** Used as an auto-incrementing ID for accessibility */
|
|
15
20
|
indexRef: React.RefObject<number>;
|
|
16
|
-
items:
|
|
17
|
-
/**
|
|
18
|
-
* An array of ids of non-interactive elements. Non-interactive elements usually have `disabled`
|
|
19
|
-
* applied to them and thus are not focusable by the browser. Lists need to know about these so
|
|
20
|
-
* that keyboard navigation properly skips over these items. Interactive elements that are
|
|
21
|
-
* disabled should use `[aria-disabled]` instead and should still receive focus.
|
|
22
|
-
* @see https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_disabled_controls
|
|
23
|
-
*/
|
|
24
|
-
nonInteractiveIds: string[];
|
|
21
|
+
items: Item[];
|
|
25
22
|
};
|
|
26
23
|
|
|
27
|
-
export type ListEvents
|
|
24
|
+
export type ListEvents = {
|
|
28
25
|
/** Register an item to the list. Takes in an identifier, a React.Ref and an optional index. This should be called on
|
|
29
26
|
* component mount */
|
|
30
|
-
registerItem(data: {item:
|
|
27
|
+
registerItem(data: {item: Item; index?: number}): void;
|
|
31
28
|
/** Unregister an item by its identifier. This should be called when the component is unmounted */
|
|
32
29
|
unregisterItem(data: {id: string}): void;
|
|
33
30
|
/** Updates the position of a tab within the list. This should be called when a tab's index is updated */
|
|
34
31
|
updateItemPosition(data: {id: string; index: number}): void;
|
|
35
32
|
};
|
|
36
33
|
|
|
37
|
-
export
|
|
38
|
-
getId: (item: T) => string;
|
|
39
|
-
}
|
|
34
|
+
export type ListModel = Model<ListState, ListEvents>;
|
|
40
35
|
|
|
41
|
-
// We don't have a way of knowing what the generic could be, so we leave it as `unknown`. It will
|
|
42
|
-
// probably need to be cast to the generic in use inside extending models. This will not effect the
|
|
43
|
-
// use of the model in an application, only in models composing this model.
|
|
44
36
|
export const listEventMap = createEventMap<ListEvents>()({
|
|
45
37
|
guards: {
|
|
46
38
|
/**
|
|
@@ -84,37 +76,20 @@ export const listEventMap = createEventMap<ListEvents>()({
|
|
|
84
76
|
},
|
|
85
77
|
});
|
|
86
78
|
|
|
87
|
-
export type BaseListModelConfig
|
|
79
|
+
export type BaseListModelConfig = {
|
|
88
80
|
/** IDREF of the list. Children ids can be derived from this id */
|
|
89
81
|
id?: string;
|
|
90
|
-
items?: T[];
|
|
91
|
-
getId?: (item: T) => string;
|
|
92
|
-
/**
|
|
93
|
-
* Array of all ids which are currently disabled
|
|
94
|
-
*/
|
|
95
|
-
nonInteractiveIds?: string[];
|
|
96
82
|
};
|
|
97
83
|
|
|
98
|
-
export type ListModelConfig
|
|
99
|
-
Partial<ToModelConfig<ListState
|
|
100
|
-
|
|
101
|
-
export const defaultGetId = (item: any): string => {
|
|
102
|
-
assert(item.id, 'A list item must have an `id` field or a `getId` function defined');
|
|
103
|
-
return item.id;
|
|
104
|
-
};
|
|
84
|
+
export type ListModelConfig = BaseListModelConfig &
|
|
85
|
+
Partial<ToModelConfig<ListState, ListEvents, typeof listEventMap>>;
|
|
105
86
|
|
|
106
|
-
export const useListModel =
|
|
87
|
+
export const useListModel = (config: ListModelConfig = {}): ListModel => {
|
|
107
88
|
const id = useUniqueId(config.id);
|
|
108
89
|
const indexRef = React.useRef(0);
|
|
109
|
-
const [items, setItems] = React.useState(
|
|
110
|
-
const getId = config.getId || defaultGetId;
|
|
90
|
+
const [items, setItems] = React.useState([] as Item[]);
|
|
111
91
|
|
|
112
|
-
const state = {
|
|
113
|
-
id,
|
|
114
|
-
items: config.items || items,
|
|
115
|
-
indexRef,
|
|
116
|
-
nonInteractiveIds: config.nonInteractiveIds || [],
|
|
117
|
-
};
|
|
92
|
+
const state = {id, items, indexRef};
|
|
118
93
|
|
|
119
94
|
const events = useEventMap(listEventMap, state, config, {
|
|
120
95
|
registerItem({item, index}) {
|
|
@@ -130,8 +105,8 @@ export const useListModel = <T extends unknown>(config: ListModelConfig<T> = {})
|
|
|
130
105
|
},
|
|
131
106
|
unregisterItem({id}) {
|
|
132
107
|
setItems(items => {
|
|
133
|
-
if (items.find(item =>
|
|
134
|
-
return items.filter(item =>
|
|
108
|
+
if (items.find(item => item.id === id)) {
|
|
109
|
+
return items.filter(item => item.id !== id);
|
|
135
110
|
} else {
|
|
136
111
|
return items;
|
|
137
112
|
}
|
|
@@ -139,12 +114,12 @@ export const useListModel = <T extends unknown>(config: ListModelConfig<T> = {})
|
|
|
139
114
|
},
|
|
140
115
|
updateItemPosition({id, index}) {
|
|
141
116
|
setItems(items => {
|
|
142
|
-
const copy = items.filter(item =>
|
|
143
|
-
copy.splice(index, 0, items.find(item =>
|
|
117
|
+
const copy = items.filter(item => item.id !== id);
|
|
118
|
+
copy.splice(index, 0, items.find(item => item.id === id)!);
|
|
144
119
|
return copy;
|
|
145
120
|
});
|
|
146
121
|
},
|
|
147
|
-
}
|
|
122
|
+
});
|
|
148
123
|
|
|
149
|
-
return {state, events
|
|
124
|
+
return {state, events};
|
|
150
125
|
};
|