@react-md/core 1.0.0-next.8 → 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 +5 -5
- package/.turbo/turbo-lint.log +13 -0
- package/CHANGELOG.md +9 -0
- package/README.md +39 -24
- package/coverage/clover.xml +1013 -404
- package/coverage/coverage-final.json +9 -2
- package/coverage/lcov-report/AutoComplete.tsx.html +283 -0
- package/coverage/lcov-report/RootHtml.tsx.html +370 -0
- package/coverage/lcov-report/Select.tsx.html +1411 -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 +36 -21
- 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/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 +928 -259
- package/dist/RootHtml.d.ts +62 -0
- package/dist/RootHtml.js +49 -0
- package/dist/RootHtml.js.map +1 -0
- 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/dialog/FixedDialog.d.ts +5 -4
- package/dist/dialog/FixedDialog.js +5 -4
- package/dist/dialog/FixedDialog.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 +8 -13
- 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/index.d.ts +14 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/menu/Menu.js +12 -1
- package/dist/menu/Menu.js.map +1 -1
- 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/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/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 +14 -13
- 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/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/dialog/FixedDialog.tsx +5 -4
- 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__/Select.tsx +439 -0
- package/src/form/__tests__/__snapshots__/Select.tsx.snap +492 -0
- package/src/form/__tests__/useFormReset.tsx +195 -0
- package/src/form/_form.scss +8 -13
- 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/index.ts +14 -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/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/transition/__tests__/utils.ts +25 -0
- package/src/transition/useCollapseTransition.ts +6 -24
- package/src/transition/utils.ts +10 -5
- 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
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>320/320</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">95.45% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>21/22</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>6/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>320/320</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -383,9 +383,54 @@
|
|
|
383
383
|
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
384
|
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
385
|
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
-
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
-
<
|
|
388
|
-
<
|
|
386
|
+
<a name='L321'></a><a href='#L321'>321</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
387
|
+
<span class="cline-any cline-yes">1x</span>
|
|
388
|
+
<span class="cline-any cline-yes">1x</span>
|
|
389
|
+
<span class="cline-any cline-yes">1x</span>
|
|
390
|
+
<span class="cline-any cline-yes">1x</span>
|
|
391
|
+
<span class="cline-any cline-yes">1x</span>
|
|
392
|
+
<span class="cline-any cline-yes">1x</span>
|
|
393
|
+
<span class="cline-any cline-yes">1x</span>
|
|
394
|
+
<span class="cline-any cline-yes">1x</span>
|
|
395
|
+
<span class="cline-any cline-yes">1x</span>
|
|
396
|
+
<span class="cline-any cline-yes">1x</span>
|
|
397
|
+
<span class="cline-any cline-yes">1x</span>
|
|
398
|
+
<span class="cline-any cline-yes">1x</span>
|
|
399
|
+
<span class="cline-any cline-yes">1x</span>
|
|
400
|
+
<span class="cline-any cline-yes">1x</span>
|
|
401
|
+
<span class="cline-any cline-yes">1x</span>
|
|
402
|
+
<span class="cline-any cline-yes">1x</span>
|
|
403
|
+
<span class="cline-any cline-yes">1x</span>
|
|
404
|
+
<span class="cline-any cline-yes">1x</span>
|
|
405
|
+
<span class="cline-any cline-yes">1x</span>
|
|
406
|
+
<span class="cline-any cline-yes">1x</span>
|
|
407
|
+
<span class="cline-any cline-yes">1x</span>
|
|
408
|
+
<span class="cline-any cline-yes">1x</span>
|
|
409
|
+
<span class="cline-any cline-yes">1x</span>
|
|
410
|
+
<span class="cline-any cline-yes">1x</span>
|
|
411
|
+
<span class="cline-any cline-yes">1x</span>
|
|
412
|
+
<span class="cline-any cline-yes">1x</span>
|
|
413
|
+
<span class="cline-any cline-yes">1x</span>
|
|
414
|
+
<span class="cline-any cline-yes">1x</span>
|
|
415
|
+
<span class="cline-any cline-yes">13x</span>
|
|
416
|
+
<span class="cline-any cline-yes">13x</span>
|
|
417
|
+
<span class="cline-any cline-yes">1x</span>
|
|
418
|
+
<span class="cline-any cline-yes">1x</span>
|
|
419
|
+
<span class="cline-any cline-yes">1x</span>
|
|
420
|
+
<span class="cline-any cline-yes">1x</span>
|
|
421
|
+
<span class="cline-any cline-yes">1x</span>
|
|
422
|
+
<span class="cline-any cline-yes">28x</span>
|
|
423
|
+
<span class="cline-any cline-yes">28x</span>
|
|
424
|
+
<span class="cline-any cline-yes">28x</span>
|
|
425
|
+
<span class="cline-any cline-yes">28x</span>
|
|
426
|
+
<span class="cline-any cline-yes">28x</span>
|
|
427
|
+
<span class="cline-any cline-yes">28x</span>
|
|
428
|
+
<span class="cline-any cline-yes">1x</span>
|
|
429
|
+
<span class="cline-any cline-yes">1x</span>
|
|
430
|
+
<span class="cline-any cline-yes">1x</span>
|
|
431
|
+
<span class="cline-any cline-yes">1x</span>
|
|
432
|
+
<span class="cline-any cline-yes">1x</span>
|
|
433
|
+
<span class="cline-any cline-yes">1x</span>
|
|
389
434
|
<span class="cline-any cline-yes">1x</span>
|
|
390
435
|
<span class="cline-any cline-yes">1x</span>
|
|
391
436
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -405,8 +450,6 @@
|
|
|
405
450
|
<span class="cline-any cline-yes">1x</span>
|
|
406
451
|
<span class="cline-any cline-yes">1x</span>
|
|
407
452
|
<span class="cline-any cline-yes">1x</span>
|
|
408
|
-
<span class="cline-any cline-no"> </span>
|
|
409
|
-
<span class="cline-any cline-no"> </span>
|
|
410
453
|
<span class="cline-any cline-yes">1x</span>
|
|
411
454
|
<span class="cline-any cline-yes">1x</span>
|
|
412
455
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -514,228 +557,242 @@
|
|
|
514
557
|
<span class="cline-any cline-yes">1x</span>
|
|
515
558
|
<span class="cline-any cline-yes">1x</span>
|
|
516
559
|
<span class="cline-any cline-yes">1x</span>
|
|
517
|
-
<span class="cline-any cline-
|
|
518
|
-
<span class="cline-any cline-
|
|
519
|
-
<span class="cline-any cline-
|
|
520
|
-
<span class="cline-any cline-
|
|
521
|
-
<span class="cline-any cline-
|
|
522
|
-
<span class="cline-any cline-
|
|
523
|
-
<span class="cline-any cline-
|
|
524
|
-
<span class="cline-any cline-
|
|
525
|
-
<span class="cline-any cline-
|
|
526
|
-
<span class="cline-any cline-
|
|
527
|
-
<span class="cline-any cline-
|
|
528
|
-
<span class="cline-any cline-
|
|
529
|
-
<span class="cline-any cline-
|
|
530
|
-
<span class="cline-any cline-
|
|
531
|
-
<span class="cline-any cline-
|
|
532
|
-
<span class="cline-any cline-
|
|
533
|
-
<span class="cline-any cline-
|
|
534
|
-
<span class="cline-any cline-
|
|
535
|
-
<span class="cline-any cline-
|
|
536
|
-
<span class="cline-any cline-
|
|
537
|
-
<span class="cline-any cline-
|
|
538
|
-
<span class="cline-any cline-
|
|
539
|
-
<span class="cline-any cline-
|
|
540
|
-
<span class="cline-any cline-
|
|
541
|
-
<span class="cline-any cline-
|
|
542
|
-
<span class="cline-any cline-
|
|
543
|
-
<span class="cline-any cline-
|
|
544
|
-
<span class="cline-any cline-
|
|
545
|
-
<span class="cline-any cline-
|
|
546
|
-
<span class="cline-any cline-
|
|
547
|
-
<span class="cline-any cline-
|
|
548
|
-
<span class="cline-any cline-
|
|
549
|
-
<span class="cline-any cline-
|
|
550
|
-
<span class="cline-any cline-
|
|
551
|
-
<span class="cline-any cline-
|
|
552
|
-
<span class="cline-any cline-
|
|
553
|
-
<span class="cline-any cline-
|
|
554
|
-
<span class="cline-any cline-
|
|
555
|
-
<span class="cline-any cline-
|
|
556
|
-
<span class="cline-any cline-
|
|
557
|
-
<span class="cline-any cline-
|
|
558
|
-
<span class="cline-any cline-
|
|
559
|
-
<span class="cline-any cline-
|
|
560
|
-
<span class="cline-any cline-
|
|
561
|
-
<span class="cline-any cline-
|
|
562
|
-
<span class="cline-any cline-
|
|
563
|
-
<span class="cline-any cline-
|
|
564
|
-
<span class="cline-any cline-
|
|
565
|
-
<span class="cline-any cline-
|
|
566
|
-
<span class="cline-any cline-
|
|
567
|
-
<span class="cline-any cline-
|
|
568
|
-
<span class="cline-any cline-
|
|
569
|
-
<span class="cline-any cline-
|
|
570
|
-
<span class="cline-any cline-
|
|
571
|
-
<span class="cline-any cline-
|
|
572
|
-
<span class="cline-any cline-
|
|
573
|
-
<span class="cline-any cline-
|
|
574
|
-
<span class="cline-any cline-
|
|
575
|
-
<span class="cline-any cline-
|
|
576
|
-
<span class="cline-any cline-
|
|
577
|
-
<span class="cline-any cline-
|
|
578
|
-
<span class="cline-any cline-
|
|
579
|
-
<span class="cline-any cline-
|
|
580
|
-
<span class="cline-any cline-
|
|
581
|
-
<span class="cline-any cline-
|
|
582
|
-
<span class="cline-any cline-
|
|
583
|
-
<span class="cline-any cline-
|
|
584
|
-
<span class="cline-any cline-
|
|
585
|
-
<span class="cline-any cline-
|
|
586
|
-
<span class="cline-any cline-
|
|
587
|
-
<span class="cline-any cline-
|
|
588
|
-
<span class="cline-any cline-
|
|
589
|
-
<span class="cline-any cline-
|
|
590
|
-
<span class="cline-any cline-
|
|
591
|
-
<span class="cline-any cline-
|
|
592
|
-
<span class="cline-any cline-
|
|
593
|
-
<span class="cline-any cline-
|
|
594
|
-
<span class="cline-any cline-
|
|
595
|
-
<span class="cline-any cline-
|
|
596
|
-
<span class="cline-any cline-
|
|
597
|
-
<span class="cline-any cline-
|
|
598
|
-
<span class="cline-any cline-
|
|
599
|
-
<span class="cline-any cline-
|
|
600
|
-
<span class="cline-any cline-
|
|
601
|
-
<span class="cline-any cline-
|
|
602
|
-
<span class="cline-any cline-
|
|
603
|
-
<span class="cline-any cline-
|
|
604
|
-
<span class="cline-any cline-
|
|
605
|
-
<span class="cline-any cline-
|
|
606
|
-
<span class="cline-any cline-
|
|
607
|
-
<span class="cline-any cline-
|
|
608
|
-
<span class="cline-any cline-
|
|
609
|
-
<span class="cline-any cline-
|
|
610
|
-
<span class="cline-any cline-
|
|
611
|
-
<span class="cline-any cline-
|
|
612
|
-
<span class="cline-any cline-
|
|
613
|
-
<span class="cline-any cline-
|
|
614
|
-
<span class="cline-any cline-
|
|
615
|
-
<span class="cline-any cline-
|
|
616
|
-
<span class="cline-any cline-
|
|
617
|
-
<span class="cline-any cline-
|
|
618
|
-
<span class="cline-any cline-
|
|
619
|
-
<span class="cline-any cline-
|
|
620
|
-
<span class="cline-any cline-
|
|
621
|
-
<span class="cline-any cline-
|
|
622
|
-
<span class="cline-any cline-
|
|
623
|
-
<span class="cline-any cline-
|
|
624
|
-
<span class="cline-any cline-
|
|
625
|
-
<span class="cline-any cline-
|
|
626
|
-
<span class="cline-any cline-
|
|
627
|
-
<span class="cline-any cline-
|
|
628
|
-
<span class="cline-any cline-
|
|
629
|
-
<span class="cline-any cline-
|
|
630
|
-
<span class="cline-any cline-
|
|
631
|
-
<span class="cline-any cline-
|
|
632
|
-
<span class="cline-any cline-
|
|
633
|
-
<span class="cline-any cline-
|
|
634
|
-
<span class="cline-any cline-
|
|
635
|
-
<span class="cline-any cline-
|
|
636
|
-
<span class="cline-any cline-
|
|
637
|
-
<span class="cline-any cline-
|
|
638
|
-
<span class="cline-any cline-
|
|
639
|
-
<span class="cline-any cline-
|
|
640
|
-
<span class="cline-any cline-
|
|
641
|
-
<span class="cline-any cline-
|
|
642
|
-
<span class="cline-any cline-
|
|
643
|
-
<span class="cline-any cline-
|
|
644
|
-
<span class="cline-any cline-
|
|
645
|
-
<span class="cline-any cline-
|
|
646
|
-
<span class="cline-any cline-
|
|
647
|
-
<span class="cline-any cline-
|
|
648
|
-
<span class="cline-any cline-
|
|
649
|
-
<span class="cline-any cline-
|
|
650
|
-
<span class="cline-any cline-
|
|
651
|
-
<span class="cline-any cline-
|
|
652
|
-
<span class="cline-any cline-
|
|
653
|
-
<span class="cline-any cline-
|
|
654
|
-
<span class="cline-any cline-
|
|
655
|
-
<span class="cline-any cline-
|
|
656
|
-
<span class="cline-any cline-
|
|
657
|
-
<span class="cline-any cline-
|
|
658
|
-
<span class="cline-any cline-
|
|
659
|
-
<span class="cline-any cline-
|
|
660
|
-
<span class="cline-any cline-
|
|
661
|
-
<span class="cline-any cline-
|
|
662
|
-
<span class="cline-any cline-
|
|
663
|
-
<span class="cline-any cline-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
<span class="cline-any cline-no"> </span>
|
|
673
|
-
<span class="cline-any cline-no"> </span>
|
|
674
|
-
<span class="cline-any cline-no"> </span>
|
|
675
|
-
<span class="cline-any cline-no"> </span>
|
|
676
|
-
<span class="cline-any cline-no"> </span>
|
|
677
|
-
<span class="cline-any cline-no"> </span>
|
|
678
|
-
<span class="cline-any cline-no"> </span>
|
|
679
|
-
<span class="cline-any cline-no"> </span>
|
|
680
|
-
<span class="cline-any cline-no"> </span>
|
|
681
|
-
<span class="cline-any cline-no"> </span>
|
|
682
|
-
<span class="cline-any cline-no"> </span>
|
|
683
|
-
<span class="cline-any cline-no"> </span>
|
|
684
|
-
<span class="cline-any cline-no"> </span>
|
|
685
|
-
<span class="cline-any cline-no"> </span>
|
|
686
|
-
<span class="cline-any cline-no"> </span>
|
|
687
|
-
<span class="cline-any cline-no"> </span>
|
|
688
|
-
<span class="cline-any cline-no"> </span>
|
|
689
|
-
<span class="cline-any cline-no"> </span>
|
|
690
|
-
<span class="cline-any cline-no"> </span>
|
|
691
|
-
<span class="cline-any cline-no"> </span>
|
|
692
|
-
<span class="cline-any cline-no"> </span>
|
|
693
|
-
<span class="cline-any cline-no"> </span>
|
|
694
|
-
<span class="cline-any cline-no"> </span>
|
|
695
|
-
<span class="cline-any cline-no"> </span>
|
|
696
|
-
<span class="cline-any cline-no"> </span>
|
|
697
|
-
<span class="cline-any cline-no"> </span>
|
|
698
|
-
<span class="cline-any cline-no"> </span>
|
|
699
|
-
<span class="cline-any cline-no"> </span>
|
|
700
|
-
<span class="cline-any cline-no"> </span>
|
|
701
|
-
<span class="cline-any cline-no"> </span>
|
|
702
|
-
<span class="cline-any cline-no"> </span>
|
|
703
|
-
<span class="cline-any cline-no"> </span>
|
|
704
|
-
<span class="cline-any cline-no"> </span>
|
|
705
|
-
<span class="cline-any cline-no"> </span>
|
|
706
|
-
<span class="cline-any cline-no"> </span>
|
|
707
|
-
<span class="cline-any cline-no"> </span>
|
|
708
|
-
<span class="cline-any cline-no"> </span>
|
|
709
|
-
<span class="cline-any cline-no"> </span>
|
|
710
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type {
|
|
711
|
-
AriaAttributes,
|
|
712
|
-
FocusEventHandler,
|
|
713
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
714
|
-
InputHTMLAttributes,
|
|
715
|
-
KeyboardEventHandler,
|
|
716
|
-
MouseEventHandler,
|
|
717
|
-
Ref,
|
|
718
|
-
RefCallback,
|
|
719
|
-
RefObject,
|
|
560
|
+
<span class="cline-any cline-yes">1x</span>
|
|
561
|
+
<span class="cline-any cline-yes">1x</span>
|
|
562
|
+
<span class="cline-any cline-yes">1x</span>
|
|
563
|
+
<span class="cline-any cline-yes">1x</span>
|
|
564
|
+
<span class="cline-any cline-yes">1x</span>
|
|
565
|
+
<span class="cline-any cline-yes">87x</span>
|
|
566
|
+
<span class="cline-any cline-yes">87x</span>
|
|
567
|
+
<span class="cline-any cline-yes">87x</span>
|
|
568
|
+
<span class="cline-any cline-yes">87x</span>
|
|
569
|
+
<span class="cline-any cline-yes">87x</span>
|
|
570
|
+
<span class="cline-any cline-yes">87x</span>
|
|
571
|
+
<span class="cline-any cline-yes">87x</span>
|
|
572
|
+
<span class="cline-any cline-yes">87x</span>
|
|
573
|
+
<span class="cline-any cline-yes">87x</span>
|
|
574
|
+
<span class="cline-any cline-yes">87x</span>
|
|
575
|
+
<span class="cline-any cline-yes">87x</span>
|
|
576
|
+
<span class="cline-any cline-yes">87x</span>
|
|
577
|
+
<span class="cline-any cline-yes">87x</span>
|
|
578
|
+
<span class="cline-any cline-yes">87x</span>
|
|
579
|
+
<span class="cline-any cline-yes">87x</span>
|
|
580
|
+
<span class="cline-any cline-yes">87x</span>
|
|
581
|
+
<span class="cline-any cline-yes">87x</span>
|
|
582
|
+
<span class="cline-any cline-yes">87x</span>
|
|
583
|
+
<span class="cline-any cline-yes">87x</span>
|
|
584
|
+
<span class="cline-any cline-yes">87x</span>
|
|
585
|
+
<span class="cline-any cline-yes">87x</span>
|
|
586
|
+
<span class="cline-any cline-yes">87x</span>
|
|
587
|
+
<span class="cline-any cline-yes">87x</span>
|
|
588
|
+
<span class="cline-any cline-yes">87x</span>
|
|
589
|
+
<span class="cline-any cline-yes">87x</span>
|
|
590
|
+
<span class="cline-any cline-yes">87x</span>
|
|
591
|
+
<span class="cline-any cline-yes">87x</span>
|
|
592
|
+
<span class="cline-any cline-yes">87x</span>
|
|
593
|
+
<span class="cline-any cline-yes">87x</span>
|
|
594
|
+
<span class="cline-any cline-yes">87x</span>
|
|
595
|
+
<span class="cline-any cline-yes">87x</span>
|
|
596
|
+
<span class="cline-any cline-yes">87x</span>
|
|
597
|
+
<span class="cline-any cline-yes">87x</span>
|
|
598
|
+
<span class="cline-any cline-yes">87x</span>
|
|
599
|
+
<span class="cline-any cline-yes">87x</span>
|
|
600
|
+
<span class="cline-any cline-yes">87x</span>
|
|
601
|
+
<span class="cline-any cline-yes">87x</span>
|
|
602
|
+
<span class="cline-any cline-yes">87x</span>
|
|
603
|
+
<span class="cline-any cline-yes">87x</span>
|
|
604
|
+
<span class="cline-any cline-yes">87x</span>
|
|
605
|
+
<span class="cline-any cline-yes">87x</span>
|
|
606
|
+
<span class="cline-any cline-yes">87x</span>
|
|
607
|
+
<span class="cline-any cline-yes">87x</span>
|
|
608
|
+
<span class="cline-any cline-yes">87x</span>
|
|
609
|
+
<span class="cline-any cline-yes">87x</span>
|
|
610
|
+
<span class="cline-any cline-yes">13x</span>
|
|
611
|
+
<span class="cline-any cline-yes">13x</span>
|
|
612
|
+
<span class="cline-any cline-yes">1x</span>
|
|
613
|
+
<span class="cline-any cline-yes">1x</span>
|
|
614
|
+
<span class="cline-any cline-yes">12x</span>
|
|
615
|
+
<span class="cline-any cline-yes">12x</span>
|
|
616
|
+
<span class="cline-any cline-yes">12x</span>
|
|
617
|
+
<span class="cline-any cline-yes">87x</span>
|
|
618
|
+
<span class="cline-any cline-yes">19x</span>
|
|
619
|
+
<span class="cline-any cline-yes">19x</span>
|
|
620
|
+
<span class="cline-any cline-yes">19x</span>
|
|
621
|
+
<span class="cline-any cline-yes">19x</span>
|
|
622
|
+
<span class="cline-any cline-yes">19x</span>
|
|
623
|
+
<span class="cline-any cline-yes">19x</span>
|
|
624
|
+
<span class="cline-any cline-yes">19x</span>
|
|
625
|
+
<span class="cline-any cline-yes">19x</span>
|
|
626
|
+
<span class="cline-any cline-yes">19x</span>
|
|
627
|
+
<span class="cline-any cline-yes">3x</span>
|
|
628
|
+
<span class="cline-any cline-yes">3x</span>
|
|
629
|
+
<span class="cline-any cline-yes">16x</span>
|
|
630
|
+
<span class="cline-any cline-yes">19x</span>
|
|
631
|
+
<span class="cline-any cline-yes">13x</span>
|
|
632
|
+
<span class="cline-any cline-yes">13x</span>
|
|
633
|
+
<span class="cline-any cline-yes">13x</span>
|
|
634
|
+
<span class="cline-any cline-yes">2x</span>
|
|
635
|
+
<span class="cline-any cline-yes">2x</span>
|
|
636
|
+
<span class="cline-any cline-yes">2x</span>
|
|
637
|
+
<span class="cline-any cline-yes">13x</span>
|
|
638
|
+
<span class="cline-any cline-yes">3x</span>
|
|
639
|
+
<span class="cline-any cline-yes">3x</span>
|
|
640
|
+
<span class="cline-any cline-yes">13x</span>
|
|
641
|
+
<span class="cline-any cline-yes">13x</span>
|
|
642
|
+
<span class="cline-any cline-yes">13x</span>
|
|
643
|
+
<span class="cline-any cline-yes">13x</span>
|
|
644
|
+
<span class="cline-any cline-yes">13x</span>
|
|
645
|
+
<span class="cline-any cline-yes">3x</span>
|
|
646
|
+
<span class="cline-any cline-yes">3x</span>
|
|
647
|
+
<span class="cline-any cline-yes">19x</span>
|
|
648
|
+
<span class="cline-any cline-yes">19x</span>
|
|
649
|
+
<span class="cline-any cline-yes">2x</span>
|
|
650
|
+
<span class="cline-any cline-yes">2x</span>
|
|
651
|
+
<span class="cline-any cline-yes">2x</span>
|
|
652
|
+
<span class="cline-any cline-yes">2x</span>
|
|
653
|
+
<span class="cline-any cline-yes">2x</span>
|
|
654
|
+
<span class="cline-any cline-yes">19x</span>
|
|
655
|
+
<span class="cline-any cline-yes">1x</span>
|
|
656
|
+
<span class="cline-any cline-yes">1x</span>
|
|
657
|
+
<span class="cline-any cline-yes">19x</span>
|
|
658
|
+
<span class="cline-any cline-yes">19x</span>
|
|
659
|
+
<span class="cline-any cline-yes">87x</span>
|
|
660
|
+
<span class="cline-any cline-yes">87x</span>
|
|
661
|
+
<span class="cline-any cline-yes">87x</span>
|
|
662
|
+
<span class="cline-any cline-yes">87x</span>
|
|
663
|
+
<span class="cline-any cline-yes">87x</span>
|
|
664
|
+
<span class="cline-any cline-yes">87x</span>
|
|
665
|
+
<span class="cline-any cline-yes">87x</span>
|
|
666
|
+
<span class="cline-any cline-yes">28x</span>
|
|
667
|
+
<span class="cline-any cline-yes">28x</span>
|
|
668
|
+
<span class="cline-any cline-yes">17x</span>
|
|
669
|
+
<span class="cline-any cline-yes">17x</span>
|
|
670
|
+
<span class="cline-any cline-yes">11x</span>
|
|
671
|
+
<span class="cline-any cline-yes">28x</span>
|
|
672
|
+
<span class="cline-any cline-yes">28x</span>
|
|
673
|
+
<span class="cline-any cline-yes">87x</span>
|
|
674
|
+
<span class="cline-any cline-yes">87x</span>
|
|
675
|
+
<span class="cline-any cline-yes">87x</span>
|
|
676
|
+
<span class="cline-any cline-yes">87x</span>
|
|
677
|
+
<span class="cline-any cline-yes">87x</span>
|
|
678
|
+
<span class="cline-any cline-yes">87x</span>
|
|
679
|
+
<span class="cline-any cline-yes">87x</span>
|
|
680
|
+
<span class="cline-any cline-yes">87x</span>
|
|
681
|
+
<span class="cline-any cline-yes">87x</span>
|
|
682
|
+
<span class="cline-any cline-yes">87x</span>
|
|
683
|
+
<span class="cline-any cline-yes">87x</span>
|
|
684
|
+
<span class="cline-any cline-yes">87x</span>
|
|
685
|
+
<span class="cline-any cline-yes">87x</span>
|
|
686
|
+
<span class="cline-any cline-yes">87x</span>
|
|
687
|
+
<span class="cline-any cline-yes">87x</span>
|
|
688
|
+
<span class="cline-any cline-yes">87x</span>
|
|
689
|
+
<span class="cline-any cline-yes">87x</span>
|
|
690
|
+
<span class="cline-any cline-yes">87x</span>
|
|
691
|
+
<span class="cline-any cline-yes">87x</span>
|
|
692
|
+
<span class="cline-any cline-yes">87x</span>
|
|
693
|
+
<span class="cline-any cline-yes">87x</span>
|
|
694
|
+
<span class="cline-any cline-yes">87x</span>
|
|
695
|
+
<span class="cline-any cline-yes">87x</span>
|
|
696
|
+
<span class="cline-any cline-yes">87x</span>
|
|
697
|
+
<span class="cline-any cline-yes">87x</span>
|
|
698
|
+
<span class="cline-any cline-yes">87x</span>
|
|
699
|
+
<span class="cline-any cline-yes">87x</span>
|
|
700
|
+
<span class="cline-any cline-yes">87x</span>
|
|
701
|
+
<span class="cline-any cline-yes">87x</span>
|
|
702
|
+
<span class="cline-any cline-yes">87x</span>
|
|
703
|
+
<span class="cline-any cline-yes">87x</span>
|
|
704
|
+
<span class="cline-any cline-yes">87x</span>
|
|
705
|
+
<span class="cline-any cline-yes">87x</span>
|
|
706
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">"use client";
|
|
707
|
+
import {
|
|
708
|
+
useRef,
|
|
709
|
+
type FocusEventHandler,
|
|
710
|
+
type KeyboardEventHandler,
|
|
711
|
+
type MouseEventHandler,
|
|
712
|
+
type Ref,
|
|
713
|
+
type RefCallback,
|
|
714
|
+
type RefObject,
|
|
720
715
|
} from "react";
|
|
721
|
-
import
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
716
|
+
import {
|
|
717
|
+
type GetDefaultFocusedIndex,
|
|
718
|
+
type GetFocusableElements,
|
|
719
|
+
type KeyboardMovementExtensionData,
|
|
720
|
+
type KeyboardMovementProviderImplementation,
|
|
721
|
+
type KeyboardMovementProviderOptions,
|
|
722
|
+
} from "../movement/types.js";
|
|
723
|
+
import { useKeyboardMovementProvider } from "../movement/useKeyboardMovementProvider.js";
|
|
724
|
+
import {
|
|
725
|
+
type NonNullMutableRef,
|
|
726
|
+
type UseStateInitializer,
|
|
727
|
+
type UseStateSetter,
|
|
728
|
+
} from "../types.js";
|
|
729
|
+
import { useEnsuredId } from "../useEnsuredId.js";
|
|
730
|
+
import { useEnsuredRef } from "../useEnsuredRef.js";
|
|
731
|
+
import { useToggle } from "../useToggle.js";
|
|
732
|
+
import { tryToSubmitRelatedForm } from "./utils.js";
|
|
733
|
+
|
|
734
|
+
const noop = (): void => {
|
|
735
|
+
// do nothing
|
|
736
|
+
};
|
|
728
737
|
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
738
|
+
/**
|
|
739
|
+
* @remarks \@since 6.0.0
|
|
740
|
+
*/
|
|
741
|
+
export const getNonDisabledOptions = (
|
|
742
|
+
container: HTMLElement
|
|
743
|
+
): readonly HTMLElement[] => [
|
|
744
|
+
...container.querySelectorAll<HTMLLIElement>(
|
|
745
|
+
'[role="option"]:not([aria-disabled])'
|
|
746
|
+
),
|
|
747
|
+
];
|
|
732
748
|
|
|
749
|
+
/**
|
|
750
|
+
* @remarks \@since 6.0.0
|
|
751
|
+
*/
|
|
733
752
|
export type SupportedComboboxPopup = "listbox" | "grid" | "dialog";
|
|
734
753
|
|
|
754
|
+
/**
|
|
755
|
+
* @remarks \@since 6.0.0
|
|
756
|
+
*/
|
|
757
|
+
export interface ComboboxKeyboardMovementData<
|
|
758
|
+
E extends HTMLElement = HTMLInputElement,
|
|
759
|
+
> extends KeyboardMovementExtensionData<E> {
|
|
760
|
+
show(): void;
|
|
761
|
+
hide(): void;
|
|
762
|
+
visible: boolean;
|
|
763
|
+
focusLast: NonNullMutableRef<boolean>;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
/**
|
|
767
|
+
* @remarks \@since 6.0.0
|
|
768
|
+
*/
|
|
769
|
+
export type ExtendComboboxKeyDown<E extends HTMLElement = HTMLInputElement> = (
|
|
770
|
+
movementData: ComboboxKeyboardMovementData<E>
|
|
771
|
+
) => void;
|
|
772
|
+
|
|
773
|
+
/**
|
|
774
|
+
* @remarks \@since 6.0.0
|
|
775
|
+
*/
|
|
776
|
+
export type ComboboxKeyboardMovementOptions<
|
|
777
|
+
ComboboxEl extends HTMLElement = HTMLInputElement,
|
|
778
|
+
> = Pick<
|
|
779
|
+
KeyboardMovementProviderOptions<ComboboxEl>,
|
|
780
|
+
| "onClick"
|
|
781
|
+
| "onFocus"
|
|
782
|
+
| "onKeyDown"
|
|
783
|
+
| "disabled"
|
|
784
|
+
| "loopable"
|
|
785
|
+
| "searchable"
|
|
786
|
+
| "isNegativeOneAllowed"
|
|
787
|
+
>;
|
|
788
|
+
|
|
789
|
+
/**
|
|
790
|
+
* @remarks \@since 6.0.0
|
|
791
|
+
*/
|
|
735
792
|
export interface ComboboxOptions<
|
|
736
793
|
ComboboxEl extends HTMLElement = HTMLInputElement,
|
|
737
|
-
PopupEl extends HTMLElement = HTMLElement
|
|
738
|
-
> {
|
|
794
|
+
PopupEl extends HTMLElement = HTMLElement,
|
|
795
|
+
> extends ComboboxKeyboardMovementOptions<ComboboxEl> {
|
|
739
796
|
/**
|
|
740
797
|
* This is the {@link InputHTMLAttributes.form} attribute and is used to
|
|
741
798
|
* attempt submitting a form when the enter key is pressed.
|
|
@@ -752,58 +809,38 @@ export interface ComboboxOptions<
|
|
|
752
809
|
* @defaultValue `"combobox-" + useId()`
|
|
753
810
|
*/
|
|
754
811
|
comboboxId?: string;
|
|
755
|
-
|
|
756
812
|
comboboxRef?: Ref<ComboboxEl>;
|
|
757
813
|
|
|
758
814
|
/**
|
|
759
815
|
* @defaultValue `"listbox"`
|
|
760
816
|
*/
|
|
761
817
|
popup?: "listbox" | "grid" | "dialog";
|
|
762
|
-
|
|
763
|
-
/**
|
|
764
|
-
* Used to determine the keyboard completion behavior with the {@link popup}
|
|
765
|
-
* type:
|
|
766
|
-
*
|
|
767
|
-
* - `"none"` - applies `aria-autocomplete="none"` and focusing options does
|
|
768
|
-
* not update the value automatically. the user must select an option with
|
|
769
|
-
* enter
|
|
770
|
-
* - `"list"` - applies `aria-autocomplete="list"` and focusing options
|
|
771
|
-
* immediately updates the value
|
|
772
|
-
* - `"both"` - applies `aria-autocomplete="both"`, focusing options
|
|
773
|
-
* immediately updates the value, and typing will attempt to autocomplete
|
|
774
|
-
* the rest of the match inline using selection ranges
|
|
775
|
-
* - `"select"` - acts as a `<select>` element and is **not editable**.
|
|
776
|
-
*
|
|
777
|
-
* @defaultValue `"list"`
|
|
778
|
-
*/
|
|
779
|
-
autocomplete?: "none" | "list" | "both" | "select";
|
|
780
|
-
|
|
781
|
-
onClick?: MouseEventHandler<ComboboxEl>;
|
|
782
|
-
onFocus?: FocusEventHandler<ComboboxEl>;
|
|
783
|
-
onKeyDown?: KeyboardEventHandler<ComboboxEl>;
|
|
784
818
|
|
|
785
819
|
/**
|
|
786
820
|
* @defaultValue `false`
|
|
787
821
|
*/
|
|
788
|
-
|
|
822
|
+
defaultVisible?: UseStateInitializer<boolean>;
|
|
789
823
|
|
|
790
|
-
|
|
791
|
-
* @defaultValue `false`
|
|
792
|
-
*/
|
|
793
|
-
disableShowOnFocus?: boolean;
|
|
824
|
+
extendKeyDown?: ExtendComboboxKeyDown<ComboboxEl>;
|
|
794
825
|
|
|
795
826
|
/**
|
|
796
|
-
* @defaultValue
|
|
827
|
+
* @defaultValue {@link getNonDisabledOptions}
|
|
797
828
|
*/
|
|
798
|
-
|
|
829
|
+
getFocusableElements?: GetFocusableElements;
|
|
830
|
+
|
|
831
|
+
getDefaultFocusedIndex?: GetDefaultFocusedIndex;
|
|
799
832
|
}
|
|
800
833
|
|
|
834
|
+
/**
|
|
835
|
+
* @remarks \@since 6.0.0
|
|
836
|
+
*/
|
|
801
837
|
export interface ComboboxWidgetProps<
|
|
802
|
-
ComboboxEl extends HTMLElement = HTMLInputElement
|
|
838
|
+
ComboboxEl extends HTMLElement = HTMLInputElement,
|
|
803
839
|
> {
|
|
804
|
-
"aria-
|
|
840
|
+
"aria-controls": string;
|
|
841
|
+
"aria-disabled": true | undefined;
|
|
805
842
|
"aria-expanded": boolean;
|
|
806
|
-
"aria-
|
|
843
|
+
"aria-haspopup": SupportedComboboxPopup;
|
|
807
844
|
id: string;
|
|
808
845
|
ref: RefCallback<ComboboxEl>;
|
|
809
846
|
role: "combobox";
|
|
@@ -812,223 +849,180 @@ export interface ComboboxWidgetProps<
|
|
|
812
849
|
onKeyDown: KeyboardEventHandler<ComboboxEl>;
|
|
813
850
|
}
|
|
814
851
|
|
|
852
|
+
/**
|
|
853
|
+
* @remarks \@since 6.0.0
|
|
854
|
+
*/
|
|
815
855
|
export interface ComboboxWidgetPopupProps<
|
|
816
|
-
PopupEl extends HTMLElement = HTMLElement
|
|
856
|
+
PopupEl extends HTMLElement = HTMLElement,
|
|
817
857
|
> {
|
|
818
|
-
"aria-labelledby": string;
|
|
819
858
|
id: string;
|
|
820
859
|
ref: RefCallback<PopupEl>;
|
|
821
860
|
role: "listbox" | "dialog" | "grid";
|
|
822
861
|
}
|
|
823
862
|
|
|
863
|
+
/**
|
|
864
|
+
* @remarks \@since 6.0.0
|
|
865
|
+
*/
|
|
824
866
|
export interface ComboboxImplementation<
|
|
825
867
|
ComboboxEl extends HTMLElement = HTMLInputElement,
|
|
826
|
-
PopupEl extends HTMLElement = HTMLElement
|
|
868
|
+
PopupEl extends HTMLElement = HTMLElement,
|
|
827
869
|
> extends KeyboardMovementProviderImplementation<ComboboxEl> {
|
|
828
870
|
show(): void;
|
|
829
871
|
hide(): void;
|
|
830
872
|
visible: boolean;
|
|
831
873
|
setVisible: UseStateSetter<boolean>;
|
|
874
|
+
focusLast: NonNullMutableRef<boolean>;
|
|
832
875
|
popupRef: RefObject<PopupEl>;
|
|
833
876
|
popupProps: ComboboxWidgetPopupProps<PopupEl>;
|
|
834
877
|
comboboxRef: RefObject<ComboboxEl>;
|
|
835
878
|
comboboxProps: ComboboxWidgetProps<ComboboxEl>;
|
|
836
879
|
}
|
|
837
880
|
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
<span class="
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
<span class="cstat-no" title="statement not covered" > // if (typeof menuProps.getDefaultFocusedIndex === "function") {</span>
|
|
984
|
-
<span class="cstat-no" title="statement not covered" > // return menuProps.getDefaultFocusedIndex(focusOptions);</span>
|
|
985
|
-
<span class="cstat-no" title="statement not covered" > // }</span>
|
|
986
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
987
|
-
<span class="cstat-no" title="statement not covered" > // const val = typeof value === "undefined" ? currentValue : value;</span>
|
|
988
|
-
<span class="cstat-no" title="statement not covered" > // return options.findIndex((option) => option.value === val);</span>
|
|
989
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
990
|
-
<span class="cstat-no" title="statement not covered" > getFocusableElements() {</span>
|
|
991
|
-
<span class="cstat-no" title="statement not covered" > const popup = popupRef.current;</span>
|
|
992
|
-
<span class="cstat-no" title="statement not covered" > if (!popup) {</span>
|
|
993
|
-
<span class="cstat-no" title="statement not covered" > return [];</span>
|
|
994
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
995
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
996
|
-
<span class="cstat-no" title="statement not covered" > return [</span>
|
|
997
|
-
<span class="cstat-no" title="statement not covered" > ...popup.querySelectorAll<HTMLLIElement>(</span>
|
|
998
|
-
<span class="cstat-no" title="statement not covered" > '[role="option"]:not([aria-disabled])'</span>
|
|
999
|
-
<span class="cstat-no" title="statement not covered" > ),</span>
|
|
1000
|
-
<span class="cstat-no" title="statement not covered" > ];</span>
|
|
1001
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1002
|
-
<span class="cstat-no" title="statement not covered" > });</span>
|
|
1003
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1004
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
1005
|
-
<span class="cstat-no" title="statement not covered" > show,</span>
|
|
1006
|
-
<span class="cstat-no" title="statement not covered" > hide,</span>
|
|
1007
|
-
<span class="cstat-no" title="statement not covered" > visible,</span>
|
|
1008
|
-
<span class="cstat-no" title="statement not covered" > setVisible,</span>
|
|
1009
|
-
<span class="cstat-no" title="statement not covered" > popupRef,</span>
|
|
1010
|
-
<span class="cstat-no" title="statement not covered" > popupProps: {</span>
|
|
1011
|
-
<span class="cstat-no" title="statement not covered" > "aria-labelledby": comboboxId,</span>
|
|
1012
|
-
<span class="cstat-no" title="statement not covered" > id: popupId,</span>
|
|
1013
|
-
<span class="cstat-no" title="statement not covered" > ref: popupRefCallback,</span>
|
|
1014
|
-
<span class="cstat-no" title="statement not covered" > role: popup,</span>
|
|
1015
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1016
|
-
<span class="cstat-no" title="statement not covered" > comboboxRef,</span>
|
|
1017
|
-
<span class="cstat-no" title="statement not covered" > comboboxProps: {</span>
|
|
1018
|
-
<span class="cstat-no" title="statement not covered" > ...movementProps,</span>
|
|
1019
|
-
<span class="cstat-no" title="statement not covered" > "aria-haspopup": popup,</span>
|
|
1020
|
-
<span class="cstat-no" title="statement not covered" > "aria-expanded": visible,</span>
|
|
1021
|
-
<span class="cstat-no" title="statement not covered" > "aria-autocomplete": autocomplete === "select" ? undefined : autocomplete,</span>
|
|
1022
|
-
<span class="cstat-no" title="statement not covered" > id: comboboxId,</span>
|
|
1023
|
-
<span class="cstat-no" title="statement not covered" > ref: comboboxRefCallback,</span>
|
|
1024
|
-
<span class="cstat-no" title="statement not covered" > role: "combobox",</span>
|
|
1025
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1026
|
-
<span class="cstat-no" title="statement not covered" > movementProps,</span>
|
|
1027
|
-
<span class="cstat-no" title="statement not covered" > movementContext,</span>
|
|
1028
|
-
<span class="cstat-no" title="statement not covered" > currentFocusIndex,</span>
|
|
1029
|
-
<span class="cstat-no" title="statement not covered" > setActiveDescendantId,</span>
|
|
1030
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1031
|
-
<span class="cstat-no" title="statement not covered" >}</span>
|
|
881
|
+
/**
|
|
882
|
+
* @remarks \@since 6.0.0
|
|
883
|
+
*/
|
|
884
|
+
export function useCombobox<
|
|
885
|
+
ComboboxEl extends HTMLElement = HTMLInputElement,
|
|
886
|
+
PopupEl extends HTMLElement = HTMLElement,
|
|
887
|
+
>(
|
|
888
|
+
options: ComboboxOptions<ComboboxEl, PopupEl>
|
|
889
|
+
): ComboboxImplementation<ComboboxEl, PopupEl> {
|
|
890
|
+
const {
|
|
891
|
+
form,
|
|
892
|
+
popup = "listbox",
|
|
893
|
+
onClick = noop,
|
|
894
|
+
onFocus,
|
|
895
|
+
onKeyDown,
|
|
896
|
+
searchable,
|
|
897
|
+
isNegativeOneAllowed,
|
|
898
|
+
loopable,
|
|
899
|
+
disabled,
|
|
900
|
+
comboboxId: propComboboxId,
|
|
901
|
+
comboboxRef: propComboboxRef,
|
|
902
|
+
popupId: propPopupId,
|
|
903
|
+
popupRef: propPopupRef,
|
|
904
|
+
defaultVisible = false,
|
|
905
|
+
extendKeyDown = noop,
|
|
906
|
+
getFocusableElements = getNonDisabledOptions,
|
|
907
|
+
getDefaultFocusedIndex,
|
|
908
|
+
} = options;
|
|
909
|
+
|
|
910
|
+
const {
|
|
911
|
+
toggled: visible,
|
|
912
|
+
enable: show,
|
|
913
|
+
disable: hide,
|
|
914
|
+
setToggled: setVisible,
|
|
915
|
+
} = useToggle(defaultVisible);
|
|
916
|
+
const popupId = useEnsuredId(propPopupId, "combobox-popup");
|
|
917
|
+
const comboboxId = useEnsuredId(propComboboxId, "combobox");
|
|
918
|
+
const [comboboxRef, comboboxRefCallback] = useEnsuredRef(propComboboxRef);
|
|
919
|
+
const [popupRef, popupRefCallback] = useEnsuredRef(propPopupRef);
|
|
920
|
+
const focusLast = useRef(false);
|
|
921
|
+
const {
|
|
922
|
+
movementProps,
|
|
923
|
+
movementContext,
|
|
924
|
+
currentFocusIndex,
|
|
925
|
+
setActiveDescendantId,
|
|
926
|
+
} = useKeyboardMovementProvider<ComboboxEl>({
|
|
927
|
+
onFocus,
|
|
928
|
+
onKeyDown,
|
|
929
|
+
onClick(event) {
|
|
930
|
+
onClick(event);
|
|
931
|
+
if (disabled) {
|
|
932
|
+
return;
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
show();
|
|
936
|
+
},
|
|
937
|
+
extendKeyDown(movementData) {
|
|
938
|
+
extendKeyDown({
|
|
939
|
+
...movementData,
|
|
940
|
+
show,
|
|
941
|
+
hide,
|
|
942
|
+
visible,
|
|
943
|
+
focusLast,
|
|
944
|
+
});
|
|
945
|
+
const { event } = movementData;
|
|
946
|
+
if (event.isPropagationStopped()) {
|
|
947
|
+
return;
|
|
948
|
+
}
|
|
949
|
+
|
|
950
|
+
if (visible) {
|
|
951
|
+
switch (event.key) {
|
|
952
|
+
case "Tab":
|
|
953
|
+
case "Escape":
|
|
954
|
+
event.stopPropagation();
|
|
955
|
+
hide();
|
|
956
|
+
break;
|
|
957
|
+
case "Enter":
|
|
958
|
+
event.preventDefault();
|
|
959
|
+
break;
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
// while visible, always use the default keyboard movement behavior
|
|
963
|
+
return;
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
switch (event.key) {
|
|
967
|
+
case "ArrowUp":
|
|
968
|
+
case "ArrowDown":
|
|
969
|
+
event.preventDefault();
|
|
970
|
+
event.stopPropagation();
|
|
971
|
+
focusLast.current = event.key === "ArrowUp";
|
|
972
|
+
show();
|
|
973
|
+
break;
|
|
974
|
+
case "Enter":
|
|
975
|
+
tryToSubmitRelatedForm(event, form);
|
|
976
|
+
break;
|
|
977
|
+
}
|
|
978
|
+
},
|
|
979
|
+
disabled,
|
|
980
|
+
loopable,
|
|
981
|
+
searchable,
|
|
982
|
+
programmatic: true,
|
|
983
|
+
includeDisabled: false,
|
|
984
|
+
tabIndexBehavior: "virtual",
|
|
985
|
+
getFocusableElements(container, programmatic) {
|
|
986
|
+
const popup = popupRef.current;
|
|
987
|
+
if (!popup) {
|
|
988
|
+
return [];
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
return getFocusableElements(<span class="branch-0 cbranch-no" title="branch not covered" >popup || container, p</span>rogrammatic);
|
|
992
|
+
},
|
|
993
|
+
isNegativeOneAllowed,
|
|
994
|
+
getDefaultFocusedIndex,
|
|
995
|
+
});
|
|
996
|
+
|
|
997
|
+
return {
|
|
998
|
+
show,
|
|
999
|
+
hide,
|
|
1000
|
+
visible,
|
|
1001
|
+
setVisible,
|
|
1002
|
+
focusLast,
|
|
1003
|
+
popupRef,
|
|
1004
|
+
popupProps: {
|
|
1005
|
+
id: popupId,
|
|
1006
|
+
ref: popupRefCallback,
|
|
1007
|
+
role: popup,
|
|
1008
|
+
},
|
|
1009
|
+
comboboxRef,
|
|
1010
|
+
comboboxProps: {
|
|
1011
|
+
...movementProps,
|
|
1012
|
+
"aria-controls": popupId,
|
|
1013
|
+
"aria-disabled": disabled || undefined,
|
|
1014
|
+
"aria-expanded": visible,
|
|
1015
|
+
"aria-haspopup": popup,
|
|
1016
|
+
id: comboboxId,
|
|
1017
|
+
ref: comboboxRefCallback,
|
|
1018
|
+
role: "combobox",
|
|
1019
|
+
},
|
|
1020
|
+
movementProps,
|
|
1021
|
+
movementContext,
|
|
1022
|
+
currentFocusIndex,
|
|
1023
|
+
setActiveDescendantId,
|
|
1024
|
+
};
|
|
1025
|
+
}
|
|
1032
1026
|
</pre></td></tr></table></pre>
|
|
1033
1027
|
|
|
1034
1028
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -1036,7 +1030,7 @@ export <span class="fstat-no" title="function not covered" >function useCombobox
|
|
|
1036
1030
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1037
1031
|
Code coverage generated by
|
|
1038
1032
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1039
|
-
at
|
|
1033
|
+
at 2024-02-25T22:13:16.797Z
|
|
1040
1034
|
</div>
|
|
1041
1035
|
<script src="../prettify.js"></script>
|
|
1042
1036
|
<script>
|