@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
|
@@ -6,7 +6,7 @@ export var BreakpointKey;
|
|
|
6
6
|
BreakpointKey["l"] = "l";
|
|
7
7
|
BreakpointKey["xl"] = "xl";
|
|
8
8
|
})(BreakpointKey || (BreakpointKey = {}));
|
|
9
|
-
export
|
|
9
|
+
export const breakpointKeys = ['zero', 's', 'm', 'l', 'xl'];
|
|
10
10
|
/**
|
|
11
11
|
* ### Theme Breakpoint Values
|
|
12
12
|
*
|
|
@@ -30,14 +30,14 @@ export var breakpointKeys = ['zero', 's', 'm', 'l', 'xl'];
|
|
|
30
30
|
* Note: Some applications may only require a subset of screen sizes and not use all breakpoints.
|
|
31
31
|
*
|
|
32
32
|
*/
|
|
33
|
-
export
|
|
33
|
+
export const breakpoints = {
|
|
34
34
|
zero: 0,
|
|
35
35
|
s: 320,
|
|
36
36
|
m: 768,
|
|
37
37
|
l: 1024,
|
|
38
38
|
xl: 1440,
|
|
39
39
|
};
|
|
40
|
-
|
|
40
|
+
const step = 0.5;
|
|
41
41
|
/**
|
|
42
42
|
* ### Up
|
|
43
43
|
*
|
|
@@ -62,8 +62,8 @@ var step = 0.5;
|
|
|
62
62
|
* ```
|
|
63
63
|
*/
|
|
64
64
|
export function up(key) {
|
|
65
|
-
|
|
66
|
-
return
|
|
65
|
+
const value = typeof breakpoints[key] === 'number' ? breakpoints[key] : key;
|
|
66
|
+
return `@media (min-width: ${value}px)`;
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
69
|
* ### Down
|
|
@@ -111,14 +111,14 @@ export function up(key) {
|
|
|
111
111
|
* ```
|
|
112
112
|
*/
|
|
113
113
|
export function down(endKey) {
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
const endIndex = breakpointKeys.indexOf(endKey) + 1;
|
|
115
|
+
const upperbound = breakpoints[breakpointKeys[endIndex]];
|
|
116
116
|
if (endIndex === breakpointKeys.length) {
|
|
117
117
|
// xl down applies to all sizes
|
|
118
118
|
return up(BreakpointKey.zero);
|
|
119
119
|
}
|
|
120
|
-
|
|
121
|
-
return
|
|
120
|
+
const value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : 0;
|
|
121
|
+
return `@media (max-width: ${value - step}px)`;
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
124
|
* ### Between
|
|
@@ -167,12 +167,12 @@ export function down(endKey) {
|
|
|
167
167
|
* ```
|
|
168
168
|
*/
|
|
169
169
|
export function between(start, end) {
|
|
170
|
-
|
|
170
|
+
const endIndex = breakpointKeys.indexOf(end) + 1;
|
|
171
171
|
if (endIndex === breakpointKeys.length) {
|
|
172
172
|
return up(start);
|
|
173
173
|
}
|
|
174
|
-
return (
|
|
175
|
-
(
|
|
174
|
+
return (`@media (min-width: ${breakpoints[start]}px) and ` +
|
|
175
|
+
`(max-width: ${breakpoints[breakpointKeys[endIndex]] - step}px)`);
|
|
176
176
|
}
|
|
177
177
|
/**
|
|
178
178
|
* ### Only
|
|
@@ -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
|
import chroma from 'chroma-js';
|
|
24
2
|
import colors from '@workday/canvas-colors-web';
|
|
25
3
|
import { defaultCanvasTheme } from './theme';
|
|
@@ -28,77 +6,70 @@ import { pickForegroundColor } from '../utils';
|
|
|
28
6
|
// Should these be exported?
|
|
29
7
|
import { deepMerge } from '../utils/deepMerge';
|
|
30
8
|
import { memoize } from '../utils/memoize';
|
|
31
|
-
export
|
|
32
|
-
|
|
33
|
-
var canvasColor = Object.keys(colors).find(function (color) { return colors[color] === hexColor; });
|
|
9
|
+
export const shiftColor = memoize((hexColor, amount = 100) => {
|
|
10
|
+
const canvasColor = Object.keys(colors).find(color => colors[color] === hexColor);
|
|
34
11
|
if (canvasColor) {
|
|
35
|
-
|
|
36
|
-
|
|
12
|
+
const colorRegex = /([a-zAz]*)(\d{3})/g;
|
|
13
|
+
const match = colorRegex.exec(canvasColor);
|
|
37
14
|
if (match) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
15
|
+
const baseColor = match[1];
|
|
16
|
+
const shadeNumber = parseInt(match[2], 10);
|
|
17
|
+
const newShade = shadeNumber + amount;
|
|
41
18
|
if (newShade >= 100 && newShade <= 600) {
|
|
42
19
|
return colors[(baseColor + newShade)];
|
|
43
20
|
}
|
|
44
21
|
}
|
|
45
22
|
}
|
|
46
23
|
try {
|
|
47
|
-
|
|
24
|
+
const newColor = amount > 0
|
|
48
25
|
? chroma(hexColor).darken(amount / 100)
|
|
49
26
|
: chroma(hexColor).brighten(-amount / 100);
|
|
50
27
|
return newColor.hex();
|
|
51
28
|
}
|
|
52
29
|
catch (e) {
|
|
53
|
-
console.warn(
|
|
30
|
+
console.warn(`Invalid color '${hexColor}' used in theme`);
|
|
54
31
|
return hexColor;
|
|
55
32
|
}
|
|
56
|
-
},
|
|
33
|
+
}, (color, value) => `${color}.${value}`);
|
|
57
34
|
function fillPalette(defaultPalette, palette) {
|
|
58
35
|
if (!palette) {
|
|
59
36
|
return {};
|
|
60
37
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
38
|
+
const main = palette.main || defaultPalette.main;
|
|
39
|
+
const dark = palette.dark || (palette.main && shiftColor(palette.main, 100)) || defaultPalette.dark;
|
|
40
|
+
const darkest = palette.darkest || (palette.main && shiftColor(palette.main, 200)) || defaultPalette.darkest;
|
|
41
|
+
const light = palette.light || (palette.main && shiftColor(palette.main, -100)) || defaultPalette.light;
|
|
42
|
+
const lightest = palette.lightest || (palette.main && shiftColor(palette.main, -200)) || defaultPalette.lightest;
|
|
43
|
+
const contrast = palette.contrast || pickForegroundColor(main) || defaultPalette.contrast;
|
|
67
44
|
return {
|
|
68
|
-
lightest
|
|
69
|
-
light
|
|
70
|
-
main
|
|
71
|
-
dark
|
|
72
|
-
darkest
|
|
73
|
-
contrast
|
|
45
|
+
lightest,
|
|
46
|
+
light,
|
|
47
|
+
main,
|
|
48
|
+
dark,
|
|
49
|
+
darkest,
|
|
50
|
+
contrast,
|
|
74
51
|
};
|
|
75
52
|
}
|
|
76
53
|
function calculateCanvasTheme(partialTheme) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
54
|
+
const { palette = {}, breakpoints = {}, direction, ...extraFields } = partialTheme;
|
|
55
|
+
const { primary, alert, error, success, neutral, common = {} } = palette;
|
|
56
|
+
const mergeable = {
|
|
80
57
|
palette: {
|
|
81
|
-
common
|
|
58
|
+
common,
|
|
82
59
|
primary: fillPalette(defaultCanvasTheme.palette.primary, primary),
|
|
83
60
|
alert: fillPalette(defaultCanvasTheme.palette.alert, alert),
|
|
84
61
|
error: fillPalette(defaultCanvasTheme.palette.error, error),
|
|
85
62
|
success: fillPalette(defaultCanvasTheme.palette.success, success),
|
|
86
63
|
neutral: fillPalette(defaultCanvasTheme.palette.neutral, neutral),
|
|
87
64
|
},
|
|
88
|
-
breakpoints
|
|
65
|
+
breakpoints,
|
|
89
66
|
direction: direction === ContentDirection.RTL ? direction : ContentDirection.LTR,
|
|
90
67
|
};
|
|
91
|
-
return deepMerge(deepMerge({}, defaultCanvasTheme),
|
|
68
|
+
return deepMerge(deepMerge({}, defaultCanvasTheme), { ...mergeable, ...extraFields });
|
|
92
69
|
}
|
|
93
70
|
/**
|
|
94
71
|
* Creates a full {@link CanvasTheme} from any partial theme by deeply merging with the
|
|
95
72
|
* `defaultCanvasTheme` object. The function is memoized, but it is best to run this function
|
|
96
73
|
* only once and save the result.
|
|
97
74
|
*/
|
|
98
|
-
export
|
|
99
|
-
var args = [];
|
|
100
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
101
|
-
args[_i] = arguments[_i];
|
|
102
|
-
}
|
|
103
|
-
return JSON.stringify(args);
|
|
104
|
-
});
|
|
75
|
+
export const createCanvasTheme = memoize(calculateCanvasTheme, (...args) => JSON.stringify(args));
|
|
@@ -8,17 +8,17 @@
|
|
|
8
8
|
export function getObjectProxy(target, fallback) {
|
|
9
9
|
if (target) {
|
|
10
10
|
return new Proxy(target, {
|
|
11
|
-
get
|
|
11
|
+
get(target, prop, receiver) {
|
|
12
12
|
if (typeof fallback[prop] === 'object') {
|
|
13
13
|
return getObjectProxy(target[prop], fallback[prop]);
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
const targetProp = target[prop];
|
|
16
16
|
if (targetProp !== undefined) {
|
|
17
17
|
return targetProp;
|
|
18
18
|
}
|
|
19
19
|
return Reflect.get(fallback, prop, receiver);
|
|
20
20
|
},
|
|
21
|
-
ownKeys
|
|
21
|
+
ownKeys() {
|
|
22
22
|
return Reflect.ownKeys(fallback);
|
|
23
23
|
},
|
|
24
24
|
});
|
|
@@ -4,7 +4,7 @@ export * from './types';
|
|
|
4
4
|
export { default as styled, StyleRewriteFn } from './styled';
|
|
5
5
|
export * from './theme';
|
|
6
6
|
export * from './useTheme';
|
|
7
|
+
export * from './useThemedRing';
|
|
7
8
|
export * from './useIsRTL';
|
|
8
|
-
export * from './getCanvasTheme';
|
|
9
9
|
export * from './getObjectProxy';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,OAAO,IAAI,MAAM,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAC3D,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,OAAO,IAAI,MAAM,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAC3D,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { default as emotionStyled } from '@emotion/styled';
|
|
2
2
|
import { useTheme, ContentDirection } from './index';
|
|
3
3
|
import rtlCSSJS from 'rtl-css-js';
|
|
4
|
-
|
|
4
|
+
const noop = (styles) => styles;
|
|
5
5
|
function styled(node) {
|
|
6
|
-
return
|
|
7
|
-
|
|
8
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
9
|
-
args[_i] = arguments[_i];
|
|
10
|
-
}
|
|
11
|
-
var newArgs = args.map(function (interpolation) { return function (props) {
|
|
6
|
+
return (...args) => {
|
|
7
|
+
const newArgs = args.map(interpolation => (props) => {
|
|
12
8
|
props.theme = useTheme(props.theme);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
const direction = props.theme.canvas.direction;
|
|
10
|
+
const maybeFlip = direction === ContentDirection.RTL ? rtlCSSJS : noop;
|
|
11
|
+
const maybeConvert = props.theme._styleRewriteFn || noop;
|
|
16
12
|
try {
|
|
17
13
|
if (typeof interpolation === 'function') {
|
|
18
14
|
return maybeFlip(maybeConvert(interpolation(props)));
|
|
@@ -22,7 +18,7 @@ function styled(node) {
|
|
|
22
18
|
catch (e) {
|
|
23
19
|
return maybeConvert(interpolation);
|
|
24
20
|
}
|
|
25
|
-
}
|
|
21
|
+
});
|
|
26
22
|
return emotionStyled(node)(newArgs);
|
|
27
23
|
};
|
|
28
24
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import colors from '@workday/canvas-colors-web';
|
|
2
2
|
import { ContentDirection } from './types';
|
|
3
3
|
import { breakpoints, up, down, between, only } from './breakpoints';
|
|
4
|
-
export
|
|
4
|
+
export const defaultCanvasTheme = {
|
|
5
5
|
palette: {
|
|
6
6
|
primary: {
|
|
7
7
|
lightest: colors.blueberry100,
|
|
@@ -49,10 +49,10 @@ export var defaultCanvasTheme = {
|
|
|
49
49
|
},
|
|
50
50
|
breakpoints: {
|
|
51
51
|
values: breakpoints,
|
|
52
|
-
up
|
|
53
|
-
down
|
|
54
|
-
between
|
|
55
|
-
only
|
|
52
|
+
up,
|
|
53
|
+
down,
|
|
54
|
+
between,
|
|
55
|
+
only,
|
|
56
56
|
},
|
|
57
57
|
direction: ContentDirection.LTR,
|
|
58
58
|
};
|
|
@@ -10,7 +10,7 @@ function useDefaultTheme(theme, config, fn) {
|
|
|
10
10
|
* @example
|
|
11
11
|
* const isRTL = useIsRTL();
|
|
12
12
|
*/
|
|
13
|
-
export
|
|
14
|
-
|
|
13
|
+
export const useIsRTL = (partialTheme) => {
|
|
14
|
+
const theme = useDefaultTheme(partialTheme, ThemeContext, React.useContext);
|
|
15
15
|
return (theme && theme.canvas && theme.canvas.direction) === ContentDirection.RTL;
|
|
16
16
|
};
|
|
@@ -1,11 +1,47 @@
|
|
|
1
1
|
import { EmotionCanvasTheme, PartialEmotionCanvasTheme } from './index';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Function to get the correct theme object for `styled` and class components
|
|
4
|
+
* or to be used outside component.
|
|
5
|
+
* @param {Object=} theme - The theme object with the Canvas Kit theme.
|
|
6
|
+
* It should be namespaced within this variable under the `canvas` key.
|
|
7
|
+
* Value of `canvas` property is any partial or full theme object to overwtite default theme.
|
|
6
8
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
+
* @returns An object containing updated or default Canvas Kit theme under `canvas` key.
|
|
10
|
+
*
|
|
11
|
+
* The passed partial theme object will be merged with the default Canvas theme
|
|
12
|
+
* (using memoized createCanvasTheme()) to establish any missing fields that have
|
|
13
|
+
* not been defined by the consumer's theme object.
|
|
14
|
+
*
|
|
15
|
+
* If theme is not passed, the function will try to retrieve it from the window object.
|
|
16
|
+
* If window theme is not found, it will return the default Canvas theme.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* import {getTheme} from '@workday/canvas-kit-react/common';
|
|
20
|
+
*
|
|
21
|
+
* const theme = getTheme();
|
|
22
|
+
* const {up, down} = theme.canvas.breakpoints;
|
|
23
|
+
* const small = down('m'); // Returns '@media (max-width: 768px)'
|
|
24
|
+
* const medium = up('m'); // Returns '@media (min-width: 768px)'
|
|
25
|
+
*
|
|
26
|
+
* const styles = {
|
|
27
|
+
* [small]: {
|
|
28
|
+
* margin: space.m
|
|
29
|
+
* },
|
|
30
|
+
* [medium]: {
|
|
31
|
+
* margin: space.l
|
|
32
|
+
* }
|
|
33
|
+
* }
|
|
34
|
+
*/
|
|
35
|
+
export declare function getTheme(theme?: PartialEmotionCanvasTheme): EmotionCanvasTheme;
|
|
36
|
+
/**
|
|
37
|
+
* Hook function to get the correct theme object for functional components.
|
|
38
|
+
* @param {Object=} theme - The theme object with the Canvas Kit theme.
|
|
39
|
+
* It should be namespaced within this variable under the `canvas` key.
|
|
40
|
+
* Value of `canvas` property is any partial or full theme object to overwtite default theme.
|
|
41
|
+
*
|
|
42
|
+
* @returns An object containing updated or default Canvas Kit theme under `canvas` key.
|
|
43
|
+
*
|
|
44
|
+
* NOTE: If theme is not passed, the function will try to pull the theme from ThemeContext.
|
|
9
45
|
* If that does not work, it will try to retrieve it from the window object.
|
|
10
46
|
* As a last resort, it will return the default Canvas theme.
|
|
11
47
|
*
|
|
@@ -16,6 +52,14 @@ import { EmotionCanvasTheme, PartialEmotionCanvasTheme } from './index';
|
|
|
16
52
|
* Providing the default theme here is currently a work around for when no
|
|
17
53
|
* ThemeProvider or context exists.
|
|
18
54
|
* Tracked on https://github.com/emotion-js/emotion/issues/1193.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* export const ErrorMessage = () => {
|
|
58
|
+
* const theme = useTheme();
|
|
59
|
+
* return (
|
|
60
|
+
* <Subtext size="large" color={theme.canvas.palette.error.main}>
|
|
61
|
+
* );
|
|
62
|
+
* }
|
|
19
63
|
*/
|
|
20
64
|
export declare function useTheme(theme?: PartialEmotionCanvasTheme): EmotionCanvasTheme;
|
|
21
65
|
//# sourceMappingURL=useTheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/useTheme.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/useTheme.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAOjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,GAAG,kBAAkB,CAY9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,GAAG,kBAAkB,CAkB9E"}
|
|
@@ -1,24 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
};
|
|
1
|
+
// refactor for v5
|
|
2
|
+
/// <reference types="@types/node" />
|
|
12
3
|
import { useTheme as useEmotionTheme } from '@emotion/react';
|
|
13
4
|
import { defaultCanvasTheme, createCanvasTheme, } from './index';
|
|
14
|
-
|
|
5
|
+
const getFilledTheme = (theme) => ({
|
|
6
|
+
...theme,
|
|
7
|
+
canvas: createCanvasTheme(theme.canvas),
|
|
8
|
+
});
|
|
9
|
+
/**
|
|
10
|
+
* Function to get the correct theme object for `styled` and class components
|
|
11
|
+
* or to be used outside component.
|
|
12
|
+
* @param {Object=} theme - The theme object with the Canvas Kit theme.
|
|
13
|
+
* It should be namespaced within this variable under the `canvas` key.
|
|
14
|
+
* Value of `canvas` property is any partial or full theme object to overwtite default theme.
|
|
15
|
+
*
|
|
16
|
+
* @returns An object containing updated or default Canvas Kit theme under `canvas` key.
|
|
17
|
+
*
|
|
18
|
+
* The passed partial theme object will be merged with the default Canvas theme
|
|
19
|
+
* (using memoized createCanvasTheme()) to establish any missing fields that have
|
|
20
|
+
* not been defined by the consumer's theme object.
|
|
21
|
+
*
|
|
22
|
+
* If theme is not passed, the function will try to retrieve it from the window object.
|
|
23
|
+
* If window theme is not found, it will return the default Canvas theme.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* import {getTheme} from '@workday/canvas-kit-react/common';
|
|
27
|
+
*
|
|
28
|
+
* const theme = getTheme();
|
|
29
|
+
* const {up, down} = theme.canvas.breakpoints;
|
|
30
|
+
* const small = down('m'); // Returns '@media (max-width: 768px)'
|
|
31
|
+
* const medium = up('m'); // Returns '@media (min-width: 768px)'
|
|
32
|
+
*
|
|
33
|
+
* const styles = {
|
|
34
|
+
* [small]: {
|
|
35
|
+
* margin: space.m
|
|
36
|
+
* },
|
|
37
|
+
* [medium]: {
|
|
38
|
+
* margin: space.l
|
|
39
|
+
* }
|
|
40
|
+
* }
|
|
41
|
+
*/
|
|
42
|
+
export function getTheme(theme) {
|
|
43
|
+
var _a, _b, _c;
|
|
44
|
+
if (theme === null || theme === void 0 ? void 0 : theme.canvas) {
|
|
45
|
+
return getFilledTheme(theme);
|
|
46
|
+
}
|
|
47
|
+
const windowTheme = typeof window !== 'undefined' && ((_c = (_b = (_a = window) === null || _a === void 0 ? void 0 : _a.workday) === null || _b === void 0 ? void 0 : _b.canvas) === null || _c === void 0 ? void 0 : _c.theme);
|
|
48
|
+
if (windowTheme) {
|
|
49
|
+
return getFilledTheme({ canvas: windowTheme });
|
|
50
|
+
}
|
|
51
|
+
return { canvas: defaultCanvasTheme };
|
|
52
|
+
}
|
|
15
53
|
/**
|
|
16
|
-
* Hook function to get the correct theme object.
|
|
17
|
-
* @param {Object=} theme - The theme object
|
|
18
|
-
*
|
|
54
|
+
* Hook function to get the correct theme object for functional components.
|
|
55
|
+
* @param {Object=} theme - The theme object with the Canvas Kit theme.
|
|
56
|
+
* It should be namespaced within this variable under the `canvas` key.
|
|
57
|
+
* Value of `canvas` property is any partial or full theme object to overwtite default theme.
|
|
19
58
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
59
|
+
* @returns An object containing updated or default Canvas Kit theme under `canvas` key.
|
|
60
|
+
*
|
|
61
|
+
* NOTE: If theme is not passed, the function will try to pull the theme from ThemeContext.
|
|
22
62
|
* If that does not work, it will try to retrieve it from the window object.
|
|
23
63
|
* As a last resort, it will return the default Canvas theme.
|
|
24
64
|
*
|
|
@@ -29,25 +69,29 @@ var getFilledTheme = function (theme) { return (__assign(__assign({}, theme), {
|
|
|
29
69
|
* Providing the default theme here is currently a work around for when no
|
|
30
70
|
* ThemeProvider or context exists.
|
|
31
71
|
* Tracked on https://github.com/emotion-js/emotion/issues/1193.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* export const ErrorMessage = () => {
|
|
75
|
+
* const theme = useTheme();
|
|
76
|
+
* return (
|
|
77
|
+
* <Subtext size="large" color={theme.canvas.palette.error.main}>
|
|
78
|
+
* );
|
|
79
|
+
* }
|
|
32
80
|
*/
|
|
33
81
|
export function useTheme(theme) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
82
|
+
if (!theme) {
|
|
83
|
+
try {
|
|
84
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
85
|
+
const contextTheme = useEmotionTheme();
|
|
86
|
+
if (contextTheme === null || contextTheme === void 0 ? void 0 : contextTheme.canvas) {
|
|
87
|
+
return getFilledTheme(contextTheme);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
if (process && process.env.NODE_ENV === 'development') {
|
|
92
|
+
console.warn('useTheme: Context not supported or invalid. Please consider using `getTheme` function instead for `styled` or class components.');
|
|
93
|
+
}
|
|
43
94
|
}
|
|
44
95
|
}
|
|
45
|
-
|
|
46
|
-
// Context not supported or invalid (probably called from within a class component)
|
|
47
|
-
}
|
|
48
|
-
var windowTheme = typeof window !== 'undefined' && ((_c = (_b = (_a = window) === null || _a === void 0 ? void 0 : _a.workday) === null || _b === void 0 ? void 0 : _b.canvas) === null || _c === void 0 ? void 0 : _c.theme);
|
|
49
|
-
if (windowTheme) {
|
|
50
|
-
return getFilledTheme({ canvas: windowTheme });
|
|
51
|
-
}
|
|
52
|
-
return { canvas: defaultCanvasTheme };
|
|
96
|
+
return getTheme(theme);
|
|
53
97
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { EmotionCanvasTheme } from '@workday/canvas-kit-react/common';
|
|
2
|
+
import { CSSProperties } from '@workday/canvas-kit-react/tokens';
|
|
3
|
+
declare type paletteSelection = Exclude<keyof EmotionCanvasTheme['canvas']['palette'], 'common'>;
|
|
4
|
+
interface ContrastColors {
|
|
5
|
+
outer?: string;
|
|
6
|
+
inner?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function getPaletteColorsForFocusRing(type: paletteSelection, theme: EmotionCanvasTheme): ContrastColors;
|
|
9
|
+
/**
|
|
10
|
+
* This is a way to automatically add themed colors to your input and is helpful when showing alerts, success or errors to users.
|
|
11
|
+
* It supports `error`, `alert`, and `success` states. It will try and use the corresponding
|
|
12
|
+
* `main` colors from your `CanvasThemePalette` unless they do not meet accessibility contrast, in
|
|
13
|
+
* which case the outer ring will use the `darkest` color. This hook will also show a `focusOutline`
|
|
14
|
+
* ring when the input is focused. Note: You should not rely on these colors alone to differentiate
|
|
15
|
+
* alerts, but use them in combination with icons or hint text.
|
|
16
|
+
* ```tsx
|
|
17
|
+
* // Add here jsx pragma to use css
|
|
18
|
+
* import {jsx} from '@emotion/core';
|
|
19
|
+
* import React from 'react';
|
|
20
|
+
* import {TextInput} from '@workday/canvas-kit-preview-react/text-input';
|
|
21
|
+
* import {useThemedRing} from '@workday/canvas-kit-react/common';
|
|
22
|
+
*
|
|
23
|
+
* export const MyInput = ({handleChange}) => {
|
|
24
|
+
* const [value, setValue] = React.useState('invalid@email');
|
|
25
|
+
* const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
|
|
26
|
+
* setValue(event.target.value);
|
|
27
|
+
* };
|
|
28
|
+
*
|
|
29
|
+
* const alertStyles = useThemedRing('alert');
|
|
30
|
+
*
|
|
31
|
+
* return (
|
|
32
|
+
* <TextInput>
|
|
33
|
+
* <TextInput.Label>Email</TextInput.Label>
|
|
34
|
+
* <TextInput.Field css={alertStyles} onChange={handleChange} value={value} />
|
|
35
|
+
* <TextInput.Hint>Please enter a valid email.</TextInput.Hint>
|
|
36
|
+
* </TextInput>
|
|
37
|
+
* );
|
|
38
|
+
* };
|
|
39
|
+
*```
|
|
40
|
+
*/
|
|
41
|
+
export declare const useThemedRing: (type: paletteSelection) => CSSProperties;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=useThemedRing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThemedRing.d.ts","sourceRoot":"","sources":["../../../../../common/lib/theming/useThemedRing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,kBAAkB,EAAW,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAS,aAAa,EAA4B,MAAM,kCAAkC,CAAC;AAIlG,aAAK,gBAAgB,GAAG,OAAO,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;AACzF,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoBD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,kBAAkB,GACxB,cAAc,CAsBhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,aAAa,SAAU,gBAAgB,KAAG,aAyBtD,CAAC"}
|