@workday/canvas-kit-react 8.5.0-339-next.0 → 8.5.0-342-next.2
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 +44 -0
- package/action-bar/lib/ActionBarOverflowButton.tsx +2 -2
- package/banner/lib/Banner.tsx +56 -0
- package/banner/lib/BannerIcon.tsx +0 -1
- package/breadcrumbs/lib/Breadcrumbs.tsx +77 -56
- package/breadcrumbs/lib/BreadcrumbsItem.tsx +2 -2
- package/button/lib/BaseButton.tsx +3 -2
- package/button/lib/DeleteButton.tsx +5 -1
- package/button/lib/ExternalHyperlink.tsx +6 -7
- package/button/lib/Hyperlink.tsx +6 -2
- package/button/lib/PrimaryButton.tsx +9 -5
- package/button/lib/SecondaryButton.tsx +9 -0
- package/button/lib/TertiaryButton.tsx +10 -9
- package/card/lib/Card.tsx +36 -0
- package/checkbox/lib/Checkbox.tsx +1 -7
- package/collection/lib/ListBox.tsx +19 -6
- package/collection/lib/useCursorListModel.tsx +9 -2
- package/collection/lib/useGridModel.ts +4 -0
- package/collection/lib/useListItemRegister.tsx +11 -2
- package/collection/lib/useListItemRovingFocus.tsx +11 -3
- package/collection/lib/useListItemSelect.tsx +12 -0
- package/collection/lib/useListModel.tsx +20 -3
- package/collection/lib/useListRenderItem.tsx +14 -0
- package/collection/lib/useListResetCursorOnBlur.tsx +12 -1
- package/collection/lib/useOverflowListItemMeasure.tsx +11 -0
- package/collection/lib/useOverflowListMeasure.ts +4 -0
- package/collection/lib/useOverflowListTarget.tsx +4 -0
- package/collection/lib/useSelectionListModel.tsx +13 -1
- package/common/lib/EllipsisText.tsx +11 -3
- package/common/lib/theming/getObjectProxy.ts +3 -2
- package/common/lib/utils/components.ts +106 -19
- package/dialog/lib/DialogPopper.tsx +3 -0
- package/disclosure/lib/useDisclosureModel.tsx +2 -2
- package/dist/commonjs/action-bar/lib/ActionBar.d.ts +267 -223
- package/dist/commonjs/action-bar/lib/ActionBar.d.ts.map +1 -1
- package/dist/commonjs/action-bar/lib/ActionBar.js +44 -0
- package/dist/commonjs/action-bar/lib/ActionBarItem.d.ts +11 -11
- package/dist/commonjs/action-bar/lib/ActionBarList.d.ts +11 -11
- package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.d.ts +11 -11
- package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.js +1 -1
- package/dist/commonjs/action-bar/lib/useActionBarModel.d.ts +107 -107
- package/dist/commonjs/banner/lib/Banner.d.ts +60 -4
- package/dist/commonjs/banner/lib/Banner.d.ts.map +1 -1
- package/dist/commonjs/banner/lib/Banner.js +56 -0
- package/dist/commonjs/banner/lib/BannerActionText.d.ts +1 -1
- package/dist/commonjs/banner/lib/BannerIcon.d.ts +1 -2
- package/dist/commonjs/banner/lib/BannerIcon.d.ts.map +1 -1
- package/dist/commonjs/banner/lib/BannerLabel.d.ts +1 -1
- package/dist/commonjs/banner/lib/hooks/useBanner.d.ts +1 -1
- package/dist/commonjs/banner/lib/hooks/useBannerActionText.d.ts +1 -1
- package/dist/commonjs/banner/lib/hooks/useBannerIcon.d.ts +1 -1
- package/dist/commonjs/banner/lib/hooks/useBannerLabel.d.ts +1 -1
- package/dist/commonjs/banner/lib/hooks/useBannerModel.d.ts +1 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts +305 -325
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts.map +1 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.js +77 -56
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts +11 -11
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.d.ts +12 -12
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +2 -2
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.d.ts +1 -1
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.d.ts.map +1 -1
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.d.ts +7 -7
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts +153 -153
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts +11 -11
- package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +107 -107
- package/dist/commonjs/button/lib/BaseButton.d.ts +6 -5
- package/dist/commonjs/button/lib/BaseButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/DeleteButton.d.ts +6 -2
- package/dist/commonjs/button/lib/DeleteButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/DeleteButton.js +6 -1
- package/dist/commonjs/button/lib/ExternalHyperlink.d.ts +5 -1
- package/dist/commonjs/button/lib/ExternalHyperlink.d.ts.map +1 -1
- package/dist/commonjs/button/lib/ExternalHyperlink.js +6 -2
- package/dist/commonjs/button/lib/Hyperlink.d.ts +5 -1
- package/dist/commonjs/button/lib/Hyperlink.d.ts.map +1 -1
- package/dist/commonjs/button/lib/Hyperlink.js +6 -2
- package/dist/commonjs/button/lib/PrimaryButton.d.ts +10 -6
- package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/PrimaryButton.js +9 -0
- package/dist/commonjs/button/lib/SecondaryButton.d.ts +10 -1
- package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/SecondaryButton.js +9 -0
- package/dist/commonjs/button/lib/TertiaryButton.d.ts +11 -8
- package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/TertiaryButton.js +12 -2
- package/dist/commonjs/button/lib/ToolbarDropdownButton.d.ts +1 -1
- package/dist/commonjs/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/ToolbarDropdownButton.js +1 -1
- package/dist/commonjs/button/lib/ToolbarIconButton.d.ts +1 -1
- package/dist/commonjs/button/lib/ToolbarIconButton.d.ts.map +1 -1
- package/dist/commonjs/button/lib/deprecated_Button.d.ts +1 -1
- package/dist/commonjs/button/lib/deprecated_Button.d.ts.map +1 -1
- package/dist/commonjs/button/lib/deprecated_Button.js +1 -1
- 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 +1 -1
- package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
- package/dist/commonjs/card/lib/Card.d.ts +39 -3
- package/dist/commonjs/card/lib/Card.d.ts.map +1 -1
- package/dist/commonjs/card/lib/Card.js +36 -0
- package/dist/commonjs/card/lib/CardBody.d.ts +1 -1
- package/dist/commonjs/card/lib/CardBody.d.ts.map +1 -1
- package/dist/commonjs/card/lib/CardHeading.d.ts +1 -1
- package/dist/commonjs/card/lib/CardHeading.d.ts.map +1 -1
- package/dist/commonjs/checkbox/lib/Checkbox.d.ts +2 -2
- package/dist/commonjs/checkbox/lib/Checkbox.d.ts.map +1 -1
- package/dist/commonjs/checkbox/lib/Checkbox.js +3 -3
- package/dist/commonjs/collection/lib/ListBox.d.ts +158 -82
- package/dist/commonjs/collection/lib/ListBox.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/ListBox.js +21 -8
- package/dist/commonjs/collection/lib/useBaseListModel.d.ts +10 -10
- package/dist/commonjs/collection/lib/useBaseListModel.js +1 -1
- package/dist/commonjs/collection/lib/useCursorListModel.d.ts +47 -36
- package/dist/commonjs/collection/lib/useCursorListModel.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useGridModel.d.ts +79 -75
- package/dist/commonjs/collection/lib/useGridModel.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useGridModel.js +4 -0
- package/dist/commonjs/collection/lib/useListItemRegister.d.ts +14 -5
- package/dist/commonjs/collection/lib/useListItemRegister.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useListItemRegister.js +11 -2
- package/dist/commonjs/collection/lib/useListItemRovingFocus.d.ts +14 -6
- package/dist/commonjs/collection/lib/useListItemRovingFocus.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useListItemRovingFocus.js +11 -3
- package/dist/commonjs/collection/lib/useListItemSelect.d.ts +15 -3
- package/dist/commonjs/collection/lib/useListItemSelect.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useListItemSelect.js +12 -0
- package/dist/commonjs/collection/lib/useListModel.d.ts +95 -78
- package/dist/commonjs/collection/lib/useListModel.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useListModel.js +20 -3
- package/dist/commonjs/collection/lib/useListRenderItem.d.ts +14 -0
- package/dist/commonjs/collection/lib/useListRenderItem.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useListRenderItem.js +14 -0
- package/dist/commonjs/collection/lib/useListResetCursorOnBlur.d.ts +15 -4
- package/dist/commonjs/collection/lib/useListResetCursorOnBlur.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useListResetCursorOnBlur.js +12 -1
- package/dist/commonjs/collection/lib/useOverflowListItemMeasure.d.ts +14 -3
- package/dist/commonjs/collection/lib/useOverflowListItemMeasure.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useOverflowListItemMeasure.js +11 -0
- package/dist/commonjs/collection/lib/useOverflowListMeasure.d.ts +7 -3
- package/dist/commonjs/collection/lib/useOverflowListMeasure.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useOverflowListMeasure.js +4 -0
- package/dist/commonjs/collection/lib/useOverflowListModel.d.ts +99 -99
- package/dist/commonjs/collection/lib/useOverflowListTarget.d.ts +7 -3
- package/dist/commonjs/collection/lib/useOverflowListTarget.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useOverflowListTarget.js +4 -0
- package/dist/commonjs/collection/lib/useSelectionListModel.d.ts +88 -76
- package/dist/commonjs/collection/lib/useSelectionListModel.d.ts.map +1 -1
- package/dist/commonjs/color-picker/lib/ColorInput.d.ts +1 -1
- package/dist/commonjs/color-picker/lib/ColorInput.d.ts.map +1 -1
- package/dist/commonjs/color-picker/lib/ColorInput.js +6 -0
- package/dist/commonjs/color-picker/lib/ColorPreview.d.ts +1 -1
- package/dist/commonjs/color-picker/lib/ColorPreview.d.ts.map +1 -1
- package/dist/commonjs/common/lib/CanvasProvider.js +2 -0
- package/dist/commonjs/common/lib/EllipsisText.d.ts +1 -2
- package/dist/commonjs/common/lib/EllipsisText.d.ts.map +1 -1
- package/dist/commonjs/common/lib/EllipsisText.js +21 -2
- package/dist/commonjs/common/lib/InputProvider.d.ts +1 -1
- package/dist/commonjs/common/lib/InputProvider.js +2 -0
- package/dist/commonjs/common/lib/responsive/useResponsiveContainerStyles.js +5 -7
- package/dist/commonjs/common/lib/theming/getObjectProxy.d.ts.map +1 -1
- package/dist/commonjs/common/lib/theming/getObjectProxy.js +3 -2
- package/dist/commonjs/common/lib/utils/components.d.ts +113 -26
- package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/components.js +72 -9
- package/dist/commonjs/common/lib/utils/models.js +2 -1
- package/dist/commonjs/dialog/lib/Dialog.d.ts +24 -24
- package/dist/commonjs/dialog/lib/DialogCard.d.ts +3 -3
- package/dist/commonjs/dialog/lib/DialogPopper.d.ts +3 -3
- package/dist/commonjs/dialog/lib/DialogPopper.d.ts.map +1 -1
- package/dist/commonjs/dialog/lib/DialogPopper.js +3 -0
- package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +2 -2
- package/dist/commonjs/dialog/lib/hooks/useDialogModel.d.ts +10 -10
- package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +2 -2
- package/dist/commonjs/dialog/lib/hooks/useDialogPopper.js +1 -1
- package/dist/commonjs/disclosure/lib/useDisclosureModel.d.ts +22 -22
- package/dist/commonjs/disclosure/lib/useDisclosureModel.js +2 -2
- package/dist/commonjs/form-field/lib/FormField.d.ts +1 -2
- package/dist/commonjs/form-field/lib/FormField.d.ts.map +1 -1
- package/dist/commonjs/form-field/lib/FormField.js +2 -0
- package/dist/commonjs/form-field/lib/Hint.js +2 -0
- package/dist/commonjs/form-field/lib/Label.js +7 -7
- package/dist/commonjs/icon/lib/AccentIcon.d.ts +1 -1
- package/dist/commonjs/icon/lib/AccentIcon.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/AppletIcon.d.ts +1 -1
- package/dist/commonjs/icon/lib/Graphic.d.ts +1 -1
- package/dist/commonjs/icon/lib/Graphic.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/Icon.d.ts +1 -1
- package/dist/commonjs/icon/lib/Icon.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/Svg.d.ts +1 -1
- package/dist/commonjs/icon/lib/Svg.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/SystemIcon.d.ts +1 -2
- package/dist/commonjs/icon/lib/SystemIcon.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/SystemIconCircle.d.ts +1 -1
- package/dist/commonjs/icon/lib/SystemIconCircle.d.ts.map +1 -1
- package/dist/commonjs/layout/lib/Box.d.ts +1 -1
- package/dist/commonjs/layout/lib/Box.d.ts.map +1 -1
- package/dist/commonjs/layout/lib/Column.js +2 -0
- package/dist/commonjs/layout/lib/Flex.d.ts +2 -2
- package/dist/commonjs/layout/lib/Grid.d.ts +2 -2
- package/dist/commonjs/layout/lib/Layout.js +2 -0
- package/dist/commonjs/layout/lib/Stack.d.ts +7 -6
- package/dist/commonjs/layout/lib/Stack.d.ts.map +1 -1
- package/dist/commonjs/layout/lib/utils/border/color.d.ts +7 -7
- package/dist/commonjs/layout/lib/utils/border/index.js +5 -7
- package/dist/commonjs/layout/lib/utils/getValidChildren.d.ts +1 -1
- package/dist/commonjs/layout/lib/utils/getValidChildren.d.ts.map +1 -1
- package/dist/commonjs/layout/lib/utils/layout.d.ts +1 -1
- package/dist/commonjs/layout/lib/utils/layout.d.ts.map +1 -1
- package/dist/commonjs/layout/lib/utils/stack.d.ts +0 -2
- package/dist/commonjs/layout/lib/utils/stack.d.ts.map +1 -1
- package/dist/commonjs/menu/lib/Menu.d.ts +218 -378
- package/dist/commonjs/menu/lib/Menu.d.ts.map +1 -1
- package/dist/commonjs/menu/lib/Menu.js +37 -9
- package/dist/commonjs/menu/lib/MenuCard.d.ts +8 -8
- package/dist/commonjs/menu/lib/MenuContextTarget.d.ts +8 -8
- package/dist/commonjs/menu/lib/MenuDivider.d.ts +1 -1
- package/dist/commonjs/menu/lib/MenuDivider.d.ts.map +1 -1
- package/dist/commonjs/menu/lib/MenuItem.d.ts +10 -10
- package/dist/commonjs/menu/lib/MenuList.d.ts +10 -10
- package/dist/commonjs/menu/lib/MenuPopper.d.ts +6 -6
- package/dist/commonjs/menu/lib/MenuTarget.d.ts +87 -12
- package/dist/commonjs/menu/lib/MenuTarget.d.ts.map +1 -1
- package/dist/commonjs/menu/lib/MenuTarget.js +4 -4
- package/dist/commonjs/menu/lib/useMenuModel.d.ts +173 -173
- package/dist/commonjs/modal/lib/Modal.d.ts +202 -46
- package/dist/commonjs/modal/lib/Modal.d.ts.map +1 -1
- package/dist/commonjs/modal/lib/Modal.js +76 -5
- package/dist/commonjs/modal/lib/ModalBody.d.ts +2 -2
- package/dist/commonjs/modal/lib/ModalCard.d.ts +2 -2
- package/dist/commonjs/modal/lib/ModalCard.js +1 -1
- package/dist/commonjs/modal/lib/ModalHeading.d.ts +2 -2
- package/dist/commonjs/modal/lib/ModalOverflowOverlay.d.ts +3 -3
- package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +1 -1
- package/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -4
- package/dist/commonjs/modal/lib/hooks/useCloseOnOverlayClick.d.ts +2 -2
- package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +2 -2
- package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +2 -2
- package/dist/commonjs/modal/lib/hooks/useModalModel.d.ts +10 -10
- package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts +1 -2
- package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +10 -6
- package/dist/commonjs/pagination/lib/Pagination/Controls.d.ts +12 -11
- package/dist/commonjs/pagination/lib/Pagination/Controls.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/Controls.js +81 -66
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts +4 -3
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +14 -7
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +2 -3
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +10 -5
- package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.d.ts +4 -1
- package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.js +9 -16
- package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.d.ts +9 -0
- package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.js +2 -1
- package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts +1 -1
- package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/Nav.js +2 -14
- package/dist/commonjs/pagination/lib/Pagination/PageButton.d.ts +4 -5
- package/dist/commonjs/pagination/lib/Pagination/PageButton.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/PageButton.js +16 -11
- package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +4 -4
- package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/PageList.js +17 -10
- package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +230 -38
- package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/Pagination.js +227 -76
- package/dist/commonjs/pagination/lib/Pagination/buildPageRange.js +5 -7
- package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +2 -2
- 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/helpers.d.ts +45 -15
- package/dist/commonjs/pagination/lib/Pagination/common/utils/helpers.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/common/utils/helpers.js +45 -15
- package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts +3 -1
- package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
- package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.js +5 -4
- package/dist/commonjs/popup/lib/Popper.d.ts +16 -1
- package/dist/commonjs/popup/lib/Popper.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/Popper.js +21 -8
- package/dist/commonjs/popup/lib/Popup.d.ts +183 -22
- package/dist/commonjs/popup/lib/Popup.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/Popup.js +85 -4
- package/dist/commonjs/popup/lib/PopupBody.d.ts +2 -2
- package/dist/commonjs/popup/lib/PopupCard.d.ts +2 -2
- package/dist/commonjs/popup/lib/PopupCloseButton.d.ts +2 -2
- package/dist/commonjs/popup/lib/PopupCloseIcon.d.ts +2 -2
- package/dist/commonjs/popup/lib/PopupHeading.d.ts +2 -2
- package/dist/commonjs/popup/lib/PopupPopper.d.ts +2 -2
- package/dist/commonjs/popup/lib/PopupTarget.d.ts +2 -2
- package/dist/commonjs/popup/lib/hooks/useAlwaysCloseOnOutsideClick.d.ts +2 -2
- package/dist/commonjs/popup/lib/hooks/useAssistiveHideSiblings.d.ts +2 -2
- package/dist/commonjs/popup/lib/hooks/useAssistiveHideSiblings.js +5 -7
- package/dist/commonjs/popup/lib/hooks/useBringToTopOnClick.d.ts +6 -6
- package/dist/commonjs/popup/lib/hooks/useBringToTopOnClick.js +4 -4
- package/dist/commonjs/popup/lib/hooks/useCloseOnEscape.d.ts +4 -4
- package/dist/commonjs/popup/lib/hooks/useCloseOnEscape.js +2 -2
- package/dist/commonjs/popup/lib/hooks/useCloseOnFullscreenExit.d.ts +2 -2
- package/dist/commonjs/popup/lib/hooks/useCloseOnOutsideClick.d.ts +8 -8
- package/dist/commonjs/popup/lib/hooks/useCloseOnOutsideClick.js +6 -6
- package/dist/commonjs/popup/lib/hooks/useCloseOnTargetHidden.d.ts +2 -2
- package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.d.ts +2 -2
- package/dist/commonjs/popup/lib/hooks/useFocusRedirect.d.ts +2 -2
- package/dist/commonjs/popup/lib/hooks/useFocusTrap.d.ts +2 -2
- package/dist/commonjs/popup/lib/hooks/useInitialFocus.d.ts +4 -4
- package/dist/commonjs/popup/lib/hooks/useInitialFocus.js +2 -2
- package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +3 -3
- package/dist/commonjs/popup/lib/hooks/usePopupCard.js +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +5 -4
- package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.js +3 -2
- package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +3 -3
- package/dist/commonjs/popup/lib/hooks/usePopupHeading.js +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupModel.d.ts +13 -13
- package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -3
- package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupPopper.js +2 -1
- package/dist/commonjs/popup/lib/hooks/usePopupStack.d.ts +27 -19
- package/dist/commonjs/popup/lib/hooks/usePopupStack.d.ts.map +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupStack.js +26 -18
- package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +3 -3
- package/dist/commonjs/popup/lib/hooks/usePopupTarget.js +1 -1
- package/dist/commonjs/popup/lib/hooks/usePopupTargetContext.d.ts +2 -2
- package/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts +4 -4
- package/dist/commonjs/popup/lib/hooks/useReturnFocus.js +2 -2
- package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenEnter.d.ts +2 -2
- package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenExit.d.ts +2 -2
- package/dist/commonjs/radio/lib/Radio.d.ts +1 -1
- package/dist/commonjs/radio/lib/Radio.d.ts.map +1 -1
- package/dist/commonjs/radio/lib/Radio.js +1 -1
- package/dist/commonjs/radio/lib/RadioGroup.d.ts +1 -2
- package/dist/commonjs/radio/lib/RadioGroup.d.ts.map +1 -1
- package/dist/commonjs/radio/lib/RadioGroup.js +2 -0
- package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts +2 -2
- package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts +1 -1
- package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
- package/dist/commonjs/select/lib/Select.d.ts +1 -1
- package/dist/commonjs/select/lib/Select.d.ts.map +1 -1
- package/dist/commonjs/select/lib/Select.js +2 -2
- package/dist/commonjs/select/lib/SelectOption.js +2 -0
- package/dist/commonjs/side-panel/lib/SidePanel.js +3 -1
- package/dist/commonjs/skeleton/lib/parts/skeletonHeader.d.ts +1 -1
- package/dist/commonjs/skeleton/lib/parts/skeletonHeader.d.ts.map +1 -1
- package/dist/commonjs/skeleton/lib/parts/skeletonShape.d.ts +1 -1
- package/dist/commonjs/skeleton/lib/parts/skeletonShape.d.ts.map +1 -1
- package/dist/commonjs/skeleton/lib/parts/skeletonText.d.ts +1 -1
- package/dist/commonjs/skeleton/lib/parts/skeletonText.d.ts.map +1 -1
- package/dist/commonjs/skeleton/lib/skeleton.d.ts +30 -4
- package/dist/commonjs/skeleton/lib/skeleton.d.ts.map +1 -1
- package/dist/commonjs/skeleton/lib/skeleton.js +27 -1
- package/dist/commonjs/status-indicator/lib/StatusIndicator.js +2 -0
- package/dist/commonjs/switch/lib/Switch.d.ts +1 -1
- package/dist/commonjs/table/lib/Table.js +2 -0
- package/dist/commonjs/table/lib/TableRow.d.ts +2 -1
- package/dist/commonjs/table/lib/TableRow.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/Tabs.d.ts +585 -382
- package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/Tabs.js +94 -2
- package/dist/commonjs/tabs/lib/TabsItem.d.ts +15 -15
- package/dist/commonjs/tabs/lib/TabsList.d.ts +12 -12
- package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/TabsList.js +4 -1
- package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +6 -6
- package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +12 -12
- package/dist/commonjs/tabs/lib/TabsOverflowButton.js +1 -1
- package/dist/commonjs/tabs/lib/TabsPanel.d.ts +12 -12
- package/dist/commonjs/tabs/lib/TabsPanels.d.ts +8 -8
- package/dist/commonjs/tabs/lib/useTabsModel.d.ts +534 -506
- package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
- package/dist/commonjs/tabs/lib/useTabsModel.js +18 -1
- package/dist/commonjs/text/lib/LabelText.d.ts +4 -9
- package/dist/commonjs/text/lib/LabelText.d.ts.map +1 -1
- package/dist/commonjs/text/lib/LabelText.js +3 -8
- package/dist/commonjs/text/lib/Text.d.ts +11 -15
- package/dist/commonjs/text/lib/Text.d.ts.map +1 -1
- package/dist/commonjs/text/lib/Text.js +10 -12
- package/dist/commonjs/text/lib/TypeLevelComponents.d.ts +4 -24
- package/dist/commonjs/text/lib/TypeLevelComponents.d.ts.map +1 -1
- package/dist/commonjs/text/lib/TypeLevelComponents.js +0 -20
- package/dist/commonjs/text-area/lib/TextArea.d.ts +1 -1
- package/dist/commonjs/text-input/lib/TextInput.d.ts +1 -1
- package/dist/commonjs/toast/lib/Toast.d.ts +1 -1
- package/dist/commonjs/toast/lib/Toast.d.ts.map +1 -1
- package/dist/commonjs/tokens/lib/type/index.d.ts +7 -7
- package/dist/commonjs/tokens/lib/type/index.js +2 -2
- package/dist/commonjs/tooltip/lib/Tooltip.d.ts +1 -1
- package/dist/commonjs/tooltip/lib/Tooltip.d.ts.map +1 -1
- package/dist/commonjs/tooltip/lib/Tooltip.js +22 -20
- package/dist/commonjs/tooltip/lib/TooltipContainer.d.ts +1 -1
- package/dist/es6/action-bar/lib/ActionBar.d.ts +267 -223
- package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
- package/dist/es6/action-bar/lib/ActionBar.js +44 -0
- package/dist/es6/action-bar/lib/ActionBarItem.d.ts +11 -11
- package/dist/es6/action-bar/lib/ActionBarList.d.ts +11 -11
- package/dist/es6/action-bar/lib/ActionBarOverflowButton.d.ts +11 -11
- package/dist/es6/action-bar/lib/ActionBarOverflowButton.js +2 -2
- package/dist/es6/action-bar/lib/useActionBarModel.d.ts +107 -107
- package/dist/es6/banner/lib/Banner.d.ts +60 -4
- package/dist/es6/banner/lib/Banner.d.ts.map +1 -1
- package/dist/es6/banner/lib/Banner.js +56 -0
- package/dist/es6/banner/lib/BannerActionText.d.ts +1 -1
- package/dist/es6/banner/lib/BannerIcon.d.ts +1 -2
- package/dist/es6/banner/lib/BannerIcon.d.ts.map +1 -1
- package/dist/es6/banner/lib/BannerLabel.d.ts +1 -1
- package/dist/es6/banner/lib/hooks/useBanner.d.ts +1 -1
- package/dist/es6/banner/lib/hooks/useBannerActionText.d.ts +1 -1
- package/dist/es6/banner/lib/hooks/useBannerIcon.d.ts +1 -1
- package/dist/es6/banner/lib/hooks/useBannerLabel.d.ts +1 -1
- package/dist/es6/banner/lib/hooks/useBannerModel.d.ts +1 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts +305 -325
- package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts.map +1 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs.js +77 -56
- package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.d.ts +11 -11
- package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.d.ts +12 -12
- package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +2 -2
- package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.d.ts +1 -1
- package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.d.ts.map +1 -1
- package/dist/es6/breadcrumbs/lib/BreadcrumbsList.d.ts +7 -7
- package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts +153 -153
- package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.d.ts +11 -11
- package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +107 -107
- package/dist/es6/button/lib/BaseButton.d.ts +6 -5
- package/dist/es6/button/lib/BaseButton.d.ts.map +1 -1
- package/dist/es6/button/lib/DeleteButton.d.ts +6 -2
- package/dist/es6/button/lib/DeleteButton.d.ts.map +1 -1
- package/dist/es6/button/lib/DeleteButton.js +6 -1
- package/dist/es6/button/lib/ExternalHyperlink.d.ts +5 -1
- package/dist/es6/button/lib/ExternalHyperlink.d.ts.map +1 -1
- package/dist/es6/button/lib/ExternalHyperlink.js +6 -2
- package/dist/es6/button/lib/Hyperlink.d.ts +5 -1
- package/dist/es6/button/lib/Hyperlink.d.ts.map +1 -1
- package/dist/es6/button/lib/Hyperlink.js +6 -2
- package/dist/es6/button/lib/PrimaryButton.d.ts +10 -6
- package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/PrimaryButton.js +9 -0
- package/dist/es6/button/lib/SecondaryButton.d.ts +10 -1
- package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/SecondaryButton.js +9 -0
- package/dist/es6/button/lib/TertiaryButton.d.ts +11 -8
- package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
- package/dist/es6/button/lib/TertiaryButton.js +12 -2
- package/dist/es6/button/lib/ToolbarDropdownButton.d.ts +1 -1
- package/dist/es6/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
- package/dist/es6/button/lib/ToolbarDropdownButton.js +1 -1
- package/dist/es6/button/lib/ToolbarIconButton.d.ts +1 -1
- package/dist/es6/button/lib/ToolbarIconButton.d.ts.map +1 -1
- package/dist/es6/button/lib/deprecated_Button.d.ts +1 -1
- package/dist/es6/button/lib/deprecated_Button.d.ts.map +1 -1
- package/dist/es6/button/lib/deprecated_Button.js +1 -1
- 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 +1 -1
- package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
- package/dist/es6/card/lib/Card.d.ts +39 -3
- package/dist/es6/card/lib/Card.d.ts.map +1 -1
- package/dist/es6/card/lib/Card.js +36 -0
- package/dist/es6/card/lib/CardBody.d.ts +1 -1
- package/dist/es6/card/lib/CardBody.d.ts.map +1 -1
- package/dist/es6/card/lib/CardHeading.d.ts +1 -1
- package/dist/es6/card/lib/CardHeading.d.ts.map +1 -1
- package/dist/es6/checkbox/lib/Checkbox.d.ts +2 -2
- package/dist/es6/checkbox/lib/Checkbox.d.ts.map +1 -1
- package/dist/es6/checkbox/lib/Checkbox.js +3 -3
- package/dist/es6/collection/lib/ListBox.d.ts +158 -82
- package/dist/es6/collection/lib/ListBox.d.ts.map +1 -1
- package/dist/es6/collection/lib/ListBox.js +19 -6
- package/dist/es6/collection/lib/useBaseListModel.d.ts +10 -10
- package/dist/es6/collection/lib/useBaseListModel.js +1 -1
- package/dist/es6/collection/lib/useCursorListModel.d.ts +47 -36
- package/dist/es6/collection/lib/useCursorListModel.d.ts.map +1 -1
- package/dist/es6/collection/lib/useGridModel.d.ts +79 -75
- package/dist/es6/collection/lib/useGridModel.d.ts.map +1 -1
- package/dist/es6/collection/lib/useGridModel.js +4 -0
- package/dist/es6/collection/lib/useListItemRegister.d.ts +14 -5
- package/dist/es6/collection/lib/useListItemRegister.d.ts.map +1 -1
- package/dist/es6/collection/lib/useListItemRegister.js +11 -2
- package/dist/es6/collection/lib/useListItemRovingFocus.d.ts +14 -6
- package/dist/es6/collection/lib/useListItemRovingFocus.d.ts.map +1 -1
- package/dist/es6/collection/lib/useListItemRovingFocus.js +11 -3
- package/dist/es6/collection/lib/useListItemSelect.d.ts +15 -3
- package/dist/es6/collection/lib/useListItemSelect.d.ts.map +1 -1
- package/dist/es6/collection/lib/useListItemSelect.js +12 -0
- package/dist/es6/collection/lib/useListModel.d.ts +95 -78
- package/dist/es6/collection/lib/useListModel.d.ts.map +1 -1
- package/dist/es6/collection/lib/useListModel.js +20 -3
- package/dist/es6/collection/lib/useListRenderItem.d.ts +14 -0
- package/dist/es6/collection/lib/useListRenderItem.d.ts.map +1 -1
- package/dist/es6/collection/lib/useListRenderItem.js +14 -0
- package/dist/es6/collection/lib/useListResetCursorOnBlur.d.ts +15 -4
- package/dist/es6/collection/lib/useListResetCursorOnBlur.d.ts.map +1 -1
- package/dist/es6/collection/lib/useListResetCursorOnBlur.js +12 -1
- package/dist/es6/collection/lib/useOverflowListItemMeasure.d.ts +14 -3
- package/dist/es6/collection/lib/useOverflowListItemMeasure.d.ts.map +1 -1
- package/dist/es6/collection/lib/useOverflowListItemMeasure.js +11 -0
- package/dist/es6/collection/lib/useOverflowListMeasure.d.ts +7 -3
- package/dist/es6/collection/lib/useOverflowListMeasure.d.ts.map +1 -1
- package/dist/es6/collection/lib/useOverflowListMeasure.js +4 -0
- package/dist/es6/collection/lib/useOverflowListModel.d.ts +99 -99
- package/dist/es6/collection/lib/useOverflowListTarget.d.ts +7 -3
- package/dist/es6/collection/lib/useOverflowListTarget.d.ts.map +1 -1
- package/dist/es6/collection/lib/useOverflowListTarget.js +4 -0
- package/dist/es6/collection/lib/useSelectionListModel.d.ts +88 -76
- package/dist/es6/collection/lib/useSelectionListModel.d.ts.map +1 -1
- package/dist/es6/color-picker/lib/ColorInput.d.ts +1 -1
- package/dist/es6/color-picker/lib/ColorInput.d.ts.map +1 -1
- package/dist/es6/color-picker/lib/ColorInput.js +6 -0
- package/dist/es6/color-picker/lib/ColorPreview.d.ts +1 -1
- package/dist/es6/color-picker/lib/ColorPreview.d.ts.map +1 -1
- package/dist/es6/common/lib/CanvasProvider.js +2 -0
- package/dist/es6/common/lib/EllipsisText.d.ts +1 -2
- package/dist/es6/common/lib/EllipsisText.d.ts.map +1 -1
- package/dist/es6/common/lib/EllipsisText.js +21 -2
- package/dist/es6/common/lib/InputProvider.d.ts +1 -1
- package/dist/es6/common/lib/InputProvider.js +2 -0
- package/dist/es6/common/lib/responsive/useResponsiveContainerStyles.js +5 -7
- package/dist/es6/common/lib/theming/getObjectProxy.d.ts.map +1 -1
- package/dist/es6/common/lib/theming/getObjectProxy.js +3 -2
- package/dist/es6/common/lib/utils/components.d.ts +113 -26
- package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/components.js +70 -8
- package/dist/es6/common/lib/utils/models.js +2 -1
- package/dist/es6/dialog/lib/Dialog.d.ts +24 -24
- package/dist/es6/dialog/lib/DialogCard.d.ts +3 -3
- package/dist/es6/dialog/lib/DialogPopper.d.ts +3 -3
- package/dist/es6/dialog/lib/DialogPopper.d.ts.map +1 -1
- package/dist/es6/dialog/lib/DialogPopper.js +3 -0
- package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +2 -2
- package/dist/es6/dialog/lib/hooks/useDialogModel.d.ts +10 -10
- package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +2 -2
- package/dist/es6/dialog/lib/hooks/useDialogPopper.js +1 -1
- package/dist/es6/disclosure/lib/useDisclosureModel.d.ts +22 -22
- package/dist/es6/disclosure/lib/useDisclosureModel.js +2 -2
- package/dist/es6/form-field/lib/FormField.d.ts +1 -2
- package/dist/es6/form-field/lib/FormField.d.ts.map +1 -1
- package/dist/es6/form-field/lib/FormField.js +3 -1
- package/dist/es6/form-field/lib/Hint.js +2 -0
- package/dist/es6/form-field/lib/Label.js +7 -7
- package/dist/es6/icon/lib/AccentIcon.d.ts +1 -1
- package/dist/es6/icon/lib/AccentIcon.d.ts.map +1 -1
- package/dist/es6/icon/lib/AppletIcon.d.ts +1 -1
- package/dist/es6/icon/lib/Graphic.d.ts +1 -1
- package/dist/es6/icon/lib/Graphic.d.ts.map +1 -1
- package/dist/es6/icon/lib/Icon.d.ts +1 -1
- package/dist/es6/icon/lib/Icon.d.ts.map +1 -1
- package/dist/es6/icon/lib/Svg.d.ts +1 -1
- package/dist/es6/icon/lib/Svg.d.ts.map +1 -1
- package/dist/es6/icon/lib/SystemIcon.d.ts +1 -2
- package/dist/es6/icon/lib/SystemIcon.d.ts.map +1 -1
- package/dist/es6/icon/lib/SystemIconCircle.d.ts +1 -1
- package/dist/es6/icon/lib/SystemIconCircle.d.ts.map +1 -1
- package/dist/es6/layout/lib/Box.d.ts +1 -1
- package/dist/es6/layout/lib/Box.d.ts.map +1 -1
- package/dist/es6/layout/lib/Column.js +2 -0
- package/dist/es6/layout/lib/Flex.d.ts +2 -2
- package/dist/es6/layout/lib/Grid.d.ts +2 -2
- package/dist/es6/layout/lib/Layout.js +2 -0
- package/dist/es6/layout/lib/Stack.d.ts +7 -6
- package/dist/es6/layout/lib/Stack.d.ts.map +1 -1
- package/dist/es6/layout/lib/utils/border/color.d.ts +7 -7
- package/dist/es6/layout/lib/utils/border/index.js +5 -7
- package/dist/es6/layout/lib/utils/getValidChildren.d.ts +1 -1
- package/dist/es6/layout/lib/utils/getValidChildren.d.ts.map +1 -1
- package/dist/es6/layout/lib/utils/layout.d.ts +1 -1
- package/dist/es6/layout/lib/utils/layout.d.ts.map +1 -1
- package/dist/es6/layout/lib/utils/stack.d.ts +0 -2
- package/dist/es6/layout/lib/utils/stack.d.ts.map +1 -1
- package/dist/es6/menu/lib/Menu.d.ts +218 -378
- package/dist/es6/menu/lib/Menu.d.ts.map +1 -1
- package/dist/es6/menu/lib/Menu.js +37 -9
- package/dist/es6/menu/lib/MenuCard.d.ts +8 -8
- package/dist/es6/menu/lib/MenuContextTarget.d.ts +8 -8
- package/dist/es6/menu/lib/MenuDivider.d.ts +1 -1
- package/dist/es6/menu/lib/MenuDivider.d.ts.map +1 -1
- package/dist/es6/menu/lib/MenuItem.d.ts +10 -10
- package/dist/es6/menu/lib/MenuList.d.ts +10 -10
- package/dist/es6/menu/lib/MenuPopper.d.ts +6 -6
- package/dist/es6/menu/lib/MenuTarget.d.ts +87 -12
- package/dist/es6/menu/lib/MenuTarget.d.ts.map +1 -1
- package/dist/es6/menu/lib/MenuTarget.js +1 -1
- package/dist/es6/menu/lib/useMenuModel.d.ts +173 -173
- package/dist/es6/modal/lib/Modal.d.ts +202 -46
- package/dist/es6/modal/lib/Modal.d.ts.map +1 -1
- package/dist/es6/modal/lib/Modal.js +76 -5
- package/dist/es6/modal/lib/ModalBody.d.ts +2 -2
- package/dist/es6/modal/lib/ModalCard.d.ts +2 -2
- package/dist/es6/modal/lib/ModalCard.js +1 -1
- package/dist/es6/modal/lib/ModalHeading.d.ts +2 -2
- package/dist/es6/modal/lib/ModalOverflowOverlay.d.ts +3 -3
- package/dist/es6/modal/lib/ModalOverflowOverlay.js +1 -1
- package/dist/es6/modal/lib/ModalOverlay.d.ts +4 -4
- package/dist/es6/modal/lib/hooks/useCloseOnOverlayClick.d.ts +2 -2
- package/dist/es6/modal/lib/hooks/useModalCard.d.ts +2 -2
- package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +2 -2
- package/dist/es6/modal/lib/hooks/useModalModel.d.ts +10 -10
- package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts +1 -2
- package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +11 -6
- package/dist/es6/pagination/lib/Pagination/Controls.d.ts +12 -11
- package/dist/es6/pagination/lib/Pagination/Controls.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/Controls.js +80 -60
- package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts +4 -3
- package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +14 -6
- package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +2 -3
- package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +10 -4
- package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.d.ts +4 -1
- package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.js +9 -15
- package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.d.ts +9 -0
- package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.js +1 -0
- package/dist/es6/pagination/lib/Pagination/Nav.d.ts +1 -1
- package/dist/es6/pagination/lib/Pagination/Nav.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/Nav.js +2 -14
- package/dist/es6/pagination/lib/Pagination/PageButton.d.ts +4 -5
- package/dist/es6/pagination/lib/Pagination/PageButton.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/PageButton.js +17 -11
- package/dist/es6/pagination/lib/Pagination/PageList.d.ts +4 -4
- package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/PageList.js +17 -8
- package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +230 -38
- package/dist/es6/pagination/lib/Pagination/Pagination.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/Pagination.js +229 -77
- package/dist/es6/pagination/lib/Pagination/buildPageRange.js +5 -7
- package/dist/es6/pagination/lib/Pagination/common/List.d.ts +2 -2
- 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/helpers.d.ts +45 -15
- package/dist/es6/pagination/lib/Pagination/common/utils/helpers.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/common/utils/helpers.js +45 -15
- package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts +3 -1
- package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
- package/dist/es6/pagination/lib/Pagination/usePaginationModel.js +4 -3
- package/dist/es6/popup/lib/Popper.d.ts +16 -1
- package/dist/es6/popup/lib/Popper.d.ts.map +1 -1
- package/dist/es6/popup/lib/Popper.js +21 -8
- package/dist/es6/popup/lib/Popup.d.ts +183 -22
- package/dist/es6/popup/lib/Popup.d.ts.map +1 -1
- package/dist/es6/popup/lib/Popup.js +85 -4
- package/dist/es6/popup/lib/PopupBody.d.ts +2 -2
- package/dist/es6/popup/lib/PopupCard.d.ts +2 -2
- package/dist/es6/popup/lib/PopupCloseButton.d.ts +2 -2
- package/dist/es6/popup/lib/PopupCloseIcon.d.ts +2 -2
- package/dist/es6/popup/lib/PopupHeading.d.ts +2 -2
- package/dist/es6/popup/lib/PopupPopper.d.ts +2 -2
- package/dist/es6/popup/lib/PopupTarget.d.ts +2 -2
- package/dist/es6/popup/lib/hooks/useAlwaysCloseOnOutsideClick.d.ts +2 -2
- package/dist/es6/popup/lib/hooks/useAssistiveHideSiblings.d.ts +2 -2
- package/dist/es6/popup/lib/hooks/useAssistiveHideSiblings.js +5 -7
- package/dist/es6/popup/lib/hooks/useBringToTopOnClick.d.ts +6 -6
- package/dist/es6/popup/lib/hooks/useBringToTopOnClick.js +4 -4
- package/dist/es6/popup/lib/hooks/useCloseOnEscape.d.ts +4 -4
- package/dist/es6/popup/lib/hooks/useCloseOnEscape.js +2 -2
- package/dist/es6/popup/lib/hooks/useCloseOnFullscreenExit.d.ts +2 -2
- package/dist/es6/popup/lib/hooks/useCloseOnOutsideClick.d.ts +8 -8
- package/dist/es6/popup/lib/hooks/useCloseOnOutsideClick.js +6 -6
- package/dist/es6/popup/lib/hooks/useCloseOnTargetHidden.d.ts +2 -2
- package/dist/es6/popup/lib/hooks/useDisableBodyScroll.d.ts +2 -2
- package/dist/es6/popup/lib/hooks/useFocusRedirect.d.ts +2 -2
- package/dist/es6/popup/lib/hooks/useFocusTrap.d.ts +2 -2
- package/dist/es6/popup/lib/hooks/useInitialFocus.d.ts +4 -4
- package/dist/es6/popup/lib/hooks/useInitialFocus.js +2 -2
- package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +3 -3
- package/dist/es6/popup/lib/hooks/usePopupCard.js +1 -1
- package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +5 -4
- package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
- package/dist/es6/popup/lib/hooks/usePopupCloseButton.js +3 -2
- package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +3 -3
- package/dist/es6/popup/lib/hooks/usePopupHeading.js +1 -1
- package/dist/es6/popup/lib/hooks/usePopupModel.d.ts +13 -13
- package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -3
- package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
- package/dist/es6/popup/lib/hooks/usePopupPopper.js +2 -1
- package/dist/es6/popup/lib/hooks/usePopupStack.d.ts +27 -19
- package/dist/es6/popup/lib/hooks/usePopupStack.d.ts.map +1 -1
- package/dist/es6/popup/lib/hooks/usePopupStack.js +26 -18
- package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +3 -3
- package/dist/es6/popup/lib/hooks/usePopupTarget.js +1 -1
- package/dist/es6/popup/lib/hooks/usePopupTargetContext.d.ts +2 -2
- package/dist/es6/popup/lib/hooks/useReturnFocus.d.ts +4 -4
- package/dist/es6/popup/lib/hooks/useReturnFocus.js +2 -2
- package/dist/es6/popup/lib/hooks/useTransferOnFullscreenEnter.d.ts +2 -2
- package/dist/es6/popup/lib/hooks/useTransferOnFullscreenExit.d.ts +2 -2
- package/dist/es6/radio/lib/Radio.d.ts +1 -1
- package/dist/es6/radio/lib/Radio.d.ts.map +1 -1
- package/dist/es6/radio/lib/Radio.js +1 -1
- package/dist/es6/radio/lib/RadioGroup.d.ts +1 -2
- package/dist/es6/radio/lib/RadioGroup.d.ts.map +1 -1
- package/dist/es6/radio/lib/RadioGroup.js +3 -1
- package/dist/es6/segmented-control/lib/SegmentedControl.d.ts +2 -2
- package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts +1 -1
- package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -1
- package/dist/es6/select/lib/Select.d.ts +1 -1
- package/dist/es6/select/lib/Select.d.ts.map +1 -1
- package/dist/es6/select/lib/Select.js +2 -2
- package/dist/es6/select/lib/SelectOption.js +2 -0
- package/dist/es6/side-panel/lib/SidePanel.js +3 -1
- package/dist/es6/skeleton/lib/parts/skeletonHeader.d.ts +1 -1
- package/dist/es6/skeleton/lib/parts/skeletonHeader.d.ts.map +1 -1
- package/dist/es6/skeleton/lib/parts/skeletonShape.d.ts +1 -1
- package/dist/es6/skeleton/lib/parts/skeletonShape.d.ts.map +1 -1
- package/dist/es6/skeleton/lib/parts/skeletonText.d.ts +1 -1
- package/dist/es6/skeleton/lib/parts/skeletonText.d.ts.map +1 -1
- package/dist/es6/skeleton/lib/skeleton.d.ts +30 -4
- package/dist/es6/skeleton/lib/skeleton.d.ts.map +1 -1
- package/dist/es6/skeleton/lib/skeleton.js +27 -1
- package/dist/es6/status-indicator/lib/StatusIndicator.js +2 -0
- package/dist/es6/switch/lib/Switch.d.ts +1 -1
- package/dist/es6/table/lib/Table.js +2 -0
- package/dist/es6/table/lib/TableRow.d.ts +2 -1
- package/dist/es6/table/lib/TableRow.d.ts.map +1 -1
- package/dist/es6/tabs/lib/Tabs.d.ts +585 -382
- package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
- package/dist/es6/tabs/lib/Tabs.js +94 -2
- package/dist/es6/tabs/lib/TabsItem.d.ts +15 -15
- package/dist/es6/tabs/lib/TabsList.d.ts +12 -12
- package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -1
- package/dist/es6/tabs/lib/TabsList.js +4 -1
- package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +6 -6
- package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +12 -12
- package/dist/es6/tabs/lib/TabsOverflowButton.js +2 -2
- package/dist/es6/tabs/lib/TabsPanel.d.ts +12 -12
- package/dist/es6/tabs/lib/TabsPanels.d.ts +8 -8
- package/dist/es6/tabs/lib/useTabsModel.d.ts +534 -506
- package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
- package/dist/es6/tabs/lib/useTabsModel.js +18 -1
- package/dist/es6/text/lib/LabelText.d.ts +4 -9
- package/dist/es6/text/lib/LabelText.d.ts.map +1 -1
- package/dist/es6/text/lib/LabelText.js +3 -8
- package/dist/es6/text/lib/Text.d.ts +11 -15
- package/dist/es6/text/lib/Text.d.ts.map +1 -1
- package/dist/es6/text/lib/Text.js +10 -12
- package/dist/es6/text/lib/TypeLevelComponents.d.ts +4 -24
- package/dist/es6/text/lib/TypeLevelComponents.d.ts.map +1 -1
- package/dist/es6/text/lib/TypeLevelComponents.js +0 -20
- package/dist/es6/text-area/lib/TextArea.d.ts +1 -1
- package/dist/es6/text-input/lib/TextInput.d.ts +1 -1
- package/dist/es6/toast/lib/Toast.d.ts +1 -1
- package/dist/es6/toast/lib/Toast.d.ts.map +1 -1
- package/dist/es6/tokens/lib/type/index.d.ts +7 -7
- package/dist/es6/tokens/lib/type/index.js +2 -2
- package/dist/es6/tooltip/lib/Tooltip.d.ts +1 -1
- package/dist/es6/tooltip/lib/Tooltip.d.ts.map +1 -1
- package/dist/es6/tooltip/lib/Tooltip.js +23 -20
- package/dist/es6/tooltip/lib/TooltipContainer.d.ts +1 -1
- package/form-field/lib/FormField.tsx +1 -3
- package/icon/lib/SystemIcon.tsx +0 -1
- package/layout/lib/utils/border/color.ts +7 -7
- package/layout/lib/utils/layout.ts +1 -1
- package/menu/lib/Menu.tsx +37 -9
- package/menu/lib/MenuTarget.tsx +1 -1
- package/modal/lib/Modal.tsx +76 -5
- package/package.json +3 -3
- package/pagination/lib/Pagination/AdditionalDetails.tsx +30 -20
- package/pagination/lib/Pagination/Controls.tsx +121 -98
- package/pagination/lib/Pagination/GoTo/Form.tsx +33 -21
- package/pagination/lib/Pagination/GoTo/Label.tsx +21 -10
- package/pagination/lib/Pagination/GoTo/TextInput.tsx +11 -7
- package/pagination/lib/Pagination/GoTo/useGoToForm.tsx +2 -0
- package/pagination/lib/Pagination/Nav.tsx +1 -2
- package/pagination/lib/Pagination/PageButton.tsx +34 -31
- package/pagination/lib/Pagination/PageList.tsx +33 -20
- package/pagination/lib/Pagination/Pagination.tsx +256 -139
- package/pagination/lib/Pagination/common/utils/helpers.ts +45 -15
- package/pagination/lib/Pagination/usePaginationModel.ts +4 -7
- package/popup/lib/Popper.tsx +16 -1
- package/popup/lib/Popup.tsx +85 -4
- package/popup/lib/hooks/useBringToTopOnClick.ts +4 -4
- package/popup/lib/hooks/useCloseOnEscape.ts +2 -2
- package/popup/lib/hooks/useCloseOnOutsideClick.ts +6 -6
- package/popup/lib/hooks/useInitialFocus.tsx +2 -2
- package/popup/lib/hooks/usePopupCard.ts +1 -1
- package/popup/lib/hooks/usePopupCloseButton.ts +3 -2
- package/popup/lib/hooks/usePopupHeading.ts +1 -1
- package/popup/lib/hooks/usePopupPopper.ts +2 -1
- package/popup/lib/hooks/usePopupStack.ts +26 -18
- package/popup/lib/hooks/usePopupTarget.ts +1 -1
- package/popup/lib/hooks/useReturnFocus.tsx +2 -2
- package/radio/lib/RadioGroup.tsx +1 -3
- package/select/lib/Select.tsx +2 -15
- package/skeleton/lib/skeleton.tsx +27 -1
- package/tabs/lib/Tabs.tsx +95 -3
- package/tabs/lib/TabsItem.tsx +2 -2
- package/tabs/lib/TabsList.tsx +4 -1
- package/tabs/lib/TabsOverflowButton.tsx +3 -3
- package/tabs/lib/TabsPanel.tsx +2 -2
- package/tabs/lib/useTabsModel.tsx +16 -0
- package/text/lib/LabelText.tsx +3 -8
- package/text/lib/Text.tsx +17 -21
- package/text/lib/TypeLevelComponents.tsx +0 -20
- package/tokens/lib/type/index.ts +8 -8
- package/tooltip/lib/Tooltip.tsx +42 -39
- package/dist/commonjs/pagination/lib/Pagination/GoTo/GoTo.d.ts +0 -17
- package/dist/commonjs/pagination/lib/Pagination/GoTo/GoTo.d.ts.map +0 -1
- package/dist/commonjs/pagination/lib/Pagination/GoTo/GoTo.js +0 -58
- package/dist/commonjs/pagination/lib/Pagination/GoTo/index.d.ts +0 -4
- package/dist/commonjs/pagination/lib/Pagination/GoTo/index.d.ts.map +0 -1
- package/dist/commonjs/pagination/lib/Pagination/GoTo/index.js +0 -16
- package/dist/es6/pagination/lib/Pagination/GoTo/GoTo.d.ts +0 -17
- package/dist/es6/pagination/lib/Pagination/GoTo/GoTo.d.ts.map +0 -1
- package/dist/es6/pagination/lib/Pagination/GoTo/GoTo.js +0 -35
- package/dist/es6/pagination/lib/Pagination/GoTo/index.d.ts +0 -4
- package/dist/es6/pagination/lib/Pagination/GoTo/index.d.ts.map +0 -1
- package/dist/es6/pagination/lib/Pagination/GoTo/index.js +0 -3
- package/pagination/lib/Pagination/GoTo/GoTo.tsx +0 -36
- package/pagination/lib/Pagination/GoTo/index.ts +0 -4
|
@@ -1,52 +1,82 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* This function takes the number of results per page and the total count of results and returns the
|
|
3
|
+
* last page number. Here's an example:
|
|
4
|
+
*
|
|
5
|
+
* Given there are 10 results per page, and there are 128 total results, the function will return 13.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* const lastPage = getLastPage(10, 128); //=> 13
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
3
11
|
* @param resultCount number of results per page
|
|
4
12
|
* @param totalCount total number of results
|
|
5
|
-
* @example
|
|
6
|
-
* const lastPage = getLastPage(10, 120); //=> 12
|
|
7
13
|
*/
|
|
8
14
|
export function getLastPage(resultCount: number, totalCount: number): number {
|
|
9
15
|
return Math.ceil(totalCount / resultCount);
|
|
10
16
|
}
|
|
11
17
|
|
|
12
18
|
/**
|
|
13
|
-
*
|
|
19
|
+
* This function takes the pagination range and returns its minimum value. Here's an example:
|
|
20
|
+
*
|
|
21
|
+
* Given the pagination range is 1-5, the function will return 1.
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* const range = [1, 2, 3, 4, 5];
|
|
25
|
+
* const rangeMin = getRangeMin(range); //=> 1
|
|
26
|
+
* ```
|
|
14
27
|
* @param range the range of numbers for the pagination component
|
|
15
|
-
* @example
|
|
16
|
-
* const rangeMin = getRangeMin([1,2,3,4,5]) //=> 1
|
|
17
28
|
*/
|
|
18
29
|
export function getRangeMin(range: number[]): number {
|
|
19
30
|
return range[0];
|
|
20
31
|
}
|
|
21
32
|
|
|
22
33
|
/**
|
|
23
|
-
*
|
|
34
|
+
* This function takes the pagination range and returns its maximum value. Here's an example:
|
|
35
|
+
*
|
|
36
|
+
* Given the pagination range is 1-5, the function will return 5.
|
|
37
|
+
*
|
|
38
|
+
* ```ts
|
|
39
|
+
* const range = [1, 2, 3, 4, 5];
|
|
40
|
+
* const rangeMin = getRangeMax(range); //=> 5
|
|
41
|
+
* ```
|
|
24
42
|
* @param range the range of numbers for the pagination component
|
|
25
|
-
* @example
|
|
26
|
-
* const rangeMax = getRangeMax([1,2,3,4,5]) //=> 5
|
|
27
43
|
*/
|
|
28
44
|
export function getRangeMax(range: number[]): number {
|
|
29
45
|
return range[range.length - 1];
|
|
30
46
|
}
|
|
31
47
|
|
|
32
48
|
/**
|
|
33
|
-
*
|
|
49
|
+
* This function takes the current page, and number of results per page, and returns the minimum value
|
|
50
|
+
* for that page. Here's an example:
|
|
51
|
+
*
|
|
52
|
+
* Given there are 10 results per page, and the current page is 5, the function will return 41.
|
|
53
|
+
*
|
|
54
|
+
* ```ts
|
|
55
|
+
* const pageMin = getVisibleResultsMin(5, 10); //=> 41
|
|
56
|
+
* ```
|
|
34
57
|
* @param currentPage current page for the range
|
|
35
58
|
* @param resultCount number of results per page
|
|
36
|
-
* @example
|
|
37
|
-
* const pageMin = getVisibleResultsMin(5, 10); //=> 41
|
|
38
59
|
*/
|
|
39
60
|
export function getVisibleResultsMin(currentPage: number, resultCount: number): number {
|
|
40
61
|
return currentPage * resultCount - resultCount + 1;
|
|
41
62
|
}
|
|
42
63
|
|
|
43
64
|
/**
|
|
44
|
-
*
|
|
65
|
+
* This function takes the current page, number of results per page, and the total number of results,
|
|
66
|
+
* and returns the maximum value for that page. Here's an example:
|
|
67
|
+
*
|
|
68
|
+
* Given there are 10 results per page, the current page is 5, and there are 42 results total, the
|
|
69
|
+
* function will return 42.
|
|
70
|
+
*
|
|
71
|
+
* ```ts
|
|
72
|
+
* const currentPage = 5;
|
|
73
|
+
* const resultCount = 10;
|
|
74
|
+
* const totalCount = 42;
|
|
75
|
+
* const pageMax = getVisibleResultsMax(currentPage, resultCount, totalCount); //=> 42
|
|
76
|
+
* ```
|
|
45
77
|
* @param currentPage current page for the range
|
|
46
78
|
* @param resultCount number of results per page
|
|
47
79
|
* @param totalCount total number of results
|
|
48
|
-
* @example
|
|
49
|
-
* const pageMax = getVisiblePageMax(5,10,100); //=> 50
|
|
50
80
|
*/
|
|
51
81
|
export function getVisibleResultsMax(
|
|
52
82
|
currentPage: number,
|
|
@@ -4,6 +4,8 @@ import {buildPageRange} from './buildPageRange';
|
|
|
4
4
|
import {getRangeMax, getRangeMin} from './common/utils/helpers';
|
|
5
5
|
import {PaginationModel} from './types';
|
|
6
6
|
|
|
7
|
+
export const PaginationContext = React.createContext({} as PaginationModel);
|
|
8
|
+
|
|
7
9
|
export type UsePaginationModelConfig = {
|
|
8
10
|
/**
|
|
9
11
|
* The page number for the last page (it can also be used as a total page
|
|
@@ -31,13 +33,8 @@ export type UsePaginationModelConfig = {
|
|
|
31
33
|
rangeSize?: number;
|
|
32
34
|
};
|
|
33
35
|
|
|
34
|
-
export const usePaginationModel = ({
|
|
35
|
-
firstPage = 1,
|
|
36
|
-
initialCurrentPage = 1,
|
|
37
|
-
lastPage,
|
|
38
|
-
rangeSize = 5,
|
|
39
|
-
onPageChange,
|
|
40
|
-
}: UsePaginationModelConfig): PaginationModel => {
|
|
36
|
+
export const usePaginationModel = (config: UsePaginationModelConfig): PaginationModel => {
|
|
37
|
+
const {firstPage = 1, initialCurrentPage = 1, lastPage, rangeSize = 5, onPageChange} = config;
|
|
41
38
|
const [currentPage, setCurrentPage] = React.useState(initialCurrentPage);
|
|
42
39
|
|
|
43
40
|
const changePage = (page: number) => {
|
package/popup/lib/Popper.tsx
CHANGED
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import * as ReactDOM from 'react-dom';
|
|
3
3
|
import * as PopperJS from '@popperjs/core';
|
|
4
4
|
|
|
5
|
-
export type Placement = PopperJS.Placement
|
|
5
|
+
export type Placement = `${PopperJS.Placement}`; // Use template literals to make documentation list them out
|
|
6
6
|
export type PopperOptions = PopperJS.Options;
|
|
7
7
|
|
|
8
8
|
import {usePopupStack} from './hooks';
|
|
@@ -68,6 +68,21 @@ export interface PopperProps {
|
|
|
68
68
|
popperInstanceRef?: React.Ref<PopperJS.Instance>;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
/**
|
|
72
|
+
* A thin wrapper component around the Popper.js positioning engine. For reference:
|
|
73
|
+
* https://popper.js.org/. `Popper` also automatically works with the {@link PopupStack} system.
|
|
74
|
+
* `Popper` has no UI and will render any children to the `body` element and position around a
|
|
75
|
+
* provided `anchorElement`.
|
|
76
|
+
*
|
|
77
|
+
* Prefer using {@link PopupPopper Popup.Popper} instead. Use this to make Popups that don't utilize
|
|
78
|
+
* a PopupModel or any associate popup [hooks](#hooks).
|
|
79
|
+
*
|
|
80
|
+
* > **Note:** `Popper` renders any children to a `div` element created by the `PopupStack`. This
|
|
81
|
+
* > element is not controlled by React, so any extra element props will _not_ be forwarded. The
|
|
82
|
+
* > `ref` will point to the `div` element created by the `PopupStack`, however. In v4, an extra
|
|
83
|
+
* > `div` element was rendered and that's where extra props were spread to. In v5+, you can provide
|
|
84
|
+
* > your own element if you wish.
|
|
85
|
+
*/
|
|
71
86
|
export const Popper = React.forwardRef<HTMLDivElement, PopperProps>(
|
|
72
87
|
({portal = true, open = true, ...elemProps}: PopperProps, ref) => {
|
|
73
88
|
if (!open) {
|
package/popup/lib/Popup.tsx
CHANGED
|
@@ -18,16 +18,97 @@ export interface PopupProps {
|
|
|
18
18
|
children: React.ReactNode;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
/**
|
|
22
|
+
* This component is a container component that has no semantic element. It provides a React Context
|
|
23
|
+
* model for all Popup subcomponents. A `model` can be manually passed to subcomponents to override
|
|
24
|
+
* the model context.
|
|
25
|
+
*
|
|
26
|
+
* ```tsx
|
|
27
|
+
* // using Popup
|
|
28
|
+
* <Popup model={model}>
|
|
29
|
+
* <Popup.Target /> // no model here
|
|
30
|
+
* </Popup>
|
|
31
|
+
*
|
|
32
|
+
* // using models on subcomponents
|
|
33
|
+
* <>
|
|
34
|
+
* <Popup.Target model={model} />
|
|
35
|
+
* </>
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
21
38
|
export const Popup = createContainer()({
|
|
22
39
|
displayName: 'Popup',
|
|
23
40
|
modelHook: usePopupModel,
|
|
24
41
|
subComponents: {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
42
|
+
/**
|
|
43
|
+
* A `Popup.Target` is any element that is meant to show the Popup. The default component
|
|
44
|
+
* rendered by this component is a {@link SecondaryButton} element. You can override this by
|
|
45
|
+
* passing the desired component via `as`. Many examples above use `as={DeleteButton}`. If you
|
|
46
|
+
* want to render a {@link TertiaryButton} instead, use `as={TertiaryButton}`. The behavior hook
|
|
47
|
+
* used is called {@link usePopupTarget}.
|
|
48
|
+
*
|
|
49
|
+
* ```tsx
|
|
50
|
+
* const model = usePopupModel();
|
|
51
|
+
*
|
|
52
|
+
* // using this component
|
|
53
|
+
* <Popup.Target>Show Popup</PopupTarget>
|
|
54
|
+
*
|
|
55
|
+
* // using props instead
|
|
56
|
+
* const popupTargetButtonProps = usePopupTarget(model);
|
|
57
|
+
* <SecondaryButton {...popupTargetButtonProps}>Show Popup</SecondaryButton>
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* `Popup.Target` doesn't provide any styling by default. All styling comes from the default
|
|
61
|
+
* component used, which is {@link SecondaryButton}. If you don't want any styling, you can do
|
|
62
|
+
* the following:
|
|
63
|
+
*
|
|
64
|
+
* ```tsx
|
|
65
|
+
* <Popup.Target as="button">Open</Popup.Target>
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* To add your own styling, you could either add a `css` prop, or make a styled button and pass
|
|
69
|
+
* that styled component via the `as` prop.
|
|
70
|
+
*/
|
|
29
71
|
Target: PopupTarget,
|
|
72
|
+
/**
|
|
73
|
+
* A `Popup.Popper` is a {@link Popper} component that is hooked up to the {@link PopupModel}
|
|
74
|
+
* automatically. The behavior hook used is called {@link usePopupPopper}.
|
|
75
|
+
*
|
|
76
|
+
* > **Note:** `Popup.Popper` renders any children to a `div` element created by the
|
|
77
|
+
* > {@link PopupStack}. This element is not controlled by React, so any extra element props
|
|
78
|
+
* > will _not_ be forwarded. The `ref` will point to the `div` element created by the
|
|
79
|
+
* > `PopupStack`, however. If you wish to add extra props to an element, add them to the
|
|
80
|
+
* > {@link PopupCard Popup.Card} instead.
|
|
81
|
+
*/
|
|
30
82
|
Popper: PopupPopper,
|
|
83
|
+
/**
|
|
84
|
+
* A `Popup.Card` is a wrapper around the {@link Card} component, but hooked up to a
|
|
85
|
+
* {@link PopupModel}. By default, this element has a `role=dialog` and an `aria-labelledby`.
|
|
86
|
+
* The behavior hook used is called {@link usePopupCard}.
|
|
87
|
+
*/
|
|
88
|
+
Card: PopupCard,
|
|
89
|
+
/**
|
|
90
|
+
* A `Popup.CloseIcon` is an icon button that is the `X` in the top of a popup. It will hide a
|
|
91
|
+
* popup when clicked. The behavior hook used is called {@link usePopupCloseButton}.
|
|
92
|
+
*/
|
|
93
|
+
CloseIcon: PopupCloseIcon,
|
|
94
|
+
/**
|
|
95
|
+
* A `Popup.Heading` is a wrapper around {@link CardHeading Card.Heading} that connect the
|
|
96
|
+
* heading to a {@link PopupModel}. It will add an `id` to the element that match the
|
|
97
|
+
* `aria-labelledby` that is applied to the `Popup.Card` element for accessibility. The behavior
|
|
98
|
+
* hook used is called {@link usePopupHeading}.
|
|
99
|
+
*/
|
|
100
|
+
Heading: PopupHeading,
|
|
101
|
+
/**
|
|
102
|
+
* A `Popup.Body` is a thin wrapper around {@link CardBody Card.Body} and doesn't actually take
|
|
103
|
+
* a model. It adds `body` styling and nothing else.
|
|
104
|
+
*/
|
|
105
|
+
Body: PopupBody,
|
|
106
|
+
/**
|
|
107
|
+
* A `Popup.CloseButton` is a button that will hide a popup. By default, this is a
|
|
108
|
+
* {@link SecondaryButton} component, but `as` can be used to render any button element (i.e
|
|
109
|
+
* {@link DeleteButton} or {@link PrimaryButton}). The behavior hook used is called
|
|
110
|
+
* {@link usePopupCloseButton}.
|
|
111
|
+
*/
|
|
31
112
|
CloseButton: PopupCloseButton,
|
|
32
113
|
},
|
|
33
114
|
})<PopupProps>(({children}: PopupProps) => {
|
|
@@ -6,10 +6,10 @@ import {usePopupModel} from './usePopupModel';
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* This hook will bring an element to the top of the stack when any element inside the provided
|
|
9
|
-
* PopupModel's `state.stackRef` element is clicked. If
|
|
10
|
-
* provided an `owner`, all "child" popups will also be brought to the top.
|
|
11
|
-
* Popup that was opened from another Popup. Usually this is a Tooltip or
|
|
12
|
-
* something like a Modal.
|
|
9
|
+
* {@link PopupModel}'s `state.stackRef` element is clicked. If {@link PopupPopper Popup.Popper} was
|
|
10
|
+
* used or `PopupStack.add` provided an `owner`, all "child" popups will also be brought to the top.
|
|
11
|
+
* A "child" popup is a Popup that was opened from another Popup. Usually this is a Tooltip or
|
|
12
|
+
* Select component inside something like a Modal.
|
|
13
13
|
*
|
|
14
14
|
* This should be used on popup elements that are meant to persist (i.e. Windows).
|
|
15
15
|
*/
|
|
@@ -6,8 +6,8 @@ import {createElemPropsHook} from '@workday/canvas-kit-react/common';
|
|
|
6
6
|
import {usePopupModel} from './usePopupModel';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Registers global detection of the Escape key. It will only call the PopupModel's `hide`
|
|
10
|
-
* provided model's `state.stackRef` element is the topmost in the stack.
|
|
9
|
+
* Registers global detection of the Escape key. It will only call the {@link PopupModel}'s `hide`
|
|
10
|
+
* event if the provided model's `state.stackRef` element is the topmost in the stack.
|
|
11
11
|
*
|
|
12
12
|
* This should be used with popup elements that are dismissible like Tooltips, Modals, non-modal
|
|
13
13
|
* dialogs, dropdown menus, etc.
|
|
@@ -6,14 +6,14 @@ import {createElemPropsHook} from '@workday/canvas-kit-react/common';
|
|
|
6
6
|
import {usePopupModel} from './usePopupModel';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Registers global listener for all clicks. It will only call the PopupModel's `hide` event
|
|
10
|
-
* click happened outside the PopupModel's `state.stackRef` element and its children _and_
|
|
11
|
-
* provided `stackRef` element is the topmost element with this behavior applied in the stack.
|
|
12
|
-
* a `data-behavior-click-outside-close="topmost"` attribute to ensure proper functionality.
|
|
9
|
+
* Registers global listener for all clicks. It will only call the {@link PopupModel}'s `hide` event
|
|
10
|
+
* if the click happened outside the PopupModel's `state.stackRef` element and its children _and_
|
|
11
|
+
* the provided `stackRef` element is the topmost element with this behavior applied in the stack.
|
|
12
|
+
* Adds a `data-behavior-click-outside-close="topmost"` attribute to ensure proper functionality.
|
|
13
13
|
*
|
|
14
14
|
* This should be used with popup elements that are dismissible like Modals, non-modal dialogs,
|
|
15
|
-
* dropdown menus, etc. Tooltips and hierarchical menus should use
|
|
16
|
-
* instead.
|
|
15
|
+
* dropdown menus, etc. Tooltips and hierarchical menus should use
|
|
16
|
+
* {@link useAlwaysCloseOnClickOutside} instead.
|
|
17
17
|
*/
|
|
18
18
|
export const useCloseOnOutsideClick = createElemPropsHook(usePopupModel)(model => {
|
|
19
19
|
const onClick = React.useCallback(
|
|
@@ -11,8 +11,8 @@ import {usePopupModel} from './usePopupModel';
|
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Moves focus within the popup when the popup becomes visible. This is useful for keyboard and
|
|
14
|
-
* screen reader users alike. This should be used with
|
|
15
|
-
* complete focus management solution.
|
|
14
|
+
* screen reader users alike. This should be used with {@link useFocusRedirect} or
|
|
15
|
+
* {@link useFocusTrap} for a complete focus management solution.
|
|
16
16
|
*
|
|
17
17
|
* This should be used for popups that have focusable elements inside, like Modals, non-modal
|
|
18
18
|
* dialogs, menus, etc.
|
|
@@ -3,7 +3,7 @@ import {createElemPropsHook} from '@workday/canvas-kit-react/common';
|
|
|
3
3
|
import {usePopupModel} from './usePopupModel';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Adds the necessary props to a
|
|
6
|
+
* Adds the necessary props to a {@link PopupCard Popup.Card} subcomponent.
|
|
7
7
|
*/
|
|
8
8
|
export const usePopupCard = createElemPropsHook(usePopupModel)(({state}) => {
|
|
9
9
|
return {
|
|
@@ -2,8 +2,9 @@ import {createElemPropsHook} from '@workday/canvas-kit-react/common';
|
|
|
2
2
|
import {usePopupModel} from './usePopupModel';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Adds the necessary props to a close button component. Used by the
|
|
6
|
-
*
|
|
5
|
+
* Adds the necessary props to a close button component. Used by the
|
|
6
|
+
* {@link PopupCloseButton Popup.CloseButton} subcomponent and
|
|
7
|
+
* {@link PopupCloseIcon Popup.CloseIcon} subcomponent.
|
|
7
8
|
*/
|
|
8
9
|
export const usePopupCloseButton = createElemPropsHook(usePopupModel)(({events}) => {
|
|
9
10
|
return {
|
|
@@ -2,7 +2,7 @@ import {createElemPropsHook} from '@workday/canvas-kit-react/common';
|
|
|
2
2
|
import {usePopupModel} from './usePopupModel';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Adds the necessary props to the
|
|
5
|
+
* Adds the necessary props to the {@link PopupHeading Popup.Heading} subcomponent.
|
|
6
6
|
*/
|
|
7
7
|
export const usePopupHeading = createElemPropsHook(usePopupModel)(({state}) => {
|
|
8
8
|
return {
|
|
@@ -4,7 +4,8 @@ import React from 'react';
|
|
|
4
4
|
import {Placement} from '../Popper';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Adds the necessary props to a {@link Popper} component. Used by the
|
|
8
|
+
* {@link PopupPopper Popup.Popper} subcomponent.
|
|
8
9
|
*/
|
|
9
10
|
export const usePopupPopper = createElemPropsHook(usePopupModel)(({state, events}, ref) => {
|
|
10
11
|
const elementRef = useForkRef(ref, state.stackRef);
|
|
@@ -4,38 +4,46 @@ import {PopupStack} from '@workday/canvas-kit-popup-stack';
|
|
|
4
4
|
import {useLocalRef, useIsRTL} from '@workday/canvas-kit-react/common';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* **Note:** If you're using {@link Popper}, you do not need to use this hook directly.
|
|
8
8
|
*
|
|
9
|
-
* This hook will add the `stackRef` element to the
|
|
10
|
-
* you use `Popper`, the popper `stackRef` is automatically added/removed from the
|
|
11
|
-
*
|
|
9
|
+
* This hook will add the `stackRef` element to the {@link PopupStack} on mount and remove on unmount. If
|
|
10
|
+
* you use `Popper`, the popper `stackRef` is automatically added/removed from the `PopupStack`. The
|
|
11
|
+
* `PopupStack` is required for proper z-index values to ensure Popups are rendered correct. It is
|
|
12
12
|
* also required for global listeners like click outside or escape key closing a popup. Without the
|
|
13
|
-
*
|
|
13
|
+
* `PopupStack`, all popups will close rather than only the topmost one.
|
|
14
14
|
*
|
|
15
|
-
* If `
|
|
15
|
+
* If `ref` is provided, it will be the same as `stackRef`. If `ref` is not provided`,
|
|
16
16
|
* this hook will create one and return it.
|
|
17
17
|
*
|
|
18
18
|
* This hook should be used by all stacked UIs unless using the `Popper` component.
|
|
19
19
|
*
|
|
20
|
-
*
|
|
20
|
+
* ```tsx
|
|
21
|
+
* const model = usePopupModel();
|
|
22
|
+
* usePopupStack(model.state.stackRef, model.state.targetRef);
|
|
23
|
+
*
|
|
24
|
+
* // add some popup functionality
|
|
25
|
+
* useCloseOnOutsideClick(model);
|
|
26
|
+
* useCloseOnEscape(model);
|
|
27
|
+
*
|
|
28
|
+
* return (
|
|
29
|
+
* <>
|
|
30
|
+
* <button ref={model.state.targetRef}>Open Popup</button>
|
|
31
|
+
* {model.state.visibility !== 'hidden'
|
|
32
|
+
* ? ReactDOM.createPortal(<div>Popup Contents</div>, model.state.stackRef.current)
|
|
33
|
+
* : null}
|
|
34
|
+
* </>
|
|
35
|
+
* );
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @param ref This ref will be managed by the PopupStack and should not be managed by React. Do
|
|
21
39
|
* not apply this stackRef to a React element. Doing so will result in an error. Instead, use this
|
|
22
40
|
* `stackRef` directly with `ReactDOM.createPortal(<YourComponent>, stackRef.current!)`. This is
|
|
23
41
|
* definitely strange for React code, but is necessary for the PopupStack to remain framework
|
|
24
|
-
* agnostic and flexible to integrate with existing
|
|
42
|
+
* agnostic and flexible to integrate with existing `PopupStack` systems. If not provided, this hook
|
|
25
43
|
* will create one and return that `stackRef` instead.
|
|
26
|
-
*
|
|
27
44
|
* @param target Usually the trigger of a popup. This will fix `bringToTop` and should be provided
|
|
28
45
|
* by all ephemeral-type popups (like Tooltips, Select menus, etc). It will also add in clickOutside
|
|
29
46
|
* detection.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* // must be part of a component life-cycle. Use `Popup.Popper` otherwise.
|
|
33
|
-
* const model = usePopupModel({visibility: 'visible'})
|
|
34
|
-
* usePopupStack(model.state.stackRef)
|
|
35
|
-
*
|
|
36
|
-
* // add some popup functionality
|
|
37
|
-
* useCloseOnOutsideClick(model)
|
|
38
|
-
* useCloseOnEscape(model)
|
|
39
47
|
*/
|
|
40
48
|
export const usePopupStack = <E extends HTMLElement>(
|
|
41
49
|
ref?: React.Ref<E>,
|
|
@@ -2,7 +2,7 @@ import {createElemPropsHook, useForkRef} from '@workday/canvas-kit-react/common'
|
|
|
2
2
|
import {usePopupModel} from './usePopupModel';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Adds the necessary props to a
|
|
5
|
+
* Adds the necessary props to a {@link PopupTarget Popup.Target} subcomponent.
|
|
6
6
|
*/
|
|
7
7
|
export const usePopupTarget = createElemPropsHook(usePopupModel)(({events, state}, ref) => {
|
|
8
8
|
const elementRef = useForkRef(ref, state.targetRef);
|
|
@@ -33,8 +33,8 @@ function getFocusableElement(element: Element | null): Element | null {
|
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* Returns focus to the target element when the popup is hidden. This works well with
|
|
36
|
-
*
|
|
37
|
-
* focus management solution.
|
|
36
|
+
* {@link useInitialFocus}. This should be used with {@link useFocusRedirect} or
|
|
37
|
+
* {@link useFocusTrap} for a complete focus management solution.
|
|
38
38
|
*
|
|
39
39
|
* This should be used on popup elements that use `useInitialFocus`.
|
|
40
40
|
*/
|
package/radio/lib/RadioGroup.tsx
CHANGED
|
@@ -67,7 +67,7 @@ const Container = styled('div')<Pick<RadioGroupProps, 'error' | 'grow' | 'theme'
|
|
|
67
67
|
}
|
|
68
68
|
);
|
|
69
69
|
|
|
70
|
-
class RadioGroup extends React.Component<RadioGroupProps> {
|
|
70
|
+
export class RadioGroup extends React.Component<RadioGroupProps> {
|
|
71
71
|
static ErrorType = ErrorType;
|
|
72
72
|
|
|
73
73
|
render(): React.ReactNode {
|
|
@@ -120,5 +120,3 @@ class RadioGroup extends React.Component<RadioGroupProps> {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
RadioGroup.ErrorType = ErrorType;
|
|
123
|
-
|
|
124
|
-
export {RadioGroup};
|
package/select/lib/Select.tsx
CHANGED
|
@@ -118,22 +118,9 @@ const SelectWrapper = styled('div')<Pick<SelectProps, 'grow' | 'disabled'>>(
|
|
|
118
118
|
|
|
119
119
|
export const Select = createComponent('select')({
|
|
120
120
|
displayName: 'Select',
|
|
121
|
-
Component: (
|
|
122
|
-
{disabled = false, error, grow, children, value, onChange, ...elemProps}: SelectProps,
|
|
123
|
-
ref,
|
|
124
|
-
Element
|
|
125
|
-
) => (
|
|
121
|
+
Component: ({disabled = false, grow, children, ...elemProps}: SelectProps, ref, Element) => (
|
|
126
122
|
<SelectWrapper grow={grow} disabled={disabled}>
|
|
127
|
-
<StyledSelect
|
|
128
|
-
as={Element}
|
|
129
|
-
disabled={disabled}
|
|
130
|
-
grow={grow}
|
|
131
|
-
error={error}
|
|
132
|
-
ref={ref}
|
|
133
|
-
value={value}
|
|
134
|
-
onChange={onChange}
|
|
135
|
-
{...elemProps}
|
|
136
|
-
>
|
|
123
|
+
<StyledSelect as={Element} disabled={disabled} grow={grow} ref={ref} {...elemProps}>
|
|
137
124
|
{children}
|
|
138
125
|
</StyledSelect>
|
|
139
126
|
<SelectDropdownIcon
|
|
@@ -39,6 +39,19 @@ const SkeletonAnimator = styled('div')<SkeletonProps & StyledType>({
|
|
|
39
39
|
position: 'relative',
|
|
40
40
|
});
|
|
41
41
|
|
|
42
|
+
/**
|
|
43
|
+
* Skeleton subcomponents **must** be wrapped by the `Skeleton` container component.
|
|
44
|
+
*
|
|
45
|
+
* ```tsx
|
|
46
|
+
* <Skeleton>
|
|
47
|
+
* <Skeleton.Header />
|
|
48
|
+
* <Skeleton.Text />
|
|
49
|
+
* </Skeleton>
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* `Skeleton` places its children in a container element with `aria-hidden` set to `true` and
|
|
53
|
+
* announces itself using a visually hidden element.
|
|
54
|
+
*/
|
|
42
55
|
export const Skeleton = createComponent('div')({
|
|
43
56
|
displayName: 'Skeleton',
|
|
44
57
|
Component: (
|
|
@@ -53,8 +66,21 @@ export const Skeleton = createComponent('div')({
|
|
|
53
66
|
</SkeletonAnimator>
|
|
54
67
|
),
|
|
55
68
|
subComponents: {
|
|
69
|
+
/**
|
|
70
|
+
* `Skeleton.Header` renders a placeholder for header content such as headings.
|
|
71
|
+
*/
|
|
56
72
|
Header: SkeletonHeader,
|
|
57
|
-
|
|
73
|
+
/**
|
|
74
|
+
* `Skeleton.Text` renders a placeholder for text content such as paragraphs. Each placeholder
|
|
75
|
+
* line has a width of `100%` and a fixed height of `21px`, with the last line having a width of
|
|
76
|
+
* `60%` if there are multiple lines.
|
|
77
|
+
*/
|
|
58
78
|
Text: SkeletonText,
|
|
79
|
+
/**
|
|
80
|
+
* `Skeleton.Shape` renders a placeholder for graphic elements such as icons, avatars and small
|
|
81
|
+
* images. Set the `height`, `width`, and `borderRadius` props of the `Skeleton.Shape` to create
|
|
82
|
+
* various rectangular and circular shapes.
|
|
83
|
+
*/
|
|
84
|
+
Shape: SkeletonShape,
|
|
59
85
|
},
|
|
60
86
|
});
|
package/tabs/lib/Tabs.tsx
CHANGED
|
@@ -19,29 +19,121 @@ export interface TabsProps {
|
|
|
19
19
|
children: React.ReactNode;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* `Tabs` is a container component that is responsible for creating a {@link TabsModel} and sharing
|
|
24
|
+
* it with its subcomponents using React context. It does not represent a real element.
|
|
25
|
+
*
|
|
26
|
+
* ```tsx
|
|
27
|
+
* <Tabs onSelect={data => console.log('Selected tab', data.id)}>
|
|
28
|
+
* {child components}
|
|
29
|
+
* </Tabs>
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* Alternatively, you may pass in a model using the hoisted model pattern.
|
|
33
|
+
*
|
|
34
|
+
* ```tsx
|
|
35
|
+
* const model = useTabsModel({
|
|
36
|
+
* onSelect(data) {
|
|
37
|
+
* console.log('Activated Tab', data.id);
|
|
38
|
+
* },
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* <Tabs model={model}>{child components}</Tabs>
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* See [Configuring a
|
|
45
|
+
* Model](/getting-started/for-developers/resources/compound-components/#configuring-a-model) for
|
|
46
|
+
* more information on model configuration.
|
|
47
|
+
*/
|
|
22
48
|
export const Tabs = createContainer()({
|
|
23
49
|
displayName: 'Tabs',
|
|
24
50
|
modelHook: useTabsModel,
|
|
25
51
|
subComponents: {
|
|
52
|
+
/**
|
|
53
|
+
* `Tabs.List` is a `<div role="tablist">` element. It is a container for {@link TabsItem Tabs.Item}
|
|
54
|
+
* subcomponents.
|
|
55
|
+
*
|
|
56
|
+
* ```tsx
|
|
57
|
+
* <Tabs.List>{Tabs.Items}</Tabs.List>
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
26
60
|
List: TabsList,
|
|
61
|
+
/**
|
|
62
|
+
* `Tabs.Item` is a `<button role="tab">` element. Each `Tabs.Item` is associated with a
|
|
63
|
+
* `Tabs.Panel` either by a `data-id` attribute or by the position in the list. If a `data-id`
|
|
64
|
+
* is provided, it must match the `data-id` passed to the corresponding `Tabs.Panel` component.
|
|
65
|
+
*
|
|
66
|
+
* ```tsx
|
|
67
|
+
* <Tabs.Item data-id="first">First Tab</Tabs.Item>
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
27
70
|
Item: TabsItem,
|
|
71
|
+
/**
|
|
72
|
+
* `Tabs.Panel` is a `<div role="tabpanel">` element. It is focusable by default. Each
|
|
73
|
+
* `Tabs.Panel` is controlled by a `Tabs.Item` either by a `data-id` attribute or by the
|
|
74
|
+
* position in the list. If a `data-id` is provided, it must match the `data-id` passed to the
|
|
75
|
+
* corresponding `Tabs.Item` component.
|
|
76
|
+
*
|
|
77
|
+
* ```tsx
|
|
78
|
+
* <Tabs.Panel data-id="first">
|
|
79
|
+
* {contents of tab panel}
|
|
80
|
+
* </Tabs.Panel>
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
28
83
|
Panel: TabsPanel,
|
|
84
|
+
/**
|
|
85
|
+
* Optional subcomponent of tabs that makes dealing with dynamic tabs easier. `Tabs.Panels` only
|
|
86
|
+
* works if the model is given an array of items.
|
|
87
|
+
*
|
|
88
|
+
* ```tsx
|
|
89
|
+
* const items = [{ id: '1', name: 'first' }]
|
|
90
|
+
* <Tabs items={items}>
|
|
91
|
+
* {tab list}
|
|
92
|
+
* <Tabs.Panels>
|
|
93
|
+
* {item => <Tabs.Panel>Contents of {item.name}</Tabs.Panel>}
|
|
94
|
+
* </Tabs.Panels>
|
|
95
|
+
* </Tabs>
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
29
98
|
Panels: TabsPanels,
|
|
99
|
+
/**
|
|
100
|
+
* The overflow button of a `Tabs.List`. When a tab list overflows, this overflow button is
|
|
101
|
+
* rendered. Overflow only works when the model is given an array of `items`.
|
|
102
|
+
*
|
|
103
|
+
* ```tsx
|
|
104
|
+
* <Tabs items={items}>
|
|
105
|
+
* <Tabs.List overflowButton={
|
|
106
|
+
* <Tabs.OverflowButton>More</Tabs.OverflowButton>
|
|
107
|
+
* }>
|
|
108
|
+
* {dynamic tab items}
|
|
109
|
+
* </Tabs.List>
|
|
110
|
+
* </Tabs>
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
30
113
|
OverflowButton: TabsOverflowButton,
|
|
114
|
+
/**
|
|
115
|
+
* @deprecated Use `Tabs.Menu.Popper` instead
|
|
116
|
+
*/
|
|
31
117
|
MenuPopper: TabsMenuPopper,
|
|
32
118
|
/**
|
|
33
119
|
* The overflow menu of the Tabs component. If there isn't enough room to render all the tab
|
|
34
120
|
* items, the extra tabs that don't fit will be overflowed into this menu.
|
|
35
|
-
*
|
|
121
|
+
*
|
|
122
|
+
* ```tsx
|
|
36
123
|
* <Tabs.Menu.Popper>
|
|
37
124
|
* <Tabs.Menu.Card>
|
|
38
125
|
* <Tabs.Menu.List>
|
|
39
|
-
* {(item: MyTabItem) => <Tabs.Menu.Item data-id={item.id}>
|
|
126
|
+
* {(item: MyTabItem) => <Tabs.Menu.Item data-id={item.id}>
|
|
127
|
+
* {item.text}
|
|
128
|
+
* </Tabs.Menu.Item>}
|
|
40
129
|
* </Tabs.Menu.List>
|
|
41
130
|
* </Tabs.Menu.Card>
|
|
42
131
|
* </Tabs.Menu.Popper>
|
|
132
|
+
* ```
|
|
43
133
|
*/
|
|
44
|
-
Menu
|
|
134
|
+
// We don't use shorthand here for documentation. The shorthand will give the `Tabs.Menu` the
|
|
135
|
+
// JSDoc of `Menu` instead of `Tabs.Menu`
|
|
136
|
+
Menu: Menu,
|
|
45
137
|
},
|
|
46
138
|
})<TabsProps>(({children}, _, model) => {
|
|
47
139
|
return <Menu model={model.menu}>{children}</Menu>;
|