@react-md/core 1.0.0-next.4 → 1.0.0-next.6
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/.turbo/turbo-build.log +5 -5
- package/CHANGELOG.md +12 -0
- package/dist/CoreProviders.js.map +1 -0
- package/dist/NoSsr.js.map +1 -0
- package/dist/SsrProvider.js.map +1 -0
- package/dist/_core.scss +157 -240
- package/dist/_utils.scss +10 -0
- package/dist/app-bar/AppBar.js.map +1 -0
- package/dist/app-bar/AppBarTitle.js.map +1 -0
- package/dist/app-bar/_app-bar.scss +95 -93
- package/dist/avatar/Avatar.js.map +1 -0
- package/dist/avatar/_avatar.scss +49 -47
- package/dist/avatar/styles.js.map +1 -0
- package/dist/badge/Badge.js.map +1 -0
- package/dist/badge/_badge.scss +19 -17
- package/dist/box/Box.js.map +1 -0
- package/dist/box/_box.scss +57 -55
- package/dist/box/styles.js.map +1 -0
- package/dist/button/AsyncButton.js.map +1 -0
- package/dist/button/Button.js.map +1 -0
- package/dist/button/ButtonUnstyled.js.map +1 -0
- package/dist/button/FloatingActionButton.js.map +1 -0
- package/dist/button/TooltippedButton.js.map +1 -0
- package/dist/button/_button.scss +122 -120
- package/dist/button/buttonStyles.js.map +1 -0
- package/dist/button/buttonUnstyledStyles.js.map +1 -0
- package/dist/card/Card.js.map +1 -0
- package/dist/card/CardContent.js.map +1 -0
- package/dist/card/CardFooter.js.map +1 -0
- package/dist/card/CardHeader.js.map +1 -0
- package/dist/card/CardSubtitle.js.map +1 -0
- package/dist/card/CardTitle.js.map +1 -0
- package/dist/card/ClickableCard.js.map +1 -0
- package/dist/card/_card.scss +72 -70
- package/dist/card/styles.js.map +1 -0
- package/dist/chip/Chip.js.map +1 -0
- package/dist/chip/_chip.scss +105 -103
- package/dist/chip/styles.js.map +1 -0
- package/dist/cssUtils.js.map +1 -0
- package/dist/delegateEvent.js.map +1 -0
- package/dist/dialog/Dialog.js.map +1 -0
- package/dist/dialog/DialogContainer.js.map +1 -0
- package/dist/dialog/DialogContent.js.map +1 -0
- package/dist/dialog/DialogFooter.js.map +1 -0
- package/dist/dialog/DialogHeader.js.map +1 -0
- package/dist/dialog/DialogTitle.js.map +1 -0
- package/dist/dialog/FixedDialog.js.map +1 -0
- package/dist/dialog/NestedDialogProvider.js.map +1 -0
- package/dist/dialog/_dialog.scss +128 -126
- package/dist/dialog/styles.js.map +1 -0
- package/dist/divider/Divider.js.map +1 -0
- package/dist/divider/_divider.scss +24 -22
- package/dist/divider/styles.js.map +1 -0
- package/dist/draggable/_draggable.scss +16 -12
- package/dist/draggable/useDraggable.js.map +1 -0
- package/dist/draggable/utils.js.map +1 -0
- package/dist/expansion-panel/ExpansionList.js.map +1 -0
- package/dist/expansion-panel/ExpansionPanel.js.map +1 -0
- package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -0
- package/dist/expansion-panel/_expansion-panel.scss +69 -52
- package/dist/expansion-panel/useExpansionList.js.map +1 -0
- package/dist/expansion-panel/useExpansionPanels.js.map +1 -0
- package/dist/focus/useFocusContainer.js.map +1 -0
- package/dist/focus/utils.js.map +1 -0
- package/dist/form/Checkbox.js.map +1 -0
- package/dist/form/Fieldset.js.map +1 -0
- package/dist/form/FileInput.js.map +1 -0
- package/dist/form/Form.d.ts +1 -1
- package/dist/form/Form.js +28 -0
- package/dist/form/Form.js.map +1 -0
- package/dist/form/FormMessage.js.map +1 -0
- package/dist/form/FormMessageContainer.js.map +1 -0
- package/dist/form/FormMessageCounter.js.map +1 -0
- package/dist/form/InputToggle.js.map +1 -0
- package/dist/form/InputToggleIcon.js.map +1 -0
- package/dist/form/Label.js.map +1 -0
- package/dist/form/Legend.js.map +1 -0
- package/dist/form/MenuItemCheckbox.js.map +1 -0
- package/dist/form/MenuItemFileInput.js.map +1 -0
- package/dist/form/MenuItemInputToggle.js.map +1 -0
- package/dist/form/MenuItemRadio.js.map +1 -0
- package/dist/form/MenuItemSwitch.js.map +1 -0
- package/dist/form/MenuItemTextField.js.map +1 -0
- package/dist/form/NativeSelect.js.map +1 -0
- package/dist/form/OptGroup.js.map +1 -0
- package/dist/form/Option.js.map +1 -0
- package/dist/form/Password.js.map +1 -0
- package/dist/form/Radio.js.map +1 -0
- package/dist/form/Select.js.map +1 -0
- package/dist/form/SelectValue.js.map +1 -0
- package/dist/form/Slider.js.map +1 -0
- package/dist/form/SliderContainer.js.map +1 -0
- package/dist/form/SliderMark.js.map +1 -0
- package/dist/form/SliderMarkLabel.js.map +1 -0
- package/dist/form/SliderThumb.js.map +1 -0
- package/dist/form/SliderTrack.js.map +1 -0
- package/dist/form/SliderValueMarks.js.map +1 -0
- package/dist/form/SliderValueTooltip.js.map +1 -0
- package/dist/form/Switch.js.map +1 -0
- package/dist/form/SwitchTrack.js.map +1 -0
- package/dist/form/TextArea.js.map +1 -0
- package/dist/form/TextField.js.map +1 -0
- package/dist/form/TextFieldAddon.js.map +1 -0
- package/dist/form/TextFieldContainer.js.map +1 -0
- package/dist/form/TextFieldContainerStyles.js.map +1 -0
- package/dist/form/_form.scss +1175 -1127
- package/dist/form/fileUtils.js.map +1 -0
- package/dist/form/formConfig.js.map +1 -0
- package/dist/form/formMessageStyles.js.map +1 -0
- package/dist/form/inputToggleStyles.js.map +1 -0
- package/dist/form/nativeSelectStyles.js.map +1 -0
- package/dist/form/optionStyles.js.map +1 -0
- package/dist/form/passwordStyles.js.map +1 -0
- package/dist/form/selectStyles.js.map +1 -0
- package/dist/form/selectUtils.js.map +1 -0
- package/dist/form/sliderUtils.js.map +1 -0
- package/dist/form/switchStyles.js.map +1 -0
- package/dist/form/textAreaStyles.js.map +1 -0
- package/dist/form/textFieldStyles.js.map +1 -0
- package/dist/form/types.js.map +1 -0
- package/dist/form/useCheckboxGroup.js.map +1 -0
- package/dist/form/useFileUpload.js.map +1 -0
- package/dist/form/useListboxProvider.js.map +1 -0
- package/dist/form/useNumberField.js.map +1 -0
- package/dist/form/useRadioGroup.js.map +1 -0
- package/dist/form/useRangeSlider.js.map +1 -0
- package/dist/form/useResizingTextArea.js.map +1 -0
- package/dist/form/useSlider.js.map +1 -0
- package/dist/form/useTextField.js.map +1 -0
- package/dist/form/utils.js.map +1 -0
- package/dist/form/validation.js.map +1 -0
- package/dist/hoverMode/useHoverMode.js.map +1 -0
- package/dist/hoverMode/useHoverModeProvider.js.map +1 -0
- package/dist/icon/FontIcon.js.map +1 -0
- package/dist/icon/IconRotator.js.map +1 -0
- package/dist/icon/MaterialIcon.js.map +1 -0
- package/dist/icon/MaterialSymbol.js.map +1 -0
- package/dist/icon/SVGIcon.js.map +1 -0
- package/dist/icon/TextIconSpacing.js.map +1 -0
- package/dist/icon/_icon.scss +64 -62
- package/dist/icon/iconConfig.js.map +1 -0
- package/dist/icon/material.js.map +1 -0
- package/dist/icon/materialConfig.js.map +1 -0
- package/dist/icon/styles.js.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/interaction/Ripple.js.map +1 -0
- package/dist/interaction/RippleContainer.js.map +1 -0
- package/dist/interaction/UserInteractionModeProvider.js.map +1 -0
- package/dist/interaction/_interaction.scss +39 -35
- package/dist/interaction/config.js.map +1 -0
- package/dist/interaction/types.js.map +1 -0
- package/dist/interaction/useElementInteraction.js.map +1 -0
- package/dist/interaction/useHigherContrastChildren.js.map +1 -0
- package/dist/interaction/utils.js.map +1 -0
- package/dist/layout/LayoutAppBar.js.map +1 -0
- package/dist/layout/LayoutNav.js.map +1 -0
- package/dist/layout/LayoutWindowSplitter.js.map +1 -0
- package/dist/layout/Main.js.map +1 -0
- package/dist/layout/_layout.scss +68 -67
- package/dist/layout/layoutNavStyles.js.map +1 -0
- package/dist/layout/layoutWindowSplitterStyles.js.map +1 -0
- package/dist/layout/mainStyles.js.map +1 -0
- package/dist/layout/useExpandableLayout.js.map +1 -0
- package/dist/layout/useHorizontalLayoutTransition.js.map +1 -0
- package/dist/layout/useLayoutAppBarHeight.js.map +1 -0
- package/dist/layout/useLayoutTree.js.map +1 -0
- package/dist/layout/useLayoutWindowSplitter.js.map +1 -0
- package/dist/layout/useMainTabIndex.js.map +1 -0
- package/dist/layout/useResizableLayout.js.map +1 -0
- package/dist/layout/useTemporaryLayout.js.map +1 -0
- package/dist/link/Link.js.map +1 -0
- package/dist/link/SkipToMainContent.js.map +1 -0
- package/dist/link/_link.scss +52 -50
- package/dist/link/styles.js.map +1 -0
- package/dist/list/List.js.map +1 -0
- package/dist/list/ListItem.js.map +1 -0
- package/dist/list/ListItemAddon.js.map +1 -0
- package/dist/list/ListItemChildren.js.map +1 -0
- package/dist/list/ListItemLink.js.map +1 -0
- package/dist/list/ListItemText.js.map +1 -0
- package/dist/list/ListSubheader.js.map +1 -0
- package/dist/list/_list.scss +124 -122
- package/dist/list/getListItemHeight.js.map +1 -0
- package/dist/list/listItemStyles.js.map +1 -0
- package/dist/list/types.js.map +1 -0
- package/dist/media-queries/AppSizeProvider.js.map +1 -0
- package/dist/media-queries/appSize.js.map +1 -0
- package/dist/media-queries/useMediaQuery.js.map +1 -0
- package/dist/menu/DropdownMenu.js.map +1 -0
- package/dist/menu/Menu.js.map +1 -0
- package/dist/menu/MenuBar.js.map +1 -0
- package/dist/menu/MenuButton.js.map +1 -0
- package/dist/menu/MenuConfigurationProvider.js.map +1 -0
- package/dist/menu/MenuItem.js.map +1 -0
- package/dist/menu/MenuItemButton.js.map +1 -0
- package/dist/menu/MenuItemGroup.js.map +1 -0
- package/dist/menu/MenuItemSeparator.js.map +1 -0
- package/dist/menu/MenuSheet.js.map +1 -0
- package/dist/menu/MenuVisibilityProvider.js.map +1 -0
- package/dist/menu/MenuWidget.js.map +1 -0
- package/dist/menu/MenuWidgetKeyboardProvider.js.map +1 -0
- package/dist/menu/_menu.scss +9 -7
- package/dist/menu/useContextMenu.js.map +1 -0
- package/dist/menu/useMenuBarProvider.js.map +1 -0
- package/dist/menu/utils.js.map +1 -0
- package/dist/movement/constants.js.map +1 -0
- package/dist/movement/findMatchIndex.js.map +1 -0
- package/dist/movement/types.js.map +1 -0
- package/dist/movement/useKeyboardMovementProvider.js.map +1 -0
- package/dist/movement/utils.js.map +1 -0
- package/dist/overlay/Overlay.js.map +1 -0
- package/dist/overlay/_overlay.scss +25 -23
- package/dist/overlay/overlayStyles.js.map +1 -0
- package/dist/portal/Portal.js.map +1 -0
- package/dist/portal/PortalContainerProvider.js.map +1 -0
- package/dist/positioning/constants.js.map +1 -0
- package/dist/positioning/createHorizontalPosition.js.map +1 -0
- package/dist/positioning/createVerticalPosition.js.map +1 -0
- package/dist/positioning/getFixedPosition.js.map +1 -0
- package/dist/positioning/types.js.map +1 -0
- package/dist/positioning/useFixedPositioning.js.map +1 -0
- package/dist/positioning/utils.js.map +1 -0
- package/dist/progress/CircularProgress.js.map +1 -0
- package/dist/progress/LinearProgress.js.map +1 -0
- package/dist/progress/_progress.scss +11 -6
- package/dist/progress/getProgressA11y.js.map +1 -0
- package/dist/progress/types.js.map +1 -0
- package/dist/responsive-item/ResponsiveItemContainer.js.map +1 -0
- package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -0
- package/dist/responsive-item/_responsive-item.scss +91 -89
- package/dist/responsive-item/styles.js.map +1 -0
- package/dist/scroll/ScrollLock.js.map +1 -0
- package/dist/scroll/getScrollbarWidth.js.map +1 -0
- package/dist/scroll/useScrollLock.js.map +1 -0
- package/dist/segmented-button/SegmentedButton.js.map +1 -0
- package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -0
- package/dist/segmented-button/_segmented-button.scss +54 -49
- package/dist/segmented-button/segmentedButtonContainerStyles.js.map +1 -0
- package/dist/segmented-button/segmentedButtonStyles.js.map +1 -0
- package/dist/sheet/Sheet.js.map +1 -0
- package/dist/sheet/_sheet.scss +84 -82
- package/dist/sheet/styles.js.map +1 -0
- package/dist/snackbar/DefaultToastRenderer.js.map +1 -0
- package/dist/snackbar/Snackbar.js.map +1 -0
- package/dist/snackbar/Toast.js.map +1 -0
- package/dist/snackbar/ToastActionButton.js.map +1 -0
- package/dist/snackbar/ToastCloseButton.js.map +1 -0
- package/dist/snackbar/ToastContent.js.map +1 -0
- package/dist/snackbar/ToastManager.js.map +1 -0
- package/dist/snackbar/ToastManagerProvider.js.map +1 -0
- package/dist/snackbar/_snackbar.scss +128 -123
- package/dist/snackbar/snackbarStyles.js.map +1 -0
- package/dist/snackbar/toastContentStyles.js.map +1 -0
- package/dist/snackbar/toastStyles.js.map +1 -0
- package/dist/snackbar/useCurrentToastActions.js.map +1 -0
- package/dist/suspense/CircularProgressSuspense.js.map +1 -0
- package/dist/suspense/NullSuspense.js.map +1 -0
- package/dist/table/Table.js.map +1 -0
- package/dist/table/TableBody.js.map +1 -0
- package/dist/table/TableCell.js.map +1 -0
- package/dist/table/TableCellContent.js.map +1 -0
- package/dist/table/TableCheckbox.js.map +1 -0
- package/dist/table/TableConfigurationProvider.js.map +1 -0
- package/dist/table/TableContainer.js.map +1 -0
- package/dist/table/TableContainerProvider.js.map +1 -0
- package/dist/table/TableFooter.js.map +1 -0
- package/dist/table/TableHeader.js.map +1 -0
- package/dist/table/TableRadio.js.map +1 -0
- package/dist/table/TableRow.js.map +1 -0
- package/dist/table/_table.scss +159 -157
- package/dist/table/tableCellStyles.js.map +1 -0
- package/dist/table/tableContainerStyles.js.map +1 -0
- package/dist/table/tableFooterStyles.js.map +1 -0
- package/dist/table/tableHeaderStyles.js.map +1 -0
- package/dist/table/tableRowStyles.js.map +1 -0
- package/dist/table/tableStyles.js.map +1 -0
- package/dist/table/types.js.map +1 -0
- package/dist/tabs/Tab.js.map +1 -0
- package/dist/tabs/TabList.js.map +1 -0
- package/dist/tabs/TabListScrollButton.js.map +1 -0
- package/dist/tabs/_tabs.scss +10 -8
- package/dist/tabs/tabIndicatorStyles.js.map +1 -0
- package/dist/tabs/tabListScrollButtonStyles.js.map +1 -0
- package/dist/tabs/tabListStyles.js.map +1 -0
- package/dist/tabs/tabStyles.js.map +1 -0
- package/dist/tabs/useTabList.js.map +1 -0
- package/dist/tabs/useTabs.js.map +1 -0
- package/dist/tabs/utils.js.map +1 -0
- package/dist/test-utils/IntersectionObserver.js.map +1 -0
- package/dist/test-utils/ResizeObserver.js.map +1 -0
- package/dist/test-utils/data-testid.js.map +1 -0
- package/dist/test-utils/index.js.map +1 -0
- package/dist/test-utils/jest-setup.js.map +1 -0
- package/dist/test-utils/matchMedia.js.map +1 -0
- package/dist/test-utils/polyfills/IntersectionObserver.js.map +1 -0
- package/dist/test-utils/polyfills/ResizeObserver.js.map +1 -0
- package/dist/test-utils/polyfills/index.js.map +1 -0
- package/dist/test-utils/polyfills/matchMedia.js.map +1 -0
- package/dist/test-utils/polyfills/offsetParent.js.map +1 -0
- package/dist/test-utils/polyfills/scrollIntoView.js.map +1 -0
- package/dist/test-utils/render.js.map +1 -0
- package/dist/test-utils/timers.js.map +1 -0
- package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -0
- package/dist/theme/ThemeProvider.js.map +1 -0
- package/dist/theme/colors.js.map +1 -0
- package/dist/theme/cssVars.js.map +1 -0
- package/dist/theme/types.js.map +1 -0
- package/dist/theme/useCSSVariables.js.map +1 -0
- package/dist/theme/useColorScheme.js.map +1 -0
- package/dist/theme/useColorSchemeMetaTag.js.map +1 -0
- package/dist/theme/useColorSchemeProvider.js.map +1 -0
- package/dist/theme/usePrefersColorScheme.js.map +1 -0
- package/dist/theme/utils.js.map +1 -0
- package/dist/tooltip/Tooltip.js.map +1 -0
- package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -0
- package/dist/tooltip/_tooltip.scss +60 -58
- package/dist/tooltip/constants.js.map +1 -0
- package/dist/tooltip/tooltipStyles.js.map +1 -0
- package/dist/tooltip/useTooltip.js.map +1 -0
- package/dist/tooltip/useTooltipPosition.js.map +1 -0
- package/dist/tooltip/utils.js.map +1 -0
- package/dist/transition/CSSTransition.js.map +1 -0
- package/dist/transition/Collapse.js.map +1 -0
- package/dist/transition/CrossFade.js.map +1 -0
- package/dist/transition/ScaleTransition.js.map +1 -0
- package/dist/transition/SkeletonPlaceholder.js.map +1 -0
- package/dist/transition/Slide.js.map +1 -0
- package/dist/transition/SlideContainer.js.map +1 -0
- package/dist/transition/_transition.scss +44 -39
- package/dist/transition/collapseStyles.js.map +1 -0
- package/dist/transition/config.js.map +1 -0
- package/dist/transition/maxWidthTransition.js.map +1 -0
- package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
- package/dist/transition/types.js.map +1 -0
- package/dist/transition/useCSSTransition.js.map +1 -0
- package/dist/transition/useCarousel.js.map +1 -0
- package/dist/transition/useCollapseTransition.js.map +1 -0
- package/dist/transition/useCrossFadeTransition.js.map +1 -0
- package/dist/transition/useMaxWidthTransition.js.map +1 -0
- package/dist/transition/useScaleTransition.js.map +1 -0
- package/dist/transition/useSkeletonPlaceholder.js.map +1 -0
- package/dist/transition/useSlideTransition.js.map +1 -0
- package/dist/transition/useTransition.js.map +1 -0
- package/dist/transition/utils.js.map +1 -0
- package/dist/tree/DefaultTreeItemRenderer.js.map +1 -0
- package/dist/tree/Tree.js.map +1 -0
- package/dist/tree/TreeGroup.js.map +1 -0
- package/dist/tree/TreeItem.js.map +1 -0
- package/dist/tree/TreeItemExpander.js.map +1 -0
- package/dist/tree/TreeProvider.js.map +1 -0
- package/dist/tree/_tree.scss +83 -81
- package/dist/tree/styles.js.map +1 -0
- package/dist/tree/types.js.map +1 -0
- package/dist/tree/useTree.js.map +1 -0
- package/dist/tree/useTreeExpansion.js.map +1 -0
- package/dist/tree/useTreeItems.js.map +1 -0
- package/dist/tree/useTreeMovement.js.map +1 -0
- package/dist/tree/useTreeSelection.js.map +1 -0
- package/dist/tree/utils.js.map +1 -0
- package/dist/types.js.map +1 -0
- package/dist/typography/SrOnly.js.map +1 -0
- package/dist/typography/TextContainer.js.map +1 -0
- package/dist/typography/Typography.js.map +1 -0
- package/dist/typography/WritingDirectionProvider.js.map +1 -0
- package/dist/typography/_typography.scss +58 -49
- package/dist/useAsyncAction.js.map +1 -0
- package/dist/useDebouncedFunction.js.map +1 -0
- package/dist/useDropzone.js.map +1 -0
- package/dist/useElementSize.js.map +1 -0
- package/dist/useEnsuredId.js.map +1 -0
- package/dist/useEnsuredRef.js.map +1 -0
- package/dist/useEnsuredState.js.map +1 -0
- package/dist/useHtmlClassName.js.map +1 -0
- package/dist/useIntersectionObserver.js.map +1 -0
- package/dist/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/useLocalStorage.js.map +1 -0
- package/dist/useOrientation.js.map +1 -0
- package/dist/usePageInactive.js.map +1 -0
- package/dist/useResizeListener.js.map +1 -0
- package/dist/useResizeObserver.js.map +1 -0
- package/dist/useThrottledFunction.js.map +1 -0
- package/dist/useToggle.js.map +1 -0
- package/dist/useUnmounted.js.map +1 -0
- package/dist/useWindowSize.js.map +1 -0
- package/dist/utils/RenderRecursively.js.map +1 -0
- package/dist/utils/alphaNumericSort.js.map +1 -0
- package/dist/utils/applyRef.js.map +1 -0
- package/dist/utils/bem.js.map +1 -0
- package/dist/utils/filters.js.map +1 -0
- package/dist/utils/getClientPosition.js.map +1 -0
- package/dist/utils/getMiddleOfRange.js.map +1 -0
- package/dist/utils/getPercentage.js.map +1 -0
- package/dist/utils/getRangeDefaultValue.js.map +1 -0
- package/dist/utils/getRangeSteps.js.map +1 -0
- package/dist/utils/identity.js.map +1 -0
- package/dist/utils/isElementVisible.js.map +1 -0
- package/dist/utils/loop.js.map +1 -0
- package/dist/utils/nearest.js.map +1 -0
- package/dist/utils/parseCssLengthUnit.js.map +1 -0
- package/dist/utils/randomInt.js.map +1 -0
- package/dist/utils/wait.js.map +1 -0
- package/dist/utils/withinRange.js.map +1 -0
- package/dist/window-splitter/WindowSplitter.js.map +1 -0
- package/dist/window-splitter/_window-splitter.scss +72 -70
- package/dist/window-splitter/useWindowSplitter.js.map +1 -0
- package/package.json +2 -2
- package/src/_core.scss +157 -240
- package/src/_utils.scss +10 -0
- package/src/app-bar/_app-bar.scss +95 -93
- package/src/avatar/_avatar.scss +49 -47
- package/src/badge/_badge.scss +19 -17
- package/src/box/_box.scss +57 -55
- package/src/button/_button.scss +122 -120
- package/src/card/_card.scss +72 -70
- package/src/chip/_chip.scss +105 -103
- package/src/dialog/_dialog.scss +128 -126
- package/src/divider/_divider.scss +24 -22
- package/src/draggable/_draggable.scss +16 -12
- package/src/expansion-panel/_expansion-panel.scss +69 -52
- package/src/form/Form.tsx +2 -1
- package/src/form/_form.scss +1175 -1127
- package/src/icon/_icon.scss +64 -62
- package/src/interaction/_interaction.scss +39 -35
- package/src/layout/_layout.scss +68 -67
- package/src/link/_link.scss +52 -50
- package/src/list/_list.scss +124 -122
- package/src/menu/_menu.scss +9 -7
- package/src/overlay/_overlay.scss +25 -23
- package/src/progress/_progress.scss +11 -6
- package/src/responsive-item/_responsive-item.scss +91 -89
- package/src/segmented-button/_segmented-button.scss +54 -49
- package/src/sheet/_sheet.scss +84 -82
- package/src/snackbar/_snackbar.scss +128 -123
- package/src/table/_table.scss +159 -157
- package/src/tabs/_tabs.scss +10 -8
- package/src/tooltip/_tooltip.scss +60 -58
- package/src/transition/_transition.scss +44 -39
- package/src/tree/_tree.scss +83 -81
- package/src/typography/_typography.scss +58 -49
- package/src/window-splitter/_window-splitter.scss +72 -70
- package/tsconfig.json +2 -2
- package/.turbo/turbo-lint.log +0 -12
- package/.turbo/turbo-test.log +0 -179
- package/.turbo/turbo-typecheck.log +0 -4
- package/dist/src/CoreProviders.js.map +0 -1
- package/dist/src/NoSsr.js.map +0 -1
- package/dist/src/SsrProvider.js.map +0 -1
- package/dist/src/app-bar/AppBar.js.map +0 -1
- package/dist/src/app-bar/AppBarTitle.js.map +0 -1
- package/dist/src/avatar/Avatar.js.map +0 -1
- package/dist/src/avatar/styles.js.map +0 -1
- package/dist/src/badge/Badge.js.map +0 -1
- package/dist/src/box/Box.js.map +0 -1
- package/dist/src/box/styles.js.map +0 -1
- package/dist/src/button/AsyncButton.js.map +0 -1
- package/dist/src/button/Button.js.map +0 -1
- package/dist/src/button/ButtonUnstyled.js.map +0 -1
- package/dist/src/button/FloatingActionButton.js.map +0 -1
- package/dist/src/button/TooltippedButton.js.map +0 -1
- package/dist/src/button/buttonStyles.js.map +0 -1
- package/dist/src/button/buttonUnstyledStyles.js.map +0 -1
- package/dist/src/card/Card.js.map +0 -1
- package/dist/src/card/CardContent.js.map +0 -1
- package/dist/src/card/CardFooter.js.map +0 -1
- package/dist/src/card/CardHeader.js.map +0 -1
- package/dist/src/card/CardSubtitle.js.map +0 -1
- package/dist/src/card/CardTitle.js.map +0 -1
- package/dist/src/card/ClickableCard.js.map +0 -1
- package/dist/src/card/styles.js.map +0 -1
- package/dist/src/chip/Chip.js.map +0 -1
- package/dist/src/chip/styles.js.map +0 -1
- package/dist/src/cssUtils.js.map +0 -1
- package/dist/src/delegateEvent.js.map +0 -1
- package/dist/src/dialog/Dialog.js.map +0 -1
- package/dist/src/dialog/DialogContainer.js.map +0 -1
- package/dist/src/dialog/DialogContent.js.map +0 -1
- package/dist/src/dialog/DialogFooter.js.map +0 -1
- package/dist/src/dialog/DialogHeader.js.map +0 -1
- package/dist/src/dialog/DialogTitle.js.map +0 -1
- package/dist/src/dialog/FixedDialog.js.map +0 -1
- package/dist/src/dialog/NestedDialogProvider.js.map +0 -1
- package/dist/src/dialog/styles.js.map +0 -1
- package/dist/src/divider/Divider.js.map +0 -1
- package/dist/src/divider/styles.js.map +0 -1
- package/dist/src/draggable/useDraggable.js.map +0 -1
- package/dist/src/draggable/utils.js.map +0 -1
- package/dist/src/expansion-panel/ExpansionList.js.map +0 -1
- package/dist/src/expansion-panel/ExpansionPanel.js.map +0 -1
- package/dist/src/expansion-panel/ExpansionPanelHeader.js.map +0 -1
- package/dist/src/expansion-panel/useExpansionList.js.map +0 -1
- package/dist/src/expansion-panel/useExpansionPanels.js.map +0 -1
- package/dist/src/focus/useFocusContainer.js.map +0 -1
- package/dist/src/focus/utils.js.map +0 -1
- package/dist/src/form/Checkbox.js.map +0 -1
- package/dist/src/form/Fieldset.js.map +0 -1
- package/dist/src/form/FileInput.js.map +0 -1
- package/dist/src/form/Form.js +0 -27
- package/dist/src/form/Form.js.map +0 -1
- package/dist/src/form/FormMessage.js.map +0 -1
- package/dist/src/form/FormMessageContainer.js.map +0 -1
- package/dist/src/form/FormMessageCounter.js.map +0 -1
- package/dist/src/form/InputToggle.js.map +0 -1
- package/dist/src/form/InputToggleIcon.js.map +0 -1
- package/dist/src/form/Label.js.map +0 -1
- package/dist/src/form/Legend.js.map +0 -1
- package/dist/src/form/MenuItemCheckbox.js.map +0 -1
- package/dist/src/form/MenuItemFileInput.js.map +0 -1
- package/dist/src/form/MenuItemInputToggle.js.map +0 -1
- package/dist/src/form/MenuItemRadio.js.map +0 -1
- package/dist/src/form/MenuItemSwitch.js.map +0 -1
- package/dist/src/form/MenuItemTextField.js.map +0 -1
- package/dist/src/form/NativeSelect.js.map +0 -1
- package/dist/src/form/OptGroup.js.map +0 -1
- package/dist/src/form/Option.js.map +0 -1
- package/dist/src/form/Password.js.map +0 -1
- package/dist/src/form/Radio.js.map +0 -1
- package/dist/src/form/Select.js.map +0 -1
- package/dist/src/form/SelectValue.js.map +0 -1
- package/dist/src/form/Slider.js.map +0 -1
- package/dist/src/form/SliderContainer.js.map +0 -1
- package/dist/src/form/SliderMark.js.map +0 -1
- package/dist/src/form/SliderMarkLabel.js.map +0 -1
- package/dist/src/form/SliderThumb.js.map +0 -1
- package/dist/src/form/SliderTrack.js.map +0 -1
- package/dist/src/form/SliderValueMarks.js.map +0 -1
- package/dist/src/form/SliderValueTooltip.js.map +0 -1
- package/dist/src/form/Switch.js.map +0 -1
- package/dist/src/form/SwitchTrack.js.map +0 -1
- package/dist/src/form/TextArea.js.map +0 -1
- package/dist/src/form/TextField.js.map +0 -1
- package/dist/src/form/TextFieldAddon.js.map +0 -1
- package/dist/src/form/TextFieldContainer.js.map +0 -1
- package/dist/src/form/TextFieldContainerStyles.js.map +0 -1
- package/dist/src/form/fileUtils.js.map +0 -1
- package/dist/src/form/formConfig.js.map +0 -1
- package/dist/src/form/formMessageStyles.js.map +0 -1
- package/dist/src/form/inputToggleStyles.js.map +0 -1
- package/dist/src/form/nativeSelectStyles.js.map +0 -1
- package/dist/src/form/optionStyles.js.map +0 -1
- package/dist/src/form/passwordStyles.js.map +0 -1
- package/dist/src/form/selectStyles.js.map +0 -1
- package/dist/src/form/selectUtils.js.map +0 -1
- package/dist/src/form/sliderUtils.js.map +0 -1
- package/dist/src/form/switchStyles.js.map +0 -1
- package/dist/src/form/textAreaStyles.js.map +0 -1
- package/dist/src/form/textFieldStyles.js.map +0 -1
- package/dist/src/form/types.js.map +0 -1
- package/dist/src/form/useCheckboxGroup.js.map +0 -1
- package/dist/src/form/useFileUpload.js.map +0 -1
- package/dist/src/form/useListboxProvider.js.map +0 -1
- package/dist/src/form/useNumberField.js.map +0 -1
- package/dist/src/form/useRadioGroup.js.map +0 -1
- package/dist/src/form/useRangeSlider.js.map +0 -1
- package/dist/src/form/useResizingTextArea.js.map +0 -1
- package/dist/src/form/useSlider.js.map +0 -1
- package/dist/src/form/useTextField.js.map +0 -1
- package/dist/src/form/utils.js.map +0 -1
- package/dist/src/form/validation.js.map +0 -1
- package/dist/src/hoverMode/useHoverMode.js.map +0 -1
- package/dist/src/hoverMode/useHoverModeProvider.js.map +0 -1
- package/dist/src/icon/FontIcon.js.map +0 -1
- package/dist/src/icon/IconRotator.js.map +0 -1
- package/dist/src/icon/MaterialIcon.js.map +0 -1
- package/dist/src/icon/MaterialSymbol.js.map +0 -1
- package/dist/src/icon/SVGIcon.js.map +0 -1
- package/dist/src/icon/TextIconSpacing.js.map +0 -1
- package/dist/src/icon/iconConfig.js.map +0 -1
- package/dist/src/icon/material.js.map +0 -1
- package/dist/src/icon/materialConfig.js.map +0 -1
- package/dist/src/icon/styles.js.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/interaction/Ripple.js.map +0 -1
- package/dist/src/interaction/RippleContainer.js.map +0 -1
- package/dist/src/interaction/UserInteractionModeProvider.js.map +0 -1
- package/dist/src/interaction/config.js.map +0 -1
- package/dist/src/interaction/types.js.map +0 -1
- package/dist/src/interaction/useElementInteraction.js.map +0 -1
- package/dist/src/interaction/useHigherContrastChildren.js.map +0 -1
- package/dist/src/interaction/utils.js.map +0 -1
- package/dist/src/layout/LayoutAppBar.js.map +0 -1
- package/dist/src/layout/LayoutNav.js.map +0 -1
- package/dist/src/layout/LayoutWindowSplitter.js.map +0 -1
- package/dist/src/layout/Main.js.map +0 -1
- package/dist/src/layout/layoutNavStyles.js.map +0 -1
- package/dist/src/layout/layoutWindowSplitterStyles.js.map +0 -1
- package/dist/src/layout/mainStyles.js.map +0 -1
- package/dist/src/layout/useExpandableLayout.js.map +0 -1
- package/dist/src/layout/useHorizontalLayoutTransition.js.map +0 -1
- package/dist/src/layout/useLayoutAppBarHeight.js.map +0 -1
- package/dist/src/layout/useLayoutTree.js.map +0 -1
- package/dist/src/layout/useLayoutWindowSplitter.js.map +0 -1
- package/dist/src/layout/useMainTabIndex.js.map +0 -1
- package/dist/src/layout/useResizableLayout.js.map +0 -1
- package/dist/src/layout/useTemporaryLayout.js.map +0 -1
- package/dist/src/link/Link.js.map +0 -1
- package/dist/src/link/SkipToMainContent.js.map +0 -1
- package/dist/src/link/styles.js.map +0 -1
- package/dist/src/list/List.js.map +0 -1
- package/dist/src/list/ListItem.js.map +0 -1
- package/dist/src/list/ListItemAddon.js.map +0 -1
- package/dist/src/list/ListItemChildren.js.map +0 -1
- package/dist/src/list/ListItemLink.js.map +0 -1
- package/dist/src/list/ListItemText.js.map +0 -1
- package/dist/src/list/ListSubheader.js.map +0 -1
- package/dist/src/list/getListItemHeight.js.map +0 -1
- package/dist/src/list/listItemStyles.js.map +0 -1
- package/dist/src/list/types.js.map +0 -1
- package/dist/src/media-queries/AppSizeProvider.js.map +0 -1
- package/dist/src/media-queries/appSize.js.map +0 -1
- package/dist/src/media-queries/useMediaQuery.js.map +0 -1
- package/dist/src/menu/DropdownMenu.js.map +0 -1
- package/dist/src/menu/Menu.js.map +0 -1
- package/dist/src/menu/MenuBar.js.map +0 -1
- package/dist/src/menu/MenuButton.js.map +0 -1
- package/dist/src/menu/MenuConfigurationProvider.js.map +0 -1
- package/dist/src/menu/MenuItem.js.map +0 -1
- package/dist/src/menu/MenuItemButton.js.map +0 -1
- package/dist/src/menu/MenuItemGroup.js.map +0 -1
- package/dist/src/menu/MenuItemSeparator.js.map +0 -1
- package/dist/src/menu/MenuSheet.js.map +0 -1
- package/dist/src/menu/MenuVisibilityProvider.js.map +0 -1
- package/dist/src/menu/MenuWidget.js.map +0 -1
- package/dist/src/menu/MenuWidgetKeyboardProvider.js.map +0 -1
- package/dist/src/menu/useContextMenu.js.map +0 -1
- package/dist/src/menu/useMenuBarProvider.js.map +0 -1
- package/dist/src/menu/utils.js.map +0 -1
- package/dist/src/movement/constants.js.map +0 -1
- package/dist/src/movement/findMatchIndex.js.map +0 -1
- package/dist/src/movement/types.js.map +0 -1
- package/dist/src/movement/useKeyboardMovementProvider.js.map +0 -1
- package/dist/src/movement/utils.js.map +0 -1
- package/dist/src/overlay/Overlay.js.map +0 -1
- package/dist/src/overlay/overlayStyles.js.map +0 -1
- package/dist/src/portal/Portal.js.map +0 -1
- package/dist/src/portal/PortalContainerProvider.js.map +0 -1
- package/dist/src/positioning/constants.js.map +0 -1
- package/dist/src/positioning/createHorizontalPosition.js.map +0 -1
- package/dist/src/positioning/createVerticalPosition.js.map +0 -1
- package/dist/src/positioning/getFixedPosition.js.map +0 -1
- package/dist/src/positioning/types.js.map +0 -1
- package/dist/src/positioning/useFixedPositioning.js.map +0 -1
- package/dist/src/positioning/utils.js.map +0 -1
- package/dist/src/progress/CircularProgress.js.map +0 -1
- package/dist/src/progress/LinearProgress.js.map +0 -1
- package/dist/src/progress/getProgressA11y.js.map +0 -1
- package/dist/src/progress/types.js.map +0 -1
- package/dist/src/responsive-item/ResponsiveItemContainer.js.map +0 -1
- package/dist/src/responsive-item/ResponsiveItemOverlay.js.map +0 -1
- package/dist/src/responsive-item/styles.js.map +0 -1
- package/dist/src/scroll/ScrollLock.js.map +0 -1
- package/dist/src/scroll/getScrollbarWidth.js.map +0 -1
- package/dist/src/scroll/useScrollLock.js.map +0 -1
- package/dist/src/segmented-button/SegmentedButton.js.map +0 -1
- package/dist/src/segmented-button/SegmentedButtonContainer.js.map +0 -1
- package/dist/src/segmented-button/segmentedButtonContainerStyles.js.map +0 -1
- package/dist/src/segmented-button/segmentedButtonStyles.js.map +0 -1
- package/dist/src/sheet/Sheet.js.map +0 -1
- package/dist/src/sheet/styles.js.map +0 -1
- package/dist/src/snackbar/DefaultToastRenderer.js.map +0 -1
- package/dist/src/snackbar/Snackbar.js.map +0 -1
- package/dist/src/snackbar/Toast.js.map +0 -1
- package/dist/src/snackbar/ToastActionButton.js.map +0 -1
- package/dist/src/snackbar/ToastCloseButton.js.map +0 -1
- package/dist/src/snackbar/ToastContent.js.map +0 -1
- package/dist/src/snackbar/ToastManager.js.map +0 -1
- package/dist/src/snackbar/ToastManagerProvider.js.map +0 -1
- package/dist/src/snackbar/snackbarStyles.js.map +0 -1
- package/dist/src/snackbar/toastContentStyles.js.map +0 -1
- package/dist/src/snackbar/toastStyles.js.map +0 -1
- package/dist/src/snackbar/useCurrentToastActions.js.map +0 -1
- package/dist/src/suspense/CircularProgressSuspense.js.map +0 -1
- package/dist/src/suspense/NullSuspense.js.map +0 -1
- package/dist/src/table/Table.js.map +0 -1
- package/dist/src/table/TableBody.js.map +0 -1
- package/dist/src/table/TableCell.js.map +0 -1
- package/dist/src/table/TableCellContent.js.map +0 -1
- package/dist/src/table/TableCheckbox.js.map +0 -1
- package/dist/src/table/TableConfigurationProvider.js.map +0 -1
- package/dist/src/table/TableContainer.js.map +0 -1
- package/dist/src/table/TableContainerProvider.js.map +0 -1
- package/dist/src/table/TableFooter.js.map +0 -1
- package/dist/src/table/TableHeader.js.map +0 -1
- package/dist/src/table/TableRadio.js.map +0 -1
- package/dist/src/table/TableRow.js.map +0 -1
- package/dist/src/table/tableCellStyles.js.map +0 -1
- package/dist/src/table/tableContainerStyles.js.map +0 -1
- package/dist/src/table/tableFooterStyles.js.map +0 -1
- package/dist/src/table/tableHeaderStyles.js.map +0 -1
- package/dist/src/table/tableRowStyles.js.map +0 -1
- package/dist/src/table/tableStyles.js.map +0 -1
- package/dist/src/table/types.js.map +0 -1
- package/dist/src/tabs/Tab.js.map +0 -1
- package/dist/src/tabs/TabList.js.map +0 -1
- package/dist/src/tabs/TabListScrollButton.js.map +0 -1
- package/dist/src/tabs/tabIndicatorStyles.js.map +0 -1
- package/dist/src/tabs/tabListScrollButtonStyles.js.map +0 -1
- package/dist/src/tabs/tabListStyles.js.map +0 -1
- package/dist/src/tabs/tabStyles.js.map +0 -1
- package/dist/src/tabs/useTabList.js.map +0 -1
- package/dist/src/tabs/useTabs.js.map +0 -1
- package/dist/src/tabs/utils.js.map +0 -1
- package/dist/src/test-utils/IntersectionObserver.js.map +0 -1
- package/dist/src/test-utils/ResizeObserver.js.map +0 -1
- package/dist/src/test-utils/data-testid.js.map +0 -1
- package/dist/src/test-utils/index.js.map +0 -1
- package/dist/src/test-utils/jest-setup.js.map +0 -1
- package/dist/src/test-utils/matchMedia.js.map +0 -1
- package/dist/src/test-utils/polyfills/IntersectionObserver.js.map +0 -1
- package/dist/src/test-utils/polyfills/ResizeObserver.js.map +0 -1
- package/dist/src/test-utils/polyfills/index.js.map +0 -1
- package/dist/src/test-utils/polyfills/matchMedia.js.map +0 -1
- package/dist/src/test-utils/polyfills/offsetParent.js.map +0 -1
- package/dist/src/test-utils/polyfills/scrollIntoView.js.map +0 -1
- package/dist/src/test-utils/render.js.map +0 -1
- package/dist/src/test-utils/timers.js.map +0 -1
- package/dist/src/theme/LocalStorageColorSchemeProvider.js.map +0 -1
- package/dist/src/theme/ThemeProvider.js.map +0 -1
- package/dist/src/theme/colors.js.map +0 -1
- package/dist/src/theme/cssVars.js.map +0 -1
- package/dist/src/theme/types.js.map +0 -1
- package/dist/src/theme/useCSSVariables.js.map +0 -1
- package/dist/src/theme/useColorScheme.js.map +0 -1
- package/dist/src/theme/useColorSchemeMetaTag.js.map +0 -1
- package/dist/src/theme/useColorSchemeProvider.js.map +0 -1
- package/dist/src/theme/usePrefersColorScheme.js.map +0 -1
- package/dist/src/theme/utils.js.map +0 -1
- package/dist/src/tooltip/Tooltip.js.map +0 -1
- package/dist/src/tooltip/TooltipHoverModeProvider.js.map +0 -1
- package/dist/src/tooltip/constants.js.map +0 -1
- package/dist/src/tooltip/tooltipStyles.js.map +0 -1
- package/dist/src/tooltip/useTooltip.js.map +0 -1
- package/dist/src/tooltip/useTooltipPosition.js.map +0 -1
- package/dist/src/tooltip/utils.js.map +0 -1
- package/dist/src/transition/CSSTransition.js.map +0 -1
- package/dist/src/transition/Collapse.js.map +0 -1
- package/dist/src/transition/CrossFade.js.map +0 -1
- package/dist/src/transition/ScaleTransition.js.map +0 -1
- package/dist/src/transition/SkeletonPlaceholder.js.map +0 -1
- package/dist/src/transition/Slide.js.map +0 -1
- package/dist/src/transition/SlideContainer.js.map +0 -1
- package/dist/src/transition/collapseStyles.js.map +0 -1
- package/dist/src/transition/config.js.map +0 -1
- package/dist/src/transition/maxWidthTransition.js.map +0 -1
- package/dist/src/transition/skeletonPlaceholderUtils.js.map +0 -1
- package/dist/src/transition/types.js.map +0 -1
- package/dist/src/transition/useCSSTransition.js.map +0 -1
- package/dist/src/transition/useCarousel.js.map +0 -1
- package/dist/src/transition/useCollapseTransition.js.map +0 -1
- package/dist/src/transition/useCrossFadeTransition.js.map +0 -1
- package/dist/src/transition/useMaxWidthTransition.js.map +0 -1
- package/dist/src/transition/useScaleTransition.js.map +0 -1
- package/dist/src/transition/useSkeletonPlaceholder.js.map +0 -1
- package/dist/src/transition/useSlideTransition.js.map +0 -1
- package/dist/src/transition/useTransition.js.map +0 -1
- package/dist/src/transition/utils.js.map +0 -1
- package/dist/src/tree/DefaultTreeItemRenderer.js.map +0 -1
- package/dist/src/tree/Tree.js.map +0 -1
- package/dist/src/tree/TreeGroup.js.map +0 -1
- package/dist/src/tree/TreeItem.js.map +0 -1
- package/dist/src/tree/TreeItemExpander.js.map +0 -1
- package/dist/src/tree/TreeProvider.js.map +0 -1
- package/dist/src/tree/styles.js.map +0 -1
- package/dist/src/tree/types.js.map +0 -1
- package/dist/src/tree/useTree.js.map +0 -1
- package/dist/src/tree/useTreeExpansion.js.map +0 -1
- package/dist/src/tree/useTreeItems.js.map +0 -1
- package/dist/src/tree/useTreeMovement.js.map +0 -1
- package/dist/src/tree/useTreeSelection.js.map +0 -1
- package/dist/src/tree/utils.js.map +0 -1
- package/dist/src/types.js.map +0 -1
- package/dist/src/typography/SrOnly.js.map +0 -1
- package/dist/src/typography/TextContainer.js.map +0 -1
- package/dist/src/typography/Typography.js.map +0 -1
- package/dist/src/typography/WritingDirectionProvider.js.map +0 -1
- package/dist/src/useAsyncAction.js.map +0 -1
- package/dist/src/useDebouncedFunction.js.map +0 -1
- package/dist/src/useDropzone.js.map +0 -1
- package/dist/src/useElementSize.js.map +0 -1
- package/dist/src/useEnsuredId.js.map +0 -1
- package/dist/src/useEnsuredRef.js.map +0 -1
- package/dist/src/useEnsuredState.js.map +0 -1
- package/dist/src/useHtmlClassName.js.map +0 -1
- package/dist/src/useIntersectionObserver.js.map +0 -1
- package/dist/src/useIsomorphicLayoutEffect.js.map +0 -1
- package/dist/src/useLocalStorage.js.map +0 -1
- package/dist/src/useOrientation.js.map +0 -1
- package/dist/src/usePageInactive.js.map +0 -1
- package/dist/src/useResizeListener.js.map +0 -1
- package/dist/src/useResizeObserver.js.map +0 -1
- package/dist/src/useThrottledFunction.js.map +0 -1
- package/dist/src/useToggle.js.map +0 -1
- package/dist/src/useUnmounted.js.map +0 -1
- package/dist/src/useWindowSize.js.map +0 -1
- package/dist/src/utils/RenderRecursively.js.map +0 -1
- package/dist/src/utils/alphaNumericSort.js.map +0 -1
- package/dist/src/utils/applyRef.js.map +0 -1
- package/dist/src/utils/bem.js.map +0 -1
- package/dist/src/utils/filters.js.map +0 -1
- package/dist/src/utils/getClientPosition.js.map +0 -1
- package/dist/src/utils/getMiddleOfRange.js.map +0 -1
- package/dist/src/utils/getPercentage.js.map +0 -1
- package/dist/src/utils/getRangeDefaultValue.js.map +0 -1
- package/dist/src/utils/getRangeSteps.js.map +0 -1
- package/dist/src/utils/identity.js.map +0 -1
- package/dist/src/utils/isElementVisible.js.map +0 -1
- package/dist/src/utils/loop.js.map +0 -1
- package/dist/src/utils/nearest.js.map +0 -1
- package/dist/src/utils/parseCssLengthUnit.js.map +0 -1
- package/dist/src/utils/randomInt.js.map +0 -1
- package/dist/src/utils/wait.js.map +0 -1
- package/dist/src/utils/withinRange.js.map +0 -1
- package/dist/src/window-splitter/WindowSplitter.js.map +0 -1
- package/dist/src/window-splitter/useWindowSplitter.js.map +0 -1
- /package/dist/{src/CoreProviders.js → CoreProviders.js} +0 -0
- /package/dist/{src/NoSsr.js → NoSsr.js} +0 -0
- /package/dist/{src/SsrProvider.js → SsrProvider.js} +0 -0
- /package/dist/{src/app-bar → app-bar}/AppBar.js +0 -0
- /package/dist/{src/app-bar → app-bar}/AppBarTitle.js +0 -0
- /package/dist/{src/avatar → avatar}/Avatar.js +0 -0
- /package/dist/{src/avatar → avatar}/styles.js +0 -0
- /package/dist/{src/badge → badge}/Badge.js +0 -0
- /package/dist/{src/box → box}/Box.js +0 -0
- /package/dist/{src/box → box}/styles.js +0 -0
- /package/dist/{src/button → button}/AsyncButton.js +0 -0
- /package/dist/{src/button → button}/Button.js +0 -0
- /package/dist/{src/button → button}/ButtonUnstyled.js +0 -0
- /package/dist/{src/button → button}/FloatingActionButton.js +0 -0
- /package/dist/{src/button → button}/TooltippedButton.js +0 -0
- /package/dist/{src/button → button}/buttonStyles.js +0 -0
- /package/dist/{src/button → button}/buttonUnstyledStyles.js +0 -0
- /package/dist/{src/card → card}/Card.js +0 -0
- /package/dist/{src/card → card}/CardContent.js +0 -0
- /package/dist/{src/card → card}/CardFooter.js +0 -0
- /package/dist/{src/card → card}/CardHeader.js +0 -0
- /package/dist/{src/card → card}/CardSubtitle.js +0 -0
- /package/dist/{src/card → card}/CardTitle.js +0 -0
- /package/dist/{src/card → card}/ClickableCard.js +0 -0
- /package/dist/{src/card → card}/styles.js +0 -0
- /package/dist/{src/chip → chip}/Chip.js +0 -0
- /package/dist/{src/chip → chip}/styles.js +0 -0
- /package/dist/{src/cssUtils.js → cssUtils.js} +0 -0
- /package/dist/{src/delegateEvent.js → delegateEvent.js} +0 -0
- /package/dist/{src/dialog → dialog}/Dialog.js +0 -0
- /package/dist/{src/dialog → dialog}/DialogContainer.js +0 -0
- /package/dist/{src/dialog → dialog}/DialogContent.js +0 -0
- /package/dist/{src/dialog → dialog}/DialogFooter.js +0 -0
- /package/dist/{src/dialog → dialog}/DialogHeader.js +0 -0
- /package/dist/{src/dialog → dialog}/DialogTitle.js +0 -0
- /package/dist/{src/dialog → dialog}/FixedDialog.js +0 -0
- /package/dist/{src/dialog → dialog}/NestedDialogProvider.js +0 -0
- /package/dist/{src/dialog → dialog}/styles.js +0 -0
- /package/dist/{src/divider → divider}/Divider.js +0 -0
- /package/dist/{src/divider → divider}/styles.js +0 -0
- /package/dist/{src/draggable → draggable}/useDraggable.js +0 -0
- /package/dist/{src/draggable → draggable}/utils.js +0 -0
- /package/dist/{src/expansion-panel → expansion-panel}/ExpansionList.js +0 -0
- /package/dist/{src/expansion-panel → expansion-panel}/ExpansionPanel.js +0 -0
- /package/dist/{src/expansion-panel → expansion-panel}/ExpansionPanelHeader.js +0 -0
- /package/dist/{src/expansion-panel → expansion-panel}/useExpansionList.js +0 -0
- /package/dist/{src/expansion-panel → expansion-panel}/useExpansionPanels.js +0 -0
- /package/dist/{src/focus → focus}/useFocusContainer.js +0 -0
- /package/dist/{src/focus → focus}/utils.js +0 -0
- /package/dist/{src/form → form}/Checkbox.js +0 -0
- /package/dist/{src/form → form}/Fieldset.js +0 -0
- /package/dist/{src/form → form}/FileInput.js +0 -0
- /package/dist/{src/form → form}/FormMessage.js +0 -0
- /package/dist/{src/form → form}/FormMessageContainer.js +0 -0
- /package/dist/{src/form → form}/FormMessageCounter.js +0 -0
- /package/dist/{src/form → form}/InputToggle.js +0 -0
- /package/dist/{src/form → form}/InputToggleIcon.js +0 -0
- /package/dist/{src/form → form}/Label.js +0 -0
- /package/dist/{src/form → form}/Legend.js +0 -0
- /package/dist/{src/form → form}/MenuItemCheckbox.js +0 -0
- /package/dist/{src/form → form}/MenuItemFileInput.js +0 -0
- /package/dist/{src/form → form}/MenuItemInputToggle.js +0 -0
- /package/dist/{src/form → form}/MenuItemRadio.js +0 -0
- /package/dist/{src/form → form}/MenuItemSwitch.js +0 -0
- /package/dist/{src/form → form}/MenuItemTextField.js +0 -0
- /package/dist/{src/form → form}/NativeSelect.js +0 -0
- /package/dist/{src/form → form}/OptGroup.js +0 -0
- /package/dist/{src/form → form}/Option.js +0 -0
- /package/dist/{src/form → form}/Password.js +0 -0
- /package/dist/{src/form → form}/Radio.js +0 -0
- /package/dist/{src/form → form}/Select.js +0 -0
- /package/dist/{src/form → form}/SelectValue.js +0 -0
- /package/dist/{src/form → form}/Slider.js +0 -0
- /package/dist/{src/form → form}/SliderContainer.js +0 -0
- /package/dist/{src/form → form}/SliderMark.js +0 -0
- /package/dist/{src/form → form}/SliderMarkLabel.js +0 -0
- /package/dist/{src/form → form}/SliderThumb.js +0 -0
- /package/dist/{src/form → form}/SliderTrack.js +0 -0
- /package/dist/{src/form → form}/SliderValueMarks.js +0 -0
- /package/dist/{src/form → form}/SliderValueTooltip.js +0 -0
- /package/dist/{src/form → form}/Switch.js +0 -0
- /package/dist/{src/form → form}/SwitchTrack.js +0 -0
- /package/dist/{src/form → form}/TextArea.js +0 -0
- /package/dist/{src/form → form}/TextField.js +0 -0
- /package/dist/{src/form → form}/TextFieldAddon.js +0 -0
- /package/dist/{src/form → form}/TextFieldContainer.js +0 -0
- /package/dist/{src/form → form}/TextFieldContainerStyles.js +0 -0
- /package/dist/{src/form → form}/fileUtils.js +0 -0
- /package/dist/{src/form → form}/formConfig.js +0 -0
- /package/dist/{src/form → form}/formMessageStyles.js +0 -0
- /package/dist/{src/form → form}/inputToggleStyles.js +0 -0
- /package/dist/{src/form → form}/nativeSelectStyles.js +0 -0
- /package/dist/{src/form → form}/optionStyles.js +0 -0
- /package/dist/{src/form → form}/passwordStyles.js +0 -0
- /package/dist/{src/form → form}/selectStyles.js +0 -0
- /package/dist/{src/form → form}/selectUtils.js +0 -0
- /package/dist/{src/form → form}/sliderUtils.js +0 -0
- /package/dist/{src/form → form}/switchStyles.js +0 -0
- /package/dist/{src/form → form}/textAreaStyles.js +0 -0
- /package/dist/{src/form → form}/textFieldStyles.js +0 -0
- /package/dist/{src/form → form}/types.js +0 -0
- /package/dist/{src/form → form}/useCheckboxGroup.js +0 -0
- /package/dist/{src/form → form}/useFileUpload.js +0 -0
- /package/dist/{src/form → form}/useListboxProvider.js +0 -0
- /package/dist/{src/form → form}/useNumberField.js +0 -0
- /package/dist/{src/form → form}/useRadioGroup.js +0 -0
- /package/dist/{src/form → form}/useRangeSlider.js +0 -0
- /package/dist/{src/form → form}/useResizingTextArea.js +0 -0
- /package/dist/{src/form → form}/useSlider.js +0 -0
- /package/dist/{src/form → form}/useTextField.js +0 -0
- /package/dist/{src/form → form}/utils.js +0 -0
- /package/dist/{src/form → form}/validation.js +0 -0
- /package/dist/{src/hoverMode → hoverMode}/useHoverMode.js +0 -0
- /package/dist/{src/hoverMode → hoverMode}/useHoverModeProvider.js +0 -0
- /package/dist/{src/icon → icon}/FontIcon.js +0 -0
- /package/dist/{src/icon → icon}/IconRotator.js +0 -0
- /package/dist/{src/icon → icon}/MaterialIcon.js +0 -0
- /package/dist/{src/icon → icon}/MaterialSymbol.js +0 -0
- /package/dist/{src/icon → icon}/SVGIcon.js +0 -0
- /package/dist/{src/icon → icon}/TextIconSpacing.js +0 -0
- /package/dist/{src/icon → icon}/iconConfig.js +0 -0
- /package/dist/{src/icon → icon}/material.js +0 -0
- /package/dist/{src/icon → icon}/materialConfig.js +0 -0
- /package/dist/{src/icon → icon}/styles.js +0 -0
- /package/dist/{src/index.js → index.js} +0 -0
- /package/dist/{src/interaction → interaction}/Ripple.js +0 -0
- /package/dist/{src/interaction → interaction}/RippleContainer.js +0 -0
- /package/dist/{src/interaction → interaction}/UserInteractionModeProvider.js +0 -0
- /package/dist/{src/interaction → interaction}/config.js +0 -0
- /package/dist/{src/interaction → interaction}/types.js +0 -0
- /package/dist/{src/interaction → interaction}/useElementInteraction.js +0 -0
- /package/dist/{src/interaction → interaction}/useHigherContrastChildren.js +0 -0
- /package/dist/{src/interaction → interaction}/utils.js +0 -0
- /package/dist/{src/layout → layout}/LayoutAppBar.js +0 -0
- /package/dist/{src/layout → layout}/LayoutNav.js +0 -0
- /package/dist/{src/layout → layout}/LayoutWindowSplitter.js +0 -0
- /package/dist/{src/layout → layout}/Main.js +0 -0
- /package/dist/{src/layout → layout}/layoutNavStyles.js +0 -0
- /package/dist/{src/layout → layout}/layoutWindowSplitterStyles.js +0 -0
- /package/dist/{src/layout → layout}/mainStyles.js +0 -0
- /package/dist/{src/layout → layout}/useExpandableLayout.js +0 -0
- /package/dist/{src/layout → layout}/useHorizontalLayoutTransition.js +0 -0
- /package/dist/{src/layout → layout}/useLayoutAppBarHeight.js +0 -0
- /package/dist/{src/layout → layout}/useLayoutTree.js +0 -0
- /package/dist/{src/layout → layout}/useLayoutWindowSplitter.js +0 -0
- /package/dist/{src/layout → layout}/useMainTabIndex.js +0 -0
- /package/dist/{src/layout → layout}/useResizableLayout.js +0 -0
- /package/dist/{src/layout → layout}/useTemporaryLayout.js +0 -0
- /package/dist/{src/link → link}/Link.js +0 -0
- /package/dist/{src/link → link}/SkipToMainContent.js +0 -0
- /package/dist/{src/link → link}/styles.js +0 -0
- /package/dist/{src/list → list}/List.js +0 -0
- /package/dist/{src/list → list}/ListItem.js +0 -0
- /package/dist/{src/list → list}/ListItemAddon.js +0 -0
- /package/dist/{src/list → list}/ListItemChildren.js +0 -0
- /package/dist/{src/list → list}/ListItemLink.js +0 -0
- /package/dist/{src/list → list}/ListItemText.js +0 -0
- /package/dist/{src/list → list}/ListSubheader.js +0 -0
- /package/dist/{src/list → list}/getListItemHeight.js +0 -0
- /package/dist/{src/list → list}/listItemStyles.js +0 -0
- /package/dist/{src/list → list}/types.js +0 -0
- /package/dist/{src/media-queries → media-queries}/AppSizeProvider.js +0 -0
- /package/dist/{src/media-queries → media-queries}/appSize.js +0 -0
- /package/dist/{src/media-queries → media-queries}/useMediaQuery.js +0 -0
- /package/dist/{src/menu → menu}/DropdownMenu.js +0 -0
- /package/dist/{src/menu → menu}/Menu.js +0 -0
- /package/dist/{src/menu → menu}/MenuBar.js +0 -0
- /package/dist/{src/menu → menu}/MenuButton.js +0 -0
- /package/dist/{src/menu → menu}/MenuConfigurationProvider.js +0 -0
- /package/dist/{src/menu → menu}/MenuItem.js +0 -0
- /package/dist/{src/menu → menu}/MenuItemButton.js +0 -0
- /package/dist/{src/menu → menu}/MenuItemGroup.js +0 -0
- /package/dist/{src/menu → menu}/MenuItemSeparator.js +0 -0
- /package/dist/{src/menu → menu}/MenuSheet.js +0 -0
- /package/dist/{src/menu → menu}/MenuVisibilityProvider.js +0 -0
- /package/dist/{src/menu → menu}/MenuWidget.js +0 -0
- /package/dist/{src/menu → menu}/MenuWidgetKeyboardProvider.js +0 -0
- /package/dist/{src/menu → menu}/useContextMenu.js +0 -0
- /package/dist/{src/menu → menu}/useMenuBarProvider.js +0 -0
- /package/dist/{src/menu → menu}/utils.js +0 -0
- /package/dist/{src/movement → movement}/constants.js +0 -0
- /package/dist/{src/movement → movement}/findMatchIndex.js +0 -0
- /package/dist/{src/movement → movement}/types.js +0 -0
- /package/dist/{src/movement → movement}/useKeyboardMovementProvider.js +0 -0
- /package/dist/{src/movement → movement}/utils.js +0 -0
- /package/dist/{src/overlay → overlay}/Overlay.js +0 -0
- /package/dist/{src/overlay → overlay}/overlayStyles.js +0 -0
- /package/dist/{src/portal → portal}/Portal.js +0 -0
- /package/dist/{src/portal → portal}/PortalContainerProvider.js +0 -0
- /package/dist/{src/positioning → positioning}/constants.js +0 -0
- /package/dist/{src/positioning → positioning}/createHorizontalPosition.js +0 -0
- /package/dist/{src/positioning → positioning}/createVerticalPosition.js +0 -0
- /package/dist/{src/positioning → positioning}/getFixedPosition.js +0 -0
- /package/dist/{src/positioning → positioning}/types.js +0 -0
- /package/dist/{src/positioning → positioning}/useFixedPositioning.js +0 -0
- /package/dist/{src/positioning → positioning}/utils.js +0 -0
- /package/dist/{src/progress → progress}/CircularProgress.js +0 -0
- /package/dist/{src/progress → progress}/LinearProgress.js +0 -0
- /package/dist/{src/progress → progress}/getProgressA11y.js +0 -0
- /package/dist/{src/progress → progress}/types.js +0 -0
- /package/dist/{src/responsive-item → responsive-item}/ResponsiveItemContainer.js +0 -0
- /package/dist/{src/responsive-item → responsive-item}/ResponsiveItemOverlay.js +0 -0
- /package/dist/{src/responsive-item → responsive-item}/styles.js +0 -0
- /package/dist/{src/scroll → scroll}/ScrollLock.js +0 -0
- /package/dist/{src/scroll → scroll}/getScrollbarWidth.js +0 -0
- /package/dist/{src/scroll → scroll}/useScrollLock.js +0 -0
- /package/dist/{src/segmented-button → segmented-button}/SegmentedButton.js +0 -0
- /package/dist/{src/segmented-button → segmented-button}/SegmentedButtonContainer.js +0 -0
- /package/dist/{src/segmented-button → segmented-button}/segmentedButtonContainerStyles.js +0 -0
- /package/dist/{src/segmented-button → segmented-button}/segmentedButtonStyles.js +0 -0
- /package/dist/{src/sheet → sheet}/Sheet.js +0 -0
- /package/dist/{src/sheet → sheet}/styles.js +0 -0
- /package/dist/{src/snackbar → snackbar}/DefaultToastRenderer.js +0 -0
- /package/dist/{src/snackbar → snackbar}/Snackbar.js +0 -0
- /package/dist/{src/snackbar → snackbar}/Toast.js +0 -0
- /package/dist/{src/snackbar → snackbar}/ToastActionButton.js +0 -0
- /package/dist/{src/snackbar → snackbar}/ToastCloseButton.js +0 -0
- /package/dist/{src/snackbar → snackbar}/ToastContent.js +0 -0
- /package/dist/{src/snackbar → snackbar}/ToastManager.js +0 -0
- /package/dist/{src/snackbar → snackbar}/ToastManagerProvider.js +0 -0
- /package/dist/{src/snackbar → snackbar}/snackbarStyles.js +0 -0
- /package/dist/{src/snackbar → snackbar}/toastContentStyles.js +0 -0
- /package/dist/{src/snackbar → snackbar}/toastStyles.js +0 -0
- /package/dist/{src/snackbar → snackbar}/useCurrentToastActions.js +0 -0
- /package/dist/{src/suspense → suspense}/CircularProgressSuspense.js +0 -0
- /package/dist/{src/suspense → suspense}/NullSuspense.js +0 -0
- /package/dist/{src/table → table}/Table.js +0 -0
- /package/dist/{src/table → table}/TableBody.js +0 -0
- /package/dist/{src/table → table}/TableCell.js +0 -0
- /package/dist/{src/table → table}/TableCellContent.js +0 -0
- /package/dist/{src/table → table}/TableCheckbox.js +0 -0
- /package/dist/{src/table → table}/TableConfigurationProvider.js +0 -0
- /package/dist/{src/table → table}/TableContainer.js +0 -0
- /package/dist/{src/table → table}/TableContainerProvider.js +0 -0
- /package/dist/{src/table → table}/TableFooter.js +0 -0
- /package/dist/{src/table → table}/TableHeader.js +0 -0
- /package/dist/{src/table → table}/TableRadio.js +0 -0
- /package/dist/{src/table → table}/TableRow.js +0 -0
- /package/dist/{src/table → table}/tableCellStyles.js +0 -0
- /package/dist/{src/table → table}/tableContainerStyles.js +0 -0
- /package/dist/{src/table → table}/tableFooterStyles.js +0 -0
- /package/dist/{src/table → table}/tableHeaderStyles.js +0 -0
- /package/dist/{src/table → table}/tableRowStyles.js +0 -0
- /package/dist/{src/table → table}/tableStyles.js +0 -0
- /package/dist/{src/table → table}/types.js +0 -0
- /package/dist/{src/tabs → tabs}/Tab.js +0 -0
- /package/dist/{src/tabs → tabs}/TabList.js +0 -0
- /package/dist/{src/tabs → tabs}/TabListScrollButton.js +0 -0
- /package/dist/{src/tabs → tabs}/tabIndicatorStyles.js +0 -0
- /package/dist/{src/tabs → tabs}/tabListScrollButtonStyles.js +0 -0
- /package/dist/{src/tabs → tabs}/tabListStyles.js +0 -0
- /package/dist/{src/tabs → tabs}/tabStyles.js +0 -0
- /package/dist/{src/tabs → tabs}/useTabList.js +0 -0
- /package/dist/{src/tabs → tabs}/useTabs.js +0 -0
- /package/dist/{src/tabs → tabs}/utils.js +0 -0
- /package/dist/{src/test-utils → test-utils}/IntersectionObserver.js +0 -0
- /package/dist/{src/test-utils → test-utils}/ResizeObserver.js +0 -0
- /package/dist/{src/test-utils → test-utils}/data-testid.js +0 -0
- /package/dist/{src/test-utils → test-utils}/index.js +0 -0
- /package/dist/{src/test-utils → test-utils}/jest-setup.js +0 -0
- /package/dist/{src/test-utils → test-utils}/matchMedia.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/IntersectionObserver.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/ResizeObserver.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/index.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/matchMedia.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/offsetParent.js +0 -0
- /package/dist/{src/test-utils → test-utils}/polyfills/scrollIntoView.js +0 -0
- /package/dist/{src/test-utils → test-utils}/render.js +0 -0
- /package/dist/{src/test-utils → test-utils}/timers.js +0 -0
- /package/dist/{src/theme → theme}/LocalStorageColorSchemeProvider.js +0 -0
- /package/dist/{src/theme → theme}/ThemeProvider.js +0 -0
- /package/dist/{src/theme → theme}/colors.js +0 -0
- /package/dist/{src/theme → theme}/cssVars.js +0 -0
- /package/dist/{src/theme → theme}/types.js +0 -0
- /package/dist/{src/theme → theme}/useCSSVariables.js +0 -0
- /package/dist/{src/theme → theme}/useColorScheme.js +0 -0
- /package/dist/{src/theme → theme}/useColorSchemeMetaTag.js +0 -0
- /package/dist/{src/theme → theme}/useColorSchemeProvider.js +0 -0
- /package/dist/{src/theme → theme}/usePrefersColorScheme.js +0 -0
- /package/dist/{src/theme → theme}/utils.js +0 -0
- /package/dist/{src/tooltip → tooltip}/Tooltip.js +0 -0
- /package/dist/{src/tooltip → tooltip}/TooltipHoverModeProvider.js +0 -0
- /package/dist/{src/tooltip → tooltip}/constants.js +0 -0
- /package/dist/{src/tooltip → tooltip}/tooltipStyles.js +0 -0
- /package/dist/{src/tooltip → tooltip}/useTooltip.js +0 -0
- /package/dist/{src/tooltip → tooltip}/useTooltipPosition.js +0 -0
- /package/dist/{src/tooltip → tooltip}/utils.js +0 -0
- /package/dist/{src/transition → transition}/CSSTransition.js +0 -0
- /package/dist/{src/transition → transition}/Collapse.js +0 -0
- /package/dist/{src/transition → transition}/CrossFade.js +0 -0
- /package/dist/{src/transition → transition}/ScaleTransition.js +0 -0
- /package/dist/{src/transition → transition}/SkeletonPlaceholder.js +0 -0
- /package/dist/{src/transition → transition}/Slide.js +0 -0
- /package/dist/{src/transition → transition}/SlideContainer.js +0 -0
- /package/dist/{src/transition → transition}/collapseStyles.js +0 -0
- /package/dist/{src/transition → transition}/config.js +0 -0
- /package/dist/{src/transition → transition}/maxWidthTransition.js +0 -0
- /package/dist/{src/transition → transition}/skeletonPlaceholderUtils.js +0 -0
- /package/dist/{src/transition → transition}/types.js +0 -0
- /package/dist/{src/transition → transition}/useCSSTransition.js +0 -0
- /package/dist/{src/transition → transition}/useCarousel.js +0 -0
- /package/dist/{src/transition → transition}/useCollapseTransition.js +0 -0
- /package/dist/{src/transition → transition}/useCrossFadeTransition.js +0 -0
- /package/dist/{src/transition → transition}/useMaxWidthTransition.js +0 -0
- /package/dist/{src/transition → transition}/useScaleTransition.js +0 -0
- /package/dist/{src/transition → transition}/useSkeletonPlaceholder.js +0 -0
- /package/dist/{src/transition → transition}/useSlideTransition.js +0 -0
- /package/dist/{src/transition → transition}/useTransition.js +0 -0
- /package/dist/{src/transition → transition}/utils.js +0 -0
- /package/dist/{src/tree → tree}/DefaultTreeItemRenderer.js +0 -0
- /package/dist/{src/tree → tree}/Tree.js +0 -0
- /package/dist/{src/tree → tree}/TreeGroup.js +0 -0
- /package/dist/{src/tree → tree}/TreeItem.js +0 -0
- /package/dist/{src/tree → tree}/TreeItemExpander.js +0 -0
- /package/dist/{src/tree → tree}/TreeProvider.js +0 -0
- /package/dist/{src/tree → tree}/styles.js +0 -0
- /package/dist/{src/tree → tree}/types.js +0 -0
- /package/dist/{src/tree → tree}/useTree.js +0 -0
- /package/dist/{src/tree → tree}/useTreeExpansion.js +0 -0
- /package/dist/{src/tree → tree}/useTreeItems.js +0 -0
- /package/dist/{src/tree → tree}/useTreeMovement.js +0 -0
- /package/dist/{src/tree → tree}/useTreeSelection.js +0 -0
- /package/dist/{src/tree → tree}/utils.js +0 -0
- /package/dist/{src/types.js → types.js} +0 -0
- /package/dist/{src/typography → typography}/SrOnly.js +0 -0
- /package/dist/{src/typography → typography}/TextContainer.js +0 -0
- /package/dist/{src/typography → typography}/Typography.js +0 -0
- /package/dist/{src/typography → typography}/WritingDirectionProvider.js +0 -0
- /package/dist/{src/useAsyncAction.js → useAsyncAction.js} +0 -0
- /package/dist/{src/useDebouncedFunction.js → useDebouncedFunction.js} +0 -0
- /package/dist/{src/useDropzone.js → useDropzone.js} +0 -0
- /package/dist/{src/useElementSize.js → useElementSize.js} +0 -0
- /package/dist/{src/useEnsuredId.js → useEnsuredId.js} +0 -0
- /package/dist/{src/useEnsuredRef.js → useEnsuredRef.js} +0 -0
- /package/dist/{src/useEnsuredState.js → useEnsuredState.js} +0 -0
- /package/dist/{src/useHtmlClassName.js → useHtmlClassName.js} +0 -0
- /package/dist/{src/useIntersectionObserver.js → useIntersectionObserver.js} +0 -0
- /package/dist/{src/useIsomorphicLayoutEffect.js → useIsomorphicLayoutEffect.js} +0 -0
- /package/dist/{src/useLocalStorage.js → useLocalStorage.js} +0 -0
- /package/dist/{src/useOrientation.js → useOrientation.js} +0 -0
- /package/dist/{src/usePageInactive.js → usePageInactive.js} +0 -0
- /package/dist/{src/useResizeListener.js → useResizeListener.js} +0 -0
- /package/dist/{src/useResizeObserver.js → useResizeObserver.js} +0 -0
- /package/dist/{src/useThrottledFunction.js → useThrottledFunction.js} +0 -0
- /package/dist/{src/useToggle.js → useToggle.js} +0 -0
- /package/dist/{src/useUnmounted.js → useUnmounted.js} +0 -0
- /package/dist/{src/useWindowSize.js → useWindowSize.js} +0 -0
- /package/dist/{src/utils → utils}/RenderRecursively.js +0 -0
- /package/dist/{src/utils → utils}/alphaNumericSort.js +0 -0
- /package/dist/{src/utils → utils}/applyRef.js +0 -0
- /package/dist/{src/utils → utils}/bem.js +0 -0
- /package/dist/{src/utils → utils}/filters.js +0 -0
- /package/dist/{src/utils → utils}/getClientPosition.js +0 -0
- /package/dist/{src/utils → utils}/getMiddleOfRange.js +0 -0
- /package/dist/{src/utils → utils}/getPercentage.js +0 -0
- /package/dist/{src/utils → utils}/getRangeDefaultValue.js +0 -0
- /package/dist/{src/utils → utils}/getRangeSteps.js +0 -0
- /package/dist/{src/utils → utils}/identity.js +0 -0
- /package/dist/{src/utils → utils}/isElementVisible.js +0 -0
- /package/dist/{src/utils → utils}/loop.js +0 -0
- /package/dist/{src/utils → utils}/nearest.js +0 -0
- /package/dist/{src/utils → utils}/parseCssLengthUnit.js +0 -0
- /package/dist/{src/utils → utils}/randomInt.js +0 -0
- /package/dist/{src/utils → utils}/wait.js +0 -0
- /package/dist/{src/utils → utils}/withinRange.js +0 -0
- /package/dist/{src/window-splitter → window-splitter}/WindowSplitter.js +0 -0
- /package/dist/{src/window-splitter → window-splitter}/useWindowSplitter.js +0 -0
package/dist/table/_table.scss
CHANGED
|
@@ -212,232 +212,234 @@ $row-selected-styles: (
|
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
-
@mixin styles {
|
|
215
|
+
@mixin styles($disable-layer: false) {
|
|
216
216
|
@if not $disable-everything {
|
|
217
|
-
@
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
217
|
+
@include utils.optional-layer(table, $disable-layer) {
|
|
218
|
+
@if not $disable-container {
|
|
219
|
+
.rmd-table-container {
|
|
220
|
+
max-width: 100%;
|
|
221
|
+
overflow: auto;
|
|
222
|
+
}
|
|
221
223
|
}
|
|
222
|
-
}
|
|
223
224
|
|
|
224
|
-
|
|
225
|
-
|
|
225
|
+
.rmd-table {
|
|
226
|
+
@include use-var(background-color);
|
|
226
227
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
228
|
+
// NOTE: Switched from `border-collapse: collapse` to `border-spacing: 0`
|
|
229
|
+
// since enabling sticky headers removed the borders for some reason in
|
|
230
|
+
// firefox. all I really wanted was the spacing to be removed from each
|
|
231
|
+
// cell, so border-spacing seems better.
|
|
232
|
+
border-spacing: 0;
|
|
233
|
+
max-width: 100%;
|
|
233
234
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
235
|
+
@if not $disable-full-width {
|
|
236
|
+
&--full-width {
|
|
237
|
+
width: 100%;
|
|
238
|
+
}
|
|
237
239
|
}
|
|
238
240
|
}
|
|
239
|
-
}
|
|
240
241
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
242
|
+
.rmd-thead {
|
|
243
|
+
@include use-var(background-color, header-background-color);
|
|
244
|
+
@if $cell-height != $cell-header-height {
|
|
245
|
+
@include set-var(cell-height, $cell-header-height);
|
|
246
|
+
}
|
|
246
247
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
248
|
+
@if not $disable-dense and $cell-dense-height {
|
|
249
|
+
&--dense {
|
|
250
|
+
@include set-var(cell-height, $cell-header-dense-height);
|
|
251
|
+
}
|
|
250
252
|
}
|
|
251
|
-
}
|
|
252
253
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
254
|
+
@if not $disable-sticky-header {
|
|
255
|
+
&--sticky {
|
|
256
|
+
@include use-var(background-color, sticky-background-color);
|
|
257
|
+
@include use-var(top, sticky-header);
|
|
258
|
+
@include utils.map-to-styles($sticky-header-inactive-styles);
|
|
258
259
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
260
|
+
position: sticky;
|
|
261
|
+
z-index: $sticky-header-z-index;
|
|
262
|
+
}
|
|
262
263
|
|
|
263
|
-
|
|
264
|
-
|
|
264
|
+
&--sticky-active {
|
|
265
|
+
@include utils.map-to-styles($sticky-header-active-styles);
|
|
266
|
+
}
|
|
265
267
|
}
|
|
266
268
|
}
|
|
267
|
-
}
|
|
268
269
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
270
|
+
.rmd-tfoot {
|
|
271
|
+
@if not $disable-sticky-footer {
|
|
272
|
+
&--sticky {
|
|
273
|
+
@include use-var(background-color, sticky-background-color);
|
|
274
|
+
@include use-var(bottom, sticky-footer);
|
|
275
|
+
@include utils.map-to-styles($sticky-footer-inactive-styles);
|
|
275
276
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
277
|
+
position: sticky;
|
|
278
|
+
z-index: $sticky-footer-z-index;
|
|
279
|
+
}
|
|
279
280
|
|
|
280
|
-
|
|
281
|
-
|
|
281
|
+
&--sticky-active {
|
|
282
|
+
@include utils.map-to-styles($sticky-footer-active-styles);
|
|
283
|
+
}
|
|
282
284
|
}
|
|
283
285
|
}
|
|
284
|
-
}
|
|
285
286
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
287
|
+
.rmd-tr {
|
|
288
|
+
@if not $disable-clickable {
|
|
289
|
+
&--clickable:hover {
|
|
290
|
+
cursor: pointer;
|
|
291
|
+
}
|
|
290
292
|
}
|
|
291
|
-
}
|
|
292
293
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
294
|
+
@if not $disable-selected {
|
|
295
|
+
&--selected {
|
|
296
|
+
@include utils.map-to-styles($row-selected-styles);
|
|
297
|
+
}
|
|
296
298
|
}
|
|
297
|
-
}
|
|
298
299
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
300
|
+
@if not $disable-bordered {
|
|
301
|
+
&--bordered {
|
|
302
|
+
border-bottom: get-var(border-size) solid get-var(border-color);
|
|
302
303
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
304
|
+
@if not $disable-bordered-except-last {
|
|
305
|
+
&:last-child {
|
|
306
|
+
border-bottom-width: 0;
|
|
307
|
+
}
|
|
306
308
|
}
|
|
307
309
|
}
|
|
308
310
|
}
|
|
309
|
-
}
|
|
310
311
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
312
|
+
@if not $disable-hoverable {
|
|
313
|
+
&--hoverable {
|
|
314
|
+
@include utils.mouse-only {
|
|
315
|
+
transition: background transition.$linear-duration
|
|
316
|
+
transition.$linear-timing-function;
|
|
316
317
|
|
|
317
|
-
|
|
318
|
-
|
|
318
|
+
&:hover {
|
|
319
|
+
@include utils.map-to-styles($row-hover-styles);
|
|
320
|
+
}
|
|
319
321
|
}
|
|
320
322
|
}
|
|
321
323
|
}
|
|
322
324
|
}
|
|
323
|
-
}
|
|
324
325
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
326
|
+
.rmd-table-cell {
|
|
327
|
+
@include utils.map-to-styles($cell-typography);
|
|
328
|
+
@include use-var(color, cell-color);
|
|
329
|
+
@include use-var(height, cell-height);
|
|
329
330
|
|
|
330
|
-
|
|
331
|
-
|
|
331
|
+
border: inherit;
|
|
332
|
+
padding: 0 get-var(cell-horizontal-padding);
|
|
332
333
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
334
|
+
&--header {
|
|
335
|
+
@include utils.map-to-styles($cell-header-typography);
|
|
336
|
+
@if $cell-color != $cell-header-color {
|
|
337
|
+
@include set-var(cell-color, $cell-header-color);
|
|
338
|
+
}
|
|
337
339
|
}
|
|
338
|
-
}
|
|
339
340
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
341
|
+
@if not $disable-cell-align-top {
|
|
342
|
+
&--top {
|
|
343
|
+
vertical-align: top;
|
|
344
|
+
}
|
|
343
345
|
}
|
|
344
|
-
}
|
|
345
346
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
347
|
+
@if not $disable-cell-align-bottom {
|
|
348
|
+
&--bottom {
|
|
349
|
+
vertical-align: bottom;
|
|
350
|
+
}
|
|
349
351
|
}
|
|
350
|
-
}
|
|
351
352
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
353
|
+
@if not $disable-sticky-cell {
|
|
354
|
+
&--sticky {
|
|
355
|
+
position: sticky;
|
|
356
|
+
will-change: transform;
|
|
357
|
+
}
|
|
357
358
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
359
|
+
&--sticky-cell {
|
|
360
|
+
@include utils.auto-rtl(left, get-var(sticky-cell));
|
|
361
|
+
@include theme.theme-use-var(background-color);
|
|
361
362
|
|
|
362
|
-
|
|
363
|
-
|
|
363
|
+
transition: background-color transition.$linear-duration;
|
|
364
|
+
z-index: $sticky-cell-z-index;
|
|
364
365
|
|
|
365
|
-
|
|
366
|
-
|
|
366
|
+
&::after {
|
|
367
|
+
@include utils.pseudo-element;
|
|
367
368
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
369
|
+
background-color: transparent;
|
|
370
|
+
transition: background
|
|
371
|
+
transition.$linear-duration
|
|
372
|
+
transition.$linear-timing-function;
|
|
372
373
|
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
374
|
+
.rmd-tr--hoverable:hover & {
|
|
375
|
+
@include utils.map-to-styles($row-hover-styles);
|
|
376
|
+
}
|
|
376
377
|
|
|
377
|
-
|
|
378
|
-
|
|
378
|
+
.rmd-tr--selected & {
|
|
379
|
+
@include utils.map-to-styles($row-selected-styles);
|
|
380
|
+
}
|
|
379
381
|
}
|
|
380
382
|
}
|
|
381
|
-
}
|
|
382
383
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
384
|
+
@if not $disable-sticky-header {
|
|
385
|
+
&--sticky-header {
|
|
386
|
+
@include use-var(top, sticky-header);
|
|
386
387
|
|
|
387
|
-
|
|
388
|
+
z-index: $sticky-header-z-index;
|
|
389
|
+
}
|
|
388
390
|
}
|
|
389
|
-
}
|
|
390
391
|
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
392
|
+
@if not $disable-input-toggle and not $disable-sticky-header {
|
|
393
|
+
&--sticky-header-cell {
|
|
394
|
+
z-index: $sticky-header-cell-z-index;
|
|
395
|
+
}
|
|
394
396
|
}
|
|
395
397
|
}
|
|
396
|
-
}
|
|
397
398
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
399
|
+
@if not $disable-input-toggle {
|
|
400
|
+
&--input-toggle {
|
|
401
|
+
@include set-var(
|
|
402
|
+
cell-horizontal-padding,
|
|
403
|
+
$cell-input-toggle-horizontal-padding
|
|
404
|
+
);
|
|
405
|
+
}
|
|
404
406
|
}
|
|
405
|
-
}
|
|
406
407
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
408
|
+
@if not $disable-cell-grow {
|
|
409
|
+
&--grow {
|
|
410
|
+
width: 100%;
|
|
411
|
+
}
|
|
410
412
|
}
|
|
411
|
-
}
|
|
412
413
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
414
|
+
@if not $disable-cell-no-wrap {
|
|
415
|
+
&--no-wrap {
|
|
416
|
+
@include typography.text-overflow;
|
|
417
|
+
}
|
|
416
418
|
}
|
|
417
|
-
}
|
|
418
419
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
420
|
+
@if not $disable-cell-vertical-padding {
|
|
421
|
+
&--v-padding {
|
|
422
|
+
@include use-var(padding-bottom, cell-vertical-padding);
|
|
423
|
+
@include use-var(padding-top, cell-vertical-padding);
|
|
424
|
+
}
|
|
423
425
|
}
|
|
424
|
-
}
|
|
425
426
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
427
|
+
@if not $disable-cell-sort {
|
|
428
|
+
&--no-padding {
|
|
429
|
+
padding: 0;
|
|
430
|
+
}
|
|
430
431
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
432
|
+
&__content {
|
|
433
|
+
@include use-var(padding-left, cell-horizontal-padding);
|
|
434
|
+
@include use-var(padding-right, cell-horizontal-padding);
|
|
434
435
|
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
436
|
+
align-items: center;
|
|
437
|
+
color: inherit;
|
|
438
|
+
font: inherit;
|
|
439
|
+
gap: $cell-content-gap;
|
|
440
|
+
height: 100%;
|
|
441
|
+
width: 100%;
|
|
442
|
+
}
|
|
441
443
|
}
|
|
442
444
|
}
|
|
443
445
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/table/tableCellStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport {\n type TableCellHorizontalAlignment,\n type TableCellVerticalAlignment,\n} from \"./TableConfigurationProvider.js\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableCellClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` if the cell is rendered as a `<th>` so that the correct\n * sticky styles can be applied.\n */\n header: boolean;\n\n /**\n * Set this to true if the cell is rendered in a `<thead>` so that the correct\n * sticky styles can be applied.\n */\n isInTableHeader: boolean;\n\n /** @defaultValue `false` */\n grow?: boolean;\n\n /** @defaultValue `false` */\n sticky?: boolean;\n\n /** @defaultValue `false` */\n inputToggle?: boolean;\n\n hAlign?: TableCellHorizontalAlignment;\n vAlign?: TableCellVerticalAlignment;\n\n /** @defaultValue `true` */\n lineWrap?: boolean;\n\n /**\n * @defaultValue `\"horizontal\"`\n */\n padding?: \"horizontal\" | \"vertical\" | \"none\";\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function tableCell(options: TableCellClassNameOptions): string {\n const {\n grow,\n sticky,\n header,\n inputToggle,\n hAlign,\n vAlign,\n lineWrap = true,\n padding = \"horizontal\",\n isInTableHeader,\n className,\n } = options;\n\n // using `&&` instead of `bem` since the latest version of typescript does not\n // support setting the same object key (empty string)\n const p = \"rmd-table-cell--\";\n return cnb(\n \"rmd-table-cell\",\n grow && `${p}grow`,\n header && `${p}header`,\n sticky && `${p}sticky`,\n inputToggle && `${p}input-toggle`,\n sticky && (!isInTableHeader || inputToggle) && `${p}sticky-cell`,\n sticky && isInTableHeader && `${p}sticky-header`,\n sticky && isInTableHeader && inputToggle && `${p}header-cell`,\n vAlign && vAlign !== \"middle\" && `${p}${vAlign}`,\n !lineWrap && `${p}no-wrap`,\n padding === \"vertical\" && `${p}v-padding`,\n padding === \"none\" && `${p}no-padding`,\n cssUtils({\n textAlign: hAlign,\n }),\n className\n );\n}\n"],"names":["cnb","cssUtils","tableCell","options","grow","sticky","header","inputToggle","hAlign","vAlign","lineWrap","padding","isInTableHeader","className","p","textAlign"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,QAAQ,QAAQ,iBAAiB;AA2C1C;;CAEC,GACD,OAAO,SAASC,UAAUC,OAAkC;IAC1D,MAAM,EACJC,IAAI,EACJC,MAAM,EACNC,MAAM,EACNC,WAAW,EACXC,MAAM,EACNC,MAAM,EACNC,WAAW,IAAI,EACfC,UAAU,YAAY,EACtBC,eAAe,EACfC,SAAS,EACV,GAAGV;IAEJ,8EAA8E;IAC9E,qDAAqD;IACrD,MAAMW,IAAI;IACV,OAAOd,IACL,kBACAI,QAAQ,CAAC,EAAEU,EAAE,IAAI,CAAC,EAClBR,UAAU,CAAC,EAAEQ,EAAE,MAAM,CAAC,EACtBT,UAAU,CAAC,EAAES,EAAE,MAAM,CAAC,EACtBP,eAAe,CAAC,EAAEO,EAAE,YAAY,CAAC,EACjCT,UAAW,CAAA,CAACO,mBAAmBL,WAAU,KAAM,CAAC,EAAEO,EAAE,WAAW,CAAC,EAChET,UAAUO,mBAAmB,CAAC,EAAEE,EAAE,aAAa,CAAC,EAChDT,UAAUO,mBAAmBL,eAAe,CAAC,EAAEO,EAAE,WAAW,CAAC,EAC7DL,UAAUA,WAAW,YAAY,CAAC,EAAEK,EAAE,EAAEL,OAAO,CAAC,EAChD,CAACC,YAAY,CAAC,EAAEI,EAAE,OAAO,CAAC,EAC1BH,YAAY,cAAc,CAAC,EAAEG,EAAE,SAAS,CAAC,EACzCH,YAAY,UAAU,CAAC,EAAEG,EAAE,UAAU,CAAC,EACtCb,SAAS;QACPc,WAAWP;IACb,IACAK;AAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/table/tableContainerStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TableContainerClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function tableContainer(\n options: TableContainerClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(\"rmd-table-container\", className);\n}\n"],"names":["cnb","tableContainer","options","className"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAShC;;CAEC,GACD,OAAO,SAASC,eACdC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOF,IAAI,uBAAuBG;AACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/table/tableFooterStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-tfoot\");\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TableFooterClassNameOptions {\n className?: string;\n sticky?: boolean;\n stickyActive?: boolean;\n stickyActiveClassName?: string;\n}\n\nexport function tableFooter(options: TableFooterClassNameOptions = {}): string {\n const { className, sticky, stickyActive, stickyActiveClassName } = options;\n\n return cnb(\n styles({\n sticky,\n \"sticky-active\": stickyActive,\n }),\n stickyActive && stickyActiveClassName,\n className\n );\n}\n"],"names":["cnb","bem","styles","tableFooter","options","className","sticky","stickyActive","stickyActiveClassName"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAYnB,OAAO,SAASE,YAAYC,UAAuC,CAAC,CAAC;IACnE,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,YAAY,EAAEC,qBAAqB,EAAE,GAAGJ;IAEnE,OAAOJ,IACLE,OAAO;QACLI;QACA,iBAAiBC;IACnB,IACAA,gBAAgBC,uBAChBH;AAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/table/tableHeaderStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-thead\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableHeaderClassNameOptions {\n className?: string;\n dense?: boolean;\n sticky?: boolean;\n stickyActive?: boolean;\n stickyActiveClassName?: string;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport function tableHeader(options: TableHeaderClassNameOptions = {}): string {\n const { dense, sticky, stickyActive, stickyActiveClassName, className } =\n options;\n\n return cnb(\n styles({\n dense,\n sticky,\n \"sticky-active\": stickyActive,\n }),\n stickyActive && stickyActiveClassName,\n className\n );\n}\n"],"names":["cnb","bem","styles","tableHeader","options","dense","sticky","stickyActive","stickyActiveClassName","className"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAWnB,2BAA2B,GAC3B,OAAO,SAASE,YAAYC,UAAuC,CAAC,CAAC;IACnE,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEC,YAAY,EAAEC,qBAAqB,EAAEC,SAAS,EAAE,GACrEL;IAEF,OAAOJ,IACLE,OAAO;QACLG;QACAC;QACA,iBAAiBC;IACnB,IACAA,gBAAgBC,uBAChBC;AAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/table/tableRowStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-tr\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableRowClassNameOptions {\n className?: string;\n disableHover?: boolean;\n disableBorders?: boolean;\n selected?: boolean;\n clickable?: boolean;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport function tableRow(options: TableRowClassNameOptions = {}): string {\n const { disableHover, disableBorders, selected, clickable, className } =\n options;\n return cnb(\n styles({\n bordered: !disableBorders,\n hoverable: !disableHover,\n clickable,\n selected,\n }),\n className\n );\n}\n"],"names":["cnb","bem","styles","tableRow","options","disableHover","disableBorders","selected","clickable","className","bordered","hoverable"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAWnB,2BAA2B,GAC3B,OAAO,SAASE,SAASC,UAAoC,CAAC,CAAC;IAC7D,MAAM,EAAEC,YAAY,EAAEC,cAAc,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,SAAS,EAAE,GACpEL;IACF,OAAOJ,IACLE,OAAO;QACLQ,UAAU,CAACJ;QACXK,WAAW,CAACN;QACZG;QACAD;IACF,IACAE;AAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/table/tableStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-table\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableClassNameOptions {\n className?: string;\n\n /** @defaultValue `false` */\n dense?: boolean;\n\n /** @defaultValue `false` */\n fullWidth?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function table(options: TableClassNameOptions = {}): string {\n const { dense = false, fullWidth = false, className } = options;\n\n return cnb(styles({ dense, \"full-width\": fullWidth }), className);\n}\n"],"names":["cnb","bem","styles","table","options","dense","fullWidth","className"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAanB;;CAEC,GACD,OAAO,SAASE,MAAMC,UAAiC,CAAC,CAAC;IACvD,MAAM,EAAEC,QAAQ,KAAK,EAAEC,YAAY,KAAK,EAAEC,SAAS,EAAE,GAAGH;IAExD,OAAOJ,IAAIE,OAAO;QAAEG;QAAO,cAAcC;IAAU,IAAIC;AACzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/table/types.ts"],"sourcesContent":["import type { IntersectionObserverHookOptions } from \"../useIntersectionObserver.js\";\n\n/** @remarks \\@since 6.0.0 */\nexport type TableStickySectionOptions = Pick<\n IntersectionObserverHookOptions<HTMLTableSectionElement>,\n \"disabled\" | \"getThreshold\" | \"getRootMargin\"\n>;\n\n/**\n * This **should be wrapped in `useCallback`** to increase performance.\n *\n * The default behavior is to enable the \"active\" state for sticky headers is:\n *\n * - if the `TableHeader` is within a `TableContainer`, add a hidden `<tbody>`\n * after the `<thead>` and enable the active state once 1px overlaps with\n * the container.\n * - otherwise, assume the `TableHeader` is fixed within the viewport and\n * parse the `top` CSS style as `px`. enable the active state once 1px\n * overlaps with this value AND the `TableHeader` exists within the\n * viewport.\n * - Note: This really only works with `px` and `rem` units.\n *\n * @see {@link TableStickySectionProps.stickyOptions} for an example usage with custom threshold and\n * margin.\n * @remarks \\@since 6.0.0\n */\nexport type IsStickyTableSectionActive = (\n entry: IntersectionObserverEntry,\n isInTableContainer: boolean\n) => boolean;\n\n/** @remarks \\@since 6.0.0 */\nexport interface TableStickySectionProps {\n /**\n * @defaultValue `false`\n */\n sticky?: boolean;\n\n /**\n * This can be used when the {@link sticky} prop is set to `true` for\n * additional behavior around the \"active\" state for sticky headers.\n *\n * @example\n * Disabling Sticky Active State\n * ```ts\n * stickyOptions={{\n * disabled: true,\n * }}\n * ```\n *\n * @example\n * Custom Options\n * ```ts\n * stickyOptions={{\n * getThreshold: useCallback(() => {\n * // you can access the DOM safely from here\n * return [0, 0.25, 0.5, 1];\n * }, []),\n * getRootMargin: useCallback(() => {\n * // you can access the DOM safely from here\n * return \"-1px 0px 150px 0px\";\n * }, []),\n * }}\n * isStickyActive={useCallback((entry) => {\n * // whatever custom logic you want. you can access the DOM safely from here\n * return entry.isIntersecting;\n * }, [])}\n * ```\n *\n * @remarks \\@since 6.0.0\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API}\n */\n stickyOptions?: TableStickySectionOptions;\n\n /**\n * An optional className to use when the sticky section is covering other rows\n * (`active`). When this is defined, the default\n * `rmd-thead--sticky-active`/`rmd-tfoot--sticky-active` will no longer be\n * applied.\n */\n stickyActiveClassName?: string;\n\n /**\n * @see {@link IsStickyTableSectionActive} for a description.\n * @see {@link stickyOptions} for an example usage with custom threshold and\n * margin.\n * @remarks \\@since 6.0.0\n */\n isStickyActive?: IsStickyTableSectionActive;\n\n /**\n * Set this to `true` when the {@link sticky} prop is `true` to disable the\n * behavior of adding an additional className when the sticky mode is active.\n *\n * The `TableHeader` would gain the `.rmd-thead--sticky-active` class while\n * the `TableFooter` would gain the `.rmd-tfoot--sticky-active` class.\n *\n * @defaultValue `false`\n */\n disableStickyStyles?: boolean;\n}\n"],"names":[],"mappings":"AA+BA,2BAA2B,GAC3B,WAoEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tabs/Tab.tsx"],"sourcesContent":["\"use client\";\nimport {\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type ReactElement,\n type ReactNode,\n} from \"react\";\nimport { useElementInteraction } from \"../interaction/useElementInteraction.js\";\nimport { useHigherContrastChildren } from \"../interaction/useHigherContrastChildren.js\";\nimport { type CustomLinkComponent } from \"../link/Link.js\";\nimport { useKeyboardMovementContext } from \"../movement/useKeyboardMovementProvider.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { tab } from \"./tabStyles.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type useTabs } from \"./useTabs.js\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type TabListProps } from \"./TabList.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface BaseTabProps {\n /**\n * Set this to `true` if the tab is currently active.\n *\n * This is normally provided by the {@link useTabs} hook.\n */\n active: boolean;\n\n /**\n * Set this to `true` if the {@link TabListProps.disableTransition} prop has\n * also been set to `true` to disable an active indicator below the tab when\n * {@link active} is `true`.\n *\n * @defaultValue `false`\n */\n activeIndicator?: boolean;\n\n /**\n * Set this to `true` when rendering the tabs vertically and\n * {@link activeIndicator} has been enabled.\n *\n * @defaultValue !false\n */\n verticalActiveIndicator?: boolean;\n\n /**\n * An optional icon to render with the with the {@link children}. The default\n * behavior will render this icon before the children.\n *\n * @see {@link iconAfter}\n * @see {@link stacked}\n */\n icon?: ReactNode;\n\n /**\n * Set this to `true` to render the {@link icon} after the {@link children}.\n *\n * @defaultValue `false`\n */\n iconAfter?: boolean;\n\n /**\n * Set this to `true` to render the {@link icon} and {@link children} stacked\n * instead of horizontally.\n *\n * @defaultValue `false`\n */\n stacked?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TabButtonProps\n extends BaseTabProps,\n ButtonHTMLAttributes<HTMLButtonElement> {\n as?: \"button\";\n}\n\nexport interface TabLinkProps\n extends BaseTabProps,\n AnchorHTMLAttributes<HTMLAnchorElement> {\n as: CustomLinkComponent;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type TabProps = TabButtonProps | TabLinkProps;\n\n/**\n * **Client Component**\n *\n * This component should usually be used with the `TabsList` component and\n * `useTabs` hook.\n *\n * @see {@link useTabs}\n *\n * @remarks \\@since 6.0.0\n */\nexport function Tab(props: TabProps): ReactElement {\n const {\n id: propId,\n as: Component = \"button\",\n active,\n activeIndicator,\n verticalActiveIndicator,\n icon,\n iconAfter,\n stacked,\n className,\n children: propChildren,\n onBlur,\n onClick,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseUp,\n onMouseLeave,\n onDragStart,\n onTouchStart,\n onTouchEnd,\n onTouchMove,\n ...remaining\n } = props as TabButtonProps;\n const { disabled } = props as TabButtonProps;\n\n const id = useEnsuredId(propId, \"tab\");\n const { activeDescendantId } = useKeyboardMovementContext();\n const { ripples, handlers } = useElementInteraction({\n onBlur,\n onClick,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseUp,\n onMouseLeave,\n onDragStart,\n onTouchStart,\n onTouchEnd,\n onTouchMove,\n disabled,\n });\n\n const isLink = Component !== \"button\";\n const children = useHigherContrastChildren(propChildren);\n let buttonOnlyProps: Record<string, unknown> | undefined;\n if (!isLink) {\n buttonOnlyProps = { type: \"button\" };\n }\n\n return (\n <Component\n {...remaining}\n {...buttonOnlyProps}\n {...handlers}\n aria-selected={active}\n id={id}\n role=\"tab\"\n tabIndex={id === activeDescendantId ? 0 : -1}\n className={tab({\n className,\n active,\n isLink,\n stacked: !!icon && stacked,\n disabled,\n reversed: !!icon && iconAfter,\n activeIndicator,\n verticalActiveIndicator,\n })}\n >\n {icon}\n {children}\n {ripples}\n </Component>\n );\n}\n"],"names":["useElementInteraction","useHigherContrastChildren","useKeyboardMovementContext","useEnsuredId","tab","Tab","props","id","propId","as","Component","active","activeIndicator","verticalActiveIndicator","icon","iconAfter","stacked","className","children","propChildren","onBlur","onClick","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onMouseLeave","onDragStart","onTouchStart","onTouchEnd","onTouchMove","remaining","disabled","activeDescendantId","ripples","handlers","isLink","buttonOnlyProps","type","aria-selected","role","tabIndex","reversed"],"mappings":"AAAA;;AAOA,SAASA,qBAAqB,QAAQ,0CAA0C;AAChF,SAASC,yBAAyB,QAAQ,8CAA8C;AAExF,SAASC,0BAA0B,QAAQ,6CAA6C;AACxF,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,GAAG,QAAQ,iBAAiB;AAgFrC;;;;;;;;;CASC,GACD,OAAO,SAASC,IAAIC,KAAe;IACjC,MAAM,EACJC,IAAIC,MAAM,EACVC,IAAIC,YAAY,QAAQ,EACxBC,MAAM,EACNC,eAAe,EACfC,uBAAuB,EACvBC,IAAI,EACJC,SAAS,EACTC,OAAO,EACPC,SAAS,EACTC,UAAUC,YAAY,EACtBC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,OAAO,EACPC,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,WAAW,EACX,GAAGC,WACJ,GAAGzB;IACJ,MAAM,EAAE0B,QAAQ,EAAE,GAAG1B;IAErB,MAAMC,KAAKJ,aAAaK,QAAQ;IAChC,MAAM,EAAEyB,kBAAkB,EAAE,GAAG/B;IAC/B,MAAM,EAAEgC,OAAO,EAAEC,QAAQ,EAAE,GAAGnC,sBAAsB;QAClDoB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;IACF;IAEA,MAAMI,SAAS1B,cAAc;IAC7B,MAAMQ,WAAWjB,0BAA0BkB;IAC3C,IAAIkB;IACJ,IAAI,CAACD,QAAQ;QACXC,kBAAkB;YAAEC,MAAM;QAAS;IACrC;IAEA,qBACE,MAAC5B;QACE,GAAGqB,SAAS;QACZ,GAAGM,eAAe;QAClB,GAAGF,QAAQ;QACZI,iBAAe5B;QACfJ,IAAIA;QACJiC,MAAK;QACLC,UAAUlC,OAAO0B,qBAAqB,IAAI,CAAC;QAC3ChB,WAAWb,IAAI;YACba;YACAN;YACAyB;YACApB,SAAS,CAAC,CAACF,QAAQE;YACnBgB;YACAU,UAAU,CAAC,CAAC5B,QAAQC;YACpBH;YACAC;QACF;;YAECC;YACAI;YACAgB;;;AAGP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tabs/TabList.tsx"],"sourcesContent":["\"use client\";\nimport {\n forwardRef,\n useEffect,\n useRef,\n useState,\n type HTMLAttributes,\n} from \"react\";\nimport { useAppSize } from \"../media-queries/AppSizeProvider.js\";\nimport { KeyboardMovementProvider } from \"../movement/useKeyboardMovementProvider.js\";\nimport {\n TabListScrollButton,\n type BaseTabListScrollButtonProps,\n} from \"./TabListScrollButton.js\";\nimport { tabList, type TabsAlignment } from \"./tabListStyles.js\";\nimport { useTabList } from \"./useTabList.js\";\nimport { type GetTabListScrollToOptions } from \"./utils.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type useTabs } from \"./useTabs.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TabListProps extends HTMLAttributes<HTMLDivElement> {\n activeIndex: number;\n setActiveIndex(nextActiveIndex: number): void;\n\n /**\n * @defaultValue `\"left\"`\n */\n align?: TabsAlignment;\n\n /**\n * @defaultValue `false`\n */\n padded?: boolean;\n\n /**\n * @defaultValue `false`\n */\n vertical?: boolean;\n\n /**\n * @defaultValue `false`\n */\n inline?: boolean;\n\n /**\n * Set this to `true` to show a scrollbar when the number of tabs cause\n * overflow.\n *\n * @see {@link scrollButtons}\n * @defaultValue `false`\n */\n scrollbar?: boolean;\n\n /**\n * Set this to `true` to disable the active tab indicator from animating\n * when a new tab is selected.\n *\n * @defaultValue `false`\n */\n disableTransition?: boolean;\n\n /**\n * This should be equal to the `$tabs-transition-duration` variable.\n *\n * @defaultValue `150`\n */\n transitionDuration?: number;\n\n /**\n * @defaultValue `\"manual\"`\n */\n activationMode?: \"manual\" | \"automatic\";\n\n /**\n * Set this to `true` to render buttons that can scroll forwards or backwards\n * within the tab list if there is overflow **on desktop**. If you want to\n * display the scroll buttons on mobile as well, set this to `\"allow-phone\"` .\n *\n * @defaultValue `false`\n */\n scrollButtons?: boolean | \"allow-phone\";\n\n /**\n * A convenience prop for the {@link BaseTabListScrollButtonProps.getScrollToOptions}\n * on {@link forwardScrollButtonProps} and {@link backwardScrollButtonProps}.\n */\n getScrollToOptions?: GetTabListScrollToOptions;\n\n /**\n * Any additional props that should be passed to the scroll forward button.\n *\n * @example\n * ```tsx\n * forwardScrollButtonProps={{\n * \"aria-label\": \"Scroll right\",\n * theme: \"primary\",\n * themeType: \"contained\",\n * className: styles.buttonContainer,\n * buttonProps: {\n * className: styles.button,\n * }\n * }}\n * ```\n */\n forwardScrollButtonProps?: BaseTabListScrollButtonProps;\n\n /**\n * Any additional props that should be passed to the scroll backward button.\n *\n * @example\n * ```tsx\n * forwardScrollButtonProps={{\n * \"aria-label\": \"Scroll left\",\n * theme: \"primary\",\n * themeType: \"contained\",\n * className: styles.buttonContainer,\n * buttonProps: {\n * className: styles.button,\n * }\n * }}\n * ```\n */\n backwardScrollButtonProps?: BaseTabListScrollButtonProps;\n}\n\n/**\n * **Client Component**\n *\n * @see {@link useTabs} for example usage.\n *\n * @remarks \\@since 6.0.0\n */\nexport const TabList = forwardRef<HTMLDivElement, TabListProps>(\n function TabList(props, ref) {\n const {\n style,\n onClick,\n onFocus,\n onKeyDown,\n className,\n children,\n activeIndex,\n setActiveIndex,\n activationMode = \"manual\",\n align = \"left\",\n padded = false,\n inline = false,\n vertical = false,\n scrollbar = false,\n scrollButtons = false,\n disableTransition = false,\n transitionDuration = 150,\n getScrollToOptions,\n forwardScrollButtonProps,\n backwardScrollButtonProps,\n ...remaining\n } = props;\n\n const { isPhone } = useAppSize();\n const showScrollButtons =\n !!scrollButtons && (scrollButtons === \"allow-phone\" || !isPhone);\n\n const { elementProps, movementContext, backwardProps, forwardProps } =\n useTabList({\n ref,\n style,\n onClick,\n onFocus,\n onKeyDown,\n vertical,\n activeIndex,\n setActiveIndex,\n activationMode,\n scrollButtons: showScrollButtons,\n disableTransition,\n });\n\n const prevActiveIndex = useRef(activeIndex);\n const [animate, setAnimate] = useState(false);\n useEffect(() => {\n const isSameIndex = activeIndex === prevActiveIndex.current;\n prevActiveIndex.current = activeIndex;\n if (disableTransition || isSameIndex) {\n return;\n }\n\n setAnimate(true);\n const timeout = window.setTimeout(() => {\n setAnimate(false);\n }, transitionDuration);\n\n return () => {\n window.clearTimeout(timeout);\n };\n }, [activeIndex, disableTransition, transitionDuration]);\n\n return (\n <KeyboardMovementProvider value={movementContext}>\n <div\n {...remaining}\n {...elementProps}\n role=\"tablist\"\n className={tabList({\n align,\n padded,\n inline,\n animate: !disableTransition && animate,\n vertical,\n scrollbar,\n indicator: !disableTransition,\n className,\n })}\n >\n {showScrollButtons && (\n <TabListScrollButton\n getScrollToOptions={getScrollToOptions}\n {...backwardScrollButtonProps}\n {...backwardProps}\n />\n )}\n {children}\n {showScrollButtons && (\n <TabListScrollButton\n getScrollToOptions={getScrollToOptions}\n {...forwardScrollButtonProps}\n {...forwardProps}\n />\n )}\n </div>\n </KeyboardMovementProvider>\n );\n }\n);\n"],"names":["forwardRef","useEffect","useRef","useState","useAppSize","KeyboardMovementProvider","TabListScrollButton","tabList","useTabList","TabList","props","ref","style","onClick","onFocus","onKeyDown","className","children","activeIndex","setActiveIndex","activationMode","align","padded","inline","vertical","scrollbar","scrollButtons","disableTransition","transitionDuration","getScrollToOptions","forwardScrollButtonProps","backwardScrollButtonProps","remaining","isPhone","showScrollButtons","elementProps","movementContext","backwardProps","forwardProps","prevActiveIndex","animate","setAnimate","isSameIndex","current","timeout","window","setTimeout","clearTimeout","value","div","role","indicator"],"mappings":"AAAA;;AACA,SACEA,UAAU,EACVC,SAAS,EACTC,MAAM,EACNC,QAAQ,QAEH,QAAQ;AACf,SAASC,UAAU,QAAQ,sCAAsC;AACjE,SAASC,wBAAwB,QAAQ,6CAA6C;AACtF,SACEC,mBAAmB,QAEd,2BAA2B;AAClC,SAASC,OAAO,QAA4B,qBAAqB;AACjE,SAASC,UAAU,QAAQ,kBAAkB;AAkH7C;;;;;;CAMC,GACD,OAAO,MAAMC,wBAAUT,WACrB,SAASS,QAAQC,KAAK,EAAEC,GAAG;IACzB,MAAM,EACJC,KAAK,EACLC,OAAO,EACPC,OAAO,EACPC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,cAAc,EACdC,iBAAiB,QAAQ,EACzBC,QAAQ,MAAM,EACdC,SAAS,KAAK,EACdC,SAAS,KAAK,EACdC,WAAW,KAAK,EAChBC,YAAY,KAAK,EACjBC,gBAAgB,KAAK,EACrBC,oBAAoB,KAAK,EACzBC,qBAAqB,GAAG,EACxBC,kBAAkB,EAClBC,wBAAwB,EACxBC,yBAAyB,EACzB,GAAGC,WACJ,GAAGtB;IAEJ,MAAM,EAAEuB,OAAO,EAAE,GAAG7B;IACpB,MAAM8B,oBACJ,CAAC,CAACR,iBAAkBA,CAAAA,kBAAkB,iBAAiB,CAACO,OAAM;IAEhE,MAAM,EAAEE,YAAY,EAAEC,eAAe,EAAEC,aAAa,EAAEC,YAAY,EAAE,GAClE9B,WAAW;QACTG;QACAC;QACAC;QACAC;QACAC;QACAS;QACAN;QACAC;QACAC;QACAM,eAAeQ;QACfP;IACF;IAEF,MAAMY,kBAAkBrC,OAAOgB;IAC/B,MAAM,CAACsB,SAASC,WAAW,GAAGtC,SAAS;IACvCF,UAAU;QACR,MAAMyC,cAAcxB,gBAAgBqB,gBAAgBI,OAAO;QAC3DJ,gBAAgBI,OAAO,GAAGzB;QAC1B,IAAIS,qBAAqBe,aAAa;YACpC;QACF;QAEAD,WAAW;QACX,MAAMG,UAAUC,OAAOC,UAAU,CAAC;YAChCL,WAAW;QACb,GAAGb;QAEH,OAAO;YACLiB,OAAOE,YAAY,CAACH;QACtB;IACF,GAAG;QAAC1B;QAAaS;QAAmBC;KAAmB;IAEvD,qBACE,KAACvB;QAAyB2C,OAAOZ;kBAC/B,cAAA,MAACa;YACE,GAAGjB,SAAS;YACZ,GAAGG,YAAY;YAChBe,MAAK;YACLlC,WAAWT,QAAQ;gBACjBc;gBACAC;gBACAC;gBACAiB,SAAS,CAACb,qBAAqBa;gBAC/BhB;gBACAC;gBACA0B,WAAW,CAACxB;gBACZX;YACF;;gBAECkB,mCACC,KAAC5B;oBACCuB,oBAAoBA;oBACnB,GAAGE,yBAAyB;oBAC5B,GAAGM,aAAa;;gBAGpBpB;gBACAiB,mCACC,KAAC5B;oBACCuB,oBAAoBA;oBACnB,GAAGC,wBAAwB;oBAC3B,GAAGQ,YAAY;;;;;AAM5B,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tabs/TabListScrollButton.tsx"],"sourcesContent":["\"use client\";\nimport {\n forwardRef,\n useCallback,\n useRef,\n useState,\n type HTMLAttributes,\n} from \"react\";\nimport { Button, type ButtonProps } from \"../button/Button.js\";\nimport { type ButtonClassNameThemeOptions } from \"../button/buttonStyles.js\";\nimport { getIcon } from \"../icon/iconConfig.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useDir } from \"../typography/WritingDirectionProvider.js\";\nimport { useIntersectionObserver } from \"../useIntersectionObserver.js\";\nimport { applyRef } from \"../utils/applyRef.js\";\nimport {\n tabListScrollButton,\n tabListScrollButtonContainer,\n} from \"./tabListScrollButtonStyles.js\";\nimport {\n getTabListScrollToOptions,\n type GetTabListScrollToOptions,\n} from \"./utils.js\";\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface BaseTabListScrollButtonProps\n extends HTMLAttributes<HTMLDivElement>,\n ButtonClassNameThemeOptions {\n buttonProps?: PropsWithRef<ButtonProps, HTMLButtonElement>;\n\n /** @defaultValue `false` */\n disableTransition?: boolean;\n\n /** @defaultValue {@link getTabListScrollToOptions} */\n getScrollToOptions?: GetTabListScrollToOptions;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface TabListScrollButtonProps extends BaseTabListScrollButtonProps {\n type: \"back\" | \"forward\";\n /** @defaultValue `false` */\n vertical?: boolean;\n}\n\n/**\n * **Client Component**\n *\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport const TabListScrollButton = forwardRef<\n HTMLDivElement,\n TabListScrollButtonProps\n>(function TabListScrollButton(props, ref) {\n const {\n \"aria-label\": ariaLabel,\n className,\n buttonProps,\n type,\n theme,\n themeType,\n buttonType = \"icon\",\n disabled: propDisabled,\n children: propChildren,\n getScrollToOptions = getTabListScrollToOptions,\n vertical = false,\n disableTransition = false,\n ...remaining\n } = props;\n\n const forward = type === \"forward\";\n const iconButton = buttonType === \"icon\";\n const icon = getIcon(type);\n const children = propChildren || icon;\n\n const root = useRef<HTMLElement | null>(null);\n const isRTL = useDir().dir === \"rtl\";\n const [disabled, setDisabled] = useState(!forward);\n const nodeRef = useIntersectionObserver({\n root,\n onUpdate: useCallback(([entry]) => {\n setDisabled(entry.intersectionRatio === 1);\n }, []),\n });\n\n return (\n <>\n {!forward && <span ref={nodeRef} />}\n <div\n {...remaining}\n ref={(instance) => {\n applyRef(instance, ref);\n root.current = instance?.parentElement || null;\n }}\n className={tabListScrollButtonContainer({ forward, className })}\n >\n <Button\n aria-label={ariaLabel || (iconButton ? type : undefined)}\n theme={theme}\n themeType={themeType}\n buttonType={buttonType}\n disabled={propDisabled || disabled}\n {...buttonProps}\n className={tabListScrollButton(buttonProps)}\n onClick={(event) => {\n buttonProps?.onClick?.(event);\n const container = root.current;\n if (!container) {\n return;\n }\n\n container.scrollTo(\n getScrollToOptions({\n isRTL,\n animate: !disableTransition,\n vertical,\n container,\n increment: forward,\n })\n );\n }}\n >\n {children}\n </Button>\n </div>\n {forward && <span ref={nodeRef} />}\n </>\n );\n});\n"],"names":["forwardRef","useCallback","useRef","useState","Button","getIcon","useDir","useIntersectionObserver","applyRef","tabListScrollButton","tabListScrollButtonContainer","getTabListScrollToOptions","TabListScrollButton","props","ref","ariaLabel","className","buttonProps","type","theme","themeType","buttonType","disabled","propDisabled","children","propChildren","getScrollToOptions","vertical","disableTransition","remaining","forward","iconButton","icon","root","isRTL","dir","setDisabled","nodeRef","onUpdate","entry","intersectionRatio","span","div","instance","current","parentElement","aria-label","undefined","onClick","event","container","scrollTo","animate","increment"],"mappings":"AAAA;;AACA,SACEA,UAAU,EACVC,WAAW,EACXC,MAAM,EACNC,QAAQ,QAEH,QAAQ;AACf,SAASC,MAAM,QAA0B,sBAAsB;AAE/D,SAASC,OAAO,QAAQ,wBAAwB;AAEhD,SAASC,MAAM,QAAQ,4CAA4C;AACnE,SAASC,uBAAuB,QAAQ,gCAAgC;AACxE,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SACEC,mBAAmB,EACnBC,4BAA4B,QACvB,iCAAiC;AACxC,SACEC,yBAAyB,QAEpB,aAAa;AA4BpB;;;;;CAKC,GACD,OAAO,MAAMC,oCAAsBZ,WAGjC,SAASY,oBAAoBC,KAAK,EAAEC,GAAG;IACvC,MAAM,EACJ,cAAcC,SAAS,EACvBC,SAAS,EACTC,WAAW,EACXC,IAAI,EACJC,KAAK,EACLC,SAAS,EACTC,aAAa,MAAM,EACnBC,UAAUC,YAAY,EACtBC,UAAUC,YAAY,EACtBC,qBAAqBf,yBAAyB,EAC9CgB,WAAW,KAAK,EAChBC,oBAAoB,KAAK,EACzB,GAAGC,WACJ,GAAGhB;IAEJ,MAAMiB,UAAUZ,SAAS;IACzB,MAAMa,aAAaV,eAAe;IAClC,MAAMW,OAAO3B,QAAQa;IACrB,MAAMM,WAAWC,gBAAgBO;IAEjC,MAAMC,OAAO/B,OAA2B;IACxC,MAAMgC,QAAQ5B,SAAS6B,GAAG,KAAK;IAC/B,MAAM,CAACb,UAAUc,YAAY,GAAGjC,SAAS,CAAC2B;IAC1C,MAAMO,UAAU9B,wBAAwB;QACtC0B;QACAK,UAAUrC,YAAY,CAAC,CAACsC,MAAM;YAC5BH,YAAYG,MAAMC,iBAAiB,KAAK;QAC1C,GAAG,EAAE;IACP;IAEA,qBACE;;YACG,CAACV,yBAAW,KAACW;gBAAK3B,KAAKuB;;0BACxB,KAACK;gBACE,GAAGb,SAAS;gBACbf,KAAK,CAAC6B;oBACJnC,SAASmC,UAAU7B;oBACnBmB,KAAKW,OAAO,GAAGD,UAAUE,iBAAiB;gBAC5C;gBACA7B,WAAWN,6BAA6B;oBAAEoB;oBAASd;gBAAU;0BAE7D,cAAA,KAACZ;oBACC0C,cAAY/B,aAAcgB,CAAAA,aAAab,OAAO6B,SAAQ;oBACtD5B,OAAOA;oBACPC,WAAWA;oBACXC,YAAYA;oBACZC,UAAUC,gBAAgBD;oBACzB,GAAGL,WAAW;oBACfD,WAAWP,oBAAoBQ;oBAC/B+B,SAAS,CAACC;wBACRhC,aAAa+B,UAAUC;wBACvB,MAAMC,YAAYjB,KAAKW,OAAO;wBAC9B,IAAI,CAACM,WAAW;4BACd;wBACF;wBAEAA,UAAUC,QAAQ,CAChBzB,mBAAmB;4BACjBQ;4BACAkB,SAAS,CAACxB;4BACVD;4BACAuB;4BACAG,WAAWvB;wBACb;oBAEJ;8BAECN;;;YAGJM,yBAAW,KAACW;gBAAK3B,KAAKuB;;;;AAG7B,GAAG"}
|
package/dist/tabs/_tabs.scss
CHANGED
|
@@ -255,17 +255,19 @@ $variables: (
|
|
|
255
255
|
}
|
|
256
256
|
}
|
|
257
257
|
|
|
258
|
-
@mixin styles {
|
|
258
|
+
@mixin styles($disable-layer: false) {
|
|
259
259
|
@if not $disable-everything {
|
|
260
|
-
@include
|
|
261
|
-
|
|
260
|
+
@include utils.optional-layer(tabs, $disable-layer) {
|
|
261
|
+
@include tablist-styles;
|
|
262
|
+
@include tab-styles;
|
|
262
263
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
264
|
+
@if not $disable-indicator {
|
|
265
|
+
@include indicator-styles;
|
|
266
|
+
}
|
|
266
267
|
|
|
267
|
-
|
|
268
|
-
|
|
268
|
+
@if not $disable-tablist-scroll-button {
|
|
269
|
+
@include tablist-button-styles;
|
|
270
|
+
}
|
|
269
271
|
}
|
|
270
272
|
}
|
|
271
273
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tabs/tabIndicatorStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-tab-indicator\");\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TabIndicatorClassNameOptions {\n className?: string;\n animate?: boolean;\n tablist?: boolean;\n vertical?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function tabIndicator(\n options: TabIndicatorClassNameOptions = {}\n): string {\n const { className, vertical, tablist, animate } = options;\n\n return cnb(\n styles({\n animate,\n h: !vertical,\n v: vertical,\n \"tablist-h\": tablist && !vertical,\n \"tablist-v\": tablist && vertical,\n }),\n className\n );\n}\n"],"names":["cnb","bem","styles","tabIndicator","options","className","vertical","tablist","animate","h","v"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAYnB;;CAEC,GACD,OAAO,SAASE,aACdC,UAAwC,CAAC,CAAC;IAE1C,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAE,GAAGJ;IAElD,OAAOJ,IACLE,OAAO;QACLM;QACAC,GAAG,CAACH;QACJI,GAAGJ;QACH,aAAaC,WAAW,CAACD;QACzB,aAAaC,WAAWD;IAC1B,IACAD;AAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tabs/tabListScrollButtonStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-tablist-button\");\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TabListScrollButtonContainerClassNameOptions {\n className?: string;\n forward: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function tabListScrollButtonContainer(\n options: TabListScrollButtonContainerClassNameOptions\n): string {\n const { forward, className } = options;\n\n return cnb(\n styles({\n left: !forward,\n right: forward,\n }),\n className\n );\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TabListScrollButtonClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function tabListScrollButton(\n options: TabListScrollButtonClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(styles(\"button\"), className);\n}\n"],"names":["cnb","bem","styles","tabListScrollButtonContainer","options","forward","className","left","right","tabListScrollButton"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAUnB;;CAEC,GACD,OAAO,SAASE,6BACdC,OAAqD;IAErD,MAAM,EAAEC,OAAO,EAAEC,SAAS,EAAE,GAAGF;IAE/B,OAAOJ,IACLE,OAAO;QACLK,MAAM,CAACF;QACPG,OAAOH;IACT,IACAC;AAEJ;AASA;;CAEC,GACD,OAAO,SAASG,oBACdL,UAA+C,CAAC,CAAC;IAEjD,MAAM,EAAEE,SAAS,EAAE,GAAGF;IAEtB,OAAOJ,IAAIE,OAAO,WAAWI;AAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tabs/tabListStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\nimport { tabIndicator } from \"./tabIndicatorStyles.js\";\n\nconst styles = bem(\"rmd-tablist\");\n\n/**\n * The supported types of alignments for the tabs.\n */\nexport type TabsAlignment = \"left\" | \"center\" | \"right\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TabListClassNameOptions {\n className?: string;\n align?: TabsAlignment;\n animate?: boolean;\n inline?: boolean;\n padded?: boolean;\n vertical?: boolean;\n scrollbar?: boolean;\n indicator?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function tabList(options: TabListClassNameOptions = {}): string {\n const {\n className,\n align = \"left\",\n padded,\n inline,\n vertical,\n scrollbar,\n animate = false,\n indicator = false,\n } = options;\n\n return cnb(\n styles({\n [align]: true,\n padded,\n vertical,\n \"full-width\": !inline,\n \"no-scrollbar\": !scrollbar,\n }),\n indicator && tabIndicator({ tablist: true, animate, vertical }),\n className\n );\n}\n"],"names":["cnb","bem","tabIndicator","styles","tabList","options","className","align","padded","inline","vertical","scrollbar","animate","indicator","tablist"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SAASC,YAAY,QAAQ,0BAA0B;AAEvD,MAAMC,SAASF,IAAI;AAqBnB;;CAEC,GACD,OAAO,SAASG,QAAQC,UAAmC,CAAC,CAAC;IAC3D,MAAM,EACJC,SAAS,EACTC,QAAQ,MAAM,EACdC,MAAM,EACNC,MAAM,EACNC,QAAQ,EACRC,SAAS,EACTC,UAAU,KAAK,EACfC,YAAY,KAAK,EAClB,GAAGR;IAEJ,OAAOL,IACLG,OAAO;QACL,CAACI,MAAM,EAAE;QACTC;QACAE;QACA,cAAc,CAACD;QACf,gBAAgB,CAACE;IACnB,IACAE,aAAaX,aAAa;QAAEY,SAAS;QAAMF;QAASF;IAAS,IAC7DJ;AAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tabs/tabStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\nimport { tabIndicator } from \"./tabIndicatorStyles.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-tab-color\"?: string;\n \"--rmd-tab-active-color\"?: string;\n \"--rmd-tab-inactive-color\"?: string;\n \"--rmd-tab-disabled-color\"?: string;\n }\n}\n\nconst styles = bem(\"rmd-tab\");\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TabClassNameOptions {\n className?: string;\n active?: boolean;\n isLink?: boolean;\n activeIndicator?: boolean;\n verticalActiveIndicator?: boolean;\n stacked?: boolean;\n reversed?: boolean;\n disabled?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function tab(options: TabClassNameOptions = {}): string {\n const {\n className,\n active,\n isLink,\n stacked,\n reversed,\n disabled,\n activeIndicator,\n verticalActiveIndicator,\n } = options;\n\n return cnb(\n styles({\n active,\n reversed: reversed && !stacked,\n stacked,\n \"stacked-reversed\": stacked && reversed,\n disabled,\n }),\n active &&\n activeIndicator &&\n tabIndicator({ vertical: verticalActiveIndicator }),\n cssUtils({ surface: true, textDecoration: isLink ? \"none\" : undefined }),\n className\n );\n}\n"],"names":["cnb","cssUtils","bem","tabIndicator","styles","tab","options","className","active","isLink","stacked","reversed","disabled","activeIndicator","verticalActiveIndicator","vertical","surface","textDecoration","undefined"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SAASC,YAAY,QAAQ,0BAA0B;AAWvD,MAAMC,SAASF,IAAI;AAgBnB;;CAEC,GACD,OAAO,SAASG,IAAIC,UAA+B,CAAC,CAAC;IACnD,MAAM,EACJC,SAAS,EACTC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACRC,QAAQ,EACRC,eAAe,EACfC,uBAAuB,EACxB,GAAGR;IAEJ,OAAON,IACLI,OAAO;QACLI;QACAG,UAAUA,YAAY,CAACD;QACvBA;QACA,oBAAoBA,WAAWC;QAC/BC;IACF,IACAJ,UACEK,mBACAV,aAAa;QAAEY,UAAUD;IAAwB,IACnDb,SAAS;QAAEe,SAAS;QAAMC,gBAAgBR,SAAS,SAASS;IAAU,IACtEX;AAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tabs/useTabList.ts"],"sourcesContent":["\"use client\";\nimport type {\n CSSProperties,\n FocusEventHandler,\n KeyboardEventHandler,\n MouseEventHandler,\n Ref,\n RefObject,\n} from \"react\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport type {\n KeyboardMovementContext,\n KeyboardMovementProps,\n} from \"../movement/types.js\";\nimport { useKeyboardMovementProvider } from \"../movement/useKeyboardMovementProvider.js\";\nimport { useDir } from \"../typography/WritingDirectionProvider.js\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { useResizeObserver } from \"../useResizeObserver.js\";\nimport { getTabRoleOnly, scrollTabIntoView } from \"./utils.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-tab-size\"?: string;\n \"--rmd-tab-offset\"?: string | number;\n \"--rmd-tab-indicator-background\"?: string;\n }\n}\n\nconst TAB_SIZE_VAR = \"--rmd-tab-size\";\nconst TAB_OFFSET_VAR = \"--rmd-tab-offset\";\n\nconst noop = (): void => {\n // do nothing\n};\n\nexport type TabWidthVar = typeof TAB_SIZE_VAR;\nexport type TabOffsetVar = typeof TAB_OFFSET_VAR;\n\nexport type IndicatorCSSProperties = CSSProperties &\n Record<TabWidthVar | TabOffsetVar, string>;\n\nexport interface TabListHookOptions {\n ref: Ref<HTMLDivElement> | undefined;\n style: CSSProperties | undefined;\n activeIndex: number;\n setActiveIndex(nextActiveIndex: number): void;\n scrollButtons: boolean;\n activationMode: \"manual\" | \"automatic\";\n vertical: boolean;\n onClick: MouseEventHandler<HTMLDivElement> | undefined;\n onFocus: FocusEventHandler<HTMLDivElement> | undefined;\n onKeyDown: KeyboardEventHandler<HTMLDivElement> | undefined;\n disableTransition: boolean;\n}\n\nexport interface TabListHookReturnValue {\n elementProps: KeyboardMovementProps<HTMLDivElement> & {\n \"aria-orientation\": \"horizontal\" | \"vertical\";\n style: CSSProperties;\n ref: Ref<HTMLDivElement>;\n onClick: MouseEventHandler<HTMLDivElement>;\n };\n movementContext: KeyboardMovementContext;\n backwardProps: {\n ref: RefObject<HTMLDivElement>;\n type: \"back\";\n vertical: boolean;\n };\n forwardProps: {\n ref: RefObject<HTMLDivElement>;\n type: \"forward\";\n vertical: boolean;\n };\n}\n\n/**\n * @internal\n */\nexport function useTabList(\n options: TabListHookOptions\n): TabListHookReturnValue {\n const {\n ref: propRef,\n style,\n activeIndex,\n scrollButtons,\n onClick = noop,\n onFocus,\n onKeyDown,\n activationMode,\n vertical,\n setActiveIndex,\n disableTransition,\n } = options;\n\n const isRTL = useDir().dir === \"rtl\";\n\n const [indicatorStyles, setIndicatorStyles] =\n useState<IndicatorCSSProperties>(() => {\n const tabWidth = `${100 / 3}%`;\n return {\n [TAB_SIZE_VAR]: tabWidth,\n [TAB_OFFSET_VAR]: \"0px\",\n };\n });\n\n const [nodeRef, ref] = useEnsuredRef(propRef);\n const tabListRef = useResizeObserver({\n ref,\n disabled: disableTransition,\n onUpdate: useCallback(\n (entry) => {\n // this is kind of hacky -- the styles should update when switching between\n // RTL, but the RTL state isn't required for any styles. Just reference it\n // so that the hooks eslint rule doesn't show a warning...\n isRTL;\n\n const activeTab = getTabRoleOnly(entry.target)[activeIndex];\n if (!activeTab) {\n return;\n }\n\n const size = vertical ? activeTab.offsetHeight : activeTab.offsetWidth;\n const offset = vertical ? activeTab.offsetTop : activeTab.offsetLeft;\n const cssVars: IndicatorCSSProperties = {\n [TAB_SIZE_VAR]: `${size}px`,\n [TAB_OFFSET_VAR]: `${offset}px`,\n };\n\n setIndicatorStyles((prevStyles) => {\n if (\n prevStyles &&\n prevStyles[TAB_SIZE_VAR] === cssVars[TAB_SIZE_VAR] &&\n prevStyles[TAB_OFFSET_VAR] === cssVars[TAB_OFFSET_VAR]\n ) {\n return prevStyles;\n }\n\n return cssVars;\n });\n },\n [activeIndex, isRTL, vertical]\n ),\n });\n const forwardRef = useRef<HTMLDivElement>(null);\n const backwardRef = useRef<HTMLDivElement>(null);\n const { movementProps, movementContext } = useKeyboardMovementProvider({\n onClick(event) {\n onClick(event);\n if (event.isPropagationStopped() || !(event.target instanceof Element)) {\n return;\n }\n\n const clickedTab = event.target.closest(\"[role='tab']\");\n const tabs = getTabRoleOnly(event.currentTarget);\n const i = tabs.findIndex((tab) => tab === clickedTab);\n if (i !== -1) {\n setActiveIndex(i);\n }\n },\n onFocus,\n onKeyDown,\n onFocusChange(event) {\n const { index } = event;\n if (activationMode === \"automatic\") {\n setActiveIndex(index);\n } else if (scrollButtons) {\n scrollTabIntoView({\n activeIndex: index,\n backward: backwardRef.current,\n container: nodeRef.current,\n forward: forwardRef.current,\n vertical,\n });\n }\n },\n loopable: true,\n searchable: true,\n horizontal: !vertical,\n includeDisabled: true,\n tabIndexBehavior: \"roving\",\n getFocusableElements: getTabRoleOnly,\n });\n\n useEffect(() => {\n scrollTabIntoView({\n activeIndex,\n backward: backwardRef.current,\n container: nodeRef.current,\n forward: forwardRef.current,\n vertical,\n });\n }, [activeIndex, nodeRef, vertical]);\n\n return {\n elementProps: {\n \"aria-orientation\": vertical ? \"vertical\" : \"horizontal\",\n ref: tabListRef,\n style: {\n ...style,\n ...(disableTransition ? undefined : indicatorStyles),\n },\n ...movementProps,\n },\n backwardProps: {\n ref: backwardRef,\n type: \"back\",\n vertical,\n },\n forwardProps: {\n ref: forwardRef,\n type: \"forward\",\n vertical,\n },\n movementContext,\n };\n}\n"],"names":["useCallback","useEffect","useRef","useState","useKeyboardMovementProvider","useDir","useEnsuredRef","useResizeObserver","getTabRoleOnly","scrollTabIntoView","TAB_SIZE_VAR","TAB_OFFSET_VAR","noop","useTabList","options","ref","propRef","style","activeIndex","scrollButtons","onClick","onFocus","onKeyDown","activationMode","vertical","setActiveIndex","disableTransition","isRTL","dir","indicatorStyles","setIndicatorStyles","tabWidth","nodeRef","tabListRef","disabled","onUpdate","entry","activeTab","target","size","offsetHeight","offsetWidth","offset","offsetTop","offsetLeft","cssVars","prevStyles","forwardRef","backwardRef","movementProps","movementContext","event","isPropagationStopped","Element","clickedTab","closest","tabs","currentTarget","i","findIndex","tab","onFocusChange","index","backward","current","container","forward","loopable","searchable","horizontal","includeDisabled","tabIndexBehavior","getFocusableElements","elementProps","undefined","backwardProps","type","forwardProps"],"mappings":"AAAA;AASA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AAKjE,SAASC,2BAA2B,QAAQ,6CAA6C;AACzF,SAASC,MAAM,QAAQ,4CAA4C;AACnE,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,cAAc,EAAEC,iBAAiB,QAAQ,aAAa;AAU/D,MAAMC,eAAe;AACrB,MAAMC,iBAAiB;AAEvB,MAAMC,OAAO;AACX,aAAa;AACf;AA0CA;;CAEC,GACD,OAAO,SAASC,WACdC,OAA2B;IAE3B,MAAM,EACJC,KAAKC,OAAO,EACZC,KAAK,EACLC,WAAW,EACXC,aAAa,EACbC,UAAUR,IAAI,EACdS,OAAO,EACPC,SAAS,EACTC,cAAc,EACdC,QAAQ,EACRC,cAAc,EACdC,iBAAiB,EAClB,GAAGZ;IAEJ,MAAMa,QAAQtB,SAASuB,GAAG,KAAK;IAE/B,MAAM,CAACC,iBAAiBC,mBAAmB,GACzC3B,SAAiC;QAC/B,MAAM4B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9B,OAAO;YACL,CAACrB,aAAa,EAAEqB;YAChB,CAACpB,eAAe,EAAE;QACpB;IACF;IAEF,MAAM,CAACqB,SAASjB,IAAI,GAAGT,cAAcU;IACrC,MAAMiB,aAAa1B,kBAAkB;QACnCQ;QACAmB,UAAUR;QACVS,UAAUnC,YACR,CAACoC;YACC,2EAA2E;YAC3E,0EAA0E;YAC1E,0DAA0D;YAC1DT;YAEA,MAAMU,YAAY7B,eAAe4B,MAAME,MAAM,CAAC,CAACpB,YAAY;YAC3D,IAAI,CAACmB,WAAW;gBACd;YACF;YAEA,MAAME,OAAOf,WAAWa,UAAUG,YAAY,GAAGH,UAAUI,WAAW;YACtE,MAAMC,SAASlB,WAAWa,UAAUM,SAAS,GAAGN,UAAUO,UAAU;YACpE,MAAMC,UAAkC;gBACtC,CAACnC,aAAa,EAAE,CAAC,EAAE6B,KAAK,EAAE,CAAC;gBAC3B,CAAC5B,eAAe,EAAE,CAAC,EAAE+B,OAAO,EAAE,CAAC;YACjC;YAEAZ,mBAAmB,CAACgB;gBAClB,IACEA,cACAA,UAAU,CAACpC,aAAa,KAAKmC,OAAO,CAACnC,aAAa,IAClDoC,UAAU,CAACnC,eAAe,KAAKkC,OAAO,CAAClC,eAAe,EACtD;oBACA,OAAOmC;gBACT;gBAEA,OAAOD;YACT;QACF,GACA;YAAC3B;YAAaS;YAAOH;SAAS;IAElC;IACA,MAAMuB,aAAa7C,OAAuB;IAC1C,MAAM8C,cAAc9C,OAAuB;IAC3C,MAAM,EAAE+C,aAAa,EAAEC,eAAe,EAAE,GAAG9C,4BAA4B;QACrEgB,SAAQ+B,KAAK;YACX/B,QAAQ+B;YACR,IAAIA,MAAMC,oBAAoB,MAAM,CAAED,CAAAA,MAAMb,MAAM,YAAYe,OAAM,GAAI;gBACtE;YACF;YAEA,MAAMC,aAAaH,MAAMb,MAAM,CAACiB,OAAO,CAAC;YACxC,MAAMC,OAAOhD,eAAe2C,MAAMM,aAAa;YAC/C,MAAMC,IAAIF,KAAKG,SAAS,CAAC,CAACC,MAAQA,QAAQN;YAC1C,IAAII,MAAM,CAAC,GAAG;gBACZjC,eAAeiC;YACjB;QACF;QACArC;QACAC;QACAuC,eAAcV,KAAK;YACjB,MAAM,EAAEW,KAAK,EAAE,GAAGX;YAClB,IAAI5B,mBAAmB,aAAa;gBAClCE,eAAeqC;YACjB,OAAO,IAAI3C,eAAe;gBACxBV,kBAAkB;oBAChBS,aAAa4C;oBACbC,UAAUf,YAAYgB,OAAO;oBAC7BC,WAAWjC,QAAQgC,OAAO;oBAC1BE,SAASnB,WAAWiB,OAAO;oBAC3BxC;gBACF;YACF;QACF;QACA2C,UAAU;QACVC,YAAY;QACZC,YAAY,CAAC7C;QACb8C,iBAAiB;QACjBC,kBAAkB;QAClBC,sBAAsBhE;IACxB;IAEAP,UAAU;QACRQ,kBAAkB;YAChBS;YACA6C,UAAUf,YAAYgB,OAAO;YAC7BC,WAAWjC,QAAQgC,OAAO;YAC1BE,SAASnB,WAAWiB,OAAO;YAC3BxC;QACF;IACF,GAAG;QAACN;QAAac;QAASR;KAAS;IAEnC,OAAO;QACLiD,cAAc;YACZ,oBAAoBjD,WAAW,aAAa;YAC5CT,KAAKkB;YACLhB,OAAO;gBACL,GAAGA,KAAK;gBACR,GAAIS,oBAAoBgD,YAAY7C,eAAe;YACrD;YACA,GAAGoB,aAAa;QAClB;QACA0B,eAAe;YACb5D,KAAKiC;YACL4B,MAAM;YACNpD;QACF;QACAqD,cAAc;YACZ9D,KAAKgC;YACL6B,MAAM;YACNpD;QACF;QACA0B;IACF;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/tabs/useTabs.ts"],"sourcesContent":["\"use client\";\nimport type { Dispatch, Ref, RefObject } from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport type { SlideDirection } from \"../transition/SlideContainer.js\";\nimport type { UseStateInitializer, UseStateSetter } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { useEnsuredState } from \"../useEnsuredState.js\";\n\nconst EMPTY_LIST = [] as const;\nconst PANEL_PREFIX = \"panel-\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TabsHookOptions<TabValue extends string | number = number> {\n /**\n * This can be used to generate the ids for the different components within\n * the tab widget.\n *\n * @defaultValue `\"tab-\" + useId()`\n */\n baseId?: string;\n\n /**\n * Set this to `true` if changing active tabs should no longer attempt to\n * scroll to the top of the tab panels container when using the\n * {@link TabsImplementation.getTabPanelsProps}.\n *\n * @defaultValue `false`\n */\n disableScrollFix?: boolean;\n\n /**\n * Set this to an **ordered** list of tab values when:\n * - using a `string` tab value\n * - using a `number` tab value does not represent a tab index\n *\n * See the examples on the {@link useTabs} for usage.\n */\n tabs?: readonly TabValue[];\n\n /**\n * Provide this value and {@link setActiveTab} to control the active tab\n * behavior.\n */\n activeTab?: TabValue;\n\n /** @see {@link activeTab} */\n setActiveTab?: Dispatch<TabValue>;\n\n /**\n * Set this to the default tab index when not controlling the active tab value\n * through {@link activeTab} and {@link setActiveTab}.\n *\n * @defaultValue `0`\n */\n defaultActiveTab?: UseStateInitializer<TabValue>;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ProvidedTabProps {\n \"aria-controls\": string;\n id: string;\n active: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ProvidedTabListProps {\n activeIndex: number;\n setActiveIndex: Dispatch<number>;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ProvidedTabPanelProps {\n \"aria-labelledby\": string;\n id: string;\n role: \"tabpanel\";\n active: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ProvidedTabPanelsProps<E extends HTMLElement> {\n ref: Ref<E>;\n direction: SlideDirection;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TabsImplementation<TabValue extends string | number = number> {\n direction: SlideDirection;\n setDirection: UseStateSetter<SlideDirection>;\n activeTab?: TabValue;\n setActiveTab?(nextActiveTab: TabValue): void;\n getTabProps(tabValue: TabValue): ProvidedTabProps;\n getTabListProps(): ProvidedTabListProps;\n getTabPanelProps(tabValue: TabValue): ProvidedTabPanelProps;\n getTabPanelsProps<E extends HTMLElement>(): ProvidedTabPanelsProps<E>;\n}\n\n/**\n * @example\n * Super Simple\n * ```tsx\n * import { TabList, Tab, SlideContainer, Slide, useTabs } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const {\n * activeTab,\n * setActiveTab,\n * direction,\n * setDirection,\n * getTabListProps,\n * getTabPanelProps,\n * getTabPanelsProps,\n * getTabProps,\n * } = useTabs();\n *\n * return (\n * <>\n * <TabList {...getTabListProps()}>\n * <Tab {...getTabProps(0)}>Tab 1</Tab>\n * <Tab {...getTabProps(1)}>Tab 2</Tab>\n * <Tab {...getTabProps(2)}>Tab 3</Tab>\n * </TabList>\n * <SlideContainer {...getTabPanelsProps()}>\n * <Slide {...getTabPanelProps(0)}>Tab 1 Content</Slide>\n * <Slide {...getTabPanelProps(1)}>Tab 2 Content</Slide>\n * <Slide {...getTabPanelProps(2)}>Tab 3 Content</Slide>\n * </SlideContainer>\n * </>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useTabs(): TabsImplementation<number> & {\n activeTab: number;\n setActiveTab: number;\n};\n/**\n * The tab behavior can be controlled by providing the `activeTab` and\n * `setActiveTab` options.\n *\n * @example\n * Controlled\n * ```tsx\n * import { TabList, Tab, SlideContainer, Slide, useTabs } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n * import { useState } from \"react\";\n *\n * function Example(): ReactElement {\n * const [activeTab, setActiveTab] = useState(1);\n *\n * const {\n * direction,\n * setDirection,\n * getTabListProps,\n * getTabPanelProps,\n * getTabPanelsProps,\n * getTabProps,\n * } = useTabs({\n * activeTab,\n * setActiveTab,\n * });\n *\n * return (\n * <>\n * <TabList {...getTabListProps()}>\n * <Tab {...getTabProps(0)}>Tab 1</Tab>\n * <Tab {...getTabProps(1)}>Tab 2</Tab>\n * <Tab {...getTabProps(2)}>Tab 3</Tab>\n * </TabList>\n * <SlideContainer {...getTabPanelsProps()}>\n * <Slide {...getTabPanelProps(0)}>Tab 1 Content</Slide>\n * <Slide {...getTabPanelProps(1)}>Tab 2 Content</Slide>\n * <Slide {...getTabPanelProps(2)}>Tab 3 Content</Slide>\n * </SlideContainer>\n * </>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useTabs<TabValue extends number>(\n options: TabsHookOptions<TabValue> & {\n tabs?: readonly TabValue[];\n activeTab: TabValue;\n setActiveTab: Dispatch<TabValue>;\n defaultActiveTab?: never;\n }\n): TabsImplementation<TabValue> & { activeTab?: never; setActiveTab?: never };\nexport function useTabs<TabValue extends number>(\n options: TabsHookOptions<TabValue> & {\n tabs?: readonly TabValue[];\n activeTab?: never;\n setActiveTab?: never;\n defaultActiveTab?: UseStateInitializer<TabValue>;\n }\n): TabsImplementation<TabValue> & {\n activeTab: TabValue;\n setActiveTab: Dispatch<TabValue>;\n};\n/**\n * When using string values, the {@link TabsHookOptions.tabs} option **must** be\n * provided to determine the correct active tab index.\n *\n * @example\n * String Value Simple\n * ```tsx\n * import { TabList, Tab, SlideContainer, Slide, useTabs } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * const tabs = [\"value-1\", \"value-2\", \"value-3\"];\n *\n * function Example(): ReactElement {\n * const {\n * activeTab,\n * setActiveTab,\n * direction,\n * setDirection,\n * getTabListProps,\n * getTabPanelProps,\n * getTabPanelsProps,\n * getTabProps,\n * } = useTabs({ tabs });\n *\n * return (\n * <>\n * <TabList {...getTabListProps()}>\n * {tabs.map((value) => (\n * <Tab key={value} {...getTabProps(value)}>{value}</Tab>\n * ))}\n * </TabList>\n * <SlideContainer {...getTabPanelsProps()}>\n * {tabs.map((value) => (\n * <Slide key={value}>{value} Content</Slide>\n * ))}\n * </SlideContainer>\n * </>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useTabs<TabValue extends string>(\n options: TabsHookOptions<TabValue> & {\n tabs: readonly TabValue[];\n activeTab?: never;\n setActiveTab?: never;\n defaultActiveTab?: UseStateInitializer<TabValue>;\n }\n): TabsImplementation<TabValue> & {\n activeTab: TabValue;\n setActiveTab: Dispatch<TabValue>;\n};\n/**\n * When using string values, the {@link TabsHookOptions.tabs} option **must** be\n * provided to determine the correct active tab index.\n *\n * @example\n * String Controlled Simple\n * ```tsx\n * import { TabList, Tab, SlideContainer, Slide, useTabs } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * const tabs = [\"value-1\", \"value-2\", \"value-3\"] as const;\n *\n * function Example(): ReactElement {\n * const [activeTab, setActiveTab] = useState(tabs[0]);\n *\n * const {\n * direction,\n * setDirection,\n * getTabListProps,\n * getTabPanelProps,\n * getTabPanelsProps,\n * getTabProps,\n * } = useTabs({\n * tabs,\n * activeTab,\n * setActiveTab,\n * });\n *\n * return (\n * <>\n * <TabList {...getTabListProps()}>\n * {tabs.map((value) => (\n * <Tab key={value} {...getTabProps(value)}>{value}</Tab>\n * ))}\n * </TabList>\n * <SlideContainer {...getTabPanelsProps()}>\n * {tabs.map((value) => (\n * <Slide key={value}>{value} Content</Slide>\n * ))}\n * </SlideContainer>\n * </>\n * );\n * }\n * ```\n *\n * @example\n * Navigation Tabs\n * ```tsx\n * \"use client\";\n * import {\n * RippleContainer,\n * Tab,\n * TabList,\n * useElementInteraction,\n * useEnsuredId,\n * useHigherContrastChildren,\n * useKeyboardMovementContext,\n * useTabs,\n * } from \"@react-md/core\";\n * import type { LinkProps } from \"next/link\";\n * import Link from \"next/link\";\n * import type { PropsWithChildren, ReactElement } from \"react\";\n * import { usePathname } from \"next/navigation\";\n *\n * interface TabLinkProps extends LinkProps {\n * active: boolean;\n * }\n *\n * function TabLink(props: LinkProps): ReactElement {\n * const {\n * id: propId,\n * children: propChildren,\n * active,\n * className,\n * ...remaining,\n * } = props;\n *\n * const id = useEnsuredId(propId, \"tab\");\n * const { activeDescendantId } = useKeyboardMovementContext();\n * const { handlers, ripples } = useElementInteraction(props);\n * const children = useHigherContrastChildren(propChildren);\n *\n * return (\n * <Link\n * {...props}\n * {...handlers}\n * id={id}\n * aria-selected={active}\n * role=\"tab\"\n * tabIndex={id === activeDescendantId ? 0 : -1}\n * className={tab({\n * className,\n * active,\n * // stacked,\n * // reversed,\n * })}\n * >\n * {children}\n * {ripples}\n * </Link>\n * );\n * }\n *\n * const noop = (): void => {\n * // do nothing\n * };\n *\n * const PATHNAME_TABS = [\"/\", \"/page-1\", \"/page-2\"];\n *\n * function Layout({ children }: PropsWithChildren) {\n * const pathname = usePathname();\n * const { getTabListProps, getTabProps } = useTabs({\n * tabs: PATHNAME_TABS,\n * activeTab: pathname,\n * setActiveTab: noop,\n * });\n *\n * return (\n * <>\n * <TabList {...getTabListProps()}>\n * <TabLink {...getTabProps(\"/\")} href=\"/\">Home</TabLink>\n * <TabLink {...getTabProps(\"/page-1\")} href=\"/page-1\">Page 1</TabLink>\n * <TabLink {...getTabProps(\"/page-2\")} href=\"/page-2\">Page 2</TabLink>\n * </TabList>\n * <main>{children}</main>\n * </>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useTabs<TabValue extends string>(\n options: TabsHookOptions<TabValue> & {\n tabs: readonly TabValue[];\n activeTab: TabValue;\n setActiveTab: Dispatch<TabValue>;\n defaultActiveTab?: never;\n }\n): TabsImplementation<TabValue> & { activeTab?: never; setActiveTab?: never };\n/**\n * This hook can be uncontrolled/controlled and supports strongly typing the tab\n * values if needed. Check out the overloads for examples.\n *\n * @remarks \\@since 6.0.0\n */\nexport function useTabs<TabValue extends string | number>(\n options: TabsHookOptions<TabValue> = {}\n): TabsImplementation<TabValue> {\n const {\n baseId: propBaseId,\n disableScrollFix,\n tabs = EMPTY_LIST,\n activeTab: propActiveTab,\n setActiveTab: propSetActiveTab,\n defaultActiveTab,\n } = options;\n\n const baseId = useEnsuredId(propBaseId, \"tab\");\n const [direction, setDirection] = useState<SlideDirection>(\"left\");\n\n const [activeTab, setActiveTab] = useEnsuredState({\n value: propActiveTab,\n setValue: propSetActiveTab,\n defaultValue: defaultActiveTab ?? (0 as TabValue),\n });\n\n const getTabIndex = (tabValue: TabValue): number =>\n typeof tabValue === \"string\" || tabs.length > 0\n ? tabs.indexOf(tabValue)\n : tabValue;\n const getTabId = (tabValue: TabValue, prefix = \"\"): string =>\n `${baseId}-${prefix}${getTabIndex(tabValue) + 1}`;\n\n const activeIndex = getTabIndex(activeTab);\n const tabPanelsRef = useRef<HTMLElement>(null);\n useEffect(() => {\n const container = tabPanelsRef.current;\n if (!container || disableScrollFix) {\n return;\n }\n\n container.scrollTop = 0;\n }, [disableScrollFix, activeTab]);\n\n return {\n activeTab,\n setActiveTab,\n direction,\n setDirection,\n getTabProps(tabValue) {\n return {\n \"aria-controls\": getTabId(tabValue, PANEL_PREFIX),\n id: getTabId(tabValue),\n active: tabValue === activeTab,\n };\n },\n getTabListProps() {\n return {\n activeIndex,\n setActiveIndex: (nextActiveIndex) => {\n setDirection(activeIndex < nextActiveIndex ? \"left\" : \"right\");\n if (typeof activeTab === \"string\" || tabs.length > 0) {\n setActiveTab(tabs[nextActiveIndex]);\n } else {\n setActiveTab(nextActiveIndex as TabValue);\n }\n },\n };\n },\n getTabPanelProps(tabValue) {\n return {\n \"aria-labelledby\": getTabId(tabValue),\n id: getTabId(tabValue, PANEL_PREFIX),\n role: \"tabpanel\",\n active: tabValue === activeTab,\n };\n },\n getTabPanelsProps<E>() {\n return {\n ref: tabPanelsRef as RefObject<E>,\n direction,\n };\n },\n };\n}\n"],"names":["useEffect","useRef","useState","useEnsuredId","useEnsuredState","EMPTY_LIST","PANEL_PREFIX","useTabs","options","baseId","propBaseId","disableScrollFix","tabs","activeTab","propActiveTab","setActiveTab","propSetActiveTab","defaultActiveTab","direction","setDirection","value","setValue","defaultValue","getTabIndex","tabValue","length","indexOf","getTabId","prefix","activeIndex","tabPanelsRef","container","current","scrollTop","getTabProps","id","active","getTabListProps","setActiveIndex","nextActiveIndex","getTabPanelProps","role","getTabPanelsProps","ref"],"mappings":"AAAA;AAEA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AAGpD,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,eAAe,QAAQ,wBAAwB;AAExD,MAAMC,aAAa,EAAE;AACrB,MAAMC,eAAe;AA+YrB;;;;;CAKC,GACD,OAAO,SAASC,QACdC,UAAqC,CAAC,CAAC;IAEvC,MAAM,EACJC,QAAQC,UAAU,EAClBC,gBAAgB,EAChBC,OAAOP,UAAU,EACjBQ,WAAWC,aAAa,EACxBC,cAAcC,gBAAgB,EAC9BC,gBAAgB,EACjB,GAAGT;IAEJ,MAAMC,SAASN,aAAaO,YAAY;IACxC,MAAM,CAACQ,WAAWC,aAAa,GAAGjB,SAAyB;IAE3D,MAAM,CAACW,WAAWE,aAAa,GAAGX,gBAAgB;QAChDgB,OAAON;QACPO,UAAUL;QACVM,cAAcL,oBAAqB;IACrC;IAEA,MAAMM,cAAc,CAACC,WACnB,OAAOA,aAAa,YAAYZ,KAAKa,MAAM,GAAG,IAC1Cb,KAAKc,OAAO,CAACF,YACbA;IACN,MAAMG,WAAW,CAACH,UAAoBI,SAAS,EAAE,GAC/C,CAAC,EAAEnB,OAAO,CAAC,EAAEmB,OAAO,EAAEL,YAAYC,YAAY,EAAE,CAAC;IAEnD,MAAMK,cAAcN,YAAYV;IAChC,MAAMiB,eAAe7B,OAAoB;IACzCD,UAAU;QACR,MAAM+B,YAAYD,aAAaE,OAAO;QACtC,IAAI,CAACD,aAAapB,kBAAkB;YAClC;QACF;QAEAoB,UAAUE,SAAS,GAAG;IACxB,GAAG;QAACtB;QAAkBE;KAAU;IAEhC,OAAO;QACLA;QACAE;QACAG;QACAC;QACAe,aAAYV,QAAQ;YAClB,OAAO;gBACL,iBAAiBG,SAASH,UAAUlB;gBACpC6B,IAAIR,SAASH;gBACbY,QAAQZ,aAAaX;YACvB;QACF;QACAwB;YACE,OAAO;gBACLR;gBACAS,gBAAgB,CAACC;oBACfpB,aAAaU,cAAcU,kBAAkB,SAAS;oBACtD,IAAI,OAAO1B,cAAc,YAAYD,KAAKa,MAAM,GAAG,GAAG;wBACpDV,aAAaH,IAAI,CAAC2B,gBAAgB;oBACpC,OAAO;wBACLxB,aAAawB;oBACf;gBACF;YACF;QACF;QACAC,kBAAiBhB,QAAQ;YACvB,OAAO;gBACL,mBAAmBG,SAASH;gBAC5BW,IAAIR,SAASH,UAAUlB;gBACvBmC,MAAM;gBACNL,QAAQZ,aAAaX;YACvB;QACF;QACA6B;YACE,OAAO;gBACLC,KAAKb;gBACLZ;YACF;QACF;IACF;AACF"}
|