@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
package/dist/_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/dist/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(
|
|
@@ -6,7 +6,6 @@ import type { ListItemChildrenProps, ListItemHeight } from "./types.js";
|
|
|
6
6
|
export interface ListItemHeightOptions extends Pick<ListItemChildrenProps, "leftAddon" | "rightAddon" | "leftAddonType" | "rightAddonType" | "secondaryText"> {
|
|
7
7
|
/**
|
|
8
8
|
* @see {@link ListItemHeight}
|
|
9
|
-
* @defaultValue `"auto"`
|
|
10
9
|
*/
|
|
11
10
|
height?: ListItemHeight;
|
|
12
11
|
}
|
package/dist/list/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { type PropsWithRef } from "../types.js";
|
|
|
5
5
|
*
|
|
6
6
|
* Conversions:
|
|
7
7
|
*
|
|
8
|
-
* - height !== "auto" -> height
|
|
8
|
+
* - height !== undefined && height !== "auto" -> height
|
|
9
9
|
* - secondaryText or left/right addon is media/media-large -> "extra-large"
|
|
10
10
|
* - left/right addon is avatar -> "large"
|
|
11
11
|
* - left/right addon is icon -> "medium"
|
package/dist/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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/button/buttonUnstyledStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface ButtonUnstyledClassNameOptions {\n className?: string;\n}\n\n/**\n * This requires the `$disable-unstyled-utility-class` to be `false` to use.\n *\n * @remarks \\@since 6.0.0\n */\nexport function buttonUnstyled(\n options: ButtonUnstyledClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(\"rmd-button-unstyled\", className);\n}\n"],"names":["cnb","buttonUnstyled","options","className"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAOhC;;;;CAIC,GACD,OAAO,SAASC,eACdC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOF,IAAI,uBAAuBG;AACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/card/Card.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { card, type CardClassNameOptions } from \"./styles.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-card-background-color\"?: string;\n \"--rmd-card-color\"?: string;\n \"--rmd-card-secondary-color\"?: string;\n }\n}\n\n/**\n * @remarks \\@since 6.0.0 Extends the {@link CardClassNameOptions}.\n */\nexport interface CardProps\n extends HTMLAttributes<HTMLDivElement>,\n CardClassNameOptions {}\n\n/**\n * **Server Component**\n *\n * @example\n * Simple Example\n * ```tsx\n * import {\n * Button,\n * Card,\n * CardContent,\n * CardFooter,\n * CardHeader,\n * CardTitle,\n * CardSubtitle,\n * Typography,\n * } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Card>\n * <CardHeader>\n * <CardTitle>Main Title</CardTitle>\n * <CardSubtitle>A subtitle</CardSubtitle>\n * </CardHeader>\n * <CardContent>\n * <Typography margin=\"none\">\n * Some paragraph of text.\n * </Typography>\n * </CardContent>\n * <CardFooter>\n * <Button>Action 1</Button>\n * <Button>Action 2</Button>\n * </CardFooter>\n * </Card>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0 Removed the deprecated `raiseable` prop\n */\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n function Card(props, ref) {\n const {\n children,\n className,\n bordered,\n raisable,\n fullWidth,\n interactable,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n className={card({\n className,\n bordered,\n raisable,\n fullWidth,\n interactable,\n })}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["forwardRef","card","Card","props","ref","children","className","bordered","raisable","fullWidth","interactable","remaining","div"],"mappings":";AAAA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,IAAI,QAAmC,cAAc;AAiB9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCC,GACD,OAAO,MAAMC,qBAAOF,WAClB,SAASE,KAAKC,KAAK,EAAEC,GAAG;IACtB,MAAM,EACJC,QAAQ,EACRC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZ,GAAGC,WACJ,GAAGR;IAEJ,qBACE,KAACS;QACE,GAAGD,SAAS;QACbP,KAAKA;QACLE,WAAWL,KAAK;YACdK;YACAC;YACAC;YACAC;YACAC;QACF;kBAECL;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/card/CardContent.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cardContent, type CardContentClassNameOptions } from \"./styles.js\";\n\n/**\n * @remarks\n * \\@since 6.0.0 Renamed `disableExtraPadding` to `disableLastChildPadding` and\n * removed the `disableParagraphMargin` prop.\n */\nexport interface CardContentProps\n extends HTMLAttributes<HTMLDivElement>,\n CardContentClassNameOptions {}\n\n/**\n * **Server Component**\n *\n * @remarks\n * \\@since 6.0.0 Renamed `disableExtraPadding` to `disableLastChildPadding` and\n * removed the `disableParagraphMargin` prop.\n */\nexport const CardContent = forwardRef<HTMLDivElement, CardContentProps>(\n function CardContent(props, ref) {\n const {\n children,\n className,\n disablePadding,\n disableSecondaryColor,\n disableLastChildPadding,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n className={cardContent({\n className,\n disablePadding,\n disableSecondaryColor,\n disableLastChildPadding,\n })}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["forwardRef","cardContent","CardContent","props","ref","children","className","disablePadding","disableSecondaryColor","disableLastChildPadding","remaining","div"],"mappings":";AAAA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,WAAW,QAA0C,cAAc;AAW5E;;;;;;CAMC,GACD,OAAO,MAAMC,4BAAcF,WACzB,SAASE,YAAYC,KAAK,EAAEC,GAAG;IAC7B,MAAM,EACJC,QAAQ,EACRC,SAAS,EACTC,cAAc,EACdC,qBAAqB,EACrBC,uBAAuB,EACvB,GAAGC,WACJ,GAAGP;IAEJ,qBACE,KAACQ;QACE,GAAGD,SAAS;QACbN,KAAKA;QACLE,WAAWL,YAAY;YACrBK;YACAC;YACAC;YACAC;QACF;kBAECJ;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/card/CardFooter.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { Box, type BoxProps } from \"../box/Box.js\";\nimport { type BoxJustifyContent } from \"../box/styles.js\";\nimport { cardFooter } from \"./styles.js\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardFooterProps extends BoxProps {\n /**\n * @defaultValue `\"flex-end\"`\n */\n justify?: BoxJustifyContent;\n}\n\n/**\n * **Server Component**\n *\n * A simple wrapper around the {@link Box} component that applies additional\n * padding and applies `justify-content: flex-end;` by default.\n *\n * @remarks \\@since 6.0.0\n */\nexport const CardFooter = forwardRef<HTMLDivElement, CardFooterProps>(\n function CardFooter(props, ref) {\n const { className, children, justify = \"flex-end\", ...remaining } = props;\n\n return (\n <Box\n {...remaining}\n ref={ref}\n className={cardFooter({ className })}\n justify={justify}\n >\n {children}\n </Box>\n );\n }\n);\n"],"names":["forwardRef","Box","cardFooter","CardFooter","props","ref","className","children","justify","remaining"],"mappings":";AAAA,SAASA,UAAU,QAAQ,QAAQ;AACnC,SAASC,GAAG,QAAuB,gBAAgB;AAEnD,SAASC,UAAU,QAAQ,cAAc;AAUzC;;;;;;;CAOC,GACD,OAAO,MAAMC,2BAAaH,WACxB,SAASG,WAAWC,KAAK,EAAEC,GAAG;IAC5B,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,UAAU,UAAU,EAAE,GAAGC,WAAW,GAAGL;IAEpE,qBACE,KAACH;QACE,GAAGQ,SAAS;QACbJ,KAAKA;QACLC,WAAWJ,WAAW;YAAEI;QAAU;QAClCE,SAASA;kBAERD;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/card/CardHeader.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { cardHeader, cardHeaderContent } from \"./styles.js\";\n\n/**\n * @remarks\n * \\@since 6.0.0 Removed the `align` prop.\n * \\@since 6.0.0 Renamed the `beforeChildren` and `afterChildren` props to\n * `beforeAddon` and `afterAddon`.\n * \\@since 6.0.0 Removed the `contentClassName` prop in favor of the\n * {@link contentProps}.\n */\nexport interface CardHeaderProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Any content to display after the children in the header. This could be an\n * expander icon button, visual media like an image or video, etc.\n */\n afterAddon?: ReactNode;\n\n /**\n * Any content to display before the children in the header. This could be an\n * expander icon button, visual media like an image or video, etc.\n */\n beforeAddon?: ReactNode;\n\n /**\n * Any props to pass to the `<div>` that surrounds the `children`. This is\n * generally used to apply custom `style` or `className`.\n */\n contentProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n}\n\n/**\n * **Server Component**\n *\n * @remarks\n * \\@since 6.0.0 Removed the `align` prop.\n * \\@since 6.0.0 Renamed the `beforeChildren` and `afterChildren` props to\n * `beforeAddon` and `afterAddon`.\n * \\@since 6.0.0 Removed the `contentClassName` prop in favor of the\n * {@link contentProps}.\n * \\@since 6.0.0 No longer uses the `TextIconSpacing` component and instead\n * relies on the CSS `gap` for spacing.\n * \\@since 6.0.0 Renders as a `<div>` instead of a `<header>`\n */\nexport const CardHeader = forwardRef<HTMLDivElement, CardHeaderProps>(\n function CardHeader(props, ref) {\n const {\n className,\n children,\n beforeAddon,\n afterAddon,\n contentProps,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n className={cardHeader({\n className,\n addonBefore: !!beforeAddon,\n addonAfter: !!afterAddon,\n })}\n >\n {beforeAddon}\n <div\n {...contentProps}\n className={cardHeaderContent({ className: contentProps?.className })}\n >\n {children}\n </div>\n {afterAddon}\n </div>\n );\n }\n);\n"],"names":["forwardRef","cardHeader","cardHeaderContent","CardHeader","props","ref","className","children","beforeAddon","afterAddon","contentProps","remaining","div","addonBefore","addonAfter"],"mappings":";AAAA,SAASA,UAAU,QAA6C,QAAQ;AAExE,SAASC,UAAU,EAAEC,iBAAiB,QAAQ,cAAc;AA8B5D;;;;;;;;;;;;CAYC,GACD,OAAO,MAAMC,2BAAaH,WACxB,SAASG,WAAWC,KAAK,EAAEC,GAAG;IAC5B,MAAM,EACJC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,UAAU,EACVC,YAAY,EACZ,GAAGC,WACJ,GAAGP;IAEJ,qBACE,MAACQ;QACE,GAAGD,SAAS;QACbN,KAAKA;QACLC,WAAWL,WAAW;YACpBK;YACAO,aAAa,CAAC,CAACL;YACfM,YAAY,CAAC,CAACL;QAChB;;YAECD;0BACD,KAACI;gBACE,GAAGF,YAAY;gBAChBJ,WAAWJ,kBAAkB;oBAAEI,WAAWI,cAAcJ;gBAAU;0BAEjEC;;YAEFE;;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/card/CardSubtitle.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n Typography,\n type TypographyHTMLElement,\n type TypographyProps,\n} from \"../typography/Typography.js\";\nimport { cardSubtitle } from \"./styles.js\";\n\n/**\n * @remarks \\@since 6.0.0 Extends the {@link TypographyProps} and removed the\n * `noWrap`/`disableSecondaryColor` props.\n */\nexport interface CardSubtitleProps extends TypographyProps {\n /** @defaultValue `\"h6\"` */\n as?: TypographyProps[\"as\"];\n\n /** @defaultValue `\"subtitle-2\"` */\n type?: TypographyProps[\"type\"];\n\n /** @defaultValue `\"none\"` */\n margin?: TypographyProps[\"margin\"];\n}\n\n/**\n * **Server Component**\n *\n * @remarks \\@since 6.0.0 Extends the {@link Typography} component and removed the\n * `noWrap`/`disableSecondaryColor` props.\n */\nexport const CardSubtitle = forwardRef<\n TypographyHTMLElement,\n CardSubtitleProps\n>(function CardSubtitle(props, ref) {\n const {\n children,\n as = \"h6\",\n type = \"subtitle-2\",\n margin = \"none\",\n className,\n ...remaining\n } = props;\n\n return (\n <Typography\n {...remaining}\n ref={ref}\n as={as}\n type={type}\n margin={margin}\n className={cardSubtitle({ className })}\n >\n {children}\n </Typography>\n );\n});\n"],"names":["forwardRef","Typography","cardSubtitle","CardSubtitle","props","ref","children","as","type","margin","className","remaining"],"mappings":";AAAA,SAASA,UAAU,QAAQ,QAAQ;AACnC,SACEC,UAAU,QAGL,8BAA8B;AACrC,SAASC,YAAY,QAAQ,cAAc;AAiB3C;;;;;CAKC,GACD,OAAO,MAAMC,6BAAeH,WAG1B,SAASG,aAAaC,KAAK,EAAEC,GAAG;IAChC,MAAM,EACJC,QAAQ,EACRC,KAAK,IAAI,EACTC,OAAO,YAAY,EACnBC,SAAS,MAAM,EACfC,SAAS,EACT,GAAGC,WACJ,GAAGP;IAEJ,qBACE,KAACH;QACE,GAAGU,SAAS;QACbN,KAAKA;QACLE,IAAIA;QACJC,MAAMA;QACNC,QAAQA;QACRC,WAAWR,aAAa;YAAEQ;QAAU;kBAEnCJ;;AAGP,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/card/CardTitle.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport {\n Typography,\n type TypographyHTMLElement,\n type TypographyProps,\n} from \"../typography/Typography.js\";\nimport { cardTitle } from \"./styles.js\";\n\n/**\n * @remarks \\@since 6,0.0 Extends the {@link TypographyProps} and removed the\n * `small`/`noWrap` props.\n */\nexport interface CardTitleProps extends TypographyProps {\n /** @defaultValue `\"h5\"` */\n as?: TypographyProps[\"as\"];\n\n /** @defaultValue `\"headline-5\"` */\n type?: TypographyProps[\"type\"];\n\n /** @defaultValue \"none\" */\n margin?: TypographyProps[\"margin\"];\n}\n\n/**\n * **Server Component**\n *\n * @remarks \\@since 6.0.0 Extends the {@Link Typography} component and removed\n * the `small`/`noWrap` props.\n */\nexport const CardTitle = forwardRef<TypographyHTMLElement, CardTitleProps>(\n function CardTitle(props, ref) {\n const {\n children,\n as = \"h5\",\n type = \"headline-5\",\n margin = \"none\",\n className,\n ...remaining\n } = props;\n\n return (\n <Typography\n {...remaining}\n ref={ref}\n as={as}\n type={type}\n margin={margin}\n className={cardTitle({ className })}\n >\n {children}\n </Typography>\n );\n }\n);\n"],"names":["forwardRef","Typography","cardTitle","CardTitle","props","ref","children","as","type","margin","className","remaining"],"mappings":";AAAA,SAASA,UAAU,QAAQ,QAAQ;AACnC,SACEC,UAAU,QAGL,8BAA8B;AACrC,SAASC,SAAS,QAAQ,cAAc;AAiBxC;;;;;CAKC,GACD,OAAO,MAAMC,0BAAYH,WACvB,SAASG,UAAUC,KAAK,EAAEC,GAAG;IAC3B,MAAM,EACJC,QAAQ,EACRC,KAAK,IAAI,EACTC,OAAO,YAAY,EACnBC,SAAS,MAAM,EACfC,SAAS,EACT,GAAGC,WACJ,GAAGP;IAEJ,qBACE,KAACH;QACE,GAAGU,SAAS;QACbN,KAAKA;QACLE,IAAIA;QACJC,MAAMA;QACNC,QAAQA;QACRC,WAAWR,UAAU;YAAEQ;QAAU;kBAEhCJ;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/card/ClickableCard.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, type MouseEventHandler } from \"react\";\nimport { useElementInteraction } from \"../interaction/useElementInteraction.js\";\nimport { useHigherContrastChildren } from \"../interaction/useHigherContrastChildren.js\";\nimport { Card, type CardProps } from \"./Card.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ClickableCardProps extends CardProps {\n onClick: MouseEventHandler<HTMLDivElement>;\n\n /**\n * Set this to `true` to disable all click events.\n *\n * Note: Any disabled styling will need to be manually applied.\n *\n * @defaultValue `false`\n */\n disabled?: boolean;\n}\n\n/**\n * A Small wrapper around the `Card` component that is clickable and has the\n * element interaction enabled (ripples).\n *\n * @example\n * SImple Example\n * ```tsx\n * import { CardContent, ClickableCard } from \"@react-md/core\";\n * import { type ReactElement } from \"react\";\n *\n * export default function ClickableCardExample(): ReactElement {\n * return (\n * <ClickableCard\n * onClick={() => {\n * // do something\n * }}\n * >\n * <CardContent>Wow</CardContent>\n * </ClickableCard>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport const ClickableCard = forwardRef<HTMLDivElement, ClickableCardProps>(\n function ClickableCard(props, ref) {\n const {\n role = \"button\",\n disabled,\n tabIndex = disabled ? undefined : 0,\n onClick,\n onKeyDown = noop,\n className,\n children: propChildren,\n ...remaining\n } = props;\n const { handlers, ripples } = useElementInteraction(remaining);\n const children = useHigherContrastChildren(propChildren);\n\n return (\n <Card\n {...remaining}\n {...handlers}\n aria-disabled={disabled || undefined}\n ref={ref}\n role={role}\n tabIndex={tabIndex}\n className={cnb(\"rmd-card--clickable\", className)}\n onClick={(event) => {\n if (disabled) {\n return;\n }\n\n onClick(event);\n }}\n onKeyDown={(event) => {\n onKeyDown(event);\n if (disabled) {\n return;\n }\n\n const isSpace = event.key === \" \";\n if (isSpace || event.key === \"Enter\") {\n if (isSpace) {\n event.preventDefault();\n }\n\n event.currentTarget.click();\n }\n }}\n >\n {children}\n {ripples}\n </Card>\n );\n }\n);\n"],"names":["cnb","forwardRef","useElementInteraction","useHigherContrastChildren","Card","noop","ClickableCard","props","ref","role","disabled","tabIndex","undefined","onClick","onKeyDown","className","children","propChildren","remaining","handlers","ripples","aria-disabled","event","isSpace","key","preventDefault","currentTarget","click"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAgC,QAAQ;AAC3D,SAASC,qBAAqB,QAAQ,0CAA0C;AAChF,SAASC,yBAAyB,QAAQ,8CAA8C;AACxF,SAASC,IAAI,QAAwB,YAAY;AAEjD,MAAMC,OAAO;AACX,aAAa;AACf;AAkBA;;;;;;;;;;;;;;;;;;;;;;;;CAwBC,GACD,OAAO,MAAMC,8BAAgBL,WAC3B,SAASK,cAAcC,KAAK,EAAEC,GAAG;IAC/B,MAAM,EACJC,OAAO,QAAQ,EACfC,QAAQ,EACRC,WAAWD,WAAWE,YAAY,CAAC,EACnCC,OAAO,EACPC,YAAYT,IAAI,EAChBU,SAAS,EACTC,UAAUC,YAAY,EACtB,GAAGC,WACJ,GAAGX;IACJ,MAAM,EAAEY,QAAQ,EAAEC,OAAO,EAAE,GAAGlB,sBAAsBgB;IACpD,MAAMF,WAAWb,0BAA0Bc;IAE3C,qBACE,MAACb;QACE,GAAGc,SAAS;QACZ,GAAGC,QAAQ;QACZE,iBAAeX,YAAYE;QAC3BJ,KAAKA;QACLC,MAAMA;QACNE,UAAUA;QACVI,WAAWf,IAAI,uBAAuBe;QACtCF,SAAS,CAACS;YACR,IAAIZ,UAAU;gBACZ;YACF;YAEAG,QAAQS;QACV;QACAR,WAAW,CAACQ;YACVR,UAAUQ;YACV,IAAIZ,UAAU;gBACZ;YACF;YAEA,MAAMa,UAAUD,MAAME,GAAG,KAAK;YAC9B,IAAID,WAAWD,MAAME,GAAG,KAAK,SAAS;gBACpC,IAAID,SAAS;oBACXD,MAAMG,cAAc;gBACtB;gBAEAH,MAAMI,aAAa,CAACC,KAAK;YAC3B;QACF;;YAECX;YACAI;;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/card/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { bem } from \"../utils/bem.js\";\nimport { cssUtils } from \"../cssUtils.js\";\n\nconst cardStyles = bem(\"rmd-card\");\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` if the card should use apply an inset `border` instead\n * of `box-shadow`.\n *\n * @defaultValue `false`\n */\n bordered?: boolean;\n\n /**\n * Set this to `true` if the card should gain additional box shadow while\n * hovered.\n *\n * @defaultValue `false`\n */\n raisable?: boolean;\n\n /**\n * Update the card to have `display: block` and `width: 100%` instead of\n * `display: inline-block`.\n *\n * @defaultValue `false`\n */\n fullWidth?: boolean;\n\n /**\n * Set this to `true` if the card should gain the pointer cursor while\n * hovering and other interaction styles and not using the `ClickableCard`\n * component.\n *\n * @defaultValue `false`\n */\n interactable?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function card(options: CardClassNameOptions = {}): string {\n const { className, bordered, raisable, fullWidth, interactable } = options;\n\n return cnb(\n cardStyles({\n bordered,\n shadowed: !bordered,\n raisable: !bordered && raisable,\n interactable,\n \"full-width\": fullWidth,\n }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardHeaderClassNameOptions {\n className?: string;\n\n /** @defaultValue `false` */\n addonAfter?: boolean;\n\n /** @defaultValue `false` */\n addonBefore?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardHeader(options: CardHeaderClassNameOptions = {}): string {\n const { className, addonAfter = false, addonBefore = false } = options;\n\n return cnb(\n cardStyles(\"header\", {\n \"addon-after\": addonAfter && !addonBefore,\n \"addon-before\": addonBefore && !addonAfter,\n surrounded: addonAfter && addonBefore,\n }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardHeaderContentClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardHeaderContent(\n options: CardHeaderContentClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(cardStyles(\"header-content\"), className);\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardTitleClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardTitle(options: CardTitleClassNameOptions = {}): string {\n const { className } = options;\n\n return cnb(cardStyles(\"title\"), className);\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardSubtitleClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardSubtitle(\n options: CardSubtitleClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(\n cardStyles(\"subtitle\"),\n cssUtils({ textColor: \"text-secondary\" }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardContentClassNameOptions {\n className?: string;\n\n /**\n * Set this to `true` to disable the card's padding.\n *\n * @defaultValue `false`\n */\n disablePadding?: boolean;\n\n /**\n * Set this to `true` to disable applying the `text-secondary-color`.\n *\n * @defaultValue `false`\n */\n disableSecondaryColor?: boolean;\n\n /**\n * Set this to `true` to disable applying extra `padding-bottom` if the\n * `CardContent` component is the last child.\n *\n * @defaultValue `false`\n * @remarks \\@since 6.0.0 Renamed from `disableExtraPadding`\n */\n disableLastChildPadding?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardContent(options: CardContentClassNameOptions = {}): string {\n const {\n className,\n disablePadding,\n disableSecondaryColor,\n disableLastChildPadding,\n } = options;\n\n return cnb(\n cardStyles(\"content\", {\n padded: !disablePadding,\n \"padding-bottom\": !disableLastChildPadding,\n }),\n cssUtils({\n textColor: !disableSecondaryColor ? \"text-secondary\" : undefined,\n }),\n className\n );\n}\n\n/** @remarks \\@since 6.0.0 */\nexport interface CardFooterClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function cardFooter(options: CardFooterClassNameOptions = {}): string {\n const { className } = options;\n\n return cnb(cardStyles(\"footer\"), className);\n}\n"],"names":["cnb","bem","cssUtils","cardStyles","card","options","className","bordered","raisable","fullWidth","interactable","shadowed","cardHeader","addonAfter","addonBefore","surrounded","cardHeaderContent","cardTitle","cardSubtitle","textColor","cardContent","disablePadding","disableSecondaryColor","disableLastChildPadding","padded","undefined","cardFooter"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,kBAAkB;AACtC,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,MAAMC,aAAaF,IAAI;AAwCvB;;CAEC,GACD,OAAO,SAASG,KAAKC,UAAgC,CAAC,CAAC;IACrD,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,YAAY,EAAE,GAAGL;IAEnE,OAAOL,IACLG,WAAW;QACTI;QACAI,UAAU,CAACJ;QACXC,UAAU,CAACD,YAAYC;QACvBE;QACA,cAAcD;IAChB,IACAH;AAEJ;AAaA;;CAEC,GACD,OAAO,SAASM,WAAWP,UAAsC,CAAC,CAAC;IACjE,MAAM,EAAEC,SAAS,EAAEO,aAAa,KAAK,EAAEC,cAAc,KAAK,EAAE,GAAGT;IAE/D,OAAOL,IACLG,WAAW,UAAU;QACnB,eAAeU,cAAc,CAACC;QAC9B,gBAAgBA,eAAe,CAACD;QAChCE,YAAYF,cAAcC;IAC5B,IACAR;AAEJ;AAOA;;CAEC,GACD,OAAO,SAASU,kBACdX,UAA6C,CAAC,CAAC;IAE/C,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,WAAW,mBAAmBG;AAC3C;AAOA;;CAEC,GACD,OAAO,SAASW,UAAUZ,UAAqC,CAAC,CAAC;IAC/D,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,WAAW,UAAUG;AAClC;AAOA;;CAEC,GACD,OAAO,SAASY,aACdb,UAAwC,CAAC,CAAC;IAE1C,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IACLG,WAAW,aACXD,SAAS;QAAEiB,WAAW;IAAiB,IACvCb;AAEJ;AA8BA;;CAEC,GACD,OAAO,SAASc,YAAYf,UAAuC,CAAC,CAAC;IACnE,MAAM,EACJC,SAAS,EACTe,cAAc,EACdC,qBAAqB,EACrBC,uBAAuB,EACxB,GAAGlB;IAEJ,OAAOL,IACLG,WAAW,WAAW;QACpBqB,QAAQ,CAACH;QACT,kBAAkB,CAACE;IACrB,IACArB,SAAS;QACPiB,WAAW,CAACG,wBAAwB,mBAAmBG;IACzD,IACAnB;AAEJ;AAOA;;CAEC,GACD,OAAO,SAASoB,WAAWrB,UAAsC,CAAC,CAAC;IACjE,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,WAAW,WAAWG;AACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/chip/Chip.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n type ButtonHTMLAttributes,\n type CSSProperties,\n type HTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport { type BackgroundColor } from \"../cssUtils.js\";\nimport { getIcon } from \"../icon/iconConfig.js\";\nimport { useElementInteraction } from \"../interaction/useElementInteraction.js\";\nimport { useHigherContrastChildren } from \"../interaction/useHigherContrastChildren.js\";\nimport { useMaxWidthTransition } from \"../transition/useMaxWidthTransition.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { chip, chipContent } from \"./styles.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-chip-solid-background-color\"?: string;\n \"--rmd-chip-solid-disabled-background-color\"?: string;\n \"--rmd-chip-solid-color\"?: string;\n \"--rmd-chip-theme-background-color\"?: string;\n \"--rmd-chip-theme-color\"?: string;\n \"--rmd-chip-outline-background-color\"?: string;\n \"--rmd-chip-outline-color\"?: string;\n }\n}\n\n/**\n * @remarks \\@since 6.0.0 Renamed the `noninteractive` prop to\n * `noninteractable`.\n */\nexport interface ChipProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * @defaultValue `\"solid\"`\n */\n theme?: \"outline\" | \"solid\";\n\n /**\n * Set this to `true` if the chip should gain additional box shadow while the\n * user is pressing down on the chip.\n *\n * @defaultValue `false`\n */\n raisable?: boolean;\n\n /**\n * @defaultValue `false`\n */\n disabled?: boolean;\n\n /**\n * When this is a boolean, a selected icon will be displayed before the\n * `children` and appear/disappear when `true`/`false`.\n *\n * @see {@link selectedIcon}\n * @see {@link selectedIconAfter}\n * @see {@link selectedThemed}\n */\n selected?: boolean;\n\n /**\n * Set this to `true` if the chip should change background color while\n * {@link selected} instead of displaying an icon. The default background\n * color is a lighter swatch of the theme primary color.\n *\n * @defaultValue `false`\n */\n selectedThemed?: boolean;\n\n /**\n * An optional className to provide only while {@link selected} is `true`.\n */\n selectedClassName?: string;\n\n /**\n * This will be ignored if {@link selected} is `undefined`.\n *\n * @defaultValue `getIcon(\"selected\")`\n */\n selectedIcon?: ReactNode;\n\n /**\n * Set this to `true` if the {@link selectedIcon} should display as the\n * {@link rightAddon} instead of the {@link leftAddon}.\n *\n * @defaultValue `false`\n * @remarks \\@since 6.0.0\n */\n selectedIconAfter?: boolean;\n\n /**\n * Set this to `true` if the {@link selectedIcon} should not animate and\n * instead apply `display: none`\n *\n * @defaultValue `false`\n */\n disableIconTransition?: boolean;\n\n /**\n * Set this to `true` to render the chip as a `<span>` instead of a button.\n *\n * @remarks\n * \\@since 2.6.0\n * \\@since 6.0.0 Renamed from `noninteractable`\n * @defaultValue `false`\n */\n noninteractive?: boolean;\n\n /**\n * An optional background color theme to use.\n *\n * @remarks \\@since 6.0.0\n */\n backgroundColor?: BackgroundColor;\n\n /**\n * An optional icon, avatar, circular progress, or custom component to render\n * before the `children`. This will remove some of the leading horizontal\n * padding on the chip as well.\n */\n leftAddon?: ReactNode;\n\n /**\n * An optional icon, avatar, circular progress, or custom component to render\n * after the `children`. This will remove some of the trailing horizontal\n * padding on the chip as well.\n */\n rightAddon?: ReactNode;\n\n /**\n * Set this to true if the `children` should not be wrapped in a span to apply\n * the {@link chipContent} styles which allow for shrinking text and\n * truncating text with ellipsis.\n *\n * @defaultValue `false`\n */\n disableContentWrap?: boolean;\n\n /**\n * This will be ignored if {@link disableContentWrap} is `true`.\n *\n * @remarks \\@since 6.0.0\n */\n contentProps?: PropsWithRef<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>;\n\n /**\n * This will be ignored if {@link disableContentWrap} is `true`.\n */\n contentStyle?: CSSProperties;\n\n /**\n * This will be ignored if {@link disableContentWrap} is `true`.\n */\n contentClassName?: string;\n}\n\n/**\n * **Server Component**\n *\n * @example\n * Simple Example\n * ```tsx\n * import { Chip } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return <Chip>Content</Chip>;\n * }\n * ```\n *\n * @example\n * Outlined Example\n * ```tsx\n * import { Chip } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return <Chip theme=\"outline\">Content</Chip>;\n * }\n * ```\n *\n * @example\n * Addons Example\n * ```tsx\n * import { Avatar, Chip } from \"@react-md/core\";\n * import AddCircleIcon from \"@react-md/material-icons/AddCircleIcon\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * return (\n * <Chip\n * leftAddon={\n * <Avatar>\n * <img src=\"https://i.pravatar.cc/40?img=3\" alt=\"\" />\n * </Avatar>\n * }\n * rightAddon={<AddCircleIcon />}\n * >\n * Chip\n * </Chip>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0 Renamed the `noninteractable` prop to\n * `noninteractive`.\n */\nexport const Chip = forwardRef<HTMLButtonElement, ChipProps>(\n function Chip(props, ref) {\n const {\n \"aria-pressed\": ariaPressed,\n theme = \"solid\",\n className,\n raisable = false,\n disabled = false,\n selected,\n selectedThemed = false,\n selectedClassName,\n selectedIcon: propSelectedIcon,\n selectedIconAfter = false,\n backgroundColor,\n noninteractive = false,\n disableIconTransition = false,\n children: propChildren,\n onClick,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseUp,\n onMouseLeave,\n onDragStart,\n onTouchStart,\n onTouchEnd,\n onTouchMove,\n leftAddon: propLeftAddon,\n rightAddon: propRightAddon,\n contentProps,\n contentStyle,\n contentClassName,\n disableContentWrap = false,\n ...remaining\n } = props;\n\n let buttonProps: ButtonHTMLAttributes<HTMLButtonElement> | undefined;\n if (!noninteractive) {\n buttonProps = {\n \"aria-pressed\": ariaPressed ?? (!!selected || undefined),\n type: \"button\",\n disabled,\n };\n }\n\n let content = propChildren;\n if (!disableContentWrap) {\n content = (\n <span\n style={contentStyle}\n {...contentProps}\n className={cnb(\n chipContent({ className: contentClassName }),\n contentProps?.className\n )}\n >\n {propChildren}\n </span>\n );\n }\n\n let leftAddon = propLeftAddon;\n let rightAddon = propRightAddon;\n const selectedIconNode = getIcon(\"selected\", propSelectedIcon);\n const isTransitionable =\n !selectedThemed &&\n typeof selected === \"boolean\" &&\n typeof (selectedIconAfter ? propRightAddon : propLeftAddon) ===\n \"undefined\";\n const selectedIcon = useMaxWidthTransition({\n element: selectedIconNode,\n transitionIn: !!selected,\n disabled: !isTransitionable,\n disableTransition: disableIconTransition,\n });\n if (isTransitionable) {\n if (selectedIconAfter) {\n rightAddon = selectedIcon;\n } else {\n leftAddon = selectedIcon;\n }\n }\n\n const { pressed, pressedClassName, ripples, handlers } =\n useElementInteraction({\n onClick,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseUp,\n onMouseLeave,\n onDragStart,\n onTouchStart,\n onTouchEnd,\n onTouchMove,\n disabled: disabled || noninteractive,\n });\n const children = useHigherContrastChildren(content);\n const Component = noninteractive ? \"span\" : \"button\";\n\n return (\n <Component\n {...remaining}\n {...buttonProps}\n {...handlers}\n className={chip({\n className,\n theme,\n pressed: raisable && pressed,\n disabled,\n selected,\n selectedThemed,\n selectedClassName,\n noninteractive,\n backgroundColor,\n pressedClassName,\n leftAddon: !!leftAddon && (selectedIconAfter || selected !== false),\n rightAddon:\n !!rightAddon && (!selectedIconAfter || selected !== false),\n })}\n ref={ref}\n >\n {leftAddon}\n {children}\n {rightAddon}\n {ripples}\n </Component>\n );\n }\n);\n"],"names":["cnb","forwardRef","getIcon","useElementInteraction","useHigherContrastChildren","useMaxWidthTransition","chip","chipContent","Chip","props","ref","ariaPressed","theme","className","raisable","disabled","selected","selectedThemed","selectedClassName","selectedIcon","propSelectedIcon","selectedIconAfter","backgroundColor","noninteractive","disableIconTransition","children","propChildren","onClick","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onMouseLeave","onDragStart","onTouchStart","onTouchEnd","onTouchMove","leftAddon","propLeftAddon","rightAddon","propRightAddon","contentProps","contentStyle","contentClassName","disableContentWrap","remaining","buttonProps","undefined","type","content","span","style","selectedIconNode","isTransitionable","element","transitionIn","disableTransition","pressed","pressedClassName","ripples","handlers","Component"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,QAKL,QAAQ;AAEf,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,qBAAqB,QAAQ,0CAA0C;AAChF,SAASC,yBAAyB,QAAQ,8CAA8C;AACxF,SAASC,qBAAqB,QAAQ,yCAAyC;AAE/E,SAASC,IAAI,EAAEC,WAAW,QAAQ,cAAc;AA+IhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDC,GACD,OAAO,MAAMC,qBAAOP,WAClB,SAASO,KAAKC,KAAK,EAAEC,GAAG;IACtB,MAAM,EACJ,gBAAgBC,WAAW,EAC3BC,QAAQ,OAAO,EACfC,SAAS,EACTC,WAAW,KAAK,EAChBC,WAAW,KAAK,EAChBC,QAAQ,EACRC,iBAAiB,KAAK,EACtBC,iBAAiB,EACjBC,cAAcC,gBAAgB,EAC9BC,oBAAoB,KAAK,EACzBC,eAAe,EACfC,iBAAiB,KAAK,EACtBC,wBAAwB,KAAK,EAC7BC,UAAUC,YAAY,EACtBC,OAAO,EACPC,SAAS,EACTC,OAAO,EACPC,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,WAAWC,aAAa,EACxBC,YAAYC,cAAc,EAC1BC,YAAY,EACZC,YAAY,EACZC,gBAAgB,EAChBC,qBAAqB,KAAK,EAC1B,GAAGC,WACJ,GAAGpC;IAEJ,IAAIqC;IACJ,IAAI,CAACvB,gBAAgB;QACnBuB,cAAc;YACZ,gBAAgBnC,eAAgB,CAAA,CAAC,CAACK,YAAY+B,SAAQ;YACtDC,MAAM;YACNjC;QACF;IACF;IAEA,IAAIkC,UAAUvB;IACd,IAAI,CAACkB,oBAAoB;QACvBK,wBACE,KAACC;YACCC,OAAOT;YACN,GAAGD,YAAY;YAChB5B,WAAWb,IACTO,YAAY;gBAAEM,WAAW8B;YAAiB,IAC1CF,cAAc5B;sBAGfa;;IAGP;IAEA,IAAIW,YAAYC;IAChB,IAAIC,aAAaC;IACjB,MAAMY,mBAAmBlD,QAAQ,YAAYkB;IAC7C,MAAMiC,mBACJ,CAACpC,kBACD,OAAOD,aAAa,aACpB,OAAQK,CAAAA,oBAAoBmB,iBAAiBF,aAAY,MACvD;IACJ,MAAMnB,eAAed,sBAAsB;QACzCiD,SAASF;QACTG,cAAc,CAAC,CAACvC;QAChBD,UAAU,CAACsC;QACXG,mBAAmBhC;IACrB;IACA,IAAI6B,kBAAkB;QACpB,IAAIhC,mBAAmB;YACrBkB,aAAapB;QACf,OAAO;YACLkB,YAAYlB;QACd;IACF;IAEA,MAAM,EAAEsC,OAAO,EAAEC,gBAAgB,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GACpDzD,sBAAsB;QACpBwB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACArB,UAAUA,YAAYQ;IACxB;IACF,MAAME,WAAWrB,0BAA0B6C;IAC3C,MAAMY,YAAYtC,iBAAiB,SAAS;IAE5C,qBACE,MAACsC;QACE,GAAGhB,SAAS;QACZ,GAAGC,WAAW;QACd,GAAGc,QAAQ;QACZ/C,WAAWP,KAAK;YACdO;YACAD;YACA6C,SAAS3C,YAAY2C;YACrB1C;YACAC;YACAC;YACAC;YACAK;YACAD;YACAoC;YACArB,WAAW,CAAC,CAACA,aAAchB,CAAAA,qBAAqBL,aAAa,KAAI;YACjEuB,YACE,CAAC,CAACA,cAAe,CAAA,CAAClB,qBAAqBL,aAAa,KAAI;QAC5D;QACAN,KAAKA;;YAEJ2B;YACAZ;YACAc;YACAoB;;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/chip/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { type BackgroundColor, cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-chip\");\n\n/**\n * @remarks \\@since 6.0.0\n *\n * Note for the future: Once Firefox supports the `:has` selector, the\n * `leftAddon` and `rightAddon` can be removed. The styles would automatically\n * apply the padding instead:\n *\n * ```scss\n * &:has(.rmd-icon:first-child, .rmd-avatar:first-child) {\n * @include core.auto-rtl(\n * padding-left,\n * $addon-left-padding,\n * $horizontal-padding\n * );\n * }\n *\n * $index: if(\n * not core.$interaction-mode or core.$interaction-mode == press,\n * 1,\n * 2 // last child is always the `.rmd-ripple-container`\n * );\n * &:has(.rmd-icon:nth-last-child(#{$index})) {\n * @include core.auto-rtl(\n * padding-right,\n * $addon-right-padding,\n * $horizontal-padding\n * );\n * }\n * ```\n */\nexport interface ChipClassNameOptions {\n className?: string;\n selectedClassName?: string;\n\n /** @defaultValue `\"solid\"` */\n theme?: \"outline\" | \"solid\";\n\n backgroundColor?: BackgroundColor;\n\n /** @defaultValue `false` */\n disabled?: boolean;\n\n /** @defaultValue `false` */\n selected?: boolean;\n\n /** @defaultValue `false` */\n selectedThemed?: boolean;\n\n /** @defaultValue `true` */\n noninteractive?: boolean;\n\n /** @defaultValue `false` */\n leftAddon?: boolean;\n\n /** @defaultValue `false` */\n rightAddon?: boolean;\n\n /** @defaultValue `false` */\n pressed?: boolean;\n pressedClassName?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function chip(options: ChipClassNameOptions = {}): string {\n const {\n className,\n theme = \"solid\",\n pressed = false,\n disabled = false,\n selected = false,\n selectedThemed = false,\n selectedClassName,\n noninteractive = true,\n pressedClassName,\n leftAddon = false,\n rightAddon = false,\n backgroundColor,\n } = options;\n\n return cnb(\n styles({\n themed: !disabled && selected && selectedThemed,\n selected: !disabled && selected && !selectedThemed,\n solid: theme === \"solid\",\n outline: theme === \"outline\",\n disabled,\n \"left-addon\": leftAddon,\n \"right-addon\": rightAddon,\n pressed,\n }),\n selected && selectedClassName,\n pressedClassName,\n cssUtils({\n surface: !noninteractive,\n textColor: disabled ? \"text-disabled\" : undefined,\n backgroundColor,\n }),\n className\n );\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface ChipContentClassNameOptions {\n className?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function chipContent(options: ChipContentClassNameOptions = {}): string {\n const { className } = options;\n\n return cnb(styles(\"content\"), className);\n}\n"],"names":["cnb","cssUtils","bem","styles","chip","options","className","theme","pressed","disabled","selected","selectedThemed","selectedClassName","noninteractive","pressedClassName","leftAddon","rightAddon","backgroundColor","themed","solid","outline","surface","textColor","undefined","chipContent"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAA+BC,QAAQ,QAAQ,iBAAiB;AAChE,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAgEnB;;CAEC,GACD,OAAO,SAASE,KAAKC,UAAgC,CAAC,CAAC;IACrD,MAAM,EACJC,SAAS,EACTC,QAAQ,OAAO,EACfC,UAAU,KAAK,EACfC,WAAW,KAAK,EAChBC,WAAW,KAAK,EAChBC,iBAAiB,KAAK,EACtBC,iBAAiB,EACjBC,iBAAiB,IAAI,EACrBC,gBAAgB,EAChBC,YAAY,KAAK,EACjBC,aAAa,KAAK,EAClBC,eAAe,EAChB,GAAGZ;IAEJ,OAAOL,IACLG,OAAO;QACLe,QAAQ,CAACT,YAAYC,YAAYC;QACjCD,UAAU,CAACD,YAAYC,YAAY,CAACC;QACpCQ,OAAOZ,UAAU;QACjBa,SAASb,UAAU;QACnBE;QACA,cAAcM;QACd,eAAeC;QACfR;IACF,IACAE,YAAYE,mBACZE,kBACAb,SAAS;QACPoB,SAAS,CAACR;QACVS,WAAWb,WAAW,kBAAkBc;QACxCN;IACF,IACAX;AAEJ;AASA;;CAEC,GACD,OAAO,SAASkB,YAAYnB,UAAuC,CAAC,CAAC;IACnE,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,OAAO,YAAYG;AAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/cssUtils.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\n/**\n * - `primary -> $primary-color`\n * - `secondary -> $secondary-color`\n * - `warning -> $warning-color`\n * - `success -> $success-color`\n * - `error -> $error-color`\n *\n * @remarks \\@since 6.0.0\n */\nexport type ThemeColor =\n | \"primary\"\n | \"secondary\"\n | \"warning\"\n | \"success\"\n | \"error\";\n\n/**\n * - `text-primary -> $text-primary-color`\n * - `text-secondary -> $text-secondary-color`\n * - `text-hint -> $text-hint-color`\n * - `text-disabled -> $text-disabled-color`\n *\n * @remarks \\@since 6.0.0\n */\nexport type TextColor =\n | \"text-primary\"\n | \"text-secondary\"\n | \"text-hint\"\n | \"text-disabled\"\n | `on-${ThemeColor}`;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type OutlineColor = ThemeColor | \"greyscale\" | \"current-color\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type BackgroundColor = ThemeColor | \"surface\" | \"current-color\";\n\nexport type TextAlign = \"left\" | \"center\" | \"right\";\nexport type TextDecoration = \"underline\" | \"overline\" | \"line-through\" | \"none\";\nexport type TextTransform = \"capitalize\" | \"uppercase\" | \"lowercase\";\nexport type FontStyle = \"italic\" | \"oblique\" | \"normal\";\n\n/**\n * The supported css `font-weight` values.\n *\n * Note: You will need to ensure that you are using a web safe font for all the\n * font weights to work, use variable fonts, or load all font weights for your\n * custom font.\n *\n * @see {@link https://www.google.com/search?q=web+safe+fonts | Web Safe Fonts}\n * @see {@link https://www.google.com/search?q=variable+fonts | Variable FOnts}\n * @remarks \\@since 6.0.0 This was `TextWeight` beforehand.\n */\nexport type FontWeight =\n | \"thin\"\n | \"light\"\n | \"regular\"\n | \"medium\"\n | \"bold\"\n | \"semi-bold\"\n | \"black\";\n\n/**\n * Since the typography within react-md tries to not modify base elements, the\n * default margin applied to heading tags (h1-h6) and paragraph (p) might have\n * large margin that you don't want applied when using this component. You can\n * disable:\n *\n * - only the top margin by setting this prop to `\"bottom\"`\n * - only the bottom margin by setting this prop to `\"top\"`\n * - top and bottom margin by setting this prop to `\"none\"`\n * - or keep the initial behavior: `\"initial\"`\n *\n * @remarks \\@since 6.0.0\n */\nexport type Margin = \"none\" | \"top\" | \"bottom\" | \"centered\";\n\n/** @remarks \\@since 6.0.0 */\nexport type TextOverflow = \"allow\" | \"nowrap\" | \"ellipsis\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface TextCssUtilsOptions {\n textColor?: ThemeColor | TextColor;\n\n textAlign?: TextAlign;\n\n textDecoration?: TextDecoration;\n\n textTransform?: TextTransform;\n\n fontWeight?: FontWeight;\n\n fontStyle?: FontStyle;\n\n /**\n * This can be used to remove margin from an element (usually typography\n * elements since the browser applies default margin for those elements).\n *\n * @see {@link Margin}\n */\n margin?: Margin;\n\n /**\n * Set this to `\"nowrap\"` to only prevent line wrap behavior or `\"ellipsis\"`\n * to also hide additional text with ellipsis.\n *\n * @defaultValue `\"allow\"`\n */\n textOverflow?: TextOverflow;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface CssUtilsOptions extends TextCssUtilsOptions {\n className?: string;\n\n /**\n * Set this to `true` to allow the content to only be visible for screen\n * readers. Set this to `\"focusable\"` to allow the content to be visible to\n * screen readers and once focused. Set this to `\"phone\"` to only render the\n * the content as screen reader only text on phones.\n *\n * @defaultValue `false`\n */\n srOnly?: boolean | \"focusable\" | \"phone\";\n\n /**\n * Set this to `\"current-color\"` to inherit the current text color or a\n * specific theme color as the outline `box-shadow`.\n */\n outlineColor?: OutlineColor;\n\n /**\n * When this is defined, a specific theme background-color will be applied\n * along with updating the text color be either `#000` or `#fff` depending on\n * which has the highest contrast ratio.\n */\n backgroundColor?: BackgroundColor;\n\n /**\n * Set this to `true` if the element should act as an interaction surface\n * which will:\n * - display a pointer while hovered\n * - increase the z-index of children to enable higher contrast when\n * `core.$interaction-disable-higher-contrast` is not `true`\n * - add a `::before` pseudo element that will:\n * - gain the focus shadow while `:focus`-ed\n * - add a background-color while `:hover`-ed\n * - show no hover/focus styles while `:disabled` or `[aria-disabled=\"true\"]`\n *\n * @defaultValue `false`\n */\n surface?: boolean;\n\n /**\n * Set this to `\"light\"` or `\"dark\"` to update the hover, focus, press,\n * selected, and ripple colors for the surface type. `\"light\"` surfaces will\n * use `#000` while `\"dark\"` will use `#fff`.\n */\n surfaceColor?: \"light\" | \"dark\";\n}\n\n/**\n * This is used to apply css utility functions to any element within your\n * application such as:\n * - specific theme colors as background, text, or outline color\n * - removing margin\n * - screen reader visible only text\n * - text-align, text-decoration, text-transform, font-style, font-weight\n * - disable line wrap\n *\n * @remarks \\@since 6.0.0\n */\nexport function cssUtils(options: CssUtilsOptions): string {\n const {\n className,\n srOnly,\n textColor,\n outlineColor,\n backgroundColor,\n surface,\n surfaceColor,\n margin,\n fontStyle,\n fontWeight,\n textAlign,\n textDecoration,\n textTransform,\n textOverflow,\n } = options;\n\n const isMarginTop = margin === \"top\";\n const isTextColor =\n textColor === \"text-primary\" ||\n textColor === \"text-secondary\" ||\n textColor === \"text-hint\" ||\n textColor === \"text-disabled\";\n\n return cnb(\n !backgroundColor && !isTextColor && textColor && `rmd-${textColor}-color`,\n !backgroundColor && isTextColor && `rmd-${textColor}-color`,\n backgroundColor && \"rmd-background-container\",\n backgroundColor &&\n backgroundColor !== \"current-color\" &&\n `rmd-${backgroundColor}-container`,\n outlineColor && \"rmd-outline\",\n outlineColor && `rmd-${outlineColor}-outline`,\n (isMarginTop || margin === \"bottom\") &&\n `rmd-no-margin-${isMarginTop ? \"bottom\" : \"top\"}`,\n margin === \"none\" && \"rmd-no-margin\",\n margin === \"centered\" && \"rmd-centered\",\n textAlign && `rmd-align-${textAlign}`,\n textDecoration && `rmd-${textDecoration}`,\n textTransform && `rmd-${textTransform}`,\n fontStyle && `rmd-${fontStyle}`,\n fontWeight && `rmd-${fontWeight}`,\n srOnly && srOnly !== \"phone\" && \"rmd-sr-only\",\n srOnly === \"phone\" && \"rmd-phone-sr-only\",\n srOnly === \"focusable\" && \"rmd-sr-only--focusable\",\n surfaceColor === \"light\" && \"rmd-light-surface\",\n surfaceColor === \"dark\" && \"rmd-dark-surface\",\n textOverflow && textOverflow !== \"allow\" && \"rmd-nowrap\",\n textOverflow === \"ellipsis\" && \"rmd-ellipsis\",\n surface && \"rmd-interaction-surface\",\n className\n );\n}\n"],"names":["cnb","cssUtils","options","className","srOnly","textColor","outlineColor","backgroundColor","surface","surfaceColor","margin","fontStyle","fontWeight","textAlign","textDecoration","textTransform","textOverflow","isMarginTop","isTextColor"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAyKhC;;;;;;;;;;CAUC,GACD,OAAO,SAASC,SAASC,OAAwB;IAC/C,MAAM,EACJC,SAAS,EACTC,MAAM,EACNC,SAAS,EACTC,YAAY,EACZC,eAAe,EACfC,OAAO,EACPC,YAAY,EACZC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,cAAc,EACdC,aAAa,EACbC,YAAY,EACb,GAAGd;IAEJ,MAAMe,cAAcP,WAAW;IAC/B,MAAMQ,cACJb,cAAc,kBACdA,cAAc,oBACdA,cAAc,eACdA,cAAc;IAEhB,OAAOL,IACL,CAACO,mBAAmB,CAACW,eAAeb,aAAa,CAAC,IAAI,EAAEA,UAAU,MAAM,CAAC,EACzE,CAACE,mBAAmBW,eAAe,CAAC,IAAI,EAAEb,UAAU,MAAM,CAAC,EAC3DE,mBAAmB,4BACnBA,mBACEA,oBAAoB,mBACpB,CAAC,IAAI,EAAEA,gBAAgB,UAAU,CAAC,EACpCD,gBAAgB,eAChBA,gBAAgB,CAAC,IAAI,EAAEA,aAAa,QAAQ,CAAC,EAC7C,AAACW,CAAAA,eAAeP,WAAW,QAAO,KAChC,CAAC,cAAc,EAAEO,cAAc,WAAW,MAAM,CAAC,EACnDP,WAAW,UAAU,iBACrBA,WAAW,cAAc,gBACzBG,aAAa,CAAC,UAAU,EAAEA,UAAU,CAAC,EACrCC,kBAAkB,CAAC,IAAI,EAAEA,eAAe,CAAC,EACzCC,iBAAiB,CAAC,IAAI,EAAEA,cAAc,CAAC,EACvCJ,aAAa,CAAC,IAAI,EAAEA,UAAU,CAAC,EAC/BC,cAAc,CAAC,IAAI,EAAEA,WAAW,CAAC,EACjCR,UAAUA,WAAW,WAAW,eAChCA,WAAW,WAAW,qBACtBA,WAAW,eAAe,0BAC1BK,iBAAiB,WAAW,qBAC5BA,iBAAiB,UAAU,oBAC3BO,gBAAgBA,iBAAiB,WAAW,cAC5CA,iBAAiB,cAAc,gBAC/BR,WAAW,2BACXL;AAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/delegateEvent.ts"],"sourcesContent":["/** @internal */\nexport type DelegatedEventTarget = Window | Document | HTMLElement;\n\n/**\n * This is a \"shared\" event handler for the provided `eventType`. The event\n * listener will only be created once, but every single callback will be called\n * when the throttled event is triggered. This means that you will need to make\n * sure to remove the provided callback when it is no longer in use.\n *\n * @internal\n */\nexport interface DelegatedEventHandler {\n /**\n * Adds the provided callback to the throttled event listener.\n */\n add(callback: EventListener): void;\n\n /**\n * Attempts to remove the provided callback from the throttled event listener.\n */\n remove(callback: EventListener): void;\n}\n\n/** @internal */\nexport interface DelegableEvent {\n type: string;\n target: DelegatedEventTarget;\n throttle: boolean;\n handler: DelegatedEventHandler;\n options?: boolean | AddEventListenerOptions;\n}\n\nconst delegatedEvents: DelegableEvent[] = [];\n\n/**\n * Creates the delegated event handler that will run all the callbacks once an\n * event happens. The callbacks' invocation can also be throttled for event\n * types that trigger rapidly for additional performance.\n *\n * The `<K extends keyof WindowEventMap` is a nice thing I found while looking\n * through the `lib.d.ts` implementation of `addEventListener` that will allow\n * you to get the \"correct\" event type when using the `add` and `remove`\n * functions once you have created this event handler. Otherwise there'd be ts\n * errors trying to do `MouseEvent` or `KeyboardEvent` in your listeners.\n */\nfunction createEventHandler<K extends keyof WindowEventMap>(\n throttle: boolean,\n callbacks: readonly EventListener[]\n): (event: WindowEventMap[K]) => void {\n let running = false;\n const runCallbacks = (event: WindowEventMap[K]) => () => {\n for (let i = 0; i < callbacks.length; i += 1) {\n callbacks[i](event);\n }\n\n running = false;\n };\n\n return function eventHandler(event) {\n if (!throttle) {\n runCallbacks(event)();\n return;\n }\n\n if (running) {\n return;\n }\n\n running = true;\n window.requestAnimationFrame(runCallbacks(event));\n };\n}\n\n/**\n * Creates a throttled event handler for the provided event type and event\n * target.\n */\nfunction createDelegatedEventHandler(\n eventType: string,\n eventTarget: DelegatedEventTarget = window,\n throttle = false,\n options?: boolean | AddEventListenerOptions\n): DelegatedEventHandler {\n const callbacks: EventListener[] = [];\n const handler = createEventHandler(throttle, callbacks);\n\n return {\n /**\n * Attempts to add the provided callback to the list of callbacks for the\n * throttled event. If this is the first callback to be added, the throttled\n * event will also be started.\n */\n add: (callback: EventListener) => {\n if (!callbacks.length) {\n eventTarget.addEventListener(eventType, handler, options);\n }\n\n if (callbacks.indexOf(callback) === -1) {\n callbacks.push(callback);\n }\n },\n\n /**\n * Attempts to remove the provided callback from the list of callbacks for\n * the throttled event. If this is the last callback that was removed, the\n * throttled event will also be stopped.\n */\n remove: (callback: EventListener) => {\n const i = callbacks.indexOf(callback);\n if (i >= 0) {\n callbacks.splice(i, 1);\n\n if (!callbacks.length) {\n eventTarget.removeEventListener(eventType, handler, options);\n }\n }\n },\n };\n}\n\n/**\n * Creates a delegated event listener using custom events. Most of this code\n * comes from the MDN about resize listeners.\n *\n * This will return an object for adding or removing event handlers for the\n * provided `eventType` since only one base throttled event listener will be\n * created. Each callback that is added will be called with the event each time\n * the event is triggered. This does mean that you will manually need to remove\n * your callback like normal or else it can be called when no longer in use.\n * This also means that it doesn't \"hurt\" to call this function without\n * immediately calling the `add` function since the event won't start until\n * there is at least 1 callback.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/Events/resize#Examples\n * @param eventType - One of the event types that should be used to create a\n * delegated event for. This should be things like resize, click, scroll, etc.\n * @param eventTarget - The target that should have the delegated event handler\n * attached to. This is normally the window, but can be any element as needed.\n * @param throttle - Boolean if the event should be throttled or not. Normally\n * only event types like resize or scroll should be throttled for performance\n * boosts, but anything can be.\n * @returns The delegated event handler that allows you to add or remove\n * `EventListener`s to that event.\n * @internal\n */\nexport function delegateEvent(\n eventType: string,\n eventTarget: DelegatedEventTarget = window,\n throttle: boolean = eventType === \"resize\" || eventType === \"scroll\",\n options?: boolean | AddEventListenerOptions\n): DelegatedEventHandler {\n let index = delegatedEvents.findIndex(\n (event) =>\n event.type === eventType &&\n event.target === eventTarget &&\n event.options === options &&\n event.throttle === throttle\n );\n\n if (index === -1) {\n delegatedEvents.push({\n type: eventType,\n target: eventTarget,\n options,\n throttle,\n handler: createDelegatedEventHandler(\n eventType,\n eventTarget,\n throttle,\n options\n ),\n });\n\n index = delegatedEvents.length - 1;\n }\n\n return delegatedEvents[index].handler;\n}\n"],"names":["delegatedEvents","createEventHandler","throttle","callbacks","running","runCallbacks","event","i","length","eventHandler","window","requestAnimationFrame","createDelegatedEventHandler","eventType","eventTarget","options","handler","add","callback","addEventListener","indexOf","push","remove","splice","removeEventListener","delegateEvent","index","findIndex","type","target"],"mappings":"AAAA,cAAc,GAgCd,MAAMA,kBAAoC,EAAE;AAE5C;;;;;;;;;;CAUC,GACD,SAASC,mBACPC,QAAiB,EACjBC,SAAmC;IAEnC,IAAIC,UAAU;IACd,MAAMC,eAAe,CAACC,QAA6B;YACjD,IAAK,IAAIC,IAAI,GAAGA,IAAIJ,UAAUK,MAAM,EAAED,KAAK,EAAG;gBAC5CJ,SAAS,CAACI,EAAE,CAACD;YACf;YAEAF,UAAU;QACZ;IAEA,OAAO,SAASK,aAAaH,KAAK;QAChC,IAAI,CAACJ,UAAU;YACbG,aAAaC;YACb;QACF;QAEA,IAAIF,SAAS;YACX;QACF;QAEAA,UAAU;QACVM,OAAOC,qBAAqB,CAACN,aAAaC;IAC5C;AACF;AAEA;;;CAGC,GACD,SAASM,4BACPC,SAAiB,EACjBC,cAAoCJ,MAAM,EAC1CR,WAAW,KAAK,EAChBa,OAA2C;IAE3C,MAAMZ,YAA6B,EAAE;IACrC,MAAMa,UAAUf,mBAAmBC,UAAUC;IAE7C,OAAO;QACL;;;;KAIC,GACDc,KAAK,CAACC;YACJ,IAAI,CAACf,UAAUK,MAAM,EAAE;gBACrBM,YAAYK,gBAAgB,CAACN,WAAWG,SAASD;YACnD;YAEA,IAAIZ,UAAUiB,OAAO,CAACF,cAAc,CAAC,GAAG;gBACtCf,UAAUkB,IAAI,CAACH;YACjB;QACF;QAEA;;;;KAIC,GACDI,QAAQ,CAACJ;YACP,MAAMX,IAAIJ,UAAUiB,OAAO,CAACF;YAC5B,IAAIX,KAAK,GAAG;gBACVJ,UAAUoB,MAAM,CAAChB,GAAG;gBAEpB,IAAI,CAACJ,UAAUK,MAAM,EAAE;oBACrBM,YAAYU,mBAAmB,CAACX,WAAWG,SAASD;gBACtD;YACF;QACF;IACF;AACF;AAEA;;;;;;;;;;;;;;;;;;;;;;;;CAwBC,GACD,OAAO,SAASU,cACdZ,SAAiB,EACjBC,cAAoCJ,MAAM,EAC1CR,WAAoBW,cAAc,YAAYA,cAAc,QAAQ,EACpEE,OAA2C;IAE3C,IAAIW,QAAQ1B,gBAAgB2B,SAAS,CACnC,CAACrB,QACCA,MAAMsB,IAAI,KAAKf,aACfP,MAAMuB,MAAM,KAAKf,eACjBR,MAAMS,OAAO,KAAKA,WAClBT,MAAMJ,QAAQ,KAAKA;IAGvB,IAAIwB,UAAU,CAAC,GAAG;QAChB1B,gBAAgBqB,IAAI,CAAC;YACnBO,MAAMf;YACNgB,QAAQf;YACRC;YACAb;YACAc,SAASJ,4BACPC,WACAC,aACAZ,UACAa;QAEJ;QAEAW,QAAQ1B,gBAAgBQ,MAAM,GAAG;IACnC;IAEA,OAAOR,eAAe,CAAC0B,MAAM,CAACV,OAAO;AACvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/dialog/Dialog.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, useState, type HTMLAttributes } from \"react\";\nimport { useSsr } from \"../SsrProvider.js\";\nimport {\n useFocusContainer,\n type FocusContainerComponentProps,\n} from \"../focus/useFocusContainer.js\";\nimport { Overlay } from \"../overlay/Overlay.js\";\nimport { Portal } from \"../portal/Portal.js\";\nimport { useScrollLock } from \"../scroll/useScrollLock.js\";\nimport {\n type CSSTransitionClassNames,\n type CSSTransitionComponentProps,\n type TransitionActions,\n type TransitionTimeout,\n} from \"../transition/types.js\";\nimport { useCSSTransition } from \"../transition/useCSSTransition.js\";\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { DISPLAY_NONE_CLASS } from \"../utils/isElementVisible.js\";\nimport { DialogContainer } from \"./DialogContainer.js\";\nimport {\n NestedDialogProvider,\n useNestedDialogContext,\n} from \"./NestedDialogProvider.js\";\nimport { dialog, type DialogType } from \"./styles.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-dialog-background-color\"?: string;\n \"--rmd-dialog-color\"?: string;\n \"--rmd-dialog-min-width\"?: string | number;\n \"--rmd-dialog-horizontal-margin\"?: string | number;\n \"--rmd-dialog-vertical-margin\"?: string | number;\n \"--rmd-dialog-z-index\"?: string | number;\n \"--rmd-dialog-header-padding\"?: string | number;\n \"--rmd-dialog-header-padding-bottom\"?: string | number;\n \"--rmd-dialog-content-padding\"?: string | number;\n \"--rmd-dialog-footer-padding\"?: string | number;\n }\n}\n\n/** @remarks \\@since 4.0.0 */\nexport const DEFAULT_DIALOG_CLASSNAMES: Readonly<CSSTransitionClassNames> = {\n appear: \"rmd-dialog--enter\",\n appearActive: \"rmd-dialog--enter-active\",\n enter: \"rmd-dialog--enter\",\n enterActive: \"rmd-dialog--enter-active\",\n exit: \"rmd-dialog--exit\",\n exitActive: \"rmd-dialog--exit-active\",\n};\n\n/** @remarks \\@since 4.0.0 */\nexport const DEFAULT_DIALOG_TIMEOUT: Readonly<TransitionTimeout> = {\n enter: 200,\n exit: 150,\n};\n\nconst noop = (): void => {\n // do nothing\n};\n\nconst noopBool = (): boolean => false;\n\nexport interface BaseDialogProps\n extends HTMLAttributes<HTMLDivElement>,\n CSSTransitionComponentProps,\n TransitionActions,\n FocusContainerComponentProps {\n /**\n * @defaultValue `\"dialog-\" + useId()`\n */\n id?: string;\n\n /**\n * @defaultValue `\"centered\"`\n */\n type?: DialogType;\n\n /**\n * @defaultValue `\"dialog\"`\n */\n role?: \"dialog\" | \"alertdialog\" | \"menu\" | \"none\";\n\n /**\n * This value controls the visibility of the dialog.\n */\n visible: boolean;\n\n /**\n * This function should set the {@link visible} prop to false to hide the\n * modal when:\n * - the {@link modal} and {@link disableEscapeClose} props are `false` and\n * the user presses the `\"Escape\"` key.\n * - The overlay element is clicked\n */\n onRequestClose(): void;\n\n /** @defaultValue `false` */\n disableTransition?: boolean;\n\n /** @defaultValue `-1` */\n tabIndex?: number;\n\n /**\n * Set this value to `true` if the dialog should behave as a modal which\n * prevents the modal from being closed by pressing the `\"Escape\"` key or\n * clicking the overlay. The user **must** click one of the actions within the\n * dialog instead.\n *\n * @defaultValue `false`\n */\n modal?: boolean;\n\n /**\n * @internal\n * @defaultValue `false`\n */\n fixed?: boolean;\n\n /**\n * Set this to `true` if the dialog should no longer use the `Portal`\n * behavior.\n *\n * @defaultValue `false`\n */\n disablePortal?: boolean;\n\n /**\n * Set this to `true` if you want the page to still be scrollable while the\n * dialog is visible. This should normally be `true` for popovers/fixed\n * dialogs.\n *\n * @defaultValue `type === \"custom\"`\n */\n disableScrollLock?: boolean;\n\n /**\n * Set this to `true` to prevent the dialog from being closed when the\n * `\"Escape\"` key is pressed. This is `true` by default when the {@link modal}\n * prop is `true`\n *\n * @defaultValue `modal`\n */\n disableEscapeClose?: boolean;\n\n /**\n * Set this to `true` if an overlay should not appear behind the dialog.\n *\n * Note: this was changed from `type === \"full-page\"` to `false` so that you\n * can change between full-page and centered based on media queries. If the\n * type changes the overlay would end up rendering above the dialog instead of\n * behind.\n *\n * @see {@link overlayHidden}\n * @defaultValue `false`\n */\n disableOverlay?: boolean;\n\n /**\n * Set this to `true` if an overlay should be appear behind the dialog but\n * have an `opacity: 0`. This is useful if you want to prevent other elements\n * on the page from being clicked while the dialog is visible, but don't want\n * a dark background. i.e. popovers/fixed dialogs.\n *\n * @defaultValue `false`\n */\n overlayHidden?: boolean;\n\n /**\n * Any additional props that should be passed to the overlay element if it is\n * rendered.\n */\n overlayProps?: HTMLAttributes<HTMLSpanElement>;\n\n /**\n * Any additional props that should be passed to the container element when\n * the `type === \"centered\"`.\n */\n containerProps?: HTMLAttributes<HTMLDivElement>;\n\n /**\n * @see {@link DEFAULT_DIALOG_TIMEOUT}\n * @defaultValue `DEFAULT_DIALOG_TIMEOUT`\n */\n timeout?: CSSTransitionComponentProps[\"timeout\"];\n\n /**\n * @see {@link DEFAULT_DIALOG_CLASSNAMES}\n * @defaultValue `DEFAULT_DIALOG_CLASSNAMES`\n */\n classNames?: CSSTransitionComponentProps[\"classNames\"];\n\n /**\n * Set this to `true` if the `Dialog` should not gain the normal focus box\n * shadow while it is focused. The `Dialog` should normally only gain focus\n * when it becomes visible and no child elements have `autoFocus` enabled.\n *\n * @remarks \\@since 6.0.0\n * @defaultValue `type === \"full-page\"`\n */\n disableFocusOutline?: boolean;\n}\n\nexport type DialogProps = LabelRequiredForA11y<BaseDialogProps>;\n\n/**\n * **Client Component**\n *\n * @example\n * Simple Example\n * ```tsx\n * import {\n * Button,\n * Dialog,\n * DialogHeader,\n * DialogTitle,\n * DialogContent,\n * DialogFooter,\n * Typography,\n * useToggle,\n * } from \"@react-md/core\";\n * import type { ReactElement } from \"react\";\n *\n * function Example(): ReactElement {\n * const {\n * toggle,\n * disable: onRequestClose,\n * toggled: visible,\n * } = useToggle(false);\n *\n * return (\n * <>\n * <Button onClick={toggle}>Toggle</Button>\n * <Dialog\n * aria-labelledby=\"dialog-title\"\n * visible={visible}\n * onRequestClose={onRequestClose}\n * >\n * <DialogHeader>\n * <DialogTitle id=\"dialog-title\">Simple Dialog</DialogTitle>\n * </DialogHeader>\n * <DialogContent>\n * <Typography margin=\"none\">This is some text in a dialog.</Typography>\n * </DialogContent>\n * <DialogFooter>\n * <Button onClick={onRequestClose}>\n * Close\n * </Button>\n * </DialogFooter>\n * </Dialog>\n * </>\n * );\n * }\n * ```\n *\n * @remarks \\@since 6.0.0 The `Dialog` no longer supports focusing elements\n * within once it becomes visible. You must manually add `autoFocus` to a\n * element instead.\n */\nexport const Dialog = forwardRef<HTMLDivElement, DialogProps>(\n function Dialog(props, ref) {\n const {\n id: propId,\n fixed = false,\n modal = false,\n role = modal ? \"alertdialog\" : \"dialog\",\n type = \"centered\",\n tabIndex = -1,\n visible,\n onRequestClose,\n containerProps,\n temporary = true,\n className,\n timeout = DEFAULT_DIALOG_TIMEOUT,\n classNames = DEFAULT_DIALOG_CLASSNAMES,\n disableTransition = false,\n appear,\n enter,\n exit,\n onEnter = noop,\n onEntering = noop,\n onEntered,\n onExit = noop,\n onExiting = noop,\n onExited,\n exitedHidden = true,\n disableOverlay = false,\n overlayProps,\n overlayHidden,\n onKeyDown = noop,\n isFocusTypeDisabled = noopBool,\n disablePortal: propDisablePortal,\n disableScrollLock = false,\n disableEscapeClose = modal,\n disableFocusOutline = type === \"full-page\",\n children,\n ...remaining\n } = props;\n const id = useEnsuredId(propId, \"dialog\");\n\n const ssr = useSsr();\n const setChildVisible = useNestedDialogContext();\n const { eventHandlers, transitionOptions } = useFocusContainer({\n nodeRef: ref,\n activate: visible,\n onEntered,\n onEntering,\n onExiting,\n onExited,\n disableTransition,\n onKeyDown(event) {\n onKeyDown(event);\n if (\n event.isPropagationStopped() ||\n modal ||\n disableEscapeClose ||\n event.key !== \"Escape\"\n ) {\n return;\n }\n\n // prevent parent dialogs from closing as well\n event.stopPropagation();\n onRequestClose();\n },\n isFocusTypeDisabled,\n });\n const { elementProps, stage, rendered, disablePortal } = useCSSTransition({\n transitionIn: visible,\n timeout,\n classNames,\n className: dialog({\n type,\n fixed,\n outline: !disableFocusOutline,\n className,\n }),\n appear: appear && !disableTransition && !ssr,\n enter: enter && !disableTransition,\n exit: exit && !disableTransition,\n onEnter(appearing) {\n onEnter(appearing);\n setChildVisible(type !== \"full-page\");\n },\n onExit() {\n onExit();\n setChildVisible(false);\n },\n temporary,\n exitedHidden,\n disablePortal: propDisablePortal,\n ...transitionOptions,\n });\n useScrollLock(!disableScrollLock && visible);\n\n // this makes it so that as more non-full page dialogs become visible, the\n // overlay does not become darker as more and more overlays are stacked upon\n // each other. only the top-most overlay will have and active background\n // color.\n const [isChildVisible, setIsChildVisible] = useState(false);\n\n return (\n <NestedDialogProvider value={setIsChildVisible}>\n {!disableOverlay && (\n <Overlay\n visible={visible}\n disableTransition={disableTransition}\n temporary={temporary}\n disablePortal={disablePortal}\n {...overlayProps}\n onClick={modal ? noop : onRequestClose}\n clickable={!modal}\n noOpacity={overlayHidden || isChildVisible}\n />\n )}\n <Portal disabled={disablePortal}>\n {rendered && (\n <DialogContainer\n {...containerProps}\n className={cnb(\n containerProps?.className,\n !temporary &&\n exitedHidden &&\n stage === \"exited\" &&\n DISPLAY_NONE_CLASS\n )}\n enabled={type === \"centered\"}\n >\n <div\n aria-modal={modal || undefined}\n {...remaining}\n {...elementProps}\n {...eventHandlers}\n id={id}\n role={role}\n tabIndex={tabIndex}\n >\n {children}\n </div>\n </DialogContainer>\n )}\n </Portal>\n </NestedDialogProvider>\n );\n }\n);\n"],"names":["cnb","forwardRef","useState","useSsr","useFocusContainer","Overlay","Portal","useScrollLock","useCSSTransition","useEnsuredId","DISPLAY_NONE_CLASS","DialogContainer","NestedDialogProvider","useNestedDialogContext","dialog","DEFAULT_DIALOG_CLASSNAMES","appear","appearActive","enter","enterActive","exit","exitActive","DEFAULT_DIALOG_TIMEOUT","noop","noopBool","Dialog","props","ref","id","propId","fixed","modal","role","type","tabIndex","visible","onRequestClose","containerProps","temporary","className","timeout","classNames","disableTransition","onEnter","onEntering","onEntered","onExit","onExiting","onExited","exitedHidden","disableOverlay","overlayProps","overlayHidden","onKeyDown","isFocusTypeDisabled","disablePortal","propDisablePortal","disableScrollLock","disableEscapeClose","disableFocusOutline","children","remaining","ssr","setChildVisible","eventHandlers","transitionOptions","nodeRef","activate","event","isPropagationStopped","key","stopPropagation","elementProps","stage","rendered","transitionIn","outline","appearing","isChildVisible","setIsChildVisible","value","onClick","clickable","noOpacity","disabled","enabled","div","aria-modal","undefined"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,EAAEC,QAAQ,QAA6B,QAAQ;AAClE,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SACEC,iBAAiB,QAEZ,gCAAgC;AACvC,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,aAAa,QAAQ,6BAA6B;AAO3D,SAASC,gBAAgB,QAAQ,oCAAoC;AAErE,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SACEC,oBAAoB,EACpBC,sBAAsB,QACjB,4BAA4B;AACnC,SAASC,MAAM,QAAyB,cAAc;AAiBtD,2BAA2B,GAC3B,OAAO,MAAMC,4BAA+D;IAC1EC,QAAQ;IACRC,cAAc;IACdC,OAAO;IACPC,aAAa;IACbC,MAAM;IACNC,YAAY;AACd,EAAE;AAEF,2BAA2B,GAC3B,OAAO,MAAMC,yBAAsD;IACjEJ,OAAO;IACPE,MAAM;AACR,EAAE;AAEF,MAAMG,OAAO;AACX,aAAa;AACf;AAEA,MAAMC,WAAW,IAAe;AAgJhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDC,GACD,OAAO,MAAMC,uBAASxB,WACpB,SAASwB,OAAOC,KAAK,EAAEC,GAAG;IACxB,MAAM,EACJC,IAAIC,MAAM,EACVC,QAAQ,KAAK,EACbC,QAAQ,KAAK,EACbC,OAAOD,QAAQ,gBAAgB,QAAQ,EACvCE,OAAO,UAAU,EACjBC,WAAW,CAAC,CAAC,EACbC,OAAO,EACPC,cAAc,EACdC,cAAc,EACdC,YAAY,IAAI,EAChBC,SAAS,EACTC,UAAUlB,sBAAsB,EAChCmB,aAAa1B,yBAAyB,EACtC2B,oBAAoB,KAAK,EACzB1B,MAAM,EACNE,KAAK,EACLE,IAAI,EACJuB,UAAUpB,IAAI,EACdqB,aAAarB,IAAI,EACjBsB,SAAS,EACTC,SAASvB,IAAI,EACbwB,YAAYxB,IAAI,EAChByB,QAAQ,EACRC,eAAe,IAAI,EACnBC,iBAAiB,KAAK,EACtBC,YAAY,EACZC,aAAa,EACbC,YAAY9B,IAAI,EAChB+B,sBAAsB9B,QAAQ,EAC9B+B,eAAeC,iBAAiB,EAChCC,oBAAoB,KAAK,EACzBC,qBAAqB3B,KAAK,EAC1B4B,sBAAsB1B,SAAS,WAAW,EAC1C2B,QAAQ,EACR,GAAGC,WACJ,GAAGnC;IACJ,MAAME,KAAKnB,aAAaoB,QAAQ;IAEhC,MAAMiC,MAAM3D;IACZ,MAAM4D,kBAAkBlD;IACxB,MAAM,EAAEmD,aAAa,EAAEC,iBAAiB,EAAE,GAAG7D,kBAAkB;QAC7D8D,SAASvC;QACTwC,UAAUhC;QACVU;QACAD;QACAG;QACAC;QACAN;QACAW,WAAUe,KAAK;YACbf,UAAUe;YACV,IACEA,MAAMC,oBAAoB,MAC1BtC,SACA2B,sBACAU,MAAME,GAAG,KAAK,UACd;gBACA;YACF;YAEA,8CAA8C;YAC9CF,MAAMG,eAAe;YACrBnC;QACF;QACAkB;IACF;IACA,MAAM,EAAEkB,YAAY,EAAEC,KAAK,EAAEC,QAAQ,EAAEnB,aAAa,EAAE,GAAG/C,iBAAiB;QACxEmE,cAAcxC;QACdK;QACAC;QACAF,WAAWzB,OAAO;YAChBmB;YACAH;YACA8C,SAAS,CAACjB;YACVpB;QACF;QACAvB,QAAQA,UAAU,CAAC0B,qBAAqB,CAACoB;QACzC5C,OAAOA,SAAS,CAACwB;QACjBtB,MAAMA,QAAQ,CAACsB;QACfC,SAAQkC,SAAS;YACflC,QAAQkC;YACRd,gBAAgB9B,SAAS;QAC3B;QACAa;YACEA;YACAiB,gBAAgB;QAClB;QACAzB;QACAW;QACAM,eAAeC;QACf,GAAGS,iBAAiB;IACtB;IACA1D,cAAc,CAACkD,qBAAqBtB;IAEpC,0EAA0E;IAC1E,4EAA4E;IAC5E,wEAAwE;IACxE,SAAS;IACT,MAAM,CAAC2C,gBAAgBC,kBAAkB,GAAG7E,SAAS;IAErD,qBACE,MAACU;QAAqBoE,OAAOD;;YAC1B,CAAC7B,gCACA,KAAC7C;gBACC8B,SAASA;gBACTO,mBAAmBA;gBACnBJ,WAAWA;gBACXiB,eAAeA;gBACd,GAAGJ,YAAY;gBAChB8B,SAASlD,QAAQR,OAAOa;gBACxB8C,WAAW,CAACnD;gBACZoD,WAAW/B,iBAAiB0B;;0BAGhC,KAACxE;gBAAO8E,UAAU7B;0BACfmB,0BACC,KAAC/D;oBACE,GAAG0B,cAAc;oBAClBE,WAAWvC,IACTqC,gBAAgBE,WAChB,CAACD,aACCW,gBACAwB,UAAU,YACV/D;oBAEJ2E,SAASpD,SAAS;8BAElB,cAAA,KAACqD;wBACCC,cAAYxD,SAASyD;wBACpB,GAAG3B,SAAS;wBACZ,GAAGW,YAAY;wBACf,GAAGR,aAAa;wBACjBpC,IAAIA;wBACJI,MAAMA;wBACNE,UAAUA;kCAET0B;;;;;;AAOf,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/dialog/DialogContainer.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { type HTMLAttributes, type ReactElement, type ReactNode } from \"react\";\n\n/**\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport interface DialogContainerProps extends HTMLAttributes<HTMLDivElement> {\n enabled: boolean;\n children: ReactNode;\n}\n\n/**\n * **Server Component**\n *\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport function DialogContainer(props: DialogContainerProps): ReactElement {\n const { className, enabled, children, ...remaining } = props;\n if (!enabled) {\n return <>{children}</>;\n }\n\n return (\n <div {...remaining} className={cnb(\"rmd-dialog-container\", className)}>\n {children}\n </div>\n );\n}\n"],"names":["cnb","DialogContainer","props","className","enabled","children","remaining","div"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAYhC;;;;;CAKC,GACD,OAAO,SAASC,gBAAgBC,KAA2B;IACzD,MAAM,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGC,WAAW,GAAGJ;IACvD,IAAI,CAACE,SAAS;QACZ,qBAAO;sBAAGC;;IACZ;IAEA,qBACE,KAACE;QAAK,GAAGD,SAAS;QAAEH,WAAWH,IAAI,wBAAwBG;kBACxDE;;AAGP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/dialog/DialogContent.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { dialogContent, type DialogContentClassNameOptions } from \"./styles.js\";\n\nexport interface DialogContentProps\n extends HTMLAttributes<HTMLDivElement>,\n DialogContentClassNameOptions {}\n\n/**\n * **Server Component**\n *\n * Look at the `Dialog` or `FixedDialog` components for example usage.\n */\nexport const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(\n function DialogContent(\n { children, className, disablePadding = false, ...props },\n ref\n ) {\n return (\n <div\n {...props}\n ref={ref}\n className={dialogContent({\n className,\n disablePadding,\n })}\n >\n {children}\n </div>\n );\n }\n);\n"],"names":["forwardRef","dialogContent","DialogContent","children","className","disablePadding","props","ref","div"],"mappings":";AAAA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,aAAa,QAA4C,cAAc;AAMhF;;;;CAIC,GACD,OAAO,MAAMC,8BAAgBF,WAC3B,SAASE,cACP,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,iBAAiB,KAAK,EAAE,GAAGC,OAAO,EACzDC,GAAG;IAEH,qBACE,KAACC;QACE,GAAGF,KAAK;QACTC,KAAKA;QACLH,WAAWH,cAAc;YACvBG;YACAC;QACF;kBAECF;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/dialog/DialogFooter.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { dialogFooter, type DialogFooterClassNameOptions } from \"./styles.js\";\n\nexport interface DialogFooterProps\n extends HTMLAttributes<HTMLDivElement>,\n DialogFooterClassNameOptions {}\n\n/**\n * **Server Component**\n *\n * Look at the `Dialog` or `FixedDialog` components for example usage.\n */\nexport const DialogFooter = forwardRef<HTMLDivElement, DialogFooterProps>(\n function DialogFooter({ children, className, align = \"end\", ...props }, ref) {\n return (\n <footer\n {...props}\n ref={ref}\n className={dialogFooter({\n align,\n className,\n })}\n >\n {children}\n </footer>\n );\n }\n);\n"],"names":["forwardRef","dialogFooter","DialogFooter","children","className","align","props","ref","footer"],"mappings":";AAAA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,YAAY,QAA2C,cAAc;AAM9E;;;;CAIC,GACD,OAAO,MAAMC,6BAAeF,WAC1B,SAASE,aAAa,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,KAAK,EAAE,GAAGC,OAAO,EAAEC,GAAG;IACzE,qBACE,KAACC;QACE,GAAGF,KAAK;QACTC,KAAKA;QACLH,WAAWH,aAAa;YACtBI;YACAD;QACF;kBAECD;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/dialog/DialogHeader.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { dialogHeader } from \"./styles.js\";\n\nexport type DialogHeaderProps = HTMLAttributes<HTMLDivElement>;\n\n/**\n * **Server Component**\n *\n * Look at the `Dialog` or `FixedDialog` components for example usage.\n */\nexport const DialogHeader = forwardRef<HTMLDivElement, DialogHeaderProps>(\n function DialogHeader(props, ref) {\n const { children, className, ...remaining } = props;\n\n return (\n <div {...remaining} ref={ref} className={dialogHeader({ className })}>\n {children}\n </div>\n );\n }\n);\n"],"names":["forwardRef","dialogHeader","DialogHeader","props","ref","children","className","remaining","div"],"mappings":";AAAA,SAASA,UAAU,QAA6B,QAAQ;AACxD,SAASC,YAAY,QAAQ,cAAc;AAI3C;;;;CAIC,GACD,OAAO,MAAMC,6BAAeF,WAC1B,SAASE,aAAaC,KAAK,EAAEC,GAAG;IAC9B,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGJ;IAE9C,qBACE,KAACK;QAAK,GAAGD,SAAS;QAAEH,KAAKA;QAAKE,WAAWL,aAAa;YAAEK;QAAU;kBAC/DD;;AAGP,GACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/dialog/DialogTitle.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef } from \"react\";\nimport { type Margin } from \"../cssUtils.js\";\nimport {\n Typography,\n type CustomTypographyComponent,\n type TypographyProps,\n type TypographyType,\n} from \"../typography/Typography.js\";\n\n/**\n * @remarks \\@since 6.0.0 Inherits the `TypographyProps` instead of\n * `HTMLAttributes<HTMLHeadingElement>`.\n */\nexport interface DialogTitleProps extends TypographyProps {\n /** @defaultValue `\"h2\"` */\n as?: CustomTypographyComponent;\n\n /** @defaultValue `\"headline-4\"` */\n type?: TypographyType;\n\n /** @defaultValue `\"none\"` */\n margin?: Margin;\n}\n\n/**\n * **Server Component**\n *\n * Look at the `Dialog` or `FixedDialog` components for example usage.\n */\nexport const DialogTitle = forwardRef<HTMLHeadingElement, DialogTitleProps>(\n function DialogTitle(\n {\n as = \"h2\",\n type = \"headline-4\",\n margin = \"none\",\n children,\n className,\n ...props\n },\n ref\n ) {\n return (\n <Typography\n {...props}\n ref={ref}\n as={as}\n type={type}\n margin={margin}\n // Note: This class applies no styles at this time\n className={cnb(\"rmd-dialog__title\", className)}\n >\n {children}\n </Typography>\n );\n }\n);\n"],"names":["cnb","forwardRef","Typography","DialogTitle","as","type","margin","children","className","props","ref"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAQ,QAAQ;AAEnC,SACEC,UAAU,QAIL,8BAA8B;AAiBrC;;;;CAIC,GACD,OAAO,MAAMC,4BAAcF,WACzB,SAASE,YACP,EACEC,KAAK,IAAI,EACTC,OAAO,YAAY,EACnBC,SAAS,MAAM,EACfC,QAAQ,EACRC,SAAS,EACT,GAAGC,OACJ,EACDC,GAAG;IAEH,qBACE,KAACR;QACE,GAAGO,KAAK;QACTC,KAAKA;QACLN,IAAIA;QACJC,MAAMA;QACNC,QAAQA;QACR,kDAAkD;QAClDE,WAAWR,IAAI,qBAAqBQ;kBAEnCD;;AAGP,GACA"}
|