@react-md/core 6.3.3 → 6.4.0
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/dist/CoreProviders.d.ts +1 -0
- package/dist/CoreProviders.js.map +1 -1
- package/dist/_base.scss +3 -0
- package/dist/_core.scss +1 -0
- package/dist/_utils.scss +15 -7
- package/dist/app-bar/AppBar.js.map +1 -1
- package/dist/app-bar/AppBarTitle.js.map +1 -1
- package/dist/autocomplete/AutocompleteListboxChildren.js.map +1 -1
- package/dist/autocomplete/types.js.map +1 -1
- package/dist/autocomplete/utils.js.map +1 -1
- package/dist/avatar/Avatar.js.map +1 -1
- package/dist/box/_box.scss +20 -1
- package/dist/box/styles.d.ts +39 -0
- package/dist/box/styles.js +39 -0
- package/dist/box/styles.js.map +1 -1
- package/dist/button/Button.js.map +1 -1
- package/dist/button/FloatingActionButton.js.map +1 -1
- package/dist/card/Card.js.map +1 -1
- package/dist/card/CardContent.js.map +1 -1
- package/dist/card/ClickableCard.js.map +1 -1
- package/dist/chip/Chip.js.map +1 -1
- package/dist/datetime/NativeDateField.js.map +1 -1
- package/dist/datetime/NativeTimeField.js.map +1 -1
- package/dist/datetime/useDateField.js.map +1 -1
- package/dist/datetime/useTimeField.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/divider/Divider.js.map +1 -1
- package/dist/draggable/useDraggable.js.map +1 -1
- package/dist/draggable/utils.js.map +1 -1
- package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
- package/dist/files/FileInput.js.map +1 -1
- package/dist/files/useFileUpload.js.map +1 -1
- package/dist/files/validation.js.map +1 -1
- package/dist/focus/useFocusContainer.js.map +1 -1
- package/dist/form/Fieldset.d.ts +19 -0
- package/dist/form/Fieldset.js +22 -2
- package/dist/form/Fieldset.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/Legend.d.ts +27 -5
- package/dist/form/Legend.js +39 -6
- package/dist/form/Legend.js.map +1 -1
- package/dist/form/Listbox.js.map +1 -1
- package/dist/form/ListboxProvider.js.map +1 -1
- package/dist/form/NativeSelect.js.map +1 -1
- package/dist/form/Password.js.map +1 -1
- package/dist/form/ResizingTextAreaWrapper.js.map +1 -1
- package/dist/form/Select.js.map +1 -1
- package/dist/form/Slider.js.map +1 -1
- package/dist/form/SliderContainer.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/Switch.js.map +1 -1
- package/dist/form/TextArea.js.map +1 -1
- package/dist/form/TextField.js.map +1 -1
- package/dist/form/TextFieldContainer.js.map +1 -1
- package/dist/form/_fieldset.scss +7 -0
- package/dist/form/_legend.scss +68 -0
- package/dist/form/_text-field.scss +39 -4
- package/dist/form/fieldsetStyles.d.ts +6 -1
- package/dist/form/fieldsetStyles.js +3 -2
- package/dist/form/fieldsetStyles.js.map +1 -1
- package/dist/form/inputToggleStyles.js.map +1 -1
- package/dist/form/labelStyles.d.ts +1 -1
- package/dist/form/labelStyles.js +1 -1
- package/dist/form/labelStyles.js.map +1 -1
- package/dist/form/legendStyles.d.ts +83 -0
- package/dist/form/legendStyles.js +25 -0
- package/dist/form/legendStyles.js.map +1 -0
- package/dist/form/selectUtils.js.map +1 -1
- package/dist/form/textFieldContainerStyles.js.map +1 -1
- package/dist/form/types.d.ts +28 -6
- 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/useNumberField.js +16 -19
- package/dist/form/useNumberField.js.map +1 -1
- package/dist/form/useRangeSlider.js.map +1 -1
- package/dist/form/useSlider.js.map +1 -1
- package/dist/form/useTextField.d.ts +1 -1
- package/dist/form/useTextField.js.map +1 -1
- package/dist/hoverMode/useHoverMode.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/config.d.ts +0 -1
- package/dist/icon/config.js +10 -7
- package/dist/icon/config.js.map +1 -1
- package/dist/icon/materialConfig.js.map +1 -1
- package/dist/icon/styles.js.map +1 -1
- package/dist/interaction/UserInteractionModeProvider.js +6 -4
- package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
- package/dist/interaction/types.js.map +1 -1
- package/dist/interaction/useElementInteraction.js.map +1 -1
- package/dist/layout/LayoutAppBar.d.ts +6 -6
- package/dist/layout/LayoutAppBar.js +6 -6
- 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/useExpandableLayout.js +43 -0
- package/dist/layout/useExpandableLayout.js.map +1 -1
- package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
- package/dist/layout/useLayoutTree.js.map +1 -1
- package/dist/layout/useLayoutWindowSplitter.js.map +1 -1
- package/dist/layout/useResizableLayout.js.map +1 -1
- package/dist/link/Link.js.map +1 -1
- package/dist/link/SkipToMainContent.js +19 -21
- package/dist/link/SkipToMainContent.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/ListItemLink.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.d.ts +2 -0
- package/dist/media-queries/AppSizeProvider.js +3 -2
- package/dist/media-queries/AppSizeProvider.js.map +1 -1
- package/dist/media-queries/appSize.d.ts +3 -0
- package/dist/media-queries/appSize.js +3 -1
- package/dist/media-queries/appSize.js.map +1 -1
- package/dist/media-queries/config.d.ts +11 -0
- package/dist/media-queries/config.js +26 -0
- package/dist/media-queries/config.js.map +1 -0
- package/dist/menu/DropdownMenu.js.map +1 -1
- package/dist/menu/Menu.js.map +1 -1
- package/dist/menu/MenuItemButton.js.map +1 -1
- package/dist/menu/MenuItemFileInput.js.map +1 -1
- package/dist/menu/MenuItemInputToggle.js.map +1 -1
- package/dist/menu/MenuItemSeparator.js.map +1 -1
- package/dist/menu/MenuVisibilityProvider.js.map +1 -1
- package/dist/menu/MenuWidget.js.map +1 -1
- package/dist/menu/useContextMenu.js.map +1 -1
- package/dist/movement/types.d.ts +28 -3
- package/dist/movement/types.js.map +1 -1
- package/dist/movement/useKeyboardMovementProvider.js +96 -47
- package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
- package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
- package/dist/navigation/NavItem.js.map +1 -1
- package/dist/navigation/NavItemButton.js.map +1 -1
- package/dist/navigation/NavItemLink.js.map +1 -1
- package/dist/navigation/getTableOfContentsHeadings.js.map +1 -1
- package/dist/navigation/types.js.map +1 -1
- package/dist/overlay/Overlay.js.map +1 -1
- package/dist/positioning/createHorizontalPosition.js.map +1 -1
- package/dist/positioning/createVerticalPosition.js.map +1 -1
- package/dist/positioning/useFixedPositioning.js.map +1 -1
- package/dist/progress/CircularProgress.js.map +1 -1
- package/dist/progress/LinearProgress.js.map +1 -1
- package/dist/progress/linearProgressStyles.js.map +1 -1
- package/dist/responsive-item/ResponsiveItem.js.map +1 -1
- package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
- package/dist/searching/caseInsensitive.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/segmentedButtonStyles.js.map +1 -1
- package/dist/sheet/Sheet.js.map +1 -1
- package/dist/snackbar/Toast.js.map +1 -1
- package/dist/spinbutton/SpinButton.d.ts +16 -0
- package/dist/spinbutton/SpinButton.js +55 -0
- package/dist/spinbutton/SpinButton.js.map +1 -0
- package/dist/spinbutton/SpinButtonGroupProvider.d.ts +17 -0
- package/dist/spinbutton/SpinButtonGroupProvider.js +19 -0
- package/dist/spinbutton/SpinButtonGroupProvider.js.map +1 -0
- package/dist/spinbutton/defaults.d.ts +9 -0
- package/dist/spinbutton/defaults.js +25 -0
- package/dist/spinbutton/defaults.js.map +1 -0
- package/dist/spinbutton/types.d.ts +324 -0
- package/dist/spinbutton/types.js +5 -0
- package/dist/spinbutton/types.js.map +1 -0
- package/dist/spinbutton/useSpinButton.d.ts +5 -0
- package/dist/spinbutton/useSpinButton.js +260 -0
- package/dist/spinbutton/useSpinButton.js.map +1 -0
- package/dist/spinbutton/useSpinButtonGroupProvider.d.ts +27 -0
- package/dist/spinbutton/useSpinButtonGroupProvider.js +49 -0
- package/dist/spinbutton/useSpinButtonGroupProvider.js.map +1 -0
- package/dist/spinbutton/utils/deselectNode.d.ts +5 -0
- package/dist/spinbutton/utils/deselectNode.js +17 -0
- package/dist/spinbutton/utils/deselectNode.js.map +1 -0
- package/dist/spinbutton/utils/resolveInputEvent.d.ts +30 -0
- package/dist/spinbutton/utils/resolveInputEvent.js +53 -0
- package/dist/spinbutton/utils/resolveInputEvent.js.map +1 -0
- package/dist/spinbutton/utils/selectNode.d.ts +5 -0
- package/dist/spinbutton/utils/selectNode.js +15 -0
- package/dist/spinbutton/utils/selectNode.js.map +1 -0
- package/dist/table/StickyTableSection.js.map +1 -1
- package/dist/table/Table.js.map +1 -1
- package/dist/table/TableBody.js.map +1 -1
- package/dist/table/TableCellContent.js.map +1 -1
- package/dist/table/TableCheckbox.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/useStickyTableSection.js.map +1 -1
- package/dist/tabs/SimpleTabPanel.js.map +1 -1
- package/dist/tabs/SimpleTabPanels.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/useMaxTabPanelHeight.js.map +1 -1
- package/dist/test-utils/data-testid.js.map +1 -1
- package/dist/test-utils/mocks/match-media.js +5 -5
- package/dist/test-utils/mocks/match-media.js.map +1 -1
- package/dist/test-utils/vitest/timers.d.ts +1 -1
- package/dist/test-utils/vitest/timers.js +1 -1
- package/dist/test-utils/vitest/timers.js.map +1 -1
- package/dist/tooltip/Tooltip.js.map +1 -1
- package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
- package/dist/tooltip/useTooltip.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/types.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/tree/Tree.js.map +1 -1
- package/dist/tree/TreeItem.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/useTreeMovement.js.map +1 -1
- package/dist/typography/HighlightTextMark.js.map +1 -1
- package/dist/typography/Mark.js.map +1 -1
- package/dist/typography/TextContainer.js.map +1 -1
- package/dist/typography/Typography.js.map +1 -1
- package/dist/typography/_typography.scss +0 -1
- package/dist/useElementSize.js.map +1 -1
- package/dist/useIntersectionObserver.js.map +1 -1
- package/dist/useMutationObserver.js.map +1 -1
- package/dist/useWindowSize.js.map +1 -1
- package/dist/utils/getNumberOfDigits.d.ts +7 -0
- package/dist/utils/getNumberOfDigits.js +11 -0
- package/dist/utils/getNumberOfDigits.js.map +1 -0
- package/dist/utils/nearest.js +2 -1
- package/dist/utils/nearest.js.map +1 -1
- package/dist/utils/useDevEffect.d.ts +7 -0
- package/dist/utils/useDevEffect.js +8 -0
- package/dist/utils/useDevEffect.js.map +1 -0
- package/dist/window-splitter/WindowSplitter.js +3 -2
- package/dist/window-splitter/WindowSplitter.js.map +1 -1
- package/dist/window-splitter/_window-splitter.scss +60 -12
- package/dist/window-splitter/styles.d.ts +9 -0
- package/dist/window-splitter/styles.js +3 -2
- package/dist/window-splitter/styles.js.map +1 -1
- package/dist/window-splitter/useWindowSplitter.js.map +1 -1
- package/package.json +38 -30
- package/src/CoreProviders.tsx +1 -0
- package/src/app-bar/AppBar.tsx +1 -2
- package/src/app-bar/AppBarTitle.tsx +1 -2
- package/src/autocomplete/AutocompleteListboxChildren.tsx +3 -1
- package/src/autocomplete/types.ts +24 -19
- package/src/autocomplete/utils.ts +9 -6
- package/src/avatar/Avatar.tsx +2 -1
- package/src/box/styles.ts +39 -0
- package/src/button/Button.tsx +2 -1
- package/src/button/FloatingActionButton.tsx +2 -1
- package/src/card/Card.tsx +2 -1
- package/src/card/CardContent.tsx +1 -2
- package/src/card/ClickableCard.tsx +1 -2
- package/src/chip/Chip.tsx +2 -1
- package/src/datetime/NativeDateField.tsx +2 -1
- package/src/datetime/NativeTimeField.tsx +2 -1
- package/src/datetime/useDateField.ts +13 -8
- package/src/datetime/useTimeField.ts +13 -8
- package/src/dialog/Dialog.tsx +2 -1
- package/src/dialog/DialogContainer.tsx +1 -2
- package/src/dialog/DialogContent.tsx +1 -2
- package/src/dialog/DialogFooter.tsx +1 -2
- package/src/divider/Divider.tsx +1 -2
- package/src/draggable/useDraggable.ts +4 -4
- package/src/draggable/utils.ts +4 -2
- package/src/expansion-panel/ExpansionPanelHeader.tsx +1 -2
- package/src/files/FileInput.tsx +2 -1
- package/src/files/useFileUpload.ts +6 -6
- package/src/files/validation.ts +1 -2
- package/src/focus/useFocusContainer.ts +4 -4
- package/src/form/Fieldset.tsx +25 -3
- package/src/form/FormMessageContainer.tsx +1 -2
- package/src/form/FormMessageCounter.tsx +1 -2
- package/src/form/InputToggle.tsx +3 -3
- package/src/form/Legend.tsx +55 -10
- package/src/form/Listbox.tsx +1 -2
- package/src/form/ListboxProvider.ts +3 -2
- package/src/form/NativeSelect.tsx +2 -1
- package/src/form/Password.tsx +4 -2
- package/src/form/ResizingTextAreaWrapper.tsx +1 -2
- package/src/form/Select.tsx +2 -1
- package/src/form/Slider.tsx +2 -1
- package/src/form/SliderContainer.tsx +1 -2
- package/src/form/SliderThumb.tsx +6 -3
- package/src/form/SliderTrack.tsx +2 -1
- package/src/form/SliderValueMarks.tsx +1 -2
- package/src/form/Switch.tsx +2 -1
- package/src/form/TextArea.tsx +1 -2
- package/src/form/TextField.tsx +2 -1
- package/src/form/TextFieldContainer.tsx +1 -2
- package/src/form/fieldsetStyles.ts +18 -3
- package/src/form/inputToggleStyles.ts +4 -2
- package/src/form/labelStyles.ts +1 -1
- package/src/form/legendStyles.ts +132 -0
- package/src/form/selectUtils.ts +3 -2
- package/src/form/textFieldContainerStyles.ts +1 -2
- package/src/form/types.ts +35 -17
- package/src/form/useCheckboxGroup.ts +3 -2
- package/src/form/useCombobox.ts +8 -3
- package/src/form/useNumberField.ts +36 -35
- package/src/form/useRangeSlider.ts +1 -2
- package/src/form/useSlider.ts +1 -2
- package/src/form/useTextField.ts +9 -4
- package/src/hoverMode/useHoverMode.ts +4 -8
- package/src/icon/FontIcon.tsx +1 -2
- package/src/icon/IconRotator.tsx +1 -2
- package/src/icon/MaterialIcon.tsx +2 -1
- package/src/icon/MaterialSymbol.tsx +2 -1
- package/src/icon/SVGIcon.tsx +1 -2
- package/src/icon/config.tsx +10 -7
- package/src/icon/materialConfig.ts +1 -2
- package/src/icon/styles.ts +1 -2
- package/src/interaction/UserInteractionModeProvider.tsx +9 -4
- package/src/interaction/types.ts +1 -2
- package/src/interaction/useElementInteraction.tsx +3 -2
- package/src/layout/LayoutAppBar.tsx +6 -6
- package/src/layout/LayoutNav.tsx +2 -1
- package/src/layout/LayoutWindowSplitter.tsx +2 -1
- package/src/layout/Main.tsx +1 -2
- package/src/layout/useExpandableLayout.ts +63 -5
- package/src/layout/useHorizontalLayoutTransition.ts +1 -2
- package/src/layout/useLayoutTree.ts +2 -2
- package/src/layout/useLayoutWindowSplitter.ts +6 -6
- package/src/layout/useResizableLayout.ts +3 -6
- package/src/link/Link.tsx +1 -2
- package/src/link/SkipToMainContent.tsx +20 -23
- package/src/list/List.tsx +1 -2
- package/src/list/ListItem.tsx +2 -1
- package/src/list/ListItemAddon.tsx +2 -1
- package/src/list/ListItemLink.tsx +2 -1
- package/src/list/ListSubheader.tsx +1 -2
- package/src/list/getListItemHeight.ts +8 -9
- package/src/list/listItemStyles.ts +1 -2
- package/src/list/types.ts +1 -2
- package/src/media-queries/AppSizeProvider.tsx +8 -10
- package/src/media-queries/appSize.ts +3 -0
- package/src/media-queries/config.ts +41 -0
- package/src/menu/DropdownMenu.tsx +4 -5
- package/src/menu/Menu.tsx +2 -1
- package/src/menu/MenuItemButton.tsx +1 -2
- package/src/menu/MenuItemFileInput.tsx +2 -1
- package/src/menu/MenuItemInputToggle.tsx +3 -3
- package/src/menu/MenuItemSeparator.tsx +2 -1
- package/src/menu/MenuVisibilityProvider.tsx +4 -2
- package/src/menu/MenuWidget.tsx +1 -2
- package/src/menu/useContextMenu.ts +4 -2
- package/src/movement/types.ts +52 -13
- package/src/movement/useKeyboardMovementProvider.ts +77 -38
- package/src/navigation/CollapsibleNavGroup.tsx +1 -2
- package/src/navigation/NavItem.tsx +1 -2
- package/src/navigation/NavItemButton.tsx +2 -1
- package/src/navigation/NavItemLink.tsx +2 -1
- package/src/navigation/getTableOfContentsHeadings.ts +1 -2
- package/src/navigation/types.ts +1 -2
- package/src/overlay/Overlay.tsx +2 -1
- package/src/positioning/createHorizontalPosition.ts +10 -12
- package/src/positioning/createVerticalPosition.ts +10 -11
- package/src/positioning/useFixedPositioning.ts +6 -3
- package/src/progress/CircularProgress.tsx +2 -1
- package/src/progress/LinearProgress.tsx +2 -1
- package/src/progress/linearProgressStyles.ts +1 -2
- package/src/responsive-item/ResponsiveItem.tsx +1 -2
- package/src/responsive-item/ResponsiveItemOverlay.tsx +2 -1
- package/src/searching/caseInsensitive.ts +2 -4
- package/src/segmented-button/SegmentedButton.tsx +2 -1
- package/src/segmented-button/SegmentedButtonContainer.tsx +2 -1
- package/src/segmented-button/segmentedButtonStyles.ts +1 -2
- package/src/sheet/Sheet.tsx +1 -2
- package/src/snackbar/Toast.tsx +2 -1
- package/src/spinbutton/SpinButton.tsx +98 -0
- package/src/spinbutton/SpinButtonGroupProvider.tsx +32 -0
- package/src/spinbutton/defaults.ts +45 -0
- package/src/spinbutton/types.ts +413 -0
- package/src/spinbutton/useSpinButton.ts +311 -0
- package/src/spinbutton/useSpinButtonGroupProvider.ts +104 -0
- package/src/spinbutton/utils/deselectNode.ts +17 -0
- package/src/spinbutton/utils/resolveInputEvent.ts +112 -0
- package/src/spinbutton/utils/selectNode.ts +15 -0
- package/src/table/StickyTableSection.tsx +2 -1
- package/src/table/Table.tsx +1 -2
- package/src/table/TableBody.tsx +2 -1
- package/src/table/TableCellContent.tsx +1 -2
- package/src/table/TableCheckbox.tsx +1 -2
- package/src/table/TableFooter.tsx +1 -2
- package/src/table/TableHeader.tsx +1 -2
- package/src/table/TableRadio.tsx +1 -2
- package/src/table/TableRow.tsx +1 -2
- package/src/table/useStickyTableSection.tsx +1 -2
- package/src/tabs/SimpleTabPanel.tsx +2 -1
- package/src/tabs/SimpleTabPanels.tsx +2 -1
- package/src/tabs/Tab.tsx +3 -6
- package/src/tabs/TabList.tsx +2 -1
- package/src/tabs/TabListScrollButton.tsx +1 -2
- package/src/tabs/useMaxTabPanelHeight.ts +7 -4
- package/src/test-utils/data-testid.ts +1 -2
- package/src/test-utils/mocks/match-media.ts +5 -10
- package/src/test-utils/vitest/timers.ts +1 -1
- package/src/tooltip/Tooltip.tsx +2 -1
- package/src/tooltip/TooltipHoverModeProvider.tsx +1 -2
- package/src/tooltip/useTooltip.ts +9 -5
- package/src/transition/CSSTransition.tsx +2 -1
- package/src/transition/Collapse.tsx +4 -2
- package/src/transition/CrossFade.tsx +2 -1
- package/src/transition/ScaleTransition.tsx +2 -1
- package/src/transition/SkeletonPlaceholder.tsx +1 -2
- package/src/transition/Slide.tsx +2 -1
- package/src/transition/SlideContainer.tsx +1 -2
- package/src/transition/types.ts +15 -16
- package/src/transition/useCollapseTransition.ts +6 -5
- package/src/transition/useCrossFadeTransition.ts +3 -2
- package/src/transition/useMaxWidthTransition.ts +1 -2
- package/src/transition/useScaleTransition.ts +3 -2
- package/src/transition/useSkeletonPlaceholder.ts +1 -2
- package/src/tree/Tree.tsx +2 -1
- package/src/tree/TreeItem.tsx +2 -1
- package/src/tree/TreeProvider.tsx +4 -4
- package/src/tree/styles.ts +1 -2
- package/src/tree/types.ts +1 -2
- package/src/tree/useTreeMovement.ts +1 -2
- package/src/typography/HighlightTextMark.tsx +1 -2
- package/src/typography/Mark.tsx +1 -2
- package/src/typography/TextContainer.tsx +1 -2
- package/src/typography/Typography.tsx +1 -2
- package/src/useElementSize.ts +7 -4
- package/src/useIntersectionObserver.ts +3 -2
- package/src/useMutationObserver.ts +3 -2
- package/src/useWindowSize.ts +4 -2
- package/src/utils/getNumberOfDigits.ts +18 -0
- package/src/utils/nearest.ts +2 -1
- package/src/utils/useDevEffect.ts +9 -0
- package/src/window-splitter/WindowSplitter.tsx +5 -2
- package/src/window-splitter/styles.ts +13 -2
- package/src/window-splitter/useWindowSplitter.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/window-splitter/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-window-splitter\");\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-window-splitter-size\"?: string | number;\n \"--rmd-window-splitter-background-size\"?: string | number;\n \"--rmd-window-splitter-x\"?: string | number;\n \"--rmd-window-splitter-y\"?: string | number;\n \"--rmd-window-splitter-z\"?: string | number;\n \"--rmd-window-splitter-position\"?: string | number;\n \"--rmd-window-splitter-backgrond-color\"?: string;\n \"--rmd-window-splitter-opacity\"?: string | number;\n }\n}\n\n/**\n * @since 6.3.1\n */\nexport interface BaseWindowSplitterClassNameOptions {\n className?: string;\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 * @since 6.0.0\n * @since 6.3.1 Extends BaseWindowSplitterClassNameOptions\n */\nexport interface WindowSplitterClassNameOptions
|
|
1
|
+
{"version":3,"sources":["../../src/window-splitter/styles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-window-splitter\");\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-window-splitter-size\"?: string | number;\n \"--rmd-window-splitter-background-size\"?: string | number;\n \"--rmd-window-splitter-x\"?: string | number;\n \"--rmd-window-splitter-y\"?: string | number;\n \"--rmd-window-splitter-z\"?: string | number;\n \"--rmd-window-splitter-position\"?: string | number;\n \"--rmd-window-splitter-backgrond-color\"?: string;\n \"--rmd-window-splitter-inactive-backgrond-color\"?: string;\n \"--rmd-window-splitter-opacity\"?: string | number;\n }\n}\n\n/**\n * @since 6.3.1\n */\nexport interface BaseWindowSplitterClassNameOptions {\n className?: string;\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 * Set to `true` to enable a background-color to the `WindowSplitter` even\n * while not being interacted with by the user.\n *\n * @since 6.4.0\n * @defaultValue `false`\n */\n inactiveBackground?: boolean;\n}\n\n/**\n * @since 6.0.0\n * @since 6.3.1 Extends BaseWindowSplitterClassNameOptions\n */\nexport interface WindowSplitterClassNameOptions extends BaseWindowSplitterClassNameOptions {\n dragging?: boolean;\n reversed?: boolean;\n vertical?: boolean;\n}\n\n/**\n * @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 inactiveBackground,\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 \"no-inactive-bg\": !inactiveBackground,\n }),\n className\n );\n}\n"],"names":["cnb","bem","styles","windowSplitter","options","vertical","dragging","reversed","disableFixed","inactiveBackground","className","h","hr","v","vr","a"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAkDnB;;CAEC,GACD,OAAO,SAASE,eACdC,UAA0C,CAAC,CAAC;IAE5C,MAAM,EACJC,WAAW,KAAK,EAChBC,QAAQ,EACRC,QAAQ,EACRC,YAAY,EACZC,kBAAkB,EAClBC,SAAS,EACV,GAAGN;IAEJ,OAAOJ,IACLE,OAAO;QACLS,GAAG,CAACN;QACJO,IAAI,CAACP,YAAYE;QACjBM,GAAGR;QACHS,IAAIT,YAAYE;QAChBQ,GAAGP;QACHF;QACA,kBAAkB,CAACG;IACrB,IACAC;AAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/window-splitter/useWindowSplitter.ts"],"sourcesContent":["\"use client\";\n\nimport { type Ref, type RefCallback } from \"react\";\n\nimport {\n type BaseDraggableOptions,\n type DraggableImplementation,\n type DraggableKeyboardEventHandlers,\n type DraggableMouseEventHandlers,\n type DraggableStateOptions,\n type DraggableTouchEventHandlers,\n useDraggable,\n} from \"../draggable/useDraggable.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\n\n/**\n * @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 * @since 6.0.0\n */\nexport type WindowSplitterOptions<E extends HTMLElement = HTMLButtonElement> =\n BaseWindowSplitterOptions<E> & DraggableStateOptions;\n\n/**\n * @since 6.0.0\n */\nexport interface WindowSplitterWidgetProps<\n E extends HTMLElement = HTMLButtonElement,\n
|
|
1
|
+
{"version":3,"sources":["../../src/window-splitter/useWindowSplitter.ts"],"sourcesContent":["\"use client\";\n\nimport { type Ref, type RefCallback } from \"react\";\n\nimport {\n type BaseDraggableOptions,\n type DraggableImplementation,\n type DraggableKeyboardEventHandlers,\n type DraggableMouseEventHandlers,\n type DraggableStateOptions,\n type DraggableTouchEventHandlers,\n useDraggable,\n} from \"../draggable/useDraggable.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\n\n/**\n * @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 * @since 6.0.0\n */\nexport type WindowSplitterOptions<E extends HTMLElement = HTMLButtonElement> =\n BaseWindowSplitterOptions<E> & DraggableStateOptions;\n\n/**\n * @since 6.0.0\n */\nexport interface WindowSplitterWidgetProps<\n E extends HTMLElement = HTMLButtonElement,\n>\n extends\n 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 * @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 Custom Implementation\n * ```tsx\n * import {\n * useWindowSplitter,\n * type WindowSplitterImplementation\n * } from \"@react-md/core/window-splitter/useWindowSplitter\";\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 * @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;AAIA,SAOEA,YAAY,QACP,+BAA+B;AACtC,SAASC,YAAY,QAAQ,qBAAqB;AAyDlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCC,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": "6.
|
|
3
|
+
"version": "6.4.0",
|
|
4
4
|
"description": "The core components and functionality for react-md.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sass": "./dist/_core.scss",
|
|
@@ -78,44 +78,45 @@
|
|
|
78
78
|
"remove-accents": "^0.5.0"
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
81
|
-
"@jest/globals": "^
|
|
82
|
-
"@jest/types": "^
|
|
83
|
-
"@microsoft/api-extractor": "^7.
|
|
84
|
-
"@swc/cli": "^0.
|
|
85
|
-
"@swc/core": "^1.
|
|
86
|
-
"@swc/jest": "^0.2.39",
|
|
81
|
+
"@jest/globals": "^30.2.0",
|
|
82
|
+
"@jest/types": "^30.2.0",
|
|
83
|
+
"@microsoft/api-extractor": "^7.55.1",
|
|
84
|
+
"@swc/cli": "^0.7.9",
|
|
85
|
+
"@swc/core": "^1.15.3",
|
|
87
86
|
"@testing-library/dom": "^10.4.1",
|
|
88
|
-
"@testing-library/jest-dom": "^6.
|
|
87
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
89
88
|
"@testing-library/react": "^16.3.0",
|
|
90
89
|
"@testing-library/user-event": "^14.6.1",
|
|
91
|
-
"@trivago/prettier-plugin-sort-imports": "^
|
|
92
|
-
"@types/lodash": "^4.17.
|
|
93
|
-
"@types/node": "^
|
|
94
|
-
"@types/react": "^18.3.
|
|
95
|
-
"@types/react-dom": "^18.3.
|
|
96
|
-
"
|
|
97
|
-
"
|
|
90
|
+
"@trivago/prettier-plugin-sort-imports": "^6.0.0",
|
|
91
|
+
"@types/lodash": "^4.17.21",
|
|
92
|
+
"@types/node": "^24.10.1",
|
|
93
|
+
"@types/react": "^18.3.27",
|
|
94
|
+
"@types/react-dom": "^18.3.7",
|
|
95
|
+
"@vitejs/plugin-react-swc": "^4.2.2",
|
|
96
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
97
|
+
"chokidar": "^5.0.0",
|
|
98
|
+
"eslint": "^9.39.1",
|
|
98
99
|
"filesize": "^11.0.13",
|
|
99
|
-
"glob": "
|
|
100
|
-
"
|
|
101
|
-
"jest-environment-jsdom": "^29.7.0",
|
|
102
|
-
"jest-watch-typeahead": "^2.2.2",
|
|
100
|
+
"glob": "13.0.0",
|
|
101
|
+
"jsdom": "^27.2.0",
|
|
103
102
|
"lodash": "^4.17.21",
|
|
104
103
|
"lz-string": "^1.5.0",
|
|
105
|
-
"npm-run-
|
|
106
|
-
"prettier": "^3.
|
|
107
|
-
"
|
|
108
|
-
"
|
|
104
|
+
"npm-run-all2": "^8.0.2",
|
|
105
|
+
"prettier": "^3.7.4",
|
|
106
|
+
"react": "^18.3.1",
|
|
107
|
+
"react-dom": "^18.3.1",
|
|
108
|
+
"stylelint": "^16.26.1",
|
|
109
|
+
"ts-morph": "^27.0.2",
|
|
109
110
|
"ts-node": "^10.9.2",
|
|
110
|
-
"tsx": "^4.
|
|
111
|
-
"typescript": "^5.
|
|
111
|
+
"tsx": "^4.21.0",
|
|
112
|
+
"typescript": "^5.9.3",
|
|
112
113
|
"vitest": "^3.2.4",
|
|
113
114
|
"@react-md/eslint-config": "1.0.0",
|
|
114
115
|
"@react-md/stylelint-config": "1.0.0"
|
|
115
116
|
},
|
|
116
117
|
"peerDependencies": {
|
|
117
|
-
"@jest/globals": ">= 29 <=
|
|
118
|
-
"@jest/types": ">= 29 <=
|
|
118
|
+
"@jest/globals": ">= 29 <=31",
|
|
119
|
+
"@jest/types": ">= 29 <=31",
|
|
119
120
|
"@testing-library/dom": ">= 9",
|
|
120
121
|
"@testing-library/jest-dom": ">= 6",
|
|
121
122
|
"@testing-library/react": ">= 14",
|
|
@@ -157,8 +158,8 @@
|
|
|
157
158
|
"access": "public"
|
|
158
159
|
},
|
|
159
160
|
"volta": {
|
|
160
|
-
"node": "
|
|
161
|
-
"pnpm": "10.
|
|
161
|
+
"node": "24.11.1",
|
|
162
|
+
"pnpm": "10.24.0"
|
|
162
163
|
},
|
|
163
164
|
"scripts": {
|
|
164
165
|
"run-script": "tsx --tsconfig scripts/tsconfig.json",
|
|
@@ -176,9 +177,16 @@
|
|
|
176
177
|
"clean-dist": "rm -rf dist",
|
|
177
178
|
"clean": "rm -rf .turbo dist node_modules",
|
|
178
179
|
"typecheck": "tsc --noEmit",
|
|
180
|
+
"check-format": "prettier --check .",
|
|
181
|
+
"format": "prettier --write .",
|
|
179
182
|
"lint-scripts": "eslint \"src/**/*.{ts,tsx,js,jsx,cjs,mjs}\"",
|
|
180
183
|
"lint-styles": "stylelint \"src/**/*.{css,scss}\"",
|
|
181
184
|
"lint": "npm-run-all lint-scripts lint-styles",
|
|
182
|
-
"
|
|
185
|
+
"lint-fix": "npm-run-all \"lint-scripts --fix\" \"lint-styles --fix\"",
|
|
186
|
+
"test": "vitest",
|
|
187
|
+
"test-run": "vitest run",
|
|
188
|
+
"test-coverage": "vitest --coverage",
|
|
189
|
+
"test-run-coverage": "pnpm test-run --coverage",
|
|
190
|
+
"test-run-snapshot": "pnpm test-run -u"
|
|
183
191
|
}
|
|
184
192
|
}
|
package/src/CoreProviders.tsx
CHANGED
package/src/app-bar/AppBar.tsx
CHANGED
|
@@ -27,8 +27,7 @@ export type CustomAppBarComponent = ElementType<
|
|
|
27
27
|
* @since 6.0.0 Added the {@link stacked} and {@link scrollbarOffset} props.
|
|
28
28
|
*/
|
|
29
29
|
export interface AppBarProps
|
|
30
|
-
extends HTMLAttributes<HTMLDivElement>,
|
|
31
|
-
AppBarClassNameOptions {
|
|
30
|
+
extends HTMLAttributes<HTMLDivElement>, AppBarClassNameOptions {
|
|
32
31
|
/** @defaultValue `fixed ? "header" : "div"` */
|
|
33
32
|
as?: CustomAppBarComponent;
|
|
34
33
|
}
|
|
@@ -13,8 +13,7 @@ import { type AppBarTitleClassNameOptions, appBarTitle } from "./styles.js";
|
|
|
13
13
|
* will default to `"ellipsis"` which is new as well.
|
|
14
14
|
*/
|
|
15
15
|
export interface AppBarTitleProps
|
|
16
|
-
extends TypographyProps,
|
|
17
|
-
AppBarTitleClassNameOptions {
|
|
16
|
+
extends TypographyProps, AppBarTitleClassNameOptions {
|
|
18
17
|
/** @defaultValue `"headline-6"` */
|
|
19
18
|
type?: TypographyType;
|
|
20
19
|
|
|
@@ -16,7 +16,9 @@ import {
|
|
|
16
16
|
*/
|
|
17
17
|
export interface AutocompleteListboxChildrenProps<
|
|
18
18
|
Option extends AutocompleteOption,
|
|
19
|
-
>
|
|
19
|
+
>
|
|
20
|
+
extends
|
|
21
|
+
Required<AutocompleteGetOptionProps<Option>>,
|
|
20
22
|
Required<AutocompleteGetOptionLabel<Option>> {
|
|
21
23
|
query: string;
|
|
22
24
|
options: readonly Option[];
|
|
@@ -301,8 +301,9 @@ export type AutocompleteOptionLabelExtractor<
|
|
|
301
301
|
/**
|
|
302
302
|
* @since 6.0.0
|
|
303
303
|
*/
|
|
304
|
-
export interface AutocompleteFilteringOptions<
|
|
305
|
-
extends
|
|
304
|
+
export interface AutocompleteFilteringOptions<
|
|
305
|
+
Option extends AutocompleteOption,
|
|
306
|
+
> extends AutocompleteGetOptionLabel<Option> {
|
|
306
307
|
/**
|
|
307
308
|
* The list of options that can be shown within the autocomplete and filtered
|
|
308
309
|
* based on the current query.
|
|
@@ -390,7 +391,9 @@ export interface AutocompleteFilteringOptions<Option extends AutocompleteOption>
|
|
|
390
391
|
*/
|
|
391
392
|
export interface AutocompleteFilterAndListboxOptions<
|
|
392
393
|
Option extends AutocompleteOption,
|
|
393
|
-
>
|
|
394
|
+
>
|
|
395
|
+
extends
|
|
396
|
+
AutocompleteFilteringOptions<Option>,
|
|
394
397
|
AutocompleteGetOptionProps<Option>,
|
|
395
398
|
OptionSelectedIconProps {
|
|
396
399
|
/**
|
|
@@ -429,7 +432,9 @@ export interface AutocompleteEditableComboboxOptions<
|
|
|
429
432
|
Option extends AutocompleteOption,
|
|
430
433
|
ComboboxEl extends EditableHTMLElement = HTMLInputElement,
|
|
431
434
|
PopupEl extends HTMLElement = HTMLElement,
|
|
432
|
-
>
|
|
435
|
+
>
|
|
436
|
+
extends
|
|
437
|
+
EditableComboboxOptions<ComboboxEl, PopupEl>,
|
|
433
438
|
AutocompleteFilterAndListboxOptions<Option> {
|
|
434
439
|
onBlur?: FocusEventHandler<ComboboxEl>;
|
|
435
440
|
onChange?: ChangeEventHandler<ComboboxEl>;
|
|
@@ -481,7 +486,9 @@ export interface AutocompleteOptions<
|
|
|
481
486
|
Option extends AutocompleteOption,
|
|
482
487
|
ComboboxEl extends EditableHTMLElement = HTMLInputElement,
|
|
483
488
|
PopupEl extends HTMLElement = HTMLElement,
|
|
484
|
-
>
|
|
489
|
+
>
|
|
490
|
+
extends
|
|
491
|
+
AutocompleteEditableComboboxOptions<Option, ComboboxEl, PopupEl>,
|
|
485
492
|
AutocompleteUnknownQueryAndValueOptions<Option> {}
|
|
486
493
|
|
|
487
494
|
/**
|
|
@@ -502,8 +509,8 @@ export interface AutocompleteComboboxProps<
|
|
|
502
509
|
export interface AutocompleteListboxProps<
|
|
503
510
|
T extends AutocompleteOption = AutocompleteOption,
|
|
504
511
|
PopupEl extends HTMLElement = HTMLElement,
|
|
505
|
-
>
|
|
506
|
-
|
|
512
|
+
>
|
|
513
|
+
extends Omit<ComboboxMenuProps<PopupEl>, "ref">, OptionSelectedIconProps {
|
|
507
514
|
value: T | null | readonly T[];
|
|
508
515
|
setValue: Dispatch<T>;
|
|
509
516
|
onEnter: (appearing: boolean) => void;
|
|
@@ -513,8 +520,7 @@ export interface AutocompleteListboxProps<
|
|
|
513
520
|
* @since 6.0.0
|
|
514
521
|
*/
|
|
515
522
|
export interface ConfigurableAutocompleteListboxProps
|
|
516
|
-
extends ConfigurableComboboxMenuProps,
|
|
517
|
-
OptionSelectedIconProps {
|
|
523
|
+
extends ConfigurableComboboxMenuProps, OptionSelectedIconProps {
|
|
518
524
|
id?: string;
|
|
519
525
|
}
|
|
520
526
|
|
|
@@ -550,16 +556,14 @@ export interface ConfigurableAutocompleteClearButtonProps extends ButtonProps {
|
|
|
550
556
|
* @internal
|
|
551
557
|
* @since 6.0.0
|
|
552
558
|
*/
|
|
553
|
-
export interface AutocompleteClearButtonProps
|
|
554
|
-
extends ConfigurableAutocompleteClearButtonProps {
|
|
559
|
+
export interface AutocompleteClearButtonProps extends ConfigurableAutocompleteClearButtonProps {
|
|
555
560
|
onClick: MouseEventHandler<HTMLButtonElement>;
|
|
556
561
|
}
|
|
557
562
|
|
|
558
563
|
/**
|
|
559
564
|
* @since 6.0.0
|
|
560
565
|
*/
|
|
561
|
-
export interface ConfigurableAutocompleteDropdownButtonProps
|
|
562
|
-
extends ButtonProps {
|
|
566
|
+
export interface ConfigurableAutocompleteDropdownButtonProps extends ButtonProps {
|
|
563
567
|
/** @defaultValue `AutocompleteProps.listboxLabel` */
|
|
564
568
|
"aria-label"?: string;
|
|
565
569
|
/** @defaultValue `AutocompleteProps.listboxLabelledby` */
|
|
@@ -576,8 +580,7 @@ export interface ConfigurableAutocompleteDropdownButtonProps
|
|
|
576
580
|
/**
|
|
577
581
|
* @since 6.0.0
|
|
578
582
|
*/
|
|
579
|
-
export interface AutocompleteDropdownButtonProps
|
|
580
|
-
extends ConfigurableAutocompleteDropdownButtonProps {
|
|
583
|
+
export interface AutocompleteDropdownButtonProps extends ConfigurableAutocompleteDropdownButtonProps {
|
|
581
584
|
"aria-controls": string;
|
|
582
585
|
onClick: MouseEventHandler<HTMLButtonElement>;
|
|
583
586
|
visible: boolean;
|
|
@@ -586,8 +589,7 @@ export interface AutocompleteDropdownButtonProps
|
|
|
586
589
|
/**
|
|
587
590
|
* @since 6.0.0
|
|
588
591
|
*/
|
|
589
|
-
export interface AutocompleteCircularProgressProps
|
|
590
|
-
extends CircularProgressProps {
|
|
592
|
+
export interface AutocompleteCircularProgressProps extends CircularProgressProps {
|
|
591
593
|
/** @defaultValue `"Loading"` */
|
|
592
594
|
"aria-label"?: string;
|
|
593
595
|
|
|
@@ -616,7 +618,9 @@ export interface AutocompleteWithQueryImplementation<
|
|
|
616
618
|
Option extends AutocompleteOption,
|
|
617
619
|
ComboboxEl extends EditableHTMLElement = HTMLInputElement,
|
|
618
620
|
PopupEl extends HTMLElement = HTMLElement,
|
|
619
|
-
>
|
|
621
|
+
>
|
|
622
|
+
extends
|
|
623
|
+
EditableComboboxImplementation<ComboboxEl, PopupEl>,
|
|
620
624
|
Required<AutocompleteGetOptionProps<Option>>,
|
|
621
625
|
Required<AutocompleteGetOptionLabel<Option>> {
|
|
622
626
|
query: string;
|
|
@@ -700,7 +704,8 @@ export interface AutocompleteImplementation<
|
|
|
700
704
|
* @since 6.0.0
|
|
701
705
|
*/
|
|
702
706
|
export interface AutocompleteBaseProps<Option extends AutocompleteOption>
|
|
703
|
-
extends
|
|
707
|
+
extends
|
|
708
|
+
Omit<TextFieldProps, "value" | "defaultValue">,
|
|
704
709
|
AutocompleteFilterAndListboxOptions<Option>,
|
|
705
710
|
ComboboxVisibilityOptions {
|
|
706
711
|
inputRef?: Ref<HTMLInputElement>;
|
|
@@ -16,8 +16,9 @@ import {
|
|
|
16
16
|
* @since 6.0.0
|
|
17
17
|
* @internal
|
|
18
18
|
*/
|
|
19
|
-
export interface GetDefaultValueOptions<
|
|
20
|
-
extends
|
|
19
|
+
export interface GetDefaultValueOptions<
|
|
20
|
+
Option extends AutocompleteOption,
|
|
21
|
+
> extends Required<AutocompleteGetOptionLabel<Option>> {
|
|
21
22
|
query: string | undefined;
|
|
22
23
|
multiselect?: boolean;
|
|
23
24
|
defaultQuery: UseStateInitializer<string> | undefined;
|
|
@@ -86,8 +87,9 @@ export function getDefaultValue<Option extends AutocompleteOption>(
|
|
|
86
87
|
* @since 6.0.0
|
|
87
88
|
* @internal
|
|
88
89
|
*/
|
|
89
|
-
interface GetDefaultQueryOptions<
|
|
90
|
-
extends
|
|
90
|
+
interface GetDefaultQueryOptions<
|
|
91
|
+
Option extends AutocompleteOption,
|
|
92
|
+
> extends Required<AutocompleteGetOptionLabel<Option>> {
|
|
91
93
|
value: Option | null | readonly Option[];
|
|
92
94
|
defaultQuery?: UseStateInitializer<string>;
|
|
93
95
|
}
|
|
@@ -122,8 +124,9 @@ export function getDefaultQuery<Option extends AutocompleteOption>(
|
|
|
122
124
|
* @since 6.0.0
|
|
123
125
|
* @internal
|
|
124
126
|
*/
|
|
125
|
-
export interface EnforceSelectedValueOptions<
|
|
126
|
-
extends
|
|
127
|
+
export interface EnforceSelectedValueOptions<
|
|
128
|
+
Option extends AutocompleteOption,
|
|
129
|
+
> extends Required<AutocompleteGetOptionLabel<Option>> {
|
|
127
130
|
value: Option | readonly Option[] | null;
|
|
128
131
|
visible: boolean;
|
|
129
132
|
container: HTMLElement | null;
|
package/src/avatar/Avatar.tsx
CHANGED
|
@@ -15,7 +15,8 @@ export type AvatarImgAttributes = ImgHTMLAttributes<HTMLImageElement>;
|
|
|
15
15
|
* the `role="presentation"`.
|
|
16
16
|
*/
|
|
17
17
|
export interface AvatarProps
|
|
18
|
-
extends
|
|
18
|
+
extends
|
|
19
|
+
Omit<HTMLAttributes<HTMLSpanElement>, "color">,
|
|
19
20
|
AvatarClassNameOptions {
|
|
20
21
|
/**
|
|
21
22
|
* Since avatars are normally presentational data, they are hidden from screen
|
package/src/box/styles.ts
CHANGED
|
@@ -254,6 +254,20 @@ export interface BoxOptions {
|
|
|
254
254
|
}
|
|
255
255
|
|
|
256
256
|
/**
|
|
257
|
+
* Applies the `className` from the `Box` component to any element.
|
|
258
|
+
*
|
|
259
|
+
* @example Simple Example
|
|
260
|
+
* ```tsx
|
|
261
|
+
* return (
|
|
262
|
+
* <form className={box({ stacked: true})}>
|
|
263
|
+
* {children}
|
|
264
|
+
* </form>
|
|
265
|
+
* );
|
|
266
|
+
* ```
|
|
267
|
+
*
|
|
268
|
+
* If custom media query breakpoints are required, use the {@link boxStyles}
|
|
269
|
+
* function instead which will also set the CSS variables.
|
|
270
|
+
*
|
|
257
271
|
* @see {@link boxStyles}
|
|
258
272
|
* @since 6.0.0
|
|
259
273
|
*/
|
|
@@ -442,6 +456,31 @@ export interface BoxStylesOptions extends BoxOptions {
|
|
|
442
456
|
}
|
|
443
457
|
|
|
444
458
|
/**
|
|
459
|
+
* Used to apply the styles from the `Box` component to any element by
|
|
460
|
+
* providing a `style` object with CSS variables and a `className`.
|
|
461
|
+
*
|
|
462
|
+
* If you do not need to use
|
|
463
|
+
*
|
|
464
|
+
* @example Simple Example
|
|
465
|
+
* ```tsx
|
|
466
|
+
* return (
|
|
467
|
+
* <form
|
|
468
|
+
* {...boxStyles({
|
|
469
|
+
* grid: true,
|
|
470
|
+
* gridColumns: {
|
|
471
|
+
* phone: 1,
|
|
472
|
+
* desktop: 3,
|
|
473
|
+
* },
|
|
474
|
+
* gridItemSize: {
|
|
475
|
+
* tablet: "12rem",
|
|
476
|
+
* },
|
|
477
|
+
* })}
|
|
478
|
+
* >
|
|
479
|
+
* {children}
|
|
480
|
+
* </form>
|
|
481
|
+
* );
|
|
482
|
+
* ```
|
|
483
|
+
*
|
|
445
484
|
* @see {@link box}
|
|
446
485
|
* @since 6.0.0
|
|
447
486
|
*/
|
package/src/button/Button.tsx
CHANGED
|
@@ -14,7 +14,8 @@ import {
|
|
|
14
14
|
import { type ButtonClassNameThemeOptions, button } from "./styles.js";
|
|
15
15
|
|
|
16
16
|
export interface ButtonProps
|
|
17
|
-
extends
|
|
17
|
+
extends
|
|
18
|
+
ButtonHTMLAttributes<HTMLButtonElement>,
|
|
18
19
|
ButtonClassNameThemeOptions,
|
|
19
20
|
ComponentWithRippleProps {
|
|
20
21
|
/** @defaultValue `"button"` */
|
|
@@ -62,7 +62,8 @@ export function fab(options: FloatingActionButtonClassNameOptions): string {
|
|
|
62
62
|
|
|
63
63
|
/** @since 6.0.0 */
|
|
64
64
|
export interface FloatingActionButtonProps
|
|
65
|
-
extends
|
|
65
|
+
extends
|
|
66
|
+
HTMLAttributes<HTMLSpanElement>,
|
|
66
67
|
FloatingActionButtonClassNameOptions {}
|
|
67
68
|
|
|
68
69
|
/**
|
package/src/card/Card.tsx
CHANGED
|
@@ -9,7 +9,8 @@ import { type CardClassNameOptions, card } from "./styles.js";
|
|
|
9
9
|
* deprecated `raiseable` prop
|
|
10
10
|
*/
|
|
11
11
|
export interface CardProps
|
|
12
|
-
extends
|
|
12
|
+
extends
|
|
13
|
+
HTMLAttributes<HTMLDivElement>,
|
|
13
14
|
CardClassNameOptions,
|
|
14
15
|
Pick<BoxOptions, "align" | "justify" | "fullWidth" | "disableWrap"> {
|
|
15
16
|
/** @defaultValue `"stretch"` */
|
package/src/card/CardContent.tsx
CHANGED
|
@@ -7,8 +7,7 @@ import { type CardContentClassNameOptions, cardContent } from "./styles.js";
|
|
|
7
7
|
* removed the `disableParagraphMargin` prop.
|
|
8
8
|
*/
|
|
9
9
|
export interface CardContentProps
|
|
10
|
-
extends HTMLAttributes<HTMLDivElement>,
|
|
11
|
-
CardContentClassNameOptions {}
|
|
10
|
+
extends HTMLAttributes<HTMLDivElement>, CardContentClassNameOptions {}
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* @see {@link https://react-md.dev/components/card | Card Demos}
|
package/src/chip/Chip.tsx
CHANGED
|
@@ -28,7 +28,8 @@ import { type ChipTheme, chip, chipContent } from "./styles.js";
|
|
|
28
28
|
* augmentation.
|
|
29
29
|
*/
|
|
30
30
|
export interface ChipProps
|
|
31
|
-
extends
|
|
31
|
+
extends
|
|
32
|
+
ButtonHTMLAttributes<HTMLButtonElement>,
|
|
32
33
|
BaseMaxWidthTransitionOptions,
|
|
33
34
|
ComponentWithRippleProps {
|
|
34
35
|
/**
|
|
@@ -7,7 +7,8 @@ import { type DateFieldOptions, useDateField } from "./useDateField.js";
|
|
|
7
7
|
|
|
8
8
|
/** @since 6.3.0 */
|
|
9
9
|
export interface NativeDateFieldProps
|
|
10
|
-
extends
|
|
10
|
+
extends
|
|
11
|
+
Omit<TextFieldProps, keyof DateFieldOptions | "value">,
|
|
11
12
|
Omit<DateFieldOptions, "ref"> {}
|
|
12
13
|
|
|
13
14
|
/**
|
|
@@ -9,7 +9,8 @@ import { type TimeFieldOptions, useTimeField } from "./useTimeField.js";
|
|
|
9
9
|
* @since 6.3.0
|
|
10
10
|
*/
|
|
11
11
|
export interface NativeTimeFieldProps
|
|
12
|
-
extends
|
|
12
|
+
extends
|
|
13
|
+
Omit<TextFieldProps, keyof TimeFieldOptions | "value">,
|
|
13
14
|
Omit<TimeFieldOptions, "ref"> {}
|
|
14
15
|
|
|
15
16
|
/**
|
|
@@ -42,7 +42,8 @@ export interface DateFieldConstraints {
|
|
|
42
42
|
|
|
43
43
|
/** @since 6.3.0 */
|
|
44
44
|
export interface DateFieldOptions
|
|
45
|
-
extends
|
|
45
|
+
extends
|
|
46
|
+
Omit<
|
|
46
47
|
TextFieldHookOptions,
|
|
47
48
|
| "isNumber"
|
|
48
49
|
| "counter"
|
|
@@ -55,7 +56,8 @@ export interface DateFieldOptions
|
|
|
55
56
|
|
|
56
57
|
/** @since 6.3.0 */
|
|
57
58
|
export interface ProvidedDateFieldProps
|
|
58
|
-
extends
|
|
59
|
+
extends
|
|
60
|
+
Omit<ProvidedTextFieldProps, "value">,
|
|
59
61
|
Omit<DateFieldConstraints, "step"> {
|
|
60
62
|
type: "date";
|
|
61
63
|
step?: number | "any";
|
|
@@ -72,20 +74,23 @@ export interface ProvidedDateFieldMessageProps extends ProvidedDateFieldProps {
|
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
/** @since 6.3.0 */
|
|
75
|
-
export interface DateFieldImplementation
|
|
76
|
-
|
|
77
|
+
export interface DateFieldImplementation extends Omit<
|
|
78
|
+
TextFieldImplementation,
|
|
79
|
+
"fieldProps"
|
|
80
|
+
> {
|
|
77
81
|
fieldProps: ProvidedDateFieldProps;
|
|
78
82
|
}
|
|
79
83
|
|
|
80
84
|
/** @since 6.3.0 */
|
|
81
|
-
export interface DateFieldWithMessageImplementation
|
|
82
|
-
|
|
85
|
+
export interface DateFieldWithMessageImplementation extends Omit<
|
|
86
|
+
TextFieldWithMessageImplementation,
|
|
87
|
+
"fieldProps"
|
|
88
|
+
> {
|
|
83
89
|
fieldProps: ProvidedDateFieldMessageProps;
|
|
84
90
|
}
|
|
85
91
|
|
|
86
92
|
/** @since 6.3.0 */
|
|
87
|
-
export interface ValidatedDateFieldImplementation
|
|
88
|
-
extends DateFieldImplementation {
|
|
93
|
+
export interface ValidatedDateFieldImplementation extends DateFieldImplementation {
|
|
89
94
|
fieldProps: ProvidedDateFieldProps | ProvidedDateFieldMessageProps;
|
|
90
95
|
}
|
|
91
96
|
|
|
@@ -69,7 +69,8 @@ export interface TimeFieldConstraints {
|
|
|
69
69
|
|
|
70
70
|
/** @since 6.3.0 */
|
|
71
71
|
export interface TimeFieldOptions
|
|
72
|
-
extends
|
|
72
|
+
extends
|
|
73
|
+
Omit<
|
|
73
74
|
TextFieldHookOptions,
|
|
74
75
|
| "isNumber"
|
|
75
76
|
| "counter"
|
|
@@ -82,7 +83,8 @@ export interface TimeFieldOptions
|
|
|
82
83
|
|
|
83
84
|
/** @since 6.3.0 */
|
|
84
85
|
export interface ProvidedTimeFieldProps
|
|
85
|
-
extends
|
|
86
|
+
extends
|
|
87
|
+
Omit<ProvidedTextFieldProps, "value">,
|
|
86
88
|
Omit<TimeFieldConstraints, "step"> {
|
|
87
89
|
type: "time";
|
|
88
90
|
step?: number | "any";
|
|
@@ -99,20 +101,23 @@ export interface ProvidedTimeFieldMessageProps extends ProvidedTimeFieldProps {
|
|
|
99
101
|
}
|
|
100
102
|
|
|
101
103
|
/** @since 6.3.0 */
|
|
102
|
-
export interface TimeFieldImplementation
|
|
103
|
-
|
|
104
|
+
export interface TimeFieldImplementation extends Omit<
|
|
105
|
+
TextFieldImplementation,
|
|
106
|
+
"fieldProps"
|
|
107
|
+
> {
|
|
104
108
|
fieldProps: ProvidedTimeFieldProps;
|
|
105
109
|
}
|
|
106
110
|
|
|
107
111
|
/** @since 6.3.0 */
|
|
108
|
-
export interface TimeFieldWithMessageImplementation
|
|
109
|
-
|
|
112
|
+
export interface TimeFieldWithMessageImplementation extends Omit<
|
|
113
|
+
TextFieldWithMessageImplementation,
|
|
114
|
+
"fieldProps"
|
|
115
|
+
> {
|
|
110
116
|
fieldProps: ProvidedTimeFieldMessageProps;
|
|
111
117
|
}
|
|
112
118
|
|
|
113
119
|
/** @since 6.3.0 */
|
|
114
|
-
export interface ValidatedTimeFieldImplementation
|
|
115
|
-
extends TimeFieldImplementation {
|
|
120
|
+
export interface ValidatedTimeFieldImplementation extends TimeFieldImplementation {
|
|
116
121
|
fieldProps: ProvidedTimeFieldProps | ProvidedTimeFieldMessageProps;
|
|
117
122
|
}
|
|
118
123
|
|
package/src/dialog/Dialog.tsx
CHANGED
|
@@ -42,7 +42,8 @@ const noop = (): void => {
|
|
|
42
42
|
const noopBool = (): boolean => false;
|
|
43
43
|
|
|
44
44
|
export interface BaseDialogProps
|
|
45
|
-
extends
|
|
45
|
+
extends
|
|
46
|
+
HTMLAttributes<HTMLDivElement>,
|
|
46
47
|
CSSTransitionComponentProps,
|
|
47
48
|
TransitionActions,
|
|
48
49
|
FocusContainerComponentProps {
|
|
@@ -5,8 +5,7 @@ import { dialogContainer } from "./styles.js";
|
|
|
5
5
|
/**
|
|
6
6
|
* @since 6.0.0
|
|
7
7
|
*/
|
|
8
|
-
export interface ConfigurableDialogContainerProps
|
|
9
|
-
extends HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
export interface ConfigurableDialogContainerProps extends HTMLAttributes<HTMLDivElement> {
|
|
10
9
|
/**
|
|
11
10
|
* Set to `true` to force the `Dialog` to be wrapped in a `DialogContainer`
|
|
12
11
|
* div. This defaults to `true` for `type !== "custom"`.
|
|
@@ -3,8 +3,7 @@ import { type HTMLAttributes, forwardRef } from "react";
|
|
|
3
3
|
import { type DialogContentClassNameOptions, dialogContent } from "./styles.js";
|
|
4
4
|
|
|
5
5
|
export interface DialogContentProps
|
|
6
|
-
extends HTMLAttributes<HTMLDivElement>,
|
|
7
|
-
DialogContentClassNameOptions {}
|
|
6
|
+
extends HTMLAttributes<HTMLDivElement>, DialogContentClassNameOptions {}
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* The `DialogContent` component should be used as a child of the `Dialog`
|
|
@@ -3,8 +3,7 @@ import { type HTMLAttributes, forwardRef } from "react";
|
|
|
3
3
|
import { type DialogFooterClassNameOptions, dialogFooter } from "./styles.js";
|
|
4
4
|
|
|
5
5
|
export interface DialogFooterProps
|
|
6
|
-
extends HTMLAttributes<HTMLDivElement>,
|
|
7
|
-
DialogFooterClassNameOptions {}
|
|
6
|
+
extends HTMLAttributes<HTMLDivElement>, DialogFooterClassNameOptions {}
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* The `DialogFooter` is a simple `<footer>` with simple `display: flex` styles
|