@react-md/core 1.0.0-next.3 → 1.0.0-next.4
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/.turbo/turbo-lint.log +3 -3
- package/.turbo/turbo-typecheck.log +1 -1
- package/CHANGELOG.md +6 -0
- package/coverage/clover.xml +529 -437
- package/coverage/coverage-final.json +3 -3
- package/coverage/lcov-report/ListItem.tsx.html +2 -2
- package/coverage/lcov-report/ListItemLink.tsx.html +616 -0
- package/coverage/lcov-report/getListItemHeight.ts.html +298 -0
- package/coverage/lcov-report/index.html +38 -23
- package/coverage/lcov.info +423 -317
- package/dist/_core.scss +1 -1
- package/dist/form/_form.scss +1 -1
- package/dist/list/getListItemHeight.d.ts +0 -1
- package/dist/list/types.d.ts +1 -1
- package/dist/menu/_menu.scss +0 -2
- package/dist/src/CoreProviders.js.map +1 -0
- package/dist/src/NoSsr.js.map +1 -0
- package/dist/src/SsrProvider.js.map +1 -0
- package/dist/src/app-bar/AppBar.js.map +1 -0
- package/dist/src/app-bar/AppBarTitle.js.map +1 -0
- package/dist/src/avatar/Avatar.js.map +1 -0
- package/dist/src/avatar/styles.js.map +1 -0
- package/dist/src/badge/Badge.js.map +1 -0
- package/dist/src/box/Box.js.map +1 -0
- package/dist/src/box/styles.js.map +1 -0
- package/dist/src/button/AsyncButton.js.map +1 -0
- package/dist/src/button/Button.js.map +1 -0
- package/dist/src/button/ButtonUnstyled.js.map +1 -0
- package/dist/src/button/FloatingActionButton.js.map +1 -0
- package/dist/src/button/TooltippedButton.js.map +1 -0
- package/dist/src/button/buttonStyles.js.map +1 -0
- package/dist/src/button/buttonUnstyledStyles.js.map +1 -0
- package/dist/src/card/Card.js.map +1 -0
- package/dist/src/card/CardContent.js.map +1 -0
- package/dist/src/card/CardFooter.js.map +1 -0
- package/dist/src/card/CardHeader.js.map +1 -0
- package/dist/src/card/CardSubtitle.js.map +1 -0
- package/dist/src/card/CardTitle.js.map +1 -0
- package/dist/src/card/ClickableCard.js.map +1 -0
- package/dist/src/card/styles.js.map +1 -0
- package/dist/src/chip/Chip.js.map +1 -0
- package/dist/src/chip/styles.js.map +1 -0
- package/dist/src/cssUtils.js.map +1 -0
- package/dist/src/delegateEvent.js.map +1 -0
- package/dist/src/dialog/Dialog.js.map +1 -0
- package/dist/src/dialog/DialogContainer.js.map +1 -0
- package/dist/src/dialog/DialogContent.js.map +1 -0
- package/dist/src/dialog/DialogFooter.js.map +1 -0
- package/dist/src/dialog/DialogHeader.js.map +1 -0
- package/dist/src/dialog/DialogTitle.js.map +1 -0
- package/dist/src/dialog/FixedDialog.js.map +1 -0
- package/dist/src/dialog/NestedDialogProvider.js.map +1 -0
- package/dist/src/dialog/styles.js.map +1 -0
- package/dist/src/divider/Divider.js.map +1 -0
- package/dist/src/divider/styles.js.map +1 -0
- package/dist/src/draggable/useDraggable.js.map +1 -0
- package/dist/src/draggable/utils.js.map +1 -0
- package/dist/src/expansion-panel/ExpansionList.js.map +1 -0
- package/dist/src/expansion-panel/ExpansionPanel.js.map +1 -0
- package/dist/src/expansion-panel/ExpansionPanelHeader.js.map +1 -0
- package/dist/src/expansion-panel/useExpansionList.js.map +1 -0
- package/dist/src/expansion-panel/useExpansionPanels.js.map +1 -0
- package/dist/src/focus/useFocusContainer.js.map +1 -0
- package/dist/src/focus/utils.js.map +1 -0
- package/dist/src/form/Checkbox.js.map +1 -0
- package/dist/src/form/Fieldset.js.map +1 -0
- package/dist/src/form/FileInput.js.map +1 -0
- package/dist/src/form/Form.js.map +1 -0
- package/dist/src/form/FormMessage.js.map +1 -0
- package/dist/src/form/FormMessageContainer.js.map +1 -0
- package/dist/src/form/FormMessageCounter.js.map +1 -0
- package/dist/src/form/InputToggle.js.map +1 -0
- package/dist/src/form/InputToggleIcon.js.map +1 -0
- package/dist/src/form/Label.js.map +1 -0
- package/dist/src/form/Legend.js.map +1 -0
- package/dist/src/form/MenuItemCheckbox.js.map +1 -0
- package/dist/src/form/MenuItemFileInput.js.map +1 -0
- package/dist/src/form/MenuItemInputToggle.js.map +1 -0
- package/dist/src/form/MenuItemRadio.js.map +1 -0
- package/dist/src/form/MenuItemSwitch.js.map +1 -0
- package/dist/src/form/MenuItemTextField.js.map +1 -0
- package/dist/src/form/NativeSelect.js.map +1 -0
- package/dist/src/form/OptGroup.js.map +1 -0
- package/dist/src/form/Option.js.map +1 -0
- package/dist/src/form/Password.js.map +1 -0
- package/dist/src/form/Radio.js.map +1 -0
- package/dist/src/form/Select.js.map +1 -0
- package/dist/src/form/SelectValue.js.map +1 -0
- package/dist/src/form/Slider.js.map +1 -0
- package/dist/src/form/SliderContainer.js.map +1 -0
- package/dist/src/form/SliderMark.js.map +1 -0
- package/dist/src/form/SliderMarkLabel.js.map +1 -0
- package/dist/src/form/SliderThumb.js.map +1 -0
- package/dist/src/form/SliderTrack.js.map +1 -0
- package/dist/src/form/SliderValueMarks.js.map +1 -0
- package/dist/src/form/SliderValueTooltip.js.map +1 -0
- package/dist/src/form/Switch.js.map +1 -0
- package/dist/src/form/SwitchTrack.js.map +1 -0
- package/dist/src/form/TextArea.js.map +1 -0
- package/dist/src/form/TextField.js.map +1 -0
- package/dist/src/form/TextFieldAddon.js.map +1 -0
- package/dist/src/form/TextFieldContainer.js.map +1 -0
- package/dist/src/form/TextFieldContainerStyles.js.map +1 -0
- package/dist/src/form/fileUtils.js.map +1 -0
- package/dist/src/form/formConfig.js.map +1 -0
- package/dist/src/form/formMessageStyles.js.map +1 -0
- package/dist/src/form/inputToggleStyles.js.map +1 -0
- package/dist/src/form/nativeSelectStyles.js.map +1 -0
- package/dist/src/form/optionStyles.js.map +1 -0
- package/dist/src/form/passwordStyles.js.map +1 -0
- package/dist/src/form/selectStyles.js.map +1 -0
- package/dist/src/form/selectUtils.js.map +1 -0
- package/dist/src/form/sliderUtils.js.map +1 -0
- package/dist/src/form/switchStyles.js.map +1 -0
- package/dist/src/form/textAreaStyles.js.map +1 -0
- package/dist/src/form/textFieldStyles.js.map +1 -0
- package/dist/src/form/types.js.map +1 -0
- package/dist/src/form/useCheckboxGroup.js.map +1 -0
- package/dist/src/form/useFileUpload.js.map +1 -0
- package/dist/src/form/useListboxProvider.js.map +1 -0
- package/dist/src/form/useNumberField.js.map +1 -0
- package/dist/src/form/useRadioGroup.js.map +1 -0
- package/dist/src/form/useRangeSlider.js.map +1 -0
- package/dist/src/form/useResizingTextArea.js.map +1 -0
- package/dist/src/form/useSlider.js.map +1 -0
- package/dist/src/form/useTextField.js.map +1 -0
- package/dist/src/form/utils.js.map +1 -0
- package/dist/src/form/validation.js.map +1 -0
- package/dist/src/hoverMode/useHoverMode.js.map +1 -0
- package/dist/src/hoverMode/useHoverModeProvider.js.map +1 -0
- package/dist/src/icon/FontIcon.js.map +1 -0
- package/dist/src/icon/IconRotator.js.map +1 -0
- package/dist/src/icon/MaterialIcon.js.map +1 -0
- package/dist/src/icon/MaterialSymbol.js.map +1 -0
- package/dist/src/icon/SVGIcon.js.map +1 -0
- package/dist/src/icon/TextIconSpacing.js.map +1 -0
- package/dist/src/icon/iconConfig.js.map +1 -0
- package/dist/src/icon/material.js.map +1 -0
- package/dist/src/icon/materialConfig.js.map +1 -0
- package/dist/src/icon/styles.js.map +1 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interaction/Ripple.js.map +1 -0
- package/dist/src/interaction/RippleContainer.js.map +1 -0
- package/dist/src/interaction/UserInteractionModeProvider.js.map +1 -0
- package/dist/src/interaction/config.js.map +1 -0
- package/dist/src/interaction/types.js.map +1 -0
- package/dist/src/interaction/useElementInteraction.js.map +1 -0
- package/dist/src/interaction/useHigherContrastChildren.js.map +1 -0
- package/dist/src/interaction/utils.js.map +1 -0
- package/dist/src/layout/LayoutAppBar.js.map +1 -0
- package/dist/src/layout/LayoutNav.js.map +1 -0
- package/dist/src/layout/LayoutWindowSplitter.js.map +1 -0
- package/dist/src/layout/Main.js.map +1 -0
- package/dist/src/layout/layoutNavStyles.js.map +1 -0
- package/dist/src/layout/layoutWindowSplitterStyles.js.map +1 -0
- package/dist/src/layout/mainStyles.js.map +1 -0
- package/dist/src/layout/useExpandableLayout.js.map +1 -0
- package/dist/src/layout/useHorizontalLayoutTransition.js.map +1 -0
- package/dist/src/layout/useLayoutAppBarHeight.js.map +1 -0
- package/dist/src/layout/useLayoutTree.js.map +1 -0
- package/dist/src/layout/useLayoutWindowSplitter.js.map +1 -0
- package/dist/src/layout/useMainTabIndex.js.map +1 -0
- package/dist/src/layout/useResizableLayout.js.map +1 -0
- package/dist/src/layout/useTemporaryLayout.js.map +1 -0
- package/dist/src/link/Link.js.map +1 -0
- package/dist/src/link/SkipToMainContent.js.map +1 -0
- package/dist/src/link/styles.js.map +1 -0
- package/dist/src/list/List.js.map +1 -0
- package/dist/src/list/ListItem.js +148 -0
- package/dist/src/list/ListItem.js.map +1 -0
- package/dist/src/list/ListItemAddon.js.map +1 -0
- package/dist/src/list/ListItemChildren.js.map +1 -0
- package/dist/src/list/ListItemLink.js +89 -0
- package/dist/src/list/ListItemLink.js.map +1 -0
- package/dist/src/list/ListItemText.js.map +1 -0
- package/dist/src/list/ListSubheader.js.map +1 -0
- package/dist/src/list/getListItemHeight.js +28 -0
- package/dist/src/list/getListItemHeight.js.map +1 -0
- package/dist/src/list/listItemStyles.js.map +1 -0
- package/dist/src/list/types.js.map +1 -0
- package/dist/src/media-queries/AppSizeProvider.js.map +1 -0
- package/dist/src/media-queries/appSize.js.map +1 -0
- package/dist/src/media-queries/useMediaQuery.js.map +1 -0
- package/dist/src/menu/DropdownMenu.js.map +1 -0
- package/dist/src/menu/Menu.js.map +1 -0
- package/dist/src/menu/MenuBar.js.map +1 -0
- package/dist/src/menu/MenuButton.js.map +1 -0
- package/dist/src/menu/MenuConfigurationProvider.js.map +1 -0
- package/dist/src/menu/MenuItem.js.map +1 -0
- package/dist/src/menu/MenuItemButton.js.map +1 -0
- package/dist/src/menu/MenuItemGroup.js.map +1 -0
- package/dist/src/menu/MenuItemSeparator.js.map +1 -0
- package/dist/src/menu/MenuSheet.js.map +1 -0
- package/dist/src/menu/MenuVisibilityProvider.js.map +1 -0
- package/dist/src/menu/MenuWidget.js.map +1 -0
- package/dist/src/menu/MenuWidgetKeyboardProvider.js.map +1 -0
- package/dist/src/menu/useContextMenu.js.map +1 -0
- package/dist/src/menu/useMenuBarProvider.js.map +1 -0
- package/dist/src/menu/utils.js.map +1 -0
- package/dist/src/movement/constants.js.map +1 -0
- package/dist/src/movement/findMatchIndex.js.map +1 -0
- package/dist/src/movement/types.js.map +1 -0
- package/dist/src/movement/useKeyboardMovementProvider.js.map +1 -0
- package/dist/src/movement/utils.js.map +1 -0
- package/dist/src/overlay/Overlay.js.map +1 -0
- package/dist/src/overlay/overlayStyles.js.map +1 -0
- package/dist/src/portal/Portal.js.map +1 -0
- package/dist/src/portal/PortalContainerProvider.js.map +1 -0
- package/dist/src/positioning/constants.js.map +1 -0
- package/dist/src/positioning/createHorizontalPosition.js.map +1 -0
- package/dist/src/positioning/createVerticalPosition.js.map +1 -0
- package/dist/src/positioning/getFixedPosition.js.map +1 -0
- package/dist/src/positioning/types.js.map +1 -0
- package/dist/src/positioning/useFixedPositioning.js.map +1 -0
- package/dist/src/positioning/utils.js.map +1 -0
- package/dist/src/progress/CircularProgress.js.map +1 -0
- package/dist/src/progress/LinearProgress.js.map +1 -0
- package/dist/src/progress/getProgressA11y.js.map +1 -0
- package/dist/src/progress/types.js.map +1 -0
- package/dist/src/responsive-item/ResponsiveItemContainer.js.map +1 -0
- package/dist/src/responsive-item/ResponsiveItemOverlay.js.map +1 -0
- package/dist/src/responsive-item/styles.js.map +1 -0
- package/dist/src/scroll/ScrollLock.js.map +1 -0
- package/dist/src/scroll/getScrollbarWidth.js.map +1 -0
- package/dist/src/scroll/useScrollLock.js.map +1 -0
- package/dist/src/segmented-button/SegmentedButton.js.map +1 -0
- package/dist/src/segmented-button/SegmentedButtonContainer.js.map +1 -0
- package/dist/src/segmented-button/segmentedButtonContainerStyles.js.map +1 -0
- package/dist/src/segmented-button/segmentedButtonStyles.js.map +1 -0
- package/dist/src/sheet/Sheet.js.map +1 -0
- package/dist/src/sheet/styles.js.map +1 -0
- package/dist/src/snackbar/DefaultToastRenderer.js.map +1 -0
- package/dist/src/snackbar/Snackbar.js.map +1 -0
- package/dist/src/snackbar/Toast.js.map +1 -0
- package/dist/src/snackbar/ToastActionButton.js.map +1 -0
- package/dist/src/snackbar/ToastCloseButton.js.map +1 -0
- package/dist/src/snackbar/ToastContent.js.map +1 -0
- package/dist/src/snackbar/ToastManager.js.map +1 -0
- package/dist/src/snackbar/ToastManagerProvider.js.map +1 -0
- package/dist/src/snackbar/snackbarStyles.js.map +1 -0
- package/dist/src/snackbar/toastContentStyles.js.map +1 -0
- package/dist/src/snackbar/toastStyles.js.map +1 -0
- package/dist/src/snackbar/useCurrentToastActions.js.map +1 -0
- package/dist/src/suspense/CircularProgressSuspense.js.map +1 -0
- package/dist/src/suspense/NullSuspense.js.map +1 -0
- package/dist/src/table/Table.js.map +1 -0
- package/dist/src/table/TableBody.js.map +1 -0
- package/dist/src/table/TableCell.js.map +1 -0
- package/dist/src/table/TableCellContent.js.map +1 -0
- package/dist/src/table/TableCheckbox.js.map +1 -0
- package/dist/src/table/TableConfigurationProvider.js.map +1 -0
- package/dist/src/table/TableContainer.js.map +1 -0
- package/dist/src/table/TableContainerProvider.js.map +1 -0
- package/dist/src/table/TableFooter.js.map +1 -0
- package/dist/src/table/TableHeader.js.map +1 -0
- package/dist/src/table/TableRadio.js.map +1 -0
- package/dist/src/table/TableRow.js.map +1 -0
- package/dist/src/table/tableCellStyles.js.map +1 -0
- package/dist/src/table/tableContainerStyles.js.map +1 -0
- package/dist/src/table/tableFooterStyles.js.map +1 -0
- package/dist/src/table/tableHeaderStyles.js.map +1 -0
- package/dist/src/table/tableRowStyles.js.map +1 -0
- package/dist/src/table/tableStyles.js.map +1 -0
- package/dist/src/table/types.js.map +1 -0
- package/dist/src/tabs/Tab.js.map +1 -0
- package/dist/src/tabs/TabList.js.map +1 -0
- package/dist/src/tabs/TabListScrollButton.js.map +1 -0
- package/dist/src/tabs/tabIndicatorStyles.js.map +1 -0
- package/dist/src/tabs/tabListScrollButtonStyles.js.map +1 -0
- package/dist/src/tabs/tabListStyles.js.map +1 -0
- package/dist/src/tabs/tabStyles.js.map +1 -0
- package/dist/src/tabs/useTabList.js.map +1 -0
- package/dist/src/tabs/useTabs.js.map +1 -0
- package/dist/src/tabs/utils.js.map +1 -0
- package/dist/src/test-utils/IntersectionObserver.js.map +1 -0
- package/dist/src/test-utils/ResizeObserver.js.map +1 -0
- package/dist/src/test-utils/data-testid.js.map +1 -0
- package/dist/src/test-utils/index.js.map +1 -0
- package/dist/src/test-utils/jest-setup.js.map +1 -0
- package/dist/src/test-utils/matchMedia.js.map +1 -0
- package/dist/src/test-utils/polyfills/IntersectionObserver.js.map +1 -0
- package/dist/src/test-utils/polyfills/ResizeObserver.js.map +1 -0
- package/dist/src/test-utils/polyfills/index.js.map +1 -0
- package/dist/src/test-utils/polyfills/matchMedia.js.map +1 -0
- package/dist/src/test-utils/polyfills/offsetParent.js.map +1 -0
- package/dist/src/test-utils/polyfills/scrollIntoView.js.map +1 -0
- package/dist/src/test-utils/render.js.map +1 -0
- package/dist/src/test-utils/timers.js.map +1 -0
- package/dist/src/theme/LocalStorageColorSchemeProvider.js.map +1 -0
- package/dist/src/theme/ThemeProvider.js.map +1 -0
- package/dist/src/theme/colors.js.map +1 -0
- package/dist/src/theme/cssVars.js.map +1 -0
- package/dist/src/theme/types.js.map +1 -0
- package/dist/src/theme/useCSSVariables.js.map +1 -0
- package/dist/src/theme/useColorScheme.js.map +1 -0
- package/dist/src/theme/useColorSchemeMetaTag.js.map +1 -0
- package/dist/src/theme/useColorSchemeProvider.js.map +1 -0
- package/dist/src/theme/usePrefersColorScheme.js.map +1 -0
- package/dist/src/theme/utils.js.map +1 -0
- package/dist/src/tooltip/Tooltip.js.map +1 -0
- package/dist/src/tooltip/TooltipHoverModeProvider.js.map +1 -0
- package/dist/src/tooltip/constants.js.map +1 -0
- package/dist/src/tooltip/tooltipStyles.js.map +1 -0
- package/dist/src/tooltip/useTooltip.js.map +1 -0
- package/dist/src/tooltip/useTooltipPosition.js.map +1 -0
- package/dist/src/tooltip/utils.js.map +1 -0
- package/dist/src/transition/CSSTransition.js.map +1 -0
- package/dist/src/transition/Collapse.js.map +1 -0
- package/dist/src/transition/CrossFade.js.map +1 -0
- package/dist/src/transition/ScaleTransition.js.map +1 -0
- package/dist/src/transition/SkeletonPlaceholder.js.map +1 -0
- package/dist/src/transition/Slide.js.map +1 -0
- package/dist/src/transition/SlideContainer.js.map +1 -0
- package/dist/src/transition/collapseStyles.js.map +1 -0
- package/dist/src/transition/config.js.map +1 -0
- package/dist/src/transition/maxWidthTransition.js.map +1 -0
- package/dist/src/transition/skeletonPlaceholderUtils.js.map +1 -0
- package/dist/src/transition/types.js.map +1 -0
- package/dist/src/transition/useCSSTransition.js.map +1 -0
- package/dist/src/transition/useCarousel.js.map +1 -0
- package/dist/src/transition/useCollapseTransition.js.map +1 -0
- package/dist/src/transition/useCrossFadeTransition.js.map +1 -0
- package/dist/src/transition/useMaxWidthTransition.js.map +1 -0
- package/dist/src/transition/useScaleTransition.js.map +1 -0
- package/dist/src/transition/useSkeletonPlaceholder.js.map +1 -0
- package/dist/src/transition/useSlideTransition.js.map +1 -0
- package/dist/src/transition/useTransition.js.map +1 -0
- package/dist/src/transition/utils.js.map +1 -0
- package/dist/src/tree/DefaultTreeItemRenderer.js.map +1 -0
- package/dist/src/tree/Tree.js.map +1 -0
- package/dist/src/tree/TreeGroup.js.map +1 -0
- package/dist/src/tree/TreeItem.js.map +1 -0
- package/dist/src/tree/TreeItemExpander.js.map +1 -0
- package/dist/src/tree/TreeProvider.js.map +1 -0
- package/dist/src/tree/styles.js.map +1 -0
- package/dist/src/tree/types.js.map +1 -0
- package/dist/src/tree/useTree.js.map +1 -0
- package/dist/src/tree/useTreeExpansion.js.map +1 -0
- package/dist/src/tree/useTreeItems.js.map +1 -0
- package/dist/src/tree/useTreeMovement.js.map +1 -0
- package/dist/src/tree/useTreeSelection.js.map +1 -0
- package/dist/src/tree/utils.js.map +1 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/typography/SrOnly.js.map +1 -0
- package/dist/src/typography/TextContainer.js.map +1 -0
- package/dist/src/typography/Typography.js.map +1 -0
- package/dist/src/typography/WritingDirectionProvider.js.map +1 -0
- package/dist/src/useAsyncAction.js.map +1 -0
- package/dist/src/useDebouncedFunction.js.map +1 -0
- package/dist/src/useDropzone.js.map +1 -0
- package/dist/src/useElementSize.js.map +1 -0
- package/dist/src/useEnsuredId.js.map +1 -0
- package/dist/src/useEnsuredRef.js.map +1 -0
- package/dist/src/useEnsuredState.js.map +1 -0
- package/dist/src/useHtmlClassName.js.map +1 -0
- package/dist/src/useIntersectionObserver.js.map +1 -0
- package/dist/src/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/src/useLocalStorage.js.map +1 -0
- package/dist/src/useOrientation.js.map +1 -0
- package/dist/src/usePageInactive.js.map +1 -0
- package/dist/src/useResizeListener.js.map +1 -0
- package/dist/src/useResizeObserver.js.map +1 -0
- package/dist/src/useThrottledFunction.js.map +1 -0
- package/dist/src/useToggle.js.map +1 -0
- package/dist/src/useUnmounted.js.map +1 -0
- package/dist/src/useWindowSize.js.map +1 -0
- package/dist/src/utils/RenderRecursively.js.map +1 -0
- package/dist/src/utils/alphaNumericSort.js.map +1 -0
- package/dist/src/utils/applyRef.js.map +1 -0
- package/dist/src/utils/bem.js.map +1 -0
- package/dist/src/utils/filters.js.map +1 -0
- package/dist/src/utils/getClientPosition.js.map +1 -0
- package/dist/src/utils/getMiddleOfRange.js.map +1 -0
- package/dist/src/utils/getPercentage.js.map +1 -0
- package/dist/src/utils/getRangeDefaultValue.js.map +1 -0
- package/dist/src/utils/getRangeSteps.js.map +1 -0
- package/dist/src/utils/identity.js.map +1 -0
- package/dist/src/utils/isElementVisible.js.map +1 -0
- package/dist/src/utils/loop.js.map +1 -0
- package/dist/src/utils/nearest.js.map +1 -0
- package/dist/src/utils/parseCssLengthUnit.js.map +1 -0
- package/dist/src/utils/randomInt.js.map +1 -0
- package/dist/src/utils/wait.js.map +1 -0
- package/dist/src/utils/withinRange.js.map +1 -0
- package/dist/src/window-splitter/WindowSplitter.js.map +1 -0
- package/dist/src/window-splitter/useWindowSplitter.js.map +1 -0
- package/dist/theme/_theme.scss +20 -10
- package/package.json +8 -8
- package/src/_core.scss +1 -1
- package/src/form/_form.scss +1 -1
- package/src/list/ListItem.tsx +1 -1
- package/src/list/ListItemLink.tsx +1 -1
- package/src/list/__tests__/getListItemHeight.ts +2 -2
- package/src/list/getListItemHeight.ts +2 -3
- package/src/list/types.ts +1 -1
- package/src/menu/_menu.scss +0 -2
- package/src/theme/_theme.scss +20 -10
- package/dist/CoreProviders.js.map +0 -1
- package/dist/NoSsr.js.map +0 -1
- package/dist/SsrProvider.js.map +0 -1
- package/dist/app-bar/AppBar.js.map +0 -1
- package/dist/app-bar/AppBarTitle.js.map +0 -1
- package/dist/avatar/Avatar.js.map +0 -1
- package/dist/avatar/styles.js.map +0 -1
- package/dist/badge/Badge.js.map +0 -1
- package/dist/box/Box.js.map +0 -1
- package/dist/box/styles.js.map +0 -1
- package/dist/button/AsyncButton.js.map +0 -1
- package/dist/button/Button.js.map +0 -1
- package/dist/button/ButtonUnstyled.js.map +0 -1
- package/dist/button/FloatingActionButton.js.map +0 -1
- package/dist/button/TooltippedButton.js.map +0 -1
- package/dist/button/buttonStyles.js.map +0 -1
- package/dist/button/buttonUnstyledStyles.js.map +0 -1
- package/dist/card/Card.js.map +0 -1
- package/dist/card/CardContent.js.map +0 -1
- package/dist/card/CardFooter.js.map +0 -1
- package/dist/card/CardHeader.js.map +0 -1
- package/dist/card/CardSubtitle.js.map +0 -1
- package/dist/card/CardTitle.js.map +0 -1
- package/dist/card/ClickableCard.js.map +0 -1
- package/dist/card/styles.js.map +0 -1
- package/dist/chip/Chip.js.map +0 -1
- package/dist/chip/styles.js.map +0 -1
- package/dist/cssUtils.js.map +0 -1
- package/dist/delegateEvent.js.map +0 -1
- package/dist/dialog/Dialog.js.map +0 -1
- package/dist/dialog/DialogContainer.js.map +0 -1
- package/dist/dialog/DialogContent.js.map +0 -1
- package/dist/dialog/DialogFooter.js.map +0 -1
- package/dist/dialog/DialogHeader.js.map +0 -1
- package/dist/dialog/DialogTitle.js.map +0 -1
- package/dist/dialog/FixedDialog.js.map +0 -1
- package/dist/dialog/NestedDialogProvider.js.map +0 -1
- package/dist/dialog/styles.js.map +0 -1
- package/dist/divider/Divider.js.map +0 -1
- package/dist/divider/styles.js.map +0 -1
- package/dist/draggable/useDraggable.js.map +0 -1
- package/dist/draggable/utils.js.map +0 -1
- package/dist/expansion-panel/ExpansionList.js.map +0 -1
- package/dist/expansion-panel/ExpansionPanel.js.map +0 -1
- package/dist/expansion-panel/ExpansionPanelHeader.js.map +0 -1
- package/dist/expansion-panel/useExpansionList.js.map +0 -1
- package/dist/expansion-panel/useExpansionPanels.js.map +0 -1
- package/dist/focus/useFocusContainer.js.map +0 -1
- package/dist/focus/utils.js.map +0 -1
- package/dist/form/Checkbox.js.map +0 -1
- package/dist/form/Fieldset.js.map +0 -1
- package/dist/form/FileInput.js.map +0 -1
- package/dist/form/Form.js.map +0 -1
- package/dist/form/FormMessage.js.map +0 -1
- package/dist/form/FormMessageContainer.js.map +0 -1
- package/dist/form/FormMessageCounter.js.map +0 -1
- package/dist/form/InputToggle.js.map +0 -1
- package/dist/form/InputToggleIcon.js.map +0 -1
- package/dist/form/Label.js.map +0 -1
- package/dist/form/Legend.js.map +0 -1
- package/dist/form/MenuItemCheckbox.js.map +0 -1
- package/dist/form/MenuItemFileInput.js.map +0 -1
- package/dist/form/MenuItemInputToggle.js.map +0 -1
- package/dist/form/MenuItemRadio.js.map +0 -1
- package/dist/form/MenuItemSwitch.js.map +0 -1
- package/dist/form/MenuItemTextField.js.map +0 -1
- package/dist/form/NativeSelect.js.map +0 -1
- package/dist/form/OptGroup.js.map +0 -1
- package/dist/form/Option.js.map +0 -1
- package/dist/form/Password.js.map +0 -1
- package/dist/form/Radio.js.map +0 -1
- package/dist/form/Select.js.map +0 -1
- package/dist/form/SelectValue.js.map +0 -1
- package/dist/form/Slider.js.map +0 -1
- package/dist/form/SliderContainer.js.map +0 -1
- package/dist/form/SliderMark.js.map +0 -1
- package/dist/form/SliderMarkLabel.js.map +0 -1
- package/dist/form/SliderThumb.js.map +0 -1
- package/dist/form/SliderTrack.js.map +0 -1
- package/dist/form/SliderValueMarks.js.map +0 -1
- package/dist/form/SliderValueTooltip.js.map +0 -1
- package/dist/form/Switch.js.map +0 -1
- package/dist/form/SwitchTrack.js.map +0 -1
- package/dist/form/TextArea.js.map +0 -1
- package/dist/form/TextField.js.map +0 -1
- package/dist/form/TextFieldAddon.js.map +0 -1
- package/dist/form/TextFieldContainer.js.map +0 -1
- package/dist/form/TextFieldContainerStyles.js.map +0 -1
- package/dist/form/fileUtils.js.map +0 -1
- package/dist/form/formConfig.js.map +0 -1
- package/dist/form/formMessageStyles.js.map +0 -1
- package/dist/form/inputToggleStyles.js.map +0 -1
- package/dist/form/nativeSelectStyles.js.map +0 -1
- package/dist/form/optionStyles.js.map +0 -1
- package/dist/form/passwordStyles.js.map +0 -1
- package/dist/form/selectStyles.js.map +0 -1
- package/dist/form/selectUtils.js.map +0 -1
- package/dist/form/sliderUtils.js.map +0 -1
- package/dist/form/switchStyles.js.map +0 -1
- package/dist/form/textAreaStyles.js.map +0 -1
- package/dist/form/textFieldStyles.js.map +0 -1
- package/dist/form/types.js.map +0 -1
- package/dist/form/useCheckboxGroup.js.map +0 -1
- package/dist/form/useFileUpload.js.map +0 -1
- package/dist/form/useListboxProvider.js.map +0 -1
- package/dist/form/useNumberField.js.map +0 -1
- package/dist/form/useRadioGroup.js.map +0 -1
- package/dist/form/useRangeSlider.js.map +0 -1
- package/dist/form/useResizingTextArea.js.map +0 -1
- package/dist/form/useSlider.js.map +0 -1
- package/dist/form/useTextField.js.map +0 -1
- package/dist/form/utils.js.map +0 -1
- package/dist/form/validation.js.map +0 -1
- package/dist/hoverMode/useHoverMode.js.map +0 -1
- package/dist/hoverMode/useHoverModeProvider.js.map +0 -1
- package/dist/icon/FontIcon.js.map +0 -1
- package/dist/icon/IconRotator.js.map +0 -1
- package/dist/icon/MaterialIcon.js.map +0 -1
- package/dist/icon/MaterialSymbol.js.map +0 -1
- package/dist/icon/SVGIcon.js.map +0 -1
- package/dist/icon/TextIconSpacing.js.map +0 -1
- package/dist/icon/iconConfig.js.map +0 -1
- package/dist/icon/material.js.map +0 -1
- package/dist/icon/materialConfig.js.map +0 -1
- package/dist/icon/styles.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/interaction/Ripple.js.map +0 -1
- package/dist/interaction/RippleContainer.js.map +0 -1
- package/dist/interaction/UserInteractionModeProvider.js.map +0 -1
- package/dist/interaction/config.js.map +0 -1
- package/dist/interaction/types.js.map +0 -1
- package/dist/interaction/useElementInteraction.js.map +0 -1
- package/dist/interaction/useHigherContrastChildren.js.map +0 -1
- package/dist/interaction/utils.js.map +0 -1
- package/dist/layout/LayoutAppBar.js.map +0 -1
- package/dist/layout/LayoutNav.js.map +0 -1
- package/dist/layout/LayoutWindowSplitter.js.map +0 -1
- package/dist/layout/Main.js.map +0 -1
- package/dist/layout/layoutNavStyles.js.map +0 -1
- package/dist/layout/layoutWindowSplitterStyles.js.map +0 -1
- package/dist/layout/mainStyles.js.map +0 -1
- package/dist/layout/useExpandableLayout.js.map +0 -1
- package/dist/layout/useHorizontalLayoutTransition.js.map +0 -1
- package/dist/layout/useLayoutAppBarHeight.js.map +0 -1
- package/dist/layout/useLayoutTree.js.map +0 -1
- package/dist/layout/useLayoutWindowSplitter.js.map +0 -1
- package/dist/layout/useMainTabIndex.js.map +0 -1
- package/dist/layout/useResizableLayout.js.map +0 -1
- package/dist/layout/useTemporaryLayout.js.map +0 -1
- package/dist/link/Link.js.map +0 -1
- package/dist/link/SkipToMainContent.js.map +0 -1
- package/dist/link/styles.js.map +0 -1
- package/dist/list/List.js.map +0 -1
- package/dist/list/ListItem.js +0 -148
- package/dist/list/ListItem.js.map +0 -1
- package/dist/list/ListItemAddon.js.map +0 -1
- package/dist/list/ListItemChildren.js.map +0 -1
- package/dist/list/ListItemLink.js +0 -89
- package/dist/list/ListItemLink.js.map +0 -1
- package/dist/list/ListItemText.js.map +0 -1
- package/dist/list/ListSubheader.js.map +0 -1
- package/dist/list/getListItemHeight.js +0 -28
- package/dist/list/getListItemHeight.js.map +0 -1
- package/dist/list/listItemStyles.js.map +0 -1
- package/dist/list/types.js.map +0 -1
- package/dist/media-queries/AppSizeProvider.js.map +0 -1
- package/dist/media-queries/appSize.js.map +0 -1
- package/dist/media-queries/useMediaQuery.js.map +0 -1
- package/dist/menu/DropdownMenu.js.map +0 -1
- package/dist/menu/Menu.js.map +0 -1
- package/dist/menu/MenuBar.js.map +0 -1
- package/dist/menu/MenuButton.js.map +0 -1
- package/dist/menu/MenuConfigurationProvider.js.map +0 -1
- package/dist/menu/MenuItem.js.map +0 -1
- package/dist/menu/MenuItemButton.js.map +0 -1
- package/dist/menu/MenuItemGroup.js.map +0 -1
- package/dist/menu/MenuItemSeparator.js.map +0 -1
- package/dist/menu/MenuSheet.js.map +0 -1
- package/dist/menu/MenuVisibilityProvider.js.map +0 -1
- package/dist/menu/MenuWidget.js.map +0 -1
- package/dist/menu/MenuWidgetKeyboardProvider.js.map +0 -1
- package/dist/menu/useContextMenu.js.map +0 -1
- package/dist/menu/useMenuBarProvider.js.map +0 -1
- package/dist/menu/utils.js.map +0 -1
- package/dist/movement/constants.js.map +0 -1
- package/dist/movement/findMatchIndex.js.map +0 -1
- package/dist/movement/types.js.map +0 -1
- package/dist/movement/useKeyboardMovementProvider.js.map +0 -1
- package/dist/movement/utils.js.map +0 -1
- package/dist/overlay/Overlay.js.map +0 -1
- package/dist/overlay/overlayStyles.js.map +0 -1
- package/dist/portal/Portal.js.map +0 -1
- package/dist/portal/PortalContainerProvider.js.map +0 -1
- package/dist/positioning/constants.js.map +0 -1
- package/dist/positioning/createHorizontalPosition.js.map +0 -1
- package/dist/positioning/createVerticalPosition.js.map +0 -1
- package/dist/positioning/getFixedPosition.js.map +0 -1
- package/dist/positioning/types.js.map +0 -1
- package/dist/positioning/useFixedPositioning.js.map +0 -1
- package/dist/positioning/utils.js.map +0 -1
- package/dist/progress/CircularProgress.js.map +0 -1
- package/dist/progress/LinearProgress.js.map +0 -1
- package/dist/progress/getProgressA11y.js.map +0 -1
- package/dist/progress/types.js.map +0 -1
- package/dist/responsive-item/ResponsiveItemContainer.js.map +0 -1
- package/dist/responsive-item/ResponsiveItemOverlay.js.map +0 -1
- package/dist/responsive-item/styles.js.map +0 -1
- package/dist/scroll/ScrollLock.js.map +0 -1
- package/dist/scroll/getScrollbarWidth.js.map +0 -1
- package/dist/scroll/useScrollLock.js.map +0 -1
- package/dist/segmented-button/SegmentedButton.js.map +0 -1
- package/dist/segmented-button/SegmentedButtonContainer.js.map +0 -1
- package/dist/segmented-button/segmentedButtonContainerStyles.js.map +0 -1
- package/dist/segmented-button/segmentedButtonStyles.js.map +0 -1
- package/dist/sheet/Sheet.js.map +0 -1
- package/dist/sheet/styles.js.map +0 -1
- package/dist/snackbar/DefaultToastRenderer.js.map +0 -1
- package/dist/snackbar/Snackbar.js.map +0 -1
- package/dist/snackbar/Toast.js.map +0 -1
- package/dist/snackbar/ToastActionButton.js.map +0 -1
- package/dist/snackbar/ToastCloseButton.js.map +0 -1
- package/dist/snackbar/ToastContent.js.map +0 -1
- package/dist/snackbar/ToastManager.js.map +0 -1
- package/dist/snackbar/ToastManagerProvider.js.map +0 -1
- package/dist/snackbar/snackbarStyles.js.map +0 -1
- package/dist/snackbar/toastContentStyles.js.map +0 -1
- package/dist/snackbar/toastStyles.js.map +0 -1
- package/dist/snackbar/useCurrentToastActions.js.map +0 -1
- package/dist/suspense/CircularProgressSuspense.js.map +0 -1
- package/dist/suspense/NullSuspense.js.map +0 -1
- package/dist/table/Table.js.map +0 -1
- package/dist/table/TableBody.js.map +0 -1
- package/dist/table/TableCell.js.map +0 -1
- package/dist/table/TableCellContent.js.map +0 -1
- package/dist/table/TableCheckbox.js.map +0 -1
- package/dist/table/TableConfigurationProvider.js.map +0 -1
- package/dist/table/TableContainer.js.map +0 -1
- package/dist/table/TableContainerProvider.js.map +0 -1
- package/dist/table/TableFooter.js.map +0 -1
- package/dist/table/TableHeader.js.map +0 -1
- package/dist/table/TableRadio.js.map +0 -1
- package/dist/table/TableRow.js.map +0 -1
- package/dist/table/tableCellStyles.js.map +0 -1
- package/dist/table/tableContainerStyles.js.map +0 -1
- package/dist/table/tableFooterStyles.js.map +0 -1
- package/dist/table/tableHeaderStyles.js.map +0 -1
- package/dist/table/tableRowStyles.js.map +0 -1
- package/dist/table/tableStyles.js.map +0 -1
- package/dist/table/types.js.map +0 -1
- package/dist/tabs/Tab.js.map +0 -1
- package/dist/tabs/TabList.js.map +0 -1
- package/dist/tabs/TabListScrollButton.js.map +0 -1
- package/dist/tabs/tabIndicatorStyles.js.map +0 -1
- package/dist/tabs/tabListScrollButtonStyles.js.map +0 -1
- package/dist/tabs/tabListStyles.js.map +0 -1
- package/dist/tabs/tabStyles.js.map +0 -1
- package/dist/tabs/useTabList.js.map +0 -1
- package/dist/tabs/useTabs.js.map +0 -1
- package/dist/tabs/utils.js.map +0 -1
- package/dist/test-utils/IntersectionObserver.js.map +0 -1
- package/dist/test-utils/ResizeObserver.js.map +0 -1
- package/dist/test-utils/data-testid.js.map +0 -1
- package/dist/test-utils/index.js.map +0 -1
- package/dist/test-utils/jest-setup.js.map +0 -1
- package/dist/test-utils/matchMedia.js.map +0 -1
- package/dist/test-utils/polyfills/IntersectionObserver.js.map +0 -1
- package/dist/test-utils/polyfills/ResizeObserver.js.map +0 -1
- package/dist/test-utils/polyfills/index.js.map +0 -1
- package/dist/test-utils/polyfills/matchMedia.js.map +0 -1
- package/dist/test-utils/polyfills/offsetParent.js.map +0 -1
- package/dist/test-utils/polyfills/scrollIntoView.js.map +0 -1
- package/dist/test-utils/render.js.map +0 -1
- package/dist/test-utils/timers.js.map +0 -1
- package/dist/theme/LocalStorageColorSchemeProvider.js.map +0 -1
- package/dist/theme/ThemeProvider.js.map +0 -1
- package/dist/theme/colors.js.map +0 -1
- package/dist/theme/cssVars.js.map +0 -1
- package/dist/theme/types.js.map +0 -1
- package/dist/theme/useCSSVariables.js.map +0 -1
- package/dist/theme/useColorScheme.js.map +0 -1
- package/dist/theme/useColorSchemeMetaTag.js.map +0 -1
- package/dist/theme/useColorSchemeProvider.js.map +0 -1
- package/dist/theme/usePrefersColorScheme.js.map +0 -1
- package/dist/theme/utils.js.map +0 -1
- package/dist/tooltip/Tooltip.js.map +0 -1
- package/dist/tooltip/TooltipHoverModeProvider.js.map +0 -1
- package/dist/tooltip/constants.js.map +0 -1
- package/dist/tooltip/tooltipStyles.js.map +0 -1
- package/dist/tooltip/useTooltip.js.map +0 -1
- package/dist/tooltip/useTooltipPosition.js.map +0 -1
- package/dist/tooltip/utils.js.map +0 -1
- package/dist/transition/CSSTransition.js.map +0 -1
- package/dist/transition/Collapse.js.map +0 -1
- package/dist/transition/CrossFade.js.map +0 -1
- package/dist/transition/ScaleTransition.js.map +0 -1
- package/dist/transition/SkeletonPlaceholder.js.map +0 -1
- package/dist/transition/Slide.js.map +0 -1
- package/dist/transition/SlideContainer.js.map +0 -1
- package/dist/transition/collapseStyles.js.map +0 -1
- package/dist/transition/config.js.map +0 -1
- package/dist/transition/maxWidthTransition.js.map +0 -1
- package/dist/transition/skeletonPlaceholderUtils.js.map +0 -1
- package/dist/transition/types.js.map +0 -1
- package/dist/transition/useCSSTransition.js.map +0 -1
- package/dist/transition/useCarousel.js.map +0 -1
- package/dist/transition/useCollapseTransition.js.map +0 -1
- package/dist/transition/useCrossFadeTransition.js.map +0 -1
- package/dist/transition/useMaxWidthTransition.js.map +0 -1
- package/dist/transition/useScaleTransition.js.map +0 -1
- package/dist/transition/useSkeletonPlaceholder.js.map +0 -1
- package/dist/transition/useSlideTransition.js.map +0 -1
- package/dist/transition/useTransition.js.map +0 -1
- package/dist/transition/utils.js.map +0 -1
- package/dist/tree/DefaultTreeItemRenderer.js.map +0 -1
- package/dist/tree/Tree.js.map +0 -1
- package/dist/tree/TreeGroup.js.map +0 -1
- package/dist/tree/TreeItem.js.map +0 -1
- package/dist/tree/TreeItemExpander.js.map +0 -1
- package/dist/tree/TreeProvider.js.map +0 -1
- package/dist/tree/styles.js.map +0 -1
- package/dist/tree/types.js.map +0 -1
- package/dist/tree/useTree.js.map +0 -1
- package/dist/tree/useTreeExpansion.js.map +0 -1
- package/dist/tree/useTreeItems.js.map +0 -1
- package/dist/tree/useTreeMovement.js.map +0 -1
- package/dist/tree/useTreeSelection.js.map +0 -1
- package/dist/tree/utils.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/typography/SrOnly.js.map +0 -1
- package/dist/typography/TextContainer.js.map +0 -1
- package/dist/typography/Typography.js.map +0 -1
- package/dist/typography/WritingDirectionProvider.js.map +0 -1
- package/dist/useAsyncAction.js.map +0 -1
- package/dist/useDebouncedFunction.js.map +0 -1
- package/dist/useDropzone.js.map +0 -1
- package/dist/useElementSize.js.map +0 -1
- package/dist/useEnsuredId.js.map +0 -1
- package/dist/useEnsuredRef.js.map +0 -1
- package/dist/useEnsuredState.js.map +0 -1
- package/dist/useHtmlClassName.js.map +0 -1
- package/dist/useIntersectionObserver.js.map +0 -1
- package/dist/useIsomorphicLayoutEffect.js.map +0 -1
- package/dist/useLocalStorage.js.map +0 -1
- package/dist/useOrientation.js.map +0 -1
- package/dist/usePageInactive.js.map +0 -1
- package/dist/useResizeListener.js.map +0 -1
- package/dist/useResizeObserver.js.map +0 -1
- package/dist/useThrottledFunction.js.map +0 -1
- package/dist/useToggle.js.map +0 -1
- package/dist/useUnmounted.js.map +0 -1
- package/dist/useWindowSize.js.map +0 -1
- package/dist/utils/RenderRecursively.js.map +0 -1
- package/dist/utils/alphaNumericSort.js.map +0 -1
- package/dist/utils/applyRef.js.map +0 -1
- package/dist/utils/bem.js.map +0 -1
- package/dist/utils/filters.js.map +0 -1
- package/dist/utils/getClientPosition.js.map +0 -1
- package/dist/utils/getMiddleOfRange.js.map +0 -1
- package/dist/utils/getPercentage.js.map +0 -1
- package/dist/utils/getRangeDefaultValue.js.map +0 -1
- package/dist/utils/getRangeSteps.js.map +0 -1
- package/dist/utils/identity.js.map +0 -1
- package/dist/utils/isElementVisible.js.map +0 -1
- package/dist/utils/loop.js.map +0 -1
- package/dist/utils/nearest.js.map +0 -1
- package/dist/utils/parseCssLengthUnit.js.map +0 -1
- package/dist/utils/randomInt.js.map +0 -1
- package/dist/utils/wait.js.map +0 -1
- package/dist/utils/withinRange.js.map +0 -1
- package/dist/window-splitter/WindowSplitter.js.map +0 -1
- package/dist/window-splitter/useWindowSplitter.js.map +0 -1
- /package/dist/{CoreProviders.js → src/CoreProviders.js} +0 -0
- /package/dist/{NoSsr.js → src/NoSsr.js} +0 -0
- /package/dist/{SsrProvider.js → src/SsrProvider.js} +0 -0
- /package/dist/{app-bar → src/app-bar}/AppBar.js +0 -0
- /package/dist/{app-bar → src/app-bar}/AppBarTitle.js +0 -0
- /package/dist/{avatar → src/avatar}/Avatar.js +0 -0
- /package/dist/{avatar → src/avatar}/styles.js +0 -0
- /package/dist/{badge → src/badge}/Badge.js +0 -0
- /package/dist/{box → src/box}/Box.js +0 -0
- /package/dist/{box → src/box}/styles.js +0 -0
- /package/dist/{button → src/button}/AsyncButton.js +0 -0
- /package/dist/{button → src/button}/Button.js +0 -0
- /package/dist/{button → src/button}/ButtonUnstyled.js +0 -0
- /package/dist/{button → src/button}/FloatingActionButton.js +0 -0
- /package/dist/{button → src/button}/TooltippedButton.js +0 -0
- /package/dist/{button → src/button}/buttonStyles.js +0 -0
- /package/dist/{button → src/button}/buttonUnstyledStyles.js +0 -0
- /package/dist/{card → src/card}/Card.js +0 -0
- /package/dist/{card → src/card}/CardContent.js +0 -0
- /package/dist/{card → src/card}/CardFooter.js +0 -0
- /package/dist/{card → src/card}/CardHeader.js +0 -0
- /package/dist/{card → src/card}/CardSubtitle.js +0 -0
- /package/dist/{card → src/card}/CardTitle.js +0 -0
- /package/dist/{card → src/card}/ClickableCard.js +0 -0
- /package/dist/{card → src/card}/styles.js +0 -0
- /package/dist/{chip → src/chip}/Chip.js +0 -0
- /package/dist/{chip → src/chip}/styles.js +0 -0
- /package/dist/{cssUtils.js → src/cssUtils.js} +0 -0
- /package/dist/{delegateEvent.js → src/delegateEvent.js} +0 -0
- /package/dist/{dialog → src/dialog}/Dialog.js +0 -0
- /package/dist/{dialog → src/dialog}/DialogContainer.js +0 -0
- /package/dist/{dialog → src/dialog}/DialogContent.js +0 -0
- /package/dist/{dialog → src/dialog}/DialogFooter.js +0 -0
- /package/dist/{dialog → src/dialog}/DialogHeader.js +0 -0
- /package/dist/{dialog → src/dialog}/DialogTitle.js +0 -0
- /package/dist/{dialog → src/dialog}/FixedDialog.js +0 -0
- /package/dist/{dialog → src/dialog}/NestedDialogProvider.js +0 -0
- /package/dist/{dialog → src/dialog}/styles.js +0 -0
- /package/dist/{divider → src/divider}/Divider.js +0 -0
- /package/dist/{divider → src/divider}/styles.js +0 -0
- /package/dist/{draggable → src/draggable}/useDraggable.js +0 -0
- /package/dist/{draggable → src/draggable}/utils.js +0 -0
- /package/dist/{expansion-panel → src/expansion-panel}/ExpansionList.js +0 -0
- /package/dist/{expansion-panel → src/expansion-panel}/ExpansionPanel.js +0 -0
- /package/dist/{expansion-panel → src/expansion-panel}/ExpansionPanelHeader.js +0 -0
- /package/dist/{expansion-panel → src/expansion-panel}/useExpansionList.js +0 -0
- /package/dist/{expansion-panel → src/expansion-panel}/useExpansionPanels.js +0 -0
- /package/dist/{focus → src/focus}/useFocusContainer.js +0 -0
- /package/dist/{focus → src/focus}/utils.js +0 -0
- /package/dist/{form → src/form}/Checkbox.js +0 -0
- /package/dist/{form → src/form}/Fieldset.js +0 -0
- /package/dist/{form → src/form}/FileInput.js +0 -0
- /package/dist/{form → src/form}/Form.js +0 -0
- /package/dist/{form → src/form}/FormMessage.js +0 -0
- /package/dist/{form → src/form}/FormMessageContainer.js +0 -0
- /package/dist/{form → src/form}/FormMessageCounter.js +0 -0
- /package/dist/{form → src/form}/InputToggle.js +0 -0
- /package/dist/{form → src/form}/InputToggleIcon.js +0 -0
- /package/dist/{form → src/form}/Label.js +0 -0
- /package/dist/{form → src/form}/Legend.js +0 -0
- /package/dist/{form → src/form}/MenuItemCheckbox.js +0 -0
- /package/dist/{form → src/form}/MenuItemFileInput.js +0 -0
- /package/dist/{form → src/form}/MenuItemInputToggle.js +0 -0
- /package/dist/{form → src/form}/MenuItemRadio.js +0 -0
- /package/dist/{form → src/form}/MenuItemSwitch.js +0 -0
- /package/dist/{form → src/form}/MenuItemTextField.js +0 -0
- /package/dist/{form → src/form}/NativeSelect.js +0 -0
- /package/dist/{form → src/form}/OptGroup.js +0 -0
- /package/dist/{form → src/form}/Option.js +0 -0
- /package/dist/{form → src/form}/Password.js +0 -0
- /package/dist/{form → src/form}/Radio.js +0 -0
- /package/dist/{form → src/form}/Select.js +0 -0
- /package/dist/{form → src/form}/SelectValue.js +0 -0
- /package/dist/{form → src/form}/Slider.js +0 -0
- /package/dist/{form → src/form}/SliderContainer.js +0 -0
- /package/dist/{form → src/form}/SliderMark.js +0 -0
- /package/dist/{form → src/form}/SliderMarkLabel.js +0 -0
- /package/dist/{form → src/form}/SliderThumb.js +0 -0
- /package/dist/{form → src/form}/SliderTrack.js +0 -0
- /package/dist/{form → src/form}/SliderValueMarks.js +0 -0
- /package/dist/{form → src/form}/SliderValueTooltip.js +0 -0
- /package/dist/{form → src/form}/Switch.js +0 -0
- /package/dist/{form → src/form}/SwitchTrack.js +0 -0
- /package/dist/{form → src/form}/TextArea.js +0 -0
- /package/dist/{form → src/form}/TextField.js +0 -0
- /package/dist/{form → src/form}/TextFieldAddon.js +0 -0
- /package/dist/{form → src/form}/TextFieldContainer.js +0 -0
- /package/dist/{form → src/form}/TextFieldContainerStyles.js +0 -0
- /package/dist/{form → src/form}/fileUtils.js +0 -0
- /package/dist/{form → src/form}/formConfig.js +0 -0
- /package/dist/{form → src/form}/formMessageStyles.js +0 -0
- /package/dist/{form → src/form}/inputToggleStyles.js +0 -0
- /package/dist/{form → src/form}/nativeSelectStyles.js +0 -0
- /package/dist/{form → src/form}/optionStyles.js +0 -0
- /package/dist/{form → src/form}/passwordStyles.js +0 -0
- /package/dist/{form → src/form}/selectStyles.js +0 -0
- /package/dist/{form → src/form}/selectUtils.js +0 -0
- /package/dist/{form → src/form}/sliderUtils.js +0 -0
- /package/dist/{form → src/form}/switchStyles.js +0 -0
- /package/dist/{form → src/form}/textAreaStyles.js +0 -0
- /package/dist/{form → src/form}/textFieldStyles.js +0 -0
- /package/dist/{form → src/form}/types.js +0 -0
- /package/dist/{form → src/form}/useCheckboxGroup.js +0 -0
- /package/dist/{form → src/form}/useFileUpload.js +0 -0
- /package/dist/{form → src/form}/useListboxProvider.js +0 -0
- /package/dist/{form → src/form}/useNumberField.js +0 -0
- /package/dist/{form → src/form}/useRadioGroup.js +0 -0
- /package/dist/{form → src/form}/useRangeSlider.js +0 -0
- /package/dist/{form → src/form}/useResizingTextArea.js +0 -0
- /package/dist/{form → src/form}/useSlider.js +0 -0
- /package/dist/{form → src/form}/useTextField.js +0 -0
- /package/dist/{form → src/form}/utils.js +0 -0
- /package/dist/{form → src/form}/validation.js +0 -0
- /package/dist/{hoverMode → src/hoverMode}/useHoverMode.js +0 -0
- /package/dist/{hoverMode → src/hoverMode}/useHoverModeProvider.js +0 -0
- /package/dist/{icon → src/icon}/FontIcon.js +0 -0
- /package/dist/{icon → src/icon}/IconRotator.js +0 -0
- /package/dist/{icon → src/icon}/MaterialIcon.js +0 -0
- /package/dist/{icon → src/icon}/MaterialSymbol.js +0 -0
- /package/dist/{icon → src/icon}/SVGIcon.js +0 -0
- /package/dist/{icon → src/icon}/TextIconSpacing.js +0 -0
- /package/dist/{icon → src/icon}/iconConfig.js +0 -0
- /package/dist/{icon → src/icon}/material.js +0 -0
- /package/dist/{icon → src/icon}/materialConfig.js +0 -0
- /package/dist/{icon → src/icon}/styles.js +0 -0
- /package/dist/{index.js → src/index.js} +0 -0
- /package/dist/{interaction → src/interaction}/Ripple.js +0 -0
- /package/dist/{interaction → src/interaction}/RippleContainer.js +0 -0
- /package/dist/{interaction → src/interaction}/UserInteractionModeProvider.js +0 -0
- /package/dist/{interaction → src/interaction}/config.js +0 -0
- /package/dist/{interaction → src/interaction}/types.js +0 -0
- /package/dist/{interaction → src/interaction}/useElementInteraction.js +0 -0
- /package/dist/{interaction → src/interaction}/useHigherContrastChildren.js +0 -0
- /package/dist/{interaction → src/interaction}/utils.js +0 -0
- /package/dist/{layout → src/layout}/LayoutAppBar.js +0 -0
- /package/dist/{layout → src/layout}/LayoutNav.js +0 -0
- /package/dist/{layout → src/layout}/LayoutWindowSplitter.js +0 -0
- /package/dist/{layout → src/layout}/Main.js +0 -0
- /package/dist/{layout → src/layout}/layoutNavStyles.js +0 -0
- /package/dist/{layout → src/layout}/layoutWindowSplitterStyles.js +0 -0
- /package/dist/{layout → src/layout}/mainStyles.js +0 -0
- /package/dist/{layout → src/layout}/useExpandableLayout.js +0 -0
- /package/dist/{layout → src/layout}/useHorizontalLayoutTransition.js +0 -0
- /package/dist/{layout → src/layout}/useLayoutAppBarHeight.js +0 -0
- /package/dist/{layout → src/layout}/useLayoutTree.js +0 -0
- /package/dist/{layout → src/layout}/useLayoutWindowSplitter.js +0 -0
- /package/dist/{layout → src/layout}/useMainTabIndex.js +0 -0
- /package/dist/{layout → src/layout}/useResizableLayout.js +0 -0
- /package/dist/{layout → src/layout}/useTemporaryLayout.js +0 -0
- /package/dist/{link → src/link}/Link.js +0 -0
- /package/dist/{link → src/link}/SkipToMainContent.js +0 -0
- /package/dist/{link → src/link}/styles.js +0 -0
- /package/dist/{list → src/list}/List.js +0 -0
- /package/dist/{list → src/list}/ListItemAddon.js +0 -0
- /package/dist/{list → src/list}/ListItemChildren.js +0 -0
- /package/dist/{list → src/list}/ListItemText.js +0 -0
- /package/dist/{list → src/list}/ListSubheader.js +0 -0
- /package/dist/{list → src/list}/listItemStyles.js +0 -0
- /package/dist/{list → src/list}/types.js +0 -0
- /package/dist/{media-queries → src/media-queries}/AppSizeProvider.js +0 -0
- /package/dist/{media-queries → src/media-queries}/appSize.js +0 -0
- /package/dist/{media-queries → src/media-queries}/useMediaQuery.js +0 -0
- /package/dist/{menu → src/menu}/DropdownMenu.js +0 -0
- /package/dist/{menu → src/menu}/Menu.js +0 -0
- /package/dist/{menu → src/menu}/MenuBar.js +0 -0
- /package/dist/{menu → src/menu}/MenuButton.js +0 -0
- /package/dist/{menu → src/menu}/MenuConfigurationProvider.js +0 -0
- /package/dist/{menu → src/menu}/MenuItem.js +0 -0
- /package/dist/{menu → src/menu}/MenuItemButton.js +0 -0
- /package/dist/{menu → src/menu}/MenuItemGroup.js +0 -0
- /package/dist/{menu → src/menu}/MenuItemSeparator.js +0 -0
- /package/dist/{menu → src/menu}/MenuSheet.js +0 -0
- /package/dist/{menu → src/menu}/MenuVisibilityProvider.js +0 -0
- /package/dist/{menu → src/menu}/MenuWidget.js +0 -0
- /package/dist/{menu → src/menu}/MenuWidgetKeyboardProvider.js +0 -0
- /package/dist/{menu → src/menu}/useContextMenu.js +0 -0
- /package/dist/{menu → src/menu}/useMenuBarProvider.js +0 -0
- /package/dist/{menu → src/menu}/utils.js +0 -0
- /package/dist/{movement → src/movement}/constants.js +0 -0
- /package/dist/{movement → src/movement}/findMatchIndex.js +0 -0
- /package/dist/{movement → src/movement}/types.js +0 -0
- /package/dist/{movement → src/movement}/useKeyboardMovementProvider.js +0 -0
- /package/dist/{movement → src/movement}/utils.js +0 -0
- /package/dist/{overlay → src/overlay}/Overlay.js +0 -0
- /package/dist/{overlay → src/overlay}/overlayStyles.js +0 -0
- /package/dist/{portal → src/portal}/Portal.js +0 -0
- /package/dist/{portal → src/portal}/PortalContainerProvider.js +0 -0
- /package/dist/{positioning → src/positioning}/constants.js +0 -0
- /package/dist/{positioning → src/positioning}/createHorizontalPosition.js +0 -0
- /package/dist/{positioning → src/positioning}/createVerticalPosition.js +0 -0
- /package/dist/{positioning → src/positioning}/getFixedPosition.js +0 -0
- /package/dist/{positioning → src/positioning}/types.js +0 -0
- /package/dist/{positioning → src/positioning}/useFixedPositioning.js +0 -0
- /package/dist/{positioning → src/positioning}/utils.js +0 -0
- /package/dist/{progress → src/progress}/CircularProgress.js +0 -0
- /package/dist/{progress → src/progress}/LinearProgress.js +0 -0
- /package/dist/{progress → src/progress}/getProgressA11y.js +0 -0
- /package/dist/{progress → src/progress}/types.js +0 -0
- /package/dist/{responsive-item → src/responsive-item}/ResponsiveItemContainer.js +0 -0
- /package/dist/{responsive-item → src/responsive-item}/ResponsiveItemOverlay.js +0 -0
- /package/dist/{responsive-item → src/responsive-item}/styles.js +0 -0
- /package/dist/{scroll → src/scroll}/ScrollLock.js +0 -0
- /package/dist/{scroll → src/scroll}/getScrollbarWidth.js +0 -0
- /package/dist/{scroll → src/scroll}/useScrollLock.js +0 -0
- /package/dist/{segmented-button → src/segmented-button}/SegmentedButton.js +0 -0
- /package/dist/{segmented-button → src/segmented-button}/SegmentedButtonContainer.js +0 -0
- /package/dist/{segmented-button → src/segmented-button}/segmentedButtonContainerStyles.js +0 -0
- /package/dist/{segmented-button → src/segmented-button}/segmentedButtonStyles.js +0 -0
- /package/dist/{sheet → src/sheet}/Sheet.js +0 -0
- /package/dist/{sheet → src/sheet}/styles.js +0 -0
- /package/dist/{snackbar → src/snackbar}/DefaultToastRenderer.js +0 -0
- /package/dist/{snackbar → src/snackbar}/Snackbar.js +0 -0
- /package/dist/{snackbar → src/snackbar}/Toast.js +0 -0
- /package/dist/{snackbar → src/snackbar}/ToastActionButton.js +0 -0
- /package/dist/{snackbar → src/snackbar}/ToastCloseButton.js +0 -0
- /package/dist/{snackbar → src/snackbar}/ToastContent.js +0 -0
- /package/dist/{snackbar → src/snackbar}/ToastManager.js +0 -0
- /package/dist/{snackbar → src/snackbar}/ToastManagerProvider.js +0 -0
- /package/dist/{snackbar → src/snackbar}/snackbarStyles.js +0 -0
- /package/dist/{snackbar → src/snackbar}/toastContentStyles.js +0 -0
- /package/dist/{snackbar → src/snackbar}/toastStyles.js +0 -0
- /package/dist/{snackbar → src/snackbar}/useCurrentToastActions.js +0 -0
- /package/dist/{suspense → src/suspense}/CircularProgressSuspense.js +0 -0
- /package/dist/{suspense → src/suspense}/NullSuspense.js +0 -0
- /package/dist/{table → src/table}/Table.js +0 -0
- /package/dist/{table → src/table}/TableBody.js +0 -0
- /package/dist/{table → src/table}/TableCell.js +0 -0
- /package/dist/{table → src/table}/TableCellContent.js +0 -0
- /package/dist/{table → src/table}/TableCheckbox.js +0 -0
- /package/dist/{table → src/table}/TableConfigurationProvider.js +0 -0
- /package/dist/{table → src/table}/TableContainer.js +0 -0
- /package/dist/{table → src/table}/TableContainerProvider.js +0 -0
- /package/dist/{table → src/table}/TableFooter.js +0 -0
- /package/dist/{table → src/table}/TableHeader.js +0 -0
- /package/dist/{table → src/table}/TableRadio.js +0 -0
- /package/dist/{table → src/table}/TableRow.js +0 -0
- /package/dist/{table → src/table}/tableCellStyles.js +0 -0
- /package/dist/{table → src/table}/tableContainerStyles.js +0 -0
- /package/dist/{table → src/table}/tableFooterStyles.js +0 -0
- /package/dist/{table → src/table}/tableHeaderStyles.js +0 -0
- /package/dist/{table → src/table}/tableRowStyles.js +0 -0
- /package/dist/{table → src/table}/tableStyles.js +0 -0
- /package/dist/{table → src/table}/types.js +0 -0
- /package/dist/{tabs → src/tabs}/Tab.js +0 -0
- /package/dist/{tabs → src/tabs}/TabList.js +0 -0
- /package/dist/{tabs → src/tabs}/TabListScrollButton.js +0 -0
- /package/dist/{tabs → src/tabs}/tabIndicatorStyles.js +0 -0
- /package/dist/{tabs → src/tabs}/tabListScrollButtonStyles.js +0 -0
- /package/dist/{tabs → src/tabs}/tabListStyles.js +0 -0
- /package/dist/{tabs → src/tabs}/tabStyles.js +0 -0
- /package/dist/{tabs → src/tabs}/useTabList.js +0 -0
- /package/dist/{tabs → src/tabs}/useTabs.js +0 -0
- /package/dist/{tabs → src/tabs}/utils.js +0 -0
- /package/dist/{test-utils → src/test-utils}/IntersectionObserver.js +0 -0
- /package/dist/{test-utils → src/test-utils}/ResizeObserver.js +0 -0
- /package/dist/{test-utils → src/test-utils}/data-testid.js +0 -0
- /package/dist/{test-utils → src/test-utils}/index.js +0 -0
- /package/dist/{test-utils → src/test-utils}/jest-setup.js +0 -0
- /package/dist/{test-utils → src/test-utils}/matchMedia.js +0 -0
- /package/dist/{test-utils → src/test-utils}/polyfills/IntersectionObserver.js +0 -0
- /package/dist/{test-utils → src/test-utils}/polyfills/ResizeObserver.js +0 -0
- /package/dist/{test-utils → src/test-utils}/polyfills/index.js +0 -0
- /package/dist/{test-utils → src/test-utils}/polyfills/matchMedia.js +0 -0
- /package/dist/{test-utils → src/test-utils}/polyfills/offsetParent.js +0 -0
- /package/dist/{test-utils → src/test-utils}/polyfills/scrollIntoView.js +0 -0
- /package/dist/{test-utils → src/test-utils}/render.js +0 -0
- /package/dist/{test-utils → src/test-utils}/timers.js +0 -0
- /package/dist/{theme → src/theme}/LocalStorageColorSchemeProvider.js +0 -0
- /package/dist/{theme → src/theme}/ThemeProvider.js +0 -0
- /package/dist/{theme → src/theme}/colors.js +0 -0
- /package/dist/{theme → src/theme}/cssVars.js +0 -0
- /package/dist/{theme → src/theme}/types.js +0 -0
- /package/dist/{theme → src/theme}/useCSSVariables.js +0 -0
- /package/dist/{theme → src/theme}/useColorScheme.js +0 -0
- /package/dist/{theme → src/theme}/useColorSchemeMetaTag.js +0 -0
- /package/dist/{theme → src/theme}/useColorSchemeProvider.js +0 -0
- /package/dist/{theme → src/theme}/usePrefersColorScheme.js +0 -0
- /package/dist/{theme → src/theme}/utils.js +0 -0
- /package/dist/{tooltip → src/tooltip}/Tooltip.js +0 -0
- /package/dist/{tooltip → src/tooltip}/TooltipHoverModeProvider.js +0 -0
- /package/dist/{tooltip → src/tooltip}/constants.js +0 -0
- /package/dist/{tooltip → src/tooltip}/tooltipStyles.js +0 -0
- /package/dist/{tooltip → src/tooltip}/useTooltip.js +0 -0
- /package/dist/{tooltip → src/tooltip}/useTooltipPosition.js +0 -0
- /package/dist/{tooltip → src/tooltip}/utils.js +0 -0
- /package/dist/{transition → src/transition}/CSSTransition.js +0 -0
- /package/dist/{transition → src/transition}/Collapse.js +0 -0
- /package/dist/{transition → src/transition}/CrossFade.js +0 -0
- /package/dist/{transition → src/transition}/ScaleTransition.js +0 -0
- /package/dist/{transition → src/transition}/SkeletonPlaceholder.js +0 -0
- /package/dist/{transition → src/transition}/Slide.js +0 -0
- /package/dist/{transition → src/transition}/SlideContainer.js +0 -0
- /package/dist/{transition → src/transition}/collapseStyles.js +0 -0
- /package/dist/{transition → src/transition}/config.js +0 -0
- /package/dist/{transition → src/transition}/maxWidthTransition.js +0 -0
- /package/dist/{transition → src/transition}/skeletonPlaceholderUtils.js +0 -0
- /package/dist/{transition → src/transition}/types.js +0 -0
- /package/dist/{transition → src/transition}/useCSSTransition.js +0 -0
- /package/dist/{transition → src/transition}/useCarousel.js +0 -0
- /package/dist/{transition → src/transition}/useCollapseTransition.js +0 -0
- /package/dist/{transition → src/transition}/useCrossFadeTransition.js +0 -0
- /package/dist/{transition → src/transition}/useMaxWidthTransition.js +0 -0
- /package/dist/{transition → src/transition}/useScaleTransition.js +0 -0
- /package/dist/{transition → src/transition}/useSkeletonPlaceholder.js +0 -0
- /package/dist/{transition → src/transition}/useSlideTransition.js +0 -0
- /package/dist/{transition → src/transition}/useTransition.js +0 -0
- /package/dist/{transition → src/transition}/utils.js +0 -0
- /package/dist/{tree → src/tree}/DefaultTreeItemRenderer.js +0 -0
- /package/dist/{tree → src/tree}/Tree.js +0 -0
- /package/dist/{tree → src/tree}/TreeGroup.js +0 -0
- /package/dist/{tree → src/tree}/TreeItem.js +0 -0
- /package/dist/{tree → src/tree}/TreeItemExpander.js +0 -0
- /package/dist/{tree → src/tree}/TreeProvider.js +0 -0
- /package/dist/{tree → src/tree}/styles.js +0 -0
- /package/dist/{tree → src/tree}/types.js +0 -0
- /package/dist/{tree → src/tree}/useTree.js +0 -0
- /package/dist/{tree → src/tree}/useTreeExpansion.js +0 -0
- /package/dist/{tree → src/tree}/useTreeItems.js +0 -0
- /package/dist/{tree → src/tree}/useTreeMovement.js +0 -0
- /package/dist/{tree → src/tree}/useTreeSelection.js +0 -0
- /package/dist/{tree → src/tree}/utils.js +0 -0
- /package/dist/{types.js → src/types.js} +0 -0
- /package/dist/{typography → src/typography}/SrOnly.js +0 -0
- /package/dist/{typography → src/typography}/TextContainer.js +0 -0
- /package/dist/{typography → src/typography}/Typography.js +0 -0
- /package/dist/{typography → src/typography}/WritingDirectionProvider.js +0 -0
- /package/dist/{useAsyncAction.js → src/useAsyncAction.js} +0 -0
- /package/dist/{useDebouncedFunction.js → src/useDebouncedFunction.js} +0 -0
- /package/dist/{useDropzone.js → src/useDropzone.js} +0 -0
- /package/dist/{useElementSize.js → src/useElementSize.js} +0 -0
- /package/dist/{useEnsuredId.js → src/useEnsuredId.js} +0 -0
- /package/dist/{useEnsuredRef.js → src/useEnsuredRef.js} +0 -0
- /package/dist/{useEnsuredState.js → src/useEnsuredState.js} +0 -0
- /package/dist/{useHtmlClassName.js → src/useHtmlClassName.js} +0 -0
- /package/dist/{useIntersectionObserver.js → src/useIntersectionObserver.js} +0 -0
- /package/dist/{useIsomorphicLayoutEffect.js → src/useIsomorphicLayoutEffect.js} +0 -0
- /package/dist/{useLocalStorage.js → src/useLocalStorage.js} +0 -0
- /package/dist/{useOrientation.js → src/useOrientation.js} +0 -0
- /package/dist/{usePageInactive.js → src/usePageInactive.js} +0 -0
- /package/dist/{useResizeListener.js → src/useResizeListener.js} +0 -0
- /package/dist/{useResizeObserver.js → src/useResizeObserver.js} +0 -0
- /package/dist/{useThrottledFunction.js → src/useThrottledFunction.js} +0 -0
- /package/dist/{useToggle.js → src/useToggle.js} +0 -0
- /package/dist/{useUnmounted.js → src/useUnmounted.js} +0 -0
- /package/dist/{useWindowSize.js → src/useWindowSize.js} +0 -0
- /package/dist/{utils → src/utils}/RenderRecursively.js +0 -0
- /package/dist/{utils → src/utils}/alphaNumericSort.js +0 -0
- /package/dist/{utils → src/utils}/applyRef.js +0 -0
- /package/dist/{utils → src/utils}/bem.js +0 -0
- /package/dist/{utils → src/utils}/filters.js +0 -0
- /package/dist/{utils → src/utils}/getClientPosition.js +0 -0
- /package/dist/{utils → src/utils}/getMiddleOfRange.js +0 -0
- /package/dist/{utils → src/utils}/getPercentage.js +0 -0
- /package/dist/{utils → src/utils}/getRangeDefaultValue.js +0 -0
- /package/dist/{utils → src/utils}/getRangeSteps.js +0 -0
- /package/dist/{utils → src/utils}/identity.js +0 -0
- /package/dist/{utils → src/utils}/isElementVisible.js +0 -0
- /package/dist/{utils → src/utils}/loop.js +0 -0
- /package/dist/{utils → src/utils}/nearest.js +0 -0
- /package/dist/{utils → src/utils}/parseCssLengthUnit.js +0 -0
- /package/dist/{utils → src/utils}/randomInt.js +0 -0
- /package/dist/{utils → src/utils}/wait.js +0 -0
- /package/dist/{utils → src/utils}/withinRange.js +0 -0
- /package/dist/{window-splitter → src/window-splitter}/WindowSplitter.js +0 -0
- /package/dist/{window-splitter → src/window-splitter}/useWindowSplitter.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/isElementVisible.ts"],"sourcesContent":["/**\n * Note: requires the `$disable-display-none-class` variable to remain `false`.\n *\n * @remarks \\@since 6.0.0\n */\nexport const DISPLAY_NONE_CLASS = \"rmd-display-none\";\n\n/**\n * This is a small util to check if an element within react-md is visible by\n * checking the element and all parents to see if they contain the\n * {@link DISPLAY_NONE_CLASS}.\n *\n * @example\n * Simple Example\n * ```tsx\n * const treeItem = screen.getByRole(\"treeitem\", { name: \"Tree Item\" });\n * const subTreeItem = screen.getByRole(\"treeitem\", { Name: \"Sub Tree Item\" });\n *\n * expect(isElementVisible(treeItem)).toBe(true);\n * expect(isElementVisible(subTreeItem)).toBe(false):\n *\n * await user.click(treeItem);\n * expect(isElementVisible(treeItem)).toBe(true);\n * expect(isElementVisible(subTreeItem)).toBe(true);\n * ```\n * @remarks \\@since 6.0.0\n */\nexport function isElementVisible(element: HTMLElement | null): boolean {\n if (!element) {\n return false;\n }\n\n let currentElement: HTMLElement | null = element;\n while (currentElement) {\n if (currentElement.classList.contains(DISPLAY_NONE_CLASS)) {\n return false;\n }\n\n currentElement = currentElement.parentElement;\n }\n\n return true;\n}\n"],"names":["DISPLAY_NONE_CLASS","isElementVisible","element","currentElement","classList","contains","parentElement"],"mappings":"AAAA;;;;CAIC,GACD,OAAO,MAAMA,qBAAqB,mBAAmB;AAErD;;;;;;;;;;;;;;;;;;;CAmBC,GACD,OAAO,SAASC,iBAAiBC,OAA2B;IAC1D,IAAI,CAACA,SAAS;QACZ,OAAO;IACT;IAEA,IAAIC,iBAAqCD;IACzC,MAAOC,eAAgB;QACrB,IAAIA,eAAeC,SAAS,CAACC,QAAQ,CAACL,qBAAqB;YACzD,OAAO;QACT;QAEAG,iBAAiBA,eAAeG,aAAa;IAC/C;IAEA,OAAO;AACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/loop.ts"],"sourcesContent":["/**\n * @remarks \\@since 2.7.0\n * @internal\n */\nexport interface LoopOptions {\n /**\n * The current value that should be modified.\n */\n value: number;\n\n /**\n * An optional `min` value that can be used before looping to the `max` value.\n *\n * @defaultValue `0`\n */\n min?: number;\n\n /**\n * The max number that can be used before looping to the `min` value.\n */\n max: number;\n\n /**\n * Boolean if the `value` should be incremented or decremented by `1`.\n */\n increment: boolean;\n\n /**\n * Boolean if the looping should be ignored and only the `min`/`max` options\n * should be respected. In other words, the looping behavior will be disabled\n * and the `value` must be: `min >= value <= max`\n */\n minmax?: boolean;\n}\n\n/**\n * A small util that is used to increment or decrement a number until it reaches\n * the max value or -1. When that happens, it will loop around to 0 or the max\n * value respectively. This does not work for different increment numbers or any\n * values below 0 for now.\n *\n * @internal\n * @param options - {@link LoopOptions}\n * @remarks \\@since 2.7.0 The `min` option was added and the arguments changed to an\n * object\n */\nexport function loop(options: LoopOptions): number {\n const { value, min = 0, max, increment, minmax = false } = options;\n let next = value + (increment ? 1 : -1);\n if (minmax) {\n next = Math.min(max, Math.max(min, next));\n } else if (next > max) {\n next = min;\n } else if (next < min) {\n next = max;\n }\n\n return next;\n}\n"],"names":["loop","options","value","min","max","increment","minmax","next","Math"],"mappings":"AAAA;;;CAGC,GAgCD;;;;;;;;;;CAUC,GACD,OAAO,SAASA,KAAKC,OAAoB;IACvC,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC,EAAEC,GAAG,EAAEC,SAAS,EAAEC,SAAS,KAAK,EAAE,GAAGL;IAC3D,IAAIM,OAAOL,QAASG,CAAAA,YAAY,IAAI,CAAC,CAAA;IACrC,IAAIC,QAAQ;QACVC,OAAOC,KAAKL,GAAG,CAACC,KAAKI,KAAKJ,GAAG,CAACD,KAAKI;IACrC,OAAO,IAAIA,OAAOH,KAAK;QACrBG,OAAOJ;IACT,OAAO,IAAII,OAAOJ,KAAK;QACrBI,OAAOH;IACT;IAEA,OAAOG;AACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/nearest.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface NearestOptions {\n min: number;\n max: number;\n steps: number;\n value: number;\n\n /** @defaultValue `max - min` */\n range?: number;\n}\n\n/**\n * Rounds a number to the nearest step within a min/max range.\n *\n * @see https://stackoverflow.com/a/13635455\n * @returns the value rounded to the nearest step in the min/max range\n * @remarks\n * \\@since 2.5.0 Added the `range` param\n * \\@since 6.0.0 Converted to using an object instead of multiple arguments.\n */\nexport function nearest(options: NearestOptions): number {\n const { min, max, steps, value, range = max - min } = options;\n if (min === max) {\n return max;\n }\n\n const rounded = Math.round(((value - min) * steps) / range) / steps;\n const zeroToOne = Math.min(Math.max(rounded, 0), 1);\n\n // have to calculate the number of allowed decimal places since decimal\n // precision gets weird:\n // 0.28 * 100 === 28.000000000000004\n const step = range / steps;\n const decimals = Number.isInteger(step)\n ? range % steps\n : `${step}`.split(\".\")[1].length;\n\n return Math.min(\n max,\n Math.max(min, parseFloat((zeroToOne * range + min).toFixed(decimals)))\n );\n}\n"],"names":["nearest","options","min","max","steps","value","range","rounded","Math","round","zeroToOne","step","decimals","Number","isInteger","split","length","parseFloat","toFixed"],"mappings":"AAAA;;;CAGC,GAWD;;;;;;;;CAQC,GACD,OAAO,SAASA,QAAQC,OAAuB;IAC7C,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,EAAEC,KAAK,EAAEC,QAAQH,MAAMD,GAAG,EAAE,GAAGD;IACtD,IAAIC,QAAQC,KAAK;QACf,OAAOA;IACT;IAEA,MAAMI,UAAUC,KAAKC,KAAK,CAAC,AAAEJ,CAAAA,QAAQH,GAAE,IAAKE,QAASE,SAASF;IAC9D,MAAMM,YAAYF,KAAKN,GAAG,CAACM,KAAKL,GAAG,CAACI,SAAS,IAAI;IAEjD,uEAAuE;IACvE,wBAAwB;IACxB,oCAAoC;IACpC,MAAMI,OAAOL,QAAQF;IACrB,MAAMQ,WAAWC,OAAOC,SAAS,CAACH,QAC9BL,QAAQF,QACR,CAAC,EAAEO,KAAK,CAAC,CAACI,KAAK,CAAC,IAAI,CAAC,EAAE,CAACC,MAAM;IAElC,OAAOR,KAAKN,GAAG,CACbC,KACAK,KAAKL,GAAG,CAACD,KAAKe,WAAW,AAACP,CAAAA,YAAYJ,QAAQJ,GAAE,EAAGgB,OAAO,CAACN;AAE/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/parseCssLengthUnit.ts"],"sourcesContent":["/** @internal */\nexport interface ParseCssLengthUnitOptions {\n /**\n *\n */\n value: number | string;\n\n /**\n * @defaultValue `16`\n */\n fallbackFontSize?: number;\n\n /**\n * @defaultValue `document.documentElement`\n */\n container?: Element | null;\n}\n\n/**\n * This is used to convert CSS length units into a number. At this time, it really only supports\n * - `px`\n * - `rem`\n * - `em` (if {@link ParseCssLengthUnitOptions.container} is provided)\n *\n * @example\n * Simple Example\n * ```ts\n * parseCssLengthUnit({ value: \"24px\" }) // 24\n * parseCssLengthUnit({ value: \"3.5rem\" }) // 56\n * parseCssLengthUnit({\n * value: \"3em\",\n * container: document.querySelector(SOME_QUERY),\n * }); // container's computed fontSize * 3\n * ```\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#lengths}\n * @internal\n * @remarks\n * \\@since 6.0.0 This was renamed from `unitToNumber`\n */\nexport function parseCssLengthUnit(options: ParseCssLengthUnitOptions): number {\n const { value, container, fallbackFontSize = 16 } = options;\n\n if (typeof value === \"number\") {\n return value;\n }\n\n const parsed = parseFloat(value);\n if (/px$/i.test(value)) {\n return parsed;\n }\n\n if (typeof window === \"undefined\") {\n return parsed * fallbackFontSize;\n }\n\n const styleContainer =\n !container || /rem$/i.test(value) ? document.documentElement : container;\n\n const fontSize = parseFloat(\n window.getComputedStyle(styleContainer).fontSize || `${fallbackFontSize}px`\n );\n\n return parsed * fontSize;\n}\n"],"names":["parseCssLengthUnit","options","value","container","fallbackFontSize","parsed","parseFloat","test","window","styleContainer","document","documentElement","fontSize","getComputedStyle"],"mappings":"AAAA,cAAc,GAkBd;;;;;;;;;;;;;;;;;;;;;CAqBC,GACD,OAAO,SAASA,mBAAmBC,OAAkC;IACnE,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,mBAAmB,EAAE,EAAE,GAAGH;IAEpD,IAAI,OAAOC,UAAU,UAAU;QAC7B,OAAOA;IACT;IAEA,MAAMG,SAASC,WAAWJ;IAC1B,IAAI,OAAOK,IAAI,CAACL,QAAQ;QACtB,OAAOG;IACT;IAEA,IAAI,OAAOG,WAAW,aAAa;QACjC,OAAOH,SAASD;IAClB;IAEA,MAAMK,iBACJ,CAACN,aAAa,QAAQI,IAAI,CAACL,SAASQ,SAASC,eAAe,GAAGR;IAEjE,MAAMS,WAAWN,WACfE,OAAOK,gBAAgB,CAACJ,gBAAgBG,QAAQ,IAAI,CAAC,EAAER,iBAAiB,EAAE,CAAC;IAG7E,OAAOC,SAASO;AAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/randomInt.ts"],"sourcesContent":["/** @remarks \\@since 6.0.0 */\nexport interface RandomIntOptions {\n /** @defaultValue `0` */\n min?: number;\n /** @defaultValue `10` */\n max?: number;\n}\n\n/**\n * Generates a random integer between a min and max value. Defaults\n * to 0-10.\n *\n * @param options - the {@link RandomIntOptions}\n * @returns a random number\n * @remarks \\@since 6.0.0\n */\nexport function randomInt(options: RandomIntOptions = {}): number {\n const { min = 0, max = 10 } = options;\n\n return Math.floor(Math.random() * (max - min)) + min;\n}\n"],"names":["randomInt","options","min","max","Math","floor","random"],"mappings":"AAAA,2BAA2B,GAQ3B;;;;;;;CAOC,GACD,OAAO,SAASA,UAAUC,UAA4B,CAAC,CAAC;IACtD,MAAM,EAAEC,MAAM,CAAC,EAAEC,MAAM,EAAE,EAAE,GAAGF;IAE9B,OAAOG,KAAKC,KAAK,CAACD,KAAKE,MAAM,KAAMH,CAAAA,MAAMD,GAAE,KAAMA;AACnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/wait.ts"],"sourcesContent":["/**\n * @example\n * Wait some duration\n * ```ts\n * import { wait } from \"@react-md/core\";\n *\n * console.log('start');\n * await wait(5000);\n * console.log('it has been five seconds');\n * ```\n *\n * This util was just added to support random waits for mocking data and random\n * throttling.\n *\n * @remarks \\@since 6.0.0\n */\nexport const wait = (ms: number): Promise<void> =>\n new Promise((resolve) => setTimeout(() => resolve(), ms));\n"],"names":["wait","ms","Promise","resolve","setTimeout"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GACD,OAAO,MAAMA,OAAO,CAACC,KACnB,IAAIC,QAAQ,CAACC,UAAYC,WAAW,IAAMD,WAAWF,KAAK"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utils/withinRange.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface WithinRangeOptions {\n min: number | undefined;\n max: number | undefined;\n value: number;\n}\n\n/**\n * A simple util that will ensure that a number is within the optional min and\n * max values.\n *\n * @returns the updated value\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Converted to using an object instead of multiple arguments.\n */\nexport function withinRange(options: WithinRangeOptions): number {\n const { min, max, value } = options;\n\n let nextValue = value;\n if (typeof min === \"number\") {\n nextValue = Math.max(min, nextValue);\n }\n\n if (typeof max === \"number\") {\n nextValue = Math.min(max, nextValue);\n }\n\n return nextValue;\n}\n"],"names":["withinRange","options","min","max","value","nextValue","Math"],"mappings":"AAAA;;;CAGC,GAOD;;;;;;;;CAQC,GACD,OAAO,SAASA,YAAYC,OAA2B;IACrD,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAAGH;IAE5B,IAAII,YAAYD;IAChB,IAAI,OAAOF,QAAQ,UAAU;QAC3BG,YAAYC,KAAKH,GAAG,CAACD,KAAKG;IAC5B;IAEA,IAAI,OAAOF,QAAQ,UAAU;QAC3BE,YAAYC,KAAKJ,GAAG,CAACC,KAAKE;IAC5B;IAEA,OAAOA;AACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/window-splitter/WindowSplitter.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type ButtonHTMLAttributes } from \"react\";\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { bem } from \"../utils/bem.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type useWindowSplitter } from \"./useWindowSplitter.js\";\n\nconst styles = bem(\"rmd-window-splitter\");\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterClassNameOptions {\n className?: string;\n dragging?: boolean;\n reversed?: boolean;\n vertical?: boolean;\n disableFixed?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function windowSplitter(\n options: WindowSplitterClassNameOptions = {}\n): string {\n const {\n vertical = false,\n dragging,\n reversed,\n disableFixed,\n className,\n } = options;\n\n return cnb(\n styles({\n h: !vertical,\n hr: !vertical && reversed,\n v: vertical,\n vr: vertical && reversed,\n a: disableFixed,\n dragging,\n }),\n className\n );\n}\n\n/**\n * @remarks \\@since 6.0.0\n * @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/}\n */\nexport interface BaseWindowSplitterProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"type\" | \"children\"> {\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n \"aria-controls\": string;\n\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n dragging: boolean;\n\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n reversed: boolean;\n\n /**\n * Set this to `true` if the window splitter should use `position: absolute`\n * instead of `position: fixed`.\n *\n * @defaultValue `false`\n */\n disableFixed?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type WindowSplitterProps = LabelRequiredForA11y<BaseWindowSplitterProps>;\n\n/**\n * **Server Component**\n * Most likely a client component since it relies on `useWindowSplitter`\n *\n * @see {@link useWindowSplitter} for an example usage\n * @remarks \\@since 6.0.0\n */\nexport const WindowSplitter = forwardRef<\n HTMLButtonElement,\n WindowSplitterProps\n>(function WindowSplitter(props, ref) {\n const {\n role = \"separator\",\n className,\n dragging,\n reversed,\n disableFixed = false,\n ...remaining\n } = props;\n const vertical = props[\"aria-orientation\"] === \"vertical\";\n\n return (\n <button\n {...remaining}\n ref={ref}\n type=\"button\"\n role={role}\n className={windowSplitter({\n className,\n reversed,\n dragging,\n vertical,\n disableFixed,\n })}\n />\n );\n});\n"],"names":["cnb","forwardRef","bem","styles","windowSplitter","options","vertical","dragging","reversed","disableFixed","className","h","hr","v","vr","a","WindowSplitter","props","ref","role","remaining","button","type"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAmC,QAAQ;AAE9D,SAASC,GAAG,QAAQ,kBAAkB;AAKtC,MAAMC,SAASD,IAAI;AAanB;;CAEC,GACD,OAAO,SAASE,eACdC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EACJC,WAAW,KAAK,EAChBC,QAAQ,EACRC,QAAQ,EACRC,YAAY,EACZC,SAAS,EACV,GAAGL;IAEJ,OAAOL,IACLG,OAAO;QACLQ,GAAG,CAACL;QACJM,IAAI,CAACN,YAAYE;QACjBK,GAAGP;QACHQ,IAAIR,YAAYE;QAChBO,GAAGN;QACHF;IACF,IACAG;AAEJ;AAqCA;;;;;;CAMC,GACD,OAAO,MAAMM,+BAAiBf,WAG5B,SAASe,eAAeC,KAAK,EAAEC,GAAG;IAClC,MAAM,EACJC,OAAO,WAAW,EAClBT,SAAS,EACTH,QAAQ,EACRC,QAAQ,EACRC,eAAe,KAAK,EACpB,GAAGW,WACJ,GAAGH;IACJ,MAAMX,WAAWW,KAAK,CAAC,mBAAmB,KAAK;IAE/C,qBACE,KAACI;QACE,GAAGD,SAAS;QACbF,KAAKA;QACLI,MAAK;QACLH,MAAMA;QACNT,WAAWN,eAAe;YACxBM;YACAF;YACAD;YACAD;YACAG;QACF;;AAGN,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/window-splitter/useWindowSplitter.ts"],"sourcesContent":["\"use client\";\nimport { type Ref, type RefCallback } from \"react\";\nimport {\n useDraggable,\n type BaseDraggableOptions,\n type DraggableImplementation,\n type DraggableKeyboardEventHandlers,\n type DraggableMouseEventHandlers,\n type DraggableStateOptions,\n type DraggableTouchEventHandlers,\n} from \"../draggable/useDraggable.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-window-splitter-top\"?: number | string;\n \"--rmd-window-splitter-right\"?: number | string;\n \"--rmd-window-splitter-bottom\"?: number | string;\n \"--rmd-window-splitter-left\"?: number | string;\n \"--rmd-window-splitter-opacity\"?: number | string;\n \"--rmd-window-splitter-position\"?: number | string;\n }\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface BaseWindowSplitterOptions<\n E extends HTMLElement = HTMLButtonElement,\n> extends Omit<BaseDraggableOptions<E>, keyof DraggableTouchEventHandlers<E>> {\n /**\n * An optional id to use for the window splitter.\n *\n * @defaultValue `\"window-splitter-\" + useId()`\n */\n id?: string;\n\n /**\n * An optional ref for the window splitter element. This will be merged into\n * the {@link WindowSplitterWidgetProps.ref}.\n */\n ref?: Ref<E>;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type WindowSplitterOptions<E extends HTMLElement = HTMLButtonElement> =\n BaseWindowSplitterOptions<E> & DraggableStateOptions;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterWidgetProps<E extends HTMLElement>\n extends Required<DraggableMouseEventHandlers<E>>,\n Required<DraggableKeyboardEventHandlers<E>> {\n \"aria-orientation\": \"vertical\" | undefined;\n \"aria-valuenow\": number;\n \"aria-valuemin\": number;\n \"aria-valuemax\": number;\n id: string;\n ref: RefCallback<E>;\n role: \"separator\";\n reversed: boolean;\n dragging: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterImplementation<\n E extends HTMLElement = HTMLButtonElement,\n> extends DraggableImplementation<E> {\n splitterProps: WindowSplitterWidgetProps<E>;\n}\n\n/**\n * Used to control the state for the `WindowSplitter` component.\n *\n * @example\n * Custom Implementation\n * ```tsx\n * import { useWindowSplitter, WindowSplitterImplementation } from \"@react-md/core\";\n * import { useState } from \"react\";\n *\n * // this is pretty much the `useWindowSplitter` implementation\n * export function useMyCustomWindowSplitter(): WindowSplitterImplementation {\n * const [dragging, setDragging] = useState(false);\n * const [value, setValue] = useState(0);\n * const splitter = useWindowSplitter({\n * min: 0,\n * max: 100,\n * value,\n * setValue,\n * dragging,\n * setDragging,\n * });\n *\n * return {\n * ...splitter,\n * value,\n * setValue,\n * dragging,\n * }\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useWindowSplitter<E extends HTMLElement = HTMLButtonElement>(\n options: WindowSplitterOptions<E>\n): WindowSplitterImplementation<E> {\n const { id: propId, reversed = false, vertical } = options;\n\n const id = useEnsuredId(propId, \"splitter\");\n const draggableImplementation = useDraggable(options);\n const {\n dragging,\n percentage,\n draggableRef,\n mouseEventHandlers,\n keyboardEventHandlers,\n } = draggableImplementation;\n\n return {\n ...draggableImplementation,\n splitterProps: {\n \"aria-orientation\": vertical ? \"vertical\" : undefined,\n \"aria-valuenow\": Math.ceil(percentage * 100),\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n id,\n ref: draggableRef,\n role: \"separator\",\n dragging,\n reversed,\n ...mouseEventHandlers,\n ...keyboardEventHandlers,\n },\n };\n}\n"],"names":["useDraggable","useEnsuredId","useWindowSplitter","options","id","propId","reversed","vertical","draggableImplementation","dragging","percentage","draggableRef","mouseEventHandlers","keyboardEventHandlers","splitterProps","undefined","Math","ceil","ref","role"],"mappings":"AAAA;AAEA,SACEA,YAAY,QAOP,+BAA+B;AACtC,SAASC,YAAY,QAAQ,qBAAqB;AAiElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCC,GACD,OAAO,SAASC,kBACdC,OAAiC;IAEjC,MAAM,EAAEC,IAAIC,MAAM,EAAEC,WAAW,KAAK,EAAEC,QAAQ,EAAE,GAAGJ;IAEnD,MAAMC,KAAKH,aAAaI,QAAQ;IAChC,MAAMG,0BAA0BR,aAAaG;IAC7C,MAAM,EACJM,QAAQ,EACRC,UAAU,EACVC,YAAY,EACZC,kBAAkB,EAClBC,qBAAqB,EACtB,GAAGL;IAEJ,OAAO;QACL,GAAGA,uBAAuB;QAC1BM,eAAe;YACb,oBAAoBP,WAAW,aAAaQ;YAC5C,iBAAiBC,KAAKC,IAAI,CAACP,aAAa;YACxC,iBAAiB;YACjB,iBAAiB;YACjBN;YACAc,KAAKP;YACLQ,MAAM;YACNV;YACAH;YACA,GAAGM,kBAAkB;YACrB,GAAGC,qBAAqB;QAC1B;IACF;AACF"}
|
package/dist/theme/_theme.scss
CHANGED
|
@@ -30,7 +30,7 @@ $color-scheme: light !default;
|
|
|
30
30
|
///
|
|
31
31
|
/// If this is set to `false`, all surfaces will mimic the light theme and have
|
|
32
32
|
/// a single surface color.
|
|
33
|
-
$disable-dark-elevation:
|
|
33
|
+
$disable-dark-elevation: $color-scheme == light !default;
|
|
34
34
|
|
|
35
35
|
/// This value should be set to `false` if you do not want the initial bundle to
|
|
36
36
|
/// include the `@media (prefers-color-scheme: dark)` styles.
|
|
@@ -189,6 +189,18 @@ $theme-variables: (
|
|
|
189
189
|
#{$property}: theme-get-var($name, $fallback);
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
+
@mixin use-light-theme-elevation-colors {
|
|
193
|
+
@each $z-value, $background-color in $dark-elevation-colors {
|
|
194
|
+
@include set-dark-elevation-color($z-value, $light-theme-surface-color);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
@mixin use-dark-theme-elevation-colors {
|
|
199
|
+
@each $z-value, $background-color in $dark-elevation-colors {
|
|
200
|
+
@include set-dark-elevation-color($z-value, $background-color);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
192
204
|
@mixin use-light-theme-colors {
|
|
193
205
|
@include theme-set-var(background-color, $light-theme-background-color);
|
|
194
206
|
@if $disable-dark-elevation {
|
|
@@ -203,9 +215,7 @@ $theme-variables: (
|
|
|
203
215
|
@include theme-set-var(text-disabled-color, $light-theme-text-disabled-color);
|
|
204
216
|
|
|
205
217
|
@if not $disable-dark-elevation and $color-scheme != light {
|
|
206
|
-
@
|
|
207
|
-
@include set-dark-elevation-color($z-value, $light-theme-surface-color);
|
|
208
|
-
}
|
|
218
|
+
@include use-light-theme-elevation-colors;
|
|
209
219
|
}
|
|
210
220
|
}
|
|
211
221
|
|
|
@@ -223,9 +233,7 @@ $theme-variables: (
|
|
|
223
233
|
@include theme-set-var(text-disabled-color, $dark-theme-text-disabled-color);
|
|
224
234
|
|
|
225
235
|
@if not $disable-dark-elevation {
|
|
226
|
-
@
|
|
227
|
-
@include set-dark-elevation-color($z-value, $background-color);
|
|
228
|
-
}
|
|
236
|
+
@include use-dark-theme-elevation-colors;
|
|
229
237
|
}
|
|
230
238
|
}
|
|
231
239
|
|
|
@@ -250,9 +258,11 @@ $theme-variables: (
|
|
|
250
258
|
@include theme-set-var(text-hint-color, $text-hint-color);
|
|
251
259
|
@include theme-set-var(text-disabled-color, $text-disabled-color);
|
|
252
260
|
|
|
253
|
-
@if not $disable-dark-elevation
|
|
254
|
-
@
|
|
255
|
-
@include
|
|
261
|
+
@if not $disable-dark-elevation {
|
|
262
|
+
@if $color-scheme == dark {
|
|
263
|
+
@include use-dark-theme-elevation-colors;
|
|
264
|
+
} @else if $color-scheme == light {
|
|
265
|
+
@include use-light-theme-elevation-colors;
|
|
256
266
|
}
|
|
257
267
|
}
|
|
258
268
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-md/core",
|
|
3
|
-
"version": "1.0.0-next.
|
|
3
|
+
"version": "1.0.0-next.4",
|
|
4
4
|
"description": "The core components and functionality for react-md.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sass": "./dist/_core.scss",
|
|
@@ -60,16 +60,16 @@
|
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@jest/globals": "^29.7.0",
|
|
62
62
|
"@jest/types": "^29.6.3",
|
|
63
|
-
"@swc/cli": "^0.
|
|
64
|
-
"@swc/core": "1.3.
|
|
65
|
-
"@swc/jest": "^0.2.
|
|
63
|
+
"@swc/cli": "^0.3.0",
|
|
64
|
+
"@swc/core": "1.3.105",
|
|
65
|
+
"@swc/jest": "^0.2.31",
|
|
66
66
|
"@testing-library/dom": "^9.3.4",
|
|
67
|
-
"@testing-library/jest-dom": "^6.
|
|
67
|
+
"@testing-library/jest-dom": "^6.3.0",
|
|
68
68
|
"@testing-library/react": "^14.1.2",
|
|
69
69
|
"@testing-library/user-event": "^14.5.2",
|
|
70
70
|
"@types/lodash": "^4.14.202",
|
|
71
|
-
"@types/node": "^20.11.
|
|
72
|
-
"@types/react": "^18.2.
|
|
71
|
+
"@types/node": "^20.11.6",
|
|
72
|
+
"@types/react": "^18.2.48",
|
|
73
73
|
"@types/react-dom": "^18.2.18",
|
|
74
74
|
"chokidar": "^3.5.3",
|
|
75
75
|
"filesize": "^10.1.0",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"npm-run-all": "^4.1.5",
|
|
83
83
|
"postcss": "^8.4.33",
|
|
84
84
|
"postcss-scss": "^4.0.9",
|
|
85
|
-
"stylelint": "^16.
|
|
85
|
+
"stylelint": "^16.2.0",
|
|
86
86
|
"stylelint-config-prettier-scss": "^1.0.0",
|
|
87
87
|
"stylelint-config-recommended-scss": "^14.0.0",
|
|
88
88
|
"stylelint-order": "^6.0.4",
|
package/src/_core.scss
CHANGED
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
@forward "button/button" as button-*;
|
|
17
17
|
@forward "badge/badge" as badge-*;
|
|
18
18
|
@forward "tabs/tabs" as tabs-*;
|
|
19
|
+
@forward "avatar/avatar" as avatar-*;
|
|
19
20
|
@forward "chip/chip" as chip-*;
|
|
20
21
|
@forward "table/table" as table-*;
|
|
21
22
|
@forward "app-bar/app-bar" as app-bar-*;
|
|
22
23
|
@forward "responsive-item/responsive-item" as responsive-item-*;
|
|
23
24
|
@forward "overlay/overlay" as overlay-*;
|
|
24
|
-
@forward "avatar/avatar" as avatar-*;
|
|
25
25
|
@forward "card/card" as card-*;
|
|
26
26
|
@forward "link/link" as link-*;
|
|
27
27
|
@forward "list/list" as list-*;
|
package/src/form/_form.scss
CHANGED
|
@@ -190,7 +190,7 @@ $switch-track-horizontal-padding: 0.875em !default;
|
|
|
190
190
|
$switch-track-light-background-color: colors.$grey-400 !default;
|
|
191
191
|
$switch-track-dark-background-color: if(
|
|
192
192
|
theme.$disable-dark-elevation,
|
|
193
|
-
$switch-track-light-
|
|
193
|
+
$switch-track-light-background-color,
|
|
194
194
|
map.get(theme.$dark-elevation-colors, 24)
|
|
195
195
|
) !default;
|
|
196
196
|
$switch-track-background-color: theme.get-default-color(
|
package/src/list/ListItem.tsx
CHANGED
|
@@ -151,7 +151,7 @@ export const ListItem = forwardRef<HTMLLIElement, ListItemProps>(
|
|
|
151
151
|
secondaryText,
|
|
152
152
|
secondaryTextProps,
|
|
153
153
|
disableTextChildren = false,
|
|
154
|
-
height: propHeight
|
|
154
|
+
height: propHeight,
|
|
155
155
|
leftAddon,
|
|
156
156
|
leftAddonType,
|
|
157
157
|
leftAddonPosition,
|
|
@@ -63,7 +63,7 @@ export const ListItemLink = forwardRef<HTMLAnchorElement, ListItemLinkProps>(
|
|
|
63
63
|
secondaryText,
|
|
64
64
|
secondaryTextProps,
|
|
65
65
|
disableTextChildren = false,
|
|
66
|
-
height: propHeight
|
|
66
|
+
height: propHeight,
|
|
67
67
|
leftAddon,
|
|
68
68
|
leftAddonType = "icon",
|
|
69
69
|
leftAddonPosition = "middle",
|
|
@@ -2,12 +2,12 @@ import { describe, expect, it } from "@jest/globals";
|
|
|
2
2
|
import { getListItemHeight } from "../getListItemHeight.js";
|
|
3
3
|
|
|
4
4
|
describe("getListItemHeight", () => {
|
|
5
|
-
it('should return "normal" if no addons are provided when the height is omitted
|
|
5
|
+
it('should return "normal" if no addons are provided when the height is omitted', () => {
|
|
6
6
|
expect(getListItemHeight({})).toBe("normal");
|
|
7
|
-
expect(getListItemHeight({ height: "auto" })).toBe("normal");
|
|
8
7
|
});
|
|
9
8
|
|
|
10
9
|
it("should return the height if it was provided", () => {
|
|
10
|
+
expect(getListItemHeight({ height: "auto" })).toBe("auto");
|
|
11
11
|
expect(getListItemHeight({ height: "normal" })).toBe("normal");
|
|
12
12
|
expect(getListItemHeight({ height: "normal", leftAddon: "Addon" })).toBe(
|
|
13
13
|
"normal"
|
|
@@ -15,7 +15,6 @@ export interface ListItemHeightOptions
|
|
|
15
15
|
> {
|
|
16
16
|
/**
|
|
17
17
|
* @see {@link ListItemHeight}
|
|
18
|
-
* @defaultValue `"auto"`
|
|
19
18
|
*/
|
|
20
19
|
height?: ListItemHeight;
|
|
21
20
|
}
|
|
@@ -31,7 +30,7 @@ export function getListItemHeight(
|
|
|
31
30
|
options: ListItemHeightOptions = {}
|
|
32
31
|
): ListItemHeight {
|
|
33
32
|
const {
|
|
34
|
-
height
|
|
33
|
+
height,
|
|
35
34
|
leftAddon,
|
|
36
35
|
leftAddonType = "icon",
|
|
37
36
|
rightAddon,
|
|
@@ -39,7 +38,7 @@ export function getListItemHeight(
|
|
|
39
38
|
secondaryText,
|
|
40
39
|
} = options;
|
|
41
40
|
|
|
42
|
-
if (height
|
|
41
|
+
if (height) {
|
|
43
42
|
return height;
|
|
44
43
|
}
|
|
45
44
|
|
package/src/list/types.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { type PropsWithRef } from "../types.js";
|
|
|
6
6
|
*
|
|
7
7
|
* Conversions:
|
|
8
8
|
*
|
|
9
|
-
* - height !== "auto" -> height
|
|
9
|
+
* - height !== undefined && height !== "auto" -> height
|
|
10
10
|
* - secondaryText or left/right addon is media/media-large -> "extra-large"
|
|
11
11
|
* - left/right addon is avatar -> "large"
|
|
12
12
|
* - left/right addon is icon -> "medium"
|
package/src/menu/_menu.scss
CHANGED
|
@@ -65,8 +65,6 @@ $variables: (background-color, color, min-width, spacing);
|
|
|
65
65
|
.rmd-menu-item {
|
|
66
66
|
@include icon.set-var(spacing, get-var(spacing));
|
|
67
67
|
|
|
68
|
-
height: var(--rmd-list-item-height);
|
|
69
|
-
|
|
70
68
|
&--focused {
|
|
71
69
|
// can't use `:focus-visible` here since this is mostly for virtual
|
|
72
70
|
// keyboard movement for comboboxes. the focus is on the button or textbox
|
package/src/theme/_theme.scss
CHANGED
|
@@ -30,7 +30,7 @@ $color-scheme: light !default;
|
|
|
30
30
|
///
|
|
31
31
|
/// If this is set to `false`, all surfaces will mimic the light theme and have
|
|
32
32
|
/// a single surface color.
|
|
33
|
-
$disable-dark-elevation:
|
|
33
|
+
$disable-dark-elevation: $color-scheme == light !default;
|
|
34
34
|
|
|
35
35
|
/// This value should be set to `false` if you do not want the initial bundle to
|
|
36
36
|
/// include the `@media (prefers-color-scheme: dark)` styles.
|
|
@@ -189,6 +189,18 @@ $theme-variables: (
|
|
|
189
189
|
#{$property}: theme-get-var($name, $fallback);
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
+
@mixin use-light-theme-elevation-colors {
|
|
193
|
+
@each $z-value, $background-color in $dark-elevation-colors {
|
|
194
|
+
@include set-dark-elevation-color($z-value, $light-theme-surface-color);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
@mixin use-dark-theme-elevation-colors {
|
|
199
|
+
@each $z-value, $background-color in $dark-elevation-colors {
|
|
200
|
+
@include set-dark-elevation-color($z-value, $background-color);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
192
204
|
@mixin use-light-theme-colors {
|
|
193
205
|
@include theme-set-var(background-color, $light-theme-background-color);
|
|
194
206
|
@if $disable-dark-elevation {
|
|
@@ -203,9 +215,7 @@ $theme-variables: (
|
|
|
203
215
|
@include theme-set-var(text-disabled-color, $light-theme-text-disabled-color);
|
|
204
216
|
|
|
205
217
|
@if not $disable-dark-elevation and $color-scheme != light {
|
|
206
|
-
@
|
|
207
|
-
@include set-dark-elevation-color($z-value, $light-theme-surface-color);
|
|
208
|
-
}
|
|
218
|
+
@include use-light-theme-elevation-colors;
|
|
209
219
|
}
|
|
210
220
|
}
|
|
211
221
|
|
|
@@ -223,9 +233,7 @@ $theme-variables: (
|
|
|
223
233
|
@include theme-set-var(text-disabled-color, $dark-theme-text-disabled-color);
|
|
224
234
|
|
|
225
235
|
@if not $disable-dark-elevation {
|
|
226
|
-
@
|
|
227
|
-
@include set-dark-elevation-color($z-value, $background-color);
|
|
228
|
-
}
|
|
236
|
+
@include use-dark-theme-elevation-colors;
|
|
229
237
|
}
|
|
230
238
|
}
|
|
231
239
|
|
|
@@ -250,9 +258,11 @@ $theme-variables: (
|
|
|
250
258
|
@include theme-set-var(text-hint-color, $text-hint-color);
|
|
251
259
|
@include theme-set-var(text-disabled-color, $text-disabled-color);
|
|
252
260
|
|
|
253
|
-
@if not $disable-dark-elevation
|
|
254
|
-
@
|
|
255
|
-
@include
|
|
261
|
+
@if not $disable-dark-elevation {
|
|
262
|
+
@if $color-scheme == dark {
|
|
263
|
+
@include use-dark-theme-elevation-colors;
|
|
264
|
+
} @else if $color-scheme == light {
|
|
265
|
+
@include use-light-theme-elevation-colors;
|
|
256
266
|
}
|
|
257
267
|
}
|
|
258
268
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/CoreProviders.tsx"],"sourcesContent":["\"use client\";\nimport { type ReactElement, type ReactNode } from \"react\";\nimport { SsrProvider } from \"./SsrProvider.js\";\nimport { UserInteractionModeProvider } from \"./interaction/UserInteractionModeProvider.js\";\nimport { AppSizeProvider } from \"./media-queries/AppSizeProvider.js\";\nimport {\n DEFAULT_APP_SIZE,\n DEFAULT_APP_SIZE_QUERIES,\n type AppSize,\n type AppSizeQueries,\n} from \"./media-queries/appSize.js\";\nimport {\n PortalContainerProvider,\n type PortalContainer,\n} from \"./portal/PortalContainerProvider.js\";\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { type MenuConfigurationProvider } from \"./menu/MenuConfigurationProvider.js\";\nimport { type Snackbar } from \"./snackbar/Snackbar.js\";\nimport { type LocalStorageColorSchemeProvider } from \"./theme/LocalStorageColorSchemeProvider.js\";\nimport { type ThemeProvider } from \"./theme/ThemeProvider.js\";\nimport { type useColorSchemeProvider } from \"./theme/useColorSchemeProvider.js\";\nimport { type TooltipHoverModeProvider } from \"./tooltip/TooltipHoverModeProvider.js\";\nimport { type WritingDirectionProvider } from \"./typography/WritingDirectionProvider.js\";\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\n/** @remarks \\@since 6.0.0 */\nexport interface ReactMDCoreConfiguration {\n /**\n * Set this to `true` if you are using SSR. This will update some hook\n * behavior so that you will not have mismatched initial state between server\n * and client and correctly rehydrate after initial render.\n *\n * @defaultValue `false`\n */\n ssr?: boolean;\n\n /**\n * @defaultValue `DEFAULT_APP_SIZE`\n * @see {@link DEFAULT_APP_SIZE}\n */\n ssrAppSize?: Readonly<AppSize>;\n\n /**\n * @defaultValue `DEFAULT_APP_SIZE_QUERIES`\n * @see {@link DEFAULT_APP_SIZE_QUERIES}\n */\n appSizeQueries?: Readonly<AppSizeQueries>;\n\n /** @see {@link PortalContainerProvider} */\n portalContainer?: PortalContainer;\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CoreProvidersProps extends ReactMDCoreConfiguration {\n children: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * This is a convenience wrapper for initializing providers for react-md. This\n * includes configuration for:\n *\n * - {@link SsrProvider}\n * - {@link PortalContainerProvider}\n * - {@link AppSizeProvider}\n * - {@link UserInteractionModeProvider}\n *\n * This does not include every provider within `react-md` to help decrease the\n * bundle size for unused features. Here are some other providers that might be\n * useful to initialize near the root of your app:\n *\n * - {@link MenuConfigurationProvider} - If you want to render menus as sheets\n * on phones or other configuration.\n * - {@link LocalStorageColorSchemeProvider}/{@link useColorSchemeProvider} - If\n * you want to allow the user to select a light, dark, or system theme\n * - {@link WritingDirectionProvider} - If you need dynamic support for ltr and\n * rtl languages\n * - {@link ThemeProvider} - If you allow the user to dynamically configure the\n * `react-md` theme\n * - {@link TooltipHoverModeProvider} - If you want tooltips to appear\n * immediately for a time after another tooltip has become visible. You can\n * also configure the global visible delay.\n * - {@link Snackbar} - This isn't a provider but this is how you can display\n * alerts in your app\n *\n * @remarks \\@since 6.0.0\n */\nexport function CoreProviders(props: CoreProvidersProps): ReactElement {\n const {\n ssr = false,\n ssrAppSize = DEFAULT_APP_SIZE,\n appSizeQueries = DEFAULT_APP_SIZE_QUERIES,\n portalContainer,\n children,\n } = props;\n return (\n <SsrProvider ssr={ssr}>\n <PortalContainerProvider container={portalContainer}>\n <UserInteractionModeProvider>\n <AppSizeProvider {...appSizeQueries} ssrSize={ssrAppSize}>\n {children}\n </AppSizeProvider>\n </UserInteractionModeProvider>\n </PortalContainerProvider>\n </SsrProvider>\n );\n}\n"],"names":["SsrProvider","UserInteractionModeProvider","AppSizeProvider","DEFAULT_APP_SIZE","DEFAULT_APP_SIZE_QUERIES","PortalContainerProvider","CoreProviders","props","ssr","ssrAppSize","appSizeQueries","portalContainer","children","container","ssrSize"],"mappings":"AAAA;;AAEA,SAASA,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,2BAA2B,QAAQ,+CAA+C;AAC3F,SAASC,eAAe,QAAQ,qCAAqC;AACrE,SACEC,gBAAgB,EAChBC,wBAAwB,QAGnB,6BAA6B;AACpC,SACEC,uBAAuB,QAElB,sCAAsC;AA4C7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BC,GACD,OAAO,SAASC,cAAcC,KAAyB;IACrD,MAAM,EACJC,MAAM,KAAK,EACXC,aAAaN,gBAAgB,EAC7BO,iBAAiBN,wBAAwB,EACzCO,eAAe,EACfC,QAAQ,EACT,GAAGL;IACJ,qBACE,KAACP;QAAYQ,KAAKA;kBAChB,cAAA,KAACH;YAAwBQ,WAAWF;sBAClC,cAAA,KAACV;0BACC,cAAA,KAACC;oBAAiB,GAAGQ,cAAc;oBAAEI,SAASL;8BAC3CG;;;;;AAMb"}
|
package/dist/NoSsr.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/NoSsr.tsx"],"sourcesContent":["\"use client\";\nimport { useEffect, useState, type ReactElement, type ReactNode } from \"react\";\nimport { useSsr } from \"./SsrProvider.js\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface NoSsrProps {\n children: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * A small wrapper that can be used to render children client side only. The\n * main use-case are for components that rely on browser API to work correctly.\n *\n * @example\n * Simple Example\n * ```tsx\n * import { CoreProviders, NoSsr, Typography } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <>\n * <Typography>This is always rendered.</Typography>\n * <NoSsr>\n * <Typography>\n * This is only rendered client-side after rehydrating.\n * </Typography>\n * </NoSsr>\n * </>\n * );\n * }\n *\n * function App(): ReactElement {\n * return (\n * <CoreProviders ssr>\n * <Example />\n * </CoreProviders>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function NoSsr(props: NoSsrProps): ReactElement {\n const { children } = props;\n const ssr = useSsr();\n const [rendered, setRendered] = useState(!ssr);\n useEffect(() => {\n setRendered(true);\n }, []);\n\n return <>{rendered && children}</>;\n}\n"],"names":["useEffect","useState","useSsr","NoSsr","props","children","ssr","rendered","setRendered"],"mappings":"AAAA;;AACA,SAASA,SAAS,EAAEC,QAAQ,QAA2C,QAAQ;AAC/E,SAASC,MAAM,QAAQ,mBAAmB;AAO1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCC,GACD,OAAO,SAASC,MAAMC,KAAiB;IACrC,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IACrB,MAAME,MAAMJ;IACZ,MAAM,CAACK,UAAUC,YAAY,GAAGP,SAAS,CAACK;IAC1CN,UAAU;QACRQ,YAAY;IACd,GAAG,EAAE;IAEL,qBAAO;kBAAGD,YAAYF;;AACxB"}
|
package/dist/SsrProvider.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/SsrProvider.tsx"],"sourcesContent":["\"use client\";\nimport {\n createContext,\n useContext,\n useEffect,\n useState,\n type ReactElement,\n type ReactNode,\n} from \"react\";\n\nconst context = createContext(false);\nconst { Provider } = context;\ncontext.displayName = \"Ssr\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function useSsr(): boolean {\n return useContext(context);\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface SsrProviderProps {\n ssr?: boolean;\n children: ReactNode;\n}\n\n/**\n * **Client Component**\n *\n * @remarks \\@since 6.0.0\n */\nexport function SsrProvider(props: SsrProviderProps): ReactElement {\n const { ssr = false, children } = props;\n const [isSsr, setSsr] = useState(ssr);\n useEffect(() => {\n setSsr(false);\n }, []);\n return <Provider value={isSsr}>{children}</Provider>;\n}\n"],"names":["createContext","useContext","useEffect","useState","context","Provider","displayName","useSsr","SsrProvider","props","ssr","children","isSsr","setSsr","value"],"mappings":"AAAA;;AACA,SACEA,aAAa,EACbC,UAAU,EACVC,SAAS,EACTC,QAAQ,QAGH,QAAQ;AAEf,MAAMC,wBAAUJ,cAAc;AAC9B,MAAM,EAAEK,QAAQ,EAAE,GAAGD;AACrBA,QAAQE,WAAW,GAAG;AAEtB;;CAEC,GACD,OAAO,SAASC;IACd,OAAON,WAAWG;AACpB;AAUA;;;;CAIC,GACD,OAAO,SAASI,YAAYC,KAAuB;IACjD,MAAM,EAAEC,MAAM,KAAK,EAAEC,QAAQ,EAAE,GAAGF;IAClC,MAAM,CAACG,OAAOC,OAAO,GAAGV,SAASO;IACjCR,UAAU;QACRW,OAAO;IACT,GAAG,EAAE;IACL,qBAAO,KAACR;QAASS,OAAOF;kBAAQD;;AAClC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/app-bar/AppBar.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n type ElementType,\n type HTMLAttributes,\n type Ref,\n} from \"react\";\nimport { box, type BoxOptions } from \"../box/styles.js\";\nimport {\n cssUtils,\n type BackgroundColor,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n type CssUtilsOptions,\n} from \"../cssUtils.js\";\nimport { type CssPosition } from \"../types.js\";\nimport { bem } from \"../utils/bem.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-app-bar-height\"?: string | number;\n \"--rmd-app-bar-background-color\"?: string;\n \"--rmd-app-bar-color\"?: string;\n \"--rmd-app-bar-surface-background-color\"?: string;\n \"--rmd-app-bar-surface-color\"?: string;\n }\n}\n\nconst styles = bem(\"rmd-app-bar\");\n\nexport type AppBarPosition = \"top\" | \"bottom\";\n\n/**\n * - `\"clear\"` - the background color will be transparent\n * - `\"primary\"` - defaults to the current primary theme color\n * - `\"secondary\"` - defaults to the current secondary theme color\n * - `\"surface\"` - this will use the current surface background color which\n * defaults to `#fff` for light themes, `#242424` for dark themes, and\n * `#424242` for dark themes when the `$disable-dark-elevation` is set to\n * `true`\n *\n * The default dark theme surface color also depends on the `$fixed-elevation`\n * value.\n */\nexport type AppBarTheme = BackgroundColor | \"clear\";\n\n/**\n * - `\"auto\"` - the height will be determined by the height of the content\n * - `\"normal\"` - defaults to `3.5rem` (`$height`)\n * - `\"prominent\"` - defaults to `7rem` (`$prominent-height`)\n * - `\"dense\"` - defaults to `3rem` (`$dense-height`)\n * - `\"prominent-dense\"` - defaults to `6rem` (`$prominent-dense-height`)\n */\nexport type AppBarHeight =\n | \"auto\"\n | \"normal\"\n | \"prominent\"\n | \"dense\"\n | \"prominent-dense\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface AppBarClassNameOptions extends Omit<BoxOptions, \"fullWidth\"> {\n className?: string;\n\n /**\n * Set this to `\"fixed\"` or `\"sticky\"` to set `position: fixed;` or\n * `position: sticky;` to the app bar. The default position will be static and\n * inline with other content.\n *\n * @defaultValue `'static'`\n */\n position?: CssPosition;\n\n /**\n * The position within the page to \"fix\" the `AppBar` when the `fixed` prop is\n * enabled.\n *\n * @defaultValue `\"top\"`\n */\n pagePosition?: AppBarPosition;\n\n /**\n * Set this to `true` to remove the box-shadow.\n *\n * @defaultValue `false`\n */\n disableElevation?: boolean;\n\n /**\n * The theme to apply to the `AppBar`.\n *\n * @defaultValue `\"primary\"`\n * @see {@link AppBarTheme}\n */\n theme?: AppBarTheme;\n\n /**\n * @defaultValue `stacked ? \"auto\" : \"normal\"`\n * @see {@link AppBarHeight}\n */\n height?: AppBarHeight;\n\n /** @see {@link CssUtilsOptions.surfaceColor} */\n surfaceColor?: \"light\" | \"dark\";\n\n /**\n * Set this to `true` if the app bar's positioning and width should be\n * changed whenever the scrollbar is visible on the page. This defaults to\n * `true` when the {@link position} prop is `true` so that once dialogs and menus\n * become visible the contents in the app bar do not need to be repainted.\n *\n * @remarks \\@since 6.0.0\n * @defaultValue `position === \"fixed\"`\n */\n scrollbarOffset?: boolean;\n}\n\n/**\n * Apply the `className`s for a tree component. This will be type-safe if using\n * typescript.\n *\n * @remarks \\@since 6.0.0\n */\nexport function appBar(options: AppBarClassNameOptions = {}): string {\n const {\n className,\n theme = \"primary\",\n stacked,\n height = stacked ? \"auto\" : \"normal\",\n position = \"static\",\n pagePosition = \"top\",\n scrollbarOffset = position === \"fixed\",\n align,\n grid,\n gridColumns,\n gridName,\n justify,\n reversed,\n surfaceColor,\n disableWrap = true,\n disablePadding,\n disableElevation,\n } = options;\n const surface = theme === \"surface\";\n const clear = theme === \"clear\";\n\n return cnb(\n styles({\n surface,\n [height]: height !== \"normal\",\n fixed: position !== \"static\",\n stacked,\n sticky: position === \"sticky\",\n [pagePosition]: position !== \"static\",\n elevated: position !== \"static\" && !disableElevation,\n \"scrollbar-offset\": scrollbarOffset,\n \"static-scrollbar-offset\": position === \"static\" && scrollbarOffset,\n }),\n box({\n align,\n stacked,\n fullWidth: true,\n grid,\n gridColumns,\n gridName,\n justify,\n reversed,\n disableWrap,\n disablePadding,\n }),\n cssUtils({\n backgroundColor: !surface && !clear ? theme : undefined,\n surfaceColor,\n }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport type CustomAppBarComponent = ElementType<\n HTMLAttributes<HTMLDivElement> & {\n ref?: Ref<HTMLDivElement>;\n className: string;\n }\n>;\n\n/**\n * @remarks\n * \\@since 6.0.0 Renamed the `component` prop to `as` and updated the default\n * value to be a `\"div\"` when `fixed` is `false`.\n * \\@since 6.0.0 Renamed the `fixedElevation` prop to `disableFixedElevation` to\n * match naming conventions when a feature is enabled by default.\n * \\@since 6.0.0 Removed the `inheritColor` and `flexWrap` props since they are\n * no longer required.\n * \\@since 6.0.0 Removed the `fixed` prop in favor of the new `position` prop\n * which enables position `fixed` or `sticky` behavior.\n * \\@since 6.0.0 Added the {@link stacked} and {@link scrollbarOffset} props.\n */\nexport interface AppBarProps\n extends HTMLAttributes<HTMLDivElement>,\n AppBarClassNameOptions {\n /** @defaultValue `fixed ? \"header\" : \"div\"` */\n as?: CustomAppBarComponent;\n}\n\n/**\n * **Server Component**\n *\n * @example\n * Simple Example\n * ```tsx\n * import { AppBar, AppBarTitle, Button } from \"@react-md/core\";\n * import MenuIcon from \"@react-md/material-icons/MenuIcon\";\n * import MoreVertIcon from \"@react-md/material-icons/MoreVertIcon\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <AppBar>\n * <Button aria-label=\"Navigation\"><MenuIcon /></Button>\n * <AppBarTitle>My Main Title</AppBarTitle>\n * <Button aria-label=\"Options\"><MoreVertIcon /></Button>\n * </AppBar>\n * );\n * }\n * ```\n *\n * @remarks\n * \\@since 6.0.0 The `AppBar` was updated to use `gap` for spacing\n * instead of requiring the `AppBarNav` and `AppBarAction` components.\n */\nexport const AppBar = forwardRef<HTMLDivElement, AppBarProps>(\n function AppBar(props, ref) {\n const {\n className,\n theme,\n stacked,\n height,\n align,\n grid,\n gridName,\n justify,\n reversed,\n gridColumns,\n disableWrap,\n disablePadding,\n position,\n pagePosition,\n surfaceColor,\n scrollbarOffset,\n disableElevation,\n as: Component = position ? \"header\" : \"div\",\n children,\n ...remaining\n } = props;\n\n return (\n <Component\n {...remaining}\n className={appBar({\n className,\n theme,\n position,\n pagePosition,\n disableElevation,\n scrollbarOffset,\n height,\n grid,\n gridName,\n gridColumns,\n align,\n stacked,\n justify,\n reversed,\n surfaceColor,\n disableWrap,\n disablePadding,\n })}\n ref={ref}\n >\n {children}\n </Component>\n );\n }\n);\n"],"names":["cnb","forwardRef","box","cssUtils","bem","styles","appBar","options","className","theme","stacked","height","position","pagePosition","scrollbarOffset","align","grid","gridColumns","gridName","justify","reversed","surfaceColor","disableWrap","disablePadding","disableElevation","surface","clear","fixed","sticky","elevated","fullWidth","backgroundColor","undefined","AppBar","props","ref","as","Component","children","remaining"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,QAIL,QAAQ;AACf,SAASC,GAAG,QAAyB,mBAAmB;AACxD,SACEC,QAAQ,QAIH,iBAAiB;AAExB,SAASC,GAAG,QAAQ,kBAAkB;AAYtC,MAAMC,SAASD,IAAI;AAyFnB;;;;;CAKC,GACD,OAAO,SAASE,OAAOC,UAAkC,CAAC,CAAC;IACzD,MAAM,EACJC,SAAS,EACTC,QAAQ,SAAS,EACjBC,OAAO,EACPC,SAASD,UAAU,SAAS,QAAQ,EACpCE,WAAW,QAAQ,EACnBC,eAAe,KAAK,EACpBC,kBAAkBF,aAAa,OAAO,EACtCG,KAAK,EACLC,IAAI,EACJC,WAAW,EACXC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,YAAY,EACZC,cAAc,IAAI,EAClBC,cAAc,EACdC,gBAAgB,EACjB,GAAGjB;IACJ,MAAMkB,UAAUhB,UAAU;IAC1B,MAAMiB,QAAQjB,UAAU;IAExB,OAAOT,IACLK,OAAO;QACLoB;QACA,CAACd,OAAO,EAAEA,WAAW;QACrBgB,OAAOf,aAAa;QACpBF;QACAkB,QAAQhB,aAAa;QACrB,CAACC,aAAa,EAAED,aAAa;QAC7BiB,UAAUjB,aAAa,YAAY,CAACY;QACpC,oBAAoBV;QACpB,2BAA2BF,aAAa,YAAYE;IACtD,IACAZ,IAAI;QACFa;QACAL;QACAoB,WAAW;QACXd;QACAC;QACAC;QACAC;QACAC;QACAE;QACAC;IACF,IACApB,SAAS;QACP4B,iBAAiB,CAACN,WAAW,CAACC,QAAQjB,QAAQuB;QAC9CX;IACF,IACAb;AAEJ;AA6BA;;;;;;;;;;;;;;;;;;;;;;;;;CAyBC,GACD,OAAO,MAAMyB,uBAAShC,WACpB,SAASgC,OAAOC,KAAK,EAAEC,GAAG;IACxB,MAAM,EACJ3B,SAAS,EACTC,KAAK,EACLC,OAAO,EACPC,MAAM,EACNI,KAAK,EACLC,IAAI,EACJE,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRH,WAAW,EACXK,WAAW,EACXC,cAAc,EACdX,QAAQ,EACRC,YAAY,EACZQ,YAAY,EACZP,eAAe,EACfU,gBAAgB,EAChBY,IAAIC,YAAYzB,WAAW,WAAW,KAAK,EAC3C0B,QAAQ,EACR,GAAGC,WACJ,GAAGL;IAEJ,qBACE,KAACG;QACE,GAAGE,SAAS;QACb/B,WAAWF,OAAO;YAChBE;YACAC;YACAG;YACAC;YACAW;YACAV;YACAH;YACAK;YACAE;YACAD;YACAF;YACAL;YACAS;YACAC;YACAC;YACAC;YACAC;QACF;QACAY,KAAKA;kBAEJG;;AAGP,GACA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/app-bar/AppBarTitle.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef } from \"react\";\nimport { type TextOverflow } from \"../cssUtils.js\";\nimport {\n Typography,\n type TypographyProps,\n type TypographyType,\n} from \"../typography/Typography.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-app-bar-title\");\n\n/**\n * - `\"small\"` - the first character in the title will be `1rem` (`$keyline`)\n * from the edge of the app bar horizontally\n * - `\"nav\"` - this should be set when there is a nav button before the title so\n * that the first character in the title will be `4.5rem` (`title-keyline`)\n * - `\"list\"` - this should be used when the title should align with the list\n * item keyline and there is no nav icon before.\n *\n * @remarks \\@since 6.0.0\n */\nexport type AppBarTitleKeyline = \"small\" | \"nav\" | \"list\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface AppBarTitleClassNameOptions {\n className?: string;\n\n /**\n * @defaultValue `\"small\"`\n * @see {@link AppBarTitleKeyline}\n */\n keyline?: AppBarTitleKeyline;\n}\n\n/**\n * Apply the `className`s for a `AppBarTitle` component. This will be type-safe\n * if using typescript.\n *\n * @remarks \\@since 6.0.0\n */\nexport function appBarTitle(options: AppBarTitleClassNameOptions = {}): string {\n const { className, keyline = \"small\" } = options;\n return cnb(\n styles({\n keyline: keyline == \"list\",\n \"nav-keyline\": keyline === \"nav\",\n }),\n className\n );\n}\n\n/**\n * @remarks \\@since 6.0.0 Renamed the `noWrap` prop to `lineWrap` since the\n * `AppBarTitle` does not line wrap by default.\n */\nexport interface AppBarTitleProps\n extends TypographyProps,\n AppBarTitleClassNameOptions {\n /** @defaultValue `\"headline-6\"` */\n type?: TypographyType;\n\n /**\n * @defaultValue `\"ellipsis\"`\n */\n textOverflow?: TextOverflow;\n}\n\n/**\n * **Server Component**\n *\n * @example\n * Updating the Keyline\n * ```tsx\n * import { AppBar, AppBarTitle } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <AppBar>\n * <AppBarTitle keyline=\"nav\">\n * Offset as if there was a nav button to the left\n * </AppBarTitle>\n * </AppBar>\n * );\n * }\n * ```\n *\n * @remarks\n * \\@since 6.0.0 Renamed the `noWrap` prop to `lineWrap` since the `AppBarTitle`\n * does not line wrap by default.\n * \\@since 6.0.0 The {@link keyline} prop was changed from a boolean to a type\n * union of different keylines: {@link AppBarTitleKeyline}\n */\nexport const AppBarTitle = forwardRef<HTMLHeadingElement, AppBarTitleProps>(\n function AppBarTitle(props, ref) {\n const {\n type = \"headline-6\",\n keyline = \"small\",\n children,\n className,\n textOverflow = \"ellipsis\",\n ...remaining\n } = props;\n return (\n <Typography\n {...remaining}\n ref={ref}\n type={type}\n className={appBarTitle({\n keyline,\n className,\n })}\n textOverflow={textOverflow}\n >\n {children}\n </Typography>\n );\n }\n);\n"],"names":["cnb","forwardRef","Typography","bem","styles","appBarTitle","options","className","keyline","AppBarTitle","props","ref","type","children","textOverflow","remaining"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAQ,QAAQ;AAEnC,SACEC,UAAU,QAGL,8BAA8B;AACrC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAyBnB;;;;;CAKC,GACD,OAAO,SAASE,YAAYC,UAAuC,CAAC,CAAC;IACnE,MAAM,EAAEC,SAAS,EAAEC,UAAU,OAAO,EAAE,GAAGF;IACzC,OAAON,IACLI,OAAO;QACLI,SAASA,WAAW;QACpB,eAAeA,YAAY;IAC7B,IACAD;AAEJ;AAkBA;;;;;;;;;;;;;;;;;;;;;;;;;CAyBC,GACD,OAAO,MAAME,4BAAcR,WACzB,SAASQ,YAAYC,KAAK,EAAEC,GAAG;IAC7B,MAAM,EACJC,OAAO,YAAY,EACnBJ,UAAU,OAAO,EACjBK,QAAQ,EACRN,SAAS,EACTO,eAAe,UAAU,EACzB,GAAGC,WACJ,GAAGL;IACJ,qBACE,KAACR;QACE,GAAGa,SAAS;QACbJ,KAAKA;QACLC,MAAMA;QACNL,WAAWF,YAAY;YACrBG;YACAD;QACF;QACAO,cAAcA;kBAEbD;;AAGP,GACA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/avatar/Avatar.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ImgHTMLAttributes } from \"react\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { avatar, avatarImage, type AvatarClassNameOptions } from \"./styles.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-avatar-background-color\"?: string;\n \"--rmd-avatar-color\"?: string;\n \"--rmd-avatar-border-color\"?: string;\n \"--rmd-avatar-border-radius\"?: string | number;\n \"--rmd-avatar-size\"?: string | number;\n \"--rmd-avatar-font-size\"?: string | number;\n }\n}\n\nexport type AvatarImgAttributes = ImgHTMLAttributes<HTMLImageElement>;\n\nexport interface AvatarProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, \"color\">,\n AvatarClassNameOptions {\n /**\n * This should be an image `src` attribute to create an avatar from. When this\n * prop is defined, you should not add any children to the avatar as the\n * positioning will break.\n */\n src?: string;\n\n /**\n * An optional alt tag to display on the `<img>` when the `src` prop is also\n * applied.\n *\n * For accessibility and screen readers, you normally do not want to actually\n * provide this prop. This should only be used if the `Avatar` is not\n * accompanied by some other component or main content as it will be extra\n * noise for screen readers.\n *\n * @defaultValue `\"\"`\n */\n alt?: string;\n\n /**\n * An optional `referrerPolicy` to provide to the `<img>` element if the `src`\n * or `imgProps` props are provided.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-referrerpolicy|Referrer Policy}\n *\n * @remarks \\@since 2.2.0\n */\n referrerPolicy?: AvatarImgAttributes[\"referrerPolicy\"];\n\n /**\n * An optional object of image props and ref that can be used to create an\n * image within the `Avatar`. This can be useful to add a custom `style`\n * or`className` to the `<img>` element if that additional customization is\n * needed.\n *\n * Note: The values in this object will override the `src`, `alt`, and\n * `referrerPolicy` root level avatar props if they exist on this object.\n *\n * @remarks \\@since 2.2.0\n */\n imgProps?: PropsWithRef<AvatarImgAttributes, HTMLImageElement>;\n}\n\n/**\n * **Server Component**\n *\n * An `Avatar` is generally used to represent objects or people within your app.\n * The avatar can consist of an image, an icon, or some text to display. When\n * the avatar is not an image, different themes can be applied to make the\n * avatar more unique.\n *\n * @example\n * Simple Example\n * ```tsx\n * import { Avatar } from \"@react-md/core\";\n * import { type ReactElement } from \"react\";\n *\n * export function Example(): ReactElement {\n * return <Avatar src=\"/path-to-img.png\" />;\n * }\n * ```\n */\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(\n function Avatar(props, ref) {\n const {\n className,\n children,\n src,\n alt = \"\",\n size = \"avatar\",\n color = \"\",\n theme,\n imgProps,\n referrerPolicy,\n ...remaining\n } = props;\n\n let img;\n if (src || imgProps) {\n img = (\n <img\n src={src}\n alt={alt}\n referrerPolicy={referrerPolicy}\n {...imgProps}\n className={avatarImage({ className: imgProps?.className })}\n />\n );\n }\n\n return (\n <span\n {...remaining}\n ref={ref}\n role=\"presentation\"\n className={avatar({\n size,\n color,\n theme,\n className,\n })}\n >\n {img}\n {children}\n </span>\n );\n }\n);\n"],"names":["forwardRef","avatar","avatarImage","Avatar","props","ref","className","children","src","alt","size","color","theme","imgProps","referrerPolicy","remaining","img","span","role"],"mappings":";AAAA,SAASA,UAAU,QAAqD,QAAQ;AAEhF,SAASC,MAAM,EAAEC,WAAW,QAAqC,cAAc;AA8D/E;;;;;;;;;;;;;;;;;;CAkBC,GACD,OAAO,MAAMC,uBAASH,WACpB,SAASG,OAAOC,KAAK,EAAEC,GAAG;IACxB,MAAM,EACJC,SAAS,EACTC,QAAQ,EACRC,GAAG,EACHC,MAAM,EAAE,EACRC,OAAO,QAAQ,EACfC,QAAQ,EAAE,EACVC,KAAK,EACLC,QAAQ,EACRC,cAAc,EACd,GAAGC,WACJ,GAAGX;IAEJ,IAAIY;IACJ,IAAIR,OAAOK,UAAU;QACnBG,oBACE,KAACA;YACCR,KAAKA;YACLC,KAAKA;YACLK,gBAAgBA;YACf,GAAGD,QAAQ;YACZP,WAAWJ,YAAY;gBAAEI,WAAWO,UAAUP;YAAU;;IAG9D;IAEA,qBACE,MAACW;QACE,GAAGF,SAAS;QACbV,KAAKA;QACLa,MAAK;QACLZ,WAAWL,OAAO;YAChBS;YACAC;YACAC;YACAN;QACF;;YAECU;YACAT;;;AAGP,GACA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/avatar/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { cssUtils, type ThemeColor } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-avatar\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface AvatarClassNameOptions {\n className?: string;\n\n /**\n * An optional color to apply to the avatar. This will apply a className of\n * `rmd-avatar--${color}`, so only the keys from the `$rmd-avatar-colors` Map\n * are supported by default. It is recommended to create custom colors using\n * the `rmd-avatar-theme-update-var` mixin with custom class names if the\n * default colors aren't extensive enough.\n *\n * @see {@link theme}\n * @defaultValue `\"\"`\n */\n color?: string;\n\n /**\n * @defaultValue `\"avatar\"`\n */\n size?: \"avatar\" | \"icon\";\n\n /**\n * This can be used instead of {@link color} to set the background color to one of\n * the theme colors. This will also set the text color to either be `#000` or\n * `#fff` automatically to enforce the correct aspect ratio.\n */\n theme?: ThemeColor;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function avatar(options: AvatarClassNameOptions): string {\n const { className, color = \"\", size, theme } = options;\n\n return cnb(\n styles({ [color]: color, icon: size === \"icon\" }),\n cssUtils({ backgroundColor: theme }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface AvatarImageClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function avatarImage(options: AvatarImageClassNameOptions = {}): string {\n const { className } = options;\n\n return cnb(styles(\"image\"), className);\n}\n"],"names":["cnb","cssUtils","bem","styles","avatar","options","className","color","size","theme","icon","backgroundColor","avatarImage"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,QAAQ,QAAyB,iBAAiB;AAC3D,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AA+BnB;;CAEC,GACD,OAAO,SAASE,OAAOC,OAA+B;IACpD,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAE,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGJ;IAE/C,OAAOL,IACLG,OAAO;QAAE,CAACI,MAAM,EAAEA;QAAOG,MAAMF,SAAS;IAAO,IAC/CP,SAAS;QAAEU,iBAAiBF;IAAM,IAClCH;AAEJ;AAOA;;CAEC,GACD,OAAO,SAASM,YAAYP,UAAuC,CAAC,CAAC;IACnE,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,OAAO,UAAUG;AAC9B"}
|
package/dist/badge/Badge.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/badge/Badge.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cssUtils, type BackgroundColor } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-badge-size\"?: string | number;\n \"--rmd-badge-offset\"?: string | number;\n \"--rmd-badge-offset-top\"?: string | number;\n \"--rmd-badge-offset-right\"?: string | number;\n }\n}\n\nconst styles = bem(\"rmd-badge\");\n\n/**\n * @remarks \\@since 6.0.0 Renamed `\"default\"` to `\"greyscale\"` and added all\n * theme colors.\n */\nexport type BadgeTheme = BackgroundColor | \"greyscale\" | \"clear\";\n\nexport interface BadgeClassNameOptions {\n className?: string;\n\n /** @defaultValue `\"\"greyscale` */\n theme?: BadgeTheme;\n}\n\nexport function badge(options: BadgeClassNameOptions = {}): string {\n const { className, theme = \"greyscale\" } = options;\n const greyscale = theme === \"greyscale\";\n const clear = theme === \"clear\";\n\n return cnb(\n styles({ greyscale }),\n cssUtils({ backgroundColor: !clear && !greyscale ? theme : undefined }),\n className\n );\n}\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n /** @defaultValue `\"\"greyscale` */\n theme?: BadgeTheme;\n\n children: ReactNode;\n}\n\n/**\n * **Server Component**\n *\n * @example\n * Simple Example\n * ```tsx\n * import type { ReactElement } from \"react\";\n * import { Badge, Button, MaterialSymbol } from \"@react-md/core\";\n *\n * function Example(): ReactElement {\n * return (\n * <>\n * <Badge>3</Badge>\n * <Badge theme=\"primary\">100</Badge>\n * <Badge theme=\"secondary\">23</Badge>\n * <Badge theme=\"greyscale\">18</Badge>\n * <Badge theme=\"clear\">1</Badge>\n * </>\n * );\n * }\n * ```\n *\n * @example\n * Within Buttons Example\n * ```tsx\n * import type { ReactElement } from \"react\";\n * import { Badge, Button, MaterialSymbol } from \"@react-md/core\";\n *\n * function Example(): ReactElement {\n * return (\n * <Button aria-label=\"Notifications\" buttonType=\"icon\">\n * <Badge>88</Badge>\n * <MaterialSymbol name=\"notifications\" />\n * </Button>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0 Removed the `disableNullOnZero` feature since it's\n * easier just to use condition rendering yourself.\n */\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n function Badge(props, ref) {\n const { children, className, theme, ...remaining } = props;\n return (\n <span {...remaining} ref={ref} className={badge({ theme, className })}>\n {children}\n </span>\n );\n }\n);\n"],"names":["cnb","forwardRef","cssUtils","bem","styles","badge","options","className","theme","greyscale","clear","backgroundColor","undefined","Badge","props","ref","children","remaining","span"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAA6C,QAAQ;AACxE,SAASC,QAAQ,QAA8B,iBAAiB;AAChE,SAASC,GAAG,QAAQ,kBAAkB;AAWtC,MAAMC,SAASD,IAAI;AAenB,OAAO,SAASE,MAAMC,UAAiC,CAAC,CAAC;IACvD,MAAM,EAAEC,SAAS,EAAEC,QAAQ,WAAW,EAAE,GAAGF;IAC3C,MAAMG,YAAYD,UAAU;IAC5B,MAAME,QAAQF,UAAU;IAExB,OAAOR,IACLI,OAAO;QAAEK;IAAU,IACnBP,SAAS;QAAES,iBAAiB,CAACD,SAAS,CAACD,YAAYD,QAAQI;IAAU,IACrEL;AAEJ;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCC,GACD,OAAO,MAAMM,sBAAQZ,WACnB,SAASY,MAAMC,KAAK,EAAEC,GAAG;IACvB,MAAM,EAAEC,QAAQ,EAAET,SAAS,EAAEC,KAAK,EAAE,GAAGS,WAAW,GAAGH;IACrD,qBACE,KAACI;QAAM,GAAGD,SAAS;QAAEF,KAAKA;QAAKR,WAAWF,MAAM;YAAEG;YAAOD;QAAU;kBAChES;;AAGP,GACA"}
|
package/dist/box/Box.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/box/Box.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { box, type BoxOptions } from \"./styles.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface BoxProps extends HTMLAttributes<HTMLDivElement>, BoxOptions {}\n\n/**\n * **Server Component**\n *\n * The `Box` component is a wrapper around the CSS box model and should solve\n * most of your `flex` and `grid` layout requirements for responsive design.\n * There are pass-through props for all of the box module styling properties\n * available by default.\n *\n * @example\n * Default Styles\n * ```scss\n * .box {\n * align-items: center;\n * display: flex;\n * flex-wrap: wrap;\n * gap: 1rem;\n * padding: 1rem;\n * }\n * ```\n *\n * ```tsx\n * import { Box } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * export default function Example(): ReactElement {\n * return (\n * <Box>\n * <div>Thing 1</div>\n * <div>Thing 2</div>\n * <div>Thing 3</div>\n * <div>Thing 4</div>\n * <div>Thing 5</div>\n * </Box>\n * ):\n * }\n * ```\n *\n * @example\n * Default Grid Styles\n * ```scss\n * .box {\n * align-items: center;\n * display: grid;\n * grid-gap: 1rem;\n * grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));\n * padding: 1rem;\n * }\n * ```\n *\n * ```tsx\n * import { Box } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * export default function Example(): ReactElement {\n * return (\n * <Box grid>\n * <div>Thing 1</div>\n * <div>Thing 2</div>\n * <div>Thing 3</div>\n * <div>Thing 4</div>\n * <div>Thing 5</div>\n * </Box>\n * ):\n * }\n * ```\n *\n * @example\n * Custom Grid\n * ```scss\n * @use \"@react-md/core\" with (\n * $grids: (\n * small: (\n * min: 5rem,\n * ),\n * medium: (\n * min: 7rem,\n * padding: 2rem,\n * gap: 0.5rem,\n * ),\n * )\n * );\n *\n * ```\n *\n * ```tsx\n * import { Box } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * export default function Example(): ReactElement {\n * return (\n * <Box grid gridName=\"medium\">\n * <div>Thing 1</div>\n * <div>Thing 2</div>\n * <div>Thing 3</div>\n * <div>Thing 4</div>\n * <div>Thing 5</div>\n * </Box>\n * ):\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport const Box = forwardRef<HTMLDivElement, BoxProps>(\n function Box(props, ref) {\n const {\n className,\n children,\n align,\n grid = false,\n gridName = \"\",\n justify,\n stacked = false,\n reversed = false,\n gridColumns = \"fit\",\n fullWidth = false,\n disableWrap = false,\n disablePadding = false,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n className={box({\n className,\n fullWidth,\n grid,\n stacked,\n gridName,\n gridColumns,\n align,\n justify,\n reversed,\n disableWrap,\n disablePadding,\n })}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["forwardRef","box","Box","props","ref","className","children","align","grid","gridName","justify","stacked","reversed","gridColumns","fullWidth","disableWrap","disablePadding","remaining","div"],"mappings":";AAAA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,GAAG,QAAyB,cAAc;AAOnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGC,GACD,OAAO,MAAMC,oBAAMF,WACjB,SAASE,IAAIC,KAAK,EAAEC,GAAG;IACrB,MAAM,EACJC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,OAAO,KAAK,EACZC,WAAW,EAAE,EACbC,OAAO,EACPC,UAAU,KAAK,EACfC,WAAW,KAAK,EAChBC,cAAc,KAAK,EACnBC,YAAY,KAAK,EACjBC,cAAc,KAAK,EACnBC,iBAAiB,KAAK,EACtB,GAAGC,WACJ,GAAGd;IAEJ,qBACE,KAACe;QACE,GAAGD,SAAS;QACbb,KAAKA;QACLC,WAAWJ,IAAI;YACbI;YACAS;YACAN;YACAG;YACAF;YACAI;YACAN;YACAG;YACAE;YACAG;YACAC;QACF;kBAECV;;AAGP,GACA"}
|
package/dist/box/styles.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/box/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-box\");\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-box-gap\"?: string | number;\n \"--rmd-box-padding\"?: string | number;\n \"--rmd-box-item-min-size\"?: string | number;\n \"--rmd-box-columns\"?: string | number;\n }\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type BoxAlignItems =\n | \"start\"\n | \"flex-start\"\n | \"center\"\n | \"end\"\n | \"flex-end\"\n | \"stretch\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type BoxJustifyContent =\n | BoxAlignItems\n | \"space-around\"\n | \"space-between\"\n | \"space-evenly\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type BoxFlexDirection = \"row\" | \"column\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface BoxOptions {\n className?: string;\n\n /**\n * Set this to `true` to use `display: grid` instead of `display: flex`.\n *\n * @defaultValue `false`\n */\n grid?: boolean;\n\n /**\n * Set this to `true` to apply `width: 100%`. This can be useful when using\n * nested box layouts.\n *\n * @defaultValue `false`\n */\n fullWidth?: boolean;\n\n /**\n * Set this to `true` to set `flex-wrap: nowrap`.\n *\n * @defaultValue `false`\n */\n disableWrap?: boolean;\n\n /**\n * Set this to `true` to disable the default padding.\n *\n * @defaultValue `false`\n */\n disablePadding?: boolean;\n\n /**\n * This is a grid configuration\n * This should match one of the names in the `$grids` map. So for example:\n *\n * ```scss\n * @use \"react-md\" with (\n * $grids: (\n * small: (\n * min: 5rem\n * ),\n * medium: (\n * min: 7rem,\n * gap: 0.5rem,\n * padding: 2rem,\n * ),\n * ),\n * );\n * ```\n *\n * The `gridName` should be `\"small\" | \"medium\"`.\n *\n * @defaultValue `\"\"`\n */\n gridName?: string;\n\n /**\n * @defaultValue `\"fit\"`\n */\n gridColumns?: \"fit\" | \"fill\" | number;\n\n /**\n * @defaultValue `\"\"`\n */\n align?: BoxAlignItems;\n\n /**\n * The default value is really `center` or whatever the `$default-align-items` is set to.\n *\n * @defaultValue `\"\"`\n */\n justify?: BoxJustifyContent;\n\n /**\n * Set this to `true` to set `flex-direction: column` which will stack all\n * items in the box.\n *\n * @defaultValue `false`\n */\n stacked?: boolean;\n\n /**\n * Set this to `true` to reverse the `flex-direction`. i.e.\n * - `flex-direction: row-reverse`\n * - `flex-direction: column-reverse`\n *\n * @defaultValue `false`\n */\n reversed?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function box(options: BoxOptions = {}): string {\n const {\n className,\n align = \"\",\n grid = false,\n gridName = \"\",\n gridColumns = \"fit\",\n justify = \"\",\n stacked = false,\n reversed,\n fullWidth = false,\n disableWrap = false,\n disablePadding = false,\n } = options;\n\n return cnb(\n styles({\n wrap: !disableWrap,\n padded: !disablePadding,\n column: stacked && !reversed,\n reverse: !stacked && reversed,\n \"column-reverse\": stacked && reversed,\n \"full-width\": fullWidth,\n grid,\n \"grid-fill\": gridColumns === \"fill\",\n \"grid-columns\": typeof gridColumns === \"number\",\n [gridName]: grid && gridName,\n \"align-start\": align === \"start\" || align === \"flex-start\",\n \"align-center\": align === \"center\",\n \"align-end\": align === \"end\" || align === \"flex-end\",\n \"align-stretch\": align === \"stretch\",\n \"justify-center\": justify === \"center\",\n \"justify-start\": justify === \"start\" || justify === \"flex-start\",\n \"justify-end\": justify === \"end\" || justify === \"flex-end\",\n \"justify-stretch\": justify === \"stretch\",\n \"justify-around\": justify === \"space-around\",\n \"justify-between\": justify === \"space-between\",\n \"justify-evenly\": justify === \"space-evenly\",\n }),\n className\n );\n}\n"],"names":["cnb","bem","styles","box","options","className","align","grid","gridName","gridColumns","justify","stacked","reversed","fullWidth","disableWrap","disablePadding","wrap","padded","column","reverse"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAmInB;;CAEC,GACD,OAAO,SAASE,IAAIC,UAAsB,CAAC,CAAC;IAC1C,MAAM,EACJC,SAAS,EACTC,QAAQ,EAAE,EACVC,OAAO,KAAK,EACZC,WAAW,EAAE,EACbC,cAAc,KAAK,EACnBC,UAAU,EAAE,EACZC,UAAU,KAAK,EACfC,QAAQ,EACRC,YAAY,KAAK,EACjBC,cAAc,KAAK,EACnBC,iBAAiB,KAAK,EACvB,GAAGX;IAEJ,OAAOJ,IACLE,OAAO;QACLc,MAAM,CAACF;QACPG,QAAQ,CAACF;QACTG,QAAQP,WAAW,CAACC;QACpBO,SAAS,CAACR,WAAWC;QACrB,kBAAkBD,WAAWC;QAC7B,cAAcC;QACdN;QACA,aAAaE,gBAAgB;QAC7B,gBAAgB,OAAOA,gBAAgB;QACvC,CAACD,SAAS,EAAED,QAAQC;QACpB,eAAeF,UAAU,WAAWA,UAAU;QAC9C,gBAAgBA,UAAU;QAC1B,aAAaA,UAAU,SAASA,UAAU;QAC1C,iBAAiBA,UAAU;QAC3B,kBAAkBI,YAAY;QAC9B,iBAAiBA,YAAY,WAAWA,YAAY;QACpD,eAAeA,YAAY,SAASA,YAAY;QAChD,mBAAmBA,YAAY;QAC/B,kBAAkBA,YAAY;QAC9B,mBAAmBA,YAAY;QAC/B,kBAAkBA,YAAY;IAChC,IACAL;AAEJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/button/AsyncButton.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, type MouseEvent, type ReactNode } from \"react\";\nimport { type BoxAlignItems } from \"../box/styles.js\";\nimport { overlay } from \"../overlay/overlayStyles.js\";\nimport {\n CircularProgress,\n type CircularProgressProps,\n} from \"../progress/CircularProgress.js\";\nimport {\n LinearProgress,\n type LinearProgressProps,\n} from \"../progress/LinearProgress.js\";\nimport { type ProgressTheme } from \"../progress/types.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useAsyncAction } from \"../useAsyncAction.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { Button, type ButtonProps } from \"./Button.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type AsyncButtonLoadingType =\n | \"circular-before\"\n | \"circular-after\"\n | \"circular-overlay\"\n | \"linear-above\"\n | \"linear-below\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface AsyncButtonProps extends ButtonProps {\n /**\n * @see {@link progressAriaLabelledBy}\n * @defaultValue `\"async-button\" + useId()`\n */\n id?: string;\n\n /**\n * When this is defined and returns a `Promise`, the loading indicator will\n * display until the promise has resolved.\n *\n * @defaultValue `() => {}`\n */\n onClick?(event: MouseEvent<HTMLButtonElement>): Promise<void> | void;\n\n /**\n * Set this to `true` to manually display a loading spinner.\n *\n * @defaultValue `false`\n */\n loading?: boolean;\n\n /**\n * - `\"circular-overlay\"` - Covers and hides the button content with a\n * centered circular progress\n * - `\"circular-before\"` - Renders a circular progress bar before the button\n * content which is useful when rendering an icon before the button text.\n * See {@link beforeAddon} as well.\n * - `\"circular-after\"` - Renders a circular progress bar before the button\n * content which is useful when rendering an icon after the button text.\n * See {@link afterAddon} as well.\n * - `\"linear-above\"` - Renders a linear progress bar at the top of the button\n * while still displaying the button contents. Usually looks good for\n * outlined buttons.\n * - `\"linear-below\"` - Renders a linear progress bar at the bottom of the\n * button while still displaying the button contents. Usually looks good for\n * outlined buttons.\n *\n * @defaultValue `\"circular-overlay\"`\n */\n loadingType?: AsyncButtonLoadingType;\n\n /**\n * Optional content to display instead of the default `children` while\n * loading.\n */\n loadingChildren?: ReactNode;\n\n /**\n * Set this to `true` to use the `disabled` theme while loading.\n *\n * @defaultValue `false`\n */\n loadingDisabledTheme?: boolean;\n\n /**\n * This should be used when the {@link loadingType} is set to\n * `\"circular-before\"`, an icon should appear before the other content in\n * the button, and the loading indicator should replace the icon.\n */\n beforeAddon?: ReactNode;\n\n /**\n * This should be used when the {@link loadingType} is set to\n * `\"circular-after\"`, an icon should appear before the other content in\n * the button, and the loading indicator should replace the icon.\n */\n afterAddon?: ReactNode;\n\n /**\n * An optional label to provide to the progressbar.\n *\n * @see {@link progressAriaLabelledBy}\n */\n progressAriaLabel?: string;\n\n /**\n * @see {@link id}\n * @defaultValue `id`\n */\n progressAriaLabelledBy?: string;\n\n /**\n * Any additional props to pass to the `CircularProgress` bar when the\n * {@link loadingType} is one of the circular types.\n */\n linearProgressProps?: PropsWithRef<LinearProgressProps, HTMLDivElement>;\n\n /**\n * Any additional props to pass to the `LinearProgress` bar when the\n * {@link loadingType} is one of the linear types.\n */\n circularProgressProps?: PropsWithRef<CircularProgressProps, HTMLSpanElement>;\n}\n\n/**\n * **Client Component**\n *\n * The async button can be used to render a loading indicator within a button\n * during an async task. The loading spinner can be shown either by enabling the\n * `loading` prop or returning a promise from the `onClick` event which will\n * continue to show the loading indicator until the promise has been resolved.\n *\n * @example\n * Async onClick\n * ```tsx\n * import { AsyncButton } from \"@react-md/core\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const [data, setData] = useState(null);\n * return (\n * <AsyncButton\n * type=\"submit\"\n * onClick={async () => {\n * const response = await fetch(\"/my-api\");\n * const json = await response.json();\n * setData(json);\n * }}\n * >\n * Submit\n * </AsyncButton>\n * );\n * }\n * ```\n *\n * @example\n * Manual Loading State\n * ```tsx\n * import { AsyncButton } from \"@react-md/core\";\n * import { useMutation } from \"@tanstack/query\";\n * import { useState, type ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const { isLoading, mutate } = useMutation({\n * mutationFn: (newTodo) => fetch('/todos', {\n * method: \"POST\",\n * body: JSON.stringify(newTodo),\n * }),\n * });\n *\n * return (\n * <AsyncButton\n * type=\"submit\"\n * loading={isLoading}\n * onClick={() => {\n * mutate({ id: Date.now(), title: \"Create example\" });\n * }}\n * >\n * Create Todo\n * </AsyncButton>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport const AsyncButton = forwardRef<HTMLButtonElement, AsyncButtonProps>(\n function AsyncButton(props, ref) {\n const {\n id: propId,\n onClick = noop,\n children,\n floating = null,\n theme = floating ? \"secondary\" : \"clear\",\n themeType = floating ? \"contained\" : \"flat\",\n buttonType = floating ? \"icon\" : \"text\",\n className,\n disabled,\n loading: propLoading = false,\n loadingType = \"circular-overlay\",\n loadingChildren,\n loadingDisabledTheme = false,\n afterAddon: propAfterAddon,\n beforeAddon: propBeforeAddon,\n linearProgressProps,\n circularProgressProps,\n progressAriaLabel,\n progressAriaLabelledBy: propProgressAriaLabelledBy,\n ...remaining\n } = props;\n const id = useEnsuredId(propId, \"async-button\");\n const { handleAsync, pending } = useAsyncAction({ disabled });\n const loading = pending || propLoading;\n\n let progressTheme: ProgressTheme = \"current-color\";\n if (theme === \"clear\" || theme === \"disabled\") {\n progressTheme = \"primary\";\n }\n\n let progressAriaLabelledBy = propProgressAriaLabelledBy;\n if (\n !progressAriaLabel &&\n !linearProgressProps?.[\"aria-label\"] &&\n !linearProgressProps?.[\"aria-labelledby\"] &&\n !circularProgressProps?.[\"aria-label\"] &&\n !circularProgressProps?.[\"aria-labelledby\"]\n ) {\n progressAriaLabelledBy = id;\n }\n\n const progress = loadingType.includes(\"linear\") ? (\n <LinearProgress\n aria-label={progressAriaLabel}\n aria-labelledby={progressAriaLabelledBy as string}\n {...linearProgressProps}\n theme={progressTheme}\n />\n ) : (\n <CircularProgress\n aria-label={progressAriaLabel}\n aria-labelledby={progressAriaLabelledBy as string}\n {...circularProgressProps}\n theme={progressTheme}\n />\n );\n\n let afterAddon = propAfterAddon;\n let beforeAddon = propBeforeAddon;\n let overlayElement: ReactNode;\n let isOverlayCover = false;\n switch (loadingType) {\n case \"circular-before\":\n beforeAddon = loading ? progress : propBeforeAddon;\n break;\n case \"circular-after\":\n afterAddon = loading ? progress : propAfterAddon;\n break;\n case \"circular-overlay\":\n case \"linear-above\":\n case \"linear-below\": {\n let alignItems: BoxAlignItems = \"center\";\n if (loadingType === \"linear-above\") {\n alignItems = \"start\";\n } else if (loadingType === \"linear-below\") {\n alignItems = \"end\";\n } else {\n isOverlayCover = true;\n }\n\n overlayElement = loading && (\n <span\n className={overlay({\n active: true,\n visible: true,\n absolute: true,\n align: alignItems,\n })}\n >\n {progress}\n </span>\n );\n break;\n }\n }\n\n return (\n <Button\n {...remaining}\n aria-disabled={loading || undefined}\n id={id}\n ref={ref}\n disabled={disabled}\n floating={floating}\n className={cnb(\n \"rmd-button--async\",\n loading && isOverlayCover && \"rmd-button--async-overlay\",\n className\n )}\n theme={loading && loadingDisabledTheme ? \"disabled\" : theme}\n themeType={themeType}\n buttonType={buttonType}\n onClick={handleAsync((event) => Promise.resolve(onClick(event)))}\n >\n {beforeAddon}\n {loading && typeof loadingChildren !== \"undefined\"\n ? loadingChildren\n : children}\n {afterAddon}\n {overlayElement}\n </Button>\n );\n }\n);\n"],"names":["cnb","forwardRef","overlay","CircularProgress","LinearProgress","useAsyncAction","useEnsuredId","Button","noop","AsyncButton","props","ref","id","propId","onClick","children","floating","theme","themeType","buttonType","className","disabled","loading","propLoading","loadingType","loadingChildren","loadingDisabledTheme","afterAddon","propAfterAddon","beforeAddon","propBeforeAddon","linearProgressProps","circularProgressProps","progressAriaLabel","progressAriaLabelledBy","propProgressAriaLabelledBy","remaining","handleAsync","pending","progressTheme","progress","includes","aria-label","aria-labelledby","overlayElement","isOverlayCover","alignItems","span","active","visible","absolute","align","aria-disabled","undefined","event","Promise","resolve"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAyC,QAAQ;AAEpE,SAASC,OAAO,QAAQ,8BAA8B;AACtD,SACEC,gBAAgB,QAEX,kCAAkC;AACzC,SACEC,cAAc,QAET,gCAAgC;AAGvC,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,MAAM,QAA0B,cAAc;AAEvD,MAAMC,OAAO;AACX,aAAa;AACf;AA8GA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DC,GACD,OAAO,MAAMC,4BAAcR,WACzB,SAASQ,YAAYC,KAAK,EAAEC,GAAG;IAC7B,MAAM,EACJC,IAAIC,MAAM,EACVC,UAAUN,IAAI,EACdO,QAAQ,EACRC,WAAW,IAAI,EACfC,QAAQD,WAAW,cAAc,OAAO,EACxCE,YAAYF,WAAW,cAAc,MAAM,EAC3CG,aAAaH,WAAW,SAAS,MAAM,EACvCI,SAAS,EACTC,QAAQ,EACRC,SAASC,cAAc,KAAK,EAC5BC,cAAc,kBAAkB,EAChCC,eAAe,EACfC,uBAAuB,KAAK,EAC5BC,YAAYC,cAAc,EAC1BC,aAAaC,eAAe,EAC5BC,mBAAmB,EACnBC,qBAAqB,EACrBC,iBAAiB,EACjBC,wBAAwBC,0BAA0B,EAClD,GAAGC,WACJ,GAAG1B;IACJ,MAAME,KAAKN,aAAaO,QAAQ;IAChC,MAAM,EAAEwB,WAAW,EAAEC,OAAO,EAAE,GAAGjC,eAAe;QAAEgB;IAAS;IAC3D,MAAMC,UAAUgB,WAAWf;IAE3B,IAAIgB,gBAA+B;IACnC,IAAItB,UAAU,WAAWA,UAAU,YAAY;QAC7CsB,gBAAgB;IAClB;IAEA,IAAIL,yBAAyBC;IAC7B,IACE,CAACF,qBACD,CAACF,qBAAqB,CAAC,aAAa,IACpC,CAACA,qBAAqB,CAAC,kBAAkB,IACzC,CAACC,uBAAuB,CAAC,aAAa,IACtC,CAACA,uBAAuB,CAAC,kBAAkB,EAC3C;QACAE,yBAAyBtB;IAC3B;IAEA,MAAM4B,WAAWhB,YAAYiB,QAAQ,CAAC,0BACpC,KAACrC;QACCsC,cAAYT;QACZU,mBAAiBT;QAChB,GAAGH,mBAAmB;QACvBd,OAAOsB;uBAGT,KAACpC;QACCuC,cAAYT;QACZU,mBAAiBT;QAChB,GAAGF,qBAAqB;QACzBf,OAAOsB;;IAIX,IAAIZ,aAAaC;IACjB,IAAIC,cAAcC;IAClB,IAAIc;IACJ,IAAIC,iBAAiB;IACrB,OAAQrB;QACN,KAAK;YACHK,cAAcP,UAAUkB,WAAWV;YACnC;QACF,KAAK;YACHH,aAAaL,UAAUkB,WAAWZ;YAClC;QACF,KAAK;QACL,KAAK;QACL,KAAK;YAAgB;gBACnB,IAAIkB,aAA4B;gBAChC,IAAItB,gBAAgB,gBAAgB;oBAClCsB,aAAa;gBACf,OAAO,IAAItB,gBAAgB,gBAAgB;oBACzCsB,aAAa;gBACf,OAAO;oBACLD,iBAAiB;gBACnB;gBAEAD,iBAAiBtB,yBACf,KAACyB;oBACC3B,WAAWlB,QAAQ;wBACjB8C,QAAQ;wBACRC,SAAS;wBACTC,UAAU;wBACVC,OAAOL;oBACT;8BAECN;;gBAGL;YACF;IACF;IAEA,qBACE,MAACjC;QACE,GAAG6B,SAAS;QACbgB,iBAAe9B,WAAW+B;QAC1BzC,IAAIA;QACJD,KAAKA;QACLU,UAAUA;QACVL,UAAUA;QACVI,WAAWpB,IACT,qBACAsB,WAAWuB,kBAAkB,6BAC7BzB;QAEFH,OAAOK,WAAWI,uBAAuB,aAAaT;QACtDC,WAAWA;QACXC,YAAYA;QACZL,SAASuB,YAAY,CAACiB,QAAUC,QAAQC,OAAO,CAAC1C,QAAQwC;;YAEvDzB;YACAP,WAAW,OAAOG,oBAAoB,cACnCA,kBACAV;YACHY;YACAiB;;;AAGP,GACA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/button/Button.tsx"],"sourcesContent":["\"use client\";\nimport { forwardRef, type ButtonHTMLAttributes } from \"react\";\nimport { useElementInteraction } from \"../interaction/useElementInteraction.js\";\nimport { useHigherContrastChildren } from \"../interaction/useHigherContrastChildren.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport {\n FloatingActionButton,\n type FloatingActionButtonPosition,\n type FloatingActionButtonProps,\n} from \"./FloatingActionButton.js\";\nimport { button, type ButtonClassNameThemeOptions } from \"./buttonStyles.js\";\n\nexport interface ButtonProps\n extends ButtonHTMLAttributes<HTMLButtonElement>,\n ButtonClassNameThemeOptions {\n /** @defaultValue `\"button\"` */\n type?: \"button\" | \"reset\" | \"submit\";\n\n /**\n * The position within the viewport to display the button as a floating action\n * button.\n */\n floating?: FloatingActionButtonPosition;\n\n /**\n * Any additional props to provide the to `FAB` container element when the\n * `floating` prop is provided\n */\n floatingProps?: PropsWithRef<FloatingActionButtonProps, HTMLSpanElement>;\n}\n\n/**\n * **Client Component**\n *\n * @example\n * Simple Example\n * ```tsx\n * import { Button } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Button\n * onClick={(event) => {\n * // do something\n * }}\n * >\n * Content\n * </Button>\n * );\n * }\n * ```\n *\n * @example\n * Theme Example\n * ```tsx\n * import { Button } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Button\n * theme=\"primary\"\n * themeType=\"contained\"\n * onClick={(event) => {\n * // do something\n * }}\n * >\n * Content\n * </Button>\n * );\n * }\n * ```\n *\n * @example\n * Icon Button Example\n * ```tsx\n * import { Button } from \"@react-md/core\";\n * import { FavoriteSVGIcon } from \"@react-md/material-icons\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Button\n * theme=\"secondary\"\n * themeType=\"outline\"\n * buttonType=\"icon\"\n * onClick={(event) => {\n * // do something\n * }}\n * >\n * <FavoriteSVGIcon />\n * </Button>\n * );\n * }\n * ```\n *\n * @example\n * Text Button with icons\n * ```tsx\n * import { Button } from \"@react-md/core\";\n * import { FavoriteSVGIcon } from \"@react-md/material-icons\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Button\n * onClick={(event) => {\n * // do something\n * }}\n * >\n * <FavoriteSVGIcon />\n * Content\n * </Button>\n * );\n * }\n * ```\n */\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props, ref) {\n const {\n type = \"button\",\n disabled = false,\n floating = null,\n floatingProps,\n theme = floating ? \"secondary\" : \"clear\",\n themeType = floating ? \"contained\" : \"flat\",\n iconSize,\n buttonType = floating || iconSize ? \"icon\" : \"text\",\n className,\n responsive,\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;\n const isThemeDisabled = theme === \"disabled\";\n const ariaDisabled = props[\"aria-disabled\"];\n const { pressed, pressedClassName, ripples, handlers } =\n 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 disabled ||\n isThemeDisabled ||\n (ariaDisabled && ariaDisabled !== \"false\"),\n });\n\n const children = useHigherContrastChildren(propChildren);\n\n return (\n <FloatingActionButton position={floating} {...floatingProps}>\n <button\n {...remaining}\n // when the theme is set to `\"disabled\"`, the event handlers should be\n // removed so that it behaves like a disabled button. you do not want to\n // actually set the `disabled` attribute since it will lose keyboard\n // focus. this is mostly for supporting circular progress bars within\n // buttons\n {...(isThemeDisabled ? {} : handlers)}\n aria-disabled={isThemeDisabled || remaining[\"aria-disabled\"]}\n disabled={disabled}\n ref={ref}\n type={type}\n className={button({\n theme,\n themeType,\n buttonType,\n disabled,\n responsive,\n iconSize,\n pressed,\n pressedClassName,\n className,\n })}\n >\n {children}\n {ripples}\n </button>\n </FloatingActionButton>\n );\n }\n);\n"],"names":["forwardRef","useElementInteraction","useHigherContrastChildren","FloatingActionButton","button","Button","props","ref","type","disabled","floating","floatingProps","theme","themeType","iconSize","buttonType","className","responsive","children","propChildren","onBlur","onClick","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onMouseLeave","onDragStart","onTouchStart","onTouchEnd","onTouchMove","remaining","isThemeDisabled","ariaDisabled","pressed","pressedClassName","ripples","handlers","position","aria-disabled"],"mappings":"AAAA;;AACA,SAASA,UAAU,QAAmC,QAAQ;AAC9D,SAASC,qBAAqB,QAAQ,0CAA0C;AAChF,SAASC,yBAAyB,QAAQ,8CAA8C;AAExF,SACEC,oBAAoB,QAGf,4BAA4B;AACnC,SAASC,MAAM,QAA0C,oBAAoB;AAqB7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFC,GACD,OAAO,MAAMC,uBAASL,WACpB,SAASK,OAAOC,KAAK,EAAEC,GAAG;IACxB,MAAM,EACJC,OAAO,QAAQ,EACfC,WAAW,KAAK,EAChBC,WAAW,IAAI,EACfC,aAAa,EACbC,QAAQF,WAAW,cAAc,OAAO,EACxCG,YAAYH,WAAW,cAAc,MAAM,EAC3CI,QAAQ,EACRC,aAAaL,YAAYI,WAAW,SAAS,MAAM,EACnDE,SAAS,EACTC,UAAU,EACVC,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,MAAM0B,kBAAkBpB,UAAU;IAClC,MAAMqB,eAAe3B,KAAK,CAAC,gBAAgB;IAC3C,MAAM,EAAE4B,OAAO,EAAEC,gBAAgB,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GACpDpC,sBAAsB;QACpBmB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACArB,UACEA,YACAuB,mBACCC,gBAAgBA,iBAAiB;IACtC;IAEF,MAAMf,WAAWhB,0BAA0BiB;IAE3C,qBACE,KAAChB;QAAqBmC,UAAU5B;QAAW,GAAGC,aAAa;kBACzD,cAAA,MAACP;YACE,GAAG2B,SAAS;YAMZ,GAAIC,kBAAkB,CAAC,IAAIK,QAAQ;YACpCE,iBAAeP,mBAAmBD,SAAS,CAAC,gBAAgB;YAC5DtB,UAAUA;YACVF,KAAKA;YACLC,MAAMA;YACNQ,WAAWZ,OAAO;gBAChBQ;gBACAC;gBACAE;gBACAN;gBACAQ;gBACAH;gBACAoB;gBACAC;gBACAnB;YACF;;gBAECE;gBACAkB;;;;AAIT,GACA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/button/ButtonUnstyled.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes } from \"react\";\nimport { buttonUnstyled } from \"./buttonUnstyledStyles.js\";\n\n/**\n * The props for the unstyled button are just all the normal button html\n * attributes without the `type` since this component forces the `type=\"button\"`\n * value.\n *\n * @remarks \\@since 6.0.0 Renamed from `UnstyledButtonProps`\n */\nexport type ButtonUnstyledProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n \"type\"\n>;\n\n/**\n * **Server Component**\n *\n * A simple wrapper for a `<button type=\"button\">` that applies the unstyled\n * utility class.\n *\n * Requires the `$disable-unstyled-utility-class` to be `false` to use.\n *\n * @see {@link buttonUnstyled}\n * @remarks \\@since 6.0.0 Renamed from `UnstyledButton`\n */\nexport const ButtonUnstyled = forwardRef<\n HTMLButtonElement,\n ButtonUnstyledProps\n>(function ButtonUnstyled(props, ref) {\n const { children, className, ...remaining } = props;\n return (\n <button\n {...remaining}\n ref={ref}\n type=\"button\"\n className={buttonUnstyled({ className })}\n >\n {children}\n </button>\n );\n});\n"],"names":["forwardRef","buttonUnstyled","ButtonUnstyled","props","ref","children","className","remaining","button","type"],"mappings":";AAAA,SAASA,UAAU,QAAmC,QAAQ;AAC9D,SAASC,cAAc,QAAQ,4BAA4B;AAc3D;;;;;;;;;;CAUC,GACD,OAAO,MAAMC,+BAAiBF,WAG5B,SAASE,eAAeC,KAAK,EAAEC,GAAG;IAClC,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGJ;IAC9C,qBACE,KAACK;QACE,GAAGD,SAAS;QACbH,KAAKA;QACLK,MAAK;QACLH,WAAWL,eAAe;YAAEK;QAAU;kBAErCD;;AAGP,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/button/FloatingActionButton.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { bem } from \"../utils/bem.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-fab-offset\"?: string | number;\n }\n}\n\nconst styles = bem(\"rmd-fab\");\n\n/**\n * The position within the viewport for the floating action button.\n *\n * @remarks \\@since 6.0.0 This was renamed from `FABPosition`\n */\nexport type FloatingActionButtonPosition =\n | \"bottom-left\"\n | \"bottom-right\"\n | \"top-left\"\n | \"top-right\"\n | null;\n\n/**\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport interface FloatingActionButtonClassNameOptions {\n className?: string;\n\n /** @defaultValue `null` */\n position?: FloatingActionButtonPosition;\n\n /**\n * @defaultValue `false`\n */\n absolute?: boolean;\n}\n\n/**\n * FAB = Floating Action Button\n *\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport function fab(options: FloatingActionButtonClassNameOptions): string {\n const { className, position = null, absolute = false } = options;\n\n return cnb(\n styles({\n tl: position === \"top-left\",\n tr: position === \"top-right\",\n bl: position === \"bottom-left\",\n br: position === \"bottom-right\",\n absolute,\n }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface FloatingActionButtonProps\n extends HTMLAttributes<HTMLSpanElement>,\n FloatingActionButtonClassNameOptions {}\n\n/**\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport const FloatingActionButton = forwardRef<\n HTMLSpanElement,\n FloatingActionButtonProps\n>(function FloatingActionButton(props, ref) {\n const {\n children,\n className,\n position = null,\n absolute = false,\n ...remaining\n } = props;\n if (!position) {\n return <>{children}</>;\n }\n\n return (\n <span\n {...remaining}\n ref={ref}\n className={fab({\n className,\n position,\n absolute,\n })}\n >\n {children}\n </span>\n );\n});\n"],"names":["cnb","forwardRef","bem","styles","fab","options","className","position","absolute","tl","tr","bl","br","FloatingActionButton","props","ref","children","remaining","span"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAA6B,QAAQ;AACxD,SAASC,GAAG,QAAQ,kBAAkB;AAQtC,MAAMC,SAASD,IAAI;AA8BnB;;;;;CAKC,GACD,OAAO,SAASE,IAAIC,OAA6C;IAC/D,MAAM,EAAEC,SAAS,EAAEC,WAAW,IAAI,EAAEC,WAAW,KAAK,EAAE,GAAGH;IAEzD,OAAOL,IACLG,OAAO;QACLM,IAAIF,aAAa;QACjBG,IAAIH,aAAa;QACjBI,IAAIJ,aAAa;QACjBK,IAAIL,aAAa;QACjBC;IACF,IACAF;AAEJ;AAOA;;;CAGC,GACD,OAAO,MAAMO,qCAAuBZ,WAGlC,SAASY,qBAAqBC,KAAK,EAAEC,GAAG;IACxC,MAAM,EACJC,QAAQ,EACRV,SAAS,EACTC,WAAW,IAAI,EACfC,WAAW,KAAK,EAChB,GAAGS,WACJ,GAAGH;IACJ,IAAI,CAACP,UAAU;QACb,qBAAO;sBAAGS;;IACZ;IAEA,qBACE,KAACE;QACE,GAAGD,SAAS;QACbF,KAAKA;QACLT,WAAWF,IAAI;YACbE;YACAC;YACAC;QACF;kBAECQ;;AAGP,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/button/TooltippedButton.tsx"],"sourcesContent":["\"use client\";\nimport { forwardRef, type ReactNode } from \"react\";\nimport { Tooltip, type TooltipProps } from \"../tooltip/Tooltip.js\";\nimport {\n useTooltip,\n type ProvidedTooltipProps,\n type TooltipOptions,\n type TooltippedElementEventHandlers,\n} from \"../tooltip/useTooltip.js\";\nimport { Button, type ButtonProps } from \"./Button.js\";\nimport { type ButtonType } from \"./buttonStyles.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface TooltippedButtonProps extends ButtonProps {\n /** @defaultValue `\"icon\"` */\n buttonType?: ButtonType;\n\n /**\n * The tooltip children to render. When this is falsey, the tooltip event\n * listeners will not be enabled and the tooltip will never display.\n */\n tooltip?: ReactNode;\n\n /**\n * Any additional props to pass to the `Tooltip` component (normally styling\n * props).\n */\n tooltipProps?: Omit<TooltipProps, keyof ProvidedTooltipProps>;\n\n /**\n * Any additional tooltip options to pass to {@link useTooltip}. The most\n * common options would be:\n *\n * ```ts\n * tooltipOptions={{\n * overflowOnly: true,\n *\n * // whatever values you want for these\n * hoverTimeout: 0,\n * leaveTimeout: 150,\n * defaultPosition: \"left\",\n * }}\n * ```\n */\n tooltipOptions?: Omit<TooltipOptions, keyof TooltippedElementEventHandlers>;\n}\n\n/**\n * **Client Component**\n *\n * A simple wrapper around the `Button` and `Tooltip` components to dynamically\n * add tooltips to buttons. The `buttonType` will default to `icon` instead of\n * `text`.\n *\n * @example\n * ```tsx\n * import { TooltippedButton } from \"@react-md/core\";\n * import FavoriteIcon from \"@react-md/material-icons/FavoriteIcon\";\n *\n * export default function Example(): ReactElement {\n * return (\n * <TooltippedButton tooltip=\"I am a tooltip!\" aria-label=\"Favorite\">\n * <FavoriteIcon />\n * </TooltippedButton>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport const TooltippedButton = forwardRef<\n HTMLButtonElement,\n TooltippedButtonProps\n>(function TooltippedButton(props, ref) {\n const {\n tooltip,\n tooltipProps,\n tooltipOptions,\n buttonType = \"icon\",\n onBlur = noop,\n onFocus = noop,\n onMouseEnter = noop,\n onMouseLeave = noop,\n onTouchStart = noop,\n onTouchEnd = noop,\n onContextMenu = noop,\n ...remaining\n } = props;\n const { tooltipProps: providedTooltipProps, elementProps } = useTooltip({\n ...tooltipOptions,\n disabled: !tooltip || tooltipOptions?.disabled,\n onBlur,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchEnd,\n onTouchStart,\n onContextMenu,\n });\n\n return (\n <>\n <Button\n {...elementProps}\n {...remaining}\n ref={ref}\n buttonType={buttonType}\n />\n <Tooltip {...providedTooltipProps} {...tooltipProps}>\n {tooltip}\n </Tooltip>\n </>\n );\n});\n"],"names":["forwardRef","Tooltip","useTooltip","Button","noop","TooltippedButton","props","ref","tooltip","tooltipProps","tooltipOptions","buttonType","onBlur","onFocus","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","onContextMenu","remaining","providedTooltipProps","elementProps","disabled"],"mappings":"AAAA;;AACA,SAASA,UAAU,QAAwB,QAAQ;AACnD,SAASC,OAAO,QAA2B,wBAAwB;AACnE,SACEC,UAAU,QAIL,2BAA2B;AAClC,SAASC,MAAM,QAA0B,cAAc;AAGvD,MAAMC,OAAO;AACX,aAAa;AACf;AAuCA;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACD,OAAO,MAAMC,iCAAmBL,WAG9B,SAASK,iBAAiBC,KAAK,EAAEC,GAAG;IACpC,MAAM,EACJC,OAAO,EACPC,YAAY,EACZC,cAAc,EACdC,aAAa,MAAM,EACnBC,SAASR,IAAI,EACbS,UAAUT,IAAI,EACdU,eAAeV,IAAI,EACnBW,eAAeX,IAAI,EACnBY,eAAeZ,IAAI,EACnBa,aAAab,IAAI,EACjBc,gBAAgBd,IAAI,EACpB,GAAGe,WACJ,GAAGb;IACJ,MAAM,EAAEG,cAAcW,oBAAoB,EAAEC,YAAY,EAAE,GAAGnB,WAAW;QACtE,GAAGQ,cAAc;QACjBY,UAAU,CAACd,WAAWE,gBAAgBY;QACtCV;QACAC;QACAC;QACAC;QACAE;QACAD;QACAE;IACF;IAEA,qBACE;;0BACE,KAACf;gBACE,GAAGkB,YAAY;gBACf,GAAGF,SAAS;gBACbZ,KAAKA;gBACLI,YAAYA;;0BAEd,KAACV;gBAAS,GAAGmB,oBAAoB;gBAAG,GAAGX,YAAY;0BAChDD;;;;AAIT,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/button/buttonStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport {\n cssUtils,\n type OutlineColor,\n type TextColor,\n type ThemeColor,\n} from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-button-background-color\"?: string;\n \"--rmd-button-color\"?: string;\n \"--rmd-button-border-radius\"?: string | number;\n \"--rmd-button-contained-background-color\"?: string;\n \"--rmd-button-contained-color\"?: string;\n \"--rmd-button-text-horizontal-padding\"?: string | number;\n \"--rmd-button-text-vertical-padding\"?: string | number;\n \"--rmd-button-text-min-height\"?: string | number;\n \"--rmd-button-text-min-width\"?: string | number;\n \"--rmd-button-icon-size\"?: string | number;\n \"--rmd-button-icon-radius\"?: string | number;\n }\n}\n\nconst styles = bem(\"rmd-button\");\n\n/**\n * When this is set to `\"text\"`, the size of the button will be determined by\n * the content and will be more block-like. Icons can still be rendered in\n * `\"text\"` buttons and will have spacing automatically applied between other\n * content in the button.\n *\n * When this is set to `\"icon\"`, the button will be equal height/width and\n * circular.\n */\nexport type ButtonType = \"text\" | \"icon\" | \"icon-square\";\n\n/**\n * One of the valid material design default button themes that can be used. This\n * will update the general look and feel by updating the colors within the\n * button while the `ButtonThemeType` will update the borders or box shadow.\n */\nexport type ButtonTheme = ThemeColor | \"clear\" | \"disabled\";\n\n/**\n * When this is set to `\"flat\"`, the button will have no `background-color`,\n * `border`, and `box-shadow`. It will only set the `color` to the\n * {@link ButtonTheme}.\n *\n * When this is set to `\"outline\"`, the button will have no `background-color`,\n * but gain a `border` and `color` set to the {@link ButtonTheme}.\n *\n * When this is set to `\"contained\"`, the button will set the `background-color`\n * to the {@link ButtonTheme}, add some `box-shadow`, and set the `color` to\n * either `#000` or `#fff`. (The `color` defaults to whichever value has the\n * highest contrast ratio with the `background-color`)\n */\nexport type ButtonThemeType = \"flat\" | \"outline\" | \"contained\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface ButtonClassNameThemeOptions {\n className?: string;\n\n /** @defaultValue `false` */\n disabled?: boolean;\n\n /**\n * @see {@link ButtonTheme} for information about the different types.\n * @defaultValue `\"text\"`\n */\n buttonType?: ButtonType;\n\n /** @defaultValue `\"clear\"` */\n theme?: ButtonTheme;\n\n /**\n * @see {@link ButtonThemeType} for information about the theming behavior.\n * @defaultValue `\"flat\"`\n */\n themeType?: ButtonThemeType;\n\n /**\n * This will display the button as an icon button until the tablet breakpoint\n * which will then display as a button with an icon.\n *\n * @defaultValue `false`\n */\n responsive?: boolean;\n\n /**\n * @defaultValue `\"normal\"`\n */\n iconSize?: \"small\" | \"normal\" | \"large\";\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ButtonClassNameOptions extends ButtonClassNameThemeOptions {\n /** @defaultValue `false` */\n pressed?: boolean;\n pressedClassName?: string;\n}\n\n/**\n * Creates a button theme based on the button theming props. This is really just\n * used so that other elements like clickable `<div>`s or `<input type=\"file\">`\n * can look like buttons.\n *\n * @param options - An object containing the themeable button props to generate a\n * button theme className.\n * @returns a string of class names to create an element with a button theme.\n * @remarks \\@since 6.0.0 This used to be called `buttonThemeClassNames`.\n */\nexport function button(options: ButtonClassNameOptions = {}): string {\n const {\n theme: propTheme = \"clear\",\n themeType = \"flat\",\n iconSize,\n buttonType = \"text\",\n disabled: propDisabled = false,\n responsive,\n pressed = false,\n pressedClassName,\n className,\n } = options;\n\n const theme = propTheme === \"disabled\" ? \"clear\" : propTheme;\n const disabled = propDisabled || propTheme === \"disabled\";\n const text = buttonType === \"text\" && !responsive && !iconSize;\n const icon = !text;\n const outline = themeType === \"outline\";\n const contained = themeType === \"contained\";\n const clear = theme === \"clear\";\n const isThemed = !disabled && !clear;\n\n let textColor: ThemeColor | TextColor | undefined;\n let outlineColor: OutlineColor | undefined;\n let backgroundColor: ThemeColor | undefined;\n if (isThemed && !contained) {\n textColor = theme;\n } else if (disabled) {\n textColor = \"text-disabled\";\n }\n if (isThemed && contained) {\n backgroundColor = theme;\n }\n if (outline) {\n outlineColor = clear ? \"greyscale\" : theme;\n }\n\n return cnb(\n styles({\n text,\n icon,\n \"icon-square\": buttonType === \"icon-square\",\n disabled,\n contained: !disabled && contained,\n pressed: contained && pressed,\n responsive,\n small: icon && iconSize === \"small\",\n large: icon && iconSize === \"large\",\n }),\n pressedClassName,\n cssUtils({\n surface: true,\n textColor,\n outlineColor,\n backgroundColor,\n }),\n className\n );\n}\n"],"names":["cnb","cssUtils","bem","styles","button","options","theme","propTheme","themeType","iconSize","buttonType","disabled","propDisabled","responsive","pressed","pressedClassName","className","text","icon","outline","contained","clear","isThemed","textColor","outlineColor","backgroundColor","small","large","surface"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,QAAQ,QAIH,iBAAiB;AACxB,SAASC,GAAG,QAAQ,kBAAkB;AAkBtC,MAAMC,SAASD,IAAI;AAgFnB;;;;;;;;;CASC,GACD,OAAO,SAASE,OAAOC,UAAkC,CAAC,CAAC;IACzD,MAAM,EACJC,OAAOC,YAAY,OAAO,EAC1BC,YAAY,MAAM,EAClBC,QAAQ,EACRC,aAAa,MAAM,EACnBC,UAAUC,eAAe,KAAK,EAC9BC,UAAU,EACVC,UAAU,KAAK,EACfC,gBAAgB,EAChBC,SAAS,EACV,GAAGX;IAEJ,MAAMC,QAAQC,cAAc,aAAa,UAAUA;IACnD,MAAMI,WAAWC,gBAAgBL,cAAc;IAC/C,MAAMU,OAAOP,eAAe,UAAU,CAACG,cAAc,CAACJ;IACtD,MAAMS,OAAO,CAACD;IACd,MAAME,UAAUX,cAAc;IAC9B,MAAMY,YAAYZ,cAAc;IAChC,MAAMa,QAAQf,UAAU;IACxB,MAAMgB,WAAW,CAACX,YAAY,CAACU;IAE/B,IAAIE;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIH,YAAY,CAACF,WAAW;QAC1BG,YAAYjB;IACd,OAAO,IAAIK,UAAU;QACnBY,YAAY;IACd;IACA,IAAID,YAAYF,WAAW;QACzBK,kBAAkBnB;IACpB;IACA,IAAIa,SAAS;QACXK,eAAeH,QAAQ,cAAcf;IACvC;IAEA,OAAON,IACLG,OAAO;QACLc;QACAC;QACA,eAAeR,eAAe;QAC9BC;QACAS,WAAW,CAACT,YAAYS;QACxBN,SAASM,aAAaN;QACtBD;QACAa,OAAOR,QAAQT,aAAa;QAC5BkB,OAAOT,QAAQT,aAAa;IAC9B,IACAM,kBACAd,SAAS;QACP2B,SAAS;QACTL;QACAC;QACAC;IACF,IACAT;AAEJ"}
|