@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,14 +1,3 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
1
|
import React from 'react';
|
|
13
2
|
import { assert, createModelHook } from '@workday/canvas-kit-react/common';
|
|
14
3
|
import { useBaseListModel, defaultGetId as getId } from './useBaseListModel';
|
|
@@ -29,94 +18,81 @@ import { useBaseListModel, defaultGetId as getId } from './useBaseListModel';
|
|
|
29
18
|
* })
|
|
30
19
|
* ```
|
|
31
20
|
*/
|
|
32
|
-
export
|
|
21
|
+
export const createNavigationManager = (manager) => manager;
|
|
33
22
|
/**
|
|
34
23
|
* Get the first item in a list regardless of column count
|
|
35
24
|
*/
|
|
36
|
-
export
|
|
37
|
-
var state = _a.state;
|
|
38
|
-
return state.items[0];
|
|
39
|
-
};
|
|
25
|
+
export const getFirst = (_, { state }) => state.items[0];
|
|
40
26
|
/**
|
|
41
27
|
* Get the last item in a list regardless of column count
|
|
42
28
|
*/
|
|
43
|
-
export
|
|
44
|
-
var state = _a.state;
|
|
45
|
-
return state.items[state.items.length - 1];
|
|
46
|
-
};
|
|
29
|
+
export const getLast = (_, { state }) => state.items[state.items.length - 1];
|
|
47
30
|
/**
|
|
48
31
|
* Get the first item in a row. If column count is 0, it will return the results of `getFirst`
|
|
49
32
|
*/
|
|
50
|
-
export
|
|
51
|
-
var state = _a.state;
|
|
33
|
+
export const getFirstOfRow = (id, { state }) => {
|
|
52
34
|
if (state.columnCount) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
35
|
+
const item = getItem(id, { state });
|
|
36
|
+
const currentIndex = item.index;
|
|
37
|
+
const offset = currentIndex % state.columnCount;
|
|
56
38
|
return state.items[currentIndex - offset];
|
|
57
39
|
}
|
|
58
|
-
return getFirst(id, { state
|
|
40
|
+
return getFirst(id, { state });
|
|
59
41
|
};
|
|
60
42
|
/**
|
|
61
43
|
* get the last item in a row - if column count is 0, it will return the results of `getLast`
|
|
62
44
|
*/
|
|
63
|
-
export
|
|
64
|
-
var state = _a.state;
|
|
45
|
+
export const getLastOfRow = (id, { state }) => {
|
|
65
46
|
if (state.columnCount) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
47
|
+
const item = getItem(id, { state });
|
|
48
|
+
const currentIndex = item.index;
|
|
49
|
+
const offset = (currentIndex % state.columnCount) - state.columnCount + 1;
|
|
50
|
+
let nextIndex = currentIndex - offset;
|
|
70
51
|
if (nextIndex >= state.items.length) {
|
|
71
52
|
nextIndex = state.items.length - 1;
|
|
72
53
|
}
|
|
73
54
|
return state.items[nextIndex];
|
|
74
55
|
}
|
|
75
|
-
return getLast(id, { state
|
|
56
|
+
return getLast(id, { state });
|
|
76
57
|
};
|
|
77
58
|
/**
|
|
78
59
|
* get the item in the previous page. This can be author defined. By default it will return the
|
|
79
60
|
* first item for a list, and the first item in the same column for a grid.
|
|
80
61
|
*/
|
|
81
|
-
export
|
|
82
|
-
var state = _a.state;
|
|
62
|
+
export const getPreviousPage = (id, { state }) => {
|
|
83
63
|
if (state.columnCount) {
|
|
84
|
-
|
|
85
|
-
|
|
64
|
+
const item = getItem(id, { state });
|
|
65
|
+
const currentIndex = item.index;
|
|
86
66
|
return state.items[currentIndex % state.columnCount];
|
|
87
67
|
}
|
|
88
|
-
return getFirst(id, { state
|
|
68
|
+
return getFirst(id, { state });
|
|
89
69
|
};
|
|
90
70
|
/**
|
|
91
71
|
* get the item in the next page. This can be author defined. By default, it will return the last
|
|
92
72
|
* item for a list, and the last item in the same column for a grid.
|
|
93
73
|
*/
|
|
94
|
-
export
|
|
95
|
-
var state = _a.state;
|
|
74
|
+
export const getNextPage = (id, { state }) => {
|
|
96
75
|
if (state.columnCount) {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
76
|
+
const item = getItem(id, { state });
|
|
77
|
+
const currentIndex = item.index;
|
|
78
|
+
const lastRowIndex = state.items.length - state.columnCount;
|
|
100
79
|
return state.items[lastRowIndex + (currentIndex % state.columnCount)];
|
|
101
80
|
}
|
|
102
|
-
return getLast(id, { state
|
|
81
|
+
return getLast(id, { state });
|
|
103
82
|
};
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
assert(item, "Item not found: " + id);
|
|
83
|
+
const getItem = (id, { state }) => {
|
|
84
|
+
const item = id ? state.items.find(item => getId(item) === id) : getFirst(id, { state }); // no id, return first item
|
|
85
|
+
assert(item, `Item not found: ${id}`);
|
|
108
86
|
return item;
|
|
109
87
|
};
|
|
110
|
-
export
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
var currentIndex = item.index;
|
|
116
|
-
var nextIndex = currentIndex + offset;
|
|
88
|
+
export const getWrappingOffsetItem = (offset) => (id, { state }, tries = state.items.length) => {
|
|
89
|
+
const items = state.items;
|
|
90
|
+
const item = getItem(id, { state });
|
|
91
|
+
const currentIndex = item.index;
|
|
92
|
+
let nextIndex = currentIndex + offset;
|
|
117
93
|
// calculate idealLength as in if the grid was a perfect rectangle
|
|
118
|
-
|
|
119
|
-
|
|
94
|
+
const rows = Math.ceil(items.length / state.columnCount);
|
|
95
|
+
const idealLength = rows * state.columnCount;
|
|
120
96
|
if (nextIndex < 0) {
|
|
121
97
|
if (offset === -1) {
|
|
122
98
|
// if the offset is -1, we want to wrap to the end
|
|
@@ -150,22 +126,20 @@ export var getWrappingOffsetItem = function (offset) { return function (id, _a,
|
|
|
150
126
|
if (state.nonInteractiveIds.includes(getId(items[nextIndex])) && tries > 0) {
|
|
151
127
|
// The next item is disabled, try again, but only if we haven't already tried everything.
|
|
152
128
|
// Avoid an infinite loop with `tries`
|
|
153
|
-
return getWrappingOffsetItem(offset)(getId(items[nextIndex]), { state
|
|
129
|
+
return getWrappingOffsetItem(offset)(getId(items[nextIndex]), { state }, tries - 1);
|
|
154
130
|
}
|
|
155
131
|
return items[nextIndex];
|
|
156
|
-
};
|
|
157
|
-
export
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
var currentIndex = item.index;
|
|
163
|
-
var nextIndex = currentIndex + offset;
|
|
132
|
+
};
|
|
133
|
+
export const getOffsetItem = (offset) => (id, { state }, tries = state.items.length) => {
|
|
134
|
+
const { items, columnCount } = state;
|
|
135
|
+
const item = getItem(id, { state });
|
|
136
|
+
const currentIndex = item.index;
|
|
137
|
+
let nextIndex = currentIndex + offset;
|
|
164
138
|
if (Math.abs(offset) < columnCount) {
|
|
165
139
|
// if we're here, the columnCount is non-zero and the absolute value of offset is less than the
|
|
166
140
|
// column count. We don't want to wrap, so we'll bound within the row
|
|
167
|
-
|
|
168
|
-
|
|
141
|
+
const currentIndexInRow = currentIndex % columnCount;
|
|
142
|
+
const nextIndexInRow = nextIndex - currentIndex + currentIndexInRow;
|
|
169
143
|
if (nextIndexInRow >= columnCount || nextIndexInRow < 0) {
|
|
170
144
|
nextIndex = currentIndex;
|
|
171
145
|
}
|
|
@@ -173,7 +147,7 @@ export var getOffsetItem = function (offset) { return function (id, _a, tries) {
|
|
|
173
147
|
else if (columnCount) {
|
|
174
148
|
// if we're here, there's a column count, but the offset will move into another row. We need to
|
|
175
149
|
// bound to row values
|
|
176
|
-
|
|
150
|
+
const nextRow = Math.floor(nextIndex / columnCount);
|
|
177
151
|
if (nextRow < 0 || nextRow >= columnCount) {
|
|
178
152
|
nextIndex = currentIndex;
|
|
179
153
|
}
|
|
@@ -192,73 +166,62 @@ export var getOffsetItem = function (offset) { return function (id, _a, tries) {
|
|
|
192
166
|
if (state.nonInteractiveIds.includes(getId(items[nextIndex])) && tries > 0) {
|
|
193
167
|
// The next item is disabled, try again, but only if we haven't already tried everything.
|
|
194
168
|
// Avoid an infinite loop with `tries`
|
|
195
|
-
return getOffsetItem(offset)(getId(items[nextIndex]), { state
|
|
169
|
+
return getOffsetItem(offset)(getId(items[nextIndex]), { state }, tries - 1);
|
|
196
170
|
}
|
|
197
171
|
return items[nextIndex];
|
|
198
|
-
};
|
|
172
|
+
};
|
|
199
173
|
/**
|
|
200
174
|
* The default navigation manager of lists. This navigation manager will wrap around when the edge
|
|
201
175
|
* is hit. For example, if the user is the the right-most item in a list or right-most item in a
|
|
202
176
|
* row, the cursor will wrap around to the beginning or the next row.
|
|
203
177
|
*/
|
|
204
|
-
export
|
|
205
|
-
getFirst
|
|
206
|
-
getLast
|
|
207
|
-
getItem
|
|
178
|
+
export const wrappingNavigationManager = createNavigationManager({
|
|
179
|
+
getFirst,
|
|
180
|
+
getLast,
|
|
181
|
+
getItem,
|
|
208
182
|
getNext: getWrappingOffsetItem(1),
|
|
209
|
-
getNextRow:
|
|
210
|
-
var state = _a.state;
|
|
211
|
-
return getWrappingOffsetItem(state.columnCount)(id, { state: state });
|
|
212
|
-
},
|
|
183
|
+
getNextRow: (id, { state }) => getWrappingOffsetItem(state.columnCount)(id, { state }),
|
|
213
184
|
getPrevious: getWrappingOffsetItem(-1),
|
|
214
|
-
getPreviousRow:
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
getNextPage: getNextPage,
|
|
220
|
-
getFirstOfRow: getFirstOfRow,
|
|
221
|
-
getLastOfRow: getLastOfRow,
|
|
185
|
+
getPreviousRow: (id, { state }) => getWrappingOffsetItem(-state.columnCount)(id, { state }),
|
|
186
|
+
getPreviousPage,
|
|
187
|
+
getNextPage,
|
|
188
|
+
getFirstOfRow,
|
|
189
|
+
getLastOfRow,
|
|
222
190
|
});
|
|
223
191
|
/**
|
|
224
192
|
* The default navigation of grids. This navigation manager will not wrap, but will stop when an
|
|
225
193
|
* edge is detected. This could be the last item in a list or the last item of a row in a grid.
|
|
226
194
|
*/
|
|
227
|
-
export
|
|
228
|
-
getFirst
|
|
229
|
-
getLast
|
|
230
|
-
getItem
|
|
195
|
+
export const navigationManager = createNavigationManager({
|
|
196
|
+
getFirst,
|
|
197
|
+
getLast,
|
|
198
|
+
getItem,
|
|
231
199
|
getNext: getOffsetItem(1),
|
|
232
|
-
getNextRow:
|
|
233
|
-
var state = _a.state;
|
|
234
|
-
return getOffsetItem(state.columnCount)(id, { state: state });
|
|
235
|
-
},
|
|
200
|
+
getNextRow: (id, { state }) => getOffsetItem(state.columnCount)(id, { state }),
|
|
236
201
|
getPrevious: getOffsetItem(-1),
|
|
237
|
-
getPreviousRow:
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
getNextPage: getNextPage,
|
|
243
|
-
getFirstOfRow: getFirstOfRow,
|
|
244
|
-
getLastOfRow: getLastOfRow,
|
|
202
|
+
getPreviousRow: (id, { state }) => getOffsetItem(-state.columnCount)(id, { state }),
|
|
203
|
+
getPreviousPage,
|
|
204
|
+
getNextPage,
|
|
205
|
+
getFirstOfRow,
|
|
206
|
+
getLastOfRow,
|
|
245
207
|
});
|
|
246
208
|
/**
|
|
247
209
|
* A `CursorModel` extends a `ListModel` and adds a "cursor" to the list. A cursor is a pointer to a
|
|
248
210
|
* current position in the list. The most common use-case is keeping track of which item currently
|
|
249
211
|
* has focus within the list. Many w3c list role types specify a single tab stop within the list.
|
|
250
212
|
*/
|
|
251
|
-
export
|
|
252
|
-
defaultConfig:
|
|
213
|
+
export const useCursorListModel = createModelHook({
|
|
214
|
+
defaultConfig: {
|
|
215
|
+
...useBaseListModel.defaultConfig,
|
|
253
216
|
/**
|
|
254
217
|
* Initial cursor position. If not provided, the cursor will point to the first item in the list
|
|
255
218
|
*/
|
|
256
|
-
initialCursorId: '',
|
|
219
|
+
initialCursorId: '',
|
|
257
220
|
/**
|
|
258
221
|
* If this is set it will cause a wrapping of a list that will turn it into a grid
|
|
259
222
|
* @default 0
|
|
260
223
|
*/
|
|
261
|
-
columnCount: 0,
|
|
224
|
+
columnCount: 0,
|
|
262
225
|
/**
|
|
263
226
|
* Controls the state changes when the user sends navigation events to the model. For example,
|
|
264
227
|
* when the user hits the "right" arrow, a behavior hook will determine directionality
|
|
@@ -271,30 +234,34 @@ export var useCursorListModel = createModelHook({
|
|
|
271
234
|
* to screen reader users. This would require the overflow menu to accept both up/down keys as
|
|
272
235
|
* well as left/right keys to give a more consistent experience to all users.
|
|
273
236
|
*/
|
|
274
|
-
navigation: wrappingNavigationManager
|
|
237
|
+
navigation: wrappingNavigationManager,
|
|
238
|
+
},
|
|
275
239
|
requiredConfig: useBaseListModel.requiredConfig,
|
|
276
|
-
})(
|
|
240
|
+
})(config => {
|
|
277
241
|
var _a;
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
242
|
+
const [cursorId, setCursorId] = React.useState(config.initialCursorId);
|
|
243
|
+
const columnCount = config.columnCount || 0;
|
|
244
|
+
const list = useBaseListModel(config);
|
|
245
|
+
const initialCurrentRef = React.useRef(config.initialCursorId || (((_a = config.items) === null || _a === void 0 ? void 0 : _a.length) ? getId(list.state.items[0]) : ''));
|
|
246
|
+
const navigation = config.navigation;
|
|
247
|
+
const state = {
|
|
248
|
+
...list.state,
|
|
284
249
|
/** The id of the list item the cursor is pointing to */
|
|
285
|
-
cursorId
|
|
250
|
+
cursorId,
|
|
286
251
|
/**
|
|
287
252
|
* Any positive non-zero value treats the list like a grid with rows and columns
|
|
288
253
|
* @default 0
|
|
289
254
|
* @private Use useGridModel instead to make a grid instead of a list
|
|
290
255
|
*/
|
|
291
|
-
columnCount
|
|
292
|
-
|
|
256
|
+
columnCount,
|
|
257
|
+
};
|
|
258
|
+
const events = {
|
|
259
|
+
...list.events,
|
|
293
260
|
/**
|
|
294
261
|
* Register an item to the list. Takes in an identifier, a React.Ref and an optional index. This
|
|
295
262
|
* should be called on component mount
|
|
296
263
|
*/
|
|
297
|
-
registerItem
|
|
264
|
+
registerItem(data) {
|
|
298
265
|
// point the cursor at the first item
|
|
299
266
|
if (!initialCurrentRef.current) {
|
|
300
267
|
initialCurrentRef.current = getId(data.item);
|
|
@@ -303,7 +270,7 @@ export var useCursorListModel = createModelHook({
|
|
|
303
270
|
list.events.registerItem(data);
|
|
304
271
|
},
|
|
305
272
|
/** Directly sets the cursor to the list item by its identifier. */
|
|
306
|
-
goTo
|
|
273
|
+
goTo(data) {
|
|
307
274
|
setCursorId(data.id);
|
|
308
275
|
},
|
|
309
276
|
/**
|
|
@@ -312,15 +279,15 @@ export var useCursorListModel = createModelHook({
|
|
|
312
279
|
* currently on the last item. For a grid, the default navigation manager will stay on the last
|
|
313
280
|
* item in a row.
|
|
314
281
|
*/
|
|
315
|
-
goToNext
|
|
316
|
-
setCursorId(getId(navigation.getNext(state.cursorId, { state
|
|
282
|
+
goToNext() {
|
|
283
|
+
setCursorId(getId(navigation.getNext(state.cursorId, { state })));
|
|
317
284
|
},
|
|
318
285
|
/**
|
|
319
286
|
* Set the cursor to the "previous" item in the list. If the beginning of the list is detected,
|
|
320
287
|
* it will wrap to the last item
|
|
321
288
|
*/
|
|
322
|
-
goToPrevious
|
|
323
|
-
setCursorId(getId(navigation.getPrevious(state.cursorId, { state
|
|
289
|
+
goToPrevious() {
|
|
290
|
+
setCursorId(getId(navigation.getPrevious(state.cursorId, { state })));
|
|
324
291
|
},
|
|
325
292
|
/**
|
|
326
293
|
* Previous item perpendicular to the orientation of a list, or the previous row in a grid. For
|
|
@@ -328,9 +295,9 @@ export var useCursorListModel = createModelHook({
|
|
|
328
295
|
* be ignored by the navigation manager, or return the same result as `previous()`. In a grid,
|
|
329
296
|
* this would be the previous row (current position - column count).
|
|
330
297
|
*/
|
|
331
|
-
goToPreviousRow
|
|
298
|
+
goToPreviousRow() {
|
|
332
299
|
setCursorId(getId(navigation.getPreviousRow(state.cursorId, {
|
|
333
|
-
state
|
|
300
|
+
state,
|
|
334
301
|
})));
|
|
335
302
|
},
|
|
336
303
|
/**
|
|
@@ -339,30 +306,31 @@ export var useCursorListModel = createModelHook({
|
|
|
339
306
|
* the navigation manager, or return the same result as `next()`. In a grid, this would be the
|
|
340
307
|
* next row (current position + column count).
|
|
341
308
|
*/
|
|
342
|
-
goToNextRow
|
|
343
|
-
setCursorId(getId(navigation.getNextRow(state.cursorId, { state
|
|
309
|
+
goToNextRow() {
|
|
310
|
+
setCursorId(getId(navigation.getNextRow(state.cursorId, { state })));
|
|
344
311
|
},
|
|
345
312
|
/** Set the cursor to the first item in the list */
|
|
346
|
-
goToFirst
|
|
347
|
-
setCursorId(getId(navigation.getFirst(state.cursorId, { state
|
|
313
|
+
goToFirst() {
|
|
314
|
+
setCursorId(getId(navigation.getFirst(state.cursorId, { state })));
|
|
348
315
|
},
|
|
349
316
|
/** Set the cursor to the last item in the list */
|
|
350
|
-
goToLast
|
|
351
|
-
setCursorId(getId(navigation.getLast(state.cursorId, { state
|
|
317
|
+
goToLast() {
|
|
318
|
+
setCursorId(getId(navigation.getLast(state.cursorId, { state })));
|
|
352
319
|
},
|
|
353
|
-
goToFirstOfRow
|
|
354
|
-
setCursorId(getId(navigation.getFirstOfRow(state.cursorId, { state
|
|
320
|
+
goToFirstOfRow() {
|
|
321
|
+
setCursorId(getId(navigation.getFirstOfRow(state.cursorId, { state })));
|
|
355
322
|
},
|
|
356
|
-
goToLastOfRow
|
|
357
|
-
setCursorId(getId(navigation.getLastOfRow(state.cursorId, { state
|
|
323
|
+
goToLastOfRow() {
|
|
324
|
+
setCursorId(getId(navigation.getLastOfRow(state.cursorId, { state })));
|
|
358
325
|
},
|
|
359
|
-
goToNextPage
|
|
360
|
-
setCursorId(getId(navigation.getNextPage(state.cursorId, { state
|
|
326
|
+
goToNextPage() {
|
|
327
|
+
setCursorId(getId(navigation.getNextPage(state.cursorId, { state })));
|
|
361
328
|
},
|
|
362
|
-
goToPreviousPage
|
|
329
|
+
goToPreviousPage() {
|
|
363
330
|
setCursorId(getId(navigation.getPreviousPage(state.cursorId, {
|
|
364
|
-
state
|
|
331
|
+
state,
|
|
365
332
|
})));
|
|
366
|
-
}
|
|
367
|
-
|
|
333
|
+
},
|
|
334
|
+
};
|
|
335
|
+
return { ...list, state, events, navigation };
|
|
368
336
|
});
|
|
@@ -1,35 +1,14 @@
|
|
|
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 { createModelHook } from '@workday/canvas-kit-react/common';
|
|
24
2
|
import { navigationManager } from './useCursorListModel';
|
|
25
3
|
import { useListModel } from './useListModel';
|
|
26
|
-
|
|
4
|
+
const { columnCount, orientation, ...defaultConfig } = useListModel.defaultConfig;
|
|
27
5
|
/**
|
|
28
6
|
* The Grid model extends the `ListModel` and changes some config. For example, the `columnCount` is
|
|
29
7
|
* required on the grid model's configuration and `orientation` is removed.
|
|
30
8
|
*/
|
|
31
|
-
export
|
|
32
|
-
defaultConfig:
|
|
9
|
+
export const useGridModel = createModelHook({
|
|
10
|
+
defaultConfig: {
|
|
11
|
+
...defaultConfig,
|
|
33
12
|
/**
|
|
34
13
|
* Controls the state changes when the user sends navigation events to the model. For example,
|
|
35
14
|
* when the user hits the "right" arrow, a behavior hook will determine directionality
|
|
@@ -40,14 +19,17 @@ export var useGridModel = createModelHook({
|
|
|
40
19
|
* `getNext` will return the same item the cursor was previously on if the cursor is on the last
|
|
41
20
|
* item of a row.
|
|
42
21
|
*/
|
|
43
|
-
navigation: navigationManager
|
|
44
|
-
|
|
22
|
+
navigation: navigationManager,
|
|
23
|
+
},
|
|
24
|
+
requiredConfig: {
|
|
45
25
|
/**
|
|
46
26
|
* The number of columns represented in a grid
|
|
47
27
|
*/
|
|
48
|
-
columnCount: 1
|
|
28
|
+
columnCount: 1,
|
|
29
|
+
...useListModel.requiredConfig,
|
|
30
|
+
},
|
|
49
31
|
contextOverride: useListModel.Context,
|
|
50
|
-
})(
|
|
51
|
-
|
|
32
|
+
})(config => {
|
|
33
|
+
const list = useListModel(config);
|
|
52
34
|
return list;
|
|
53
35
|
});
|
|
@@ -14,22 +14,20 @@ import { useListModel } from './useListModel';
|
|
|
14
14
|
* );
|
|
15
15
|
* ```
|
|
16
16
|
*/
|
|
17
|
-
export
|
|
18
|
-
var _b, _c
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var _e = React.useState(elemProps['data-id'] || ((_b = elemProps.item) === null || _b === void 0 ? void 0 : _b.id) || ''), localId = _e[0], setLocalId = _e[1];
|
|
22
|
-
var _f = useLocalRef(useForkRef(ref, (_c = elemProps.virtual) === null || _c === void 0 ? void 0 : _c.measureRef)), localRef = _f.localRef, elementRef = _f.elementRef;
|
|
17
|
+
export const useListItemRegister = createElemPropsHook(useListModel)(({ state, events, getId }, ref, elemProps = {}) => {
|
|
18
|
+
var _a, _b, _c;
|
|
19
|
+
const [localId, setLocalId] = React.useState(elemProps['data-id'] || ((_a = elemProps.item) === null || _a === void 0 ? void 0 : _a.id) || '');
|
|
20
|
+
const { localRef, elementRef } = useLocalRef(useForkRef(ref, (_b = elemProps.virtual) === null || _b === void 0 ? void 0 : _b.measureRef));
|
|
23
21
|
// if the list is virtual, force the correct styling. Without this, weird things happen...
|
|
24
|
-
|
|
22
|
+
const style = elemProps.virtual
|
|
25
23
|
? {
|
|
26
24
|
position: 'absolute',
|
|
27
25
|
top: 0,
|
|
28
26
|
left: 0,
|
|
29
|
-
transform:
|
|
27
|
+
transform: `translateY(${elemProps.virtual.start}px)`,
|
|
30
28
|
}
|
|
31
29
|
: {};
|
|
32
|
-
useMountLayout(
|
|
30
|
+
useMountLayout(() => {
|
|
33
31
|
var _a, _b;
|
|
34
32
|
if (((_a = elemProps.virtual) === null || _a === void 0 ? void 0 : _a.index) === 0 && ((_b = localRef.current) === null || _b === void 0 ? void 0 : _b.clientHeight)) {
|
|
35
33
|
// TODO: This update doesn't seem to be working correctly
|
|
@@ -39,11 +37,11 @@ export var useListItemRegister = createElemPropsHook(useListModel)(function (_a,
|
|
|
39
37
|
if (elemProps.item) {
|
|
40
38
|
return;
|
|
41
39
|
}
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
const defaultId = state.indexRef.current;
|
|
41
|
+
const itemId = localId || String(defaultId);
|
|
44
42
|
// TODO: Better lookup that using `items.find`. We need a more generic collection to handle seeing if an item already exists
|
|
45
43
|
// bail early if item already exists. This happens if items were already provided.
|
|
46
|
-
if (state.items.find(
|
|
44
|
+
if (state.items.find(item => getId(item) === itemId)) {
|
|
47
45
|
return;
|
|
48
46
|
}
|
|
49
47
|
events.registerItem({
|
|
@@ -53,7 +51,7 @@ export var useListItemRegister = createElemPropsHook(useListModel)(function (_a,
|
|
|
53
51
|
textValue: typeof elemProps.children === 'string' ? elemProps.children : '',
|
|
54
52
|
});
|
|
55
53
|
setLocalId(itemId);
|
|
56
|
-
return
|
|
54
|
+
return () => {
|
|
57
55
|
events.unregisterItem({ id: itemId });
|
|
58
56
|
};
|
|
59
57
|
});
|
|
@@ -63,8 +61,8 @@ export var useListItemRegister = createElemPropsHook(useListModel)(function (_a,
|
|
|
63
61
|
disabled: elemProps.disabled || state.nonInteractiveIds.includes(localId) ? true : undefined,
|
|
64
62
|
item: null,
|
|
65
63
|
virtual: null,
|
|
66
|
-
'aria-setsize': (
|
|
64
|
+
'aria-setsize': (_c = elemProps.virtual) === null || _c === void 0 ? void 0 : _c.size,
|
|
67
65
|
'aria-posinset': elemProps.virtual ? elemProps.item.index + 1 : undefined,
|
|
68
|
-
style
|
|
66
|
+
style,
|
|
69
67
|
};
|
|
70
68
|
});
|