@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
|
@@ -2,33 +2,63 @@
|
|
|
2
2
|
import { useRef } from "react";
|
|
3
3
|
import { isTypeEvent } from "../movement/utils.js";
|
|
4
4
|
import {
|
|
5
|
-
useCombobox,
|
|
6
|
-
type BaseComboboxOptions,
|
|
7
5
|
type ComboboxImplementation,
|
|
6
|
+
type ComboboxWidgetProps,
|
|
7
|
+
type ConfigurableComboboxOptions,
|
|
8
|
+
useCombobox,
|
|
8
9
|
} from "./useCombobox.js";
|
|
9
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
type EditableHTMLElement,
|
|
12
|
+
isChangeableHTMLElement,
|
|
13
|
+
triggerManualChangeEvent,
|
|
14
|
+
} from "./utils.js";
|
|
10
15
|
|
|
11
16
|
/**
|
|
12
17
|
* @since 6.0.0
|
|
13
18
|
*/
|
|
14
|
-
export
|
|
19
|
+
export type EditableComboboxOptions<
|
|
15
20
|
ComboboxEl extends HTMLElement = HTMLInputElement,
|
|
16
21
|
PopupEl extends HTMLElement = HTMLElement,
|
|
17
|
-
>
|
|
22
|
+
> = ConfigurableComboboxOptions<ComboboxEl, PopupEl>;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @since 6.0.0
|
|
26
|
+
*/
|
|
27
|
+
export interface EditableComboboxWidgetProps<
|
|
28
|
+
ComboboxEl extends EditableHTMLElement = HTMLInputElement,
|
|
29
|
+
> extends ComboboxWidgetProps<ComboboxEl> {
|
|
30
|
+
/**
|
|
31
|
+
* This is set to `off` to prevent browser from providing their own
|
|
32
|
+
* suggestions.
|
|
33
|
+
*
|
|
34
|
+
* @defaultValue `"off"`
|
|
35
|
+
*/
|
|
36
|
+
autoComplete: string;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* This is set to `"none"` to prevent browsers from automatically capitalizing
|
|
40
|
+
* the first letter.
|
|
41
|
+
*
|
|
42
|
+
* @defaultValue `"none"`
|
|
43
|
+
*/
|
|
44
|
+
autoCapitalize: string;
|
|
45
|
+
}
|
|
18
46
|
|
|
19
47
|
/**
|
|
20
48
|
* @since 6.0.0
|
|
21
49
|
*/
|
|
22
50
|
export interface EditableComboboxImplementation<
|
|
23
|
-
ComboboxEl extends
|
|
51
|
+
ComboboxEl extends EditableHTMLElement = HTMLInputElement,
|
|
24
52
|
PopupEl extends HTMLElement = HTMLElement,
|
|
25
|
-
> extends ComboboxImplementation<ComboboxEl, PopupEl> {
|
|
53
|
+
> extends ComboboxImplementation<ComboboxEl, PopupEl> {
|
|
54
|
+
comboboxProps: EditableComboboxWidgetProps<ComboboxEl>;
|
|
55
|
+
}
|
|
26
56
|
|
|
27
57
|
/**
|
|
28
58
|
* @since 6.0.0
|
|
29
59
|
*/
|
|
30
60
|
export function useEditableCombobox<
|
|
31
|
-
ComboboxEl extends
|
|
61
|
+
ComboboxEl extends EditableHTMLElement = HTMLInputElement,
|
|
32
62
|
PopupEl extends HTMLElement = HTMLElement,
|
|
33
63
|
>(
|
|
34
64
|
options: EditableComboboxOptions<ComboboxEl, PopupEl> = {}
|
|
@@ -129,6 +159,11 @@ export function useEditableCombobox<
|
|
|
129
159
|
|
|
130
160
|
return {
|
|
131
161
|
...combobox,
|
|
162
|
+
comboboxProps: {
|
|
163
|
+
...combobox.comboboxProps,
|
|
164
|
+
autoCapitalize: "none",
|
|
165
|
+
autoComplete: "off",
|
|
166
|
+
},
|
|
132
167
|
getMenuProps(props) {
|
|
133
168
|
return {
|
|
134
169
|
// override the inherited renderAsSheet context since the sheet makes it
|
|
@@ -91,7 +91,7 @@ export type GetRadioGroupProps<V extends string | number> = (
|
|
|
91
91
|
|
|
92
92
|
/** @since 6.0.0 */
|
|
93
93
|
export interface RadioGroupImplementation<V extends string | number> {
|
|
94
|
-
reset()
|
|
94
|
+
reset: () => void;
|
|
95
95
|
value: V;
|
|
96
96
|
setValue: UseStateSetter<V>;
|
|
97
97
|
getRadioProps: GetRadioGroupProps<V>;
|
|
@@ -99,11 +99,11 @@ export interface RadioGroupImplementation<V extends string | number> {
|
|
|
99
99
|
|
|
100
100
|
export type GetMenuItemRadioGroupProps<V extends string | number> = (
|
|
101
101
|
value: V
|
|
102
|
-
) => Readonly<{ checked: boolean; onCheckedChange()
|
|
102
|
+
) => Readonly<{ checked: boolean; onCheckedChange: () => void }>;
|
|
103
103
|
|
|
104
104
|
/** @since 6.0.0 */
|
|
105
105
|
export interface MenuItemRadioGroupImplementation<V extends string | number> {
|
|
106
|
-
reset()
|
|
106
|
+
reset: () => void;
|
|
107
107
|
value: V;
|
|
108
108
|
setValue: UseStateSetter<V>;
|
|
109
109
|
getRadioProps: GetMenuItemRadioGroupProps<V>;
|
|
@@ -111,17 +111,17 @@ export interface MenuItemRadioGroupImplementation<V extends string | number> {
|
|
|
111
111
|
|
|
112
112
|
/** @since 6.0.0 */
|
|
113
113
|
export interface CombinedRadioGroupReturnValue<V extends string | number> {
|
|
114
|
-
reset()
|
|
114
|
+
reset: () => void;
|
|
115
115
|
value: V;
|
|
116
116
|
setValue: UseStateSetter<V>;
|
|
117
|
-
getRadioProps
|
|
117
|
+
getRadioProps?: (value: V) => {
|
|
118
118
|
name?: string;
|
|
119
119
|
value?: V;
|
|
120
120
|
checked: boolean;
|
|
121
121
|
error?: boolean;
|
|
122
122
|
required?: boolean;
|
|
123
123
|
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
124
|
-
onCheckedChange
|
|
124
|
+
onCheckedChange?: () => void;
|
|
125
125
|
onInvalid?: FormEventHandler<HTMLInputElement>;
|
|
126
126
|
};
|
|
127
127
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
useCombobox,
|
|
4
|
-
type BaseComboboxOptions,
|
|
5
4
|
type ComboboxImplementation,
|
|
5
|
+
type ConfigurableComboboxOptions,
|
|
6
6
|
} from "./useCombobox.js";
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
export interface SelectComboboxOptions<
|
|
12
12
|
ComboboxEl extends HTMLElement = HTMLInputElement,
|
|
13
13
|
PopupEl extends HTMLElement = HTMLElement,
|
|
14
|
-
> extends
|
|
14
|
+
> extends ConfigurableComboboxOptions<ComboboxEl, PopupEl> {
|
|
15
15
|
value: string;
|
|
16
16
|
values: readonly string[];
|
|
17
17
|
}
|
|
@@ -19,10 +19,10 @@ export interface SelectComboboxOptions<
|
|
|
19
19
|
/**
|
|
20
20
|
* @since 6.0.0
|
|
21
21
|
*/
|
|
22
|
-
export
|
|
22
|
+
export type SelectComboboxImplementation<
|
|
23
23
|
ComboboxEl extends HTMLElement = HTMLInputElement,
|
|
24
24
|
PopupEl extends HTMLElement = HTMLElement,
|
|
25
|
-
>
|
|
25
|
+
> = ComboboxImplementation<ComboboxEl, PopupEl>;
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* @since 6.0.0
|
package/src/form/useTextField.ts
CHANGED
|
@@ -317,7 +317,7 @@ export interface TextFieldImplementation<
|
|
|
317
317
|
E extends HTMLInputElement | HTMLTextAreaElement,
|
|
318
318
|
> extends TextFieldHookState {
|
|
319
319
|
fieldRef: RefObject<E>;
|
|
320
|
-
reset()
|
|
320
|
+
reset: () => void;
|
|
321
321
|
setState: UseStateSetter<Readonly<TextFieldHookState>>;
|
|
322
322
|
fieldProps: ProvidedTextFieldProps<E>;
|
|
323
323
|
}
|
|
@@ -34,9 +34,9 @@ export interface ControlledHoverModeOptions
|
|
|
34
34
|
* @since 6.0.0
|
|
35
35
|
*/
|
|
36
36
|
export interface ControlledHoverModeImplementation {
|
|
37
|
-
startShowFlow(id?: string | MouseEvent)
|
|
38
|
-
startHideFlow()
|
|
39
|
-
clearVisibilityTimeout()
|
|
37
|
+
startShowFlow: (id?: string | MouseEvent) => void;
|
|
38
|
+
startHideFlow: () => void;
|
|
39
|
+
clearVisibilityTimeout: () => void;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
/**
|
|
@@ -53,23 +53,23 @@ export interface SimpleHoverModeContext {
|
|
|
53
53
|
*
|
|
54
54
|
* @see {@link hoverTimeoutRef} for an example.
|
|
55
55
|
*/
|
|
56
|
-
enableHoverMode(activeId: string)
|
|
56
|
+
enableHoverMode: (activeId: string) => void;
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* Disables all hover mode behavior by clearing all timeouts and resetting
|
|
60
60
|
* internal state.
|
|
61
61
|
*/
|
|
62
|
-
disableHoverMode()
|
|
62
|
+
disableHoverMode: () => void;
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* @see {@link leaveTimeoutRef} for an example.
|
|
66
66
|
*/
|
|
67
|
-
startDisableTimer()
|
|
67
|
+
startDisableTimer: () => void;
|
|
68
68
|
|
|
69
69
|
/**
|
|
70
70
|
* @see {@link hoverTimeoutRef} for an example.
|
|
71
71
|
*/
|
|
72
|
-
clearDisableTimer()
|
|
72
|
+
clearDisableTimer: () => void;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
/**
|
package/src/icon/iconConfig.tsx
CHANGED
|
@@ -122,6 +122,13 @@ export interface ConfigurableIcons {
|
|
|
122
122
|
*/
|
|
123
123
|
radioChecked?: ReactNode;
|
|
124
124
|
|
|
125
|
+
/**
|
|
126
|
+
* The icon to use when removing elements.
|
|
127
|
+
*
|
|
128
|
+
* @defaultValue `<FontIcon>cancel</FontIcon>`
|
|
129
|
+
*/
|
|
130
|
+
remove?: ReactNode;
|
|
131
|
+
|
|
125
132
|
/**
|
|
126
133
|
* The icon to use for showing that something has been selected that is not a
|
|
127
134
|
* radio or checkbox. This is used internally for the `Chip` in the
|
|
@@ -168,6 +175,7 @@ export type ConfigurableIconName = keyof ConfigurableIcons;
|
|
|
168
175
|
* import { ICON_CONFIG } from "@react-md/core";
|
|
169
176
|
* import ArrowDropDownIcon from "@react-md/material-icons/ArrowDropDownIcon";
|
|
170
177
|
* import ArrowUpwardIcon from "@react-md/material-icons/ArrowUpwardIcon";
|
|
178
|
+
* import CancelIcon from "@react-md/material-icons/CancelIcon";
|
|
171
179
|
* import CheckBoxIcon from "@react-md/material-icons/CheckBoxIcon";
|
|
172
180
|
* import CheckBoxOutlineBlankIcon from "@react-md/material-icons/CheckBoxOutlineBlankIcon";
|
|
173
181
|
* import CheckIcon from "@react-md/material-icons/CheckIcon";
|
|
@@ -198,6 +206,7 @@ export type ConfigurableIconName = keyof ConfigurableIcons;
|
|
|
198
206
|
* ICON_CONFIG.password = <RemoveRedEyeIcon />;
|
|
199
207
|
* ICON_CONFIG.radio = <RadioButtonUncheckedIcon />;
|
|
200
208
|
* ICON_CONFIG.radioChecked = <RadioButtonCheckedIcon />;
|
|
209
|
+
* ICON_CONFIG.remove = <CancelIcon />;
|
|
201
210
|
* ICON_CONFIG.selected = <CheckIcon />;
|
|
202
211
|
* ICON_CONFIG.sort = <ArrowUpwardIcon />;
|
|
203
212
|
* ICON_CONFIG.upload = <FileUploadIcon />;
|
|
@@ -222,6 +231,7 @@ export const ICON_CONFIG: ConfiguredIcons = {
|
|
|
222
231
|
password: <FontIcon>remove_red_eye</FontIcon>,
|
|
223
232
|
radio: <FontIcon>radio_button_unchecked</FontIcon>,
|
|
224
233
|
radioChecked: <FontIcon>radio_button_checked</FontIcon>,
|
|
234
|
+
remove: <FontIcon>cancel</FontIcon>,
|
|
225
235
|
selected: <FontIcon>check</FontIcon>,
|
|
226
236
|
sort: <FontIcon>arrow_upward</FontIcon>,
|
|
227
237
|
upload: <FontIcon>file_upload</FontIcon>,
|
|
@@ -236,6 +246,7 @@ export const ICON_CONFIG: ConfiguredIcons = {
|
|
|
236
246
|
* import { configureIcons } from "@react-md/core";
|
|
237
247
|
* import ArrowDropDownIcon from "@react-md/material-icons/ArrowDropDownIcon";
|
|
238
248
|
* import ArrowUpwardIcon from "@react-md/material-icons/ArrowUpwardIcon";
|
|
249
|
+
* import CancelIcon from "@react-md/material-icons/CancelIcon";
|
|
239
250
|
* import CheckBoxIcon from "@react-md/material-icons/CheckBoxIcon";
|
|
240
251
|
* import CheckBoxOutlineBlankIcon from "@react-md/material-icons/CheckBoxOutlineBlankIcon";
|
|
241
252
|
* import CheckIcon from "@react-md/material-icons/CheckIcon";
|
|
@@ -267,6 +278,7 @@ export const ICON_CONFIG: ConfiguredIcons = {
|
|
|
267
278
|
* password: <RemoveRedEyeIcon />,
|
|
268
279
|
* radio: <RadioButtonUncheckedIcon />,
|
|
269
280
|
* radioChecked: <RadioButtonCheckedIcon />,
|
|
281
|
+
* remove: <CancelIcon />,
|
|
270
282
|
* selected: <CheckIcon />,
|
|
271
283
|
* sort: <ArrowUpwardIcon />,
|
|
272
284
|
* upload: <FileUploadIcon />,
|
|
@@ -53,13 +53,13 @@ export interface UserInteractionModeProviderProps {
|
|
|
53
53
|
* to update component functionality and applying the following class names to
|
|
54
54
|
* the `document.body`:
|
|
55
55
|
*
|
|
56
|
-
* - `"mouse-mode"`
|
|
57
|
-
* - `"keyboard-mode"`
|
|
58
|
-
* - `"touch-mode"`
|
|
56
|
+
* - `"rmd-mouse-mode"`
|
|
57
|
+
* - `"rmd-keyboard-mode"`
|
|
58
|
+
* - `"rmd-touch-mode"`
|
|
59
59
|
*
|
|
60
60
|
* Within `react-md`, these classes are used for the following behavior:
|
|
61
|
-
* - only display `:focus` outlines while in `"keyboard-mode"`
|
|
62
|
-
* - do not display `:hover` effects while in `"touch-mode"`
|
|
61
|
+
* - only display `:focus` outlines while in `"rmd-keyboard-mode"`
|
|
62
|
+
* - do not display `:hover` effects while in `"rmd-touch-mode"`
|
|
63
63
|
*
|
|
64
64
|
* @example Mount at the root of your app
|
|
65
65
|
* ```tsx
|
|
@@ -136,8 +136,12 @@ export function UserInteractionModeProvider(
|
|
|
136
136
|
* and I have no experience using them.
|
|
137
137
|
*/
|
|
138
138
|
useEffect(() => {
|
|
139
|
-
const enableMouseMode = (): void =>
|
|
140
|
-
|
|
139
|
+
const enableMouseMode = (): void => {
|
|
140
|
+
setMode("mouse");
|
|
141
|
+
};
|
|
142
|
+
const enableKeyboardMode = (): void => {
|
|
143
|
+
setMode("keyboard");
|
|
144
|
+
};
|
|
141
145
|
|
|
142
146
|
const handleTouchStart = (): void => {
|
|
143
147
|
lastTouchTime.current = Date.now();
|
|
@@ -160,7 +164,7 @@ export function UserInteractionModeProvider(
|
|
|
160
164
|
isTouchContextMenu.current = true;
|
|
161
165
|
};
|
|
162
166
|
|
|
163
|
-
const className =
|
|
167
|
+
const className = `rmd-${mode}-mode`;
|
|
164
168
|
document.body.classList.add(className);
|
|
165
169
|
window.addEventListener("touchstart", handleTouchStart, true);
|
|
166
170
|
if (mode === "mouse") {
|
package/src/interaction/types.ts
CHANGED
|
@@ -19,6 +19,25 @@ declare module "react" {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* @since 6.0.0
|
|
24
|
+
*/
|
|
25
|
+
export interface ComponentWithRippleProps {
|
|
26
|
+
/**
|
|
27
|
+
* Set this to `true` to disable the ripple behavior for this single component
|
|
28
|
+
* only. If all components should have the ripple disabled:
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* INTERACTION_CONFIG.mode = "none";
|
|
32
|
+
* // or
|
|
33
|
+
* INTERACTION_CONFIG.mode = "press";
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @defaultValue `false`
|
|
37
|
+
*/
|
|
38
|
+
disableRipple?: boolean;
|
|
39
|
+
}
|
|
40
|
+
|
|
22
41
|
/**
|
|
23
42
|
* This is used to provide feedback to the user that they are interacting with
|
|
24
43
|
* elements on the page. It is recommended to not set this to `"none"` unless
|
|
@@ -156,8 +175,8 @@ export type RippleStateList = readonly RippleState[];
|
|
|
156
175
|
* @internal
|
|
157
176
|
*/
|
|
158
177
|
export interface RippleTransitionCallbacks {
|
|
159
|
-
onEntered(ripple: RippleState)
|
|
160
|
-
onExited(ripple: RippleState)
|
|
178
|
+
onEntered: (ripple: RippleState) => void;
|
|
179
|
+
onExited: (ripple: RippleState) => void;
|
|
161
180
|
}
|
|
162
181
|
|
|
163
182
|
/**
|
|
@@ -12,6 +12,7 @@ import { useUserInteractionMode } from "./UserInteractionModeProvider.js";
|
|
|
12
12
|
import { INTERACTION_CONFIG } from "./config.js";
|
|
13
13
|
import type {
|
|
14
14
|
ElementInteractionHandlers,
|
|
15
|
+
ElementInteractionMode,
|
|
15
16
|
ElementInteractionState,
|
|
16
17
|
RippleState,
|
|
17
18
|
RippleStyle,
|
|
@@ -31,6 +32,13 @@ export const PRESSED_CLASS_NAME = "rmd-pressed";
|
|
|
31
32
|
/** @since 6.0.0 */
|
|
32
33
|
export interface ElementInteractionOptions<E extends HTMLElement>
|
|
33
34
|
extends Partial<ElementInteractionHandlers<E>> {
|
|
35
|
+
/**
|
|
36
|
+
* This can be used to override the {@link INTERACTION_CONFIG.mode}
|
|
37
|
+
*
|
|
38
|
+
* @defaultValue `INTERACTION_CONFIG.mode`
|
|
39
|
+
*/
|
|
40
|
+
mode?: ElementInteractionMode;
|
|
41
|
+
|
|
34
42
|
/**
|
|
35
43
|
* Boolean if the element is currently disabled which will prevent any of the
|
|
36
44
|
* element interaction states from happening.
|
|
@@ -165,11 +173,10 @@ export function useElementInteraction<E extends HTMLElement>(
|
|
|
165
173
|
onTouchEnd = noop,
|
|
166
174
|
onTouchMove = noop,
|
|
167
175
|
onDragStart = noop,
|
|
176
|
+
mode = INTERACTION_CONFIG.mode,
|
|
168
177
|
disabled = false,
|
|
169
178
|
} = options;
|
|
170
179
|
|
|
171
|
-
const { mode } = INTERACTION_CONFIG;
|
|
172
|
-
|
|
173
180
|
const holding = useRef(false);
|
|
174
181
|
const disableClick = useRef(false);
|
|
175
182
|
const userMode = useUserInteractionMode();
|
package/src/interaction/utils.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type KeyboardEvent, type MouseEvent, type TouchEvent } from "react";
|
|
2
2
|
import { findSizingContainer } from "../positioning/utils.js";
|
|
3
|
-
import
|
|
4
|
-
ElementInteractionState,
|
|
5
|
-
RippleState,
|
|
6
|
-
RippleStyle,
|
|
3
|
+
import {
|
|
4
|
+
type ElementInteractionState,
|
|
5
|
+
type RippleState,
|
|
6
|
+
type RippleStyle,
|
|
7
7
|
} from "./types.js";
|
|
8
8
|
|
|
9
9
|
/** @internal */
|
|
@@ -61,8 +61,8 @@ export function getRippleStyle(
|
|
|
61
61
|
({ pageX, pageY } = event);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
x = pageX - (left + window.
|
|
65
|
-
y = pageY - (top + window.
|
|
64
|
+
x = pageX - (left + window.scrollX);
|
|
65
|
+
y = pageY - (top + window.scrollY);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
const radius = getRadius(x, y, width, height);
|
|
@@ -94,9 +94,9 @@ export interface ExpandableLayoutImplementation
|
|
|
94
94
|
temporary: boolean;
|
|
95
95
|
persistent: boolean;
|
|
96
96
|
expanded: boolean;
|
|
97
|
-
expandNavigation()
|
|
98
|
-
collapseNavigation()
|
|
99
|
-
toggleNavigation()
|
|
97
|
+
expandNavigation: () => void;
|
|
98
|
+
collapseNavigation: () => void;
|
|
99
|
+
toggleNavigation: () => void;
|
|
100
100
|
appBarProps: ProvidedLayoutAppBarProps;
|
|
101
101
|
mainProps: ProvidedLayoutMainProps;
|
|
102
102
|
navToggleProps: ProvidedExpandableLayoutNavToggleProps;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useMemo, type Ref, type RefCallback } from "react";
|
|
3
|
-
import { type
|
|
4
|
-
import { type CSSVariable } from "../theme/useCSSVariables.js";
|
|
3
|
+
import { type CSSVariable } from "../theme/types.js";
|
|
5
4
|
import { useElementSize } from "../useElementSize.js";
|
|
6
5
|
|
|
7
6
|
declare module "react" {
|
|
@@ -16,7 +15,7 @@ declare module "react" {
|
|
|
16
15
|
*/
|
|
17
16
|
export interface LayoutAppBarHeightResult {
|
|
18
17
|
height: number | undefined;
|
|
19
|
-
variables: readonly CSSVariable
|
|
18
|
+
variables: readonly CSSVariable[];
|
|
20
19
|
appBarRef: RefCallback<HTMLDivElement>;
|
|
21
20
|
}
|
|
22
21
|
|
|
@@ -75,7 +74,7 @@ export function useLayoutAppBarHeight(
|
|
|
75
74
|
ref,
|
|
76
75
|
disableWidth: true,
|
|
77
76
|
});
|
|
78
|
-
const variables = useMemo<CSSVariable
|
|
77
|
+
const variables = useMemo<CSSVariable[]>(() => {
|
|
79
78
|
if (Number.isNaN(height) || !observedOnce) {
|
|
80
79
|
return [];
|
|
81
80
|
}
|
|
@@ -56,8 +56,8 @@ export type ProvidedTemporaryLayoutAppBarProps = Required<
|
|
|
56
56
|
*/
|
|
57
57
|
export interface TemporaryLayoutImplementation {
|
|
58
58
|
visible: boolean;
|
|
59
|
-
showTemporaryNav()
|
|
60
|
-
hideTemporaryNav()
|
|
59
|
+
showTemporaryNav: () => void;
|
|
60
|
+
hideTemporaryNav: () => void;
|
|
61
61
|
appBarProps: ProvidedTemporaryLayoutAppBarProps;
|
|
62
62
|
mainProps: ProvidedTemporaryLayoutMainProps;
|
|
63
63
|
navToggleProps: ProvidedLayoutNavToggleProps;
|
package/src/list/ListItem.tsx
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { forwardRef, type HTMLAttributes } from "react";
|
|
3
|
+
import { type ComponentWithRippleProps } from "../interaction/types.js";
|
|
3
4
|
import { useElementInteraction } from "../interaction/useElementInteraction.js";
|
|
4
5
|
import { useHigherContrastChildren } from "../interaction/useHigherContrastChildren.js";
|
|
5
6
|
import { getListItemHeight } from "./getListItemHeight.js";
|
|
@@ -13,7 +14,8 @@ import { type ListItemChildrenProps, type ListItemHeight } from "./types.js";
|
|
|
13
14
|
*/
|
|
14
15
|
export interface ListItemProps
|
|
15
16
|
extends HTMLAttributes<HTMLLIElement>,
|
|
16
|
-
ListItemChildrenProps
|
|
17
|
+
ListItemChildrenProps,
|
|
18
|
+
ComponentWithRippleProps {
|
|
17
19
|
/**
|
|
18
20
|
* @defaultValue `"button"`
|
|
19
21
|
*/
|
|
@@ -148,6 +150,7 @@ export const ListItem = forwardRef<HTMLLIElement, ListItemProps>(
|
|
|
148
150
|
disableRightAddonCenteredMedia,
|
|
149
151
|
multiline = false,
|
|
150
152
|
disabled = false,
|
|
153
|
+
disableRipple,
|
|
151
154
|
disabledOpacity = false,
|
|
152
155
|
role = "button",
|
|
153
156
|
onBlur,
|
|
@@ -173,6 +176,7 @@ export const ListItem = forwardRef<HTMLLIElement, ListItemProps>(
|
|
|
173
176
|
}
|
|
174
177
|
|
|
175
178
|
const { pressedClassName, ripples, handlers } = useElementInteraction({
|
|
179
|
+
mode: disableRipple ? "none" : undefined,
|
|
176
180
|
onBlur,
|
|
177
181
|
onClick,
|
|
178
182
|
onKeyDown,
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
type AnchorHTMLAttributes,
|
|
5
5
|
type HTMLAttributes,
|
|
6
6
|
} from "react";
|
|
7
|
+
import { type ComponentWithRippleProps } from "../interaction/types.js";
|
|
7
8
|
import { useElementInteraction } from "../interaction/useElementInteraction.js";
|
|
8
9
|
import { useHigherContrastChildren } from "../interaction/useHigherContrastChildren.js";
|
|
9
10
|
import { type CustomLinkComponent } from "../link/Link.js";
|
|
@@ -16,7 +17,8 @@ import { type ListItemChildrenProps } from "./types.js";
|
|
|
16
17
|
export interface ListItemLinkProps
|
|
17
18
|
extends AnchorHTMLAttributes<HTMLAnchorElement>,
|
|
18
19
|
ListItemClassNameOptions,
|
|
19
|
-
ListItemChildrenProps
|
|
20
|
+
ListItemChildrenProps,
|
|
21
|
+
ComponentWithRippleProps {
|
|
20
22
|
/** @defaultValue `"a"` */
|
|
21
23
|
as?: CustomLinkComponent;
|
|
22
24
|
|
|
@@ -93,10 +95,12 @@ export const ListItemLink = forwardRef<HTMLAnchorElement, ListItemLinkProps>(
|
|
|
93
95
|
role,
|
|
94
96
|
tabIndex = disabled || role === "menuitem" ? -1 : undefined,
|
|
95
97
|
children: propChildren,
|
|
98
|
+
disableRipple,
|
|
96
99
|
...remaining
|
|
97
100
|
} = props;
|
|
98
101
|
|
|
99
102
|
const { pressedClassName, ripples, handlers } = useElementInteraction({
|
|
103
|
+
mode: disableRipple ? "none" : undefined,
|
|
100
104
|
onBlur,
|
|
101
105
|
onClick,
|
|
102
106
|
onKeyDown,
|
|
@@ -39,8 +39,9 @@ export function useMediaQuery(query: string, disabled = false): boolean {
|
|
|
39
39
|
const result = window.matchMedia(query);
|
|
40
40
|
setMatches(result.matches);
|
|
41
41
|
|
|
42
|
-
const updater = ({ matches }: MediaQueryListEvent): void =>
|
|
42
|
+
const updater = ({ matches }: MediaQueryListEvent): void => {
|
|
43
43
|
setMatches(matches);
|
|
44
|
+
};
|
|
44
45
|
|
|
45
46
|
result.addEventListener("change", updater);
|
|
46
47
|
return () => {
|
package/src/menu/Menu.tsx
CHANGED
|
@@ -117,7 +117,13 @@ export interface MenuConfigurationProps extends CalculateFixedPositionOptions {
|
|
|
117
117
|
closeOnResize?: boolean;
|
|
118
118
|
|
|
119
119
|
/** @see {@link FixedPositioningOptions.getFixedPositionOptions} */
|
|
120
|
-
getFixedPositionOptions
|
|
120
|
+
getFixedPositionOptions?: () => CalculateFixedPositionOptions;
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* @defaultValue `false`
|
|
124
|
+
* @see {@link FixedPositioningOptions.disabled}
|
|
125
|
+
*/
|
|
126
|
+
disableFixedPositioning?: boolean;
|
|
121
127
|
}
|
|
122
128
|
|
|
123
129
|
/**
|
|
@@ -198,7 +204,7 @@ export interface MenuConvenienceProps extends MenuConfigurationProps {
|
|
|
198
204
|
*/
|
|
199
205
|
export type MenuFixedPositioningOptions = Omit<
|
|
200
206
|
FixedPositioningOptions<HTMLElement, HTMLDivElement>,
|
|
201
|
-
"onScroll" | "onResize"
|
|
207
|
+
"onScroll" | "onResize" | "nodeRef" | "disabled"
|
|
202
208
|
>;
|
|
203
209
|
|
|
204
210
|
/**
|
|
@@ -215,7 +221,7 @@ export interface MenuProps
|
|
|
215
221
|
MenuListConvenienceProps,
|
|
216
222
|
MenuSheetConvenienceProps {
|
|
217
223
|
visible: boolean;
|
|
218
|
-
onRequestClose()
|
|
224
|
+
onRequestClose: () => void;
|
|
219
225
|
|
|
220
226
|
/**
|
|
221
227
|
* @defaultValue `"menu-" + useId()`
|
|
@@ -322,6 +328,7 @@ export const Menu = forwardRef<HTMLDivElement, LabelRequiredForA11y<MenuProps>>(
|
|
|
322
328
|
disableVHBounds,
|
|
323
329
|
initialX,
|
|
324
330
|
initialY,
|
|
331
|
+
disableFixedPositioning,
|
|
325
332
|
getFixedPositionOptions,
|
|
326
333
|
disablePortal: propDisablePortal,
|
|
327
334
|
disableTransition,
|
|
@@ -449,6 +456,7 @@ export const Menu = forwardRef<HTMLDivElement, LabelRequiredForA11y<MenuProps>>(
|
|
|
449
456
|
|
|
450
457
|
const { ref, style, callbacks, updateStyle } = useFixedPositioning({
|
|
451
458
|
...transitionOptions,
|
|
459
|
+
disabled: disableFixedPositioning,
|
|
452
460
|
onEnter,
|
|
453
461
|
style: isSheet ? propStyle : menuStyle,
|
|
454
462
|
fixedTo,
|
|
@@ -38,6 +38,7 @@ export const MenuItemButton = forwardRef<HTMLLIElement, MenuItemButtonProps>(
|
|
|
38
38
|
const {
|
|
39
39
|
id: propId,
|
|
40
40
|
children,
|
|
41
|
+
height: propHeight,
|
|
41
42
|
onClick = noop,
|
|
42
43
|
onKeyDown = noop,
|
|
43
44
|
onMouseEnter = noop,
|
|
@@ -82,9 +83,14 @@ export const MenuItemButton = forwardRef<HTMLLIElement, MenuItemButtonProps>(
|
|
|
82
83
|
setVisible(id === activeId);
|
|
83
84
|
}, [activeId, defaultFocusIndex, id, menubar, setVisible]);
|
|
84
85
|
|
|
85
|
-
|
|
86
|
+
let height = propHeight;
|
|
86
87
|
let rightAddon = propRightAddon;
|
|
88
|
+
const dropdownIcon = getIcon(root ? "dropdown" : "forward");
|
|
87
89
|
if (!disableDropdownIcon) {
|
|
90
|
+
if (!height && !props.leftAddon) {
|
|
91
|
+
height = "normal";
|
|
92
|
+
}
|
|
93
|
+
|
|
88
94
|
rightAddon = (
|
|
89
95
|
<IconRotator {...iconRotatorProps} rotated={visible}>
|
|
90
96
|
{dropdownIcon}
|
|
@@ -12,7 +12,7 @@ export interface ContextMenuProps extends InitialCoords {
|
|
|
12
12
|
fixedTo: RefObject<HTMLElement>;
|
|
13
13
|
visible: boolean;
|
|
14
14
|
preventScroll: boolean;
|
|
15
|
-
onRequestClose()
|
|
15
|
+
onRequestClose: () => void;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -37,7 +37,7 @@ export interface ContextMenuHookOptions {
|
|
|
37
37
|
* @defaultValue `true`
|
|
38
38
|
*/
|
|
39
39
|
preventScroll?: boolean;
|
|
40
|
-
onContextMenu
|
|
40
|
+
onContextMenu?: <E extends HTMLElement>(event: MouseEvent<E>) => void;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
/**
|
|
@@ -49,7 +49,7 @@ export interface ContextMenuHookOptions {
|
|
|
49
49
|
export interface ContextMenuImplementation
|
|
50
50
|
extends UseStateObject<"visible", boolean> {
|
|
51
51
|
menuProps: ContextMenuProps;
|
|
52
|
-
onContextMenu<E extends HTMLElement>(event: MouseEvent<E>)
|
|
52
|
+
onContextMenu: <E extends HTMLElement>(event: MouseEvent<E>) => void;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
const noop = (): void => {
|
package/src/movement/types.ts
CHANGED
|
@@ -203,8 +203,8 @@ export interface KeyboardMovementExtensionData<E extends HTMLElement>
|
|
|
203
203
|
extends KeyboardMovementContext {
|
|
204
204
|
event: KeyboardEvent<E>;
|
|
205
205
|
currentFocusIndex: NonNullMutableRef<number>;
|
|
206
|
-
setFocusIndex(index: number, focusables: readonly HTMLElement[])
|
|
207
|
-
setActiveDescendantId(id: string)
|
|
206
|
+
setFocusIndex: (index: number, focusables: readonly HTMLElement[]) => void;
|
|
207
|
+
setActiveDescendantId: (id: string) => void;
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
/**
|
|
@@ -217,9 +217,9 @@ export interface KeyboardMovementProviderOptions<E extends HTMLElement>
|
|
|
217
217
|
/** @see {@link TabIndexBehavior} */
|
|
218
218
|
tabIndexBehavior?: TabIndexBehavior;
|
|
219
219
|
|
|
220
|
-
onClick
|
|
221
|
-
onFocus
|
|
222
|
-
onKeyDown
|
|
220
|
+
onClick?: (event: MouseEvent<E>) => void;
|
|
221
|
+
onFocus?: (event: FocusEvent<E>) => void;
|
|
222
|
+
onKeyDown?: (event: KeyboardEvent<E>) => void;
|
|
223
223
|
|
|
224
224
|
/** @defaultValue `false` */
|
|
225
225
|
disabled?: boolean;
|