@react-md/core 1.0.0-next.20 → 1.0.0-next.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CoreProviders.d.ts +1 -0
- package/dist/CoreProviders.js +1 -0
- package/dist/CoreProviders.js.map +1 -1
- package/dist/NoSsr.d.ts +3 -1
- package/dist/NoSsr.js +3 -1
- package/dist/NoSsr.js.map +1 -1
- package/dist/RootHtml.d.ts +1 -1
- package/dist/RootHtml.js +1 -1
- package/dist/RootHtml.js.map +1 -1
- package/dist/SsrProvider.d.ts +1 -0
- package/dist/SsrProvider.js +1 -0
- package/dist/SsrProvider.js.map +1 -1
- package/dist/_a11y.scss +187 -0
- package/dist/_base.scss +479 -0
- package/dist/_box-shadows.scss +80 -71
- package/dist/_colors.scss +283 -279
- package/dist/_core.scss +5 -483
- package/dist/_object-fit.scss +27 -23
- package/dist/_utils.scss +225 -225
- package/dist/app-bar/AppBar.d.ts +3 -1
- package/dist/app-bar/AppBar.js +3 -1
- package/dist/app-bar/AppBar.js.map +1 -1
- package/dist/app-bar/AppBarTitle.d.ts +2 -1
- package/dist/app-bar/AppBarTitle.js +2 -1
- package/dist/app-bar/AppBarTitle.js.map +1 -1
- package/dist/app-bar/_app-bar.scss +112 -105
- package/dist/autocomplete/Autocomplete.d.ts +81 -2
- package/dist/autocomplete/Autocomplete.js +4 -2
- package/dist/autocomplete/Autocomplete.js.map +1 -1
- package/dist/autocomplete/AutocompleteChip.d.ts +1 -0
- package/dist/autocomplete/AutocompleteChip.js +1 -0
- package/dist/autocomplete/AutocompleteChip.js.map +1 -1
- package/dist/autocomplete/AutocompleteCircularProgress.d.ts +1 -0
- package/dist/autocomplete/AutocompleteCircularProgress.js +1 -0
- package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -1
- package/dist/autocomplete/AutocompleteClearButton.d.ts +1 -0
- package/dist/autocomplete/AutocompleteClearButton.js +4 -2
- package/dist/autocomplete/AutocompleteClearButton.js.map +1 -1
- package/dist/autocomplete/AutocompleteDropdownButton.d.ts +1 -0
- package/dist/autocomplete/AutocompleteDropdownButton.js +1 -0
- package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -1
- package/dist/autocomplete/AutocompleteListboxChildren.d.ts +1 -3
- package/dist/autocomplete/AutocompleteListboxChildren.js.map +1 -1
- package/dist/autocomplete/_autocomplete.scss +125 -71
- package/dist/autocomplete/autocompleteStyles.d.ts +3 -0
- package/dist/autocomplete/autocompleteStyles.js +5 -2
- package/dist/autocomplete/autocompleteStyles.js.map +1 -1
- package/dist/autocomplete/types.d.ts +128 -82
- package/dist/autocomplete/types.js.map +1 -1
- package/dist/autocomplete/useAutocomplete.d.ts +3 -0
- package/dist/autocomplete/useAutocomplete.js +17 -17
- package/dist/autocomplete/useAutocomplete.js.map +1 -1
- package/dist/autocomplete/utils.d.ts +3 -6
- package/dist/autocomplete/utils.js.map +1 -1
- package/dist/avatar/Avatar.d.ts +2 -1
- package/dist/avatar/Avatar.js +2 -1
- package/dist/avatar/Avatar.js.map +1 -1
- package/dist/avatar/_avatar.scss +81 -77
- package/dist/badge/Badge.d.ts +8 -4
- package/dist/badge/Badge.js +8 -4
- package/dist/badge/Badge.js.map +1 -1
- package/dist/badge/_badge.scss +72 -68
- package/dist/box/Box.d.ts +4 -3
- package/dist/box/Box.js +4 -3
- package/dist/box/Box.js.map +1 -1
- package/dist/box/_box.scss +115 -119
- package/dist/button/AsyncButton.d.ts +3 -2
- package/dist/button/AsyncButton.js +4 -3
- package/dist/button/AsyncButton.js.map +1 -1
- package/dist/button/Button.d.ts +11 -9
- package/dist/button/Button.js +11 -9
- package/dist/button/Button.js.map +1 -1
- package/dist/button/ButtonUnstyled.d.ts +1 -0
- package/dist/button/ButtonUnstyled.js +2 -1
- package/dist/button/ButtonUnstyled.js.map +1 -1
- package/dist/button/TooltippedButton.d.ts +3 -2
- package/dist/button/TooltippedButton.js +2 -1
- package/dist/button/TooltippedButton.js.map +1 -1
- package/dist/button/_button.scss +128 -98
- package/dist/button/{buttonStyles.d.ts → styles.d.ts} +10 -0
- package/dist/button/{buttonStyles.js → styles.js} +9 -1
- package/dist/button/styles.js.map +1 -0
- package/dist/card/Card.d.ts +9 -10
- package/dist/card/Card.js +9 -10
- package/dist/card/Card.js.map +1 -1
- package/dist/card/CardContent.d.ts +1 -0
- package/dist/card/CardContent.js +1 -0
- package/dist/card/CardContent.js.map +1 -1
- package/dist/card/CardFooter.d.ts +1 -0
- package/dist/card/CardFooter.js +1 -0
- package/dist/card/CardFooter.js.map +1 -1
- package/dist/card/CardHeader.d.ts +1 -0
- package/dist/card/CardHeader.js +1 -0
- package/dist/card/CardHeader.js.map +1 -1
- package/dist/card/CardSubtitle.d.ts +1 -0
- package/dist/card/CardSubtitle.js +1 -0
- package/dist/card/CardSubtitle.js.map +1 -1
- package/dist/card/CardTitle.d.ts +2 -1
- package/dist/card/CardTitle.js +1 -0
- package/dist/card/CardTitle.js.map +1 -1
- package/dist/card/ClickableCard.d.ts +3 -1
- package/dist/card/ClickableCard.js +3 -1
- package/dist/card/ClickableCard.js.map +1 -1
- package/dist/card/_card.scss +76 -71
- package/dist/chip/Chip.d.ts +5 -3
- package/dist/chip/Chip.js +5 -3
- package/dist/chip/Chip.js.map +1 -1
- package/dist/chip/_chip.scss +247 -33
- package/dist/cssUtils.d.ts +1 -1
- package/dist/cssUtils.js.map +1 -1
- package/dist/dialog/Dialog.d.ts +9 -10
- package/dist/dialog/Dialog.js +9 -10
- package/dist/dialog/Dialog.js.map +1 -1
- package/dist/dialog/DialogContent.d.ts +2 -0
- package/dist/dialog/DialogContent.js +5 -2
- package/dist/dialog/DialogContent.js.map +1 -1
- package/dist/dialog/DialogFooter.d.ts +2 -0
- package/dist/dialog/DialogFooter.js +5 -2
- package/dist/dialog/DialogFooter.js.map +1 -1
- package/dist/dialog/DialogHeader.d.ts +14 -2
- package/dist/dialog/DialogHeader.js +8 -2
- package/dist/dialog/DialogHeader.js.map +1 -1
- package/dist/dialog/DialogTitle.d.ts +2 -0
- package/dist/dialog/DialogTitle.js +5 -2
- package/dist/dialog/DialogTitle.js.map +1 -1
- package/dist/dialog/FixedDialog.d.ts +11 -10
- package/dist/dialog/FixedDialog.js +13 -12
- package/dist/dialog/FixedDialog.js.map +1 -1
- package/dist/dialog/_dialog.scss +167 -22
- package/dist/dialog/styles.d.ts +12 -6
- package/dist/dialog/styles.js +11 -5
- package/dist/dialog/styles.js.map +1 -1
- package/dist/divider/Divider.d.ts +3 -1
- package/dist/divider/Divider.js +3 -1
- package/dist/divider/Divider.js.map +1 -1
- package/dist/divider/_divider.scss +68 -0
- package/dist/divider/styles.js.map +1 -1
- package/dist/draggable/_draggable.scss +16 -0
- package/dist/draggable/useDraggable.d.ts +1 -0
- package/dist/draggable/useDraggable.js +1 -0
- package/dist/draggable/useDraggable.js.map +1 -1
- package/dist/error-boundary/ErrorBoundary.d.ts +58 -0
- package/dist/error-boundary/ErrorBoundary.js +99 -0
- package/dist/error-boundary/ErrorBoundary.js.map +1 -0
- package/dist/error-boundary/context.d.ts +11 -0
- package/dist/error-boundary/context.js +12 -0
- package/dist/error-boundary/context.js.map +1 -0
- package/dist/error-boundary/types.d.ts +16 -0
- package/dist/error-boundary/types.js +7 -0
- package/dist/error-boundary/types.js.map +1 -0
- package/dist/error-boundary/useErrorBoundary.d.ts +25 -0
- package/dist/error-boundary/useErrorBoundary.js +33 -0
- package/dist/error-boundary/useErrorBoundary.js.map +1 -0
- package/dist/expansion-panel/ExpansionList.d.ts +1 -0
- package/dist/expansion-panel/ExpansionList.js +1 -0
- package/dist/expansion-panel/ExpansionList.js.map +1 -1
- package/dist/expansion-panel/ExpansionPanel.d.ts +32 -0
- package/dist/expansion-panel/ExpansionPanel.js +32 -0
- package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
- package/dist/expansion-panel/ExpansionPanelHeader.d.ts +4 -7
- package/dist/expansion-panel/ExpansionPanelHeader.js +9 -10
- package/dist/expansion-panel/ExpansionPanelHeader.js.map +1 -1
- package/dist/expansion-panel/_expansion-panel.scss +45 -0
- package/dist/expansion-panel/expansionPanelStyles.d.ts +20 -0
- package/dist/expansion-panel/expansionPanelStyles.js +12 -0
- package/dist/expansion-panel/expansionPanelStyles.js.map +1 -1
- package/dist/expansion-panel/useExpansionList.d.ts +7 -8
- package/dist/expansion-panel/useExpansionList.js +7 -8
- package/dist/expansion-panel/useExpansionList.js.map +1 -1
- package/dist/expansion-panel/useExpansionPanels.d.ts +7 -10
- package/dist/expansion-panel/useExpansionPanels.js +7 -10
- package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
- package/dist/files/FileInput.d.ts +4 -2
- package/dist/files/FileInput.js +3 -1
- package/dist/files/FileInput.js.map +1 -1
- package/dist/files/_files.scss +9 -0
- package/dist/files/styles.d.ts +1 -1
- package/dist/files/styles.js +1 -1
- package/dist/files/styles.js.map +1 -1
- package/dist/files/useFileUpload.d.ts +2 -0
- package/dist/files/useFileUpload.js +2 -0
- package/dist/files/useFileUpload.js.map +1 -1
- package/dist/focus/useFocusContainer.js +24 -23
- package/dist/focus/useFocusContainer.js.map +1 -1
- package/dist/form/Checkbox.d.ts +3 -1
- package/dist/form/Checkbox.js +3 -1
- package/dist/form/Checkbox.js.map +1 -1
- package/dist/form/Fieldset.d.ts +6 -20
- package/dist/form/Fieldset.js +6 -13
- package/dist/form/Fieldset.js.map +1 -1
- package/dist/form/Form.d.ts +2 -0
- package/dist/form/Form.js +2 -0
- package/dist/form/Form.js.map +1 -1
- package/dist/form/FormMessage.d.ts +2 -0
- package/dist/form/FormMessage.js +2 -0
- package/dist/form/FormMessage.js.map +1 -1
- package/dist/form/FormMessageContainer.d.ts +1 -0
- package/dist/form/FormMessageContainer.js +1 -0
- package/dist/form/FormMessageContainer.js.map +1 -1
- package/dist/form/FormMessageCounter.d.ts +2 -0
- package/dist/form/FormMessageCounter.js +2 -0
- package/dist/form/FormMessageCounter.js.map +1 -1
- package/dist/form/InputToggle.d.ts +4 -2
- package/dist/form/InputToggle.js +2 -0
- package/dist/form/InputToggle.js.map +1 -1
- package/dist/form/Label.d.ts +4 -5
- package/dist/form/Label.js +4 -32
- package/dist/form/Label.js.map +1 -1
- package/dist/form/Legend.d.ts +1 -0
- package/dist/form/Legend.js +1 -0
- package/dist/form/Legend.js.map +1 -1
- package/dist/form/Listbox.d.ts +1 -1
- package/dist/form/Listbox.js.map +1 -1
- package/dist/form/MenuItemCheckbox.d.ts +3 -1
- package/dist/form/MenuItemCheckbox.js +3 -1
- package/dist/form/MenuItemCheckbox.js.map +1 -1
- package/dist/form/MenuItemFileInput.d.ts +1 -0
- package/dist/form/MenuItemFileInput.js +1 -0
- package/dist/form/MenuItemFileInput.js.map +1 -1
- package/dist/form/MenuItemInputToggle.d.ts +3 -2
- package/dist/form/MenuItemInputToggle.js +1 -0
- package/dist/form/MenuItemInputToggle.js.map +1 -1
- package/dist/form/MenuItemRadio.d.ts +8 -8
- package/dist/form/MenuItemRadio.js +8 -8
- package/dist/form/MenuItemRadio.js.map +1 -1
- package/dist/form/MenuItemSwitch.d.ts +3 -1
- package/dist/form/MenuItemSwitch.js +3 -1
- package/dist/form/MenuItemSwitch.js.map +1 -1
- package/dist/form/MenuItemTextField.d.ts +1 -0
- package/dist/form/MenuItemTextField.js +1 -0
- package/dist/form/MenuItemTextField.js.map +1 -1
- package/dist/form/NativeSelect.d.ts +2 -0
- package/dist/form/NativeSelect.js +2 -0
- package/dist/form/NativeSelect.js.map +1 -1
- package/dist/form/OptGroup.d.ts +4 -1
- package/dist/form/OptGroup.js +4 -1
- package/dist/form/OptGroup.js.map +1 -1
- package/dist/form/Option.d.ts +2 -1
- package/dist/form/Option.js +1 -0
- package/dist/form/Option.js.map +1 -1
- package/dist/form/Password.d.ts +3 -1
- package/dist/form/Password.js +3 -1
- package/dist/form/Password.js.map +1 -1
- package/dist/form/Radio.d.ts +2 -0
- package/dist/form/Radio.js +2 -0
- package/dist/form/Radio.js.map +1 -1
- package/dist/form/Select.d.ts +5 -28
- package/dist/form/Select.js +4 -27
- package/dist/form/Select.js.map +1 -1
- package/dist/form/Slider.d.ts +9 -2
- package/dist/form/Slider.js.map +1 -1
- package/dist/form/SliderContainer.js +7 -11
- package/dist/form/SliderContainer.js.map +1 -1
- package/dist/form/SliderMark.js +5 -8
- package/dist/form/SliderMark.js.map +1 -1
- package/dist/form/SliderMarkLabel.js +5 -7
- package/dist/form/SliderMarkLabel.js.map +1 -1
- package/dist/form/SliderThumb.js +2 -27
- package/dist/form/SliderThumb.js.map +1 -1
- package/dist/form/SliderTrack.js +6 -12
- package/dist/form/SliderTrack.js.map +1 -1
- package/dist/form/SliderValueTooltip.js +7 -7
- package/dist/form/SliderValueTooltip.js.map +1 -1
- package/dist/form/Switch.d.ts +9 -1
- package/dist/form/Switch.js +3 -1
- package/dist/form/Switch.js.map +1 -1
- package/dist/form/SwitchTrack.js +8 -8
- package/dist/form/SwitchTrack.js.map +1 -1
- package/dist/form/TextArea.d.ts +9 -1
- package/dist/form/TextArea.js +3 -1
- package/dist/form/TextArea.js.map +1 -1
- package/dist/form/TextField.d.ts +3 -1
- package/dist/form/TextField.js +3 -1
- package/dist/form/TextField.js.map +1 -1
- package/dist/form/TextFieldAddon.d.ts +1 -34
- package/dist/form/TextFieldAddon.js +1 -16
- package/dist/form/TextFieldAddon.js.map +1 -1
- package/dist/form/TextFieldContainer.d.ts +13 -0
- package/dist/form/TextFieldContainer.js.map +1 -1
- package/dist/form/_form.scss +737 -10
- package/dist/form/fieldsetStyles.d.ts +19 -0
- package/dist/form/fieldsetStyles.js +14 -0
- package/dist/form/fieldsetStyles.js.map +1 -0
- package/dist/form/formConfig.js +22 -3
- package/dist/form/formConfig.js.map +1 -1
- package/dist/form/labelStyles.d.ts +5 -0
- package/dist/form/labelStyles.js +34 -0
- package/dist/form/labelStyles.js.map +1 -0
- package/dist/form/sliderStyles.d.ts +89 -0
- package/dist/form/sliderStyles.js +96 -0
- package/dist/form/sliderStyles.js.map +1 -0
- package/dist/form/switchStyles.d.ts +24 -6
- package/dist/form/switchStyles.js +18 -0
- package/dist/form/switchStyles.js.map +1 -1
- package/dist/form/textAreaStyles.d.ts +0 -6
- package/dist/form/textAreaStyles.js.map +1 -1
- package/dist/form/textFieldAddonStyles.d.ts +17 -0
- package/dist/form/textFieldAddonStyles.js +18 -0
- package/dist/form/textFieldAddonStyles.js.map +1 -0
- package/dist/form/textFieldContainerStyles.d.ts +0 -13
- package/dist/form/textFieldContainerStyles.js.map +1 -1
- package/dist/form/types.d.ts +23 -2
- package/dist/form/types.js.map +1 -1
- package/dist/form/useCheckboxGroup.d.ts +8 -0
- package/dist/form/useCheckboxGroup.js +6 -1
- package/dist/form/useCheckboxGroup.js.map +1 -1
- package/dist/form/useCombobox.d.ts +0 -1
- package/dist/form/useCombobox.js +66 -63
- package/dist/form/useCombobox.js.map +1 -1
- package/dist/form/useNumberField.d.ts +17 -7
- package/dist/form/useNumberField.js +2 -0
- package/dist/form/useNumberField.js.map +1 -1
- package/dist/form/useRadioGroup.d.ts +6 -0
- package/dist/form/useRadioGroup.js +3 -0
- package/dist/form/useRadioGroup.js.map +1 -1
- package/dist/form/useRangeSlider.d.ts +6 -1
- package/dist/form/useRangeSlider.js +6 -1
- package/dist/form/useRangeSlider.js.map +1 -1
- package/dist/form/useSlider.d.ts +4 -1
- package/dist/form/useSlider.js +4 -1
- package/dist/form/useSlider.js.map +1 -1
- package/dist/form/useTextField.d.ts +7 -1
- package/dist/form/useTextField.js +5 -1
- package/dist/form/useTextField.js.map +1 -1
- package/dist/form/validation.d.ts +1 -0
- package/dist/form/validation.js.map +1 -1
- package/dist/icon/FontIcon.d.ts +1 -0
- package/dist/icon/FontIcon.js +1 -0
- package/dist/icon/FontIcon.js.map +1 -1
- package/dist/icon/IconRotator.d.ts +2 -0
- package/dist/icon/IconRotator.js +2 -0
- package/dist/icon/IconRotator.js.map +1 -1
- package/dist/icon/MaterialIcon.d.ts +2 -0
- package/dist/icon/MaterialIcon.js +2 -0
- package/dist/icon/MaterialIcon.js.map +1 -1
- package/dist/icon/MaterialSymbol.d.ts +3 -1
- package/dist/icon/MaterialSymbol.js +3 -1
- package/dist/icon/MaterialSymbol.js.map +1 -1
- package/dist/icon/SVGIcon.d.ts +2 -0
- package/dist/icon/SVGIcon.js +2 -0
- package/dist/icon/SVGIcon.js.map +1 -1
- package/dist/icon/TextIconSpacing.d.ts +6 -2
- package/dist/icon/TextIconSpacing.js +6 -2
- package/dist/icon/TextIconSpacing.js.map +1 -1
- package/dist/icon/_icon.scss +137 -129
- package/dist/icon/config.d.ts +2 -2
- package/dist/icon/config.js +2 -2
- package/dist/icon/config.js.map +1 -1
- package/dist/icon/material.d.ts +1 -1
- package/dist/icon/material.js.map +1 -1
- package/dist/icon/styles.d.ts +2 -1
- package/dist/icon/styles.js.map +1 -1
- package/dist/interaction/Ripple.d.ts +11 -2
- package/dist/interaction/Ripple.js.map +1 -1
- package/dist/interaction/UserInteractionModeProvider.d.ts +1 -1
- package/dist/interaction/UserInteractionModeProvider.js +1 -1
- package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
- package/dist/interaction/_interaction.scss +279 -13
- package/dist/layout/LayoutAppBar.d.ts +1 -0
- package/dist/layout/LayoutAppBar.js +1 -0
- package/dist/layout/LayoutAppBar.js.map +1 -1
- package/dist/layout/LayoutNav.d.ts +9 -12
- package/dist/layout/LayoutNav.js +9 -12
- package/dist/layout/LayoutNav.js.map +1 -1
- package/dist/layout/LayoutWindowSplitter.d.ts +7 -8
- package/dist/layout/LayoutWindowSplitter.js +7 -8
- package/dist/layout/LayoutWindowSplitter.js.map +1 -1
- package/dist/layout/Main.d.ts +2 -1
- package/dist/layout/Main.js +2 -1
- package/dist/layout/Main.js.map +1 -1
- package/dist/layout/_layout.scss +106 -23
- package/dist/layout/useExpandableLayout.d.ts +1 -0
- package/dist/layout/useExpandableLayout.js +1 -0
- package/dist/layout/useExpandableLayout.js.map +1 -1
- package/dist/layout/useHorizontalLayoutTransition.d.ts +9 -6
- package/dist/layout/useHorizontalLayoutTransition.js +4 -1
- package/dist/layout/useHorizontalLayoutTransition.js.map +1 -1
- package/dist/layout/useLayoutAppBarHeight.d.ts +7 -10
- package/dist/layout/useLayoutAppBarHeight.js +7 -10
- package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
- package/dist/layout/useLayoutTree.d.ts +3 -0
- package/dist/layout/useLayoutTree.js +3 -0
- package/dist/layout/useLayoutTree.js.map +1 -1
- package/dist/layout/useLayoutWindowSplitter.d.ts +4 -2
- package/dist/layout/useLayoutWindowSplitter.js +4 -2
- package/dist/layout/useLayoutWindowSplitter.js.map +1 -1
- package/dist/layout/useResizableLayout.d.ts +1 -0
- package/dist/layout/useResizableLayout.js +3 -1
- package/dist/layout/useResizableLayout.js.map +1 -1
- package/dist/layout/useTemporaryLayout.d.ts +1 -0
- package/dist/layout/useTemporaryLayout.js +1 -0
- package/dist/layout/useTemporaryLayout.js.map +1 -1
- package/dist/link/Link.d.ts +3 -1
- package/dist/link/Link.js +3 -1
- package/dist/link/Link.js.map +1 -1
- package/dist/link/SkipToMainContent.d.ts +22 -0
- package/dist/link/SkipToMainContent.js +22 -0
- package/dist/link/SkipToMainContent.js.map +1 -1
- package/dist/link/_link.scss +55 -6
- package/dist/list/List.d.ts +11 -1
- package/dist/list/List.js +5 -1
- package/dist/list/List.js.map +1 -1
- package/dist/list/ListItem.d.ts +22 -2
- package/dist/list/ListItem.js +6 -2
- package/dist/list/ListItem.js.map +1 -1
- package/dist/list/ListItemChildren.d.ts +3 -1
- package/dist/list/ListItemChildren.js +3 -1
- package/dist/list/ListItemChildren.js.map +1 -1
- package/dist/list/ListItemLink.d.ts +32 -1
- package/dist/list/ListItemLink.js +32 -1
- package/dist/list/ListItemLink.js.map +1 -1
- package/dist/list/ListSubheader.d.ts +2 -0
- package/dist/list/ListSubheader.js +2 -0
- package/dist/list/ListSubheader.js.map +1 -1
- package/dist/list/_list.scss +224 -1
- package/dist/list/listItemStyles.d.ts +0 -16
- package/dist/list/listItemStyles.js.map +1 -1
- package/dist/list/listStyles.d.ts +0 -6
- package/dist/list/listStyles.js.map +1 -1
- package/dist/media-queries/AppSizeProvider.d.ts +2 -0
- package/dist/media-queries/AppSizeProvider.js +2 -0
- package/dist/media-queries/AppSizeProvider.js.map +1 -1
- package/dist/media-queries/_media-queries.scss +111 -4
- package/dist/media-queries/useMediaQuery.d.ts +2 -0
- package/dist/media-queries/useMediaQuery.js +2 -0
- package/dist/media-queries/useMediaQuery.js.map +1 -1
- package/dist/menu/DropdownMenu.d.ts +5 -2
- package/dist/menu/DropdownMenu.js +5 -2
- package/dist/menu/DropdownMenu.js.map +1 -1
- package/dist/menu/Menu.d.ts +1 -0
- package/dist/menu/Menu.js +1 -0
- package/dist/menu/Menu.js.map +1 -1
- package/dist/menu/MenuBar.d.ts +4 -1
- package/dist/menu/MenuBar.js +4 -1
- package/dist/menu/MenuBar.js.map +1 -1
- package/dist/menu/MenuButton.d.ts +1 -0
- package/dist/menu/MenuButton.js +1 -0
- package/dist/menu/MenuButton.js.map +1 -1
- package/dist/menu/MenuItem.d.ts +1 -0
- package/dist/menu/MenuItem.js +1 -0
- package/dist/menu/MenuItem.js.map +1 -1
- package/dist/menu/MenuItemCircularProgress.d.ts +4 -6
- package/dist/menu/MenuItemCircularProgress.js +4 -6
- package/dist/menu/MenuItemCircularProgress.js.map +1 -1
- package/dist/menu/MenuItemGroup.d.ts +6 -7
- package/dist/menu/MenuItemGroup.js +6 -7
- package/dist/menu/MenuItemGroup.js.map +1 -1
- package/dist/menu/MenuItemSeparator.d.ts +1 -0
- package/dist/menu/MenuItemSeparator.js +1 -0
- package/dist/menu/MenuItemSeparator.js.map +1 -1
- package/dist/menu/MenuWidget.d.ts +0 -12
- package/dist/menu/MenuWidget.js +1 -12
- package/dist/menu/MenuWidget.js.map +1 -1
- package/dist/menu/_menu.scss +61 -0
- package/dist/menu/styles.d.ts +12 -0
- package/dist/menu/styles.js +14 -0
- package/dist/menu/styles.js.map +1 -0
- package/dist/menu/useContextMenu.d.ts +4 -1
- package/dist/menu/useContextMenu.js +4 -1
- package/dist/menu/useContextMenu.js.map +1 -1
- package/dist/movement/useKeyboardMovementProvider.d.ts +3 -3
- package/dist/movement/useKeyboardMovementProvider.js +3 -3
- package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
- package/dist/navigation/CollapsibleNavGroup.d.ts +1 -0
- package/dist/navigation/CollapsibleNavGroup.js +1 -0
- package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
- package/dist/navigation/DefaultNavigationRenderer.d.ts +1 -0
- package/dist/navigation/DefaultNavigationRenderer.js +1 -0
- package/dist/navigation/DefaultNavigationRenderer.js.map +1 -1
- package/dist/navigation/NavGroup.d.ts +1 -0
- package/dist/navigation/NavGroup.js +1 -0
- package/dist/navigation/NavGroup.js.map +1 -1
- package/dist/navigation/NavItem.d.ts +1 -0
- package/dist/navigation/NavItem.js +1 -0
- package/dist/navigation/NavItem.js.map +1 -1
- package/dist/navigation/NavItemButton.d.ts +1 -0
- package/dist/navigation/NavItemButton.js +1 -0
- package/dist/navigation/NavItemButton.js.map +1 -1
- package/dist/navigation/NavItemLink.d.ts +1 -0
- package/dist/navigation/NavItemLink.js +1 -0
- package/dist/navigation/NavItemLink.js.map +1 -1
- package/dist/navigation/NavSubheader.d.ts +1 -0
- package/dist/navigation/NavSubheader.js +1 -0
- package/dist/navigation/NavSubheader.js.map +1 -1
- package/dist/navigation/Navigation.d.ts +44 -0
- package/dist/navigation/Navigation.js +44 -0
- package/dist/navigation/Navigation.js.map +1 -1
- package/dist/navigation/_navigation.scss +47 -5
- package/dist/navigation/getTableOfContentsHeadings.d.ts +20 -0
- package/dist/navigation/getTableOfContentsHeadings.js +53 -0
- package/dist/navigation/getTableOfContentsHeadings.js.map +1 -0
- package/dist/navigation/navItemStyles.js +1 -1
- package/dist/navigation/navItemStyles.js.map +1 -1
- package/dist/navigation/types.d.ts +47 -0
- package/dist/navigation/types.js +1 -3
- package/dist/navigation/types.js.map +1 -1
- package/dist/navigation/useActiveHeadingId.d.ts +2 -12
- package/dist/navigation/useActiveHeadingId.js +1 -0
- package/dist/navigation/useActiveHeadingId.js.map +1 -1
- package/dist/navigation/useNavigationExpansion.d.ts +2 -0
- package/dist/navigation/useNavigationExpansion.js +2 -0
- package/dist/navigation/useNavigationExpansion.js.map +1 -1
- package/dist/navigation/useTableOfContentsHeadings.d.ts +3 -37
- package/dist/navigation/useTableOfContentsHeadings.js +18 -41
- package/dist/navigation/useTableOfContentsHeadings.js.map +1 -1
- package/dist/overlay/Overlay.d.ts +10 -1
- package/dist/overlay/Overlay.js +5 -2
- package/dist/overlay/Overlay.js.map +1 -1
- package/dist/overlay/_overlay.scss +35 -0
- package/dist/overlay/{overlayStyles.d.ts → styles.d.ts} +0 -6
- package/dist/overlay/{overlayStyles.js → styles.js} +1 -1
- package/dist/overlay/styles.js.map +1 -0
- package/dist/portal/Portal.d.ts +1 -0
- package/dist/portal/Portal.js +1 -0
- package/dist/portal/Portal.js.map +1 -1
- package/dist/portal/PortalContainerProvider.d.ts +1 -0
- package/dist/portal/PortalContainerProvider.js +1 -0
- package/dist/portal/PortalContainerProvider.js.map +1 -1
- package/dist/positioning/createHorizontalPosition.d.ts +6 -6
- package/dist/positioning/createHorizontalPosition.js +12 -12
- package/dist/positioning/createHorizontalPosition.js.map +1 -1
- package/dist/positioning/createVerticalPosition.d.ts +6 -6
- package/dist/positioning/createVerticalPosition.js +2 -2
- package/dist/positioning/createVerticalPosition.js.map +1 -1
- package/dist/positioning/useFixedPositioning.d.ts +1 -0
- package/dist/positioning/useFixedPositioning.js +1 -0
- package/dist/positioning/useFixedPositioning.js.map +1 -1
- package/dist/progress/CircularProgress.d.ts +3 -2
- package/dist/progress/CircularProgress.js +3 -2
- package/dist/progress/CircularProgress.js.map +1 -1
- package/dist/progress/LinearProgress.d.ts +3 -2
- package/dist/progress/LinearProgress.js +3 -2
- package/dist/progress/LinearProgress.js.map +1 -1
- package/dist/progress/_progress.scss +164 -38
- package/dist/responsive-item/ResponsiveItem.d.ts +4 -3
- package/dist/responsive-item/ResponsiveItem.js +4 -3
- package/dist/responsive-item/ResponsiveItem.js.map +1 -1
- package/dist/responsive-item/ResponsiveItemOverlay.d.ts +6 -4
- package/dist/responsive-item/ResponsiveItemOverlay.js +6 -4
- package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
- package/dist/responsive-item/_responsive-item.scss +89 -0
- package/dist/scroll/useScrollLock.d.ts +1 -0
- package/dist/scroll/useScrollLock.js +1 -0
- package/dist/scroll/useScrollLock.js.map +1 -1
- package/dist/searching/fuzzy.d.ts +2 -1
- package/dist/searching/fuzzy.js +2 -1
- package/dist/searching/fuzzy.js.map +1 -1
- package/dist/segmented-button/SegmentedButton.d.ts +3 -4
- package/dist/segmented-button/SegmentedButton.js +3 -4
- package/dist/segmented-button/SegmentedButton.js.map +1 -1
- package/dist/segmented-button/SegmentedButtonContainer.d.ts +5 -6
- package/dist/segmented-button/SegmentedButtonContainer.js +7 -8
- package/dist/segmented-button/SegmentedButtonContainer.js.map +1 -1
- package/dist/segmented-button/_segmented-button.scss +79 -33
- package/dist/segmented-button/segmentedButtonContainerStyles.d.ts +1 -1
- package/dist/segmented-button/segmentedButtonContainerStyles.js +1 -1
- package/dist/segmented-button/segmentedButtonContainerStyles.js.map +1 -1
- package/dist/sheet/Sheet.d.ts +14 -0
- package/dist/sheet/Sheet.js +2 -0
- package/dist/sheet/Sheet.js.map +1 -1
- package/dist/sheet/_sheet.scss +84 -0
- package/dist/sheet/styles.d.ts +19 -15
- package/dist/sheet/styles.js +6 -2
- package/dist/sheet/styles.js.map +1 -1
- package/dist/snackbar/DefaultToastRenderer.d.ts +1 -0
- package/dist/snackbar/DefaultToastRenderer.js +1 -0
- package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
- package/dist/snackbar/Snackbar.d.ts +10 -9
- package/dist/snackbar/Snackbar.js +4 -1
- package/dist/snackbar/Snackbar.js.map +1 -1
- package/dist/snackbar/Toast.d.ts +8 -0
- package/dist/snackbar/Toast.js +1 -0
- package/dist/snackbar/Toast.js.map +1 -1
- package/dist/snackbar/ToastActionButton.d.ts +2 -1
- package/dist/snackbar/ToastActionButton.js +1 -0
- package/dist/snackbar/ToastActionButton.js.map +1 -1
- package/dist/snackbar/ToastCloseButton.d.ts +2 -1
- package/dist/snackbar/ToastCloseButton.js +1 -0
- package/dist/snackbar/ToastCloseButton.js.map +1 -1
- package/dist/snackbar/ToastContent.d.ts +1 -0
- package/dist/snackbar/ToastContent.js +1 -0
- package/dist/snackbar/ToastContent.js.map +1 -1
- package/dist/snackbar/ToastManager.d.ts +1 -1
- package/dist/snackbar/ToastManager.js +1 -1
- package/dist/snackbar/ToastManager.js.map +1 -1
- package/dist/snackbar/ToastManagerProvider.d.ts +1 -0
- package/dist/snackbar/ToastManagerProvider.js +1 -0
- package/dist/snackbar/ToastManagerProvider.js.map +1 -1
- package/dist/snackbar/_snackbar.scss +131 -3
- package/dist/snackbar/toastStyles.d.ts +0 -7
- package/dist/snackbar/toastStyles.js.map +1 -1
- package/dist/snackbar/useCurrentToastActions.d.ts +1 -0
- package/dist/snackbar/useCurrentToastActions.js +1 -0
- package/dist/snackbar/useCurrentToastActions.js.map +1 -1
- package/dist/storage/useStorage.d.ts +1 -0
- package/dist/storage/useStorage.js +1 -0
- package/dist/storage/useStorage.js.map +1 -1
- package/dist/suspense/CircularProgressSuspense.d.ts +2 -1
- package/dist/suspense/CircularProgressSuspense.js +2 -1
- package/dist/suspense/CircularProgressSuspense.js.map +1 -1
- package/dist/suspense/NullSuspense.d.ts +2 -1
- package/dist/suspense/NullSuspense.js +2 -1
- package/dist/suspense/NullSuspense.js.map +1 -1
- package/dist/table/StickyTableSection.d.ts +2 -0
- package/dist/table/StickyTableSection.js +2 -0
- package/dist/table/StickyTableSection.js.map +1 -1
- package/dist/table/Table.d.ts +8 -8
- package/dist/table/Table.js +8 -8
- package/dist/table/Table.js.map +1 -1
- package/dist/table/TableBody.d.ts +2 -0
- package/dist/table/TableBody.js +2 -0
- package/dist/table/TableBody.js.map +1 -1
- package/dist/table/TableCell.d.ts +6 -2
- package/dist/table/TableCell.js +2 -0
- package/dist/table/TableCell.js.map +1 -1
- package/dist/table/TableCheckbox.d.ts +11 -12
- package/dist/table/TableCheckbox.js +10 -11
- package/dist/table/TableCheckbox.js.map +1 -1
- package/dist/table/TableConfigurationProvider.js +1 -1
- package/dist/table/TableConfigurationProvider.js.map +1 -1
- package/dist/table/TableContainer.d.ts +2 -0
- package/dist/table/TableContainer.js +2 -0
- package/dist/table/TableContainer.js.map +1 -1
- package/dist/table/TableContainerProvider.js +1 -1
- package/dist/table/TableContainerProvider.js.map +1 -1
- package/dist/table/TableFooter.d.ts +2 -0
- package/dist/table/TableFooter.js +2 -0
- package/dist/table/TableFooter.js.map +1 -1
- package/dist/table/TableHeader.d.ts +2 -0
- package/dist/table/TableHeader.js +2 -0
- package/dist/table/TableHeader.js.map +1 -1
- package/dist/table/TableRadio.d.ts +13 -13
- package/dist/table/TableRadio.js +10 -10
- package/dist/table/TableRadio.js.map +1 -1
- package/dist/table/TableRow.d.ts +2 -0
- package/dist/table/TableRow.js +2 -0
- package/dist/table/TableRow.js.map +1 -1
- package/dist/table/_table.scss +209 -11
- package/dist/table/tableCellStyles.js +3 -2
- package/dist/table/tableCellStyles.js.map +1 -1
- package/dist/tabs/SimpleTabPanel.d.ts +2 -0
- package/dist/tabs/SimpleTabPanel.js +2 -0
- package/dist/tabs/SimpleTabPanel.js.map +1 -1
- package/dist/tabs/SimpleTabPanels.d.ts +2 -0
- package/dist/tabs/SimpleTabPanels.js +2 -0
- package/dist/tabs/SimpleTabPanels.js.map +1 -1
- package/dist/tabs/Tab.d.ts +19 -1
- package/dist/tabs/Tab.js +1 -1
- package/dist/tabs/Tab.js.map +1 -1
- package/dist/tabs/TabList.d.ts +1 -1
- package/dist/tabs/TabList.js +1 -1
- package/dist/tabs/TabList.js.map +1 -1
- package/dist/tabs/TabListScrollButton.d.ts +1 -1
- package/dist/tabs/TabListScrollButton.js.map +1 -1
- package/dist/tabs/_tabs.scss +142 -5
- package/dist/tabs/tabStyles.d.ts +0 -18
- package/dist/tabs/tabStyles.js.map +1 -1
- package/dist/tabs/useTabs.d.ts +4 -0
- package/dist/tabs/useTabs.js +3 -2
- package/dist/tabs/useTabs.js.map +1 -1
- package/dist/test-utils/jest-globals/match-media.d.ts +1 -2
- package/dist/test-utils/jest-globals/match-media.js +1 -1
- package/dist/test-utils/jest-globals/match-media.js.map +1 -1
- package/dist/test-utils/jest-globals/resize-observer.js +2 -2
- package/dist/test-utils/jest-globals/resize-observer.js.map +1 -1
- package/dist/test-utils/mocks/ResizeObserver.d.ts +7 -7
- package/dist/test-utils/mocks/ResizeObserver.js +7 -7
- package/dist/test-utils/mocks/ResizeObserver.js.map +1 -1
- package/dist/test-utils/mocks/match-media.d.ts +31 -0
- package/dist/test-utils/mocks/match-media.js.map +1 -1
- package/dist/test-utils/utils/createMatchMediaSpy.d.ts +40 -0
- package/dist/test-utils/{mocks/match-media-implementation.js → utils/createMatchMediaSpy.js} +33 -4
- package/dist/test-utils/utils/createMatchMediaSpy.js.map +1 -0
- package/dist/test-utils/vitest/match-media.d.ts +1 -2
- package/dist/test-utils/vitest/match-media.js +1 -1
- package/dist/test-utils/vitest/match-media.js.map +1 -1
- package/dist/test-utils/vitest/resize-observer.js +2 -2
- package/dist/test-utils/vitest/resize-observer.js.map +1 -1
- package/dist/theme/LocalStorageColorSchemeProvider.d.ts +6 -6
- package/dist/theme/LocalStorageColorSchemeProvider.js +6 -6
- package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
- package/dist/theme/ThemeProvider.d.ts +10 -11
- package/dist/theme/ThemeProvider.js +7 -9
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/_a11y.scss +62 -62
- package/dist/theme/_colors.scss +283 -279
- package/dist/theme/_theme.scss +298 -249
- package/dist/theme/colors.d.ts +2 -2
- package/dist/theme/colors.js +2 -2
- package/dist/theme/colors.js.map +1 -1
- package/dist/theme/useColorScheme.d.ts +1 -1
- package/dist/theme/useColorScheme.js +1 -1
- package/dist/theme/useColorScheme.js.map +1 -1
- package/dist/tooltip/Tooltip.d.ts +12 -1
- package/dist/tooltip/Tooltip.js +6 -2
- package/dist/tooltip/Tooltip.js.map +1 -1
- package/dist/tooltip/TooltipHoverModeProvider.d.ts +1 -0
- package/dist/tooltip/TooltipHoverModeProvider.js +1 -0
- package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
- package/dist/tooltip/_tooltip.scss +109 -5
- package/dist/tooltip/constants.d.ts +13 -3
- package/dist/tooltip/constants.js +4 -4
- package/dist/tooltip/constants.js.map +1 -1
- package/dist/tooltip/{tooltipStyles.d.ts → styles.d.ts} +1 -1
- package/dist/tooltip/{tooltipStyles.js → styles.js} +1 -1
- package/dist/tooltip/styles.js.map +1 -0
- package/dist/tooltip/useTooltip.d.ts +8 -15
- package/dist/tooltip/useTooltip.js +8 -8
- package/dist/tooltip/useTooltip.js.map +1 -1
- package/dist/transition/CSSTransition.d.ts +3 -1
- package/dist/transition/CSSTransition.js +3 -1
- package/dist/transition/CSSTransition.js.map +1 -1
- package/dist/transition/Collapse.d.ts +1 -0
- package/dist/transition/Collapse.js +1 -0
- package/dist/transition/Collapse.js.map +1 -1
- package/dist/transition/CrossFade.d.ts +1 -0
- package/dist/transition/CrossFade.js +1 -0
- package/dist/transition/CrossFade.js.map +1 -1
- package/dist/transition/ScaleTransition.d.ts +4 -1
- package/dist/transition/ScaleTransition.js +4 -1
- package/dist/transition/ScaleTransition.js.map +1 -1
- package/dist/transition/SkeletonPlaceholder.d.ts +3 -2
- package/dist/transition/SkeletonPlaceholder.js +3 -2
- package/dist/transition/SkeletonPlaceholder.js.map +1 -1
- package/dist/transition/Slide.d.ts +1 -0
- package/dist/transition/Slide.js +1 -0
- package/dist/transition/Slide.js.map +1 -1
- package/dist/transition/SlideContainer.d.ts +10 -7
- package/dist/transition/SlideContainer.js +12 -8
- package/dist/transition/SlideContainer.js.map +1 -1
- package/dist/transition/_transition.scss +178 -6
- package/dist/transition/getTransitionCallbacks.d.ts +76 -0
- package/dist/transition/getTransitionCallbacks.js +57 -0
- package/dist/transition/getTransitionCallbacks.js.map +1 -0
- package/dist/transition/skeletonPlaceholderUtils.d.ts +4 -1
- package/dist/transition/skeletonPlaceholderUtils.js +4 -1
- package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
- package/dist/transition/types.d.ts +26 -1
- package/dist/transition/types.js.map +1 -1
- package/dist/transition/useCSSTransition.d.ts +2 -0
- package/dist/transition/useCSSTransition.js +2 -0
- package/dist/transition/useCSSTransition.js.map +1 -1
- package/dist/transition/useCarousel.d.ts +6 -2
- package/dist/transition/useCarousel.js +11 -7
- package/dist/transition/useCarousel.js.map +1 -1
- package/dist/transition/useCollapseTransition.d.ts +7 -2
- package/dist/transition/useCollapseTransition.js +2 -0
- package/dist/transition/useCollapseTransition.js.map +1 -1
- package/dist/transition/useCrossFadeTransition.d.ts +22 -45
- package/dist/transition/useCrossFadeTransition.js +17 -49
- package/dist/transition/useCrossFadeTransition.js.map +1 -1
- package/dist/transition/useScaleTransition.d.ts +22 -16
- package/dist/transition/useScaleTransition.js +20 -14
- package/dist/transition/useScaleTransition.js.map +1 -1
- package/dist/transition/useSkeletonPlaceholder.d.ts +6 -3
- package/dist/transition/useSkeletonPlaceholder.js +3 -0
- package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
- package/dist/transition/useSlideTransition.d.ts +9 -3
- package/dist/transition/useSlideTransition.js +1 -0
- package/dist/transition/useSlideTransition.js.map +1 -1
- package/dist/transition/useTransition.d.ts +1 -0
- package/dist/transition/useTransition.js +3 -2
- package/dist/transition/useTransition.js.map +1 -1
- package/dist/tree/DefaultTreeItemRenderer.d.ts +1 -0
- package/dist/tree/DefaultTreeItemRenderer.js +1 -0
- package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
- package/dist/tree/Tree.d.ts +8 -9
- package/dist/tree/Tree.js +4 -3
- package/dist/tree/Tree.js.map +1 -1
- package/dist/tree/TreeItem.d.ts +1 -0
- package/dist/tree/TreeItem.js +1 -0
- package/dist/tree/TreeItem.js.map +1 -1
- package/dist/tree/_tree.scss +71 -1
- package/dist/tree/types.d.ts +1 -1
- package/dist/tree/types.js.map +1 -1
- package/dist/tree/useTree.d.ts +4 -2
- package/dist/tree/useTree.js +4 -2
- package/dist/tree/useTree.js.map +1 -1
- package/dist/tree/useTreeExpansion.d.ts +1 -0
- package/dist/tree/useTreeExpansion.js +1 -0
- package/dist/tree/useTreeExpansion.js.map +1 -1
- package/dist/tree/useTreeItems.d.ts +1 -0
- package/dist/tree/useTreeItems.js +1 -0
- package/dist/tree/useTreeItems.js.map +1 -1
- package/dist/tree/useTreeSelection.d.ts +1 -0
- package/dist/tree/useTreeSelection.js +1 -0
- package/dist/tree/useTreeSelection.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js.map +1 -1
- package/dist/typography/HighlightText.d.ts +76 -0
- package/dist/typography/HighlightText.js +60 -0
- package/dist/typography/HighlightText.js.map +1 -0
- package/dist/typography/HighlightTextMark.d.ts +16 -0
- package/dist/typography/HighlightTextMark.js +16 -0
- package/dist/typography/HighlightTextMark.js.map +1 -0
- package/dist/typography/Mark.d.ts +27 -0
- package/dist/typography/Mark.js +34 -0
- package/dist/typography/Mark.js.map +1 -0
- package/dist/typography/SrOnly.d.ts +3 -1
- package/dist/typography/SrOnly.js +3 -1
- package/dist/typography/SrOnly.js.map +1 -1
- package/dist/typography/TextContainer.d.ts +9 -1
- package/dist/typography/TextContainer.js +3 -1
- package/dist/typography/TextContainer.js.map +1 -1
- package/dist/typography/Typography.d.ts +2 -1
- package/dist/typography/Typography.js +2 -1
- package/dist/typography/Typography.js.map +1 -1
- package/dist/typography/WritingDirectionProvider.d.ts +8 -8
- package/dist/typography/WritingDirectionProvider.js +8 -8
- package/dist/typography/WritingDirectionProvider.js.map +1 -1
- package/dist/typography/_typography.scss +392 -51
- package/dist/typography/markStyles.d.ts +10 -0
- package/dist/typography/markStyles.js +11 -0
- package/dist/typography/markStyles.js.map +1 -0
- package/dist/typography/textContainerStyles.d.ts +2 -7
- package/dist/typography/textContainerStyles.js +2 -1
- package/dist/typography/textContainerStyles.js.map +1 -1
- package/dist/typography/typographyStyles.d.ts +2 -2
- package/dist/typography/typographyStyles.js +2 -2
- package/dist/typography/typographyStyles.js.map +1 -1
- package/dist/useAsyncFunction.d.ts +10 -68
- package/dist/useAsyncFunction.js +9 -67
- package/dist/useAsyncFunction.js.map +1 -1
- package/dist/useDebouncedFunction.d.ts +3 -1
- package/dist/useDebouncedFunction.js +3 -1
- package/dist/useDebouncedFunction.js.map +1 -1
- package/dist/useDropzone.d.ts +3 -2
- package/dist/useDropzone.js +3 -2
- package/dist/useDropzone.js.map +1 -1
- package/dist/useThrottledFunction.d.ts +3 -1
- package/dist/useThrottledFunction.js +3 -1
- package/dist/useThrottledFunction.js.map +1 -1
- package/dist/useUnmounted.d.ts +1 -1
- package/dist/useUnmounted.js +1 -1
- package/dist/useUnmounted.js.map +1 -1
- package/dist/utils/RenderRecursively.d.ts +1 -0
- package/dist/utils/RenderRecursively.js +1 -0
- package/dist/utils/RenderRecursively.js.map +1 -1
- package/dist/utils/applyRef.d.ts +1 -1
- package/dist/utils/applyRef.js +1 -1
- package/dist/utils/applyRef.js.map +1 -1
- package/dist/window-splitter/WindowSplitter.d.ts +11 -0
- package/dist/window-splitter/WindowSplitter.js +1 -0
- package/dist/window-splitter/WindowSplitter.js.map +1 -1
- package/dist/window-splitter/_window-splitter.scss +46 -0
- package/dist/window-splitter/useWindowSplitter.d.ts +0 -10
- package/dist/window-splitter/useWindowSplitter.js.map +1 -1
- package/package.json +43 -17
- package/src/CoreProviders.tsx +1 -0
- package/src/NoSsr.tsx +3 -1
- package/src/RootHtml.tsx +1 -1
- package/src/SsrProvider.tsx +1 -0
- package/src/app-bar/AppBar.tsx +3 -1
- package/src/app-bar/AppBarTitle.tsx +2 -1
- package/src/autocomplete/Autocomplete.tsx +85 -3
- package/src/autocomplete/AutocompleteChip.tsx +1 -0
- package/src/autocomplete/AutocompleteCircularProgress.tsx +1 -0
- package/src/autocomplete/AutocompleteClearButton.tsx +3 -1
- package/src/autocomplete/AutocompleteDropdownButton.tsx +1 -0
- package/src/autocomplete/AutocompleteListboxChildren.tsx +2 -3
- package/src/autocomplete/autocompleteStyles.ts +11 -2
- package/src/autocomplete/types.ts +140 -86
- package/src/autocomplete/useAutocomplete.ts +21 -26
- package/src/autocomplete/utils.ts +6 -8
- package/src/avatar/Avatar.tsx +2 -1
- package/src/badge/Badge.tsx +8 -4
- package/src/box/Box.tsx +4 -3
- package/src/button/AsyncButton.tsx +4 -3
- package/src/button/Button.tsx +11 -9
- package/src/button/ButtonUnstyled.tsx +2 -1
- package/src/button/TooltippedButton.tsx +3 -2
- package/src/button/{buttonStyles.ts → styles.ts} +18 -0
- package/src/card/Card.tsx +9 -10
- package/src/card/CardContent.tsx +1 -0
- package/src/card/CardFooter.tsx +1 -0
- package/src/card/CardHeader.tsx +1 -0
- package/src/card/CardSubtitle.tsx +1 -0
- package/src/card/CardTitle.tsx +2 -1
- package/src/card/ClickableCard.tsx +3 -1
- package/src/chip/Chip.tsx +5 -3
- package/src/cssUtils.ts +1 -1
- package/src/dialog/Dialog.tsx +9 -10
- package/src/dialog/DialogContent.tsx +5 -5
- package/src/dialog/DialogFooter.tsx +5 -2
- package/src/dialog/DialogHeader.tsx +31 -5
- package/src/dialog/DialogTitle.tsx +8 -7
- package/src/dialog/FixedDialog.tsx +13 -12
- package/src/dialog/styles.ts +16 -10
- package/src/divider/Divider.tsx +3 -1
- package/src/divider/styles.ts +2 -2
- package/src/draggable/useDraggable.ts +1 -0
- package/src/error-boundary/ErrorBoundary.tsx +103 -0
- package/src/error-boundary/context.ts +16 -0
- package/src/error-boundary/types.ts +19 -0
- package/src/error-boundary/useErrorBoundary.ts +36 -0
- package/src/expansion-panel/ExpansionList.tsx +1 -0
- package/src/expansion-panel/ExpansionPanel.tsx +32 -0
- package/src/expansion-panel/ExpansionPanelHeader.tsx +10 -10
- package/src/expansion-panel/expansionPanelStyles.ts +33 -0
- package/src/expansion-panel/useExpansionList.ts +7 -8
- package/src/expansion-panel/useExpansionPanels.ts +7 -10
- package/src/files/FileInput.tsx +4 -2
- package/src/files/styles.ts +1 -1
- package/src/files/useFileUpload.ts +2 -0
- package/src/focus/useFocusContainer.ts +29 -43
- package/src/form/Checkbox.tsx +3 -1
- package/src/form/Fieldset.tsx +6 -35
- package/src/form/Form.tsx +2 -0
- package/src/form/FormMessage.tsx +2 -0
- package/src/form/FormMessageContainer.tsx +1 -0
- package/src/form/FormMessageCounter.tsx +2 -0
- package/src/form/InputToggle.tsx +4 -2
- package/src/form/Label.tsx +5 -54
- package/src/form/Legend.tsx +1 -0
- package/src/form/Listbox.tsx +1 -1
- package/src/form/MenuItemCheckbox.tsx +3 -1
- package/src/form/MenuItemFileInput.tsx +1 -0
- package/src/form/MenuItemInputToggle.tsx +3 -2
- package/src/form/MenuItemRadio.tsx +8 -8
- package/src/form/MenuItemSwitch.tsx +3 -1
- package/src/form/MenuItemTextField.tsx +1 -0
- package/src/form/NativeSelect.tsx +2 -0
- package/src/form/OptGroup.tsx +4 -1
- package/src/form/Option.tsx +2 -1
- package/src/form/Password.tsx +3 -1
- package/src/form/Radio.tsx +2 -0
- package/src/form/Select.tsx +6 -29
- package/src/form/Slider.tsx +9 -2
- package/src/form/SliderContainer.tsx +7 -15
- package/src/form/SliderMark.tsx +2 -13
- package/src/form/SliderMarkLabel.tsx +2 -5
- package/src/form/SliderThumb.tsx +2 -50
- package/src/form/SliderTrack.tsx +8 -18
- package/src/form/SliderValueTooltip.tsx +2 -10
- package/src/form/Switch.tsx +10 -1
- package/src/form/SwitchTrack.tsx +3 -6
- package/src/form/TextArea.tsx +10 -1
- package/src/form/TextField.tsx +3 -1
- package/src/form/TextFieldAddon.tsx +2 -59
- package/src/form/TextFieldContainer.tsx +14 -0
- package/src/form/fieldsetStyles.ts +35 -0
- package/src/form/formConfig.ts +29 -4
- package/src/form/labelStyles.ts +55 -0
- package/src/form/sliderStyles.ts +204 -0
- package/src/form/switchStyles.ts +36 -7
- package/src/form/textAreaStyles.ts +0 -7
- package/src/form/textFieldAddonStyles.ts +41 -0
- package/src/form/textFieldContainerStyles.ts +0 -14
- package/src/form/types.ts +25 -2
- package/src/form/useCheckboxGroup.ts +14 -0
- package/src/form/useCombobox.ts +78 -84
- package/src/form/useNumberField.ts +19 -7
- package/src/form/useRadioGroup.ts +9 -0
- package/src/form/useRangeSlider.ts +6 -1
- package/src/form/useSlider.ts +4 -1
- package/src/form/useTextField.ts +12 -1
- package/src/form/validation.ts +1 -0
- package/src/icon/FontIcon.tsx +1 -0
- package/src/icon/IconRotator.tsx +2 -0
- package/src/icon/MaterialIcon.tsx +2 -0
- package/src/icon/MaterialSymbol.tsx +3 -1
- package/src/icon/SVGIcon.tsx +2 -0
- package/src/icon/TextIconSpacing.tsx +6 -2
- package/src/icon/config.tsx +2 -2
- package/src/icon/material.ts +260 -17
- package/src/icon/styles.ts +5 -1
- package/src/interaction/Ripple.tsx +4 -4
- package/src/interaction/UserInteractionModeProvider.tsx +1 -1
- package/src/layout/LayoutAppBar.tsx +1 -0
- package/src/layout/LayoutNav.tsx +9 -12
- package/src/layout/LayoutWindowSplitter.tsx +7 -8
- package/src/layout/Main.tsx +2 -1
- package/src/layout/useExpandableLayout.ts +1 -0
- package/src/layout/useHorizontalLayoutTransition.ts +5 -2
- package/src/layout/useLayoutAppBarHeight.ts +7 -10
- package/src/layout/useLayoutTree.ts +3 -0
- package/src/layout/useLayoutWindowSplitter.ts +4 -2
- package/src/layout/useResizableLayout.ts +3 -0
- package/src/layout/useTemporaryLayout.ts +1 -0
- package/src/link/Link.tsx +3 -1
- package/src/link/SkipToMainContent.tsx +22 -0
- package/src/list/List.tsx +12 -1
- package/src/list/ListItem.tsx +23 -2
- package/src/list/ListItemChildren.tsx +3 -1
- package/src/list/ListItemLink.tsx +32 -1
- package/src/list/ListSubheader.tsx +2 -0
- package/src/list/listItemStyles.ts +0 -17
- package/src/list/listStyles.ts +0 -7
- package/src/media-queries/AppSizeProvider.tsx +2 -0
- package/src/media-queries/useMediaQuery.ts +2 -0
- package/src/menu/DropdownMenu.tsx +5 -2
- package/src/menu/Menu.tsx +1 -0
- package/src/menu/MenuBar.tsx +4 -1
- package/src/menu/MenuButton.tsx +1 -0
- package/src/menu/MenuItem.tsx +1 -0
- package/src/menu/MenuItemCircularProgress.tsx +4 -6
- package/src/menu/MenuItemGroup.tsx +6 -7
- package/src/menu/MenuItemSeparator.tsx +1 -0
- package/src/menu/MenuWidget.tsx +1 -21
- package/src/menu/styles.ts +23 -0
- package/src/menu/useContextMenu.ts +4 -1
- package/src/movement/useKeyboardMovementProvider.ts +3 -3
- package/src/navigation/CollapsibleNavGroup.tsx +1 -0
- package/src/navigation/DefaultNavigationRenderer.tsx +1 -0
- package/src/navigation/NavGroup.tsx +1 -0
- package/src/navigation/NavItem.tsx +1 -0
- package/src/navigation/NavItemButton.tsx +1 -0
- package/src/navigation/NavItemLink.tsx +1 -0
- package/src/navigation/NavSubheader.tsx +1 -0
- package/src/navigation/Navigation.tsx +44 -0
- package/src/navigation/getTableOfContentsHeadings.ts +70 -0
- package/src/navigation/navItemStyles.ts +1 -1
- package/src/navigation/types.ts +57 -0
- package/src/navigation/useActiveHeadingId.ts +3 -15
- package/src/navigation/useNavigationExpansion.ts +2 -0
- package/src/navigation/useTableOfContentsHeadings.ts +22 -89
- package/src/overlay/Overlay.tsx +12 -2
- package/src/overlay/{overlayStyles.ts → styles.ts} +1 -7
- package/src/portal/Portal.tsx +1 -0
- package/src/portal/PortalContainerProvider.tsx +1 -0
- package/src/positioning/createHorizontalPosition.ts +25 -19
- package/src/positioning/createVerticalPosition.ts +10 -8
- package/src/positioning/useFixedPositioning.ts +1 -0
- package/src/progress/CircularProgress.tsx +3 -2
- package/src/progress/LinearProgress.tsx +3 -2
- package/src/responsive-item/ResponsiveItem.tsx +4 -3
- package/src/responsive-item/ResponsiveItemOverlay.tsx +6 -4
- package/src/scroll/useScrollLock.ts +1 -0
- package/src/searching/fuzzy.ts +2 -1
- package/src/segmented-button/SegmentedButton.tsx +3 -4
- package/src/segmented-button/SegmentedButtonContainer.tsx +7 -8
- package/src/segmented-button/segmentedButtonContainerStyles.ts +1 -1
- package/src/sheet/Sheet.tsx +15 -0
- package/src/sheet/styles.ts +10 -17
- package/src/snackbar/DefaultToastRenderer.tsx +1 -0
- package/src/snackbar/Snackbar.tsx +10 -9
- package/src/snackbar/Toast.tsx +9 -0
- package/src/snackbar/ToastActionButton.tsx +2 -1
- package/src/snackbar/ToastCloseButton.tsx +2 -1
- package/src/snackbar/ToastContent.tsx +1 -0
- package/src/snackbar/{ToastManager.tsx → ToastManager.ts} +1 -1
- package/src/snackbar/ToastManagerProvider.tsx +1 -0
- package/src/snackbar/toastStyles.ts +0 -8
- package/src/snackbar/useCurrentToastActions.ts +1 -0
- package/src/storage/useStorage.ts +1 -0
- package/src/suspense/CircularProgressSuspense.tsx +2 -1
- package/src/suspense/NullSuspense.tsx +2 -1
- package/src/table/StickyTableSection.tsx +2 -0
- package/src/table/Table.tsx +8 -8
- package/src/table/TableBody.tsx +2 -0
- package/src/table/TableCell.tsx +6 -2
- package/src/table/TableCheckbox.tsx +11 -12
- package/src/table/TableContainer.tsx +2 -0
- package/src/table/TableFooter.tsx +2 -0
- package/src/table/TableHeader.tsx +2 -0
- package/src/table/TableRadio.tsx +13 -13
- package/src/table/TableRow.tsx +2 -0
- package/src/table/tableCellStyles.ts +1 -1
- package/src/tabs/SimpleTabPanel.tsx +2 -0
- package/src/tabs/SimpleTabPanels.tsx +2 -0
- package/src/tabs/Tab.tsx +21 -1
- package/src/tabs/TabList.tsx +1 -1
- package/src/tabs/TabListScrollButton.tsx +1 -1
- package/src/tabs/tabStyles.ts +0 -20
- package/src/tabs/useTabs.ts +7 -2
- package/src/test-utils/jest-globals/match-media.ts +4 -3
- package/src/test-utils/jest-globals/resize-observer.ts +2 -2
- package/src/test-utils/mocks/ResizeObserver.ts +7 -7
- package/src/test-utils/mocks/match-media.ts +32 -0
- package/src/test-utils/{mocks/match-media-implementation.ts → utils/createMatchMediaSpy.ts} +34 -36
- package/src/test-utils/vitest/match-media.ts +4 -3
- package/src/test-utils/vitest/resize-observer.ts +2 -2
- package/src/theme/LocalStorageColorSchemeProvider.tsx +6 -6
- package/src/theme/ThemeProvider.tsx +10 -11
- package/src/theme/colors.ts +2 -2
- package/src/theme/useColorScheme.ts +1 -1
- package/src/tooltip/Tooltip.tsx +14 -2
- package/src/tooltip/TooltipHoverModeProvider.tsx +1 -0
- package/src/tooltip/constants.ts +11 -11
- package/src/tooltip/{tooltipStyles.ts → styles.ts} +1 -1
- package/src/tooltip/useTooltip.ts +8 -16
- package/src/transition/CSSTransition.tsx +3 -1
- package/src/transition/Collapse.tsx +1 -0
- package/src/transition/CrossFade.tsx +1 -0
- package/src/transition/ScaleTransition.tsx +4 -1
- package/src/transition/SkeletonPlaceholder.tsx +3 -2
- package/src/transition/Slide.tsx +1 -0
- package/src/transition/SlideContainer.tsx +15 -11
- package/src/transition/getTransitionCallbacks.ts +140 -0
- package/src/transition/skeletonPlaceholderUtils.ts +4 -1
- package/src/transition/types.ts +28 -7
- package/src/transition/useCSSTransition.ts +2 -0
- package/src/transition/useCarousel.ts +11 -7
- package/src/transition/useCollapseTransition.ts +4 -3
- package/src/transition/useCrossFadeTransition.ts +23 -57
- package/src/transition/useScaleTransition.ts +27 -19
- package/src/transition/useSkeletonPlaceholder.ts +6 -3
- package/src/transition/useSlideTransition.ts +14 -13
- package/src/transition/useTransition.ts +3 -2
- package/src/tree/DefaultTreeItemRenderer.tsx +1 -0
- package/src/tree/Tree.tsx +8 -9
- package/src/tree/TreeItem.tsx +1 -0
- package/src/tree/types.ts +1 -1
- package/src/tree/useTree.ts +4 -2
- package/src/tree/useTreeExpansion.ts +1 -0
- package/src/tree/useTreeItems.ts +1 -0
- package/src/tree/useTreeSelection.ts +1 -0
- package/src/types.ts +1 -1
- package/src/typography/HighlightText.tsx +201 -0
- package/src/typography/HighlightTextMark.tsx +25 -0
- package/src/typography/Mark.tsx +41 -0
- package/src/typography/SrOnly.tsx +3 -1
- package/src/typography/TextContainer.tsx +10 -1
- package/src/typography/Typography.tsx +2 -1
- package/src/typography/WritingDirectionProvider.tsx +8 -8
- package/src/typography/markStyles.ts +20 -0
- package/src/typography/textContainerStyles.ts +2 -8
- package/src/typography/typographyStyles.ts +2 -2
- package/src/useAsyncFunction.ts +12 -68
- package/src/useDebouncedFunction.ts +3 -1
- package/src/useDropzone.ts +3 -2
- package/src/useThrottledFunction.ts +3 -1
- package/src/useUnmounted.ts +1 -1
- package/src/utils/RenderRecursively.tsx +1 -0
- package/src/utils/applyRef.ts +1 -1
- package/src/window-splitter/WindowSplitter.tsx +12 -0
- package/src/window-splitter/useWindowSplitter.ts +0 -11
- package/dist/button/buttonStyles.js.map +0 -1
- package/dist/button/buttonUnstyledStyles.d.ts +0 -10
- package/dist/button/buttonUnstyledStyles.js +0 -11
- package/dist/button/buttonUnstyledStyles.js.map +0 -1
- package/dist/overlay/overlayStyles.js.map +0 -1
- package/dist/test-utils/mocks/match-media-implementation.d.ts +0 -42
- package/dist/test-utils/mocks/match-media-implementation.js.map +0 -1
- package/dist/tooltip/tooltipStyles.js.map +0 -1
- package/src/button/buttonUnstyledStyles.ts +0 -19
- /package/src/table/{TableConfigurationProvider.tsx → TableConfigurationProvider.ts} +0 -0
- /package/src/table/{TableContainerProvider.tsx → TableContainerProvider.ts} +0 -0
|
@@ -11,6 +11,7 @@ export interface NavGroupProps extends ListProps {
|
|
|
11
11
|
* A simple wrapper around the {@link Link} component that ads the
|
|
12
12
|
* `--rmd-tree-depth: depth` custom property to allow for incremented padding.
|
|
13
13
|
*
|
|
14
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
14
15
|
* @since 6.0.0
|
|
15
16
|
*/
|
|
16
17
|
export declare const NavGroup: import("react").ForwardRefExoticComponent<NavGroupProps & import("react").RefAttributes<HTMLUListElement>>;
|
|
@@ -6,6 +6,7 @@ import { navGroup } from "./navGroupStyles.js";
|
|
|
6
6
|
* A simple wrapper around the {@link Link} component that ads the
|
|
7
7
|
* `--rmd-tree-depth: depth` custom property to allow for incremented padding.
|
|
8
8
|
*
|
|
9
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
9
10
|
* @since 6.0.0
|
|
10
11
|
*/ export const NavGroup = /*#__PURE__*/ forwardRef(function NavGroup(props, ref) {
|
|
11
12
|
const { style, depth, className, children, ...remaining } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/NavGroup.tsx"],"sourcesContent":["import { type ReactNode, forwardRef } 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 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 * @since 6.0.0\n */\nexport const NavGroup = forwardRef<HTMLUListElement, NavGroupProps>(\n function NavGroup(props, ref) {\n const { 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);\n"],"names":["forwardRef","List","navGroup","NavGroup","props","ref","style","depth","className","children","remaining","disablePadding"],"mappings":";AAAA,SAAyBA,UAAU,QAAQ,QAAQ;AAEnD,SAASC,IAAI,QAAwB,kBAAkB;AACvD,SAASC,QAAQ,QAAQ,sBAAsB;AAU/C
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/NavGroup.tsx"],"sourcesContent":["import { type ReactNode, forwardRef } 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 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://next.react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport const NavGroup = forwardRef<HTMLUListElement, NavGroupProps>(\n function NavGroup(props, ref) {\n const { 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);\n"],"names":["forwardRef","List","navGroup","NavGroup","props","ref","style","depth","className","children","remaining","disablePadding"],"mappings":";AAAA,SAAyBA,UAAU,QAAQ,QAAQ;AAEnD,SAASC,IAAI,QAAwB,kBAAkB;AACvD,SAASC,QAAQ,QAAQ,sBAAsB;AAU/C;;;;;;CAMC,GACD,OAAO,MAAMC,yBAAWH,WACtB,SAASG,SAASC,KAAK,EAAEC,GAAG;IAC1B,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGC,WAAW,GAAGN;IAE5D,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,GACA"}
|
|
@@ -10,6 +10,7 @@ export interface NavItemProps extends LiHTMLAttributes<HTMLLIElement> {
|
|
|
10
10
|
* and should not be used on its own. See the `CollapsibleNavGroup` and
|
|
11
11
|
* `NavItemLink` instead.
|
|
12
12
|
*
|
|
13
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
13
14
|
* @since 6.0.0
|
|
14
15
|
*/
|
|
15
16
|
export declare const NavItem: import("react").ForwardRefExoticComponent<NavItemProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
@@ -6,6 +6,7 @@ import { navItem } from "./navItemStyles.js";
|
|
|
6
6
|
* and should not be used on its own. See the `CollapsibleNavGroup` and
|
|
7
7
|
* `NavItemLink` instead.
|
|
8
8
|
*
|
|
9
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
9
10
|
* @since 6.0.0
|
|
10
11
|
*/ export const NavItem = /*#__PURE__*/ forwardRef(function NavItem(props, ref) {
|
|
11
12
|
const { className, children, ...remaining } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/NavItem.tsx"],"sourcesContent":["import { type LiHTMLAttributes, type ReactNode, forwardRef } from \"react\";\n\nimport { navItem } from \"./navItemStyles.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface NavItemProps extends LiHTMLAttributes<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 * @since 6.0.0\n */\nexport const NavItem = forwardRef<HTMLLIElement, NavItemProps>(\n function NavItem(props, ref) {\n const { className, children, ...remaining } = props;\n return (\n <li {...remaining} ref={ref} className={navItem({ className })}>\n {children}\n </li>\n );\n }\n);\n"],"names":["forwardRef","navItem","NavItem","props","ref","className","children","remaining","li"],"mappings":";AAAA,SAAgDA,UAAU,QAAQ,QAAQ;AAE1E,SAASC,OAAO,QAAQ,qBAAqB;AAS7C
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/NavItem.tsx"],"sourcesContent":["import { type LiHTMLAttributes, type ReactNode, forwardRef } from \"react\";\n\nimport { navItem } from \"./navItemStyles.js\";\n\n/**\n * @since 6.0.0\n */\nexport interface NavItemProps extends LiHTMLAttributes<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://next.react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport const NavItem = forwardRef<HTMLLIElement, NavItemProps>(\n function NavItem(props, ref) {\n const { className, children, ...remaining } = props;\n return (\n <li {...remaining} ref={ref} className={navItem({ className })}>\n {children}\n </li>\n );\n }\n);\n"],"names":["forwardRef","navItem","NavItem","props","ref","className","children","remaining","li"],"mappings":";AAAA,SAAgDA,UAAU,QAAQ,QAAQ;AAE1E,SAASC,OAAO,QAAQ,qBAAqB;AAS7C;;;;;;;CAOC,GACD,OAAO,MAAMC,wBAAUF,WACrB,SAASE,QAAQC,KAAK,EAAEC,GAAG;IACzB,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGC,WAAW,GAAGJ;IAC9C,qBACE,KAACK;QAAI,GAAGD,SAAS;QAAEH,KAAKA;QAAKC,WAAWJ,QAAQ;YAAEI;QAAU;kBACzDC;;AAGP,GACA"}
|
|
@@ -21,6 +21,7 @@ export interface NavItemButtonProps extends Omit<ButtonProps, "children">, NavIt
|
|
|
21
21
|
/**
|
|
22
22
|
* **Client Component**
|
|
23
23
|
*
|
|
24
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
24
25
|
* @since 6.0.0
|
|
25
26
|
*/
|
|
26
27
|
export declare const NavItemButton: import("react").ForwardRefExoticComponent<NavItemButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -11,6 +11,7 @@ import { navItemContent } from "./navItemStyles.js";
|
|
|
11
11
|
/**
|
|
12
12
|
* **Client Component**
|
|
13
13
|
*
|
|
14
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
14
15
|
* @since 6.0.0
|
|
15
16
|
*/ export const NavItemButton = /*#__PURE__*/ forwardRef(function NavItemButton(props, ref) {
|
|
16
17
|
const { className, collapsed, icon, iconRotatorProps, disableIconRotator, children, beforeAddon, afterAddon, spanProps, onBlur, onContextMenu, onFocus, onMouseEnter, onMouseLeave, onTouchEnd, onTouchStart, tooltipOptions, ...remaining } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/NavItemButton.tsx"],"sourcesContent":["\"use client\";\n\nimport { type MouseEventHandler, type ReactNode, forwardRef } 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 Omit<ButtonProps, \"children\">,\n NavItemButtonRotatorProps,\n NavItemContentProps {\n onClick: MouseEventHandler<HTMLButtonElement>;\n collapsed: boolean;\n}\n\n/**\n * **Client Component**\n *\n * @since 6.0.0\n */\nexport const NavItemButton = forwardRef<HTMLButtonElement, NavItemButtonProps>(\n function NavItemButton(props, ref) {\n const {\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);\n"],"names":["forwardRef","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;;AAEA,SAAiDA,UAAU,QAAQ,QAAQ;AAE3E,SAASC,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;AAwBpD
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/NavItemButton.tsx"],"sourcesContent":["\"use client\";\n\nimport { type MouseEventHandler, type ReactNode, forwardRef } 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 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://next.react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport const NavItemButton = forwardRef<HTMLButtonElement, NavItemButtonProps>(\n function NavItemButton(props, ref) {\n const {\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);\n"],"names":["forwardRef","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;;AAEA,SAAiDA,UAAU,QAAQ,QAAQ;AAE3E,SAASC,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;AAwBpD;;;;;CAKC,GACD,OAAO,MAAMC,8BAAgBR,WAC3B,SAASQ,cAAcC,KAAK,EAAEC,GAAG;IAC/B,MAAM,EACJC,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,GACA"}
|
|
@@ -36,6 +36,7 @@ export interface NavItemLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorEl
|
|
|
36
36
|
/**
|
|
37
37
|
* **Client Component**
|
|
38
38
|
*
|
|
39
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
39
40
|
* @since 6.0.0
|
|
40
41
|
*/
|
|
41
42
|
export declare const NavItemLink: import("react").ForwardRefExoticComponent<NavItemLinkProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
@@ -11,6 +11,7 @@ import { navItemLink } from "./navItemStyles.js";
|
|
|
11
11
|
/**
|
|
12
12
|
* **Client Component**
|
|
13
13
|
*
|
|
14
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
14
15
|
* @since 6.0.0
|
|
15
16
|
*/ export const NavItemLink = /*#__PURE__*/ forwardRef(function NavItemLink(props, propRef) {
|
|
16
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/NavItemLink.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type AnchorHTMLAttributes,\n type LiHTMLAttributes,\n forwardRef,\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 Omit<AnchorHTMLAttributes<HTMLAnchorElement>, \"children\">,\n NavItemContentProps,\n ComponentWithRippleProps {\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>, 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 * @since 6.0.0\n */\nexport const NavItemLink = forwardRef<HTMLAnchorElement, NavItemLinkProps>(\n function NavItemLink(props, propRef) {\n const {\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);\n"],"names":["forwardRef","useEffect","cssUtils","useElementInteraction","Tooltip","useTooltip","useEnsuredRef","NavItem","navItemLink","NavItemLink","props","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","ref","span","textOverflow"],"mappings":"AAAA;;AAEA,SAGEA,UAAU,EACVC,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;AA8CjD
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/NavItemLink.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type AnchorHTMLAttributes,\n type LiHTMLAttributes,\n forwardRef,\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 Omit<AnchorHTMLAttributes<HTMLAnchorElement>, \"children\">,\n NavItemContentProps,\n ComponentWithRippleProps {\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>, 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://next.react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport const NavItemLink = forwardRef<HTMLAnchorElement, NavItemLinkProps>(\n function NavItemLink(props, propRef) {\n const {\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);\n"],"names":["forwardRef","useEffect","cssUtils","useElementInteraction","Tooltip","useTooltip","useEnsuredRef","NavItem","navItemLink","NavItemLink","props","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","ref","span","textOverflow"],"mappings":"AAAA;;AAEA,SAGEA,UAAU,EACVC,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;AA8CjD;;;;;CAKC,GACD,OAAO,MAAMC,4BAAcT,WACzB,SAASS,YAAYC,KAAK,EAAEC,OAAO;IACjC,MAAM,EACJC,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,GAAG5B;IAEJ,MAAM,CAAC6B,SAASC,gBAAgB,GAAGlC,cAAcK;IACjD,MAAM,EAAE8B,QAAQ,EAAEC,OAAO,EAAE,GAAGvC,sBAAsB;QAClDwC,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,GAAG1C,WAAW;QAC7D2C,cAAc;QACdC,iBAAiB;QACjB,GAAGd,cAAc;QACjB,GAAGM,QAAQ;IACb;IACAxC,UAAU;QACR,MAAMiD,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,MAAChC;QAAS,GAAGc,OAAO;;0BAClB,MAACR;gBACC4C,gBAAc1C,SAAS,SAAS6B;gBAC/B,GAAGN,SAAS;gBACZ,GAAGG,QAAQ;gBACX,GAAGI,YAAY;gBAChBa,KAAKlB;gBACL1B,MAAMA;gBACNK,WAAWX,YAAY;oBACrBO;oBACAC;oBACAG;gBACF;;oBAECF;kCACD,KAAC0C;wBACE,GAAGrC,SAAS;wBACboC,KAAKX;wBACL5B,WAAWjB,SAAS;4BAClBiB,WAAWG,WAAWH;4BACtByC,cAAc;wBAChB;kCAECxC;;oBAEFF;oBACAwB;;;0BAEH,KAACtC;gBAAS,GAAG0C,YAAY;0BAAG1B;;;;AAGlC,GACA"}
|
|
@@ -7,6 +7,7 @@ export type NavSubheaderProps = ListSubheaderProps;
|
|
|
7
7
|
* A simple wrapper around the {@link ListSubheader} that updates the padding
|
|
8
8
|
* based on the current navigation item depth to match the other items.
|
|
9
9
|
*
|
|
10
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
10
11
|
* @since 6.0.0
|
|
11
12
|
*/
|
|
12
13
|
export declare const NavSubheader: import("react").ForwardRefExoticComponent<ListSubheaderProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
@@ -6,6 +6,7 @@ import { navItem } from "./navItemStyles.js";
|
|
|
6
6
|
* A simple wrapper around the {@link ListSubheader} that updates the padding
|
|
7
7
|
* based on the current navigation item depth to match the other items.
|
|
8
8
|
*
|
|
9
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
9
10
|
* @since 6.0.0
|
|
10
11
|
*/ export const NavSubheader = /*#__PURE__*/ forwardRef(function NavSubheader(props, ref) {
|
|
11
12
|
const { textProps, ...remaining } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/NavSubheader.tsx"],"sourcesContent":["import { forwardRef } 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 * @since 6.0.0\n */\nexport const NavSubheader = forwardRef<HTMLLIElement, NavSubheaderProps>(\n function NavSubheader(props, ref) {\n const { 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);\n"],"names":["forwardRef","ListSubheader","navItem","NavSubheader","props","ref","textProps","remaining","className"],"mappings":";AAAA,SAASA,UAAU,QAAQ,QAAQ;AAEnC,SACEC,aAAa,QAER,2BAA2B;AAClC,SAASC,OAAO,QAAQ,qBAAqB;AAO7C
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/NavSubheader.tsx"],"sourcesContent":["import { forwardRef } 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://next.react-md.dev/components/navigation | Navigation Demos}\n * @since 6.0.0\n */\nexport const NavSubheader = forwardRef<HTMLLIElement, NavSubheaderProps>(\n function NavSubheader(props, ref) {\n const { 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);\n"],"names":["forwardRef","ListSubheader","navItem","NavSubheader","props","ref","textProps","remaining","className"],"mappings":";AAAA,SAASA,UAAU,QAAQ,QAAQ;AAEnC,SACEC,aAAa,QAER,2BAA2B;AAClC,SAASC,OAAO,QAAQ,qBAAqB;AAO7C;;;;;;CAMC,GACD,OAAO,MAAMC,6BAAeH,WAC1B,SAASG,aAAaC,KAAK,EAAEC,GAAG;IAC9B,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGH;IAEpC,qBACE,KAACH;QACE,GAAGM,SAAS;QACbF,KAAKA;QACLC,WAAW;YACT,GAAGA,SAAS;YACZE,WAAWN,QAAQ;gBAAEM,WAAWF,WAAWE;YAAU;QACvD;;AAGN,GACA"}
|
|
@@ -26,6 +26,50 @@ export interface NavigationProps<Item extends NavigationItem = NavigationItem, D
|
|
|
26
26
|
/**
|
|
27
27
|
* **Client Component**
|
|
28
28
|
*
|
|
29
|
+
* The `Navigation` component can be used to create a list of links to
|
|
30
|
+
* different pages within the app and generally used within a `Sheet` or
|
|
31
|
+
* `LayoutNav`.
|
|
32
|
+
*
|
|
33
|
+
* @example Simple Example
|
|
34
|
+
* ```tsx
|
|
35
|
+
* "use client";
|
|
36
|
+
*
|
|
37
|
+
* import { Navigation } from "@react-md/core/navigation/Navigation";
|
|
38
|
+
* import { type NavigationItem } from "@react-md/core/navigation/types";
|
|
39
|
+
* import { useNavigationExpansion } from "@react-md/core/navigation/useNavigationExpansion";
|
|
40
|
+
* import { usePathname } from "next/navigation.js";
|
|
41
|
+
* import { type ReactElement } from "react";
|
|
42
|
+
*
|
|
43
|
+
* import { LinkUnstyled } from "@/components/LinkUnstyled.jsx";
|
|
44
|
+
*
|
|
45
|
+
* const items: readonly NavigationItem[] = [
|
|
46
|
+
* {
|
|
47
|
+
* type: "route",
|
|
48
|
+
* href: "/",
|
|
49
|
+
* children: "Home",
|
|
50
|
+
* },
|
|
51
|
+
* {
|
|
52
|
+
* type: "route",
|
|
53
|
+
* href: "/page-1",
|
|
54
|
+
* children: "Page 1",
|
|
55
|
+
* },
|
|
56
|
+
* ];
|
|
57
|
+
*
|
|
58
|
+
* export function MainNavigation(): ReactElement {
|
|
59
|
+
* const pathname = usePathname();
|
|
60
|
+
* const { data } = useNavigationExpansion({
|
|
61
|
+
* pathname,
|
|
62
|
+
* linkComponent: LinkUnstyled,
|
|
63
|
+
* });
|
|
64
|
+
* return (
|
|
65
|
+
* <nav aria-label="Navigation">
|
|
66
|
+
* <Navigation data={data} items={items} />
|
|
67
|
+
* </nav>
|
|
68
|
+
* );
|
|
69
|
+
* }
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
29
73
|
* @since 6.0.0
|
|
30
74
|
*/
|
|
31
75
|
export declare function Navigation<Item extends NavigationItem, Data extends NavigationRenderData>(props: NavigationProps<Item, Data>): ReactElement;
|
|
@@ -28,6 +28,50 @@ import { NavGroup } from "./NavGroup.js";
|
|
|
28
28
|
/**
|
|
29
29
|
* **Client Component**
|
|
30
30
|
*
|
|
31
|
+
* The `Navigation` component can be used to create a list of links to
|
|
32
|
+
* different pages within the app and generally used within a `Sheet` or
|
|
33
|
+
* `LayoutNav`.
|
|
34
|
+
*
|
|
35
|
+
* @example Simple Example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* "use client";
|
|
38
|
+
*
|
|
39
|
+
* import { Navigation } from "@react-md/core/navigation/Navigation";
|
|
40
|
+
* import { type NavigationItem } from "@react-md/core/navigation/types";
|
|
41
|
+
* import { useNavigationExpansion } from "@react-md/core/navigation/useNavigationExpansion";
|
|
42
|
+
* import { usePathname } from "next/navigation.js";
|
|
43
|
+
* import { type ReactElement } from "react";
|
|
44
|
+
*
|
|
45
|
+
* import { LinkUnstyled } from "@/components/LinkUnstyled.jsx";
|
|
46
|
+
*
|
|
47
|
+
* const items: readonly NavigationItem[] = [
|
|
48
|
+
* {
|
|
49
|
+
* type: "route",
|
|
50
|
+
* href: "/",
|
|
51
|
+
* children: "Home",
|
|
52
|
+
* },
|
|
53
|
+
* {
|
|
54
|
+
* type: "route",
|
|
55
|
+
* href: "/page-1",
|
|
56
|
+
* children: "Page 1",
|
|
57
|
+
* },
|
|
58
|
+
* ];
|
|
59
|
+
*
|
|
60
|
+
* export function MainNavigation(): ReactElement {
|
|
61
|
+
* const pathname = usePathname();
|
|
62
|
+
* const { data } = useNavigationExpansion({
|
|
63
|
+
* pathname,
|
|
64
|
+
* linkComponent: LinkUnstyled,
|
|
65
|
+
* });
|
|
66
|
+
* return (
|
|
67
|
+
* <nav aria-label="Navigation">
|
|
68
|
+
* <Navigation data={data} items={items} />
|
|
69
|
+
* </nav>
|
|
70
|
+
* );
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* @see {@link https://next.react-md.dev/components/navigation | Navigation Demos}
|
|
31
75
|
* @since 6.0.0
|
|
32
76
|
*/ export function Navigation(props) {
|
|
33
77
|
const { data, items, render = DefaultNavigationRenderer, getItemKey = getRecursiveNavItemKey, ...remaining } = props;
|
|
@@ -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 * @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
|
|
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.jsx\";\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://next.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,16 +1,40 @@
|
|
|
1
|
+
////
|
|
2
|
+
/// @group navigation
|
|
3
|
+
////
|
|
4
|
+
|
|
1
5
|
@use "sass:list";
|
|
2
6
|
@use "sass:map";
|
|
3
7
|
@use "../utils";
|
|
4
8
|
@use "../tree/tree";
|
|
5
9
|
@use "../interaction/interaction";
|
|
6
10
|
|
|
11
|
+
/// Set to `true` to disable all the styles.
|
|
12
|
+
/// @type Boolean
|
|
7
13
|
$disable-everything: false !default;
|
|
14
|
+
|
|
15
|
+
/// The default border-radius.
|
|
16
|
+
/// @type Number
|
|
8
17
|
$border-radius: 3rem !default;
|
|
18
|
+
|
|
19
|
+
/// The default horizontal padding.
|
|
20
|
+
/// @type Number
|
|
9
21
|
$horizontal-padding: 0.25rem !default;
|
|
22
|
+
|
|
23
|
+
/// This is used to continually add more padding to the start of the
|
|
24
|
+
/// `NavigationItem` the deeper within the nested lists it appears.
|
|
25
|
+
///
|
|
26
|
+
/// @see $increasing-padding
|
|
27
|
+
/// @type Number
|
|
10
28
|
$padding-incrementor: 0.75rem !default;
|
|
11
29
|
|
|
30
|
+
/// The available configurable css variables and mostly used internally for the
|
|
31
|
+
/// `get-var`, `set-var`, and `use-var` utils.
|
|
32
|
+
/// @type List
|
|
12
33
|
$variables: (border-radius, horizontal-padding, padding-incrementor);
|
|
13
34
|
|
|
35
|
+
/// @param {String} name - The supported variable name
|
|
36
|
+
/// @param {any} fallback [null] - An optional fallback value
|
|
37
|
+
/// @returns {String} a `var()` statement
|
|
14
38
|
@function get-var($name, $fallback: null) {
|
|
15
39
|
$var: utils.get-var-name($variables, $name, "navigation");
|
|
16
40
|
@if $fallback {
|
|
@@ -20,16 +44,24 @@ $variables: (border-radius, horizontal-padding, padding-incrementor);
|
|
|
20
44
|
@return var(#{$var});
|
|
21
45
|
}
|
|
22
46
|
|
|
47
|
+
/// @param {String} name - The supported variable name
|
|
48
|
+
/// @param {any} value - The value to set the variable to. Supports `null` which
|
|
49
|
+
/// will just be a no-op.
|
|
23
50
|
@mixin set-var($name, $value) {
|
|
24
51
|
@if $value {
|
|
25
52
|
#{utils.get-var-name($variables, $name, "navigation")}: #{$value};
|
|
26
53
|
}
|
|
27
54
|
}
|
|
28
55
|
|
|
56
|
+
/// @param {String} property - The css property to apply the variable to
|
|
57
|
+
/// @param {String} name [$property] - The supported variable name
|
|
58
|
+
/// @param {any} fallback [null] - An optional fallback value if the variable
|
|
59
|
+
/// has not been set
|
|
29
60
|
@mixin use-var($property, $name: $property, $fallback: null) {
|
|
30
61
|
#{$property}: get-var($name, $fallback);
|
|
31
62
|
}
|
|
32
63
|
|
|
64
|
+
/// Conditionally applies the css variables based on feature flags
|
|
33
65
|
@mixin variables {
|
|
34
66
|
@if not $disable-everything {
|
|
35
67
|
@include set-var(border-radius, $border-radius);
|
|
@@ -38,12 +70,22 @@ $variables: (border-radius, horizontal-padding, padding-incrementor);
|
|
|
38
70
|
}
|
|
39
71
|
}
|
|
40
72
|
|
|
73
|
+
/// This is the `calc` string for adding more padding the deeper within the
|
|
74
|
+
/// `Navigation` tree a link appears.
|
|
75
|
+
///
|
|
76
|
+
/// @ignore NOTE: This has to be defined here since it relies on the `get-var` function.
|
|
77
|
+
///
|
|
78
|
+
/// @type String
|
|
79
|
+
$increasing-padding: calc(
|
|
80
|
+
tree.get-var(depth) * get-var(padding-incrementor) +
|
|
81
|
+
get-var(horizontal-padding)
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
/// Generates all the styles based on feature flags.
|
|
85
|
+
///
|
|
86
|
+
/// @param {Boolean} disable-layer [false] - Set this to `true` to disable the
|
|
87
|
+
/// layer behavior
|
|
41
88
|
@mixin styles($disable-layer: false) {
|
|
42
|
-
$increasing-padding: calc(
|
|
43
|
-
tree.get-var(depth) * get-var(padding-incrementor) +
|
|
44
|
-
get-var(horizontal-padding)
|
|
45
|
-
);
|
|
46
|
-
|
|
47
89
|
@if not $disable-everything {
|
|
48
90
|
@include utils.optional-layer(navigation, $disable-layer) {
|
|
49
91
|
.rmd-nav-group {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type TableOfContentsHeadings, type TableOfContentsHeadingsOptions } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
* @since 6.0.0
|
|
5
|
+
*/
|
|
6
|
+
export interface GetTableOfContentsHeadingsOptions extends Required<TableOfContentsHeadingsOptions> {
|
|
7
|
+
ssr: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* This is used by the `useTableOfContentsHeadings` hook to find
|
|
11
|
+
* the active heading element which is why it is marked as
|
|
12
|
+
* internal.
|
|
13
|
+
*
|
|
14
|
+
* This will always return an empty list if `ssr` is `true` or
|
|
15
|
+
* `typeof window === "undefined"`.
|
|
16
|
+
*
|
|
17
|
+
* @internal
|
|
18
|
+
* @since 6.0.0
|
|
19
|
+
*/
|
|
20
|
+
export declare function getTableOfContentsHeadings(options: GetTableOfContentsHeadingsOptions): TableOfContentsHeadings;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is used by the `useTableOfContentsHeadings` hook to find
|
|
3
|
+
* the active heading element which is why it is marked as
|
|
4
|
+
* internal.
|
|
5
|
+
*
|
|
6
|
+
* This will always return an empty list if `ssr` is `true` or
|
|
7
|
+
* `typeof window === "undefined"`.
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
* @since 6.0.0
|
|
11
|
+
*/ export function getTableOfContentsHeadings(options) {
|
|
12
|
+
const { ssr, selector, getDepth, getHeadingText } = options;
|
|
13
|
+
if (ssr || typeof window === "undefined") {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
const root = {
|
|
17
|
+
id: "",
|
|
18
|
+
depth: 0,
|
|
19
|
+
items: [],
|
|
20
|
+
children: ""
|
|
21
|
+
};
|
|
22
|
+
let previous = root;
|
|
23
|
+
const parents = [];
|
|
24
|
+
const headings = document.querySelectorAll(selector);
|
|
25
|
+
headings.forEach((heading)=>{
|
|
26
|
+
const depth = getDepth(heading);
|
|
27
|
+
const item = {
|
|
28
|
+
id: heading.id,
|
|
29
|
+
depth,
|
|
30
|
+
items: [],
|
|
31
|
+
children: getHeadingText(heading)
|
|
32
|
+
};
|
|
33
|
+
if (depth > previous.depth) {
|
|
34
|
+
if (!previous.items) {
|
|
35
|
+
previous.items = [];
|
|
36
|
+
}
|
|
37
|
+
parents.push(previous);
|
|
38
|
+
} else if (depth < previous.depth) {
|
|
39
|
+
while(parents[parents.length - 1].depth >= depth){
|
|
40
|
+
parents.pop();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const i = parents.length - 1;
|
|
44
|
+
parents[i].items = [
|
|
45
|
+
...parents[i].items ?? [],
|
|
46
|
+
item
|
|
47
|
+
];
|
|
48
|
+
previous = item;
|
|
49
|
+
});
|
|
50
|
+
return root.items;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=getTableOfContentsHeadings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/getTableOfContentsHeadings.ts"],"sourcesContent":["import {\n type TableOfContentsHeadingItem,\n type TableOfContentsHeadings,\n type TableOfContentsHeadingsOptions,\n} from \"./types.js\";\n\n/**\n * @internal\n * @since 6.0.0\n */\nexport interface GetTableOfContentsHeadingsOptions\n extends Required<TableOfContentsHeadingsOptions> {\n ssr: boolean;\n}\n\n/**\n * This is used by the `useTableOfContentsHeadings` hook to find\n * the active heading element which is why it is marked as\n * internal.\n *\n * This will always return an empty list if `ssr` is `true` or\n * `typeof window === \"undefined\"`.\n *\n * @internal\n * @since 6.0.0\n */\nexport function getTableOfContentsHeadings(\n options: GetTableOfContentsHeadingsOptions\n): TableOfContentsHeadings {\n const { ssr, selector, getDepth, getHeadingText } = options;\n\n if (ssr || typeof window === \"undefined\") {\n return [];\n }\n\n const root = {\n id: \"\",\n depth: 0,\n items: [],\n children: \"\",\n } satisfies TableOfContentsHeadingItem;\n let previous: TableOfContentsHeadingItem = root;\n const parents: TableOfContentsHeadingItem[] = [];\n const headings = document.querySelectorAll(selector);\n headings.forEach((heading) => {\n const depth = getDepth(heading);\n const item: TableOfContentsHeadingItem = {\n id: heading.id,\n depth,\n items: [],\n children: getHeadingText(heading),\n };\n if (depth > previous.depth) {\n if (!previous.items) {\n previous.items = [];\n }\n\n parents.push(previous);\n } else if (depth < previous.depth) {\n while (parents[parents.length - 1].depth >= depth) {\n parents.pop();\n }\n }\n const i = parents.length - 1;\n parents[i].items = [...(parents[i].items ?? []), item];\n previous = item;\n });\n\n return root.items;\n}\n"],"names":["getTableOfContentsHeadings","options","ssr","selector","getDepth","getHeadingText","window","root","id","depth","items","children","previous","parents","headings","document","querySelectorAll","forEach","heading","item","push","length","pop","i"],"mappings":"AAeA;;;;;;;;;;CAUC,GACD,OAAO,SAASA,2BACdC,OAA0C;IAE1C,MAAM,EAAEC,GAAG,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,cAAc,EAAE,GAAGJ;IAEpD,IAAIC,OAAO,OAAOI,WAAW,aAAa;QACxC,OAAO,EAAE;IACX;IAEA,MAAMC,OAAO;QACXC,IAAI;QACJC,OAAO;QACPC,OAAO,EAAE;QACTC,UAAU;IACZ;IACA,IAAIC,WAAuCL;IAC3C,MAAMM,UAAwC,EAAE;IAChD,MAAMC,WAAWC,SAASC,gBAAgB,CAACb;IAC3CW,SAASG,OAAO,CAAC,CAACC;QAChB,MAAMT,QAAQL,SAASc;QACvB,MAAMC,OAAmC;YACvCX,IAAIU,QAAQV,EAAE;YACdC;YACAC,OAAO,EAAE;YACTC,UAAUN,eAAea;QAC3B;QACA,IAAIT,QAAQG,SAASH,KAAK,EAAE;YAC1B,IAAI,CAACG,SAASF,KAAK,EAAE;gBACnBE,SAASF,KAAK,GAAG,EAAE;YACrB;YAEAG,QAAQO,IAAI,CAACR;QACf,OAAO,IAAIH,QAAQG,SAASH,KAAK,EAAE;YACjC,MAAOI,OAAO,CAACA,QAAQQ,MAAM,GAAG,EAAE,CAACZ,KAAK,IAAIA,MAAO;gBACjDI,QAAQS,GAAG;YACb;QACF;QACA,MAAMC,IAAIV,QAAQQ,MAAM,GAAG;QAC3BR,OAAO,CAACU,EAAE,CAACb,KAAK,GAAG;eAAKG,OAAO,CAACU,EAAE,CAACb,KAAK,IAAI,EAAE;YAAGS;SAAK;QACtDP,WAAWO;IACb;IAEA,OAAOZ,KAAKG,KAAK;AACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/navigation/navItemStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { button } from \"../button/
|
|
1
|
+
{"version":3,"sources":["../../src/navigation/navItemStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\n\nimport { button } from \"../button/styles.js\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-nav-item\");\n\n/**\n * @since 6.0.0\n */\nexport interface NavItemClassNameOptions {\n className?: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport function navItem(options: NavItemClassNameOptions = {}): string {\n const { className } = options;\n\n return cnb(styles(), className);\n}\n\n/**\n * @since 6.0.0\n */\nexport interface NavItemContentClassNameOptions {\n className?: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport function navItemContent(\n options: NavItemContentClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(styles(\"content\"), className);\n}\n\n/**\n * @since 6.0.0\n */\nexport interface NavItemLinkClassNameOptions {\n className?: string;\n active?: boolean;\n\n /** @defaultValue `cssUtils({ fontWeight: \"bold\" })` */\n activeClassName?: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport function navItemLink(options: NavItemLinkClassNameOptions = {}): string {\n const {\n active,\n activeClassName = cssUtils({ fontWeight: \"bold\" }),\n className,\n } = options;\n\n return cnb(\n navItemContent(),\n styles(\"link\", { active }),\n button(),\n cssUtils({ textDecoration: \"none\" }),\n active && activeClassName,\n className\n );\n}\n"],"names":["cnb","button","cssUtils","bem","styles","navItem","options","className","navItemContent","navItemLink","active","activeClassName","fontWeight","textDecoration"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AASnB;;CAEC,GACD,OAAO,SAASE,QAAQC,UAAmC,CAAC,CAAC;IAC3D,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAON,IAAII,UAAUG;AACvB;AASA;;CAEC,GACD,OAAO,SAASC,eACdF,UAA0C,CAAC,CAAC;IAE5C,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAON,IAAII,OAAO,YAAYG;AAChC;AAaA;;CAEC,GACD,OAAO,SAASE,YAAYH,UAAuC,CAAC,CAAC;IACnE,MAAM,EACJI,MAAM,EACNC,kBAAkBT,SAAS;QAAEU,YAAY;IAAO,EAAE,EAClDL,SAAS,EACV,GAAGD;IAEJ,OAAON,IACLQ,kBACAJ,OAAO,QAAQ;QAAEM;IAAO,IACxBT,UACAC,SAAS;QAAEW,gBAAgB;IAAO,IAClCH,UAAUC,iBACVJ;AAEJ"}
|
|
@@ -183,3 +183,50 @@ export interface NavItemContentProps {
|
|
|
183
183
|
*/
|
|
184
184
|
tooltipOptions?: Omit<TooltipOptions<HTMLAnchorElement>, keyof TooltippedElementEventHandlers<HTMLAnchorElement>>;
|
|
185
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* @since 6.0.0
|
|
188
|
+
*/
|
|
189
|
+
export interface HeadingReference {
|
|
190
|
+
id: string;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* @since 6.0.0
|
|
194
|
+
*/
|
|
195
|
+
export interface HeadingReferenceWithChildren extends HeadingReference {
|
|
196
|
+
items?: readonly HeadingReferenceWithChildren[];
|
|
197
|
+
}
|
|
198
|
+
/** @since 6.0.0 */
|
|
199
|
+
export interface TableOfContentsHeadingsOptions {
|
|
200
|
+
/**
|
|
201
|
+
* This should be a `document.querySelectorAll` query that returns elements
|
|
202
|
+
* to display in a table of contents component that have a valid id.
|
|
203
|
+
*
|
|
204
|
+
* @see {@link DEFAULT_HEADING_SELECTOR}
|
|
205
|
+
* @defaultValue `main :where(:not(nav *)):where(h1[id],h2[id],h3[id],h4[id],h5[id],h6[id])`
|
|
206
|
+
*/
|
|
207
|
+
selector?: string;
|
|
208
|
+
/**
|
|
209
|
+
* @see {@link DEFAULT_GET_HEADING_DEPTH}
|
|
210
|
+
* @defaultValue `(element) => parseInt(element.tagName.substring(1))`
|
|
211
|
+
*/
|
|
212
|
+
getDepth?: (element: Element) => number;
|
|
213
|
+
/**
|
|
214
|
+
* This is used to get the text to display in a table of contents from each
|
|
215
|
+
* heading element.
|
|
216
|
+
*
|
|
217
|
+
* @see {@link DEFAULT_GET_HEADING_TEXT}
|
|
218
|
+
* @defaultValue `(element) => element.textContent || ""`
|
|
219
|
+
*/
|
|
220
|
+
getHeadingText?: (element: Element) => string;
|
|
221
|
+
}
|
|
222
|
+
/** @since 6.0.0 */
|
|
223
|
+
export interface TableOfContentsHeading extends HeadingReference {
|
|
224
|
+
depth: number;
|
|
225
|
+
children: string;
|
|
226
|
+
}
|
|
227
|
+
/** @since 6.0.0 */
|
|
228
|
+
export interface TableOfContentsHeadingItem extends TableOfContentsHeading, HeadingReferenceWithChildren {
|
|
229
|
+
items?: TableOfContentsHeadingItem[];
|
|
230
|
+
}
|
|
231
|
+
/** @since 6.0.0 */
|
|
232
|
+
export type TableOfContentsHeadings = readonly TableOfContentsHeadingItem[];
|
package/dist/navigation/types.js
CHANGED
|
@@ -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 = ForwardRefExoticComponent<\n AnchorHTMLAttributes<HTMLAnchorElement> & { href: string }\n>;\n\n/**\n * @since 6.0.0\n */\nexport type NavigationLinkComponent = \"a\" | CustomNavigationLinkComponent;\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"],"names":[],"mappings":"
|
|
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 = ForwardRefExoticComponent<\n AnchorHTMLAttributes<HTMLAnchorElement> & { href: string }\n>;\n\n/**\n * @since 6.0.0\n */\nexport type NavigationLinkComponent = \"a\" | CustomNavigationLinkComponent;\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,\n HeadingReferenceWithChildren {\n items?: TableOfContentsHeadingItem[];\n}\n\n/** @since 6.0.0 */\nexport type TableOfContentsHeadings = readonly TableOfContentsHeadingItem[];\n"],"names":[],"mappings":"AAgRA,iBAAiB,GACjB,WAA4E"}
|