@react-md/core 1.0.0-next.10 → 1.0.0-next.12
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 +22 -22
- package/.turbo/turbo-lint.log +3 -3
- package/.turbo/turbo-typecheck.log +1 -1
- package/CHANGELOG.md +12 -0
- package/dist/CoreProviders.js.map +1 -1
- package/dist/NoSsr.js.map +1 -1
- package/dist/RootHtml.js.map +1 -1
- package/dist/SsrProvider.js.map +1 -1
- package/dist/app-bar/AppBar.js.map +1 -1
- package/dist/app-bar/AppBarTitle.d.ts +2 -1
- package/dist/app-bar/AppBarTitle.js.map +1 -1
- package/dist/avatar/Avatar.js.map +1 -1
- package/dist/avatar/styles.js.map +1 -1
- package/dist/badge/Badge.js.map +1 -1
- package/dist/box/Box.js.map +1 -1
- package/dist/box/styles.js.map +1 -1
- package/dist/button/AsyncButton.js.map +1 -1
- package/dist/button/Button.js.map +1 -1
- package/dist/button/ButtonUnstyled.js.map +1 -1
- package/dist/button/FloatingActionButton.js.map +1 -1
- package/dist/button/TooltippedButton.js.map +1 -1
- package/dist/button/buttonStyles.js.map +1 -1
- package/dist/button/buttonUnstyledStyles.js.map +1 -1
- package/dist/card/Card.js.map +1 -1
- package/dist/card/CardContent.js.map +1 -1
- package/dist/card/CardFooter.js.map +1 -1
- package/dist/card/CardHeader.js.map +1 -1
- package/dist/card/CardSubtitle.js.map +1 -1
- package/dist/card/CardTitle.js.map +1 -1
- package/dist/card/ClickableCard.js.map +1 -1
- package/dist/card/styles.js.map +1 -1
- package/dist/chip/Chip.js.map +1 -1
- package/dist/chip/styles.js.map +1 -1
- package/dist/cssUtils.js.map +1 -1
- package/dist/delegateEvent.js.map +1 -1
- package/dist/dialog/Dialog.js.map +1 -1
- package/dist/dialog/DialogContainer.js.map +1 -1
- package/dist/dialog/DialogContent.js.map +1 -1
- package/dist/dialog/DialogFooter.js.map +1 -1
- package/dist/dialog/DialogHeader.js.map +1 -1
- package/dist/dialog/DialogTitle.d.ts +2 -1
- package/dist/dialog/DialogTitle.js.map +1 -1
- package/dist/dialog/FixedDialog.js.map +1 -1
- package/dist/dialog/NestedDialogProvider.js.map +1 -1
- package/dist/dialog/styles.js.map +1 -1
- package/dist/divider/Divider.js.map +1 -1
- package/dist/divider/styles.js.map +1 -1
- package/dist/draggable/useDraggable.js.map +1 -1
- package/dist/draggable/utils.js.map +1 -1
- package/dist/expansion-panel/ExpansionList.js.map +1 -1
- package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
- package/dist/expansion-panel/ExpansionPanelHeader.d.ts +2 -1
- package/dist/expansion-panel/ExpansionPanelHeader.js +1 -1
- package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
- package/dist/expansion-panel/useExpansionList.js.map +1 -1
- package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
- package/dist/focus/useFocusContainer.js.map +1 -1
- package/dist/focus/utils.js.map +1 -1
- package/dist/form/Checkbox.js.map +1 -1
- package/dist/form/Fieldset.js.map +1 -1
- package/dist/form/FileInput.js.map +1 -1
- package/dist/form/Form.js.map +1 -1
- package/dist/form/FormMessage.js.map +1 -1
- package/dist/form/FormMessageContainer.js.map +1 -1
- package/dist/form/FormMessageCounter.js.map +1 -1
- package/dist/form/InputToggle.js.map +1 -1
- package/dist/form/InputToggleIcon.js.map +1 -1
- package/dist/form/Label.js.map +1 -1
- package/dist/form/Legend.js.map +1 -1
- package/dist/form/MenuItemCheckbox.js.map +1 -1
- package/dist/form/MenuItemFileInput.js.map +1 -1
- package/dist/form/MenuItemInputToggle.js.map +1 -1
- package/dist/form/MenuItemRadio.js.map +1 -1
- package/dist/form/MenuItemSwitch.js.map +1 -1
- package/dist/form/MenuItemTextField.js.map +1 -1
- package/dist/form/NativeSelect.js.map +1 -1
- package/dist/form/OptGroup.js.map +1 -1
- package/dist/form/Option.js.map +1 -1
- package/dist/form/Password.js.map +1 -1
- package/dist/form/Radio.js.map +1 -1
- package/dist/form/ResizingTextAreaWrapper.js.map +1 -1
- package/dist/form/Select.js.map +1 -1
- package/dist/form/SelectedOption.js.map +1 -1
- package/dist/form/Slider.js.map +1 -1
- package/dist/form/SliderContainer.js.map +1 -1
- package/dist/form/SliderMark.js.map +1 -1
- package/dist/form/SliderMarkLabel.d.ts +2 -1
- package/dist/form/SliderMarkLabel.js.map +1 -1
- package/dist/form/SliderThumb.js.map +1 -1
- package/dist/form/SliderTrack.js.map +1 -1
- package/dist/form/SliderValueMarks.js.map +1 -1
- package/dist/form/SliderValueTooltip.js.map +1 -1
- package/dist/form/Switch.js.map +1 -1
- package/dist/form/SwitchTrack.js.map +1 -1
- package/dist/form/TextArea.js.map +1 -1
- package/dist/form/TextField.js.map +1 -1
- package/dist/form/TextFieldAddon.js.map +1 -1
- package/dist/form/TextFieldContainer.js +2 -2
- package/dist/form/TextFieldContainer.js.map +1 -1
- package/dist/form/fileUtils.js.map +1 -1
- package/dist/form/formConfig.js.map +1 -1
- package/dist/form/formMessageStyles.js.map +1 -1
- package/dist/form/inputToggleStyles.js.map +1 -1
- package/dist/form/menuItemInputToggleStyles.js.map +1 -1
- package/dist/form/nativeSelectStyles.js.map +1 -1
- package/dist/form/optionStyles.js.map +1 -1
- package/dist/form/passwordStyles.js.map +1 -1
- package/dist/form/selectStyles.js.map +1 -1
- package/dist/form/selectUtils.js.map +1 -1
- package/dist/form/sliderUtils.js.map +1 -1
- package/dist/form/switchStyles.js.map +1 -1
- package/dist/form/textAreaStyles.js.map +1 -1
- package/dist/form/{TextFieldContainerStyles.js → textFieldContainerStyles.js} +1 -1
- package/dist/form/{TextFieldContainerStyles.js.map → textFieldContainerStyles.js.map} +1 -1
- package/dist/form/textFieldStyles.js.map +1 -1
- package/dist/form/types.js.map +1 -1
- package/dist/form/useCheckboxGroup.js.map +1 -1
- package/dist/form/useCombobox.js.map +1 -1
- package/dist/form/useEditableCombobox.js.map +1 -1
- package/dist/form/useFileUpload.js.map +1 -1
- package/dist/form/useFormReset.js.map +1 -1
- package/dist/form/useListboxProvider.js.map +1 -1
- package/dist/form/useNumberField.js.map +1 -1
- package/dist/form/useRadioGroup.js.map +1 -1
- package/dist/form/useRangeSlider.js.map +1 -1
- package/dist/form/useResizingTextArea.js.map +1 -1
- package/dist/form/useSelectCombobox.js.map +1 -1
- package/dist/form/useSlider.js.map +1 -1
- package/dist/form/useTextField.js.map +1 -1
- package/dist/form/utils.js.map +1 -1
- package/dist/form/validation.js.map +1 -1
- package/dist/hoverMode/useHoverMode.js.map +1 -1
- package/dist/hoverMode/useHoverModeProvider.js.map +1 -1
- package/dist/icon/FontIcon.js.map +1 -1
- package/dist/icon/IconRotator.js.map +1 -1
- package/dist/icon/MaterialIcon.js.map +1 -1
- package/dist/icon/MaterialSymbol.js.map +1 -1
- package/dist/icon/SVGIcon.js.map +1 -1
- package/dist/icon/TextIconSpacing.js.map +1 -1
- package/dist/icon/iconConfig.js.map +1 -1
- package/dist/icon/material.js.map +1 -1
- package/dist/icon/materialConfig.js.map +1 -1
- package/dist/icon/styles.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/interaction/Ripple.js.map +1 -1
- package/dist/interaction/RippleContainer.js.map +1 -1
- package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
- package/dist/interaction/config.js.map +1 -1
- package/dist/interaction/types.js.map +1 -1
- package/dist/interaction/useElementInteraction.js.map +1 -1
- package/dist/interaction/useHigherContrastChildren.js.map +1 -1
- package/dist/interaction/utils.js.map +1 -1
- package/dist/layout/LayoutAppBar.js.map +1 -1
- package/dist/layout/LayoutNav.js.map +1 -1
- package/dist/layout/LayoutWindowSplitter.js.map +1 -1
- package/dist/layout/Main.js.map +1 -1
- package/dist/layout/layoutNavStyles.js.map +1 -1
- package/dist/layout/layoutWindowSplitterStyles.js.map +1 -1
- package/dist/layout/mainStyles.js.map +1 -1
- package/dist/layout/useExpandableLayout.js.map +1 -1
- package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
- package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
- package/dist/layout/useLayoutTree.js.map +1 -1
- package/dist/layout/useLayoutWindowSplitter.js.map +1 -1
- package/dist/layout/useMainTabIndex.js.map +1 -1
- package/dist/layout/useResizableLayout.js.map +1 -1
- package/dist/layout/useTemporaryLayout.js.map +1 -1
- package/dist/link/Link.js.map +1 -1
- package/dist/link/SkipToMainContent.js.map +1 -1
- package/dist/link/styles.js.map +1 -1
- package/dist/list/List.js.map +1 -1
- package/dist/list/ListItem.js.map +1 -1
- package/dist/list/ListItemAddon.js.map +1 -1
- package/dist/list/ListItemChildren.js.map +1 -1
- package/dist/list/ListItemLink.js.map +1 -1
- package/dist/list/ListItemText.js.map +1 -1
- package/dist/list/ListSubheader.js.map +1 -1
- package/dist/list/getListItemHeight.js.map +1 -1
- package/dist/list/listItemStyles.js.map +1 -1
- package/dist/list/types.js.map +1 -1
- package/dist/media-queries/AppSizeProvider.js.map +1 -1
- package/dist/media-queries/appSize.js.map +1 -1
- package/dist/media-queries/useMediaQuery.js.map +1 -1
- package/dist/menu/DropdownMenu.js.map +1 -1
- package/dist/menu/Menu.js.map +1 -1
- package/dist/menu/MenuBar.js.map +1 -1
- package/dist/menu/MenuButton.js.map +1 -1
- package/dist/menu/MenuConfigurationProvider.js.map +1 -1
- package/dist/menu/MenuItem.js.map +1 -1
- package/dist/menu/MenuItemButton.js.map +1 -1
- package/dist/menu/MenuItemCircularProgress.js.map +1 -1
- package/dist/menu/MenuItemGroup.js.map +1 -1
- package/dist/menu/MenuItemSeparator.js.map +1 -1
- package/dist/menu/MenuSheet.js.map +1 -1
- package/dist/menu/MenuVisibilityProvider.js.map +1 -1
- package/dist/menu/MenuWidget.js.map +1 -1
- package/dist/menu/MenuWidgetKeyboardProvider.js.map +1 -1
- package/dist/menu/useContextMenu.js.map +1 -1
- package/dist/menu/useMenuBarProvider.js.map +1 -1
- package/dist/menu/utils.js.map +1 -1
- package/dist/movement/constants.js.map +1 -1
- package/dist/movement/findMatchIndex.js.map +1 -1
- package/dist/movement/types.js.map +1 -1
- package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
- package/dist/movement/utils.js.map +1 -1
- package/dist/overlay/Overlay.js.map +1 -1
- package/dist/overlay/overlayStyles.js.map +1 -1
- package/dist/portal/Portal.js.map +1 -1
- package/dist/portal/PortalContainerProvider.js.map +1 -1
- package/dist/positioning/constants.js.map +1 -1
- package/dist/positioning/createHorizontalPosition.js.map +1 -1
- package/dist/positioning/createVerticalPosition.js.map +1 -1
- package/dist/positioning/getFixedPosition.js.map +1 -1
- package/dist/positioning/types.js.map +1 -1
- package/dist/positioning/useFixedPositioning.js.map +1 -1
- package/dist/positioning/utils.js.map +1 -1
- package/dist/progress/CircularProgress.js.map +1 -1
- package/dist/progress/LinearProgress.js.map +1 -1
- package/dist/progress/getProgressA11y.js.map +1 -1
- package/dist/progress/types.js.map +1 -1
- package/dist/responsive-item/ResponsiveItemContainer.js.map +1 -1
- package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
- package/dist/responsive-item/styles.js.map +1 -1
- package/dist/scroll/ScrollLock.js.map +1 -1
- package/dist/scroll/getScrollbarWidth.js.map +1 -1
- package/dist/scroll/useScrollLock.js.map +1 -1
- package/dist/searching/caseInsensitive.js.map +1 -1
- package/dist/searching/fuzzy.js.map +1 -1
- package/dist/searching/toSearchQuery.js.map +1 -1
- package/dist/searching/types.js.map +1 -1
- package/dist/searching/useFuzzyMatch.js.map +1 -1
- package/dist/searching/utils.js.map +1 -1
- package/dist/segmented-button/SegmentedButton.js.map +1 -1
- package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
- package/dist/segmented-button/segmentedButtonContainerStyles.js.map +1 -1
- package/dist/segmented-button/segmentedButtonStyles.js.map +1 -1
- package/dist/sheet/Sheet.js.map +1 -1
- package/dist/sheet/styles.js.map +1 -1
- package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
- package/dist/snackbar/Snackbar.js.map +1 -1
- package/dist/snackbar/Toast.js.map +1 -1
- package/dist/snackbar/ToastActionButton.js.map +1 -1
- package/dist/snackbar/ToastCloseButton.js.map +1 -1
- package/dist/snackbar/ToastContent.js.map +1 -1
- package/dist/snackbar/ToastManager.js.map +1 -1
- package/dist/snackbar/ToastManagerProvider.js.map +1 -1
- package/dist/snackbar/snackbarStyles.js.map +1 -1
- package/dist/snackbar/toastContentStyles.js.map +1 -1
- package/dist/snackbar/toastStyles.js.map +1 -1
- package/dist/snackbar/useCurrentToastActions.js.map +1 -1
- package/dist/suspense/CircularProgressSuspense.js.map +1 -1
- package/dist/suspense/NullSuspense.js.map +1 -1
- package/dist/table/Table.js.map +1 -1
- package/dist/table/TableBody.js.map +1 -1
- package/dist/table/TableCell.js.map +1 -1
- package/dist/table/TableCellContent.js.map +1 -1
- package/dist/table/TableCheckbox.js.map +1 -1
- package/dist/table/TableConfigurationProvider.js.map +1 -1
- package/dist/table/TableContainer.js.map +1 -1
- package/dist/table/TableContainerProvider.js.map +1 -1
- package/dist/table/TableFooter.js.map +1 -1
- package/dist/table/TableHeader.js.map +1 -1
- package/dist/table/TableRadio.js.map +1 -1
- package/dist/table/TableRow.js.map +1 -1
- package/dist/table/tableCellStyles.js.map +1 -1
- package/dist/table/tableContainerStyles.js.map +1 -1
- package/dist/table/tableFooterStyles.js.map +1 -1
- package/dist/table/tableHeaderStyles.js.map +1 -1
- package/dist/table/tableRowStyles.js.map +1 -1
- package/dist/table/tableStyles.js.map +1 -1
- package/dist/table/types.js.map +1 -1
- package/dist/tabs/Tab.js.map +1 -1
- package/dist/tabs/TabList.js.map +1 -1
- package/dist/tabs/TabListScrollButton.js.map +1 -1
- package/dist/tabs/tabIndicatorStyles.js.map +1 -1
- package/dist/tabs/tabListScrollButtonStyles.js.map +1 -1
- package/dist/tabs/tabListStyles.js.map +1 -1
- package/dist/tabs/tabStyles.js.map +1 -1
- package/dist/tabs/useTabList.js.map +1 -1
- package/dist/tabs/useTabs.js.map +1 -1
- package/dist/tabs/utils.js.map +1 -1
- package/dist/test-utils/IntersectionObserver.js.map +1 -1
- package/dist/test-utils/ResizeObserver.js.map +1 -1
- package/dist/test-utils/data-testid.js.map +1 -1
- package/dist/test-utils/index.js.map +1 -1
- package/dist/test-utils/jest-setup.js.map +1 -1
- package/dist/test-utils/matchMedia.js.map +1 -1
- package/dist/test-utils/polyfills/IntersectionObserver.js.map +1 -1
- package/dist/test-utils/polyfills/ResizeObserver.js.map +1 -1
- package/dist/test-utils/polyfills/TextDecoder.js.map +1 -1
- package/dist/test-utils/polyfills/TextEncoder.js.map +1 -1
- package/dist/test-utils/polyfills/index.js.map +1 -1
- package/dist/test-utils/polyfills/matchMedia.js.map +1 -1
- package/dist/test-utils/polyfills/offsetParent.js.map +1 -1
- package/dist/test-utils/polyfills/scrollIntoView.js.map +1 -1
- package/dist/test-utils/render.js.map +1 -1
- package/dist/test-utils/timers.js.map +1 -1
- package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/colors.js.map +1 -1
- package/dist/theme/cssVars.js.map +1 -1
- package/dist/theme/types.js.map +1 -1
- package/dist/theme/useCSSVariables.js.map +1 -1
- package/dist/theme/useColorScheme.js.map +1 -1
- package/dist/theme/useColorSchemeMetaTag.js.map +1 -1
- package/dist/theme/useColorSchemeProvider.js.map +1 -1
- package/dist/theme/usePrefersColorScheme.js.map +1 -1
- package/dist/theme/utils.js.map +1 -1
- package/dist/tooltip/Tooltip.js.map +1 -1
- package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
- package/dist/tooltip/constants.js.map +1 -1
- package/dist/tooltip/tooltipStyles.js.map +1 -1
- package/dist/tooltip/useTooltip.js.map +1 -1
- package/dist/tooltip/useTooltipPosition.js.map +1 -1
- package/dist/tooltip/utils.js.map +1 -1
- package/dist/transition/CSSTransition.js.map +1 -1
- package/dist/transition/Collapse.js.map +1 -1
- package/dist/transition/CrossFade.js.map +1 -1
- package/dist/transition/ScaleTransition.js.map +1 -1
- package/dist/transition/SkeletonPlaceholder.js.map +1 -1
- package/dist/transition/Slide.js.map +1 -1
- package/dist/transition/SlideContainer.js.map +1 -1
- package/dist/transition/collapseStyles.js.map +1 -1
- package/dist/transition/config.js.map +1 -1
- package/dist/transition/maxWidthTransition.js.map +1 -1
- package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
- package/dist/transition/types.js.map +1 -1
- package/dist/transition/useCSSTransition.js.map +1 -1
- package/dist/transition/useCarousel.js.map +1 -1
- package/dist/transition/useCollapseTransition.js.map +1 -1
- package/dist/transition/useCrossFadeTransition.js.map +1 -1
- package/dist/transition/useMaxWidthTransition.js.map +1 -1
- package/dist/transition/useScaleTransition.js.map +1 -1
- package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
- package/dist/transition/useSlideTransition.js.map +1 -1
- package/dist/transition/useTransition.js.map +1 -1
- package/dist/transition/utils.js.map +1 -1
- package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
- package/dist/tree/Tree.js.map +1 -1
- package/dist/tree/TreeGroup.js.map +1 -1
- package/dist/tree/TreeItem.js.map +1 -1
- package/dist/tree/TreeItemExpander.js.map +1 -1
- package/dist/tree/TreeProvider.js.map +1 -1
- package/dist/tree/styles.js.map +1 -1
- package/dist/tree/types.js.map +1 -1
- package/dist/tree/useTree.js.map +1 -1
- package/dist/tree/useTreeExpansion.js.map +1 -1
- package/dist/tree/useTreeItems.js.map +1 -1
- package/dist/tree/useTreeMovement.js.map +1 -1
- package/dist/tree/useTreeSelection.js.map +1 -1
- package/dist/tree/utils.js.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/typography/SrOnly.js.map +1 -1
- package/dist/typography/TextContainer.d.ts +1 -40
- package/dist/typography/TextContainer.js +1 -30
- package/dist/typography/TextContainer.js.map +1 -1
- package/dist/typography/Typography.d.ts +1 -112
- package/dist/typography/Typography.js +1 -89
- package/dist/typography/Typography.js.map +1 -1
- package/dist/typography/WritingDirectionProvider.js.map +1 -1
- package/dist/typography/textContainerStyles.d.ts +40 -0
- package/dist/typography/textContainerStyles.js +32 -0
- package/dist/typography/textContainerStyles.js.map +1 -0
- package/dist/typography/typographyStyles.d.ts +112 -0
- package/dist/typography/typographyStyles.js +91 -0
- package/dist/typography/typographyStyles.js.map +1 -0
- package/dist/useAsyncAction.js.map +1 -1
- package/dist/useDebouncedFunction.js.map +1 -1
- package/dist/useDropzone.js.map +1 -1
- package/dist/useElementSize.js.map +1 -1
- package/dist/useEnsuredId.js.map +1 -1
- package/dist/useEnsuredRef.js.map +1 -1
- package/dist/useEnsuredState.js.map +1 -1
- package/dist/useHtmlClassName.js.map +1 -1
- package/dist/useIntersectionObserver.js.map +1 -1
- package/dist/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist/useLocalStorage.js.map +1 -1
- package/dist/useOrientation.js.map +1 -1
- package/dist/usePageInactive.js.map +1 -1
- package/dist/useResizeListener.js.map +1 -1
- package/dist/useResizeObserver.js.map +1 -1
- package/dist/useThrottledFunction.js.map +1 -1
- package/dist/useToggle.js.map +1 -1
- package/dist/useUnmounted.js.map +1 -1
- package/dist/useWindowSize.js.map +1 -1
- package/dist/utils/RenderRecursively.js.map +1 -1
- package/dist/utils/alphaNumericSort.js.map +1 -1
- package/dist/utils/applyRef.js.map +1 -1
- package/dist/utils/bem.js.map +1 -1
- package/dist/utils/getClientPosition.js.map +1 -1
- package/dist/utils/getMiddleOfRange.js.map +1 -1
- package/dist/utils/getPercentage.js.map +1 -1
- package/dist/utils/getRangeDefaultValue.js.map +1 -1
- package/dist/utils/getRangeSteps.js.map +1 -1
- package/dist/utils/identity.js.map +1 -1
- package/dist/utils/isElementVisible.js.map +1 -1
- package/dist/utils/loop.js.map +1 -1
- package/dist/utils/nearest.js.map +1 -1
- package/dist/utils/parseCssLengthUnit.js.map +1 -1
- package/dist/utils/randomInt.js.map +1 -1
- package/dist/utils/wait.js.map +1 -1
- package/dist/utils/withinRange.js.map +1 -1
- package/dist/window-splitter/WindowSplitter.js.map +1 -1
- package/dist/window-splitter/useWindowSplitter.js.map +1 -1
- package/package.json +21 -13
- package/src/app-bar/AppBarTitle.tsx +2 -5
- package/src/dialog/DialogTitle.tsx +1 -1
- package/src/expansion-panel/ExpansionPanelHeader.tsx +3 -6
- package/src/form/SliderMarkLabel.tsx +1 -1
- package/src/form/TextFieldContainer.tsx +2 -2
- package/src/index.ts +3 -1
- package/src/typography/TextContainer.tsx +4 -53
- package/src/typography/Typography.tsx +5 -145
- package/src/typography/__tests__/TextContainer.tsx +2 -1
- package/src/typography/__tests__/Typography.tsx +2 -1
- package/src/typography/textContainerStyles.ts +53 -0
- package/src/typography/typographyStyles.ts +145 -0
- package/tsconfig.types.json +1 -1
- package/.turbo/turbo-test.log +0 -5512
- /package/dist/form/{TextFieldContainerStyles.d.ts → textFieldContainerStyles.d.ts} +0 -0
- /package/src/form/{TextFieldContainerStyles.ts → textFieldContainerStyles.ts} +0 -0
package/dist/utils/bem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/bem.ts"],"sourcesContent":["export type Block = string;\nexport type Element = string;\nexport type Modifier = Record<string, unknown>;\n\nfunction modify(base: string, modifier?: Modifier): string {\n if (!modifier) {\n return base;\n }\n\n const hasOwn = Object.prototype.hasOwnProperty;\n return Object.keys(modifier).reduce((s, mod) => {\n if (hasOwn.call(modifier, mod) && modifier[mod]) {\n s = `${s} ${base}--${mod}`;\n }\n\n return s;\n }, base);\n}\n\nexport type BEMResult = (\n elementOrModifier?: Element | Modifier,\n modifier?: Modifier\n) => string;\n\n/**\n * Applies the BEM styled class name to an element.\n *\n * @example\n * Simple Example\n * ```jsx\n * import { Bem } from \"@react-md/core\":\n *\n * const styles = bem(\"my-component\"):\n *\n * export function MyComponent(props) {\n * const className = styles({\n * always: true,\n * never: false,\n * \"some-condition\": props.something,\n * }):\n * const childClassName = styles('child', {\n * always: true,\n * never: false,\n * \"some-condition\": props.something,\n * });\n *\n * // With a false-like `props.something`\n * // className === \"my-component__child my-component__child--always\"\n * // childClassName === \"my-component my-component--always\"\n * // With a truthy `props.something`\n * // className === \"my-component my-component--always my-component--some-condition\"\n * // childClassName === \"my-component__child my-component__child--always my-component__child--some-condition\"\n *\n * return (\n * <div className={className}>\n * <div className={childClassName} />\n * </div>\n * ):\n * }\n * ```\n *\n * @see https://en.bem.info/methodology/css/\n * @param base - The base class to use\n * @returns a function to call that generates the full class name\n */\nexport function bem(base: Block): BEMResult {\n if (process.env.NODE_ENV !== \"production\") {\n if (!base) {\n throw new Error(\n \"bem requires a base block class but none were provided.\"\n );\n }\n }\n\n /**\n * Creates the full class name from the base block name. This can be called\n * without any arguments which will just return the base block name (kind of\n * worthless), or you can provide a child element name and modifiers.\n *\n * @param elementOrModifier - This is either the child element name or an\n * object of modifiers to apply. This **must** be a string if the second\n * argument is provided.\n * @param modifier - Any optional modifiers to apply to the block and optional\n * element.\n * @returns the full class name\n */\n return function block(\n elementOrModifier?: Element | Modifier,\n modifier?: Modifier\n ): string {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof elementOrModifier !== \"string\" && modifier) {\n throw new TypeError(\n \"bem does not support having two modifier arguments.\"\n );\n }\n }\n\n if (!elementOrModifier) {\n return base;\n }\n\n if (typeof elementOrModifier !== \"string\") {\n return modify(base, elementOrModifier);\n }\n\n return modify(`${base}__${elementOrModifier}`, modifier);\n };\n}\n"],"names":["modify","base","modifier","hasOwn","Object","prototype","hasOwnProperty","keys","reduce","s","mod","call","bem","process","env","NODE_ENV","Error","block","elementOrModifier","TypeError"],"mappings":"AAIA,SAASA,OAAOC,IAAY,EAAEC,QAAmB;IAC/C,IAAI,CAACA,UAAU;QACb,OAAOD;IACT;IAEA,MAAME,SAASC,OAAOC,SAAS,CAACC,cAAc;IAC9C,OAAOF,OAAOG,IAAI,CAACL,UAAUM,MAAM,CAAC,CAACC,GAAGC;QACtC,IAAIP,OAAOQ,IAAI,CAACT,UAAUQ,QAAQR,QAAQ,CAACQ,IAAI,EAAE;YAC/CD,IAAI,CAAC,EAAEA,EAAE,CAAC,EAAER,KAAK,EAAE,EAAES,IAAI,CAAC;QAC5B;QAEA,OAAOD;IACT,GAAGR;AACL;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCC,GACD,OAAO,SAASW,IAAIX,IAAW;IAC7B,IAAIY,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACzC,IAAI,CAACd,MAAM;YACT,MAAM,IAAIe,MACR;QAEJ;IACF;IAEA;;;;;;;;;;;GAWC,GACD,OAAO,SAASC,MACdC,iBAAsC,EACtChB,QAAmB;QAEnB,IAAIW,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACzC,IAAI,OAAOG,sBAAsB,YAAYhB,UAAU;gBACrD,MAAM,IAAIiB,UACR;YAEJ;QACF;QAEA,IAAI,CAACD,mBAAmB;YACtB,OAAOjB;QACT;QAEA,IAAI,OAAOiB,sBAAsB,UAAU;YACzC,OAAOlB,OAAOC,MAAMiB;QACtB;QAEA,OAAOlB,OAAO,CAAC,EAAEC,KAAK,EAAE,EAAEiB,kBAAkB,CAAC,EAAEhB;IACjD;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/bem.ts"],"sourcesContent":["export type Block = string;\nexport type Element = string;\nexport type Modifier = Record<string, unknown>;\n\nfunction modify(base: string, modifier?: Modifier): string {\n if (!modifier) {\n return base;\n }\n\n const hasOwn = Object.prototype.hasOwnProperty;\n return Object.keys(modifier).reduce((s, mod) => {\n if (hasOwn.call(modifier, mod) && modifier[mod]) {\n s = `${s} ${base}--${mod}`;\n }\n\n return s;\n }, base);\n}\n\nexport type BEMResult = (\n elementOrModifier?: Element | Modifier,\n modifier?: Modifier\n) => string;\n\n/**\n * Applies the BEM styled class name to an element.\n *\n * @example\n * Simple Example\n * ```jsx\n * import { Bem } from \"@react-md/core\":\n *\n * const styles = bem(\"my-component\"):\n *\n * export function MyComponent(props) {\n * const className = styles({\n * always: true,\n * never: false,\n * \"some-condition\": props.something,\n * }):\n * const childClassName = styles('child', {\n * always: true,\n * never: false,\n * \"some-condition\": props.something,\n * });\n *\n * // With a false-like `props.something`\n * // className === \"my-component__child my-component__child--always\"\n * // childClassName === \"my-component my-component--always\"\n * // With a truthy `props.something`\n * // className === \"my-component my-component--always my-component--some-condition\"\n * // childClassName === \"my-component__child my-component__child--always my-component__child--some-condition\"\n *\n * return (\n * <div className={className}>\n * <div className={childClassName} />\n * </div>\n * ):\n * }\n * ```\n *\n * @see https://en.bem.info/methodology/css/\n * @param base - The base class to use\n * @returns a function to call that generates the full class name\n */\nexport function bem(base: Block): BEMResult {\n if (process.env.NODE_ENV !== \"production\") {\n if (!base) {\n throw new Error(\n \"bem requires a base block class but none were provided.\"\n );\n }\n }\n\n /**\n * Creates the full class name from the base block name. This can be called\n * without any arguments which will just return the base block name (kind of\n * worthless), or you can provide a child element name and modifiers.\n *\n * @param elementOrModifier - This is either the child element name or an\n * object of modifiers to apply. This **must** be a string if the second\n * argument is provided.\n * @param modifier - Any optional modifiers to apply to the block and optional\n * element.\n * @returns the full class name\n */\n return function block(\n elementOrModifier?: Element | Modifier,\n modifier?: Modifier\n ): string {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof elementOrModifier !== \"string\" && modifier) {\n throw new TypeError(\n \"bem does not support having two modifier arguments.\"\n );\n }\n }\n\n if (!elementOrModifier) {\n return base;\n }\n\n if (typeof elementOrModifier !== \"string\") {\n return modify(base, elementOrModifier);\n }\n\n return modify(`${base}__${elementOrModifier}`, modifier);\n };\n}\n"],"names":["modify","base","modifier","hasOwn","Object","prototype","hasOwnProperty","keys","reduce","s","mod","call","bem","process","env","NODE_ENV","Error","block","elementOrModifier","TypeError"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,OAAOC,IAAY,EAAEC,QAAmB;IAC/C,IAAI,CAACA,UAAU;QACb,OAAOD;IACT;IAEA,MAAME,SAASC,OAAOC,SAAS,CAACC,cAAc;IAC9C,OAAOF,OAAOG,IAAI,CAACL,UAAUM,MAAM,CAAC,CAACC,GAAGC;QACtC,IAAIP,OAAOQ,IAAI,CAACT,UAAUQ,QAAQR,QAAQ,CAACQ,IAAI,EAAE;YAC/CD,IAAI,CAAC,EAAEA,EAAE,CAAC,EAAER,KAAK,EAAE,EAAES,IAAI,CAAC;QAC5B;QAEA,OAAOD;IACT,GAAGR;AACL;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCC,GACD,OAAO,SAASW,IAAIX,IAAW;IAC7B,IAAIY,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACzC,IAAI,CAACd,MAAM;YACT,MAAM,IAAIe,MACR;QAEJ;IACF;IAEA;;;;;;;;;;;GAWC,GACD,OAAO,SAASC,MACdC,iBAAsC,EACtChB,QAAmB;QAEnB,IAAIW,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACzC,IAAI,OAAOG,sBAAsB,YAAYhB,UAAU;gBACrD,MAAM,IAAIiB,UACR;YAEJ;QACF;QAEA,IAAI,CAACD,mBAAmB;YACtB,OAAOjB;QACT;QAEA,IAAI,OAAOiB,sBAAsB,UAAU;YACzC,OAAOlB,OAAOC,MAAMiB;QACtB;QAEA,OAAOlB,OAAO,CAAC,EAAEC,KAAK,EAAE,EAAEiB,kBAAkB,CAAC,EAAEhB;IACjD;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/getClientPosition.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface ClientPositionMouseEvent {\n clientX: number;\n clientY: number;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface ClientPositionTouchEvent {\n changedTouches: {\n [index: number]: ClientPositionMouseEvent;\n };\n}\n\nexport type ClientPositionEvent =\n | ClientPositionMouseEvent\n | ClientPositionTouchEvent;\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface ClientPositionOptions {\n event: ClientPositionEvent;\n vertical: boolean;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport const getClientPosition = (options: ClientPositionOptions): number => {\n const { event, vertical } = options;\n\n const key = vertical ? \"clientY\" : \"clientX\";\n if (\"clientX\" in event) {\n return event[key];\n }\n\n // this should pretty much always be defined\n return event.changedTouches[0]?.[key] || 0;\n};\n"],"names":["getClientPosition","options","event","vertical","key","changedTouches"],"mappings":"AAAA;;;CAGC,GA6BD;;;CAGC,GACD,OAAO,MAAMA,oBAAoB,CAACC;IAChC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GAAGF;IAE5B,MAAMG,MAAMD,WAAW,YAAY;IACnC,IAAI,aAAaD,OAAO;QACtB,OAAOA,KAAK,CAACE,IAAI;IACnB;IAEA,4CAA4C;IAC5C,OAAOF,MAAMG,cAAc,CAAC,EAAE,EAAE,CAACD,IAAI,IAAI;AAC3C,EAAE"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/getClientPosition.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface ClientPositionMouseEvent {\n clientX: number;\n clientY: number;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface ClientPositionTouchEvent {\n changedTouches: {\n [index: number]: ClientPositionMouseEvent;\n };\n}\n\nexport type ClientPositionEvent =\n | ClientPositionMouseEvent\n | ClientPositionTouchEvent;\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface ClientPositionOptions {\n event: ClientPositionEvent;\n vertical: boolean;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport const getClientPosition = (options: ClientPositionOptions): number => {\n const { event, vertical } = options;\n\n const key = vertical ? \"clientY\" : \"clientX\";\n if (\"clientX\" in event) {\n return event[key];\n }\n\n // this should pretty much always be defined\n return event.changedTouches[0]?.[key] || 0;\n};\n"],"names":["getClientPosition","options","event","vertical","key","changedTouches"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAAA;;;CAGC,GA6BD;;;CAGC,GACD,OAAO,MAAMA,oBAAoB,CAACC;IAChC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GAAGF;IAE5B,MAAMG,MAAMD,WAAW,YAAY;IACnC,IAAI,aAAaD,OAAO;QACtB,OAAOA,KAAK,CAACE,IAAI;IACnB;IAEA,4CAA4C;IAC5C,OAAOF,MAAMG,cAAc,CAAC,EAAE,EAAE,CAACD,IAAI,IAAI;AAC3C,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/getMiddleOfRange.ts"],"sourcesContent":["import { getRangeSteps } from \"./getRangeSteps.js\";\nimport { nearest } from \"./nearest.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface GetMiddleOfRangeOptions {\n min: number;\n max: number;\n step: number;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport function getMiddleOfRange(options: GetMiddleOfRangeOptions): number {\n const { min, max, step } = options;\n\n return nearest({\n min,\n max,\n steps: getRangeSteps({ min, max, step }),\n value: (max - min) / 2 + min,\n });\n}\n"],"names":["getRangeSteps","nearest","getMiddleOfRange","options","min","max","step","steps","value"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,OAAO,QAAQ,eAAe;AAWvC;;;CAGC,GACD,OAAO,SAASC,iBAAiBC,OAAgC;IAC/D,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,IAAI,EAAE,GAAGH;IAE3B,OAAOF,QAAQ;QACbG;QACAC;QACAE,OAAOP,cAAc;YAAEI;YAAKC;YAAKC;QAAK;QACtCE,OAAO,AAACH,CAAAA,MAAMD,GAAE,IAAK,IAAIA;IAC3B;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/getMiddleOfRange.ts"],"sourcesContent":["import { getRangeSteps } from \"./getRangeSteps.js\";\nimport { nearest } from \"./nearest.js\";\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface GetMiddleOfRangeOptions {\n min: number;\n max: number;\n step: number;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport function getMiddleOfRange(options: GetMiddleOfRangeOptions): number {\n const { min, max, step } = options;\n\n return nearest({\n min,\n max,\n steps: getRangeSteps({ min, max, step }),\n value: (max - min) / 2 + min,\n });\n}\n"],"names":["getRangeSteps","nearest","getMiddleOfRange","options","min","max","step","steps","value"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,OAAO,QAAQ,eAAe;AAWvC;;;CAGC,GACD,OAAO,SAASC,iBAAiBC,OAAgC;IAC/D,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,IAAI,EAAE,GAAGH;IAE3B,OAAOF,QAAQ;QACbG;QACAC;QACAE,OAAOP,cAAc;YAAEI;YAAKC;YAAKC;QAAK;QACtCE,OAAO,AAACH,CAAAA,MAAMD,GAAE,IAAK,IAAIA;IAC3B;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/getPercentage.ts"],"sourcesContent":["/** @remarks \\@since 4.0.1 */\nexport interface GetPercentageOptions {\n /**\n * The min value allowed.\n */\n min: number;\n\n /**\n * The max value allowed.\n */\n max: number;\n\n /**\n * The current value\n */\n value: number;\n\n /**\n * Boolean if the min, max, and value options should be validated to make sure\n * they are within the correct range relative to each other.\n *\n * @defaultValue `false`\n */\n validate?: boolean;\n}\n\n/**\n * Gets the current percentage based on the min, max, and current value.\n *\n * @returns the percentage that the `value` is between the `min` and `max`\n * values.\n *\n * @remarks\n * \\@since 4.0.1 uses an object for options instead of multiple arguments.\n * \\@since 6.0.0 Updated to be included in the public API and `validate`\n * defaults to `false` instead of `true`.\n */\nexport function getPercentage(options: GetPercentageOptions): number {\n const { min, max, value, validate = false } = options;\n if (validate) {\n if (min >= max) {\n throw new RangeError(\n \"A range must have the min value less than the max value\"\n );\n }\n\n if (value > max || value < min) {\n throw new RangeError(\"A value must be between the min and max values\");\n }\n }\n\n const range = max - min;\n const start = value - min;\n const percentage = start / range;\n return Math.max(0, Math.min(Math.abs(percentage), 1));\n}\n"],"names":["getPercentage","options","min","max","value","validate","RangeError","range","start","percentage","Math","abs"],"mappings":"AAAA,2BAA2B,GA0B3B;;;;;;;;;;CAUC,GACD,OAAO,SAASA,cAAcC,OAA6B;IACzD,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,EAAEC,WAAW,KAAK,EAAE,GAAGJ;IAC9C,IAAII,UAAU;QACZ,IAAIH,OAAOC,KAAK;YACd,MAAM,IAAIG,WACR;QAEJ;QAEA,IAAIF,QAAQD,OAAOC,QAAQF,KAAK;YAC9B,MAAM,IAAII,WAAW;QACvB;IACF;IAEA,MAAMC,QAAQJ,MAAMD;IACpB,MAAMM,QAAQJ,QAAQF;IACtB,MAAMO,aAAaD,QAAQD;IAC3B,OAAOG,KAAKP,GAAG,CAAC,GAAGO,KAAKR,GAAG,CAACQ,KAAKC,GAAG,CAACF,aAAa;AACpD"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/getPercentage.ts"],"sourcesContent":["/** @remarks \\@since 4.0.1 */\nexport interface GetPercentageOptions {\n /**\n * The min value allowed.\n */\n min: number;\n\n /**\n * The max value allowed.\n */\n max: number;\n\n /**\n * The current value\n */\n value: number;\n\n /**\n * Boolean if the min, max, and value options should be validated to make sure\n * they are within the correct range relative to each other.\n *\n * @defaultValue `false`\n */\n validate?: boolean;\n}\n\n/**\n * Gets the current percentage based on the min, max, and current value.\n *\n * @returns the percentage that the `value` is between the `min` and `max`\n * values.\n *\n * @remarks\n * \\@since 4.0.1 uses an object for options instead of multiple arguments.\n * \\@since 6.0.0 Updated to be included in the public API and `validate`\n * defaults to `false` instead of `true`.\n */\nexport function getPercentage(options: GetPercentageOptions): number {\n const { min, max, value, validate = false } = options;\n if (validate) {\n if (min >= max) {\n throw new RangeError(\n \"A range must have the min value less than the max value\"\n );\n }\n\n if (value > max || value < min) {\n throw new RangeError(\"A value must be between the min and max values\");\n }\n }\n\n const range = max - min;\n const start = value - min;\n const percentage = start / range;\n return Math.max(0, Math.min(Math.abs(percentage), 1));\n}\n"],"names":["getPercentage","options","min","max","value","validate","RangeError","range","start","percentage","Math","abs"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,2BAA2B,GA0B3B;;;;;;;;;;CAUC,GACD,OAAO,SAASA,cAAcC,OAA6B;IACzD,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,EAAEC,WAAW,KAAK,EAAE,GAAGJ;IAC9C,IAAII,UAAU;QACZ,IAAIH,OAAOC,KAAK;YACd,MAAM,IAAIG,WACR;QAEJ;QAEA,IAAIF,QAAQD,OAAOC,QAAQF,KAAK;YAC9B,MAAM,IAAII,WAAW;QACvB;IACF;IAEA,MAAMC,QAAQJ,MAAMD;IACpB,MAAMM,QAAQJ,QAAQF;IACtB,MAAMO,aAAaD,QAAQD;IAC3B,OAAOG,KAAKP,GAAG,CAAC,GAAGO,KAAKR,GAAG,CAACQ,KAAKC,GAAG,CAACF,aAAa;AACpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/getRangeDefaultValue.ts"],"sourcesContent":["import { type UseStateInitializer } from \"../types.js\";\nimport {\n getMiddleOfRange,\n type GetMiddleOfRangeOptions,\n} from \"./getMiddleOfRange.js\";\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface RangeDefaultValueOptions extends GetMiddleOfRangeOptions {\n defaultValue?: UseStateInitializer<number>;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport function getRangeDefaultValue(\n options: RangeDefaultValueOptions\n): UseStateInitializer<number> {\n const { defaultValue } = options;\n if (typeof defaultValue !== \"undefined\") {\n return defaultValue;\n }\n\n return () => getMiddleOfRange(options);\n}\n"],"names":["getMiddleOfRange","getRangeDefaultValue","options","defaultValue"],"mappings":"AACA,SACEA,gBAAgB,QAEX,wBAAwB;AAU/B;;;CAGC,GACD,OAAO,SAASC,qBACdC,OAAiC;IAEjC,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,IAAI,OAAOC,iBAAiB,aAAa;QACvC,OAAOA;IACT;IAEA,OAAO,IAAMH,iBAAiBE;AAChC"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/getRangeDefaultValue.ts"],"sourcesContent":["import { type UseStateInitializer } from \"../types.js\";\nimport {\n getMiddleOfRange,\n type GetMiddleOfRangeOptions,\n} from \"./getMiddleOfRange.js\";\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface RangeDefaultValueOptions extends GetMiddleOfRangeOptions {\n defaultValue?: UseStateInitializer<number>;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport function getRangeDefaultValue(\n options: RangeDefaultValueOptions\n): UseStateInitializer<number> {\n const { defaultValue } = options;\n if (typeof defaultValue !== \"undefined\") {\n return defaultValue;\n }\n\n return () => getMiddleOfRange(options);\n}\n"],"names":["getMiddleOfRange","getRangeDefaultValue","options","defaultValue"],"rangeMappings":";;;;;;;;;;","mappings":"AACA,SACEA,gBAAgB,QAEX,wBAAwB;AAU/B;;;CAGC,GACD,OAAO,SAASC,qBACdC,OAAiC;IAEjC,MAAM,EAAEC,YAAY,EAAE,GAAGD;IACzB,IAAI,OAAOC,iBAAiB,aAAa;QACvC,OAAOA;IACT;IAEA,OAAO,IAAMH,iBAAiBE;AAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/getRangeSteps.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface RangeStepsOptions {\n min: number;\n max: number;\n step: number;\n}\n\n/**\n * Gets the number of steps in the allowed range of values.\n *\n * @internal\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Converted to using an object instead of multiple arguments and\n * renamed from `getSteps` to `getRangeSteps`.\n */\nexport function getRangeSteps(options: RangeStepsOptions): number {\n const { min, max, step } = options;\n\n return Math.abs(max - min) / step;\n}\n"],"names":["getRangeSteps","options","min","max","step","Math","abs"],"mappings":"AAAA;;;CAGC,GAOD;;;;;;;;CAQC,GACD,OAAO,SAASA,cAAcC,OAA0B;IACtD,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,IAAI,EAAE,GAAGH;IAE3B,OAAOI,KAAKC,GAAG,CAACH,MAAMD,OAAOE;AAC/B"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/getRangeSteps.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface RangeStepsOptions {\n min: number;\n max: number;\n step: number;\n}\n\n/**\n * Gets the number of steps in the allowed range of values.\n *\n * @internal\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Converted to using an object instead of multiple arguments and\n * renamed from `getSteps` to `getRangeSteps`.\n */\nexport function getRangeSteps(options: RangeStepsOptions): number {\n const { min, max, step } = options;\n\n return Math.abs(max - min) / step;\n}\n"],"names":["getRangeSteps","options","min","max","step","Math","abs"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAAA;;;CAGC,GAOD;;;;;;;;CAQC,GACD,OAAO,SAASA,cAAcC,OAA0B;IACtD,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,IAAI,EAAE,GAAGH;IAE3B,OAAOI,KAAKC,GAAG,CAACH,MAAMD,OAAOE;AAC/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/identity.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport const identity = <T>(thing: T): T => thing;\n"],"names":["identity","thing"],"mappings":"AAAA;;;CAGC,GACD,OAAO,MAAMA,WAAW,CAAIC,QAAgBA,MAAM"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/identity.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport const identity = <T>(thing: T): T => thing;\n"],"names":["identity","thing"],"rangeMappings":";;;","mappings":"AAAA;;;CAGC,GACD,OAAO,MAAMA,WAAW,CAAIC,QAAgBA,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/isElementVisible.ts"],"sourcesContent":["/**\n * Note: requires the `$disable-display-none-class` variable to remain `false`.\n *\n * @remarks \\@since 6.0.0\n */\nexport const DISPLAY_NONE_CLASS = \"rmd-display-none\";\n\n/**\n * This is a small util to check if an element within react-md is visible by\n * checking the element and all parents to see if they contain the\n * {@link DISPLAY_NONE_CLASS}.\n *\n * @example\n * Simple Example\n * ```tsx\n * const treeItem = screen.getByRole(\"treeitem\", { name: \"Tree Item\" });\n * const subTreeItem = screen.getByRole(\"treeitem\", { Name: \"Sub Tree Item\" });\n *\n * expect(isElementVisible(treeItem)).toBe(true);\n * expect(isElementVisible(subTreeItem)).toBe(false):\n *\n * await user.click(treeItem);\n * expect(isElementVisible(treeItem)).toBe(true);\n * expect(isElementVisible(subTreeItem)).toBe(true);\n * ```\n * @remarks \\@since 6.0.0\n */\nexport function isElementVisible(element: HTMLElement | null): boolean {\n if (!element) {\n return false;\n }\n\n let currentElement: HTMLElement | null = element;\n while (currentElement) {\n if (currentElement.classList.contains(DISPLAY_NONE_CLASS)) {\n return false;\n }\n\n currentElement = currentElement.parentElement;\n }\n\n return true;\n}\n"],"names":["DISPLAY_NONE_CLASS","isElementVisible","element","currentElement","classList","contains","parentElement"],"mappings":"AAAA;;;;CAIC,GACD,OAAO,MAAMA,qBAAqB,mBAAmB;AAErD;;;;;;;;;;;;;;;;;;;CAmBC,GACD,OAAO,SAASC,iBAAiBC,OAA2B;IAC1D,IAAI,CAACA,SAAS;QACZ,OAAO;IACT;IAEA,IAAIC,iBAAqCD;IACzC,MAAOC,eAAgB;QACrB,IAAIA,eAAeC,SAAS,CAACC,QAAQ,CAACL,qBAAqB;YACzD,OAAO;QACT;QAEAG,iBAAiBA,eAAeG,aAAa;IAC/C;IAEA,OAAO;AACT"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/isElementVisible.ts"],"sourcesContent":["/**\n * Note: requires the `$disable-display-none-class` variable to remain `false`.\n *\n * @remarks \\@since 6.0.0\n */\nexport const DISPLAY_NONE_CLASS = \"rmd-display-none\";\n\n/**\n * This is a small util to check if an element within react-md is visible by\n * checking the element and all parents to see if they contain the\n * {@link DISPLAY_NONE_CLASS}.\n *\n * @example\n * Simple Example\n * ```tsx\n * const treeItem = screen.getByRole(\"treeitem\", { name: \"Tree Item\" });\n * const subTreeItem = screen.getByRole(\"treeitem\", { Name: \"Sub Tree Item\" });\n *\n * expect(isElementVisible(treeItem)).toBe(true);\n * expect(isElementVisible(subTreeItem)).toBe(false):\n *\n * await user.click(treeItem);\n * expect(isElementVisible(treeItem)).toBe(true);\n * expect(isElementVisible(subTreeItem)).toBe(true);\n * ```\n * @remarks \\@since 6.0.0\n */\nexport function isElementVisible(element: HTMLElement | null): boolean {\n if (!element) {\n return false;\n }\n\n let currentElement: HTMLElement | null = element;\n while (currentElement) {\n if (currentElement.classList.contains(DISPLAY_NONE_CLASS)) {\n return false;\n }\n\n currentElement = currentElement.parentElement;\n }\n\n return true;\n}\n"],"names":["DISPLAY_NONE_CLASS","isElementVisible","element","currentElement","classList","contains","parentElement"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;;;CAIC,GACD,OAAO,MAAMA,qBAAqB,mBAAmB;AAErD;;;;;;;;;;;;;;;;;;;CAmBC,GACD,OAAO,SAASC,iBAAiBC,OAA2B;IAC1D,IAAI,CAACA,SAAS;QACZ,OAAO;IACT;IAEA,IAAIC,iBAAqCD;IACzC,MAAOC,eAAgB;QACrB,IAAIA,eAAeC,SAAS,CAACC,QAAQ,CAACL,qBAAqB;YACzD,OAAO;QACT;QAEAG,iBAAiBA,eAAeG,aAAa;IAC/C;IAEA,OAAO;AACT"}
|
package/dist/utils/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/loop.ts"],"sourcesContent":["/**\n * @remarks \\@since 2.7.0\n * @internal\n */\nexport interface LoopOptions {\n /**\n * The current value that should be modified.\n */\n value: number;\n\n /**\n * An optional `min` value that can be used before looping to the `max` value.\n *\n * @defaultValue `0`\n */\n min?: number;\n\n /**\n * The max number that can be used before looping to the `min` value.\n */\n max: number;\n\n /**\n * Boolean if the `value` should be incremented or decremented by `1`.\n */\n increment: boolean;\n\n /**\n * Boolean if the looping should be ignored and only the `min`/`max` options\n * should be respected. In other words, the looping behavior will be disabled\n * and the `value` must be: `min >= value <= max`\n */\n minmax?: boolean;\n}\n\n/**\n * A small util that is used to increment or decrement a number until it reaches\n * the max value or -1. When that happens, it will loop around to 0 or the max\n * value respectively. This does not work for different increment numbers or any\n * values below 0 for now.\n *\n * @internal\n * @param options - {@link LoopOptions}\n * @remarks \\@since 2.7.0 The `min` option was added and the arguments changed to an\n * object\n */\nexport function loop(options: LoopOptions): number {\n const { value, min = 0, max, increment, minmax = false } = options;\n let next = value + (increment ? 1 : -1);\n if (minmax) {\n next = Math.min(max, Math.max(min, next));\n } else if (next > max) {\n next = min;\n } else if (next < min) {\n next = max;\n }\n\n return next;\n}\n"],"names":["loop","options","value","min","max","increment","minmax","next","Math"],"mappings":"AAAA;;;CAGC,GAgCD;;;;;;;;;;CAUC,GACD,OAAO,SAASA,KAAKC,OAAoB;IACvC,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC,EAAEC,GAAG,EAAEC,SAAS,EAAEC,SAAS,KAAK,EAAE,GAAGL;IAC3D,IAAIM,OAAOL,QAASG,CAAAA,YAAY,IAAI,CAAC,CAAA;IACrC,IAAIC,QAAQ;QACVC,OAAOC,KAAKL,GAAG,CAACC,KAAKI,KAAKJ,GAAG,CAACD,KAAKI;IACrC,OAAO,IAAIA,OAAOH,KAAK;QACrBG,OAAOJ;IACT,OAAO,IAAII,OAAOJ,KAAK;QACrBI,OAAOH;IACT;IAEA,OAAOG;AACT"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/loop.ts"],"sourcesContent":["/**\n * @remarks \\@since 2.7.0\n * @internal\n */\nexport interface LoopOptions {\n /**\n * The current value that should be modified.\n */\n value: number;\n\n /**\n * An optional `min` value that can be used before looping to the `max` value.\n *\n * @defaultValue `0`\n */\n min?: number;\n\n /**\n * The max number that can be used before looping to the `min` value.\n */\n max: number;\n\n /**\n * Boolean if the `value` should be incremented or decremented by `1`.\n */\n increment: boolean;\n\n /**\n * Boolean if the looping should be ignored and only the `min`/`max` options\n * should be respected. In other words, the looping behavior will be disabled\n * and the `value` must be: `min >= value <= max`\n */\n minmax?: boolean;\n}\n\n/**\n * A small util that is used to increment or decrement a number until it reaches\n * the max value or -1. When that happens, it will loop around to 0 or the max\n * value respectively. This does not work for different increment numbers or any\n * values below 0 for now.\n *\n * @internal\n * @param options - {@link LoopOptions}\n * @remarks \\@since 2.7.0 The `min` option was added and the arguments changed to an\n * object\n */\nexport function loop(options: LoopOptions): number {\n const { value, min = 0, max, increment, minmax = false } = options;\n let next = value + (increment ? 1 : -1);\n if (minmax) {\n next = Math.min(max, Math.max(min, next));\n } else if (next > max) {\n next = min;\n } else if (next < min) {\n next = max;\n }\n\n return next;\n}\n"],"names":["loop","options","value","min","max","increment","minmax","next","Math"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;;CAGC,GAgCD;;;;;;;;;;CAUC,GACD,OAAO,SAASA,KAAKC,OAAoB;IACvC,MAAM,EAAEC,KAAK,EAAEC,MAAM,CAAC,EAAEC,GAAG,EAAEC,SAAS,EAAEC,SAAS,KAAK,EAAE,GAAGL;IAC3D,IAAIM,OAAOL,QAASG,CAAAA,YAAY,IAAI,CAAC,CAAA;IACrC,IAAIC,QAAQ;QACVC,OAAOC,KAAKL,GAAG,CAACC,KAAKI,KAAKJ,GAAG,CAACD,KAAKI;IACrC,OAAO,IAAIA,OAAOH,KAAK;QACrBG,OAAOJ;IACT,OAAO,IAAII,OAAOJ,KAAK;QACrBI,OAAOH;IACT;IAEA,OAAOG;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/nearest.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface NearestOptions {\n min: number;\n max: number;\n steps: number;\n value: number;\n\n /** @defaultValue `max - min` */\n range?: number;\n}\n\n/**\n * Rounds a number to the nearest step within a min/max range.\n *\n * @see https://stackoverflow.com/a/13635455\n * @returns the value rounded to the nearest step in the min/max range\n * @remarks\n * \\@since 2.5.0 Added the `range` param\n * \\@since 6.0.0 Converted to using an object instead of multiple arguments.\n */\nexport function nearest(options: NearestOptions): number {\n const { min, max, steps, value, range = max - min } = options;\n if (min === max) {\n return max;\n }\n\n const rounded = Math.round(((value - min) * steps) / range) / steps;\n const zeroToOne = Math.min(Math.max(rounded, 0), 1);\n\n // have to calculate the number of allowed decimal places since decimal\n // precision gets weird:\n // 0.28 * 100 === 28.000000000000004\n const step = range / steps;\n const decimals = Number.isInteger(step)\n ? range % steps\n : `${step}`.split(\".\")[1].length;\n\n return Math.min(\n max,\n Math.max(min, parseFloat((zeroToOne * range + min).toFixed(decimals)))\n );\n}\n"],"names":["nearest","options","min","max","steps","value","range","rounded","Math","round","zeroToOne","step","decimals","Number","isInteger","split","length","parseFloat","toFixed"],"mappings":"AAAA;;;CAGC,GAWD;;;;;;;;CAQC,GACD,OAAO,SAASA,QAAQC,OAAuB;IAC7C,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,EAAEC,KAAK,EAAEC,QAAQH,MAAMD,GAAG,EAAE,GAAGD;IACtD,IAAIC,QAAQC,KAAK;QACf,OAAOA;IACT;IAEA,MAAMI,UAAUC,KAAKC,KAAK,CAAC,AAAEJ,CAAAA,QAAQH,GAAE,IAAKE,QAASE,SAASF;IAC9D,MAAMM,YAAYF,KAAKN,GAAG,CAACM,KAAKL,GAAG,CAACI,SAAS,IAAI;IAEjD,uEAAuE;IACvE,wBAAwB;IACxB,oCAAoC;IACpC,MAAMI,OAAOL,QAAQF;IACrB,MAAMQ,WAAWC,OAAOC,SAAS,CAACH,QAC9BL,QAAQF,QACR,CAAC,EAAEO,KAAK,CAAC,CAACI,KAAK,CAAC,IAAI,CAAC,EAAE,CAACC,MAAM;IAElC,OAAOR,KAAKN,GAAG,CACbC,KACAK,KAAKL,GAAG,CAACD,KAAKe,WAAW,AAACP,CAAAA,YAAYJ,QAAQJ,GAAE,EAAGgB,OAAO,CAACN;AAE/D"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/nearest.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface NearestOptions {\n min: number;\n max: number;\n steps: number;\n value: number;\n\n /** @defaultValue `max - min` */\n range?: number;\n}\n\n/**\n * Rounds a number to the nearest step within a min/max range.\n *\n * @see https://stackoverflow.com/a/13635455\n * @returns the value rounded to the nearest step in the min/max range\n * @remarks\n * \\@since 2.5.0 Added the `range` param\n * \\@since 6.0.0 Converted to using an object instead of multiple arguments.\n */\nexport function nearest(options: NearestOptions): number {\n const { min, max, steps, value, range = max - min } = options;\n if (min === max) {\n return max;\n }\n\n const rounded = Math.round(((value - min) * steps) / range) / steps;\n const zeroToOne = Math.min(Math.max(rounded, 0), 1);\n\n // have to calculate the number of allowed decimal places since decimal\n // precision gets weird:\n // 0.28 * 100 === 28.000000000000004\n const step = range / steps;\n const decimals = Number.isInteger(step)\n ? range % steps\n : `${step}`.split(\".\")[1].length;\n\n return Math.min(\n max,\n Math.max(min, parseFloat((zeroToOne * range + min).toFixed(decimals)))\n );\n}\n"],"names":["nearest","options","min","max","steps","value","range","rounded","Math","round","zeroToOne","step","decimals","Number","isInteger","split","length","parseFloat","toFixed"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;;CAGC,GAWD;;;;;;;;CAQC,GACD,OAAO,SAASA,QAAQC,OAAuB;IAC7C,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,EAAEC,KAAK,EAAEC,QAAQH,MAAMD,GAAG,EAAE,GAAGD;IACtD,IAAIC,QAAQC,KAAK;QACf,OAAOA;IACT;IAEA,MAAMI,UAAUC,KAAKC,KAAK,CAAC,AAAEJ,CAAAA,QAAQH,GAAE,IAAKE,QAASE,SAASF;IAC9D,MAAMM,YAAYF,KAAKN,GAAG,CAACM,KAAKL,GAAG,CAACI,SAAS,IAAI;IAEjD,uEAAuE;IACvE,wBAAwB;IACxB,oCAAoC;IACpC,MAAMI,OAAOL,QAAQF;IACrB,MAAMQ,WAAWC,OAAOC,SAAS,CAACH,QAC9BL,QAAQF,QACR,CAAC,EAAEO,KAAK,CAAC,CAACI,KAAK,CAAC,IAAI,CAAC,EAAE,CAACC,MAAM;IAElC,OAAOR,KAAKN,GAAG,CACbC,KACAK,KAAKL,GAAG,CAACD,KAAKe,WAAW,AAACP,CAAAA,YAAYJ,QAAQJ,GAAE,EAAGgB,OAAO,CAACN;AAE/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/parseCssLengthUnit.ts"],"sourcesContent":["/** @internal */\nexport interface ParseCssLengthUnitOptions {\n /**\n *\n */\n value: number | string;\n\n /**\n * @defaultValue `16`\n */\n fallbackFontSize?: number;\n\n /**\n * @defaultValue `document.documentElement`\n */\n container?: Element | null;\n}\n\n/**\n * This is used to convert CSS length units into a number. At this time, it really only supports\n * - `px`\n * - `rem`\n * - `em` (if {@link ParseCssLengthUnitOptions.container} is provided)\n *\n * @example\n * Simple Example\n * ```ts\n * parseCssLengthUnit({ value: \"24px\" }) // 24\n * parseCssLengthUnit({ value: \"3.5rem\" }) // 56\n * parseCssLengthUnit({\n * value: \"3em\",\n * container: document.querySelector(SOME_QUERY),\n * }); // container's computed fontSize * 3\n * ```\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#lengths}\n * @internal\n * @remarks\n * \\@since 6.0.0 This was renamed from `unitToNumber`\n */\nexport function parseCssLengthUnit(options: ParseCssLengthUnitOptions): number {\n const { value, container, fallbackFontSize = 16 } = options;\n\n if (typeof value === \"number\") {\n return value;\n }\n\n const parsed = parseFloat(value);\n if (/px$/i.test(value)) {\n return parsed;\n }\n\n if (typeof window === \"undefined\") {\n return parsed * fallbackFontSize;\n }\n\n const styleContainer =\n !container || /rem$/i.test(value) ? document.documentElement : container;\n\n const fontSize = parseFloat(\n window.getComputedStyle(styleContainer).fontSize || `${fallbackFontSize}px`\n );\n\n return parsed * fontSize;\n}\n"],"names":["parseCssLengthUnit","options","value","container","fallbackFontSize","parsed","parseFloat","test","window","styleContainer","document","documentElement","fontSize","getComputedStyle"],"mappings":"AAAA,cAAc,GAkBd;;;;;;;;;;;;;;;;;;;;;CAqBC,GACD,OAAO,SAASA,mBAAmBC,OAAkC;IACnE,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,mBAAmB,EAAE,EAAE,GAAGH;IAEpD,IAAI,OAAOC,UAAU,UAAU;QAC7B,OAAOA;IACT;IAEA,MAAMG,SAASC,WAAWJ;IAC1B,IAAI,OAAOK,IAAI,CAACL,QAAQ;QACtB,OAAOG;IACT;IAEA,IAAI,OAAOG,WAAW,aAAa;QACjC,OAAOH,SAASD;IAClB;IAEA,MAAMK,iBACJ,CAACN,aAAa,QAAQI,IAAI,CAACL,SAASQ,SAASC,eAAe,GAAGR;IAEjE,MAAMS,WAAWN,WACfE,OAAOK,gBAAgB,CAACJ,gBAAgBG,QAAQ,IAAI,CAAC,EAAER,iBAAiB,EAAE,CAAC;IAG7E,OAAOC,SAASO;AAClB"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/parseCssLengthUnit.ts"],"sourcesContent":["/** @internal */\nexport interface ParseCssLengthUnitOptions {\n /**\n *\n */\n value: number | string;\n\n /**\n * @defaultValue `16`\n */\n fallbackFontSize?: number;\n\n /**\n * @defaultValue `document.documentElement`\n */\n container?: Element | null;\n}\n\n/**\n * This is used to convert CSS length units into a number. At this time, it really only supports\n * - `px`\n * - `rem`\n * - `em` (if {@link ParseCssLengthUnitOptions.container} is provided)\n *\n * @example\n * Simple Example\n * ```ts\n * parseCssLengthUnit({ value: \"24px\" }) // 24\n * parseCssLengthUnit({ value: \"3.5rem\" }) // 56\n * parseCssLengthUnit({\n * value: \"3em\",\n * container: document.querySelector(SOME_QUERY),\n * }); // container's computed fontSize * 3\n * ```\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#lengths}\n * @internal\n * @remarks\n * \\@since 6.0.0 This was renamed from `unitToNumber`\n */\nexport function parseCssLengthUnit(options: ParseCssLengthUnitOptions): number {\n const { value, container, fallbackFontSize = 16 } = options;\n\n if (typeof value === \"number\") {\n return value;\n }\n\n const parsed = parseFloat(value);\n if (/px$/i.test(value)) {\n return parsed;\n }\n\n if (typeof window === \"undefined\") {\n return parsed * fallbackFontSize;\n }\n\n const styleContainer =\n !container || /rem$/i.test(value) ? document.documentElement : container;\n\n const fontSize = parseFloat(\n window.getComputedStyle(styleContainer).fontSize || `${fallbackFontSize}px`\n );\n\n return parsed * fontSize;\n}\n"],"names":["parseCssLengthUnit","options","value","container","fallbackFontSize","parsed","parseFloat","test","window","styleContainer","document","documentElement","fontSize","getComputedStyle"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,cAAc,GAkBd;;;;;;;;;;;;;;;;;;;;;CAqBC,GACD,OAAO,SAASA,mBAAmBC,OAAkC;IACnE,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,mBAAmB,EAAE,EAAE,GAAGH;IAEpD,IAAI,OAAOC,UAAU,UAAU;QAC7B,OAAOA;IACT;IAEA,MAAMG,SAASC,WAAWJ;IAC1B,IAAI,OAAOK,IAAI,CAACL,QAAQ;QACtB,OAAOG;IACT;IAEA,IAAI,OAAOG,WAAW,aAAa;QACjC,OAAOH,SAASD;IAClB;IAEA,MAAMK,iBACJ,CAACN,aAAa,QAAQI,IAAI,CAACL,SAASQ,SAASC,eAAe,GAAGR;IAEjE,MAAMS,WAAWN,WACfE,OAAOK,gBAAgB,CAACJ,gBAAgBG,QAAQ,IAAI,CAAC,EAAER,iBAAiB,EAAE,CAAC;IAG7E,OAAOC,SAASO;AAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/randomInt.ts"],"sourcesContent":["/** @remarks \\@since 6.0.0 */\nexport interface RandomIntOptions {\n /** @defaultValue `0` */\n min?: number;\n /** @defaultValue `10` */\n max?: number;\n}\n\n/**\n * Generates a random integer between a min and max value. Defaults\n * to 0-10.\n *\n * @param options - the {@link RandomIntOptions}\n * @returns a random number\n * @remarks \\@since 6.0.0\n */\nexport function randomInt(options: RandomIntOptions = {}): number {\n const { min = 0, max = 10 } = options;\n\n return Math.floor(Math.random() * (max - min)) + min;\n}\n"],"names":["randomInt","options","min","max","Math","floor","random"],"mappings":"AAAA,2BAA2B,GAQ3B;;;;;;;CAOC,GACD,OAAO,SAASA,UAAUC,UAA4B,CAAC,CAAC;IACtD,MAAM,EAAEC,MAAM,CAAC,EAAEC,MAAM,EAAE,EAAE,GAAGF;IAE9B,OAAOG,KAAKC,KAAK,CAACD,KAAKE,MAAM,KAAMH,CAAAA,MAAMD,GAAE,KAAMA;AACnD"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/randomInt.ts"],"sourcesContent":["/** @remarks \\@since 6.0.0 */\nexport interface RandomIntOptions {\n /** @defaultValue `0` */\n min?: number;\n /** @defaultValue `10` */\n max?: number;\n}\n\n/**\n * Generates a random integer between a min and max value. Defaults\n * to 0-10.\n *\n * @param options - the {@link RandomIntOptions}\n * @returns a random number\n * @remarks \\@since 6.0.0\n */\nexport function randomInt(options: RandomIntOptions = {}): number {\n const { min = 0, max = 10 } = options;\n\n return Math.floor(Math.random() * (max - min)) + min;\n}\n"],"names":["randomInt","options","min","max","Math","floor","random"],"rangeMappings":";;;;;;;;;;","mappings":"AAAA,2BAA2B,GAQ3B;;;;;;;CAOC,GACD,OAAO,SAASA,UAAUC,UAA4B,CAAC,CAAC;IACtD,MAAM,EAAEC,MAAM,CAAC,EAAEC,MAAM,EAAE,EAAE,GAAGF;IAE9B,OAAOG,KAAKC,KAAK,CAACD,KAAKE,MAAM,KAAMH,CAAAA,MAAMD,GAAE,KAAMA;AACnD"}
|
package/dist/utils/wait.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/wait.ts"],"sourcesContent":["/**\n * @example\n * Wait some duration\n * ```ts\n * import { wait } from \"@react-md/core\";\n *\n * console.log('start');\n * await wait(5000);\n * console.log('it has been five seconds');\n * ```\n *\n * This util was just added to support random waits for mocking data and random\n * throttling.\n *\n * @remarks \\@since 6.0.0\n */\nexport const wait = (ms: number): Promise<void> =>\n new Promise((resolve) => setTimeout(() => resolve(), ms));\n"],"names":["wait","ms","Promise","resolve","setTimeout"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GACD,OAAO,MAAMA,OAAO,CAACC,KACnB,IAAIC,QAAQ,CAACC,UAAYC,WAAW,IAAMD,WAAWF,KAAK"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/wait.ts"],"sourcesContent":["/**\n * @example\n * Wait some duration\n * ```ts\n * import { wait } from \"@react-md/core\";\n *\n * console.log('start');\n * await wait(5000);\n * console.log('it has been five seconds');\n * ```\n *\n * This util was just added to support random waits for mocking data and random\n * throttling.\n *\n * @remarks \\@since 6.0.0\n */\nexport const wait = (ms: number): Promise<void> =>\n new Promise((resolve) => setTimeout(() => resolve(), ms));\n"],"names":["wait","ms","Promise","resolve","setTimeout"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GACD,OAAO,MAAMA,OAAO,CAACC,KACnB,IAAIC,QAAQ,CAACC,UAAYC,WAAW,IAAMD,WAAWF,KAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/withinRange.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface WithinRangeOptions {\n min: number | undefined;\n max: number | undefined;\n value: number;\n}\n\n/**\n * A simple util that will ensure that a number is within the optional min and\n * max values.\n *\n * @returns the updated value\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Converted to using an object instead of multiple arguments.\n */\nexport function withinRange(options: WithinRangeOptions): number {\n const { min, max, value } = options;\n\n let nextValue = value;\n if (typeof min === \"number\") {\n nextValue = Math.max(min, nextValue);\n }\n\n if (typeof max === \"number\") {\n nextValue = Math.min(max, nextValue);\n }\n\n return nextValue;\n}\n"],"names":["withinRange","options","min","max","value","nextValue","Math"],"mappings":"AAAA;;;CAGC,GAOD;;;;;;;;CAQC,GACD,OAAO,SAASA,YAAYC,OAA2B;IACrD,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAAGH;IAE5B,IAAII,YAAYD;IAChB,IAAI,OAAOF,QAAQ,UAAU;QAC3BG,YAAYC,KAAKH,GAAG,CAACD,KAAKG;IAC5B;IAEA,IAAI,OAAOF,QAAQ,UAAU;QAC3BE,YAAYC,KAAKJ,GAAG,CAACC,KAAKE;IAC5B;IAEA,OAAOA;AACT"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/withinRange.ts"],"sourcesContent":["/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface WithinRangeOptions {\n min: number | undefined;\n max: number | undefined;\n value: number;\n}\n\n/**\n * A simple util that will ensure that a number is within the optional min and\n * max values.\n *\n * @returns the updated value\n * @remarks\n * \\@since 2.5.0\n * \\@since 6.0.0 Converted to using an object instead of multiple arguments.\n */\nexport function withinRange(options: WithinRangeOptions): number {\n const { min, max, value } = options;\n\n let nextValue = value;\n if (typeof min === \"number\") {\n nextValue = Math.max(min, nextValue);\n }\n\n if (typeof max === \"number\") {\n nextValue = Math.min(max, nextValue);\n }\n\n return nextValue;\n}\n"],"names":["withinRange","options","min","max","value","nextValue","Math"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;;CAGC,GAOD;;;;;;;;CAQC,GACD,OAAO,SAASA,YAAYC,OAA2B;IACrD,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,EAAE,GAAGH;IAE5B,IAAII,YAAYD;IAChB,IAAI,OAAOF,QAAQ,UAAU;QAC3BG,YAAYC,KAAKH,GAAG,CAACD,KAAKG;IAC5B;IAEA,IAAI,OAAOF,QAAQ,UAAU;QAC3BE,YAAYC,KAAKJ,GAAG,CAACC,KAAKE;IAC5B;IAEA,OAAOA;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/window-splitter/WindowSplitter.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type ButtonHTMLAttributes } from \"react\";\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { bem } from \"../utils/bem.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type useWindowSplitter } from \"./useWindowSplitter.js\";\n\nconst styles = bem(\"rmd-window-splitter\");\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterClassNameOptions {\n className?: string;\n dragging?: boolean;\n reversed?: boolean;\n vertical?: boolean;\n disableFixed?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function windowSplitter(\n options: WindowSplitterClassNameOptions = {}\n): string {\n const {\n vertical = false,\n dragging,\n reversed,\n disableFixed,\n className,\n } = options;\n\n return cnb(\n styles({\n h: !vertical,\n hr: !vertical && reversed,\n v: vertical,\n vr: vertical && reversed,\n a: disableFixed,\n dragging,\n }),\n className\n );\n}\n\n/**\n * @remarks \\@since 6.0.0\n * @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/}\n */\nexport interface BaseWindowSplitterProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"type\" | \"children\"> {\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n \"aria-controls\": string;\n\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n dragging: boolean;\n\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n reversed: boolean;\n\n /**\n * Set this to `true` if the window splitter should use `position: absolute`\n * instead of `position: fixed`.\n *\n * @defaultValue `false`\n */\n disableFixed?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type WindowSplitterProps = LabelRequiredForA11y<BaseWindowSplitterProps>;\n\n/**\n * **Server Component**\n * Most likely a client component since it relies on `useWindowSplitter`\n *\n * @see {@link useWindowSplitter} for an example usage\n * @remarks \\@since 6.0.0\n */\nexport const WindowSplitter = forwardRef<\n HTMLButtonElement,\n WindowSplitterProps\n>(function WindowSplitter(props, ref) {\n const {\n role = \"separator\",\n className,\n dragging,\n reversed,\n disableFixed = false,\n ...remaining\n } = props;\n const vertical = props[\"aria-orientation\"] === \"vertical\";\n\n return (\n <button\n {...remaining}\n ref={ref}\n type=\"button\"\n role={role}\n className={windowSplitter({\n className,\n reversed,\n dragging,\n vertical,\n disableFixed,\n })}\n />\n );\n});\n"],"names":["cnb","forwardRef","bem","styles","windowSplitter","options","vertical","dragging","reversed","disableFixed","className","h","hr","v","vr","a","WindowSplitter","props","ref","role","remaining","button","type"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAmC,QAAQ;AAE9D,SAASC,GAAG,QAAQ,kBAAkB;AAKtC,MAAMC,SAASD,IAAI;AAanB;;CAEC,GACD,OAAO,SAASE,eACdC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EACJC,WAAW,KAAK,EAChBC,QAAQ,EACRC,QAAQ,EACRC,YAAY,EACZC,SAAS,EACV,GAAGL;IAEJ,OAAOL,IACLG,OAAO;QACLQ,GAAG,CAACL;QACJM,IAAI,CAACN,YAAYE;QACjBK,GAAGP;QACHQ,IAAIR,YAAYE;QAChBO,GAAGN;QACHF;IACF,IACAG;AAEJ;AAqCA;;;;;;CAMC,GACD,OAAO,MAAMM,+BAAiBf,WAG5B,SAASe,eAAeC,KAAK,EAAEC,GAAG;IAClC,MAAM,EACJC,OAAO,WAAW,EAClBT,SAAS,EACTH,QAAQ,EACRC,QAAQ,EACRC,eAAe,KAAK,EACpB,GAAGW,WACJ,GAAGH;IACJ,MAAMX,WAAWW,KAAK,CAAC,mBAAmB,KAAK;IAE/C,qBACE,KAACI;QACE,GAAGD,SAAS;QACbF,KAAKA;QACLI,MAAK;QACLH,MAAMA;QACNT,WAAWN,eAAe;YACxBM;YACAF;YACAD;YACAD;YACAG;QACF;;AAGN,GAAG"}
|
|
1
|
+
{"version":3,"sources":["../../src/window-splitter/WindowSplitter.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { forwardRef, type ButtonHTMLAttributes } from \"react\";\nimport { type LabelRequiredForA11y } from \"../types.js\";\nimport { bem } from \"../utils/bem.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type useWindowSplitter } from \"./useWindowSplitter.js\";\n\nconst styles = bem(\"rmd-window-splitter\");\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterClassNameOptions {\n className?: string;\n dragging?: boolean;\n reversed?: boolean;\n vertical?: boolean;\n disableFixed?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport function windowSplitter(\n options: WindowSplitterClassNameOptions = {}\n): string {\n const {\n vertical = false,\n dragging,\n reversed,\n disableFixed,\n className,\n } = options;\n\n return cnb(\n styles({\n h: !vertical,\n hr: !vertical && reversed,\n v: vertical,\n vr: vertical && reversed,\n a: disableFixed,\n dragging,\n }),\n className\n );\n}\n\n/**\n * @remarks \\@since 6.0.0\n * @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/}\n */\nexport interface BaseWindowSplitterProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"type\" | \"children\"> {\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n \"aria-controls\": string;\n\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n dragging: boolean;\n\n /**\n * This will be provided by the {@link useWindowSplitter} hook.\n */\n reversed: boolean;\n\n /**\n * Set this to `true` if the window splitter should use `position: absolute`\n * instead of `position: fixed`.\n *\n * @defaultValue `false`\n */\n disableFixed?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type WindowSplitterProps = LabelRequiredForA11y<BaseWindowSplitterProps>;\n\n/**\n * **Server Component**\n * Most likely a client component since it relies on `useWindowSplitter`\n *\n * @see {@link useWindowSplitter} for an example usage\n * @remarks \\@since 6.0.0\n */\nexport const WindowSplitter = forwardRef<\n HTMLButtonElement,\n WindowSplitterProps\n>(function WindowSplitter(props, ref) {\n const {\n role = \"separator\",\n className,\n dragging,\n reversed,\n disableFixed = false,\n ...remaining\n } = props;\n const vertical = props[\"aria-orientation\"] === \"vertical\";\n\n return (\n <button\n {...remaining}\n ref={ref}\n type=\"button\"\n role={role}\n className={windowSplitter({\n className,\n reversed,\n dragging,\n vertical,\n disableFixed,\n })}\n />\n );\n});\n"],"names":["cnb","forwardRef","bem","styles","windowSplitter","options","vertical","dragging","reversed","disableFixed","className","h","hr","v","vr","a","WindowSplitter","props","ref","role","remaining","button","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,QAAmC,QAAQ;AAE9D,SAASC,GAAG,QAAQ,kBAAkB;AAKtC,MAAMC,SAASD,IAAI;AAanB;;CAEC,GACD,OAAO,SAASE,eACdC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EACJC,WAAW,KAAK,EAChBC,QAAQ,EACRC,QAAQ,EACRC,YAAY,EACZC,SAAS,EACV,GAAGL;IAEJ,OAAOL,IACLG,OAAO;QACLQ,GAAG,CAACL;QACJM,IAAI,CAACN,YAAYE;QACjBK,GAAGP;QACHQ,IAAIR,YAAYE;QAChBO,GAAGN;QACHF;IACF,IACAG;AAEJ;AAqCA;;;;;;CAMC,GACD,OAAO,MAAMM,+BAAiBf,WAG5B,SAASe,eAAeC,KAAK,EAAEC,GAAG;IAClC,MAAM,EACJC,OAAO,WAAW,EAClBT,SAAS,EACTH,QAAQ,EACRC,QAAQ,EACRC,eAAe,KAAK,EACpB,GAAGW,WACJ,GAAGH;IACJ,MAAMX,WAAWW,KAAK,CAAC,mBAAmB,KAAK;IAE/C,qBACE,KAACI;QACE,GAAGD,SAAS;QACbF,KAAKA;QACLI,MAAK;QACLH,MAAMA;QACNT,WAAWN,eAAe;YACxBM;YACAF;YACAD;YACAD;YACAG;QACF;;AAGN,GAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/window-splitter/useWindowSplitter.ts"],"sourcesContent":["\"use client\";\nimport { type Ref, type RefCallback } from \"react\";\nimport {\n useDraggable,\n type BaseDraggableOptions,\n type DraggableImplementation,\n type DraggableKeyboardEventHandlers,\n type DraggableMouseEventHandlers,\n type DraggableStateOptions,\n type DraggableTouchEventHandlers,\n} from \"../draggable/useDraggable.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-window-splitter-top\"?: number | string;\n \"--rmd-window-splitter-right\"?: number | string;\n \"--rmd-window-splitter-bottom\"?: number | string;\n \"--rmd-window-splitter-left\"?: number | string;\n \"--rmd-window-splitter-opacity\"?: number | string;\n \"--rmd-window-splitter-position\"?: number | string;\n }\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface BaseWindowSplitterOptions<\n E extends HTMLElement = HTMLButtonElement,\n> extends Omit<BaseDraggableOptions<E>, keyof DraggableTouchEventHandlers<E>> {\n /**\n * An optional id to use for the window splitter.\n *\n * @defaultValue `\"window-splitter-\" + useId()`\n */\n id?: string;\n\n /**\n * An optional ref for the window splitter element. This will be merged into\n * the {@link WindowSplitterWidgetProps.ref}.\n */\n ref?: Ref<E>;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type WindowSplitterOptions<E extends HTMLElement = HTMLButtonElement> =\n BaseWindowSplitterOptions<E> & DraggableStateOptions;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterWidgetProps<E extends HTMLElement>\n extends Required<DraggableMouseEventHandlers<E>>,\n Required<DraggableKeyboardEventHandlers<E>> {\n \"aria-orientation\": \"vertical\" | undefined;\n \"aria-valuenow\": number;\n \"aria-valuemin\": number;\n \"aria-valuemax\": number;\n id: string;\n ref: RefCallback<E>;\n role: \"separator\";\n reversed: boolean;\n dragging: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterImplementation<\n E extends HTMLElement = HTMLButtonElement,\n> extends DraggableImplementation<E> {\n splitterProps: WindowSplitterWidgetProps<E>;\n}\n\n/**\n * Used to control the state for the `WindowSplitter` component.\n *\n * @example\n * Custom Implementation\n * ```tsx\n * import { useWindowSplitter, WindowSplitterImplementation } from \"@react-md/core\";\n * import { useState } from \"react\";\n *\n * // this is pretty much the `useWindowSplitter` implementation\n * export function useMyCustomWindowSplitter(): WindowSplitterImplementation {\n * const [dragging, setDragging] = useState(false);\n * const [value, setValue] = useState(0);\n * const splitter = useWindowSplitter({\n * min: 0,\n * max: 100,\n * value,\n * setValue,\n * dragging,\n * setDragging,\n * });\n *\n * return {\n * ...splitter,\n * value,\n * setValue,\n * dragging,\n * }\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useWindowSplitter<E extends HTMLElement = HTMLButtonElement>(\n options: WindowSplitterOptions<E>\n): WindowSplitterImplementation<E> {\n const { id: propId, reversed = false, vertical } = options;\n\n const id = useEnsuredId(propId, \"splitter\");\n const draggableImplementation = useDraggable(options);\n const {\n dragging,\n percentage,\n draggableRef,\n mouseEventHandlers,\n keyboardEventHandlers,\n } = draggableImplementation;\n\n return {\n ...draggableImplementation,\n splitterProps: {\n \"aria-orientation\": vertical ? \"vertical\" : undefined,\n \"aria-valuenow\": Math.ceil(percentage * 100),\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n id,\n ref: draggableRef,\n role: \"separator\",\n dragging,\n reversed,\n ...mouseEventHandlers,\n ...keyboardEventHandlers,\n },\n };\n}\n"],"names":["useDraggable","useEnsuredId","useWindowSplitter","options","id","propId","reversed","vertical","draggableImplementation","dragging","percentage","draggableRef","mouseEventHandlers","keyboardEventHandlers","splitterProps","undefined","Math","ceil","ref","role"],"mappings":"AAAA;AAEA,SACEA,YAAY,QAOP,+BAA+B;AACtC,SAASC,YAAY,QAAQ,qBAAqB;AAiElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCC,GACD,OAAO,SAASC,kBACdC,OAAiC;IAEjC,MAAM,EAAEC,IAAIC,MAAM,EAAEC,WAAW,KAAK,EAAEC,QAAQ,EAAE,GAAGJ;IAEnD,MAAMC,KAAKH,aAAaI,QAAQ;IAChC,MAAMG,0BAA0BR,aAAaG;IAC7C,MAAM,EACJM,QAAQ,EACRC,UAAU,EACVC,YAAY,EACZC,kBAAkB,EAClBC,qBAAqB,EACtB,GAAGL;IAEJ,OAAO;QACL,GAAGA,uBAAuB;QAC1BM,eAAe;YACb,oBAAoBP,WAAW,aAAaQ;YAC5C,iBAAiBC,KAAKC,IAAI,CAACP,aAAa;YACxC,iBAAiB;YACjB,iBAAiB;YACjBN;YACAc,KAAKP;YACLQ,MAAM;YACNV;YACAH;YACA,GAAGM,kBAAkB;YACrB,GAAGC,qBAAqB;QAC1B;IACF;AACF"}
|
|
1
|
+
{"version":3,"sources":["../../src/window-splitter/useWindowSplitter.ts"],"sourcesContent":["\"use client\";\nimport { type Ref, type RefCallback } from \"react\";\nimport {\n useDraggable,\n type BaseDraggableOptions,\n type DraggableImplementation,\n type DraggableKeyboardEventHandlers,\n type DraggableMouseEventHandlers,\n type DraggableStateOptions,\n type DraggableTouchEventHandlers,\n} from \"../draggable/useDraggable.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-window-splitter-top\"?: number | string;\n \"--rmd-window-splitter-right\"?: number | string;\n \"--rmd-window-splitter-bottom\"?: number | string;\n \"--rmd-window-splitter-left\"?: number | string;\n \"--rmd-window-splitter-opacity\"?: number | string;\n \"--rmd-window-splitter-position\"?: number | string;\n }\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface BaseWindowSplitterOptions<\n E extends HTMLElement = HTMLButtonElement,\n> extends Omit<BaseDraggableOptions<E>, keyof DraggableTouchEventHandlers<E>> {\n /**\n * An optional id to use for the window splitter.\n *\n * @defaultValue `\"window-splitter-\" + useId()`\n */\n id?: string;\n\n /**\n * An optional ref for the window splitter element. This will be merged into\n * the {@link WindowSplitterWidgetProps.ref}.\n */\n ref?: Ref<E>;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type WindowSplitterOptions<E extends HTMLElement = HTMLButtonElement> =\n BaseWindowSplitterOptions<E> & DraggableStateOptions;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterWidgetProps<E extends HTMLElement>\n extends Required<DraggableMouseEventHandlers<E>>,\n Required<DraggableKeyboardEventHandlers<E>> {\n \"aria-orientation\": \"vertical\" | undefined;\n \"aria-valuenow\": number;\n \"aria-valuemin\": number;\n \"aria-valuemax\": number;\n id: string;\n ref: RefCallback<E>;\n role: \"separator\";\n reversed: boolean;\n dragging: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface WindowSplitterImplementation<\n E extends HTMLElement = HTMLButtonElement,\n> extends DraggableImplementation<E> {\n splitterProps: WindowSplitterWidgetProps<E>;\n}\n\n/**\n * Used to control the state for the `WindowSplitter` component.\n *\n * @example\n * Custom Implementation\n * ```tsx\n * import { useWindowSplitter, WindowSplitterImplementation } from \"@react-md/core\";\n * import { useState } from \"react\";\n *\n * // this is pretty much the `useWindowSplitter` implementation\n * export function useMyCustomWindowSplitter(): WindowSplitterImplementation {\n * const [dragging, setDragging] = useState(false);\n * const [value, setValue] = useState(0);\n * const splitter = useWindowSplitter({\n * min: 0,\n * max: 100,\n * value,\n * setValue,\n * dragging,\n * setDragging,\n * });\n *\n * return {\n * ...splitter,\n * value,\n * setValue,\n * dragging,\n * }\n * }\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function useWindowSplitter<E extends HTMLElement = HTMLButtonElement>(\n options: WindowSplitterOptions<E>\n): WindowSplitterImplementation<E> {\n const { id: propId, reversed = false, vertical } = options;\n\n const id = useEnsuredId(propId, \"splitter\");\n const draggableImplementation = useDraggable(options);\n const {\n dragging,\n percentage,\n draggableRef,\n mouseEventHandlers,\n keyboardEventHandlers,\n } = draggableImplementation;\n\n return {\n ...draggableImplementation,\n splitterProps: {\n \"aria-orientation\": vertical ? \"vertical\" : undefined,\n \"aria-valuenow\": Math.ceil(percentage * 100),\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n id,\n ref: draggableRef,\n role: \"separator\",\n dragging,\n reversed,\n ...mouseEventHandlers,\n ...keyboardEventHandlers,\n },\n };\n}\n"],"names":["useDraggable","useEnsuredId","useWindowSplitter","options","id","propId","reversed","vertical","draggableImplementation","dragging","percentage","draggableRef","mouseEventHandlers","keyboardEventHandlers","splitterProps","undefined","Math","ceil","ref","role"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,SACEA,YAAY,QAOP,+BAA+B;AACtC,SAASC,YAAY,QAAQ,qBAAqB;AAiElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCC,GACD,OAAO,SAASC,kBACdC,OAAiC;IAEjC,MAAM,EAAEC,IAAIC,MAAM,EAAEC,WAAW,KAAK,EAAEC,QAAQ,EAAE,GAAGJ;IAEnD,MAAMC,KAAKH,aAAaI,QAAQ;IAChC,MAAMG,0BAA0BR,aAAaG;IAC7C,MAAM,EACJM,QAAQ,EACRC,UAAU,EACVC,YAAY,EACZC,kBAAkB,EAClBC,qBAAqB,EACtB,GAAGL;IAEJ,OAAO;QACL,GAAGA,uBAAuB;QAC1BM,eAAe;YACb,oBAAoBP,WAAW,aAAaQ;YAC5C,iBAAiBC,KAAKC,IAAI,CAACP,aAAa;YACxC,iBAAiB;YACjB,iBAAiB;YACjBN;YACAc,KAAKP;YACLQ,MAAM;YACNV;YACAH;YACA,GAAGM,kBAAkB;YACrB,GAAGC,qBAAqB;QAC1B;IACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-md/core",
|
|
3
|
-
"version": "1.0.0-next.
|
|
3
|
+
"version": "1.0.0-next.12",
|
|
4
4
|
"description": "The core components and functionality for react-md.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sass": "./dist/_core.scss",
|
|
@@ -15,17 +15,25 @@
|
|
|
15
15
|
"require": "./dist/test-utils/polyfills",
|
|
16
16
|
"default": "./dist/test-utils/polyfills/index.js"
|
|
17
17
|
},
|
|
18
|
+
"./test-utils/polyfills/*": {
|
|
19
|
+
"require": "./dist/test-utils/polyfills/*",
|
|
20
|
+
"default": "./dist/test-utils/polyfills/*.js"
|
|
21
|
+
},
|
|
18
22
|
"./test-utils": "./dist/test-utils/index.js",
|
|
23
|
+
"./test-utils/*": {
|
|
24
|
+
"require": "./dist/test-utils/*",
|
|
25
|
+
"default": "./dist/test-utils/*.js"
|
|
26
|
+
},
|
|
19
27
|
"./colors": {
|
|
20
|
-
"sass": "./dist/_colors.scss"
|
|
28
|
+
"sass": "./dist/_colors.scss",
|
|
29
|
+
"default": "./dist/theme/colors.js"
|
|
21
30
|
},
|
|
22
31
|
"./*": "./dist/*.js",
|
|
23
|
-
"./*/*": "./dist/*/*.js",
|
|
24
32
|
"./package.json": "./package.json"
|
|
25
33
|
},
|
|
26
34
|
"sideEffects": [
|
|
27
35
|
"dist/**/*.scss",
|
|
28
|
-
"dist/test-utils/polyfills
|
|
36
|
+
"dist/test-utils/polyfills"
|
|
29
37
|
],
|
|
30
38
|
"repository": {
|
|
31
39
|
"type": "git",
|
|
@@ -52,20 +60,20 @@
|
|
|
52
60
|
"devDependencies": {
|
|
53
61
|
"@jest/globals": "^29.7.0",
|
|
54
62
|
"@jest/types": "^29.6.3",
|
|
55
|
-
"@swc/cli": "^0.3.
|
|
56
|
-
"@swc/core": "1.4.
|
|
63
|
+
"@swc/cli": "^0.3.12",
|
|
64
|
+
"@swc/core": "1.4.12",
|
|
57
65
|
"@swc/jest": "^0.2.36",
|
|
58
66
|
"@testing-library/dom": "^9.3.4",
|
|
59
67
|
"@testing-library/jest-dom": "^6.4.2",
|
|
60
68
|
"@testing-library/react": "^14.2.2",
|
|
61
69
|
"@testing-library/user-event": "^14.5.2",
|
|
62
70
|
"@types/lodash": "^4.17.0",
|
|
63
|
-
"@types/node": "^20.
|
|
64
|
-
"@types/react": "^18.2.
|
|
65
|
-
"@types/react-dom": "^18.2.
|
|
71
|
+
"@types/node": "^20.12.5",
|
|
72
|
+
"@types/react": "^18.2.74",
|
|
73
|
+
"@types/react-dom": "^18.2.24",
|
|
66
74
|
"chokidar": "^3.6.0",
|
|
67
75
|
"filesize": "^10.1.1",
|
|
68
|
-
"glob": "10.3.
|
|
76
|
+
"glob": "10.3.12",
|
|
69
77
|
"jest": "^29.7.0",
|
|
70
78
|
"jest-environment-jsdom": "^29.7.0",
|
|
71
79
|
"jest-watch-typeahead": "^2.2.2",
|
|
@@ -74,14 +82,14 @@
|
|
|
74
82
|
"npm-run-all": "^4.1.5",
|
|
75
83
|
"postcss": "^8.4.38",
|
|
76
84
|
"postcss-scss": "^4.0.9",
|
|
77
|
-
"stylelint": "^16.3.
|
|
85
|
+
"stylelint": "^16.3.1",
|
|
78
86
|
"stylelint-config-prettier-scss": "^1.0.0",
|
|
79
87
|
"stylelint-config-recommended-scss": "^14.0.0",
|
|
80
88
|
"stylelint-order": "^6.0.4",
|
|
81
89
|
"stylelint-scss": "^6.2.1",
|
|
82
90
|
"ts-node": "^10.9.2",
|
|
83
|
-
"tsx": "^4.7.
|
|
84
|
-
"typescript": "^5.4.
|
|
91
|
+
"tsx": "^4.7.2",
|
|
92
|
+
"typescript": "^5.4.4"
|
|
85
93
|
},
|
|
86
94
|
"peerDependencies": {
|
|
87
95
|
"@jest/globals": "^29.7.0",
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { cnb } from "cnbuilder";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
3
|
import { type TextOverflow } from "../cssUtils.js";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
type TypographyProps,
|
|
7
|
-
type TypographyType,
|
|
8
|
-
} from "../typography/Typography.js";
|
|
4
|
+
import { Typography, type TypographyProps } from "../typography/Typography.js";
|
|
5
|
+
import { type TypographyType } from "../typography/typographyStyles.js";
|
|
9
6
|
import { bem } from "../utils/bem.js";
|
|
10
7
|
|
|
11
8
|
const styles = bem("rmd-app-bar-title");
|
|
@@ -5,8 +5,8 @@ import {
|
|
|
5
5
|
Typography,
|
|
6
6
|
type CustomTypographyComponent,
|
|
7
7
|
type TypographyProps,
|
|
8
|
-
type TypographyType,
|
|
9
8
|
} from "../typography/Typography.js";
|
|
9
|
+
import { type TypographyType } from "../typography/typographyStyles.js";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @remarks \@since 6.0.0 Inherits the `TypographyProps` instead of
|
|
@@ -6,14 +6,11 @@ import {
|
|
|
6
6
|
type ReactNode,
|
|
7
7
|
} from "react";
|
|
8
8
|
import { ButtonUnstyled } from "../button/ButtonUnstyled.js";
|
|
9
|
-
import { getIcon } from "../icon/iconConfig.js";
|
|
10
9
|
import { IconRotator, type IconRotatorProps } from "../icon/IconRotator.js";
|
|
10
|
+
import { getIcon } from "../icon/iconConfig.js";
|
|
11
11
|
import { type PropsWithRef } from "../types.js";
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
type TypographyProps,
|
|
15
|
-
type TypographyType,
|
|
16
|
-
} from "../typography/Typography.js";
|
|
12
|
+
import { Typography, type TypographyProps } from "../typography/Typography.js";
|
|
13
|
+
import { type TypographyType } from "../typography/typographyStyles.js";
|
|
17
14
|
|
|
18
15
|
/**
|
|
19
16
|
* @remarks \@since 6.0.0 Updated to include additional heading/Typography
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
Typography,
|
|
5
5
|
type CustomTypographyComponent,
|
|
6
6
|
type TypographyProps,
|
|
7
|
-
type TypographyType,
|
|
8
7
|
} from "../typography/Typography.js";
|
|
8
|
+
import { type TypographyType } from "../typography/typographyStyles.js";
|
|
9
9
|
import { bem } from "../utils/bem.js";
|
|
10
10
|
|
|
11
11
|
const styles = bem("rmd-slider-mark-label");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { forwardRef, type HTMLAttributes } from "react";
|
|
3
|
-
import { getFormConfig } from "./formConfig.js";
|
|
4
3
|
import { TextFieldAddon } from "./TextFieldAddon.js";
|
|
5
|
-
import {
|
|
4
|
+
import { getFormConfig } from "./formConfig.js";
|
|
5
|
+
import { textFieldContainer } from "./textFieldContainerStyles.js";
|
|
6
6
|
import { type TextFieldContainerOptions } from "./types.js";
|
|
7
7
|
|
|
8
8
|
export interface TextFieldContainerProps
|
package/src/index.ts
CHANGED
|
@@ -84,7 +84,6 @@ export * from "./form/TextArea.js";
|
|
|
84
84
|
export * from "./form/TextField.js";
|
|
85
85
|
export * from "./form/TextFieldAddon.js";
|
|
86
86
|
export * from "./form/TextFieldContainer.js";
|
|
87
|
-
export * from "./form/TextFieldContainerStyles.js";
|
|
88
87
|
export * from "./form/fileUtils.js";
|
|
89
88
|
export * from "./form/formConfig.js";
|
|
90
89
|
export * from "./form/formMessageStyles.js";
|
|
@@ -94,6 +93,7 @@ export * from "./form/optionStyles.js";
|
|
|
94
93
|
export * from "./form/passwordStyles.js";
|
|
95
94
|
export * from "./form/selectStyles.js";
|
|
96
95
|
export * from "./form/switchStyles.js";
|
|
96
|
+
export * from "./form/textFieldContainerStyles.js";
|
|
97
97
|
export * from "./form/textFieldStyles.js";
|
|
98
98
|
export * from "./form/types.js";
|
|
99
99
|
export * from "./form/useCheckboxGroup.js";
|
|
@@ -308,6 +308,8 @@ export * from "./typography/SrOnly.js";
|
|
|
308
308
|
export * from "./typography/TextContainer.js";
|
|
309
309
|
export * from "./typography/Typography.js";
|
|
310
310
|
export * from "./typography/WritingDirectionProvider.js";
|
|
311
|
+
export * from "./typography/textContainerStyles.js";
|
|
312
|
+
export * from "./typography/typographyStyles.js";
|
|
311
313
|
export * from "./useAsyncAction.js";
|
|
312
314
|
export * from "./useDebouncedFunction.js";
|
|
313
315
|
export * from "./useDropzone.js";
|
|
@@ -1,57 +1,8 @@
|
|
|
1
|
-
import { cnb } from "cnbuilder";
|
|
2
1
|
import { forwardRef, type HTMLAttributes } from "react";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"--rmd-line-length"?: string | number;
|
|
8
|
-
"--rmd-text-container-padding"?: string | number;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const styles = bem("rmd-text-container");
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @remarks \@since 6.0.0
|
|
16
|
-
*/
|
|
17
|
-
export interface TextContainerClassNameOptions {
|
|
18
|
-
/**
|
|
19
|
-
* An optional className to merge with typography text container styles.
|
|
20
|
-
*/
|
|
21
|
-
className?: string;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* @example
|
|
26
|
-
* Simple Example
|
|
27
|
-
* ```tsx
|
|
28
|
-
* import { textContainer, Typography } from "@react-md/core";
|
|
29
|
-
*
|
|
30
|
-
* function Example() {
|
|
31
|
-
* return (
|
|
32
|
-
* <main className={textContainer()}>
|
|
33
|
-
* <Typography type="headline-1">Heading</Typography>
|
|
34
|
-
* <Typography>
|
|
35
|
-
* Pretend this is a giant paragraph of text that wraps multiple lines.
|
|
36
|
-
* </Typography>
|
|
37
|
-
* <Typography>
|
|
38
|
-
* Pretend this is another giant paragraph of text that wraps multiple
|
|
39
|
-
* lines.
|
|
40
|
-
* </Typography>
|
|
41
|
-
* </main>
|
|
42
|
-
* ):
|
|
43
|
-
* }
|
|
44
|
-
* ```
|
|
45
|
-
*
|
|
46
|
-
* @remarks \@since 6.0.0
|
|
47
|
-
*/
|
|
48
|
-
export function textContainer(
|
|
49
|
-
options: TextContainerClassNameOptions = {}
|
|
50
|
-
): string {
|
|
51
|
-
const { className } = options;
|
|
52
|
-
|
|
53
|
-
return cnb(styles(), className);
|
|
54
|
-
}
|
|
2
|
+
import {
|
|
3
|
+
textContainer,
|
|
4
|
+
type TextContainerClassNameOptions,
|
|
5
|
+
} from "./textContainerStyles.js";
|
|
55
6
|
|
|
56
7
|
/**
|
|
57
8
|
* @remarks \@since 6.0.0 Removed the `size` option since there is no longer a
|
|
@@ -1,154 +1,14 @@
|
|
|
1
|
-
import { cnb } from "cnbuilder";
|
|
2
1
|
import {
|
|
3
2
|
forwardRef,
|
|
4
3
|
type ElementType,
|
|
5
4
|
type HTMLAttributes,
|
|
6
5
|
type ReactElement,
|
|
7
6
|
} from "react";
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* to apply and determine what component to be rendered as if none was provided.
|
|
14
|
-
*
|
|
15
|
-
* @remarks \@since 4.0.0
|
|
16
|
-
*/
|
|
17
|
-
export type TypographyType =
|
|
18
|
-
| "headline-1"
|
|
19
|
-
| "headline-2"
|
|
20
|
-
| "headline-3"
|
|
21
|
-
| "headline-4"
|
|
22
|
-
| "headline-5"
|
|
23
|
-
| "headline-6"
|
|
24
|
-
| "subtitle-1"
|
|
25
|
-
| "subtitle-2"
|
|
26
|
-
| "body-1"
|
|
27
|
-
| "body-2"
|
|
28
|
-
| "caption"
|
|
29
|
-
| "overline";
|
|
30
|
-
|
|
31
|
-
/** @remarks \@since 6.0.0 */
|
|
32
|
-
export interface TypographyClassNameOptions extends TextCssUtilsOptions {
|
|
33
|
-
className?: string;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* @see {@link TypographyType}
|
|
37
|
-
* @defaultValue `"body-1"`
|
|
38
|
-
*/
|
|
39
|
-
type?: TypographyType;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/** @remarks \@since 6.0.0 */
|
|
43
|
-
export type NullableTypographyClassNameOptions = Omit<
|
|
44
|
-
TypographyClassNameOptions,
|
|
45
|
-
"type"
|
|
46
|
-
> & {
|
|
47
|
-
/**
|
|
48
|
-
* When using the {@link typography} class name utility, the `type` can be set
|
|
49
|
-
* to `null` to inherit font.
|
|
50
|
-
*
|
|
51
|
-
* @see {@link TypographyType}
|
|
52
|
-
* @defaultValue `"body-1"`
|
|
53
|
-
*/
|
|
54
|
-
type?: TypographyType | null;
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Get a typography class name based on different typography options. This is
|
|
59
|
-
* only useful if you are unable to use the {@link Typography} component for
|
|
60
|
-
* some reason.
|
|
61
|
-
*
|
|
62
|
-
* @example
|
|
63
|
-
* Simple Example
|
|
64
|
-
* ```ts
|
|
65
|
-
* import { typography } from "@react-md/core";
|
|
66
|
-
*
|
|
67
|
-
* function Example() {
|
|
68
|
-
* return (
|
|
69
|
-
* <>
|
|
70
|
-
* <h1 className={typography({ type: "headline-1" })} />
|
|
71
|
-
* <h2 className={typography({ type: "headline-2" })} />
|
|
72
|
-
* <h3 className={typography({ type: "headline-3" })} />
|
|
73
|
-
* <h4 className={typography({ type: "headline-4" })} />
|
|
74
|
-
* <h5 className={typography({ type: "headline-5" })} />
|
|
75
|
-
* <h6 className={typography({ type: "headline-6" })} />
|
|
76
|
-
* <h5 className={typography({ type: "subtitle-1" })} />
|
|
77
|
-
* <h6 className={typography({ type: "subtitle-2" })} />
|
|
78
|
-
* <p className={typography()} />
|
|
79
|
-
* <p className={typography({ type "body-1" })} />
|
|
80
|
-
* <p className={typography({ type "body-1" })} />
|
|
81
|
-
* <caption className={typography({ type: "caption" })} />
|
|
82
|
-
* <span className={typography({ type: "overline" })} />
|
|
83
|
-
* </>
|
|
84
|
-
* );
|
|
85
|
-
* }
|
|
86
|
-
* ```
|
|
87
|
-
*
|
|
88
|
-
* @example
|
|
89
|
-
* Applying Additional Styles
|
|
90
|
-
* ```ts
|
|
91
|
-
* import { typography } from "@react-md/core";
|
|
92
|
-
*
|
|
93
|
-
* function Example() {
|
|
94
|
-
* return (
|
|
95
|
-
* <>
|
|
96
|
-
* <h1
|
|
97
|
-
* // only maintain the default margin-bottom
|
|
98
|
-
* className={typography({
|
|
99
|
-
* type: "headline-1",
|
|
100
|
-
* margin: "bottom",
|
|
101
|
-
* })}
|
|
102
|
-
* />
|
|
103
|
-
*
|
|
104
|
-
* <h2
|
|
105
|
-
* // remove all default margin
|
|
106
|
-
* className={typography({
|
|
107
|
-
* type: "headline-2",
|
|
108
|
-
* margin: "none",
|
|
109
|
-
* })}
|
|
110
|
-
* />
|
|
111
|
-
*
|
|
112
|
-
* <h3
|
|
113
|
-
* // only maintain the default margin-top
|
|
114
|
-
* className={typography({
|
|
115
|
-
* type: "headline-3",
|
|
116
|
-
* margin: "top",
|
|
117
|
-
* })}
|
|
118
|
-
* />
|
|
119
|
-
*
|
|
120
|
-
* <p
|
|
121
|
-
* // center the text, set to bold, and only maintain default margin-bottom
|
|
122
|
-
* className={typography({
|
|
123
|
-
* type "subtitle-1",
|
|
124
|
-
* align: "center",
|
|
125
|
-
* margin: "bottom",
|
|
126
|
-
* })}
|
|
127
|
-
* />
|
|
128
|
-
* </>
|
|
129
|
-
* );
|
|
130
|
-
* }
|
|
131
|
-
* ```
|
|
132
|
-
*
|
|
133
|
-
* @see {@link Typography}
|
|
134
|
-
* @param options - An optional object of options used to create the typography
|
|
135
|
-
* class name.
|
|
136
|
-
* @returns a typography class name string
|
|
137
|
-
* @remarks \@since 6.0.0
|
|
138
|
-
*/
|
|
139
|
-
export function typography(
|
|
140
|
-
options: NullableTypographyClassNameOptions = {}
|
|
141
|
-
): string {
|
|
142
|
-
const { type = "body-1" } = options;
|
|
143
|
-
|
|
144
|
-
// using `&&` instead of `bem` since the latest version of typescript does not
|
|
145
|
-
// support setting the same object key (empty string)
|
|
146
|
-
return cnb(
|
|
147
|
-
"rmd-typography",
|
|
148
|
-
type && `rmd-typography--${type}`,
|
|
149
|
-
cssUtils(options)
|
|
150
|
-
);
|
|
151
|
-
}
|
|
7
|
+
import {
|
|
8
|
+
typography,
|
|
9
|
+
type TypographyClassNameOptions,
|
|
10
|
+
type TypographyType,
|
|
11
|
+
} from "./typographyStyles.js";
|
|
152
12
|
|
|
153
13
|
/**
|
|
154
14
|
* A union of the default supported elements that the `Typography` component can
|
|
@@ -2,8 +2,9 @@ import { describe, expect, it } from "@jest/globals";
|
|
|
2
2
|
import { createRef } from "react";
|
|
3
3
|
import { render, screen } from "../../test-utils/index.js";
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { TextContainer } from "../TextContainer.js";
|
|
6
6
|
import { Typography } from "../Typography.js";
|
|
7
|
+
import { textContainer } from "../textContainerStyles.js";
|
|
7
8
|
|
|
8
9
|
describe("TextContainer", () => {
|
|
9
10
|
it("should render correctly and apply the correct class names", () => {
|