@react-md/core 1.0.0-next.16 → 1.0.0-next.18
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 +45 -22
- 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} +11 -176
- package/dist/{form/fileUtils.js → files/validation.js} +10 -135
- 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/SelectedOption.js +2 -1
- package/dist/form/SelectedOption.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 +193 -124
- 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/FontIcon.d.ts +4 -2
- package/dist/icon/FontIcon.js.map +1 -1
- package/dist/icon/TextIconSpacing.d.ts +3 -1
- package/dist/icon/TextIconSpacing.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/ResizeObserver.d.ts +11 -12
- package/dist/test-utils/ResizeObserver.js +11 -12
- package/dist/test-utils/ResizeObserver.js.map +1 -1
- package/dist/test-utils/matchMedia.d.ts +3 -3
- package/dist/test-utils/matchMedia.js +6 -6
- 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 +86 -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/useResizeObserver.d.ts +19 -0
- package/dist/useResizeObserver.js +19 -0
- package/dist/useResizeObserver.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 +2 -2
- package/dist/utils/RenderRecursively.js.map +1 -1
- package/dist/utils/alphaNumericSort.d.ts +5 -5
- package/dist/utils/alphaNumericSort.js.map +1 -1
- package/dist/utils/bem.d.ts +1 -1
- package/dist/utils/bem.js +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 +25 -24
- 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} +15 -244
- 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/SelectedOption.tsx +2 -0
- 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/FontIcon.tsx +4 -2
- package/src/icon/TextIconSpacing.tsx +1 -1
- 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/ResizeObserver.ts +11 -12
- package/src/test-utils/matchMedia.ts +7 -7
- 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/useResizeObserver.ts +19 -0
- package/src/useThrottledFunction.ts +6 -9
- package/src/useToggle.ts +3 -3
- package/src/utils/RenderRecursively.tsx +2 -2
- package/src/utils/alphaNumericSort.ts +5 -5
- package/src/utils/bem.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
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) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useCallback, useState } from "react";
|
|
3
2
|
import { type UseStateSetter } from "../types.js";
|
|
3
|
+
import { useReadonlySet } from "../useReadonlySet.js";
|
|
4
4
|
import { type TreeDefaultIds, type TreeItemIdSet } from "./types.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -11,7 +11,7 @@ import { type TreeDefaultIds, type TreeItemIdSet } from "./types.js";
|
|
|
11
11
|
*/
|
|
12
12
|
export interface TreeExpansion {
|
|
13
13
|
expandedIds: TreeItemIdSet;
|
|
14
|
-
toggleTreeItemExpansion(itemId: string)
|
|
14
|
+
toggleTreeItemExpansion: (itemId: string) => void;
|
|
15
15
|
expandMultipleTreeItems: UseStateSetter<TreeItemIdSet>;
|
|
16
16
|
}
|
|
17
17
|
|
|
@@ -22,31 +22,13 @@ export interface TreeExpansion {
|
|
|
22
22
|
export function useTreeExpansion(
|
|
23
23
|
defaultExpandedIds?: TreeDefaultIds
|
|
24
24
|
): TreeExpansion {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
typeof defaultExpandedIds === "function"
|
|
28
|
-
? defaultExpandedIds()
|
|
29
|
-
: defaultExpandedIds;
|
|
30
|
-
|
|
31
|
-
return new Set(defaultIds);
|
|
25
|
+
const { value, setValue, toggleValue } = useReadonlySet({
|
|
26
|
+
defaultValue: defaultExpandedIds,
|
|
32
27
|
});
|
|
33
28
|
|
|
34
|
-
const toggleTreeItemExpansion = useCallback((itemId: string) => {
|
|
35
|
-
setExpandedIds((prevExpandedIds) => {
|
|
36
|
-
const expandedIds = new Set(prevExpandedIds);
|
|
37
|
-
if (expandedIds.has(itemId)) {
|
|
38
|
-
expandedIds.delete(itemId);
|
|
39
|
-
} else {
|
|
40
|
-
expandedIds.add(itemId);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return expandedIds;
|
|
44
|
-
});
|
|
45
|
-
}, []);
|
|
46
|
-
|
|
47
29
|
return {
|
|
48
|
-
expandedIds,
|
|
49
|
-
toggleTreeItemExpansion,
|
|
50
|
-
expandMultipleTreeItems:
|
|
30
|
+
expandedIds: value,
|
|
31
|
+
toggleTreeItemExpansion: toggleValue,
|
|
32
|
+
expandMultipleTreeItems: setValue,
|
|
51
33
|
};
|
|
52
34
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useCallback, useState } from "react";
|
|
3
2
|
import { type UseStateSetter } from "../types.js";
|
|
3
|
+
import { useReadonlySet } from "../useReadonlySet.js";
|
|
4
4
|
import { type TreeDefaultIds, type TreeItemIdSet } from "./types.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -13,7 +13,7 @@ export interface TreeSelection {
|
|
|
13
13
|
/** @defaultValue `false` */
|
|
14
14
|
multiSelect?: boolean;
|
|
15
15
|
selectedIds: ReadonlySet<string>;
|
|
16
|
-
toggleTreeItemSelection(itemId: string)
|
|
16
|
+
toggleTreeItemSelection: (itemId: string) => void;
|
|
17
17
|
selectMultipleTreeItems: UseStateSetter<TreeItemIdSet>;
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -25,39 +25,15 @@ export function useTreeSelection(
|
|
|
25
25
|
defaultSelectedIds?: TreeDefaultIds,
|
|
26
26
|
multiSelect = false
|
|
27
27
|
): Required<TreeSelection> {
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
? defaultSelectedIds()
|
|
32
|
-
: defaultSelectedIds;
|
|
33
|
-
|
|
34
|
-
return new Set(defaultIds);
|
|
28
|
+
const { value, setValue, toggleValue } = useReadonlySet({
|
|
29
|
+
toggleType: multiSelect ? "multiple" : "single-select",
|
|
30
|
+
defaultValue: defaultSelectedIds,
|
|
35
31
|
});
|
|
36
32
|
|
|
37
|
-
const toggleTreeItemSelection = useCallback(
|
|
38
|
-
(itemId: string) => {
|
|
39
|
-
setSelectedIds((selectedIds) => {
|
|
40
|
-
if (!multiSelect) {
|
|
41
|
-
return selectedIds.has(itemId) ? selectedIds : new Set([itemId]);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const nextSelectedIds = new Set(selectedIds);
|
|
45
|
-
if (selectedIds.has(itemId)) {
|
|
46
|
-
nextSelectedIds.delete(itemId);
|
|
47
|
-
} else {
|
|
48
|
-
nextSelectedIds.add(itemId);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return nextSelectedIds;
|
|
52
|
-
});
|
|
53
|
-
},
|
|
54
|
-
[multiSelect]
|
|
55
|
-
);
|
|
56
|
-
|
|
57
33
|
return {
|
|
58
|
-
selectedIds,
|
|
59
34
|
multiSelect,
|
|
60
|
-
|
|
61
|
-
|
|
35
|
+
selectedIds: value,
|
|
36
|
+
toggleTreeItemSelection: toggleValue,
|
|
37
|
+
selectMultipleTreeItems: setValue,
|
|
62
38
|
};
|
|
63
39
|
}
|
package/src/tree/utils.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
type DefaultTreeItemNode,
|
|
3
|
+
type TreeData,
|
|
4
|
+
type TreeItemNode,
|
|
5
|
+
} from "./types.js";
|
|
2
6
|
|
|
3
7
|
/**
|
|
4
8
|
* This will get all the items from the provided itemId up to the root of the
|
|
@@ -48,7 +52,7 @@ export function getChildTreeItems<T extends TreeItemNode = DefaultTreeItemNode>(
|
|
|
48
52
|
parentId: string | null,
|
|
49
53
|
recursive = false
|
|
50
54
|
): readonly T[] {
|
|
51
|
-
const items = Array.isArray(data) ? data : Object.values(data);
|
|
55
|
+
const items: readonly T[] = Array.isArray(data) ? data : Object.values(data);
|
|
52
56
|
|
|
53
57
|
return items.reduce<T[]>((list, item) => {
|
|
54
58
|
if (parentId !== item.parentId) {
|
package/src/types.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { Dispatch, ReactElement, Ref, SetStateAction } from "react";
|
|
|
5
5
|
* object even though a `ref` isn't a real prop.
|
|
6
6
|
*/
|
|
7
7
|
export type PropsWithRef<
|
|
8
|
-
Props extends
|
|
8
|
+
Props extends object,
|
|
9
9
|
Element extends HTMLElement,
|
|
10
10
|
> = Props & {
|
|
11
11
|
/**
|
|
@@ -18,7 +18,7 @@ export type PropsWithRef<
|
|
|
18
18
|
* A simple type that can be used for different components that clone a
|
|
19
19
|
* `className` into a child component.
|
|
20
20
|
*/
|
|
21
|
-
export type ClassNameCloneableChild<T =
|
|
21
|
+
export type ClassNameCloneableChild<T = object> = ReactElement<
|
|
22
22
|
T & { className?: string }
|
|
23
23
|
>;
|
|
24
24
|
|
|
@@ -171,12 +171,28 @@ export type CssPosition = "fixed" | "sticky" | "static";
|
|
|
171
171
|
* @since 6.0.0
|
|
172
172
|
*/
|
|
173
173
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
174
|
-
export type AnyFunction = (...args: any[]) => any
|
|
174
|
+
export type AnyFunction = (...args: any[]) => any;
|
|
175
175
|
|
|
176
176
|
/**
|
|
177
177
|
* @since 6.0.0
|
|
178
178
|
*/
|
|
179
|
-
export type CancelableFunction<F extends AnyFunction> = F & {
|
|
179
|
+
export type CancelableFunction<F extends AnyFunction> = F & {
|
|
180
|
+
cancel: () => void;
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* @since 6.0.0
|
|
185
|
+
*/
|
|
186
|
+
export type DebouncedFunction<F extends AnyFunction> = CancelableFunction<
|
|
187
|
+
(...args: Parameters<F>) => void
|
|
188
|
+
>;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* @since 6.0.0
|
|
192
|
+
*/
|
|
193
|
+
export type ThrottledFunction<F extends AnyFunction> = CancelableFunction<
|
|
194
|
+
(...args: Parameters<F>) => ReturnType<F>
|
|
195
|
+
>;
|
|
180
196
|
|
|
181
197
|
/**
|
|
182
198
|
* @since 6.0.0
|
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useEffect, useMemo, useRef } from "react";
|
|
3
|
-
import { type
|
|
3
|
+
import { type AnyFunction, type DebouncedFunction } from "./types.js";
|
|
4
4
|
import { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.js";
|
|
5
5
|
|
|
6
|
-
/**
|
|
7
|
-
* @since 6.0.0
|
|
8
|
-
*/
|
|
9
|
-
export type DebouncedFunction<F extends AnyFunction> = CancelableFunction<
|
|
10
|
-
(...args: Parameters<F>) => void
|
|
11
|
-
>;
|
|
12
|
-
|
|
13
6
|
/**
|
|
14
7
|
* Creates a function that will only be called if it has not been called again
|
|
15
8
|
* for X milliseconds.
|
|
@@ -109,7 +102,9 @@ export function useDebouncedFunction<F extends AnyFunction>(
|
|
|
109
102
|
funcRef.current(...args);
|
|
110
103
|
}, wait);
|
|
111
104
|
};
|
|
112
|
-
debounced.cancel = () =>
|
|
105
|
+
debounced.cancel = () => {
|
|
106
|
+
window.clearTimeout(timeout.current);
|
|
107
|
+
};
|
|
113
108
|
|
|
114
109
|
return debounced;
|
|
115
110
|
}, [wait]);
|
package/src/useDropzone.ts
CHANGED
|
@@ -12,10 +12,10 @@ const noop = (): void => {
|
|
|
12
12
|
* instead of the `DropzoneHandlers` type.
|
|
13
13
|
*/
|
|
14
14
|
export interface DropzoneHandlers {
|
|
15
|
-
onDrop<E extends HTMLElement>(event: DragEvent<E>)
|
|
16
|
-
onDragEnter
|
|
17
|
-
onDragOver
|
|
18
|
-
onDragLeave
|
|
15
|
+
onDrop: <E extends HTMLElement>(event: DragEvent<E>) => void;
|
|
16
|
+
onDragEnter?: <E extends HTMLElement>(event: DragEvent<E>) => void;
|
|
17
|
+
onDragOver?: <E extends HTMLElement>(event: DragEvent<E>) => void;
|
|
18
|
+
onDragLeave?: <E extends HTMLElement>(event: DragEvent<E>) => void;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -89,7 +89,7 @@ export interface BaseIntersectionObserverHookOptions {
|
|
|
89
89
|
* // pretend some expensive computation
|
|
90
90
|
* return [0, 0.25, 0.5, 0.75, 1];
|
|
91
91
|
* }, []),
|
|
92
|
-
*
|
|
92
|
+
* onUpdate: useCallback(() => {
|
|
93
93
|
* // do something
|
|
94
94
|
* }, []),
|
|
95
95
|
* });
|
|
@@ -97,7 +97,7 @@ export interface BaseIntersectionObserverHookOptions {
|
|
|
97
97
|
*
|
|
98
98
|
* If this option is provided, {@link threshold}'s value will be ignored.
|
|
99
99
|
*/
|
|
100
|
-
getThreshold
|
|
100
|
+
getThreshold?: () => IntersectionObserverThreshold;
|
|
101
101
|
|
|
102
102
|
/**
|
|
103
103
|
* **Must be wrapped in `useCallback` to prevent re-creating the
|
|
@@ -121,7 +121,7 @@ export interface BaseIntersectionObserverHookOptions {
|
|
|
121
121
|
*
|
|
122
122
|
* Note: If this option is provided, {@link rootMargin} will be ignored.
|
|
123
123
|
*/
|
|
124
|
-
getRootMargin
|
|
124
|
+
getRootMargin?: () => IntersectionObserverRootMargin;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
/**
|
|
@@ -156,7 +156,7 @@ export interface IntersectionObserverHookOptions<E extends HTMLElement>
|
|
|
156
156
|
* }
|
|
157
157
|
* ```
|
|
158
158
|
*/
|
|
159
|
-
onUpdate(entries: readonly IntersectionObserverEntry[])
|
|
159
|
+
onUpdate: (entries: readonly IntersectionObserverEntry[]) => void;
|
|
160
160
|
|
|
161
161
|
/**
|
|
162
162
|
* **Must be wrapped in `useCallback` to prevent re-creating the
|
|
@@ -185,7 +185,7 @@ export interface IntersectionObserverHookOptions<E extends HTMLElement>
|
|
|
185
185
|
* }
|
|
186
186
|
* ```
|
|
187
187
|
*/
|
|
188
|
-
getTargets
|
|
188
|
+
getTargets?: () => readonly Element[];
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
/**
|