@workday/canvas-kit-react 9.0.0-alpha.368-next.6 → 9.0.0-alpha.382-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-bar/lib/ActionBarList.tsx +2 -2
- package/banner/lib/hooks/index.ts +2 -0
- package/banner/lib/hooks/useThemedPalette.ts +3 -3
- package/common/lib/theming/README.md +97 -0
- package/common/lib/theming/index.ts +1 -1
- package/common/lib/theming/useTheme.ts +79 -22
- package/common/lib/theming/useThemedRing.ts +114 -0
- package/common/lib/utils/colorUtils.ts +20 -7
- package/common/lib/utils/components.ts +4 -0
- package/common/lib/utils/memoize.ts +1 -1
- package/dist/commonjs/action-bar/lib/ActionBar.js +8 -9
- package/dist/commonjs/action-bar/lib/ActionBarItem.js +7 -18
- package/dist/commonjs/action-bar/lib/ActionBarList.js +13 -38
- package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.js +13 -24
- package/dist/commonjs/action-bar/lib/useActionBarModel.js +39 -38
- package/dist/commonjs/avatar/lib/Avatar.js +52 -74
- package/dist/commonjs/badge/lib/CountBadge.js +23 -43
- package/dist/commonjs/banner/lib/Banner.js +32 -48
- package/dist/commonjs/banner/lib/BannerActionText.js +7 -30
- package/dist/commonjs/banner/lib/BannerIcon.js +9 -31
- package/dist/commonjs/banner/lib/BannerLabel.js +6 -29
- package/dist/commonjs/banner/lib/hooks/index.d.ts +2 -0
- package/dist/commonjs/banner/lib/hooks/index.d.ts.map +1 -1
- package/dist/commonjs/banner/lib/hooks/index.js +3 -0
- package/dist/commonjs/banner/lib/hooks/useBanner.js +5 -6
- package/dist/commonjs/banner/lib/hooks/useBannerActionText.js +4 -5
- package/dist/commonjs/banner/lib/hooks/useBannerIcon.js +6 -7
- package/dist/commonjs/banner/lib/hooks/useBannerLabel.js +4 -5
- package/dist/commonjs/banner/lib/hooks/useBannerModel.js +8 -16
- package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts +1 -1
- package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts.map +1 -1
- package/dist/commonjs/banner/lib/hooks/useThemedPalette.js +11 -11
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.js +12 -35
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.js +14 -37
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +14 -39
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.js +15 -36
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.js +10 -33
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.js +7 -19
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.js +15 -38
- package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +38 -37
- package/dist/commonjs/breadcrumbs/lib/hooks/utils/index.js +4 -4
- package/dist/commonjs/button/lib/BaseButton.js +128 -78
- package/dist/commonjs/button/lib/DeleteButton.js +27 -58
- package/dist/commonjs/button/lib/ExternalHyperlink.js +25 -39
- package/dist/commonjs/button/lib/Hyperlink.js +9 -34
- package/dist/commonjs/button/lib/PrimaryButton.js +9 -32
- package/dist/commonjs/button/lib/SecondaryButton.js +9 -32
- package/dist/commonjs/button/lib/TertiaryButton.js +23 -49
- package/dist/commonjs/button/lib/ToolbarDropdownButton.js +13 -39
- package/dist/commonjs/button/lib/ToolbarIconButton.js +16 -43
- package/dist/commonjs/button/lib/deprecated_Button.js +51 -54
- package/dist/commonjs/button/lib/parts/ButtonLabel.js +6 -29
- package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +7 -30
- package/dist/commonjs/card/lib/Card.js +8 -31
- package/dist/commonjs/card/lib/CardBody.js +6 -29
- package/dist/commonjs/card/lib/CardHeading.js +5 -28
- package/dist/commonjs/checkbox/lib/Checkbox.js +120 -129
- package/dist/commonjs/collection/lib/ListBox.js +11 -34
- package/dist/commonjs/collection/lib/react-virtual.js +2 -2
- package/dist/commonjs/collection/lib/useBaseListModel.js +57 -61
- package/dist/commonjs/collection/lib/useCursorListModel.js +98 -130
- package/dist/commonjs/collection/lib/useGridModel.js +14 -32
- package/dist/commonjs/collection/lib/useListItemRegister.js +16 -18
- package/dist/commonjs/collection/lib/useListItemRovingFocus.js +35 -40
- package/dist/commonjs/collection/lib/useListItemSelect.js +6 -8
- package/dist/commonjs/collection/lib/useListModel.js +2 -2
- package/dist/commonjs/collection/lib/useListRenderItem.js +9 -9
- package/dist/commonjs/collection/lib/useListResetCursorOnBlur.js +9 -10
- package/dist/commonjs/collection/lib/useOverflowListItemMeasure.js +10 -11
- package/dist/commonjs/collection/lib/useOverflowListMeasure.js +8 -8
- package/dist/commonjs/collection/lib/useOverflowListModel.js +61 -56
- package/dist/commonjs/collection/lib/useOverflowListTarget.js +10 -10
- package/dist/commonjs/collection/lib/useSelectionListModel.js +31 -37
- package/dist/commonjs/color-picker/lib/ColorInput.js +45 -81
- package/dist/commonjs/color-picker/lib/ColorPreview.js +7 -32
- package/dist/commonjs/color-picker/lib/parts/ColorSwatch.js +15 -43
- package/dist/commonjs/common/lib/CanvasProvider.js +15 -57
- package/dist/commonjs/common/lib/EllipsisText.js +6 -18
- package/dist/commonjs/common/lib/InputProvider.js +73 -93
- package/dist/commonjs/common/lib/parts/_brand-assets.js +6 -6
- package/dist/commonjs/common/lib/responsive/useResponsiveContainerStyles.js +22 -49
- package/dist/commonjs/common/lib/styles/errorRing.js +11 -10
- package/dist/commonjs/common/lib/styles/focusRing.js +19 -21
- package/dist/commonjs/common/lib/styles/hideMouseFocus.js +13 -9
- package/dist/commonjs/common/lib/theming/breakpoints.js +10 -10
- package/dist/commonjs/common/lib/theming/createCanvasTheme.js +36 -65
- package/dist/commonjs/common/lib/theming/getObjectProxy.js +3 -3
- package/dist/commonjs/common/lib/theming/index.d.ts +1 -1
- package/dist/commonjs/common/lib/theming/index.d.ts.map +1 -1
- package/dist/commonjs/common/lib/theming/index.js +1 -1
- package/dist/commonjs/common/lib/theming/styled.js +10 -14
- package/dist/commonjs/common/lib/theming/theme.js +3 -3
- package/dist/commonjs/common/lib/theming/useIsRTL.js +5 -5
- package/dist/commonjs/common/lib/theming/useTheme.d.ts +49 -5
- package/dist/commonjs/common/lib/theming/useTheme.d.ts.map +1 -1
- package/dist/commonjs/common/lib/theming/useTheme.js +82 -37
- package/dist/commonjs/common/lib/theming/useThemedRing.d.ts +43 -0
- package/dist/commonjs/common/lib/theming/useThemedRing.d.ts.map +1 -0
- package/dist/commonjs/common/lib/theming/useThemedRing.js +100 -0
- package/dist/commonjs/common/lib/utils/changeFocus.js +3 -3
- package/dist/commonjs/common/lib/utils/colorUtils.d.ts +7 -0
- package/dist/commonjs/common/lib/utils/colorUtils.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/colorUtils.js +28 -15
- package/dist/commonjs/common/lib/utils/components.d.ts +3 -1
- package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/components.js +46 -89
- package/dist/commonjs/common/lib/utils/deepMerge.js +4 -4
- package/dist/commonjs/common/lib/utils/elements.js +16 -16
- package/dist/commonjs/common/lib/utils/getTranslateFromOrigin.js +2 -2
- package/dist/commonjs/common/lib/utils/isWithinBreakpoint.js +1 -1
- package/dist/commonjs/common/lib/utils/makeMq.js +4 -4
- package/dist/commonjs/common/lib/utils/memoize.d.ts +1 -1
- package/dist/commonjs/common/lib/utils/memoize.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/memoize.js +4 -8
- package/dist/commonjs/common/lib/utils/mergeCallback.js +1 -5
- package/dist/commonjs/common/lib/utils/mergeProps.js +5 -16
- package/dist/commonjs/common/lib/utils/models.js +48 -70
- package/dist/commonjs/common/lib/utils/useConstant.js +2 -2
- package/dist/commonjs/common/lib/utils/useIsFullscreen.js +7 -7
- package/dist/commonjs/common/lib/utils/useModalityType.js +9 -9
- package/dist/commonjs/common/lib/utils/useMount.js +3 -3
- package/dist/commonjs/common/lib/utils/useResizeObserver.js +9 -21
- package/dist/commonjs/common/lib/utils/useUniqueId.js +8 -8
- package/dist/commonjs/common/lib/utils/useWindowSize.js +10 -10
- package/dist/commonjs/dialog/lib/Dialog.js +7 -8
- package/dist/commonjs/dialog/lib/DialogCard.js +6 -17
- package/dist/commonjs/dialog/lib/DialogPopper.js +9 -32
- package/dist/commonjs/dialog/lib/hooks/useDialogCard.js +4 -5
- package/dist/commonjs/dialog/lib/hooks/useDialogModel.js +4 -4
- package/dist/commonjs/dialog/lib/hooks/useDialogPopper.js +4 -5
- package/dist/commonjs/disclosure/lib/useDisclosureModel.js +12 -12
- package/dist/commonjs/form-field/lib/FormField.js +41 -84
- package/dist/commonjs/form-field/lib/Hint.js +13 -47
- package/dist/commonjs/form-field/lib/Label.js +43 -86
- package/dist/commonjs/icon/lib/AccentIcon.d.ts +3 -2
- package/dist/commonjs/icon/lib/AccentIcon.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/AccentIcon.js +15 -41
- package/dist/commonjs/icon/lib/AppletIcon.js +16 -40
- package/dist/commonjs/icon/lib/Graphic.js +9 -33
- package/dist/commonjs/icon/lib/Icon.js +12 -31
- package/dist/commonjs/icon/lib/Svg.js +11 -34
- package/dist/commonjs/icon/lib/SystemIcon.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/SystemIcon.js +36 -63
- package/dist/commonjs/icon/lib/SystemIconCircle.d.ts +2 -1
- package/dist/commonjs/icon/lib/SystemIconCircle.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/SystemIconCircle.js +18 -47
- package/dist/commonjs/icon/lib/utils.d.ts +0 -2
- package/dist/commonjs/icon/lib/utils.d.ts.map +1 -1
- package/dist/commonjs/icon/lib/utils.js +2 -10
- package/dist/commonjs/layout/lib/Box.js +26 -51
- package/dist/commonjs/layout/lib/Flex.js +8 -31
- package/dist/commonjs/layout/lib/Grid.js +11 -35
- package/dist/commonjs/layout/lib/utils/background.js +1 -1
- package/dist/commonjs/layout/lib/utils/border/color.js +1 -1
- package/dist/commonjs/layout/lib/utils/border/index.js +20 -24
- package/dist/commonjs/layout/lib/utils/border/lineStyle.js +1 -1
- package/dist/commonjs/layout/lib/utils/border/radius.js +1 -1
- package/dist/commonjs/layout/lib/utils/border/shorthand.js +1 -1
- package/dist/commonjs/layout/lib/utils/border/width.js +1 -1
- package/dist/commonjs/layout/lib/utils/buildStyleFns.js +40 -43
- package/dist/commonjs/layout/lib/utils/color.js +1 -1
- package/dist/commonjs/layout/lib/utils/depth.js +1 -1
- package/dist/commonjs/layout/lib/utils/flex.js +1 -1
- package/dist/commonjs/layout/lib/utils/flexItem.js +1 -1
- package/dist/commonjs/layout/lib/utils/getValidChildren.js +2 -4
- package/dist/commonjs/layout/lib/utils/grid.js +1 -1
- package/dist/commonjs/layout/lib/utils/gridItem.js +1 -1
- package/dist/commonjs/layout/lib/utils/layout.js +1 -1
- package/dist/commonjs/layout/lib/utils/other.js +1 -1
- package/dist/commonjs/layout/lib/utils/position.d.ts +4 -0
- package/dist/commonjs/layout/lib/utils/position.d.ts.map +1 -1
- package/dist/commonjs/layout/lib/utils/position.js +6 -1
- package/dist/commonjs/layout/lib/utils/space.js +1 -1
- package/dist/commonjs/layout/lib/utils/text.js +1 -1
- package/dist/commonjs/loading-dots/lib/LoadingDots.js +20 -42
- package/dist/commonjs/menu/lib/Menu.js +10 -11
- package/dist/commonjs/menu/lib/MenuCard.js +14 -26
- package/dist/commonjs/menu/lib/MenuContextTarget.js +9 -32
- package/dist/commonjs/menu/lib/MenuDivider.js +9 -20
- package/dist/commonjs/menu/lib/MenuItem.js +77 -86
- package/dist/commonjs/menu/lib/MenuList.js +8 -31
- package/dist/commonjs/menu/lib/MenuPopper.js +6 -29
- package/dist/commonjs/menu/lib/MenuTarget.js +11 -35
- package/dist/commonjs/menu/lib/useMenuModel.js +22 -24
- package/dist/commonjs/modal/lib/Modal.js +10 -10
- package/dist/commonjs/modal/lib/ModalBody.js +13 -26
- package/dist/commonjs/modal/lib/ModalCard.js +13 -27
- package/dist/commonjs/modal/lib/ModalHeading.js +13 -26
- package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +8 -19
- package/dist/commonjs/modal/lib/ModalOverlay.js +39 -52
- package/dist/commonjs/modal/lib/hooks/useCloseOnOverlayClick.js +17 -17
- package/dist/commonjs/modal/lib/hooks/useModalCard.js +3 -3
- package/dist/commonjs/modal/lib/hooks/useModalHeading.js +7 -7
- package/dist/commonjs/modal/lib/hooks/useModalModel.js +5 -5
- package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +15 -36
- package/dist/commonjs/pagination/lib/Pagination/Controls.js +37 -63
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +11 -34
- package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +7 -30
- package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.js +7 -18
- package/dist/commonjs/pagination/lib/Pagination/GoTo/useGoToForm.js +12 -13
- package/dist/commonjs/pagination/lib/Pagination/Nav.js +4 -15
- package/dist/commonjs/pagination/lib/Pagination/PageButton.js +15 -39
- package/dist/commonjs/pagination/lib/Pagination/PageList.js +10 -34
- package/dist/commonjs/pagination/lib/Pagination/Pagination.js +15 -37
- package/dist/commonjs/pagination/lib/Pagination/buildPageRange.js +9 -15
- package/dist/commonjs/pagination/lib/Pagination/common/List.js +8 -32
- package/dist/commonjs/pagination/lib/Pagination/common/useLiveRegion.js +8 -26
- package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.js +2 -4
- package/dist/commonjs/pagination/lib/Pagination/common/utils/useRTL.js +5 -5
- package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.js +31 -31
- package/dist/commonjs/popup/lib/Popper.js +34 -56
- package/dist/commonjs/popup/lib/Popup.js +11 -12
- package/dist/commonjs/popup/lib/PopupBody.js +6 -17
- package/dist/commonjs/popup/lib/PopupCard.js +33 -55
- package/dist/commonjs/popup/lib/PopupCloseButton.js +6 -29
- package/dist/commonjs/popup/lib/PopupCloseIcon.js +8 -31
- package/dist/commonjs/popup/lib/PopupHeading.js +6 -29
- package/dist/commonjs/popup/lib/PopupPopper.js +6 -29
- package/dist/commonjs/popup/lib/PopupTarget.js +6 -17
- package/dist/commonjs/popup/lib/getTransformFromPlacement.js +6 -6
- package/dist/commonjs/popup/lib/hooks/focus-trap-js.js +23 -27
- package/dist/commonjs/popup/lib/hooks/useAlwaysCloseOnOutsideClick.js +9 -9
- package/dist/commonjs/popup/lib/hooks/useAssistiveHideSiblings.js +14 -17
- package/dist/commonjs/popup/lib/hooks/useBringToTopOnClick.js +11 -11
- package/dist/commonjs/popup/lib/hooks/useCloseOnEscape.js +9 -9
- package/dist/commonjs/popup/lib/hooks/useCloseOnFullscreenExit.js +9 -9
- package/dist/commonjs/popup/lib/hooks/useCloseOnOutsideClick.js +12 -12
- package/dist/commonjs/popup/lib/hooks/useCloseOnTargetHidden.js +12 -12
- package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.js +10 -10
- package/dist/commonjs/popup/lib/hooks/useFocusRedirect.js +10 -10
- package/dist/commonjs/popup/lib/hooks/useFocusTrap.js +9 -9
- package/dist/commonjs/popup/lib/hooks/useInitialFocus.js +10 -10
- package/dist/commonjs/popup/lib/hooks/usePopupCard.js +3 -4
- package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.js +3 -4
- package/dist/commonjs/popup/lib/hooks/usePopupHeading.js +3 -4
- package/dist/commonjs/popup/lib/hooks/usePopupModel.js +29 -34
- package/dist/commonjs/popup/lib/hooks/usePopupPopper.js +8 -9
- package/dist/commonjs/popup/lib/hooks/usePopupStack.js +15 -15
- package/dist/commonjs/popup/lib/hooks/usePopupTarget.js +5 -6
- package/dist/commonjs/popup/lib/hooks/usePopupTargetContext.js +5 -6
- package/dist/commonjs/popup/lib/hooks/useReturnFocus.js +19 -19
- package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenEnter.js +10 -10
- package/dist/commonjs/popup/lib/hooks/useTransferOnFullscreenExit.js +10 -10
- package/dist/commonjs/radio/lib/Radio.js +113 -133
- package/dist/commonjs/radio/lib/RadioGroup.js +33 -78
- package/dist/commonjs/segmented-control/lib/SegmentedControl.js +7 -30
- package/dist/commonjs/segmented-control/lib/SegmentedControlButton.js +40 -61
- package/dist/commonjs/select/lib/Select.js +47 -64
- package/dist/commonjs/select/lib/SelectOption.js +6 -48
- package/dist/commonjs/side-panel/lib/SidePanel.js +60 -122
- package/dist/commonjs/skeleton/lib/parts/skeletonHeader.js +5 -30
- package/dist/commonjs/skeleton/lib/parts/skeletonShape.js +12 -40
- package/dist/commonjs/skeleton/lib/parts/skeletonText.js +12 -38
- package/dist/commonjs/skeleton/lib/skeleton.js +15 -40
- package/dist/commonjs/status-indicator/lib/StatusIndicator.js +28 -61
- package/dist/commonjs/switch/lib/Switch.js +55 -65
- package/dist/commonjs/table/lib/Table.js +10 -52
- package/dist/commonjs/table/lib/TableRow.js +40 -67
- package/dist/commonjs/tabs/lib/Tabs.js +11 -12
- package/dist/commonjs/tabs/lib/TabsItem.d.ts +1 -1
- package/dist/commonjs/tabs/lib/TabsItem.js +81 -86
- package/dist/commonjs/tabs/lib/TabsList.js +25 -51
- package/dist/commonjs/tabs/lib/TabsMenuPopper.js +6 -29
- package/dist/commonjs/tabs/lib/TabsOverflowButton.js +12 -35
- package/dist/commonjs/tabs/lib/TabsPanel.js +17 -42
- package/dist/commonjs/tabs/lib/TabsPanels.js +5 -6
- package/dist/commonjs/tabs/lib/useTabsModel.js +44 -43
- package/dist/commonjs/testing/lib/ComponentStatesTable.js +11 -20
- package/dist/commonjs/testing/lib/StaticStates.js +10 -34
- package/dist/commonjs/testing/lib/permutateProps.js +13 -26
- package/dist/commonjs/text/lib/LabelText.js +6 -29
- package/dist/commonjs/text/lib/Text.js +13 -39
- package/dist/commonjs/text/lib/TypeLevelComponents.js +15 -41
- package/dist/commonjs/text-area/lib/TextArea.js +42 -55
- package/dist/commonjs/text-input/lib/InputIconContainer.js +11 -17
- package/dist/commonjs/text-input/lib/TextInput.js +38 -51
- package/dist/commonjs/toast/lib/Toast.js +13 -36
- package/dist/commonjs/toast/lib/ToastBody.js +5 -28
- package/dist/commonjs/toast/lib/ToastCloseIcon.js +5 -16
- package/dist/commonjs/toast/lib/ToastIcon.js +5 -16
- package/dist/commonjs/toast/lib/ToastLink.js +5 -28
- package/dist/commonjs/toast/lib/ToastMessage.js +6 -29
- package/dist/commonjs/toast/lib/hooks/useToastModel.js +8 -16
- package/dist/commonjs/tokens/index.d.ts +2 -2
- package/dist/commonjs/tokens/index.d.ts.map +1 -1
- package/dist/commonjs/tokens/index.js +6 -6
- package/dist/commonjs/tokens/lib/type/fontFamilies.js +3 -3
- package/dist/commonjs/tokens/lib/type/index.js +7 -7
- package/dist/commonjs/tokens/lib/type/levels.js +4 -4
- package/dist/commonjs/tokens/lib/type/variants.js +1 -1
- package/dist/commonjs/tooltip/lib/OverflowTooltip.js +34 -54
- package/dist/commonjs/tooltip/lib/Tooltip.js +26 -47
- package/dist/commonjs/tooltip/lib/TooltipContainer.js +37 -35
- package/dist/commonjs/tooltip/lib/useTooltip.js +32 -34
- package/dist/es6/action-bar/lib/ActionBar.js +3 -4
- package/dist/es6/action-bar/lib/ActionBarItem.js +4 -15
- package/dist/es6/action-bar/lib/ActionBarList.js +10 -35
- package/dist/es6/action-bar/lib/ActionBarOverflowButton.js +6 -17
- package/dist/es6/action-bar/lib/useActionBarModel.js +36 -35
- package/dist/es6/avatar/lib/Avatar.js +46 -68
- package/dist/es6/badge/lib/CountBadge.js +20 -40
- package/dist/es6/banner/lib/Banner.js +25 -41
- package/dist/es6/banner/lib/BannerActionText.js +4 -27
- package/dist/es6/banner/lib/BannerIcon.js +5 -27
- package/dist/es6/banner/lib/BannerLabel.js +3 -26
- package/dist/es6/banner/lib/hooks/index.d.ts +2 -0
- package/dist/es6/banner/lib/hooks/index.d.ts.map +1 -1
- package/dist/es6/banner/lib/hooks/index.js +2 -0
- package/dist/es6/banner/lib/hooks/useBanner.js +3 -4
- package/dist/es6/banner/lib/hooks/useBannerActionText.js +2 -3
- package/dist/es6/banner/lib/hooks/useBannerIcon.js +2 -3
- package/dist/es6/banner/lib/hooks/useBannerLabel.js +2 -3
- package/dist/es6/banner/lib/hooks/useBannerModel.js +8 -16
- package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts +1 -1
- package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts.map +1 -1
- package/dist/es6/banner/lib/hooks/useThemedPalette.js +7 -7
- package/dist/es6/breadcrumbs/lib/Breadcrumbs.js +3 -26
- package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.js +9 -32
- package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +6 -31
- package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.js +11 -32
- package/dist/es6/breadcrumbs/lib/BreadcrumbsList.js +5 -28
- package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.js +6 -18
- package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.js +6 -29
- package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.js +34 -33
- package/dist/es6/breadcrumbs/lib/hooks/utils/index.js +4 -4
- package/dist/es6/button/lib/BaseButton.js +123 -73
- package/dist/es6/button/lib/DeleteButton.js +25 -56
- package/dist/es6/button/lib/ExternalHyperlink.js +21 -35
- package/dist/es6/button/lib/Hyperlink.js +7 -32
- package/dist/es6/button/lib/PrimaryButton.js +6 -29
- package/dist/es6/button/lib/SecondaryButton.js +6 -29
- package/dist/es6/button/lib/TertiaryButton.js +20 -46
- package/dist/es6/button/lib/ToolbarDropdownButton.js +9 -35
- package/dist/es6/button/lib/ToolbarIconButton.js +13 -40
- package/dist/es6/button/lib/deprecated_Button.js +48 -51
- package/dist/es6/button/lib/parts/ButtonLabel.js +4 -27
- package/dist/es6/button/lib/parts/ButtonLabelIcon.js +5 -28
- package/dist/es6/card/lib/Card.js +3 -26
- package/dist/es6/card/lib/CardBody.js +3 -26
- package/dist/es6/card/lib/CardHeading.js +3 -26
- package/dist/es6/checkbox/lib/Checkbox.js +116 -125
- package/dist/es6/collection/lib/ListBox.js +7 -30
- package/dist/es6/collection/lib/react-virtual.js +1 -1
- package/dist/es6/collection/lib/useBaseListModel.js +55 -59
- package/dist/es6/collection/lib/useCursorListModel.js +110 -142
- package/dist/es6/collection/lib/useGridModel.js +12 -30
- package/dist/es6/collection/lib/useListItemRegister.js +13 -15
- package/dist/es6/collection/lib/useListItemRovingFocus.js +33 -38
- package/dist/es6/collection/lib/useListItemSelect.js +4 -6
- package/dist/es6/collection/lib/useListModel.js +1 -1
- package/dist/es6/collection/lib/useListRenderItem.js +8 -8
- package/dist/es6/collection/lib/useListResetCursorOnBlur.js +5 -6
- package/dist/es6/collection/lib/useOverflowListItemMeasure.js +8 -9
- package/dist/es6/collection/lib/useOverflowListMeasure.js +5 -5
- package/dist/es6/collection/lib/useOverflowListModel.js +59 -54
- package/dist/es6/collection/lib/useOverflowListTarget.js +7 -7
- package/dist/es6/collection/lib/useSelectionListModel.js +31 -37
- package/dist/es6/color-picker/lib/ColorInput.js +41 -77
- package/dist/es6/color-picker/lib/ColorPreview.js +3 -28
- package/dist/es6/color-picker/lib/parts/ColorSwatch.js +8 -36
- package/dist/es6/common/lib/CanvasProvider.js +11 -54
- package/dist/es6/common/lib/EllipsisText.js +5 -17
- package/dist/es6/common/lib/InputProvider.js +72 -93
- package/dist/es6/common/lib/parts/_brand-assets.js +6 -6
- package/dist/es6/common/lib/responsive/useResponsiveContainerStyles.js +20 -47
- package/dist/es6/common/lib/styles/accessibleHide.js +1 -1
- package/dist/es6/common/lib/styles/errorRing.js +8 -7
- package/dist/es6/common/lib/styles/focusRing.js +16 -18
- package/dist/es6/common/lib/styles/hideMouseFocus.js +13 -9
- package/dist/es6/common/lib/theming/breakpoints.js +12 -12
- package/dist/es6/common/lib/theming/createCanvasTheme.js +29 -58
- package/dist/es6/common/lib/theming/getObjectProxy.js +3 -3
- package/dist/es6/common/lib/theming/index.d.ts +1 -1
- package/dist/es6/common/lib/theming/index.d.ts.map +1 -1
- package/dist/es6/common/lib/theming/index.js +1 -1
- package/dist/es6/common/lib/theming/styled.js +7 -11
- package/dist/es6/common/lib/theming/theme.js +5 -5
- package/dist/es6/common/lib/theming/useIsRTL.js +2 -2
- package/dist/es6/common/lib/theming/useTheme.d.ts +49 -5
- package/dist/es6/common/lib/theming/useTheme.d.ts.map +1 -1
- package/dist/es6/common/lib/theming/useTheme.js +78 -34
- package/dist/es6/common/lib/theming/useThemedRing.d.ts +43 -0
- package/dist/es6/common/lib/theming/useThemedRing.d.ts.map +1 -0
- package/dist/es6/common/lib/theming/useThemedRing.js +92 -0
- package/dist/es6/common/lib/utils/changeFocus.js +3 -3
- package/dist/es6/common/lib/utils/colorUtils.d.ts +7 -0
- package/dist/es6/common/lib/utils/colorUtils.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/colorUtils.js +24 -12
- package/dist/es6/common/lib/utils/components.d.ts +3 -1
- package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/components.js +43 -86
- package/dist/es6/common/lib/utils/deepMerge.js +4 -4
- package/dist/es6/common/lib/utils/elements.js +16 -16
- package/dist/es6/common/lib/utils/getTranslateFromOrigin.js +2 -2
- package/dist/es6/common/lib/utils/isWithinBreakpoint.js +1 -1
- package/dist/es6/common/lib/utils/makeMq.js +4 -4
- package/dist/es6/common/lib/utils/memoize.d.ts +1 -1
- package/dist/es6/common/lib/utils/memoize.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/memoize.js +4 -8
- package/dist/es6/common/lib/utils/mergeCallback.js +1 -5
- package/dist/es6/common/lib/utils/mergeProps.js +4 -15
- package/dist/es6/common/lib/utils/models.js +47 -69
- package/dist/es6/common/lib/utils/useConstant.js +1 -1
- package/dist/es6/common/lib/utils/useIsFullscreen.js +5 -5
- package/dist/es6/common/lib/utils/useModalityType.js +8 -8
- package/dist/es6/common/lib/utils/useMount.js +2 -2
- package/dist/es6/common/lib/utils/useResizeObserver.js +6 -18
- package/dist/es6/common/lib/utils/useUniqueId.js +8 -8
- package/dist/es6/common/lib/utils/useWindowSize.js +8 -8
- package/dist/es6/dialog/lib/Dialog.js +2 -3
- package/dist/es6/dialog/lib/DialogCard.js +3 -14
- package/dist/es6/dialog/lib/DialogPopper.js +6 -29
- package/dist/es6/dialog/lib/hooks/useDialogCard.js +2 -3
- package/dist/es6/dialog/lib/hooks/useDialogModel.js +3 -3
- package/dist/es6/dialog/lib/hooks/useDialogPopper.js +2 -3
- package/dist/es6/disclosure/lib/useDisclosureModel.js +11 -11
- package/dist/es6/form-field/lib/FormField.js +35 -79
- package/dist/es6/form-field/lib/Hint.js +9 -43
- package/dist/es6/form-field/lib/Label.js +39 -82
- package/dist/es6/icon/lib/AccentIcon.d.ts +3 -2
- package/dist/es6/icon/lib/AccentIcon.d.ts.map +1 -1
- package/dist/es6/icon/lib/AccentIcon.js +12 -38
- package/dist/es6/icon/lib/AppletIcon.js +12 -36
- package/dist/es6/icon/lib/Graphic.js +6 -30
- package/dist/es6/icon/lib/Icon.js +10 -29
- package/dist/es6/icon/lib/Svg.js +8 -31
- package/dist/es6/icon/lib/SystemIcon.d.ts.map +1 -1
- package/dist/es6/icon/lib/SystemIcon.js +33 -60
- package/dist/es6/icon/lib/SystemIconCircle.d.ts +2 -1
- package/dist/es6/icon/lib/SystemIconCircle.d.ts.map +1 -1
- package/dist/es6/icon/lib/SystemIconCircle.js +14 -43
- package/dist/es6/icon/lib/utils.d.ts +0 -2
- package/dist/es6/icon/lib/utils.d.ts.map +1 -1
- package/dist/es6/icon/lib/utils.js +1 -8
- package/dist/es6/layout/lib/Box.js +12 -37
- package/dist/es6/layout/lib/Flex.js +4 -27
- package/dist/es6/layout/lib/Grid.js +7 -31
- package/dist/es6/layout/lib/utils/background.js +3 -3
- package/dist/es6/layout/lib/utils/border/color.js +2 -2
- package/dist/es6/layout/lib/utils/border/index.js +14 -18
- package/dist/es6/layout/lib/utils/border/lineStyle.js +2 -2
- package/dist/es6/layout/lib/utils/border/radius.js +2 -2
- package/dist/es6/layout/lib/utils/border/shorthand.js +2 -2
- package/dist/es6/layout/lib/utils/border/width.js +2 -2
- package/dist/es6/layout/lib/utils/buildStyleFns.js +39 -42
- package/dist/es6/layout/lib/utils/color.js +3 -3
- package/dist/es6/layout/lib/utils/depth.js +3 -3
- package/dist/es6/layout/lib/utils/flex.js +3 -3
- package/dist/es6/layout/lib/utils/flexItem.js +3 -3
- package/dist/es6/layout/lib/utils/getValidChildren.js +1 -3
- package/dist/es6/layout/lib/utils/grid.js +3 -3
- package/dist/es6/layout/lib/utils/gridItem.js +3 -3
- package/dist/es6/layout/lib/utils/layout.js +3 -3
- package/dist/es6/layout/lib/utils/other.js +3 -3
- package/dist/es6/layout/lib/utils/position.d.ts +4 -0
- package/dist/es6/layout/lib/utils/position.d.ts.map +1 -1
- package/dist/es6/layout/lib/utils/position.js +8 -3
- package/dist/es6/layout/lib/utils/space.js +3 -3
- package/dist/es6/layout/lib/utils/text.js +3 -3
- package/dist/es6/loading-dots/lib/LoadingDots.js +16 -38
- package/dist/es6/menu/lib/Menu.js +2 -3
- package/dist/es6/menu/lib/MenuCard.js +9 -21
- package/dist/es6/menu/lib/MenuContextTarget.js +7 -30
- package/dist/es6/menu/lib/MenuDivider.js +6 -17
- package/dist/es6/menu/lib/MenuItem.js +70 -79
- package/dist/es6/menu/lib/MenuList.js +4 -27
- package/dist/es6/menu/lib/MenuPopper.js +4 -27
- package/dist/es6/menu/lib/MenuTarget.js +10 -34
- package/dist/es6/menu/lib/useMenuModel.js +20 -22
- package/dist/es6/modal/lib/Modal.js +2 -2
- package/dist/es6/modal/lib/ModalBody.js +10 -23
- package/dist/es6/modal/lib/ModalCard.js +10 -24
- package/dist/es6/modal/lib/ModalHeading.js +10 -23
- package/dist/es6/modal/lib/ModalOverflowOverlay.js +4 -15
- package/dist/es6/modal/lib/ModalOverlay.js +33 -46
- package/dist/es6/modal/lib/hooks/useCloseOnOverlayClick.js +13 -13
- package/dist/es6/modal/lib/hooks/useModalCard.js +1 -1
- package/dist/es6/modal/lib/hooks/useModalHeading.js +5 -5
- package/dist/es6/modal/lib/hooks/useModalModel.js +3 -3
- package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +10 -31
- package/dist/es6/pagination/lib/Pagination/Controls.js +35 -61
- package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +7 -30
- package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +4 -27
- package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.js +4 -15
- package/dist/es6/pagination/lib/Pagination/GoTo/useGoToForm.js +12 -13
- package/dist/es6/pagination/lib/Pagination/Nav.js +2 -13
- package/dist/es6/pagination/lib/Pagination/PageButton.js +11 -35
- package/dist/es6/pagination/lib/Pagination/PageList.js +7 -31
- package/dist/es6/pagination/lib/Pagination/Pagination.js +16 -38
- package/dist/es6/pagination/lib/Pagination/buildPageRange.js +9 -15
- package/dist/es6/pagination/lib/Pagination/common/List.js +7 -31
- package/dist/es6/pagination/lib/Pagination/common/useLiveRegion.js +8 -26
- package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.js +1 -3
- package/dist/es6/pagination/lib/Pagination/common/utils/useRTL.js +4 -4
- package/dist/es6/pagination/lib/Pagination/usePaginationModel.js +29 -29
- package/dist/es6/popup/lib/Popper.js +29 -51
- package/dist/es6/popup/lib/Popup.js +2 -3
- package/dist/es6/popup/lib/PopupBody.js +3 -14
- package/dist/es6/popup/lib/PopupCard.js +26 -48
- package/dist/es6/popup/lib/PopupCloseButton.js +3 -26
- package/dist/es6/popup/lib/PopupCloseIcon.js +3 -26
- package/dist/es6/popup/lib/PopupHeading.js +3 -26
- package/dist/es6/popup/lib/PopupPopper.js +3 -26
- package/dist/es6/popup/lib/PopupTarget.js +3 -14
- package/dist/es6/popup/lib/getTransformFromPlacement.js +6 -6
- package/dist/es6/popup/lib/hooks/focus-trap-js.js +23 -27
- package/dist/es6/popup/lib/hooks/useAlwaysCloseOnOutsideClick.js +5 -5
- package/dist/es6/popup/lib/hooks/useAssistiveHideSiblings.js +11 -14
- package/dist/es6/popup/lib/hooks/useBringToTopOnClick.js +7 -7
- package/dist/es6/popup/lib/hooks/useCloseOnEscape.js +5 -5
- package/dist/es6/popup/lib/hooks/useCloseOnFullscreenExit.js +5 -5
- package/dist/es6/popup/lib/hooks/useCloseOnOutsideClick.js +8 -8
- package/dist/es6/popup/lib/hooks/useCloseOnTargetHidden.js +9 -9
- package/dist/es6/popup/lib/hooks/useDisableBodyScroll.js +7 -7
- package/dist/es6/popup/lib/hooks/useFocusRedirect.js +7 -7
- package/dist/es6/popup/lib/hooks/useFocusTrap.js +5 -5
- package/dist/es6/popup/lib/hooks/useInitialFocus.js +7 -7
- package/dist/es6/popup/lib/hooks/usePopupCard.js +1 -2
- package/dist/es6/popup/lib/hooks/usePopupCloseButton.js +1 -2
- package/dist/es6/popup/lib/hooks/usePopupHeading.js +1 -2
- package/dist/es6/popup/lib/hooks/usePopupModel.js +28 -33
- package/dist/es6/popup/lib/hooks/usePopupPopper.js +5 -6
- package/dist/es6/popup/lib/hooks/usePopupStack.js +12 -12
- package/dist/es6/popup/lib/hooks/usePopupTarget.js +3 -4
- package/dist/es6/popup/lib/hooks/usePopupTargetContext.js +3 -4
- package/dist/es6/popup/lib/hooks/useReturnFocus.js +15 -15
- package/dist/es6/popup/lib/hooks/useTransferOnFullscreenEnter.js +5 -5
- package/dist/es6/popup/lib/hooks/useTransferOnFullscreenExit.js +5 -5
- package/dist/es6/radio/lib/Radio.js +110 -130
- package/dist/es6/radio/lib/RadioGroup.js +29 -75
- package/dist/es6/segmented-control/lib/SegmentedControl.js +5 -28
- package/dist/es6/segmented-control/lib/SegmentedControlButton.js +37 -58
- package/dist/es6/select/lib/Select.js +44 -61
- package/dist/es6/select/lib/SelectOption.js +5 -48
- package/dist/es6/side-panel/lib/SidePanel.js +54 -117
- package/dist/es6/skeleton/lib/parts/skeletonHeader.js +2 -27
- package/dist/es6/skeleton/lib/parts/skeletonShape.js +9 -37
- package/dist/es6/skeleton/lib/parts/skeletonText.js +9 -35
- package/dist/es6/skeleton/lib/skeleton.js +9 -34
- package/dist/es6/status-indicator/lib/StatusIndicator.js +25 -59
- package/dist/es6/switch/lib/Switch.js +54 -64
- package/dist/es6/table/lib/Table.js +9 -52
- package/dist/es6/table/lib/TableRow.js +35 -62
- package/dist/es6/tabs/lib/Tabs.js +2 -3
- package/dist/es6/tabs/lib/TabsItem.d.ts +1 -1
- package/dist/es6/tabs/lib/TabsItem.js +74 -79
- package/dist/es6/tabs/lib/TabsList.js +20 -46
- package/dist/es6/tabs/lib/TabsMenuPopper.js +4 -27
- package/dist/es6/tabs/lib/TabsOverflowButton.js +5 -28
- package/dist/es6/tabs/lib/TabsPanel.js +13 -38
- package/dist/es6/tabs/lib/TabsPanels.js +2 -3
- package/dist/es6/tabs/lib/useTabsModel.js +41 -40
- package/dist/es6/testing/lib/ComponentStatesTable.js +9 -18
- package/dist/es6/testing/lib/StaticStates.js +8 -32
- package/dist/es6/testing/lib/permutateProps.js +13 -26
- package/dist/es6/text/lib/LabelText.js +3 -26
- package/dist/es6/text/lib/Text.js +10 -36
- package/dist/es6/text/lib/TypeLevelComponents.js +16 -42
- package/dist/es6/text-area/lib/TextArea.js +41 -54
- package/dist/es6/text-input/lib/InputIconContainer.js +8 -14
- package/dist/es6/text-input/lib/TextInput.js +37 -50
- package/dist/es6/toast/lib/Toast.js +4 -27
- package/dist/es6/toast/lib/ToastBody.js +3 -26
- package/dist/es6/toast/lib/ToastCloseIcon.js +3 -14
- package/dist/es6/toast/lib/ToastIcon.js +3 -14
- package/dist/es6/toast/lib/ToastLink.js +3 -26
- package/dist/es6/toast/lib/ToastMessage.js +3 -26
- package/dist/es6/toast/lib/hooks/useToastModel.js +8 -16
- package/dist/es6/tokens/index.d.ts +2 -2
- package/dist/es6/tokens/index.d.ts.map +1 -1
- package/dist/es6/tokens/index.js +16 -16
- package/dist/es6/tokens/lib/depth.js +1 -1
- package/dist/es6/tokens/lib/radius.js +1 -1
- package/dist/es6/tokens/lib/space.js +2 -2
- package/dist/es6/tokens/lib/type/fontFamilies.js +6 -6
- package/dist/es6/tokens/lib/type/fontSizes.js +1 -1
- package/dist/es6/tokens/lib/type/fontWeights.js +1 -1
- package/dist/es6/tokens/lib/type/index.js +8 -8
- package/dist/es6/tokens/lib/type/levels.js +1 -1
- package/dist/es6/tokens/lib/type/variants.js +1 -1
- package/dist/es6/tooltip/lib/OverflowTooltip.js +29 -49
- package/dist/es6/tooltip/lib/Tooltip.js +21 -42
- package/dist/es6/tooltip/lib/TooltipContainer.js +33 -31
- package/dist/es6/tooltip/lib/useTooltip.js +29 -31
- package/icon/lib/AccentIcon.tsx +5 -6
- package/icon/lib/SystemIcon.tsx +1 -2
- package/icon/lib/SystemIconCircle.tsx +4 -3
- package/icon/lib/utils.ts +0 -8
- package/layout/lib/utils/position.ts +9 -0
- package/modal/lib/ModalBody.tsx +2 -2
- package/modal/lib/ModalCard.tsx +2 -2
- package/modal/lib/ModalHeading.tsx +2 -2
- package/modal/lib/ModalOverlay.tsx +2 -2
- package/package.json +3 -3
- package/tokens/index.ts +3 -3
- package/common/lib/theming/getCanvasTheme.ts +0 -40
- package/dist/commonjs/common/lib/theming/getCanvasTheme.d.ts +0 -28
- package/dist/commonjs/common/lib/theming/getCanvasTheme.d.ts.map +0 -1
- package/dist/commonjs/common/lib/theming/getCanvasTheme.js +0 -42
- package/dist/es6/common/lib/theming/getCanvasTheme.d.ts +0 -28
- package/dist/es6/common/lib/theming/getCanvasTheme.d.ts.map +0 -1
- package/dist/es6/common/lib/theming/getCanvasTheme.js +0 -37
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
4
|
};
|
|
16
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
6
|
exports.useCursorListModel = exports.navigationManager = exports.wrappingNavigationManager = exports.getOffsetItem = exports.getWrappingOffsetItem = exports.getNextPage = exports.getPreviousPage = exports.getLastOfRow = exports.getFirstOfRow = exports.getLast = exports.getFirst = exports.createNavigationManager = void 0;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
9
|
+
const useBaseListModel_1 = require("./useBaseListModel");
|
|
21
10
|
/**
|
|
22
11
|
* Factory function that does type checking to create navigation managers. Navigation managers
|
|
23
12
|
* are expected to handle all methods of a grid. If your use-case isn't meant to handle a grid,
|
|
@@ -35,101 +24,88 @@ var useBaseListModel_1 = require("./useBaseListModel");
|
|
|
35
24
|
* })
|
|
36
25
|
* ```
|
|
37
26
|
*/
|
|
38
|
-
|
|
27
|
+
const createNavigationManager = (manager) => manager;
|
|
39
28
|
exports.createNavigationManager = createNavigationManager;
|
|
40
29
|
/**
|
|
41
30
|
* Get the first item in a list regardless of column count
|
|
42
31
|
*/
|
|
43
|
-
|
|
44
|
-
var state = _a.state;
|
|
45
|
-
return state.items[0];
|
|
46
|
-
};
|
|
32
|
+
const getFirst = (_, { state }) => state.items[0];
|
|
47
33
|
exports.getFirst = getFirst;
|
|
48
34
|
/**
|
|
49
35
|
* Get the last item in a list regardless of column count
|
|
50
36
|
*/
|
|
51
|
-
|
|
52
|
-
var state = _a.state;
|
|
53
|
-
return state.items[state.items.length - 1];
|
|
54
|
-
};
|
|
37
|
+
const getLast = (_, { state }) => state.items[state.items.length - 1];
|
|
55
38
|
exports.getLast = getLast;
|
|
56
39
|
/**
|
|
57
40
|
* Get the first item in a row. If column count is 0, it will return the results of `getFirst`
|
|
58
41
|
*/
|
|
59
|
-
|
|
60
|
-
var state = _a.state;
|
|
42
|
+
const getFirstOfRow = (id, { state }) => {
|
|
61
43
|
if (state.columnCount) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
44
|
+
const item = getItem(id, { state });
|
|
45
|
+
const currentIndex = item.index;
|
|
46
|
+
const offset = currentIndex % state.columnCount;
|
|
65
47
|
return state.items[currentIndex - offset];
|
|
66
48
|
}
|
|
67
|
-
return exports.getFirst(id, { state
|
|
49
|
+
return exports.getFirst(id, { state });
|
|
68
50
|
};
|
|
69
51
|
exports.getFirstOfRow = getFirstOfRow;
|
|
70
52
|
/**
|
|
71
53
|
* get the last item in a row - if column count is 0, it will return the results of `getLast`
|
|
72
54
|
*/
|
|
73
|
-
|
|
74
|
-
var state = _a.state;
|
|
55
|
+
const getLastOfRow = (id, { state }) => {
|
|
75
56
|
if (state.columnCount) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
57
|
+
const item = getItem(id, { state });
|
|
58
|
+
const currentIndex = item.index;
|
|
59
|
+
const offset = (currentIndex % state.columnCount) - state.columnCount + 1;
|
|
60
|
+
let nextIndex = currentIndex - offset;
|
|
80
61
|
if (nextIndex >= state.items.length) {
|
|
81
62
|
nextIndex = state.items.length - 1;
|
|
82
63
|
}
|
|
83
64
|
return state.items[nextIndex];
|
|
84
65
|
}
|
|
85
|
-
return exports.getLast(id, { state
|
|
66
|
+
return exports.getLast(id, { state });
|
|
86
67
|
};
|
|
87
68
|
exports.getLastOfRow = getLastOfRow;
|
|
88
69
|
/**
|
|
89
70
|
* get the item in the previous page. This can be author defined. By default it will return the
|
|
90
71
|
* first item for a list, and the first item in the same column for a grid.
|
|
91
72
|
*/
|
|
92
|
-
|
|
93
|
-
var state = _a.state;
|
|
73
|
+
const getPreviousPage = (id, { state }) => {
|
|
94
74
|
if (state.columnCount) {
|
|
95
|
-
|
|
96
|
-
|
|
75
|
+
const item = getItem(id, { state });
|
|
76
|
+
const currentIndex = item.index;
|
|
97
77
|
return state.items[currentIndex % state.columnCount];
|
|
98
78
|
}
|
|
99
|
-
return exports.getFirst(id, { state
|
|
79
|
+
return exports.getFirst(id, { state });
|
|
100
80
|
};
|
|
101
81
|
exports.getPreviousPage = getPreviousPage;
|
|
102
82
|
/**
|
|
103
83
|
* get the item in the next page. This can be author defined. By default, it will return the last
|
|
104
84
|
* item for a list, and the last item in the same column for a grid.
|
|
105
85
|
*/
|
|
106
|
-
|
|
107
|
-
var state = _a.state;
|
|
86
|
+
const getNextPage = (id, { state }) => {
|
|
108
87
|
if (state.columnCount) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
88
|
+
const item = getItem(id, { state });
|
|
89
|
+
const currentIndex = item.index;
|
|
90
|
+
const lastRowIndex = state.items.length - state.columnCount;
|
|
112
91
|
return state.items[lastRowIndex + (currentIndex % state.columnCount)];
|
|
113
92
|
}
|
|
114
|
-
return exports.getLast(id, { state
|
|
93
|
+
return exports.getLast(id, { state });
|
|
115
94
|
};
|
|
116
95
|
exports.getNextPage = getNextPage;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
common_1.assert(item, "Item not found: " + id);
|
|
96
|
+
const getItem = (id, { state }) => {
|
|
97
|
+
const item = id ? state.items.find(item => useBaseListModel_1.defaultGetId(item) === id) : exports.getFirst(id, { state }); // no id, return first item
|
|
98
|
+
common_1.assert(item, `Item not found: ${id}`);
|
|
121
99
|
return item;
|
|
122
100
|
};
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
var currentIndex = item.index;
|
|
129
|
-
var nextIndex = currentIndex + offset;
|
|
101
|
+
const getWrappingOffsetItem = (offset) => (id, { state }, tries = state.items.length) => {
|
|
102
|
+
const items = state.items;
|
|
103
|
+
const item = getItem(id, { state });
|
|
104
|
+
const currentIndex = item.index;
|
|
105
|
+
let nextIndex = currentIndex + offset;
|
|
130
106
|
// calculate idealLength as in if the grid was a perfect rectangle
|
|
131
|
-
|
|
132
|
-
|
|
107
|
+
const rows = Math.ceil(items.length / state.columnCount);
|
|
108
|
+
const idealLength = rows * state.columnCount;
|
|
133
109
|
if (nextIndex < 0) {
|
|
134
110
|
if (offset === -1) {
|
|
135
111
|
// if the offset is -1, we want to wrap to the end
|
|
@@ -163,23 +139,21 @@ var getWrappingOffsetItem = function (offset) { return function (id, _a, tries)
|
|
|
163
139
|
if (state.nonInteractiveIds.includes(useBaseListModel_1.defaultGetId(items[nextIndex])) && tries > 0) {
|
|
164
140
|
// The next item is disabled, try again, but only if we haven't already tried everything.
|
|
165
141
|
// Avoid an infinite loop with `tries`
|
|
166
|
-
return exports.getWrappingOffsetItem(offset)(useBaseListModel_1.defaultGetId(items[nextIndex]), { state
|
|
142
|
+
return exports.getWrappingOffsetItem(offset)(useBaseListModel_1.defaultGetId(items[nextIndex]), { state }, tries - 1);
|
|
167
143
|
}
|
|
168
144
|
return items[nextIndex];
|
|
169
|
-
};
|
|
145
|
+
};
|
|
170
146
|
exports.getWrappingOffsetItem = getWrappingOffsetItem;
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
var currentIndex = item.index;
|
|
177
|
-
var nextIndex = currentIndex + offset;
|
|
147
|
+
const getOffsetItem = (offset) => (id, { state }, tries = state.items.length) => {
|
|
148
|
+
const { items, columnCount } = state;
|
|
149
|
+
const item = getItem(id, { state });
|
|
150
|
+
const currentIndex = item.index;
|
|
151
|
+
let nextIndex = currentIndex + offset;
|
|
178
152
|
if (Math.abs(offset) < columnCount) {
|
|
179
153
|
// if we're here, the columnCount is non-zero and the absolute value of offset is less than the
|
|
180
154
|
// column count. We don't want to wrap, so we'll bound within the row
|
|
181
|
-
|
|
182
|
-
|
|
155
|
+
const currentIndexInRow = currentIndex % columnCount;
|
|
156
|
+
const nextIndexInRow = nextIndex - currentIndex + currentIndexInRow;
|
|
183
157
|
if (nextIndexInRow >= columnCount || nextIndexInRow < 0) {
|
|
184
158
|
nextIndex = currentIndex;
|
|
185
159
|
}
|
|
@@ -187,7 +161,7 @@ var getOffsetItem = function (offset) { return function (id, _a, tries) {
|
|
|
187
161
|
else if (columnCount) {
|
|
188
162
|
// if we're here, there's a column count, but the offset will move into another row. We need to
|
|
189
163
|
// bound to row values
|
|
190
|
-
|
|
164
|
+
const nextRow = Math.floor(nextIndex / columnCount);
|
|
191
165
|
if (nextRow < 0 || nextRow >= columnCount) {
|
|
192
166
|
nextIndex = currentIndex;
|
|
193
167
|
}
|
|
@@ -206,10 +180,10 @@ var getOffsetItem = function (offset) { return function (id, _a, tries) {
|
|
|
206
180
|
if (state.nonInteractiveIds.includes(useBaseListModel_1.defaultGetId(items[nextIndex])) && tries > 0) {
|
|
207
181
|
// The next item is disabled, try again, but only if we haven't already tried everything.
|
|
208
182
|
// Avoid an infinite loop with `tries`
|
|
209
|
-
return exports.getOffsetItem(offset)(useBaseListModel_1.defaultGetId(items[nextIndex]), { state
|
|
183
|
+
return exports.getOffsetItem(offset)(useBaseListModel_1.defaultGetId(items[nextIndex]), { state }, tries - 1);
|
|
210
184
|
}
|
|
211
185
|
return items[nextIndex];
|
|
212
|
-
};
|
|
186
|
+
};
|
|
213
187
|
exports.getOffsetItem = getOffsetItem;
|
|
214
188
|
/**
|
|
215
189
|
* The default navigation manager of lists. This navigation manager will wrap around when the edge
|
|
@@ -219,17 +193,11 @@ exports.getOffsetItem = getOffsetItem;
|
|
|
219
193
|
exports.wrappingNavigationManager = exports.createNavigationManager({
|
|
220
194
|
getFirst: exports.getFirst,
|
|
221
195
|
getLast: exports.getLast,
|
|
222
|
-
getItem
|
|
196
|
+
getItem,
|
|
223
197
|
getNext: exports.getWrappingOffsetItem(1),
|
|
224
|
-
getNextRow:
|
|
225
|
-
var state = _a.state;
|
|
226
|
-
return exports.getWrappingOffsetItem(state.columnCount)(id, { state: state });
|
|
227
|
-
},
|
|
198
|
+
getNextRow: (id, { state }) => exports.getWrappingOffsetItem(state.columnCount)(id, { state }),
|
|
228
199
|
getPrevious: exports.getWrappingOffsetItem(-1),
|
|
229
|
-
getPreviousRow:
|
|
230
|
-
var state = _a.state;
|
|
231
|
-
return exports.getWrappingOffsetItem(-state.columnCount)(id, { state: state });
|
|
232
|
-
},
|
|
200
|
+
getPreviousRow: (id, { state }) => exports.getWrappingOffsetItem(-state.columnCount)(id, { state }),
|
|
233
201
|
getPreviousPage: exports.getPreviousPage,
|
|
234
202
|
getNextPage: exports.getNextPage,
|
|
235
203
|
getFirstOfRow: exports.getFirstOfRow,
|
|
@@ -242,17 +210,11 @@ exports.wrappingNavigationManager = exports.createNavigationManager({
|
|
|
242
210
|
exports.navigationManager = exports.createNavigationManager({
|
|
243
211
|
getFirst: exports.getFirst,
|
|
244
212
|
getLast: exports.getLast,
|
|
245
|
-
getItem
|
|
213
|
+
getItem,
|
|
246
214
|
getNext: exports.getOffsetItem(1),
|
|
247
|
-
getNextRow:
|
|
248
|
-
var state = _a.state;
|
|
249
|
-
return exports.getOffsetItem(state.columnCount)(id, { state: state });
|
|
250
|
-
},
|
|
215
|
+
getNextRow: (id, { state }) => exports.getOffsetItem(state.columnCount)(id, { state }),
|
|
251
216
|
getPrevious: exports.getOffsetItem(-1),
|
|
252
|
-
getPreviousRow:
|
|
253
|
-
var state = _a.state;
|
|
254
|
-
return exports.getOffsetItem(-state.columnCount)(id, { state: state });
|
|
255
|
-
},
|
|
217
|
+
getPreviousRow: (id, { state }) => exports.getOffsetItem(-state.columnCount)(id, { state }),
|
|
256
218
|
getPreviousPage: exports.getPreviousPage,
|
|
257
219
|
getNextPage: exports.getNextPage,
|
|
258
220
|
getFirstOfRow: exports.getFirstOfRow,
|
|
@@ -264,16 +226,17 @@ exports.navigationManager = exports.createNavigationManager({
|
|
|
264
226
|
* has focus within the list. Many w3c list role types specify a single tab stop within the list.
|
|
265
227
|
*/
|
|
266
228
|
exports.useCursorListModel = common_1.createModelHook({
|
|
267
|
-
defaultConfig:
|
|
229
|
+
defaultConfig: {
|
|
230
|
+
...useBaseListModel_1.useBaseListModel.defaultConfig,
|
|
268
231
|
/**
|
|
269
232
|
* Initial cursor position. If not provided, the cursor will point to the first item in the list
|
|
270
233
|
*/
|
|
271
|
-
initialCursorId: '',
|
|
234
|
+
initialCursorId: '',
|
|
272
235
|
/**
|
|
273
236
|
* If this is set it will cause a wrapping of a list that will turn it into a grid
|
|
274
237
|
* @default 0
|
|
275
238
|
*/
|
|
276
|
-
columnCount: 0,
|
|
239
|
+
columnCount: 0,
|
|
277
240
|
/**
|
|
278
241
|
* Controls the state changes when the user sends navigation events to the model. For example,
|
|
279
242
|
* when the user hits the "right" arrow, a behavior hook will determine directionality
|
|
@@ -286,30 +249,34 @@ exports.useCursorListModel = common_1.createModelHook({
|
|
|
286
249
|
* to screen reader users. This would require the overflow menu to accept both up/down keys as
|
|
287
250
|
* well as left/right keys to give a more consistent experience to all users.
|
|
288
251
|
*/
|
|
289
|
-
navigation: exports.wrappingNavigationManager
|
|
252
|
+
navigation: exports.wrappingNavigationManager,
|
|
253
|
+
},
|
|
290
254
|
requiredConfig: useBaseListModel_1.useBaseListModel.requiredConfig,
|
|
291
|
-
})(
|
|
255
|
+
})(config => {
|
|
292
256
|
var _a;
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
257
|
+
const [cursorId, setCursorId] = react_1.default.useState(config.initialCursorId);
|
|
258
|
+
const columnCount = config.columnCount || 0;
|
|
259
|
+
const list = useBaseListModel_1.useBaseListModel(config);
|
|
260
|
+
const initialCurrentRef = react_1.default.useRef(config.initialCursorId || (((_a = config.items) === null || _a === void 0 ? void 0 : _a.length) ? useBaseListModel_1.defaultGetId(list.state.items[0]) : ''));
|
|
261
|
+
const navigation = config.navigation;
|
|
262
|
+
const state = {
|
|
263
|
+
...list.state,
|
|
299
264
|
/** The id of the list item the cursor is pointing to */
|
|
300
|
-
cursorId
|
|
265
|
+
cursorId,
|
|
301
266
|
/**
|
|
302
267
|
* Any positive non-zero value treats the list like a grid with rows and columns
|
|
303
268
|
* @default 0
|
|
304
269
|
* @private Use useGridModel instead to make a grid instead of a list
|
|
305
270
|
*/
|
|
306
|
-
columnCount
|
|
307
|
-
|
|
271
|
+
columnCount,
|
|
272
|
+
};
|
|
273
|
+
const events = {
|
|
274
|
+
...list.events,
|
|
308
275
|
/**
|
|
309
276
|
* Register an item to the list. Takes in an identifier, a React.Ref and an optional index. This
|
|
310
277
|
* should be called on component mount
|
|
311
278
|
*/
|
|
312
|
-
registerItem
|
|
279
|
+
registerItem(data) {
|
|
313
280
|
// point the cursor at the first item
|
|
314
281
|
if (!initialCurrentRef.current) {
|
|
315
282
|
initialCurrentRef.current = useBaseListModel_1.defaultGetId(data.item);
|
|
@@ -318,7 +285,7 @@ exports.useCursorListModel = common_1.createModelHook({
|
|
|
318
285
|
list.events.registerItem(data);
|
|
319
286
|
},
|
|
320
287
|
/** Directly sets the cursor to the list item by its identifier. */
|
|
321
|
-
goTo
|
|
288
|
+
goTo(data) {
|
|
322
289
|
setCursorId(data.id);
|
|
323
290
|
},
|
|
324
291
|
/**
|
|
@@ -327,15 +294,15 @@ exports.useCursorListModel = common_1.createModelHook({
|
|
|
327
294
|
* currently on the last item. For a grid, the default navigation manager will stay on the last
|
|
328
295
|
* item in a row.
|
|
329
296
|
*/
|
|
330
|
-
goToNext
|
|
331
|
-
setCursorId(useBaseListModel_1.defaultGetId(navigation.getNext(state.cursorId, { state
|
|
297
|
+
goToNext() {
|
|
298
|
+
setCursorId(useBaseListModel_1.defaultGetId(navigation.getNext(state.cursorId, { state })));
|
|
332
299
|
},
|
|
333
300
|
/**
|
|
334
301
|
* Set the cursor to the "previous" item in the list. If the beginning of the list is detected,
|
|
335
302
|
* it will wrap to the last item
|
|
336
303
|
*/
|
|
337
|
-
goToPrevious
|
|
338
|
-
setCursorId(useBaseListModel_1.defaultGetId(navigation.getPrevious(state.cursorId, { state
|
|
304
|
+
goToPrevious() {
|
|
305
|
+
setCursorId(useBaseListModel_1.defaultGetId(navigation.getPrevious(state.cursorId, { state })));
|
|
339
306
|
},
|
|
340
307
|
/**
|
|
341
308
|
* Previous item perpendicular to the orientation of a list, or the previous row in a grid. For
|
|
@@ -343,9 +310,9 @@ exports.useCursorListModel = common_1.createModelHook({
|
|
|
343
310
|
* be ignored by the navigation manager, or return the same result as `previous()`. In a grid,
|
|
344
311
|
* this would be the previous row (current position - column count).
|
|
345
312
|
*/
|
|
346
|
-
goToPreviousRow
|
|
313
|
+
goToPreviousRow() {
|
|
347
314
|
setCursorId(useBaseListModel_1.defaultGetId(navigation.getPreviousRow(state.cursorId, {
|
|
348
|
-
state
|
|
315
|
+
state,
|
|
349
316
|
})));
|
|
350
317
|
},
|
|
351
318
|
/**
|
|
@@ -354,30 +321,31 @@ exports.useCursorListModel = common_1.createModelHook({
|
|
|
354
321
|
* the navigation manager, or return the same result as `next()`. In a grid, this would be the
|
|
355
322
|
* next row (current position + column count).
|
|
356
323
|
*/
|
|
357
|
-
goToNextRow
|
|
358
|
-
setCursorId(useBaseListModel_1.defaultGetId(navigation.getNextRow(state.cursorId, { state
|
|
324
|
+
goToNextRow() {
|
|
325
|
+
setCursorId(useBaseListModel_1.defaultGetId(navigation.getNextRow(state.cursorId, { state })));
|
|
359
326
|
},
|
|
360
327
|
/** Set the cursor to the first item in the list */
|
|
361
|
-
goToFirst
|
|
362
|
-
setCursorId(useBaseListModel_1.defaultGetId(navigation.getFirst(state.cursorId, { state
|
|
328
|
+
goToFirst() {
|
|
329
|
+
setCursorId(useBaseListModel_1.defaultGetId(navigation.getFirst(state.cursorId, { state })));
|
|
363
330
|
},
|
|
364
331
|
/** Set the cursor to the last item in the list */
|
|
365
|
-
goToLast
|
|
366
|
-
setCursorId(useBaseListModel_1.defaultGetId(navigation.getLast(state.cursorId, { state
|
|
332
|
+
goToLast() {
|
|
333
|
+
setCursorId(useBaseListModel_1.defaultGetId(navigation.getLast(state.cursorId, { state })));
|
|
367
334
|
},
|
|
368
|
-
goToFirstOfRow
|
|
369
|
-
setCursorId(useBaseListModel_1.defaultGetId(navigation.getFirstOfRow(state.cursorId, { state
|
|
335
|
+
goToFirstOfRow() {
|
|
336
|
+
setCursorId(useBaseListModel_1.defaultGetId(navigation.getFirstOfRow(state.cursorId, { state })));
|
|
370
337
|
},
|
|
371
|
-
goToLastOfRow
|
|
372
|
-
setCursorId(useBaseListModel_1.defaultGetId(navigation.getLastOfRow(state.cursorId, { state
|
|
338
|
+
goToLastOfRow() {
|
|
339
|
+
setCursorId(useBaseListModel_1.defaultGetId(navigation.getLastOfRow(state.cursorId, { state })));
|
|
373
340
|
},
|
|
374
|
-
goToNextPage
|
|
375
|
-
setCursorId(useBaseListModel_1.defaultGetId(navigation.getNextPage(state.cursorId, { state
|
|
341
|
+
goToNextPage() {
|
|
342
|
+
setCursorId(useBaseListModel_1.defaultGetId(navigation.getNextPage(state.cursorId, { state })));
|
|
376
343
|
},
|
|
377
|
-
goToPreviousPage
|
|
344
|
+
goToPreviousPage() {
|
|
378
345
|
setCursorId(useBaseListModel_1.defaultGetId(navigation.getPreviousPage(state.cursorId, {
|
|
379
|
-
state
|
|
346
|
+
state,
|
|
380
347
|
})));
|
|
381
|
-
}
|
|
382
|
-
|
|
348
|
+
},
|
|
349
|
+
};
|
|
350
|
+
return { ...list, state, events, navigation };
|
|
383
351
|
});
|
|
@@ -1,38 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
-
var t = {};
|
|
15
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
-
t[p] = s[p];
|
|
17
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
-
t[p[i]] = s[p[i]];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
3
|
exports.useGridModel = void 0;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
4
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
5
|
+
const useCursorListModel_1 = require("./useCursorListModel");
|
|
6
|
+
const useListModel_1 = require("./useListModel");
|
|
7
|
+
const { columnCount, orientation, ...defaultConfig } = useListModel_1.useListModel.defaultConfig;
|
|
30
8
|
/**
|
|
31
9
|
* The Grid model extends the `ListModel` and changes some config. For example, the `columnCount` is
|
|
32
10
|
* required on the grid model's configuration and `orientation` is removed.
|
|
33
11
|
*/
|
|
34
12
|
exports.useGridModel = common_1.createModelHook({
|
|
35
|
-
defaultConfig:
|
|
13
|
+
defaultConfig: {
|
|
14
|
+
...defaultConfig,
|
|
36
15
|
/**
|
|
37
16
|
* Controls the state changes when the user sends navigation events to the model. For example,
|
|
38
17
|
* when the user hits the "right" arrow, a behavior hook will determine directionality
|
|
@@ -43,14 +22,17 @@ exports.useGridModel = common_1.createModelHook({
|
|
|
43
22
|
* `getNext` will return the same item the cursor was previously on if the cursor is on the last
|
|
44
23
|
* item of a row.
|
|
45
24
|
*/
|
|
46
|
-
navigation: useCursorListModel_1.navigationManager
|
|
47
|
-
|
|
25
|
+
navigation: useCursorListModel_1.navigationManager,
|
|
26
|
+
},
|
|
27
|
+
requiredConfig: {
|
|
48
28
|
/**
|
|
49
29
|
* The number of columns represented in a grid
|
|
50
30
|
*/
|
|
51
|
-
columnCount: 1
|
|
31
|
+
columnCount: 1,
|
|
32
|
+
...useListModel_1.useListModel.requiredConfig,
|
|
33
|
+
},
|
|
52
34
|
contextOverride: useListModel_1.useListModel.Context,
|
|
53
|
-
})(
|
|
54
|
-
|
|
35
|
+
})(config => {
|
|
36
|
+
const list = useListModel_1.useListModel(config);
|
|
55
37
|
return list;
|
|
56
38
|
});
|
|
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.useListItemRegister = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const common_1 = require("@workday/canvas-kit-react/common");
|
|
9
|
+
const useListModel_1 = require("./useListModel");
|
|
10
10
|
/**
|
|
11
11
|
* This elemProps hook is the base of all item component hooks. It registers an item with a
|
|
12
12
|
* collection and sets the `data-id` that is used by other hooks. It should always be the last
|
|
@@ -20,22 +20,20 @@ var useListModel_1 = require("./useListModel");
|
|
|
20
20
|
* );
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
exports.useListItemRegister = common_1.createElemPropsHook(useListModel_1.useListModel)(
|
|
24
|
-
var _b, _c
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
var _e = react_1.default.useState(elemProps['data-id'] || ((_b = elemProps.item) === null || _b === void 0 ? void 0 : _b.id) || ''), localId = _e[0], setLocalId = _e[1];
|
|
28
|
-
var _f = common_1.useLocalRef(common_1.useForkRef(ref, (_c = elemProps.virtual) === null || _c === void 0 ? void 0 : _c.measureRef)), localRef = _f.localRef, elementRef = _f.elementRef;
|
|
23
|
+
exports.useListItemRegister = common_1.createElemPropsHook(useListModel_1.useListModel)(({ state, events, getId }, ref, elemProps = {}) => {
|
|
24
|
+
var _a, _b, _c;
|
|
25
|
+
const [localId, setLocalId] = react_1.default.useState(elemProps['data-id'] || ((_a = elemProps.item) === null || _a === void 0 ? void 0 : _a.id) || '');
|
|
26
|
+
const { localRef, elementRef } = common_1.useLocalRef(common_1.useForkRef(ref, (_b = elemProps.virtual) === null || _b === void 0 ? void 0 : _b.measureRef));
|
|
29
27
|
// if the list is virtual, force the correct styling. Without this, weird things happen...
|
|
30
|
-
|
|
28
|
+
const style = elemProps.virtual
|
|
31
29
|
? {
|
|
32
30
|
position: 'absolute',
|
|
33
31
|
top: 0,
|
|
34
32
|
left: 0,
|
|
35
|
-
transform:
|
|
33
|
+
transform: `translateY(${elemProps.virtual.start}px)`,
|
|
36
34
|
}
|
|
37
35
|
: {};
|
|
38
|
-
common_1.useMountLayout(
|
|
36
|
+
common_1.useMountLayout(() => {
|
|
39
37
|
var _a, _b;
|
|
40
38
|
if (((_a = elemProps.virtual) === null || _a === void 0 ? void 0 : _a.index) === 0 && ((_b = localRef.current) === null || _b === void 0 ? void 0 : _b.clientHeight)) {
|
|
41
39
|
// TODO: This update doesn't seem to be working correctly
|
|
@@ -45,11 +43,11 @@ exports.useListItemRegister = common_1.createElemPropsHook(useListModel_1.useLis
|
|
|
45
43
|
if (elemProps.item) {
|
|
46
44
|
return;
|
|
47
45
|
}
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
const defaultId = state.indexRef.current;
|
|
47
|
+
const itemId = localId || String(defaultId);
|
|
50
48
|
// TODO: Better lookup that using `items.find`. We need a more generic collection to handle seeing if an item already exists
|
|
51
49
|
// bail early if item already exists. This happens if items were already provided.
|
|
52
|
-
if (state.items.find(
|
|
50
|
+
if (state.items.find(item => getId(item) === itemId)) {
|
|
53
51
|
return;
|
|
54
52
|
}
|
|
55
53
|
events.registerItem({
|
|
@@ -59,7 +57,7 @@ exports.useListItemRegister = common_1.createElemPropsHook(useListModel_1.useLis
|
|
|
59
57
|
textValue: typeof elemProps.children === 'string' ? elemProps.children : '',
|
|
60
58
|
});
|
|
61
59
|
setLocalId(itemId);
|
|
62
|
-
return
|
|
60
|
+
return () => {
|
|
63
61
|
events.unregisterItem({ id: itemId });
|
|
64
62
|
};
|
|
65
63
|
});
|
|
@@ -69,8 +67,8 @@ exports.useListItemRegister = common_1.createElemPropsHook(useListModel_1.useLis
|
|
|
69
67
|
disabled: elemProps.disabled || state.nonInteractiveIds.includes(localId) ? true : undefined,
|
|
70
68
|
item: null,
|
|
71
69
|
virtual: null,
|
|
72
|
-
'aria-setsize': (
|
|
70
|
+
'aria-setsize': (_c = elemProps.virtual) === null || _c === void 0 ? void 0 : _c.size,
|
|
73
71
|
'aria-posinset': elemProps.virtual ? elemProps.item.index + 1 : undefined,
|
|
74
|
-
style
|
|
72
|
+
style,
|
|
75
73
|
};
|
|
76
74
|
});
|