@react-md/core 6.5.1 → 7.0.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/_utils.scss +3 -0
- package/dist/app-bar/AppBar.d.ts +3 -2
- package/dist/app-bar/AppBar.js +3 -4
- package/dist/app-bar/AppBar.js.map +1 -1
- package/dist/app-bar/AppBarTitle.d.ts +3 -1
- package/dist/app-bar/AppBarTitle.js +3 -4
- package/dist/app-bar/AppBarTitle.js.map +1 -1
- package/dist/autocomplete/AutocompleteChip.d.ts +2 -1
- package/dist/autocomplete/AutocompleteChip.js +3 -4
- package/dist/autocomplete/AutocompleteChip.js.map +1 -1
- package/dist/autocomplete/types.d.ts +1 -0
- package/dist/autocomplete/types.js.map +1 -1
- package/dist/autocomplete/utils.d.ts +4 -4
- package/dist/autocomplete/utils.js.map +1 -1
- package/dist/avatar/Avatar.d.ts +3 -2
- package/dist/avatar/Avatar.js +3 -4
- package/dist/avatar/Avatar.js.map +1 -1
- package/dist/badge/Badge.d.ts +3 -2
- package/dist/badge/Badge.js +3 -4
- package/dist/badge/Badge.js.map +1 -1
- package/dist/box/Box.d.ts +3 -2
- package/dist/box/Box.js +3 -4
- package/dist/box/Box.js.map +1 -1
- package/dist/button/AsyncButton.d.ts +3 -2
- package/dist/button/AsyncButton.js +3 -4
- package/dist/button/AsyncButton.js.map +1 -1
- package/dist/button/Button.d.ts +3 -2
- package/dist/button/Button.js +3 -4
- package/dist/button/Button.js.map +1 -1
- package/dist/button/ButtonUnstyled.d.ts +5 -3
- package/dist/button/ButtonUnstyled.js +3 -4
- package/dist/button/ButtonUnstyled.js.map +1 -1
- package/dist/button/FloatingActionButton.d.ts +3 -2
- package/dist/button/FloatingActionButton.js +3 -4
- package/dist/button/FloatingActionButton.js.map +1 -1
- package/dist/button/TooltippedButton.d.ts +3 -2
- package/dist/button/TooltippedButton.js +3 -4
- package/dist/button/TooltippedButton.js.map +1 -1
- package/dist/card/Card.d.ts +3 -2
- package/dist/card/Card.js +3 -4
- package/dist/card/Card.js.map +1 -1
- package/dist/card/CardContent.d.ts +3 -2
- package/dist/card/CardContent.js +3 -4
- package/dist/card/CardContent.js.map +1 -1
- package/dist/card/CardFooter.d.ts +3 -1
- package/dist/card/CardFooter.js +3 -4
- package/dist/card/CardFooter.js.map +1 -1
- package/dist/card/CardHeader.d.ts +3 -2
- package/dist/card/CardHeader.js +3 -4
- package/dist/card/CardHeader.js.map +1 -1
- package/dist/card/CardSubtitle.d.ts +3 -1
- package/dist/card/CardSubtitle.js +3 -4
- package/dist/card/CardSubtitle.js.map +1 -1
- package/dist/card/CardTitle.d.ts +3 -1
- package/dist/card/CardTitle.js +3 -4
- package/dist/card/CardTitle.js.map +1 -1
- package/dist/card/ClickableCard.d.ts +3 -2
- package/dist/card/ClickableCard.js +3 -4
- package/dist/card/ClickableCard.js.map +1 -1
- package/dist/chip/Chip.d.ts +4 -2
- package/dist/chip/Chip.js +4 -4
- package/dist/chip/Chip.js.map +1 -1
- package/dist/datetime/NativeDateField.d.ts +3 -1
- package/dist/datetime/NativeDateField.js +3 -4
- package/dist/datetime/NativeDateField.js.map +1 -1
- package/dist/datetime/NativeTimeField.d.ts +3 -1
- package/dist/datetime/NativeTimeField.js +3 -4
- package/dist/datetime/NativeTimeField.js.map +1 -1
- package/dist/dialog/Dialog.d.ts +3 -2
- package/dist/dialog/Dialog.js +4 -4
- package/dist/dialog/Dialog.js.map +1 -1
- package/dist/dialog/DialogContainer.d.ts +3 -2
- package/dist/dialog/DialogContainer.js +3 -4
- package/dist/dialog/DialogContainer.js.map +1 -1
- package/dist/dialog/DialogContent.d.ts +3 -2
- package/dist/dialog/DialogContent.js +3 -4
- package/dist/dialog/DialogContent.js.map +1 -1
- package/dist/dialog/DialogFooter.d.ts +3 -2
- package/dist/dialog/DialogFooter.js +3 -4
- package/dist/dialog/DialogFooter.js.map +1 -1
- package/dist/dialog/DialogHeader.d.ts +3 -1
- package/dist/dialog/DialogHeader.js +3 -4
- package/dist/dialog/DialogHeader.js.map +1 -1
- package/dist/dialog/DialogTitle.d.ts +3 -1
- package/dist/dialog/DialogTitle.js +3 -4
- package/dist/dialog/DialogTitle.js.map +1 -1
- package/dist/dialog/FixedDialog.d.ts +4 -3
- package/dist/dialog/FixedDialog.js +4 -4
- package/dist/dialog/FixedDialog.js.map +1 -1
- package/dist/divider/Divider.d.ts +3 -2
- package/dist/divider/Divider.js +3 -4
- package/dist/divider/Divider.js.map +1 -1
- package/dist/draggable/useDraggable.d.ts +3 -3
- package/dist/draggable/useDraggable.js.map +1 -1
- package/dist/draggable/utils.d.ts +1 -1
- package/dist/draggable/utils.js.map +1 -1
- package/dist/expansion-panel/ExpansionList.d.ts +3 -2
- package/dist/expansion-panel/ExpansionList.js +3 -4
- package/dist/expansion-panel/ExpansionList.js.map +1 -1
- package/dist/expansion-panel/ExpansionPanel.d.ts +3 -2
- package/dist/expansion-panel/ExpansionPanel.js +3 -4
- package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
- package/dist/expansion-panel/ExpansionPanelHeader.d.ts +3 -2
- package/dist/expansion-panel/ExpansionPanelHeader.js +3 -4
- package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
- package/dist/files/FileInput.d.ts +3 -2
- package/dist/files/FileInput.js +3 -4
- package/dist/files/FileInput.js.map +1 -1
- package/dist/focus/useFocusContainer.d.ts +1 -1
- package/dist/focus/useFocusContainer.js.map +1 -1
- package/dist/form/Checkbox.d.ts +2 -1
- package/dist/form/Checkbox.js +4 -4
- package/dist/form/Checkbox.js.map +1 -1
- package/dist/form/Fieldset.d.ts +3 -2
- package/dist/form/Fieldset.js +3 -4
- package/dist/form/Fieldset.js.map +1 -1
- package/dist/form/Form.d.ts +3 -2
- package/dist/form/Form.js +3 -4
- package/dist/form/Form.js.map +1 -1
- package/dist/form/FormMessage.d.ts +8 -2
- package/dist/form/FormMessage.js +3 -4
- package/dist/form/FormMessage.js.map +1 -1
- package/dist/form/FormMessageContainer.d.ts +5 -4
- package/dist/form/FormMessageContainer.js +3 -4
- package/dist/form/FormMessageContainer.js.map +1 -1
- package/dist/form/FormMessageCounter.d.ts +3 -2
- package/dist/form/FormMessageCounter.js +3 -4
- package/dist/form/FormMessageCounter.js.map +1 -1
- package/dist/form/InputToggle.d.ts +3 -2
- package/dist/form/InputToggle.js +3 -4
- package/dist/form/InputToggle.js.map +1 -1
- package/dist/form/InputToggleIcon.d.ts +3 -2
- package/dist/form/InputToggleIcon.js +3 -4
- package/dist/form/InputToggleIcon.js.map +1 -1
- package/dist/form/Label.d.ts +2 -1
- package/dist/form/Label.js +3 -4
- package/dist/form/Label.js.map +1 -1
- package/dist/form/Legend.d.ts +3 -1
- package/dist/form/Legend.js +3 -4
- package/dist/form/Legend.js.map +1 -1
- package/dist/form/NativeSelect.d.ts +3 -2
- package/dist/form/NativeSelect.js +3 -4
- package/dist/form/NativeSelect.js.map +1 -1
- package/dist/form/OptGroup.d.ts +3 -2
- package/dist/form/OptGroup.js +3 -4
- package/dist/form/OptGroup.js.map +1 -1
- package/dist/form/Option.d.ts +3 -2
- package/dist/form/Option.js +4 -4
- package/dist/form/Option.js.map +1 -1
- package/dist/form/Password.d.ts +2 -2
- package/dist/form/Password.js +3 -4
- package/dist/form/Password.js.map +1 -1
- package/dist/form/Radio.d.ts +2 -1
- package/dist/form/Radio.js +4 -4
- package/dist/form/Radio.js.map +1 -1
- package/dist/form/ResizingTextAreaWrapper.d.ts +3 -2
- package/dist/form/ResizingTextAreaWrapper.js +3 -4
- package/dist/form/ResizingTextAreaWrapper.js.map +1 -1
- package/dist/form/SliderContainer.d.ts +3 -2
- package/dist/form/SliderContainer.js +3 -4
- package/dist/form/SliderContainer.js.map +1 -1
- package/dist/form/SliderThumb.d.ts +3 -2
- package/dist/form/SliderThumb.js +4 -4
- package/dist/form/SliderThumb.js.map +1 -1
- package/dist/form/SliderTrack.d.ts +3 -2
- package/dist/form/SliderTrack.js +3 -4
- package/dist/form/SliderTrack.js.map +1 -1
- package/dist/form/Switch.d.ts +3 -2
- package/dist/form/Switch.js +3 -4
- package/dist/form/Switch.js.map +1 -1
- package/dist/form/SwitchTrack.d.ts +3 -2
- package/dist/form/SwitchTrack.js +3 -4
- package/dist/form/SwitchTrack.js.map +1 -1
- package/dist/form/TextArea.d.ts +3 -2
- package/dist/form/TextArea.js +3 -4
- package/dist/form/TextArea.js.map +1 -1
- package/dist/form/TextField.d.ts +3 -2
- package/dist/form/TextField.js +3 -4
- package/dist/form/TextField.js.map +1 -1
- package/dist/form/TextFieldAddon.d.ts +2 -1
- package/dist/form/TextFieldAddon.js +3 -4
- package/dist/form/TextFieldAddon.js.map +1 -1
- package/dist/form/TextFieldContainer.d.ts +3 -2
- package/dist/form/TextFieldContainer.js +3 -4
- package/dist/form/TextFieldContainer.js.map +1 -1
- package/dist/form/sliderUtils.d.ts +1 -1
- package/dist/form/sliderUtils.js.map +1 -1
- package/dist/form/types.d.ts +11 -5
- package/dist/form/types.js.map +1 -1
- package/dist/form/useCombobox.d.ts +6 -6
- package/dist/form/useCombobox.js.map +1 -1
- package/dist/form/useFormReset.d.ts +1 -1
- package/dist/form/useFormReset.js.map +1 -1
- package/dist/form/useTextField.d.ts +4 -4
- package/dist/form/useTextField.js.map +1 -1
- package/dist/hoverMode/useHoverMode.js +1 -1
- package/dist/hoverMode/useHoverMode.js.map +1 -1
- package/dist/hoverMode/useHoverModeProvider.d.ts +5 -5
- package/dist/hoverMode/useHoverModeProvider.js +1 -1
- package/dist/hoverMode/useHoverModeProvider.js.map +1 -1
- package/dist/icon/FontIcon.d.ts +3 -2
- package/dist/icon/FontIcon.js +3 -4
- package/dist/icon/FontIcon.js.map +1 -1
- package/dist/icon/IconRotator.d.ts +3 -2
- package/dist/icon/IconRotator.js +4 -4
- package/dist/icon/IconRotator.js.map +1 -1
- package/dist/icon/MaterialIcon.d.ts +3 -2
- package/dist/icon/MaterialIcon.js +3 -4
- package/dist/icon/MaterialIcon.js.map +1 -1
- package/dist/icon/MaterialSymbol.d.ts +3 -2
- package/dist/icon/MaterialSymbol.js +3 -4
- package/dist/icon/MaterialSymbol.js.map +1 -1
- package/dist/icon/SVGIcon.d.ts +3 -2
- package/dist/icon/SVGIcon.js +3 -4
- package/dist/icon/SVGIcon.js.map +1 -1
- package/dist/layout/LayoutAppBar.d.ts +3 -1
- package/dist/layout/LayoutAppBar.js +3 -4
- package/dist/layout/LayoutAppBar.js.map +1 -1
- package/dist/layout/LayoutNav.d.ts +3 -2
- package/dist/layout/LayoutNav.js +3 -4
- package/dist/layout/LayoutNav.js.map +1 -1
- package/dist/layout/LayoutWindowSplitter.d.ts +4 -2
- package/dist/layout/LayoutWindowSplitter.js +4 -4
- package/dist/layout/LayoutWindowSplitter.js.map +1 -1
- package/dist/layout/Main.d.ts +4 -3
- package/dist/layout/Main.js +3 -4
- package/dist/layout/Main.js.map +1 -1
- package/dist/link/Link.d.ts +10 -2
- package/dist/link/Link.js +4 -4
- package/dist/link/Link.js.map +1 -1
- package/dist/link/SkipToMainContent.d.ts +3 -2
- package/dist/link/SkipToMainContent.js +4 -4
- package/dist/link/SkipToMainContent.js.map +1 -1
- package/dist/list/List.d.ts +3 -2
- package/dist/list/List.js +3 -4
- package/dist/list/List.js.map +1 -1
- package/dist/list/ListItem.d.ts +3 -2
- package/dist/list/ListItem.js +3 -4
- package/dist/list/ListItem.js.map +1 -1
- package/dist/list/ListItemLink.d.ts +3 -2
- package/dist/list/ListItemLink.js +3 -4
- package/dist/list/ListItemLink.js.map +1 -1
- package/dist/list/ListItemText.d.ts +3 -2
- package/dist/list/ListItemText.js +3 -4
- package/dist/list/ListItemText.js.map +1 -1
- package/dist/list/ListSubheader.d.ts +3 -2
- package/dist/list/ListSubheader.js +3 -4
- package/dist/list/ListSubheader.js.map +1 -1
- package/dist/menu/DropdownMenu.js.map +1 -1
- package/dist/menu/Menu.d.ts +4 -2
- package/dist/menu/Menu.js +5 -4
- package/dist/menu/Menu.js.map +1 -1
- package/dist/menu/MenuBar.d.ts +3 -1
- package/dist/menu/MenuBar.js +3 -4
- package/dist/menu/MenuBar.js.map +1 -1
- package/dist/menu/MenuButton.d.ts +2 -1
- package/dist/menu/MenuButton.js +3 -4
- package/dist/menu/MenuButton.js.map +1 -1
- package/dist/menu/MenuItem.d.ts +3 -1
- package/dist/menu/MenuItem.js +3 -4
- package/dist/menu/MenuItem.js.map +1 -1
- package/dist/menu/MenuItemButton.d.ts +2 -1
- package/dist/menu/MenuItemButton.js +4 -4
- package/dist/menu/MenuItemButton.js.map +1 -1
- package/dist/menu/MenuItemCheckbox.d.ts +2 -1
- package/dist/menu/MenuItemCheckbox.js +4 -4
- package/dist/menu/MenuItemCheckbox.js.map +1 -1
- package/dist/menu/MenuItemCircularProgress.d.ts +3 -2
- package/dist/menu/MenuItemCircularProgress.js +3 -4
- package/dist/menu/MenuItemCircularProgress.js.map +1 -1
- package/dist/menu/MenuItemFileInput.d.ts +2 -2
- package/dist/menu/MenuItemFileInput.js +3 -4
- package/dist/menu/MenuItemFileInput.js.map +1 -1
- package/dist/menu/MenuItemGroup.d.ts +3 -3
- package/dist/menu/MenuItemGroup.js +4 -4
- package/dist/menu/MenuItemGroup.js.map +1 -1
- package/dist/menu/MenuItemInputToggle.d.ts +3 -2
- package/dist/menu/MenuItemInputToggle.js +3 -4
- package/dist/menu/MenuItemInputToggle.js.map +1 -1
- package/dist/menu/MenuItemRadio.d.ts +3 -1
- package/dist/menu/MenuItemRadio.js +4 -4
- package/dist/menu/MenuItemRadio.js.map +1 -1
- package/dist/menu/MenuItemSeparator.d.ts +3 -2
- package/dist/menu/MenuItemSeparator.js +3 -4
- package/dist/menu/MenuItemSeparator.js.map +1 -1
- package/dist/menu/MenuItemSwitch.d.ts +2 -1
- package/dist/menu/MenuItemSwitch.js +4 -4
- package/dist/menu/MenuItemSwitch.js.map +1 -1
- package/dist/menu/MenuItemTextField.d.ts +2 -2
- package/dist/menu/MenuItemTextField.js +3 -4
- package/dist/menu/MenuItemTextField.js.map +1 -1
- package/dist/menu/MenuVisibilityProvider.d.ts +3 -3
- package/dist/menu/MenuVisibilityProvider.js.map +1 -1
- package/dist/menu/MenuWidget.d.ts +4 -4
- package/dist/menu/MenuWidget.js +4 -4
- package/dist/menu/MenuWidget.js.map +1 -1
- package/dist/menu/useContextMenu.d.ts +4 -4
- package/dist/menu/useContextMenu.js.map +1 -1
- package/dist/movement/types.d.ts +5 -5
- package/dist/movement/types.js.map +1 -1
- package/dist/navigation/CollapsibleNavGroup.d.ts +2 -2
- package/dist/navigation/CollapsibleNavGroup.js +3 -4
- package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
- package/dist/navigation/NavGroup.d.ts +3 -2
- package/dist/navigation/NavGroup.js +3 -4
- package/dist/navigation/NavGroup.js.map +1 -1
- package/dist/navigation/NavItem.d.ts +3 -2
- package/dist/navigation/NavItem.js +3 -4
- package/dist/navigation/NavItem.js.map +1 -1
- package/dist/navigation/NavItemButton.d.ts +2 -2
- package/dist/navigation/NavItemButton.js +3 -4
- package/dist/navigation/NavItemButton.js.map +1 -1
- package/dist/navigation/NavItemLink.d.ts +3 -2
- package/dist/navigation/NavItemLink.js +4 -4
- package/dist/navigation/NavItemLink.js.map +1 -1
- package/dist/navigation/NavSubheader.d.ts +2 -1
- package/dist/navigation/NavSubheader.js +3 -4
- package/dist/navigation/NavSubheader.js.map +1 -1
- package/dist/navigation/Navigation.d.ts +1 -1
- package/dist/navigation/Navigation.js +1 -1
- package/dist/navigation/Navigation.js.map +1 -1
- package/dist/navigation/types.d.ts +5 -2
- package/dist/navigation/types.js.map +1 -1
- package/dist/navigation/useActiveHeadingId.js +1 -1
- package/dist/navigation/useActiveHeadingId.js.map +1 -1
- package/dist/overlay/Overlay.d.ts +3 -2
- package/dist/overlay/Overlay.js +3 -4
- package/dist/overlay/Overlay.js.map +1 -1
- package/dist/positioning/useFixedPositioning.d.ts +1 -1
- package/dist/positioning/useFixedPositioning.js.map +1 -1
- package/dist/progress/CircularProgress.d.ts +2 -2
- package/dist/progress/CircularProgress.js +4 -4
- package/dist/progress/CircularProgress.js.map +1 -1
- package/dist/progress/LinearProgress.d.ts +2 -2
- package/dist/progress/LinearProgress.js +4 -4
- package/dist/progress/LinearProgress.js.map +1 -1
- package/dist/progress/types.d.ts +2 -0
- package/dist/progress/types.js.map +1 -1
- package/dist/responsive-item/ResponsiveItem.d.ts +3 -2
- package/dist/responsive-item/ResponsiveItem.js +3 -4
- package/dist/responsive-item/ResponsiveItem.js.map +1 -1
- package/dist/responsive-item/ResponsiveItemOverlay.d.ts +3 -2
- package/dist/responsive-item/ResponsiveItemOverlay.js +3 -4
- package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
- package/dist/segmented-button/SegmentedButton.d.ts +3 -2
- package/dist/segmented-button/SegmentedButton.js +3 -4
- package/dist/segmented-button/SegmentedButton.js.map +1 -1
- package/dist/segmented-button/SegmentedButtonContainer.d.ts +4 -3
- package/dist/segmented-button/SegmentedButtonContainer.js +4 -5
- package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
- package/dist/sheet/Sheet.d.ts +2 -1
- package/dist/sheet/Sheet.js +3 -4
- package/dist/sheet/Sheet.js.map +1 -1
- package/dist/snackbar/Snackbar.d.ts +3 -2
- package/dist/snackbar/Snackbar.js +3 -4
- package/dist/snackbar/Snackbar.js.map +1 -1
- package/dist/snackbar/Toast.d.ts +3 -2
- package/dist/snackbar/Toast.js +4 -4
- package/dist/snackbar/Toast.js.map +1 -1
- package/dist/snackbar/ToastActionButton.d.ts +2 -1
- package/dist/snackbar/ToastActionButton.js +3 -4
- package/dist/snackbar/ToastActionButton.js.map +1 -1
- package/dist/snackbar/ToastCloseButton.d.ts +2 -1
- package/dist/snackbar/ToastCloseButton.js +3 -4
- package/dist/snackbar/ToastCloseButton.js.map +1 -1
- package/dist/snackbar/ToastContent.d.ts +3 -2
- package/dist/snackbar/ToastContent.js +4 -4
- package/dist/snackbar/ToastContent.js.map +1 -1
- package/dist/spinbutton/SpinButton.d.ts +4 -3
- package/dist/spinbutton/SpinButton.js +3 -4
- package/dist/spinbutton/SpinButton.js.map +1 -1
- package/dist/spinbutton/types.d.ts +1 -1
- package/dist/spinbutton/types.js.map +1 -1
- package/dist/table/StickyTableSection.d.ts +3 -2
- package/dist/table/StickyTableSection.js +3 -4
- package/dist/table/StickyTableSection.js.map +1 -1
- package/dist/table/Table.d.ts +3 -2
- package/dist/table/Table.js +4 -4
- package/dist/table/Table.js.map +1 -1
- package/dist/table/TableBody.d.ts +3 -2
- package/dist/table/TableBody.js +4 -4
- package/dist/table/TableBody.js.map +1 -1
- package/dist/table/TableCell.d.ts +3 -2
- package/dist/table/TableCell.js +3 -4
- package/dist/table/TableCell.js.map +1 -1
- package/dist/table/TableCellContent.d.ts +3 -2
- package/dist/table/TableCellContent.js +3 -4
- package/dist/table/TableCellContent.js.map +1 -1
- package/dist/table/TableCheckbox.d.ts +3 -2
- package/dist/table/TableCheckbox.js +3 -4
- package/dist/table/TableCheckbox.js.map +1 -1
- package/dist/table/TableContainer.d.ts +5 -3
- package/dist/table/TableContainer.js +4 -4
- package/dist/table/TableContainer.js.map +1 -1
- package/dist/table/TableContainerProvider.d.ts +1 -1
- package/dist/table/TableContainerProvider.js.map +1 -1
- package/dist/table/TableFooter.d.ts +3 -2
- package/dist/table/TableFooter.js +4 -5
- package/dist/table/TableFooter.js.map +1 -1
- package/dist/table/TableHeader.d.ts +3 -2
- package/dist/table/TableHeader.js +4 -5
- package/dist/table/TableHeader.js.map +1 -1
- package/dist/table/TableRadio.d.ts +3 -2
- package/dist/table/TableRadio.js +3 -4
- package/dist/table/TableRadio.js.map +1 -1
- package/dist/table/TableRow.d.ts +3 -2
- package/dist/table/TableRow.js +3 -4
- package/dist/table/TableRow.js.map +1 -1
- package/dist/tabs/SimpleTabPanel.d.ts +3 -2
- package/dist/tabs/SimpleTabPanel.js +3 -4
- package/dist/tabs/SimpleTabPanel.js.map +1 -1
- package/dist/tabs/SimpleTabPanels.d.ts +3 -2
- package/dist/tabs/SimpleTabPanels.js +3 -4
- package/dist/tabs/SimpleTabPanels.js.map +1 -1
- package/dist/tabs/TabList.d.ts +3 -2
- package/dist/tabs/TabList.js +4 -4
- package/dist/tabs/TabList.js.map +1 -1
- package/dist/tabs/TabListScrollButton.d.ts +3 -2
- package/dist/tabs/TabListScrollButton.js +4 -4
- package/dist/tabs/TabListScrollButton.js.map +1 -1
- package/dist/tabs/useTabList.d.ts +2 -2
- package/dist/tabs/useTabList.js.map +1 -1
- package/dist/theme/useCSSVariables.d.ts +1 -1
- package/dist/theme/useCSSVariables.js.map +1 -1
- package/dist/tooltip/Tooltip.d.ts +3 -2
- package/dist/tooltip/Tooltip.js +3 -4
- package/dist/tooltip/Tooltip.js.map +1 -1
- package/dist/tooltip/useTooltip.d.ts +3 -3
- package/dist/tooltip/useTooltip.js.map +1 -1
- package/dist/transition/SkeletonPlaceholder.d.ts +3 -2
- package/dist/transition/SkeletonPlaceholder.js +3 -4
- package/dist/transition/SkeletonPlaceholder.js.map +1 -1
- package/dist/transition/Slide.d.ts +3 -2
- package/dist/transition/Slide.js +3 -4
- package/dist/transition/Slide.js.map +1 -1
- package/dist/transition/SlideContainer.d.ts +3 -2
- package/dist/transition/SlideContainer.js +3 -4
- package/dist/transition/SlideContainer.js.map +1 -1
- package/dist/tree/TreeGroup.d.ts +2 -2
- package/dist/tree/TreeGroup.js +3 -4
- package/dist/tree/TreeGroup.js.map +1 -1
- package/dist/tree/TreeProvider.d.ts +2 -3
- package/dist/tree/TreeProvider.js.map +1 -1
- package/dist/tree/useTreeMovement.d.ts +6 -7
- package/dist/tree/useTreeMovement.js.map +1 -1
- package/dist/types.d.ts +1 -15
- package/dist/types.js.map +1 -1
- package/dist/typography/Mark.d.ts +3 -2
- package/dist/typography/Mark.js +3 -4
- package/dist/typography/Mark.js.map +1 -1
- package/dist/typography/SrOnly.d.ts +3 -2
- package/dist/typography/SrOnly.js +3 -4
- package/dist/typography/SrOnly.js.map +1 -1
- package/dist/typography/TextContainer.d.ts +3 -2
- package/dist/typography/TextContainer.js +3 -4
- package/dist/typography/TextContainer.js.map +1 -1
- package/dist/typography/Typography.d.ts +3 -2
- package/dist/typography/Typography.js +3 -4
- package/dist/typography/Typography.js.map +1 -1
- package/dist/useAsyncFunction.d.ts +3 -2
- package/dist/useAsyncFunction.js.map +1 -1
- package/dist/useDebouncedFunction.js +1 -1
- package/dist/useDebouncedFunction.js.map +1 -1
- package/dist/useDropzone.js +1 -1
- package/dist/useDropzone.js.map +1 -1
- package/dist/useEnsuredRef.d.ts +3 -3
- package/dist/useEnsuredRef.js +1 -1
- package/dist/useEnsuredRef.js.map +1 -1
- package/dist/useThrottledFunction.js +3 -3
- package/dist/useThrottledFunction.js.map +1 -1
- package/dist/useUnmounted.d.ts +2 -2
- package/dist/useUnmounted.js.map +1 -1
- package/dist/utils/applyRef.d.ts +1 -1
- package/dist/utils/applyRef.js.map +1 -1
- package/dist/window-splitter/WindowSplitter.d.ts +3 -2
- package/dist/window-splitter/WindowSplitter.js +3 -4
- package/dist/window-splitter/WindowSplitter.js.map +1 -1
- package/package.json +9 -9
- package/src/app-bar/AppBar.tsx +54 -54
- package/src/app-bar/AppBarTitle.tsx +29 -27
- package/src/autocomplete/AutocompleteChip.tsx +4 -6
- package/src/autocomplete/types.ts +2 -0
- package/src/autocomplete/utils.ts +4 -4
- package/src/avatar/Avatar.tsx +47 -45
- package/src/badge/Badge.tsx +17 -11
- package/src/box/Box.tsx +51 -50
- package/src/button/AsyncButton.tsx +125 -119
- package/src/button/Button.tsx +74 -73
- package/src/button/ButtonUnstyled.tsx +9 -9
- package/src/button/FloatingActionButton.tsx +9 -7
- package/src/button/TooltippedButton.tsx +6 -6
- package/src/card/Card.tsx +36 -35
- package/src/card/CardContent.tsx +31 -28
- package/src/card/CardFooter.tsx +22 -16
- package/src/card/CardHeader.tsx +36 -30
- package/src/card/CardSubtitle.tsx +8 -6
- package/src/card/CardTitle.tsx +26 -25
- package/src/card/ClickableCard.tsx +57 -54
- package/src/chip/Chip.tsx +122 -120
- package/src/datetime/NativeDateField.tsx +7 -7
- package/src/datetime/NativeTimeField.tsx +7 -7
- package/src/dialog/Dialog.tsx +156 -150
- package/src/dialog/DialogContainer.tsx +35 -29
- package/src/dialog/DialogContent.tsx +26 -19
- package/src/dialog/DialogFooter.tsx +22 -19
- package/src/dialog/DialogHeader.tsx +24 -23
- package/src/dialog/DialogTitle.tsx +27 -26
- package/src/dialog/FixedDialog.tsx +70 -69
- package/src/divider/Divider.tsx +32 -26
- package/src/draggable/useDraggable.ts +3 -6
- package/src/draggable/utils.ts +1 -1
- package/src/expansion-panel/ExpansionList.tsx +24 -19
- package/src/expansion-panel/ExpansionPanel.tsx +11 -6
- package/src/expansion-panel/ExpansionPanelHeader.tsx +9 -6
- package/src/files/FileInput.tsx +79 -79
- package/src/focus/useFocusContainer.ts +1 -1
- package/src/form/Checkbox.tsx +6 -6
- package/src/form/Fieldset.tsx +33 -28
- package/src/form/Form.tsx +26 -25
- package/src/form/FormMessage.tsx +13 -7
- package/src/form/FormMessageContainer.tsx +12 -9
- package/src/form/FormMessageCounter.tsx +8 -7
- package/src/form/InputToggle.tsx +105 -107
- package/src/form/InputToggleIcon.tsx +12 -6
- package/src/form/Label.tsx +40 -41
- package/src/form/Legend.tsx +44 -43
- package/src/form/NativeSelect.tsx +116 -114
- package/src/form/OptGroup.tsx +15 -15
- package/src/form/Option.tsx +123 -122
- package/src/form/Password.tsx +66 -67
- package/src/form/Radio.tsx +6 -6
- package/src/form/ResizingTextAreaWrapper.tsx +7 -6
- package/src/form/SliderContainer.tsx +35 -29
- package/src/form/SliderThumb.tsx +8 -6
- package/src/form/SliderTrack.tsx +80 -80
- package/src/form/Switch.tsx +80 -79
- package/src/form/SwitchTrack.tsx +35 -34
- package/src/form/TextArea.tsx +167 -165
- package/src/form/TextField.tsx +106 -104
- package/src/form/TextFieldAddon.tsx +33 -32
- package/src/form/TextFieldContainer.tsx +8 -6
- package/src/form/sliderUtils.ts +1 -1
- package/src/form/types.ts +15 -5
- package/src/form/useCombobox.ts +6 -10
- package/src/form/useFormReset.ts +1 -1
- package/src/form/useTextField.ts +4 -4
- package/src/hoverMode/useHoverMode.ts +1 -1
- package/src/hoverMode/useHoverModeProvider.ts +13 -8
- package/src/icon/FontIcon.tsx +32 -30
- package/src/icon/IconRotator.tsx +30 -28
- package/src/icon/MaterialIcon.tsx +36 -30
- package/src/icon/MaterialSymbol.tsx +50 -44
- package/src/icon/SVGIcon.tsx +47 -41
- package/src/layout/LayoutAppBar.tsx +23 -28
- package/src/layout/LayoutNav.tsx +68 -62
- package/src/layout/LayoutWindowSplitter.tsx +9 -7
- package/src/layout/Main.tsx +30 -29
- package/src/link/Link.tsx +16 -11
- package/src/link/SkipToMainContent.tsx +6 -6
- package/src/list/List.tsx +31 -29
- package/src/list/ListItem.tsx +126 -125
- package/src/list/ListItemLink.tsx +128 -126
- package/src/list/ListItemText.tsx +42 -37
- package/src/list/ListSubheader.tsx +27 -26
- package/src/menu/DropdownMenu.tsx +2 -2
- package/src/menu/Menu.tsx +327 -326
- package/src/menu/MenuBar.tsx +51 -50
- package/src/menu/MenuButton.tsx +69 -70
- package/src/menu/MenuItem.tsx +37 -37
- package/src/menu/MenuItemButton.tsx +132 -133
- package/src/menu/MenuItemCheckbox.tsx +6 -7
- package/src/menu/MenuItemCircularProgress.tsx +13 -6
- package/src/menu/MenuItemFileInput.tsx +4 -6
- package/src/menu/MenuItemGroup.tsx +18 -18
- package/src/menu/MenuItemInputToggle.tsx +8 -6
- package/src/menu/MenuItemRadio.tsx +6 -6
- package/src/menu/MenuItemSeparator.tsx +7 -7
- package/src/menu/MenuItemSwitch.tsx +6 -6
- package/src/menu/MenuItemTextField.tsx +5 -7
- package/src/menu/MenuVisibilityProvider.tsx +3 -2
- package/src/menu/MenuWidget.tsx +123 -119
- package/src/menu/useContextMenu.ts +7 -4
- package/src/movement/types.ts +5 -9
- package/src/navigation/CollapsibleNavGroup.tsx +10 -6
- package/src/navigation/NavGroup.tsx +18 -19
- package/src/navigation/NavItem.tsx +16 -11
- package/src/navigation/NavItemButton.tsx +69 -66
- package/src/navigation/NavItemLink.tsx +102 -100
- package/src/navigation/NavSubheader.tsx +14 -16
- package/src/navigation/Navigation.tsx +1 -1
- package/src/navigation/types.ts +13 -4
- package/src/navigation/useActiveHeadingId.ts +1 -1
- package/src/overlay/Overlay.tsx +66 -65
- package/src/positioning/useFixedPositioning.ts +1 -1
- package/src/progress/CircularProgress.tsx +6 -6
- package/src/progress/LinearProgress.tsx +6 -6
- package/src/progress/types.ts +4 -0
- package/src/responsive-item/ResponsiveItem.tsx +29 -28
- package/src/responsive-item/ResponsiveItemOverlay.tsx +9 -8
- package/src/segmented-button/SegmentedButton.tsx +11 -6
- package/src/segmented-button/SegmentedButtonContainer.tsx +14 -8
- package/src/sheet/Sheet.tsx +42 -43
- package/src/snackbar/Snackbar.tsx +44 -38
- package/src/snackbar/Toast.tsx +110 -109
- package/src/snackbar/ToastActionButton.tsx +6 -6
- package/src/snackbar/ToastCloseButton.tsx +4 -6
- package/src/snackbar/ToastContent.tsx +56 -49
- package/src/spinbutton/SpinButton.tsx +9 -8
- package/src/spinbutton/types.ts +1 -1
- package/src/table/StickyTableSection.tsx +8 -6
- package/src/table/Table.tsx +47 -41
- package/src/table/TableBody.tsx +46 -42
- package/src/table/TableCell.tsx +83 -81
- package/src/table/TableCellContent.tsx +11 -6
- package/src/table/TableCheckbox.tsx +6 -6
- package/src/table/TableContainer.tsx +31 -26
- package/src/table/TableContainerProvider.ts +1 -1
- package/src/table/TableFooter.tsx +7 -12
- package/src/table/TableHeader.tsx +15 -9
- package/src/table/TableRadio.tsx +59 -58
- package/src/table/TableRow.tsx +34 -33
- package/src/tabs/SimpleTabPanel.tsx +18 -13
- package/src/tabs/SimpleTabPanels.tsx +11 -7
- package/src/tabs/TabList.tsx +106 -105
- package/src/tabs/TabListScrollButton.tsx +9 -6
- package/src/tabs/useTabList.ts +2 -2
- package/src/theme/useCSSVariables.ts +1 -1
- package/src/tooltip/Tooltip.tsx +61 -61
- package/src/tooltip/useTooltip.ts +2 -3
- package/src/transition/SkeletonPlaceholder.tsx +8 -6
- package/src/transition/Slide.tsx +54 -48
- package/src/transition/SlideContainer.tsx +16 -16
- package/src/tree/TreeGroup.tsx +54 -55
- package/src/tree/TreeProvider.tsx +2 -2
- package/src/tree/useTreeMovement.ts +6 -6
- package/src/types.ts +1 -16
- package/src/typography/Mark.tsx +16 -11
- package/src/typography/SrOnly.tsx +41 -35
- package/src/typography/TextContainer.tsx +12 -12
- package/src/typography/Typography.tsx +42 -41
- package/src/useAsyncFunction.ts +3 -3
- package/src/useDebouncedFunction.ts +1 -1
- package/src/useDropzone.ts +1 -1
- package/src/useEnsuredRef.ts +3 -3
- package/src/useThrottledFunction.ts +3 -3
- package/src/useUnmounted.ts +2 -4
- package/src/utils/applyRef.ts +2 -2
- package/src/window-splitter/WindowSplitter.tsx +6 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type LiHTMLAttributes, type ReactNode } from "react";
|
|
1
|
+
import { type LiHTMLAttributes, type ReactElement, type ReactNode } from "react";
|
|
2
2
|
import { type ButtonProps } from "../button/Button.js";
|
|
3
3
|
import { type CollapseTransitionHookOptions } from "../transition/useCollapseTransition.js";
|
|
4
4
|
import { type PropsWithRef } from "../types.js";
|
|
@@ -29,4 +29,4 @@ export interface CollapsibleNavGroupProps extends NavGroupProps, NavItemButtonRo
|
|
|
29
29
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
30
30
|
* @since 6.0.0
|
|
31
31
|
*/
|
|
32
|
-
export declare
|
|
32
|
+
export declare function CollapsibleNavGroup(props: CollapsibleNavGroupProps): ReactElement;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { forwardRef } from "react";
|
|
4
3
|
import { useCollapseTransition } from "../transition/useCollapseTransition.js";
|
|
5
4
|
import { NavGroup } from "./NavGroup.js";
|
|
6
5
|
import { NavItem } from "./NavItem.js";
|
|
@@ -13,8 +12,8 @@ const noop = ()=>{
|
|
|
13
12
|
*
|
|
14
13
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
15
14
|
* @since 6.0.0
|
|
16
|
-
*/ export
|
|
17
|
-
const { liProps, buttonProps, buttonChildren, icon, iconRotatorProps, disableIconRotator, className, children, collapsed, toggleCollapsed, collapseOptions, ...remaining } = props;
|
|
15
|
+
*/ export function CollapsibleNavGroup(props) {
|
|
16
|
+
const { ref, liProps, buttonProps, buttonChildren, icon, iconRotatorProps, disableIconRotator, className, children, collapsed, toggleCollapsed, collapseOptions, ...remaining } = props;
|
|
18
17
|
const { rendered, elementProps } = useCollapseTransition({
|
|
19
18
|
...collapseOptions,
|
|
20
19
|
nodeRef: ref,
|
|
@@ -44,6 +43,6 @@ const noop = ()=>{
|
|
|
44
43
|
})
|
|
45
44
|
]
|
|
46
45
|
});
|
|
47
|
-
}
|
|
46
|
+
}
|
|
48
47
|
|
|
49
48
|
//# sourceMappingURL=CollapsibleNavGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/CollapsibleNavGroup.tsx"],"sourcesContent":["\"use client\";\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/CollapsibleNavGroup.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type LiHTMLAttributes,\n type ReactElement,\n type ReactNode,\n} from \"react\";\n\nimport { type ButtonProps } from \"../button/Button.js\";\nimport {\n type CollapseTransitionHookOptions,\n useCollapseTransition,\n} from \"../transition/useCollapseTransition.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { NavGroup, type NavGroupProps } from \"./NavGroup.js\";\nimport { NavItem } from \"./NavItem.js\";\nimport {\n NavItemButton,\n type NavItemButtonRotatorProps,\n} from \"./NavItemButton.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * @since 6.0.0\n */\nexport interface CollapsibleNavGroupProps\n extends NavGroupProps, NavItemButtonRotatorProps {\n liProps?: PropsWithRef<LiHTMLAttributes<HTMLLIElement>>;\n buttonProps?: PropsWithRef<ButtonProps>;\n collapseOptions?: Omit<\n CollapseTransitionHookOptions<HTMLUListElement>,\n \"nodeRef\" | \"className\" | \"transitionIn\"\n >;\n\n /**\n * The children to render in the {@link NavItemButton} that toggles the\n * collapsed state\n */\n buttonChildren: ReactNode;\n\n /**\n * The content that should be rendered in the non-collapsed {@link NavGroup}.\n */\n children: ReactNode;\n\n collapsed: boolean;\n toggleCollapsed: () => void;\n}\n\n/**\n * **Client Component**\n *\n * @see {@link https://react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport function CollapsibleNavGroup(\n props: CollapsibleNavGroupProps\n): ReactElement {\n const {\n ref,\n liProps,\n buttonProps,\n buttonChildren,\n icon,\n iconRotatorProps,\n disableIconRotator,\n className,\n children,\n collapsed,\n toggleCollapsed,\n collapseOptions,\n ...remaining\n } = props;\n\n const { rendered, elementProps } = useCollapseTransition({\n ...collapseOptions,\n nodeRef: ref,\n className,\n transitionIn: !collapsed,\n });\n const onButtonClick = buttonProps?.onClick ?? noop;\n\n return (\n <NavItem {...liProps}>\n <NavItemButton\n {...buttonProps}\n onClick={(event) => {\n onButtonClick(event);\n toggleCollapsed();\n }}\n collapsed={collapsed}\n icon={icon}\n iconRotatorProps={iconRotatorProps}\n disableIconRotator={disableIconRotator}\n >\n {buttonChildren}\n </NavItemButton>\n {rendered && (\n <NavGroup {...remaining} {...elementProps}>\n {children}\n </NavGroup>\n )}\n </NavItem>\n );\n}\n"],"names":["useCollapseTransition","NavGroup","NavItem","NavItemButton","noop","CollapsibleNavGroup","props","ref","liProps","buttonProps","buttonChildren","icon","iconRotatorProps","disableIconRotator","className","children","collapsed","toggleCollapsed","collapseOptions","remaining","rendered","elementProps","nodeRef","transitionIn","onButtonClick","onClick","event"],"mappings":"AAAA;;AASA,SAEEA,qBAAqB,QAChB,yCAAyC;AAEhD,SAASC,QAAQ,QAA4B,gBAAgB;AAC7D,SAASC,OAAO,QAAQ,eAAe;AACvC,SACEC,aAAa,QAER,qBAAqB;AAE5B,MAAMC,OAAO;AACX,aAAa;AACf;AA6BA;;;;;CAKC,GACD,OAAO,SAASC,oBACdC,KAA+B;IAE/B,MAAM,EACJC,GAAG,EACHC,OAAO,EACPC,WAAW,EACXC,cAAc,EACdC,IAAI,EACJC,gBAAgB,EAChBC,kBAAkB,EAClBC,SAAS,EACTC,QAAQ,EACRC,SAAS,EACTC,eAAe,EACfC,eAAe,EACf,GAAGC,WACJ,GAAGb;IAEJ,MAAM,EAAEc,QAAQ,EAAEC,YAAY,EAAE,GAAGrB,sBAAsB;QACvD,GAAGkB,eAAe;QAClBI,SAASf;QACTO;QACAS,cAAc,CAACP;IACjB;IACA,MAAMQ,gBAAgBf,aAAagB,WAAWrB;IAE9C,qBACE,MAACF;QAAS,GAAGM,OAAO;;0BAClB,KAACL;gBACE,GAAGM,WAAW;gBACfgB,SAAS,CAACC;oBACRF,cAAcE;oBACdT;gBACF;gBACAD,WAAWA;gBACXL,MAAMA;gBACNC,kBAAkBA;gBAClBC,oBAAoBA;0BAEnBH;;YAEFU,0BACC,KAACnB;gBAAU,GAAGkB,SAAS;gBAAG,GAAGE,YAAY;0BACtCN;;;;AAKX"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { type ReactNode } from "react";
|
|
1
|
+
import { type ReactElement, type ReactNode, type Ref } from "react";
|
|
2
2
|
import { type ListProps } from "../list/List.js";
|
|
3
3
|
/**
|
|
4
4
|
* @since 6.0.0
|
|
5
5
|
*/
|
|
6
6
|
export interface NavGroupProps extends ListProps {
|
|
7
|
+
ref?: Ref<HTMLUListElement>;
|
|
7
8
|
depth: number;
|
|
8
9
|
children: ReactNode;
|
|
9
10
|
}
|
|
@@ -14,4 +15,4 @@ export interface NavGroupProps extends ListProps {
|
|
|
14
15
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
15
16
|
* @since 6.0.0
|
|
16
17
|
*/
|
|
17
|
-
export declare
|
|
18
|
+
export declare function NavGroup(props: NavGroupProps): ReactElement;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from "react";
|
|
3
2
|
import { List } from "../list/List.js";
|
|
4
3
|
import { navGroup } from "./navGroupStyles.js";
|
|
5
4
|
/**
|
|
@@ -8,8 +7,8 @@ import { navGroup } from "./navGroupStyles.js";
|
|
|
8
7
|
*
|
|
9
8
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
10
9
|
* @since 6.0.0
|
|
11
|
-
*/ export
|
|
12
|
-
const { style, depth, className, children, ...remaining } = props;
|
|
10
|
+
*/ export function NavGroup(props) {
|
|
11
|
+
const { ref, style, depth, className, children, ...remaining } = props;
|
|
13
12
|
return /*#__PURE__*/ _jsx(List, {
|
|
14
13
|
...remaining,
|
|
15
14
|
ref: ref,
|
|
@@ -23,6 +22,6 @@ import { navGroup } from "./navGroupStyles.js";
|
|
|
23
22
|
}),
|
|
24
23
|
children: children
|
|
25
24
|
});
|
|
26
|
-
}
|
|
25
|
+
}
|
|
27
26
|
|
|
28
27
|
//# sourceMappingURL=NavGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/NavGroup.tsx"],"sourcesContent":["import { type ReactNode,
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/NavGroup.tsx"],"sourcesContent":["import { type ReactElement, type ReactNode, type Ref } from \"react\";\n\nimport { List, type ListProps } from \"../list/List.js\";\nimport { navGroup } from \"./navGroupStyles.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface NavGroupProps extends ListProps {\n ref?: Ref<HTMLUListElement>;\n depth: number;\n children: ReactNode;\n}\n\n/**\n * A simple wrapper around the {@link Link} component that ads the\n * `--rmd-tree-depth: depth` custom property to allow for incremented padding.\n *\n * @see {@link https://react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport function NavGroup(props: NavGroupProps): ReactElement {\n const { ref, style, depth, className, children, ...remaining } = props;\n\n return (\n <List\n {...remaining}\n ref={ref}\n style={{ ...style, \"--rmd-tree-depth\": depth }}\n className={navGroup({\n className,\n disablePadding: depth > 0,\n })}\n >\n {children}\n </List>\n );\n}\n"],"names":["List","navGroup","NavGroup","props","ref","style","depth","className","children","remaining","disablePadding"],"mappings":";AAEA,SAASA,IAAI,QAAwB,kBAAkB;AACvD,SAASC,QAAQ,QAAQ,sBAAsB;AAW/C;;;;;;CAMC,GACD,OAAO,SAASC,SAASC,KAAoB;IAC3C,MAAM,EAAEC,GAAG,EAAEC,KAAK,EAAEC,KAAK,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGC,WAAW,GAAGN;IAEjE,qBACE,KAACH;QACE,GAAGS,SAAS;QACbL,KAAKA;QACLC,OAAO;YAAE,GAAGA,KAAK;YAAE,oBAAoBC;QAAM;QAC7CC,WAAWN,SAAS;YAClBM;YACAG,gBAAgBJ,QAAQ;QAC1B;kBAECE;;AAGP"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type LiHTMLAttributes, type ReactNode } from "react";
|
|
1
|
+
import { type LiHTMLAttributes, type ReactElement, type ReactNode, type Ref } from "react";
|
|
2
2
|
import { type NavItemClassNameOptions } from "./navItemStyles.js";
|
|
3
3
|
/**
|
|
4
4
|
* @since 6.0.0
|
|
@@ -6,6 +6,7 @@ import { type NavItemClassNameOptions } from "./navItemStyles.js";
|
|
|
6
6
|
* augmentation.
|
|
7
7
|
*/
|
|
8
8
|
export interface NavItemProps extends LiHTMLAttributes<HTMLLIElement>, NavItemClassNameOptions {
|
|
9
|
+
ref?: Ref<HTMLLIElement>;
|
|
9
10
|
children: ReactNode;
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
@@ -16,4 +17,4 @@ export interface NavItemProps extends LiHTMLAttributes<HTMLLIElement>, NavItemCl
|
|
|
16
17
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
17
18
|
* @since 6.0.0
|
|
18
19
|
*/
|
|
19
|
-
export declare
|
|
20
|
+
export declare function NavItem(props: NavItemProps): ReactElement;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from "react";
|
|
3
2
|
import { navItem } from "./navItemStyles.js";
|
|
4
3
|
/**
|
|
5
4
|
* This component is just used to add padding based on the depth of the nav item
|
|
@@ -8,8 +7,8 @@ import { navItem } from "./navItemStyles.js";
|
|
|
8
7
|
*
|
|
9
8
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
10
9
|
* @since 6.0.0
|
|
11
|
-
*/ export
|
|
12
|
-
const { className, children, ...remaining } = props;
|
|
10
|
+
*/ export function NavItem(props) {
|
|
11
|
+
const { ref, className, children, ...remaining } = props;
|
|
13
12
|
return /*#__PURE__*/ _jsx("li", {
|
|
14
13
|
...remaining,
|
|
15
14
|
ref: ref,
|
|
@@ -18,6 +17,6 @@ import { navItem } from "./navItemStyles.js";
|
|
|
18
17
|
}),
|
|
19
18
|
children: children
|
|
20
19
|
});
|
|
21
|
-
}
|
|
20
|
+
}
|
|
22
21
|
|
|
23
22
|
//# sourceMappingURL=NavItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/NavItem.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/NavItem.tsx"],"sourcesContent":["import {\n type LiHTMLAttributes,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from \"react\";\n\nimport { type NavItemClassNameOptions, navItem } from \"./navItemStyles.js\";\n\n/**\n * @since 6.0.0\n * @since 6.3.1 Extends NavItemClassNameOptions to allow for CSS properties\n * augmentation.\n */\nexport interface NavItemProps\n extends LiHTMLAttributes<HTMLLIElement>, NavItemClassNameOptions {\n ref?: Ref<HTMLLIElement>;\n children: ReactNode;\n}\n\n/**\n * This component is just used to add padding based on the depth of the nav item\n * and should not be used on its own. See the `CollapsibleNavGroup` and\n * `NavItemLink` instead.\n *\n * @see {@link https://react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport function NavItem(props: NavItemProps): ReactElement {\n const { ref, className, children, ...remaining } = props;\n\n return (\n <li {...remaining} ref={ref} className={navItem({ className })}>\n {children}\n </li>\n );\n}\n"],"names":["navItem","NavItem","props","ref","className","children","remaining","li"],"mappings":";AAOA,SAAuCA,OAAO,QAAQ,qBAAqB;AAa3E;;;;;;;CAOC,GACD,OAAO,SAASC,QAAQC,KAAmB;IACzC,MAAM,EAAEC,GAAG,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGC,WAAW,GAAGJ;IAEnD,qBACE,KAACK;QAAI,GAAGD,SAAS;QAAEH,KAAKA;QAAKC,WAAWJ,QAAQ;YAAEI;QAAU;kBACzDC;;AAGP"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type MouseEventHandler, type ReactNode } from "react";
|
|
1
|
+
import { type MouseEventHandler, type ReactElement, type ReactNode } from "react";
|
|
2
2
|
import { type ButtonProps } from "../button/Button.js";
|
|
3
3
|
import { type IconRotatorBaseProps } from "../icon/IconRotator.js";
|
|
4
4
|
import { type NavItemContentProps } from "./types.js";
|
|
@@ -24,4 +24,4 @@ export interface NavItemButtonProps extends Omit<ButtonProps, "children">, NavIt
|
|
|
24
24
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
25
25
|
* @since 6.0.0
|
|
26
26
|
*/
|
|
27
|
-
export declare
|
|
27
|
+
export declare function NavItemButton(props: NavItemButtonProps): ReactElement;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { forwardRef } from "react";
|
|
4
3
|
import { Button } from "../button/Button.js";
|
|
5
4
|
import { cssUtils } from "../cssUtils.js";
|
|
6
5
|
import { IconRotator } from "../icon/IconRotator.js";
|
|
@@ -13,8 +12,8 @@ import { navItemContent } from "./navItemStyles.js";
|
|
|
13
12
|
*
|
|
14
13
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
15
14
|
* @since 6.0.0
|
|
16
|
-
*/ export
|
|
17
|
-
const { className, collapsed, icon, iconRotatorProps, disableIconRotator, children, beforeAddon, afterAddon, spanProps, onBlur, onContextMenu, onFocus, onMouseEnter, onMouseLeave, onTouchEnd, onTouchStart, tooltipOptions, ...remaining } = props;
|
|
15
|
+
*/ export function NavItemButton(props) {
|
|
16
|
+
const { ref, className, collapsed, icon, iconRotatorProps, disableIconRotator, children, beforeAddon, afterAddon, spanProps, onBlur, onContextMenu, onFocus, onMouseEnter, onMouseLeave, onTouchEnd, onTouchStart, tooltipOptions, ...remaining } = props;
|
|
18
17
|
const { elementProps, tooltipProps, overflowRef } = useTooltip({
|
|
19
18
|
overflowOnly: true,
|
|
20
19
|
defaultPosition: "right",
|
|
@@ -62,6 +61,6 @@ import { navItemContent } from "./navItemStyles.js";
|
|
|
62
61
|
})
|
|
63
62
|
]
|
|
64
63
|
});
|
|
65
|
-
}
|
|
64
|
+
}
|
|
66
65
|
|
|
67
66
|
//# sourceMappingURL=NavItemButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/NavItemButton.tsx"],"sourcesContent":["\"use client\";\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/NavItemButton.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type MouseEventHandler,\n type ReactElement,\n type ReactNode,\n} from \"react\";\n\nimport { Button, type ButtonProps } from \"../button/Button.js\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport { IconRotator, type IconRotatorBaseProps } from \"../icon/IconRotator.js\";\nimport { getIcon } from \"../icon/config.js\";\nimport { Tooltip } from \"../tooltip/Tooltip.js\";\nimport { useTooltip } from \"../tooltip/useTooltip.js\";\nimport { navItemContent } from \"./navItemStyles.js\";\nimport { type NavItemContentProps } from \"./types.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface NavItemButtonRotatorProps {\n /** @defaultValue `getIcon(\"dropdown\")` */\n icon?: ReactNode;\n iconRotatorProps?: Omit<IconRotatorBaseProps, \"rotated\">;\n disableIconRotator?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface NavItemButtonProps\n extends\n Omit<ButtonProps, \"children\">,\n NavItemButtonRotatorProps,\n NavItemContentProps {\n onClick: MouseEventHandler<HTMLButtonElement>;\n collapsed: boolean;\n}\n\n/**\n * **Client Component**\n *\n * @see {@link https://react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport function NavItemButton(props: NavItemButtonProps): ReactElement {\n const {\n ref,\n className,\n collapsed,\n icon,\n iconRotatorProps,\n disableIconRotator,\n children,\n beforeAddon,\n afterAddon,\n spanProps,\n onBlur,\n onContextMenu,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchEnd,\n onTouchStart,\n tooltipOptions,\n ...remaining\n } = props;\n\n const { elementProps, tooltipProps, overflowRef } = useTooltip({\n overflowOnly: true,\n defaultPosition: \"right\",\n ...tooltipOptions,\n onBlur,\n onContextMenu,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchEnd,\n onTouchStart,\n });\n\n return (\n <>\n <Button\n aria-expanded={!collapsed}\n {...remaining}\n {...elementProps}\n ref={ref}\n className={navItemContent({ className })}\n >\n {beforeAddon}\n <span\n {...spanProps}\n ref={overflowRef}\n className={cssUtils({\n className: spanProps?.className,\n textOverflow: \"ellipsis\",\n })}\n >\n {children}\n </span>\n {afterAddon}\n {!disableIconRotator && (\n <IconRotator {...iconRotatorProps} rotated={!collapsed}>\n {getIcon(\"dropdown\", icon)}\n </IconRotator>\n )}\n </Button>\n <Tooltip {...tooltipProps}>{children}</Tooltip>\n </>\n );\n}\n"],"names":["Button","cssUtils","IconRotator","getIcon","Tooltip","useTooltip","navItemContent","NavItemButton","props","ref","className","collapsed","icon","iconRotatorProps","disableIconRotator","children","beforeAddon","afterAddon","spanProps","onBlur","onContextMenu","onFocus","onMouseEnter","onMouseLeave","onTouchEnd","onTouchStart","tooltipOptions","remaining","elementProps","tooltipProps","overflowRef","overflowOnly","defaultPosition","aria-expanded","span","textOverflow","rotated"],"mappings":"AAAA;;AAQA,SAASA,MAAM,QAA0B,sBAAsB;AAC/D,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,WAAW,QAAmC,yBAAyB;AAChF,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,UAAU,QAAQ,2BAA2B;AACtD,SAASC,cAAc,QAAQ,qBAAqB;AAyBpD;;;;;CAKC,GACD,OAAO,SAASC,cAAcC,KAAyB;IACrD,MAAM,EACJC,GAAG,EACHC,SAAS,EACTC,SAAS,EACTC,IAAI,EACJC,gBAAgB,EAChBC,kBAAkB,EAClBC,QAAQ,EACRC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,MAAM,EACNC,aAAa,EACbC,OAAO,EACPC,YAAY,EACZC,YAAY,EACZC,UAAU,EACVC,YAAY,EACZC,cAAc,EACd,GAAGC,WACJ,GAAGnB;IAEJ,MAAM,EAAEoB,YAAY,EAAEC,YAAY,EAAEC,WAAW,EAAE,GAAGzB,WAAW;QAC7D0B,cAAc;QACdC,iBAAiB;QACjB,GAAGN,cAAc;QACjBP;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAEA,qBACE;;0BACE,MAACzB;gBACCiC,iBAAe,CAACtB;gBACf,GAAGgB,SAAS;gBACZ,GAAGC,YAAY;gBAChBnB,KAAKA;gBACLC,WAAWJ,eAAe;oBAAEI;gBAAU;;oBAErCM;kCACD,KAACkB;wBACE,GAAGhB,SAAS;wBACbT,KAAKqB;wBACLpB,WAAWT,SAAS;4BAClBS,WAAWQ,WAAWR;4BACtByB,cAAc;wBAChB;kCAECpB;;oBAEFE;oBACA,CAACH,oCACA,KAACZ;wBAAa,GAAGW,gBAAgB;wBAAEuB,SAAS,CAACzB;kCAC1CR,QAAQ,YAAYS;;;;0BAI3B,KAACR;gBAAS,GAAGyB,YAAY;0BAAGd;;;;AAGlC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AnchorHTMLAttributes, type LiHTMLAttributes } from "react";
|
|
1
|
+
import { type AnchorHTMLAttributes, type LiHTMLAttributes, type ReactElement, type Ref } from "react";
|
|
2
2
|
import { type ComponentWithRippleProps } from "../interaction/types.js";
|
|
3
3
|
import { type PropsWithRef } from "../types.js";
|
|
4
4
|
import { type NavItemContentProps, type NavigationLinkComponent } from "./types.js";
|
|
@@ -6,6 +6,7 @@ import { type NavItemContentProps, type NavigationLinkComponent } from "./types.
|
|
|
6
6
|
* @since 6.0.0
|
|
7
7
|
*/
|
|
8
8
|
export interface NavItemLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "children">, NavItemContentProps, ComponentWithRippleProps {
|
|
9
|
+
ref?: Ref<HTMLAnchorElement>;
|
|
9
10
|
/** @defaultValue `"a"` */
|
|
10
11
|
as?: NavigationLinkComponent;
|
|
11
12
|
href: string;
|
|
@@ -39,4 +40,4 @@ export interface NavItemLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorEl
|
|
|
39
40
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
40
41
|
* @since 6.0.0
|
|
41
42
|
*/
|
|
42
|
-
export declare
|
|
43
|
+
export declare function NavItemLink(props: NavItemLinkProps): ReactElement;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { useEffect } from "react";
|
|
4
4
|
import { cssUtils } from "../cssUtils.js";
|
|
5
5
|
import { useElementInteraction } from "../interaction/useElementInteraction.js";
|
|
6
6
|
import { Tooltip } from "../tooltip/Tooltip.js";
|
|
@@ -13,8 +13,8 @@ import { navItemLink } from "./navItemStyles.js";
|
|
|
13
13
|
*
|
|
14
14
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
15
15
|
* @since 6.0.0
|
|
16
|
-
*/ export
|
|
17
|
-
const { as: Component = "a", href, active, activeClassName, beforeAddon, afterAddon, className, children, liProps, spanProps, disabled = !href, onClick, onBlur, onDragStart, onKeyDown, onKeyUp, onMouseDown, onMouseLeave, onMouseUp, onTouchMove, onTouchEnd, onTouchStart, tooltipOptions, disableRipple, disableScrollIntoView, ...remaining } = props;
|
|
16
|
+
*/ export function NavItemLink(props) {
|
|
17
|
+
const { ref: propRef, as: Component = "a", href, active, activeClassName, beforeAddon, afterAddon, className, children, liProps, spanProps, disabled = !href, onClick, onBlur, onDragStart, onKeyDown, onKeyUp, onMouseDown, onMouseLeave, onMouseUp, onTouchMove, onTouchEnd, onTouchStart, tooltipOptions, disableRipple, disableScrollIntoView, ...remaining } = props;
|
|
18
18
|
const [linkRef, linkRefCallback] = useEnsuredRef(propRef);
|
|
19
19
|
const { handlers, ripples } = useElementInteraction({
|
|
20
20
|
mode: disableRipple ? "none" : undefined,
|
|
@@ -88,6 +88,6 @@ import { navItemLink } from "./navItemStyles.js";
|
|
|
88
88
|
})
|
|
89
89
|
]
|
|
90
90
|
});
|
|
91
|
-
}
|
|
91
|
+
}
|
|
92
92
|
|
|
93
93
|
//# sourceMappingURL=NavItemLink.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/NavItemLink.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type AnchorHTMLAttributes,\n type LiHTMLAttributes,\n
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/NavItemLink.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type AnchorHTMLAttributes,\n type LiHTMLAttributes,\n type ReactElement,\n type Ref,\n useEffect,\n} from \"react\";\n\nimport { cssUtils } from \"../cssUtils.js\";\nimport { type ComponentWithRippleProps } from \"../interaction/types.js\";\nimport { useElementInteraction } from \"../interaction/useElementInteraction.js\";\nimport { Tooltip } from \"../tooltip/Tooltip.js\";\nimport { useTooltip } from \"../tooltip/useTooltip.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredRef } from \"../useEnsuredRef.js\";\nimport { NavItem } from \"./NavItem.js\";\nimport { navItemLink } from \"./navItemStyles.js\";\nimport {\n type NavItemContentProps,\n type NavigationLinkComponent,\n} from \"./types.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface NavItemLinkProps\n extends\n Omit<AnchorHTMLAttributes<HTMLAnchorElement>, \"children\">,\n NavItemContentProps,\n ComponentWithRippleProps {\n ref?: Ref<HTMLAnchorElement>;\n\n /** @defaultValue `\"a\"` */\n as?: NavigationLinkComponent;\n href: string;\n\n /**\n * Any additional props to provide the wrapping `<li>` element such as\n * `style`, `className`, and `ref`.\n */\n liProps?: PropsWithRef<LiHTMLAttributes<HTMLLIElement>>;\n\n /**\n * Set this to `true` if the link matches the current `pathname`. This will\n * enable `aria-current=\"true\"` and apply active styling.\n */\n active: boolean;\n\n /** @defaultValue `cssUtils({ fontWeight: \"bold\" })` */\n activeClassName?: string;\n\n /** @defaultValue `!to && !href` */\n disabled?: boolean;\n\n /**\n * Set this to `true` to prevent this item from scrolling into view when it\n * becomes active. It is generally recommended to keep this `false` unless a\n * custom implementation has been added so that when the temporary navigation\n * will show the active route.\n *\n * @defaultValue `false`\n */\n disableScrollIntoView?: boolean;\n}\n\n/**\n * **Client Component**\n *\n * @see {@link https://react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport function NavItemLink(props: NavItemLinkProps): ReactElement {\n const {\n ref: propRef,\n as: Component = \"a\",\n href,\n active,\n activeClassName,\n beforeAddon,\n afterAddon,\n className,\n children,\n liProps,\n spanProps,\n disabled = !href,\n onClick,\n onBlur,\n onDragStart,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchMove,\n onTouchEnd,\n onTouchStart,\n tooltipOptions,\n disableRipple,\n disableScrollIntoView,\n ...remaining\n } = props;\n\n const [linkRef, linkRefCallback] = useEnsuredRef(propRef);\n const { handlers, ripples } = useElementInteraction({\n mode: disableRipple ? \"none\" : undefined,\n disabled,\n onClick,\n onBlur,\n onDragStart,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchMove,\n onTouchEnd,\n onTouchStart,\n });\n\n const { elementProps, tooltipProps, overflowRef } = useTooltip({\n overflowOnly: true,\n defaultPosition: \"right\",\n ...tooltipOptions,\n ...handlers,\n });\n useEffect(() => {\n const link = linkRef.current;\n if (\n !active ||\n !link ||\n disableScrollIntoView ||\n document.activeElement === link ||\n // do not scroll into view if the collapse transition is occurring since\n // it makes it animate weirdly\n link.closest(\".rmd-collapse--enter\")\n ) {\n return;\n }\n\n link.scrollIntoView({ block: \"center\" });\n }, [active, disableScrollIntoView, linkRef]);\n\n return (\n <NavItem {...liProps}>\n <Component\n aria-current={active ? \"page\" : undefined}\n {...remaining}\n {...handlers}\n {...elementProps}\n ref={linkRefCallback}\n href={href}\n className={navItemLink({\n active,\n activeClassName,\n className,\n })}\n >\n {beforeAddon}\n <span\n {...spanProps}\n ref={overflowRef}\n className={cssUtils({\n className: spanProps?.className,\n textOverflow: \"ellipsis\",\n })}\n >\n {children}\n </span>\n {afterAddon}\n {ripples}\n </Component>\n <Tooltip {...tooltipProps}>{children}</Tooltip>\n </NavItem>\n );\n}\n"],"names":["useEffect","cssUtils","useElementInteraction","Tooltip","useTooltip","useEnsuredRef","NavItem","navItemLink","NavItemLink","props","ref","propRef","as","Component","href","active","activeClassName","beforeAddon","afterAddon","className","children","liProps","spanProps","disabled","onClick","onBlur","onDragStart","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchMove","onTouchEnd","onTouchStart","tooltipOptions","disableRipple","disableScrollIntoView","remaining","linkRef","linkRefCallback","handlers","ripples","mode","undefined","elementProps","tooltipProps","overflowRef","overflowOnly","defaultPosition","link","current","document","activeElement","closest","scrollIntoView","block","aria-current","span","textOverflow"],"mappings":"AAAA;;AAEA,SAKEA,SAAS,QACJ,QAAQ;AAEf,SAASC,QAAQ,QAAQ,iBAAiB;AAE1C,SAASC,qBAAqB,QAAQ,0CAA0C;AAChF,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,UAAU,QAAQ,2BAA2B;AAEtD,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,OAAO,QAAQ,eAAe;AACvC,SAASC,WAAW,QAAQ,qBAAqB;AAiDjD;;;;;CAKC,GACD,OAAO,SAASC,YAAYC,KAAuB;IACjD,MAAM,EACJC,KAAKC,OAAO,EACZC,IAAIC,YAAY,GAAG,EACnBC,IAAI,EACJC,MAAM,EACNC,eAAe,EACfC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,QAAQ,EACRC,OAAO,EACPC,SAAS,EACTC,WAAW,CAACT,IAAI,EAChBU,OAAO,EACPC,MAAM,EACNC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,WAAW,EACXC,UAAU,EACVC,YAAY,EACZC,cAAc,EACdC,aAAa,EACbC,qBAAqB,EACrB,GAAGC,WACJ,GAAG7B;IAEJ,MAAM,CAAC8B,SAASC,gBAAgB,GAAGnC,cAAcM;IACjD,MAAM,EAAE8B,QAAQ,EAAEC,OAAO,EAAE,GAAGxC,sBAAsB;QAClDyC,MAAMP,gBAAgB,SAASQ;QAC/BrB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAEA,MAAM,EAAEW,YAAY,EAAEC,YAAY,EAAEC,WAAW,EAAE,GAAG3C,WAAW;QAC7D4C,cAAc;QACdC,iBAAiB;QACjB,GAAGd,cAAc;QACjB,GAAGM,QAAQ;IACb;IACAzC,UAAU;QACR,MAAMkD,OAAOX,QAAQY,OAAO;QAC5B,IACE,CAACpC,UACD,CAACmC,QACDb,yBACAe,SAASC,aAAa,KAAKH,QAC3B,wEAAwE;QACxE,8BAA8B;QAC9BA,KAAKI,OAAO,CAAC,yBACb;YACA;QACF;QAEAJ,KAAKK,cAAc,CAAC;YAAEC,OAAO;QAAS;IACxC,GAAG;QAACzC;QAAQsB;QAAuBE;KAAQ;IAE3C,qBACE,MAACjC;QAAS,GAAGe,OAAO;;0BAClB,MAACR;gBACC4C,gBAAc1C,SAAS,SAAS6B;gBAC/B,GAAGN,SAAS;gBACZ,GAAGG,QAAQ;gBACX,GAAGI,YAAY;gBAChBnC,KAAK8B;gBACL1B,MAAMA;gBACNK,WAAWZ,YAAY;oBACrBQ;oBACAC;oBACAG;gBACF;;oBAECF;kCACD,KAACyC;wBACE,GAAGpC,SAAS;wBACbZ,KAAKqC;wBACL5B,WAAWlB,SAAS;4BAClBkB,WAAWG,WAAWH;4BACtBwC,cAAc;wBAChB;kCAECvC;;oBAEFF;oBACAwB;;;0BAEH,KAACvC;gBAAS,GAAG2C,YAAY;0BAAG1B;;;;AAGlC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
1
2
|
import { type ListSubheaderProps } from "../list/ListSubheader.js";
|
|
2
3
|
/**
|
|
3
4
|
* @since 6.0.0
|
|
@@ -10,4 +11,4 @@ export type NavSubheaderProps = ListSubheaderProps;
|
|
|
10
11
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
11
12
|
* @since 6.0.0
|
|
12
13
|
*/
|
|
13
|
-
export declare
|
|
14
|
+
export declare function NavSubheader(props: NavSubheaderProps): ReactElement;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from "react";
|
|
3
2
|
import { ListSubheader } from "../list/ListSubheader.js";
|
|
4
3
|
import { navItem } from "./navItemStyles.js";
|
|
5
4
|
/**
|
|
@@ -8,8 +7,8 @@ import { navItem } from "./navItemStyles.js";
|
|
|
8
7
|
*
|
|
9
8
|
* @see {@link https://react-md.dev/components/navigation | Navigation Demos}
|
|
10
9
|
* @since 6.0.0
|
|
11
|
-
*/ export
|
|
12
|
-
const { textProps, ...remaining } = props;
|
|
10
|
+
*/ export function NavSubheader(props) {
|
|
11
|
+
const { ref, textProps, ...remaining } = props;
|
|
13
12
|
return /*#__PURE__*/ _jsx(ListSubheader, {
|
|
14
13
|
...remaining,
|
|
15
14
|
ref: ref,
|
|
@@ -20,6 +19,6 @@ import { navItem } from "./navItemStyles.js";
|
|
|
20
19
|
})
|
|
21
20
|
}
|
|
22
21
|
});
|
|
23
|
-
}
|
|
22
|
+
}
|
|
24
23
|
|
|
25
24
|
//# sourceMappingURL=NavSubheader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/NavSubheader.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/NavSubheader.tsx"],"sourcesContent":["import { type ReactElement } from \"react\";\n\nimport {\n ListSubheader,\n type ListSubheaderProps,\n} from \"../list/ListSubheader.js\";\nimport { navItem } from \"./navItemStyles.js\";\n\n/**\n * @since 6.0.0\n */\nexport type NavSubheaderProps = ListSubheaderProps;\n\n/**\n * A simple wrapper around the {@link ListSubheader} that updates the padding\n * based on the current navigation item depth to match the other items.\n *\n * @see {@link https://react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport function NavSubheader(props: NavSubheaderProps): ReactElement {\n const { ref, textProps, ...remaining } = props;\n\n return (\n <ListSubheader\n {...remaining}\n ref={ref}\n textProps={{\n ...textProps,\n className: navItem({ className: textProps?.className }),\n }}\n />\n );\n}\n"],"names":["ListSubheader","navItem","NavSubheader","props","ref","textProps","remaining","className"],"mappings":";AAEA,SACEA,aAAa,QAER,2BAA2B;AAClC,SAASC,OAAO,QAAQ,qBAAqB;AAO7C;;;;;;CAMC,GACD,OAAO,SAASC,aAAaC,KAAwB;IACnD,MAAM,EAAEC,GAAG,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGH;IAEzC,qBACE,KAACH;QACE,GAAGM,SAAS;QACbF,KAAKA;QACLC,WAAW;YACT,GAAGA,SAAS;YACZE,WAAWN,QAAQ;gBAAEM,WAAWF,WAAWE;YAAU;QACvD;;AAGN"}
|
|
@@ -40,7 +40,7 @@ export interface NavigationProps<Item extends NavigationItem = NavigationItem, D
|
|
|
40
40
|
* import { usePathname } from "next/navigation.js";
|
|
41
41
|
* import { type ReactElement } from "react";
|
|
42
42
|
*
|
|
43
|
-
* import { LinkUnstyled } from "@/components/LinkUnstyled.
|
|
43
|
+
* import { LinkUnstyled } from "@/components/LinkUnstyled.js";
|
|
44
44
|
*
|
|
45
45
|
* const items: readonly NavigationItem[] = [
|
|
46
46
|
* {
|
|
@@ -42,7 +42,7 @@ import { NavGroup } from "./NavGroup.js";
|
|
|
42
42
|
* import { usePathname } from "next/navigation.js";
|
|
43
43
|
* import { type ReactElement } from "react";
|
|
44
44
|
*
|
|
45
|
-
* import { LinkUnstyled } from "@/components/LinkUnstyled.
|
|
45
|
+
* import { LinkUnstyled } from "@/components/LinkUnstyled.js";
|
|
46
46
|
*
|
|
47
47
|
* const items: readonly NavigationItem[] = [
|
|
48
48
|
* {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/Navigation.tsx"],"sourcesContent":["import { type ComponentType, type ReactElement } from \"react\";\n\nimport { type ListProps } from \"../list/List.js\";\nimport {\n type RecursiveItem,\n type RecursiveItemKeyOptions,\n type RenderRecursiveItemsProps,\n RenderRecursively,\n getRecursiveItemKey,\n} from \"../utils/RenderRecursively.js\";\nimport { DefaultNavigationRenderer } from \"./DefaultNavigationRenderer.js\";\nimport { NavGroup } from \"./NavGroup.js\";\nimport { type NavigationItem, type NavigationRenderData } from \"./types.js\";\n\n/**\n * The default implementation for the nav item keys. It will attempt to set the\n * key in the following order:\n * - `href` if it exists and has length\n * - `children` if it's a string and has length\n * - default {@link getRecursiveItemKey} behavior of `${depth}-${index}`\n *\n * @since 6.0.0\n */\nexport function getRecursiveNavItemKey<\n Item extends NavigationItem = NavigationItem,\n>(options: RecursiveItemKeyOptions<Item>): string {\n const { item } = options;\n // if it's a route, try setting the key to the href since they are generally\n // unique\n if (\"href\" in item && item.href) {\n return item.href;\n }\n\n // if children exist in the item (group, route, subheader), try to set that as\n // the key since they are usually unique\n if (\n \"children\" in item &&\n typeof item.children === \"string\" &&\n item.children\n ) {\n return item.children;\n }\n\n // use the default key behavior if all else fails\n return getRecursiveItemKey(options);\n}\n\n/**\n * @since 6.0.0\n */\nexport interface NavigationProps<\n Item extends NavigationItem = NavigationItem,\n Data extends NavigationRenderData = NavigationRenderData,\n> extends Omit<ListProps, \"children\"> {\n data: Data;\n items: readonly RecursiveItem<Item>[];\n\n /** @see {@link DefaultNavigationRenderer} */\n render?: ComponentType<RenderRecursiveItemsProps<Item, Data>>;\n\n /** @see {@link getRecursiveNavItemKey} */\n getItemKey?: (options: RecursiveItemKeyOptions<Item>) => string;\n}\n\n/**\n * **Client Component**\n *\n * The `Navigation` component can be used to create a list of links to\n * different pages within the app and generally used within a `Sheet` or\n * `LayoutNav`.\n *\n * @example Simple Example\n * ```tsx\n * \"use client\";\n *\n * import { Navigation } from \"@react-md/core/navigation/Navigation\";\n * import { type NavigationItem } from \"@react-md/core/navigation/types\";\n * import { useNavigationExpansion } from \"@react-md/core/navigation/useNavigationExpansion\";\n * import { usePathname } from \"next/navigation.js\";\n * import { type ReactElement } from \"react\";\n *\n * import { LinkUnstyled } from \"@/components/LinkUnstyled.
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/Navigation.tsx"],"sourcesContent":["import { type ComponentType, type ReactElement } from \"react\";\n\nimport { type ListProps } from \"../list/List.js\";\nimport {\n type RecursiveItem,\n type RecursiveItemKeyOptions,\n type RenderRecursiveItemsProps,\n RenderRecursively,\n getRecursiveItemKey,\n} from \"../utils/RenderRecursively.js\";\nimport { DefaultNavigationRenderer } from \"./DefaultNavigationRenderer.js\";\nimport { NavGroup } from \"./NavGroup.js\";\nimport { type NavigationItem, type NavigationRenderData } from \"./types.js\";\n\n/**\n * The default implementation for the nav item keys. It will attempt to set the\n * key in the following order:\n * - `href` if it exists and has length\n * - `children` if it's a string and has length\n * - default {@link getRecursiveItemKey} behavior of `${depth}-${index}`\n *\n * @since 6.0.0\n */\nexport function getRecursiveNavItemKey<\n Item extends NavigationItem = NavigationItem,\n>(options: RecursiveItemKeyOptions<Item>): string {\n const { item } = options;\n // if it's a route, try setting the key to the href since they are generally\n // unique\n if (\"href\" in item && item.href) {\n return item.href;\n }\n\n // if children exist in the item (group, route, subheader), try to set that as\n // the key since they are usually unique\n if (\n \"children\" in item &&\n typeof item.children === \"string\" &&\n item.children\n ) {\n return item.children;\n }\n\n // use the default key behavior if all else fails\n return getRecursiveItemKey(options);\n}\n\n/**\n * @since 6.0.0\n */\nexport interface NavigationProps<\n Item extends NavigationItem = NavigationItem,\n Data extends NavigationRenderData = NavigationRenderData,\n> extends Omit<ListProps, \"children\"> {\n data: Data;\n items: readonly RecursiveItem<Item>[];\n\n /** @see {@link DefaultNavigationRenderer} */\n render?: ComponentType<RenderRecursiveItemsProps<Item, Data>>;\n\n /** @see {@link getRecursiveNavItemKey} */\n getItemKey?: (options: RecursiveItemKeyOptions<Item>) => string;\n}\n\n/**\n * **Client Component**\n *\n * The `Navigation` component can be used to create a list of links to\n * different pages within the app and generally used within a `Sheet` or\n * `LayoutNav`.\n *\n * @example Simple Example\n * ```tsx\n * \"use client\";\n *\n * import { Navigation } from \"@react-md/core/navigation/Navigation\";\n * import { type NavigationItem } from \"@react-md/core/navigation/types\";\n * import { useNavigationExpansion } from \"@react-md/core/navigation/useNavigationExpansion\";\n * import { usePathname } from \"next/navigation.js\";\n * import { type ReactElement } from \"react\";\n *\n * import { LinkUnstyled } from \"@/components/LinkUnstyled.js\";\n *\n * const items: readonly NavigationItem[] = [\n * {\n * type: \"route\",\n * href: \"/\",\n * children: \"Home\",\n * },\n * {\n * type: \"route\",\n * href: \"/page-1\",\n * children: \"Page 1\",\n * },\n * ];\n *\n * export function MainNavigation(): ReactElement {\n * const pathname = usePathname();\n * const { data } = useNavigationExpansion({\n * pathname,\n * linkComponent: LinkUnstyled,\n * });\n * return (\n * <nav aria-label=\"Navigation\">\n * <Navigation data={data} items={items} />\n * </nav>\n * );\n * }\n * ```\n *\n * @see {@link https://react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport function Navigation<\n Item extends NavigationItem,\n Data extends NavigationRenderData,\n>(props: NavigationProps<Item, Data>): ReactElement {\n const {\n data,\n items,\n render = DefaultNavigationRenderer,\n getItemKey = getRecursiveNavItemKey,\n ...remaining\n } = props;\n\n return (\n <NavGroup depth={0} {...remaining}>\n <RenderRecursively\n data={data}\n items={items}\n render={render}\n getItemKey={getItemKey}\n />\n </NavGroup>\n );\n}\n"],"names":["RenderRecursively","getRecursiveItemKey","DefaultNavigationRenderer","NavGroup","getRecursiveNavItemKey","options","item","href","children","Navigation","props","data","items","render","getItemKey","remaining","depth"],"mappings":";AAGA,SAIEA,iBAAiB,EACjBC,mBAAmB,QACd,gCAAgC;AACvC,SAASC,yBAAyB,QAAQ,iCAAiC;AAC3E,SAASC,QAAQ,QAAQ,gBAAgB;AAGzC;;;;;;;;CAQC,GACD,OAAO,SAASC,uBAEdC,OAAsC;IACtC,MAAM,EAAEC,IAAI,EAAE,GAAGD;IACjB,4EAA4E;IAC5E,SAAS;IACT,IAAI,UAAUC,QAAQA,KAAKC,IAAI,EAAE;QAC/B,OAAOD,KAAKC,IAAI;IAClB;IAEA,8EAA8E;IAC9E,wCAAwC;IACxC,IACE,cAAcD,QACd,OAAOA,KAAKE,QAAQ,KAAK,YACzBF,KAAKE,QAAQ,EACb;QACA,OAAOF,KAAKE,QAAQ;IACtB;IAEA,iDAAiD;IACjD,OAAOP,oBAAoBI;AAC7B;AAmBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDC,GACD,OAAO,SAASI,WAGdC,KAAkC;IAClC,MAAM,EACJC,IAAI,EACJC,KAAK,EACLC,SAASX,yBAAyB,EAClCY,aAAaV,sBAAsB,EACnC,GAAGW,WACJ,GAAGL;IAEJ,qBACE,KAACP;QAASa,OAAO;QAAI,GAAGD,SAAS;kBAC/B,cAAA,KAACf;YACCW,MAAMA;YACNC,OAAOA;YACPC,QAAQA;YACRC,YAAYA;;;AAIpB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AnchorHTMLAttributes, type ForwardRefExoticComponent, type HTMLAttributes, type ReactNode } from "react";
|
|
1
|
+
import { type AnchorHTMLAttributes, type ComponentType, type ForwardRefExoticComponent, type HTMLAttributes, type ReactNode, type Ref } from "react";
|
|
2
2
|
import { type DividerProps } from "../divider/Divider.js";
|
|
3
3
|
import { type ListSubheaderProps } from "../list/ListSubheader.js";
|
|
4
4
|
import { type TooltipOptions, type TooltippedElementEventHandlers } from "../tooltip/useTooltip.js";
|
|
@@ -116,11 +116,14 @@ export type NavigationItem = NavigationItemDivider | NavigationItemSubheader | N
|
|
|
116
116
|
*/
|
|
117
117
|
export type CustomNavigationLinkComponent = ForwardRefExoticComponent<AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
118
118
|
href: string;
|
|
119
|
+
}> | ComponentType<AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
120
|
+
ref?: Ref<HTMLAnchorElement>;
|
|
121
|
+
href: string;
|
|
119
122
|
}>;
|
|
120
123
|
/**
|
|
121
124
|
* @since 6.0.0
|
|
122
125
|
*/
|
|
123
|
-
export type NavigationLinkComponent = "a"
|
|
126
|
+
export type NavigationLinkComponent = CustomNavigationLinkComponent | "a";
|
|
124
127
|
/**
|
|
125
128
|
* @since 6.0.0
|
|
126
129
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/types.ts"],"sourcesContent":["import {\n type AnchorHTMLAttributes,\n type ForwardRefExoticComponent,\n type HTMLAttributes,\n type ReactNode,\n} from \"react\";\n\nimport { type DividerProps } from \"../divider/Divider.js\";\nimport { type ListSubheaderProps } from \"../list/ListSubheader.js\";\nimport {\n type TooltipOptions,\n type TooltippedElementEventHandlers,\n} from \"../tooltip/useTooltip.js\";\n\n/**\n * Used to add a `Divider` to the navigation list.\n * @example Output\n * ```tsx\n * const { type, ...props } = item;\n * return <Divider {...props} />;\n * ```\n *\n * @since 6.0.0\n */\nexport interface NavigationItemDivider extends DividerProps {\n type: \"divider\";\n}\n\n/**\n * Used to add a `ListSubheader` to the navigation list.\n * @example Output\n * ```tsx\n * const { type, ...props } = item;\n * return <ListSubheader {...props} />;\n * ```\n *\n * @since 6.0.0\n */\nexport interface NavigationItemSubheader extends ListSubheaderProps {\n type: \"subheader\";\n children: ReactNode;\n}\n\n/**\n * This is used to either create a route group which update all child routes to\n * be prefixed with the optional `href`.\n *\n * @example Route Group Output\n * ```tsx\n * const nextParents = [item, ...parents];\n * const id = getNavigationGroupId(item, nextParents);\n * return (\n * <CollapsibleNavGroup\n * depth={nextParents.length}\n * collapsed={!data?.expandedItems.has(id)}\n * buttonChildren={item.children}\n * toggleCollapsed={() => {\n * data?.toggleExpandedItem(id);\n * }}\n * >\n * {children}\n * </CollapsibleNavGroup>\n * );\n * ```\n *\n * Note: `children` are any child `items` that have been rendered.\n *\n * @since 6.0.0\n */\nexport interface NavigationItemGroup {\n type: \"group\";\n\n /**\n * An optional unique id to identify the group used for handling the expanded\n * state when the `href` can't be used.\n */\n id?: string;\n\n /**\n * An optional href to prefix all child routes with and can be used instead of\n * the {@link id} for handling the expanded state.\n *\n * @example\n * ```ts\n * {\n * type: \"group\",\n * href: \"/some-path\",\n * children: \"Some Name\",\n * items: [\n * {\n * type: \"route\",\n * href: \"/page-1\",\n * children: \"Page 1\",\n * },\n * {\n * type: \"route\",\n * href: \"/page-2\",\n * children: \"Page 2\",\n * },\n * ],\n * }\n * ```\n *\n * Would result in:\n *\n * - Page 1 - `/some-path/page-1`\n * - Page 2 - `/some-path/page-2`\n */\n href?: string;\n children: ReactNode;\n items: readonly NavigationItem[];\n}\n\n/**\n * @since 6.0.0\n */\nexport interface NavigationItemRoute {\n type: \"route\";\n href: string;\n children: ReactNode;\n active?: boolean;\n beforeAddon?: ReactNode;\n afterAddon?: ReactNode;\n}\n\n/**\n * @since 6.0.0\n */\nexport type NavigationItem =\n | NavigationItemDivider\n | NavigationItemSubheader\n | NavigationItemGroup\n | NavigationItemRoute;\n\n/**\n * @since 6.0.0\n */\nexport type CustomNavigationLinkComponent
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/types.ts"],"sourcesContent":["import {\n type AnchorHTMLAttributes,\n type ComponentType,\n type ForwardRefExoticComponent,\n type HTMLAttributes,\n type ReactNode,\n type Ref,\n} from \"react\";\n\nimport { type DividerProps } from \"../divider/Divider.js\";\nimport { type ListSubheaderProps } from \"../list/ListSubheader.js\";\nimport {\n type TooltipOptions,\n type TooltippedElementEventHandlers,\n} from \"../tooltip/useTooltip.js\";\n\n/**\n * Used to add a `Divider` to the navigation list.\n * @example Output\n * ```tsx\n * const { type, ...props } = item;\n * return <Divider {...props} />;\n * ```\n *\n * @since 6.0.0\n */\nexport interface NavigationItemDivider extends DividerProps {\n type: \"divider\";\n}\n\n/**\n * Used to add a `ListSubheader` to the navigation list.\n * @example Output\n * ```tsx\n * const { type, ...props } = item;\n * return <ListSubheader {...props} />;\n * ```\n *\n * @since 6.0.0\n */\nexport interface NavigationItemSubheader extends ListSubheaderProps {\n type: \"subheader\";\n children: ReactNode;\n}\n\n/**\n * This is used to either create a route group which update all child routes to\n * be prefixed with the optional `href`.\n *\n * @example Route Group Output\n * ```tsx\n * const nextParents = [item, ...parents];\n * const id = getNavigationGroupId(item, nextParents);\n * return (\n * <CollapsibleNavGroup\n * depth={nextParents.length}\n * collapsed={!data?.expandedItems.has(id)}\n * buttonChildren={item.children}\n * toggleCollapsed={() => {\n * data?.toggleExpandedItem(id);\n * }}\n * >\n * {children}\n * </CollapsibleNavGroup>\n * );\n * ```\n *\n * Note: `children` are any child `items` that have been rendered.\n *\n * @since 6.0.0\n */\nexport interface NavigationItemGroup {\n type: \"group\";\n\n /**\n * An optional unique id to identify the group used for handling the expanded\n * state when the `href` can't be used.\n */\n id?: string;\n\n /**\n * An optional href to prefix all child routes with and can be used instead of\n * the {@link id} for handling the expanded state.\n *\n * @example\n * ```ts\n * {\n * type: \"group\",\n * href: \"/some-path\",\n * children: \"Some Name\",\n * items: [\n * {\n * type: \"route\",\n * href: \"/page-1\",\n * children: \"Page 1\",\n * },\n * {\n * type: \"route\",\n * href: \"/page-2\",\n * children: \"Page 2\",\n * },\n * ],\n * }\n * ```\n *\n * Would result in:\n *\n * - Page 1 - `/some-path/page-1`\n * - Page 2 - `/some-path/page-2`\n */\n href?: string;\n children: ReactNode;\n items: readonly NavigationItem[];\n}\n\n/**\n * @since 6.0.0\n */\nexport interface NavigationItemRoute {\n type: \"route\";\n href: string;\n children: ReactNode;\n active?: boolean;\n beforeAddon?: ReactNode;\n afterAddon?: ReactNode;\n}\n\n/**\n * @since 6.0.0\n */\nexport type NavigationItem =\n | NavigationItemDivider\n | NavigationItemSubheader\n | NavigationItemGroup\n | NavigationItemRoute;\n\n/**\n * @since 6.0.0\n */\nexport type CustomNavigationLinkComponent =\n | ForwardRefExoticComponent<\n AnchorHTMLAttributes<HTMLAnchorElement> & { href: string }\n >\n | ComponentType<\n AnchorHTMLAttributes<HTMLAnchorElement> & {\n ref?: Ref<HTMLAnchorElement>;\n href: string;\n }\n >;\n\n/**\n * @since 6.0.0\n */\nexport type NavigationLinkComponent = CustomNavigationLinkComponent | \"a\";\n\n/**\n * @since 6.0.0\n */\nexport interface NavigationExpansion {\n expandedItems: ReadonlySet<string>;\n toggleExpandedItem: (id: string) => void;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface NavigationRenderData extends NavigationExpansion {\n /**\n * This is used to set the `active` state on a `NavItemLink`\n */\n pathname: string;\n linkComponent: NavigationLinkComponent;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface NavItemContentProps {\n /**\n * Any additional props to provide the `<span>` element that wraps the\n * children such as `style`, `className`, and `ref`.\n */\n spanProps?: HTMLAttributes<HTMLSpanElement>;\n\n /**\n * An optional addon to render before the `children` and will not be wrapped\n * in the `span` that adds ellipsis overflow.\n */\n beforeAddon?: ReactNode;\n\n /**\n * An optional addon to render after the `children` and will not be wrapped\n * in the `span` that adds ellipsis overflow.\n */\n afterAddon?: ReactNode;\n\n /**\n * This should contain accessible text for the page that this will link to and\n * will automatically be truncated with ellipsis if it is too large. A tooltip\n * will also appear only when it has been truncated.\n */\n children: ReactNode;\n\n /**\n * This most likely will never need to be used, but it's a way to override any\n * tooltip options. The default behavior will position the tooltip to the\n * right and only appear if the `children` are overflown.\n *\n * @example Customize\n * ```tsx\n * <NavItemLink\n * {...props}\n * tooltipOptions={{\n * overflowOnly: false,\n * defaultPosition: \"above\",\n * vhMargin: \"1rem\",\n * vwMargin: \"1rem\",\n * }}\n * >\n * ```\n */\n tooltipOptions?: Omit<\n TooltipOptions<HTMLAnchorElement>,\n keyof TooltippedElementEventHandlers<HTMLAnchorElement>\n >;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface HeadingReference {\n id: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport interface HeadingReferenceWithChildren extends HeadingReference {\n items?: readonly HeadingReferenceWithChildren[];\n}\n\n/** @since 6.0.0 */\nexport interface TableOfContentsHeadingsOptions {\n /**\n * This should be a `document.querySelectorAll` query that returns elements\n * to display in a table of contents component that have a valid id.\n *\n * @see {@link DEFAULT_HEADING_SELECTOR}\n * @defaultValue `main :where(:not(nav *)):where(h1[id],h2[id],h3[id],h4[id],h5[id],h6[id])`\n */\n selector?: string;\n\n /**\n * @see {@link DEFAULT_GET_HEADING_DEPTH}\n * @defaultValue `(element) => parseInt(element.tagName.substring(1))`\n */\n getDepth?: (element: Element) => number;\n\n /**\n * This is used to get the text to display in a table of contents from each\n * heading element.\n *\n * @see {@link DEFAULT_GET_HEADING_TEXT}\n * @defaultValue `(element) => element.textContent || \"\"`\n */\n getHeadingText?: (element: Element) => string;\n}\n\n/** @since 6.0.0 */\nexport interface TableOfContentsHeading extends HeadingReference {\n depth: number;\n children: string;\n}\n\n/** @since 6.0.0 */\nexport interface TableOfContentsHeadingItem\n extends TableOfContentsHeading, HeadingReferenceWithChildren {\n items?: TableOfContentsHeadingItem[];\n}\n\n/** @since 6.0.0 */\nexport type TableOfContentsHeadings = readonly TableOfContentsHeadingItem[];\n"],"names":[],"mappings":"AAwRA,iBAAiB,GACjB,WAA4E"}
|
|
@@ -69,7 +69,7 @@ import { parseCssLengthUnit } from "../utils/parseCssLengthUnit.js";
|
|
|
69
69
|
* @since 6.0.0
|
|
70
70
|
*/ export function useActiveHeadingId(options) {
|
|
71
71
|
const { headings, threshold = DEFAULT_ACTIVE_HEADING_THRESHOLD, getRootMargin = DEFAULT_ACTIVE_HEADING_GET_ROOT_MARGIN, defaultActiveId = headings[0]?.id ?? "", scrollBottomThreshold = 0.8 } = options;
|
|
72
|
-
const elements = useRef();
|
|
72
|
+
const elements = useRef(null);
|
|
73
73
|
const isFirstRender = useRef(true);
|
|
74
74
|
const [activeHeadingId, setActiveHeadingId] = useState(defaultActiveId);
|
|
75
75
|
useIntersectionObserver({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/useActiveHeadingId.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useRef, useState } from \"react\";\n\nimport { type UseStateInitializer } from \"../types.js\";\nimport {\n type IntersectionObserverRootMargin,\n type IntersectionObserverThreshold,\n useIntersectionObserver,\n} from \"../useIntersectionObserver.js\";\nimport { parseCssLengthUnit } from \"../utils/parseCssLengthUnit.js\";\nimport { type HeadingReferenceWithChildren } from \"./types.js\";\n\n/**\n * @defaultValue `[0.0, 1.0]`\n * @since 6.0.0\n */\nexport const DEFAULT_ACTIVE_HEADING_THRESHOLD: IntersectionObserverThreshold = [\n 0, 1,\n];\n\n/**\n * ```tsx\n * const headerHeightVar = window\n * .getComputedStyle(document.documentElement)\n * .getPropertyValue(\"--rmd-layout-header-height\");\n * const headerHeight = parseCssLengthUnit({\n * value: headerHeightVar || \"3.5rem\",\n * });\n\n * return `-${headerHeight}px 0px 0px 0px`;\n * ```\n * @since 6.0.0\n */\nexport const DEFAULT_ACTIVE_HEADING_GET_ROOT_MARGIN = (): string => {\n const headerHeightVar = globalThis\n .getComputedStyle(document.documentElement)\n .getPropertyValue(\"--rmd-layout-header-height\");\n const headerHeight = parseCssLengthUnit({\n value: headerHeightVar || \"3.5rem\",\n });\n\n return `-${headerHeight}px 0px 0px 0px`;\n};\n\n/**\n * @internal\n * @since 6.0.0\n */\nfunction getHeadingElements(\n items: readonly HeadingReferenceWithChildren[]\n): readonly HTMLElement[] {\n const headings: HTMLElement[] = [];\n for (const item of items) {\n const heading = document.getElementById(item.id);\n if (heading) {\n headings.push(heading);\n }\n\n if (item.items) {\n headings.push(...getHeadingElements(item.items));\n }\n }\n\n return headings;\n}\n\n/**\n * @internal\n * @since 6.0.0\n */\nfunction getLastHeadingId(\n items: readonly HeadingReferenceWithChildren[]\n): string {\n const last = items.at(-1);\n if (!last) {\n return \"\";\n }\n\n if (last.items) {\n return getLastHeadingId(last.items);\n }\n\n return last.id;\n}\n\n/**\n * @internal\n * @since 6.0.0\n */\nconst isScrolledNearPageBottom = (threshold: number): boolean =>\n window.scrollY >= document.documentElement.scrollHeight * threshold;\n\n/**\n * @since 6.0.0\n */\nexport interface ActiveHeadingIdOptions {\n headings: readonly HeadingReferenceWithChildren[];\n\n /** @see {@link DEFAULT_ACTIVE_HEADING_THRESHOLD} */\n threshold?: IntersectionObserverThreshold;\n\n /** @see {@link DEFAULT_ACTIVE_HEADING_GET_ROOT_MARGIN} */\n getRootMargin?: () => IntersectionObserverRootMargin;\n\n /** @defaultValue `headings[0]?.id ?? \"\"` */\n defaultActiveId?: UseStateInitializer<string>;\n\n /** @defaultValue `0.8` */\n scrollBottomThreshold?: number;\n}\n\n/**\n * This is heavily inspired by:\n * @see https://github.com/mdn/yari/blob/231d6aab8f1c8efe159d268c261446c5b7ae12d9/client/src/document/hooks.ts#L171\n *\n * @see {@link https://react-md.dev/hooks/use-active-heading-id | useActiveHeadingId Demos}\n * @since 6.0.0\n */\nexport function useActiveHeadingId(options: ActiveHeadingIdOptions): string {\n const {\n headings,\n threshold = DEFAULT_ACTIVE_HEADING_THRESHOLD,\n getRootMargin = DEFAULT_ACTIVE_HEADING_GET_ROOT_MARGIN,\n defaultActiveId = headings[0]?.id ?? \"\",\n scrollBottomThreshold = 0.8,\n } = options;\n const elements = useRef<Map<string, boolean>>();\n const isFirstRender = useRef(true);\n const [activeHeadingId, setActiveHeadingId] = useState(defaultActiveId);\n useIntersectionObserver({\n threshold,\n getRootMargin,\n getTargets: useCallback(() => {\n const headingElements = getHeadingElements(headings);\n const lookup = new Map<string, boolean>();\n for (const heading of headingElements) {\n lookup.set(heading.id, false);\n }\n elements.current = lookup;\n\n return headingElements;\n }, [headings]),\n onUpdate: useCallback(\n (entries) => {\n const lookup = elements.current;\n if (!lookup) {\n return;\n }\n\n for (const entry of entries) {\n lookup.set(entry.target.id, entry.isIntersecting);\n }\n\n // get the first visible/intersecting item and set it\n let foundId = [...lookup.entries()].find(\n ([_id, isIntersecting]) => isIntersecting\n )?.[0];\n if (\n !foundId &&\n isFirstRender.current &&\n isScrolledNearPageBottom(scrollBottomThreshold)\n ) {\n foundId = getLastHeadingId(headings);\n }\n\n isFirstRender.current = false;\n\n // if there isn't a found id, it might be a really large section where\n // another heading isn't visible, so maintain the previous one\n if (foundId) {\n setActiveHeadingId(foundId);\n }\n },\n [headings, scrollBottomThreshold]\n ),\n });\n\n return activeHeadingId;\n}\n"],"names":["useCallback","useRef","useState","useIntersectionObserver","parseCssLengthUnit","DEFAULT_ACTIVE_HEADING_THRESHOLD","DEFAULT_ACTIVE_HEADING_GET_ROOT_MARGIN","headerHeightVar","globalThis","getComputedStyle","document","documentElement","getPropertyValue","headerHeight","value","getHeadingElements","items","headings","item","heading","getElementById","id","push","getLastHeadingId","last","at","isScrolledNearPageBottom","threshold","window","scrollY","scrollHeight","useActiveHeadingId","options","getRootMargin","defaultActiveId","scrollBottomThreshold","elements","isFirstRender","activeHeadingId","setActiveHeadingId","getTargets","headingElements","lookup","Map","set","current","onUpdate","entries","entry","target","isIntersecting","foundId","find","_id"],"mappings":"AAAA;AAEA,SAASA,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AAGtD,SAGEC,uBAAuB,QAClB,gCAAgC;AACvC,SAASC,kBAAkB,QAAQ,iCAAiC;AAGpE;;;CAGC,GACD,OAAO,MAAMC,mCAAkE;IAC7E;IAAG;CACJ,CAAC;AAEF;;;;;;;;;;;;CAYC,GACD,OAAO,MAAMC,yCAAyC;IACpD,MAAMC,kBAAkBC,WACrBC,gBAAgB,CAACC,SAASC,eAAe,EACzCC,gBAAgB,CAAC;IACpB,MAAMC,eAAeT,mBAAmB;QACtCU,OAAOP,mBAAmB;IAC5B;IAEA,OAAO,CAAC,CAAC,EAAEM,aAAa,cAAc,CAAC;AACzC,EAAE;AAEF;;;CAGC,GACD,SAASE,mBACPC,KAA8C;IAE9C,MAAMC,WAA0B,EAAE;IAClC,KAAK,MAAMC,QAAQF,MAAO;QACxB,MAAMG,UAAUT,SAASU,cAAc,CAACF,KAAKG,EAAE;QAC/C,IAAIF,SAAS;YACXF,SAASK,IAAI,CAACH;QAChB;QAEA,IAAID,KAAKF,KAAK,EAAE;YACdC,SAASK,IAAI,IAAIP,mBAAmBG,KAAKF,KAAK;QAChD;IACF;IAEA,OAAOC;AACT;AAEA;;;CAGC,GACD,SAASM,iBACPP,KAA8C;IAE9C,MAAMQ,OAAOR,MAAMS,EAAE,CAAC,CAAC;IACvB,IAAI,CAACD,MAAM;QACT,OAAO;IACT;IAEA,IAAIA,KAAKR,KAAK,EAAE;QACd,OAAOO,iBAAiBC,KAAKR,KAAK;IACpC;IAEA,OAAOQ,KAAKH,EAAE;AAChB;AAEA;;;CAGC,GACD,MAAMK,2BAA2B,CAACC,YAChCC,OAAOC,OAAO,IAAInB,SAASC,eAAe,CAACmB,YAAY,GAAGH;AAqB5D;;;;;;CAMC,GACD,OAAO,SAASI,mBAAmBC,OAA+B;IAChE,MAAM,EACJf,QAAQ,EACRU,YAAYtB,gCAAgC,EAC5C4B,gBAAgB3B,sCAAsC,EACtD4B,kBAAkBjB,QAAQ,CAAC,EAAE,EAAEI,MAAM,EAAE,EACvCc,wBAAwB,GAAG,EAC5B,GAAGH;IACJ,MAAMI,WAAWnC;
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/useActiveHeadingId.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useRef, useState } from \"react\";\n\nimport { type UseStateInitializer } from \"../types.js\";\nimport {\n type IntersectionObserverRootMargin,\n type IntersectionObserverThreshold,\n useIntersectionObserver,\n} from \"../useIntersectionObserver.js\";\nimport { parseCssLengthUnit } from \"../utils/parseCssLengthUnit.js\";\nimport { type HeadingReferenceWithChildren } from \"./types.js\";\n\n/**\n * @defaultValue `[0.0, 1.0]`\n * @since 6.0.0\n */\nexport const DEFAULT_ACTIVE_HEADING_THRESHOLD: IntersectionObserverThreshold = [\n 0, 1,\n];\n\n/**\n * ```tsx\n * const headerHeightVar = window\n * .getComputedStyle(document.documentElement)\n * .getPropertyValue(\"--rmd-layout-header-height\");\n * const headerHeight = parseCssLengthUnit({\n * value: headerHeightVar || \"3.5rem\",\n * });\n\n * return `-${headerHeight}px 0px 0px 0px`;\n * ```\n * @since 6.0.0\n */\nexport const DEFAULT_ACTIVE_HEADING_GET_ROOT_MARGIN = (): string => {\n const headerHeightVar = globalThis\n .getComputedStyle(document.documentElement)\n .getPropertyValue(\"--rmd-layout-header-height\");\n const headerHeight = parseCssLengthUnit({\n value: headerHeightVar || \"3.5rem\",\n });\n\n return `-${headerHeight}px 0px 0px 0px`;\n};\n\n/**\n * @internal\n * @since 6.0.0\n */\nfunction getHeadingElements(\n items: readonly HeadingReferenceWithChildren[]\n): readonly HTMLElement[] {\n const headings: HTMLElement[] = [];\n for (const item of items) {\n const heading = document.getElementById(item.id);\n if (heading) {\n headings.push(heading);\n }\n\n if (item.items) {\n headings.push(...getHeadingElements(item.items));\n }\n }\n\n return headings;\n}\n\n/**\n * @internal\n * @since 6.0.0\n */\nfunction getLastHeadingId(\n items: readonly HeadingReferenceWithChildren[]\n): string {\n const last = items.at(-1);\n if (!last) {\n return \"\";\n }\n\n if (last.items) {\n return getLastHeadingId(last.items);\n }\n\n return last.id;\n}\n\n/**\n * @internal\n * @since 6.0.0\n */\nconst isScrolledNearPageBottom = (threshold: number): boolean =>\n window.scrollY >= document.documentElement.scrollHeight * threshold;\n\n/**\n * @since 6.0.0\n */\nexport interface ActiveHeadingIdOptions {\n headings: readonly HeadingReferenceWithChildren[];\n\n /** @see {@link DEFAULT_ACTIVE_HEADING_THRESHOLD} */\n threshold?: IntersectionObserverThreshold;\n\n /** @see {@link DEFAULT_ACTIVE_HEADING_GET_ROOT_MARGIN} */\n getRootMargin?: () => IntersectionObserverRootMargin;\n\n /** @defaultValue `headings[0]?.id ?? \"\"` */\n defaultActiveId?: UseStateInitializer<string>;\n\n /** @defaultValue `0.8` */\n scrollBottomThreshold?: number;\n}\n\n/**\n * This is heavily inspired by:\n * @see https://github.com/mdn/yari/blob/231d6aab8f1c8efe159d268c261446c5b7ae12d9/client/src/document/hooks.ts#L171\n *\n * @see {@link https://react-md.dev/hooks/use-active-heading-id | useActiveHeadingId Demos}\n * @since 6.0.0\n */\nexport function useActiveHeadingId(options: ActiveHeadingIdOptions): string {\n const {\n headings,\n threshold = DEFAULT_ACTIVE_HEADING_THRESHOLD,\n getRootMargin = DEFAULT_ACTIVE_HEADING_GET_ROOT_MARGIN,\n defaultActiveId = headings[0]?.id ?? \"\",\n scrollBottomThreshold = 0.8,\n } = options;\n const elements = useRef<Map<string, boolean>>(null);\n const isFirstRender = useRef(true);\n const [activeHeadingId, setActiveHeadingId] = useState(defaultActiveId);\n useIntersectionObserver({\n threshold,\n getRootMargin,\n getTargets: useCallback(() => {\n const headingElements = getHeadingElements(headings);\n const lookup = new Map<string, boolean>();\n for (const heading of headingElements) {\n lookup.set(heading.id, false);\n }\n elements.current = lookup;\n\n return headingElements;\n }, [headings]),\n onUpdate: useCallback(\n (entries) => {\n const lookup = elements.current;\n if (!lookup) {\n return;\n }\n\n for (const entry of entries) {\n lookup.set(entry.target.id, entry.isIntersecting);\n }\n\n // get the first visible/intersecting item and set it\n let foundId = [...lookup.entries()].find(\n ([_id, isIntersecting]) => isIntersecting\n )?.[0];\n if (\n !foundId &&\n isFirstRender.current &&\n isScrolledNearPageBottom(scrollBottomThreshold)\n ) {\n foundId = getLastHeadingId(headings);\n }\n\n isFirstRender.current = false;\n\n // if there isn't a found id, it might be a really large section where\n // another heading isn't visible, so maintain the previous one\n if (foundId) {\n setActiveHeadingId(foundId);\n }\n },\n [headings, scrollBottomThreshold]\n ),\n });\n\n return activeHeadingId;\n}\n"],"names":["useCallback","useRef","useState","useIntersectionObserver","parseCssLengthUnit","DEFAULT_ACTIVE_HEADING_THRESHOLD","DEFAULT_ACTIVE_HEADING_GET_ROOT_MARGIN","headerHeightVar","globalThis","getComputedStyle","document","documentElement","getPropertyValue","headerHeight","value","getHeadingElements","items","headings","item","heading","getElementById","id","push","getLastHeadingId","last","at","isScrolledNearPageBottom","threshold","window","scrollY","scrollHeight","useActiveHeadingId","options","getRootMargin","defaultActiveId","scrollBottomThreshold","elements","isFirstRender","activeHeadingId","setActiveHeadingId","getTargets","headingElements","lookup","Map","set","current","onUpdate","entries","entry","target","isIntersecting","foundId","find","_id"],"mappings":"AAAA;AAEA,SAASA,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AAGtD,SAGEC,uBAAuB,QAClB,gCAAgC;AACvC,SAASC,kBAAkB,QAAQ,iCAAiC;AAGpE;;;CAGC,GACD,OAAO,MAAMC,mCAAkE;IAC7E;IAAG;CACJ,CAAC;AAEF;;;;;;;;;;;;CAYC,GACD,OAAO,MAAMC,yCAAyC;IACpD,MAAMC,kBAAkBC,WACrBC,gBAAgB,CAACC,SAASC,eAAe,EACzCC,gBAAgB,CAAC;IACpB,MAAMC,eAAeT,mBAAmB;QACtCU,OAAOP,mBAAmB;IAC5B;IAEA,OAAO,CAAC,CAAC,EAAEM,aAAa,cAAc,CAAC;AACzC,EAAE;AAEF;;;CAGC,GACD,SAASE,mBACPC,KAA8C;IAE9C,MAAMC,WAA0B,EAAE;IAClC,KAAK,MAAMC,QAAQF,MAAO;QACxB,MAAMG,UAAUT,SAASU,cAAc,CAACF,KAAKG,EAAE;QAC/C,IAAIF,SAAS;YACXF,SAASK,IAAI,CAACH;QAChB;QAEA,IAAID,KAAKF,KAAK,EAAE;YACdC,SAASK,IAAI,IAAIP,mBAAmBG,KAAKF,KAAK;QAChD;IACF;IAEA,OAAOC;AACT;AAEA;;;CAGC,GACD,SAASM,iBACPP,KAA8C;IAE9C,MAAMQ,OAAOR,MAAMS,EAAE,CAAC,CAAC;IACvB,IAAI,CAACD,MAAM;QACT,OAAO;IACT;IAEA,IAAIA,KAAKR,KAAK,EAAE;QACd,OAAOO,iBAAiBC,KAAKR,KAAK;IACpC;IAEA,OAAOQ,KAAKH,EAAE;AAChB;AAEA;;;CAGC,GACD,MAAMK,2BAA2B,CAACC,YAChCC,OAAOC,OAAO,IAAInB,SAASC,eAAe,CAACmB,YAAY,GAAGH;AAqB5D;;;;;;CAMC,GACD,OAAO,SAASI,mBAAmBC,OAA+B;IAChE,MAAM,EACJf,QAAQ,EACRU,YAAYtB,gCAAgC,EAC5C4B,gBAAgB3B,sCAAsC,EACtD4B,kBAAkBjB,QAAQ,CAAC,EAAE,EAAEI,MAAM,EAAE,EACvCc,wBAAwB,GAAG,EAC5B,GAAGH;IACJ,MAAMI,WAAWnC,OAA6B;IAC9C,MAAMoC,gBAAgBpC,OAAO;IAC7B,MAAM,CAACqC,iBAAiBC,mBAAmB,GAAGrC,SAASgC;IACvD/B,wBAAwB;QACtBwB;QACAM;QACAO,YAAYxC,YAAY;YACtB,MAAMyC,kBAAkB1B,mBAAmBE;YAC3C,MAAMyB,SAAS,IAAIC;YACnB,KAAK,MAAMxB,WAAWsB,gBAAiB;gBACrCC,OAAOE,GAAG,CAACzB,QAAQE,EAAE,EAAE;YACzB;YACAe,SAASS,OAAO,GAAGH;YAEnB,OAAOD;QACT,GAAG;YAACxB;SAAS;QACb6B,UAAU9C,YACR,CAAC+C;YACC,MAAML,SAASN,SAASS,OAAO;YAC/B,IAAI,CAACH,QAAQ;gBACX;YACF;YAEA,KAAK,MAAMM,SAASD,QAAS;gBAC3BL,OAAOE,GAAG,CAACI,MAAMC,MAAM,CAAC5B,EAAE,EAAE2B,MAAME,cAAc;YAClD;YAEA,qDAAqD;YACrD,IAAIC,UAAU;mBAAIT,OAAOK,OAAO;aAAG,CAACK,IAAI,CACtC,CAAC,CAACC,KAAKH,eAAe,GAAKA,iBAC1B,CAAC,EAAE;YACN,IACE,CAACC,WACDd,cAAcQ,OAAO,IACrBnB,yBAAyBS,wBACzB;gBACAgB,UAAU5B,iBAAiBN;YAC7B;YAEAoB,cAAcQ,OAAO,GAAG;YAExB,sEAAsE;YACtE,8DAA8D;YAC9D,IAAIM,SAAS;gBACXZ,mBAAmBY;YACrB;QACF,GACA;YAAClC;YAAUkB;SAAsB;IAErC;IAEA,OAAOG;AACT"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type HTMLAttributes } from "react";
|
|
1
|
+
import { type HTMLAttributes, type ReactElement, type Ref } from "react";
|
|
2
2
|
import { type CSSTransitionComponentProps, type TransitionActions } from "../transition/types.js";
|
|
3
3
|
import { type BaseOverlayClassNameOptions } from "./styles.js";
|
|
4
4
|
/**
|
|
@@ -8,6 +8,7 @@ import { type BaseOverlayClassNameOptions } from "./styles.js";
|
|
|
8
8
|
* augmentation.
|
|
9
9
|
*/
|
|
10
10
|
export interface OverlayProps extends HTMLAttributes<HTMLSpanElement>, BaseOverlayClassNameOptions, CSSTransitionComponentProps, TransitionActions {
|
|
11
|
+
ref?: Ref<HTMLSpanElement>;
|
|
11
12
|
/**
|
|
12
13
|
* Set this to `true` if the overlay should be rendered with an `opacity: 0`
|
|
13
14
|
* and disabling the animation. This is useful if you'd like a "close on
|
|
@@ -56,4 +57,4 @@ export interface OverlayProps extends HTMLAttributes<HTMLSpanElement>, BaseOverl
|
|
|
56
57
|
* @since 6.0.0 Removed the `onRequestClose` prop in favor of using
|
|
57
58
|
* the `onClick` prop instead.
|
|
58
59
|
*/
|
|
59
|
-
export declare
|
|
60
|
+
export declare function Overlay(props: OverlayProps): ReactElement;
|