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

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 (1198) hide show
  1. package/.stylelintrc.json +14 -0
  2. package/.turbo/turbo-build.log +11 -7
  3. package/.turbo/turbo-lint.log +12 -12
  4. package/.turbo/turbo-test.log +5512 -166
  5. package/.turbo/turbo-typecheck.log +4 -4
  6. package/CHANGELOG.md +177 -0
  7. package/README.md +39 -24
  8. package/coverage/clover.xml +2 -2
  9. package/coverage/lcov-report/AutoComplete.tsx.html +283 -0
  10. package/coverage/lcov-report/Avatar.tsx.html +472 -0
  11. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +166 -112
  12. package/coverage/lcov-report/IconRotator.tsx.html +322 -0
  13. package/coverage/lcov-report/ListItem.tsx.html +892 -0
  14. package/coverage/lcov-report/ListItemLink.tsx.html +616 -0
  15. package/coverage/lcov-report/MenuItemCheckbox.tsx.html +223 -0
  16. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +178 -232
  17. package/coverage/lcov-report/MenuItemRadio.tsx.html +436 -0
  18. package/coverage/lcov-report/Portal.tsx.html +223 -0
  19. package/coverage/lcov-report/PortalContainerProvider.tsx.html +367 -0
  20. package/coverage/lcov-report/RootHtml.tsx.html +370 -0
  21. package/coverage/lcov-report/Select.tsx.html +1411 -0
  22. package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +613 -0
  23. package/coverage/lcov-report/Snackbar.tsx.html +360 -402
  24. package/coverage/lcov-report/SrOnly.tsx.html +328 -0
  25. package/coverage/lcov-report/Tab.tsx.html +261 -147
  26. package/coverage/lcov-report/Toast.tsx.html +868 -0
  27. package/coverage/lcov-report/ToastManager.tsx.html +1783 -0
  28. package/coverage/lcov-report/ToastManagerProvider.tsx.html +216 -216
  29. package/coverage/lcov-report/TreeGroup.tsx.html +313 -0
  30. package/coverage/lcov-report/Typography.tsx.html +1027 -0
  31. package/coverage/lcov-report/app-bar/AppBar.tsx.html +178 -28
  32. package/coverage/lcov-report/app-bar/index.html +7 -7
  33. package/coverage/lcov-report/autocomplete/AutoComplete.tsx.html +283 -0
  34. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +475 -0
  35. package/coverage/lcov-report/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  36. package/coverage/lcov-report/autocomplete/index.html +221 -0
  37. package/coverage/lcov-report/autocomplete/useAutoComplete.ts.html +775 -0
  38. package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +1273 -0
  39. package/coverage/lcov-report/autocomplete/useAutocompleteAgain.ts.html +829 -0
  40. package/coverage/lcov-report/autocomplete/useAutocompletev2.ts.html +715 -0
  41. package/coverage/lcov-report/autocomplete/useInlineAutoComplete.ts.html +340 -0
  42. package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +430 -0
  43. package/coverage/lcov-report/autocomplete/useInlineSelection.ts.html +310 -0
  44. package/coverage/lcov-report/autocomplete/utils.ts.html +196 -0
  45. package/coverage/lcov-report/avatar/Avatar.tsx.html +162 -99
  46. package/coverage/lcov-report/avatar/index.html +19 -34
  47. package/coverage/lcov-report/avatar/styles.ts.html +1 -1
  48. package/coverage/lcov-report/button/Button.tsx.html +85 -85
  49. package/coverage/lcov-report/button/TooltippedButton.tsx.html +445 -0
  50. package/coverage/lcov-report/button/index.html +12 -12
  51. package/coverage/lcov-report/card/Card.tsx.html +349 -0
  52. package/coverage/lcov-report/card/CardContent.tsx.html +223 -0
  53. package/coverage/lcov-report/card/ClickableCard.tsx.html +400 -0
  54. package/coverage/lcov-report/card/index.html +21 -21
  55. package/coverage/lcov-report/card/styles.ts.html +428 -392
  56. package/coverage/lcov-report/cssUtils.ts.html +86 -59
  57. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +36 -36
  58. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +26 -26
  59. package/coverage/lcov-report/dialog/index.html +34 -19
  60. package/coverage/lcov-report/draggable/index.html +21 -36
  61. package/coverage/lcov-report/draggable/useDraggable.ts.html +377 -368
  62. package/coverage/lcov-report/draggable/utils.ts.html +96 -195
  63. package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +211 -0
  64. package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +12 -15
  65. package/coverage/lcov-report/expansion-panel/index.html +34 -19
  66. package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +928 -0
  67. package/coverage/lcov-report/form/AutoComplete.tsx.html +283 -0
  68. package/coverage/lcov-report/form/Form.tsx.html +22 -22
  69. package/coverage/lcov-report/form/Label.tsx.html +442 -0
  70. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +2 -2
  71. package/coverage/lcov-report/form/OptGroup.tsx.html +169 -166
  72. package/coverage/lcov-report/form/Option.tsx.html +727 -0
  73. package/coverage/lcov-report/form/ResizingTextArea.tsx.html +442 -0
  74. package/coverage/lcov-report/form/ResizingTextAreaWrapper.tsx.html +310 -0
  75. package/coverage/lcov-report/form/Select.tsx.html +1456 -0
  76. package/coverage/lcov-report/form/SelectOriginal.tsx.html +1630 -0
  77. package/coverage/lcov-report/form/SelectV2.tsx.html +1024 -0
  78. package/coverage/lcov-report/form/SelectedOption.tsx.html +250 -0
  79. package/coverage/lcov-report/form/SimpleTextArea.tsx.html +727 -0
  80. package/coverage/lcov-report/form/Slider.tsx.html +163 -40
  81. package/coverage/lcov-report/form/TextArea.tsx.html +596 -740
  82. package/coverage/lcov-report/form/TextArea2.tsx.html +985 -0
  83. package/coverage/lcov-report/form/TextAreaBackup.tsx.html +1006 -0
  84. package/coverage/lcov-report/form/TextField.tsx.html +156 -234
  85. package/coverage/lcov-report/form/index.html +111 -21
  86. package/coverage/lcov-report/form/selectUtils.ts.html +188 -221
  87. package/coverage/lcov-report/form/textAreaStyles.ts.html +8 -11
  88. package/coverage/lcov-report/form/useAutoComplete.ts.html +787 -0
  89. package/coverage/lcov-report/form/useCombobox.ts.html +454 -460
  90. package/coverage/lcov-report/form/useComboboxList.ts.html +108 -93
  91. package/coverage/lcov-report/form/useFormReset.ts.html +229 -0
  92. package/coverage/lcov-report/form/useInlineAutoComplete.ts.html +379 -0
  93. package/coverage/lcov-report/form/useResizingTextArea.ts.html +631 -0
  94. package/coverage/lcov-report/form/useResizingTextArea2.ts.html +631 -0
  95. package/coverage/lcov-report/form/useSelectCombobox.ts.html +499 -0
  96. package/coverage/lcov-report/form/utils.ts.html +209 -170
  97. package/coverage/lcov-report/getListItemHeight.ts.html +298 -0
  98. package/coverage/lcov-report/icon/FontIcon.tsx.html +64 -64
  99. package/coverage/lcov-report/icon/MaterialIcon.tsx.html +235 -0
  100. package/coverage/lcov-report/icon/index.html +19 -19
  101. package/coverage/lcov-report/index.html +1 -1
  102. package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +679 -0
  103. package/coverage/lcov-report/interaction/config.ts.html +181 -0
  104. package/coverage/lcov-report/interaction/index.html +33 -18
  105. package/coverage/lcov-report/list/List.tsx.html +490 -0
  106. package/coverage/lcov-report/list/ListItem.tsx.html +886 -0
  107. package/coverage/lcov-report/list/ListItemAddon.tsx.html +286 -0
  108. package/coverage/lcov-report/list/ListItemChildren.tsx.html +445 -0
  109. package/coverage/lcov-report/list/ListItemLink.tsx.html +5 -5
  110. package/coverage/lcov-report/list/index.html +81 -6
  111. package/coverage/lcov-report/list/listItemStyles.ts.html +703 -0
  112. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  113. package/coverage/lcov-report/media-queries/index.html +1 -1
  114. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +188 -188
  115. package/coverage/lcov-report/menu/Menu.tsx.html +276 -252
  116. package/coverage/lcov-report/menu/MenuItem.tsx.html +292 -0
  117. package/coverage/lcov-report/menu/MenuItemCircularProgress.tsx.html +433 -0
  118. package/coverage/lcov-report/menu/MenuVisibilityProvider.tsx.html +48 -33
  119. package/coverage/lcov-report/menu/index.html +14 -44
  120. package/coverage/lcov-report/menu/useContextMenu.ts.html +490 -0
  121. package/coverage/lcov-report/menuItemInputToggleStyles.ts.html +319 -0
  122. package/coverage/lcov-report/movement/index.html +19 -19
  123. package/coverage/lcov-report/movement/useKeyboardMovementProvider.ts.html +422 -383
  124. package/coverage/lcov-report/positioning/constants.ts.html +463 -0
  125. package/coverage/lcov-report/positioning/index.html +30 -30
  126. package/coverage/lcov-report/positioning/useFixedPositioning.ts.html +1321 -0
  127. package/coverage/lcov-report/progress/CircularProgress.tsx.html +184 -184
  128. package/coverage/lcov-report/progress/index.html +19 -34
  129. package/coverage/lcov-report/searching/caseInsensitive.ts.html +685 -0
  130. package/coverage/lcov-report/searching/fuzzy.ts.html +610 -0
  131. package/coverage/lcov-report/searching/index.html +146 -0
  132. package/coverage/lcov-report/searching/toSearchQuery.ts.html +145 -0
  133. package/coverage/lcov-report/searching/useFuzzyMatch.ts.html +211 -0
  134. package/coverage/lcov-report/searching/utils.ts.html +244 -0
  135. package/coverage/lcov-report/sheet/index.html +8 -8
  136. package/coverage/lcov-report/sheet/styles.ts.html +376 -0
  137. package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +400 -0
  138. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +55 -97
  139. package/coverage/lcov-report/snackbar/Toast.tsx.html +546 -501
  140. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +269 -269
  141. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +23 -23
  142. package/coverage/lcov-report/snackbar/index.html +59 -14
  143. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +12 -87
  144. package/coverage/lcov-report/snackbar/toastStyles.ts.html +206 -146
  145. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +226 -0
  146. package/coverage/lcov-report/snackbarStyles.ts.html +46 -121
  147. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  148. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  149. package/coverage/lcov-report/src/RootHtml.tsx.html +370 -0
  150. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  151. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +143 -23
  152. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  153. package/coverage/lcov-report/src/app-bar/index.html +5 -5
  154. package/coverage/lcov-report/src/autocomplete/Autocomplete.tsx.html +364 -0
  155. package/coverage/lcov-report/src/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  156. package/coverage/lcov-report/src/autocomplete/index.html +221 -0
  157. package/coverage/lcov-report/src/autocomplete/useAutocomplete.ts.html +637 -0
  158. package/coverage/lcov-report/src/autocomplete/useAutocompleteAgain.ts.html +829 -0
  159. package/coverage/lcov-report/src/autocomplete/useAutocompletev2.ts.html +715 -0
  160. package/coverage/lcov-report/src/autocomplete/useInlineAutocomplete.ts.html +430 -0
  161. package/coverage/lcov-report/src/autocomplete/useInlineSelection.ts.html +241 -0
  162. package/coverage/lcov-report/src/autocomplete/utils.ts.html +196 -0
  163. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +2 -2
  164. package/coverage/lcov-report/src/avatar/index.html +1 -1
  165. package/coverage/lcov-report/src/avatar/styles.ts.html +1 -1
  166. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  167. package/coverage/lcov-report/src/badge/index.html +1 -1
  168. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  169. package/coverage/lcov-report/src/box/index.html +23 -8
  170. package/coverage/lcov-report/src/box/styles.ts.html +46 -46
  171. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +1 -1
  172. package/coverage/lcov-report/src/button/Button.tsx.html +87 -87
  173. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  174. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +11 -11
  175. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +445 -0
  176. package/coverage/lcov-report/src/button/buttonStyles.ts.html +52 -52
  177. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  178. package/coverage/lcov-report/src/button/index.html +8 -23
  179. package/coverage/lcov-report/src/card/Card.tsx.html +37 -31
  180. package/coverage/lcov-report/src/card/CardContent.tsx.html +4 -4
  181. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  182. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  183. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  184. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  185. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +400 -0
  186. package/coverage/lcov-report/src/card/index.html +24 -9
  187. package/coverage/lcov-report/src/card/styles.ts.html +58 -31
  188. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  189. package/coverage/lcov-report/src/chip/index.html +7 -7
  190. package/coverage/lcov-report/src/chip/styles.ts.html +9 -12
  191. package/coverage/lcov-report/src/cssUtils.ts.html +53 -53
  192. package/coverage/lcov-report/src/delegateEvent.ts.html +109 -109
  193. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +1 -1
  194. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +1 -1
  195. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +1 -1
  196. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +1 -1
  197. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +1 -1
  198. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +1 -1
  199. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  200. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +1 -1
  201. package/coverage/lcov-report/src/dialog/index.html +129 -9
  202. package/coverage/lcov-report/src/dialog/styles.ts.html +1 -1
  203. package/coverage/lcov-report/src/divider/Divider.tsx.html +4 -7
  204. package/coverage/lcov-report/src/divider/index.html +5 -5
  205. package/coverage/lcov-report/src/divider/styles.ts.html +1 -1
  206. package/coverage/lcov-report/src/draggable/index.html +27 -27
  207. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +47 -44
  208. package/coverage/lcov-report/src/draggable/utils.ts.html +29 -131
  209. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  210. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  211. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +1 -1
  212. package/coverage/lcov-report/src/expansion-panel/index.html +8 -8
  213. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  214. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +36 -24
  215. package/coverage/lcov-report/src/focus/index.html +1 -1
  216. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +1 -1
  217. package/coverage/lcov-report/src/focus/utils.ts.html +1 -1
  218. package/coverage/lcov-report/src/form/AutoComplete.tsx.html +283 -0
  219. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  220. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  221. package/coverage/lcov-report/src/form/FileInput.tsx.html +1 -1
  222. package/coverage/lcov-report/src/form/Form.tsx.html +11 -8
  223. package/coverage/lcov-report/src/form/FormMessage.tsx.html +1 -1
  224. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +5 -5
  225. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  226. package/coverage/lcov-report/src/form/InputToggle.tsx.html +110 -110
  227. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +63 -63
  228. package/coverage/lcov-report/src/form/Label.tsx.html +98 -98
  229. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  230. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +3 -3
  231. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +1 -1
  232. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +178 -232
  233. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +3 -3
  234. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  235. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +1 -1
  236. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +1 -1
  237. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  238. package/coverage/lcov-report/src/form/Option.tsx.html +1 -1
  239. package/coverage/lcov-report/src/form/Password.tsx.html +1 -1
  240. package/coverage/lcov-report/src/form/Radio.tsx.html +3 -3
  241. package/coverage/lcov-report/src/form/ResizingTextArea.tsx.html +988 -0
  242. package/coverage/lcov-report/src/form/ResizingTextAreaWrapper.tsx.html +310 -0
  243. package/coverage/lcov-report/src/form/Select.tsx.html +894 -1122
  244. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  245. package/coverage/lcov-report/src/form/SimpleTextArea.tsx.html +694 -0
  246. package/coverage/lcov-report/src/form/Slider.tsx.html +1 -1
  247. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  248. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  249. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  250. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +1 -1
  251. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  252. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +1 -1
  253. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +1 -1
  254. package/coverage/lcov-report/src/form/Switch.tsx.html +1 -1
  255. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +1 -1
  256. package/coverage/lcov-report/src/form/TextArea.tsx.html +646 -580
  257. package/coverage/lcov-report/src/form/TextArea2.tsx.html +985 -0
  258. package/coverage/lcov-report/src/form/TextAreaBackup.tsx.html +985 -0
  259. package/coverage/lcov-report/src/form/TextField.tsx.html +3 -3
  260. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +1 -1
  261. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +1 -1
  262. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +8 -8
  263. package/coverage/lcov-report/src/form/fileUtils.ts.html +1 -1
  264. package/coverage/lcov-report/src/form/formConfig.ts.html +1 -1
  265. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +1 -1
  266. package/coverage/lcov-report/src/form/index.html +81 -21
  267. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
  268. package/coverage/lcov-report/src/form/menuItemInputToggleStyles.ts.html +319 -0
  269. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +1 -1
  270. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  271. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  272. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  273. package/coverage/lcov-report/src/form/selectUtils.ts.html +1 -1
  274. package/coverage/lcov-report/src/form/sliderUtils.ts.html +1 -1
  275. package/coverage/lcov-report/src/form/switchStyles.ts.html +1 -1
  276. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
  277. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  278. package/coverage/lcov-report/src/form/useAutoComplete.ts.html +787 -0
  279. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +1 -1
  280. package/coverage/lcov-report/src/form/useCombobox.ts.html +943 -457
  281. package/coverage/lcov-report/src/form/useEditableCombobox.ts.html +502 -0
  282. package/coverage/lcov-report/src/form/useFileUpload.ts.html +1 -1
  283. package/coverage/lcov-report/src/form/useInlineAutoComplete.ts.html +109 -0
  284. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +1 -1
  285. package/coverage/lcov-report/src/form/useNumberField.ts.html +1 -1
  286. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +47 -47
  287. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +1 -1
  288. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +405 -294
  289. package/coverage/lcov-report/src/form/useSelectCombobox.ts.html +295 -0
  290. package/coverage/lcov-report/src/form/useSlider.ts.html +1 -1
  291. package/coverage/lcov-report/src/form/useTextField.ts.html +1 -1
  292. package/coverage/lcov-report/src/form/utils.ts.html +200 -170
  293. package/coverage/lcov-report/src/form/validation.ts.html +1 -1
  294. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  295. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +98 -98
  296. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +19 -19
  297. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +28 -28
  298. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +5 -8
  299. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +1 -1
  300. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +1 -1
  301. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  302. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +51 -51
  303. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +10 -10
  304. package/coverage/lcov-report/src/icon/index.html +10 -145
  305. package/coverage/lcov-report/src/icon/material.ts.html +1 -1
  306. package/coverage/lcov-report/src/icon/materialConfig.ts.html +1 -1
  307. package/coverage/lcov-report/src/icon/styles.ts.html +38 -38
  308. package/coverage/lcov-report/src/index.html +10 -10
  309. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +1 -1
  310. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +1 -1
  311. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +87 -87
  312. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  313. package/coverage/lcov-report/src/interaction/index.html +1 -1
  314. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +123 -123
  315. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +19 -19
  316. package/coverage/lcov-report/src/interaction/utils.ts.html +1 -1
  317. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  318. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
  319. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  320. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  321. package/coverage/lcov-report/src/layout/index.html +15 -15
  322. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
  323. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  324. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  325. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  326. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  327. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +20 -32
  328. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  329. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  330. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  331. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  332. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +1 -1
  333. package/coverage/lcov-report/src/link/Link.tsx.html +1 -1
  334. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  335. package/coverage/lcov-report/src/link/index.html +1 -1
  336. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  337. package/coverage/lcov-report/src/list/List.tsx.html +1 -1
  338. package/coverage/lcov-report/src/list/ListItem.tsx.html +158 -137
  339. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +45 -39
  340. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +88 -82
  341. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +5 -5
  342. package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
  343. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  344. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +44 -47
  345. package/coverage/lcov-report/src/list/index.html +13 -13
  346. package/coverage/lcov-report/src/list/listItemStyles.ts.html +102 -72
  347. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +54 -54
  348. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  349. package/coverage/lcov-report/src/media-queries/index.html +1 -1
  350. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +28 -28
  351. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +1 -1
  352. package/coverage/lcov-report/src/menu/Menu.tsx.html +4 -4
  353. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  354. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +1 -1
  355. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  356. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  357. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +1 -1
  358. package/coverage/lcov-report/src/menu/MenuItemCircularProgress.tsx.html +433 -0
  359. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  360. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +1 -1
  361. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +1 -1
  362. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  363. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  364. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  365. package/coverage/lcov-report/src/menu/index.html +13 -238
  366. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  367. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  368. package/coverage/lcov-report/src/menu/utils.ts.html +1 -1
  369. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  370. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  371. package/coverage/lcov-report/src/movement/index.html +17 -62
  372. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +3 -3
  373. package/coverage/lcov-report/src/movement/utils.ts.html +143 -119
  374. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +1 -1
  375. package/coverage/lcov-report/src/overlay/index.html +1 -1
  376. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +1 -1
  377. package/coverage/lcov-report/src/portal/Portal.tsx.html +7 -7
  378. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +59 -35
  379. package/coverage/lcov-report/src/portal/index.html +7 -7
  380. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  381. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +47 -47
  382. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +55 -55
  383. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +89 -89
  384. package/coverage/lcov-report/src/positioning/index.html +1 -1
  385. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +193 -193
  386. package/coverage/lcov-report/src/positioning/utils.ts.html +59 -59
  387. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +83 -83
  388. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +3 -3
  389. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  390. package/coverage/lcov-report/src/progress/index.html +20 -5
  391. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  392. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  393. package/coverage/lcov-report/src/responsive-item/index.html +1 -1
  394. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  395. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  396. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +1 -1
  397. package/coverage/lcov-report/src/scroll/index.html +1 -1
  398. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +1 -1
  399. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +1 -1
  400. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +1 -1
  401. package/coverage/lcov-report/src/segmented-button/index.html +1 -1
  402. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +1 -1
  403. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  404. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  405. package/coverage/lcov-report/src/sheet/index.html +5 -5
  406. package/coverage/lcov-report/src/sheet/styles.ts.html +45 -48
  407. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +80 -80
  408. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +21 -45
  409. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +108 -93
  410. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  411. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +1 -1
  412. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +48 -48
  413. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +278 -275
  414. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +6 -6
  415. package/coverage/lcov-report/src/snackbar/index.html +19 -19
  416. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +15 -15
  417. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +14 -14
  418. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +27 -27
  419. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  420. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +142 -142
  421. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +88 -88
  422. package/coverage/lcov-report/src/suspense/index.html +36 -21
  423. package/coverage/lcov-report/src/table/Table.tsx.html +45 -114
  424. package/coverage/lcov-report/src/table/TableBody.tsx.html +43 -43
  425. package/coverage/lcov-report/src/table/TableCell.tsx.html +109 -298
  426. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +81 -27
  427. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +16 -10
  428. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +20 -20
  429. package/coverage/lcov-report/src/table/TableContainer.tsx.html +7 -28
  430. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  431. package/coverage/lcov-report/src/table/TableFooter.tsx.html +64 -43
  432. package/coverage/lcov-report/src/table/TableHeader.tsx.html +41 -92
  433. package/coverage/lcov-report/src/table/TableRadio.tsx.html +676 -0
  434. package/coverage/lcov-report/src/table/TableRow.tsx.html +38 -119
  435. package/coverage/lcov-report/src/table/index.html +151 -46
  436. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +334 -0
  437. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +142 -0
  438. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +166 -0
  439. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +172 -0
  440. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +169 -0
  441. package/coverage/lcov-report/src/table/tableStyles.ts.html +157 -0
  442. package/coverage/lcov-report/src/tabs/Tab.tsx.html +263 -143
  443. package/coverage/lcov-report/src/tabs/TabList.tsx.html +1 -1
  444. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +1 -1
  445. package/coverage/lcov-report/src/tabs/index.html +25 -25
  446. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +37 -7
  447. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +1 -1
  448. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +2 -2
  449. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +64 -28
  450. package/coverage/lcov-report/src/tabs/useTabList.ts.html +44 -38
  451. package/coverage/lcov-report/src/tabs/useTabs.ts.html +1 -1
  452. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  453. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  454. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +402 -261
  455. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +18 -6
  456. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  457. package/coverage/lcov-report/src/test-utils/index.html +12 -117
  458. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +9 -9
  459. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +55 -55
  460. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  461. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  462. package/coverage/lcov-report/src/test-utils/polyfills/TextDecoder.ts.html +106 -0
  463. package/coverage/lcov-report/src/test-utils/polyfills/TextEncoder.ts.html +100 -0
  464. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  465. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  466. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  467. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  468. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  469. package/coverage/lcov-report/src/test-utils/root-html-environment.ts.html +85 -0
  470. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  471. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  472. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +1 -1
  473. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  474. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  475. package/coverage/lcov-report/src/theme/index.html +1 -1
  476. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +25 -25
  477. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  478. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  479. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  480. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  481. package/coverage/lcov-report/src/theme/utils.ts.html +1 -1
  482. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +62 -62
  483. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +3 -3
  484. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  485. package/coverage/lcov-report/src/tooltip/index.html +9 -9
  486. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +12 -12
  487. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +243 -222
  488. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +27 -27
  489. package/coverage/lcov-report/src/tooltip/utils.ts.html +22 -22
  490. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  491. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  492. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  493. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  494. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +374 -338
  495. package/coverage/lcov-report/src/transition/Slide.tsx.html +1 -1
  496. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  497. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +1 -1
  498. package/coverage/lcov-report/src/transition/config.ts.html +5 -5
  499. package/coverage/lcov-report/src/transition/index.html +49 -34
  500. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  501. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +400 -0
  502. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +68 -68
  503. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  504. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +10 -64
  505. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  506. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  507. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  508. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +607 -562
  509. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +1 -1
  510. package/coverage/lcov-report/src/transition/useTransition.ts.html +232 -232
  511. package/coverage/lcov-report/src/transition/utils.ts.html +45 -45
  512. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +18 -6
  513. package/coverage/lcov-report/src/tree/Tree.tsx.html +20 -8
  514. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +1 -1
  515. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +7 -10
  516. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +1 -1
  517. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +1 -1
  518. package/coverage/lcov-report/src/tree/index.html +16 -196
  519. package/coverage/lcov-report/src/tree/styles.ts.html +4 -31
  520. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  521. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  522. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +1 -1
  523. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +87 -87
  524. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  525. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  526. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +12 -12
  527. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  528. package/coverage/lcov-report/src/typography/Typography.tsx.html +94 -94
  529. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +1 -1
  530. package/coverage/lcov-report/src/typography/index.html +1 -1
  531. package/coverage/lcov-report/src/useAsyncAction.ts.html +1 -1
  532. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +246 -240
  533. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  534. package/coverage/lcov-report/src/useElementSize.ts.html +334 -0
  535. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  536. package/coverage/lcov-report/src/useEnsuredRef.ts.html +14 -14
  537. package/coverage/lcov-report/src/useEnsuredState.ts.html +16 -16
  538. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  539. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +1 -1
  540. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  541. package/coverage/lcov-report/src/useLocalStorage.ts.html +1 -1
  542. package/coverage/lcov-report/src/useOrientation.ts.html +30 -30
  543. package/coverage/lcov-report/src/usePageInactive.ts.html +30 -30
  544. package/coverage/lcov-report/src/useResizeListener.ts.html +38 -32
  545. package/coverage/lcov-report/src/useResizeObserver.ts.html +133 -244
  546. package/coverage/lcov-report/src/useThrottledFunction.ts.html +57 -51
  547. package/coverage/lcov-report/src/useToggle.ts.html +1 -1
  548. package/coverage/lcov-report/src/useUnmounted.ts.html +1 -1
  549. package/coverage/lcov-report/src/useWindowSize.ts.html +124 -94
  550. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  551. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  552. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  553. package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
  554. package/coverage/lcov-report/src/utils/filters.ts.html +357 -84
  555. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  556. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +163 -0
  557. package/coverage/lcov-report/src/utils/getPercentage.ts.html +9 -9
  558. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +66 -87
  559. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +7 -7
  560. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  561. package/coverage/lcov-report/src/utils/index.html +13 -253
  562. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +1 -1
  563. package/coverage/lcov-report/src/utils/isValidNumber.ts.html +118 -0
  564. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  565. package/coverage/lcov-report/src/utils/nearest.ts.html +21 -21
  566. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +18 -18
  567. package/coverage/lcov-report/src/utils/randomInt.ts.html +52 -52
  568. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  569. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  570. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  571. package/coverage/lcov-report/src/window-splitter/index.html +14 -14
  572. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +19 -67
  573. package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +256 -0
  574. package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +283 -0
  575. package/coverage/lcov-report/suspense/NullSuspense.tsx.html +202 -0
  576. package/coverage/lcov-report/suspense/index.html +131 -0
  577. package/coverage/lcov-report/tabIndicatorStyles.ts.html +43 -13
  578. package/coverage/lcov-report/tabListStyles.ts.html +35 -26
  579. package/coverage/lcov-report/tabStyles.ts.html +68 -26
  580. package/coverage/lcov-report/tabs/Tab.tsx.html +233 -143
  581. package/coverage/lcov-report/tabs/TabList.tsx.html +85 -85
  582. package/coverage/lcov-report/tabs/index.html +56 -11
  583. package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +187 -0
  584. package/coverage/lcov-report/tabs/tabListStyles.ts.html +241 -0
  585. package/coverage/lcov-report/tabs/tabStyles.ts.html +253 -0
  586. package/coverage/lcov-report/tabs/useTabList.ts.html +736 -0
  587. package/coverage/lcov-report/tabs/useTabs.ts.html +1 -1
  588. package/coverage/lcov-report/tabs/utils.ts.html +1 -1
  589. package/coverage/lcov-report/test-utils/index.html +21 -21
  590. package/coverage/lcov-report/test-utils/use.ts.html +187 -0
  591. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +62 -62
  592. package/coverage/lcov-report/tooltip/index.html +10 -70
  593. package/coverage/lcov-report/tooltip/useTooltip.ts.html +243 -222
  594. package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +595 -0
  595. package/coverage/lcov-report/transition/config.ts.html +5 -5
  596. package/coverage/lcov-report/transition/index.html +1 -1
  597. package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +400 -0
  598. package/coverage/lcov-report/transition/useScaleTransition.ts.html +535 -0
  599. package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +952 -0
  600. package/coverage/lcov-report/tree/TreeItem.tsx.html +7 -10
  601. package/coverage/lcov-report/tree/index.html +17 -47
  602. package/coverage/lcov-report/tree/styles.ts.html +538 -0
  603. package/coverage/lcov-report/tree/useTreeMovement.ts.html +140 -143
  604. package/coverage/lcov-report/typography/Typography.tsx.html +138 -432
  605. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +75 -75
  606. package/coverage/lcov-report/typography/index.html +18 -18
  607. package/coverage/lcov-report/useAutoComplete.ts.html +787 -0
  608. package/coverage/lcov-report/useCollapseTransition.ts.html +166 -211
  609. package/coverage/lcov-report/useCombobox.ts.html +1513 -0
  610. package/coverage/lcov-report/useInlineAutoComplete.ts.html +379 -0
  611. package/coverage/lcov-report/useSelectCombobox.ts.html +295 -0
  612. package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +952 -0
  613. package/coverage/lcov-report/useTabList.ts.html +142 -136
  614. package/coverage/lcov-report/useWindowSplitter.ts.html +640 -0
  615. package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +256 -0
  616. package/coverage/lcov-report/utils/alphaNumericSort.ts.html +11 -50
  617. package/coverage/lcov-report/utils/filters.ts.html +1056 -201
  618. package/coverage/lcov-report/utils/index.html +15 -30
  619. package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
  620. package/coverage/lcov-report/utils/randomInt.ts.html +148 -0
  621. package/coverage/lcov-report/utils/searching.ts.html +85 -0
  622. package/coverage/lcov-report/utils/wait.ts.html +1 -1
  623. package/coverage/lcov-report/utils.ts.html +109 -277
  624. package/coverage/lcov-report/window-splitter/index.html +21 -36
  625. package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +406 -328
  626. package/dist/RootHtml.d.ts +62 -0
  627. package/dist/RootHtml.js +49 -0
  628. package/dist/RootHtml.js.map +1 -0
  629. package/dist/_box-shadows.scss +12 -2
  630. package/dist/_core.scss +207 -253
  631. package/dist/_utils.scss +89 -0
  632. package/dist/app-bar/AppBar.d.ts +4 -9
  633. package/dist/app-bar/AppBar.js +29 -7
  634. package/dist/app-bar/AppBar.js.map +1 -1
  635. package/dist/app-bar/_app-bar.scss +114 -122
  636. package/dist/avatar/Avatar.d.ts +15 -1
  637. package/dist/avatar/Avatar.js +5 -2
  638. package/dist/avatar/Avatar.js.map +1 -1
  639. package/dist/avatar/_avatar.scss +74 -81
  640. package/dist/badge/_badge.scss +97 -59
  641. package/dist/box/_box.scss +72 -81
  642. package/dist/button/TooltippedButton.d.ts +62 -0
  643. package/dist/button/TooltippedButton.js +62 -0
  644. package/dist/button/TooltippedButton.js.map +1 -0
  645. package/dist/button/_button.scss +170 -180
  646. package/dist/card/Card.js +3 -2
  647. package/dist/card/Card.js.map +1 -1
  648. package/dist/card/CardContent.js +1 -1
  649. package/dist/card/CardContent.js.map +1 -1
  650. package/dist/card/ClickableCard.d.ts +42 -0
  651. package/dist/card/ClickableCard.js +73 -0
  652. package/dist/card/ClickableCard.js.map +1 -0
  653. package/dist/card/_card.scss +81 -82
  654. package/dist/card/styles.d.ts +8 -0
  655. package/dist/card/styles.js +6 -3
  656. package/dist/card/styles.js.map +1 -1
  657. package/dist/chip/_chip.scss +137 -148
  658. package/dist/dialog/FixedDialog.d.ts +5 -4
  659. package/dist/dialog/FixedDialog.js +5 -4
  660. package/dist/dialog/FixedDialog.js.map +1 -1
  661. package/dist/dialog/_dialog.scss +179 -162
  662. package/dist/divider/Divider.d.ts +0 -1
  663. package/dist/divider/Divider.js.map +1 -1
  664. package/dist/divider/_divider.scss +61 -70
  665. package/dist/draggable/_draggable.scss +16 -12
  666. package/dist/draggable/useDraggable.d.ts +12 -23
  667. package/dist/draggable/useDraggable.js +15 -6
  668. package/dist/draggable/useDraggable.js.map +1 -1
  669. package/dist/draggable/utils.d.ts +4 -17
  670. package/dist/draggable/utils.js +9 -25
  671. package/dist/draggable/utils.js.map +1 -1
  672. package/dist/expansion-panel/_expansion-panel.scss +76 -50
  673. package/dist/expansion-panel/useExpansionPanels.d.ts +5 -3
  674. package/dist/expansion-panel/useExpansionPanels.js +16 -9
  675. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  676. package/dist/form/Form.d.ts +1 -1
  677. package/dist/form/Form.js +2 -1
  678. package/dist/form/Form.js.map +1 -1
  679. package/dist/form/Label.d.ts +5 -5
  680. package/dist/form/Label.js.map +1 -1
  681. package/dist/form/MenuItemInputToggle.d.ts +2 -15
  682. package/dist/form/MenuItemInputToggle.js +26 -37
  683. package/dist/form/MenuItemInputToggle.js.map +1 -1
  684. package/dist/form/NativeSelect.d.ts +5 -2
  685. package/dist/form/NativeSelect.js.map +1 -1
  686. package/dist/form/Option.js +3 -2
  687. package/dist/form/Option.js.map +1 -1
  688. package/dist/form/ResizingTextAreaWrapper.d.ts +19 -0
  689. package/dist/form/ResizingTextAreaWrapper.js +35 -0
  690. package/dist/form/ResizingTextAreaWrapper.js.map +1 -0
  691. package/dist/form/Select.d.ts +105 -15
  692. package/dist/form/Select.js +160 -244
  693. package/dist/form/Select.js.map +1 -1
  694. package/dist/form/SelectedOption.d.ts +21 -0
  695. package/dist/form/SelectedOption.js +37 -0
  696. package/dist/form/SelectedOption.js.map +1 -0
  697. package/dist/form/TextArea.d.ts +11 -0
  698. package/dist/form/TextArea.js +19 -29
  699. package/dist/form/TextArea.js.map +1 -1
  700. package/dist/form/TextField.d.ts +2 -2
  701. package/dist/form/TextField.js +7 -6
  702. package/dist/form/TextField.js.map +1 -1
  703. package/dist/form/TextFieldContainerStyles.d.ts +7 -7
  704. package/dist/form/TextFieldContainerStyles.js.map +1 -1
  705. package/dist/form/_form.scss +1336 -1260
  706. package/dist/form/menuItemInputToggleStyles.d.ts +39 -0
  707. package/dist/form/menuItemInputToggleStyles.js +31 -0
  708. package/dist/form/menuItemInputToggleStyles.js.map +1 -0
  709. package/dist/form/selectUtils.d.ts +1 -3
  710. package/dist/form/selectUtils.js +2 -10
  711. package/dist/form/selectUtils.js.map +1 -1
  712. package/dist/form/textAreaStyles.d.ts +2 -2
  713. package/dist/form/textAreaStyles.js.map +1 -1
  714. package/dist/form/types.d.ts +6 -8
  715. package/dist/form/types.js.map +1 -1
  716. package/dist/form/useCombobox.d.ts +157 -0
  717. package/dist/form/useCombobox.js +206 -0
  718. package/dist/form/useCombobox.js.map +1 -0
  719. package/dist/form/useEditableCombobox.d.ts +15 -0
  720. package/dist/form/useEditableCombobox.js +101 -0
  721. package/dist/form/useEditableCombobox.js.map +1 -0
  722. package/dist/form/useFormReset.d.ts +16 -0
  723. package/dist/form/useFormReset.js +32 -0
  724. package/dist/form/useFormReset.js.map +1 -0
  725. package/dist/form/useListboxProvider.d.ts +4 -2
  726. package/dist/form/useListboxProvider.js +6 -8
  727. package/dist/form/useListboxProvider.js.map +1 -1
  728. package/dist/form/useResizingTextArea.d.ts +5 -2
  729. package/dist/form/useResizingTextArea.js +52 -21
  730. package/dist/form/useResizingTextArea.js.map +1 -1
  731. package/dist/form/useSelectCombobox.d.ts +17 -0
  732. package/dist/form/useSelectCombobox.js +36 -0
  733. package/dist/form/useSelectCombobox.js.map +1 -0
  734. package/dist/form/utils.d.ts +11 -1
  735. package/dist/form/utils.js +6 -0
  736. package/dist/form/utils.js.map +1 -1
  737. package/dist/icon/IconRotator.js +2 -3
  738. package/dist/icon/IconRotator.js.map +1 -1
  739. package/dist/icon/_icon.scss +105 -112
  740. package/dist/index.d.ts +22 -1
  741. package/dist/index.js +22 -1
  742. package/dist/index.js.map +1 -1
  743. package/dist/interaction/_interaction.scss +144 -135
  744. package/dist/layout/_layout.scss +82 -86
  745. package/dist/layout/useLayoutAppBarHeight.js +5 -9
  746. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  747. package/dist/link/_link.scss +74 -66
  748. package/dist/list/ListItem.d.ts +8 -3
  749. package/dist/list/ListItem.js +4 -3
  750. package/dist/list/ListItem.js.map +1 -1
  751. package/dist/list/ListItemAddon.js +2 -1
  752. package/dist/list/ListItemAddon.js.map +1 -1
  753. package/dist/list/ListItemChildren.js +3 -2
  754. package/dist/list/ListItemChildren.js.map +1 -1
  755. package/dist/list/ListItemLink.js +3 -3
  756. package/dist/list/ListItemLink.js.map +1 -1
  757. package/dist/list/_list.scss +187 -184
  758. package/dist/list/getListItemHeight.d.ts +0 -1
  759. package/dist/list/getListItemHeight.js +2 -2
  760. package/dist/list/getListItemHeight.js.map +1 -1
  761. package/dist/list/listItemStyles.d.ts +9 -1
  762. package/dist/list/listItemStyles.js +5 -5
  763. package/dist/list/listItemStyles.js.map +1 -1
  764. package/dist/list/types.d.ts +25 -6
  765. package/dist/list/types.js.map +1 -1
  766. package/dist/menu/Menu.d.ts +1 -1
  767. package/dist/menu/Menu.js +12 -1
  768. package/dist/menu/Menu.js.map +1 -1
  769. package/dist/menu/MenuItemCircularProgress.d.ts +60 -0
  770. package/dist/menu/MenuItemCircularProgress.js +74 -0
  771. package/dist/menu/MenuItemCircularProgress.js.map +1 -0
  772. package/dist/menu/_menu.scss +29 -50
  773. package/dist/menu/useContextMenu.d.ts +3 -3
  774. package/dist/menu/useContextMenu.js +3 -3
  775. package/dist/menu/useContextMenu.js.map +1 -1
  776. package/dist/movement/types.d.ts +40 -21
  777. package/dist/movement/types.js.map +1 -1
  778. package/dist/movement/useKeyboardMovementProvider.js +15 -4
  779. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  780. package/dist/movement/utils.d.ts +7 -2
  781. package/dist/movement/utils.js +10 -0
  782. package/dist/movement/utils.js.map +1 -1
  783. package/dist/overlay/_overlay.scss +39 -42
  784. package/dist/portal/PortalContainerProvider.d.ts +2 -2
  785. package/dist/portal/PortalContainerProvider.js +6 -1
  786. package/dist/portal/PortalContainerProvider.js.map +1 -1
  787. package/dist/positioning/useFixedPositioning.js +0 -8
  788. package/dist/positioning/useFixedPositioning.js.map +1 -1
  789. package/dist/progress/_progress.scss +33 -33
  790. package/dist/responsive-item/_responsive-item.scss +91 -89
  791. package/dist/searching/caseInsensitive.d.ts +150 -0
  792. package/dist/searching/caseInsensitive.js +30 -0
  793. package/dist/searching/caseInsensitive.js.map +1 -0
  794. package/dist/searching/fuzzy.d.ts +128 -0
  795. package/dist/searching/fuzzy.js +54 -0
  796. package/dist/searching/fuzzy.js.map +1 -0
  797. package/dist/searching/toSearchQuery.d.ts +7 -0
  798. package/dist/searching/toSearchQuery.js +15 -0
  799. package/dist/searching/toSearchQuery.js.map +1 -0
  800. package/dist/searching/types.d.ts +28 -0
  801. package/dist/searching/types.js +5 -0
  802. package/dist/searching/types.js.map +1 -0
  803. package/dist/searching/useFuzzyMatch.d.ts +19 -0
  804. package/dist/searching/useFuzzyMatch.js +26 -0
  805. package/dist/searching/useFuzzyMatch.js.map +1 -0
  806. package/dist/searching/utils.d.ts +21 -0
  807. package/dist/searching/utils.js +28 -0
  808. package/dist/searching/utils.js.map +1 -0
  809. package/dist/segmented-button/_segmented-button.scss +86 -92
  810. package/dist/sheet/_sheet.scss +107 -123
  811. package/dist/sheet/styles.d.ts +14 -15
  812. package/dist/sheet/styles.js.map +1 -1
  813. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  814. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  815. package/dist/snackbar/Snackbar.d.ts +10 -10
  816. package/dist/snackbar/Snackbar.js +3 -3
  817. package/dist/snackbar/Snackbar.js.map +1 -1
  818. package/dist/snackbar/Toast.d.ts +1 -1
  819. package/dist/snackbar/Toast.js +5 -1
  820. package/dist/snackbar/Toast.js.map +1 -1
  821. package/dist/snackbar/ToastManager.d.ts +2 -1
  822. package/dist/snackbar/ToastManager.js +1 -1
  823. package/dist/snackbar/ToastManager.js.map +1 -1
  824. package/dist/snackbar/_snackbar.scss +148 -144
  825. package/dist/snackbar/snackbarStyles.d.ts +1 -0
  826. package/dist/snackbar/snackbarStyles.js +2 -1
  827. package/dist/snackbar/snackbarStyles.js.map +1 -1
  828. package/dist/table/TableCheckbox.d.ts +3 -2
  829. package/dist/table/TableCheckbox.js +4 -2
  830. package/dist/table/TableCheckbox.js.map +1 -1
  831. package/dist/table/TableRadio.d.ts +3 -2
  832. package/dist/table/TableRadio.js +4 -2
  833. package/dist/table/TableRadio.js.map +1 -1
  834. package/dist/table/_table.scss +214 -227
  835. package/dist/table/tableCellStyles.d.ts +1 -1
  836. package/dist/table/tableCellStyles.js.map +1 -1
  837. package/dist/tabs/Tab.d.ts +24 -3
  838. package/dist/tabs/Tab.js +15 -8
  839. package/dist/tabs/Tab.js.map +1 -1
  840. package/dist/tabs/_tabs.scss +62 -53
  841. package/dist/tabs/tabIndicatorStyles.d.ts +2 -1
  842. package/dist/tabs/tabIndicatorStyles.js +6 -3
  843. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  844. package/dist/tabs/tabListStyles.js +2 -1
  845. package/dist/tabs/tabListStyles.js.map +1 -1
  846. package/dist/tabs/tabStyles.d.ts +2 -0
  847. package/dist/tabs/tabStyles.js +6 -3
  848. package/dist/tabs/tabStyles.js.map +1 -1
  849. package/dist/tabs/useTabList.d.ts +3 -3
  850. package/dist/tabs/useTabList.js +9 -6
  851. package/dist/tabs/useTabList.js.map +1 -1
  852. package/dist/test-utils/IntersectionObserver.d.ts +12 -0
  853. package/dist/test-utils/ResizeObserver.d.ts +214 -0
  854. package/dist/test-utils/ResizeObserver.js +69 -49
  855. package/dist/test-utils/ResizeObserver.js.map +1 -1
  856. package/dist/test-utils/data-testid.d.ts +7 -0
  857. package/dist/test-utils/data-testid.js +1 -0
  858. package/dist/test-utils/data-testid.js.map +1 -1
  859. package/dist/test-utils/drag.d.ts +26 -0
  860. package/dist/test-utils/index.d.ts +7 -0
  861. package/dist/test-utils/jest-setup.d.ts +1 -0
  862. package/dist/test-utils/matchMedia.d.ts +101 -0
  863. package/dist/test-utils/matchMedia.js +2 -2
  864. package/dist/test-utils/matchMedia.js.map +1 -1
  865. package/dist/test-utils/polyfills/IntersectionObserver.d.ts +1 -0
  866. package/dist/test-utils/polyfills/ResizeObserver.d.ts +1 -0
  867. package/dist/test-utils/polyfills/TextDecoder.d.ts +1 -0
  868. package/dist/test-utils/polyfills/TextDecoder.js +8 -0
  869. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -0
  870. package/dist/test-utils/polyfills/TextEncoder.d.ts +1 -0
  871. package/dist/test-utils/polyfills/TextEncoder.js +6 -0
  872. package/dist/test-utils/polyfills/TextEncoder.js.map +1 -0
  873. package/dist/test-utils/polyfills/index.d.ts +7 -0
  874. package/dist/test-utils/polyfills/index.js +2 -0
  875. package/dist/test-utils/polyfills/index.js.map +1 -1
  876. package/dist/test-utils/polyfills/matchMedia.d.ts +1 -0
  877. package/dist/test-utils/polyfills/offsetParent.d.ts +1 -0
  878. package/dist/test-utils/polyfills/scrollIntoView.d.ts +1 -0
  879. package/dist/test-utils/render.d.ts +13 -0
  880. package/dist/test-utils/timers.d.ts +39 -0
  881. package/dist/theme/_theme.scss +243 -133
  882. package/dist/tooltip/_tooltip.scss +76 -83
  883. package/dist/tooltip/useTooltip.d.ts +14 -14
  884. package/dist/tooltip/useTooltip.js.map +1 -1
  885. package/dist/transition/SkeletonPlaceholder.d.ts +2 -2
  886. package/dist/transition/SkeletonPlaceholder.js +8 -3
  887. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  888. package/dist/transition/_transition.scss +89 -78
  889. package/dist/transition/skeletonPlaceholderUtils.d.ts +77 -0
  890. package/dist/transition/skeletonPlaceholderUtils.js +38 -0
  891. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
  892. package/dist/transition/useCollapseTransition.d.ts +3 -18
  893. package/dist/transition/useCollapseTransition.js +1 -10
  894. package/dist/transition/useCollapseTransition.js.map +1 -1
  895. package/dist/transition/useSkeletonPlaceholder.d.ts +12 -7
  896. package/dist/transition/useSkeletonPlaceholder.js +38 -37
  897. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  898. package/dist/transition/utils.js +7 -2
  899. package/dist/transition/utils.js.map +1 -1
  900. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -2
  901. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  902. package/dist/tree/Tree.d.ts +8 -4
  903. package/dist/tree/Tree.js.map +1 -1
  904. package/dist/tree/TreeItem.js +3 -4
  905. package/dist/tree/TreeItem.js.map +1 -1
  906. package/dist/tree/_tree.scss +111 -109
  907. package/dist/tree/styles.d.ts +0 -6
  908. package/dist/tree/styles.js +1 -2
  909. package/dist/tree/styles.js.map +1 -1
  910. package/dist/tree/useTreeMovement.js +1 -1
  911. package/dist/tree/useTreeMovement.js.map +1 -1
  912. package/dist/types.d.ts +13 -0
  913. package/dist/types.js +1 -2
  914. package/dist/types.js.map +1 -1
  915. package/dist/typography/SrOnly.d.ts +3 -3
  916. package/dist/typography/SrOnly.js +4 -4
  917. package/dist/typography/SrOnly.js.map +1 -1
  918. package/dist/typography/Typography.d.ts +19 -19
  919. package/dist/typography/Typography.js +19 -19
  920. package/dist/typography/Typography.js.map +1 -1
  921. package/dist/typography/WritingDirectionProvider.d.ts +2 -2
  922. package/dist/typography/WritingDirectionProvider.js +2 -2
  923. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  924. package/dist/typography/_typography.scss +141 -87
  925. package/dist/useDebouncedFunction.d.ts +2 -2
  926. package/dist/useDebouncedFunction.js +10 -6
  927. package/dist/useDebouncedFunction.js.map +1 -1
  928. package/dist/useElementSize.d.ts +40 -0
  929. package/dist/useElementSize.js +53 -0
  930. package/dist/useElementSize.js.map +1 -0
  931. package/dist/useEnsuredState.d.ts +1 -1
  932. package/dist/useEnsuredState.js.map +1 -1
  933. package/dist/useResizeListener.d.ts +1 -1
  934. package/dist/useResizeListener.js +1 -0
  935. package/dist/useResizeListener.js.map +1 -1
  936. package/dist/useResizeObserver.d.ts +4 -43
  937. package/dist/useResizeObserver.js +4 -43
  938. package/dist/useResizeObserver.js.map +1 -1
  939. package/dist/useThrottledFunction.d.ts +2 -2
  940. package/dist/useThrottledFunction.js +20 -16
  941. package/dist/useThrottledFunction.js.map +1 -1
  942. package/dist/useWindowSize.d.ts +14 -11
  943. package/dist/useWindowSize.js +12 -7
  944. package/dist/useWindowSize.js.map +1 -1
  945. package/dist/utils/alphaNumericSort.d.ts +1 -1
  946. package/dist/utils/alphaNumericSort.js +2 -10
  947. package/dist/utils/alphaNumericSort.js.map +1 -1
  948. package/dist/utils/getMiddleOfRange.d.ts +13 -0
  949. package/dist/utils/getMiddleOfRange.js +20 -0
  950. package/dist/utils/getMiddleOfRange.js.map +1 -0
  951. package/dist/utils/getRangeDefaultValue.d.ts +3 -5
  952. package/dist/utils/getRangeDefaultValue.js +3 -13
  953. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  954. package/dist/utils/getRangeSteps.d.ts +1 -1
  955. package/dist/utils/getRangeSteps.js +2 -2
  956. package/dist/utils/getRangeSteps.js.map +1 -1
  957. package/dist/utils/nearest.js +1 -1
  958. package/dist/utils/nearest.js.map +1 -1
  959. package/dist/window-splitter/_window-splitter.scss +83 -112
  960. package/dist/window-splitter/useWindowSplitter.d.ts +3 -5
  961. package/dist/window-splitter/useWindowSplitter.js +3 -11
  962. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  963. package/jest.config.ts +4 -0
  964. package/package.json +35 -40
  965. package/scripts/{copySassFiles.js → copySassFiles.ts} +5 -5
  966. package/scripts/tsconfig.json +18 -0
  967. package/src/RootHtml.tsx +95 -0
  968. package/src/__tests__/RootHtml.node.tsx +46 -0
  969. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +19 -0
  970. package/src/__tests__/useDebouncedFunction.tsx +65 -24
  971. package/src/__tests__/useElementSize.tsx +181 -0
  972. package/src/__tests__/useThrottledFunction.tsx +54 -0
  973. package/src/__tests__/useWindowSize.node.tsx +56 -0
  974. package/src/__tests__/useWindowSize.tsx +156 -0
  975. package/src/_box-shadows.scss +12 -2
  976. package/src/_core.scss +207 -253
  977. package/src/_utils.scss +89 -0
  978. package/src/app-bar/AppBar.tsx +59 -19
  979. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +21 -21
  980. package/src/app-bar/_app-bar.scss +114 -122
  981. package/src/avatar/Avatar.tsx +25 -4
  982. package/src/avatar/__tests__/Avatar.tsx +1 -1
  983. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +6 -6
  984. package/src/avatar/_avatar.scss +74 -81
  985. package/src/badge/_badge.scss +97 -59
  986. package/src/box/_box.scss +72 -81
  987. package/src/button/TooltippedButton.tsx +120 -0
  988. package/src/button/__tests__/TooltippedButton.tsx +60 -0
  989. package/src/button/__tests__/__snapshots__/Button.tsx.snap +1 -1
  990. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +26 -0
  991. package/src/button/_button.scss +170 -180
  992. package/src/card/Card.tsx +5 -3
  993. package/src/card/CardContent.tsx +3 -3
  994. package/src/card/ClickableCard.tsx +105 -0
  995. package/src/card/__tests__/ClickableCard.tsx +66 -0
  996. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +1 -1
  997. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +2 -2
  998. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +20 -0
  999. package/src/card/__tests__/__snapshots__/styles.ts.snap +1 -1
  1000. package/src/card/_card.scss +81 -82
  1001. package/src/card/styles.ts +19 -10
  1002. package/src/chip/_chip.scss +137 -148
  1003. package/src/dialog/FixedDialog.tsx +5 -4
  1004. package/src/dialog/_dialog.scss +179 -162
  1005. package/src/divider/Divider.tsx +0 -1
  1006. package/src/divider/_divider.scss +61 -70
  1007. package/src/draggable/_draggable.scss +16 -12
  1008. package/src/draggable/useDraggable.ts +26 -25
  1009. package/src/draggable/utils.ts +16 -50
  1010. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +2 -2
  1011. package/src/expansion-panel/_expansion-panel.scss +76 -50
  1012. package/src/expansion-panel/useExpansionPanels.ts +20 -16
  1013. package/src/form/Form.tsx +2 -1
  1014. package/src/form/Label.tsx +5 -5
  1015. package/src/form/MenuItemInputToggle.tsx +46 -64
  1016. package/src/form/NativeSelect.tsx +6 -3
  1017. package/src/form/Option.tsx +8 -2
  1018. package/src/form/ResizingTextAreaWrapper.tsx +75 -0
  1019. package/src/form/Select.tsx +251 -327
  1020. package/src/form/SelectedOption.tsx +55 -0
  1021. package/src/form/TextArea.tsx +40 -32
  1022. package/src/form/TextField.tsx +19 -19
  1023. package/src/form/TextFieldContainerStyles.ts +7 -7
  1024. package/src/form/__tests__/MenuItemCheckbox.tsx +53 -0
  1025. package/src/form/__tests__/MenuItemRadio.tsx +53 -0
  1026. package/src/form/__tests__/Select.tsx +439 -0
  1027. package/src/form/__tests__/TextArea.tsx +433 -0
  1028. package/src/form/__tests__/TextField.tsx +195 -0
  1029. package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +23 -23
  1030. package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +96 -0
  1031. package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +96 -0
  1032. package/src/form/__tests__/__snapshots__/Select.tsx.snap +492 -0
  1033. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +548 -0
  1034. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +279 -0
  1035. package/src/form/__tests__/useFormReset.tsx +195 -0
  1036. package/src/form/_form.scss +1336 -1260
  1037. package/src/form/menuItemInputToggleStyles.ts +78 -0
  1038. package/src/form/selectUtils.ts +3 -14
  1039. package/src/form/textAreaStyles.ts +2 -2
  1040. package/src/form/types.ts +6 -8
  1041. package/src/form/useCombobox.ts +523 -0
  1042. package/src/form/useEditableCombobox.ts +139 -0
  1043. package/src/form/useFormReset.ts +48 -0
  1044. package/src/form/useListboxProvider.ts +9 -7
  1045. package/src/form/useResizingTextArea.ts +66 -25
  1046. package/src/form/useSelectCombobox.ts +70 -0
  1047. package/src/form/utils.ts +17 -4
  1048. package/src/icon/IconRotator.tsx +1 -2
  1049. package/src/icon/_icon.scss +105 -112
  1050. package/src/index.ts +22 -1
  1051. package/src/interaction/_interaction.scss +144 -135
  1052. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +4 -4
  1053. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +1 -1
  1054. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +18 -18
  1055. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +1 -1
  1056. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +1 -1
  1057. package/src/layout/_layout.scss +82 -86
  1058. package/src/layout/useLayoutAppBarHeight.ts +5 -9
  1059. package/src/link/_link.scss +74 -66
  1060. package/src/list/ListItem.tsx +20 -13
  1061. package/src/list/ListItemAddon.tsx +5 -3
  1062. package/src/list/ListItemChildren.tsx +4 -2
  1063. package/src/list/ListItemLink.tsx +4 -4
  1064. package/src/list/__tests__/ListItem.tsx +1 -1
  1065. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +1 -1
  1066. package/src/list/__tests__/getListItemHeight.ts +2 -2
  1067. package/src/list/_list.scss +187 -184
  1068. package/src/list/getListItemHeight.ts +2 -3
  1069. package/src/list/listItemStyles.ts +15 -5
  1070. package/src/list/types.ts +28 -6
  1071. package/src/menu/Menu.tsx +10 -2
  1072. package/src/menu/MenuItemCircularProgress.tsx +116 -0
  1073. package/src/menu/__tests__/MenuItemCircularProgress.tsx +39 -0
  1074. package/src/menu/__tests__/__snapshots__/MenuItemCircularProgress.tsx.snap +68 -0
  1075. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +54 -0
  1076. package/src/menu/__tests__/useContextMenu.tsx +41 -0
  1077. package/src/menu/_menu.scss +29 -50
  1078. package/src/menu/useContextMenu.ts +3 -3
  1079. package/src/movement/types.ts +50 -25
  1080. package/src/movement/useKeyboardMovementProvider.ts +21 -8
  1081. package/src/movement/utils.ts +12 -2
  1082. package/src/overlay/_overlay.scss +39 -42
  1083. package/src/portal/PortalContainerProvider.tsx +10 -2
  1084. package/src/portal/__tests__/PortalContainerProvider.tsx +23 -0
  1085. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -32
  1086. package/src/positioning/__tests__/useFixedPositioning.tsx +0 -14
  1087. package/src/positioning/useFixedPositioning.ts +0 -6
  1088. package/src/progress/_progress.scss +33 -33
  1089. package/src/responsive-item/_responsive-item.scss +91 -89
  1090. package/src/searching/__tests__/caseInsensitive.ts +165 -0
  1091. package/src/searching/__tests__/fuzzy.ts +169 -0
  1092. package/src/searching/__tests__/toSearchQuery.ts +21 -0
  1093. package/src/searching/__tests__/useFuzzyMatch.tsx +200 -0
  1094. package/src/searching/caseInsensitive.ts +200 -0
  1095. package/src/searching/fuzzy.ts +175 -0
  1096. package/src/searching/toSearchQuery.ts +20 -0
  1097. package/src/searching/types.ts +34 -0
  1098. package/src/searching/useFuzzyMatch.ts +42 -0
  1099. package/src/searching/utils.ts +53 -0
  1100. package/src/segmented-button/_segmented-button.scss +86 -92
  1101. package/src/sheet/_sheet.scss +107 -123
  1102. package/src/sheet/styles.ts +14 -15
  1103. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  1104. package/src/snackbar/Snackbar.tsx +28 -32
  1105. package/src/snackbar/Toast.tsx +7 -2
  1106. package/src/snackbar/ToastManager.tsx +3 -2
  1107. package/src/snackbar/__tests__/Snackbar.tsx +12 -11
  1108. package/src/snackbar/__tests__/ToastManagerProvider.tsx +20 -42
  1109. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +127 -27
  1110. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +23 -8
  1111. package/src/snackbar/_snackbar.scss +148 -144
  1112. package/src/snackbar/snackbarStyles.ts +3 -1
  1113. package/src/suspense/__tests__/CircularProgressSuspense.tsx +90 -0
  1114. package/src/suspense/__tests__/NullSuspense.tsx +46 -0
  1115. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +24 -0
  1116. package/src/table/TableCheckbox.tsx +4 -2
  1117. package/src/table/TableRadio.tsx +4 -2
  1118. package/src/table/_table.scss +214 -227
  1119. package/src/table/tableCellStyles.ts +1 -1
  1120. package/src/tabs/Tab.tsx +110 -70
  1121. package/src/tabs/__tests__/Tab.tsx +25 -2
  1122. package/src/tabs/__tests__/TabList.tsx +4 -4
  1123. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +2 -2
  1124. package/src/tabs/_tabs.scss +62 -53
  1125. package/src/tabs/tabIndicatorStyles.ts +13 -3
  1126. package/src/tabs/tabListStyles.ts +1 -1
  1127. package/src/tabs/tabStyles.ts +16 -4
  1128. package/src/tabs/useTabList.ts +10 -8
  1129. package/src/test-utils/ResizeObserver.ts +100 -53
  1130. package/src/test-utils/__tests__/ResizeObserver.ts +1 -1
  1131. package/src/test-utils/data-testid.ts +5 -1
  1132. package/src/test-utils/matchMedia.ts +2 -2
  1133. package/src/test-utils/polyfills/TextDecoder.ts +7 -0
  1134. package/src/test-utils/polyfills/TextEncoder.ts +5 -0
  1135. package/src/test-utils/polyfills/index.ts +2 -0
  1136. package/src/theme/_theme.scss +243 -133
  1137. package/src/tooltip/_tooltip.scss +76 -83
  1138. package/src/tooltip/useTooltip.ts +23 -16
  1139. package/src/transition/SkeletonPlaceholder.tsx +18 -6
  1140. package/src/transition/__tests__/SkeletonPlaceholder.tsx +72 -0
  1141. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +24 -0
  1142. package/src/transition/__tests__/utils.ts +25 -0
  1143. package/src/transition/_transition.scss +89 -78
  1144. package/src/transition/skeletonPlaceholderUtils.ts +105 -0
  1145. package/src/transition/useCollapseTransition.ts +6 -24
  1146. package/src/transition/useSkeletonPlaceholder.ts +62 -47
  1147. package/src/transition/utils.ts +10 -5
  1148. package/src/tree/DefaultTreeItemRenderer.tsx +6 -2
  1149. package/src/tree/Tree.tsx +8 -4
  1150. package/src/tree/TreeItem.tsx +3 -4
  1151. package/src/tree/__tests__/Tree.tsx +1 -1
  1152. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +124 -124
  1153. package/src/tree/_tree.scss +111 -109
  1154. package/src/tree/styles.ts +0 -9
  1155. package/src/tree/useTreeMovement.ts +1 -1
  1156. package/src/types.ts +13 -0
  1157. package/src/typography/SrOnly.tsx +9 -9
  1158. package/src/typography/Typography.tsx +19 -19
  1159. package/src/typography/WritingDirectionProvider.tsx +4 -2
  1160. package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +5 -5
  1161. package/src/typography/_typography.scss +141 -87
  1162. package/src/useDebouncedFunction.ts +12 -10
  1163. package/src/useElementSize.ts +83 -0
  1164. package/src/useEnsuredState.ts +1 -1
  1165. package/src/useResizeListener.ts +3 -1
  1166. package/src/useResizeObserver.ts +8 -45
  1167. package/src/useThrottledFunction.ts +12 -10
  1168. package/src/useWindowSize.ts +29 -19
  1169. package/src/utils/__tests__/getMiddleOfRange.ts +12 -0
  1170. package/src/utils/__tests__/getRangeDefaultValue.ts +47 -0
  1171. package/src/utils/alphaNumericSort.ts +3 -16
  1172. package/src/utils/getMiddleOfRange.ts +26 -0
  1173. package/src/utils/getRangeDefaultValue.ts +8 -15
  1174. package/src/utils/getRangeSteps.ts +2 -2
  1175. package/src/utils/nearest.ts +1 -1
  1176. package/src/window-splitter/_window-splitter.scss +83 -112
  1177. package/src/window-splitter/useWindowSplitter.ts +12 -28
  1178. package/tsconfig.types.json +1 -1
  1179. package/dist/divider/VerticalDivider.d.ts +0 -32
  1180. package/dist/divider/useVerticalDividerHeight.d.ts +0 -37
  1181. package/dist/form/SelectValue.d.ts +0 -17
  1182. package/dist/form/SelectValue.js +0 -32
  1183. package/dist/form/SelectValue.js.map +0 -1
  1184. package/dist/icon/MaterialIconsProvider.d.ts +0 -12
  1185. package/dist/icon/MaterialIconsProvider.js +0 -17
  1186. package/dist/icon/MaterialIconsProvider.js.map +0 -1
  1187. package/dist/icon/MaterialSymbolsProvider.d.ts +0 -145
  1188. package/dist/icon/MaterialSymbolsProvider.js +0 -60
  1189. package/dist/icon/MaterialSymbolsProvider.js.map +0 -1
  1190. package/dist/link/LinkProvider.d.ts +0 -29
  1191. package/dist/menu/menuConfig.d.ts +0 -60
  1192. package/dist/tooltip/useOverflowTooltip.d.ts +0 -61
  1193. package/dist/utils/filters.d.ts +0 -196
  1194. package/dist/utils/filters.js +0 -67
  1195. package/dist/utils/filters.js.map +0 -1
  1196. package/src/form/SelectValue.tsx +0 -39
  1197. package/src/utils/__tests__/filters.ts +0 -279
  1198. 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>