@react-md/core 1.0.0-next.1 → 1.0.0-next.11

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.
Files changed (1203) hide show
  1. package/.stylelintrc.json +14 -0
  2. package/.turbo/turbo-build.log +11 -7
  3. package/.turbo/turbo-typecheck.log +4 -4
  4. package/CHANGELOG.md +183 -0
  5. package/README.md +39 -24
  6. package/coverage/clover.xml +2 -2
  7. package/coverage/lcov-report/AutoComplete.tsx.html +283 -0
  8. package/coverage/lcov-report/Avatar.tsx.html +472 -0
  9. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +166 -112
  10. package/coverage/lcov-report/IconRotator.tsx.html +322 -0
  11. package/coverage/lcov-report/ListItem.tsx.html +892 -0
  12. package/coverage/lcov-report/ListItemLink.tsx.html +616 -0
  13. package/coverage/lcov-report/MenuItemCheckbox.tsx.html +223 -0
  14. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +178 -232
  15. package/coverage/lcov-report/MenuItemRadio.tsx.html +436 -0
  16. package/coverage/lcov-report/Portal.tsx.html +223 -0
  17. package/coverage/lcov-report/PortalContainerProvider.tsx.html +367 -0
  18. package/coverage/lcov-report/RootHtml.tsx.html +370 -0
  19. package/coverage/lcov-report/Select.tsx.html +1411 -0
  20. package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +613 -0
  21. package/coverage/lcov-report/Snackbar.tsx.html +360 -402
  22. package/coverage/lcov-report/SrOnly.tsx.html +328 -0
  23. package/coverage/lcov-report/Tab.tsx.html +261 -147
  24. package/coverage/lcov-report/Toast.tsx.html +868 -0
  25. package/coverage/lcov-report/ToastManager.tsx.html +1783 -0
  26. package/coverage/lcov-report/ToastManagerProvider.tsx.html +216 -216
  27. package/coverage/lcov-report/TreeGroup.tsx.html +313 -0
  28. package/coverage/lcov-report/Typography.tsx.html +1027 -0
  29. package/coverage/lcov-report/app-bar/AppBar.tsx.html +178 -28
  30. package/coverage/lcov-report/app-bar/index.html +7 -7
  31. package/coverage/lcov-report/autocomplete/AutoComplete.tsx.html +283 -0
  32. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +475 -0
  33. package/coverage/lcov-report/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  34. package/coverage/lcov-report/autocomplete/index.html +221 -0
  35. package/coverage/lcov-report/autocomplete/useAutoComplete.ts.html +775 -0
  36. package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +1273 -0
  37. package/coverage/lcov-report/autocomplete/useAutocompleteAgain.ts.html +829 -0
  38. package/coverage/lcov-report/autocomplete/useAutocompletev2.ts.html +715 -0
  39. package/coverage/lcov-report/autocomplete/useInlineAutoComplete.ts.html +340 -0
  40. package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +430 -0
  41. package/coverage/lcov-report/autocomplete/useInlineSelection.ts.html +310 -0
  42. package/coverage/lcov-report/autocomplete/utils.ts.html +196 -0
  43. package/coverage/lcov-report/avatar/Avatar.tsx.html +162 -99
  44. package/coverage/lcov-report/avatar/index.html +19 -34
  45. package/coverage/lcov-report/avatar/styles.ts.html +1 -1
  46. package/coverage/lcov-report/button/Button.tsx.html +85 -85
  47. package/coverage/lcov-report/button/TooltippedButton.tsx.html +445 -0
  48. package/coverage/lcov-report/button/index.html +12 -12
  49. package/coverage/lcov-report/card/Card.tsx.html +349 -0
  50. package/coverage/lcov-report/card/CardContent.tsx.html +223 -0
  51. package/coverage/lcov-report/card/ClickableCard.tsx.html +400 -0
  52. package/coverage/lcov-report/card/index.html +21 -21
  53. package/coverage/lcov-report/card/styles.ts.html +428 -392
  54. package/coverage/lcov-report/cssUtils.ts.html +86 -59
  55. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +36 -36
  56. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +26 -26
  57. package/coverage/lcov-report/dialog/index.html +34 -19
  58. package/coverage/lcov-report/draggable/index.html +21 -36
  59. package/coverage/lcov-report/draggable/useDraggable.ts.html +377 -368
  60. package/coverage/lcov-report/draggable/utils.ts.html +96 -195
  61. package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +211 -0
  62. package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +12 -15
  63. package/coverage/lcov-report/expansion-panel/index.html +34 -19
  64. package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +928 -0
  65. package/coverage/lcov-report/form/AutoComplete.tsx.html +283 -0
  66. package/coverage/lcov-report/form/Form.tsx.html +22 -22
  67. package/coverage/lcov-report/form/Label.tsx.html +442 -0
  68. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +2 -2
  69. package/coverage/lcov-report/form/OptGroup.tsx.html +169 -166
  70. package/coverage/lcov-report/form/Option.tsx.html +727 -0
  71. package/coverage/lcov-report/form/ResizingTextArea.tsx.html +442 -0
  72. package/coverage/lcov-report/form/ResizingTextAreaWrapper.tsx.html +310 -0
  73. package/coverage/lcov-report/form/Select.tsx.html +1456 -0
  74. package/coverage/lcov-report/form/SelectOriginal.tsx.html +1630 -0
  75. package/coverage/lcov-report/form/SelectV2.tsx.html +1024 -0
  76. package/coverage/lcov-report/form/SelectedOption.tsx.html +250 -0
  77. package/coverage/lcov-report/form/SimpleTextArea.tsx.html +727 -0
  78. package/coverage/lcov-report/form/Slider.tsx.html +163 -40
  79. package/coverage/lcov-report/form/TextArea.tsx.html +596 -740
  80. package/coverage/lcov-report/form/TextArea2.tsx.html +985 -0
  81. package/coverage/lcov-report/form/TextAreaBackup.tsx.html +1006 -0
  82. package/coverage/lcov-report/form/TextField.tsx.html +156 -234
  83. package/coverage/lcov-report/form/index.html +111 -21
  84. package/coverage/lcov-report/form/selectUtils.ts.html +188 -221
  85. package/coverage/lcov-report/form/textAreaStyles.ts.html +8 -11
  86. package/coverage/lcov-report/form/useAutoComplete.ts.html +787 -0
  87. package/coverage/lcov-report/form/useCombobox.ts.html +454 -460
  88. package/coverage/lcov-report/form/useComboboxList.ts.html +108 -93
  89. package/coverage/lcov-report/form/useFormReset.ts.html +229 -0
  90. package/coverage/lcov-report/form/useInlineAutoComplete.ts.html +379 -0
  91. package/coverage/lcov-report/form/useResizingTextArea.ts.html +631 -0
  92. package/coverage/lcov-report/form/useResizingTextArea2.ts.html +631 -0
  93. package/coverage/lcov-report/form/useSelectCombobox.ts.html +499 -0
  94. package/coverage/lcov-report/form/utils.ts.html +209 -170
  95. package/coverage/lcov-report/getListItemHeight.ts.html +298 -0
  96. package/coverage/lcov-report/icon/FontIcon.tsx.html +64 -64
  97. package/coverage/lcov-report/icon/MaterialIcon.tsx.html +235 -0
  98. package/coverage/lcov-report/icon/index.html +19 -19
  99. package/coverage/lcov-report/index.html +1 -1
  100. package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +679 -0
  101. package/coverage/lcov-report/interaction/config.ts.html +181 -0
  102. package/coverage/lcov-report/interaction/index.html +33 -18
  103. package/coverage/lcov-report/list/List.tsx.html +490 -0
  104. package/coverage/lcov-report/list/ListItem.tsx.html +886 -0
  105. package/coverage/lcov-report/list/ListItemAddon.tsx.html +286 -0
  106. package/coverage/lcov-report/list/ListItemChildren.tsx.html +445 -0
  107. package/coverage/lcov-report/list/ListItemLink.tsx.html +5 -5
  108. package/coverage/lcov-report/list/index.html +81 -6
  109. package/coverage/lcov-report/list/listItemStyles.ts.html +703 -0
  110. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  111. package/coverage/lcov-report/media-queries/index.html +1 -1
  112. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +188 -188
  113. package/coverage/lcov-report/menu/Menu.tsx.html +276 -252
  114. package/coverage/lcov-report/menu/MenuItem.tsx.html +292 -0
  115. package/coverage/lcov-report/menu/MenuItemCircularProgress.tsx.html +433 -0
  116. package/coverage/lcov-report/menu/MenuVisibilityProvider.tsx.html +48 -33
  117. package/coverage/lcov-report/menu/index.html +14 -44
  118. package/coverage/lcov-report/menu/useContextMenu.ts.html +490 -0
  119. package/coverage/lcov-report/menuItemInputToggleStyles.ts.html +319 -0
  120. package/coverage/lcov-report/movement/index.html +19 -19
  121. package/coverage/lcov-report/movement/useKeyboardMovementProvider.ts.html +422 -383
  122. package/coverage/lcov-report/positioning/constants.ts.html +463 -0
  123. package/coverage/lcov-report/positioning/index.html +30 -30
  124. package/coverage/lcov-report/positioning/useFixedPositioning.ts.html +1321 -0
  125. package/coverage/lcov-report/progress/CircularProgress.tsx.html +184 -184
  126. package/coverage/lcov-report/progress/index.html +19 -34
  127. package/coverage/lcov-report/searching/caseInsensitive.ts.html +685 -0
  128. package/coverage/lcov-report/searching/fuzzy.ts.html +610 -0
  129. package/coverage/lcov-report/searching/index.html +146 -0
  130. package/coverage/lcov-report/searching/toSearchQuery.ts.html +145 -0
  131. package/coverage/lcov-report/searching/useFuzzyMatch.ts.html +211 -0
  132. package/coverage/lcov-report/searching/utils.ts.html +244 -0
  133. package/coverage/lcov-report/sheet/index.html +8 -8
  134. package/coverage/lcov-report/sheet/styles.ts.html +376 -0
  135. package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +400 -0
  136. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +55 -97
  137. package/coverage/lcov-report/snackbar/Toast.tsx.html +546 -501
  138. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +269 -269
  139. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +23 -23
  140. package/coverage/lcov-report/snackbar/index.html +59 -14
  141. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +12 -87
  142. package/coverage/lcov-report/snackbar/toastStyles.ts.html +206 -146
  143. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +226 -0
  144. package/coverage/lcov-report/snackbarStyles.ts.html +46 -121
  145. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  146. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  147. package/coverage/lcov-report/src/RootHtml.tsx.html +370 -0
  148. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  149. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +143 -23
  150. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  151. package/coverage/lcov-report/src/app-bar/index.html +5 -5
  152. package/coverage/lcov-report/src/autocomplete/Autocomplete.tsx.html +364 -0
  153. package/coverage/lcov-report/src/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  154. package/coverage/lcov-report/src/autocomplete/index.html +221 -0
  155. package/coverage/lcov-report/src/autocomplete/useAutocomplete.ts.html +637 -0
  156. package/coverage/lcov-report/src/autocomplete/useAutocompleteAgain.ts.html +829 -0
  157. package/coverage/lcov-report/src/autocomplete/useAutocompletev2.ts.html +715 -0
  158. package/coverage/lcov-report/src/autocomplete/useInlineAutocomplete.ts.html +430 -0
  159. package/coverage/lcov-report/src/autocomplete/useInlineSelection.ts.html +241 -0
  160. package/coverage/lcov-report/src/autocomplete/utils.ts.html +196 -0
  161. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +2 -2
  162. package/coverage/lcov-report/src/avatar/index.html +1 -1
  163. package/coverage/lcov-report/src/avatar/styles.ts.html +1 -1
  164. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  165. package/coverage/lcov-report/src/badge/index.html +1 -1
  166. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  167. package/coverage/lcov-report/src/box/index.html +23 -8
  168. package/coverage/lcov-report/src/box/styles.ts.html +46 -46
  169. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +1 -1
  170. package/coverage/lcov-report/src/button/Button.tsx.html +87 -87
  171. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  172. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +11 -11
  173. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +445 -0
  174. package/coverage/lcov-report/src/button/buttonStyles.ts.html +52 -52
  175. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  176. package/coverage/lcov-report/src/button/index.html +8 -23
  177. package/coverage/lcov-report/src/card/Card.tsx.html +37 -31
  178. package/coverage/lcov-report/src/card/CardContent.tsx.html +4 -4
  179. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  180. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  181. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  182. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  183. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +400 -0
  184. package/coverage/lcov-report/src/card/index.html +24 -9
  185. package/coverage/lcov-report/src/card/styles.ts.html +58 -31
  186. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  187. package/coverage/lcov-report/src/chip/index.html +7 -7
  188. package/coverage/lcov-report/src/chip/styles.ts.html +9 -12
  189. package/coverage/lcov-report/src/cssUtils.ts.html +53 -53
  190. package/coverage/lcov-report/src/delegateEvent.ts.html +109 -109
  191. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +1 -1
  192. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +1 -1
  193. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +1 -1
  194. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +1 -1
  195. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +1 -1
  196. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +1 -1
  197. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  198. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +1 -1
  199. package/coverage/lcov-report/src/dialog/index.html +129 -9
  200. package/coverage/lcov-report/src/dialog/styles.ts.html +1 -1
  201. package/coverage/lcov-report/src/divider/Divider.tsx.html +4 -7
  202. package/coverage/lcov-report/src/divider/index.html +5 -5
  203. package/coverage/lcov-report/src/divider/styles.ts.html +1 -1
  204. package/coverage/lcov-report/src/draggable/index.html +27 -27
  205. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +47 -44
  206. package/coverage/lcov-report/src/draggable/utils.ts.html +29 -131
  207. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  208. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  209. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +1 -1
  210. package/coverage/lcov-report/src/expansion-panel/index.html +8 -8
  211. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  212. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +36 -24
  213. package/coverage/lcov-report/src/focus/index.html +1 -1
  214. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +1 -1
  215. package/coverage/lcov-report/src/focus/utils.ts.html +1 -1
  216. package/coverage/lcov-report/src/form/AutoComplete.tsx.html +283 -0
  217. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  218. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  219. package/coverage/lcov-report/src/form/FileInput.tsx.html +1 -1
  220. package/coverage/lcov-report/src/form/Form.tsx.html +11 -8
  221. package/coverage/lcov-report/src/form/FormMessage.tsx.html +1 -1
  222. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +5 -5
  223. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  224. package/coverage/lcov-report/src/form/InputToggle.tsx.html +110 -110
  225. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +63 -63
  226. package/coverage/lcov-report/src/form/Label.tsx.html +98 -98
  227. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  228. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +3 -3
  229. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +1 -1
  230. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +178 -232
  231. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +3 -3
  232. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  233. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +1 -1
  234. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +1 -1
  235. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  236. package/coverage/lcov-report/src/form/Option.tsx.html +1 -1
  237. package/coverage/lcov-report/src/form/Password.tsx.html +1 -1
  238. package/coverage/lcov-report/src/form/Radio.tsx.html +3 -3
  239. package/coverage/lcov-report/src/form/ResizingTextArea.tsx.html +988 -0
  240. package/coverage/lcov-report/src/form/ResizingTextAreaWrapper.tsx.html +310 -0
  241. package/coverage/lcov-report/src/form/Select.tsx.html +894 -1122
  242. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  243. package/coverage/lcov-report/src/form/SimpleTextArea.tsx.html +694 -0
  244. package/coverage/lcov-report/src/form/Slider.tsx.html +1 -1
  245. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  246. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  247. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  248. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +1 -1
  249. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  250. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +1 -1
  251. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +1 -1
  252. package/coverage/lcov-report/src/form/Switch.tsx.html +1 -1
  253. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +1 -1
  254. package/coverage/lcov-report/src/form/TextArea.tsx.html +646 -580
  255. package/coverage/lcov-report/src/form/TextArea2.tsx.html +985 -0
  256. package/coverage/lcov-report/src/form/TextAreaBackup.tsx.html +985 -0
  257. package/coverage/lcov-report/src/form/TextField.tsx.html +3 -3
  258. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +1 -1
  259. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +1 -1
  260. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +8 -8
  261. package/coverage/lcov-report/src/form/fileUtils.ts.html +1 -1
  262. package/coverage/lcov-report/src/form/formConfig.ts.html +1 -1
  263. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +1 -1
  264. package/coverage/lcov-report/src/form/index.html +81 -21
  265. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
  266. package/coverage/lcov-report/src/form/menuItemInputToggleStyles.ts.html +319 -0
  267. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +1 -1
  268. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  269. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  270. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  271. package/coverage/lcov-report/src/form/selectUtils.ts.html +1 -1
  272. package/coverage/lcov-report/src/form/sliderUtils.ts.html +1 -1
  273. package/coverage/lcov-report/src/form/switchStyles.ts.html +1 -1
  274. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
  275. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  276. package/coverage/lcov-report/src/form/useAutoComplete.ts.html +787 -0
  277. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +1 -1
  278. package/coverage/lcov-report/src/form/useCombobox.ts.html +943 -457
  279. package/coverage/lcov-report/src/form/useEditableCombobox.ts.html +502 -0
  280. package/coverage/lcov-report/src/form/useFileUpload.ts.html +1 -1
  281. package/coverage/lcov-report/src/form/useInlineAutoComplete.ts.html +109 -0
  282. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +1 -1
  283. package/coverage/lcov-report/src/form/useNumberField.ts.html +1 -1
  284. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +47 -47
  285. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +1 -1
  286. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +405 -294
  287. package/coverage/lcov-report/src/form/useSelectCombobox.ts.html +295 -0
  288. package/coverage/lcov-report/src/form/useSlider.ts.html +1 -1
  289. package/coverage/lcov-report/src/form/useTextField.ts.html +1 -1
  290. package/coverage/lcov-report/src/form/utils.ts.html +200 -170
  291. package/coverage/lcov-report/src/form/validation.ts.html +1 -1
  292. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  293. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +98 -98
  294. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +19 -19
  295. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +28 -28
  296. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +5 -8
  297. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +1 -1
  298. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +1 -1
  299. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  300. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +51 -51
  301. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +10 -10
  302. package/coverage/lcov-report/src/icon/index.html +10 -145
  303. package/coverage/lcov-report/src/icon/material.ts.html +1 -1
  304. package/coverage/lcov-report/src/icon/materialConfig.ts.html +1 -1
  305. package/coverage/lcov-report/src/icon/styles.ts.html +38 -38
  306. package/coverage/lcov-report/src/index.html +10 -10
  307. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +1 -1
  308. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +1 -1
  309. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +87 -87
  310. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  311. package/coverage/lcov-report/src/interaction/index.html +1 -1
  312. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +123 -123
  313. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +19 -19
  314. package/coverage/lcov-report/src/interaction/utils.ts.html +1 -1
  315. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  316. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
  317. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  318. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  319. package/coverage/lcov-report/src/layout/index.html +15 -15
  320. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
  321. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  322. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  323. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  324. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  325. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +20 -32
  326. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  327. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  328. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  329. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  330. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +1 -1
  331. package/coverage/lcov-report/src/link/Link.tsx.html +1 -1
  332. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  333. package/coverage/lcov-report/src/link/index.html +1 -1
  334. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  335. package/coverage/lcov-report/src/list/List.tsx.html +1 -1
  336. package/coverage/lcov-report/src/list/ListItem.tsx.html +158 -137
  337. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +45 -39
  338. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +88 -82
  339. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +5 -5
  340. package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
  341. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  342. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +44 -47
  343. package/coverage/lcov-report/src/list/index.html +13 -13
  344. package/coverage/lcov-report/src/list/listItemStyles.ts.html +102 -72
  345. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +54 -54
  346. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  347. package/coverage/lcov-report/src/media-queries/index.html +1 -1
  348. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +28 -28
  349. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +1 -1
  350. package/coverage/lcov-report/src/menu/Menu.tsx.html +4 -4
  351. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  352. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +1 -1
  353. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  354. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  355. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +1 -1
  356. package/coverage/lcov-report/src/menu/MenuItemCircularProgress.tsx.html +433 -0
  357. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  358. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +1 -1
  359. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +1 -1
  360. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  361. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  362. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  363. package/coverage/lcov-report/src/menu/index.html +13 -238
  364. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  365. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  366. package/coverage/lcov-report/src/menu/utils.ts.html +1 -1
  367. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  368. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  369. package/coverage/lcov-report/src/movement/index.html +17 -62
  370. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +3 -3
  371. package/coverage/lcov-report/src/movement/utils.ts.html +143 -119
  372. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +1 -1
  373. package/coverage/lcov-report/src/overlay/index.html +1 -1
  374. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +1 -1
  375. package/coverage/lcov-report/src/portal/Portal.tsx.html +7 -7
  376. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +59 -35
  377. package/coverage/lcov-report/src/portal/index.html +7 -7
  378. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  379. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +47 -47
  380. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +55 -55
  381. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +89 -89
  382. package/coverage/lcov-report/src/positioning/index.html +1 -1
  383. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +193 -193
  384. package/coverage/lcov-report/src/positioning/utils.ts.html +59 -59
  385. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +83 -83
  386. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +3 -3
  387. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  388. package/coverage/lcov-report/src/progress/index.html +20 -5
  389. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  390. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  391. package/coverage/lcov-report/src/responsive-item/index.html +1 -1
  392. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  393. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  394. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +1 -1
  395. package/coverage/lcov-report/src/scroll/index.html +1 -1
  396. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +1 -1
  397. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +1 -1
  398. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +1 -1
  399. package/coverage/lcov-report/src/segmented-button/index.html +1 -1
  400. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +1 -1
  401. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  402. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  403. package/coverage/lcov-report/src/sheet/index.html +5 -5
  404. package/coverage/lcov-report/src/sheet/styles.ts.html +45 -48
  405. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +80 -80
  406. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +21 -45
  407. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +108 -93
  408. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  409. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +1 -1
  410. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +48 -48
  411. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +278 -275
  412. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +6 -6
  413. package/coverage/lcov-report/src/snackbar/index.html +19 -19
  414. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +15 -15
  415. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +14 -14
  416. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +27 -27
  417. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  418. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +142 -142
  419. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +88 -88
  420. package/coverage/lcov-report/src/suspense/index.html +36 -21
  421. package/coverage/lcov-report/src/table/Table.tsx.html +45 -114
  422. package/coverage/lcov-report/src/table/TableBody.tsx.html +43 -43
  423. package/coverage/lcov-report/src/table/TableCell.tsx.html +109 -298
  424. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +81 -27
  425. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +16 -10
  426. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +20 -20
  427. package/coverage/lcov-report/src/table/TableContainer.tsx.html +7 -28
  428. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  429. package/coverage/lcov-report/src/table/TableFooter.tsx.html +64 -43
  430. package/coverage/lcov-report/src/table/TableHeader.tsx.html +41 -92
  431. package/coverage/lcov-report/src/table/TableRadio.tsx.html +676 -0
  432. package/coverage/lcov-report/src/table/TableRow.tsx.html +38 -119
  433. package/coverage/lcov-report/src/table/index.html +151 -46
  434. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +334 -0
  435. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +142 -0
  436. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +166 -0
  437. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +172 -0
  438. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +169 -0
  439. package/coverage/lcov-report/src/table/tableStyles.ts.html +157 -0
  440. package/coverage/lcov-report/src/tabs/Tab.tsx.html +263 -143
  441. package/coverage/lcov-report/src/tabs/TabList.tsx.html +1 -1
  442. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +1 -1
  443. package/coverage/lcov-report/src/tabs/index.html +25 -25
  444. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +37 -7
  445. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +1 -1
  446. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +2 -2
  447. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +64 -28
  448. package/coverage/lcov-report/src/tabs/useTabList.ts.html +44 -38
  449. package/coverage/lcov-report/src/tabs/useTabs.ts.html +1 -1
  450. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  451. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  452. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +402 -261
  453. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +18 -6
  454. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  455. package/coverage/lcov-report/src/test-utils/index.html +12 -117
  456. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +9 -9
  457. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +55 -55
  458. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  459. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  460. package/coverage/lcov-report/src/test-utils/polyfills/TextDecoder.ts.html +106 -0
  461. package/coverage/lcov-report/src/test-utils/polyfills/TextEncoder.ts.html +100 -0
  462. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  463. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  464. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  465. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  466. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  467. package/coverage/lcov-report/src/test-utils/root-html-environment.ts.html +85 -0
  468. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  469. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  470. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +1 -1
  471. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  472. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  473. package/coverage/lcov-report/src/theme/index.html +1 -1
  474. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +25 -25
  475. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  476. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  477. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  478. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  479. package/coverage/lcov-report/src/theme/utils.ts.html +1 -1
  480. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +62 -62
  481. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +3 -3
  482. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  483. package/coverage/lcov-report/src/tooltip/index.html +9 -9
  484. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +12 -12
  485. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +243 -222
  486. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +27 -27
  487. package/coverage/lcov-report/src/tooltip/utils.ts.html +22 -22
  488. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  489. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  490. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  491. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  492. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +374 -338
  493. package/coverage/lcov-report/src/transition/Slide.tsx.html +1 -1
  494. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  495. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +1 -1
  496. package/coverage/lcov-report/src/transition/config.ts.html +5 -5
  497. package/coverage/lcov-report/src/transition/index.html +49 -34
  498. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  499. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +400 -0
  500. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +68 -68
  501. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  502. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +10 -64
  503. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  504. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  505. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  506. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +607 -562
  507. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +1 -1
  508. package/coverage/lcov-report/src/transition/useTransition.ts.html +232 -232
  509. package/coverage/lcov-report/src/transition/utils.ts.html +45 -45
  510. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +18 -6
  511. package/coverage/lcov-report/src/tree/Tree.tsx.html +20 -8
  512. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +1 -1
  513. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +7 -10
  514. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +1 -1
  515. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +1 -1
  516. package/coverage/lcov-report/src/tree/index.html +16 -196
  517. package/coverage/lcov-report/src/tree/styles.ts.html +4 -31
  518. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  519. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  520. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +1 -1
  521. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +87 -87
  522. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  523. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  524. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +12 -12
  525. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  526. package/coverage/lcov-report/src/typography/Typography.tsx.html +94 -94
  527. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +1 -1
  528. package/coverage/lcov-report/src/typography/index.html +1 -1
  529. package/coverage/lcov-report/src/useAsyncAction.ts.html +1 -1
  530. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +246 -240
  531. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  532. package/coverage/lcov-report/src/useElementSize.ts.html +334 -0
  533. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  534. package/coverage/lcov-report/src/useEnsuredRef.ts.html +14 -14
  535. package/coverage/lcov-report/src/useEnsuredState.ts.html +16 -16
  536. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  537. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +1 -1
  538. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  539. package/coverage/lcov-report/src/useLocalStorage.ts.html +1 -1
  540. package/coverage/lcov-report/src/useOrientation.ts.html +30 -30
  541. package/coverage/lcov-report/src/usePageInactive.ts.html +30 -30
  542. package/coverage/lcov-report/src/useResizeListener.ts.html +38 -32
  543. package/coverage/lcov-report/src/useResizeObserver.ts.html +133 -244
  544. package/coverage/lcov-report/src/useThrottledFunction.ts.html +57 -51
  545. package/coverage/lcov-report/src/useToggle.ts.html +1 -1
  546. package/coverage/lcov-report/src/useUnmounted.ts.html +1 -1
  547. package/coverage/lcov-report/src/useWindowSize.ts.html +124 -94
  548. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  549. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  550. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  551. package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
  552. package/coverage/lcov-report/src/utils/filters.ts.html +357 -84
  553. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  554. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +163 -0
  555. package/coverage/lcov-report/src/utils/getPercentage.ts.html +9 -9
  556. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +66 -87
  557. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +7 -7
  558. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  559. package/coverage/lcov-report/src/utils/index.html +13 -253
  560. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +1 -1
  561. package/coverage/lcov-report/src/utils/isValidNumber.ts.html +118 -0
  562. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  563. package/coverage/lcov-report/src/utils/nearest.ts.html +21 -21
  564. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +18 -18
  565. package/coverage/lcov-report/src/utils/randomInt.ts.html +52 -52
  566. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  567. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  568. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  569. package/coverage/lcov-report/src/window-splitter/index.html +14 -14
  570. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +19 -67
  571. package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +256 -0
  572. package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +283 -0
  573. package/coverage/lcov-report/suspense/NullSuspense.tsx.html +202 -0
  574. package/coverage/lcov-report/suspense/index.html +131 -0
  575. package/coverage/lcov-report/tabIndicatorStyles.ts.html +43 -13
  576. package/coverage/lcov-report/tabListStyles.ts.html +35 -26
  577. package/coverage/lcov-report/tabStyles.ts.html +68 -26
  578. package/coverage/lcov-report/tabs/Tab.tsx.html +233 -143
  579. package/coverage/lcov-report/tabs/TabList.tsx.html +85 -85
  580. package/coverage/lcov-report/tabs/index.html +56 -11
  581. package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +187 -0
  582. package/coverage/lcov-report/tabs/tabListStyles.ts.html +241 -0
  583. package/coverage/lcov-report/tabs/tabStyles.ts.html +253 -0
  584. package/coverage/lcov-report/tabs/useTabList.ts.html +736 -0
  585. package/coverage/lcov-report/tabs/useTabs.ts.html +1 -1
  586. package/coverage/lcov-report/tabs/utils.ts.html +1 -1
  587. package/coverage/lcov-report/test-utils/index.html +21 -21
  588. package/coverage/lcov-report/test-utils/use.ts.html +187 -0
  589. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +62 -62
  590. package/coverage/lcov-report/tooltip/index.html +10 -70
  591. package/coverage/lcov-report/tooltip/useTooltip.ts.html +243 -222
  592. package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +595 -0
  593. package/coverage/lcov-report/transition/config.ts.html +5 -5
  594. package/coverage/lcov-report/transition/index.html +1 -1
  595. package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +400 -0
  596. package/coverage/lcov-report/transition/useScaleTransition.ts.html +535 -0
  597. package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +952 -0
  598. package/coverage/lcov-report/tree/TreeItem.tsx.html +7 -10
  599. package/coverage/lcov-report/tree/index.html +17 -47
  600. package/coverage/lcov-report/tree/styles.ts.html +538 -0
  601. package/coverage/lcov-report/tree/useTreeMovement.ts.html +140 -143
  602. package/coverage/lcov-report/typography/Typography.tsx.html +138 -432
  603. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +75 -75
  604. package/coverage/lcov-report/typography/index.html +18 -18
  605. package/coverage/lcov-report/useAutoComplete.ts.html +787 -0
  606. package/coverage/lcov-report/useCollapseTransition.ts.html +166 -211
  607. package/coverage/lcov-report/useCombobox.ts.html +1513 -0
  608. package/coverage/lcov-report/useInlineAutoComplete.ts.html +379 -0
  609. package/coverage/lcov-report/useSelectCombobox.ts.html +295 -0
  610. package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +952 -0
  611. package/coverage/lcov-report/useTabList.ts.html +142 -136
  612. package/coverage/lcov-report/useWindowSplitter.ts.html +640 -0
  613. package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +256 -0
  614. package/coverage/lcov-report/utils/alphaNumericSort.ts.html +11 -50
  615. package/coverage/lcov-report/utils/filters.ts.html +1056 -201
  616. package/coverage/lcov-report/utils/index.html +15 -30
  617. package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
  618. package/coverage/lcov-report/utils/randomInt.ts.html +148 -0
  619. package/coverage/lcov-report/utils/searching.ts.html +85 -0
  620. package/coverage/lcov-report/utils/wait.ts.html +1 -1
  621. package/coverage/lcov-report/utils.ts.html +109 -277
  622. package/coverage/lcov-report/window-splitter/index.html +21 -36
  623. package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +406 -328
  624. package/dist/RootHtml.d.ts +62 -0
  625. package/dist/RootHtml.js +49 -0
  626. package/dist/RootHtml.js.map +1 -0
  627. package/dist/_box-shadows.scss +12 -2
  628. package/dist/_core.scss +207 -253
  629. package/dist/_utils.scss +89 -0
  630. package/dist/app-bar/AppBar.d.ts +4 -9
  631. package/dist/app-bar/AppBar.js +29 -7
  632. package/dist/app-bar/AppBar.js.map +1 -1
  633. package/dist/app-bar/_app-bar.scss +114 -122
  634. package/dist/avatar/Avatar.d.ts +15 -1
  635. package/dist/avatar/Avatar.js +5 -2
  636. package/dist/avatar/Avatar.js.map +1 -1
  637. package/dist/avatar/_avatar.scss +74 -81
  638. package/dist/badge/_badge.scss +97 -59
  639. package/dist/box/_box.scss +72 -81
  640. package/dist/button/TooltippedButton.d.ts +62 -0
  641. package/dist/button/TooltippedButton.js +62 -0
  642. package/dist/button/TooltippedButton.js.map +1 -0
  643. package/dist/button/_button.scss +170 -180
  644. package/dist/card/Card.js +3 -2
  645. package/dist/card/Card.js.map +1 -1
  646. package/dist/card/CardContent.js +1 -1
  647. package/dist/card/CardContent.js.map +1 -1
  648. package/dist/card/ClickableCard.d.ts +42 -0
  649. package/dist/card/ClickableCard.js +73 -0
  650. package/dist/card/ClickableCard.js.map +1 -0
  651. package/dist/card/_card.scss +81 -82
  652. package/dist/card/styles.d.ts +8 -0
  653. package/dist/card/styles.js +6 -3
  654. package/dist/card/styles.js.map +1 -1
  655. package/dist/chip/_chip.scss +137 -148
  656. package/dist/dialog/FixedDialog.d.ts +5 -4
  657. package/dist/dialog/FixedDialog.js +5 -4
  658. package/dist/dialog/FixedDialog.js.map +1 -1
  659. package/dist/dialog/_dialog.scss +179 -162
  660. package/dist/divider/Divider.d.ts +0 -1
  661. package/dist/divider/Divider.js.map +1 -1
  662. package/dist/divider/_divider.scss +61 -70
  663. package/dist/draggable/_draggable.scss +16 -12
  664. package/dist/draggable/useDraggable.d.ts +12 -23
  665. package/dist/draggable/useDraggable.js +15 -6
  666. package/dist/draggable/useDraggable.js.map +1 -1
  667. package/dist/draggable/utils.d.ts +4 -17
  668. package/dist/draggable/utils.js +9 -25
  669. package/dist/draggable/utils.js.map +1 -1
  670. package/dist/expansion-panel/_expansion-panel.scss +76 -50
  671. package/dist/expansion-panel/useExpansionPanels.d.ts +5 -3
  672. package/dist/expansion-panel/useExpansionPanels.js +16 -9
  673. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  674. package/dist/form/Form.d.ts +1 -1
  675. package/dist/form/Form.js +2 -1
  676. package/dist/form/Form.js.map +1 -1
  677. package/dist/form/Label.d.ts +5 -5
  678. package/dist/form/Label.js.map +1 -1
  679. package/dist/form/MenuItemInputToggle.d.ts +2 -15
  680. package/dist/form/MenuItemInputToggle.js +26 -37
  681. package/dist/form/MenuItemInputToggle.js.map +1 -1
  682. package/dist/form/NativeSelect.d.ts +5 -2
  683. package/dist/form/NativeSelect.js.map +1 -1
  684. package/dist/form/Option.js +3 -2
  685. package/dist/form/Option.js.map +1 -1
  686. package/dist/form/ResizingTextAreaWrapper.d.ts +19 -0
  687. package/dist/form/ResizingTextAreaWrapper.js +35 -0
  688. package/dist/form/ResizingTextAreaWrapper.js.map +1 -0
  689. package/dist/form/Select.d.ts +105 -15
  690. package/dist/form/Select.js +160 -244
  691. package/dist/form/Select.js.map +1 -1
  692. package/dist/form/SelectedOption.d.ts +21 -0
  693. package/dist/form/SelectedOption.js +37 -0
  694. package/dist/form/SelectedOption.js.map +1 -0
  695. package/dist/form/TextArea.d.ts +11 -0
  696. package/dist/form/TextArea.js +19 -29
  697. package/dist/form/TextArea.js.map +1 -1
  698. package/dist/form/TextField.d.ts +2 -2
  699. package/dist/form/TextField.js +7 -6
  700. package/dist/form/TextField.js.map +1 -1
  701. package/dist/form/TextFieldContainer.js +2 -2
  702. package/dist/form/TextFieldContainer.js.map +1 -1
  703. package/dist/form/_form.scss +1336 -1260
  704. package/dist/form/menuItemInputToggleStyles.d.ts +39 -0
  705. package/dist/form/menuItemInputToggleStyles.js +31 -0
  706. package/dist/form/menuItemInputToggleStyles.js.map +1 -0
  707. package/dist/form/selectUtils.d.ts +1 -3
  708. package/dist/form/selectUtils.js +2 -10
  709. package/dist/form/selectUtils.js.map +1 -1
  710. package/dist/form/textAreaStyles.d.ts +2 -2
  711. package/dist/form/textAreaStyles.js.map +1 -1
  712. package/dist/form/{TextFieldContainerStyles.d.ts → textFieldContainerStyles.d.ts} +7 -7
  713. package/dist/form/{TextFieldContainerStyles.js → textFieldContainerStyles.js} +1 -1
  714. package/dist/form/textFieldContainerStyles.js.map +1 -0
  715. package/dist/form/types.d.ts +6 -8
  716. package/dist/form/types.js.map +1 -1
  717. package/dist/form/useCombobox.d.ts +157 -0
  718. package/dist/form/useCombobox.js +206 -0
  719. package/dist/form/useCombobox.js.map +1 -0
  720. package/dist/form/useEditableCombobox.d.ts +15 -0
  721. package/dist/form/useEditableCombobox.js +101 -0
  722. package/dist/form/useEditableCombobox.js.map +1 -0
  723. package/dist/form/useFormReset.d.ts +16 -0
  724. package/dist/form/useFormReset.js +32 -0
  725. package/dist/form/useFormReset.js.map +1 -0
  726. package/dist/form/useListboxProvider.d.ts +4 -2
  727. package/dist/form/useListboxProvider.js +6 -8
  728. package/dist/form/useListboxProvider.js.map +1 -1
  729. package/dist/form/useResizingTextArea.d.ts +5 -2
  730. package/dist/form/useResizingTextArea.js +52 -21
  731. package/dist/form/useResizingTextArea.js.map +1 -1
  732. package/dist/form/useSelectCombobox.d.ts +17 -0
  733. package/dist/form/useSelectCombobox.js +36 -0
  734. package/dist/form/useSelectCombobox.js.map +1 -0
  735. package/dist/form/utils.d.ts +11 -1
  736. package/dist/form/utils.js +6 -0
  737. package/dist/form/utils.js.map +1 -1
  738. package/dist/icon/IconRotator.js +2 -3
  739. package/dist/icon/IconRotator.js.map +1 -1
  740. package/dist/icon/_icon.scss +105 -112
  741. package/dist/index.d.ts +23 -2
  742. package/dist/index.js +23 -2
  743. package/dist/index.js.map +1 -1
  744. package/dist/interaction/_interaction.scss +144 -135
  745. package/dist/layout/_layout.scss +82 -86
  746. package/dist/layout/useLayoutAppBarHeight.js +5 -9
  747. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  748. package/dist/link/_link.scss +74 -66
  749. package/dist/list/ListItem.d.ts +8 -3
  750. package/dist/list/ListItem.js +4 -3
  751. package/dist/list/ListItem.js.map +1 -1
  752. package/dist/list/ListItemAddon.js +2 -1
  753. package/dist/list/ListItemAddon.js.map +1 -1
  754. package/dist/list/ListItemChildren.js +3 -2
  755. package/dist/list/ListItemChildren.js.map +1 -1
  756. package/dist/list/ListItemLink.js +3 -3
  757. package/dist/list/ListItemLink.js.map +1 -1
  758. package/dist/list/_list.scss +187 -184
  759. package/dist/list/getListItemHeight.d.ts +0 -1
  760. package/dist/list/getListItemHeight.js +2 -2
  761. package/dist/list/getListItemHeight.js.map +1 -1
  762. package/dist/list/listItemStyles.d.ts +9 -1
  763. package/dist/list/listItemStyles.js +5 -5
  764. package/dist/list/listItemStyles.js.map +1 -1
  765. package/dist/list/types.d.ts +25 -6
  766. package/dist/list/types.js.map +1 -1
  767. package/dist/menu/Menu.d.ts +1 -1
  768. package/dist/menu/Menu.js +12 -1
  769. package/dist/menu/Menu.js.map +1 -1
  770. package/dist/menu/MenuItemCircularProgress.d.ts +60 -0
  771. package/dist/menu/MenuItemCircularProgress.js +74 -0
  772. package/dist/menu/MenuItemCircularProgress.js.map +1 -0
  773. package/dist/menu/_menu.scss +29 -50
  774. package/dist/menu/useContextMenu.d.ts +3 -3
  775. package/dist/menu/useContextMenu.js +3 -3
  776. package/dist/menu/useContextMenu.js.map +1 -1
  777. package/dist/movement/types.d.ts +40 -21
  778. package/dist/movement/types.js.map +1 -1
  779. package/dist/movement/useKeyboardMovementProvider.js +15 -4
  780. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  781. package/dist/movement/utils.d.ts +7 -2
  782. package/dist/movement/utils.js +10 -0
  783. package/dist/movement/utils.js.map +1 -1
  784. package/dist/overlay/_overlay.scss +39 -42
  785. package/dist/portal/PortalContainerProvider.d.ts +2 -2
  786. package/dist/portal/PortalContainerProvider.js +6 -1
  787. package/dist/portal/PortalContainerProvider.js.map +1 -1
  788. package/dist/positioning/useFixedPositioning.js +0 -8
  789. package/dist/positioning/useFixedPositioning.js.map +1 -1
  790. package/dist/progress/_progress.scss +33 -33
  791. package/dist/responsive-item/_responsive-item.scss +91 -89
  792. package/dist/searching/caseInsensitive.d.ts +150 -0
  793. package/dist/searching/caseInsensitive.js +30 -0
  794. package/dist/searching/caseInsensitive.js.map +1 -0
  795. package/dist/searching/fuzzy.d.ts +128 -0
  796. package/dist/searching/fuzzy.js +54 -0
  797. package/dist/searching/fuzzy.js.map +1 -0
  798. package/dist/searching/toSearchQuery.d.ts +7 -0
  799. package/dist/searching/toSearchQuery.js +15 -0
  800. package/dist/searching/toSearchQuery.js.map +1 -0
  801. package/dist/searching/types.d.ts +28 -0
  802. package/dist/searching/types.js +5 -0
  803. package/dist/searching/types.js.map +1 -0
  804. package/dist/searching/useFuzzyMatch.d.ts +19 -0
  805. package/dist/searching/useFuzzyMatch.js +26 -0
  806. package/dist/searching/useFuzzyMatch.js.map +1 -0
  807. package/dist/searching/utils.d.ts +21 -0
  808. package/dist/searching/utils.js +28 -0
  809. package/dist/searching/utils.js.map +1 -0
  810. package/dist/segmented-button/_segmented-button.scss +86 -92
  811. package/dist/sheet/_sheet.scss +107 -123
  812. package/dist/sheet/styles.d.ts +14 -15
  813. package/dist/sheet/styles.js.map +1 -1
  814. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  815. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  816. package/dist/snackbar/Snackbar.d.ts +10 -10
  817. package/dist/snackbar/Snackbar.js +3 -3
  818. package/dist/snackbar/Snackbar.js.map +1 -1
  819. package/dist/snackbar/Toast.d.ts +1 -1
  820. package/dist/snackbar/Toast.js +5 -1
  821. package/dist/snackbar/Toast.js.map +1 -1
  822. package/dist/snackbar/ToastManager.d.ts +2 -1
  823. package/dist/snackbar/ToastManager.js +1 -1
  824. package/dist/snackbar/ToastManager.js.map +1 -1
  825. package/dist/snackbar/_snackbar.scss +148 -144
  826. package/dist/snackbar/snackbarStyles.d.ts +1 -0
  827. package/dist/snackbar/snackbarStyles.js +2 -1
  828. package/dist/snackbar/snackbarStyles.js.map +1 -1
  829. package/dist/table/TableCheckbox.d.ts +3 -2
  830. package/dist/table/TableCheckbox.js +4 -2
  831. package/dist/table/TableCheckbox.js.map +1 -1
  832. package/dist/table/TableRadio.d.ts +3 -2
  833. package/dist/table/TableRadio.js +4 -2
  834. package/dist/table/TableRadio.js.map +1 -1
  835. package/dist/table/_table.scss +214 -227
  836. package/dist/table/tableCellStyles.d.ts +1 -1
  837. package/dist/table/tableCellStyles.js.map +1 -1
  838. package/dist/tabs/Tab.d.ts +24 -3
  839. package/dist/tabs/Tab.js +15 -8
  840. package/dist/tabs/Tab.js.map +1 -1
  841. package/dist/tabs/_tabs.scss +62 -53
  842. package/dist/tabs/tabIndicatorStyles.d.ts +2 -1
  843. package/dist/tabs/tabIndicatorStyles.js +6 -3
  844. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  845. package/dist/tabs/tabListStyles.js +2 -1
  846. package/dist/tabs/tabListStyles.js.map +1 -1
  847. package/dist/tabs/tabStyles.d.ts +2 -0
  848. package/dist/tabs/tabStyles.js +6 -3
  849. package/dist/tabs/tabStyles.js.map +1 -1
  850. package/dist/tabs/useTabList.d.ts +3 -3
  851. package/dist/tabs/useTabList.js +9 -6
  852. package/dist/tabs/useTabList.js.map +1 -1
  853. package/dist/test-utils/IntersectionObserver.d.ts +12 -0
  854. package/dist/test-utils/ResizeObserver.d.ts +214 -0
  855. package/dist/test-utils/ResizeObserver.js +69 -49
  856. package/dist/test-utils/ResizeObserver.js.map +1 -1
  857. package/dist/test-utils/data-testid.d.ts +7 -0
  858. package/dist/test-utils/data-testid.js +1 -0
  859. package/dist/test-utils/data-testid.js.map +1 -1
  860. package/dist/test-utils/drag.d.ts +26 -0
  861. package/dist/test-utils/index.d.ts +7 -0
  862. package/dist/test-utils/jest-setup.d.ts +1 -0
  863. package/dist/test-utils/matchMedia.d.ts +101 -0
  864. package/dist/test-utils/matchMedia.js +2 -2
  865. package/dist/test-utils/matchMedia.js.map +1 -1
  866. package/dist/test-utils/polyfills/IntersectionObserver.d.ts +1 -0
  867. package/dist/test-utils/polyfills/ResizeObserver.d.ts +1 -0
  868. package/dist/test-utils/polyfills/TextDecoder.d.ts +1 -0
  869. package/dist/test-utils/polyfills/TextDecoder.js +8 -0
  870. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -0
  871. package/dist/test-utils/polyfills/TextEncoder.d.ts +1 -0
  872. package/dist/test-utils/polyfills/TextEncoder.js +6 -0
  873. package/dist/test-utils/polyfills/TextEncoder.js.map +1 -0
  874. package/dist/test-utils/polyfills/index.d.ts +7 -0
  875. package/dist/test-utils/polyfills/index.js +2 -0
  876. package/dist/test-utils/polyfills/index.js.map +1 -1
  877. package/dist/test-utils/polyfills/matchMedia.d.ts +1 -0
  878. package/dist/test-utils/polyfills/offsetParent.d.ts +1 -0
  879. package/dist/test-utils/polyfills/scrollIntoView.d.ts +1 -0
  880. package/dist/test-utils/render.d.ts +13 -0
  881. package/dist/test-utils/timers.d.ts +39 -0
  882. package/dist/theme/_theme.scss +243 -133
  883. package/dist/tooltip/_tooltip.scss +76 -83
  884. package/dist/tooltip/useTooltip.d.ts +14 -14
  885. package/dist/tooltip/useTooltip.js.map +1 -1
  886. package/dist/transition/SkeletonPlaceholder.d.ts +2 -2
  887. package/dist/transition/SkeletonPlaceholder.js +8 -3
  888. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  889. package/dist/transition/_transition.scss +89 -78
  890. package/dist/transition/skeletonPlaceholderUtils.d.ts +77 -0
  891. package/dist/transition/skeletonPlaceholderUtils.js +38 -0
  892. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
  893. package/dist/transition/useCollapseTransition.d.ts +3 -18
  894. package/dist/transition/useCollapseTransition.js +1 -10
  895. package/dist/transition/useCollapseTransition.js.map +1 -1
  896. package/dist/transition/useSkeletonPlaceholder.d.ts +12 -7
  897. package/dist/transition/useSkeletonPlaceholder.js +38 -37
  898. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  899. package/dist/transition/utils.js +7 -2
  900. package/dist/transition/utils.js.map +1 -1
  901. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -2
  902. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  903. package/dist/tree/Tree.d.ts +8 -4
  904. package/dist/tree/Tree.js.map +1 -1
  905. package/dist/tree/TreeItem.js +3 -4
  906. package/dist/tree/TreeItem.js.map +1 -1
  907. package/dist/tree/_tree.scss +111 -109
  908. package/dist/tree/styles.d.ts +0 -6
  909. package/dist/tree/styles.js +1 -2
  910. package/dist/tree/styles.js.map +1 -1
  911. package/dist/tree/useTreeMovement.js +1 -1
  912. package/dist/tree/useTreeMovement.js.map +1 -1
  913. package/dist/types.d.ts +13 -0
  914. package/dist/types.js +1 -2
  915. package/dist/types.js.map +1 -1
  916. package/dist/typography/SrOnly.d.ts +3 -3
  917. package/dist/typography/SrOnly.js +4 -4
  918. package/dist/typography/SrOnly.js.map +1 -1
  919. package/dist/typography/Typography.d.ts +19 -19
  920. package/dist/typography/Typography.js +19 -19
  921. package/dist/typography/Typography.js.map +1 -1
  922. package/dist/typography/WritingDirectionProvider.d.ts +2 -2
  923. package/dist/typography/WritingDirectionProvider.js +2 -2
  924. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  925. package/dist/typography/_typography.scss +141 -87
  926. package/dist/useDebouncedFunction.d.ts +2 -2
  927. package/dist/useDebouncedFunction.js +10 -6
  928. package/dist/useDebouncedFunction.js.map +1 -1
  929. package/dist/useElementSize.d.ts +40 -0
  930. package/dist/useElementSize.js +53 -0
  931. package/dist/useElementSize.js.map +1 -0
  932. package/dist/useEnsuredState.d.ts +1 -1
  933. package/dist/useEnsuredState.js.map +1 -1
  934. package/dist/useResizeListener.d.ts +1 -1
  935. package/dist/useResizeListener.js +1 -0
  936. package/dist/useResizeListener.js.map +1 -1
  937. package/dist/useResizeObserver.d.ts +4 -43
  938. package/dist/useResizeObserver.js +4 -43
  939. package/dist/useResizeObserver.js.map +1 -1
  940. package/dist/useThrottledFunction.d.ts +2 -2
  941. package/dist/useThrottledFunction.js +20 -16
  942. package/dist/useThrottledFunction.js.map +1 -1
  943. package/dist/useWindowSize.d.ts +14 -11
  944. package/dist/useWindowSize.js +12 -7
  945. package/dist/useWindowSize.js.map +1 -1
  946. package/dist/utils/alphaNumericSort.d.ts +1 -1
  947. package/dist/utils/alphaNumericSort.js +2 -10
  948. package/dist/utils/alphaNumericSort.js.map +1 -1
  949. package/dist/utils/getMiddleOfRange.d.ts +13 -0
  950. package/dist/utils/getMiddleOfRange.js +20 -0
  951. package/dist/utils/getMiddleOfRange.js.map +1 -0
  952. package/dist/utils/getRangeDefaultValue.d.ts +3 -5
  953. package/dist/utils/getRangeDefaultValue.js +3 -13
  954. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  955. package/dist/utils/getRangeSteps.d.ts +1 -1
  956. package/dist/utils/getRangeSteps.js +2 -2
  957. package/dist/utils/getRangeSteps.js.map +1 -1
  958. package/dist/utils/nearest.js +1 -1
  959. package/dist/utils/nearest.js.map +1 -1
  960. package/dist/window-splitter/_window-splitter.scss +83 -112
  961. package/dist/window-splitter/useWindowSplitter.d.ts +3 -5
  962. package/dist/window-splitter/useWindowSplitter.js +3 -11
  963. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  964. package/jest.config.ts +4 -0
  965. package/package.json +374 -32
  966. package/scripts/{copySassFiles.js → copySassFiles.ts} +5 -5
  967. package/scripts/tsconfig.json +18 -0
  968. package/src/RootHtml.tsx +95 -0
  969. package/src/__tests__/RootHtml.node.tsx +46 -0
  970. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +19 -0
  971. package/src/__tests__/useDebouncedFunction.tsx +65 -24
  972. package/src/__tests__/useElementSize.tsx +181 -0
  973. package/src/__tests__/useThrottledFunction.tsx +54 -0
  974. package/src/__tests__/useWindowSize.node.tsx +56 -0
  975. package/src/__tests__/useWindowSize.tsx +156 -0
  976. package/src/_box-shadows.scss +12 -2
  977. package/src/_core.scss +207 -253
  978. package/src/_utils.scss +89 -0
  979. package/src/app-bar/AppBar.tsx +59 -19
  980. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +21 -21
  981. package/src/app-bar/_app-bar.scss +114 -122
  982. package/src/avatar/Avatar.tsx +25 -4
  983. package/src/avatar/__tests__/Avatar.tsx +1 -1
  984. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +6 -6
  985. package/src/avatar/_avatar.scss +74 -81
  986. package/src/badge/_badge.scss +97 -59
  987. package/src/box/_box.scss +72 -81
  988. package/src/button/TooltippedButton.tsx +120 -0
  989. package/src/button/__tests__/TooltippedButton.tsx +60 -0
  990. package/src/button/__tests__/__snapshots__/Button.tsx.snap +1 -1
  991. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +26 -0
  992. package/src/button/_button.scss +170 -180
  993. package/src/card/Card.tsx +5 -3
  994. package/src/card/CardContent.tsx +3 -3
  995. package/src/card/ClickableCard.tsx +105 -0
  996. package/src/card/__tests__/ClickableCard.tsx +66 -0
  997. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +1 -1
  998. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +2 -2
  999. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +20 -0
  1000. package/src/card/__tests__/__snapshots__/styles.ts.snap +1 -1
  1001. package/src/card/_card.scss +81 -82
  1002. package/src/card/styles.ts +19 -10
  1003. package/src/chip/_chip.scss +137 -148
  1004. package/src/dialog/FixedDialog.tsx +5 -4
  1005. package/src/dialog/_dialog.scss +179 -162
  1006. package/src/divider/Divider.tsx +0 -1
  1007. package/src/divider/_divider.scss +61 -70
  1008. package/src/draggable/_draggable.scss +16 -12
  1009. package/src/draggable/useDraggable.ts +26 -25
  1010. package/src/draggable/utils.ts +16 -50
  1011. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +2 -2
  1012. package/src/expansion-panel/_expansion-panel.scss +76 -50
  1013. package/src/expansion-panel/useExpansionPanels.ts +20 -16
  1014. package/src/form/Form.tsx +2 -1
  1015. package/src/form/Label.tsx +5 -5
  1016. package/src/form/MenuItemInputToggle.tsx +46 -64
  1017. package/src/form/NativeSelect.tsx +6 -3
  1018. package/src/form/Option.tsx +8 -2
  1019. package/src/form/ResizingTextAreaWrapper.tsx +75 -0
  1020. package/src/form/Select.tsx +251 -327
  1021. package/src/form/SelectedOption.tsx +55 -0
  1022. package/src/form/TextArea.tsx +40 -32
  1023. package/src/form/TextField.tsx +19 -19
  1024. package/src/form/TextFieldContainer.tsx +2 -2
  1025. package/src/form/__tests__/MenuItemCheckbox.tsx +53 -0
  1026. package/src/form/__tests__/MenuItemRadio.tsx +53 -0
  1027. package/src/form/__tests__/Select.tsx +439 -0
  1028. package/src/form/__tests__/TextArea.tsx +433 -0
  1029. package/src/form/__tests__/TextField.tsx +195 -0
  1030. package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +23 -23
  1031. package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +96 -0
  1032. package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +96 -0
  1033. package/src/form/__tests__/__snapshots__/Select.tsx.snap +492 -0
  1034. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +548 -0
  1035. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +279 -0
  1036. package/src/form/__tests__/useFormReset.tsx +195 -0
  1037. package/src/form/_form.scss +1336 -1260
  1038. package/src/form/menuItemInputToggleStyles.ts +78 -0
  1039. package/src/form/selectUtils.ts +3 -14
  1040. package/src/form/textAreaStyles.ts +2 -2
  1041. package/src/form/{TextFieldContainerStyles.ts → textFieldContainerStyles.ts} +7 -7
  1042. package/src/form/types.ts +6 -8
  1043. package/src/form/useCombobox.ts +523 -0
  1044. package/src/form/useEditableCombobox.ts +139 -0
  1045. package/src/form/useFormReset.ts +48 -0
  1046. package/src/form/useListboxProvider.ts +9 -7
  1047. package/src/form/useResizingTextArea.ts +66 -25
  1048. package/src/form/useSelectCombobox.ts +70 -0
  1049. package/src/form/utils.ts +17 -4
  1050. package/src/icon/IconRotator.tsx +1 -2
  1051. package/src/icon/_icon.scss +105 -112
  1052. package/src/index.ts +23 -2
  1053. package/src/interaction/_interaction.scss +144 -135
  1054. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +4 -4
  1055. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +1 -1
  1056. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +18 -18
  1057. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +1 -1
  1058. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +1 -1
  1059. package/src/layout/_layout.scss +82 -86
  1060. package/src/layout/useLayoutAppBarHeight.ts +5 -9
  1061. package/src/link/_link.scss +74 -66
  1062. package/src/list/ListItem.tsx +20 -13
  1063. package/src/list/ListItemAddon.tsx +5 -3
  1064. package/src/list/ListItemChildren.tsx +4 -2
  1065. package/src/list/ListItemLink.tsx +4 -4
  1066. package/src/list/__tests__/ListItem.tsx +1 -1
  1067. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +1 -1
  1068. package/src/list/__tests__/getListItemHeight.ts +2 -2
  1069. package/src/list/_list.scss +187 -184
  1070. package/src/list/getListItemHeight.ts +2 -3
  1071. package/src/list/listItemStyles.ts +15 -5
  1072. package/src/list/types.ts +28 -6
  1073. package/src/menu/Menu.tsx +10 -2
  1074. package/src/menu/MenuItemCircularProgress.tsx +116 -0
  1075. package/src/menu/__tests__/MenuItemCircularProgress.tsx +39 -0
  1076. package/src/menu/__tests__/__snapshots__/MenuItemCircularProgress.tsx.snap +68 -0
  1077. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +54 -0
  1078. package/src/menu/__tests__/useContextMenu.tsx +41 -0
  1079. package/src/menu/_menu.scss +29 -50
  1080. package/src/menu/useContextMenu.ts +3 -3
  1081. package/src/movement/types.ts +50 -25
  1082. package/src/movement/useKeyboardMovementProvider.ts +21 -8
  1083. package/src/movement/utils.ts +12 -2
  1084. package/src/overlay/_overlay.scss +39 -42
  1085. package/src/portal/PortalContainerProvider.tsx +10 -2
  1086. package/src/portal/__tests__/PortalContainerProvider.tsx +23 -0
  1087. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -32
  1088. package/src/positioning/__tests__/useFixedPositioning.tsx +0 -14
  1089. package/src/positioning/useFixedPositioning.ts +0 -6
  1090. package/src/progress/_progress.scss +33 -33
  1091. package/src/responsive-item/_responsive-item.scss +91 -89
  1092. package/src/searching/__tests__/caseInsensitive.ts +165 -0
  1093. package/src/searching/__tests__/fuzzy.ts +169 -0
  1094. package/src/searching/__tests__/toSearchQuery.ts +21 -0
  1095. package/src/searching/__tests__/useFuzzyMatch.tsx +200 -0
  1096. package/src/searching/caseInsensitive.ts +200 -0
  1097. package/src/searching/fuzzy.ts +175 -0
  1098. package/src/searching/toSearchQuery.ts +20 -0
  1099. package/src/searching/types.ts +34 -0
  1100. package/src/searching/useFuzzyMatch.ts +42 -0
  1101. package/src/searching/utils.ts +53 -0
  1102. package/src/segmented-button/_segmented-button.scss +86 -92
  1103. package/src/sheet/_sheet.scss +107 -123
  1104. package/src/sheet/styles.ts +14 -15
  1105. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  1106. package/src/snackbar/Snackbar.tsx +28 -32
  1107. package/src/snackbar/Toast.tsx +7 -2
  1108. package/src/snackbar/ToastManager.tsx +3 -2
  1109. package/src/snackbar/__tests__/Snackbar.tsx +12 -11
  1110. package/src/snackbar/__tests__/ToastManagerProvider.tsx +20 -42
  1111. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +127 -27
  1112. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +23 -8
  1113. package/src/snackbar/_snackbar.scss +148 -144
  1114. package/src/snackbar/snackbarStyles.ts +3 -1
  1115. package/src/suspense/__tests__/CircularProgressSuspense.tsx +90 -0
  1116. package/src/suspense/__tests__/NullSuspense.tsx +46 -0
  1117. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +24 -0
  1118. package/src/table/TableCheckbox.tsx +4 -2
  1119. package/src/table/TableRadio.tsx +4 -2
  1120. package/src/table/_table.scss +214 -227
  1121. package/src/table/tableCellStyles.ts +1 -1
  1122. package/src/tabs/Tab.tsx +110 -70
  1123. package/src/tabs/__tests__/Tab.tsx +25 -2
  1124. package/src/tabs/__tests__/TabList.tsx +4 -4
  1125. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +2 -2
  1126. package/src/tabs/_tabs.scss +62 -53
  1127. package/src/tabs/tabIndicatorStyles.ts +13 -3
  1128. package/src/tabs/tabListStyles.ts +1 -1
  1129. package/src/tabs/tabStyles.ts +16 -4
  1130. package/src/tabs/useTabList.ts +10 -8
  1131. package/src/test-utils/ResizeObserver.ts +100 -53
  1132. package/src/test-utils/__tests__/ResizeObserver.ts +1 -1
  1133. package/src/test-utils/data-testid.ts +5 -1
  1134. package/src/test-utils/matchMedia.ts +2 -2
  1135. package/src/test-utils/polyfills/TextDecoder.ts +7 -0
  1136. package/src/test-utils/polyfills/TextEncoder.ts +5 -0
  1137. package/src/test-utils/polyfills/index.ts +2 -0
  1138. package/src/theme/_theme.scss +243 -133
  1139. package/src/tooltip/_tooltip.scss +76 -83
  1140. package/src/tooltip/useTooltip.ts +23 -16
  1141. package/src/transition/SkeletonPlaceholder.tsx +18 -6
  1142. package/src/transition/__tests__/SkeletonPlaceholder.tsx +72 -0
  1143. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +24 -0
  1144. package/src/transition/__tests__/utils.ts +25 -0
  1145. package/src/transition/_transition.scss +89 -78
  1146. package/src/transition/skeletonPlaceholderUtils.ts +105 -0
  1147. package/src/transition/useCollapseTransition.ts +6 -24
  1148. package/src/transition/useSkeletonPlaceholder.ts +62 -47
  1149. package/src/transition/utils.ts +10 -5
  1150. package/src/tree/DefaultTreeItemRenderer.tsx +6 -2
  1151. package/src/tree/Tree.tsx +8 -4
  1152. package/src/tree/TreeItem.tsx +3 -4
  1153. package/src/tree/__tests__/Tree.tsx +1 -1
  1154. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +124 -124
  1155. package/src/tree/_tree.scss +111 -109
  1156. package/src/tree/styles.ts +0 -9
  1157. package/src/tree/useTreeMovement.ts +1 -1
  1158. package/src/types.ts +13 -0
  1159. package/src/typography/SrOnly.tsx +9 -9
  1160. package/src/typography/Typography.tsx +19 -19
  1161. package/src/typography/WritingDirectionProvider.tsx +4 -2
  1162. package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +5 -5
  1163. package/src/typography/_typography.scss +141 -87
  1164. package/src/useDebouncedFunction.ts +12 -10
  1165. package/src/useElementSize.ts +83 -0
  1166. package/src/useEnsuredState.ts +1 -1
  1167. package/src/useResizeListener.ts +3 -1
  1168. package/src/useResizeObserver.ts +8 -45
  1169. package/src/useThrottledFunction.ts +12 -10
  1170. package/src/useWindowSize.ts +29 -19
  1171. package/src/utils/__tests__/getMiddleOfRange.ts +12 -0
  1172. package/src/utils/__tests__/getRangeDefaultValue.ts +47 -0
  1173. package/src/utils/alphaNumericSort.ts +3 -16
  1174. package/src/utils/getMiddleOfRange.ts +26 -0
  1175. package/src/utils/getRangeDefaultValue.ts +8 -15
  1176. package/src/utils/getRangeSteps.ts +2 -2
  1177. package/src/utils/nearest.ts +1 -1
  1178. package/src/window-splitter/_window-splitter.scss +83 -112
  1179. package/src/window-splitter/useWindowSplitter.ts +12 -28
  1180. package/tsconfig.types.json +1 -1
  1181. package/.turbo/turbo-lint.log +0 -12
  1182. package/.turbo/turbo-test.log +0 -166
  1183. package/dist/divider/VerticalDivider.d.ts +0 -32
  1184. package/dist/divider/useVerticalDividerHeight.d.ts +0 -37
  1185. package/dist/form/SelectValue.d.ts +0 -17
  1186. package/dist/form/SelectValue.js +0 -32
  1187. package/dist/form/SelectValue.js.map +0 -1
  1188. package/dist/form/TextFieldContainerStyles.js.map +0 -1
  1189. package/dist/icon/MaterialIconsProvider.d.ts +0 -12
  1190. package/dist/icon/MaterialIconsProvider.js +0 -17
  1191. package/dist/icon/MaterialIconsProvider.js.map +0 -1
  1192. package/dist/icon/MaterialSymbolsProvider.d.ts +0 -145
  1193. package/dist/icon/MaterialSymbolsProvider.js +0 -60
  1194. package/dist/icon/MaterialSymbolsProvider.js.map +0 -1
  1195. package/dist/link/LinkProvider.d.ts +0 -29
  1196. package/dist/menu/menuConfig.d.ts +0 -60
  1197. package/dist/tooltip/useOverflowTooltip.d.ts +0 -61
  1198. package/dist/utils/filters.d.ts +0 -196
  1199. package/dist/utils/filters.js +0 -67
  1200. package/dist/utils/filters.js.map +0 -1
  1201. package/src/form/SelectValue.tsx +0 -39
  1202. package/src/utils/__tests__/filters.ts +0 -279
  1203. 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">39.93% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>129/323</span>
28
+ <span class='fraction'>485/485</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">91.66% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
35
+ <span class='fraction'>33/36</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/2</span>
42
+ <span class='fraction'>10/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">39.93% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>129/323</span>
49
+ <span class='fraction'>485/485</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 low'></div>
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>
@@ -386,7 +386,270 @@
386
386
  <a name='L321'></a><a href='#L321'>321</a>
387
387
  <a name='L322'></a><a href='#L322'>322</a>
388
388
  <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</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">62x</span>
594
+ <span class="cline-any cline-yes">62x</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">28x</span>
601
+ <span class="cline-any cline-yes">28x</span>
602
+ <span class="cline-any cline-yes">28x</span>
603
+ <span class="cline-any cline-yes">28x</span>
604
+ <span class="cline-any cline-yes">28x</span>
605
+ <span class="cline-any cline-yes">28x</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>
390
653
  <span class="cline-any cline-yes">1x</span>
391
654
  <span class="cline-any cline-yes">1x</span>
392
655
  <span class="cline-any cline-yes">1x</span>
@@ -408,8 +671,6 @@
408
671
  <span class="cline-any cline-yes">1x</span>
409
672
  <span class="cline-any cline-yes">1x</span>
410
673
  <span class="cline-any cline-yes">1x</span>
411
- <span class="cline-any cline-no">&nbsp;</span>
412
- <span class="cline-any cline-no">&nbsp;</span>
413
674
  <span class="cline-any cline-yes">1x</span>
414
675
  <span class="cline-any cline-yes">1x</span>
415
676
  <span class="cline-any cline-yes">1x</span>
@@ -517,229 +778,365 @@
517
778
  <span class="cline-any cline-yes">1x</span>
518
779
  <span class="cline-any cline-yes">1x</span>
519
780
  <span class="cline-any cline-yes">1x</span>
520
- <span class="cline-any cline-no">&nbsp;</span>
521
- <span class="cline-any cline-no">&nbsp;</span>
522
- <span class="cline-any cline-no">&nbsp;</span>
523
- <span class="cline-any cline-no">&nbsp;</span>
524
- <span class="cline-any cline-no">&nbsp;</span>
525
- <span class="cline-any cline-no">&nbsp;</span>
526
- <span class="cline-any cline-no">&nbsp;</span>
527
- <span class="cline-any cline-no">&nbsp;</span>
528
- <span class="cline-any cline-no">&nbsp;</span>
529
- <span class="cline-any cline-no">&nbsp;</span>
530
- <span class="cline-any cline-no">&nbsp;</span>
531
- <span class="cline-any cline-no">&nbsp;</span>
532
- <span class="cline-any cline-no">&nbsp;</span>
533
- <span class="cline-any cline-no">&nbsp;</span>
534
- <span class="cline-any cline-no">&nbsp;</span>
535
- <span class="cline-any cline-no">&nbsp;</span>
536
- <span class="cline-any cline-no">&nbsp;</span>
537
- <span class="cline-any cline-no">&nbsp;</span>
538
- <span class="cline-any cline-no">&nbsp;</span>
539
- <span class="cline-any cline-no">&nbsp;</span>
540
- <span class="cline-any cline-no">&nbsp;</span>
541
- <span class="cline-any cline-no">&nbsp;</span>
542
- <span class="cline-any cline-no">&nbsp;</span>
543
- <span class="cline-any cline-no">&nbsp;</span>
544
- <span class="cline-any cline-no">&nbsp;</span>
545
- <span class="cline-any cline-no">&nbsp;</span>
546
- <span class="cline-any cline-no">&nbsp;</span>
547
- <span class="cline-any cline-no">&nbsp;</span>
548
- <span class="cline-any cline-no">&nbsp;</span>
549
- <span class="cline-any cline-no">&nbsp;</span>
550
- <span class="cline-any cline-no">&nbsp;</span>
551
- <span class="cline-any cline-no">&nbsp;</span>
552
- <span class="cline-any cline-no">&nbsp;</span>
553
- <span class="cline-any cline-no">&nbsp;</span>
554
- <span class="cline-any cline-no">&nbsp;</span>
555
- <span class="cline-any cline-no">&nbsp;</span>
556
- <span class="cline-any cline-no">&nbsp;</span>
557
- <span class="cline-any cline-no">&nbsp;</span>
558
- <span class="cline-any cline-no">&nbsp;</span>
559
- <span class="cline-any cline-no">&nbsp;</span>
560
- <span class="cline-any cline-no">&nbsp;</span>
561
- <span class="cline-any cline-no">&nbsp;</span>
562
- <span class="cline-any cline-no">&nbsp;</span>
563
- <span class="cline-any cline-no">&nbsp;</span>
564
- <span class="cline-any cline-no">&nbsp;</span>
565
- <span class="cline-any cline-no">&nbsp;</span>
566
- <span class="cline-any cline-no">&nbsp;</span>
567
- <span class="cline-any cline-no">&nbsp;</span>
568
- <span class="cline-any cline-no">&nbsp;</span>
569
- <span class="cline-any cline-no">&nbsp;</span>
570
- <span class="cline-any cline-no">&nbsp;</span>
571
- <span class="cline-any cline-no">&nbsp;</span>
572
- <span class="cline-any cline-no">&nbsp;</span>
573
- <span class="cline-any cline-no">&nbsp;</span>
574
- <span class="cline-any cline-no">&nbsp;</span>
575
- <span class="cline-any cline-no">&nbsp;</span>
576
- <span class="cline-any cline-no">&nbsp;</span>
577
- <span class="cline-any cline-no">&nbsp;</span>
578
- <span class="cline-any cline-no">&nbsp;</span>
579
- <span class="cline-any cline-no">&nbsp;</span>
580
- <span class="cline-any cline-no">&nbsp;</span>
581
- <span class="cline-any cline-no">&nbsp;</span>
582
- <span class="cline-any cline-no">&nbsp;</span>
583
- <span class="cline-any cline-no">&nbsp;</span>
584
- <span class="cline-any cline-no">&nbsp;</span>
585
- <span class="cline-any cline-no">&nbsp;</span>
586
- <span class="cline-any cline-no">&nbsp;</span>
587
- <span class="cline-any cline-no">&nbsp;</span>
588
- <span class="cline-any cline-no">&nbsp;</span>
589
- <span class="cline-any cline-no">&nbsp;</span>
590
- <span class="cline-any cline-no">&nbsp;</span>
591
- <span class="cline-any cline-no">&nbsp;</span>
592
- <span class="cline-any cline-no">&nbsp;</span>
593
- <span class="cline-any cline-no">&nbsp;</span>
594
- <span class="cline-any cline-no">&nbsp;</span>
595
- <span class="cline-any cline-no">&nbsp;</span>
596
- <span class="cline-any cline-no">&nbsp;</span>
597
- <span class="cline-any cline-no">&nbsp;</span>
598
- <span class="cline-any cline-no">&nbsp;</span>
599
- <span class="cline-any cline-no">&nbsp;</span>
600
- <span class="cline-any cline-no">&nbsp;</span>
601
- <span class="cline-any cline-no">&nbsp;</span>
602
- <span class="cline-any cline-no">&nbsp;</span>
603
- <span class="cline-any cline-no">&nbsp;</span>
604
- <span class="cline-any cline-no">&nbsp;</span>
605
- <span class="cline-any cline-no">&nbsp;</span>
606
- <span class="cline-any cline-no">&nbsp;</span>
607
- <span class="cline-any cline-no">&nbsp;</span>
608
- <span class="cline-any cline-no">&nbsp;</span>
609
- <span class="cline-any cline-no">&nbsp;</span>
610
- <span class="cline-any cline-no">&nbsp;</span>
611
- <span class="cline-any cline-no">&nbsp;</span>
612
- <span class="cline-any cline-no">&nbsp;</span>
613
- <span class="cline-any cline-no">&nbsp;</span>
614
- <span class="cline-any cline-no">&nbsp;</span>
615
- <span class="cline-any cline-no">&nbsp;</span>
616
- <span class="cline-any cline-no">&nbsp;</span>
617
- <span class="cline-any cline-no">&nbsp;</span>
618
- <span class="cline-any cline-no">&nbsp;</span>
619
- <span class="cline-any cline-no">&nbsp;</span>
620
- <span class="cline-any cline-no">&nbsp;</span>
621
- <span class="cline-any cline-no">&nbsp;</span>
622
- <span class="cline-any cline-no">&nbsp;</span>
623
- <span class="cline-any cline-no">&nbsp;</span>
624
- <span class="cline-any cline-no">&nbsp;</span>
625
- <span class="cline-any cline-no">&nbsp;</span>
626
- <span class="cline-any cline-no">&nbsp;</span>
627
- <span class="cline-any cline-no">&nbsp;</span>
628
- <span class="cline-any cline-no">&nbsp;</span>
629
- <span class="cline-any cline-no">&nbsp;</span>
630
- <span class="cline-any cline-no">&nbsp;</span>
631
- <span class="cline-any cline-no">&nbsp;</span>
632
- <span class="cline-any cline-no">&nbsp;</span>
633
- <span class="cline-any cline-no">&nbsp;</span>
634
- <span class="cline-any cline-no">&nbsp;</span>
635
- <span class="cline-any cline-no">&nbsp;</span>
636
- <span class="cline-any cline-no">&nbsp;</span>
637
- <span class="cline-any cline-no">&nbsp;</span>
638
- <span class="cline-any cline-no">&nbsp;</span>
639
- <span class="cline-any cline-no">&nbsp;</span>
640
- <span class="cline-any cline-no">&nbsp;</span>
641
- <span class="cline-any cline-no">&nbsp;</span>
642
- <span class="cline-any cline-no">&nbsp;</span>
643
- <span class="cline-any cline-no">&nbsp;</span>
644
- <span class="cline-any cline-no">&nbsp;</span>
645
- <span class="cline-any cline-no">&nbsp;</span>
646
- <span class="cline-any cline-no">&nbsp;</span>
647
- <span class="cline-any cline-no">&nbsp;</span>
648
- <span class="cline-any cline-no">&nbsp;</span>
649
- <span class="cline-any cline-no">&nbsp;</span>
650
- <span class="cline-any cline-no">&nbsp;</span>
651
- <span class="cline-any cline-no">&nbsp;</span>
652
- <span class="cline-any cline-no">&nbsp;</span>
653
- <span class="cline-any cline-no">&nbsp;</span>
654
- <span class="cline-any cline-no">&nbsp;</span>
655
- <span class="cline-any cline-no">&nbsp;</span>
656
- <span class="cline-any cline-no">&nbsp;</span>
657
- <span class="cline-any cline-no">&nbsp;</span>
658
- <span class="cline-any cline-no">&nbsp;</span>
659
- <span class="cline-any cline-no">&nbsp;</span>
660
- <span class="cline-any cline-no">&nbsp;</span>
661
- <span class="cline-any cline-no">&nbsp;</span>
662
- <span class="cline-any cline-no">&nbsp;</span>
663
- <span class="cline-any cline-no">&nbsp;</span>
664
- <span class="cline-any cline-no">&nbsp;</span>
665
- <span class="cline-any cline-no">&nbsp;</span>
666
- <span class="cline-any cline-no">&nbsp;</span>
667
- <span class="cline-any cline-no">&nbsp;</span>
668
- <span class="cline-any cline-no">&nbsp;</span>
669
- <span class="cline-any cline-no">&nbsp;</span>
670
- <span class="cline-any cline-no">&nbsp;</span>
671
- <span class="cline-any cline-no">&nbsp;</span>
672
- <span class="cline-any cline-no">&nbsp;</span>
673
- <span class="cline-any cline-no">&nbsp;</span>
674
- <span class="cline-any cline-no">&nbsp;</span>
675
- <span class="cline-any cline-no">&nbsp;</span>
676
- <span class="cline-any cline-no">&nbsp;</span>
677
- <span class="cline-any cline-no">&nbsp;</span>
678
- <span class="cline-any cline-no">&nbsp;</span>
679
- <span class="cline-any cline-no">&nbsp;</span>
680
- <span class="cline-any cline-no">&nbsp;</span>
681
- <span class="cline-any cline-no">&nbsp;</span>
682
- <span class="cline-any cline-no">&nbsp;</span>
683
- <span class="cline-any cline-no">&nbsp;</span>
684
- <span class="cline-any cline-no">&nbsp;</span>
685
- <span class="cline-any cline-no">&nbsp;</span>
686
- <span class="cline-any cline-no">&nbsp;</span>
687
- <span class="cline-any cline-no">&nbsp;</span>
688
- <span class="cline-any cline-no">&nbsp;</span>
689
- <span class="cline-any cline-no">&nbsp;</span>
690
- <span class="cline-any cline-no">&nbsp;</span>
691
- <span class="cline-any cline-no">&nbsp;</span>
692
- <span class="cline-any cline-no">&nbsp;</span>
693
- <span class="cline-any cline-no">&nbsp;</span>
694
- <span class="cline-any cline-no">&nbsp;</span>
695
- <span class="cline-any cline-no">&nbsp;</span>
696
- <span class="cline-any cline-no">&nbsp;</span>
697
- <span class="cline-any cline-no">&nbsp;</span>
698
- <span class="cline-any cline-no">&nbsp;</span>
699
- <span class="cline-any cline-no">&nbsp;</span>
700
- <span class="cline-any cline-no">&nbsp;</span>
701
- <span class="cline-any cline-no">&nbsp;</span>
702
- <span class="cline-any cline-no">&nbsp;</span>
703
- <span class="cline-any cline-no">&nbsp;</span>
704
- <span class="cline-any cline-no">&nbsp;</span>
705
- <span class="cline-any cline-no">&nbsp;</span>
706
- <span class="cline-any cline-no">&nbsp;</span>
707
- <span class="cline-any cline-no">&nbsp;</span>
708
- <span class="cline-any cline-no">&nbsp;</span>
709
- <span class="cline-any cline-no">&nbsp;</span>
710
- <span class="cline-any cline-no">&nbsp;</span>
711
- <span class="cline-any cline-no">&nbsp;</span>
712
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type {
713
- AriaAttributes,
714
- FocusEventHandler,
715
- InputHTMLAttributes,
716
- KeyboardEventHandler,
717
- MouseEventHandler,
718
- Ref,
719
- RefCallback,
720
- RefObject,
781
+ <span class="cline-any cline-yes">1x</span>
782
+ <span class="cline-any cline-yes">1x</span>
783
+ <span class="cline-any cline-yes">1x</span>
784
+ <span class="cline-any cline-yes">1x</span>
785
+ <span class="cline-any cline-yes">1x</span>
786
+ <span class="cline-any cline-yes">1x</span>
787
+ <span class="cline-any cline-yes">1x</span>
788
+ <span class="cline-any cline-yes">1x</span>
789
+ <span class="cline-any cline-yes">1x</span>
790
+ <span class="cline-any cline-yes">1x</span>
791
+ <span class="cline-any cline-yes">1x</span>
792
+ <span class="cline-any cline-yes">1x</span>
793
+ <span class="cline-any cline-yes">1x</span>
794
+ <span class="cline-any cline-yes">1x</span>
795
+ <span class="cline-any cline-yes">1x</span>
796
+ <span class="cline-any cline-yes">1x</span>
797
+ <span class="cline-any cline-yes">1x</span>
798
+ <span class="cline-any cline-yes">1x</span>
799
+ <span class="cline-any cline-yes">1x</span>
800
+ <span class="cline-any cline-yes">1x</span>
801
+ <span class="cline-any cline-yes">1x</span>
802
+ <span class="cline-any cline-yes">1x</span>
803
+ <span class="cline-any cline-yes">1x</span>
804
+ <span class="cline-any cline-yes">1x</span>
805
+ <span class="cline-any cline-yes">1x</span>
806
+ <span class="cline-any cline-yes">1x</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">87x</span>
819
+ <span class="cline-any cline-yes">87x</span>
820
+ <span class="cline-any cline-yes">87x</span>
821
+ <span class="cline-any cline-yes">87x</span>
822
+ <span class="cline-any cline-yes">87x</span>
823
+ <span class="cline-any cline-yes">87x</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">13x</span>
855
+ <span class="cline-any cline-yes">13x</span>
856
+ <span class="cline-any cline-yes">1x</span>
857
+ <span class="cline-any cline-yes">1x</span>
858
+ <span class="cline-any cline-yes">12x</span>
859
+ <span class="cline-any cline-yes">12x</span>
860
+ <span class="cline-any cline-yes">12x</span>
861
+ <span class="cline-any cline-yes">87x</span>
862
+ <span class="cline-any cline-yes">19x</span>
863
+ <span class="cline-any cline-yes">19x</span>
864
+ <span class="cline-any cline-yes">19x</span>
865
+ <span class="cline-any cline-yes">19x</span>
866
+ <span class="cline-any cline-yes">19x</span>
867
+ <span class="cline-any cline-yes">19x</span>
868
+ <span class="cline-any cline-yes">19x</span>
869
+ <span class="cline-any cline-yes">19x</span>
870
+ <span class="cline-any cline-yes">19x</span>
871
+ <span class="cline-any cline-yes">3x</span>
872
+ <span class="cline-any cline-yes">3x</span>
873
+ <span class="cline-any cline-yes">16x</span>
874
+ <span class="cline-any cline-yes">19x</span>
875
+ <span class="cline-any cline-yes">13x</span>
876
+ <span class="cline-any cline-yes">13x</span>
877
+ <span class="cline-any cline-yes">13x</span>
878
+ <span class="cline-any cline-yes">2x</span>
879
+ <span class="cline-any cline-yes">2x</span>
880
+ <span class="cline-any cline-yes">2x</span>
881
+ <span class="cline-any cline-yes">13x</span>
882
+ <span class="cline-any cline-yes">3x</span>
883
+ <span class="cline-any cline-yes">3x</span>
884
+ <span class="cline-any cline-yes">13x</span>
885
+ <span class="cline-any cline-yes">13x</span>
886
+ <span class="cline-any cline-yes">13x</span>
887
+ <span class="cline-any cline-yes">13x</span>
888
+ <span class="cline-any cline-yes">13x</span>
889
+ <span class="cline-any cline-yes">3x</span>
890
+ <span class="cline-any cline-yes">3x</span>
891
+ <span class="cline-any cline-yes">19x</span>
892
+ <span class="cline-any cline-yes">19x</span>
893
+ <span class="cline-any cline-yes">2x</span>
894
+ <span class="cline-any cline-yes">2x</span>
895
+ <span class="cline-any cline-yes">2x</span>
896
+ <span class="cline-any cline-yes">2x</span>
897
+ <span class="cline-any cline-yes">2x</span>
898
+ <span class="cline-any cline-yes">19x</span>
899
+ <span class="cline-any cline-yes">1x</span>
900
+ <span class="cline-any cline-yes">1x</span>
901
+ <span class="cline-any cline-yes">19x</span>
902
+ <span class="cline-any cline-yes">19x</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">87x</span>
911
+ <span class="cline-any cline-yes">28x</span>
912
+ <span class="cline-any cline-yes">28x</span>
913
+ <span class="cline-any cline-yes">17x</span>
914
+ <span class="cline-any cline-yes">17x</span>
915
+ <span class="cline-any cline-yes">11x</span>
916
+ <span class="cline-any cline-yes">28x</span>
917
+ <span class="cline-any cline-yes">28x</span>
918
+ <span class="cline-any cline-yes">87x</span>
919
+ <span class="cline-any cline-yes">87x</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">174x</span>
923
+ <span class="cline-any cline-yes">174x</span>
924
+ <span class="cline-any cline-yes">174x</span>
925
+ <span class="cline-any cline-yes">174x</span>
926
+ <span class="cline-any cline-yes">174x</span>
927
+ <span class="cline-any cline-yes">174x</span>
928
+ <span class="cline-any cline-yes">174x</span>
929
+ <span class="cline-any cline-yes">348x</span>
930
+ <span class="cline-any cline-yes">18x</span>
931
+ <span class="cline-any cline-yes">18x</span>
932
+ <span class="cline-any cline-yes">18x</span>
933
+ <span class="cline-any cline-yes">18x</span>
934
+ <span class="cline-any cline-yes">1x</span>
935
+ <span class="cline-any cline-yes">1x</span>
936
+ <span class="cline-any cline-yes">17x</span>
937
+ <span class="cline-any cline-yes">17x</span>
938
+ <span class="cline-any cline-yes">17x</span>
939
+ <span class="cline-any cline-yes">17x</span>
940
+ <span class="cline-any cline-yes">17x</span>
941
+ <span class="cline-any cline-yes">17x</span>
942
+ <span class="cline-any cline-yes">17x</span>
943
+ <span class="cline-any cline-yes">17x</span>
944
+ <span class="cline-any cline-yes">17x</span>
945
+ <span class="cline-any cline-yes">17x</span>
946
+ <span class="cline-any cline-yes">17x</span>
947
+ <span class="cline-any cline-yes">18x</span>
948
+ <span class="cline-any cline-yes">1x</span>
949
+ <span class="cline-any cline-yes">1x</span>
950
+ <span class="cline-any cline-yes">16x</span>
951
+ <span class="cline-any cline-yes">16x</span>
952
+ <span class="cline-any cline-yes">16x</span>
953
+ <span class="cline-any cline-yes">16x</span>
954
+ <span class="cline-any cline-yes">16x</span>
955
+ <span class="cline-any cline-yes">16x</span>
956
+ <span class="cline-any cline-yes">18x</span>
957
+ <span class="cline-any cline-yes">18x</span>
958
+ <span class="cline-any cline-yes">174x</span>
959
+ <span class="cline-any cline-yes">174x</span>
960
+ <span class="cline-any cline-yes">348x</span>
961
+ <span class="cline-any cline-yes">12x</span>
962
+ <span class="cline-any cline-yes">12x</span>
963
+ <span class="cline-any cline-yes">12x</span>
964
+ <span class="cline-any cline-yes">11x</span>
965
+ <span class="cline-any cline-yes">11x</span>
966
+ <span class="cline-any cline-yes">11x</span>
967
+ <span class="cline-any cline-yes">11x</span>
968
+ <span class="cline-any cline-yes">11x</span>
969
+ <span class="cline-any cline-yes">11x</span>
970
+ <span class="cline-any cline-yes">12x</span>
971
+ <span class="cline-any cline-yes">174x</span>
972
+ <span class="cline-any cline-yes">174x</span>
973
+ <span class="cline-any cline-yes">174x</span>
974
+ <span class="cline-any cline-yes">174x</span>
975
+ <span class="cline-any cline-yes">174x</span>
976
+ <span class="cline-any cline-yes">174x</span>
977
+ <span class="cline-any cline-yes">174x</span>
978
+ <span class="cline-any cline-yes">174x</span>
979
+ <span class="cline-any cline-yes">174x</span>
980
+ <span class="cline-any cline-yes">174x</span>
981
+ <span class="cline-any cline-yes">174x</span>
982
+ <span class="cline-any cline-yes">87x</span>
983
+ <span class="cline-any cline-yes">87x</span>
984
+ <span class="cline-any cline-yes">87x</span>
985
+ <span class="cline-any cline-yes">87x</span>
986
+ <span class="cline-any cline-yes">87x</span>
987
+ <span class="cline-any cline-yes">87x</span>
988
+ <span class="cline-any cline-yes">87x</span>
989
+ <span class="cline-any cline-yes">87x</span>
990
+ <span class="cline-any cline-yes">87x</span>
991
+ <span class="cline-any cline-yes">87x</span>
992
+ <span class="cline-any cline-yes">87x</span>
993
+ <span class="cline-any cline-yes">87x</span>
994
+ <span class="cline-any cline-yes">87x</span>
995
+ <span class="cline-any cline-yes">87x</span>
996
+ <span class="cline-any cline-yes">87x</span>
997
+ <span class="cline-any cline-yes">87x</span>
998
+ <span class="cline-any cline-yes">87x</span>
999
+ <span class="cline-any cline-yes">87x</span>
1000
+ <span class="cline-any cline-yes">87x</span>
1001
+ <span class="cline-any cline-yes">87x</span>
1002
+ <span class="cline-any cline-yes">87x</span>
1003
+ <span class="cline-any cline-yes">87x</span>
1004
+ <span class="cline-any cline-yes">87x</span>
1005
+ <span class="cline-any cline-yes">87x</span>
1006
+ <span class="cline-any cline-yes">87x</span>
1007
+ <span class="cline-any cline-yes">87x</span>
1008
+ <span class="cline-any cline-yes">87x</span>
1009
+ <span class="cline-any cline-yes">87x</span>
1010
+ <span class="cline-any cline-yes">87x</span>
1011
+ <span class="cline-any cline-yes">87x</span>
1012
+ <span class="cline-any cline-yes">87x</span>
1013
+ <span class="cline-any cline-yes">87x</span>
1014
+ <span class="cline-any cline-yes">87x</span>
1015
+ <span class="cline-any cline-yes">87x</span>
1016
+ <span class="cline-any cline-yes">87x</span>
1017
+ <span class="cline-any cline-yes">87x</span>
1018
+ <span class="cline-any cline-yes">87x</span>
1019
+ <span class="cline-any cline-yes">87x</span>
1020
+ <span class="cline-any cline-yes">87x</span>
1021
+ <span class="cline-any cline-yes">87x</span>
1022
+ <span class="cline-any cline-yes">87x</span>
1023
+ <span class="cline-any cline-yes">87x</span>
1024
+ <span class="cline-any cline-yes">87x</span>
1025
+ <span class="cline-any cline-yes">87x</span>
1026
+ <span class="cline-any cline-yes">87x</span>
1027
+ <span class="cline-any cline-yes">87x</span>
1028
+ <span class="cline-any cline-yes">87x</span>
1029
+ <span class="cline-any cline-yes">87x</span>
1030
+ <span class="cline-any cline-yes">87x</span>
1031
+ <span class="cline-any cline-yes">87x</span>
1032
+ <span class="cline-any cline-yes">87x</span>
1033
+ <span class="cline-any cline-yes">87x</span>
1034
+ <span class="cline-any cline-yes">87x</span>
1035
+ <span class="cline-any cline-yes">87x</span>
1036
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">"use client";
1037
+ import {
1038
+ useRef,
1039
+ type FocusEventHandler,
1040
+ type KeyboardEventHandler,
1041
+ type MouseEventHandler,
1042
+ type Ref,
1043
+ type RefCallback,
1044
+ type RefObject,
721
1045
  } from "react";
1046
+ import { type MenuProps } from "../menu/Menu.js";
1047
+ import { type MenuSheetConfigurableProps } from "../menu/MenuSheet.js";
1048
+ import {
1049
+ type GetDefaultFocusedIndex,
1050
+ type GetFocusableElements,
1051
+ type KeyboardMovementExtensionData,
1052
+ type KeyboardMovementProviderImplementation,
1053
+ type KeyboardMovementProviderOptions,
1054
+ } from "../movement/types.js";
1055
+ import { useKeyboardMovementProvider } from "../movement/useKeyboardMovementProvider.js";
1056
+ import { BELOW_CENTER_ANCHOR } from "../positioning/constants.js";
722
1057
  import {
723
- isSearchableEvent,
724
- KeyboardMovementProviderImplementation,
725
- useKeyboardMovementProvider,
726
- } from "../movement";
727
- import type { UseStateInitializer, UseStateSetter } from "../types";
728
- import { useEnsuredId } from "../useEnsuredId";
729
- import { useEnsuredRef } from "../useEnsuredRef";
730
- import { useToggle } from "../useToggle";
731
- import { tryToSubmitRelatedForm } from "./utils";
1058
+ type PositionAnchor,
1059
+ type PositionWidth,
1060
+ } from "../positioning/types.js";
1061
+ import { TRANSITION_CONFIG } from "../transition/config.js";
1062
+ import {
1063
+ type TransitionCallbacks,
1064
+ type TransitionEnterHandler,
1065
+ type TransitionExitHandler,
1066
+ } from "../transition/types.js";
1067
+ import {
1068
+ type NonNullMutableRef,
1069
+ type UseStateInitializer,
1070
+ type UseStateSetter,
1071
+ } from "../types.js";
1072
+ import { useEnsuredId } from "../useEnsuredId.js";
1073
+ import { useEnsuredRef } from "../useEnsuredRef.js";
1074
+ import { useToggle } from "../useToggle.js";
1075
+ import { tryToSubmitRelatedForm } from "./utils.js";
1076
+ &nbsp;
1077
+ const noop = (): void =&gt; {
1078
+ // do nothing
1079
+ };
732
1080
  &nbsp;
733
- const noop = <span class="fstat-no" title="function not covered" >(): void =&gt; {</span>
734
- <span class="cstat-no" title="statement not covered" > // do nothing</span>
735
- <span class="cstat-no" title="statement not covered" >};</span>
1081
+ /**
1082
+ * @remarks \@since 6.0.0
1083
+ */
1084
+ export const getNonDisabledOptions = (
1085
+ container: HTMLElement
1086
+ ): readonly HTMLElement[] =&gt; [
1087
+ ...container.querySelectorAll&lt;HTMLLIElement&gt;(
1088
+ '[role="option"]:not([aria-disabled])'
1089
+ ),
1090
+ ];
736
1091
  &nbsp;
1092
+ /**
1093
+ * @remarks \@since 6.0.0
1094
+ */
737
1095
  export type SupportedComboboxPopup = "listbox" | "grid" | "dialog";
738
1096
  &nbsp;
739
- export interface ComboboxOptions&lt;
1097
+ /**
1098
+ * @remarks \@since 6.0.0
1099
+ */
1100
+ export interface ComboboxKeyboardMovementData&lt;
1101
+ E extends HTMLElement = HTMLInputElement,
1102
+ &gt; extends KeyboardMovementExtensionData&lt;E&gt; {
1103
+ show(): void;
1104
+ hide(): void;
1105
+ visible: boolean;
1106
+ focusLast: NonNullMutableRef&lt;boolean&gt;;
1107
+ }
1108
+ &nbsp;
1109
+ /**
1110
+ * @remarks \@since 6.0.0
1111
+ */
1112
+ export type ExtendComboboxKeyDown&lt;E extends HTMLElement = HTMLInputElement&gt; = (
1113
+ movementData: ComboboxKeyboardMovementData&lt;E&gt;
1114
+ ) =&gt; void;
1115
+ &nbsp;
1116
+ /**
1117
+ * @remarks \@since 6.0.0
1118
+ */
1119
+ export type ComboboxKeyboardMovementOptions&lt;
740
1120
  ComboboxEl extends HTMLElement = HTMLInputElement,
741
- PopupEl extends HTMLElement = HTMLElement
742
- &gt; {
1121
+ &gt; = Pick&lt;
1122
+ KeyboardMovementProviderOptions&lt;ComboboxEl&gt;,
1123
+ | "onClick"
1124
+ | "onFocus"
1125
+ | "onKeyDown"
1126
+ | "disabled"
1127
+ | "loopable"
1128
+ | "searchable"
1129
+ | "onFocusChange"
1130
+ | "isNegativeOneAllowed"
1131
+ &gt;;
1132
+ &nbsp;
1133
+ /**
1134
+ * @remarks \@since 6.0.0
1135
+ */
1136
+ export interface BaseComboboxOptions&lt;
1137
+ ComboboxEl extends HTMLElement = HTMLInputElement,
1138
+ PopupEl extends HTMLElement = HTMLElement,
1139
+ &gt; extends ComboboxKeyboardMovementOptions&lt;ComboboxEl&gt; {
743
1140
  /**
744
1141
  * This is the {@link InputHTMLAttributes.form} attribute and is used to
745
1142
  * attempt submitting a form when the enter key is pressed.
@@ -756,7 +1153,6 @@ export interface ComboboxOptions&lt;
756
1153
  * @defaultValue `"combobox-" + useId()`
757
1154
  */
758
1155
  comboboxId?: string;
759
- &nbsp;
760
1156
  comboboxRef?: Ref&lt;ComboboxEl&gt;;
761
1157
  &nbsp;
762
1158
  /**
@@ -765,49 +1161,44 @@ export interface ComboboxOptions&lt;
765
1161
  popup?: "listbox" | "grid" | "dialog";
766
1162
  &nbsp;
767
1163
  /**
768
- * Used to determine the keyboard completion behavior with the {@link popup}
769
- * type:
770
- *
771
- * - `"none"` - applies `aria-autocomplete="none"` and focusing options does
772
- * not update the value automatically. the user must select an option with
773
- * enter
774
- * - `"list"` - applies `aria-autocomplete="list"` and focusing options
775
- * immediately updates the value
776
- * - `"both"` - applies `aria-autocomplete="both"`, focusing options
777
- * immediately updates the value, and typing will attempt to autocomplete
778
- * the rest of the match inline using selection ranges
779
- * - `"select"` - acts as a `&lt;select&gt;` element and is **not editable**.
780
- *
781
- * @defaultValue `"list"`
1164
+ * @defaultValue `false`
782
1165
  */
783
- autocomplete?: "none" | "list" | "both" | "select";
1166
+ defaultVisible?: UseStateInitializer&lt;boolean&gt;;
784
1167
  &nbsp;
785
- onClick?: MouseEventHandler&lt;ComboboxEl&gt;;
786
- onFocus?: FocusEventHandler&lt;ComboboxEl&gt;;
787
- onKeyDown?: KeyboardEventHandler&lt;ComboboxEl&gt;;
1168
+ extendKeyDown?: ExtendComboboxKeyDown&lt;ComboboxEl&gt;;
788
1169
  &nbsp;
789
1170
  /**
790
- * @defaultValue `false`
1171
+ * @defaultValue {@link getNonDisabledOptions}
791
1172
  */
792
- disabled?: boolean;
1173
+ getFocusableElements?: GetFocusableElements;
793
1174
  &nbsp;
794
- /**
795
- * @defaultValue `false`
796
- */
797
- disableShowOnFocus?: boolean;
1175
+ getDefaultFocusedIndex?: GetDefaultFocusedIndex;
1176
+ }
798
1177
  &nbsp;
799
- /**
800
- * @defaultValue `false`
801
- */
802
- defaultVisible?: UseStateInitializer&lt;boolean&gt;;
1178
+ /**
1179
+ * @remarks \@since 6.0.0
1180
+ */
1181
+ export interface ComboboxOptions&lt;
1182
+ ComboboxEl extends HTMLElement = HTMLInputElement,
1183
+ PopupEl extends HTMLElement = HTMLElement,
1184
+ &gt; extends BaseComboboxOptions&lt;ComboboxEl, PopupEl&gt; {
1185
+ getEnterDefaultFocusedIndex(options: {
1186
+ focusLast: boolean;
1187
+ focusables: readonly HTMLElement[];
1188
+ currentFocusIndex: number;
1189
+ }): number;
803
1190
  }
804
1191
  &nbsp;
1192
+ /**
1193
+ * @remarks \@since 6.0.0
1194
+ */
805
1195
  export interface ComboboxWidgetProps&lt;
806
- ComboboxEl extends HTMLElement = HTMLInputElement
1196
+ ComboboxEl extends HTMLElement = HTMLInputElement,
807
1197
  &gt; {
808
- "aria-haspopup": SupportedComboboxPopup;
1198
+ "aria-controls": string;
1199
+ "aria-disabled": true | undefined;
809
1200
  "aria-expanded": boolean;
810
- "aria-autocomplete"?: AriaAttributes["aria-autocomplete"];
1201
+ "aria-haspopup": SupportedComboboxPopup;
811
1202
  id: string;
812
1203
  ref: RefCallback&lt;ComboboxEl&gt;;
813
1204
  role: "combobox";
@@ -816,222 +1207,317 @@ export interface ComboboxWidgetProps&lt;
816
1207
  onKeyDown: KeyboardEventHandler&lt;ComboboxEl&gt;;
817
1208
  }
818
1209
  &nbsp;
1210
+ /**
1211
+ * @remarks \@since 6.0.0
1212
+ */
819
1213
  export interface ComboboxWidgetPopupProps&lt;
820
- PopupEl extends HTMLElement = HTMLElement
1214
+ PopupEl extends HTMLElement = HTMLElement,
821
1215
  &gt; {
822
- "aria-labelledby": string;
823
1216
  id: string;
824
1217
  ref: RefCallback&lt;PopupEl&gt;;
825
1218
  role: "listbox" | "dialog" | "grid";
826
1219
  }
827
1220
  &nbsp;
1221
+ /**
1222
+ * @remarks \@since 6.0.0
1223
+ */
1224
+ export type ComboboxTransitionCallbacks = Pick&lt;
1225
+ TransitionCallbacks,
1226
+ "onEntering" | "onEntered" | "onExiting" | "onExited"
1227
+ &gt;;
1228
+ &nbsp;
1229
+ /**
1230
+ * @remarks \@since 6.0.0
1231
+ */
1232
+ export interface ComboboxTransitionOptions extends ComboboxTransitionCallbacks {
1233
+ disableTransition?: boolean;
1234
+ }
1235
+ &nbsp;
1236
+ /**
1237
+ * @remarks \@since 6.0.0
1238
+ */
1239
+ export interface ComboboxMenuProps&lt;
1240
+ ComboboxEl extends HTMLElement = HTMLInputElement,
1241
+ &gt; extends Required&lt;ComboboxTransitionCallbacks&gt;,
1242
+ ComboboxWidgetPopupProps {
1243
+ visible: boolean;
1244
+ onRequestClose(): void;
1245
+ &nbsp;
1246
+ /** @defaultValue `"min"` */
1247
+ width: PositionWidth;
1248
+ &nbsp;
1249
+ /** @defaultValue `BELOW_CENTER_ANCHOR` */
1250
+ anchor: PositionAnchor;
1251
+ &nbsp;
1252
+ fixedTo: RefObject&lt;ComboboxEl&gt;;
1253
+ &nbsp;
1254
+ sheetProps: MenuSheetConfigurableProps &amp;
1255
+ Required&lt;ComboboxTransitionCallbacks&gt;;
1256
+ }
1257
+ &nbsp;
1258
+ /**
1259
+ * @remarks \@since 6.0.0
1260
+ */
828
1261
  export interface ComboboxImplementation&lt;
829
1262
  ComboboxEl extends HTMLElement = HTMLInputElement,
830
- PopupEl extends HTMLElement = HTMLElement
1263
+ PopupEl extends HTMLElement = HTMLElement,
831
1264
  &gt; extends KeyboardMovementProviderImplementation&lt;ComboboxEl&gt; {
832
1265
  show(): void;
833
1266
  hide(): void;
834
1267
  visible: boolean;
835
1268
  setVisible: UseStateSetter&lt;boolean&gt;;
1269
+ focusLast: NonNullMutableRef&lt;boolean&gt;;
836
1270
  popupRef: RefObject&lt;PopupEl&gt;;
837
1271
  popupProps: ComboboxWidgetPopupProps&lt;PopupEl&gt;;
838
1272
  comboboxRef: RefObject&lt;ComboboxEl&gt;;
839
1273
  comboboxProps: ComboboxWidgetProps&lt;ComboboxEl&gt;;
1274
+ &nbsp;
1275
+ /**
1276
+ * Since the combobox usually uses the `Menu` as a popup element, this is a
1277
+ * helper util to create the required props and merge any additional props
1278
+ * with reasonable defaults.
1279
+ */
1280
+ getMenuProps(
1281
+ props?: Partial&lt;Omit&lt;MenuProps, "fixedTo" | "visible" | "onRequestClose"&gt;&gt;
1282
+ ): Partial&lt;MenuProps&gt; &amp; ComboboxMenuProps&lt;ComboboxEl&gt;;
1283
+ getTransitionCallbacks(
1284
+ options: ComboboxTransitionOptions
1285
+ ): Required&lt;ComboboxTransitionCallbacks&gt;;
840
1286
  }
841
1287
  &nbsp;
842
- export <span class="fstat-no" title="function not covered" >function useCombobox&lt;</span>
843
- <span class="cstat-no" title="statement not covered" > ComboboxEl extends HTMLElement = HTMLInputElement,</span>
844
- <span class="cstat-no" title="statement not covered" > PopupEl extends HTMLElement = HTMLElement</span>
845
- <span class="cstat-no" title="statement not covered" >&gt;(</span>
846
- <span class="cstat-no" title="statement not covered" > options: ComboboxOptions&lt;ComboboxEl, PopupEl&gt; = {}</span>
847
- <span class="cstat-no" title="statement not covered" >): ComboboxImplementation&lt;ComboboxEl, PopupEl&gt; {</span>
848
- <span class="cstat-no" title="statement not covered" > const {</span>
849
- <span class="cstat-no" title="statement not covered" > form,</span>
850
- <span class="cstat-no" title="statement not covered" > autocomplete = "list",</span>
851
- <span class="cstat-no" title="statement not covered" > popup = "listbox",</span>
852
- <span class="cstat-no" title="statement not covered" > onClick = noop,</span>
853
- <span class="cstat-no" title="statement not covered" > onFocus = noop,</span>
854
- <span class="cstat-no" title="statement not covered" > onKeyDown = noop,</span>
855
- <span class="cstat-no" title="statement not covered" > disabled = false,</span>
856
- <span class="cstat-no" title="statement not covered" > comboboxId: propComboboxId,</span>
857
- <span class="cstat-no" title="statement not covered" > comboboxRef: propComboboxRef,</span>
858
- <span class="cstat-no" title="statement not covered" > popupId: propPopupId,</span>
859
- <span class="cstat-no" title="statement not covered" > popupRef: propPopupRef,</span>
860
- <span class="cstat-no" title="statement not covered" > defaultVisible = false,</span>
861
- <span class="cstat-no" title="statement not covered" > disableShowOnFocus = false,</span>
862
- <span class="cstat-no" title="statement not covered" > } = options;</span>
863
- <span class="cstat-no" title="statement not covered" > const isSelect = autocomplete === "select";</span>
864
- <span class="cstat-no" title="statement not covered" ></span>
865
- <span class="cstat-no" title="statement not covered" > const {</span>
866
- <span class="cstat-no" title="statement not covered" > toggled: visible,</span>
867
- <span class="cstat-no" title="statement not covered" > enable: show,</span>
868
- <span class="cstat-no" title="statement not covered" > disable: hide,</span>
869
- <span class="cstat-no" title="statement not covered" > setToggled: setVisible,</span>
870
- <span class="cstat-no" title="statement not covered" > } = useToggle(defaultVisible);</span>
871
- <span class="cstat-no" title="statement not covered" > const popupId = useEnsuredId(propPopupId, "combobox-popup");</span>
872
- <span class="cstat-no" title="statement not covered" > const comboboxId = useEnsuredId(propComboboxId, "combobox");</span>
873
- <span class="cstat-no" title="statement not covered" > const [comboboxRef, comboboxRefCallback] = useEnsuredRef(propComboboxRef);</span>
874
- <span class="cstat-no" title="statement not covered" > const [popupRef, popupRefCallback] = useEnsuredRef(propPopupRef);</span>
875
- <span class="cstat-no" title="statement not covered" > const {</span>
876
- <span class="cstat-no" title="statement not covered" > movementProps,</span>
877
- <span class="cstat-no" title="statement not covered" > movementContext,</span>
878
- <span class="cstat-no" title="statement not covered" > currentFocusIndex,</span>
879
- <span class="cstat-no" title="statement not covered" > setActiveDescendantId,</span>
880
- <span class="cstat-no" title="statement not covered" > } = useKeyboardMovementProvider&lt;ComboboxEl&gt;({</span>
881
- <span class="cstat-no" title="statement not covered" > onFocus(event) {</span>
882
- <span class="cstat-no" title="statement not covered" > onFocus(event);</span>
883
- <span class="cstat-no" title="statement not covered" > if (disableShowOnFocus) {</span>
884
- <span class="cstat-no" title="statement not covered" > return;</span>
885
- <span class="cstat-no" title="statement not covered" > }</span>
886
- <span class="cstat-no" title="statement not covered" ></span>
887
- <span class="cstat-no" title="statement not covered" > show();</span>
888
- <span class="cstat-no" title="statement not covered" > },</span>
889
- <span class="cstat-no" title="statement not covered" > onClick(event) {</span>
890
- <span class="cstat-no" title="statement not covered" > onClick(event);</span>
891
- <span class="cstat-no" title="statement not covered" > // if (disabled || !isSelect) {</span>
892
- <span class="cstat-no" title="statement not covered" > if (disabled) {</span>
893
- <span class="cstat-no" title="statement not covered" > return;</span>
894
- <span class="cstat-no" title="statement not covered" > }</span>
895
- <span class="cstat-no" title="statement not covered" ></span>
896
- <span class="cstat-no" title="statement not covered" > // this was called so that the menu doesn't automatically close</span>
897
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
898
- <span class="cstat-no" title="statement not covered" > show();</span>
899
- <span class="cstat-no" title="statement not covered" > },</span>
900
- <span class="cstat-no" title="statement not covered" > onKeyDown(event) {</span>
901
- <span class="cstat-no" title="statement not covered" > onKeyDown(event);</span>
902
- <span class="cstat-no" title="statement not covered" > if (disabled) {</span>
903
- <span class="cstat-no" title="statement not covered" > return;</span>
904
- <span class="cstat-no" title="statement not covered" > }</span>
905
- <span class="cstat-no" title="statement not covered" ></span>
906
- <span class="cstat-no" title="statement not covered" > if (visible) {</span>
907
- <span class="cstat-no" title="statement not covered" > if (event.key === "Escape" || event.key === "Tab") {</span>
908
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
909
- <span class="cstat-no" title="statement not covered" > hide();</span>
910
- <span class="cstat-no" title="statement not covered" > }</span>
911
- <span class="cstat-no" title="statement not covered" ></span>
912
- <span class="cstat-no" title="statement not covered" > return;</span>
913
- <span class="cstat-no" title="statement not covered" > }</span>
914
- <span class="cstat-no" title="statement not covered" ></span>
915
- <span class="cstat-no" title="statement not covered" > if (isSearchableEvent(event)) {</span>
916
- <span class="cstat-no" title="statement not covered" > // event.stopPropagation();</span>
917
- <span class="cstat-no" title="statement not covered" ></span>
918
- <span class="cstat-no" title="statement not covered" > // const nextIndex = findMatchIndex({</span>
919
- <span class="cstat-no" title="statement not covered" > // value: event.key,</span>
920
- <span class="cstat-no" title="statement not covered" > // values: searchValues,</span>
921
- <span class="cstat-no" title="statement not covered" > // startIndex: event.shiftKey ? -1 : currentIndex,</span>
922
- <span class="cstat-no" title="statement not covered" > // });</span>
923
- <span class="cstat-no" title="statement not covered" ></span>
924
- <span class="cstat-no" title="statement not covered" > // if (nextIndex !== -1) {</span>
925
- <span class="cstat-no" title="statement not covered" > // triggerManualChangeEvent(inputRef.current, options[nextIndex].value);</span>
926
- <span class="cstat-no" title="statement not covered" > // }</span>
927
- <span class="cstat-no" title="statement not covered" > return;</span>
928
- <span class="cstat-no" title="statement not covered" > }</span>
929
- <span class="cstat-no" title="statement not covered" ></span>
930
- <span class="cstat-no" title="statement not covered" > switch (event.key) {</span>
931
- <span class="cstat-no" title="statement not covered" > case " ":</span>
932
- <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
933
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
934
- <span class="cstat-no" title="statement not covered" > show();</span>
935
- <span class="cstat-no" title="statement not covered" > break;</span>
936
- <span class="cstat-no" title="statement not covered" > case "Enter":</span>
937
- <span class="cstat-no" title="statement not covered" > tryToSubmitRelatedForm(event, form);</span>
938
- <span class="cstat-no" title="statement not covered" > break;</span>
939
- <span class="cstat-no" title="statement not covered" > case "Home":</span>
940
- <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
941
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
942
- <span class="cstat-no" title="statement not covered" > // if (currentIndex !== 0) {</span>
943
- <span class="cstat-no" title="statement not covered" > // triggerManualChangeEvent(inputRef.current, options[0].value);</span>
944
- <span class="cstat-no" title="statement not covered" > // }</span>
945
- <span class="cstat-no" title="statement not covered" > break;</span>
946
- <span class="cstat-no" title="statement not covered" > case "End":</span>
947
- <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
948
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
949
- <span class="cstat-no" title="statement not covered" > // if (currentIndex !== totalOptions) {</span>
950
- <span class="cstat-no" title="statement not covered" > // triggerManualChangeEvent(</span>
951
- <span class="cstat-no" title="statement not covered" > // inputRef.current,</span>
952
- <span class="cstat-no" title="statement not covered" > // options[totalOptions].value</span>
953
- <span class="cstat-no" title="statement not covered" > // );</span>
954
- <span class="cstat-no" title="statement not covered" > // }</span>
955
- <span class="cstat-no" title="statement not covered" > break;</span>
956
- <span class="cstat-no" title="statement not covered" > case "ArrowDown":</span>
957
- <span class="cstat-no" title="statement not covered" > case "ArrowUp": {</span>
958
- <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
959
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
960
- <span class="cstat-no" title="statement not covered" ></span>
961
- <span class="cstat-no" title="statement not covered" > // const increment = event.key === "ArrowDown";</span>
962
- <span class="cstat-no" title="statement not covered" > // if (currentIndex === -1 &amp;&amp; !increment) {</span>
963
- <span class="cstat-no" title="statement not covered" > // // this matches the native select behavior where it will do</span>
964
- <span class="cstat-no" title="statement not covered" > // // nothing if there is no current value</span>
965
- <span class="cstat-no" title="statement not covered" > // return;</span>
966
- <span class="cstat-no" title="statement not covered" > // }</span>
967
- <span class="cstat-no" title="statement not covered" ></span>
968
- <span class="cstat-no" title="statement not covered" > // const nextIndex = loop({</span>
969
- <span class="cstat-no" title="statement not covered" > // max: totalOptions,</span>
970
- <span class="cstat-no" title="statement not covered" > // value: currentIndex,</span>
971
- <span class="cstat-no" title="statement not covered" > // minmax: true,</span>
972
- <span class="cstat-no" title="statement not covered" > // increment,</span>
973
- <span class="cstat-no" title="statement not covered" > // });</span>
974
- <span class="cstat-no" title="statement not covered" ></span>
975
- <span class="cstat-no" title="statement not covered" > // triggerManualChangeEvent(inputRef.current, options[nextIndex].value);</span>
976
- <span class="cstat-no" title="statement not covered" > break;</span>
977
- <span class="cstat-no" title="statement not covered" > }</span>
978
- <span class="cstat-no" title="statement not covered" > }</span>
979
- <span class="cstat-no" title="statement not covered" > },</span>
980
- <span class="cstat-no" title="statement not covered" > loopable: false,</span>
981
- <span class="cstat-no" title="statement not covered" > searchable: isSelect,</span>
982
- <span class="cstat-no" title="statement not covered" > programmatic: true,</span>
983
- <span class="cstat-no" title="statement not covered" > includeDisabled: false,</span>
984
- <span class="cstat-no" title="statement not covered" > tabIndexBehavior: "virtual",</span>
985
- <span class="cstat-no" title="statement not covered" > // getDefaultFocusedIndex(focusOptions) {</span>
986
- <span class="cstat-no" title="statement not covered" > // if (typeof menuProps.getDefaultFocusedIndex === "function") {</span>
987
- <span class="cstat-no" title="statement not covered" > // return menuProps.getDefaultFocusedIndex(focusOptions);</span>
988
- <span class="cstat-no" title="statement not covered" > // }</span>
989
- <span class="cstat-no" title="statement not covered" ></span>
990
- <span class="cstat-no" title="statement not covered" > // const val = typeof value === "undefined" ? currentValue : value;</span>
991
- <span class="cstat-no" title="statement not covered" > // return options.findIndex((option) =&gt; option.value === val);</span>
992
- <span class="cstat-no" title="statement not covered" > // },</span>
993
- <span class="cstat-no" title="statement not covered" > // getFocusableElements() {</span>
994
- <span class="cstat-no" title="statement not covered" > // const menu = menuRef.current;</span>
995
- <span class="cstat-no" title="statement not covered" > // if (!menu) {</span>
996
- <span class="cstat-no" title="statement not covered" > // return [];</span>
997
- <span class="cstat-no" title="statement not covered" > // }</span>
998
- <span class="cstat-no" title="statement not covered" ></span>
999
- <span class="cstat-no" title="statement not covered" > // return [</span>
1000
- <span class="cstat-no" title="statement not covered" > // ...menu.querySelectorAll&lt;HTMLLIElement&gt;(</span>
1001
- <span class="cstat-no" title="statement not covered" > // '[role="option"]:not([aria-disabled])'</span>
1002
- <span class="cstat-no" title="statement not covered" > // ),</span>
1003
- <span class="cstat-no" title="statement not covered" > // ];</span>
1004
- <span class="cstat-no" title="statement not covered" > // },</span>
1005
- <span class="cstat-no" title="statement not covered" > });</span>
1006
- <span class="cstat-no" title="statement not covered" ></span>
1007
- <span class="cstat-no" title="statement not covered" > return {</span>
1008
- <span class="cstat-no" title="statement not covered" > show,</span>
1009
- <span class="cstat-no" title="statement not covered" > hide,</span>
1010
- <span class="cstat-no" title="statement not covered" > visible,</span>
1011
- <span class="cstat-no" title="statement not covered" > setVisible,</span>
1012
- <span class="cstat-no" title="statement not covered" > popupRef,</span>
1013
- <span class="cstat-no" title="statement not covered" > popupProps: {</span>
1014
- <span class="cstat-no" title="statement not covered" > "aria-labelledby": comboboxId,</span>
1015
- <span class="cstat-no" title="statement not covered" > id: popupId,</span>
1016
- <span class="cstat-no" title="statement not covered" > ref: popupRefCallback,</span>
1017
- <span class="cstat-no" title="statement not covered" > role: popup,</span>
1018
- <span class="cstat-no" title="statement not covered" > },</span>
1019
- <span class="cstat-no" title="statement not covered" > comboboxRef,</span>
1020
- <span class="cstat-no" title="statement not covered" > comboboxProps: {</span>
1021
- <span class="cstat-no" title="statement not covered" > ...movementProps,</span>
1022
- <span class="cstat-no" title="statement not covered" > "aria-haspopup": popup,</span>
1023
- <span class="cstat-no" title="statement not covered" > "aria-expanded": visible,</span>
1024
- <span class="cstat-no" title="statement not covered" > "aria-autocomplete": autocomplete === "select" ? undefined : autocomplete,</span>
1025
- <span class="cstat-no" title="statement not covered" > id: comboboxId,</span>
1026
- <span class="cstat-no" title="statement not covered" > ref: comboboxRefCallback,</span>
1027
- <span class="cstat-no" title="statement not covered" > role: "combobox",</span>
1028
- <span class="cstat-no" title="statement not covered" > },</span>
1029
- <span class="cstat-no" title="statement not covered" > movementProps,</span>
1030
- <span class="cstat-no" title="statement not covered" > movementContext,</span>
1031
- <span class="cstat-no" title="statement not covered" > currentFocusIndex,</span>
1032
- <span class="cstat-no" title="statement not covered" > setActiveDescendantId,</span>
1033
- <span class="cstat-no" title="statement not covered" > };</span>
1034
- <span class="cstat-no" title="statement not covered" >}</span>
1288
+ /**
1289
+ * @remarks \@since 6.0.0
1290
+ */
1291
+ export function useCombobox&lt;
1292
+ ComboboxEl extends HTMLElement = HTMLInputElement,
1293
+ PopupEl extends HTMLElement = HTMLElement,
1294
+ &gt;(
1295
+ options: ComboboxOptions&lt;ComboboxEl, PopupEl&gt;
1296
+ ): ComboboxImplementation&lt;ComboboxEl, PopupEl&gt; {
1297
+ const {
1298
+ form,
1299
+ popup = "listbox",
1300
+ onClick = noop,
1301
+ onFocus,
1302
+ onKeyDown,
1303
+ searchable,
1304
+ isNegativeOneAllowed,
1305
+ loopable,
1306
+ disabled,
1307
+ comboboxId: propComboboxId,
1308
+ comboboxRef: propComboboxRef,
1309
+ popupId: propPopupId,
1310
+ popupRef: propPopupRef,
1311
+ defaultVisible = false,
1312
+ onFocusChange = noop,
1313
+ extendKeyDown = noop,
1314
+ getFocusableElements = getNonDisabledOptions,
1315
+ getEnterDefaultFocusedIndex,
1316
+ getDefaultFocusedIndex,
1317
+ } = options;
1318
+ &nbsp;
1319
+ const {
1320
+ toggled: visible,
1321
+ enable: show,
1322
+ disable: hide,
1323
+ setToggled: setVisible,
1324
+ } = useToggle(defaultVisible);
1325
+ const popupId = useEnsuredId(propPopupId, "combobox-popup");
1326
+ const comboboxId = useEnsuredId(propComboboxId, "combobox");
1327
+ const [comboboxRef, comboboxRefCallback] = useEnsuredRef(propComboboxRef);
1328
+ const [popupRef, popupRefCallback] = useEnsuredRef(propPopupRef);
1329
+ const focusLast = useRef(false);
1330
+ const {
1331
+ movementProps,
1332
+ movementContext,
1333
+ currentFocusIndex,
1334
+ setActiveDescendantId,
1335
+ } = useKeyboardMovementProvider&lt;ComboboxEl&gt;({
1336
+ onFocus,
1337
+ onKeyDown,
1338
+ onClick(event) {
1339
+ onClick(event);
1340
+ if (disabled) {
1341
+ return;
1342
+ }
1343
+ &nbsp;
1344
+ show();
1345
+ },
1346
+ extendKeyDown(movementData) {
1347
+ extendKeyDown({
1348
+ ...movementData,
1349
+ show,
1350
+ hide,
1351
+ visible,
1352
+ focusLast,
1353
+ });
1354
+ const { event } = movementData;
1355
+ if (event.isPropagationStopped()) {
1356
+ return;
1357
+ }
1358
+ &nbsp;
1359
+ if (visible) {
1360
+ switch (event.key) {
1361
+ case "Tab":
1362
+ case "Escape":
1363
+ event.stopPropagation();
1364
+ hide();
1365
+ break;
1366
+ case "Enter":
1367
+ event.preventDefault();
1368
+ break;
1369
+ }
1370
+ &nbsp;
1371
+ // while visible, always use the default keyboard movement behavior
1372
+ return;
1373
+ }
1374
+ &nbsp;
1375
+ switch (event.key) {
1376
+ case "ArrowUp":
1377
+ case "ArrowDown":
1378
+ event.preventDefault();
1379
+ event.stopPropagation();
1380
+ focusLast.current = event.key === "ArrowUp";
1381
+ show();
1382
+ break;
1383
+ case "Enter":
1384
+ tryToSubmitRelatedForm(event, form);
1385
+ break;
1386
+ }
1387
+ },
1388
+ disabled,
1389
+ loopable,
1390
+ searchable,
1391
+ onFocusChange,
1392
+ programmatic: true,
1393
+ includeDisabled: false,
1394
+ tabIndexBehavior: "virtual",
1395
+ getFocusableElements(container, programmatic) {
1396
+ const popup = popupRef.current;
1397
+ if (!popup) {
1398
+ return [];
1399
+ }
1400
+ &nbsp;
1401
+ return getFocusableElements(<span class="branch-0 cbranch-no" title="branch not covered" >popup || container, p</span>rogrammatic);
1402
+ },
1403
+ isNegativeOneAllowed,
1404
+ getDefaultFocusedIndex,
1405
+ });
1406
+ const getTransitionCallbacks = (
1407
+ options: ComboboxTransitionOptions = {}
1408
+ ): Required&lt;ComboboxTransitionCallbacks&gt; =&gt; {
1409
+ const { onEntered, onEntering, onExiting, onExited, disableTransition } =
1410
+ options;
1411
+ &nbsp;
1412
+ const handleEntering =
1413
+ (callback: TransitionEnterHandler = noop, skipped: boolean) =&gt;
1414
+ (appearing: boolean) =&gt; {
1415
+ callback(appearing);
1416
+ &nbsp;
1417
+ const popup = popupRef.current;
1418
+ if (!popup || skipped) {
1419
+ return;
1420
+ }
1421
+ &nbsp;
1422
+ const focusables = getFocusableElements(popup, true);
1423
+ const index = getEnterDefaultFocusedIndex({
1424
+ focusLast: focusLast.current,
1425
+ focusables,
1426
+ currentFocusIndex: currentFocusIndex.current,
1427
+ });
1428
+ focusLast.current = false;
1429
+ currentFocusIndex.current = index;
1430
+ &nbsp;
1431
+ const option = focusables[index];
1432
+ if (!option) {
1433
+ return;
1434
+ }
1435
+ &nbsp;
1436
+ onFocusChange({
1437
+ index,
1438
+ element: option,
1439
+ });
1440
+ option.scrollIntoView({ block: "nearest" });
1441
+ setActiveDescendantId(option.id<span class="branch-0 cbranch-no" title="branch not covered" > || "");</span>
1442
+ };
1443
+ const handleExiting =
1444
+ (callback: TransitionExitHandler = noop, skipped: boolean) =&gt;
1445
+ (): void =&gt; {
1446
+ callback();
1447
+ &nbsp;
1448
+ if (!skipped) {
1449
+ // since the menu is unmounted or set to hidden while not visible, need
1450
+ // to clear the aria-activedescendant and current focus index when
1451
+ // hiding
1452
+ currentFocusIndex.current = -1;
1453
+ setActiveDescendantId("");
1454
+ }
1455
+ };
1456
+ &nbsp;
1457
+ const isTransitionCompleteSkipped =
1458
+ !disableTransition &amp;&amp; !TRANSITION_CONFIG.disabled;
1459
+ &nbsp;
1460
+ return {
1461
+ onEntering: handleEntering(onEntering, false),
1462
+ onEntered: handleEntering(onEntered, isTransitionCompleteSkipped),
1463
+ onExiting: handleExiting(onExiting, false),
1464
+ onExited: handleExiting(onExited, isTransitionCompleteSkipped),
1465
+ };
1466
+ };
1467
+ &nbsp;
1468
+ const popupProps: ComboboxWidgetPopupProps&lt;PopupEl&gt; = {
1469
+ id: popupId,
1470
+ ref: popupRefCallback,
1471
+ role: popup,
1472
+ };
1473
+ &nbsp;
1474
+ return {
1475
+ show,
1476
+ hide,
1477
+ visible,
1478
+ setVisible,
1479
+ focusLast,
1480
+ popupRef,
1481
+ popupProps,
1482
+ comboboxRef,
1483
+ comboboxProps: {
1484
+ ...movementProps,
1485
+ "aria-controls": popupId,
1486
+ "aria-disabled": disabled || undefined,
1487
+ "aria-expanded": visible,
1488
+ "aria-haspopup": popup,
1489
+ id: comboboxId,
1490
+ ref: comboboxRefCallback,
1491
+ role: "combobox",
1492
+ },
1493
+ movementProps,
1494
+ movementContext,
1495
+ currentFocusIndex,
1496
+ setActiveDescendantId,
1497
+ getTransitionCallbacks,
1498
+ getMenuProps(props = {}) {
1499
+ const { sheetProps, disableTransition } = props;
1500
+ return {
1501
+ anchor: BELOW_CENTER_ANCHOR,
1502
+ width: "min",
1503
+ ...props,
1504
+ ...popupProps,
1505
+ fixedTo: comboboxRef,
1506
+ visible,
1507
+ onRequestClose: hide,
1508
+ ...getTransitionCallbacks(props),
1509
+ sheetProps: {
1510
+ ...sheetProps,
1511
+ ...getTransitionCallbacks({
1512
+ ...sheetProps,
1513
+ disableTransition:
1514
+ <span class="branch-0 cbranch-no" title="branch not covered" > sheetProps?.disableTransition ?? d</span>isableTransition,
1515
+ }),
1516
+ },
1517
+ };
1518
+ },
1519
+ };
1520
+ }
1035
1521
  &nbsp;</pre></td></tr></table></pre>
1036
1522
 
1037
1523
  <div class='push'></div><!-- for sticky footer -->
@@ -1039,7 +1525,7 @@ export <span class="fstat-no" title="function not covered" >function useCombobox
1039
1525
  <div class='footer quiet pad2 space-top1 center small'>
1040
1526
  Code coverage generated by
1041
1527
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1042
- at 2023-05-17T02:41:05.012Z
1528
+ at 2024-03-03T14:43:04.971Z
1043
1529
  </div>
1044
1530
  <script src="../../prettify.js"></script>
1045
1531
  <script>