@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
|
@@ -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'>442/442</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">77.77% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>14/18</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'>3/3</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'>442/442</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>
|
|
@@ -505,1142 +505,890 @@
|
|
|
505
505
|
<a name='L440'></a><a href='#L440'>440</a>
|
|
506
506
|
<a name='L441'></a><a href='#L441'>441</a>
|
|
507
507
|
<a name='L442'></a><a href='#L442'>442</a>
|
|
508
|
-
<a name='L443'></a><a href='#L443'>443</a>
|
|
509
|
-
<
|
|
510
|
-
<
|
|
511
|
-
<
|
|
512
|
-
<
|
|
513
|
-
<
|
|
514
|
-
<
|
|
515
|
-
<
|
|
516
|
-
<
|
|
517
|
-
<
|
|
518
|
-
<
|
|
519
|
-
<
|
|
520
|
-
<
|
|
521
|
-
<
|
|
522
|
-
<
|
|
523
|
-
<
|
|
524
|
-
<
|
|
525
|
-
<
|
|
526
|
-
<
|
|
527
|
-
<
|
|
528
|
-
<
|
|
529
|
-
<
|
|
530
|
-
<
|
|
531
|
-
<
|
|
532
|
-
<
|
|
533
|
-
<
|
|
534
|
-
<
|
|
535
|
-
<
|
|
536
|
-
<
|
|
537
|
-
<
|
|
538
|
-
<
|
|
539
|
-
<
|
|
540
|
-
<
|
|
541
|
-
<
|
|
542
|
-
<
|
|
543
|
-
<
|
|
544
|
-
<
|
|
545
|
-
<
|
|
546
|
-
<
|
|
547
|
-
<
|
|
548
|
-
<
|
|
549
|
-
<
|
|
550
|
-
<
|
|
551
|
-
<
|
|
552
|
-
<
|
|
553
|
-
<
|
|
554
|
-
<
|
|
555
|
-
<
|
|
556
|
-
<
|
|
557
|
-
<
|
|
558
|
-
<
|
|
559
|
-
<
|
|
560
|
-
<
|
|
561
|
-
<
|
|
562
|
-
<
|
|
563
|
-
<
|
|
564
|
-
<
|
|
565
|
-
<
|
|
566
|
-
<
|
|
567
|
-
<
|
|
568
|
-
<
|
|
569
|
-
<
|
|
570
|
-
<
|
|
571
|
-
<
|
|
572
|
-
<
|
|
573
|
-
<
|
|
574
|
-
<
|
|
575
|
-
<
|
|
576
|
-
<
|
|
577
|
-
<
|
|
578
|
-
<
|
|
579
|
-
<
|
|
580
|
-
<
|
|
581
|
-
<
|
|
582
|
-
<
|
|
583
|
-
<
|
|
584
|
-
<
|
|
585
|
-
<
|
|
586
|
-
<
|
|
587
|
-
<
|
|
588
|
-
<
|
|
589
|
-
<
|
|
590
|
-
<
|
|
591
|
-
<
|
|
592
|
-
<
|
|
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
|
-
<span class="cline-any cline-
|
|
665
|
-
<span class="cline-any cline-
|
|
666
|
-
<span class="cline-any cline-
|
|
667
|
-
<span class="cline-any cline-
|
|
668
|
-
<span class="cline-any cline-
|
|
669
|
-
<span class="cline-any cline-
|
|
670
|
-
<span class="cline-any cline-
|
|
671
|
-
<span class="cline-any cline-
|
|
672
|
-
<span class="cline-any cline-
|
|
673
|
-
<span class="cline-any cline-
|
|
674
|
-
<span class="cline-any cline-
|
|
675
|
-
<span class="cline-any cline-
|
|
676
|
-
<span class="cline-any cline-
|
|
677
|
-
<span class="cline-any cline-
|
|
678
|
-
<span class="cline-any cline-
|
|
679
|
-
<span class="cline-any cline-
|
|
680
|
-
<span class="cline-any cline-
|
|
681
|
-
<span class="cline-any cline-
|
|
682
|
-
<span class="cline-any cline-
|
|
683
|
-
<span class="cline-any cline-
|
|
684
|
-
<span class="cline-any cline-
|
|
685
|
-
<span class="cline-any cline-
|
|
686
|
-
<span class="cline-any cline-
|
|
687
|
-
<span class="cline-any cline-
|
|
688
|
-
<span class="cline-any cline-
|
|
689
|
-
<span class="cline-any cline-
|
|
690
|
-
<span class="cline-any cline-
|
|
691
|
-
<span class="cline-any cline-
|
|
692
|
-
<span class="cline-any cline-
|
|
693
|
-
<span class="cline-any cline-
|
|
694
|
-
<span class="cline-any cline-
|
|
695
|
-
<span class="cline-any cline-
|
|
696
|
-
<span class="cline-any cline-
|
|
697
|
-
<span class="cline-any cline-
|
|
698
|
-
<span class="cline-any cline-
|
|
699
|
-
<span class="cline-any cline-
|
|
700
|
-
<span class="cline-any cline-
|
|
701
|
-
<span class="cline-any cline-
|
|
702
|
-
<span class="cline-any cline-
|
|
703
|
-
<span class="cline-any cline-
|
|
704
|
-
<span class="cline-any cline-
|
|
705
|
-
<span class="cline-any cline-
|
|
706
|
-
<span class="cline-any cline-
|
|
707
|
-
<span class="cline-any cline-
|
|
708
|
-
<span class="cline-any cline-
|
|
709
|
-
<span class="cline-any cline-
|
|
710
|
-
<span class="cline-any cline-
|
|
711
|
-
<span class="cline-any cline-
|
|
712
|
-
<span class="cline-any cline-
|
|
713
|
-
<span class="cline-any cline-
|
|
714
|
-
<span class="cline-any cline-
|
|
715
|
-
<span class="cline-any cline-
|
|
716
|
-
<span class="cline-any cline-
|
|
717
|
-
<span class="cline-any cline-
|
|
718
|
-
<span class="cline-any cline-
|
|
719
|
-
<span class="cline-any cline-
|
|
720
|
-
<span class="cline-any cline-
|
|
721
|
-
<span class="cline-any cline-
|
|
722
|
-
<span class="cline-any cline-
|
|
723
|
-
<span class="cline-any cline-
|
|
724
|
-
<span class="cline-any cline-
|
|
725
|
-
<span class="cline-any cline-
|
|
726
|
-
<span class="cline-any cline-
|
|
727
|
-
<span class="cline-any cline-
|
|
728
|
-
<span class="cline-any cline-
|
|
729
|
-
<span class="cline-any cline-
|
|
730
|
-
<span class="cline-any cline-
|
|
731
|
-
<span class="cline-any cline-
|
|
732
|
-
<span class="cline-any cline-
|
|
733
|
-
<span class="cline-any cline-
|
|
734
|
-
<span class="cline-any cline-
|
|
735
|
-
<span class="cline-any cline-
|
|
736
|
-
<span class="cline-any cline-
|
|
737
|
-
<span class="cline-any cline-
|
|
738
|
-
<span class="cline-any cline-
|
|
739
|
-
<span class="cline-any cline-
|
|
740
|
-
<span class="cline-any cline-
|
|
741
|
-
<span class="cline-any cline-
|
|
742
|
-
<span class="cline-any cline-
|
|
743
|
-
<span class="cline-any cline-
|
|
744
|
-
<span class="cline-any cline-
|
|
745
|
-
<span class="cline-any cline-
|
|
746
|
-
<span class="cline-any cline-
|
|
747
|
-
<span class="cline-any cline-
|
|
748
|
-
<span class="cline-any cline-
|
|
749
|
-
<span class="cline-any cline-
|
|
750
|
-
<span class="cline-any cline-
|
|
751
|
-
<span class="cline-any cline-
|
|
752
|
-
<span class="cline-any cline-
|
|
753
|
-
<span class="cline-any cline-
|
|
754
|
-
<span class="cline-any cline-
|
|
755
|
-
<span class="cline-any cline-
|
|
756
|
-
<span class="cline-any cline-
|
|
757
|
-
<span class="cline-any cline-
|
|
758
|
-
<span class="cline-any cline-
|
|
759
|
-
<span class="cline-any cline-
|
|
760
|
-
<span class="cline-any cline-
|
|
761
|
-
<span class="cline-any cline-
|
|
762
|
-
<span class="cline-any cline-
|
|
763
|
-
<span class="cline-any cline-
|
|
764
|
-
<span class="cline-any cline-
|
|
765
|
-
<span class="cline-any cline-
|
|
766
|
-
<span class="cline-any cline-
|
|
767
|
-
<span class="cline-any cline-
|
|
768
|
-
<span class="cline-any cline-
|
|
769
|
-
<span class="cline-any cline-
|
|
770
|
-
<span class="cline-any cline-
|
|
771
|
-
<span class="cline-any cline-
|
|
772
|
-
<span class="cline-any cline-
|
|
773
|
-
<span class="cline-any cline-
|
|
774
|
-
<span class="cline-any cline-
|
|
775
|
-
<span class="cline-any cline-
|
|
776
|
-
<span class="cline-any cline-
|
|
777
|
-
<span class="cline-any cline-
|
|
778
|
-
<span class="cline-any cline-
|
|
779
|
-
<span class="cline-any cline-
|
|
780
|
-
<span class="cline-any cline-
|
|
781
|
-
<span class="cline-any cline-
|
|
782
|
-
<span class="cline-any cline-
|
|
783
|
-
<span class="cline-any cline-
|
|
784
|
-
<span class="cline-any cline-
|
|
785
|
-
<span class="cline-any cline-
|
|
786
|
-
<span class="cline-any cline-
|
|
787
|
-
<span class="cline-any cline-
|
|
788
|
-
<span class="cline-any cline-
|
|
789
|
-
<span class="cline-any cline-
|
|
790
|
-
<span class="cline-any cline-
|
|
791
|
-
<span class="cline-any cline-
|
|
792
|
-
<span class="cline-any cline-
|
|
793
|
-
<span class="cline-any cline-
|
|
794
|
-
<span class="cline-any cline-
|
|
795
|
-
<span class="cline-any cline-
|
|
796
|
-
<span class="cline-any cline-
|
|
797
|
-
<span class="cline-any cline-
|
|
798
|
-
<span class="cline-any cline-
|
|
799
|
-
<span class="cline-any cline-
|
|
800
|
-
<span class="cline-any cline-
|
|
801
|
-
<span class="cline-any cline-
|
|
802
|
-
<span class="cline-any cline-
|
|
803
|
-
<span class="cline-any cline-
|
|
804
|
-
<span class="cline-any cline-
|
|
805
|
-
<span class="cline-any cline-
|
|
806
|
-
<span class="cline-any cline-
|
|
807
|
-
<span class="cline-any cline-
|
|
808
|
-
<span class="cline-any cline-
|
|
809
|
-
<span class="cline-any cline-
|
|
810
|
-
<span class="cline-any cline-
|
|
811
|
-
<span class="cline-any cline-
|
|
812
|
-
<span class="cline-any cline-
|
|
813
|
-
<span class="cline-any cline-
|
|
814
|
-
<span class="cline-any cline-
|
|
815
|
-
<span class="cline-any cline-
|
|
816
|
-
<span class="cline-any cline-
|
|
817
|
-
<span class="cline-any cline-
|
|
818
|
-
<span class="cline-any cline-
|
|
819
|
-
<span class="cline-any cline-
|
|
820
|
-
<span class="cline-any cline-
|
|
821
|
-
<span class="cline-any cline-
|
|
822
|
-
<span class="cline-any cline-
|
|
823
|
-
<span class="cline-any cline-
|
|
824
|
-
<span class="cline-any cline-
|
|
825
|
-
<span class="cline-any cline-
|
|
826
|
-
<span class="cline-any cline-
|
|
827
|
-
<span class="cline-any cline-
|
|
828
|
-
<span class="cline-any cline-
|
|
829
|
-
<span class="cline-any cline-
|
|
830
|
-
<span class="cline-any cline-
|
|
831
|
-
<span class="cline-any cline-
|
|
832
|
-
<span class="cline-any cline-
|
|
833
|
-
<span class="cline-any cline-
|
|
834
|
-
<span class="cline-any cline-
|
|
835
|
-
<span class="cline-any cline-
|
|
836
|
-
<span class="cline-any cline-
|
|
837
|
-
<span class="cline-any cline-
|
|
838
|
-
<span class="cline-any cline-
|
|
839
|
-
<span class="cline-any cline-
|
|
840
|
-
<span class="cline-any cline-
|
|
841
|
-
<span class="cline-any cline-
|
|
842
|
-
<span class="cline-any cline-
|
|
843
|
-
<span class="cline-any cline-
|
|
844
|
-
<span class="cline-any cline-
|
|
845
|
-
<span class="cline-any cline-
|
|
846
|
-
<span class="cline-any cline-
|
|
847
|
-
<span class="cline-any cline-
|
|
848
|
-
<span class="cline-any cline-
|
|
849
|
-
<span class="cline-any cline-
|
|
850
|
-
<span class="cline-any cline-
|
|
851
|
-
<span class="cline-any cline-
|
|
852
|
-
<span class="cline-any cline-
|
|
853
|
-
<span class="cline-any cline-
|
|
854
|
-
<span class="cline-any cline-
|
|
855
|
-
<span class="cline-any cline-
|
|
856
|
-
<span class="cline-any cline-
|
|
857
|
-
<span class="cline-any cline-
|
|
858
|
-
<span class="cline-any cline-
|
|
859
|
-
<span class="cline-any cline-
|
|
860
|
-
<span class="cline-any cline-
|
|
861
|
-
<span class="cline-any cline-
|
|
862
|
-
<span class="cline-any cline-
|
|
863
|
-
<span class="cline-any cline-
|
|
864
|
-
<span class="cline-any cline-
|
|
865
|
-
<span class="cline-any cline-
|
|
866
|
-
<span class="cline-any cline-
|
|
867
|
-
<span class="cline-any cline-
|
|
868
|
-
<span class="cline-any cline-
|
|
869
|
-
<span class="cline-any cline-
|
|
870
|
-
<span class="cline-any cline-
|
|
871
|
-
<span class="cline-any cline-
|
|
872
|
-
<span class="cline-any cline-
|
|
873
|
-
<span class="cline-any cline-
|
|
874
|
-
<span class="cline-any cline-
|
|
875
|
-
<span class="cline-any cline-
|
|
876
|
-
<span class="cline-any cline-
|
|
877
|
-
<span class="cline-any cline-
|
|
878
|
-
<span class="cline-any cline-
|
|
879
|
-
<span class="cline-any cline-
|
|
880
|
-
<span class="cline-any cline-
|
|
881
|
-
<span class="cline-any cline-
|
|
882
|
-
<span class="cline-any cline-
|
|
883
|
-
<span class="cline-any cline-
|
|
884
|
-
<span class="cline-any cline-
|
|
885
|
-
<span class="cline-any cline-
|
|
886
|
-
<span class="cline-any cline-
|
|
887
|
-
<span class="cline-any cline-
|
|
888
|
-
<span class="cline-any cline-
|
|
889
|
-
<span class="cline-any cline-
|
|
890
|
-
<span class="cline-any cline-
|
|
891
|
-
<span class="cline-any cline-
|
|
892
|
-
<span class="cline-any cline-
|
|
893
|
-
<span class="cline-any cline-
|
|
894
|
-
<span class="cline-any cline-
|
|
895
|
-
<span class="cline-any cline-
|
|
896
|
-
<span class="cline-any cline-
|
|
897
|
-
<span class="cline-any cline-
|
|
898
|
-
<span class="cline-any cline-
|
|
899
|
-
<span class="cline-any cline-
|
|
900
|
-
<span class="cline-any cline-
|
|
901
|
-
<span class="cline-any cline-
|
|
902
|
-
<span class="cline-any cline-
|
|
903
|
-
<span class="cline-any cline-
|
|
904
|
-
<span class="cline-any cline-
|
|
905
|
-
<span class="cline-any cline-
|
|
906
|
-
<span class="cline-any cline-
|
|
907
|
-
<span class="cline-any cline-
|
|
908
|
-
<span class="cline-any cline-
|
|
909
|
-
<span class="cline-any cline-
|
|
910
|
-
<span class="cline-any cline-
|
|
911
|
-
<span class="cline-any cline-
|
|
912
|
-
<span class="cline-any cline-
|
|
913
|
-
<span class="cline-any cline-
|
|
914
|
-
<span class="cline-any cline-
|
|
915
|
-
<span class="cline-any cline-
|
|
916
|
-
<span class="cline-any cline-
|
|
917
|
-
<span class="cline-any cline-
|
|
918
|
-
<span class="cline-any cline-
|
|
919
|
-
<span class="cline-any cline-
|
|
920
|
-
<span class="cline-any cline-
|
|
921
|
-
<span class="cline-any cline-
|
|
922
|
-
<span class="cline-any cline-
|
|
923
|
-
<span class="cline-any cline-
|
|
924
|
-
<span class="cline-any cline-
|
|
925
|
-
<span class="cline-any cline-
|
|
926
|
-
<span class="cline-any cline-
|
|
927
|
-
<span class="cline-any cline-
|
|
928
|
-
<span class="cline-any cline-
|
|
929
|
-
<span class="cline-any cline-
|
|
930
|
-
<span class="cline-any cline-
|
|
931
|
-
<span class="cline-any cline-
|
|
932
|
-
<span class="cline-any cline-
|
|
933
|
-
<span class="cline-any cline-
|
|
934
|
-
<span class="cline-any cline-
|
|
935
|
-
<span class="cline-any cline-
|
|
936
|
-
<span class="cline-any cline-
|
|
937
|
-
<span class="cline-any cline-
|
|
938
|
-
<span class="cline-any cline-
|
|
939
|
-
<span class="cline-any cline-
|
|
940
|
-
<span class="cline-any cline-
|
|
941
|
-
<span class="cline-any cline-
|
|
942
|
-
<span class="cline-any cline-
|
|
943
|
-
<span class="cline-any cline-
|
|
944
|
-
<span class="cline-any cline-
|
|
945
|
-
<span class="cline-any cline-
|
|
946
|
-
<span class="cline-any cline-
|
|
947
|
-
<span class="cline-any cline-
|
|
948
|
-
<span class="cline-any cline-
|
|
949
|
-
<span class="cline-any cline-
|
|
950
|
-
<span class="cline-any cline-
|
|
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
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
<span class="
|
|
1256
|
-
|
|
1257
|
-
<span class="
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
<span class="
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
<span class="
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
<span class="cstat-no" title="statement not covered" > // would go to the input element instead of the container</span>
|
|
1393
|
-
<span class="cstat-no" title="statement not covered" > const a11yProps = {</span>
|
|
1394
|
-
<span class="cstat-no" title="statement not covered" > "aria-haspopup": "listbox",</span>
|
|
1395
|
-
<span class="cstat-no" title="statement not covered" > "aria-expanded": visible,</span>
|
|
1396
|
-
<span class="cstat-no" title="statement not covered" > role: "combobox",</span>
|
|
1397
|
-
<span class="cstat-no" title="statement not covered" > tabIndex: disabled ? -1 : 0,</span>
|
|
1398
|
-
<span class="cstat-no" title="statement not covered" > } as const;</span>
|
|
1399
|
-
<span class="cstat-no" title="statement not covered" > const {</span>
|
|
1400
|
-
<span class="cstat-no" title="statement not covered" > movementProps,</span>
|
|
1401
|
-
<span class="cstat-no" title="statement not covered" > movementContext,</span>
|
|
1402
|
-
<span class="cstat-no" title="statement not covered" > currentFocusIndex,</span>
|
|
1403
|
-
<span class="cstat-no" title="statement not covered" > setActiveDescendantId,</span>
|
|
1404
|
-
<span class="cstat-no" title="statement not covered" > } = useKeyboardMovementProvider<HTMLDivElement>({</span>
|
|
1405
|
-
<span class="cstat-no" title="statement not covered" > onFocus: propContainerProps.onFocus,</span>
|
|
1406
|
-
<span class="cstat-no" title="statement not covered" > onClick(event) {</span>
|
|
1407
|
-
<span class="cstat-no" title="statement not covered" > propContainerProps.onClick?.(event);</span>
|
|
1408
|
-
<span class="cstat-no" title="statement not covered" > if (disabled) {</span>
|
|
1409
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1410
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1411
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1412
|
-
<span class="cstat-no" title="statement not covered" > show();</span>
|
|
1413
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1414
|
-
<span class="cstat-no" title="statement not covered" > onKeyDown(event) {</span>
|
|
1415
|
-
<span class="cstat-no" title="statement not covered" > propContainerProps.onKeyDown?.(event);</span>
|
|
1416
|
-
<span class="cstat-no" title="statement not covered" > if (disabled) {</span>
|
|
1417
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1418
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1419
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1420
|
-
<span class="cstat-no" title="statement not covered" > if (visible) {</span>
|
|
1421
|
-
<span class="cstat-no" title="statement not covered" > if (event.key === "Escape" || event.key === "Tab") {</span>
|
|
1422
|
-
<span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
|
|
1423
|
-
<span class="cstat-no" title="statement not covered" > hide();</span>
|
|
1424
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1425
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1426
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1427
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1428
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1429
|
-
<span class="cstat-no" title="statement not covered" > if (isSearchableEvent(event)) {</span>
|
|
1430
|
-
<span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
|
|
1431
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1432
|
-
<span class="cstat-no" title="statement not covered" > const nextIndex = findMatchIndex({</span>
|
|
1433
|
-
<span class="cstat-no" title="statement not covered" > value: event.key,</span>
|
|
1434
|
-
<span class="cstat-no" title="statement not covered" > values: searchValues,</span>
|
|
1435
|
-
<span class="cstat-no" title="statement not covered" > startIndex: event.shiftKey ? -1 : currentIndex,</span>
|
|
1436
|
-
<span class="cstat-no" title="statement not covered" > });</span>
|
|
1437
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1438
|
-
<span class="cstat-no" title="statement not covered" > if (nextIndex !== -1) {</span>
|
|
1439
|
-
<span class="cstat-no" title="statement not covered" > triggerManualChangeEvent(inputRef.current, options[nextIndex].value);</span>
|
|
1440
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1441
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1442
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1443
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1444
|
-
<span class="cstat-no" title="statement not covered" > switch (event.key) {</span>
|
|
1445
|
-
<span class="cstat-no" title="statement not covered" > case " ":</span>
|
|
1446
|
-
<span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
|
|
1447
|
-
<span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
|
|
1448
|
-
<span class="cstat-no" title="statement not covered" > show();</span>
|
|
1449
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
1450
|
-
<span class="cstat-no" title="statement not covered" > case "Enter":</span>
|
|
1451
|
-
<span class="cstat-no" title="statement not covered" > tryToSubmitRelatedForm(event, form);</span>
|
|
1452
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
1453
|
-
<span class="cstat-no" title="statement not covered" > case "Home":</span>
|
|
1454
|
-
<span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
|
|
1455
|
-
<span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
|
|
1456
|
-
<span class="cstat-no" title="statement not covered" > if (currentIndex !== 0) {</span>
|
|
1457
|
-
<span class="cstat-no" title="statement not covered" > triggerManualChangeEvent(inputRef.current, options[0].value);</span>
|
|
1458
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1459
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
1460
|
-
<span class="cstat-no" title="statement not covered" > case "End":</span>
|
|
1461
|
-
<span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
|
|
1462
|
-
<span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
|
|
1463
|
-
<span class="cstat-no" title="statement not covered" > if (currentIndex !== totalOptions) {</span>
|
|
1464
|
-
<span class="cstat-no" title="statement not covered" > triggerManualChangeEvent(</span>
|
|
1465
|
-
<span class="cstat-no" title="statement not covered" > inputRef.current,</span>
|
|
1466
|
-
<span class="cstat-no" title="statement not covered" > options[totalOptions].value</span>
|
|
1467
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1468
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1469
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
1470
|
-
<span class="cstat-no" title="statement not covered" > case "ArrowDown":</span>
|
|
1471
|
-
<span class="cstat-no" title="statement not covered" > case "ArrowUp": {</span>
|
|
1472
|
-
<span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
|
|
1473
|
-
<span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
|
|
1474
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1475
|
-
<span class="cstat-no" title="statement not covered" > const increment = event.key === "ArrowDown";</span>
|
|
1476
|
-
<span class="cstat-no" title="statement not covered" > if (currentIndex === -1 && !increment) {</span>
|
|
1477
|
-
<span class="cstat-no" title="statement not covered" > // this matches the native select behavior where it will do</span>
|
|
1478
|
-
<span class="cstat-no" title="statement not covered" > // nothing if there is no current value</span>
|
|
1479
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1480
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1481
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1482
|
-
<span class="cstat-no" title="statement not covered" > const nextIndex = loop({</span>
|
|
1483
|
-
<span class="cstat-no" title="statement not covered" > max: totalOptions,</span>
|
|
1484
|
-
<span class="cstat-no" title="statement not covered" > value: currentIndex,</span>
|
|
1485
|
-
<span class="cstat-no" title="statement not covered" > minmax: true,</span>
|
|
1486
|
-
<span class="cstat-no" title="statement not covered" > increment,</span>
|
|
1487
|
-
<span class="cstat-no" title="statement not covered" > });</span>
|
|
1488
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1489
|
-
<span class="cstat-no" title="statement not covered" > triggerManualChangeEvent(inputRef.current, options[nextIndex].value);</span>
|
|
1490
|
-
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
1491
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1492
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1493
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1494
|
-
<span class="cstat-no" title="statement not covered" > loopable: false,</span>
|
|
1495
|
-
<span class="cstat-no" title="statement not covered" > searchable: true,</span>
|
|
1496
|
-
<span class="cstat-no" title="statement not covered" > programmatic: true,</span>
|
|
1497
|
-
<span class="cstat-no" title="statement not covered" > includeDisabled: false,</span>
|
|
1498
|
-
<span class="cstat-no" title="statement not covered" > tabIndexBehavior: "virtual",</span>
|
|
1499
|
-
<span class="cstat-no" title="statement not covered" > getDefaultFocusedIndex(focusOptions) {</span>
|
|
1500
|
-
<span class="cstat-no" title="statement not covered" > if (typeof menuProps.getDefaultFocusedIndex === "function") {</span>
|
|
1501
|
-
<span class="cstat-no" title="statement not covered" > return menuProps.getDefaultFocusedIndex(focusOptions);</span>
|
|
1502
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1503
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1504
|
-
<span class="cstat-no" title="statement not covered" > const val = typeof value === "undefined" ? currentValue : value;</span>
|
|
1505
|
-
<span class="cstat-no" title="statement not covered" > return options.findIndex((option) => option.value === val);</span>
|
|
1506
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1507
|
-
<span class="cstat-no" title="statement not covered" > getFocusableElements() {</span>
|
|
1508
|
-
<span class="cstat-no" title="statement not covered" > const menu = menuRef.current;</span>
|
|
1509
|
-
<span class="cstat-no" title="statement not covered" > if (!menu) {</span>
|
|
1510
|
-
<span class="cstat-no" title="statement not covered" > return [];</span>
|
|
1511
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1512
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1513
|
-
<span class="cstat-no" title="statement not covered" > return [</span>
|
|
1514
|
-
<span class="cstat-no" title="statement not covered" > ...menu.querySelectorAll<HTMLLIElement>(</span>
|
|
1515
|
-
<span class="cstat-no" title="statement not covered" > '[role="option"]:not([aria-disabled])'</span>
|
|
1516
|
-
<span class="cstat-no" title="statement not covered" > ),</span>
|
|
1517
|
-
<span class="cstat-no" title="statement not covered" > ];</span>
|
|
1518
|
-
<span class="cstat-no" title="statement not covered" > },</span>
|
|
1519
|
-
<span class="cstat-no" title="statement not covered" > });</span>
|
|
1520
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1521
|
-
<span class="cstat-no" title="statement not covered" > const containerProps: Required<SelectProps<Value>>["containerProps"] = {</span>
|
|
1522
|
-
<span class="cstat-no" title="statement not covered" > ...propContainerProps,</span>
|
|
1523
|
-
<span class="cstat-no" title="statement not covered" > ...movementProps,</span>
|
|
1524
|
-
<span class="cstat-no" title="statement not covered" > ...a11yProps,</span>
|
|
1525
|
-
<span class="cstat-no" title="statement not covered" > ref: containerRefCallback,</span>
|
|
1526
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1527
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1528
|
-
<span class="cstat-no" title="statement not covered" > const { onEntering, onEntered, onExiting, onExited, disableTransition } =</span>
|
|
1529
|
-
<span class="cstat-no" title="statement not covered" > menuProps;</span>
|
|
1530
|
-
<span class="cstat-no" title="statement not covered" > const handleMounting =</span>
|
|
1531
|
-
<span class="cstat-no" title="statement not covered" > (callback: TransitionEnterHandler | undefined = noop, skipped: boolean) =></span>
|
|
1532
|
-
<span class="cstat-no" title="statement not covered" > (appearing: boolean) => {</span>
|
|
1533
|
-
<span class="cstat-no" title="statement not covered" > callback(appearing);</span>
|
|
1534
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1535
|
-
<span class="cstat-no" title="statement not covered" > const menu = menuRef.current;</span>
|
|
1536
|
-
<span class="cstat-no" title="statement not covered" > if (!menu || skipped) {</span>
|
|
1537
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1538
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1539
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1540
|
-
<span class="cstat-no" title="statement not covered" > // Since the keyboard movement behavior is tied to the</span>
|
|
1541
|
-
<span class="cstat-no" title="statement not covered" > // `TextFieldContainer` or `input` element instead of the menu for this</span>
|
|
1542
|
-
<span class="cstat-no" title="statement not covered" > // widget, the focus index and active descendant must manually be updated</span>
|
|
1543
|
-
<span class="cstat-no" title="statement not covered" > // whenever the menu becomes visible. Without this, no items will be</span>
|
|
1544
|
-
<span class="cstat-no" title="statement not covered" > // focused until the first keyboard event that would move focus</span>
|
|
1545
|
-
<span class="cstat-no" title="statement not covered" > const val = typeof value === "undefined" ? currentValue : value;</span>
|
|
1546
|
-
<span class="cstat-no" title="statement not covered" > const focusables = getNonDisabledOptions(menu);</span>
|
|
1547
|
-
<span class="cstat-no" title="statement not covered" > const index = Math.max(</span>
|
|
1548
|
-
<span class="cstat-no" title="statement not covered" > 0,</span>
|
|
1549
|
-
<span class="cstat-no" title="statement not covered" > options.findIndex((option) => option.value === val)</span>
|
|
1550
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1551
|
-
<span class="cstat-no" title="statement not covered" > focusables[index].scrollIntoView({ block: "nearest" });</span>
|
|
1552
|
-
<span class="cstat-no" title="statement not covered" > currentFocusIndex.current = index;</span>
|
|
1553
|
-
<span class="cstat-no" title="statement not covered" > setActiveDescendantId(focusables[index]?.id || "");</span>
|
|
1554
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1555
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1556
|
-
<span class="cstat-no" title="statement not covered" > const handleUnmounting =</span>
|
|
1557
|
-
<span class="cstat-no" title="statement not covered" > (callback: TransitionExitHandler | undefined = noop, skipped = false) =></span>
|
|
1558
|
-
<span class="cstat-no" title="statement not covered" > (): void => {</span>
|
|
1559
|
-
<span class="cstat-no" title="statement not covered" > callback();</span>
|
|
1560
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1561
|
-
<span class="cstat-no" title="statement not covered" > if (!skipped) {</span>
|
|
1562
|
-
<span class="cstat-no" title="statement not covered" > // since the menu is unmounted or set to hidden while not visible, need</span>
|
|
1563
|
-
<span class="cstat-no" title="statement not covered" > // to clear the aria-activedescendant and current focus index when</span>
|
|
1564
|
-
<span class="cstat-no" title="statement not covered" > // hiding</span>
|
|
1565
|
-
<span class="cstat-no" title="statement not covered" > currentFocusIndex.current = -1;</span>
|
|
1566
|
-
<span class="cstat-no" title="statement not covered" > setActiveDescendantId("");</span>
|
|
1567
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1568
|
-
<span class="cstat-no" title="statement not covered" > };</span>
|
|
1569
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1570
|
-
<span class="cstat-no" title="statement not covered" > return (</span>
|
|
1571
|
-
<span class="cstat-no" title="statement not covered" > <ListboxProvider value={listboxContext}></span>
|
|
1572
|
-
<span class="cstat-no" title="statement not covered" > <KeyboardMovementProvider value={movementContext}></span>
|
|
1573
|
-
<span class="cstat-no" title="statement not covered" > <TextField</span>
|
|
1574
|
-
<span class="cstat-no" title="statement not covered" > {...remaining}</span>
|
|
1575
|
-
<span class="cstat-no" title="statement not covered" > aria-hidden</span>
|
|
1576
|
-
<span class="cstat-no" title="statement not covered" > id={id}</span>
|
|
1577
|
-
<span class="cstat-no" title="statement not covered" > ref={inputRefCallback}</span>
|
|
1578
|
-
<span class="cstat-no" title="statement not covered" > containerProps={containerProps}</span>
|
|
1579
|
-
<span class="cstat-no" title="statement not covered" > type="text"</span>
|
|
1580
|
-
<span class="cstat-no" title="statement not covered" > tabIndex={-1}</span>
|
|
1581
|
-
<span class="cstat-no" title="statement not covered" > theme={theme}</span>
|
|
1582
|
-
<span class="cstat-no" title="statement not covered" > value={value}</span>
|
|
1583
|
-
<span class="cstat-no" title="statement not covered" > defaultValue={defaultValue}</span>
|
|
1584
|
-
<span class="cstat-no" title="statement not covered" > active={active || visible}</span>
|
|
1585
|
-
<span class="cstat-no" title="statement not covered" > leftAddon={leftAddon}</span>
|
|
1586
|
-
<span class="cstat-no" title="statement not covered" > rightAddon={rightAddon}</span>
|
|
1587
|
-
<span class="cstat-no" title="statement not covered" > className={cnb("rmd-select-container", className)}</span>
|
|
1588
|
-
<span class="cstat-no" title="statement not covered" > inputClassName={select({</span>
|
|
1589
|
-
<span class="cstat-no" title="statement not covered" > theme,</span>
|
|
1590
|
-
<span class="cstat-no" title="statement not covered" > className: inputClassName,</span>
|
|
1591
|
-
<span class="cstat-no" title="statement not covered" > })}</span>
|
|
1592
|
-
<span class="cstat-no" title="statement not covered" > onChange={(event) => {</span>
|
|
1593
|
-
<span class="cstat-no" title="statement not covered" > onChange(event as SelectChangeEvent<Value>);</span>
|
|
1594
|
-
<span class="cstat-no" title="statement not covered" > if (typeof value !== "undefined") {</span>
|
|
1595
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1596
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1597
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1598
|
-
<span class="cstat-no" title="statement not covered" > const nextValue = event.currentTarget.value;</span>
|
|
1599
|
-
<span class="cstat-no" title="statement not covered" > const valueAsNumber = parseFloat(nextValue);</span>
|
|
1600
|
-
<span class="cstat-no" title="statement not covered" > const nextOption = options.find(</span>
|
|
1601
|
-
<span class="cstat-no" title="statement not covered" > (option) =></span>
|
|
1602
|
-
<span class="cstat-no" title="statement not covered" > // need to compare both here since</span>
|
|
1603
|
-
<span class="cstat-no" title="statement not covered" > // eslint-disable-next-line @typescript-eslint/ban-ts-comment</span>
|
|
1604
|
-
<span class="cstat-no" title="statement not covered" > // @ts-expect-error</span>
|
|
1605
|
-
<span class="cstat-no" title="statement not covered" > option.value === nextValue || option.value === valueAsNumber</span>
|
|
1606
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1607
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1608
|
-
<span class="cstat-no" title="statement not covered" > setCurrentValue(</span>
|
|
1609
|
-
<span class="cstat-no" title="statement not covered" > nextOption ? nextOption.value : initialValue.current</span>
|
|
1610
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1611
|
-
<span class="cstat-no" title="statement not covered" > }}</span>
|
|
1612
|
-
<span class="cstat-no" title="statement not covered" > ></span>
|
|
1613
|
-
<span class="cstat-no" title="statement not covered" > <SelectValue disableAddon={disableValueAddon} {...currentOption} /></span>
|
|
1614
|
-
<span class="cstat-no" title="statement not covered" > </TextField></span>
|
|
1615
|
-
<span class="cstat-no" title="statement not covered" > <Menu</span>
|
|
1616
|
-
<span class="cstat-no" title="statement not covered" > aria-labelledby={containerId}</span>
|
|
1617
|
-
<span class="cstat-no" title="statement not covered" > anchor={BELOW_CENTER_ANCHOR}</span>
|
|
1618
|
-
<span class="cstat-no" title="statement not covered" > role="listbox"</span>
|
|
1619
|
-
<span class="cstat-no" title="statement not covered" > width="min"</span>
|
|
1620
|
-
<span class="cstat-no" title="statement not covered" > {...menuProps}</span>
|
|
1621
|
-
<span class="cstat-no" title="statement not covered" > ref={menuRefCallback}</span>
|
|
1622
|
-
<span class="cstat-no" title="statement not covered" > visible={visible}</span>
|
|
1623
|
-
<span class="cstat-no" title="statement not covered" > fixedTo={containerRef}</span>
|
|
1624
|
-
<span class="cstat-no" title="statement not covered" > onRequestClose={hide}</span>
|
|
1625
|
-
<span class="cstat-no" title="statement not covered" > onEntering={handleMounting(onEntering, false)}</span>
|
|
1626
|
-
<span class="cstat-no" title="statement not covered" > onEntered={handleMounting(onEntered, !disableTransition)}</span>
|
|
1627
|
-
<span class="cstat-no" title="statement not covered" > onExiting={handleUnmounting(onExiting, false)}</span>
|
|
1628
|
-
<span class="cstat-no" title="statement not covered" > onExited={handleUnmounting(onExited, !disableTransition)}</span>
|
|
1629
|
-
<span class="cstat-no" title="statement not covered" > sheetProps={{</span>
|
|
1630
|
-
<span class="cstat-no" title="statement not covered" > ...menuProps.sheetProps,</span>
|
|
1631
|
-
<span class="cstat-no" title="statement not covered" > onEntering: handleMounting(menuProps.sheetProps?.onEntering, false),</span>
|
|
1632
|
-
<span class="cstat-no" title="statement not covered" > onEntered: handleMounting(</span>
|
|
1633
|
-
<span class="cstat-no" title="statement not covered" > menuProps.sheetProps?.onEntered,</span>
|
|
1634
|
-
<span class="cstat-no" title="statement not covered" > !disableTransition</span>
|
|
1635
|
-
<span class="cstat-no" title="statement not covered" > ),</span>
|
|
1636
|
-
<span class="cstat-no" title="statement not covered" > }}</span>
|
|
1637
|
-
<span class="cstat-no" title="statement not covered" > ></span>
|
|
1638
|
-
<span class="cstat-no" title="statement not covered" > {children}</span>
|
|
1639
|
-
<span class="cstat-no" title="statement not covered" > </Menu></span>
|
|
1640
|
-
<span class="cstat-no" title="statement not covered" > </KeyboardMovementProvider></span>
|
|
1641
|
-
<span class="cstat-no" title="statement not covered" > </ListboxProvider></span>
|
|
1642
|
-
<span class="cstat-no" title="statement not covered" > );</span>
|
|
1643
|
-
<span class="cstat-no" title="statement not covered" >}</span>
|
|
508
|
+
<a name='L443'></a><a href='#L443'>443</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
509
|
+
<span class="cline-any cline-yes">1x</span>
|
|
510
|
+
<span class="cline-any cline-yes">1x</span>
|
|
511
|
+
<span class="cline-any cline-yes">1x</span>
|
|
512
|
+
<span class="cline-any cline-yes">1x</span>
|
|
513
|
+
<span class="cline-any cline-yes">1x</span>
|
|
514
|
+
<span class="cline-any cline-yes">1x</span>
|
|
515
|
+
<span class="cline-any cline-yes">1x</span>
|
|
516
|
+
<span class="cline-any cline-yes">1x</span>
|
|
517
|
+
<span class="cline-any cline-yes">1x</span>
|
|
518
|
+
<span class="cline-any cline-yes">1x</span>
|
|
519
|
+
<span class="cline-any cline-yes">1x</span>
|
|
520
|
+
<span class="cline-any cline-yes">1x</span>
|
|
521
|
+
<span class="cline-any cline-yes">1x</span>
|
|
522
|
+
<span class="cline-any cline-yes">1x</span>
|
|
523
|
+
<span class="cline-any cline-yes">1x</span>
|
|
524
|
+
<span class="cline-any cline-yes">1x</span>
|
|
525
|
+
<span class="cline-any cline-yes">1x</span>
|
|
526
|
+
<span class="cline-any cline-yes">1x</span>
|
|
527
|
+
<span class="cline-any cline-yes">1x</span>
|
|
528
|
+
<span class="cline-any cline-yes">1x</span>
|
|
529
|
+
<span class="cline-any cline-yes">1x</span>
|
|
530
|
+
<span class="cline-any cline-yes">1x</span>
|
|
531
|
+
<span class="cline-any cline-yes">1x</span>
|
|
532
|
+
<span class="cline-any cline-yes">1x</span>
|
|
533
|
+
<span class="cline-any cline-yes">1x</span>
|
|
534
|
+
<span class="cline-any cline-yes">1x</span>
|
|
535
|
+
<span class="cline-any cline-yes">1x</span>
|
|
536
|
+
<span class="cline-any cline-yes">1x</span>
|
|
537
|
+
<span class="cline-any cline-yes">1x</span>
|
|
538
|
+
<span class="cline-any cline-yes">1x</span>
|
|
539
|
+
<span class="cline-any cline-yes">1x</span>
|
|
540
|
+
<span class="cline-any cline-yes">1x</span>
|
|
541
|
+
<span class="cline-any cline-yes">1x</span>
|
|
542
|
+
<span class="cline-any cline-yes">1x</span>
|
|
543
|
+
<span class="cline-any cline-yes">1x</span>
|
|
544
|
+
<span class="cline-any cline-yes">1x</span>
|
|
545
|
+
<span class="cline-any cline-yes">1x</span>
|
|
546
|
+
<span class="cline-any cline-yes">1x</span>
|
|
547
|
+
<span class="cline-any cline-yes">1x</span>
|
|
548
|
+
<span class="cline-any cline-yes">1x</span>
|
|
549
|
+
<span class="cline-any cline-yes">1x</span>
|
|
550
|
+
<span class="cline-any cline-yes">8x</span>
|
|
551
|
+
<span class="cline-any cline-yes">8x</span>
|
|
552
|
+
<span class="cline-any cline-yes">1x</span>
|
|
553
|
+
<span class="cline-any cline-yes">1x</span>
|
|
554
|
+
<span class="cline-any cline-yes">1x</span>
|
|
555
|
+
<span class="cline-any cline-yes">1x</span>
|
|
556
|
+
<span class="cline-any cline-yes">1x</span>
|
|
557
|
+
<span class="cline-any cline-yes">1x</span>
|
|
558
|
+
<span class="cline-any cline-yes">1x</span>
|
|
559
|
+
<span class="cline-any cline-yes">1x</span>
|
|
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">1x</span>
|
|
566
|
+
<span class="cline-any cline-yes">1x</span>
|
|
567
|
+
<span class="cline-any cline-yes">1x</span>
|
|
568
|
+
<span class="cline-any cline-yes">1x</span>
|
|
569
|
+
<span class="cline-any cline-yes">1x</span>
|
|
570
|
+
<span class="cline-any cline-yes">1x</span>
|
|
571
|
+
<span class="cline-any cline-yes">1x</span>
|
|
572
|
+
<span class="cline-any cline-yes">1x</span>
|
|
573
|
+
<span class="cline-any cline-yes">1x</span>
|
|
574
|
+
<span class="cline-any cline-yes">1x</span>
|
|
575
|
+
<span class="cline-any cline-yes">1x</span>
|
|
576
|
+
<span class="cline-any cline-yes">1x</span>
|
|
577
|
+
<span class="cline-any cline-yes">1x</span>
|
|
578
|
+
<span class="cline-any cline-yes">1x</span>
|
|
579
|
+
<span class="cline-any cline-yes">1x</span>
|
|
580
|
+
<span class="cline-any cline-yes">1x</span>
|
|
581
|
+
<span class="cline-any cline-yes">1x</span>
|
|
582
|
+
<span class="cline-any cline-yes">1x</span>
|
|
583
|
+
<span class="cline-any cline-yes">1x</span>
|
|
584
|
+
<span class="cline-any cline-yes">1x</span>
|
|
585
|
+
<span class="cline-any cline-yes">1x</span>
|
|
586
|
+
<span class="cline-any cline-yes">1x</span>
|
|
587
|
+
<span class="cline-any cline-yes">1x</span>
|
|
588
|
+
<span class="cline-any cline-yes">1x</span>
|
|
589
|
+
<span class="cline-any cline-yes">1x</span>
|
|
590
|
+
<span class="cline-any cline-yes">1x</span>
|
|
591
|
+
<span class="cline-any cline-yes">1x</span>
|
|
592
|
+
<span class="cline-any cline-yes">1x</span>
|
|
593
|
+
<span class="cline-any cline-yes">1x</span>
|
|
594
|
+
<span class="cline-any cline-yes">1x</span>
|
|
595
|
+
<span class="cline-any cline-yes">1x</span>
|
|
596
|
+
<span class="cline-any cline-yes">1x</span>
|
|
597
|
+
<span class="cline-any cline-yes">1x</span>
|
|
598
|
+
<span class="cline-any cline-yes">1x</span>
|
|
599
|
+
<span class="cline-any cline-yes">1x</span>
|
|
600
|
+
<span class="cline-any cline-yes">1x</span>
|
|
601
|
+
<span class="cline-any cline-yes">1x</span>
|
|
602
|
+
<span class="cline-any cline-yes">1x</span>
|
|
603
|
+
<span class="cline-any cline-yes">1x</span>
|
|
604
|
+
<span class="cline-any cline-yes">1x</span>
|
|
605
|
+
<span class="cline-any cline-yes">1x</span>
|
|
606
|
+
<span class="cline-any cline-yes">1x</span>
|
|
607
|
+
<span class="cline-any cline-yes">1x</span>
|
|
608
|
+
<span class="cline-any cline-yes">1x</span>
|
|
609
|
+
<span class="cline-any cline-yes">1x</span>
|
|
610
|
+
<span class="cline-any cline-yes">1x</span>
|
|
611
|
+
<span class="cline-any cline-yes">1x</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">1x</span>
|
|
615
|
+
<span class="cline-any cline-yes">1x</span>
|
|
616
|
+
<span class="cline-any cline-yes">1x</span>
|
|
617
|
+
<span class="cline-any cline-yes">1x</span>
|
|
618
|
+
<span class="cline-any cline-yes">1x</span>
|
|
619
|
+
<span class="cline-any cline-yes">1x</span>
|
|
620
|
+
<span class="cline-any cline-yes">1x</span>
|
|
621
|
+
<span class="cline-any cline-yes">1x</span>
|
|
622
|
+
<span class="cline-any cline-yes">1x</span>
|
|
623
|
+
<span class="cline-any cline-yes">1x</span>
|
|
624
|
+
<span class="cline-any cline-yes">1x</span>
|
|
625
|
+
<span class="cline-any cline-yes">1x</span>
|
|
626
|
+
<span class="cline-any cline-yes">1x</span>
|
|
627
|
+
<span class="cline-any cline-yes">1x</span>
|
|
628
|
+
<span class="cline-any cline-yes">1x</span>
|
|
629
|
+
<span class="cline-any cline-yes">1x</span>
|
|
630
|
+
<span class="cline-any cline-yes">1x</span>
|
|
631
|
+
<span class="cline-any cline-yes">1x</span>
|
|
632
|
+
<span class="cline-any cline-yes">1x</span>
|
|
633
|
+
<span class="cline-any cline-yes">1x</span>
|
|
634
|
+
<span class="cline-any cline-yes">1x</span>
|
|
635
|
+
<span class="cline-any cline-yes">1x</span>
|
|
636
|
+
<span class="cline-any cline-yes">1x</span>
|
|
637
|
+
<span class="cline-any cline-yes">1x</span>
|
|
638
|
+
<span class="cline-any cline-yes">1x</span>
|
|
639
|
+
<span class="cline-any cline-yes">1x</span>
|
|
640
|
+
<span class="cline-any cline-yes">1x</span>
|
|
641
|
+
<span class="cline-any cline-yes">1x</span>
|
|
642
|
+
<span class="cline-any cline-yes">1x</span>
|
|
643
|
+
<span class="cline-any cline-yes">1x</span>
|
|
644
|
+
<span class="cline-any cline-yes">1x</span>
|
|
645
|
+
<span class="cline-any cline-yes">1x</span>
|
|
646
|
+
<span class="cline-any cline-yes">1x</span>
|
|
647
|
+
<span class="cline-any cline-yes">1x</span>
|
|
648
|
+
<span class="cline-any cline-yes">1x</span>
|
|
649
|
+
<span class="cline-any cline-yes">1x</span>
|
|
650
|
+
<span class="cline-any cline-yes">1x</span>
|
|
651
|
+
<span class="cline-any cline-yes">1x</span>
|
|
652
|
+
<span class="cline-any cline-yes">1x</span>
|
|
653
|
+
<span class="cline-any cline-yes">1x</span>
|
|
654
|
+
<span class="cline-any cline-yes">1x</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">1x</span>
|
|
658
|
+
<span class="cline-any cline-yes">1x</span>
|
|
659
|
+
<span class="cline-any cline-yes">1x</span>
|
|
660
|
+
<span class="cline-any cline-yes">1x</span>
|
|
661
|
+
<span class="cline-any cline-yes">1x</span>
|
|
662
|
+
<span class="cline-any cline-yes">1x</span>
|
|
663
|
+
<span class="cline-any cline-yes">1x</span>
|
|
664
|
+
<span class="cline-any cline-yes">1x</span>
|
|
665
|
+
<span class="cline-any cline-yes">1x</span>
|
|
666
|
+
<span class="cline-any cline-yes">1x</span>
|
|
667
|
+
<span class="cline-any cline-yes">1x</span>
|
|
668
|
+
<span class="cline-any cline-yes">1x</span>
|
|
669
|
+
<span class="cline-any cline-yes">1x</span>
|
|
670
|
+
<span class="cline-any cline-yes">1x</span>
|
|
671
|
+
<span class="cline-any cline-yes">1x</span>
|
|
672
|
+
<span class="cline-any cline-yes">1x</span>
|
|
673
|
+
<span class="cline-any cline-yes">1x</span>
|
|
674
|
+
<span class="cline-any cline-yes">1x</span>
|
|
675
|
+
<span class="cline-any cline-yes">1x</span>
|
|
676
|
+
<span class="cline-any cline-yes">1x</span>
|
|
677
|
+
<span class="cline-any cline-yes">1x</span>
|
|
678
|
+
<span class="cline-any cline-yes">1x</span>
|
|
679
|
+
<span class="cline-any cline-yes">1x</span>
|
|
680
|
+
<span class="cline-any cline-yes">1x</span>
|
|
681
|
+
<span class="cline-any cline-yes">1x</span>
|
|
682
|
+
<span class="cline-any cline-yes">1x</span>
|
|
683
|
+
<span class="cline-any cline-yes">1x</span>
|
|
684
|
+
<span class="cline-any cline-yes">1x</span>
|
|
685
|
+
<span class="cline-any cline-yes">1x</span>
|
|
686
|
+
<span class="cline-any cline-yes">1x</span>
|
|
687
|
+
<span class="cline-any cline-yes">1x</span>
|
|
688
|
+
<span class="cline-any cline-yes">1x</span>
|
|
689
|
+
<span class="cline-any cline-yes">1x</span>
|
|
690
|
+
<span class="cline-any cline-yes">1x</span>
|
|
691
|
+
<span class="cline-any cline-yes">1x</span>
|
|
692
|
+
<span class="cline-any cline-yes">1x</span>
|
|
693
|
+
<span class="cline-any cline-yes">1x</span>
|
|
694
|
+
<span class="cline-any cline-yes">1x</span>
|
|
695
|
+
<span class="cline-any cline-yes">1x</span>
|
|
696
|
+
<span class="cline-any cline-yes">1x</span>
|
|
697
|
+
<span class="cline-any cline-yes">1x</span>
|
|
698
|
+
<span class="cline-any cline-yes">1x</span>
|
|
699
|
+
<span class="cline-any cline-yes">1x</span>
|
|
700
|
+
<span class="cline-any cline-yes">1x</span>
|
|
701
|
+
<span class="cline-any cline-yes">1x</span>
|
|
702
|
+
<span class="cline-any cline-yes">1x</span>
|
|
703
|
+
<span class="cline-any cline-yes">1x</span>
|
|
704
|
+
<span class="cline-any cline-yes">1x</span>
|
|
705
|
+
<span class="cline-any cline-yes">1x</span>
|
|
706
|
+
<span class="cline-any cline-yes">1x</span>
|
|
707
|
+
<span class="cline-any cline-yes">1x</span>
|
|
708
|
+
<span class="cline-any cline-yes">1x</span>
|
|
709
|
+
<span class="cline-any cline-yes">1x</span>
|
|
710
|
+
<span class="cline-any cline-yes">1x</span>
|
|
711
|
+
<span class="cline-any cline-yes">1x</span>
|
|
712
|
+
<span class="cline-any cline-yes">1x</span>
|
|
713
|
+
<span class="cline-any cline-yes">1x</span>
|
|
714
|
+
<span class="cline-any cline-yes">1x</span>
|
|
715
|
+
<span class="cline-any cline-yes">1x</span>
|
|
716
|
+
<span class="cline-any cline-yes">1x</span>
|
|
717
|
+
<span class="cline-any cline-yes">1x</span>
|
|
718
|
+
<span class="cline-any cline-yes">1x</span>
|
|
719
|
+
<span class="cline-any cline-yes">1x</span>
|
|
720
|
+
<span class="cline-any cline-yes">1x</span>
|
|
721
|
+
<span class="cline-any cline-yes">1x</span>
|
|
722
|
+
<span class="cline-any cline-yes">1x</span>
|
|
723
|
+
<span class="cline-any cline-yes">1x</span>
|
|
724
|
+
<span class="cline-any cline-yes">1x</span>
|
|
725
|
+
<span class="cline-any cline-yes">1x</span>
|
|
726
|
+
<span class="cline-any cline-yes">1x</span>
|
|
727
|
+
<span class="cline-any cline-yes">1x</span>
|
|
728
|
+
<span class="cline-any cline-yes">1x</span>
|
|
729
|
+
<span class="cline-any cline-yes">1x</span>
|
|
730
|
+
<span class="cline-any cline-yes">1x</span>
|
|
731
|
+
<span class="cline-any cline-yes">1x</span>
|
|
732
|
+
<span class="cline-any cline-yes">1x</span>
|
|
733
|
+
<span class="cline-any cline-yes">1x</span>
|
|
734
|
+
<span class="cline-any cline-yes">1x</span>
|
|
735
|
+
<span class="cline-any cline-yes">1x</span>
|
|
736
|
+
<span class="cline-any cline-yes">1x</span>
|
|
737
|
+
<span class="cline-any cline-yes">1x</span>
|
|
738
|
+
<span class="cline-any cline-yes">1x</span>
|
|
739
|
+
<span class="cline-any cline-yes">1x</span>
|
|
740
|
+
<span class="cline-any cline-yes">1x</span>
|
|
741
|
+
<span class="cline-any cline-yes">1x</span>
|
|
742
|
+
<span class="cline-any cline-yes">1x</span>
|
|
743
|
+
<span class="cline-any cline-yes">1x</span>
|
|
744
|
+
<span class="cline-any cline-yes">1x</span>
|
|
745
|
+
<span class="cline-any cline-yes">1x</span>
|
|
746
|
+
<span class="cline-any cline-yes">1x</span>
|
|
747
|
+
<span class="cline-any cline-yes">1x</span>
|
|
748
|
+
<span class="cline-any cline-yes">1x</span>
|
|
749
|
+
<span class="cline-any cline-yes">1x</span>
|
|
750
|
+
<span class="cline-any cline-yes">1x</span>
|
|
751
|
+
<span class="cline-any cline-yes">1x</span>
|
|
752
|
+
<span class="cline-any cline-yes">1x</span>
|
|
753
|
+
<span class="cline-any cline-yes">1x</span>
|
|
754
|
+
<span class="cline-any cline-yes">1x</span>
|
|
755
|
+
<span class="cline-any cline-yes">1x</span>
|
|
756
|
+
<span class="cline-any cline-yes">1x</span>
|
|
757
|
+
<span class="cline-any cline-yes">1x</span>
|
|
758
|
+
<span class="cline-any cline-yes">1x</span>
|
|
759
|
+
<span class="cline-any cline-yes">1x</span>
|
|
760
|
+
<span class="cline-any cline-yes">1x</span>
|
|
761
|
+
<span class="cline-any cline-yes">1x</span>
|
|
762
|
+
<span class="cline-any cline-yes">1x</span>
|
|
763
|
+
<span class="cline-any cline-yes">1x</span>
|
|
764
|
+
<span class="cline-any cline-yes">1x</span>
|
|
765
|
+
<span class="cline-any cline-yes">1x</span>
|
|
766
|
+
<span class="cline-any cline-yes">1x</span>
|
|
767
|
+
<span class="cline-any cline-yes">1x</span>
|
|
768
|
+
<span class="cline-any cline-yes">1x</span>
|
|
769
|
+
<span class="cline-any cline-yes">1x</span>
|
|
770
|
+
<span class="cline-any cline-yes">1x</span>
|
|
771
|
+
<span class="cline-any cline-yes">1x</span>
|
|
772
|
+
<span class="cline-any cline-yes">1x</span>
|
|
773
|
+
<span class="cline-any cline-yes">1x</span>
|
|
774
|
+
<span class="cline-any cline-yes">1x</span>
|
|
775
|
+
<span class="cline-any cline-yes">1x</span>
|
|
776
|
+
<span class="cline-any cline-yes">87x</span>
|
|
777
|
+
<span class="cline-any cline-yes">87x</span>
|
|
778
|
+
<span class="cline-any cline-yes">87x</span>
|
|
779
|
+
<span class="cline-any cline-yes">87x</span>
|
|
780
|
+
<span class="cline-any cline-yes">87x</span>
|
|
781
|
+
<span class="cline-any cline-yes">87x</span>
|
|
782
|
+
<span class="cline-any cline-yes">87x</span>
|
|
783
|
+
<span class="cline-any cline-yes">87x</span>
|
|
784
|
+
<span class="cline-any cline-yes">87x</span>
|
|
785
|
+
<span class="cline-any cline-yes">87x</span>
|
|
786
|
+
<span class="cline-any cline-yes">87x</span>
|
|
787
|
+
<span class="cline-any cline-yes">87x</span>
|
|
788
|
+
<span class="cline-any cline-yes">87x</span>
|
|
789
|
+
<span class="cline-any cline-yes">87x</span>
|
|
790
|
+
<span class="cline-any cline-yes">87x</span>
|
|
791
|
+
<span class="cline-any cline-yes">87x</span>
|
|
792
|
+
<span class="cline-any cline-yes">87x</span>
|
|
793
|
+
<span class="cline-any cline-yes">87x</span>
|
|
794
|
+
<span class="cline-any cline-yes">87x</span>
|
|
795
|
+
<span class="cline-any cline-yes">87x</span>
|
|
796
|
+
<span class="cline-any cline-yes">87x</span>
|
|
797
|
+
<span class="cline-any cline-yes">87x</span>
|
|
798
|
+
<span class="cline-any cline-yes">87x</span>
|
|
799
|
+
<span class="cline-any cline-yes">87x</span>
|
|
800
|
+
<span class="cline-any cline-yes">87x</span>
|
|
801
|
+
<span class="cline-any cline-yes">87x</span>
|
|
802
|
+
<span class="cline-any cline-yes">87x</span>
|
|
803
|
+
<span class="cline-any cline-yes">87x</span>
|
|
804
|
+
<span class="cline-any cline-yes">87x</span>
|
|
805
|
+
<span class="cline-any cline-yes">87x</span>
|
|
806
|
+
<span class="cline-any cline-yes">87x</span>
|
|
807
|
+
<span class="cline-any cline-yes">87x</span>
|
|
808
|
+
<span class="cline-any cline-yes">87x</span>
|
|
809
|
+
<span class="cline-any cline-yes">87x</span>
|
|
810
|
+
<span class="cline-any cline-yes">87x</span>
|
|
811
|
+
<span class="cline-any cline-yes">87x</span>
|
|
812
|
+
<span class="cline-any cline-yes">87x</span>
|
|
813
|
+
<span class="cline-any cline-yes">87x</span>
|
|
814
|
+
<span class="cline-any cline-yes">87x</span>
|
|
815
|
+
<span class="cline-any cline-yes">87x</span>
|
|
816
|
+
<span class="cline-any cline-yes">87x</span>
|
|
817
|
+
<span class="cline-any cline-yes">87x</span>
|
|
818
|
+
<span class="cline-any cline-yes">14x</span>
|
|
819
|
+
<span class="cline-any cline-yes">3x</span>
|
|
820
|
+
<span class="cline-any cline-yes">3x</span>
|
|
821
|
+
<span class="cline-any cline-yes">11x</span>
|
|
822
|
+
<span class="cline-any cline-yes">14x</span>
|
|
823
|
+
<span class="cline-any cline-yes">14x</span>
|
|
824
|
+
<span class="cline-any cline-yes">87x</span>
|
|
825
|
+
<span class="cline-any cline-yes">87x</span>
|
|
826
|
+
<span class="cline-any cline-yes">87x</span>
|
|
827
|
+
<span class="cline-any cline-yes">87x</span>
|
|
828
|
+
<span class="cline-any cline-yes">87x</span>
|
|
829
|
+
<span class="cline-any cline-yes">87x</span>
|
|
830
|
+
<span class="cline-any cline-yes">87x</span>
|
|
831
|
+
<span class="cline-any cline-yes">87x</span>
|
|
832
|
+
<span class="cline-any cline-yes">87x</span>
|
|
833
|
+
<span class="cline-any cline-yes">87x</span>
|
|
834
|
+
<span class="cline-any cline-yes">87x</span>
|
|
835
|
+
<span class="cline-any cline-yes">87x</span>
|
|
836
|
+
<span class="cline-any cline-yes">87x</span>
|
|
837
|
+
<span class="cline-any cline-yes">87x</span>
|
|
838
|
+
<span class="cline-any cline-yes">87x</span>
|
|
839
|
+
<span class="cline-any cline-yes">87x</span>
|
|
840
|
+
<span class="cline-any cline-yes">87x</span>
|
|
841
|
+
<span class="cline-any cline-yes">87x</span>
|
|
842
|
+
<span class="cline-any cline-yes">87x</span>
|
|
843
|
+
<span class="cline-any cline-yes">87x</span>
|
|
844
|
+
<span class="cline-any cline-yes">87x</span>
|
|
845
|
+
<span class="cline-any cline-yes">87x</span>
|
|
846
|
+
<span class="cline-any cline-yes">87x</span>
|
|
847
|
+
<span class="cline-any cline-yes">87x</span>
|
|
848
|
+
<span class="cline-any cline-yes">87x</span>
|
|
849
|
+
<span class="cline-any cline-yes">87x</span>
|
|
850
|
+
<span class="cline-any cline-yes">87x</span>
|
|
851
|
+
<span class="cline-any cline-yes">87x</span>
|
|
852
|
+
<span class="cline-any cline-yes">87x</span>
|
|
853
|
+
<span class="cline-any cline-yes">87x</span>
|
|
854
|
+
<span class="cline-any cline-yes">24x</span>
|
|
855
|
+
<span class="cline-any cline-yes">24x</span>
|
|
856
|
+
<span class="cline-any cline-yes">24x</span>
|
|
857
|
+
<span class="cline-any cline-yes">24x</span>
|
|
858
|
+
<span class="cline-any cline-yes">24x</span>
|
|
859
|
+
<span class="cline-any cline-yes">87x</span>
|
|
860
|
+
<span class="cline-any cline-yes">87x</span>
|
|
861
|
+
<span class="cline-any cline-yes">87x</span>
|
|
862
|
+
<span class="cline-any cline-yes">87x</span>
|
|
863
|
+
<span class="cline-any cline-yes">87x</span>
|
|
864
|
+
<span class="cline-any cline-yes">87x</span>
|
|
865
|
+
<span class="cline-any cline-yes">87x</span>
|
|
866
|
+
<span class="cline-any cline-yes">87x</span>
|
|
867
|
+
<span class="cline-any cline-yes">87x</span>
|
|
868
|
+
<span class="cline-any cline-yes">87x</span>
|
|
869
|
+
<span class="cline-any cline-yes">87x</span>
|
|
870
|
+
<span class="cline-any cline-yes">87x</span>
|
|
871
|
+
<span class="cline-any cline-yes">87x</span>
|
|
872
|
+
<span class="cline-any cline-yes">87x</span>
|
|
873
|
+
<span class="cline-any cline-yes">87x</span>
|
|
874
|
+
<span class="cline-any cline-yes">87x</span>
|
|
875
|
+
<span class="cline-any cline-yes">87x</span>
|
|
876
|
+
<span class="cline-any cline-yes">87x</span>
|
|
877
|
+
<span class="cline-any cline-yes">87x</span>
|
|
878
|
+
<span class="cline-any cline-yes">87x</span>
|
|
879
|
+
<span class="cline-any cline-yes">87x</span>
|
|
880
|
+
<span class="cline-any cline-yes">87x</span>
|
|
881
|
+
<span class="cline-any cline-yes">87x</span>
|
|
882
|
+
<span class="cline-any cline-yes">87x</span>
|
|
883
|
+
<span class="cline-any cline-yes">87x</span>
|
|
884
|
+
<span class="cline-any cline-yes">87x</span>
|
|
885
|
+
<span class="cline-any cline-yes">87x</span>
|
|
886
|
+
<span class="cline-any cline-yes">87x</span>
|
|
887
|
+
<span class="cline-any cline-yes">87x</span>
|
|
888
|
+
<span class="cline-any cline-yes">87x</span>
|
|
889
|
+
<span class="cline-any cline-yes">87x</span>
|
|
890
|
+
<span class="cline-any cline-yes">87x</span>
|
|
891
|
+
<span class="cline-any cline-yes">87x</span>
|
|
892
|
+
<span class="cline-any cline-yes">87x</span>
|
|
893
|
+
<span class="cline-any cline-yes">87x</span>
|
|
894
|
+
<span class="cline-any cline-yes">87x</span>
|
|
895
|
+
<span class="cline-any cline-yes">87x</span>
|
|
896
|
+
<span class="cline-any cline-yes">87x</span>
|
|
897
|
+
<span class="cline-any cline-yes">87x</span>
|
|
898
|
+
<span class="cline-any cline-yes">87x</span>
|
|
899
|
+
<span class="cline-any cline-yes">87x</span>
|
|
900
|
+
<span class="cline-any cline-yes">87x</span>
|
|
901
|
+
<span class="cline-any cline-yes">87x</span>
|
|
902
|
+
<span class="cline-any cline-yes">87x</span>
|
|
903
|
+
<span class="cline-any cline-yes">87x</span>
|
|
904
|
+
<span class="cline-any cline-yes">87x</span>
|
|
905
|
+
<span class="cline-any cline-yes">87x</span>
|
|
906
|
+
<span class="cline-any cline-yes">87x</span>
|
|
907
|
+
<span class="cline-any cline-yes">87x</span>
|
|
908
|
+
<span class="cline-any cline-yes">87x</span>
|
|
909
|
+
<span class="cline-any cline-yes">87x</span>
|
|
910
|
+
<span class="cline-any cline-yes">9x</span>
|
|
911
|
+
<span class="cline-any cline-yes">9x</span>
|
|
912
|
+
<span class="cline-any cline-yes">1x</span>
|
|
913
|
+
<span class="cline-any cline-yes">1x</span>
|
|
914
|
+
<span class="cline-any cline-yes">8x</span>
|
|
915
|
+
<span class="cline-any cline-yes">8x</span>
|
|
916
|
+
<span class="cline-any cline-yes">8x</span>
|
|
917
|
+
<span class="cline-any cline-yes">8x</span>
|
|
918
|
+
<span class="cline-any cline-yes">9x</span>
|
|
919
|
+
<span class="cline-any cline-yes">9x</span>
|
|
920
|
+
<span class="cline-any cline-yes">87x</span>
|
|
921
|
+
<span class="cline-any cline-yes">87x</span>
|
|
922
|
+
<span class="cline-any cline-yes">87x</span>
|
|
923
|
+
<span class="cline-any cline-yes">87x</span>
|
|
924
|
+
<span class="cline-any cline-yes">87x</span>
|
|
925
|
+
<span class="cline-any cline-yes">87x</span>
|
|
926
|
+
<span class="cline-any cline-yes">87x</span>
|
|
927
|
+
<span class="cline-any cline-yes">87x</span>
|
|
928
|
+
<span class="cline-any cline-yes">87x</span>
|
|
929
|
+
<span class="cline-any cline-yes">87x</span>
|
|
930
|
+
<span class="cline-any cline-yes">87x</span>
|
|
931
|
+
<span class="cline-any cline-yes">87x</span>
|
|
932
|
+
<span class="cline-any cline-yes">87x</span>
|
|
933
|
+
<span class="cline-any cline-yes">87x</span>
|
|
934
|
+
<span class="cline-any cline-yes">87x</span>
|
|
935
|
+
<span class="cline-any cline-yes">87x</span>
|
|
936
|
+
<span class="cline-any cline-yes">87x</span>
|
|
937
|
+
<span class="cline-any cline-yes">87x</span>
|
|
938
|
+
<span class="cline-any cline-yes">87x</span>
|
|
939
|
+
<span class="cline-any cline-yes">87x</span>
|
|
940
|
+
<span class="cline-any cline-yes">87x</span>
|
|
941
|
+
<span class="cline-any cline-yes">87x</span>
|
|
942
|
+
<span class="cline-any cline-yes">87x</span>
|
|
943
|
+
<span class="cline-any cline-yes">87x</span>
|
|
944
|
+
<span class="cline-any cline-yes">87x</span>
|
|
945
|
+
<span class="cline-any cline-yes">87x</span>
|
|
946
|
+
<span class="cline-any cline-yes">87x</span>
|
|
947
|
+
<span class="cline-any cline-yes">87x</span>
|
|
948
|
+
<span class="cline-any cline-yes">87x</span>
|
|
949
|
+
<span class="cline-any cline-yes">87x</span>
|
|
950
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">"use client";
|
|
951
|
+
import { cnb } from "cnbuilder";
|
|
952
|
+
import {
|
|
953
|
+
useMemo,
|
|
954
|
+
useRef,
|
|
955
|
+
useState,
|
|
956
|
+
type ChangeEvent,
|
|
957
|
+
type HTMLAttributes,
|
|
958
|
+
type InputHTMLAttributes,
|
|
959
|
+
type ReactElement,
|
|
960
|
+
type ReactNode,
|
|
961
|
+
type Ref,
|
|
962
|
+
} from "react";
|
|
963
|
+
import { type BoxProps } from "../box/Box.js";
|
|
964
|
+
import { IconRotator } from "../icon/IconRotator.js";
|
|
965
|
+
import { getIcon } from "../icon/iconConfig.js";
|
|
966
|
+
import { Menu, type MenuProps } from "../menu/Menu.js";
|
|
967
|
+
import { KeyboardMovementProvider } from "../movement/useKeyboardMovementProvider.js";
|
|
968
|
+
import {
|
|
969
|
+
type LabelA11y,
|
|
970
|
+
type PropsWithRef,
|
|
971
|
+
type RequireAtLeastOne,
|
|
972
|
+
} from "../types.js";
|
|
973
|
+
import { useEnsuredId } from "../useEnsuredId.js";
|
|
974
|
+
import { useEnsuredRef } from "../useEnsuredRef.js";
|
|
975
|
+
import { label as labelStyles } from "./Label.js";
|
|
976
|
+
import { SelectedOption } from "./SelectedOption.js";
|
|
977
|
+
import {
|
|
978
|
+
TextFieldContainer,
|
|
979
|
+
type TextFieldContainerProps,
|
|
980
|
+
} from "./TextFieldContainer.js";
|
|
981
|
+
import { getFormConfig } from "./formConfig.js";
|
|
982
|
+
import { select } from "./selectStyles.js";
|
|
983
|
+
import { extractOptionsFromChildren } from "./selectUtils.js";
|
|
984
|
+
import { textField } from "./textFieldStyles.js";
|
|
985
|
+
import { type UserAgentAutoCompleteProps } from "./types.js";
|
|
986
|
+
import { useFormReset } from "./useFormReset.js";
|
|
987
|
+
import { ListboxProvider, type ListboxContext } from "./useListboxProvider.js";
|
|
988
|
+
import { useSelectCombobox } from "./useSelectCombobox.js";
|
|
989
|
+
|
|
990
|
+
const EMPTY_STRING = "" as const;
|
|
991
|
+
const noop = (): void => {
|
|
992
|
+
// do nothing
|
|
993
|
+
};
|
|
994
|
+
|
|
995
|
+
/**
|
|
996
|
+
* This is a convenience type for casting the `event.currentTarget.value` of a
|
|
997
|
+
* `Select`'s change event to be union of available values.
|
|
998
|
+
*
|
|
999
|
+
* Note: The change event does not provide any sort of validation on the value
|
|
1000
|
+
* so automation tools like Cypress, Playwright, or Selenium might set an
|
|
1001
|
+
* invalid value. This also does not work for numbers, so you will need to
|
|
1002
|
+
* implement that yourself.
|
|
1003
|
+
*
|
|
1004
|
+
* @example
|
|
1005
|
+
* Simple Usage
|
|
1006
|
+
* ```tsx
|
|
1007
|
+
* import type { SelectedChangeEvent } from "@react-md/core";
|
|
1008
|
+
* import { Select, Option } from "@react-md/core";
|
|
1009
|
+
* import type { ReactElement } from "react";
|
|
1010
|
+
*
|
|
1011
|
+
* type Value = "" | "a" | "b" | "c" | "d";
|
|
1012
|
+
*
|
|
1013
|
+
* function Example(): ReactElement {
|
|
1014
|
+
* const [value, setValue] = useState<Value>("");
|
|
1015
|
+
*
|
|
1016
|
+
* const handleChange = (event: SelectChangeEvent<Value>): void => {
|
|
1017
|
+
* // No type error!
|
|
1018
|
+
* // `event.currentTarget.value`'s type is `Value` instead of a generic `string`
|
|
1019
|
+
* setValue(event.currentTarget.value);
|
|
1020
|
+
* };
|
|
1021
|
+
*
|
|
1022
|
+
* return (
|
|
1023
|
+
* <Select
|
|
1024
|
+
* label="Label"
|
|
1025
|
+
* value={value}
|
|
1026
|
+
* onChange={handleChange}
|
|
1027
|
+
* >
|
|
1028
|
+
* <Option value="a">First</Option>
|
|
1029
|
+
* <Option value="b">Second</Option>
|
|
1030
|
+
* <Option value="c">Third</Option>
|
|
1031
|
+
* <Option value="d">Fourth</Option>
|
|
1032
|
+
* </Select>
|
|
1033
|
+
* );
|
|
1034
|
+
* }
|
|
1035
|
+
* ```
|
|
1036
|
+
* @remarks \@since 6.0.0
|
|
1037
|
+
*/
|
|
1038
|
+
export type SelectChangeEvent<Value extends string> =
|
|
1039
|
+
ChangeEvent<HTMLInputElement> & { currentTarget: { value: Value } };
|
|
1040
|
+
|
|
1041
|
+
/**
|
|
1042
|
+
* @remarks \@since 6.0.0 Rewritten with a new API.
|
|
1043
|
+
*/
|
|
1044
|
+
export interface SelectProps<Value extends string>
|
|
1045
|
+
extends Omit<TextFieldContainerProps, "label">,
|
|
1046
|
+
Pick<InputHTMLAttributes<HTMLInputElement>, "form" | "required">,
|
|
1047
|
+
UserAgentAutoCompleteProps {
|
|
1048
|
+
/**
|
|
1049
|
+
* @defaultValue `"select-" + useId()`
|
|
1050
|
+
*/
|
|
1051
|
+
id?: string;
|
|
1052
|
+
|
|
1053
|
+
/**
|
|
1054
|
+
* Optional placeholder text or element to render while no options have been
|
|
1055
|
+
* selected.
|
|
1056
|
+
*/
|
|
1057
|
+
placeholder?: ReactNode;
|
|
1058
|
+
|
|
1059
|
+
/**
|
|
1060
|
+
* Set this to a custom dropdown icon or `null` to not render a dropdown icon.
|
|
1061
|
+
*
|
|
1062
|
+
* @defaultValue `getIcon("dropdown")`
|
|
1063
|
+
*/
|
|
1064
|
+
icon?: ReactNode;
|
|
1065
|
+
|
|
1066
|
+
/**
|
|
1067
|
+
* Set this value to fully control the value of the select component. The
|
|
1068
|
+
* {@link onChange} handler **must** also be provided if this prop exists.
|
|
1069
|
+
*/
|
|
1070
|
+
value?: Value;
|
|
1071
|
+
|
|
1072
|
+
/**
|
|
1073
|
+
* An optional default value when the value of the select component is
|
|
1074
|
+
* uncontrolled.
|
|
1075
|
+
*
|
|
1076
|
+
* @defaultValue `""`
|
|
1077
|
+
*/
|
|
1078
|
+
defaultValue?: Value;
|
|
1079
|
+
|
|
1080
|
+
/** @see {@link SelectChangeEvent} */
|
|
1081
|
+
onChange?(event: SelectChangeEvent<Value>): void;
|
|
1082
|
+
|
|
1083
|
+
/**
|
|
1084
|
+
* An optional floating label to display like other form fields.
|
|
1085
|
+
*/
|
|
1086
|
+
label?: ReactNode;
|
|
1087
|
+
|
|
1088
|
+
/**
|
|
1089
|
+
* Optional props to pass to the `<span>` that surrounds the {@link label}
|
|
1090
|
+
*/
|
|
1091
|
+
labelProps?: PropsWithRef<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>;
|
|
1092
|
+
|
|
1093
|
+
/**
|
|
1094
|
+
* An optional ref to pass to the hidden `<input type="text" />` element that
|
|
1095
|
+
* stores the current value. This is really only useful if you'd like to keep
|
|
1096
|
+
* this component uncontrolled and access the value through
|
|
1097
|
+
* `inputRef.current.value`.
|
|
1098
|
+
*/
|
|
1099
|
+
inputRef?: Ref<HTMLInputElement>;
|
|
1100
|
+
inputProps?: InputHTMLAttributes<HTMLInputElement>;
|
|
1101
|
+
|
|
1102
|
+
/**
|
|
1103
|
+
* A ref for the container `<div>` element.
|
|
1104
|
+
*/
|
|
1105
|
+
containerRef?: Ref<HTMLDivElement>;
|
|
1106
|
+
|
|
1107
|
+
/**
|
|
1108
|
+
* Any additional props to provide to the `Menu` component that renders all
|
|
1109
|
+
* the `Option`s.
|
|
1110
|
+
*
|
|
1111
|
+
* The menu will always have these default values unless explicity
|
|
1112
|
+
* overwritten by this prop:
|
|
1113
|
+
*
|
|
1114
|
+
* - `aria-labelledby={label ? labelId : id}` -- this will be undefined if
|
|
1115
|
+
* `aria-label` is provided
|
|
1116
|
+
* - `anchor={BELOW_CENTER_ANCHOR}`
|
|
1117
|
+
* - `width="min"`
|
|
1118
|
+
*/
|
|
1119
|
+
menuProps?: Omit<MenuProps, "visible" | "onRequestClose" | "fixedTo">;
|
|
1120
|
+
|
|
1121
|
+
/**
|
|
1122
|
+
* Any additional props to pass to the div that contains the current visible
|
|
1123
|
+
* option.
|
|
1124
|
+
*/
|
|
1125
|
+
selectedOptionProps?: BoxProps;
|
|
1126
|
+
|
|
1127
|
+
/**
|
|
1128
|
+
* Set this to `true` if all the `Option` components should display the
|
|
1129
|
+
* selected icon after the children instead of before.
|
|
1130
|
+
*
|
|
1131
|
+
* @see {@link disableSelectedIcon} to remove the selected icon instead.
|
|
1132
|
+
*
|
|
1133
|
+
* @defaultValue `false`
|
|
1134
|
+
*/
|
|
1135
|
+
selectedIconAfter?: boolean;
|
|
1136
|
+
|
|
1137
|
+
/**
|
|
1138
|
+
* Set this to `true` to prevent the current option from rendering the
|
|
1139
|
+
* `leftAddon` in the `TextFieldContainer`.
|
|
1140
|
+
*
|
|
1141
|
+
* @defaultValue `false`
|
|
1142
|
+
*/
|
|
1143
|
+
disableOptionAddon?: boolean;
|
|
1144
|
+
|
|
1145
|
+
/**
|
|
1146
|
+
* Set this to `true` to update all the `Option` components to no longer
|
|
1147
|
+
* render an icon while selected.
|
|
1148
|
+
*
|
|
1149
|
+
* @defaultValue `false`
|
|
1150
|
+
*/
|
|
1151
|
+
disableSelectedIcon?: boolean;
|
|
1152
|
+
|
|
1153
|
+
/**
|
|
1154
|
+
* This should be the available `Option`s for the select to choose from. It
|
|
1155
|
+
* can also contain `OptGroup` or any other elements but only clicking on an
|
|
1156
|
+
* `Option` component will update the value.
|
|
1157
|
+
*/
|
|
1158
|
+
children: ReactNode;
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
/**
|
|
1162
|
+
* **Client Component**
|
|
1163
|
+
*
|
|
1164
|
+
* @example
|
|
1165
|
+
* Simple Example
|
|
1166
|
+
* ```tsx
|
|
1167
|
+
* import { Select, Option } from "react-md";
|
|
1168
|
+
* import { useState, type ReactElement } from "react";
|
|
1169
|
+
*
|
|
1170
|
+
* function Example(): ReactElement {
|
|
1171
|
+
* const [value, setValue] = useState("");
|
|
1172
|
+
*
|
|
1173
|
+
* return (
|
|
1174
|
+
* <Select
|
|
1175
|
+
* label="Select"
|
|
1176
|
+
* value={value}
|
|
1177
|
+
* onChange={(event) => setValue(event.currentTarget.value)}
|
|
1178
|
+
* placeholder="Select a value"
|
|
1179
|
+
* >
|
|
1180
|
+
* <Option value="a">Option 1</Option>
|
|
1181
|
+
* <Option value="b">Option 2</Option>
|
|
1182
|
+
* <Option value="c">Option 3</Option>
|
|
1183
|
+
* <Option value="d">Option 4</Option>
|
|
1184
|
+
* </Select>
|
|
1185
|
+
* );
|
|
1186
|
+
* }
|
|
1187
|
+
* ```
|
|
1188
|
+
*
|
|
1189
|
+
* @example
|
|
1190
|
+
* Testing
|
|
1191
|
+
* ```tsx
|
|
1192
|
+
* rmdRender(
|
|
1193
|
+
* <Select label="Select" selectedOptionProps={{ "data-testid": "selected" }}>
|
|
1194
|
+
* <Option value="a">Option 1</Option>
|
|
1195
|
+
* <Option value="b">Option 2</Option>
|
|
1196
|
+
* <Option value="c">Option 3</Option>
|
|
1197
|
+
* <Option value="d">Option 4</Option>
|
|
1198
|
+
* </Select>
|
|
1199
|
+
* );
|
|
1200
|
+
*
|
|
1201
|
+
* const user = userEvent.setup();
|
|
1202
|
+
* const select = screen.getByRole("combobox", { name: "Select" });
|
|
1203
|
+
* const selected = screen.getByTestId("selected")
|
|
1204
|
+
* const selectInput = screen.getByRole("textbox", { hidden: true });
|
|
1205
|
+
* expect(selected).toHaveTextContent("");
|
|
1206
|
+
* expect(selectInput).toHaveValue("");
|
|
1207
|
+
*
|
|
1208
|
+
* await user.click(select);
|
|
1209
|
+
* await user.click(screen.getByRole("option"), { name: "Option 2" });
|
|
1210
|
+
*
|
|
1211
|
+
* expect(selected).toHaveTextContent("Option 2");
|
|
1212
|
+
* expect(selectInput).toHaveValue("b");
|
|
1213
|
+
* ```
|
|
1214
|
+
*
|
|
1215
|
+
* @remarks \@since 6.0.0 Rewritten with a new API.
|
|
1216
|
+
*/
|
|
1217
|
+
export function Select<Value extends string>(
|
|
1218
|
+
props: RequireAtLeastOne<SelectProps<Value>, "label" | keyof LabelA11y>
|
|
1219
|
+
): ReactElement {
|
|
1220
|
+
const {
|
|
1221
|
+
id,
|
|
1222
|
+
form,
|
|
1223
|
+
autoCompleteValue,
|
|
1224
|
+
autoComplete = autoCompleteValue,
|
|
1225
|
+
name = autoCompleteValue,
|
|
1226
|
+
className,
|
|
1227
|
+
onClick,
|
|
1228
|
+
onFocus,
|
|
1229
|
+
onKeyDown,
|
|
1230
|
+
inputRef: propInputRef,
|
|
1231
|
+
inputProps,
|
|
1232
|
+
containerRef,
|
|
1233
|
+
placeholder,
|
|
1234
|
+
menuProps = {},
|
|
1235
|
+
label,
|
|
1236
|
+
labelProps = {},
|
|
1237
|
+
selectedOptionProps,
|
|
1238
|
+
icon: propIcon,
|
|
1239
|
+
value,
|
|
1240
|
+
defaultValue,
|
|
1241
|
+
theme: propTheme,
|
|
1242
|
+
onChange = noop,
|
|
1243
|
+
rightAddon: propRightAddon,
|
|
1244
|
+
active = false,
|
|
1245
|
+
required,
|
|
1246
|
+
selectedIconAfter = false,
|
|
1247
|
+
disableOptionAddon = false,
|
|
1248
|
+
disableSelectedIcon = false,
|
|
1249
|
+
children,
|
|
1250
|
+
...remaining
|
|
1251
|
+
} = props;
|
|
1252
|
+
const { dense, error, disabled } = props;
|
|
1253
|
+
|
|
1254
|
+
const comboboxId = useEnsuredId(id, "select");
|
|
1255
|
+
const inputId = useEnsuredId(<span class="branch-0 cbranch-no" title="branch not covered" >inputProps?.id, "</span>select-value");
|
|
1256
|
+
const selectLabelId = useEnsuredId(labelProps.id, "select-label");
|
|
1257
|
+
const labelId = label ? <span class="branch-0 cbranch-no" title="branch not covered" >selectLabelId : undefined;</span>
|
|
1258
|
+
|
|
1259
|
+
const [localValue, setLocalValue] = useState(() => {
|
|
1260
|
+
if (typeof defaultValue !== "undefined") {
|
|
1261
|
+
return defaultValue;
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1264
|
+
return typeof value !== "undefined" ? value : EMPTY_STRING;
|
|
1265
|
+
});
|
|
1266
|
+
const currentValue = typeof value === "undefined" ? localValue : value;
|
|
1267
|
+
const initialValue = useRef(currentValue);
|
|
1268
|
+
const { options, currentOption } = extractOptionsFromChildren(
|
|
1269
|
+
children,
|
|
1270
|
+
currentValue
|
|
1271
|
+
);
|
|
1272
|
+
|
|
1273
|
+
const { visible, comboboxProps, movementContext, getMenuProps } =
|
|
1274
|
+
useSelectCombobox({
|
|
1275
|
+
form,
|
|
1276
|
+
value: currentValue,
|
|
1277
|
+
values: options,
|
|
1278
|
+
onClick,
|
|
1279
|
+
onFocus,
|
|
1280
|
+
onKeyDown,
|
|
1281
|
+
disabled,
|
|
1282
|
+
popupId: menuProps.id,
|
|
1283
|
+
popupRef: menuProps.nodeRef,
|
|
1284
|
+
comboboxId,
|
|
1285
|
+
comboboxRef: containerRef,
|
|
1286
|
+
});
|
|
1287
|
+
|
|
1288
|
+
const [inputRef, inputRefCallback] = useEnsuredRef(propInputRef);
|
|
1289
|
+
useFormReset({
|
|
1290
|
+
form,
|
|
1291
|
+
elementRef: inputRef,
|
|
1292
|
+
defaultValue: initialValue.current,
|
|
1293
|
+
});
|
|
1294
|
+
const listboxContext = useMemo<ListboxContext>(
|
|
1295
|
+
() => ({
|
|
1296
|
+
inputRef,
|
|
1297
|
+
currentValue,
|
|
1298
|
+
selectedIconAfter,
|
|
1299
|
+
disableSelectedIcon,
|
|
1300
|
+
}),
|
|
1301
|
+
[currentValue, disableSelectedIcon, inputRef, selectedIconAfter]
|
|
1302
|
+
);
|
|
1303
|
+
|
|
1304
|
+
const icon = getIcon("dropdown", propIcon);
|
|
1305
|
+
const theme = getFormConfig("theme", propTheme);
|
|
1306
|
+
let rightAddon = propRightAddon;
|
|
1307
|
+
if (typeof rightAddon === "undefined" && icon) {
|
|
1308
|
+
rightAddon = <IconRotator rotated={visible}>{icon}</IconRotator>;
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
let listboxLabelledBy = menuProps["aria-labelledby"];
|
|
1312
|
+
const listboxLabel = menuProps["aria-label"];
|
|
1313
|
+
if (!listboxLabel && !listboxLabelledBy) {
|
|
1314
|
+
listboxLabelledBy = <span class="branch-0 cbranch-no" title="branch not covered" >labelId || comboboxId;</span>
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1317
|
+
return (
|
|
1318
|
+
<ListboxProvider value={listboxContext}>
|
|
1319
|
+
<KeyboardMovementProvider value={movementContext}>
|
|
1320
|
+
<TextFieldContainer
|
|
1321
|
+
aria-labelledby={labelId}
|
|
1322
|
+
{...remaining}
|
|
1323
|
+
{...comboboxProps}
|
|
1324
|
+
label={!!label}
|
|
1325
|
+
theme={theme}
|
|
1326
|
+
active={active || visible}
|
|
1327
|
+
className={cnb("rmd-select-container", className)}
|
|
1328
|
+
rightAddon={rightAddon}
|
|
1329
|
+
>
|
|
1330
|
+
<SelectedOption
|
|
1331
|
+
option={currentOption}
|
|
1332
|
+
placeholder={placeholder}
|
|
1333
|
+
disableAddon={disableOptionAddon}
|
|
1334
|
+
{...selectedOptionProps}
|
|
1335
|
+
/>
|
|
1336
|
+
<input
|
|
1337
|
+
aria-hidden
|
|
1338
|
+
id={inputId}
|
|
1339
|
+
ref={inputRefCallback}
|
|
1340
|
+
type="text"
|
|
1341
|
+
autoComplete={autoComplete}
|
|
1342
|
+
name={name}
|
|
1343
|
+
tabIndex={-1}
|
|
1344
|
+
disabled={disabled}
|
|
1345
|
+
required={required}
|
|
1346
|
+
placeholder=" "
|
|
1347
|
+
{...inputProps}
|
|
1348
|
+
value={value}
|
|
1349
|
+
defaultValue={defaultValue}
|
|
1350
|
+
className={cnb(select({ theme }), textField())}
|
|
1351
|
+
onChange={(event) => {
|
|
1352
|
+
onChange(event as SelectChangeEvent<Value>);
|
|
1353
|
+
if (typeof value !== "undefined") {
|
|
1354
|
+
return;
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
const nextValue = event.currentTarget.value;
|
|
1358
|
+
const nextOption = options.find((option) => option === nextValue);
|
|
1359
|
+
|
|
1360
|
+
setLocalValue(<span class="branch-0 cbranch-no" title="branch not covered" >nextOption ?? initialValue.current)</span>;
|
|
1361
|
+
}}
|
|
1362
|
+
/>
|
|
1363
|
+
{label && (
|
|
1364
|
+
<span
|
|
1365
|
+
{...labelProps}
|
|
1366
|
+
id={labelId}
|
|
1367
|
+
className={labelStyles({
|
|
1368
|
+
dense,
|
|
1369
|
+
error,
|
|
1370
|
+
disabled,
|
|
1371
|
+
active: active || visible,
|
|
1372
|
+
floating: true,
|
|
1373
|
+
floatingActive: !!placeholder || !!currentOption,
|
|
1374
|
+
className: labelProps.className,
|
|
1375
|
+
})}
|
|
1376
|
+
>
|
|
1377
|
+
{label}
|
|
1378
|
+
</span>
|
|
1379
|
+
)}
|
|
1380
|
+
</TextFieldContainer>
|
|
1381
|
+
<Menu
|
|
1382
|
+
{...getMenuProps(menuProps)}
|
|
1383
|
+
aria-label={listboxLabel}
|
|
1384
|
+
aria-labelledby={listboxLabelledBy as string}
|
|
1385
|
+
>
|
|
1386
|
+
{children}
|
|
1387
|
+
</Menu>
|
|
1388
|
+
</KeyboardMovementProvider>
|
|
1389
|
+
</ListboxProvider>
|
|
1390
|
+
);
|
|
1391
|
+
}
|
|
1644
1392
|
</pre></td></tr></table></pre>
|
|
1645
1393
|
|
|
1646
1394
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -1648,7 +1396,7 @@
|
|
|
1648
1396
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1649
1397
|
Code coverage generated by
|
|
1650
1398
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1651
|
-
at 2024-
|
|
1399
|
+
at 2024-03-03T14:43:04.971Z
|
|
1652
1400
|
</div>
|
|
1653
1401
|
<script src="../../prettify.js"></script>
|
|
1654
1402
|
<script>
|