@react-md/core 1.0.0-next.7 → 1.0.0-next.9
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/.stylelintrc.json +14 -0
- package/.turbo/turbo-build.log +6 -6
- package/.turbo/turbo-lint.log +13 -12
- package/CHANGELOG.md +15 -0
- package/README.md +39 -24
- package/coverage/clover.xml +1013 -529
- package/coverage/coverage-final.json +9 -3
- package/coverage/lcov-report/AutoComplete.tsx.html +283 -0
- package/coverage/lcov-report/MenuItemCheckbox.tsx.html +223 -0
- package/coverage/lcov-report/MenuItemInputToggle.tsx.html +178 -232
- package/coverage/lcov-report/MenuItemRadio.tsx.html +436 -0
- package/coverage/lcov-report/RootHtml.tsx.html +370 -0
- package/coverage/lcov-report/Select.tsx.html +1411 -0
- package/coverage/lcov-report/SrOnly.tsx.html +328 -0
- package/coverage/lcov-report/Typography.tsx.html +1027 -0
- package/coverage/lcov-report/autocomplete/AutoComplete.tsx.html +283 -0
- package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +283 -0
- package/coverage/lcov-report/autocomplete/index.html +161 -0
- package/coverage/lcov-report/autocomplete/useAutoComplete.ts.html +775 -0
- package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +775 -0
- package/coverage/lcov-report/autocomplete/useInlineAutoComplete.ts.html +340 -0
- package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +346 -0
- package/coverage/lcov-report/autocomplete/utils.ts.html +106 -0
- package/coverage/lcov-report/avatar/Avatar.tsx.html +162 -99
- package/coverage/lcov-report/avatar/index.html +19 -34
- package/coverage/lcov-report/avatar/styles.ts.html +1 -1
- package/coverage/lcov-report/button/Button.tsx.html +85 -85
- package/coverage/lcov-report/button/index.html +12 -12
- package/coverage/lcov-report/dialog/DialogFooter.tsx.html +36 -36
- package/coverage/lcov-report/dialog/DialogHeader.tsx.html +26 -26
- package/coverage/lcov-report/dialog/index.html +34 -19
- package/coverage/lcov-report/form/AutoComplete.tsx.html +283 -0
- package/coverage/lcov-report/form/Form.tsx.html +22 -22
- package/coverage/lcov-report/form/OptGroup.tsx.html +169 -166
- package/coverage/lcov-report/form/Option.tsx.html +727 -0
- package/coverage/lcov-report/form/Select.tsx.html +962 -1112
- package/coverage/lcov-report/form/SelectOriginal.tsx.html +1630 -0
- package/coverage/lcov-report/form/SelectV2.tsx.html +1024 -0
- package/coverage/lcov-report/form/SelectedOption.tsx.html +250 -0
- package/coverage/lcov-report/form/index.html +57 -12
- package/coverage/lcov-report/form/selectUtils.ts.html +188 -221
- package/coverage/lcov-report/form/useAutoComplete.ts.html +787 -0
- package/coverage/lcov-report/form/useCombobox.ts.html +454 -460
- package/coverage/lcov-report/form/useComboboxList.ts.html +108 -93
- package/coverage/lcov-report/form/useFormReset.ts.html +229 -0
- package/coverage/lcov-report/form/useInlineAutoComplete.ts.html +379 -0
- package/coverage/lcov-report/form/useSelectCombobox.ts.html +499 -0
- package/coverage/lcov-report/form/utils.ts.html +209 -170
- package/coverage/lcov-report/icon/FontIcon.tsx.html +28 -28
- package/coverage/lcov-report/icon/MaterialIcon.tsx.html +235 -0
- package/coverage/lcov-report/icon/index.html +1 -1
- package/coverage/lcov-report/index.html +32 -32
- package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
- package/coverage/lcov-report/media-queries/index.html +1 -1
- package/coverage/lcov-report/menu/DropdownMenu.tsx.html +188 -188
- package/coverage/lcov-report/menu/Menu.tsx.html +271 -265
- package/coverage/lcov-report/menu/MenuItem.tsx.html +292 -0
- package/coverage/lcov-report/menu/MenuVisibilityProvider.tsx.html +48 -33
- package/coverage/lcov-report/menu/index.html +45 -15
- package/coverage/lcov-report/menu/useContextMenu.ts.html +490 -0
- package/coverage/lcov-report/menuItemInputToggleStyles.ts.html +319 -0
- package/coverage/lcov-report/movement/index.html +19 -19
- package/coverage/lcov-report/movement/useKeyboardMovementProvider.ts.html +422 -383
- package/coverage/lcov-report/positioning/constants.ts.html +463 -0
- package/coverage/lcov-report/positioning/index.html +30 -30
- package/coverage/lcov-report/positioning/useFixedPositioning.ts.html +1321 -0
- package/coverage/lcov-report/progress/CircularProgress.tsx.html +184 -184
- package/coverage/lcov-report/progress/index.html +19 -34
- package/coverage/lcov-report/searching/caseInsensitive.ts.html +685 -0
- package/coverage/lcov-report/searching/fuzzy.ts.html +610 -0
- package/coverage/lcov-report/searching/index.html +161 -0
- package/coverage/lcov-report/searching/toSearchQuery.ts.html +139 -0
- package/coverage/lcov-report/searching/utils.ts.html +247 -0
- package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
- package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
- package/coverage/lcov-report/src/RootHtml.tsx.html +370 -0
- package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
- package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +1 -1
- package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
- package/coverage/lcov-report/src/app-bar/index.html +1 -1
- package/coverage/lcov-report/src/avatar/Avatar.tsx.html +1 -1
- package/coverage/lcov-report/src/avatar/index.html +1 -1
- package/coverage/lcov-report/src/avatar/styles.ts.html +1 -1
- package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
- package/coverage/lcov-report/src/badge/index.html +1 -1
- package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
- package/coverage/lcov-report/src/box/index.html +1 -1
- package/coverage/lcov-report/src/box/styles.ts.html +1 -1
- package/coverage/lcov-report/src/button/AsyncButton.tsx.html +1 -1
- package/coverage/lcov-report/src/button/Button.tsx.html +1 -1
- package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
- package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +1 -1
- package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +1 -1
- package/coverage/lcov-report/src/button/buttonStyles.ts.html +1 -1
- package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
- package/coverage/lcov-report/src/button/index.html +1 -1
- package/coverage/lcov-report/src/card/Card.tsx.html +1 -1
- package/coverage/lcov-report/src/card/CardContent.tsx.html +1 -1
- package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
- package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
- package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
- package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
- package/coverage/lcov-report/src/card/ClickableCard.tsx.html +1 -1
- package/coverage/lcov-report/src/card/index.html +1 -1
- package/coverage/lcov-report/src/card/styles.ts.html +1 -1
- package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
- package/coverage/lcov-report/src/chip/index.html +1 -1
- package/coverage/lcov-report/src/chip/styles.ts.html +1 -1
- package/coverage/lcov-report/src/cssUtils.ts.html +53 -53
- package/coverage/lcov-report/src/delegateEvent.ts.html +1 -1
- package/coverage/lcov-report/src/dialog/Dialog.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +1 -1
- package/coverage/lcov-report/src/dialog/index.html +1 -1
- package/coverage/lcov-report/src/dialog/styles.ts.html +1 -1
- package/coverage/lcov-report/src/divider/Divider.tsx.html +1 -1
- package/coverage/lcov-report/src/divider/index.html +1 -1
- package/coverage/lcov-report/src/divider/styles.ts.html +1 -1
- package/coverage/lcov-report/src/draggable/index.html +1 -1
- package/coverage/lcov-report/src/draggable/useDraggable.ts.html +1 -1
- package/coverage/lcov-report/src/draggable/utils.ts.html +1 -1
- package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
- package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
- package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +1 -1
- package/coverage/lcov-report/src/expansion-panel/index.html +1 -1
- package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
- package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +1 -1
- package/coverage/lcov-report/src/focus/index.html +1 -1
- package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +1 -1
- package/coverage/lcov-report/src/focus/utils.ts.html +1 -1
- package/coverage/lcov-report/src/form/AutoComplete.tsx.html +283 -0
- package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
- package/coverage/lcov-report/src/form/FileInput.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Form.tsx.html +11 -8
- package/coverage/lcov-report/src/form/FormMessage.tsx.html +1 -1
- package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
- package/coverage/lcov-report/src/form/InputToggle.tsx.html +1 -1
- package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +56 -56
- package/coverage/lcov-report/src/form/Label.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
- package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +3 -3
- package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +1 -1
- package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +178 -232
- package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +3 -3
- package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
- package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +1 -1
- package/coverage/lcov-report/src/form/NativeSelect.tsx.html +1 -1
- package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Option.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Password.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Radio.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Select.tsx.html +894 -1146
- package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Slider.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderThumb.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Switch.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +1 -1
- package/coverage/lcov-report/src/form/TextArea.tsx.html +1 -1
- package/coverage/lcov-report/src/form/TextField.tsx.html +1 -1
- package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +1 -1
- package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/fileUtils.ts.html +1 -1
- package/coverage/lcov-report/src/form/formConfig.ts.html +1 -1
- package/coverage/lcov-report/src/form/formMessageStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/index.html +30 -900
- package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
- package/coverage/lcov-report/src/form/menuItemInputToggleStyles.ts.html +319 -0
- package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/selectUtils.ts.html +1 -1
- package/coverage/lcov-report/src/form/sliderUtils.ts.html +1 -1
- package/coverage/lcov-report/src/form/switchStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/textAreaStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/useAutoComplete.ts.html +787 -0
- package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +1 -1
- package/coverage/lcov-report/src/form/useCombobox.ts.html +943 -457
- package/coverage/lcov-report/src/form/useEditableCombobox.ts.html +502 -0
- package/coverage/lcov-report/src/form/useFileUpload.ts.html +1 -1
- package/coverage/lcov-report/src/form/useInlineAutoComplete.ts.html +109 -0
- package/coverage/lcov-report/src/form/useListboxProvider.ts.html +1 -1
- package/coverage/lcov-report/src/form/useNumberField.ts.html +1 -1
- package/coverage/lcov-report/src/form/useRadioGroup.ts.html +1 -1
- package/coverage/lcov-report/src/form/useRangeSlider.ts.html +1 -1
- package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +1 -1
- package/coverage/lcov-report/src/form/useSelectCombobox.ts.html +295 -0
- package/coverage/lcov-report/src/form/useSlider.ts.html +1 -1
- package/coverage/lcov-report/src/form/useTextField.ts.html +1 -1
- package/coverage/lcov-report/src/form/utils.ts.html +200 -170
- package/coverage/lcov-report/src/form/validation.ts.html +1 -1
- package/coverage/lcov-report/src/hoverMode/index.html +1 -1
- package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +1 -1
- package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +1 -1
- package/coverage/lcov-report/src/icon/FontIcon.tsx.html +28 -28
- package/coverage/lcov-report/src/icon/IconRotator.tsx.html +1 -1
- package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +1 -1
- package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +1 -1
- package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
- package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +51 -51
- package/coverage/lcov-report/src/icon/iconConfig.tsx.html +10 -10
- package/coverage/lcov-report/src/icon/index.html +1 -1
- package/coverage/lcov-report/src/icon/material.ts.html +1 -1
- package/coverage/lcov-report/src/icon/materialConfig.ts.html +1 -1
- package/coverage/lcov-report/src/icon/styles.ts.html +38 -38
- package/coverage/lcov-report/src/index.html +9 -354
- package/coverage/lcov-report/src/interaction/Ripple.tsx.html +1 -1
- package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +87 -87
- package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
- package/coverage/lcov-report/src/interaction/index.html +1 -1
- package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +83 -83
- package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +7 -7
- package/coverage/lcov-report/src/interaction/utils.ts.html +1 -1
- package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
- package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +1 -1
- package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
- package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
- package/coverage/lcov-report/src/layout/index.html +1 -1
- package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +1 -1
- package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
- package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +1 -1
- package/coverage/lcov-report/src/link/Link.tsx.html +1 -1
- package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
- package/coverage/lcov-report/src/link/index.html +1 -1
- package/coverage/lcov-report/src/link/styles.ts.html +1 -1
- package/coverage/lcov-report/src/list/List.tsx.html +30 -30
- package/coverage/lcov-report/src/list/ListItem.tsx.html +124 -124
- package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +35 -35
- package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +79 -79
- package/coverage/lcov-report/src/list/ListItemLink.tsx.html +2 -2
- package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
- package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
- package/coverage/lcov-report/src/list/getListItemHeight.ts.html +44 -47
- package/coverage/lcov-report/src/list/index.html +5 -5
- package/coverage/lcov-report/src/list/listItemStyles.ts.html +65 -65
- package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +49 -49
- package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
- package/coverage/lcov-report/src/media-queries/index.html +1 -1
- package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +24 -24
- package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/Menu.tsx.html +3 -3
- package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuButton.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/index.html +1 -1
- package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
- package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
- package/coverage/lcov-report/src/menu/utils.ts.html +1 -1
- package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
- package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
- package/coverage/lcov-report/src/movement/index.html +17 -62
- package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +1 -1
- package/coverage/lcov-report/src/movement/utils.ts.html +143 -119
- package/coverage/lcov-report/src/overlay/Overlay.tsx.html +1 -1
- package/coverage/lcov-report/src/overlay/index.html +1 -1
- package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +1 -1
- package/coverage/lcov-report/src/portal/Portal.tsx.html +1 -1
- package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +36 -36
- package/coverage/lcov-report/src/portal/index.html +1 -1
- package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
- package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +1 -1
- package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +1 -1
- package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +1 -1
- package/coverage/lcov-report/src/positioning/index.html +1 -1
- package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +1 -1
- package/coverage/lcov-report/src/positioning/utils.ts.html +1 -1
- package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +81 -81
- package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +1 -1
- package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
- package/coverage/lcov-report/src/progress/index.html +1 -1
- package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
- package/coverage/lcov-report/src/responsive-item/index.html +1 -1
- package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
- package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
- package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +1 -1
- package/coverage/lcov-report/src/scroll/index.html +1 -1
- package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +1 -1
- package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +1 -1
- package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/segmented-button/index.html +1 -1
- package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +1 -1
- package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
- package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
- package/coverage/lcov-report/src/sheet/index.html +1 -1
- package/coverage/lcov-report/src/sheet/styles.ts.html +1 -1
- package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +1 -1
- package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +1 -1
- package/coverage/lcov-report/src/snackbar/Toast.tsx.html +1 -1
- package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
- package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +1 -1
- package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +1 -1
- package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +1 -1
- package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/snackbar/index.html +1 -1
- package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +1 -1
- package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +1 -1
- package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +1 -1
- package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
- package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +142 -142
- package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +88 -88
- package/coverage/lcov-report/src/suspense/index.html +32 -32
- package/coverage/lcov-report/src/table/Table.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableBody.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableCell.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableCellContent.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableFooter.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableHeader.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableRadio.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableRow.tsx.html +1 -1
- package/coverage/lcov-report/src/table/index.html +1 -1
- package/coverage/lcov-report/src/table/tableCellStyles.ts.html +1 -1
- package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +1 -1
- package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +1 -1
- package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +1 -1
- package/coverage/lcov-report/src/table/tableRowStyles.ts.html +1 -1
- package/coverage/lcov-report/src/table/tableStyles.ts.html +1 -1
- package/coverage/lcov-report/src/tabs/Tab.tsx.html +1 -1
- package/coverage/lcov-report/src/tabs/TabList.tsx.html +1 -1
- package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +1 -1
- package/coverage/lcov-report/src/tabs/index.html +1 -1
- package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +1 -1
- package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +1 -1
- package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +1 -1
- package/coverage/lcov-report/src/tabs/tabStyles.ts.html +1 -1
- package/coverage/lcov-report/src/tabs/useTabList.ts.html +1 -1
- package/coverage/lcov-report/src/tabs/useTabs.ts.html +1 -1
- package/coverage/lcov-report/src/tabs/utils.ts.html +1 -1
- package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +1 -1
- package/coverage/lcov-report/src/test-utils/data-testid.ts.html +18 -6
- package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
- package/coverage/lcov-report/src/test-utils/index.html +7 -7
- package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +9 -9
- package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +4 -4
- package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
- package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
- package/coverage/lcov-report/src/test-utils/polyfills/TextDecoder.ts.html +106 -0
- package/coverage/lcov-report/src/test-utils/polyfills/TextEncoder.ts.html +100 -0
- package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
- package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
- package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
- package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
- package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
- package/coverage/lcov-report/src/test-utils/root-html-environment.ts.html +85 -0
- package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
- package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
- package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
- package/coverage/lcov-report/src/theme/index.html +1 -1
- package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +1 -1
- package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
- package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
- package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
- package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
- package/coverage/lcov-report/src/theme/utils.ts.html +1 -1
- package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +1 -1
- package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
- package/coverage/lcov-report/src/tooltip/index.html +1 -1
- package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +1 -1
- package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +1 -1
- package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +1 -1
- package/coverage/lcov-report/src/tooltip/utils.ts.html +1 -1
- package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/Slide.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/collapseStyles.ts.html +13 -13
- package/coverage/lcov-report/src/transition/config.ts.html +3 -3
- package/coverage/lcov-report/src/transition/index.html +7 -7
- package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
- package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +96 -150
- package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useTransition.ts.html +152 -152
- package/coverage/lcov-report/src/transition/utils.ts.html +14 -14
- package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +1 -1
- package/coverage/lcov-report/src/tree/Tree.tsx.html +1 -1
- package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +45 -45
- package/coverage/lcov-report/src/tree/TreeItem.tsx.html +1 -1
- package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +1 -1
- package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +8 -8
- package/coverage/lcov-report/src/tree/index.html +1 -1
- package/coverage/lcov-report/src/tree/styles.ts.html +5 -5
- package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
- package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
- package/coverage/lcov-report/src/tree/useTreeItems.ts.html +1 -1
- package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +1 -1
- package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
- package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
- package/coverage/lcov-report/src/typography/SrOnly.tsx.html +12 -12
- package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/typography/Typography.tsx.html +94 -94
- package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/typography/index.html +1 -1
- package/coverage/lcov-report/src/useAsyncAction.ts.html +1 -1
- package/coverage/lcov-report/src/useDebouncedFunction.ts.html +1 -1
- package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
- package/coverage/lcov-report/src/useElementSize.ts.html +1 -1
- package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
- package/coverage/lcov-report/src/useEnsuredRef.ts.html +11 -11
- package/coverage/lcov-report/src/useEnsuredState.ts.html +16 -16
- package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
- package/coverage/lcov-report/src/useIntersectionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
- package/coverage/lcov-report/src/useLocalStorage.ts.html +1 -1
- package/coverage/lcov-report/src/useOrientation.ts.html +32 -32
- package/coverage/lcov-report/src/usePageInactive.ts.html +1 -1
- package/coverage/lcov-report/src/useResizeListener.ts.html +1 -1
- package/coverage/lcov-report/src/useResizeObserver.ts.html +23 -23
- package/coverage/lcov-report/src/useThrottledFunction.ts.html +1 -1
- package/coverage/lcov-report/src/useToggle.ts.html +1 -1
- package/coverage/lcov-report/src/useUnmounted.ts.html +1 -1
- package/coverage/lcov-report/src/useWindowSize.ts.html +1 -1
- package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
- package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
- package/coverage/lcov-report/src/utils/applyRef.ts.html +1 -1
- package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
- package/coverage/lcov-report/src/utils/filters.ts.html +357 -84
- package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
- package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +1 -1
- package/coverage/lcov-report/src/utils/getPercentage.ts.html +1 -1
- package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +1 -1
- package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +1 -1
- package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
- package/coverage/lcov-report/src/utils/index.html +13 -268
- package/coverage/lcov-report/src/utils/isElementVisible.ts.html +1 -1
- package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
- package/coverage/lcov-report/src/utils/nearest.ts.html +1 -1
- package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +1 -1
- package/coverage/lcov-report/src/utils/randomInt.ts.html +1 -1
- package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
- package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
- package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
- package/coverage/lcov-report/src/window-splitter/index.html +1 -1
- package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +1 -1
- package/coverage/lcov-report/transition/config.ts.html +5 -5
- package/coverage/lcov-report/transition/index.html +1 -1
- package/coverage/lcov-report/transition/useScaleTransition.ts.html +535 -0
- package/coverage/lcov-report/useAutoComplete.ts.html +787 -0
- package/coverage/lcov-report/useCollapseTransition.ts.html +166 -211
- package/coverage/lcov-report/useCombobox.ts.html +1513 -0
- package/coverage/lcov-report/useInlineAutoComplete.ts.html +379 -0
- package/coverage/lcov-report/useSelectCombobox.ts.html +295 -0
- package/coverage/lcov-report/utils/alphaNumericSort.ts.html +11 -50
- package/coverage/lcov-report/utils/filters.ts.html +1056 -201
- package/coverage/lcov-report/utils/index.html +10 -10
- package/coverage/lcov-report/utils/searching.ts.html +85 -0
- package/coverage/lcov-report/utils.ts.html +109 -277
- package/coverage/lcov.info +900 -363
- package/dist/RootHtml.d.ts +62 -0
- package/dist/RootHtml.js +49 -0
- package/dist/RootHtml.js.map +1 -0
- package/dist/_core.scss +49 -43
- package/dist/avatar/Avatar.d.ts +14 -0
- package/dist/avatar/Avatar.js +5 -2
- package/dist/avatar/Avatar.js.map +1 -1
- package/dist/badge/_badge.scss +23 -19
- package/dist/dialog/FixedDialog.d.ts +5 -4
- package/dist/dialog/FixedDialog.js +5 -4
- package/dist/dialog/FixedDialog.js.map +1 -1
- package/dist/form/MenuItemInputToggle.d.ts +2 -15
- package/dist/form/MenuItemInputToggle.js +26 -37
- package/dist/form/MenuItemInputToggle.js.map +1 -1
- package/dist/form/NativeSelect.d.ts +5 -2
- package/dist/form/NativeSelect.js.map +1 -1
- package/dist/form/Option.js +3 -2
- package/dist/form/Option.js.map +1 -1
- package/dist/form/Select.d.ts +105 -15
- package/dist/form/Select.js +160 -249
- package/dist/form/Select.js.map +1 -1
- package/dist/form/SelectedOption.d.ts +21 -0
- package/dist/form/SelectedOption.js +37 -0
- package/dist/form/SelectedOption.js.map +1 -0
- package/dist/form/TextField.d.ts +2 -2
- package/dist/form/TextField.js.map +1 -1
- package/dist/form/_form.scss +47 -29
- package/dist/form/menuItemInputToggleStyles.d.ts +39 -0
- package/dist/form/menuItemInputToggleStyles.js +31 -0
- package/dist/form/menuItemInputToggleStyles.js.map +1 -0
- package/dist/form/selectUtils.d.ts +1 -3
- package/dist/form/selectUtils.js +2 -10
- package/dist/form/selectUtils.js.map +1 -1
- package/dist/form/types.d.ts +6 -6
- package/dist/form/types.js.map +1 -1
- package/dist/form/useCombobox.d.ts +157 -0
- package/dist/form/useCombobox.js +206 -0
- package/dist/form/useCombobox.js.map +1 -0
- package/dist/form/useEditableCombobox.d.ts +15 -0
- package/dist/form/useEditableCombobox.js +101 -0
- package/dist/form/useEditableCombobox.js.map +1 -0
- package/dist/form/useFormReset.d.ts +16 -0
- package/dist/form/useFormReset.js +32 -0
- package/dist/form/useFormReset.js.map +1 -0
- package/dist/form/useListboxProvider.d.ts +1 -0
- package/dist/form/useListboxProvider.js +1 -0
- package/dist/form/useListboxProvider.js.map +1 -1
- package/dist/form/useSelectCombobox.d.ts +17 -0
- package/dist/form/useSelectCombobox.js +36 -0
- package/dist/form/useSelectCombobox.js.map +1 -0
- package/dist/form/utils.d.ts +11 -1
- package/dist/form/utils.js +6 -0
- package/dist/form/utils.js.map +1 -1
- package/dist/icon/_icon.scss +7 -5
- package/dist/index.d.ts +15 -1
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/interaction/_interaction.scss +56 -44
- package/dist/list/types.d.ts +10 -1
- package/dist/list/types.js.map +1 -1
- package/dist/menu/Menu.js +12 -1
- package/dist/menu/Menu.js.map +1 -1
- package/dist/menu/_menu.scss +1 -0
- package/dist/menu/useContextMenu.d.ts +3 -3
- package/dist/menu/useContextMenu.js +3 -3
- package/dist/menu/useContextMenu.js.map +1 -1
- package/dist/movement/types.d.ts +40 -21
- package/dist/movement/types.js.map +1 -1
- package/dist/movement/useKeyboardMovementProvider.js +15 -4
- package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
- package/dist/movement/utils.d.ts +7 -2
- package/dist/movement/utils.js +10 -0
- package/dist/movement/utils.js.map +1 -1
- package/dist/positioning/useFixedPositioning.js +0 -8
- package/dist/positioning/useFixedPositioning.js.map +1 -1
- package/dist/searching/caseInsensitive.d.ts +150 -0
- package/dist/searching/caseInsensitive.js +30 -0
- package/dist/searching/caseInsensitive.js.map +1 -0
- package/dist/searching/fuzzy.d.ts +128 -0
- package/dist/searching/fuzzy.js +54 -0
- package/dist/searching/fuzzy.js.map +1 -0
- package/dist/searching/toSearchQuery.d.ts +5 -0
- package/dist/searching/toSearchQuery.js +13 -0
- package/dist/searching/toSearchQuery.js.map +1 -0
- package/dist/searching/types.d.ts +28 -0
- package/dist/searching/types.js +5 -0
- package/dist/searching/types.js.map +1 -0
- package/dist/searching/utils.d.ts +21 -0
- package/dist/searching/utils.js +28 -0
- package/dist/searching/utils.js.map +1 -0
- package/dist/test-utils/IntersectionObserver.d.ts +12 -0
- package/dist/test-utils/ResizeObserver.d.ts +172 -0
- package/dist/test-utils/data-testid.d.ts +7 -0
- package/dist/test-utils/data-testid.js +1 -0
- package/dist/test-utils/data-testid.js.map +1 -1
- package/dist/test-utils/drag.d.ts +26 -0
- package/dist/test-utils/index.d.ts +7 -0
- package/dist/test-utils/jest-setup.d.ts +1 -0
- package/dist/test-utils/matchMedia.d.ts +101 -0
- package/dist/test-utils/polyfills/IntersectionObserver.d.ts +1 -0
- package/dist/test-utils/polyfills/ResizeObserver.d.ts +1 -0
- package/dist/test-utils/polyfills/TextDecoder.d.ts +1 -0
- package/dist/test-utils/polyfills/TextDecoder.js +8 -0
- package/dist/test-utils/polyfills/TextDecoder.js.map +1 -0
- package/dist/test-utils/polyfills/TextEncoder.d.ts +1 -0
- package/dist/test-utils/polyfills/TextEncoder.js +6 -0
- package/dist/test-utils/polyfills/TextEncoder.js.map +1 -0
- package/dist/test-utils/polyfills/index.d.ts +7 -0
- package/dist/test-utils/polyfills/index.js +2 -0
- package/dist/test-utils/polyfills/index.js.map +1 -1
- package/dist/test-utils/polyfills/matchMedia.d.ts +1 -0
- package/dist/test-utils/polyfills/offsetParent.d.ts +1 -0
- package/dist/test-utils/polyfills/scrollIntoView.d.ts +1 -0
- package/dist/test-utils/render.d.ts +13 -0
- package/dist/test-utils/timers.d.ts +39 -0
- package/dist/theme/_theme.scss +192 -34
- package/dist/transition/useCollapseTransition.d.ts +3 -18
- package/dist/transition/useCollapseTransition.js +1 -10
- package/dist/transition/useCollapseTransition.js.map +1 -1
- package/dist/transition/utils.js +7 -2
- package/dist/transition/utils.js.map +1 -1
- package/dist/typography/SrOnly.d.ts +3 -3
- package/dist/typography/SrOnly.js +4 -4
- package/dist/typography/SrOnly.js.map +1 -1
- package/dist/typography/Typography.d.ts +19 -19
- package/dist/typography/Typography.js +19 -19
- package/dist/typography/Typography.js.map +1 -1
- package/dist/typography/_typography.scss +65 -25
- package/dist/useEnsuredState.d.ts +1 -1
- package/dist/useEnsuredState.js.map +1 -1
- package/dist/utils/alphaNumericSort.d.ts +1 -1
- package/dist/utils/alphaNumericSort.js +2 -10
- package/dist/utils/alphaNumericSort.js.map +1 -1
- package/jest.config.ts +4 -0
- package/package.json +21 -20
- package/src/RootHtml.tsx +95 -0
- package/src/__tests__/RootHtml.node.tsx +46 -0
- package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +19 -0
- package/src/_core.scss +49 -43
- package/src/avatar/Avatar.tsx +24 -3
- package/src/avatar/__tests__/Avatar.tsx +1 -1
- package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +6 -6
- package/src/badge/_badge.scss +23 -19
- package/src/button/__tests__/__snapshots__/Button.tsx.snap +1 -1
- package/src/dialog/FixedDialog.tsx +5 -4
- package/src/form/MenuItemInputToggle.tsx +46 -64
- package/src/form/NativeSelect.tsx +6 -3
- package/src/form/Option.tsx +8 -2
- package/src/form/Select.tsx +251 -335
- package/src/form/SelectedOption.tsx +55 -0
- package/src/form/TextField.tsx +2 -2
- package/src/form/__tests__/MenuItemCheckbox.tsx +53 -0
- package/src/form/__tests__/MenuItemRadio.tsx +53 -0
- package/src/form/__tests__/Select.tsx +439 -0
- package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +23 -23
- package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +96 -0
- package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +96 -0
- package/src/form/__tests__/__snapshots__/Select.tsx.snap +492 -0
- package/src/form/__tests__/useFormReset.tsx +195 -0
- package/src/form/_form.scss +47 -29
- package/src/form/menuItemInputToggleStyles.ts +78 -0
- package/src/form/selectUtils.ts +3 -14
- package/src/form/types.ts +6 -6
- package/src/form/useCombobox.ts +523 -0
- package/src/form/useEditableCombobox.ts +139 -0
- package/src/form/useFormReset.ts +48 -0
- package/src/form/useListboxProvider.ts +2 -0
- package/src/form/useSelectCombobox.ts +70 -0
- package/src/form/utils.ts +17 -4
- package/src/icon/_icon.scss +7 -5
- package/src/index.ts +15 -1
- package/src/interaction/_interaction.scss +56 -44
- package/src/list/types.ts +12 -1
- package/src/menu/Menu.tsx +9 -1
- package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +54 -0
- package/src/menu/__tests__/useContextMenu.tsx +41 -0
- package/src/menu/_menu.scss +1 -0
- package/src/menu/useContextMenu.ts +3 -3
- package/src/movement/types.ts +50 -25
- package/src/movement/useKeyboardMovementProvider.ts +21 -8
- package/src/movement/utils.ts +12 -2
- package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -32
- package/src/positioning/__tests__/useFixedPositioning.tsx +0 -14
- package/src/positioning/useFixedPositioning.ts +0 -6
- package/src/searching/__tests__/caseInsensitive.ts +165 -0
- package/src/searching/__tests__/fuzzy.ts +169 -0
- package/src/searching/__tests__/toSearchQuery.ts +21 -0
- package/src/searching/caseInsensitive.ts +200 -0
- package/src/searching/fuzzy.ts +175 -0
- package/src/searching/toSearchQuery.ts +18 -0
- package/src/searching/types.ts +34 -0
- package/src/searching/utils.ts +54 -0
- package/src/test-utils/data-testid.ts +5 -1
- package/src/test-utils/polyfills/TextDecoder.ts +7 -0
- package/src/test-utils/polyfills/TextEncoder.ts +5 -0
- package/src/test-utils/polyfills/index.ts +2 -0
- package/src/theme/_theme.scss +192 -34
- package/src/transition/__tests__/utils.ts +25 -0
- package/src/transition/useCollapseTransition.ts +6 -24
- package/src/transition/utils.ts +10 -5
- package/src/typography/SrOnly.tsx +9 -9
- package/src/typography/Typography.tsx +19 -19
- package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +5 -5
- package/src/typography/_typography.scss +65 -25
- package/src/useEnsuredState.ts +1 -1
- package/src/utils/alphaNumericSort.ts +3 -16
- package/tsconfig.json +2 -2
- package/tsconfig.types.json +1 -1
- package/dist/form/SelectValue.d.ts +0 -17
- package/dist/form/SelectValue.js +0 -32
- package/dist/form/SelectValue.js.map +0 -1
- package/dist/utils/filters.d.ts +0 -196
- package/dist/utils/filters.js +0 -67
- package/dist/utils/filters.js.map +0 -1
- package/src/form/SelectValue.tsx +0 -39
- package/src/utils/filters.ts +0 -320
|
@@ -4,6 +4,18 @@
|
|
|
4
4
|
@use "../utils";
|
|
5
5
|
|
|
6
6
|
$disable-text-container: false !default;
|
|
7
|
+
$disable-headline-1: false !default;
|
|
8
|
+
$disable-headline-2: false !default;
|
|
9
|
+
$disable-headline-3: false !default;
|
|
10
|
+
$disable-headline-4: false !default;
|
|
11
|
+
$disable-headline-5: false !default;
|
|
12
|
+
$disable-headline-6: false !default;
|
|
13
|
+
$disable-subtitle-1: false !default;
|
|
14
|
+
$disable-subtitle-2: false !default;
|
|
15
|
+
$disable-body-1: false !default;
|
|
16
|
+
$disable-body-2: false !default;
|
|
17
|
+
$disable-caption: false !default;
|
|
18
|
+
$disable-overline: false !default;
|
|
7
19
|
|
|
8
20
|
/// A small utility function to get the letter spacing based on tracking and
|
|
9
21
|
/// font-size
|
|
@@ -216,9 +228,13 @@ $button-recommended-styles: map.merge(
|
|
|
216
228
|
$base-font-styles,
|
|
217
229
|
(
|
|
218
230
|
font-size: 0.875rem,
|
|
219
|
-
line-height: 2.25rem,
|
|
220
231
|
font-weight: map.get($font-weights, medium),
|
|
221
232
|
letter-spacing: get-letter-spacing(1.25, 0.875),
|
|
233
|
+
line-height: 2.25rem,
|
|
234
|
+
// buttons with multiple lines of text look terrible because of the large
|
|
235
|
+
// line-height. You normally want to use a different component if the
|
|
236
|
+
// clickable area has so much content to line-wrap
|
|
237
|
+
line-wrap: nowrap,
|
|
222
238
|
)
|
|
223
239
|
);
|
|
224
240
|
$button-custom-styles: () !default;
|
|
@@ -276,52 +292,76 @@ $typography-variables: (line-length, text-container-padding);
|
|
|
276
292
|
.rmd-typography {
|
|
277
293
|
@include utils.map-to-styles($base-font-styles);
|
|
278
294
|
|
|
279
|
-
|
|
280
|
-
|
|
295
|
+
@if not $disable-headline-1 {
|
|
296
|
+
&--headline-1 {
|
|
297
|
+
@include utils.map-to-styles($headline-1-styles);
|
|
298
|
+
}
|
|
281
299
|
}
|
|
282
300
|
|
|
283
|
-
|
|
284
|
-
|
|
301
|
+
@if not $disable-headline-2 {
|
|
302
|
+
&--headline-2 {
|
|
303
|
+
@include utils.map-to-styles($headline-2-styles);
|
|
304
|
+
}
|
|
285
305
|
}
|
|
286
306
|
|
|
287
|
-
|
|
288
|
-
|
|
307
|
+
@if not $disable-headline-3 {
|
|
308
|
+
&--headline-3 {
|
|
309
|
+
@include utils.map-to-styles($headline-3-styles);
|
|
310
|
+
}
|
|
289
311
|
}
|
|
290
312
|
|
|
291
|
-
|
|
292
|
-
|
|
313
|
+
@if not $disable-headline-4 {
|
|
314
|
+
&--headline-4 {
|
|
315
|
+
@include utils.map-to-styles($headline-4-styles);
|
|
316
|
+
}
|
|
293
317
|
}
|
|
294
318
|
|
|
295
|
-
|
|
296
|
-
|
|
319
|
+
@if not $disable-headline-5 {
|
|
320
|
+
&--headline-5 {
|
|
321
|
+
@include utils.map-to-styles($headline-5-styles);
|
|
322
|
+
}
|
|
297
323
|
}
|
|
298
324
|
|
|
299
|
-
|
|
300
|
-
|
|
325
|
+
@if not $disable-headline-6 {
|
|
326
|
+
&--headline-6 {
|
|
327
|
+
@include utils.map-to-styles($headline-6-styles);
|
|
328
|
+
}
|
|
301
329
|
}
|
|
302
330
|
|
|
303
|
-
|
|
304
|
-
|
|
331
|
+
@if not $disable-subtitle-1 {
|
|
332
|
+
&--subtitle-1 {
|
|
333
|
+
@include utils.map-to-styles($subtitle-1-styles);
|
|
334
|
+
}
|
|
305
335
|
}
|
|
306
336
|
|
|
307
|
-
|
|
308
|
-
|
|
337
|
+
@if not $disable-subtitle-2 {
|
|
338
|
+
&--subtitle-2 {
|
|
339
|
+
@include utils.map-to-styles($subtitle-2-styles);
|
|
340
|
+
}
|
|
309
341
|
}
|
|
310
342
|
|
|
311
|
-
|
|
312
|
-
|
|
343
|
+
@if not $disable-body-1 {
|
|
344
|
+
&--body-1 {
|
|
345
|
+
@include utils.map-to-styles($body-1-styles);
|
|
346
|
+
}
|
|
313
347
|
}
|
|
314
348
|
|
|
315
|
-
|
|
316
|
-
|
|
349
|
+
@if not $disable-body-2 {
|
|
350
|
+
&--body-2 {
|
|
351
|
+
@include utils.map-to-styles($body-2-styles);
|
|
352
|
+
}
|
|
317
353
|
}
|
|
318
354
|
|
|
319
|
-
|
|
320
|
-
|
|
355
|
+
@if not $disable-caption {
|
|
356
|
+
&--caption {
|
|
357
|
+
@include utils.map-to-styles($caption-styles);
|
|
358
|
+
}
|
|
321
359
|
}
|
|
322
360
|
|
|
323
|
-
|
|
324
|
-
|
|
361
|
+
@if not $disable-overline {
|
|
362
|
+
&--overline {
|
|
363
|
+
@include utils.map-to-styles($overline-styles);
|
|
364
|
+
}
|
|
325
365
|
}
|
|
326
366
|
}
|
|
327
367
|
}
|
package/src/useEnsuredState.ts
CHANGED
|
@@ -9,7 +9,7 @@ import type { UseStateInitializer, UseStateSetter } from "./types.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export interface EnsuredStateOptions<
|
|
11
11
|
V,
|
|
12
|
-
Setter extends Dispatch<V> | UseStateSetter<V>,
|
|
12
|
+
Setter extends Dispatch<V> | UseStateSetter<V> = UseStateSetter<V>,
|
|
13
13
|
> {
|
|
14
14
|
value?: V;
|
|
15
15
|
setValue?: Setter;
|
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
const identity = <T>(item: T): string => {
|
|
4
|
-
if (typeof item === "string") {
|
|
5
|
-
return item;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
if (process.env.NODE_ENV !== "production") {
|
|
9
|
-
throw new Error(
|
|
10
|
-
"A `TextExtractor` must be provided to `alphaNumericSort` for lists that do not contain strings"
|
|
11
|
-
);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return "";
|
|
15
|
-
};
|
|
1
|
+
import { defaultExtractor } from "../searching/utils.js";
|
|
2
|
+
import { type TextExtractor } from "../types.js";
|
|
16
3
|
|
|
17
4
|
/**
|
|
18
5
|
* The default `Intl.Collator` that should be used for sorting large lists.
|
|
@@ -131,7 +118,7 @@ export function alphaNumericSort<T>(
|
|
|
131
118
|
): readonly T[] {
|
|
132
119
|
const {
|
|
133
120
|
compare = DEFAULT_COLLATOR.compare,
|
|
134
|
-
extractor =
|
|
121
|
+
extractor = defaultExtractor("alphaNumericSort"),
|
|
135
122
|
descending = false,
|
|
136
123
|
} = options;
|
|
137
124
|
|
package/tsconfig.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"allowSyntheticDefaultImports": true,
|
|
14
14
|
"forceConsistentCasingInFileNames": true,
|
|
15
15
|
"jsx": "preserve",
|
|
16
|
-
"lib": ["dom", "dom.iterable", "esnext"]
|
|
16
|
+
"lib": ["dom", "dom.iterable", "esnext"]
|
|
17
17
|
},
|
|
18
|
-
"exclude": ["node_modules", "dist"]
|
|
18
|
+
"exclude": ["node_modules", "dist"]
|
|
19
19
|
}
|
package/tsconfig.types.json
CHANGED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type ReactElement } from "react";
|
|
2
|
-
import { type OptionProps } from "./Option.js";
|
|
3
|
-
/**
|
|
4
|
-
* @remarks \@since 6.0.0
|
|
5
|
-
*/
|
|
6
|
-
export interface SelectValueProps extends Partial<OptionProps> {
|
|
7
|
-
disableAddon: boolean;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* **Server Component**
|
|
11
|
-
*
|
|
12
|
-
* This component is used to render the current option.
|
|
13
|
-
*
|
|
14
|
-
* @remarks \@since 6.0.0
|
|
15
|
-
* @internal
|
|
16
|
-
*/
|
|
17
|
-
export declare function SelectValue(props: SelectValueProps): ReactElement;
|
package/dist/form/SelectValue.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cnb } from "cnbuilder";
|
|
3
|
-
import { bem } from "../utils/bem.js";
|
|
4
|
-
const styles = bem("rmd-select-value");
|
|
5
|
-
/**
|
|
6
|
-
* **Server Component**
|
|
7
|
-
*
|
|
8
|
-
* This component is used to render the current option.
|
|
9
|
-
*
|
|
10
|
-
* @remarks \@since 6.0.0
|
|
11
|
-
* @internal
|
|
12
|
-
*/ export function SelectValue(props) {
|
|
13
|
-
const { leftAddon, disableAddon, children: propChildren } = props;
|
|
14
|
-
let children = propChildren;
|
|
15
|
-
// when the children are a string or number, wrap it in additional span so
|
|
16
|
-
// that overflow can be ellipsis-ed
|
|
17
|
-
if (typeof children === "string" || typeof children === "number") {
|
|
18
|
-
children = /*#__PURE__*/ _jsx("span", {
|
|
19
|
-
className: styles("v"),
|
|
20
|
-
children: children
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
return /*#__PURE__*/ _jsxs("div", {
|
|
24
|
-
className: cnb(styles()),
|
|
25
|
-
children: [
|
|
26
|
-
!disableAddon && leftAddon,
|
|
27
|
-
children
|
|
28
|
-
]
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=SelectValue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/form/SelectValue.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport { type ReactElement } from \"react\";\nimport { bem } from \"../utils/bem.js\";\nimport { type OptionProps } from \"./Option.js\";\n\nconst styles = bem(\"rmd-select-value\");\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface SelectValueProps extends Partial<OptionProps> {\n disableAddon: boolean;\n}\n\n/**\n * **Server Component**\n *\n * This component is used to render the current option.\n *\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport function SelectValue(props: SelectValueProps): ReactElement {\n const { leftAddon, disableAddon, children: propChildren } = props;\n\n let children = propChildren;\n // when the children are a string or number, wrap it in additional span so\n // that overflow can be ellipsis-ed\n if (typeof children === \"string\" || typeof children === \"number\") {\n children = <span className={styles(\"v\")}>{children}</span>;\n }\n\n return (\n <div className={cnb(styles())}>\n {!disableAddon && leftAddon}\n {children}\n </div>\n );\n}\n"],"names":["cnb","bem","styles","SelectValue","props","leftAddon","disableAddon","children","propChildren","span","className","div"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAEhC,SAASC,GAAG,QAAQ,kBAAkB;AAGtC,MAAMC,SAASD,IAAI;AASnB;;;;;;;CAOC,GACD,OAAO,SAASE,YAAYC,KAAuB;IACjD,MAAM,EAAEC,SAAS,EAAEC,YAAY,EAAEC,UAAUC,YAAY,EAAE,GAAGJ;IAE5D,IAAIG,WAAWC;IACf,0EAA0E;IAC1E,mCAAmC;IACnC,IAAI,OAAOD,aAAa,YAAY,OAAOA,aAAa,UAAU;QAChEA,yBAAW,KAACE;YAAKC,WAAWR,OAAO;sBAAOK;;IAC5C;IAEA,qBACE,MAACI;QAAID,WAAWV,IAAIE;;YACjB,CAACI,gBAAgBD;YACjBE;;;AAGP"}
|
package/dist/utils/filters.d.ts
DELETED
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import type { TextExtractor } from "../types.js";
|
|
2
|
-
/**
|
|
3
|
-
* @remarks \@since 6.0.0
|
|
4
|
-
*/
|
|
5
|
-
export interface BaseFilterOptions<T> {
|
|
6
|
-
list: readonly T[];
|
|
7
|
-
/**
|
|
8
|
-
* The current query string. i.e. `"SeArch"`
|
|
9
|
-
*/
|
|
10
|
-
query: string;
|
|
11
|
-
/**
|
|
12
|
-
* This is required if the list includes anything other than strings.
|
|
13
|
-
* @see {@link TextExtractor}
|
|
14
|
-
*/
|
|
15
|
-
extractor?: TextExtractor<T>;
|
|
16
|
-
/**
|
|
17
|
-
* @defaultValue `"keep"`
|
|
18
|
-
*/
|
|
19
|
-
whitespace?: "ignore" | "trim" | "keep";
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @internal
|
|
23
|
-
* @remarks \@since 6.0.0
|
|
24
|
-
*/
|
|
25
|
-
export interface FilterOptions<T> extends BaseFilterOptions<T> {
|
|
26
|
-
filter(query: string, value: string): boolean;
|
|
27
|
-
extractor: TextExtractor<T>;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* @remarks \@since 6.0.0
|
|
31
|
-
*/
|
|
32
|
-
export interface CaseInsensitiveOptions<T> extends BaseFilterOptions<T> {
|
|
33
|
-
/**
|
|
34
|
-
* Set this to `true` if the item in the list must start with the query
|
|
35
|
-
* instead of only including it.
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```ts
|
|
39
|
-
* const fruits = ["Apple", "Banana", "Grape", "Orange"];
|
|
40
|
-
*
|
|
41
|
-
* caseInsensitiveFilter({
|
|
42
|
-
* list: fruits,
|
|
43
|
-
* query: "ap",
|
|
44
|
-
* });
|
|
45
|
-
* // ["Apple", "Grape"]
|
|
46
|
-
*
|
|
47
|
-
* caseInsensitiveFilter({
|
|
48
|
-
* list: fruits,
|
|
49
|
-
* query: "ap",
|
|
50
|
-
* startsWith: true,
|
|
51
|
-
* });
|
|
52
|
-
* // ["Apple"]
|
|
53
|
-
* ```
|
|
54
|
-
*
|
|
55
|
-
* @defaultValue `false`
|
|
56
|
-
*/
|
|
57
|
-
startsWith?: boolean;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* @example
|
|
61
|
-
* String list
|
|
62
|
-
* ```ts
|
|
63
|
-
* const fruits = ["Apple", "Banana", "Grape", "Orange"];
|
|
64
|
-
*
|
|
65
|
-
* caseInsensitiveFilter({
|
|
66
|
-
* list: fruits,
|
|
67
|
-
* query: "ap",
|
|
68
|
-
* });
|
|
69
|
-
* // ["Apple", "Grape"]
|
|
70
|
-
*
|
|
71
|
-
* caseInsensitiveFilter({
|
|
72
|
-
* list: fruits,
|
|
73
|
-
* query: "ap",
|
|
74
|
-
* startsWith: true,
|
|
75
|
-
* });
|
|
76
|
-
* // ["Apple"]
|
|
77
|
-
*
|
|
78
|
-
* caseInsensitiveFilter({
|
|
79
|
-
* list: fruits,
|
|
80
|
-
* query: " a p",
|
|
81
|
-
* });
|
|
82
|
-
* // []
|
|
83
|
-
*
|
|
84
|
-
* caseInsensitiveFilter({
|
|
85
|
-
* list: fruits,
|
|
86
|
-
* query: " a p",
|
|
87
|
-
* whitespace: "ignore",
|
|
88
|
-
* });
|
|
89
|
-
* // ["Apple", "Grape"]
|
|
90
|
-
*
|
|
91
|
-
* caseInsensitiveFilter({
|
|
92
|
-
* list: fruits,
|
|
93
|
-
* query: " ap ",
|
|
94
|
-
* whitespace: "trim",
|
|
95
|
-
* });
|
|
96
|
-
* // ["Apple", "Grape"]
|
|
97
|
-
* ```
|
|
98
|
-
*
|
|
99
|
-
* @example
|
|
100
|
-
* Objects
|
|
101
|
-
* ```ts
|
|
102
|
-
* const fruits = [
|
|
103
|
-
* { name: "Apple", value: 0 },
|
|
104
|
-
* { name: "Banana", value: 1 },
|
|
105
|
-
* { name: "Grape", value: 2 },
|
|
106
|
-
* { name: "Orange", value: 3 },
|
|
107
|
-
* ];
|
|
108
|
-
*
|
|
109
|
-
* caseInsensitiveFilter({
|
|
110
|
-
* list: fruits,
|
|
111
|
-
* query: "ap",
|
|
112
|
-
* extractor: (item) => item.name,
|
|
113
|
-
* });
|
|
114
|
-
* // [{ name: "Apple", value: 0 }, { name: "Grape", value: 2 }]
|
|
115
|
-
* ```
|
|
116
|
-
*
|
|
117
|
-
* @remarks \@since 6.0.0
|
|
118
|
-
*/
|
|
119
|
-
export declare function caseInsensitiveFilter<T extends string>(options: Omit<CaseInsensitiveOptions<T>, "extractor">): readonly T[];
|
|
120
|
-
export declare function caseInsensitiveFilter<T>(options: CaseInsensitiveOptions<T> & {
|
|
121
|
-
extractor: TextExtractor<T>;
|
|
122
|
-
}): readonly T[];
|
|
123
|
-
/**
|
|
124
|
-
* @remarks \@since 6.0.0
|
|
125
|
-
*/
|
|
126
|
-
export type FuzzyFilterOptions<T> = BaseFilterOptions<T>;
|
|
127
|
-
/**
|
|
128
|
-
* Filters a list by making sure that all the letters appear in order ignoring
|
|
129
|
-
* case, punctuation, whitespace, and special characters. This is kind of the
|
|
130
|
-
* same filtering that appears in text editors.
|
|
131
|
-
*
|
|
132
|
-
* @example
|
|
133
|
-
* Simple Example
|
|
134
|
-
* ```ts
|
|
135
|
-
* const list = [
|
|
136
|
-
* "at",
|
|
137
|
-
* "charAt",
|
|
138
|
-
* "charCodeAt",
|
|
139
|
-
* "codePointAt",
|
|
140
|
-
* "concat",
|
|
141
|
-
* "constructor",
|
|
142
|
-
* "endsWith",
|
|
143
|
-
* "includes",
|
|
144
|
-
* "indexOf",
|
|
145
|
-
* "lastIndexOf",
|
|
146
|
-
* "length",
|
|
147
|
-
* "localeCompare",
|
|
148
|
-
* "match",
|
|
149
|
-
* "matchAll",
|
|
150
|
-
* "normalize",
|
|
151
|
-
* "padEnd",
|
|
152
|
-
* "padStart",
|
|
153
|
-
* "repeat",
|
|
154
|
-
* "replace",
|
|
155
|
-
* "replaceAll",
|
|
156
|
-
* "search",
|
|
157
|
-
* "slice",
|
|
158
|
-
* "split",
|
|
159
|
-
* "startsWith",
|
|
160
|
-
* "substring",
|
|
161
|
-
* "toLocaleLowerCase",
|
|
162
|
-
* "toLocaleUpperCase",
|
|
163
|
-
* "toLowerCase",
|
|
164
|
-
* "toString",
|
|
165
|
-
* "toUpperCase",
|
|
166
|
-
* "trim",
|
|
167
|
-
* "trimEnd",
|
|
168
|
-
* "trimStart",
|
|
169
|
-
* "valueOf",
|
|
170
|
-
* ];
|
|
171
|
-
*
|
|
172
|
-
* fuzzyFilter({ list: list, query: "la" });
|
|
173
|
-
* // [
|
|
174
|
-
* // "lastIndexOf",
|
|
175
|
-
* // ^^
|
|
176
|
-
* // "localeCompare",
|
|
177
|
-
* // ^ ^
|
|
178
|
-
* // "replace",
|
|
179
|
-
* // ^^
|
|
180
|
-
* // "replaceAll",
|
|
181
|
-
* // ^^
|
|
182
|
-
* // "toLocaleLowerCase",
|
|
183
|
-
* // ^ ^
|
|
184
|
-
* // "toLocaleUpperCase",
|
|
185
|
-
* // ^ ^
|
|
186
|
-
* // "toLowerCase",
|
|
187
|
-
* // ^ ^
|
|
188
|
-
* // ]
|
|
189
|
-
* ```
|
|
190
|
-
*
|
|
191
|
-
* @remarks \@since 6.0.0
|
|
192
|
-
*/
|
|
193
|
-
export declare function fuzzyFilter<T extends string>(options: Omit<FuzzyFilterOptions<T>, "extractor">): readonly T[];
|
|
194
|
-
export declare function fuzzyFilter<T>(option: FuzzyFilterOptions<T> & {
|
|
195
|
-
extractor: TextExtractor<T>;
|
|
196
|
-
}): readonly T[];
|
package/dist/utils/filters.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/** @internal */ const identity = (name)=>(item)=>{
|
|
2
|
-
if (typeof item === "string") {
|
|
3
|
-
return item;
|
|
4
|
-
}
|
|
5
|
-
throw new Error(`A \`TextExtractor\` must be provided to \`${name}\` for lists that do not contain strings`);
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* @internal
|
|
9
|
-
* @remarks \@since 6.0.0
|
|
10
|
-
*/ const toSearchString = (s, whitespace)=>{
|
|
11
|
-
let q = s.toLowerCase();
|
|
12
|
-
if (whitespace === "ignore") {
|
|
13
|
-
q = q.replace(/\s/g, "");
|
|
14
|
-
} else if (whitespace === "trim") {
|
|
15
|
-
q = q.trim();
|
|
16
|
-
}
|
|
17
|
-
return q;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* @internal
|
|
21
|
-
* @remarks \@since 6.0.0
|
|
22
|
-
*/ function filter(options) {
|
|
23
|
-
const { list, query, filter, extractor, whitespace = "keep" } = options;
|
|
24
|
-
if (!list.length) {
|
|
25
|
-
return list;
|
|
26
|
-
}
|
|
27
|
-
const q = toSearchString(query, whitespace);
|
|
28
|
-
if (!q) {
|
|
29
|
-
return list;
|
|
30
|
-
}
|
|
31
|
-
return list.filter((item)=>filter(q, toSearchString(extractor(item), whitespace)));
|
|
32
|
-
}
|
|
33
|
-
export function caseInsensitiveFilter(options) {
|
|
34
|
-
const { list, query, extractor = identity("caseInsensitiveFilter"), startsWith, whitespace } = options;
|
|
35
|
-
return filter({
|
|
36
|
-
list,
|
|
37
|
-
query,
|
|
38
|
-
extractor,
|
|
39
|
-
whitespace,
|
|
40
|
-
filter (q, value) {
|
|
41
|
-
const matchIndex = value.indexOf(q);
|
|
42
|
-
if (startsWith) {
|
|
43
|
-
return matchIndex === 0;
|
|
44
|
-
}
|
|
45
|
-
return matchIndex !== -1;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
export function fuzzyFilter(options) {
|
|
50
|
-
const { list, query, extractor = identity("fuzzyFilter"), whitespace } = options;
|
|
51
|
-
let regexp;
|
|
52
|
-
return filter({
|
|
53
|
-
list,
|
|
54
|
-
query,
|
|
55
|
-
extractor,
|
|
56
|
-
whitespace,
|
|
57
|
-
filter (query, value) {
|
|
58
|
-
if (!regexp) {
|
|
59
|
-
regexp = new RegExp(`${query}`.split("").join("\\w*").replace(/(\(|\||\)|\\(?!w\*)|\[|\|-|\.|\^|\+|\$|\?|^(?!w)\*)/g, "\\$1")// Couldn't get the matching of two '*' working, so replace them here..
|
|
60
|
-
.replace(/\*\*/g, "*\\*"), "i");
|
|
61
|
-
}
|
|
62
|
-
return value.length > 0 && regexp.test(value);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
//# sourceMappingURL=filters.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/filters.ts"],"sourcesContent":["import type { TextExtractor } from \"../types.js\";\n\n/** @internal */\nconst identity =\n <T>(name: string) =>\n (item: T): string => {\n if (typeof item === \"string\") {\n return item;\n }\n\n throw new Error(\n `A \\`TextExtractor\\` must be provided to \\`${name}\\` for lists that do not contain strings`\n );\n };\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface BaseFilterOptions<T> {\n list: readonly T[];\n\n /**\n * The current query string. i.e. `\"SeArch\"`\n */\n query: string;\n\n /**\n * This is required if the list includes anything other than strings.\n * @see {@link TextExtractor}\n */\n extractor?: TextExtractor<T>;\n\n /**\n * @defaultValue `\"keep\"`\n */\n whitespace?: \"ignore\" | \"trim\" | \"keep\";\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nexport interface FilterOptions<T> extends BaseFilterOptions<T> {\n filter(query: string, value: string): boolean;\n extractor: TextExtractor<T>;\n}\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nconst toSearchString = (\n s: string,\n whitespace: \"trim\" | \"ignore\" | \"keep\"\n): string => {\n let q = s.toLowerCase();\n if (whitespace === \"ignore\") {\n q = q.replace(/\\s/g, \"\");\n } else if (whitespace === \"trim\") {\n q = q.trim();\n }\n\n return q;\n};\n\n/**\n * @internal\n * @remarks \\@since 6.0.0\n */\nfunction filter<T>(options: FilterOptions<T>): readonly T[] {\n const { list, query, filter, extractor, whitespace = \"keep\" } = options;\n if (!list.length) {\n return list;\n }\n\n const q = toSearchString(query, whitespace);\n if (!q) {\n return list;\n }\n\n return list.filter((item) =>\n filter(q, toSearchString(extractor(item), whitespace))\n );\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface CaseInsensitiveOptions<T> extends BaseFilterOptions<T> {\n /**\n * Set this to `true` if the item in the list must start with the query\n * instead of only including it.\n *\n * @example\n * ```ts\n * const fruits = [\"Apple\", \"Banana\", \"Grape\", \"Orange\"];\n *\n * caseInsensitiveFilter({\n * list: fruits,\n * query: \"ap\",\n * });\n * // [\"Apple\", \"Grape\"]\n *\n * caseInsensitiveFilter({\n * list: fruits,\n * query: \"ap\",\n * startsWith: true,\n * });\n * // [\"Apple\"]\n * ```\n *\n * @defaultValue `false`\n */\n startsWith?: boolean;\n}\n\n/**\n * @example\n * String list\n * ```ts\n * const fruits = [\"Apple\", \"Banana\", \"Grape\", \"Orange\"];\n *\n * caseInsensitiveFilter({\n * list: fruits,\n * query: \"ap\",\n * });\n * // [\"Apple\", \"Grape\"]\n *\n * caseInsensitiveFilter({\n * list: fruits,\n * query: \"ap\",\n * startsWith: true,\n * });\n * // [\"Apple\"]\n *\n * caseInsensitiveFilter({\n * list: fruits,\n * query: \" a p\",\n * });\n * // []\n *\n * caseInsensitiveFilter({\n * list: fruits,\n * query: \" a p\",\n * whitespace: \"ignore\",\n * });\n * // [\"Apple\", \"Grape\"]\n *\n * caseInsensitiveFilter({\n * list: fruits,\n * query: \" ap \",\n * whitespace: \"trim\",\n * });\n * // [\"Apple\", \"Grape\"]\n * ```\n *\n * @example\n * Objects\n * ```ts\n * const fruits = [\n * { name: \"Apple\", value: 0 },\n * { name: \"Banana\", value: 1 },\n * { name: \"Grape\", value: 2 },\n * { name: \"Orange\", value: 3 },\n * ];\n *\n * caseInsensitiveFilter({\n * list: fruits,\n * query: \"ap\",\n * extractor: (item) => item.name,\n * });\n * // [{ name: \"Apple\", value: 0 }, { name: \"Grape\", value: 2 }]\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function caseInsensitiveFilter<T extends string>(\n options: Omit<CaseInsensitiveOptions<T>, \"extractor\">\n): readonly T[];\nexport function caseInsensitiveFilter<T>(\n options: CaseInsensitiveOptions<T> & { extractor: TextExtractor<T> }\n): readonly T[];\nexport function caseInsensitiveFilter<T>(\n options: CaseInsensitiveOptions<T>\n): readonly T[] {\n const {\n list,\n query,\n extractor = identity(\"caseInsensitiveFilter\"),\n startsWith,\n whitespace,\n } = options;\n\n return filter({\n list,\n query,\n extractor,\n whitespace,\n filter(q, value) {\n const matchIndex = value.indexOf(q);\n if (startsWith) {\n return matchIndex === 0;\n }\n\n return matchIndex !== -1;\n },\n });\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type FuzzyFilterOptions<T> = BaseFilterOptions<T>;\n\n/**\n * Filters a list by making sure that all the letters appear in order ignoring\n * case, punctuation, whitespace, and special characters. This is kind of the\n * same filtering that appears in text editors.\n *\n * @example\n * Simple Example\n * ```ts\n * const list = [\n * \"at\",\n * \"charAt\",\n * \"charCodeAt\",\n * \"codePointAt\",\n * \"concat\",\n * \"constructor\",\n * \"endsWith\",\n * \"includes\",\n * \"indexOf\",\n * \"lastIndexOf\",\n * \"length\",\n * \"localeCompare\",\n * \"match\",\n * \"matchAll\",\n * \"normalize\",\n * \"padEnd\",\n * \"padStart\",\n * \"repeat\",\n * \"replace\",\n * \"replaceAll\",\n * \"search\",\n * \"slice\",\n * \"split\",\n * \"startsWith\",\n * \"substring\",\n * \"toLocaleLowerCase\",\n * \"toLocaleUpperCase\",\n * \"toLowerCase\",\n * \"toString\",\n * \"toUpperCase\",\n * \"trim\",\n * \"trimEnd\",\n * \"trimStart\",\n * \"valueOf\",\n * ];\n *\n * fuzzyFilter({ list: list, query: \"la\" });\n * // [\n * // \"lastIndexOf\",\n * // ^^\n * // \"localeCompare\",\n * // ^ ^\n * // \"replace\",\n * // ^^\n * // \"replaceAll\",\n * // ^^\n * // \"toLocaleLowerCase\",\n * // ^ ^\n * // \"toLocaleUpperCase\",\n * // ^ ^\n * // \"toLowerCase\",\n * // ^ ^\n * // ]\n * ```\n *\n * @remarks \\@since 6.0.0\n */\nexport function fuzzyFilter<T extends string>(\n options: Omit<FuzzyFilterOptions<T>, \"extractor\">\n): readonly T[];\nexport function fuzzyFilter<T>(\n option: FuzzyFilterOptions<T> & { extractor: TextExtractor<T> }\n): readonly T[];\nexport function fuzzyFilter<T>(options: FuzzyFilterOptions<T>): readonly T[] {\n const {\n list,\n query,\n extractor = identity(\"fuzzyFilter\"),\n whitespace,\n } = options;\n\n let regexp: RegExp;\n return filter({\n list,\n query,\n extractor,\n whitespace,\n filter(query, value) {\n if (!regexp) {\n regexp = new RegExp(\n `${query}`\n .split(\"\")\n .join(\"\\\\w*\")\n .replace(\n /(\\(|\\||\\)|\\\\(?!w\\*)|\\[|\\|-|\\.|\\^|\\+|\\$|\\?|^(?!w)\\*)/g,\n \"\\\\$1\"\n )\n // Couldn't get the matching of two '*' working, so replace them here..\n .replace(/\\*\\*/g, \"*\\\\*\"),\n \"i\"\n );\n }\n\n return value.length > 0 && regexp.test(value);\n },\n });\n}\n"],"names":["identity","name","item","Error","toSearchString","s","whitespace","q","toLowerCase","replace","trim","filter","options","list","query","extractor","length","caseInsensitiveFilter","startsWith","value","matchIndex","indexOf","fuzzyFilter","regexp","RegExp","split","join","test"],"mappings":"AAEA,cAAc,GACd,MAAMA,WACJ,CAAIC,OACJ,CAACC;QACC,IAAI,OAAOA,SAAS,UAAU;YAC5B,OAAOA;QACT;QAEA,MAAM,IAAIC,MACR,CAAC,0CAA0C,EAAEF,KAAK,wCAAwC,CAAC;IAE/F;AAkCF;;;CAGC,GACD,MAAMG,iBAAiB,CACrBC,GACAC;IAEA,IAAIC,IAAIF,EAAEG,WAAW;IACrB,IAAIF,eAAe,UAAU;QAC3BC,IAAIA,EAAEE,OAAO,CAAC,OAAO;IACvB,OAAO,IAAIH,eAAe,QAAQ;QAChCC,IAAIA,EAAEG,IAAI;IACZ;IAEA,OAAOH;AACT;AAEA;;;CAGC,GACD,SAASI,OAAUC,OAAyB;IAC1C,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEH,MAAM,EAAEI,SAAS,EAAET,aAAa,MAAM,EAAE,GAAGM;IAChE,IAAI,CAACC,KAAKG,MAAM,EAAE;QAChB,OAAOH;IACT;IAEA,MAAMN,IAAIH,eAAeU,OAAOR;IAChC,IAAI,CAACC,GAAG;QACN,OAAOM;IACT;IAEA,OAAOA,KAAKF,MAAM,CAAC,CAACT,OAClBS,OAAOJ,GAAGH,eAAeW,UAAUb,OAAOI;AAE9C;AAmGA,OAAO,SAASW,sBACdL,OAAkC;IAElC,MAAM,EACJC,IAAI,EACJC,KAAK,EACLC,YAAYf,SAAS,wBAAwB,EAC7CkB,UAAU,EACVZ,UAAU,EACX,GAAGM;IAEJ,OAAOD,OAAO;QACZE;QACAC;QACAC;QACAT;QACAK,QAAOJ,CAAC,EAAEY,KAAK;YACb,MAAMC,aAAaD,MAAME,OAAO,CAACd;YACjC,IAAIW,YAAY;gBACd,OAAOE,eAAe;YACxB;YAEA,OAAOA,eAAe,CAAC;QACzB;IACF;AACF;AA+EA,OAAO,SAASE,YAAeV,OAA8B;IAC3D,MAAM,EACJC,IAAI,EACJC,KAAK,EACLC,YAAYf,SAAS,cAAc,EACnCM,UAAU,EACX,GAAGM;IAEJ,IAAIW;IACJ,OAAOZ,OAAO;QACZE;QACAC;QACAC;QACAT;QACAK,QAAOG,KAAK,EAAEK,KAAK;YACjB,IAAI,CAACI,QAAQ;gBACXA,SAAS,IAAIC,OACX,CAAC,EAAEV,MAAM,CAAC,CACPW,KAAK,CAAC,IACNC,IAAI,CAAC,QACLjB,OAAO,CACN,wDACA,OAEF,uEAAuE;iBACtEA,OAAO,CAAC,SAAS,SACpB;YAEJ;YAEA,OAAOU,MAAMH,MAAM,GAAG,KAAKO,OAAOI,IAAI,CAACR;QACzC;IACF;AACF"}
|
package/src/form/SelectValue.tsx
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { cnb } from "cnbuilder";
|
|
2
|
-
import { type ReactElement } from "react";
|
|
3
|
-
import { bem } from "../utils/bem.js";
|
|
4
|
-
import { type OptionProps } from "./Option.js";
|
|
5
|
-
|
|
6
|
-
const styles = bem("rmd-select-value");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @remarks \@since 6.0.0
|
|
10
|
-
*/
|
|
11
|
-
export interface SelectValueProps extends Partial<OptionProps> {
|
|
12
|
-
disableAddon: boolean;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* **Server Component**
|
|
17
|
-
*
|
|
18
|
-
* This component is used to render the current option.
|
|
19
|
-
*
|
|
20
|
-
* @remarks \@since 6.0.0
|
|
21
|
-
* @internal
|
|
22
|
-
*/
|
|
23
|
-
export function SelectValue(props: SelectValueProps): ReactElement {
|
|
24
|
-
const { leftAddon, disableAddon, children: propChildren } = props;
|
|
25
|
-
|
|
26
|
-
let children = propChildren;
|
|
27
|
-
// when the children are a string or number, wrap it in additional span so
|
|
28
|
-
// that overflow can be ellipsis-ed
|
|
29
|
-
if (typeof children === "string" || typeof children === "number") {
|
|
30
|
-
children = <span className={styles("v")}>{children}</span>;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return (
|
|
34
|
-
<div className={cnb(styles())}>
|
|
35
|
-
{!disableAddon && leftAddon}
|
|
36
|
-
{children}
|
|
37
|
-
</div>
|
|
38
|
-
);
|
|
39
|
-
}
|