@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
|
@@ -3,17 +3,13 @@
|
|
|
3
3
|
* cache key
|
|
4
4
|
*/
|
|
5
5
|
export function memoize(func, resolver) {
|
|
6
|
-
|
|
7
|
-
return function () {
|
|
8
|
-
|
|
9
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
10
|
-
args[_i] = arguments[_i];
|
|
11
|
-
}
|
|
12
|
-
var key = resolver.apply(void 0, args);
|
|
6
|
+
const cache = new Map();
|
|
7
|
+
return function (...args) {
|
|
8
|
+
const key = resolver(...args);
|
|
13
9
|
if (cache.has(key)) {
|
|
14
10
|
return cache.get(key);
|
|
15
11
|
}
|
|
16
|
-
|
|
12
|
+
const result = func(...args);
|
|
17
13
|
cache.set(key, result);
|
|
18
14
|
return result;
|
|
19
15
|
};
|
|
@@ -13,11 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
export function mergeCallback(callback1, callback2) {
|
|
15
15
|
if (callback2) {
|
|
16
|
-
return (
|
|
17
|
-
var args = [];
|
|
18
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
19
|
-
args[_i] = arguments[_i];
|
|
20
|
-
}
|
|
16
|
+
return ((...args) => {
|
|
21
17
|
callback1.apply(null, args);
|
|
22
18
|
callback2.apply(null, args);
|
|
23
19
|
});
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
import { mergeCallback } from './mergeCallback';
|
|
13
2
|
// This file suppresses TS errors that come from merging interfaces of elements that aren't
|
|
14
3
|
// determined within components. Element interfaces are determined only when used, so TS errors
|
|
@@ -22,19 +11,19 @@ import { mergeCallback } from './mergeCallback';
|
|
|
22
11
|
* passing of props from merged hooks to another without passing out to the final element props.
|
|
23
12
|
*/
|
|
24
13
|
export function mergeProps(targetProps, sourceProps) {
|
|
25
|
-
|
|
26
|
-
for (
|
|
14
|
+
const returnProps = { ...targetProps };
|
|
15
|
+
for (const key in sourceProps) {
|
|
27
16
|
if (sourceProps.hasOwnProperty(key)) {
|
|
28
17
|
if (key === 'css' && targetProps.hasOwnProperty('css')) {
|
|
29
18
|
// @ts-ignore
|
|
30
|
-
|
|
19
|
+
const css = [].concat(targetProps[key], sourceProps[key]);
|
|
31
20
|
// @ts-ignore
|
|
32
21
|
returnProps[key] = css;
|
|
33
22
|
}
|
|
34
23
|
else if (key === 'style' && targetProps.hasOwnProperty('style')) {
|
|
35
24
|
// merge style objects
|
|
36
25
|
// @ts-ignore TS complains that key might not be on targetProps, but typeof returns
|
|
37
|
-
returnProps[key] =
|
|
26
|
+
returnProps[key] = { ...targetProps[key], ...sourceProps[key] };
|
|
38
27
|
}
|
|
39
28
|
else if (typeof sourceProps[key] === 'function' &&
|
|
40
29
|
// @ts-ignore TS complains that key might not be on targetProps, but typeof returns
|
|
@@ -1,25 +1,3 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
-
var t = {};
|
|
14
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
-
t[p] = s[p];
|
|
16
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
-
t[p[i]] = s[p[i]];
|
|
20
|
-
}
|
|
21
|
-
return t;
|
|
22
|
-
};
|
|
23
1
|
/* eslint-disable react-hooks/rules-of-hooks */
|
|
24
2
|
import React from 'react';
|
|
25
3
|
/**
|
|
@@ -48,12 +26,12 @@ import React from 'react';
|
|
|
48
26
|
*
|
|
49
27
|
* @deprecated `createModelHook` uses Template Literal Types to create event map types
|
|
50
28
|
*/
|
|
51
|
-
export
|
|
29
|
+
export const createEventMap = () => (config) => {
|
|
52
30
|
// Instruct Typescript that all valid guards and callbacks exist
|
|
53
31
|
return config;
|
|
54
|
-
};
|
|
32
|
+
};
|
|
55
33
|
// small wrapper to get `keyof T` instead of `string | number | symbol`
|
|
56
|
-
|
|
34
|
+
const keys = (input) => Object.keys(input);
|
|
57
35
|
/**
|
|
58
36
|
* This hook creates a stable reference events object to be used in a model. The reference is stable
|
|
59
37
|
* by the use of `React.Memo` and uses React Refs to make sure there are no stale closure values. It
|
|
@@ -75,30 +53,30 @@ var keys = function (input) { return Object.keys(input); };
|
|
|
75
53
|
* })
|
|
76
54
|
* @deprecated Use `createModelHook` instead
|
|
77
55
|
*/
|
|
78
|
-
export
|
|
56
|
+
export const useEventMap = (eventMap, state, config, events) => {
|
|
79
57
|
// use refs so we can memoize the returned `events` object
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
58
|
+
const eventMapRef = React.useRef(eventMap);
|
|
59
|
+
const stateRef = React.useRef(state);
|
|
60
|
+
const configRef = React.useRef(config);
|
|
61
|
+
const eventsRef = React.useRef(events);
|
|
84
62
|
// update all the refs with current values
|
|
85
63
|
eventMapRef.current = eventMap;
|
|
86
64
|
stateRef.current = state;
|
|
87
65
|
configRef.current = config;
|
|
88
66
|
eventsRef.current = events;
|
|
89
|
-
return React.useMemo(
|
|
90
|
-
return keys(eventsRef.current).reduce(
|
|
91
|
-
result[key] = (
|
|
67
|
+
return React.useMemo(() => {
|
|
68
|
+
return keys(eventsRef.current).reduce((result, key) => {
|
|
69
|
+
result[key] = (data => {
|
|
92
70
|
var _a, _b;
|
|
93
71
|
// Invoke the configured guard if there is one
|
|
94
72
|
if (!eventsRef.current[key]._wrapped) {
|
|
95
|
-
|
|
73
|
+
const guardFn = keys(eventMapRef.current.guards || {}).find(k => {
|
|
96
74
|
return (eventMapRef.current.guards || {})[k] === key;
|
|
97
75
|
});
|
|
98
76
|
if (guardFn &&
|
|
99
77
|
((_a = configRef.current) === null || _a === void 0 ? void 0 : _a[guardFn]) &&
|
|
100
78
|
//@ts-ignore Typescript doesn't like that the call signatures are different
|
|
101
|
-
!configRef.current[guardFn]({ data
|
|
79
|
+
!configRef.current[guardFn]({ data, state: stateRef.current })) {
|
|
102
80
|
return;
|
|
103
81
|
}
|
|
104
82
|
}
|
|
@@ -106,12 +84,12 @@ export var useEventMap = function (eventMap, state, config, events) {
|
|
|
106
84
|
eventsRef.current[key](data);
|
|
107
85
|
if (!eventsRef.current[key]._wrapped) {
|
|
108
86
|
// Invoke the configured callback if there is one
|
|
109
|
-
|
|
87
|
+
const callbackFn = keys(eventMapRef.current.callbacks || {}).find(k => {
|
|
110
88
|
return (eventMapRef.current.callbacks || {})[k] === key;
|
|
111
89
|
});
|
|
112
90
|
if (callbackFn && ((_b = configRef.current) === null || _b === void 0 ? void 0 : _b[callbackFn])) {
|
|
113
91
|
//@ts-ignore Typescript doesn't like that the call signatures are different
|
|
114
|
-
configRef.current[callbackFn]({ data
|
|
92
|
+
configRef.current[callbackFn]({ data, prevState: stateRef.current });
|
|
115
93
|
}
|
|
116
94
|
}
|
|
117
95
|
}); // this cast keeps Typescript happy
|
|
@@ -122,29 +100,29 @@ export var useEventMap = function (eventMap, state, config, events) {
|
|
|
122
100
|
}, []);
|
|
123
101
|
};
|
|
124
102
|
// use this?
|
|
125
|
-
export
|
|
126
|
-
return { events
|
|
127
|
-
};
|
|
103
|
+
export const createEvents = (events) => (config) => {
|
|
104
|
+
return { events, eventMap: config };
|
|
105
|
+
};
|
|
128
106
|
function capitalize(string) {
|
|
129
107
|
return string[0].toUpperCase() + string.substring(1);
|
|
130
108
|
}
|
|
131
109
|
function getGuardName(eventName) {
|
|
132
|
-
return
|
|
110
|
+
return `should${capitalize(eventName)}`;
|
|
133
111
|
}
|
|
134
112
|
function getCallbackName(eventName) {
|
|
135
|
-
return
|
|
113
|
+
return `on${capitalize(eventName)}`;
|
|
136
114
|
}
|
|
137
115
|
// Merges config together in a way that is type safe and works at runtime with correct rules and order applied
|
|
138
116
|
// to guards and callbacks.
|
|
139
117
|
function mergeConfig(sourceConfig, newConfig) {
|
|
140
|
-
|
|
141
|
-
|
|
118
|
+
const result = { ...sourceConfig };
|
|
119
|
+
for (const key in newConfig) {
|
|
142
120
|
if (typeof newConfig[key] === "function" &&
|
|
143
121
|
/(on)[A-Z]/.test(key) &&
|
|
144
122
|
typeof sourceConfig[key] === "function") {
|
|
145
123
|
// merge callbacks and ignore Typescript's errors. We've already tested call signatures
|
|
146
124
|
// @ts-ignore
|
|
147
|
-
result[key] =
|
|
125
|
+
result[key] = (data, state) => {
|
|
148
126
|
// @ts-ignore
|
|
149
127
|
sourceConfig[key](data, state);
|
|
150
128
|
// @ts-ignore
|
|
@@ -156,7 +134,7 @@ function mergeConfig(sourceConfig, newConfig) {
|
|
|
156
134
|
sourceConfig[key]) {
|
|
157
135
|
// merge guards and ignore Typescript's errors. We've already tested call signatures
|
|
158
136
|
// @ts-ignore
|
|
159
|
-
result[key] =
|
|
137
|
+
result[key] = (data, state) => {
|
|
160
138
|
// @ts-ignore
|
|
161
139
|
return sourceConfig[key](data, state) && newConfig[key](data, state);
|
|
162
140
|
};
|
|
@@ -165,9 +143,6 @@ function mergeConfig(sourceConfig, newConfig) {
|
|
|
165
143
|
// @ts-ignore
|
|
166
144
|
result[key] = newConfig[key];
|
|
167
145
|
}
|
|
168
|
-
};
|
|
169
|
-
for (var key in newConfig) {
|
|
170
|
-
_loop_1(key);
|
|
171
146
|
}
|
|
172
147
|
return result;
|
|
173
148
|
}
|
|
@@ -194,21 +169,21 @@ function mergeConfig(sourceConfig, newConfig) {
|
|
|
194
169
|
* // config is pre-typed for you based on `defaultConfig`
|
|
195
170
|
* })
|
|
196
171
|
*/
|
|
197
|
-
export
|
|
198
|
-
|
|
172
|
+
export const createModelHook = (options) => {
|
|
173
|
+
const { defaultConfig = {}, requiredConfig = {}, defaultContext, contextOverride } = options;
|
|
199
174
|
// create a bunch of refs so we can define the `wrappedModel` function once.
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
175
|
+
const fnRef = { current: null };
|
|
176
|
+
const callbacksRef = { current: [] };
|
|
177
|
+
const guardsRef = { current: [] };
|
|
178
|
+
const Context = contextOverride || React.createContext(defaultContext || { state: {}, events: {} });
|
|
179
|
+
const getElemProps = (props) => {
|
|
205
180
|
// if (eventsRef.current === null) {
|
|
206
181
|
// throw Error(
|
|
207
182
|
// `useModel.getElemProps() must be called after useModel(). getElemProps needs to determine the events returned by the model to function correctly.\nExample:\nconst model = useModel();\nconst elemProps = useModel.getElemProps(props);`
|
|
208
183
|
// );
|
|
209
184
|
// }
|
|
210
|
-
|
|
211
|
-
for (
|
|
185
|
+
const elemProps = {};
|
|
186
|
+
for (const key in props) {
|
|
212
187
|
if (!defaultConfig.hasOwnProperty(key) &&
|
|
213
188
|
!requiredConfig.hasOwnProperty(key) &&
|
|
214
189
|
!callbacksRef.current.includes(key) &&
|
|
@@ -222,10 +197,13 @@ export var createModelHook = function (options) {
|
|
|
222
197
|
// we use `any` here because we don't know what the type is here and it is internal. No use
|
|
223
198
|
// slowing down Typescript to bother type checking
|
|
224
199
|
function wrappedModelHook(config) {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
200
|
+
const stateRef = React.useRef({});
|
|
201
|
+
const configRef = React.useRef({});
|
|
202
|
+
const eventsRef = React.useRef({});
|
|
203
|
+
const { state, events, ...rest } = fnRef.current({
|
|
204
|
+
...defaultConfig,
|
|
205
|
+
...config,
|
|
206
|
+
});
|
|
229
207
|
// update all the refs with current values
|
|
230
208
|
stateRef.current = state;
|
|
231
209
|
configRef.current = config || {};
|
|
@@ -236,12 +214,12 @@ export var createModelHook = function (options) {
|
|
|
236
214
|
if (!guardsRef.current.length) {
|
|
237
215
|
guardsRef.current = keys(events).map(getGuardName);
|
|
238
216
|
}
|
|
239
|
-
|
|
240
|
-
return keys(eventsRef.current).reduce(
|
|
241
|
-
result[key] =
|
|
217
|
+
const wrappedEvents = React.useMemo(() => {
|
|
218
|
+
return keys(eventsRef.current).reduce((result, key) => {
|
|
219
|
+
result[key] = (data) => {
|
|
242
220
|
// Invoke the configured guard if there is one
|
|
243
221
|
if (!eventsRef.current[key]._wrapped) {
|
|
244
|
-
|
|
222
|
+
const guardFnName = getGuardName(key);
|
|
245
223
|
if (configRef.current[guardFnName] &&
|
|
246
224
|
!configRef.current[guardFnName](data, stateRef.current)) {
|
|
247
225
|
return;
|
|
@@ -249,7 +227,7 @@ export var createModelHook = function (options) {
|
|
|
249
227
|
}
|
|
250
228
|
// call the event (setter)
|
|
251
229
|
eventsRef.current[key](data);
|
|
252
|
-
|
|
230
|
+
const callbackFnName = getCallbackName(key);
|
|
253
231
|
if (!eventsRef.current[key]._wrapped) {
|
|
254
232
|
if (configRef.current[callbackFnName]) {
|
|
255
233
|
configRef.current[callbackFnName](data, stateRef.current);
|
|
@@ -261,14 +239,14 @@ export var createModelHook = function (options) {
|
|
|
261
239
|
return result;
|
|
262
240
|
}, {});
|
|
263
241
|
}, []);
|
|
264
|
-
return
|
|
242
|
+
return { state, events: wrappedEvents, ...rest };
|
|
265
243
|
}
|
|
266
244
|
wrappedModelHook.getElemProps = getElemProps;
|
|
267
245
|
wrappedModelHook.defaultConfig = defaultConfig;
|
|
268
246
|
wrappedModelHook.requiredConfig = requiredConfig;
|
|
269
247
|
wrappedModelHook.mergeConfig = mergeConfig;
|
|
270
248
|
wrappedModelHook.Context = Context;
|
|
271
|
-
return
|
|
249
|
+
return (fn) => {
|
|
272
250
|
fnRef.current = fn;
|
|
273
251
|
return wrappedModelHook; // Typescript complains about the `fn` not matching the signature. It's okay Typescript. It works at runtime
|
|
274
252
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import screenfull from 'screenfull';
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export const useIsFullscreen = () => {
|
|
4
|
+
const [isFullscreen, setIsFullscreen] = React.useState(false);
|
|
5
|
+
const handler = React.useCallback(() => {
|
|
6
6
|
setIsFullscreen(screenfull.isFullscreen);
|
|
7
7
|
}, []);
|
|
8
|
-
React.useEffect(
|
|
8
|
+
React.useEffect(() => {
|
|
9
9
|
screenfull.on('change', handler);
|
|
10
|
-
return
|
|
10
|
+
return () => {
|
|
11
11
|
screenfull.off('change', handler);
|
|
12
12
|
};
|
|
13
13
|
}, [handler]);
|
|
@@ -24,7 +24,7 @@ function safeLocalStorageSet(key, value) {
|
|
|
24
24
|
// a. if localStorage isn't primed, use clientWidth of the browsers
|
|
25
25
|
// b. if < 768, default to 'touch'
|
|
26
26
|
// c. else default to 'mouse'
|
|
27
|
-
|
|
27
|
+
let localStorageValue = (safeLocalStorageGet('modality') ||
|
|
28
28
|
(typeof document !== 'undefined'
|
|
29
29
|
? document.documentElement.clientWidth < 768
|
|
30
30
|
? 'touch'
|
|
@@ -34,7 +34,7 @@ var localStorageValue = (safeLocalStorageGet('modality') ||
|
|
|
34
34
|
// Update the `localStorageValue`, but conditionally update localStorage only if the value has
|
|
35
35
|
// changed. This prevents too many calls to `localStorage` which can be costly on spinning disk
|
|
36
36
|
// drives
|
|
37
|
-
|
|
37
|
+
const updateLocalStorage = (value) => {
|
|
38
38
|
if (localStorageValue !== value) {
|
|
39
39
|
safeLocalStorageSet('modality', value);
|
|
40
40
|
}
|
|
@@ -53,16 +53,16 @@ var updateLocalStorage = function (value) {
|
|
|
53
53
|
*
|
|
54
54
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent/pointerType
|
|
55
55
|
*/
|
|
56
|
-
export
|
|
57
|
-
|
|
58
|
-
React.useEffect(
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
export const useModalityType = () => {
|
|
57
|
+
const [modality, setModality] = React.useState(localStorageValue);
|
|
58
|
+
React.useEffect(() => {
|
|
59
|
+
const handlePointerDown = (event) => {
|
|
60
|
+
const value = event.pointerType;
|
|
61
61
|
setModality(value);
|
|
62
62
|
updateLocalStorage(value);
|
|
63
63
|
};
|
|
64
64
|
document.addEventListener('pointerdown', handlePointerDown);
|
|
65
|
-
return
|
|
65
|
+
return () => {
|
|
66
66
|
document.removeEventListener('pointerdown', handlePointerDown);
|
|
67
67
|
};
|
|
68
68
|
}, []);
|
|
@@ -3,7 +3,7 @@ import React from 'react';
|
|
|
3
3
|
* Alias to `useEffect` with the intention to only run on mount/unmount.
|
|
4
4
|
* Avoids the React lint errors and encodes intent.
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
6
|
+
export const useMount = (callback) => {
|
|
7
7
|
// we only want this to be called once
|
|
8
8
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9
9
|
React.useEffect(callback, []);
|
|
@@ -12,7 +12,7 @@ export var useMount = function (callback) {
|
|
|
12
12
|
* Alias to `useLayoutEffect` with the intention to only run on mount/unmount
|
|
13
13
|
* Avoids the React lint errors and encodes intent.
|
|
14
14
|
*/
|
|
15
|
-
export
|
|
15
|
+
export const useMountLayout = (callback) => {
|
|
16
16
|
// we only want this to be called once
|
|
17
17
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
18
18
|
React.useLayoutEffect(callback, []);
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
import React from 'react';
|
|
13
2
|
import useResizeObserverOriginal from 'use-resize-observer';
|
|
14
3
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
@@ -18,12 +7,11 @@ if (typeof window !== 'undefined' && !window.ResizeObserver) {
|
|
|
18
7
|
// `useResizeObserver` contains this fix in 8.0.0:
|
|
19
8
|
// https://github.com/ZeeCoder/use-resize-observer/commit/bd0f3c8597bac0d853b88cf585256aac1bd4f554
|
|
20
9
|
// v8.0.0 requires TS4.2. So we'll manually patch until we're ready for TS4.2+
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
? function (data) {
|
|
10
|
+
export const useResizeObserver = (params = {}) => {
|
|
11
|
+
const widthRef = React.useRef();
|
|
12
|
+
const heightRef = React.useRef();
|
|
13
|
+
const onResize = params.onResize
|
|
14
|
+
? (data) => {
|
|
27
15
|
if (widthRef.current !== data.width || heightRef.current !== data.height) {
|
|
28
16
|
widthRef.current = data.width;
|
|
29
17
|
heightRef.current = data.height;
|
|
@@ -31,7 +19,7 @@ export var useResizeObserver = function (params) {
|
|
|
31
19
|
}
|
|
32
20
|
}
|
|
33
21
|
: undefined;
|
|
34
|
-
return useResizeObserverOriginal(
|
|
22
|
+
return useResizeObserverOriginal({ ...params, onResize });
|
|
35
23
|
};
|
|
36
24
|
// When the dependency is moved up to v8.0.0, remove the above function and export below instead
|
|
37
25
|
// export {useResizeObserver};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useConstant } from './useConstant';
|
|
2
2
|
// Create a unique seed per import to prevent collisions from other versions of `useUniqueId`
|
|
3
|
-
|
|
3
|
+
let seed = Math.random()
|
|
4
4
|
.toString(36)
|
|
5
5
|
.slice(2)
|
|
6
6
|
.replace(/[0-9]*/, '')
|
|
7
7
|
.substr(0, 4);
|
|
8
|
-
|
|
8
|
+
let c = 0;
|
|
9
9
|
/**
|
|
10
10
|
* Generates a unique and HTML5 compliant identifier every time it is called. Internally it uses a 4
|
|
11
11
|
* character random seed starting with a letter. This seed is unique to each instance of this
|
|
@@ -15,14 +15,14 @@ var c = 0;
|
|
|
15
15
|
* [resetUniqueIdCount](#resetuniqueidcount). [setUniqueSeed](#setuniqueseed) can also be used for
|
|
16
16
|
* testing or server side rendering to get the same results during hydration.
|
|
17
17
|
*/
|
|
18
|
-
export
|
|
18
|
+
export const generateUniqueId = () => seed + (c++).toString(36);
|
|
19
19
|
/**
|
|
20
20
|
* Generate a unique ID if one is not provided. The generated ID will be stable across renders
|
|
21
21
|
* @param id Optional ID provided that will be used instead of a unique ID
|
|
22
22
|
*/
|
|
23
|
-
export
|
|
23
|
+
export const useUniqueId = (id) => {
|
|
24
24
|
// https://codesandbox.io/s/react-functional-component-ids-p2ndq
|
|
25
|
-
|
|
25
|
+
const generatedId = useConstant(generateUniqueId);
|
|
26
26
|
return id || generatedId;
|
|
27
27
|
};
|
|
28
28
|
/**
|
|
@@ -30,7 +30,7 @@ export var useUniqueId = function (id) {
|
|
|
30
30
|
* @deprecated
|
|
31
31
|
* TODO: Remove in major release
|
|
32
32
|
*/
|
|
33
|
-
export
|
|
33
|
+
export const uniqueId = useUniqueId;
|
|
34
34
|
/**
|
|
35
35
|
* Update the seed used by the id generator. This is useful for snapshot tests to help stabilize ids
|
|
36
36
|
* generated each run. This could also be used for server-side hydration - if you choose the same
|
|
@@ -45,12 +45,12 @@ export var uniqueId = useUniqueId;
|
|
|
45
45
|
* setSeed('a')
|
|
46
46
|
* })
|
|
47
47
|
*/
|
|
48
|
-
export
|
|
48
|
+
export const setUniqueSeed = (s) => {
|
|
49
49
|
seed = s;
|
|
50
50
|
};
|
|
51
51
|
/**
|
|
52
52
|
* This should only be called for tests in an `beforeEach`
|
|
53
53
|
*/
|
|
54
|
-
export
|
|
54
|
+
export const resetUniqueIdCount = () => {
|
|
55
55
|
c = 0;
|
|
56
56
|
};
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useMount } from './useMount';
|
|
3
|
-
|
|
3
|
+
const getFromWindow = (property, defaultValue) => {
|
|
4
4
|
var _a;
|
|
5
5
|
if (typeof window !== undefined) {
|
|
6
6
|
return (_a = window[property]) !== null && _a !== void 0 ? _a : defaultValue;
|
|
7
7
|
}
|
|
8
8
|
return defaultValue;
|
|
9
9
|
};
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
export const useWindowSize = () => {
|
|
11
|
+
const [width, setWidth] = React.useState(getFromWindow('innerWidth', 0));
|
|
12
|
+
const [height, setHeight] = React.useState(getFromWindow('innerHeight', 0));
|
|
13
|
+
const onResize = () => {
|
|
14
14
|
setWidth(window.innerWidth);
|
|
15
15
|
setHeight(window.innerHeight);
|
|
16
16
|
};
|
|
17
|
-
useMount(
|
|
17
|
+
useMount(() => {
|
|
18
18
|
window.addEventListener('resize', onResize);
|
|
19
|
-
return
|
|
19
|
+
return () => {
|
|
20
20
|
window.removeEventListener('resize', onResize);
|
|
21
21
|
};
|
|
22
22
|
});
|
|
23
|
-
return { width
|
|
23
|
+
return { width, height };
|
|
24
24
|
};
|
|
@@ -4,7 +4,7 @@ import { Popup } from '@workday/canvas-kit-react/popup';
|
|
|
4
4
|
import { DialogPopper } from './DialogPopper';
|
|
5
5
|
import { DialogCard } from './DialogCard';
|
|
6
6
|
import { useDialogModel } from './hooks';
|
|
7
|
-
export
|
|
7
|
+
export const Dialog = createContainer()({
|
|
8
8
|
displayName: 'Dialog',
|
|
9
9
|
modelHook: useDialogModel,
|
|
10
10
|
subComponents: {
|
|
@@ -16,7 +16,6 @@ export var Dialog = createContainer()({
|
|
|
16
16
|
Popper: DialogPopper,
|
|
17
17
|
CloseButton: Popup.CloseButton,
|
|
18
18
|
},
|
|
19
|
-
})(
|
|
20
|
-
var children = _a.children;
|
|
19
|
+
})(({ children }) => {
|
|
21
20
|
return React.createElement(React.Fragment, null, children);
|
|
22
21
|
});
|
|
@@ -1,22 +1,11 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
import * as React from 'react';
|
|
13
2
|
import { createSubcomponent } from '@workday/canvas-kit-react/common';
|
|
14
3
|
import { Popup } from '@workday/canvas-kit-react/popup';
|
|
15
4
|
import { useDialogCard, useDialogModel } from './hooks';
|
|
16
|
-
export
|
|
5
|
+
export const DialogCard = createSubcomponent('div')({
|
|
17
6
|
displayName: 'Dialog.Card',
|
|
18
7
|
modelHook: useDialogModel,
|
|
19
8
|
elemPropsHook: useDialogCard,
|
|
20
|
-
})(
|
|
21
|
-
return (React.createElement(Popup.Card,
|
|
9
|
+
})((elemProps, Element, model) => {
|
|
10
|
+
return (React.createElement(Popup.Card, Object.assign({ as: Element, model: model }, elemProps), elemProps.children));
|
|
22
11
|
});
|
|
@@ -1,39 +1,16 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
-
var t = {};
|
|
14
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
-
t[p] = s[p];
|
|
16
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
-
t[p[i]] = s[p[i]];
|
|
20
|
-
}
|
|
21
|
-
return t;
|
|
22
|
-
};
|
|
23
1
|
import * as React from 'react';
|
|
24
2
|
import { createSubcomponent } from '@workday/canvas-kit-react/common';
|
|
25
3
|
import { usePopupPopper, Popper } from '@workday/canvas-kit-react/popup';
|
|
26
4
|
import { useDialogPopper, useDialogModel } from './hooks';
|
|
27
|
-
export
|
|
5
|
+
export const DialogPopper = createSubcomponent('div')({
|
|
28
6
|
displayName: 'Dialog.Popper',
|
|
29
7
|
modelHook: useDialogModel,
|
|
30
|
-
})(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var elemProps = useDialogPopper(model, props);
|
|
8
|
+
})(({ children, placement, popperOptions, ref, ...props }, Element, model) => {
|
|
9
|
+
const popperProps = usePopupPopper(model, { placement, popperOptions }, ref);
|
|
10
|
+
const elemProps = useDialogPopper(model, props);
|
|
34
11
|
if (model.state.visibility === 'hidden') {
|
|
35
12
|
return null;
|
|
36
13
|
}
|
|
37
|
-
return (React.createElement(Element,
|
|
38
|
-
React.createElement(Popper,
|
|
14
|
+
return (React.createElement(Element, Object.assign({}, elemProps),
|
|
15
|
+
React.createElement(Popper, Object.assign({}, popperProps), children)));
|
|
39
16
|
});
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { composeHooks, createElemPropsHook } from '@workday/canvas-kit-react/common';
|
|
2
2
|
import { usePopupCard, usePopupModel } from '@workday/canvas-kit-react/popup';
|
|
3
|
-
export
|
|
4
|
-
var state = _a.state;
|
|
3
|
+
export const useDialogCard = composeHooks(usePopupCard, createElemPropsHook(usePopupModel)(({ state }) => {
|
|
5
4
|
return {
|
|
6
|
-
id:
|
|
5
|
+
id: `dialog-${state.id}`,
|
|
7
6
|
};
|
|
8
7
|
}));
|