@workday/canvas-kit-react 9.0.0-alpha.368-next.6 → 9.0.0-alpha.382-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/ActionBarList.tsx +2 -2
- package/banner/lib/hooks/index.ts +2 -0
- package/banner/lib/hooks/useThemedPalette.ts +3 -3
- package/common/lib/theming/README.md +97 -0
- package/common/lib/theming/index.ts +1 -1
- package/common/lib/theming/useTheme.ts +79 -22
- package/common/lib/theming/useThemedRing.ts +114 -0
- package/common/lib/utils/colorUtils.ts +20 -7
- package/common/lib/utils/components.ts +4 -0
- package/common/lib/utils/memoize.ts +1 -1
- package/dist/commonjs/action-bar/lib/ActionBar.js +8 -9
- package/dist/commonjs/action-bar/lib/ActionBarItem.js +7 -18
- package/dist/commonjs/action-bar/lib/ActionBarList.js +13 -38
- package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.js +13 -24
- package/dist/commonjs/action-bar/lib/useActionBarModel.js +39 -38
- package/dist/commonjs/avatar/lib/Avatar.js +52 -74
- package/dist/commonjs/badge/lib/CountBadge.js +23 -43
- package/dist/commonjs/banner/lib/Banner.js +32 -48
- package/dist/commonjs/banner/lib/BannerActionText.js +7 -30
- package/dist/commonjs/banner/lib/BannerIcon.js +9 -31
- package/dist/commonjs/banner/lib/BannerLabel.js +6 -29
- package/dist/commonjs/banner/lib/hooks/index.d.ts +2 -0
- package/dist/commonjs/banner/lib/hooks/index.d.ts.map +1 -1
- package/dist/commonjs/banner/lib/hooks/index.js +3 -0
- package/dist/commonjs/banner/lib/hooks/useBanner.js +5 -6
- package/dist/commonjs/banner/lib/hooks/useBannerActionText.js +4 -5
- package/dist/commonjs/banner/lib/hooks/useBannerIcon.js +6 -7
- package/dist/commonjs/banner/lib/hooks/useBannerLabel.js +4 -5
- package/dist/commonjs/banner/lib/hooks/useBannerModel.js +8 -16
- package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts +1 -1
- package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts.map +1 -1
- package/dist/commonjs/banner/lib/hooks/useThemedPalette.js +11 -11
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.js +12 -35
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.js +14 -37
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +14 -39
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.js +15 -36
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.js +10 -33
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.js +7 -19
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.js +15 -38
- package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +38 -37
- package/dist/commonjs/breadcrumbs/lib/hooks/utils/index.js +4 -4
- package/dist/commonjs/button/lib/BaseButton.js +128 -78
- package/dist/commonjs/button/lib/DeleteButton.js +27 -58
- package/dist/commonjs/button/lib/ExternalHyperlink.js +25 -39
- package/dist/commonjs/button/lib/Hyperlink.js +9 -34
- package/dist/commonjs/button/lib/PrimaryButton.js +9 -32
- package/dist/commonjs/button/lib/SecondaryButton.js +9 -32
- package/dist/commonjs/button/lib/TertiaryButton.js +23 -49
- package/dist/commonjs/button/lib/ToolbarDropdownButton.js +13 -39
- package/dist/commonjs/button/lib/ToolbarIconButton.js +16 -43
- package/dist/commonjs/button/lib/deprecated_Button.js +51 -54
- package/dist/commonjs/button/lib/parts/ButtonLabel.js +6 -29
- package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +7 -30
- package/dist/commonjs/card/lib/Card.js +8 -31
- package/dist/commonjs/card/lib/CardBody.js +6 -29
- package/dist/commonjs/card/lib/CardHeading.js +5 -28
- package/dist/commonjs/checkbox/lib/Checkbox.js +120 -129
- package/dist/commonjs/collection/lib/ListBox.js +11 -34
- package/dist/commonjs/collection/lib/react-virtual.js +2 -2
- package/dist/commonjs/collection/lib/useBaseListModel.js +57 -61
- package/dist/commonjs/collection/lib/useCursorListModel.js +98 -130
- package/dist/commonjs/collection/lib/useGridModel.js +14 -32
- package/dist/commonjs/collection/lib/useListItemRegister.js +16 -18
- package/dist/commonjs/collection/lib/useListItemRovingFocus.js +35 -40
- package/dist/commonjs/collection/lib/useListItemSelect.js +6 -8
- package/dist/commonjs/collection/lib/useListModel.js +2 -2
- package/dist/commonjs/collection/lib/useListRenderItem.js +9 -9
- package/dist/commonjs/collection/lib/useListResetCursorOnBlur.js +9 -10
- package/dist/commonjs/collection/lib/useOverflowListItemMeasure.js +10 -11
- package/dist/commonjs/collection/lib/useOverflowListMeasure.js +8 -8
- package/dist/commonjs/collection/lib/useOverflowListModel.js +61 -56
- package/dist/commonjs/collection/lib/useOverflowListTarget.js +10 -10
- package/dist/commonjs/collection/lib/useSelectionListModel.js +31 -37
- package/dist/commonjs/color-picker/lib/ColorInput.js +45 -81
- package/dist/commonjs/color-picker/lib/ColorPreview.js +7 -32
- package/dist/commonjs/color-picker/lib/parts/ColorSwatch.js +15 -43
- package/dist/commonjs/common/lib/CanvasProvider.js +15 -57
- package/dist/commonjs/common/lib/EllipsisText.js +6 -18
- package/dist/commonjs/common/lib/InputProvider.js +73 -93
- package/dist/commonjs/common/lib/parts/_brand-assets.js +6 -6
- package/dist/commonjs/common/lib/responsive/useResponsiveContainerStyles.js +22 -49
- package/dist/commonjs/common/lib/styles/errorRing.js +11 -10
- package/dist/commonjs/common/lib/styles/focusRing.js +19 -21
- package/dist/commonjs/common/lib/styles/hideMouseFocus.js +13 -9
- package/dist/commonjs/common/lib/theming/breakpoints.js +10 -10
- package/dist/commonjs/common/lib/theming/createCanvasTheme.js +36 -65
- package/dist/commonjs/common/lib/theming/getObjectProxy.js +3 -3
- package/dist/commonjs/common/lib/theming/index.d.ts +1 -1
- package/dist/commonjs/common/lib/theming/index.d.ts.map +1 -1
- package/dist/commonjs/common/lib/theming/index.js +1 -1
- package/dist/commonjs/common/lib/theming/styled.js +10 -14
- package/dist/commonjs/common/lib/theming/theme.js +3 -3
- package/dist/commonjs/common/lib/theming/useIsRTL.js +5 -5
- package/dist/commonjs/common/lib/theming/useTheme.d.ts +49 -5
- package/dist/commonjs/common/lib/theming/useTheme.d.ts.map +1 -1
- package/dist/commonjs/common/lib/theming/useTheme.js +82 -37
- package/dist/commonjs/common/lib/theming/useThemedRing.d.ts +43 -0
- package/dist/commonjs/common/lib/theming/useThemedRing.d.ts.map +1 -0
- package/dist/commonjs/common/lib/theming/useThemedRing.js +100 -0
- package/dist/commonjs/common/lib/utils/changeFocus.js +3 -3
- package/dist/commonjs/common/lib/utils/colorUtils.d.ts +7 -0
- package/dist/commonjs/common/lib/utils/colorUtils.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/colorUtils.js +28 -15
- package/dist/commonjs/common/lib/utils/components.d.ts +3 -1
- package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/components.js +46 -89
- package/dist/commonjs/common/lib/utils/deepMerge.js +4 -4
- package/dist/commonjs/common/lib/utils/elements.js +16 -16
- package/dist/commonjs/common/lib/utils/getTranslateFromOrigin.js +2 -2
- package/dist/commonjs/common/lib/utils/isWithinBreakpoint.js +1 -1
- package/dist/commonjs/common/lib/utils/makeMq.js +4 -4
- package/dist/commonjs/common/lib/utils/memoize.d.ts +1 -1
- package/dist/commonjs/common/lib/utils/memoize.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/memoize.js +4 -8
- package/dist/commonjs/common/lib/utils/mergeCallback.js +1 -5
- package/dist/commonjs/common/lib/utils/mergeProps.js +5 -16
- package/dist/commonjs/common/lib/utils/models.js +48 -70
- package/dist/commonjs/common/lib/utils/useConstant.js +2 -2
- package/dist/commonjs/common/lib/utils/useIsFullscreen.js +7 -7
- package/dist/commonjs/common/lib/utils/useModalityType.js +9 -9
- package/dist/commonjs/common/lib/utils/useMount.js +3 -3
- package/dist/commonjs/common/lib/utils/useResizeObserver.js +9 -21
- package/dist/commonjs/common/lib/utils/useUniqueId.js +8 -8
- package/dist/commonjs/common/lib/utils/useWindowSize.js +10 -10
- package/dist/commonjs/dialog/lib/Dialog.js +7 -8
- package/dist/commonjs/dialog/lib/DialogCard.js +6 -17
- package/dist/commonjs/dialog/lib/DialogPopper.js +9 -32
- package/dist/commonjs/dialog/lib/hooks/useDialogCard.js +4 -5
- package/dist/commonjs/dialog/lib/hooks/useDialogModel.js +4 -4
- package/dist/commonjs/dialog/lib/hooks/useDialogPopper.js +4 -5
- package/dist/commonjs/disclosure/lib/useDisclosureModel.js +12 -12
- package/dist/commonjs/form-field/lib/FormField.js +41 -84
- package/dist/commonjs/form-field/lib/Hint.js +13 -47
- package/dist/commonjs/form-field/lib/Label.js +43 -86
- package/dist/commonjs/icon/lib/AccentIcon.d.ts +3 -2
- package/dist/commonjs/icon/lib/AccentIcon.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/AccentIcon.js +15 -41
- package/dist/commonjs/icon/lib/AppletIcon.js +16 -40
- package/dist/commonjs/icon/lib/Graphic.js +9 -33
- package/dist/commonjs/icon/lib/Icon.js +12 -31
- package/dist/commonjs/icon/lib/Svg.js +11 -34
- package/dist/commonjs/icon/lib/SystemIcon.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/SystemIcon.js +36 -63
- package/dist/commonjs/icon/lib/SystemIconCircle.d.ts +2 -1
- package/dist/commonjs/icon/lib/SystemIconCircle.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/SystemIconCircle.js +18 -47
- package/dist/commonjs/icon/lib/utils.d.ts +0 -2
- package/dist/commonjs/icon/lib/utils.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/utils.js +2 -10
- package/dist/commonjs/layout/lib/Box.js +26 -51
- package/dist/commonjs/layout/lib/Flex.js +8 -31
- package/dist/commonjs/layout/lib/Grid.js +11 -35
- package/dist/commonjs/layout/lib/utils/background.js +1 -1
- package/dist/commonjs/layout/lib/utils/border/color.js +1 -1
- package/dist/commonjs/layout/lib/utils/border/index.js +20 -24
- package/dist/commonjs/layout/lib/utils/border/lineStyle.js +1 -1
- package/dist/commonjs/layout/lib/utils/border/radius.js +1 -1
- package/dist/commonjs/layout/lib/utils/border/shorthand.js +1 -1
- package/dist/commonjs/layout/lib/utils/border/width.js +1 -1
- package/dist/commonjs/layout/lib/utils/buildStyleFns.js +40 -43
- package/dist/commonjs/layout/lib/utils/color.js +1 -1
- package/dist/commonjs/layout/lib/utils/depth.js +1 -1
- package/dist/commonjs/layout/lib/utils/flex.js +1 -1
- package/dist/commonjs/layout/lib/utils/flexItem.js +1 -1
- package/dist/commonjs/layout/lib/utils/getValidChildren.js +2 -4
- package/dist/commonjs/layout/lib/utils/grid.js +1 -1
- package/dist/commonjs/layout/lib/utils/gridItem.js +1 -1
- package/dist/commonjs/layout/lib/utils/layout.js +1 -1
- package/dist/commonjs/layout/lib/utils/other.js +1 -1
- package/dist/commonjs/layout/lib/utils/position.d.ts +4 -0
- package/dist/commonjs/layout/lib/utils/position.d.ts.map +1 -1
- package/dist/commonjs/layout/lib/utils/position.js +6 -1
- package/dist/commonjs/layout/lib/utils/space.js +1 -1
- package/dist/commonjs/layout/lib/utils/text.js +1 -1
- package/dist/commonjs/loading-dots/lib/LoadingDots.js +20 -42
- package/dist/commonjs/menu/lib/Menu.js +10 -11
- package/dist/commonjs/menu/lib/MenuCard.js +14 -26
- package/dist/commonjs/menu/lib/MenuContextTarget.js +9 -32
- package/dist/commonjs/menu/lib/MenuDivider.js +9 -20
- package/dist/commonjs/menu/lib/MenuItem.js +77 -86
- package/dist/commonjs/menu/lib/MenuList.js +8 -31
- package/dist/commonjs/menu/lib/MenuPopper.js +6 -29
- package/dist/commonjs/menu/lib/MenuTarget.js +11 -35
- package/dist/commonjs/menu/lib/useMenuModel.js +22 -24
- package/dist/commonjs/modal/lib/Modal.js +10 -10
- package/dist/commonjs/modal/lib/ModalBody.js +13 -26
- package/dist/commonjs/modal/lib/ModalCard.js +13 -27
- package/dist/commonjs/modal/lib/ModalHeading.js +13 -26
- package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +8 -19
- package/dist/commonjs/modal/lib/ModalOverlay.js +39 -52
- package/dist/commonjs/modal/lib/hooks/useCloseOnOverlayClick.js +17 -17
- package/dist/commonjs/modal/lib/hooks/useModalCard.js +3 -3
- package/dist/commonjs/modal/lib/hooks/useModalHeading.js +7 -7
- package/dist/commonjs/modal/lib/hooks/useModalModel.js +5 -5
- package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +15 -36
- package/dist/commonjs/pagination/lib/Pagination/Controls.js +37 -63
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +11 -34
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +7 -30
- package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.js +7 -18
- package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.js +12 -13
- package/dist/commonjs/pagination/lib/Pagination/Nav.js +4 -15
- package/dist/commonjs/pagination/lib/Pagination/PageButton.js +15 -39
- package/dist/commonjs/pagination/lib/Pagination/PageList.js +10 -34
- package/dist/commonjs/pagination/lib/Pagination/Pagination.js +15 -37
- package/dist/commonjs/pagination/lib/Pagination/buildPageRange.js +9 -15
- package/dist/commonjs/pagination/lib/Pagination/common/List.js +8 -32
- package/dist/commonjs/pagination/lib/Pagination/common/useLiveRegion.js +8 -26
- package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.js +2 -4
- package/dist/commonjs/pagination/lib/Pagination/common/utils/useRTL.js +5 -5
- package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.js +31 -31
- package/dist/commonjs/popup/lib/Popper.js +34 -56
- package/dist/commonjs/popup/lib/Popup.js +11 -12
- package/dist/commonjs/popup/lib/PopupBody.js +6 -17
- package/dist/commonjs/popup/lib/PopupCard.js +33 -55
- package/dist/commonjs/popup/lib/PopupCloseButton.js +6 -29
- package/dist/commonjs/popup/lib/PopupCloseIcon.js +8 -31
- package/dist/commonjs/popup/lib/PopupHeading.js +6 -29
- package/dist/commonjs/popup/lib/PopupPopper.js +6 -29
- package/dist/commonjs/popup/lib/PopupTarget.js +6 -17
- package/dist/commonjs/popup/lib/getTransformFromPlacement.js +6 -6
- package/dist/commonjs/popup/lib/hooks/focus-trap-js.js +23 -27
- package/dist/commonjs/popup/lib/hooks/useAlwaysCloseOnOutsideClick.js +9 -9
- package/dist/commonjs/popup/lib/hooks/useAssistiveHideSiblings.js +14 -17
- package/dist/commonjs/popup/lib/hooks/useBringToTopOnClick.js +11 -11
- package/dist/commonjs/popup/lib/hooks/useCloseOnEscape.js +9 -9
- package/dist/commonjs/popup/lib/hooks/useCloseOnFullscreenExit.js +9 -9
- package/dist/commonjs/popup/lib/hooks/useCloseOnOutsideClick.js +12 -12
- package/dist/commonjs/popup/lib/hooks/useCloseOnTargetHidden.js +12 -12
- package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.js +10 -10
- package/dist/commonjs/popup/lib/hooks/useFocusRedirect.js +10 -10
- package/dist/commonjs/popup/lib/hooks/useFocusTrap.js +9 -9
- package/dist/commonjs/popup/lib/hooks/useInitialFocus.js +10 -10
- package/dist/commonjs/popup/lib/hooks/usePopupCard.js +3 -4
- package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.js +3 -4
- package/dist/commonjs/popup/lib/hooks/usePopupHeading.js +3 -4
- package/dist/commonjs/popup/lib/hooks/usePopupModel.js +29 -34
- package/dist/commonjs/popup/lib/hooks/usePopupPopper.js +8 -9
- package/dist/commonjs/popup/lib/hooks/usePopupStack.js +15 -15
- package/dist/commonjs/popup/lib/hooks/usePopupTarget.js +5 -6
- package/dist/commonjs/popup/lib/hooks/usePopupTargetContext.js +5 -6
- package/dist/commonjs/popup/lib/hooks/useReturnFocus.js +19 -19
- package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenEnter.js +10 -10
- package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenExit.js +10 -10
- package/dist/commonjs/radio/lib/Radio.js +113 -133
- package/dist/commonjs/radio/lib/RadioGroup.js +33 -78
- package/dist/commonjs/segmented-control/lib/SegmentedControl.js +7 -30
- package/dist/commonjs/segmented-control/lib/SegmentedControlButton.js +40 -61
- package/dist/commonjs/select/lib/Select.js +47 -64
- package/dist/commonjs/select/lib/SelectOption.js +6 -48
- package/dist/commonjs/side-panel/lib/SidePanel.js +60 -122
- package/dist/commonjs/skeleton/lib/parts/skeletonHeader.js +5 -30
- package/dist/commonjs/skeleton/lib/parts/skeletonShape.js +12 -40
- package/dist/commonjs/skeleton/lib/parts/skeletonText.js +12 -38
- package/dist/commonjs/skeleton/lib/skeleton.js +15 -40
- package/dist/commonjs/status-indicator/lib/StatusIndicator.js +28 -61
- package/dist/commonjs/switch/lib/Switch.js +55 -65
- package/dist/commonjs/table/lib/Table.js +10 -52
- package/dist/commonjs/table/lib/TableRow.js +40 -67
- package/dist/commonjs/tabs/lib/Tabs.js +11 -12
- package/dist/commonjs/tabs/lib/TabsItem.d.ts +1 -1
- package/dist/commonjs/tabs/lib/TabsItem.js +81 -86
- package/dist/commonjs/tabs/lib/TabsList.js +25 -51
- package/dist/commonjs/tabs/lib/TabsMenuPopper.js +6 -29
- package/dist/commonjs/tabs/lib/TabsOverflowButton.js +12 -35
- package/dist/commonjs/tabs/lib/TabsPanel.js +17 -42
- package/dist/commonjs/tabs/lib/TabsPanels.js +5 -6
- package/dist/commonjs/tabs/lib/useTabsModel.js +44 -43
- package/dist/commonjs/testing/lib/ComponentStatesTable.js +11 -20
- package/dist/commonjs/testing/lib/StaticStates.js +10 -34
- package/dist/commonjs/testing/lib/permutateProps.js +13 -26
- package/dist/commonjs/text/lib/LabelText.js +6 -29
- package/dist/commonjs/text/lib/Text.js +13 -39
- package/dist/commonjs/text/lib/TypeLevelComponents.js +15 -41
- package/dist/commonjs/text-area/lib/TextArea.js +42 -55
- package/dist/commonjs/text-input/lib/InputIconContainer.js +11 -17
- package/dist/commonjs/text-input/lib/TextInput.js +38 -51
- package/dist/commonjs/toast/lib/Toast.js +13 -36
- package/dist/commonjs/toast/lib/ToastBody.js +5 -28
- package/dist/commonjs/toast/lib/ToastCloseIcon.js +5 -16
- package/dist/commonjs/toast/lib/ToastIcon.js +5 -16
- package/dist/commonjs/toast/lib/ToastLink.js +5 -28
- package/dist/commonjs/toast/lib/ToastMessage.js +6 -29
- package/dist/commonjs/toast/lib/hooks/useToastModel.js +8 -16
- package/dist/commonjs/tokens/index.d.ts +2 -2
- package/dist/commonjs/tokens/index.d.ts.map +1 -1
- package/dist/commonjs/tokens/index.js +6 -6
- package/dist/commonjs/tokens/lib/type/fontFamilies.js +3 -3
- package/dist/commonjs/tokens/lib/type/index.js +7 -7
- package/dist/commonjs/tokens/lib/type/levels.js +4 -4
- package/dist/commonjs/tokens/lib/type/variants.js +1 -1
- package/dist/commonjs/tooltip/lib/OverflowTooltip.js +34 -54
- package/dist/commonjs/tooltip/lib/Tooltip.js +26 -47
- package/dist/commonjs/tooltip/lib/TooltipContainer.js +37 -35
- package/dist/commonjs/tooltip/lib/useTooltip.js +32 -34
- package/dist/es6/action-bar/lib/ActionBar.js +3 -4
- package/dist/es6/action-bar/lib/ActionBarItem.js +4 -15
- package/dist/es6/action-bar/lib/ActionBarList.js +10 -35
- package/dist/es6/action-bar/lib/ActionBarOverflowButton.js +6 -17
- package/dist/es6/action-bar/lib/useActionBarModel.js +36 -35
- package/dist/es6/avatar/lib/Avatar.js +46 -68
- package/dist/es6/badge/lib/CountBadge.js +20 -40
- package/dist/es6/banner/lib/Banner.js +25 -41
- package/dist/es6/banner/lib/BannerActionText.js +4 -27
- package/dist/es6/banner/lib/BannerIcon.js +5 -27
- package/dist/es6/banner/lib/BannerLabel.js +3 -26
- package/dist/es6/banner/lib/hooks/index.d.ts +2 -0
- package/dist/es6/banner/lib/hooks/index.d.ts.map +1 -1
- package/dist/es6/banner/lib/hooks/index.js +2 -0
- package/dist/es6/banner/lib/hooks/useBanner.js +3 -4
- package/dist/es6/banner/lib/hooks/useBannerActionText.js +2 -3
- package/dist/es6/banner/lib/hooks/useBannerIcon.js +2 -3
- package/dist/es6/banner/lib/hooks/useBannerLabel.js +2 -3
- package/dist/es6/banner/lib/hooks/useBannerModel.js +8 -16
- package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts +1 -1
- package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts.map +1 -1
- package/dist/es6/banner/lib/hooks/useThemedPalette.js +7 -7
- package/dist/es6/breadcrumbs/lib/Breadcrumbs.js +3 -26
- package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.js +9 -32
- package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +6 -31
- package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.js +11 -32
- package/dist/es6/breadcrumbs/lib/BreadcrumbsList.js +5 -28
- package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.js +6 -18
- package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.js +6 -29
- package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +34 -33
- package/dist/es6/breadcrumbs/lib/hooks/utils/index.js +4 -4
- package/dist/es6/button/lib/BaseButton.js +123 -73
- package/dist/es6/button/lib/DeleteButton.js +25 -56
- package/dist/es6/button/lib/ExternalHyperlink.js +21 -35
- package/dist/es6/button/lib/Hyperlink.js +7 -32
- package/dist/es6/button/lib/PrimaryButton.js +6 -29
- package/dist/es6/button/lib/SecondaryButton.js +6 -29
- package/dist/es6/button/lib/TertiaryButton.js +20 -46
- package/dist/es6/button/lib/ToolbarDropdownButton.js +9 -35
- package/dist/es6/button/lib/ToolbarIconButton.js +13 -40
- package/dist/es6/button/lib/deprecated_Button.js +48 -51
- package/dist/es6/button/lib/parts/ButtonLabel.js +4 -27
- package/dist/es6/button/lib/parts/ButtonLabelIcon.js +5 -28
- package/dist/es6/card/lib/Card.js +3 -26
- package/dist/es6/card/lib/CardBody.js +3 -26
- package/dist/es6/card/lib/CardHeading.js +3 -26
- package/dist/es6/checkbox/lib/Checkbox.js +116 -125
- package/dist/es6/collection/lib/ListBox.js +7 -30
- package/dist/es6/collection/lib/react-virtual.js +1 -1
- package/dist/es6/collection/lib/useBaseListModel.js +55 -59
- package/dist/es6/collection/lib/useCursorListModel.js +110 -142
- package/dist/es6/collection/lib/useGridModel.js +12 -30
- package/dist/es6/collection/lib/useListItemRegister.js +13 -15
- package/dist/es6/collection/lib/useListItemRovingFocus.js +33 -38
- package/dist/es6/collection/lib/useListItemSelect.js +4 -6
- package/dist/es6/collection/lib/useListModel.js +1 -1
- package/dist/es6/collection/lib/useListRenderItem.js +8 -8
- package/dist/es6/collection/lib/useListResetCursorOnBlur.js +5 -6
- package/dist/es6/collection/lib/useOverflowListItemMeasure.js +8 -9
- package/dist/es6/collection/lib/useOverflowListMeasure.js +5 -5
- package/dist/es6/collection/lib/useOverflowListModel.js +59 -54
- package/dist/es6/collection/lib/useOverflowListTarget.js +7 -7
- package/dist/es6/collection/lib/useSelectionListModel.js +31 -37
- package/dist/es6/color-picker/lib/ColorInput.js +41 -77
- package/dist/es6/color-picker/lib/ColorPreview.js +3 -28
- package/dist/es6/color-picker/lib/parts/ColorSwatch.js +8 -36
- package/dist/es6/common/lib/CanvasProvider.js +11 -54
- package/dist/es6/common/lib/EllipsisText.js +5 -17
- package/dist/es6/common/lib/InputProvider.js +72 -93
- package/dist/es6/common/lib/parts/_brand-assets.js +6 -6
- package/dist/es6/common/lib/responsive/useResponsiveContainerStyles.js +20 -47
- package/dist/es6/common/lib/styles/accessibleHide.js +1 -1
- package/dist/es6/common/lib/styles/errorRing.js +8 -7
- package/dist/es6/common/lib/styles/focusRing.js +16 -18
- package/dist/es6/common/lib/styles/hideMouseFocus.js +13 -9
- package/dist/es6/common/lib/theming/breakpoints.js +12 -12
- package/dist/es6/common/lib/theming/createCanvasTheme.js +29 -58
- package/dist/es6/common/lib/theming/getObjectProxy.js +3 -3
- package/dist/es6/common/lib/theming/index.d.ts +1 -1
- package/dist/es6/common/lib/theming/index.d.ts.map +1 -1
- package/dist/es6/common/lib/theming/index.js +1 -1
- package/dist/es6/common/lib/theming/styled.js +7 -11
- package/dist/es6/common/lib/theming/theme.js +5 -5
- package/dist/es6/common/lib/theming/useIsRTL.js +2 -2
- package/dist/es6/common/lib/theming/useTheme.d.ts +49 -5
- package/dist/es6/common/lib/theming/useTheme.d.ts.map +1 -1
- package/dist/es6/common/lib/theming/useTheme.js +78 -34
- package/dist/es6/common/lib/theming/useThemedRing.d.ts +43 -0
- package/dist/es6/common/lib/theming/useThemedRing.d.ts.map +1 -0
- package/dist/es6/common/lib/theming/useThemedRing.js +92 -0
- package/dist/es6/common/lib/utils/changeFocus.js +3 -3
- package/dist/es6/common/lib/utils/colorUtils.d.ts +7 -0
- package/dist/es6/common/lib/utils/colorUtils.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/colorUtils.js +24 -12
- package/dist/es6/common/lib/utils/components.d.ts +3 -1
- package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/components.js +43 -86
- package/dist/es6/common/lib/utils/deepMerge.js +4 -4
- package/dist/es6/common/lib/utils/elements.js +16 -16
- package/dist/es6/common/lib/utils/getTranslateFromOrigin.js +2 -2
- package/dist/es6/common/lib/utils/isWithinBreakpoint.js +1 -1
- package/dist/es6/common/lib/utils/makeMq.js +4 -4
- package/dist/es6/common/lib/utils/memoize.d.ts +1 -1
- package/dist/es6/common/lib/utils/memoize.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/memoize.js +4 -8
- package/dist/es6/common/lib/utils/mergeCallback.js +1 -5
- package/dist/es6/common/lib/utils/mergeProps.js +4 -15
- package/dist/es6/common/lib/utils/models.js +47 -69
- package/dist/es6/common/lib/utils/useConstant.js +1 -1
- package/dist/es6/common/lib/utils/useIsFullscreen.js +5 -5
- package/dist/es6/common/lib/utils/useModalityType.js +8 -8
- package/dist/es6/common/lib/utils/useMount.js +2 -2
- package/dist/es6/common/lib/utils/useResizeObserver.js +6 -18
- package/dist/es6/common/lib/utils/useUniqueId.js +8 -8
- package/dist/es6/common/lib/utils/useWindowSize.js +8 -8
- package/dist/es6/dialog/lib/Dialog.js +2 -3
- package/dist/es6/dialog/lib/DialogCard.js +3 -14
- package/dist/es6/dialog/lib/DialogPopper.js +6 -29
- package/dist/es6/dialog/lib/hooks/useDialogCard.js +2 -3
- package/dist/es6/dialog/lib/hooks/useDialogModel.js +3 -3
- package/dist/es6/dialog/lib/hooks/useDialogPopper.js +2 -3
- package/dist/es6/disclosure/lib/useDisclosureModel.js +11 -11
- package/dist/es6/form-field/lib/FormField.js +35 -79
- package/dist/es6/form-field/lib/Hint.js +9 -43
- package/dist/es6/form-field/lib/Label.js +39 -82
- package/dist/es6/icon/lib/AccentIcon.d.ts +3 -2
- package/dist/es6/icon/lib/AccentIcon.d.ts.map +1 -1
- package/dist/es6/icon/lib/AccentIcon.js +12 -38
- package/dist/es6/icon/lib/AppletIcon.js +12 -36
- package/dist/es6/icon/lib/Graphic.js +6 -30
- package/dist/es6/icon/lib/Icon.js +10 -29
- package/dist/es6/icon/lib/Svg.js +8 -31
- package/dist/es6/icon/lib/SystemIcon.d.ts.map +1 -1
- package/dist/es6/icon/lib/SystemIcon.js +33 -60
- package/dist/es6/icon/lib/SystemIconCircle.d.ts +2 -1
- package/dist/es6/icon/lib/SystemIconCircle.d.ts.map +1 -1
- package/dist/es6/icon/lib/SystemIconCircle.js +14 -43
- package/dist/es6/icon/lib/utils.d.ts +0 -2
- package/dist/es6/icon/lib/utils.d.ts.map +1 -1
- package/dist/es6/icon/lib/utils.js +1 -8
- package/dist/es6/layout/lib/Box.js +12 -37
- package/dist/es6/layout/lib/Flex.js +4 -27
- package/dist/es6/layout/lib/Grid.js +7 -31
- package/dist/es6/layout/lib/utils/background.js +3 -3
- package/dist/es6/layout/lib/utils/border/color.js +2 -2
- package/dist/es6/layout/lib/utils/border/index.js +14 -18
- package/dist/es6/layout/lib/utils/border/lineStyle.js +2 -2
- package/dist/es6/layout/lib/utils/border/radius.js +2 -2
- package/dist/es6/layout/lib/utils/border/shorthand.js +2 -2
- package/dist/es6/layout/lib/utils/border/width.js +2 -2
- package/dist/es6/layout/lib/utils/buildStyleFns.js +39 -42
- package/dist/es6/layout/lib/utils/color.js +3 -3
- package/dist/es6/layout/lib/utils/depth.js +3 -3
- package/dist/es6/layout/lib/utils/flex.js +3 -3
- package/dist/es6/layout/lib/utils/flexItem.js +3 -3
- package/dist/es6/layout/lib/utils/getValidChildren.js +1 -3
- package/dist/es6/layout/lib/utils/grid.js +3 -3
- package/dist/es6/layout/lib/utils/gridItem.js +3 -3
- package/dist/es6/layout/lib/utils/layout.js +3 -3
- package/dist/es6/layout/lib/utils/other.js +3 -3
- package/dist/es6/layout/lib/utils/position.d.ts +4 -0
- package/dist/es6/layout/lib/utils/position.d.ts.map +1 -1
- package/dist/es6/layout/lib/utils/position.js +8 -3
- package/dist/es6/layout/lib/utils/space.js +3 -3
- package/dist/es6/layout/lib/utils/text.js +3 -3
- package/dist/es6/loading-dots/lib/LoadingDots.js +16 -38
- package/dist/es6/menu/lib/Menu.js +2 -3
- package/dist/es6/menu/lib/MenuCard.js +9 -21
- package/dist/es6/menu/lib/MenuContextTarget.js +7 -30
- package/dist/es6/menu/lib/MenuDivider.js +6 -17
- package/dist/es6/menu/lib/MenuItem.js +70 -79
- package/dist/es6/menu/lib/MenuList.js +4 -27
- package/dist/es6/menu/lib/MenuPopper.js +4 -27
- package/dist/es6/menu/lib/MenuTarget.js +10 -34
- package/dist/es6/menu/lib/useMenuModel.js +20 -22
- package/dist/es6/modal/lib/Modal.js +2 -2
- package/dist/es6/modal/lib/ModalBody.js +10 -23
- package/dist/es6/modal/lib/ModalCard.js +10 -24
- package/dist/es6/modal/lib/ModalHeading.js +10 -23
- package/dist/es6/modal/lib/ModalOverflowOverlay.js +4 -15
- package/dist/es6/modal/lib/ModalOverlay.js +33 -46
- package/dist/es6/modal/lib/hooks/useCloseOnOverlayClick.js +13 -13
- package/dist/es6/modal/lib/hooks/useModalCard.js +1 -1
- package/dist/es6/modal/lib/hooks/useModalHeading.js +5 -5
- package/dist/es6/modal/lib/hooks/useModalModel.js +3 -3
- package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +10 -31
- package/dist/es6/pagination/lib/Pagination/Controls.js +35 -61
- package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +7 -30
- package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +4 -27
- package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.js +4 -15
- package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.js +12 -13
- package/dist/es6/pagination/lib/Pagination/Nav.js +2 -13
- package/dist/es6/pagination/lib/Pagination/PageButton.js +11 -35
- package/dist/es6/pagination/lib/Pagination/PageList.js +7 -31
- package/dist/es6/pagination/lib/Pagination/Pagination.js +16 -38
- package/dist/es6/pagination/lib/Pagination/buildPageRange.js +9 -15
- package/dist/es6/pagination/lib/Pagination/common/List.js +7 -31
- package/dist/es6/pagination/lib/Pagination/common/useLiveRegion.js +8 -26
- package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.js +1 -3
- package/dist/es6/pagination/lib/Pagination/common/utils/useRTL.js +4 -4
- package/dist/es6/pagination/lib/Pagination/usePaginationModel.js +29 -29
- package/dist/es6/popup/lib/Popper.js +29 -51
- package/dist/es6/popup/lib/Popup.js +2 -3
- package/dist/es6/popup/lib/PopupBody.js +3 -14
- package/dist/es6/popup/lib/PopupCard.js +26 -48
- package/dist/es6/popup/lib/PopupCloseButton.js +3 -26
- package/dist/es6/popup/lib/PopupCloseIcon.js +3 -26
- package/dist/es6/popup/lib/PopupHeading.js +3 -26
- package/dist/es6/popup/lib/PopupPopper.js +3 -26
- package/dist/es6/popup/lib/PopupTarget.js +3 -14
- package/dist/es6/popup/lib/getTransformFromPlacement.js +6 -6
- package/dist/es6/popup/lib/hooks/focus-trap-js.js +23 -27
- package/dist/es6/popup/lib/hooks/useAlwaysCloseOnOutsideClick.js +5 -5
- package/dist/es6/popup/lib/hooks/useAssistiveHideSiblings.js +11 -14
- package/dist/es6/popup/lib/hooks/useBringToTopOnClick.js +7 -7
- package/dist/es6/popup/lib/hooks/useCloseOnEscape.js +5 -5
- package/dist/es6/popup/lib/hooks/useCloseOnFullscreenExit.js +5 -5
- package/dist/es6/popup/lib/hooks/useCloseOnOutsideClick.js +8 -8
- package/dist/es6/popup/lib/hooks/useCloseOnTargetHidden.js +9 -9
- package/dist/es6/popup/lib/hooks/useDisableBodyScroll.js +7 -7
- package/dist/es6/popup/lib/hooks/useFocusRedirect.js +7 -7
- package/dist/es6/popup/lib/hooks/useFocusTrap.js +5 -5
- package/dist/es6/popup/lib/hooks/useInitialFocus.js +7 -7
- package/dist/es6/popup/lib/hooks/usePopupCard.js +1 -2
- package/dist/es6/popup/lib/hooks/usePopupCloseButton.js +1 -2
- package/dist/es6/popup/lib/hooks/usePopupHeading.js +1 -2
- package/dist/es6/popup/lib/hooks/usePopupModel.js +28 -33
- package/dist/es6/popup/lib/hooks/usePopupPopper.js +5 -6
- package/dist/es6/popup/lib/hooks/usePopupStack.js +12 -12
- package/dist/es6/popup/lib/hooks/usePopupTarget.js +3 -4
- package/dist/es6/popup/lib/hooks/usePopupTargetContext.js +3 -4
- package/dist/es6/popup/lib/hooks/useReturnFocus.js +15 -15
- package/dist/es6/popup/lib/hooks/useTransferOnFullscreenEnter.js +5 -5
- package/dist/es6/popup/lib/hooks/useTransferOnFullscreenExit.js +5 -5
- package/dist/es6/radio/lib/Radio.js +110 -130
- package/dist/es6/radio/lib/RadioGroup.js +29 -75
- package/dist/es6/segmented-control/lib/SegmentedControl.js +5 -28
- package/dist/es6/segmented-control/lib/SegmentedControlButton.js +37 -58
- package/dist/es6/select/lib/Select.js +44 -61
- package/dist/es6/select/lib/SelectOption.js +5 -48
- package/dist/es6/side-panel/lib/SidePanel.js +54 -117
- package/dist/es6/skeleton/lib/parts/skeletonHeader.js +2 -27
- package/dist/es6/skeleton/lib/parts/skeletonShape.js +9 -37
- package/dist/es6/skeleton/lib/parts/skeletonText.js +9 -35
- package/dist/es6/skeleton/lib/skeleton.js +9 -34
- package/dist/es6/status-indicator/lib/StatusIndicator.js +25 -59
- package/dist/es6/switch/lib/Switch.js +54 -64
- package/dist/es6/table/lib/Table.js +9 -52
- package/dist/es6/table/lib/TableRow.js +35 -62
- package/dist/es6/tabs/lib/Tabs.js +2 -3
- package/dist/es6/tabs/lib/TabsItem.d.ts +1 -1
- package/dist/es6/tabs/lib/TabsItem.js +74 -79
- package/dist/es6/tabs/lib/TabsList.js +20 -46
- package/dist/es6/tabs/lib/TabsMenuPopper.js +4 -27
- package/dist/es6/tabs/lib/TabsOverflowButton.js +5 -28
- package/dist/es6/tabs/lib/TabsPanel.js +13 -38
- package/dist/es6/tabs/lib/TabsPanels.js +2 -3
- package/dist/es6/tabs/lib/useTabsModel.js +41 -40
- package/dist/es6/testing/lib/ComponentStatesTable.js +9 -18
- package/dist/es6/testing/lib/StaticStates.js +8 -32
- package/dist/es6/testing/lib/permutateProps.js +13 -26
- package/dist/es6/text/lib/LabelText.js +3 -26
- package/dist/es6/text/lib/Text.js +10 -36
- package/dist/es6/text/lib/TypeLevelComponents.js +16 -42
- package/dist/es6/text-area/lib/TextArea.js +41 -54
- package/dist/es6/text-input/lib/InputIconContainer.js +8 -14
- package/dist/es6/text-input/lib/TextInput.js +37 -50
- package/dist/es6/toast/lib/Toast.js +4 -27
- package/dist/es6/toast/lib/ToastBody.js +3 -26
- package/dist/es6/toast/lib/ToastCloseIcon.js +3 -14
- package/dist/es6/toast/lib/ToastIcon.js +3 -14
- package/dist/es6/toast/lib/ToastLink.js +3 -26
- package/dist/es6/toast/lib/ToastMessage.js +3 -26
- package/dist/es6/toast/lib/hooks/useToastModel.js +8 -16
- package/dist/es6/tokens/index.d.ts +2 -2
- package/dist/es6/tokens/index.d.ts.map +1 -1
- package/dist/es6/tokens/index.js +16 -16
- package/dist/es6/tokens/lib/depth.js +1 -1
- package/dist/es6/tokens/lib/radius.js +1 -1
- package/dist/es6/tokens/lib/space.js +2 -2
- package/dist/es6/tokens/lib/type/fontFamilies.js +6 -6
- package/dist/es6/tokens/lib/type/fontSizes.js +1 -1
- package/dist/es6/tokens/lib/type/fontWeights.js +1 -1
- package/dist/es6/tokens/lib/type/index.js +8 -8
- package/dist/es6/tokens/lib/type/levels.js +1 -1
- package/dist/es6/tokens/lib/type/variants.js +1 -1
- package/dist/es6/tooltip/lib/OverflowTooltip.js +29 -49
- package/dist/es6/tooltip/lib/Tooltip.js +21 -42
- package/dist/es6/tooltip/lib/TooltipContainer.js +33 -31
- package/dist/es6/tooltip/lib/useTooltip.js +29 -31
- package/icon/lib/AccentIcon.tsx +5 -6
- package/icon/lib/SystemIcon.tsx +1 -2
- package/icon/lib/SystemIconCircle.tsx +4 -3
- package/icon/lib/utils.ts +0 -8
- package/layout/lib/utils/position.ts +9 -0
- package/modal/lib/ModalBody.tsx +2 -2
- package/modal/lib/ModalCard.tsx +2 -2
- package/modal/lib/ModalHeading.tsx +2 -2
- package/modal/lib/ModalOverlay.tsx +2 -2
- package/package.json +3 -3
- package/tokens/index.ts +3 -3
- package/common/lib/theming/getCanvasTheme.ts +0 -40
- package/dist/commonjs/common/lib/theming/getCanvasTheme.d.ts +0 -28
- package/dist/commonjs/common/lib/theming/getCanvasTheme.d.ts.map +0 -1
- package/dist/commonjs/common/lib/theming/getCanvasTheme.js +0 -42
- package/dist/es6/common/lib/theming/getCanvasTheme.d.ts +0 -28
- package/dist/es6/common/lib/theming/getCanvasTheme.d.ts.map +0 -1
- package/dist/es6/common/lib/theming/getCanvasTheme.js +0 -37
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
3
|
if (k2 === undefined) k2 = k;
|
|
15
4
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
@@ -29,28 +18,16 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
18
|
__setModuleDefault(result, mod);
|
|
30
19
|
return result;
|
|
31
20
|
};
|
|
32
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
33
|
-
var t = {};
|
|
34
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
35
|
-
t[p] = s[p];
|
|
36
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
37
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
38
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
39
|
-
t[p[i]] = s[p[i]];
|
|
40
|
-
}
|
|
41
|
-
return t;
|
|
42
|
-
};
|
|
43
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
22
|
exports.PopupPopper = void 0;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
23
|
+
const React = __importStar(require("react"));
|
|
24
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
25
|
+
const hooks_1 = require("./hooks");
|
|
26
|
+
const Popper_1 = require("./Popper");
|
|
49
27
|
exports.PopupPopper = common_1.createSubcomponent('div')({
|
|
50
28
|
displayName: 'Popup.Popper',
|
|
51
29
|
modelHook: hooks_1.usePopupModel,
|
|
52
30
|
elemPropsHook: hooks_1.usePopupPopper,
|
|
53
|
-
})(
|
|
54
|
-
|
|
55
|
-
return React.createElement(Popper_1.Popper, __assign({}, elemProps), children);
|
|
31
|
+
})(({ children, ...elemProps }) => {
|
|
32
|
+
return React.createElement(Popper_1.Popper, Object.assign({}, elemProps), children);
|
|
56
33
|
});
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
3
|
if (k2 === undefined) k2 = k;
|
|
15
4
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
@@ -31,14 +20,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
31
20
|
};
|
|
32
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
22
|
exports.PopupTarget = void 0;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
23
|
+
const React = __importStar(require("react"));
|
|
24
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
25
|
+
const button_1 = require("@workday/canvas-kit-react/button");
|
|
26
|
+
const hooks_1 = require("./hooks");
|
|
38
27
|
exports.PopupTarget = common_1.createSubcomponent(button_1.SecondaryButton)({
|
|
39
28
|
displayName: 'Popup.Target',
|
|
40
29
|
modelHook: hooks_1.usePopupModel,
|
|
41
30
|
elemPropsHook: hooks_1.usePopupTarget,
|
|
42
|
-
})(
|
|
43
|
-
return React.createElement(Element,
|
|
31
|
+
})((elemProps, Element) => {
|
|
32
|
+
return React.createElement(Element, Object.assign({}, elemProps));
|
|
44
33
|
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getTransformFromPlacement = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const getTransformFromPlacement = (placement) => {
|
|
5
|
+
const [first, second] = placement.split('-');
|
|
6
|
+
const vertical = first === 'top'
|
|
7
7
|
? 'bottom'
|
|
8
8
|
: first === 'bottom'
|
|
9
9
|
? 'top'
|
|
@@ -12,7 +12,7 @@ var getTransformFromPlacement = function (placement) {
|
|
|
12
12
|
: second === 'start'
|
|
13
13
|
? 'bottom'
|
|
14
14
|
: 'center';
|
|
15
|
-
|
|
15
|
+
const horizontal = first === 'left'
|
|
16
16
|
? 'right'
|
|
17
17
|
: first === 'right'
|
|
18
18
|
? 'left'
|
|
@@ -22,8 +22,8 @@ var getTransformFromPlacement = function (placement) {
|
|
|
22
22
|
? 'right'
|
|
23
23
|
: 'center';
|
|
24
24
|
return {
|
|
25
|
-
vertical
|
|
26
|
-
horizontal
|
|
25
|
+
vertical,
|
|
26
|
+
horizontal,
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
29
|
exports.getTransformFromPlacement = getTransformFromPlacement;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/// <reference types="@types/node" />
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.tabTrappingKey = void 0;
|
|
6
|
-
|
|
6
|
+
const candidateSelectors = [
|
|
7
7
|
'input',
|
|
8
8
|
'select',
|
|
9
9
|
'textarea',
|
|
@@ -21,7 +21,7 @@ function isHidden(node) {
|
|
|
21
21
|
return node.offsetParent === null || getComputedStyle(node).visibility === 'hidden';
|
|
22
22
|
}
|
|
23
23
|
function getCheckedRadio(nodes, form) {
|
|
24
|
-
for (
|
|
24
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
25
25
|
if (nodes[i].checked && nodes[i].form === form) {
|
|
26
26
|
return nodes[i];
|
|
27
27
|
}
|
|
@@ -32,38 +32,38 @@ function isNotRadioOrTabbableRadio(node) {
|
|
|
32
32
|
if (node.tagName !== 'INPUT' || node.type !== 'radio' || !node.name) {
|
|
33
33
|
return true;
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
const radioScope = node.form || node.ownerDocument;
|
|
36
36
|
if (!radioScope) {
|
|
37
37
|
return false;
|
|
38
38
|
}
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
const radioSet = radioScope.querySelectorAll('input[type="radio"][name="' + node.name + '"]');
|
|
40
|
+
const checked = getCheckedRadio(radioSet, node.form);
|
|
41
41
|
return checked === node || (checked === undefined && radioSet[0] === node);
|
|
42
42
|
}
|
|
43
43
|
function getAllTabbingElements(parentElem) {
|
|
44
44
|
var _a;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
const currentActiveElement = document.activeElement;
|
|
46
|
+
const tabbableNodes = parentElem.querySelectorAll(candidateSelectors.join(','));
|
|
47
|
+
const onlyTabbable = [];
|
|
48
|
+
for (let i = 0; i < tabbableNodes.length; i++) {
|
|
49
|
+
const node = tabbableNodes[i];
|
|
50
50
|
if (currentActiveElement === node ||
|
|
51
51
|
(!node.disabled &&
|
|
52
52
|
getTabIndex(node) > -1 &&
|
|
53
53
|
!isHidden(node) &&
|
|
54
54
|
isNotRadioOrTabbableRadio(node))) {
|
|
55
55
|
if (node instanceof HTMLIFrameElement) {
|
|
56
|
-
|
|
57
|
-
if (
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
const iframeDoc = (_a = node.contentWindow) === null || _a === void 0 ? void 0 : _a.document;
|
|
57
|
+
if (iframeDoc) {
|
|
58
|
+
const tabbableElementsInIframe = getAllTabbingElements(iframeDoc);
|
|
59
|
+
const handleKeyEvent = (event) => {
|
|
60
|
+
const blocked = tabTrappingKey(event, iframeDoc, onlyTabbable);
|
|
61
61
|
if (blocked) {
|
|
62
|
-
|
|
62
|
+
iframeDoc.removeEventListener('keydown', handleKeyEvent);
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
|
-
|
|
66
|
-
tabbableElementsInIframe.forEach(
|
|
65
|
+
iframeDoc.addEventListener('keydown', handleKeyEvent);
|
|
66
|
+
tabbableElementsInIframe.forEach(elem => {
|
|
67
67
|
onlyTabbable.push(elem);
|
|
68
68
|
});
|
|
69
69
|
}
|
|
@@ -72,14 +72,10 @@ function getAllTabbingElements(parentElem) {
|
|
|
72
72
|
onlyTabbable.push(node);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
};
|
|
76
|
-
for (var i = 0; i < tabbableNodes.length; i++) {
|
|
77
|
-
_loop_1(i);
|
|
78
75
|
}
|
|
79
76
|
return onlyTabbable;
|
|
80
77
|
}
|
|
81
|
-
function tabTrappingKey(event, parentElem, onlyTabbable) {
|
|
82
|
-
if (onlyTabbable === void 0) { onlyTabbable = null; }
|
|
78
|
+
function tabTrappingKey(event, parentElem, onlyTabbable = null) {
|
|
83
79
|
// check if current event keyCode is tab
|
|
84
80
|
if (!event || event.key !== 'Tab') {
|
|
85
81
|
return;
|
|
@@ -93,9 +89,9 @@ function tabTrappingKey(event, parentElem, onlyTabbable) {
|
|
|
93
89
|
if (!parentElem.contains(event.target)) {
|
|
94
90
|
return false;
|
|
95
91
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
92
|
+
const allTabbingElements = onlyTabbable || getAllTabbingElements(parentElem);
|
|
93
|
+
const firstFocusableElement = allTabbingElements[0];
|
|
94
|
+
const lastFocusableElement = allTabbingElements[allTabbingElements.length - 1];
|
|
99
95
|
if (event.shiftKey && event.target === firstFocusableElement) {
|
|
100
96
|
lastFocusableElement.focus();
|
|
101
97
|
event.preventDefault();
|
|
@@ -110,7 +106,7 @@ function tabTrappingKey(event, parentElem, onlyTabbable) {
|
|
|
110
106
|
}
|
|
111
107
|
exports.tabTrappingKey = tabTrappingKey;
|
|
112
108
|
function getTabIndex(node) {
|
|
113
|
-
|
|
109
|
+
const tabIndexAttr = parseInt(node.getAttribute('tabindex') || '', 10);
|
|
114
110
|
if (!isNaN(tabIndexAttr)) {
|
|
115
111
|
return tabIndexAttr;
|
|
116
112
|
}
|
|
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.useAlwaysCloseOnOutsideClick = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const canvas_kit_popup_stack_1 = require("@workday/canvas-kit-popup-stack");
|
|
9
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
10
|
+
const usePopupModel_1 = require("./usePopupModel");
|
|
11
11
|
/**
|
|
12
12
|
* Registers global listener for all clicks. It will only call the PopupModel's `hide` event if the
|
|
13
13
|
* click happened outside the `stackRef` element and its children regardless of the position in the
|
|
@@ -17,8 +17,8 @@ var usePopupModel_1 = require("./usePopupModel");
|
|
|
17
17
|
* This should be used with popup elements that should close no matter their position in the stack
|
|
18
18
|
* (i.e. Tooltips).
|
|
19
19
|
*/
|
|
20
|
-
exports.useAlwaysCloseOnOutsideClick = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(
|
|
21
|
-
|
|
20
|
+
exports.useAlwaysCloseOnOutsideClick = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(model => {
|
|
21
|
+
const onClick = react_1.default.useCallback((event) => {
|
|
22
22
|
if (!model.state.stackRef.current) {
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
@@ -30,15 +30,15 @@ exports.useAlwaysCloseOnOutsideClick = common_1.createElemPropsHook(usePopupMode
|
|
|
30
30
|
model.events.hide();
|
|
31
31
|
}
|
|
32
32
|
}, [model.events, model.state.stackRef]);
|
|
33
|
-
|
|
34
|
-
react_1.default.useLayoutEffect(
|
|
33
|
+
const visible = model.state.visibility !== 'hidden';
|
|
34
|
+
react_1.default.useLayoutEffect(() => {
|
|
35
35
|
var _a;
|
|
36
36
|
if (!visible) {
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
39
|
document.addEventListener('mousedown', onClick);
|
|
40
40
|
(_a = model.state.stackRef.current) === null || _a === void 0 ? void 0 : _a.setAttribute('data-behavior-click-outside-close', 'always');
|
|
41
|
-
return
|
|
41
|
+
return () => {
|
|
42
42
|
document.removeEventListener('mousedown', onClick);
|
|
43
43
|
};
|
|
44
44
|
}, [model.state.stackRef, visible, onClick]);
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
3
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
4
|
-
to[j] = from[i];
|
|
5
|
-
return to;
|
|
6
|
-
};
|
|
7
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
4
|
};
|
|
10
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
6
|
exports.useAssistiveHideSiblings = void 0;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
9
|
+
const usePopupModel_1 = require("./usePopupModel");
|
|
15
10
|
/**
|
|
16
11
|
* This hook will hide all sibling elements from assistive technology. Very useful for modal
|
|
17
12
|
* dialogs. This will set `aria-hidden` for sibling elements of the provided PopupModel's
|
|
@@ -23,21 +18,23 @@ var usePopupModel_1 = require("./usePopupModel");
|
|
|
23
18
|
*
|
|
24
19
|
* This should be used on popup elements that need to hide content (i.e. Modals).
|
|
25
20
|
*/
|
|
26
|
-
exports.useAssistiveHideSiblings = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(
|
|
27
|
-
|
|
28
|
-
react_1.default.useEffect(
|
|
21
|
+
exports.useAssistiveHideSiblings = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(model => {
|
|
22
|
+
const visible = model.state.visibility !== 'hidden';
|
|
23
|
+
react_1.default.useEffect(() => {
|
|
29
24
|
var _a, _b;
|
|
30
25
|
if (!visible) {
|
|
31
26
|
return;
|
|
32
27
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
const siblings = [
|
|
29
|
+
...(_b = (_a = model.state.stackRef.current) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.children,
|
|
30
|
+
].filter(el => el !== model.state.stackRef.current);
|
|
31
|
+
const prevAriaHidden = siblings.map(el => el.getAttribute('aria-hidden'));
|
|
32
|
+
siblings.forEach(el => {
|
|
36
33
|
el.setAttribute('aria-hidden', 'true');
|
|
37
34
|
});
|
|
38
|
-
return
|
|
39
|
-
siblings.forEach(
|
|
40
|
-
|
|
35
|
+
return () => {
|
|
36
|
+
siblings.forEach((el, index) => {
|
|
37
|
+
const prev = prevAriaHidden[index];
|
|
41
38
|
if (prev) {
|
|
42
39
|
el.setAttribute('aria-hidden', prev);
|
|
43
40
|
}
|
|
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.useBringToTopOnClick = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const canvas_kit_popup_stack_1 = require("@workday/canvas-kit-popup-stack");
|
|
9
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
10
|
+
const usePopupModel_1 = require("./usePopupModel");
|
|
11
11
|
/**
|
|
12
12
|
* This hook will bring an element to the top of the stack when any element inside the provided
|
|
13
13
|
* {@link PopupModel}'s `state.stackRef` element is clicked. If {@link PopupPopper Popup.Popper} was
|
|
@@ -17,25 +17,25 @@ var usePopupModel_1 = require("./usePopupModel");
|
|
|
17
17
|
*
|
|
18
18
|
* This should be used on popup elements that are meant to persist (i.e. Windows).
|
|
19
19
|
*/
|
|
20
|
-
exports.useBringToTopOnClick = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
exports.useBringToTopOnClick = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(model => {
|
|
21
|
+
const timer = react_1.default.useRef(-1);
|
|
22
|
+
const onClick = react_1.default.useCallback((event) => {
|
|
23
23
|
// requestAnimationFrame is used to control timing of when `bringToTop` is called.
|
|
24
24
|
// https://github.com/Workday/canvas-kit/pull/670#discussion_r436158184
|
|
25
|
-
timer.current = requestAnimationFrame(
|
|
25
|
+
timer.current = requestAnimationFrame(() => {
|
|
26
26
|
var _a;
|
|
27
27
|
if ((_a = model.state.stackRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target)) {
|
|
28
28
|
canvas_kit_popup_stack_1.PopupStack.bringToTop(model.state.stackRef.current);
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
31
|
}, [model.state.stackRef]);
|
|
32
|
-
|
|
33
|
-
react_1.default.useLayoutEffect(
|
|
32
|
+
const visible = model.state.visibility !== 'hidden';
|
|
33
|
+
react_1.default.useLayoutEffect(() => {
|
|
34
34
|
if (!visible) {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
37
|
document.addEventListener('click', onClick);
|
|
38
|
-
return
|
|
38
|
+
return () => {
|
|
39
39
|
cancelAnimationFrame(timer.current);
|
|
40
40
|
document.removeEventListener('click', onClick);
|
|
41
41
|
};
|
|
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.useCloseOnEscape = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const canvas_kit_popup_stack_1 = require("@workday/canvas-kit-popup-stack");
|
|
9
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
10
|
+
const usePopupModel_1 = require("./usePopupModel");
|
|
11
11
|
/**
|
|
12
12
|
* Registers global detection of the Escape key. It will only call the {@link PopupModel}'s `hide`
|
|
13
13
|
* event if the provided model's `state.stackRef` element is the topmost in the stack.
|
|
@@ -15,21 +15,21 @@ var usePopupModel_1 = require("./usePopupModel");
|
|
|
15
15
|
* This should be used with popup elements that are dismissible like Tooltips, Modals, non-modal
|
|
16
16
|
* dialogs, dropdown menus, etc.
|
|
17
17
|
*/
|
|
18
|
-
exports.useCloseOnEscape = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(
|
|
19
|
-
|
|
18
|
+
exports.useCloseOnEscape = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(model => {
|
|
19
|
+
const onKeyDown = react_1.default.useCallback((event) => {
|
|
20
20
|
if ((event.key === 'Esc' || event.key === 'Escape') &&
|
|
21
21
|
canvas_kit_popup_stack_1.PopupStack.isTopmost(model.state.stackRef.current)) {
|
|
22
22
|
model.events.hide(event);
|
|
23
23
|
}
|
|
24
24
|
}, [model.state.stackRef, model.events]);
|
|
25
|
-
|
|
25
|
+
const visible = model.state.visibility !== 'hidden';
|
|
26
26
|
// `useLayoutEffect` for automation
|
|
27
|
-
react_1.default.useLayoutEffect(
|
|
27
|
+
react_1.default.useLayoutEffect(() => {
|
|
28
28
|
if (!visible) {
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
31
|
document.addEventListener('keydown', onKeyDown);
|
|
32
|
-
return
|
|
32
|
+
return () => {
|
|
33
33
|
document.removeEventListener('keydown', onKeyDown);
|
|
34
34
|
};
|
|
35
35
|
}, [onKeyDown, visible]);
|
|
@@ -4,29 +4,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.useCloseOnFullscreenExit = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const screenfull_1 = __importDefault(require("screenfull"));
|
|
9
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
10
|
+
const usePopupModel_1 = require("./usePopupModel");
|
|
11
11
|
/**
|
|
12
12
|
* Closes the popup when fullscreen is exited. Entering/exiting fullscreen changes the context of
|
|
13
13
|
* the entire screen. This should be added to popup types that are very context sensitive like
|
|
14
14
|
* Tooltips.
|
|
15
15
|
*/
|
|
16
|
-
exports.useCloseOnFullscreenExit = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(
|
|
17
|
-
|
|
16
|
+
exports.useCloseOnFullscreenExit = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(model => {
|
|
17
|
+
const handler = react_1.default.useCallback((event) => {
|
|
18
18
|
if (!screenfull_1.default.isFullscreen) {
|
|
19
19
|
model.events.hide(event);
|
|
20
20
|
}
|
|
21
21
|
}, [model.events]);
|
|
22
|
-
|
|
23
|
-
react_1.default.useEffect(
|
|
22
|
+
const visible = model.state.visibility !== 'hidden';
|
|
23
|
+
react_1.default.useEffect(() => {
|
|
24
24
|
if (!visible) {
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
27
|
if (screenfull_1.default.isEnabled) {
|
|
28
28
|
screenfull_1.default.on('change', handler);
|
|
29
|
-
return
|
|
29
|
+
return () => {
|
|
30
30
|
screenfull_1.default.off('change', handler);
|
|
31
31
|
};
|
|
32
32
|
}
|
|
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.useCloseOnOutsideClick = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const canvas_kit_popup_stack_1 = require("@workday/canvas-kit-popup-stack");
|
|
9
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
10
|
+
const usePopupModel_1 = require("./usePopupModel");
|
|
11
11
|
/**
|
|
12
12
|
* Registers global listener for all clicks. It will only call the {@link PopupModel}'s `hide` event
|
|
13
13
|
* if the click happened outside the PopupModel's `state.stackRef` element and its children _and_
|
|
@@ -18,14 +18,14 @@ var usePopupModel_1 = require("./usePopupModel");
|
|
|
18
18
|
* dropdown menus, etc. Tooltips and hierarchical menus should use
|
|
19
19
|
* {@link useAlwaysCloseOnClickOutside} instead.
|
|
20
20
|
*/
|
|
21
|
-
exports.useCloseOnOutsideClick = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(
|
|
22
|
-
|
|
21
|
+
exports.useCloseOnOutsideClick = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(model => {
|
|
22
|
+
const onClick = react_1.default.useCallback((event) => {
|
|
23
23
|
if (!model.state.stackRef.current) {
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
.filter(
|
|
28
|
-
.sort(
|
|
26
|
+
const elements = canvas_kit_popup_stack_1.PopupStack.getElements()
|
|
27
|
+
.filter(e => e.getAttribute('data-behavior-click-outside-close') === 'topmost')
|
|
28
|
+
.sort((a, b) => Number(a.style.zIndex) - Number(b.style.zIndex));
|
|
29
29
|
if (elements.length &&
|
|
30
30
|
elements[elements.length - 1] === model.state.stackRef.current &&
|
|
31
31
|
// Use `PopupStack.contains` instead of `ref.current.contains` so that the application can
|
|
@@ -35,15 +35,15 @@ exports.useCloseOnOutsideClick = common_1.createElemPropsHook(usePopupModel_1.us
|
|
|
35
35
|
model.events.hide(event);
|
|
36
36
|
}
|
|
37
37
|
}, [model.state.stackRef, model.events]);
|
|
38
|
-
|
|
39
|
-
react_1.default.useLayoutEffect(
|
|
38
|
+
const visible = model.state.visibility !== 'hidden';
|
|
39
|
+
react_1.default.useLayoutEffect(() => {
|
|
40
40
|
var _a;
|
|
41
41
|
if (!visible) {
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
44
|
document.addEventListener('mousedown', onClick);
|
|
45
45
|
(_a = model.state.stackRef.current) === null || _a === void 0 ? void 0 : _a.setAttribute('data-behavior-click-outside-close', 'topmost');
|
|
46
|
-
return
|
|
46
|
+
return () => {
|
|
47
47
|
document.removeEventListener('mousedown', onClick);
|
|
48
48
|
};
|
|
49
49
|
}, [model.state.stackRef, visible, onClick]);
|
|
@@ -4,14 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.useCloseOnTargetHidden = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
9
|
+
const popup_1 = require("@workday/canvas-kit-react/popup");
|
|
10
10
|
function getScrollParent(element) {
|
|
11
11
|
if (element === document.body || !element.parentElement) {
|
|
12
12
|
return element;
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
const styles = getComputedStyle(element);
|
|
15
15
|
if (styles.overflowY === 'scroll' ||
|
|
16
16
|
styles.overflowY === 'auto' ||
|
|
17
17
|
styles.overflowX === 'scroll' ||
|
|
@@ -29,26 +29,26 @@ function getScrollParent(element) {
|
|
|
29
29
|
*
|
|
30
30
|
* This should be used with popup elements that are transitory like Tooltips and dropdown menus.
|
|
31
31
|
*/
|
|
32
|
-
exports.useCloseOnTargetHidden = common_1.createElemPropsHook(popup_1.usePopupModel)(
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
exports.useCloseOnTargetHidden = common_1.createElemPropsHook(popup_1.usePopupModel)(model => {
|
|
33
|
+
const visible = model.state.visibility !== 'hidden';
|
|
34
|
+
const callback = react_1.default.useCallback(entries => {
|
|
35
35
|
if (entries[0].intersectionRatio < 0.5) {
|
|
36
36
|
model.events.hide();
|
|
37
37
|
}
|
|
38
38
|
}, [model.events]);
|
|
39
|
-
react_1.default.useLayoutEffect(
|
|
39
|
+
react_1.default.useLayoutEffect(() => {
|
|
40
40
|
if (!visible || !model.state.targetRef.current) {
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
const target = model.state.targetRef.current;
|
|
44
|
+
const scrollParent = getScrollParent(target);
|
|
45
45
|
// eslint-disable-next-line compat/compat
|
|
46
|
-
|
|
46
|
+
const observer = new IntersectionObserver(callback, {
|
|
47
47
|
root: scrollParent,
|
|
48
48
|
threshold: 0.5,
|
|
49
49
|
});
|
|
50
50
|
observer.observe(model.state.targetRef.current);
|
|
51
|
-
return
|
|
51
|
+
return () => {
|
|
52
52
|
observer.disconnect();
|
|
53
53
|
};
|
|
54
54
|
}, [callback, model.state.targetRef, visible]);
|
|
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.useDisableBodyScroll = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
9
|
+
const usePopupModel_1 = require("./usePopupModel");
|
|
10
10
|
/**
|
|
11
11
|
* Disables body scroll by adding `overflow: hidden` to the body element. This effectively prevents
|
|
12
12
|
* page scrolling while the popup is visible.
|
|
@@ -14,19 +14,19 @@ var usePopupModel_1 = require("./usePopupModel");
|
|
|
14
14
|
* This should be used with popup elements that hide all other content and force the user to accept
|
|
15
15
|
* or dismiss the popup before continuing (i.e. Modals).
|
|
16
16
|
*/
|
|
17
|
-
exports.useDisableBodyScroll = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(
|
|
18
|
-
|
|
19
|
-
react_1.default.useLayoutEffect(
|
|
17
|
+
exports.useDisableBodyScroll = common_1.createElemPropsHook(usePopupModel_1.usePopupModel)(model => {
|
|
18
|
+
const visible = model.state.visibility !== 'hidden';
|
|
19
|
+
react_1.default.useLayoutEffect(() => {
|
|
20
20
|
if (!visible) {
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
const overflowY = document.body.style.overflowY;
|
|
24
|
+
const overflowX = document.body.style.overflowX;
|
|
25
|
+
const overflow = document.body.style.overflow;
|
|
26
26
|
document.body.style.overflow = 'hidden';
|
|
27
27
|
document.body.style.overflowY = 'hidden';
|
|
28
28
|
document.body.style.overflowX = 'hidden';
|
|
29
|
-
return
|
|
29
|
+
return () => {
|
|
30
30
|
document.body.style.overflow = overflow;
|
|
31
31
|
document.body.style.overflowY = overflowY;
|
|
32
32
|
document.body.style.overflowX = overflowX;
|