@workday/canvas-kit-react 9.0.0-alpha.338-next.5 → 9.0.0-alpha.348-next.3
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 +767 -273
- 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/Flex.d.ts +2 -2
- package/dist/commonjs/layout/lib/Grid.d.ts +2 -2
- 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/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 -2
- 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 +5 -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/commonjs/tooltip/lib/useTooltip.d.ts.map +1 -1
- package/dist/commonjs/tooltip/lib/useTooltip.js +16 -11
- package/dist/es6/action-bar/lib/ActionBar.d.ts +767 -273
- 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/Flex.d.ts +2 -2
- package/dist/es6/layout/lib/Grid.d.ts +2 -2
- 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/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 -2
- 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 +5 -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/dist/es6/tooltip/lib/useTooltip.d.ts.map +1 -1
- package/dist/es6/tooltip/lib/useTooltip.js +16 -11
- package/form-field/lib/FormField.tsx +1 -3
- package/icon/lib/SystemIcon.tsx +0 -1
- package/layout/README.md +2 -8
- 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 +32 -18
- 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 +34 -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/tooltip/lib/useTooltip.tsx +18 -11
- 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,165 +1,282 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {createComponent} from '@workday/canvas-kit-react/common';
|
|
3
|
+
import {Flex, FlexProps} from '@workday/canvas-kit-react/layout';
|
|
3
4
|
|
|
4
5
|
import {PaginationModel} from './types';
|
|
5
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
usePaginationModel,
|
|
8
|
+
UsePaginationModelConfig,
|
|
9
|
+
PaginationContext,
|
|
10
|
+
} from './usePaginationModel';
|
|
6
11
|
|
|
7
|
-
import {PaginationNav, PaginationNavProps} from './Nav';
|
|
8
12
|
import {
|
|
9
13
|
JumpToFirstButton,
|
|
10
14
|
StepToPreviousButton,
|
|
11
15
|
StepToNextButton,
|
|
12
16
|
JumpToLastButton,
|
|
13
|
-
|
|
14
|
-
ControlsProps,
|
|
17
|
+
PaginationControls,
|
|
15
18
|
} from './Controls';
|
|
16
19
|
|
|
17
|
-
import {PageList,
|
|
18
|
-
import {PageButton
|
|
19
|
-
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {GoToTextInputProps} from './GoTo/TextInput';
|
|
20
|
+
import {PageList, PageListItem} from './PageList';
|
|
21
|
+
import {PageButton} from './PageButton';
|
|
22
|
+
import {AdditionalDetails} from './AdditionalDetails';
|
|
23
|
+
import {GoToForm} from './GoTo/Form';
|
|
24
|
+
import {GoToTextInput} from './GoTo/TextInput';
|
|
25
|
+
import {GoToLabel} from './GoTo/Label';
|
|
24
26
|
|
|
25
|
-
|
|
27
|
+
export {PaginationContext};
|
|
26
28
|
|
|
27
|
-
export
|
|
28
|
-
|
|
29
|
-
type PaginationConfigurationProps = PaginationNavProps & {
|
|
30
|
-
lastPage: number;
|
|
29
|
+
export type PaginationProps = PaginationNavProps & {
|
|
30
|
+
lastPage?: number;
|
|
31
31
|
firstPage?: number;
|
|
32
32
|
initialCurrentPage?: number;
|
|
33
33
|
rangeSize?: number;
|
|
34
|
-
model?:
|
|
34
|
+
model?: PaginationModel;
|
|
35
35
|
onPageChange?: (pageNumber: number) => void;
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
-
type PaginationModelProps = PaginationNavProps & {
|
|
39
|
-
lastPage?: never;
|
|
40
|
-
firstPage?: never;
|
|
41
|
-
initialCurrentPage?: never;
|
|
42
|
-
rangeSize?: never;
|
|
43
|
-
model: PaginationModel;
|
|
44
|
-
onPageChange?: never;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
38
|
function useDefaultModel<T, C>(model: T | undefined, config: C, fn: (config: C) => T) {
|
|
48
39
|
return model || fn(config);
|
|
49
40
|
}
|
|
50
41
|
|
|
51
|
-
export
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const model = useDefaultModel(props.model, props as UsePaginationModelConfig, usePaginationModel);
|
|
55
|
-
|
|
56
|
-
const {
|
|
57
|
-
'aria-label': ariaLabel,
|
|
58
|
-
children,
|
|
59
|
-
lastPage,
|
|
60
|
-
firstPage,
|
|
61
|
-
initialCurrentPage,
|
|
62
|
-
rangeSize,
|
|
63
|
-
onPageChange,
|
|
64
|
-
...restProps
|
|
65
|
-
} = props;
|
|
66
|
-
|
|
67
|
-
return (
|
|
68
|
-
<PaginationContext.Provider value={model}>
|
|
69
|
-
<PaginationNav aria-label={ariaLabel} {...restProps}>
|
|
70
|
-
{children}
|
|
71
|
-
</PaginationNav>
|
|
72
|
-
</PaginationContext.Provider>
|
|
73
|
-
);
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
Pagination.Controls = (props: ControlsProps) => {
|
|
77
|
-
return <Controls {...props} />;
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
Pagination.JumpToFirstButton = (
|
|
81
|
-
props: TertiaryButtonProps & React.ButtonHTMLAttributes<HTMLButtonElement>
|
|
82
|
-
) => {
|
|
83
|
-
// The linter doesn't recognize the dot syntax, so we're disabling the rule
|
|
84
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
85
|
-
const model = React.useContext(PaginationContext);
|
|
86
|
-
return <JumpToFirstButton model={model} {...props} />;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
Pagination.StepToPreviousButton = (
|
|
90
|
-
props: TertiaryButtonProps & React.ButtonHTMLAttributes<HTMLButtonElement>
|
|
91
|
-
) => {
|
|
92
|
-
// The linter doesn't recognize the dot syntax, so we're disabling the rule
|
|
93
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
94
|
-
const model = React.useContext(PaginationContext);
|
|
95
|
-
return <StepToPreviousButton model={model} {...props} />;
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
Pagination.StepToNextButton = (
|
|
99
|
-
props: TertiaryButtonProps & React.ButtonHTMLAttributes<HTMLButtonElement>
|
|
100
|
-
) => {
|
|
101
|
-
// The linter doesn't recognize the dot syntax, so we're disabling the rule
|
|
102
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
103
|
-
const model = React.useContext(PaginationContext);
|
|
104
|
-
return <StepToNextButton model={model} {...props} />;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
Pagination.JumpToLastButton = (
|
|
108
|
-
props: TertiaryButtonProps & React.ButtonHTMLAttributes<HTMLButtonElement>
|
|
109
|
-
) => {
|
|
110
|
-
// The linter doesn't recognize the dot syntax, so we're disabling the rule
|
|
111
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
112
|
-
const model = React.useContext(PaginationContext);
|
|
113
|
-
return <JumpToLastButton model={model} {...props} />;
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
Pagination.PageList = (props: Omit<PageListProps, 'model'>) => {
|
|
117
|
-
// The linter doesn't recognize the dot syntax, so we're disabling the rule
|
|
118
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
119
|
-
const model = React.useContext(PaginationContext);
|
|
120
|
-
return <PageList model={model} {...props} />;
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
Pagination.PageListItem = (props: PageListItemProps) => {
|
|
124
|
-
return <PageListItem {...props} />;
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
Pagination.PageButton = ({
|
|
128
|
-
'aria-label': ariaLabel,
|
|
129
|
-
...elemProps
|
|
130
|
-
}: Omit<PageButtonProps, 'model'>) => {
|
|
131
|
-
// The linter doesn't recognize the dot syntax, so we're disabling the rule
|
|
132
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
133
|
-
const model = React.useContext(PaginationContext);
|
|
134
|
-
return <PageButton aria-label={ariaLabel} model={model} {...elemProps} />;
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
Pagination.AdditionalDetails = (props: Omit<AdditionalDetailsProps, 'model'>) => {
|
|
138
|
-
// The linter doesn't recognize the dot syntax, so we're disabling the rule
|
|
139
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
140
|
-
const model = React.useContext(PaginationContext);
|
|
141
|
-
return <AdditionalDetails model={model} {...props} />;
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
Pagination.GoToForm = ({children}: GoToFormProps) => {
|
|
145
|
-
// The linter doesn't recognize the dot syntax, so we're disabling the rule
|
|
146
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
147
|
-
const model = React.useContext(PaginationContext);
|
|
148
|
-
return (
|
|
149
|
-
<GoTo model={model}>
|
|
150
|
-
<GoTo.Form>{children}</GoTo.Form>
|
|
151
|
-
</GoTo>
|
|
152
|
-
);
|
|
153
|
-
};
|
|
42
|
+
export interface PaginationNavProps extends FlexProps {
|
|
43
|
+
'aria-label': string;
|
|
44
|
+
}
|
|
154
45
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
46
|
+
/**
|
|
47
|
+
* `Pagination` is a container component rendered as a `<nav>` element that is responsible for creating
|
|
48
|
+
* a `PaginationModel` and sharing it with its subcomponents using React context.
|
|
49
|
+
*
|
|
50
|
+
* ```tsx
|
|
51
|
+
* <Pagination
|
|
52
|
+
* aria-label="Pagination"
|
|
53
|
+
* lastPage={100}
|
|
54
|
+
* initialCurrentPage={6}
|
|
55
|
+
* rangeSize={3}
|
|
56
|
+
* onPageChange={pageNumber => console.log(pageNumber)}
|
|
57
|
+
* >
|
|
58
|
+
* {Child components}
|
|
59
|
+
* </Pagination>
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* Alternatively, you may pass in a model using the hoisted model pattern.
|
|
63
|
+
*
|
|
64
|
+
* ```tsx
|
|
65
|
+
* const model = usePaginationModel({
|
|
66
|
+
* lastPage: 100,
|
|
67
|
+
* initialCurrentPage: 6,
|
|
68
|
+
* rangeSize: 3,
|
|
69
|
+
* onPageChange: pageNumber => console.log(pageNumber),
|
|
70
|
+
* });
|
|
71
|
+
*
|
|
72
|
+
* return (
|
|
73
|
+
* <Pagination aria-label="Pagination" model={model}>
|
|
74
|
+
* {Child components}
|
|
75
|
+
* </Pagination>
|
|
76
|
+
* );
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export const Pagination = createComponent('nav')({
|
|
80
|
+
displayName: 'Pagination',
|
|
81
|
+
Component(props: PaginationProps, ref, Element) {
|
|
82
|
+
const model = useDefaultModel(
|
|
83
|
+
props.model,
|
|
84
|
+
props as UsePaginationModelConfig,
|
|
85
|
+
usePaginationModel
|
|
86
|
+
);
|
|
158
87
|
|
|
159
|
-
|
|
160
|
-
// The linter doesn't recognize the dot syntax, so we're disabling the rule
|
|
161
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
162
|
-
const model = React.useContext(PaginationContext);
|
|
88
|
+
const {lastPage, firstPage, initialCurrentPage, rangeSize, onPageChange, ...elemProps} = props;
|
|
163
89
|
|
|
164
|
-
|
|
165
|
-
}
|
|
90
|
+
return (
|
|
91
|
+
<PaginationContext.Provider value={model}>
|
|
92
|
+
<Flex
|
|
93
|
+
ref={ref}
|
|
94
|
+
as={Element}
|
|
95
|
+
display="inline-flex"
|
|
96
|
+
flexDirection="column"
|
|
97
|
+
alignItems="center"
|
|
98
|
+
{...elemProps}
|
|
99
|
+
/>
|
|
100
|
+
</PaginationContext.Provider>
|
|
101
|
+
);
|
|
102
|
+
},
|
|
103
|
+
subComponents: {
|
|
104
|
+
/**
|
|
105
|
+
* `Pagination.Controls` provides proper alignment and spacing between elements inside
|
|
106
|
+
* `Pagination`. It does not handle any internal business logic or state.
|
|
107
|
+
*
|
|
108
|
+
* ```tsx
|
|
109
|
+
* <Pagination.Controls>{Child components}</Pagination.Controls>
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
Controls: PaginationControls,
|
|
113
|
+
/**
|
|
114
|
+
* `Pagination.JumpToFirstButton` is a {@link TertiaryButton} that subscribes to the
|
|
115
|
+
* `Pagination` context. This allows it to know when to disable and set `currentPage` to the
|
|
116
|
+
* first page.
|
|
117
|
+
*
|
|
118
|
+
* Note that you must set `aria-label` to meet accessibility standards. We recommend setting it
|
|
119
|
+
* to `First` or the translated equivalent.
|
|
120
|
+
*
|
|
121
|
+
* ```tsx
|
|
122
|
+
* <Pagination.JumpToFirstButton aria-label="First" />
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
JumpToFirstButton,
|
|
126
|
+
/**
|
|
127
|
+
* `Pagination.StepToPreviousButton` is a {@link TertiaryButton} that renders an icon that
|
|
128
|
+
* subscribes to the `Pagination` context. This allows it to know when to disable and decrement
|
|
129
|
+
* the `currentPage`.
|
|
130
|
+
*
|
|
131
|
+
* Note that you must set `aria-label` to meet accessibility standards. We recommend setting it
|
|
132
|
+
* to `Previous` or the translated equivalent.
|
|
133
|
+
*
|
|
134
|
+
* ```tsx
|
|
135
|
+
* <Pagination.StepToPreviousButton aria-label="Previous" />
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
StepToPreviousButton,
|
|
139
|
+
/**
|
|
140
|
+
* `Pagination.StepToNextButton` is a {@link TertiaryButton} that subscribes to the `Pagination`
|
|
141
|
+
* context. This allows it to know when to disable and increment the `currentPage`.
|
|
142
|
+
*
|
|
143
|
+
* Note that you must set `aria-label` to meet accessibility standards. We recommend setting it
|
|
144
|
+
* to `Next` or the translated equivalent.
|
|
145
|
+
*
|
|
146
|
+
* ```tsx
|
|
147
|
+
* <Pagination.StepToNextButton aria-label="Next" />
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
StepToNextButton,
|
|
151
|
+
/**
|
|
152
|
+
* `Pagination.JumpToLastButton` is a {@link TertiaryButton} that renders an icon that
|
|
153
|
+
* subscribes to the `Pagination` context. This allows it to know when to disable and set
|
|
154
|
+
* `currentPage` to the last page.
|
|
155
|
+
*
|
|
156
|
+
* Note that you must set `aria-label` to meet accessibility standards. We recommend setting it
|
|
157
|
+
* to `Last` or the translated equivalent.
|
|
158
|
+
*
|
|
159
|
+
* ```tsx
|
|
160
|
+
* <Pagination.JumpToLastButton aria-label="Last" />
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
JumpToLastButton,
|
|
164
|
+
/**
|
|
165
|
+
* `Pagination.PageList` subscribes to the `Pagination` context. This allows it generate the
|
|
166
|
+
* `range` of page numbers. It also handles spacing between the child elements.
|
|
167
|
+
*
|
|
168
|
+
* This component will accept either child elements or a render prop. In most cases, you'll want
|
|
169
|
+
* to use the render prop so you can access the `Pagination` model in order to generate the
|
|
170
|
+
* proper list items.
|
|
171
|
+
*
|
|
172
|
+
* ```tsx
|
|
173
|
+
* <Pagination.PageList>
|
|
174
|
+
* {({state}) =>
|
|
175
|
+
* state.range.map(pageNumber => (
|
|
176
|
+
* <Pagination.PageListItem key={pageNumber}>
|
|
177
|
+
* <Pagination.PageButton aria-label={`Page ${pageNumber}`} pageNumber={pageNumber} />
|
|
178
|
+
* </Pagination.PageListItem>
|
|
179
|
+
* ))
|
|
180
|
+
* }
|
|
181
|
+
* </Pagination.PageList>
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
PageList,
|
|
185
|
+
/**
|
|
186
|
+
* `Pagination.PageListItem` provides a semantic child element for the `PageList` component and
|
|
187
|
+
* is important for accessibility. It does not handle any internal business logic or state.
|
|
188
|
+
*
|
|
189
|
+
* ```tsx
|
|
190
|
+
* <Pagination.PageListItem>{Child element}</Pagination.PageListItem>
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
PageListItem,
|
|
194
|
+
/**
|
|
195
|
+
* `Pagination.PageButton` subscribes to the `Pagination` context. This allows it to update the
|
|
196
|
+
* `currentPage` and set the `toggled` styling when it is the current item.
|
|
197
|
+
*
|
|
198
|
+
* `Pagination.PageButton` will render `pageNumber` as its children.
|
|
199
|
+
*
|
|
200
|
+
* ```tsx
|
|
201
|
+
* <Pagination.PageButton aria-label="Page 2" pageNumber={2} />
|
|
202
|
+
* ```
|
|
203
|
+
*
|
|
204
|
+
* Note that you must set `aria-label` to meet accessibility standards. We recommend setting it
|
|
205
|
+
* to `Page ${pageNumber}` or the translated equivalent.
|
|
206
|
+
*/
|
|
207
|
+
PageButton,
|
|
208
|
+
/**
|
|
209
|
+
* `Pagination.GoToForm` is a wrapper for a React context provider rendered as a `<form>`
|
|
210
|
+
* element. Child components such as {@link GoToTextInput Pagination.GoToTextInput} and
|
|
211
|
+
* {@link GoToLabel Pagination.GoToLabel} subscribe to that context to manage the form state and
|
|
212
|
+
* behavior as well as update the `currentPage` in the `Pagination` component.
|
|
213
|
+
*
|
|
214
|
+
* ```tsx
|
|
215
|
+
* <Pagination.GoToForm>{Child elements}</Pagination.GoToForm>
|
|
216
|
+
* ```
|
|
217
|
+
*/
|
|
218
|
+
GoToForm,
|
|
219
|
+
/**
|
|
220
|
+
* `Pagination.GoToTextInput` is a {@link TextInput}.
|
|
221
|
+
*
|
|
222
|
+
* ```tsx
|
|
223
|
+
* <Pagination.GoToTextInput aria-label="Go to page number" />
|
|
224
|
+
* ```
|
|
225
|
+
*
|
|
226
|
+
* Note that you must set `aria-label` to meet accessibility standards. We recommend setting it
|
|
227
|
+
* to `Go to page number` or the translated equivalent.
|
|
228
|
+
*/
|
|
229
|
+
GoToTextInput,
|
|
230
|
+
/**
|
|
231
|
+
* `Pagination.GoToLabel` subscribes to the `Pagination` context. This allows it to pass the
|
|
232
|
+
* `Pagination` context to child elements.
|
|
233
|
+
*
|
|
234
|
+
* This component will accept either child elements or a render prop. In most cases, you'll want
|
|
235
|
+
* to use the render prop so you can access the `Pagination` model when generating the label
|
|
236
|
+
* text.
|
|
237
|
+
*
|
|
238
|
+
* ```tsx
|
|
239
|
+
* <Pagination.GoToLabel>{({state}) => `of ${state.lastPage} pages`}</Pagination.GoToLabel>
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
GoToLabel,
|
|
243
|
+
/**
|
|
244
|
+
* `Pagination.AdditionalDetails` subscribes to the `Pagination` context. This allows it to pass
|
|
245
|
+
* the `Pagination` context to child elements. It is also an `aria-live` region that announces
|
|
246
|
+
* the current page update to screen readers.
|
|
247
|
+
*
|
|
248
|
+
* `Pagination.AdditionalDetails` must be included in your `Pagination` component to meet
|
|
249
|
+
* accessibility standards (with one exception, see below). If you wish to prevent it from
|
|
250
|
+
* displaying, you may set its `shouldHideDetails` prop to `true`. The visually hidden region
|
|
251
|
+
* will still be accessible to screen readers.
|
|
252
|
+
*
|
|
253
|
+
* If you have multiple `Pagination` components sharing the same state and rendered on the same
|
|
254
|
+
* page, you may do either of the following to prevent screen readers from announcing the same
|
|
255
|
+
* update multiple times:
|
|
256
|
+
*
|
|
257
|
+
* - Exclude `Pagination.AdditionalDetails` from all but one of the `Pagination` components.
|
|
258
|
+
* This is the one case where you may exclude `Pagination.AdditionalDetails` from a
|
|
259
|
+
* `Pagination` component.
|
|
260
|
+
* - Include `Pagination.AdditionalDetails` in every `Pagination` component (i.e., you want it
|
|
261
|
+
* to be visible for every component), but set the `shouldAnnounceToScreenReader` prop to
|
|
262
|
+
* `false` on all but one of them.
|
|
263
|
+
*
|
|
264
|
+
* This component will accept either child elements or a render prop. In most cases, you'll want
|
|
265
|
+
* to use the render prop so you can access the `Pagination` model in order to generate the
|
|
266
|
+
* appropriate text.
|
|
267
|
+
*
|
|
268
|
+
* ```tsx
|
|
269
|
+
* <Pagination.AdditionalDetails>
|
|
270
|
+
* {({state}) =>
|
|
271
|
+
* `${getVisibleResultsMin(state.currentPage, resultCount)}-${getVisibleResultsMax(
|
|
272
|
+
* state.currentPage,
|
|
273
|
+
* resultCount,
|
|
274
|
+
* totalCount
|
|
275
|
+
* )} of ${totalCount} results`
|
|
276
|
+
* }
|
|
277
|
+
* </Pagination.AdditionalDetails>
|
|
278
|
+
* ```
|
|
279
|
+
*/
|
|
280
|
+
AdditionalDetails,
|
|
281
|
+
},
|
|
282
|
+
});
|
|
@@ -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) => {
|