@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/dialog/styles.ts
CHANGED
|
@@ -1,10 +1,71 @@
|
|
|
1
1
|
import { cnb } from "cnbuilder";
|
|
2
|
+
import {
|
|
3
|
+
type CSSTransitionClassNames,
|
|
4
|
+
type TransitionTimeout,
|
|
5
|
+
} from "../transition/types.js";
|
|
2
6
|
import { bem } from "../utils/bem.js";
|
|
7
|
+
import { DISPLAY_NONE_CLASS } from "../utils/isElementVisible.js";
|
|
3
8
|
|
|
4
9
|
const styles = bem("rmd-dialog");
|
|
10
|
+
const containerStyles = bem("rmd-dialog-container");
|
|
11
|
+
|
|
12
|
+
declare module "react" {
|
|
13
|
+
interface CSSProperties {
|
|
14
|
+
"--rmd-dialog-background-color"?: string;
|
|
15
|
+
"--rmd-dialog-color"?: string;
|
|
16
|
+
"--rmd-dialog-min-width"?: string | number;
|
|
17
|
+
"--rmd-dialog-horizontal-margin"?: string | number;
|
|
18
|
+
"--rmd-dialog-vertical-margin"?: string | number;
|
|
19
|
+
"--rmd-dialog-z-index"?: string | number;
|
|
20
|
+
"--rmd-dialog-header-padding"?: string | number;
|
|
21
|
+
"--rmd-dialog-header-padding-bottom"?: string | number;
|
|
22
|
+
"--rmd-dialog-content-padding"?: string | number;
|
|
23
|
+
"--rmd-dialog-footer-padding"?: string | number;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
5
26
|
|
|
6
27
|
export type DialogType = "full-page" | "centered" | "custom";
|
|
7
28
|
|
|
29
|
+
/**
|
|
30
|
+
* This can be used to enforce a specific width for dialogs instead of relying
|
|
31
|
+
* on the size of the content to determine the width. The width will also ensure
|
|
32
|
+
* that it does not overflow based on the viewport width and margins applied.
|
|
33
|
+
*
|
|
34
|
+
* For example: if the `width="extra-large"` and the total viewport size is
|
|
35
|
+
* `600px`, the dialog width would be `420px` since there is a default `80px`
|
|
36
|
+
* margin to the left and right of the dialog. If the user expands the browser,
|
|
37
|
+
* the dialog width will continue to grow until it reaches the `extra-large`
|
|
38
|
+
* width and stop growing from that point.
|
|
39
|
+
*
|
|
40
|
+
* @since 6.0.0
|
|
41
|
+
*/
|
|
42
|
+
export type DialogWidth = "auto" | "small" | "medium" | "large" | "extra-large";
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @since 6.0.0
|
|
46
|
+
*/
|
|
47
|
+
export interface DialogContainerClassNameOptions {
|
|
48
|
+
className?: string;
|
|
49
|
+
|
|
50
|
+
centered?: boolean;
|
|
51
|
+
displayNone?: boolean;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @since 6.0.0
|
|
56
|
+
*/
|
|
57
|
+
export function dialogContainer(
|
|
58
|
+
options: DialogContainerClassNameOptions = {}
|
|
59
|
+
): string {
|
|
60
|
+
const { className, centered, displayNone } = options;
|
|
61
|
+
|
|
62
|
+
return cnb(
|
|
63
|
+
containerStyles({ centered }),
|
|
64
|
+
displayNone && DISPLAY_NONE_CLASS,
|
|
65
|
+
className
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
8
69
|
/** @since 6.0.0 */
|
|
9
70
|
export interface DialogClassNameOptions {
|
|
10
71
|
className?: string;
|
|
@@ -14,6 +75,11 @@ export interface DialogClassNameOptions {
|
|
|
14
75
|
*/
|
|
15
76
|
type?: DialogType;
|
|
16
77
|
|
|
78
|
+
/**
|
|
79
|
+
* @defaultValue `"auto"`
|
|
80
|
+
*/
|
|
81
|
+
width?: DialogWidth;
|
|
82
|
+
|
|
17
83
|
/**
|
|
18
84
|
* @defaultValue `false`
|
|
19
85
|
*/
|
|
@@ -23,14 +89,24 @@ export interface DialogClassNameOptions {
|
|
|
23
89
|
* @defaultValue `type === "full-page"`
|
|
24
90
|
*/
|
|
25
91
|
outline?: boolean;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* This is mostly used for handling nested dialogs and removes any box shadow
|
|
95
|
+
* on a dialog that has a child visible.
|
|
96
|
+
*
|
|
97
|
+
* @defaultValue `false`
|
|
98
|
+
*/
|
|
99
|
+
disableBoxShadow?: boolean;
|
|
26
100
|
}
|
|
27
101
|
|
|
28
102
|
/** @since 6.0.0 */
|
|
29
103
|
export function dialog(options: DialogClassNameOptions = {}): string {
|
|
30
104
|
const {
|
|
31
105
|
type = "centered",
|
|
106
|
+
width,
|
|
32
107
|
fixed = false,
|
|
33
108
|
outline = type === "full-page",
|
|
109
|
+
disableBoxShadow,
|
|
34
110
|
className,
|
|
35
111
|
} = options;
|
|
36
112
|
|
|
@@ -40,6 +116,11 @@ export function dialog(options: DialogClassNameOptions = {}): string {
|
|
|
40
116
|
outline,
|
|
41
117
|
centered: type === "centered",
|
|
42
118
|
"full-page": type === "full-page",
|
|
119
|
+
"no-box-shadow": type === "centered" && disableBoxShadow,
|
|
120
|
+
"s-width": width === "small",
|
|
121
|
+
"m-width": width === "medium",
|
|
122
|
+
"l-width": width === "large",
|
|
123
|
+
"xl-width": width === "extra-large",
|
|
43
124
|
}),
|
|
44
125
|
className
|
|
45
126
|
);
|
|
@@ -116,3 +197,19 @@ export function dialogFooter(
|
|
|
116
197
|
className
|
|
117
198
|
);
|
|
118
199
|
}
|
|
200
|
+
|
|
201
|
+
/** @since 4.0.0 */
|
|
202
|
+
export const DEFAULT_DIALOG_CLASSNAMES: Readonly<CSSTransitionClassNames> = {
|
|
203
|
+
appear: "rmd-dialog--enter",
|
|
204
|
+
appearActive: "rmd-dialog--enter-active",
|
|
205
|
+
enter: "rmd-dialog--enter",
|
|
206
|
+
enterActive: "rmd-dialog--enter-active",
|
|
207
|
+
exit: "rmd-dialog--exit",
|
|
208
|
+
exitActive: "rmd-dialog--exit-active",
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
/** @since 4.0.0 */
|
|
212
|
+
export const DEFAULT_DIALOG_TIMEOUT: Readonly<TransitionTimeout> = {
|
|
213
|
+
enter: 200,
|
|
214
|
+
exit: 150,
|
|
215
|
+
};
|
package/src/divider/Divider.tsx
CHANGED
|
@@ -1,18 +1,6 @@
|
|
|
1
1
|
import { forwardRef, type ElementType, type HTMLAttributes } from "react";
|
|
2
2
|
import { divider, type DividerClassNameOptions } from "./styles.js";
|
|
3
3
|
|
|
4
|
-
declare module "react" {
|
|
5
|
-
interface CSSProperties {
|
|
6
|
-
"--rmd-divider-size"?: string | number;
|
|
7
|
-
"--rmd-divider-vertical-size"?: string | number;
|
|
8
|
-
"--rmd-divider-color"?: string;
|
|
9
|
-
"--rmd-divider-spacing"?: string | number;
|
|
10
|
-
"--rmd-divider-vertical-spacing"?: string | number;
|
|
11
|
-
"--rmd-divider-inset"?: string | number;
|
|
12
|
-
"--rmd-divider-max-size"?: string | number;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
4
|
export type DividerElement = HTMLHRElement | HTMLDivElement;
|
|
17
5
|
|
|
18
6
|
/**
|
package/src/divider/styles.ts
CHANGED
|
@@ -3,6 +3,18 @@ import { bem } from "../utils/bem.js";
|
|
|
3
3
|
|
|
4
4
|
const styles = bem("rmd-divider");
|
|
5
5
|
|
|
6
|
+
declare module "react" {
|
|
7
|
+
interface CSSProperties {
|
|
8
|
+
"--rmd-divider-size"?: string | number;
|
|
9
|
+
"--rmd-divider-vertical-size"?: string | number;
|
|
10
|
+
"--rmd-divider-color"?: string;
|
|
11
|
+
"--rmd-divider-spacing"?: string | number;
|
|
12
|
+
"--rmd-divider-vertical-spacing"?: string | number;
|
|
13
|
+
"--rmd-divider-inset"?: string | number;
|
|
14
|
+
"--rmd-divider-max-size"?: string | number;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
6
18
|
/** @since 6.0.0 */
|
|
7
19
|
export interface DividerClassNameOptions {
|
|
8
20
|
className?: string;
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cnb } from "cnbuilder";
|
|
3
|
-
import
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
useCallback,
|
|
5
|
+
useEffect,
|
|
6
|
+
useRef,
|
|
7
|
+
useState,
|
|
8
|
+
type HTMLAttributes,
|
|
9
|
+
type Ref,
|
|
10
|
+
type RefCallback,
|
|
11
|
+
} from "react";
|
|
5
12
|
import { useUserInteractionMode } from "../interaction/UserInteractionModeProvider.js";
|
|
6
13
|
import { useScrollLock } from "../scroll/useScrollLock.js";
|
|
7
|
-
import
|
|
8
|
-
NonNullRef,
|
|
9
|
-
UseStateInitializer,
|
|
10
|
-
UseStateSetter,
|
|
14
|
+
import {
|
|
15
|
+
type NonNullRef,
|
|
16
|
+
type UseStateInitializer,
|
|
17
|
+
type UseStateSetter,
|
|
11
18
|
} from "../types.js";
|
|
12
19
|
import { useDir } from "../typography/WritingDirectionProvider.js";
|
|
13
20
|
import { useEnsuredRef } from "../useEnsuredRef.js";
|
|
@@ -275,22 +282,22 @@ export interface DraggableImplementation<E extends HTMLElement = HTMLElement>
|
|
|
275
282
|
/**
|
|
276
283
|
* Set the {@link value} to {@link DraggableOptions.min}.
|
|
277
284
|
*/
|
|
278
|
-
minimum()
|
|
285
|
+
minimum: () => void;
|
|
279
286
|
|
|
280
287
|
/**
|
|
281
288
|
* Set the {@link value} to {@link DraggableOptions.max}.
|
|
282
289
|
*/
|
|
283
|
-
maximum()
|
|
290
|
+
maximum: () => void;
|
|
284
291
|
|
|
285
292
|
/**
|
|
286
293
|
* Increment the {@link value} by {@link DraggableOptions.step}.
|
|
287
294
|
*/
|
|
288
|
-
increment()
|
|
295
|
+
increment: () => void;
|
|
289
296
|
|
|
290
297
|
/**
|
|
291
298
|
* Decrement the {@link value} by {@link DraggableOptions.step}.
|
|
292
299
|
*/
|
|
293
|
-
decrement()
|
|
300
|
+
decrement: () => void;
|
|
294
301
|
|
|
295
302
|
/**
|
|
296
303
|
* The current percentage the `value` is within the range.
|
package/src/draggable/utils.ts
CHANGED
|
@@ -126,9 +126,9 @@ interface UpdateDragPositionOptions
|
|
|
126
126
|
nodeRef: RefObject<HTMLElement>;
|
|
127
127
|
focus?: boolean;
|
|
128
128
|
isDragStart: boolean;
|
|
129
|
-
setValue(value: number)
|
|
130
|
-
setDragging(dragging: boolean)
|
|
131
|
-
setDragPercentage(value: number)
|
|
129
|
+
setValue: (value: number) => void;
|
|
130
|
+
setDragging: (dragging: boolean) => void;
|
|
131
|
+
setDragPercentage: (value: number) => void;
|
|
132
132
|
withinOffsetParent: boolean;
|
|
133
133
|
}
|
|
134
134
|
|
|
@@ -29,7 +29,7 @@ export interface ExpansionPanelProps extends CardProps {
|
|
|
29
29
|
* A function that should toggle the {@link expanded} state. This should
|
|
30
30
|
* generally be provided by the `useExpansionPanels` hook.
|
|
31
31
|
*/
|
|
32
|
-
onExpandClick()
|
|
32
|
+
onExpandClick: () => void;
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* Set this to `true` to prevent the panel from toggling the {@link expanded}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useState } from "react";
|
|
3
2
|
import type { UseStateInitializer, UseStateSetter } from "../types.js";
|
|
4
3
|
import { useEnsuredId } from "../useEnsuredId.js";
|
|
4
|
+
import { useReadonlySet } from "../useReadonlySet.js";
|
|
5
5
|
import type { ExpansionPanelProps } from "./ExpansionPanel.js";
|
|
6
6
|
|
|
7
7
|
/** @since 6.0.0 */
|
|
@@ -210,21 +210,26 @@ export function useExpansionPanels(
|
|
|
210
210
|
|
|
211
211
|
const baseId = useEnsuredId(propBaseId, "expansion-panel");
|
|
212
212
|
const createId = (index: number): string => `${baseId}-${index + 1}`;
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
213
|
+
const {
|
|
214
|
+
value: expandedIds,
|
|
215
|
+
setValue: setExpandedIds,
|
|
216
|
+
toggleValue,
|
|
217
|
+
} = useReadonlySet({
|
|
218
|
+
toggleType: multiple ? "multiple" : "single",
|
|
219
|
+
defaultValue: () => {
|
|
220
|
+
if (typeof defaultExpandedIds === "undefined") {
|
|
221
|
+
const initialList: string[] = [];
|
|
222
|
+
if (typeof defaultExpandedIndex === "number" || preventAllCollapsed) {
|
|
223
|
+
initialList.push(createId(defaultExpandedIndex ?? 0));
|
|
224
|
+
}
|
|
219
225
|
|
|
220
|
-
|
|
221
|
-
|
|
226
|
+
return new Set(initialList);
|
|
227
|
+
}
|
|
222
228
|
|
|
223
|
-
|
|
224
|
-
typeof defaultExpandedIds === "function"
|
|
229
|
+
return typeof defaultExpandedIds === "function"
|
|
225
230
|
? defaultExpandedIds()
|
|
226
231
|
: defaultExpandedIds;
|
|
227
|
-
|
|
232
|
+
},
|
|
228
233
|
});
|
|
229
234
|
|
|
230
235
|
return {
|
|
@@ -252,21 +257,7 @@ export function useExpansionPanels(
|
|
|
252
257
|
return;
|
|
253
258
|
}
|
|
254
259
|
|
|
255
|
-
|
|
256
|
-
const expanded = prevIds.has(panelId);
|
|
257
|
-
if (!multiple) {
|
|
258
|
-
return new Set(expanded ? [] : [panelId]);
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
const nextIds = new Set(prevIds);
|
|
262
|
-
if (expanded) {
|
|
263
|
-
nextIds.delete(panelId);
|
|
264
|
-
} else {
|
|
265
|
-
nextIds.add(panelId);
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
return nextIds;
|
|
269
|
-
});
|
|
260
|
+
toggleValue(panelId);
|
|
270
261
|
},
|
|
271
262
|
disableTransition,
|
|
272
263
|
disableContentPadding,
|
|
@@ -1,29 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { cnb } from "cnbuilder";
|
|
3
2
|
import {
|
|
4
3
|
forwardRef,
|
|
5
4
|
type InputHTMLAttributes,
|
|
6
5
|
type LabelHTMLAttributes,
|
|
7
6
|
type ReactNode,
|
|
8
7
|
} from "react";
|
|
9
|
-
import {
|
|
10
|
-
button,
|
|
11
|
-
type ButtonClassNameOptions,
|
|
12
|
-
type ButtonClassNameThemeOptions,
|
|
13
|
-
} from "../button/buttonStyles.js";
|
|
8
|
+
import { type ButtonClassNameThemeOptions } from "../button/buttonStyles.js";
|
|
14
9
|
import { getIcon } from "../icon/iconConfig.js";
|
|
10
|
+
import { type ComponentWithRippleProps } from "../interaction/types.js";
|
|
15
11
|
import { useElementInteraction } from "../interaction/useElementInteraction.js";
|
|
16
12
|
import { type PropsWithRef } from "../types.js";
|
|
17
13
|
import { SrOnly } from "../typography/SrOnly.js";
|
|
18
14
|
import { useEnsuredId } from "../useEnsuredId.js";
|
|
19
|
-
|
|
20
|
-
/** @since 6.0.0 */
|
|
21
|
-
export type FileInputClassNameOptions = ButtonClassNameOptions;
|
|
22
|
-
|
|
23
|
-
/** @since 6.0.0 */
|
|
24
|
-
export function fileInput(options: FileInputClassNameOptions = {}): string {
|
|
25
|
-
return cnb("rmd-file-input", button(options));
|
|
26
|
-
}
|
|
15
|
+
import { fileInput } from "./styles.js";
|
|
27
16
|
|
|
28
17
|
/** @since 6.0.0 */
|
|
29
18
|
export type FileInputHTMLAttributes = Omit<
|
|
@@ -37,7 +26,8 @@ export type FileInputHTMLAttributes = Omit<
|
|
|
37
26
|
*/
|
|
38
27
|
export interface FileInputProps
|
|
39
28
|
extends ButtonClassNameThemeOptions,
|
|
40
|
-
FileInputHTMLAttributes
|
|
29
|
+
FileInputHTMLAttributes,
|
|
30
|
+
ComponentWithRippleProps {
|
|
41
31
|
/**
|
|
42
32
|
* This is the label text for icon-only file inputs.
|
|
43
33
|
*
|
|
@@ -154,12 +144,14 @@ export const FileInput = forwardRef<HTMLInputElement, FileInputProps>(
|
|
|
154
144
|
iconSize,
|
|
155
145
|
responsive,
|
|
156
146
|
multiple = false,
|
|
147
|
+
disableRipple,
|
|
157
148
|
...remaining
|
|
158
149
|
} = props;
|
|
159
150
|
const id = useEnsuredId(propId, "file-input");
|
|
160
151
|
const { pressed, pressedClassName, ripples, handlers } =
|
|
161
152
|
useElementInteraction({
|
|
162
153
|
...labelProps,
|
|
154
|
+
mode: disableRipple ? "none" : undefined,
|
|
163
155
|
onClick(event) {
|
|
164
156
|
labelProps?.onClick?.(event);
|
|
165
157
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { cnb } from "cnbuilder";
|
|
2
|
+
import { type ButtonClassNameOptions, button } from "../button/buttonStyles.js";
|
|
3
|
+
|
|
4
|
+
/** @since 6.0.0 */
|
|
5
|
+
export type FileInputClassNameOptions = ButtonClassNameOptions;
|
|
6
|
+
|
|
7
|
+
/** @since 6.0.0 */
|
|
8
|
+
export function fileInput(options: FileInputClassNameOptions = {}): string {
|
|
9
|
+
return cnb("rmd-file-input", button(options));
|
|
10
|
+
}
|
|
@@ -8,20 +8,22 @@ import {
|
|
|
8
8
|
type DragEvent,
|
|
9
9
|
} from "react";
|
|
10
10
|
import {
|
|
11
|
-
FileAccessError,
|
|
12
11
|
getFileParser as defaultGetFileParser,
|
|
13
|
-
isValidFileName as defaultIsValidFileName,
|
|
14
|
-
validateFiles as defaultValidateFiles,
|
|
15
12
|
type CompletedFileUploadStats,
|
|
16
13
|
type FileReaderResult,
|
|
17
14
|
type FileUploadHandlers,
|
|
18
15
|
type FileUploadStats,
|
|
16
|
+
type GetFileParser,
|
|
17
|
+
type ProcessingFileUploadStats,
|
|
18
|
+
} from "./utils.js";
|
|
19
|
+
import {
|
|
20
|
+
FileAccessError,
|
|
21
|
+
isValidFileName as defaultIsValidFileName,
|
|
22
|
+
validateFiles as defaultValidateFiles,
|
|
19
23
|
type FileValidationError,
|
|
20
24
|
type FileValidationOptions,
|
|
21
25
|
type FilesValidator,
|
|
22
|
-
|
|
23
|
-
type ProcessingFileUploadStats,
|
|
24
|
-
} from "./fileUtils.js";
|
|
26
|
+
} from "./validation.js";
|
|
25
27
|
|
|
26
28
|
const noop = (): void => {
|
|
27
29
|
// do nothing
|
|
@@ -120,13 +122,13 @@ export interface FileUploadActions {
|
|
|
120
122
|
* Reset everything related to uploads ensuring that all file readers have
|
|
121
123
|
* been aborted.
|
|
122
124
|
*/
|
|
123
|
-
reset()
|
|
125
|
+
reset: () => void;
|
|
124
126
|
|
|
125
127
|
/**
|
|
126
|
-
* Removes all the errors that exist in state without
|
|
128
|
+
* Removes all the errors that exist in state without canceling any of the
|
|
127
129
|
* uploads already in progress.
|
|
128
130
|
*/
|
|
129
|
-
clearErrors()
|
|
131
|
+
clearErrors: () => void;
|
|
130
132
|
|
|
131
133
|
/**
|
|
132
134
|
* This function is used to cancel pending and uploading files or removing
|
|
@@ -135,7 +137,7 @@ export interface FileUploadActions {
|
|
|
135
137
|
* @param keyOrKeys - A single or list of {@link BaseFileUploadStats.key} to
|
|
136
138
|
* remove from state.
|
|
137
139
|
*/
|
|
138
|
-
remove(keyOrKeys: string | readonly string[])
|
|
140
|
+
remove: (keyOrKeys: string | readonly string[]) => void;
|
|
139
141
|
}
|
|
140
142
|
|
|
141
143
|
/**
|
|
@@ -201,9 +203,6 @@ const EMPTY_OBJECT = {} as const;
|
|
|
201
203
|
* can also be used to upload the files as an `ArrayBuffer` and then uploaded to
|
|
202
204
|
* a server.
|
|
203
205
|
*
|
|
204
|
-
* Note: If using the `aws-sdk` to upload files directly to S3, **do not use
|
|
205
|
-
* this hook** since it uses its own upload process.
|
|
206
|
-
*
|
|
207
206
|
* @typeParam E - An optional HTMLElement type that is used for the
|
|
208
207
|
* {@link FileUploadHandlers}.
|
|
209
208
|
* @typeParam CustomError - An optional error type that gets returned from the
|
|
@@ -212,21 +211,23 @@ const EMPTY_OBJECT = {} as const;
|
|
|
212
211
|
* @returns the {@link FileUploadHookReturnValue}
|
|
213
212
|
* @since 2.9.0
|
|
214
213
|
*/
|
|
215
|
-
export function useFileUpload<E extends HTMLElement, CustomError = never>(
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
214
|
+
export function useFileUpload<E extends HTMLElement, CustomError = never>(
|
|
215
|
+
options: FileUploadOptions<E, CustomError> = {}
|
|
216
|
+
): Readonly<FileUploadHookReturnValue<E, CustomError>> {
|
|
217
|
+
const {
|
|
218
|
+
maxFiles = -1,
|
|
219
|
+
extensions = EMPTY_LIST,
|
|
220
|
+
minFileSize = -1,
|
|
221
|
+
maxFileSize = -1,
|
|
222
|
+
totalFileSize = -1,
|
|
223
|
+
concurrency = -1,
|
|
224
|
+
onDrop: propOnDrop = noop,
|
|
225
|
+
onChange: propOnChange = noop,
|
|
226
|
+
validateFiles = defaultValidateFiles,
|
|
227
|
+
getFileParser = defaultGetFileParser,
|
|
228
|
+
isValidFileName = defaultIsValidFileName,
|
|
229
|
+
} = options;
|
|
230
|
+
|
|
230
231
|
const [state, dispatch] = useReducer(
|
|
231
232
|
function reducer(
|
|
232
233
|
state: FileUploadHookState<CustomError>,
|
|
@@ -497,12 +498,7 @@ export function useFileUpload<E extends HTMLElement, CustomError = never>({
|
|
|
497
498
|
/* istanbul ignore next */
|
|
498
499
|
if (
|
|
499
500
|
process.env.NODE_ENV !== "production" &&
|
|
500
|
-
![
|
|
501
|
-
"readAsText",
|
|
502
|
-
"readAsDataURL",
|
|
503
|
-
"readAsArrayBuffer",
|
|
504
|
-
"readAsBinaryString",
|
|
505
|
-
].includes(parser)
|
|
501
|
+
!["readAsText", "readAsDataURL", "readAsArrayBuffer"].includes(parser)
|
|
506
502
|
) {
|
|
507
503
|
throw new Error("Invalid file reader parser");
|
|
508
504
|
}
|