@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
|
@@ -1,73 +1,401 @@
|
|
|
1
1
|
@use "sass:list";
|
|
2
2
|
@use "sass:map";
|
|
3
|
+
@use "sass:math";
|
|
4
|
+
@use "sass:string";
|
|
3
5
|
@use "../utils";
|
|
6
|
+
@use "../box/box";
|
|
4
7
|
@use "../button/button";
|
|
8
|
+
@use "../chip/chip";
|
|
9
|
+
@use "../icon/icon";
|
|
5
10
|
@use "../form/form";
|
|
6
11
|
@use "../progress/progress";
|
|
7
12
|
|
|
13
|
+
// Set to `true` to disable all the styles
|
|
14
|
+
// @type boolean
|
|
8
15
|
$disable-everything: false !default;
|
|
16
|
+
|
|
17
|
+
// Set to `true` to disable the clear button styles
|
|
18
|
+
// @type boolean
|
|
19
|
+
$disable-clear-button: false !default;
|
|
20
|
+
|
|
21
|
+
// Set to `true` to disable the dropdown button styles
|
|
22
|
+
// @type boolean
|
|
9
23
|
$disable-dropdown-button: false !default;
|
|
24
|
+
|
|
25
|
+
// Set to `true` to disable the circular progress styles
|
|
26
|
+
// @type boolean
|
|
10
27
|
$disable-circular-progress: false !default;
|
|
11
28
|
|
|
12
|
-
|
|
13
|
-
|
|
29
|
+
// Set to `true` to disable setting `text-overflow: ellipsis` on the input
|
|
30
|
+
// @type boolean
|
|
31
|
+
$disable-text-overflow-ellipsis: false !default;
|
|
14
32
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
$
|
|
23
|
-
|
|
24
|
-
|
|
33
|
+
// Set to `true` to disable the inline chip styles
|
|
34
|
+
// @type boolean
|
|
35
|
+
$disable-inline-chips: chip.$disable-everything !default;
|
|
36
|
+
|
|
37
|
+
// This is the min width for the input when there are inline chips. This causes
|
|
38
|
+
// the input to wrap to the next line.
|
|
39
|
+
// @type number
|
|
40
|
+
$inline-min-width: 5rem !default;
|
|
41
|
+
|
|
42
|
+
// The amount of spacing between each inline chip
|
|
43
|
+
// @type number
|
|
44
|
+
$inline-chips-gap: icon.get-var(spacing) !default;
|
|
45
|
+
|
|
46
|
+
// The vertical padding to apply to the text field when using inline chips and
|
|
47
|
+
// the outline theme. This is used so that the chips and floating label look
|
|
48
|
+
// nice.
|
|
49
|
+
// @type number
|
|
50
|
+
$inline-outlined-vertical-padding: calc(
|
|
51
|
+
(form.get-var(text-field-height) - chip.get-var(height)) / 2 -
|
|
52
|
+
form.$text-field-border-width
|
|
25
53
|
) !default;
|
|
26
54
|
|
|
55
|
+
// The amount of padding to apply to the text field when there is at least one
|
|
56
|
+
// chip visible. The default behavior makes it so the text in the input matches
|
|
57
|
+
// with a chip if they were stacked.
|
|
58
|
+
//
|
|
59
|
+
// @type number
|
|
60
|
+
$inline-input-leading-padding: chip.get-var(horizontal-padding) !default;
|
|
61
|
+
|
|
62
|
+
// Updates all the icon button sizes that appear within the autocomplete to use
|
|
63
|
+
// this new size
|
|
64
|
+
// @type number
|
|
65
|
+
$button-size: button.$icon-small-size !default;
|
|
66
|
+
|
|
67
|
+
// Updates the circular progress size in the autocomplete to this size.
|
|
68
|
+
// @type number
|
|
69
|
+
$circular-progress-size: button.$icon-small-size !default;
|
|
70
|
+
|
|
71
|
+
// The amount of gap between the circular progress, clear button, and dropdown
|
|
72
|
+
// button (when they exist).
|
|
73
|
+
//
|
|
74
|
+
// @type number
|
|
75
|
+
$addon-gap: form.$text-field-addon-gap !default;
|
|
76
|
+
|
|
77
|
+
// The spacing between the input and the circular progress/clear button/dropdown
|
|
78
|
+
// button addons.
|
|
79
|
+
//
|
|
80
|
+
// @type number
|
|
81
|
+
$addon-spacing: form.get-var(addon-spacing) !default;
|
|
82
|
+
|
|
83
|
+
// The size of the clear button and used to generate the correct padding for all
|
|
84
|
+
// the inline addons
|
|
85
|
+
// @type number
|
|
86
|
+
$clear-button-size: calc(button.get-var(icon-font-size) * 2) !default;
|
|
87
|
+
|
|
88
|
+
// The size of the dropdown button and used to generate the correct padding for all
|
|
89
|
+
// the inline addons
|
|
90
|
+
// @type number
|
|
91
|
+
$dropdown-button-size: calc(button.get-var(icon-font-size) * 2) !default;
|
|
92
|
+
|
|
93
|
+
// The size of the circular progress and used to generate the correct padding
|
|
94
|
+
// for all the inline addons
|
|
95
|
+
// @type number
|
|
96
|
+
$circular-progress-size: progress.get-var(circular-size) !default;
|
|
97
|
+
|
|
98
|
+
$_chip-selector: ".rmd-autocomplete__chip";
|
|
99
|
+
$_clear-button-selector: ".rmd-autocomplete__clear-button";
|
|
100
|
+
$_dropdown-button-selector: ".rmd-autocomplete__dropdown-button";
|
|
101
|
+
$_outline-selector: ".rmd-text-field-container--outline";
|
|
102
|
+
$_underline-selector: ".rmd-text-field-container--underline";
|
|
103
|
+
|
|
104
|
+
// The available configurable css variables and mostly used internally for the
|
|
105
|
+
// `get-var`, `set-var`, and `use-var` utils.
|
|
106
|
+
// @type List
|
|
107
|
+
$variables: (
|
|
108
|
+
clear-button-size,
|
|
109
|
+
dropdown-button-size,
|
|
110
|
+
circular-progress-size,
|
|
111
|
+
inline-gap,
|
|
112
|
+
inline-min-width,
|
|
113
|
+
addon-gap,
|
|
114
|
+
gap-count,
|
|
115
|
+
addon-spacing
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
// @param {string} name - The supported variable name
|
|
119
|
+
// @param {any} fallback - An optional fallback value
|
|
120
|
+
// @returns {string} a `var()` statement
|
|
121
|
+
@function get-var($name, $fallback: null) {
|
|
122
|
+
$var: utils.get-var-name($variables, $name, "autocomplete");
|
|
123
|
+
@if $fallback {
|
|
124
|
+
@return var(#{$var}, #{$fallback});
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
@return var(#{$var});
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// @param {string} name - The supported variable name
|
|
131
|
+
// @param {any} value - The value to set the variable to. Supports `null` which
|
|
132
|
+
// will just be a no-op.
|
|
133
|
+
@mixin set-var($name, $value) {
|
|
134
|
+
@if $value {
|
|
135
|
+
#{utils.get-var-name($variables, $name, "autocomplete")}: #{$value};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// @param {string} property - The css property to apply the variable to
|
|
140
|
+
// @param {string} name - The supported variable name
|
|
141
|
+
// @param {any} fallback - An optional fallback value if the variable has not
|
|
142
|
+
// been set
|
|
143
|
+
@mixin use-var($property, $name: $property, $fallback: null) {
|
|
144
|
+
#{$property}: get-var($name, $fallback);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Conditionally applies the css variables based on feature flags
|
|
148
|
+
@mixin variables {
|
|
149
|
+
@if not $disable-everything {
|
|
150
|
+
@include set-var(addon-gap, $addon-gap);
|
|
151
|
+
@include set-var(addon-spacing, $addon-spacing);
|
|
152
|
+
@if not $disable-inline-chips {
|
|
153
|
+
@include set-var(inline-gap, $inline-chips-gap);
|
|
154
|
+
@include set-var(inline-min-width, $inline-min-width);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// @internal
|
|
160
|
+
@function _right-addon-calc() {
|
|
161
|
+
$calc-spacing: get-var(addon-spacing);
|
|
162
|
+
$calc-total-gap: calc(get-var(gap-count, 0) * get-var(addon-gap));
|
|
163
|
+
$calc-clear-button: if(
|
|
164
|
+
$disable-clear-button,
|
|
165
|
+
"",
|
|
166
|
+
" + " + get-var(clear-button-size, 0px)
|
|
167
|
+
);
|
|
168
|
+
$calc-dropdown-button: if(
|
|
169
|
+
$disable-dropdown-button,
|
|
170
|
+
"",
|
|
171
|
+
" + " + get-var(dropdown-button-size, 0px)
|
|
172
|
+
);
|
|
173
|
+
$calc-circular-progress: if(
|
|
174
|
+
$disable-circular-progress,
|
|
175
|
+
"",
|
|
176
|
+
" + " + get-var(circular-progress-size, 0px)
|
|
177
|
+
);
|
|
178
|
+
$calc-addon-size: $calc-clear-button + $calc-dropdown-button +
|
|
179
|
+
$calc-circular-progress;
|
|
180
|
+
|
|
181
|
+
@return calc($calc-spacing + #{$calc-total-gap + $calc-addon-size});
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// @internal
|
|
185
|
+
@function _add-has-selector($appending-selector, $addon-selector) {
|
|
186
|
+
$prefix: if(string.length($appending-selector), "", "&");
|
|
187
|
+
|
|
188
|
+
@return $appending-selector + $prefix + ":has(" + $addon-selector + ")";
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// Generates all the styles for the `Autocomplete` components based on feature
|
|
192
|
+
// flags.
|
|
193
|
+
//
|
|
194
|
+
// @param {boolean} disable-layer - Set this to `true` to disable the
|
|
195
|
+
// layer behavior
|
|
27
196
|
@mixin styles($disable-layer: false) {
|
|
197
|
+
// disclaimer: this is the first component where I'm trying to utilize more of
|
|
198
|
+
// the `:has`, `:where`, `:is`, etc selectors to require less javascript and
|
|
199
|
+
// move more behavior into CSS
|
|
200
|
+
|
|
28
201
|
@if not $disable-everything {
|
|
29
202
|
@include utils.optional-layer(autocomplete, $disable-layer) {
|
|
30
203
|
.rmd-autocomplete {
|
|
31
|
-
@if not $disable-dropdown-button {
|
|
204
|
+
@if not $disable-clear-button and not $disable-dropdown-button {
|
|
32
205
|
@include button.set-var(icon-font-size, $button-size);
|
|
33
206
|
}
|
|
34
207
|
@if not $disable-circular-progress {
|
|
35
208
|
@include progress.set-var(circular-size, $circular-progress-size);
|
|
36
209
|
}
|
|
37
210
|
|
|
211
|
+
@if not
|
|
212
|
+
$disable-clear-button or not
|
|
213
|
+
$disable-dropdown-button or not
|
|
214
|
+
$disable-circular-progress
|
|
215
|
+
{
|
|
216
|
+
// the way the padding right works is to create a calc string that
|
|
217
|
+
// sums all the available addons widths (including gap) that have
|
|
218
|
+
// been rendered in the autocomplete. to calculate the gap, the
|
|
219
|
+
// `&--db` and `&--cp` selectors will increase the `gap-count`
|
|
220
|
+
// variable based on how many other addons exist with it.
|
|
221
|
+
//
|
|
222
|
+
// So:
|
|
223
|
+
// - only clear button - count == 0
|
|
224
|
+
// - only dropdown button - count == 0
|
|
225
|
+
// - only circular progress - count == 0
|
|
226
|
+
// - clear button and dropdown button - count == 1
|
|
227
|
+
// - clear button and circular progress - count == 1
|
|
228
|
+
// - dropdown button and circular progress - count == 1
|
|
229
|
+
// - circular progress, clear button, and dropdown button - count == 2
|
|
230
|
+
//
|
|
231
|
+
// When the addon isn't included, its size will be set to `0px`. When
|
|
232
|
+
// the addon is included, the size is set to the correct value
|
|
233
|
+
@include form.set-var(text-field-padding-right, _right-addon-calc());
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
@if not $disable-text-overflow-ellipsis {
|
|
237
|
+
&:where(:not(:hover):not(:focus-within)) :where(.rmd-text-field) {
|
|
238
|
+
text-overflow: ellipsis;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
@if not $disable-clear-button {
|
|
243
|
+
&--cb {
|
|
244
|
+
@include set-var(clear-button-size, $clear-button-size);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
38
248
|
@if not $disable-dropdown-button {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
$
|
|
44
|
-
|
|
249
|
+
&--db {
|
|
250
|
+
@include set-var(dropdown-button-size, $dropdown-button-size);
|
|
251
|
+
|
|
252
|
+
@if not $disable-clear-button {
|
|
253
|
+
&:has(#{$_clear-button-selector}) {
|
|
254
|
+
@include set-var(gap-count, 1);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
45
257
|
}
|
|
258
|
+
}
|
|
46
259
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
260
|
+
@if not $disable-circular-progress {
|
|
261
|
+
&--cp {
|
|
262
|
+
@include set-var(circular-progress-size, $circular-progress-size);
|
|
263
|
+
|
|
264
|
+
$two-addon-selector: "";
|
|
265
|
+
$single-selector-list: ();
|
|
266
|
+
@if not $disable-clear-button {
|
|
267
|
+
$single-selector-list: list.append(
|
|
268
|
+
$single-selector-list,
|
|
269
|
+
$_clear-button-selector,
|
|
270
|
+
$separator: comma
|
|
271
|
+
);
|
|
272
|
+
$two-addon-selector: _add-has-selector(
|
|
273
|
+
$two-addon-selector,
|
|
274
|
+
$_clear-button-selector
|
|
275
|
+
);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
@if not $disable-dropdown-button {
|
|
279
|
+
$single-selector-list: list.append(
|
|
280
|
+
$single-selector-list,
|
|
281
|
+
$_dropdown-button-selector,
|
|
282
|
+
$separator: comma
|
|
53
283
|
);
|
|
284
|
+
$two-addon-selector: _add-has-selector(
|
|
285
|
+
$two-addon-selector,
|
|
286
|
+
$_dropdown-button-selector
|
|
287
|
+
);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
@if list.length($single-selector-list) {
|
|
291
|
+
&:has(#{$single-selector-list}) {
|
|
292
|
+
@include set-var(gap-count, 1);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
@if string.length($two-addon-selector) {
|
|
296
|
+
#{$two-addon-selector} {
|
|
297
|
+
@include set-var(gap-count, 2);
|
|
298
|
+
}
|
|
54
299
|
}
|
|
55
300
|
}
|
|
56
301
|
}
|
|
57
302
|
|
|
58
|
-
@
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
303
|
+
@include utils.mouse-hover($wrap-in-hover: false) {
|
|
304
|
+
&:where(:not(:hover):not(:focus-within))
|
|
305
|
+
:where(#{$_clear-button-selector}) {
|
|
306
|
+
opacity: 0;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
@if not $disable-inline-chips {
|
|
311
|
+
// the basic idea for the inline chips are:
|
|
312
|
+
// - move any padding from the input to the container element
|
|
313
|
+
// - update the styles to display a text cursor when hovering the
|
|
314
|
+
// container element instead of only the input (since clicking
|
|
315
|
+
// anywhere in the container focuses the input)
|
|
316
|
+
// - keep other styles the same until at least one chip exists
|
|
317
|
+
// - when a chip exists, update the vertical padding to align
|
|
318
|
+
// everything nicely
|
|
319
|
+
// - the input will also be updated to align with the text of a chip
|
|
320
|
+
// so it looks nicely when stacked and starting at the beginning of
|
|
321
|
+
// a line
|
|
322
|
+
// - I am NOT updating the underline behavior to match the input width
|
|
323
|
+
// since those are still "boxed" elements and it helps show current
|
|
324
|
+
// focus
|
|
325
|
+
&--inline-chips {
|
|
326
|
+
@include form.use-var(min-height, text-field-height);
|
|
327
|
+
@include form.use-var(padding-right, text-field-padding-right);
|
|
328
|
+
@include use-var(gap, inline-gap);
|
|
329
|
+
|
|
330
|
+
flex-wrap: wrap;
|
|
331
|
+
height: auto;
|
|
332
|
+
|
|
333
|
+
&:where(:not(:has(.rmd-text-field:disabled))) {
|
|
334
|
+
cursor: text;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
@if not
|
|
338
|
+
form.$disable-text-field-filled-theme or not
|
|
339
|
+
form.$disable-text-field-underlined-theme
|
|
340
|
+
{
|
|
341
|
+
&:where(#{$_underline-selector}):has(#{$_chip-selector}) {
|
|
342
|
+
@include form.use-var(padding-top, text-field-padding-top);
|
|
343
|
+
@include use-var(padding-bottom, inline-gap);
|
|
344
|
+
|
|
345
|
+
:where(.rmd-text-field) {
|
|
346
|
+
padding-top: 0;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
@if not form.$disable-text-field-outlined-theme {
|
|
352
|
+
&:where(#{$_outline-selector}):has(#{$_chip-selector}) {
|
|
353
|
+
padding-bottom: $inline-outlined-vertical-padding;
|
|
354
|
+
padding-top: $inline-outlined-vertical-padding;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
&:has(#{$_chip-selector}) {
|
|
359
|
+
// when at least one chip exists, ensure the text field has some
|
|
360
|
+
// leading padding and always display the placeholder (if exists)
|
|
361
|
+
// since the label will also be forced to floating
|
|
362
|
+
:where(.rmd-text-field) {
|
|
363
|
+
@include use-var(min-width, inline-min-width);
|
|
364
|
+
@include chip.use-var(height);
|
|
365
|
+
|
|
366
|
+
padding-left: $inline-input-leading-padding;
|
|
367
|
+
padding-right: 0;
|
|
368
|
+
width: 0;
|
|
369
|
+
|
|
370
|
+
&::placeholder {
|
|
371
|
+
opacity: 1;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
@include utils.rtl {
|
|
375
|
+
padding-left: 0;
|
|
376
|
+
padding-right: $inline-input-leading-padding;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
@include utils.rtl {
|
|
382
|
+
@include form.use-var(padding-left, text-field-padding-right);
|
|
383
|
+
|
|
384
|
+
padding-right: 0;
|
|
385
|
+
}
|
|
65
386
|
}
|
|
66
387
|
}
|
|
67
388
|
|
|
68
389
|
&__right-addon {
|
|
69
|
-
|
|
70
|
-
|
|
390
|
+
padding-left: get-var(addon-spacing);
|
|
391
|
+
right: 0;
|
|
392
|
+
|
|
393
|
+
@include utils.rtl {
|
|
394
|
+
left: 0;
|
|
395
|
+
padding-left: 0;
|
|
396
|
+
padding-right: get-var(addon-spacing);
|
|
397
|
+
right: auto;
|
|
398
|
+
}
|
|
71
399
|
}
|
|
72
400
|
}
|
|
73
401
|
}
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
export interface AutocompleteClassNameOptions {
|
|
5
5
|
className?: string;
|
|
6
6
|
loading?: boolean;
|
|
7
|
+
inlineChips?: boolean;
|
|
8
|
+
disableClearButton?: boolean;
|
|
7
9
|
disableDropdownButton?: boolean;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
@@ -20,6 +22,16 @@ export interface AutocompleteRightAddonClassNameOptions {
|
|
|
20
22
|
* @since 6.0.0
|
|
21
23
|
*/
|
|
22
24
|
export declare function autocompleteRightAddon(options?: AutocompleteRightAddonClassNameOptions): string;
|
|
25
|
+
/**
|
|
26
|
+
* @since 6.0.0
|
|
27
|
+
*/
|
|
28
|
+
export interface AutocompleteDropdownButtonClassNameOptions {
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @since 6.0.0
|
|
33
|
+
*/
|
|
34
|
+
export declare function autocompleteDropdownButton(options?: AutocompleteDropdownButtonClassNameOptions): string;
|
|
23
35
|
/**
|
|
24
36
|
* @since 6.0.0
|
|
25
37
|
*/
|
|
@@ -30,3 +42,13 @@ export interface AutocompleteClearButtonClassNameOptions {
|
|
|
30
42
|
* @since 6.0.0
|
|
31
43
|
*/
|
|
32
44
|
export declare function autocompleteClearButton(options?: AutocompleteClearButtonClassNameOptions): string;
|
|
45
|
+
/**
|
|
46
|
+
* @since 6.0.0
|
|
47
|
+
*/
|
|
48
|
+
export interface AutocompleteChipClassNameOptions {
|
|
49
|
+
className?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @since 6.0.0
|
|
53
|
+
*/
|
|
54
|
+
export declare function autocompleteChip(options?: AutocompleteChipClassNameOptions): string;
|
|
@@ -5,15 +5,12 @@ const styles = bem("rmd-autocomplete");
|
|
|
5
5
|
/**
|
|
6
6
|
* @since 6.0.0
|
|
7
7
|
*/ export function autocomplete(options = {}) {
|
|
8
|
-
const { className, loading, disableDropdownButton } = options;
|
|
8
|
+
const { className, loading, inlineChips, disableClearButton, disableDropdownButton } = options;
|
|
9
9
|
return cnb(styles({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
ra2: loading && !disableDropdownButton,
|
|
15
|
-
// right-addon-3: circular progress only
|
|
16
|
-
ra3: loading && disableDropdownButton
|
|
10
|
+
cb: !disableClearButton,
|
|
11
|
+
db: !disableDropdownButton,
|
|
12
|
+
cp: loading,
|
|
13
|
+
"inline-chips": inlineChips
|
|
17
14
|
}), className);
|
|
18
15
|
}
|
|
19
16
|
/**
|
|
@@ -24,11 +21,23 @@ const styles = bem("rmd-autocomplete");
|
|
|
24
21
|
backgroundColor: "current-color"
|
|
25
22
|
}), className);
|
|
26
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* @since 6.0.0
|
|
26
|
+
*/ export function autocompleteDropdownButton(options = {}) {
|
|
27
|
+
const { className } = options;
|
|
28
|
+
return cnb(styles("dropdown-button"), className);
|
|
29
|
+
}
|
|
27
30
|
/**
|
|
28
31
|
* @since 6.0.0
|
|
29
32
|
*/ export function autocompleteClearButton(options = {}) {
|
|
30
33
|
const { className } = options;
|
|
31
34
|
return cnb(styles("clear-button"), className);
|
|
32
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* @since 6.0.0
|
|
38
|
+
*/ export function autocompleteChip(options = {}) {
|
|
39
|
+
const { className } = options;
|
|
40
|
+
return cnb(styles("chip"), className);
|
|
41
|
+
}
|
|
33
42
|
|
|
34
43
|
//# sourceMappingURL=autocompleteStyles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/autocomplete/autocompleteStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-autocomplete\");\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteClassNameOptions {\n className?: string;\n\n loading?: boolean;\n disableDropdownButton?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport function autocomplete(\n options: AutocompleteClassNameOptions = {}\n): string {\n const {
|
|
1
|
+
{"version":3,"sources":["../../src/autocomplete/autocompleteStyles.ts"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { cssUtils } from \"../cssUtils.js\";\nimport { bem } from \"../utils/bem.js\";\n\nconst styles = bem(\"rmd-autocomplete\");\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteClassNameOptions {\n className?: string;\n\n loading?: boolean;\n inlineChips?: boolean;\n disableClearButton?: boolean;\n disableDropdownButton?: boolean;\n}\n\n/**\n * @since 6.0.0\n */\nexport function autocomplete(\n options: AutocompleteClassNameOptions = {}\n): string {\n const {\n className,\n loading,\n inlineChips,\n disableClearButton,\n disableDropdownButton,\n } = options;\n\n return cnb(\n styles({\n cb: !disableClearButton,\n db: !disableDropdownButton,\n cp: loading,\n \"inline-chips\": inlineChips,\n }),\n className\n );\n}\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteRightAddonClassNameOptions {\n className?: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport function autocompleteRightAddon(\n options: AutocompleteRightAddonClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(\n styles(\"right-addon\"),\n cssUtils({ backgroundColor: \"current-color\" }),\n className\n );\n}\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteDropdownButtonClassNameOptions {\n className?: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport function autocompleteDropdownButton(\n options: AutocompleteDropdownButtonClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(styles(\"dropdown-button\"), className);\n}\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteClearButtonClassNameOptions {\n className?: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport function autocompleteClearButton(\n options: AutocompleteClearButtonClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(styles(\"clear-button\"), className);\n}\n\n/**\n * @since 6.0.0\n */\nexport interface AutocompleteChipClassNameOptions {\n className?: string;\n}\n\n/**\n * @since 6.0.0\n */\nexport function autocompleteChip(\n options: AutocompleteChipClassNameOptions = {}\n): string {\n const { className } = options;\n\n return cnb(styles(\"chip\"), className);\n}\n"],"names":["cnb","cssUtils","bem","styles","autocomplete","options","className","loading","inlineChips","disableClearButton","disableDropdownButton","cb","db","cp","autocompleteRightAddon","backgroundColor","autocompleteDropdownButton","autocompleteClearButton","autocompleteChip"],"mappings":"AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,GAAG,QAAQ,kBAAkB;AAEtC,MAAMC,SAASD,IAAI;AAcnB;;CAEC,GACD,OAAO,SAASE,aACdC,UAAwC,CAAC,CAAC;IAE1C,MAAM,EACJC,SAAS,EACTC,OAAO,EACPC,WAAW,EACXC,kBAAkB,EAClBC,qBAAqB,EACtB,GAAGL;IAEJ,OAAOL,IACLG,OAAO;QACLQ,IAAI,CAACF;QACLG,IAAI,CAACF;QACLG,IAAIN;QACJ,gBAAgBC;IAClB,IACAF;AAEJ;AASA;;CAEC,GACD,OAAO,SAASQ,uBACdT,UAAkD,CAAC,CAAC;IAEpD,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IACLG,OAAO,gBACPF,SAAS;QAAEc,iBAAiB;IAAgB,IAC5CT;AAEJ;AAQA;;CAEC,GACD,OAAO,SAASU,2BACdX,UAAsD,CAAC,CAAC;IAExD,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,OAAO,oBAAoBG;AACxC;AASA;;CAEC,GACD,OAAO,SAASW,wBACdZ,UAAmD,CAAC,CAAC;IAErD,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,OAAO,iBAAiBG;AACrC;AASA;;CAEC,GACD,OAAO,SAASY,iBACdb,UAA4C,CAAC,CAAC;IAE9C,MAAM,EAAEC,SAAS,EAAE,GAAGD;IAEtB,OAAOL,IAAIG,OAAO,SAASG;AAC7B"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { type MenuItemProps } from "../menu/MenuItem.js";
|
|
2
|
-
import { type AutocompleteFilterOptions } from "./types.js";
|
|
2
|
+
import { type AutocompleteFilterOptions, type AutocompleteGetOptionPropsOptions, type AutocompleteOption } from "./types.js";
|
|
3
3
|
/**
|
|
4
4
|
* @since 6.0.0
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
|
-
export declare const defaultAutocompleteExtractor:
|
|
7
|
+
export declare const defaultAutocompleteExtractor: (item: unknown) => string;
|
|
8
8
|
/**
|
|
9
9
|
* @since 6.0.0
|
|
10
10
|
* @internal
|
|
11
11
|
*/
|
|
12
|
-
export declare const
|
|
13
|
-
option: T;
|
|
14
|
-
}) => Partial<MenuItemProps> | undefined;
|
|
12
|
+
export declare const defaultAutocompleteFilter: <Option extends AutocompleteOption>(options: AutocompleteFilterOptions<Option>) => readonly Option[];
|
|
15
13
|
/**
|
|
16
|
-
* This is just the {@link caseInsensitiveSearch} but requires
|
|
17
|
-
* the options to start with the current query.
|
|
18
|
-
*
|
|
19
14
|
* @since 6.0.0
|
|
20
15
|
*/
|
|
21
|
-
export declare
|
|
16
|
+
export declare const noopAutocompleteFilter: <Option extends AutocompleteOption>(options: AutocompleteFilterOptions<Option>) => readonly Option[];
|
|
17
|
+
/**
|
|
18
|
+
* @since 6.0.0
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export declare const defaultAutocompleteGetOptionProps: <T extends AutocompleteOption>(options: AutocompleteGetOptionPropsOptions<T>) => Partial<MenuItemProps> | undefined;
|
|
@@ -9,6 +9,16 @@ import { defaultExtractor } from "../searching/utils.js";
|
|
|
9
9
|
}
|
|
10
10
|
return defaultExtractor("Autocomplete")(item);
|
|
11
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* @since 6.0.0
|
|
14
|
+
* @internal
|
|
15
|
+
*/ export const defaultAutocompleteFilter = (options)=>caseInsensitiveSearch({
|
|
16
|
+
...options,
|
|
17
|
+
startsWith: true
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* @since 6.0.0
|
|
21
|
+
*/ export const noopAutocompleteFilter = (options)=>options.list;
|
|
12
22
|
/**
|
|
13
23
|
* @since 6.0.0
|
|
14
24
|
* @internal
|
|
@@ -16,11 +26,12 @@ import { defaultExtractor } from "../searching/utils.js";
|
|
|
16
26
|
/**
|
|
17
27
|
* @since 6.0.0
|
|
18
28
|
* @internal
|
|
19
|
-
*/ export const
|
|
29
|
+
*/ export const defaultAutocompleteGetOptionProps = (options)=>{
|
|
20
30
|
const { option } = options;
|
|
21
31
|
if (isProbablyMenuItemProps(option)) {
|
|
22
|
-
const { leftAddon, rightAddon, className, disabled, height, textProps, textClassName, primaryText, secondaryText, secondaryTextClassName, multiline, disableTextChildren } = option;
|
|
32
|
+
const { leftAddon, rightAddon, className, children, disabled, height, textProps, textClassName, primaryText, secondaryText, secondaryTextClassName, multiline, disableTextChildren } = option;
|
|
23
33
|
return {
|
|
34
|
+
children,
|
|
24
35
|
leftAddon,
|
|
25
36
|
rightAddon,
|
|
26
37
|
className,
|
|
@@ -37,16 +48,5 @@ import { defaultExtractor } from "../searching/utils.js";
|
|
|
37
48
|
}
|
|
38
49
|
return;
|
|
39
50
|
};
|
|
40
|
-
/**
|
|
41
|
-
* This is just the {@link caseInsensitiveSearch} but requires
|
|
42
|
-
* the options to start with the current query.
|
|
43
|
-
*
|
|
44
|
-
* @since 6.0.0
|
|
45
|
-
*/ export function defaultAutocompleteFilter(options) {
|
|
46
|
-
return caseInsensitiveSearch({
|
|
47
|
-
...options,
|
|
48
|
-
startsWith: true
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
51
|
|
|
52
52
|
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/autocomplete/defaults.ts"],"sourcesContent":["import { type MenuItemProps } from \"../menu/MenuItem.js\";\nimport { caseInsensitiveSearch } from \"../searching/caseInsensitive.js\";\nimport { defaultExtractor } from \"../searching/utils.js\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/autocomplete/defaults.ts"],"sourcesContent":["import { type MenuItemProps } from \"../menu/MenuItem.js\";\nimport { caseInsensitiveSearch } from \"../searching/caseInsensitive.js\";\nimport { defaultExtractor } from \"../searching/utils.js\";\nimport {\n type AutocompleteFilterOptions,\n type AutocompleteGetOptionPropsOptions,\n type AutocompleteOption,\n} from \"./types.js\";\n\n/**\n * @since 6.0.0\n * @internal\n */\nexport const defaultAutocompleteExtractor = (item: unknown): string => {\n if (\n item &&\n typeof item === \"object\" &&\n \"label\" in item &&\n typeof item.label === \"string\"\n ) {\n return item.label;\n }\n\n return defaultExtractor(\"Autocomplete\")(item);\n};\n\n/**\n * @since 6.0.0\n * @internal\n */\nexport const defaultAutocompleteFilter = <Option extends AutocompleteOption>(\n options: AutocompleteFilterOptions<Option>\n): readonly Option[] => caseInsensitiveSearch({ ...options, startsWith: true });\n\n/**\n * @since 6.0.0\n */\nexport const noopAutocompleteFilter = <Option extends AutocompleteOption>(\n options: AutocompleteFilterOptions<Option>\n): readonly Option[] => options.list;\n\n/**\n * @since 6.0.0\n * @internal\n */\nconst isProbablyMenuItemProps = (\n item: unknown\n): item is Partial<MenuItemProps> => !!item && typeof item === \"object\";\n\n/**\n * @since 6.0.0\n * @internal\n */\nexport const defaultAutocompleteGetOptionProps = <T extends AutocompleteOption>(\n options: AutocompleteGetOptionPropsOptions<T>\n): Partial<MenuItemProps> | undefined => {\n const { option } = options;\n if (isProbablyMenuItemProps(option)) {\n const {\n leftAddon,\n rightAddon,\n className,\n children,\n disabled,\n height,\n textProps,\n textClassName,\n primaryText,\n secondaryText,\n secondaryTextClassName,\n multiline,\n disableTextChildren,\n } = option;\n\n return {\n children,\n leftAddon,\n rightAddon,\n className,\n disabled,\n height,\n textProps,\n textClassName,\n primaryText,\n secondaryText,\n secondaryTextClassName,\n multiline,\n disableTextChildren,\n };\n }\n return;\n};\n"],"names":["caseInsensitiveSearch","defaultExtractor","defaultAutocompleteExtractor","item","label","defaultAutocompleteFilter","options","startsWith","noopAutocompleteFilter","list","isProbablyMenuItemProps","defaultAutocompleteGetOptionProps","option","leftAddon","rightAddon","className","children","disabled","height","textProps","textClassName","primaryText","secondaryText","secondaryTextClassName","multiline","disableTextChildren"],"mappings":"AACA,SAASA,qBAAqB,QAAQ,kCAAkC;AACxE,SAASC,gBAAgB,QAAQ,wBAAwB;AAOzD;;;CAGC,GACD,OAAO,MAAMC,+BAA+B,CAACC;IAC3C,IACEA,QACA,OAAOA,SAAS,YAChB,WAAWA,QACX,OAAOA,KAAKC,KAAK,KAAK,UACtB;QACA,OAAOD,KAAKC,KAAK;IACnB;IAEA,OAAOH,iBAAiB,gBAAgBE;AAC1C,EAAE;AAEF;;;CAGC,GACD,OAAO,MAAME,4BAA4B,CACvCC,UACsBN,sBAAsB;QAAE,GAAGM,OAAO;QAAEC,YAAY;IAAK,GAAG;AAEhF;;CAEC,GACD,OAAO,MAAMC,yBAAyB,CACpCF,UACsBA,QAAQG,IAAI,CAAC;AAErC;;;CAGC,GACD,MAAMC,0BAA0B,CAC9BP,OACmC,CAAC,CAACA,QAAQ,OAAOA,SAAS;AAE/D;;;CAGC,GACD,OAAO,MAAMQ,oCAAoC,CAC/CL;IAEA,MAAM,EAAEM,MAAM,EAAE,GAAGN;IACnB,IAAII,wBAAwBE,SAAS;QACnC,MAAM,EACJC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,MAAM,EACNC,SAAS,EACTC,aAAa,EACbC,WAAW,EACXC,aAAa,EACbC,sBAAsB,EACtBC,SAAS,EACTC,mBAAmB,EACpB,GAAGb;QAEJ,OAAO;YACLI;YACAH;YACAC;YACAC;YACAE;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;QACF;IACF;IACA;AACF,EAAE"}
|