@react-md/core 1.0.0-next.16 → 1.0.0-next.17
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/_box-shadows.scss +76 -0
- package/dist/_colors.scss +279 -277
- package/dist/_core.scss +107 -16
- package/dist/_object-fit.scss +86 -0
- package/dist/_utils.scss +246 -72
- package/dist/app-bar/AppBar.d.ts +1 -90
- package/dist/app-bar/AppBar.js +1 -40
- package/dist/app-bar/AppBar.js.map +1 -1
- package/dist/app-bar/AppBarTitle.d.ts +1 -27
- package/dist/app-bar/AppBarTitle.js +1 -15
- package/dist/app-bar/AppBarTitle.js.map +1 -1
- package/dist/app-bar/_app-bar.scss +156 -25
- package/dist/app-bar/styles.d.ts +117 -0
- package/dist/app-bar/styles.js +55 -0
- package/dist/app-bar/styles.js.map +1 -0
- package/dist/autocomplete/Autocomplete.d.ts +8 -79
- package/dist/autocomplete/Autocomplete.js +112 -83
- package/dist/autocomplete/Autocomplete.js.map +1 -1
- package/dist/autocomplete/AutocompleteChip.d.ts +8 -0
- package/dist/autocomplete/AutocompleteChip.js +34 -0
- package/dist/autocomplete/AutocompleteChip.js.map +1 -0
- package/dist/autocomplete/AutocompleteCircularProgress.d.ts +5 -11
- package/dist/autocomplete/AutocompleteCircularProgress.js +4 -0
- package/dist/autocomplete/AutocompleteCircularProgress.js.map +1 -1
- package/dist/autocomplete/AutocompleteClearButton.d.ts +9 -0
- package/dist/autocomplete/AutocompleteClearButton.js +29 -0
- package/dist/autocomplete/AutocompleteClearButton.js.map +1 -0
- package/dist/autocomplete/AutocompleteDropdownButton.d.ts +4 -26
- package/dist/autocomplete/AutocompleteDropdownButton.js +5 -1
- package/dist/autocomplete/AutocompleteDropdownButton.js.map +1 -1
- package/dist/autocomplete/AutocompleteListboxChildren.d.ts +22 -0
- package/dist/autocomplete/AutocompleteListboxChildren.js +37 -0
- package/dist/autocomplete/AutocompleteListboxChildren.js.map +1 -0
- package/dist/autocomplete/_autocomplete.scss +362 -34
- package/dist/autocomplete/autocompleteStyles.d.ts +22 -0
- package/dist/autocomplete/autocompleteStyles.js +17 -8
- package/dist/autocomplete/autocompleteStyles.js.map +1 -1
- package/dist/autocomplete/defaults.d.ts +9 -9
- package/dist/autocomplete/defaults.js +13 -13
- package/dist/autocomplete/defaults.js.map +1 -1
- package/dist/autocomplete/types.d.ts +554 -56
- package/dist/autocomplete/types.js.map +1 -1
- package/dist/autocomplete/useAutocomplete.d.ts +22 -0
- package/dist/autocomplete/useAutocomplete.js +281 -0
- package/dist/autocomplete/useAutocomplete.js.map +1 -0
- package/dist/autocomplete/utils.d.ts +81 -0
- package/dist/autocomplete/utils.js +108 -0
- package/dist/autocomplete/utils.js.map +1 -0
- package/dist/avatar/_avatar.scss +93 -2
- package/dist/badge/Badge.d.ts +1 -20
- package/dist/badge/Badge.js +1 -14
- package/dist/badge/Badge.js.map +1 -1
- package/dist/badge/_badge.scss +90 -3
- package/dist/badge/styles.d.ts +26 -0
- package/dist/badge/styles.js +18 -0
- package/dist/badge/styles.js.map +1 -0
- package/dist/box/Box.js +2 -1
- package/dist/box/Box.js.map +1 -1
- package/dist/box/_box.scss +130 -17
- package/dist/box/styles.d.ts +6 -0
- package/dist/box/styles.js +2 -1
- package/dist/box/styles.js.map +1 -1
- package/dist/button/AsyncButton.d.ts +1 -1
- package/dist/button/AsyncButton.js.map +1 -1
- package/dist/button/Button.d.ts +2 -1
- package/dist/button/Button.js +2 -1
- package/dist/button/Button.js.map +1 -1
- package/dist/button/_button.scss +157 -25
- package/dist/card/Card.d.ts +16 -0
- package/dist/card/Card.js +11 -3
- package/dist/card/Card.js.map +1 -1
- package/dist/card/ClickableCard.d.ts +2 -1
- package/dist/card/ClickableCard.js +5 -2
- package/dist/card/ClickableCard.js.map +1 -1
- package/dist/card/_card.scss +90 -19
- package/dist/card/styles.d.ts +0 -7
- package/dist/card/styles.js +2 -3
- package/dist/card/styles.js.map +1 -1
- package/dist/chip/Chip.d.ts +2 -1
- package/dist/chip/Chip.js +2 -1
- package/dist/chip/Chip.js.map +1 -1
- package/dist/chip/_chip.scss +42 -20
- package/dist/chip/styles.d.ts +12 -10
- package/dist/chip/styles.js.map +1 -1
- package/dist/cssUtils.js.map +1 -1
- package/dist/delegateEvent.d.ts +2 -2
- package/dist/delegateEvent.js.map +1 -1
- package/dist/dialog/Dialog.d.ts +8 -21
- package/dist/dialog/Dialog.js +27 -27
- package/dist/dialog/Dialog.js.map +1 -1
- package/dist/dialog/FixedDialog.d.ts +1 -3
- package/dist/dialog/FixedDialog.js +0 -8
- package/dist/dialog/FixedDialog.js.map +1 -1
- package/dist/dialog/_dialog.scss +67 -13
- package/dist/dialog/styles.d.ts +56 -0
- package/dist/dialog/styles.js +29 -2
- package/dist/dialog/styles.js.map +1 -1
- package/dist/divider/Divider.d.ts +0 -11
- package/dist/divider/Divider.js.map +1 -1
- package/dist/divider/_divider.scss +7 -1
- package/dist/divider/styles.d.ts +11 -0
- package/dist/divider/styles.js.map +1 -1
- package/dist/draggable/useDraggable.d.ts +6 -6
- package/dist/draggable/useDraggable.js.map +1 -1
- package/dist/draggable/utils.d.ts +3 -3
- package/dist/draggable/utils.js.map +1 -1
- package/dist/expansion-panel/ExpansionPanel.d.ts +1 -1
- package/dist/expansion-panel/ExpansionPanel.js.map +1 -1
- package/dist/expansion-panel/_expansion-panel.scss +5 -1
- package/dist/expansion-panel/useExpansionPanels.js +12 -24
- package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
- package/dist/{form → files}/FileInput.d.ts +3 -6
- package/dist/{form → files}/FileInput.js +3 -6
- package/dist/files/FileInput.js.map +1 -0
- package/dist/files/_files.scss +22 -0
- package/dist/files/styles.d.ts +5 -0
- package/dist/files/styles.js +7 -0
- package/dist/files/styles.js.map +1 -0
- package/dist/{form → files}/useFileUpload.d.ts +7 -9
- package/dist/{form → files}/useFileUpload.js +5 -7
- package/dist/files/useFileUpload.js.map +1 -0
- package/dist/files/utils.d.ts +169 -0
- package/dist/files/utils.js +114 -0
- package/dist/files/utils.js.map +1 -0
- package/dist/{form/fileUtils.d.ts → files/validation.d.ts} +9 -174
- package/dist/{form/fileUtils.js → files/validation.js} +9 -134
- package/dist/files/validation.js.map +1 -0
- package/dist/focus/useFocusContainer.d.ts +2 -2
- package/dist/focus/useFocusContainer.js.map +1 -1
- package/dist/focus/utils.js.map +1 -1
- package/dist/form/FormMessage.js.map +1 -1
- package/dist/form/FormMessageContainer.js +4 -2
- package/dist/form/FormMessageContainer.js.map +1 -1
- package/dist/form/InputToggle.d.ts +2 -1
- package/dist/form/InputToggle.js +2 -1
- package/dist/form/InputToggle.js.map +1 -1
- package/dist/form/InputToggleIcon.js.map +1 -1
- package/dist/form/Label.js +2 -2
- package/dist/form/Label.js.map +1 -1
- package/dist/form/Listbox.d.ts +24 -0
- package/dist/form/Listbox.js +46 -0
- package/dist/form/Listbox.js.map +1 -0
- package/dist/form/ListboxProvider.d.ts +21 -0
- package/dist/form/{useListboxProvider.js → ListboxProvider.js} +1 -1
- package/dist/form/ListboxProvider.js.map +1 -0
- package/dist/form/MenuItemTextField.js +1 -2
- package/dist/form/MenuItemTextField.js.map +1 -1
- package/dist/form/NativeSelect.js +7 -4
- package/dist/form/NativeSelect.js.map +1 -1
- package/dist/form/Option.d.ts +49 -10
- package/dist/form/Option.js +11 -9
- package/dist/form/Option.js.map +1 -1
- package/dist/form/Password.js.map +1 -1
- package/dist/form/Select.d.ts +2 -2
- package/dist/form/Select.js +81 -85
- package/dist/form/Select.js.map +1 -1
- package/dist/form/Slider.d.ts +4 -4
- package/dist/form/Slider.js +6 -2
- package/dist/form/Slider.js.map +1 -1
- package/dist/form/SliderThumb.d.ts +3 -3
- package/dist/form/SliderThumb.js.map +1 -1
- package/dist/form/SliderValueMarks.d.ts +2 -2
- package/dist/form/SliderValueMarks.js.map +1 -1
- package/dist/form/SliderValueTooltip.js.map +1 -1
- package/dist/form/TextArea.js +1 -2
- package/dist/form/TextArea.js.map +1 -1
- package/dist/form/TextField.js +1 -2
- package/dist/form/TextField.js.map +1 -1
- package/dist/form/TextFieldContainer.js +1 -2
- package/dist/form/TextFieldContainer.js.map +1 -1
- package/dist/form/_form.scss +186 -121
- package/dist/form/formMessageContainerStyles.d.ts +10 -0
- package/dist/form/formMessageContainerStyles.js +11 -0
- package/dist/form/formMessageContainerStyles.js.map +1 -0
- package/dist/form/inputToggleStyles.js.map +1 -1
- package/dist/form/optionStyles.d.ts +1 -0
- package/dist/form/optionStyles.js +2 -2
- package/dist/form/optionStyles.js.map +1 -1
- package/dist/form/selectUtils.js.map +1 -1
- package/dist/form/sliderUtils.d.ts +1 -1
- package/dist/form/sliderUtils.js.map +1 -1
- package/dist/form/textFieldContainerStyles.d.ts +0 -2
- package/dist/form/textFieldContainerStyles.js +1 -2
- package/dist/form/textFieldContainerStyles.js.map +1 -1
- package/dist/form/types.d.ts +3 -10
- package/dist/form/types.js.map +1 -1
- package/dist/form/useCheckboxGroup.d.ts +17 -17
- package/dist/form/useCheckboxGroup.js +9 -17
- package/dist/form/useCheckboxGroup.js.map +1 -1
- package/dist/form/useCombobox.d.ts +56 -21
- package/dist/form/useCombobox.js +19 -4
- package/dist/form/useCombobox.js.map +1 -1
- package/dist/form/useEditableCombobox.d.ts +24 -4
- package/dist/form/useEditableCombobox.js +5 -0
- package/dist/form/useEditableCombobox.js.map +1 -1
- package/dist/form/useNumberField.js.map +1 -1
- package/dist/form/useRadioGroup.d.ts +6 -6
- package/dist/form/useRadioGroup.js.map +1 -1
- package/dist/form/useResizingTextArea.js.map +1 -1
- package/dist/form/useSelectCombobox.d.ts +3 -4
- package/dist/form/useSelectCombobox.js.map +1 -1
- package/dist/form/useTextField.d.ts +1 -1
- package/dist/form/useTextField.js.map +1 -1
- package/dist/form/useTextFieldContainerAddons.js.map +1 -1
- package/dist/hoverMode/useHoverMode.d.ts +3 -3
- package/dist/hoverMode/useHoverMode.js.map +1 -1
- package/dist/hoverMode/useHoverModeProvider.d.ts +4 -4
- package/dist/hoverMode/useHoverModeProvider.js.map +1 -1
- package/dist/icon/_icon.scss +151 -2
- package/dist/icon/iconConfig.d.ts +10 -0
- package/dist/icon/iconConfig.js +7 -0
- package/dist/icon/iconConfig.js.map +1 -1
- package/dist/icon/materialConfig.js.map +1 -1
- package/dist/icon/styles.js.map +1 -1
- package/dist/interaction/UserInteractionModeProvider.d.ts +5 -5
- package/dist/interaction/UserInteractionModeProvider.js +12 -8
- package/dist/interaction/UserInteractionModeProvider.js.map +1 -1
- package/dist/interaction/types.d.ts +20 -2
- package/dist/interaction/types.js.map +1 -1
- package/dist/interaction/useElementInteraction.d.ts +7 -1
- package/dist/interaction/useElementInteraction.js +1 -2
- package/dist/interaction/useElementInteraction.js.map +1 -1
- package/dist/interaction/utils.d.ts +2 -2
- package/dist/interaction/utils.js +2 -2
- package/dist/interaction/utils.js.map +1 -1
- package/dist/layout/LayoutWindowSplitter.js.map +1 -1
- package/dist/layout/_layout.scss +23 -10
- package/dist/layout/useExpandableLayout.d.ts +3 -3
- package/dist/layout/useExpandableLayout.js.map +1 -1
- package/dist/layout/useLayoutAppBarHeight.d.ts +2 -3
- package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
- package/dist/layout/useTemporaryLayout.d.ts +2 -2
- package/dist/layout/useTemporaryLayout.js.map +1 -1
- package/dist/link/SkipToMainContent.js.map +1 -1
- package/dist/list/ListItem.d.ts +2 -1
- package/dist/list/ListItem.js +2 -1
- package/dist/list/ListItem.js.map +1 -1
- package/dist/list/ListItemChildren.js.map +1 -1
- package/dist/list/ListItemLink.d.ts +2 -1
- package/dist/list/ListItemLink.js +2 -1
- package/dist/list/ListItemLink.js.map +1 -1
- package/dist/list/_list.scss +6 -5
- package/dist/media-queries/_media-queries.scss +12 -0
- package/dist/media-queries/appSize.js.map +1 -1
- package/dist/media-queries/useMediaQuery.js +3 -1
- package/dist/media-queries/useMediaQuery.js.map +1 -1
- package/dist/menu/DropdownMenu.js.map +1 -1
- package/dist/menu/Menu.d.ts +8 -3
- package/dist/menu/Menu.js +2 -1
- package/dist/menu/Menu.js.map +1 -1
- package/dist/menu/MenuItemButton.js +6 -2
- package/dist/menu/MenuItemButton.js.map +1 -1
- package/dist/menu/useContextMenu.d.ts +3 -3
- package/dist/menu/useContextMenu.js.map +1 -1
- package/dist/movement/types.d.ts +5 -5
- package/dist/movement/types.js.map +1 -1
- package/dist/navigation/CollapsibleNavGroup.d.ts +5 -3
- package/dist/navigation/CollapsibleNavGroup.js +3 -4
- package/dist/navigation/CollapsibleNavGroup.js.map +1 -1
- package/dist/navigation/DefaultNavigationRenderer.d.ts +1 -2
- package/dist/navigation/DefaultNavigationRenderer.js +6 -2
- package/dist/navigation/DefaultNavigationRenderer.js.map +1 -1
- package/dist/navigation/NavItemButton.d.ts +1 -1
- package/dist/navigation/NavItemButton.js +1 -0
- package/dist/navigation/NavItemButton.js.map +1 -1
- package/dist/navigation/NavItemLink.d.ts +3 -2
- package/dist/navigation/NavItemLink.js +6 -2
- package/dist/navigation/NavItemLink.js.map +1 -1
- package/dist/navigation/NavSubheader.d.ts +2 -3
- package/dist/navigation/NavSubheader.js.map +1 -1
- package/dist/navigation/Navigation.d.ts +1 -1
- package/dist/navigation/Navigation.js.map +1 -1
- package/dist/navigation/_navigation.scss +6 -5
- package/dist/navigation/types.d.ts +54 -6
- package/dist/navigation/types.js.map +1 -1
- package/dist/navigation/useActiveHeadingId.d.ts +1 -1
- package/dist/navigation/useActiveHeadingId.js.map +1 -1
- package/dist/navigation/useNavigationExpansion.d.ts +104 -0
- package/dist/navigation/useNavigationExpansion.js +77 -0
- package/dist/navigation/useNavigationExpansion.js.map +1 -0
- package/dist/navigation/utils.d.ts +13 -0
- package/dist/navigation/utils.js +36 -0
- package/dist/navigation/utils.js.map +1 -0
- package/dist/objectFit.d.ts +69 -0
- package/dist/objectFit.js +52 -0
- package/dist/objectFit.js.map +1 -0
- package/dist/overlay/_overlay.scss +2 -1
- package/dist/positioning/useFixedPositioning.d.ts +17 -4
- package/dist/positioning/useFixedPositioning.js +10 -5
- package/dist/positioning/useFixedPositioning.js.map +1 -1
- package/dist/positioning/utils.js.map +1 -1
- package/dist/progress/LinearProgress.js.map +1 -1
- package/dist/progress/_progress.scss +20 -14
- package/dist/responsive-item/ResponsiveItem.d.ts +64 -0
- package/dist/responsive-item/ResponsiveItem.js +68 -0
- package/dist/responsive-item/ResponsiveItem.js.map +1 -0
- package/dist/responsive-item/ResponsiveItemOverlay.d.ts +1 -19
- package/dist/responsive-item/ResponsiveItemOverlay.js +1 -12
- package/dist/responsive-item/ResponsiveItemOverlay.js.map +1 -1
- package/dist/responsive-item/_responsive-item.scss +110 -133
- package/dist/responsive-item/responsiveItemOverlayStyles.d.ts +19 -0
- package/dist/responsive-item/responsiveItemOverlayStyles.js +14 -0
- package/dist/responsive-item/responsiveItemOverlayStyles.js.map +1 -0
- package/dist/responsive-item/responsiveItemStyles.d.ts +52 -0
- package/dist/responsive-item/responsiveItemStyles.js +15 -0
- package/dist/responsive-item/responsiveItemStyles.js.map +1 -0
- package/dist/scroll/useScrollLock.d.ts +5 -0
- package/dist/scroll/useScrollLock.js.map +1 -1
- package/dist/searching/utils.d.ts +2 -2
- package/dist/searching/utils.js.map +1 -1
- package/dist/segmented-button/SegmentedButton.d.ts +2 -1
- package/dist/segmented-button/SegmentedButton.js +2 -1
- package/dist/segmented-button/SegmentedButton.js.map +1 -1
- package/dist/segmented-button/_segmented-button.scss +6 -6
- package/dist/sheet/_sheet.scss +18 -6
- package/dist/snackbar/ToastManager.js +15 -5
- package/dist/snackbar/ToastManager.js.map +1 -1
- package/dist/snackbar/_snackbar.scss +30 -17
- package/dist/snackbar/useCurrentToastActions.d.ts +5 -5
- package/dist/snackbar/useCurrentToastActions.js.map +1 -1
- package/dist/table/_table.scss +15 -3
- package/dist/table/tableCellStyles.d.ts +7 -3
- package/dist/table/tableCellStyles.js +2 -2
- package/dist/table/tableCellStyles.js.map +1 -1
- package/dist/tabs/Tab.d.ts +2 -1
- package/dist/tabs/Tab.js +2 -1
- package/dist/tabs/Tab.js.map +1 -1
- package/dist/tabs/TabList.d.ts +2 -2
- package/dist/tabs/TabList.js.map +1 -1
- package/dist/tabs/TabListScrollButton.d.ts +1 -1
- package/dist/tabs/TabListScrollButton.js +1 -1
- package/dist/tabs/TabListScrollButton.js.map +1 -1
- package/dist/tabs/_tabs.scss +30 -9
- package/dist/tabs/getTabListScrollToOptions.d.ts +18 -0
- package/dist/tabs/getTabListScrollToOptions.js +19 -0
- package/dist/tabs/getTabListScrollToOptions.js.map +1 -0
- package/dist/tabs/tabStyles.d.ts +3 -0
- package/dist/tabs/tabStyles.js.map +1 -1
- package/dist/tabs/useTabList.d.ts +1 -8
- package/dist/tabs/useTabList.js +1 -0
- package/dist/tabs/useTabList.js.map +1 -1
- package/dist/tabs/useTabs.d.ts +6 -6
- package/dist/tabs/useTabs.js.map +1 -1
- package/dist/tabs/utils.d.ts +0 -18
- package/dist/tabs/utils.js +0 -15
- package/dist/tabs/utils.js.map +1 -1
- package/dist/test-utils/matchMedia.d.ts +1 -1
- package/dist/test-utils/matchMedia.js +4 -4
- package/dist/test-utils/matchMedia.js.map +1 -1
- package/dist/test-utils/polyfills/TextDecoder.js +0 -1
- package/dist/test-utils/polyfills/TextDecoder.js.map +1 -1
- package/dist/test-utils/timers.d.ts +9 -5
- package/dist/test-utils/timers.js +5 -5
- package/dist/test-utils/timers.js.map +1 -1
- package/dist/theme/LocalStorageColorSchemeProvider.d.ts +1 -1
- package/dist/theme/LocalStorageColorSchemeProvider.js +2 -1
- package/dist/theme/LocalStorageColorSchemeProvider.js.map +1 -1
- package/dist/theme/ThemeProvider.js +3 -1
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/_a11y.scss +77 -13
- package/dist/theme/_colors.scss +279 -277
- package/dist/theme/_theme.scss +308 -37
- package/dist/theme/isColorScheme.d.ts +16 -0
- package/dist/theme/isColorScheme.js +19 -0
- package/dist/theme/isColorScheme.js.map +1 -0
- package/dist/theme/types.d.ts +53 -1
- package/dist/theme/types.js +1 -23
- package/dist/theme/types.js.map +1 -1
- package/dist/theme/useCSSVariables.d.ts +2 -19
- package/dist/theme/useCSSVariables.js.map +1 -1
- package/dist/theme/useColorScheme.d.ts +1 -35
- package/dist/theme/useColorScheme.js.map +1 -1
- package/dist/theme/useColorSchemeMetaTag.d.ts +1 -1
- package/dist/theme/useColorSchemeMetaTag.js.map +1 -1
- package/dist/theme/useColorSchemeProvider.d.ts +1 -1
- package/dist/theme/useColorSchemeProvider.js +1 -1
- package/dist/theme/useColorSchemeProvider.js.map +1 -1
- package/dist/theme/{usePrefersColorScheme.js → usePrefersDarkScheme.js} +1 -1
- package/dist/theme/usePrefersDarkScheme.js.map +1 -0
- package/dist/theme/utils.js.map +1 -1
- package/dist/tooltip/useTooltip.d.ts +14 -9
- package/dist/tooltip/useTooltip.js +2 -1
- package/dist/tooltip/useTooltip.js.map +1 -1
- package/dist/transition/_transition.scss +16 -9
- package/dist/transition/skeletonPlaceholderUtils.js.map +1 -1
- package/dist/transition/types.d.ts +1 -1
- package/dist/transition/types.js.map +1 -1
- package/dist/transition/useCarousel.d.ts +3 -3
- package/dist/transition/useCarousel.js.map +1 -1
- package/dist/transition/useCollapseTransition.js.map +1 -1
- package/dist/transition/useTransition.js +1 -0
- package/dist/transition/useTransition.js.map +1 -1
- package/dist/transition/utils.js.map +1 -1
- package/dist/tree/TreeItem.d.ts +2 -1
- package/dist/tree/TreeItem.js +4 -3
- package/dist/tree/TreeItem.js.map +1 -1
- package/dist/tree/TreeItemExpander.js.map +1 -1
- package/dist/tree/_tree.scss +8 -6
- package/dist/tree/useTreeExpansion.d.ts +1 -1
- package/dist/tree/useTreeExpansion.js +6 -18
- package/dist/tree/useTreeExpansion.js.map +1 -1
- package/dist/tree/useTreeSelection.d.ts +1 -1
- package/dist/tree/useTreeSelection.js +7 -25
- package/dist/tree/useTreeSelection.js.map +1 -1
- package/dist/tree/utils.d.ts +1 -1
- package/dist/tree/utils.js.map +1 -1
- package/dist/types.d.ts +12 -4
- package/dist/types.js.map +1 -1
- package/dist/typography/WritingDirectionProvider.d.ts +1 -1
- package/dist/typography/WritingDirectionProvider.js.map +1 -1
- package/dist/typography/_typography.scss +94 -37
- package/dist/typography/typographyStyles.js.map +1 -1
- package/dist/useDebouncedFunction.d.ts +1 -5
- package/dist/useDebouncedFunction.js +3 -1
- package/dist/useDebouncedFunction.js.map +1 -1
- package/dist/useDropzone.d.ts +4 -4
- package/dist/useDropzone.js.map +1 -1
- package/dist/useEnsuredId.js.map +1 -1
- package/dist/useIntersectionObserver.d.ts +5 -5
- package/dist/useIntersectionObserver.js.map +1 -1
- package/dist/useLocalStorage.d.ts +3 -3
- package/dist/useLocalStorage.js +1 -1
- package/dist/useLocalStorage.js.map +1 -1
- package/dist/useMutationObserver.d.ts +1 -1
- package/dist/useMutationObserver.js.map +1 -1
- package/dist/useOrientation.js +3 -1
- package/dist/useOrientation.js.map +1 -1
- package/dist/usePageInactive.d.ts +2 -2
- package/dist/usePageInactive.js.map +1 -1
- package/dist/useReadonlySet.d.ts +76 -0
- package/dist/useReadonlySet.js +72 -0
- package/dist/useReadonlySet.js.map +1 -0
- package/dist/useResizeListener.d.ts +1 -1
- package/dist/useResizeListener.js.map +1 -1
- package/dist/useThrottledFunction.d.ts +1 -5
- package/dist/useThrottledFunction.js +3 -1
- package/dist/useThrottledFunction.js.map +1 -1
- package/dist/useToggle.d.ts +3 -3
- package/dist/useToggle.js.map +1 -1
- package/dist/utils/RenderRecursively.d.ts +1 -1
- package/dist/utils/RenderRecursively.js.map +1 -1
- package/dist/utils/alphaNumericSort.d.ts +1 -1
- package/dist/utils/alphaNumericSort.js.map +1 -1
- package/dist/utils/bem.js.map +1 -1
- package/dist/utils/debounce.d.ts +5 -0
- package/dist/utils/debounce.js +17 -0
- package/dist/utils/debounce.js.map +1 -0
- package/dist/utils/nearest.js.map +1 -1
- package/dist/utils/parseCssLengthUnit.js.map +1 -1
- package/dist/utils/throttle.d.ts +5 -0
- package/dist/utils/throttle.js +30 -0
- package/dist/utils/throttle.js.map +1 -0
- package/dist/utils/wait.js +3 -1
- package/dist/utils/wait.js.map +1 -1
- package/dist/window-splitter/WindowSplitter.d.ts +37 -15
- package/dist/window-splitter/WindowSplitter.js +38 -17
- package/dist/window-splitter/WindowSplitter.js.map +1 -1
- package/dist/window-splitter/_window-splitter.scss +32 -14
- package/dist/window-splitter/styles.d.ts +14 -0
- package/dist/window-splitter/styles.js +18 -0
- package/dist/window-splitter/styles.js.map +1 -0
- package/package.json +24 -23
- package/src/app-bar/AppBar.tsx +1 -170
- package/src/app-bar/AppBarTitle.tsx +1 -44
- package/src/app-bar/styles.ts +206 -0
- package/src/autocomplete/Autocomplete.tsx +194 -211
- package/src/autocomplete/AutocompleteChip.tsx +48 -0
- package/src/autocomplete/AutocompleteCircularProgress.tsx +6 -17
- package/src/autocomplete/AutocompleteClearButton.tsx +44 -0
- package/src/autocomplete/AutocompleteDropdownButton.tsx +16 -37
- package/src/autocomplete/AutocompleteListboxChildren.tsx +68 -0
- package/src/autocomplete/autocompleteStyles.ts +48 -9
- package/src/autocomplete/defaults.ts +26 -17
- package/src/autocomplete/types.ts +744 -61
- package/src/autocomplete/useAutocomplete.ts +428 -0
- package/src/autocomplete/utils.ts +211 -0
- package/src/badge/Badge.tsx +1 -39
- package/src/badge/styles.ts +45 -0
- package/src/box/Box.tsx +11 -9
- package/src/box/styles.ts +14 -5
- package/src/button/AsyncButton.tsx +1 -1
- package/src/button/Button.tsx +5 -1
- package/src/card/Card.tsx +35 -4
- package/src/card/ClickableCard.tsx +9 -2
- package/src/card/styles.ts +1 -10
- package/src/chip/Chip.tsx +6 -1
- package/src/chip/styles.ts +12 -10
- package/src/delegateEvent.ts +5 -5
- package/src/dialog/Dialog.tsx +48 -61
- package/src/dialog/FixedDialog.tsx +1 -11
- package/src/dialog/styles.ts +97 -0
- package/src/divider/Divider.tsx +0 -12
- package/src/divider/styles.ts +12 -0
- package/src/draggable/useDraggable.ts +17 -10
- package/src/draggable/utils.ts +3 -3
- package/src/expansion-panel/ExpansionPanel.tsx +1 -1
- package/src/expansion-panel/useExpansionPanels.ts +18 -27
- package/src/{form → files}/FileInput.tsx +7 -15
- package/src/files/styles.ts +10 -0
- package/src/{form → files}/useFileUpload.ts +30 -34
- package/src/files/utils.ts +234 -0
- package/src/{form/fileUtils.ts → files/validation.ts} +13 -242
- package/src/focus/useFocusContainer.ts +16 -8
- package/src/form/FormMessageContainer.tsx +2 -2
- package/src/form/InputToggle.tsx +5 -1
- package/src/form/Label.tsx +18 -18
- package/src/form/Listbox.tsx +87 -0
- package/src/form/ListboxProvider.ts +37 -0
- package/src/form/MenuItemTextField.tsx +1 -2
- package/src/form/NativeSelect.tsx +14 -10
- package/src/form/Option.tsx +74 -22
- package/src/form/Select.tsx +89 -85
- package/src/form/Slider.tsx +14 -11
- package/src/form/SliderThumb.tsx +4 -4
- package/src/form/SliderValueMarks.tsx +4 -4
- package/src/form/TextArea.tsx +6 -8
- package/src/form/TextField.tsx +0 -2
- package/src/form/TextFieldContainer.tsx +9 -11
- package/src/form/formMessageContainerStyles.ts +22 -0
- package/src/form/optionStyles.ts +7 -2
- package/src/form/sliderUtils.ts +1 -1
- package/src/form/textFieldContainerStyles.ts +9 -14
- package/src/form/types.ts +3 -11
- package/src/form/useCheckboxGroup.ts +28 -36
- package/src/form/useCombobox.ts +86 -38
- package/src/form/useEditableCombobox.ts +43 -8
- package/src/form/useRadioGroup.ts +6 -6
- package/src/form/useSelectCombobox.ts +4 -4
- package/src/form/useTextField.ts +1 -1
- package/src/hoverMode/useHoverMode.ts +3 -3
- package/src/hoverMode/useHoverModeProvider.ts +4 -4
- package/src/icon/iconConfig.tsx +12 -0
- package/src/interaction/UserInteractionModeProvider.tsx +12 -8
- package/src/interaction/types.ts +21 -2
- package/src/interaction/useElementInteraction.tsx +9 -2
- package/src/interaction/utils.ts +7 -7
- package/src/layout/useExpandableLayout.ts +3 -3
- package/src/layout/useLayoutAppBarHeight.ts +3 -4
- package/src/layout/useTemporaryLayout.ts +2 -2
- package/src/list/ListItem.tsx +5 -1
- package/src/list/ListItemLink.tsx +5 -1
- package/src/media-queries/useMediaQuery.ts +2 -1
- package/src/menu/Menu.tsx +11 -3
- package/src/menu/MenuItemButton.tsx +7 -1
- package/src/menu/useContextMenu.ts +3 -3
- package/src/movement/types.ts +5 -5
- package/src/navigation/CollapsibleNavGroup.tsx +16 -8
- package/src/navigation/DefaultNavigationRenderer.tsx +8 -6
- package/src/navigation/NavItemButton.tsx +2 -1
- package/src/navigation/NavItemLink.tsx +11 -3
- package/src/navigation/NavSubheader.tsx +1 -1
- package/src/navigation/Navigation.tsx +1 -1
- package/src/navigation/types.ts +60 -10
- package/src/navigation/useActiveHeadingId.ts +1 -1
- package/src/navigation/useNavigationExpansion.ts +170 -0
- package/src/navigation/utils.ts +47 -0
- package/src/objectFit.ts +88 -0
- package/src/positioning/useFixedPositioning.ts +34 -11
- package/src/responsive-item/ResponsiveItem.tsx +96 -0
- package/src/responsive-item/ResponsiveItemOverlay.tsx +6 -46
- package/src/responsive-item/responsiveItemOverlayStyles.ts +46 -0
- package/src/responsive-item/responsiveItemStyles.ts +81 -0
- package/src/scroll/useScrollLock.ts +6 -0
- package/src/searching/utils.ts +3 -3
- package/src/segmented-button/SegmentedButton.tsx +5 -1
- package/src/snackbar/ToastManager.tsx +16 -5
- package/src/snackbar/useCurrentToastActions.ts +5 -5
- package/src/table/tableCellStyles.ts +10 -6
- package/src/tabs/Tab.tsx +4 -1
- package/src/tabs/TabList.tsx +2 -2
- package/src/tabs/TabListScrollButton.tsx +4 -4
- package/src/tabs/getTabListScrollToOptions.ts +37 -0
- package/src/tabs/tabStyles.ts +4 -0
- package/src/tabs/useTabList.ts +2 -9
- package/src/tabs/useTabs.ts +6 -6
- package/src/tabs/utils.ts +0 -38
- package/src/test-utils/matchMedia.ts +5 -5
- package/src/test-utils/polyfills/TextDecoder.ts +0 -1
- package/src/test-utils/timers.ts +10 -7
- package/src/theme/LocalStorageColorSchemeProvider.tsx +4 -4
- package/src/theme/ThemeProvider.tsx +3 -3
- package/src/theme/isColorScheme.ts +22 -0
- package/src/theme/types.ts +67 -1
- package/src/theme/useCSSVariables.ts +7 -30
- package/src/theme/useColorScheme.ts +1 -40
- package/src/theme/useColorSchemeMetaTag.ts +1 -1
- package/src/theme/useColorSchemeProvider.ts +2 -2
- package/src/tooltip/useTooltip.ts +17 -9
- package/src/transition/types.ts +1 -1
- package/src/transition/useCarousel.ts +3 -3
- package/src/transition/useTransition.ts +1 -0
- package/src/tree/TreeItem.tsx +7 -1
- package/src/tree/TreeItemExpander.tsx +1 -1
- package/src/tree/useTreeExpansion.ts +7 -25
- package/src/tree/useTreeSelection.ts +8 -32
- package/src/tree/utils.ts +6 -2
- package/src/types.ts +20 -4
- package/src/typography/WritingDirectionProvider.tsx +1 -1
- package/src/useDebouncedFunction.ts +4 -9
- package/src/useDropzone.ts +4 -4
- package/src/useIntersectionObserver.ts +5 -5
- package/src/useLocalStorage.ts +6 -6
- package/src/useMutationObserver.ts +1 -1
- package/src/useOrientation.ts +3 -1
- package/src/usePageInactive.ts +2 -2
- package/src/useReadonlySet.ts +122 -0
- package/src/useResizeListener.ts +1 -1
- package/src/useThrottledFunction.ts +6 -9
- package/src/useToggle.ts +3 -3
- package/src/utils/RenderRecursively.tsx +1 -1
- package/src/utils/alphaNumericSort.ts +1 -1
- package/src/utils/debounce.ts +22 -0
- package/src/utils/throttle.ts +38 -0
- package/src/utils/wait.ts +5 -1
- package/src/window-splitter/WindowSplitter.tsx +38 -43
- package/src/window-splitter/styles.ts +42 -0
- package/dist/autocomplete/FilterAutocompleteOptions.d.ts +0 -8
- package/dist/autocomplete/FilterAutocompleteOptions.js +0 -57
- package/dist/autocomplete/FilterAutocompleteOptions.js.map +0 -1
- package/dist/dialog/DialogContainer.d.ts +0 -14
- package/dist/dialog/DialogContainer.js +0 -20
- package/dist/dialog/DialogContainer.js.map +0 -1
- package/dist/form/FileInput.js.map +0 -1
- package/dist/form/fileUtils.js.map +0 -1
- package/dist/form/useFileUpload.js.map +0 -1
- package/dist/form/useListboxProvider.d.ts +0 -31
- package/dist/form/useListboxProvider.js.map +0 -1
- package/dist/navigation/getHrefFromParents.d.ts +0 -5
- package/dist/navigation/getHrefFromParents.js +0 -13
- package/dist/navigation/getHrefFromParents.js.map +0 -1
- package/dist/responsive-item/ResponsiveItemContainer.d.ts +0 -115
- package/dist/responsive-item/ResponsiveItemContainer.js +0 -80
- package/dist/responsive-item/ResponsiveItemContainer.js.map +0 -1
- package/dist/responsive-item/styles.d.ts +0 -34
- package/dist/responsive-item/styles.js +0 -17
- package/dist/responsive-item/styles.js.map +0 -1
- package/dist/theme/usePrefersColorScheme.js.map +0 -1
- package/src/autocomplete/FilterAutocompleteOptions.tsx +0 -86
- package/src/dialog/DialogContainer.tsx +0 -28
- package/src/form/useListboxProvider.ts +0 -45
- package/src/navigation/getHrefFromParents.ts +0 -15
- package/src/responsive-item/ResponsiveItemContainer.tsx +0 -174
- package/src/responsive-item/styles.ts +0 -58
- /package/dist/theme/{usePrefersColorScheme.d.ts → usePrefersDarkScheme.d.ts} +0 -0
- /package/src/theme/{usePrefersColorScheme.ts → usePrefersDarkScheme.ts} +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 6.0.0
|
|
3
|
+
*/
|
|
4
|
+
export interface TabListScrollToOptions {
|
|
5
|
+
isRTL: boolean;
|
|
6
|
+
animate: boolean;
|
|
7
|
+
vertical: boolean;
|
|
8
|
+
increment: boolean;
|
|
9
|
+
container: HTMLElement;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @since 6.0.0
|
|
14
|
+
*/
|
|
15
|
+
export type GetTabListScrollToOptions = (
|
|
16
|
+
options: TabListScrollToOptions
|
|
17
|
+
) => ScrollToOptions | undefined;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @since 6.0.0
|
|
21
|
+
*/
|
|
22
|
+
export const getTabListScrollToOptions: GetTabListScrollToOptions = (
|
|
23
|
+
options
|
|
24
|
+
) => {
|
|
25
|
+
const { isRTL, animate, vertical, increment, container } = options;
|
|
26
|
+
const { scrollLeft, scrollTop, scrollWidth, scrollHeight } = container;
|
|
27
|
+
const currentScroll = vertical ? scrollTop : scrollLeft;
|
|
28
|
+
const scrollDistance = vertical ? scrollHeight : scrollWidth;
|
|
29
|
+
const amount = (scrollDistance / 10) * (increment ? 1 : -1);
|
|
30
|
+
const distance = currentScroll + amount * (vertical || !isRTL ? 1 : -1);
|
|
31
|
+
|
|
32
|
+
return {
|
|
33
|
+
left: vertical ? undefined : distance,
|
|
34
|
+
top: vertical ? distance : undefined,
|
|
35
|
+
behavior: animate ? "smooth" : "auto",
|
|
36
|
+
};
|
|
37
|
+
};
|
package/src/tabs/tabStyles.ts
CHANGED
|
@@ -9,6 +9,10 @@ declare module "react" {
|
|
|
9
9
|
"--rmd-tab-active-color"?: string;
|
|
10
10
|
"--rmd-tab-inactive-color"?: string;
|
|
11
11
|
"--rmd-tab-disabled-color"?: string;
|
|
12
|
+
|
|
13
|
+
"--rmd-tab-size"?: string;
|
|
14
|
+
"--rmd-tab-offset"?: string | number;
|
|
15
|
+
"--rmd-tab-indicator-background"?: string;
|
|
12
16
|
}
|
|
13
17
|
}
|
|
14
18
|
|
package/src/tabs/useTabList.ts
CHANGED
|
@@ -18,14 +18,6 @@ import { useEnsuredRef } from "../useEnsuredRef.js";
|
|
|
18
18
|
import { useResizeObserver } from "../useResizeObserver.js";
|
|
19
19
|
import { getTabRoleOnly, scrollTabIntoView } from "./utils.js";
|
|
20
20
|
|
|
21
|
-
declare module "react" {
|
|
22
|
-
interface CSSProperties {
|
|
23
|
-
"--rmd-tab-size"?: string;
|
|
24
|
-
"--rmd-tab-offset"?: string | number;
|
|
25
|
-
"--rmd-tab-indicator-background"?: string;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
21
|
const TAB_SIZE_VAR = "--rmd-tab-size";
|
|
30
22
|
const TAB_OFFSET_VAR = "--rmd-tab-offset";
|
|
31
23
|
|
|
@@ -43,7 +35,7 @@ export interface TabListHookOptions {
|
|
|
43
35
|
ref: Ref<HTMLDivElement> | undefined;
|
|
44
36
|
style: CSSProperties | undefined;
|
|
45
37
|
activeIndex: number;
|
|
46
|
-
setActiveIndex(nextActiveIndex: number)
|
|
38
|
+
setActiveIndex: (nextActiveIndex: number) => void;
|
|
47
39
|
scrollButtons: boolean;
|
|
48
40
|
activationMode: "manual" | "automatic";
|
|
49
41
|
vertical: boolean;
|
|
@@ -115,6 +107,7 @@ export function useTabList(
|
|
|
115
107
|
// this is kind of hacky -- the styles should update when switching between
|
|
116
108
|
// RTL, but the RTL state isn't required for any styles. Just reference it
|
|
117
109
|
// so that the hooks eslint rule doesn't show a warning...
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
118
111
|
isRTL;
|
|
119
112
|
|
|
120
113
|
const activeTab = getTabRoleOnly(entry.target)[activeIndex];
|
package/src/tabs/useTabs.ts
CHANGED
|
@@ -136,11 +136,11 @@ export interface TabsImplementation<TabValue extends string | number = number> {
|
|
|
136
136
|
direction: SlideDirection;
|
|
137
137
|
setDirection: UseStateSetter<SlideDirection>;
|
|
138
138
|
activeTab?: TabValue;
|
|
139
|
-
setActiveTab
|
|
140
|
-
getTabProps(tabValue: TabValue)
|
|
141
|
-
getTabListProps()
|
|
142
|
-
getTabPanelProps(tabValue: TabValue)
|
|
143
|
-
getTabPanelsProps<E extends HTMLElement>()
|
|
139
|
+
setActiveTab?: (nextActiveTab: TabValue) => void;
|
|
140
|
+
getTabProps: (tabValue: TabValue) => ProvidedTabProps;
|
|
141
|
+
getTabListProps: () => ProvidedTabListProps;
|
|
142
|
+
getTabPanelProps: (tabValue: TabValue) => ProvidedTabPanelProps;
|
|
143
|
+
getTabPanelsProps: <E extends HTMLElement>() => ProvidedTabPanelsProps<E>;
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
/**
|
|
@@ -180,7 +180,7 @@ export interface TabsImplementation<TabValue extends string | number = number> {
|
|
|
180
180
|
*
|
|
181
181
|
* @since 6.0.0
|
|
182
182
|
*/
|
|
183
|
-
export function useTabs(): TabsImplementation
|
|
183
|
+
export function useTabs(): TabsImplementation & {
|
|
184
184
|
activeTab: number;
|
|
185
185
|
setActiveTab: number;
|
|
186
186
|
};
|
package/src/tabs/utils.ts
CHANGED
|
@@ -44,41 +44,3 @@ export const scrollTabIntoView = (options: ScrollOptions): void => {
|
|
|
44
44
|
container[scrollAttribute] = elementStart - firstOffset;
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* @since 6.0.0
|
|
50
|
-
*/
|
|
51
|
-
export interface TabListScrollToOptions {
|
|
52
|
-
isRTL: boolean;
|
|
53
|
-
animate: boolean;
|
|
54
|
-
vertical: boolean;
|
|
55
|
-
increment: boolean;
|
|
56
|
-
container: HTMLElement;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* @since 6.0.0
|
|
61
|
-
*/
|
|
62
|
-
export type GetTabListScrollToOptions = (
|
|
63
|
-
options: TabListScrollToOptions
|
|
64
|
-
) => ScrollToOptions | undefined;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* @since 6.0.0
|
|
68
|
-
*/
|
|
69
|
-
export const getTabListScrollToOptions: GetTabListScrollToOptions = (
|
|
70
|
-
options
|
|
71
|
-
) => {
|
|
72
|
-
const { isRTL, animate, vertical, increment, container } = options;
|
|
73
|
-
const { scrollLeft, scrollTop, scrollWidth, scrollHeight } = container;
|
|
74
|
-
const currentScroll = vertical ? scrollTop : scrollLeft;
|
|
75
|
-
const scrollDistance = vertical ? scrollHeight : scrollWidth;
|
|
76
|
-
const amount = (scrollDistance / 10) * (increment ? 1 : -1);
|
|
77
|
-
const distance = currentScroll + amount * (vertical || !isRTL ? 1 : -1);
|
|
78
|
-
|
|
79
|
-
return {
|
|
80
|
-
left: vertical ? undefined : distance,
|
|
81
|
-
top: vertical ? distance : undefined,
|
|
82
|
-
behavior: animate ? "smooth" : "auto",
|
|
83
|
-
};
|
|
84
|
-
};
|
|
@@ -36,7 +36,7 @@ export type MatchMediaMatcher = (query: string) => boolean;
|
|
|
36
36
|
* @returns `true` for phone media queries
|
|
37
37
|
*/
|
|
38
38
|
export const matchPhone: MatchMediaMatcher = (query) =>
|
|
39
|
-
query.includes(
|
|
39
|
+
query.includes(DEFAULT_PHONE_MAX_WIDTH);
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* @see {@link spyOnMatchMedia} for usage
|
|
@@ -44,7 +44,7 @@ export const matchPhone: MatchMediaMatcher = (query) =>
|
|
|
44
44
|
* @returns `true` for tablet media queries
|
|
45
45
|
*/
|
|
46
46
|
export const matchTablet: MatchMediaMatcher = (query) =>
|
|
47
|
-
query.includes(
|
|
47
|
+
query.includes(DEFAULT_TABLET_MIN_WIDTH);
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
50
|
* @see {@link spyOnMatchMedia} for usage
|
|
@@ -52,7 +52,7 @@ export const matchTablet: MatchMediaMatcher = (query) =>
|
|
|
52
52
|
* @returns `true` for desktop media queries
|
|
53
53
|
*/
|
|
54
54
|
export const matchDesktop: MatchMediaMatcher = (query) =>
|
|
55
|
-
query.includes(
|
|
55
|
+
query.includes(DEFAULT_DESKTOP_MIN_WIDTH);
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
58
|
* @see {@link spyOnMatchMedia} for usage
|
|
@@ -60,7 +60,7 @@ export const matchDesktop: MatchMediaMatcher = (query) =>
|
|
|
60
60
|
* @returns `true` for large desktop media queries
|
|
61
61
|
*/
|
|
62
62
|
export const matchLargeDesktop: MatchMediaMatcher = (query) =>
|
|
63
|
-
query.includes(
|
|
63
|
+
query.includes(DEFAULT_DESKTOP_LARGE_MIN_WIDTH);
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
66
|
* @see {@link spyOnMatchMedia} for usage
|
|
@@ -101,7 +101,7 @@ export type MatchMediaSpiedFunction = jest.SpiedFunction<
|
|
|
101
101
|
* // expect phone results
|
|
102
102
|
* ```
|
|
103
103
|
*/
|
|
104
|
-
changeViewport(matcher: MatchMediaMatcher, disableAct?: boolean)
|
|
104
|
+
changeViewport: (matcher: MatchMediaMatcher, disableAct?: boolean) => void;
|
|
105
105
|
};
|
|
106
106
|
|
|
107
107
|
/**
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { TextDecoder } from "node:util";
|
|
2
2
|
|
|
3
3
|
if (typeof global.TextDecoder === "undefined") {
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
5
4
|
// @ts-expect-error browser TextDecoder does not support `null` while `node:util` does
|
|
6
5
|
global.TextDecoder = TextDecoder;
|
|
7
6
|
}
|
package/src/test-utils/timers.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { jest } from "@jest/globals";
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @since 6.0.0
|
|
5
|
+
*/
|
|
6
|
+
export type RafSpy = jest.SpiedFunction<typeof requestAnimationFrame>;
|
|
7
|
+
|
|
3
8
|
/**
|
|
4
9
|
* @example
|
|
5
10
|
* ```ts
|
|
6
|
-
* import {
|
|
11
|
+
* import { testImmediateRaf } from "@react-md/core/test-utils";
|
|
7
12
|
*
|
|
8
13
|
* describe("some test suite", () => {
|
|
9
14
|
* it("should test something with requestAnimationFrame", () => {
|
|
10
|
-
* const raf =
|
|
15
|
+
* const raf = testImmediateRaf();
|
|
11
16
|
*
|
|
12
17
|
* // do some testing with requestAnimationFrame
|
|
13
18
|
*
|
|
@@ -19,7 +24,7 @@ import { jest } from "@jest/globals";
|
|
|
19
24
|
*
|
|
20
25
|
* @example Automatic Cleanup
|
|
21
26
|
* ```ts
|
|
22
|
-
* import {
|
|
27
|
+
* import { testImmediateRaf } from "@react-md/core/test-utils";
|
|
23
28
|
*
|
|
24
29
|
* afterEach(() => {
|
|
25
30
|
* jest.restoreAllMocks();
|
|
@@ -27,7 +32,7 @@ import { jest } from "@jest/globals";
|
|
|
27
32
|
*
|
|
28
33
|
* describe("some test suite", () => {
|
|
29
34
|
* it("should test something with requestAnimationFrame", () => {
|
|
30
|
-
* const raf =
|
|
35
|
+
* const raf = testImmediateRaf();
|
|
31
36
|
*
|
|
32
37
|
* // do some testing with requestAnimationFrame
|
|
33
38
|
* });
|
|
@@ -36,9 +41,7 @@ import { jest } from "@jest/globals";
|
|
|
36
41
|
*
|
|
37
42
|
* @since 6.0.0
|
|
38
43
|
*/
|
|
39
|
-
export const
|
|
40
|
-
typeof requestAnimationFrame
|
|
41
|
-
> =>
|
|
44
|
+
export const testImmediateRaf = (): RafSpy =>
|
|
42
45
|
jest.spyOn(window, "requestAnimationFrame").mockImplementation((cb) => {
|
|
43
46
|
cb(0);
|
|
44
47
|
return 0;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { type ReactElement, type ReactNode } from "react";
|
|
3
3
|
import { useLocalStorage } from "../useLocalStorage.js";
|
|
4
|
-
import {
|
|
4
|
+
import { type ColorSchemeMode } from "./types.js";
|
|
5
|
+
import { ColorSchemeProvider } from "./useColorScheme.js";
|
|
5
6
|
import { useColorSchemeProvider } from "./useColorSchemeProvider.js";
|
|
7
|
+
import { isColorSchemeMode } from "./isColorScheme.js";
|
|
6
8
|
|
|
7
9
|
/**
|
|
8
10
|
* @since 6.0.0
|
|
@@ -115,9 +117,7 @@ export function LocalStorageColorSchemeProvider(
|
|
|
115
117
|
key: localStorageKey,
|
|
116
118
|
defaultValue: defaultColorSchemeMode,
|
|
117
119
|
deserializer: (item) =>
|
|
118
|
-
item
|
|
119
|
-
? item
|
|
120
|
-
: defaultColorSchemeMode,
|
|
120
|
+
isColorSchemeMode(item) ? item : defaultColorSchemeMode,
|
|
121
121
|
});
|
|
122
122
|
|
|
123
123
|
const value = useColorSchemeProvider({
|
|
@@ -384,9 +384,9 @@ export function ThemeProvider(props: ThemeProviderProps): ReactElement {
|
|
|
384
384
|
// NOTE: This will not be correct the first time a new theme is lazy-loaded
|
|
385
385
|
// and applied. It might be good to have a way to manually force this flow
|
|
386
386
|
// again?
|
|
387
|
-
const frame = window.requestAnimationFrame(() =>
|
|
388
|
-
setDerivedTheme(getDerivedTheme(document.documentElement))
|
|
389
|
-
);
|
|
387
|
+
const frame = window.requestAnimationFrame(() => {
|
|
388
|
+
setDerivedTheme(getDerivedTheme(document.documentElement));
|
|
389
|
+
});
|
|
390
390
|
|
|
391
391
|
return () => {
|
|
392
392
|
window.cancelAnimationFrame(frame);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type ColorSchemeMode, type ColorScheme } from "./types.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A type assertion helper to check if a value is a valid {@link ColorScheme}
|
|
5
|
+
* when it is pulled from unknown sources (like local storage).
|
|
6
|
+
*
|
|
7
|
+
* @since 6.0.0
|
|
8
|
+
*/
|
|
9
|
+
export function isColorScheme(value: unknown): value is ColorScheme {
|
|
10
|
+
return value === "light" || value === "dark";
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A type assertion helper to check if a value is a valid
|
|
15
|
+
* {@link ColorSchemeMode} when it is pulled from unknown sources (like local
|
|
16
|
+
* storage).
|
|
17
|
+
*
|
|
18
|
+
* @since 6.0.0
|
|
19
|
+
*/
|
|
20
|
+
export function isColorSchemeMode(value: unknown): value is ColorSchemeMode {
|
|
21
|
+
return isColorScheme(value) || value === "system";
|
|
22
|
+
}
|
package/src/theme/types.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type CSSProperties } from "react";
|
|
2
|
+
import { type UseStateSetter } from "../types.js";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* @since 6.0.0
|
|
@@ -36,3 +37,68 @@ export type DefinedCustomProperty<Property = keyof CSSProperties> =
|
|
|
36
37
|
* @since 6.0.0
|
|
37
38
|
*/
|
|
38
39
|
export type DefinedCSSVariableName = DefinedCustomProperty;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @since 6.0.0
|
|
43
|
+
*/
|
|
44
|
+
export interface CSSVariable<
|
|
45
|
+
Name extends CSSVariableName = DefinedCSSVariableName,
|
|
46
|
+
> {
|
|
47
|
+
name: Name;
|
|
48
|
+
value: string | number;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @since 6.0.0
|
|
53
|
+
*/
|
|
54
|
+
export type CSSVariablesProperties<
|
|
55
|
+
Name extends CSSVariableName = DefinedCSSVariableName,
|
|
56
|
+
> = {
|
|
57
|
+
[key in Name]?: string | number;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* @since 6.0.0
|
|
62
|
+
*/
|
|
63
|
+
export type ReadonlyCSSVariableList<
|
|
64
|
+
Name extends CSSVariableName = DefinedCSSVariableName,
|
|
65
|
+
> = readonly Readonly<CSSVariable<Name>>[];
|
|
66
|
+
|
|
67
|
+
/** @since 6.0.0 */
|
|
68
|
+
export type ColorScheme = "light" | "dark";
|
|
69
|
+
|
|
70
|
+
/** @since 6.0.0 */
|
|
71
|
+
export type ColorSchemeMode = ColorScheme | "system";
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* @since 6.0.0
|
|
75
|
+
*/
|
|
76
|
+
export interface ColorSchemeModeBehavior {
|
|
77
|
+
/**
|
|
78
|
+
* The current color scheme mode that is being used by your app that should
|
|
79
|
+
* default to the `$color-scheme` SCSS variable. If the
|
|
80
|
+
* {@link setColorSchemeMode} is called, this will update to that new value.
|
|
81
|
+
*
|
|
82
|
+
* TODO: Figure out how to document this
|
|
83
|
+
*
|
|
84
|
+
* - `colorScheme` - only `light` or `dark` -- only useful when the `colorSchemeMode` is set to `system`
|
|
85
|
+
* - `colorSchemeMode` - current **user** defined color scheme behavior? should default to `$color-scheme`, but will change based on `setColorSchemeMode`
|
|
86
|
+
*/
|
|
87
|
+
colorSchemeMode: ColorSchemeMode;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* A function to update the color scheme.
|
|
91
|
+
*
|
|
92
|
+
* @see {@link useColorScheme} for an example usage
|
|
93
|
+
*/
|
|
94
|
+
setColorSchemeMode: UseStateSetter<ColorSchemeMode>;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** @since 6.0.0 */
|
|
98
|
+
export interface ColorSchemeContext extends ColorSchemeModeBehavior {
|
|
99
|
+
/**
|
|
100
|
+
* The current color scheme that is being used. This is only useful when the
|
|
101
|
+
* {@link colorSchemeMode} is set to `"system"`.
|
|
102
|
+
*/
|
|
103
|
+
colorScheme: ColorScheme;
|
|
104
|
+
}
|
|
@@ -1,33 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import type
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*/
|
|
9
|
-
export interface CSSVariable<
|
|
10
|
-
Name extends CSSVariableName = DefinedCSSVariableName,
|
|
11
|
-
> {
|
|
12
|
-
name: Name;
|
|
13
|
-
value: string | number;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* @since 6.0.0
|
|
18
|
-
*/
|
|
19
|
-
export type CSSVariablesProperties<
|
|
20
|
-
Name extends CSSVariableName = DefinedCSSVariableName,
|
|
21
|
-
> = {
|
|
22
|
-
[key in Name]?: string | number;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* @since 6.0.0
|
|
27
|
-
*/
|
|
28
|
-
export type ReadonlyCSSVariableList<
|
|
29
|
-
Name extends CSSVariableName = DefinedCSSVariableName,
|
|
30
|
-
> = readonly Readonly<CSSVariable<Name>>[];
|
|
2
|
+
import { type RefObject, useEffect, useMemo } from "react";
|
|
3
|
+
import {
|
|
4
|
+
type CSSVariableName,
|
|
5
|
+
type CSSVariablesProperties,
|
|
6
|
+
type ReadonlyCSSVariableList,
|
|
7
|
+
} from "./types.js";
|
|
31
8
|
|
|
32
9
|
/**
|
|
33
10
|
* @example Applying Variables the root html element
|
|
@@ -110,7 +87,7 @@ export function useCSSVariables<Name extends CSSVariableName>(
|
|
|
110
87
|
export function useCSSVariables<Name extends CSSVariableName>(
|
|
111
88
|
variables: ReadonlyCSSVariableList<Name>,
|
|
112
89
|
rootNodeOrInlineStyle?: RefObject<HTMLElement> | HTMLElement | boolean
|
|
113
|
-
): CSSVariablesProperties<Name> |
|
|
90
|
+
): CSSVariablesProperties<Name> | undefined {
|
|
114
91
|
useEffect(() => {
|
|
115
92
|
if (rootNodeOrInlineStyle === true || !variables.length) {
|
|
116
93
|
return;
|
|
@@ -1,45 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { createContext, useContext } from "react";
|
|
3
|
-
import type
|
|
4
|
-
|
|
5
|
-
/** @since 6.0.0 */
|
|
6
|
-
export type ColorScheme = "light" | "dark";
|
|
7
|
-
|
|
8
|
-
/** @since 6.0.0 */
|
|
9
|
-
export type ColorSchemeMode = ColorScheme | "system";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @since 6.0.0
|
|
13
|
-
*/
|
|
14
|
-
export interface ColorSchemeModeBehavior {
|
|
15
|
-
/**
|
|
16
|
-
* The current color scheme mode that is being used by your app that should
|
|
17
|
-
* default to the `$color-scheme` SCSS variable. If the
|
|
18
|
-
* {@link setColorSchemeMode} is called, this will update to that new value.
|
|
19
|
-
*
|
|
20
|
-
* TODO: Figure out how to document this
|
|
21
|
-
*
|
|
22
|
-
* - `colorScheme` - only `light` or `dark` -- only useful when the `colorSchemeMode` is set to `system`
|
|
23
|
-
* - `colorSchemeMode` - current **user** defined color scheme behavior? should default to `$color-scheme`, but will change based on `setColorSchemeMode`
|
|
24
|
-
*/
|
|
25
|
-
colorSchemeMode: ColorSchemeMode;
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* A function to update the color scheme.
|
|
29
|
-
*
|
|
30
|
-
* @see {@link useColorScheme} for an example usage
|
|
31
|
-
*/
|
|
32
|
-
setColorSchemeMode: UseStateSetter<ColorSchemeMode>;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/** @since 6.0.0 */
|
|
36
|
-
export interface ColorSchemeContext extends ColorSchemeModeBehavior {
|
|
37
|
-
/**
|
|
38
|
-
* The current color scheme that is being used. This is only useful when the
|
|
39
|
-
* {@link colorSchemeMode} is set to `"system"`.
|
|
40
|
-
*/
|
|
41
|
-
colorScheme: ColorScheme;
|
|
42
|
-
}
|
|
3
|
+
import { type ColorSchemeContext } from "./types.js";
|
|
43
4
|
|
|
44
5
|
const context = createContext<ColorSchemeContext>({
|
|
45
6
|
colorScheme: "light",
|
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
type ColorSchemeContext,
|
|
7
7
|
type ColorSchemeMode,
|
|
8
8
|
type ColorSchemeModeBehavior,
|
|
9
|
-
} from "./
|
|
9
|
+
} from "./types.js";
|
|
10
10
|
import { useColorSchemeMetaTag } from "./useColorSchemeMetaTag.js";
|
|
11
|
-
import { usePrefersDarkTheme } from "./
|
|
11
|
+
import { usePrefersDarkTheme } from "./usePrefersDarkScheme.js";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @since 6.0.0
|
|
@@ -122,13 +122,13 @@ export interface TooltipPositioningOptions {
|
|
|
122
122
|
export interface TooltippedElementEventHandlers<
|
|
123
123
|
E extends HTMLElement = HTMLButtonElement,
|
|
124
124
|
> {
|
|
125
|
-
onBlur
|
|
126
|
-
onFocus
|
|
127
|
-
onMouseEnter
|
|
128
|
-
onMouseLeave
|
|
129
|
-
onTouchStart
|
|
130
|
-
onTouchEnd
|
|
131
|
-
onContextMenu
|
|
125
|
+
onBlur?: (event: FocusEvent<E>) => void;
|
|
126
|
+
onFocus?: (event: FocusEvent<E>) => void;
|
|
127
|
+
onMouseEnter?: (event: MouseEvent<E>) => void;
|
|
128
|
+
onMouseLeave?: (event: MouseEvent<E>) => void;
|
|
129
|
+
onTouchStart?: (event: TouchEvent<E>) => void;
|
|
130
|
+
onTouchEnd?: (event: TouchEvent<E>) => void;
|
|
131
|
+
onContextMenu?: (event: MouseEvent<E>) => void;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
/**
|
|
@@ -254,6 +254,12 @@ export interface TooltipOptions<
|
|
|
254
254
|
* @since 6.0.0
|
|
255
255
|
*/
|
|
256
256
|
overflowOnly?: boolean;
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* @see {@link FixedPositioningOptions.disabled}
|
|
260
|
+
* @defaultValue `false`
|
|
261
|
+
*/
|
|
262
|
+
disableFixedPositioning?: boolean;
|
|
257
263
|
}
|
|
258
264
|
|
|
259
265
|
/**
|
|
@@ -265,7 +271,7 @@ export interface ProvidedTooltipProps<E extends HTMLElement = HTMLSpanElement>
|
|
|
265
271
|
id: string;
|
|
266
272
|
ref: Ref<E>;
|
|
267
273
|
dense: boolean;
|
|
268
|
-
style: CSSProperties;
|
|
274
|
+
style: CSSProperties | undefined;
|
|
269
275
|
visible: boolean;
|
|
270
276
|
position: SimplePosition;
|
|
271
277
|
}
|
|
@@ -292,7 +298,7 @@ export interface TooltipImplementation<
|
|
|
292
298
|
* This is a wrapper around the {@link setVisible} behavior that will also
|
|
293
299
|
* clear any pending timeouts.
|
|
294
300
|
*/
|
|
295
|
-
hideTooltip()
|
|
301
|
+
hideTooltip: () => void;
|
|
296
302
|
|
|
297
303
|
/**
|
|
298
304
|
* @since 6.0.0
|
|
@@ -422,6 +428,7 @@ export function useTooltip<
|
|
|
422
428
|
onEntered = noop,
|
|
423
429
|
onExited,
|
|
424
430
|
overflowOnly,
|
|
431
|
+
disableFixedPositioning,
|
|
425
432
|
} = options;
|
|
426
433
|
|
|
427
434
|
const fallbackId = useId();
|
|
@@ -469,6 +476,7 @@ export function useTooltip<
|
|
|
469
476
|
fixedTo: elementRef,
|
|
470
477
|
anchor: getAnchor(position),
|
|
471
478
|
disableSwapping: disableSwapping ?? !!determinedPosition,
|
|
479
|
+
disabled: disableFixedPositioning,
|
|
472
480
|
getFixedPositionOptions() {
|
|
473
481
|
let tooltipSpacing = dense ? denseSpacing : spacing;
|
|
474
482
|
const tooltip = tooltipRef.current;
|
package/src/transition/types.ts
CHANGED
|
@@ -478,7 +478,7 @@ export interface TransitionHookReturnValue<E extends HTMLElement>
|
|
|
478
478
|
*
|
|
479
479
|
* @param stage - The {@link TransitionStage} to set to
|
|
480
480
|
*/
|
|
481
|
-
transitionTo(stage: TransitionStage)
|
|
481
|
+
transitionTo: (stage: TransitionStage) => void;
|
|
482
482
|
}
|
|
483
483
|
|
|
484
484
|
/**
|
|
@@ -22,13 +22,13 @@ export interface CarouselImplementation extends CarouselState {
|
|
|
22
22
|
* Increments the carousel slide active index by 1 ensuring it does not
|
|
23
23
|
* advance past the {@link CarouselOptions.totalSlides} index.
|
|
24
24
|
*/
|
|
25
|
-
increment()
|
|
25
|
+
increment: () => void;
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Decrements the carousel slide active index by 1 and prevents decrementing
|
|
29
29
|
* past 0.
|
|
30
30
|
*/
|
|
31
|
-
decrement()
|
|
31
|
+
decrement: () => void;
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* This can be used to manually control the {@link paused} state.
|
|
@@ -38,7 +38,7 @@ export interface CarouselImplementation extends CarouselState {
|
|
|
38
38
|
/**
|
|
39
39
|
* Toggles the {@link paused} state.
|
|
40
40
|
*/
|
|
41
|
-
togglePaused()
|
|
41
|
+
togglePaused: () => void;
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* A convenience wrapper for the {@link setCarouselSlideState} that will
|
|
@@ -206,6 +206,7 @@ export function useTransition<E extends HTMLElement>(
|
|
|
206
206
|
|
|
207
207
|
if (reflow && ref.current && stage !== "exited" && stage !== "entered") {
|
|
208
208
|
// force reflow by accessing scrollTop
|
|
209
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
209
210
|
ref.current.scrollTop;
|
|
210
211
|
}
|
|
211
212
|
|
package/src/tree/TreeItem.tsx
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
type ReactNode,
|
|
7
7
|
type Ref,
|
|
8
8
|
} from "react";
|
|
9
|
+
import { type ComponentWithRippleProps } from "../interaction/types.js";
|
|
9
10
|
import { useElementInteraction } from "../interaction/useElementInteraction.js";
|
|
10
11
|
import { useHigherContrastChildren } from "../interaction/useHigherContrastChildren.js";
|
|
11
12
|
import { ListItemChildren } from "../list/ListItemChildren.js";
|
|
@@ -27,7 +28,8 @@ import { type DefaultTreeItemNode } from "./types.js";
|
|
|
27
28
|
*/
|
|
28
29
|
export interface TreeItemProps
|
|
29
30
|
extends Omit<DefaultTreeItemNode, "parentId">,
|
|
30
|
-
HTMLAttributes<HTMLLIElement
|
|
31
|
+
HTMLAttributes<HTMLLIElement>,
|
|
32
|
+
ComponentWithRippleProps {
|
|
31
33
|
/**
|
|
32
34
|
* @defaultValue `"tree-item-" + useId()`
|
|
33
35
|
*/
|
|
@@ -140,6 +142,7 @@ export function TreeItem(props: TreeItemProps): ReactElement {
|
|
|
140
142
|
onTouchEnd,
|
|
141
143
|
onTouchMove,
|
|
142
144
|
contentRef,
|
|
145
|
+
disableRipple,
|
|
143
146
|
...remaining
|
|
144
147
|
} = props;
|
|
145
148
|
|
|
@@ -179,15 +182,18 @@ export function TreeItem(props: TreeItemProps): ReactElement {
|
|
|
179
182
|
lookup.itemToElement[itemId] = id;
|
|
180
183
|
|
|
181
184
|
return () => {
|
|
185
|
+
/* eslint-disable @typescript-eslint/no-dynamic-delete */
|
|
182
186
|
delete lookup.disabledItems[itemId];
|
|
183
187
|
delete lookup.expandable[itemId];
|
|
184
188
|
delete lookup.elementToItem[id];
|
|
185
189
|
delete lookup.itemToElement[itemId];
|
|
190
|
+
/* eslint-enable @typescript-eslint/no-dynamic-delete */
|
|
186
191
|
};
|
|
187
192
|
}, [id, metadataLookup, itemId, isLeafNode, disabled, depth]);
|
|
188
193
|
|
|
189
194
|
const { pressedClassName, ripples, handlers } =
|
|
190
195
|
useElementInteraction<HTMLLIElement>({
|
|
196
|
+
mode: disableRipple ? "none" : undefined,
|
|
191
197
|
onBlur,
|
|
192
198
|
onClick(event) {
|
|
193
199
|
onClick?.(event);
|
|
@@ -60,7 +60,7 @@ export function TreeItemExpander(props: TreeItemExpanderProps): ReactElement {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
const isCloneable = isValidElement(icon);
|
|
63
|
-
let clickProps: { onClick: MouseEventHandler
|
|
63
|
+
let clickProps: { onClick: MouseEventHandler } | undefined;
|
|
64
64
|
if (expansionMode === "manual" && !disabled) {
|
|
65
65
|
clickProps = {
|
|
66
66
|
onClick(event) {
|