@react-md/core 6.3.4 → 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/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.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 +37 -29
- 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/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 +8 -3
- 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
|
@@ -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/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
|
package/src/divider/Divider.tsx
CHANGED
|
@@ -8,8 +8,7 @@ export type DividerElement = HTMLHRElement | HTMLDivElement;
|
|
|
8
8
|
* @since 6.0.0 Extends the {@link DividerClassNameOptions}
|
|
9
9
|
*/
|
|
10
10
|
export interface DividerProps
|
|
11
|
-
extends HTMLAttributes<DividerElement>,
|
|
12
|
-
DividerClassNameOptions {}
|
|
11
|
+
extends HTMLAttributes<DividerElement>, DividerClassNameOptions {}
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* @example Simple Example
|
|
@@ -84,8 +84,7 @@ export interface ControllableDraggableStateOptions {
|
|
|
84
84
|
* @since 6.0.0
|
|
85
85
|
*/
|
|
86
86
|
export interface BaseDraggableOptions<E extends HTMLElement>
|
|
87
|
-
extends DraggableEventHandlers<E>,
|
|
88
|
-
ControllableDraggableStateOptions {
|
|
87
|
+
extends DraggableEventHandlers<E>, ControllableDraggableStateOptions {
|
|
89
88
|
/**
|
|
90
89
|
* An optional ref to merge with the returned
|
|
91
90
|
* {@link DraggableImplementation.draggableRef}.
|
|
@@ -275,8 +274,9 @@ export type DraggableOptions<E extends HTMLElement = HTMLElement> =
|
|
|
275
274
|
/**
|
|
276
275
|
* @since 6.0.0
|
|
277
276
|
*/
|
|
278
|
-
export interface DraggableImplementation<
|
|
279
|
-
extends
|
|
277
|
+
export interface DraggableImplementation<
|
|
278
|
+
E extends HTMLElement = HTMLElement,
|
|
279
|
+
> extends Required<DraggableEventHandlers<E>> {
|
|
280
280
|
mouseEventHandlers: Required<DraggableMouseEventHandlers<E>>;
|
|
281
281
|
touchEventHandlers: Required<DraggableTouchEventHandlers<E>>;
|
|
282
282
|
keyboardEventHandlers: Required<DraggableKeyboardEventHandlers<E>>;
|
package/src/draggable/utils.ts
CHANGED
|
@@ -120,8 +120,10 @@ export const getRelativeDragPosition = (
|
|
|
120
120
|
/**
|
|
121
121
|
* @internal
|
|
122
122
|
*/
|
|
123
|
-
interface UpdateDragPositionOptions
|
|
124
|
-
|
|
123
|
+
interface UpdateDragPositionOptions extends Omit<
|
|
124
|
+
RelativeDragPositionOptions,
|
|
125
|
+
"container"
|
|
126
|
+
> {
|
|
125
127
|
event: ClientPositionEvent;
|
|
126
128
|
nodeRef: RefObject<HTMLElement>;
|
|
127
129
|
focus?: boolean;
|
|
@@ -17,8 +17,7 @@ import { expansionPanelButton, expansionPanelHeading } from "./styles.js";
|
|
|
17
17
|
* @since 6.0.0 Updated to include additional heading/Typography
|
|
18
18
|
* props.
|
|
19
19
|
*/
|
|
20
|
-
export interface ExpansionPanelHeaderProps
|
|
21
|
-
extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
20
|
+
export interface ExpansionPanelHeaderProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
22
21
|
id: string;
|
|
23
22
|
|
|
24
23
|
/**
|
package/src/files/FileInput.tsx
CHANGED
|
@@ -67,8 +67,9 @@ export interface FileUploadState<CustomError = never> {
|
|
|
67
67
|
* @since 2.9.0
|
|
68
68
|
* @internal
|
|
69
69
|
*/
|
|
70
|
-
export interface FileUploadHookState<
|
|
71
|
-
|
|
70
|
+
export interface FileUploadHookState<
|
|
71
|
+
CustomError = never,
|
|
72
|
+
> extends FileUploadState<CustomError> {
|
|
72
73
|
/**
|
|
73
74
|
* All the current readers used for uploading files to the browser.
|
|
74
75
|
*
|
|
@@ -86,8 +87,7 @@ export interface FileUploadHookState<CustomError = never>
|
|
|
86
87
|
* @since 2.9.0
|
|
87
88
|
*/
|
|
88
89
|
export interface FileUploadOptions<E extends HTMLElement, CustomError = never>
|
|
89
|
-
extends FileUploadHandlers<E>,
|
|
90
|
-
FileValidationOptions {
|
|
90
|
+
extends FileUploadHandlers<E>, FileValidationOptions {
|
|
91
91
|
/**
|
|
92
92
|
* Setting this value to a number greater than `0` will update the browser
|
|
93
93
|
* upload process to queue the uploads in chunks instead of all at once. This
|
|
@@ -153,8 +153,8 @@ export interface FileUploadActions {
|
|
|
153
153
|
export interface FileUploadHookReturnValue<
|
|
154
154
|
E extends HTMLElement = HTMLElement,
|
|
155
155
|
CustomError = never,
|
|
156
|
-
>
|
|
157
|
-
|
|
156
|
+
>
|
|
157
|
+
extends FileUploadActions, Required<FileUploadHandlers<E>> {
|
|
158
158
|
/** {@inheritDoc FileUploadState.errors} */
|
|
159
159
|
errors: readonly FileValidationError<CustomError>[];
|
|
160
160
|
|
package/src/files/validation.ts
CHANGED
|
@@ -283,8 +283,7 @@ export interface FileValidationOptions {
|
|
|
283
283
|
}
|
|
284
284
|
|
|
285
285
|
/** @since 2.9.0 */
|
|
286
|
-
export interface FilesValidationOptions
|
|
287
|
-
extends Required<FileValidationOptions> {
|
|
286
|
+
export interface FilesValidationOptions extends Required<FileValidationOptions> {
|
|
288
287
|
/**
|
|
289
288
|
* The total number of bytes in the {@link FileUploadHookReturnValue.stats}
|
|
290
289
|
* list. This is really just:
|
|
@@ -50,8 +50,9 @@ export type FocusContainerTransitionCallbacks = TransitionCallbacks;
|
|
|
50
50
|
* @since 6.3.2 Fixed by extending `TransitionCallbacks` after the
|
|
51
51
|
* `onEnteredOnce` and `onExitedOnce` support was added to CSS transitions.
|
|
52
52
|
*/
|
|
53
|
-
export interface FocusContainerTransitionOptions<
|
|
54
|
-
extends
|
|
53
|
+
export interface FocusContainerTransitionOptions<
|
|
54
|
+
E extends HTMLElement,
|
|
55
|
+
> extends TransitionCallbacks {
|
|
55
56
|
/**
|
|
56
57
|
* An optional ref that will be merged with the
|
|
57
58
|
* {@link FocusContainerImplementation.nodeRef}
|
|
@@ -83,8 +84,7 @@ export interface FocusContainerComponentProps {
|
|
|
83
84
|
|
|
84
85
|
/** @since 6.0.0 */
|
|
85
86
|
export interface FocusContainerOptions<E extends HTMLElement>
|
|
86
|
-
extends FocusContainerTransitionOptions<E>,
|
|
87
|
-
FocusContainerComponentProps {
|
|
87
|
+
extends FocusContainerTransitionOptions<E>, FocusContainerComponentProps {
|
|
88
88
|
onKeyDown?: KeyboardEventHandler<E>;
|
|
89
89
|
/**
|
|
90
90
|
* This to `true` will capture the current focused element as a focus target
|
package/src/form/Fieldset.tsx
CHANGED
|
@@ -8,7 +8,8 @@ import { type FieldsetClassNameOptions, fieldset } from "./fieldsetStyles.js";
|
|
|
8
8
|
* yourself manually instead of using a prop.
|
|
9
9
|
*/
|
|
10
10
|
export interface FieldsetProps
|
|
11
|
-
extends
|
|
11
|
+
extends
|
|
12
|
+
FieldsetHTMLAttributes<HTMLFieldSetElement>,
|
|
12
13
|
FieldsetClassNameOptions {}
|
|
13
14
|
|
|
14
15
|
/**
|
|
@@ -30,14 +31,34 @@ export interface FieldsetProps
|
|
|
30
31
|
* }
|
|
31
32
|
* ```
|
|
32
33
|
*
|
|
34
|
+
* @example Floating Legend Example
|
|
35
|
+
* ```tsx
|
|
36
|
+
* import { Form } from "@react-md/core/form/Form";
|
|
37
|
+
* import { Fieldset } from "@react-md/core/form/Fieldset";
|
|
38
|
+
* import { Legend } from "@react-md/core/form/Legend";
|
|
39
|
+
*
|
|
40
|
+
* function Example(): ReactElement {
|
|
41
|
+
* return (
|
|
42
|
+
* <Form>
|
|
43
|
+
* <Fieldset floatingLegend>
|
|
44
|
+
* <Legend floating>Some Title</Legend>
|
|
45
|
+
* // form components
|
|
46
|
+
* </Fieldset>
|
|
47
|
+
* </Form>
|
|
48
|
+
* );
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
33
53
|
* @see {@link https://react-md.dev/components/fieldset | Fieldset Demos}
|
|
34
54
|
*/
|
|
35
55
|
export const Fieldset = forwardRef<HTMLFieldSetElement, FieldsetProps>(
|
|
36
56
|
function Fieldset(props, ref) {
|
|
37
57
|
const {
|
|
38
58
|
className,
|
|
39
|
-
fullWidth
|
|
40
|
-
browserStyles
|
|
59
|
+
fullWidth,
|
|
60
|
+
browserStyles,
|
|
61
|
+
floatingLegend,
|
|
41
62
|
children,
|
|
42
63
|
...remaining
|
|
43
64
|
} = props;
|
|
@@ -50,6 +71,7 @@ export const Fieldset = forwardRef<HTMLFieldSetElement, FieldsetProps>(
|
|
|
50
71
|
className,
|
|
51
72
|
fullWidth,
|
|
52
73
|
browserStyles,
|
|
74
|
+
floatingLegend,
|
|
53
75
|
})}
|
|
54
76
|
>
|
|
55
77
|
{children}
|
|
@@ -12,8 +12,7 @@ import { type FormMessageProps } from "./types.js";
|
|
|
12
12
|
* @since 2.5.0
|
|
13
13
|
*/
|
|
14
14
|
export interface FormMessageContainerProps
|
|
15
|
-
extends HTMLAttributes<HTMLDivElement>,
|
|
16
|
-
FormMessageContainerClassNameOptions {
|
|
15
|
+
extends HTMLAttributes<HTMLDivElement>, FormMessageContainerClassNameOptions {
|
|
17
16
|
/**
|
|
18
17
|
* If the extension doesn't actually want to render the `FormMessage`
|
|
19
18
|
* component, these props are optional. It kind of eliminates the whole
|
|
@@ -8,8 +8,7 @@ import {
|
|
|
8
8
|
import { formMessageCounter } from "./formMessageStyles.js";
|
|
9
9
|
|
|
10
10
|
/** @since 2.9.0 */
|
|
11
|
-
export interface FormMessageCounterProps
|
|
12
|
-
extends HTMLAttributes<HTMLSpanElement> {
|
|
11
|
+
export interface FormMessageCounterProps extends HTMLAttributes<HTMLSpanElement> {
|
|
13
12
|
/**
|
|
14
13
|
* The children to display in the counter. This is normally a string like:
|
|
15
14
|
*
|
package/src/form/InputToggle.tsx
CHANGED
|
@@ -149,7 +149,8 @@ export interface InputToggleLabelProps {
|
|
|
149
149
|
* @since 6.0.0
|
|
150
150
|
*/
|
|
151
151
|
export interface BaseInputToggleProps
|
|
152
|
-
extends
|
|
152
|
+
extends
|
|
153
|
+
Omit<InputHTMLAttributes<HTMLInputElement>, "size">,
|
|
153
154
|
FormMessageContainerExtension,
|
|
154
155
|
FormComponentStates,
|
|
155
156
|
ConfigurableInputToggleIconProps,
|
|
@@ -194,8 +195,7 @@ export interface IndeterminateCheckboxProps {
|
|
|
194
195
|
}
|
|
195
196
|
|
|
196
197
|
export interface CheckboxProps
|
|
197
|
-
extends BaseInputToggleProps,
|
|
198
|
-
IndeterminateCheckboxProps {}
|
|
198
|
+
extends BaseInputToggleProps, IndeterminateCheckboxProps {}
|
|
199
199
|
|
|
200
200
|
/** @since 6.0.0 */
|
|
201
201
|
export interface CheckboxInputToggleProps extends CheckboxProps {
|
package/src/form/Legend.tsx
CHANGED
|
@@ -1,35 +1,80 @@
|
|
|
1
|
-
import { cnb } from "cnbuilder";
|
|
2
1
|
import { forwardRef } from "react";
|
|
3
2
|
|
|
4
|
-
import { cssUtils } from "../cssUtils.js";
|
|
5
3
|
import { Typography, type TypographyProps } from "../typography/Typography.js";
|
|
4
|
+
import { type LegendClassNameOptions, legend } from "./legendStyles.js";
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* @since 6.0.0
|
|
8
|
+
* @since 6.4.0 Extends the `LegendClassNameOptions`
|
|
9
9
|
*/
|
|
10
|
-
export interface LegendProps extends TypographyProps {
|
|
11
|
-
/**
|
|
12
|
-
* @defaultValue `false`
|
|
13
|
-
*/
|
|
14
|
-
srOnly?: boolean;
|
|
15
|
-
}
|
|
10
|
+
export interface LegendProps extends TypographyProps, LegendClassNameOptions {}
|
|
16
11
|
|
|
17
12
|
/**
|
|
18
13
|
* This should be used within a `Fieldset` to apply a label.
|
|
19
14
|
*
|
|
15
|
+
* @example Simple Example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* <Fieldset>
|
|
18
|
+
* <Legend>I am legend</Legend>
|
|
19
|
+
* {children}
|
|
20
|
+
* </Fieldset>
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example Visible to Screen readers only
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <Fieldset>
|
|
26
|
+
* <Legend srOnly>I am legend</Legend>
|
|
27
|
+
* {children}
|
|
28
|
+
* </Fieldset>
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @example Acting as a floating label
|
|
32
|
+
* ```tsx
|
|
33
|
+
* <Fieldset floatingLegend>
|
|
34
|
+
* <Legend floating>I am legend</Legend>
|
|
35
|
+
* {children}
|
|
36
|
+
* </Fieldset>
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
20
39
|
* @see {@link https://react-md.dev/components/fieldset | Fieldset Demos}
|
|
21
40
|
* @since 6.0.0
|
|
22
41
|
*/
|
|
23
42
|
export const Legend = forwardRef<HTMLLegendElement, LegendProps>(
|
|
24
43
|
function Legend(props, ref) {
|
|
25
|
-
const {
|
|
44
|
+
const {
|
|
45
|
+
srOnly,
|
|
46
|
+
floating,
|
|
47
|
+
theme,
|
|
48
|
+
gap,
|
|
49
|
+
dense,
|
|
50
|
+
active,
|
|
51
|
+
error,
|
|
52
|
+
disabled,
|
|
53
|
+
stacked,
|
|
54
|
+
reversed,
|
|
55
|
+
className,
|
|
56
|
+
children,
|
|
57
|
+
...remaining
|
|
58
|
+
} = props;
|
|
26
59
|
|
|
27
60
|
return (
|
|
28
61
|
<Typography
|
|
29
62
|
{...remaining}
|
|
30
63
|
as="legend"
|
|
31
64
|
ref={ref}
|
|
32
|
-
className={
|
|
65
|
+
className={legend({
|
|
66
|
+
srOnly,
|
|
67
|
+
floating,
|
|
68
|
+
theme,
|
|
69
|
+
gap,
|
|
70
|
+
dense,
|
|
71
|
+
active,
|
|
72
|
+
error,
|
|
73
|
+
disabled,
|
|
74
|
+
stacked,
|
|
75
|
+
reversed,
|
|
76
|
+
className,
|
|
77
|
+
})}
|
|
33
78
|
>
|
|
34
79
|
{children}
|
|
35
80
|
</Typography>
|
package/src/form/Listbox.tsx
CHANGED
|
@@ -16,8 +16,7 @@ import {
|
|
|
16
16
|
* @internal
|
|
17
17
|
*/
|
|
18
18
|
export interface ListboxProps<Value extends ListboxValue>
|
|
19
|
-
extends MenuProps,
|
|
20
|
-
ListboxProviderOptions<Value> {
|
|
19
|
+
extends MenuProps, ListboxProviderOptions<Value> {
|
|
21
20
|
nodeRef?: Ref<HTMLDivElement>;
|
|
22
21
|
children: ReactNode;
|
|
23
22
|
}
|
|
@@ -47,8 +47,9 @@ export type ListboxValue = string | number | null | object;
|
|
|
47
47
|
/**
|
|
48
48
|
* @since 6.3.0
|
|
49
49
|
*/
|
|
50
|
-
export interface ListboxProviderOptions<
|
|
51
|
-
extends
|
|
50
|
+
export interface ListboxProviderOptions<
|
|
51
|
+
Value extends ListboxValue,
|
|
52
|
+
> extends OptionSelectedIconProps {
|
|
52
53
|
value: ListboxValue | readonly NonNullable<ListboxValue>[];
|
|
53
54
|
setValue: Dispatch<NonNullable<Value>>;
|
|
54
55
|
}
|
|
@@ -23,7 +23,8 @@ import {
|
|
|
23
23
|
* @since 6.0.0 Added support for {@link UserAgentAutocompleteProps}
|
|
24
24
|
*/
|
|
25
25
|
export interface NativeSelectProps
|
|
26
|
-
extends
|
|
26
|
+
extends
|
|
27
|
+
Omit<SelectHTMLAttributes<HTMLSelectElement>, "autoComplete">,
|
|
27
28
|
UserAgentAutocompleteProps,
|
|
28
29
|
FormFieldOptions {
|
|
29
30
|
/**
|
package/src/form/Password.tsx
CHANGED
|
@@ -64,8 +64,10 @@ export interface ConfigurableVisibilityIcon {
|
|
|
64
64
|
* @since 6.0.0 Merged the `getVisibilityIcon` prop behavior into the
|
|
65
65
|
* `visibilityIcon` prop.
|
|
66
66
|
*/
|
|
67
|
-
export interface PasswordProps
|
|
68
|
-
|
|
67
|
+
export interface PasswordProps extends Omit<
|
|
68
|
+
TextFieldProps,
|
|
69
|
+
"type" | "rightAddon"
|
|
70
|
+
> {
|
|
69
71
|
/**
|
|
70
72
|
* @defaultValue `"password"`
|
|
71
73
|
* @since 6.0.0 Defaults to `"password"`
|