@react-md/core 1.0.0-next.0 → 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 (1594) hide show
  1. package/.stylelintrc.json +14 -0
  2. package/.turbo/turbo-build.log +11 -7
  3. package/.turbo/turbo-lint.log +12 -0
  4. package/.turbo/turbo-test.log +5512 -0
  5. package/.turbo/turbo-typecheck.log +4 -0
  6. package/CHANGELOG.md +234 -0
  7. package/README.md +39 -24
  8. package/coverage/clover.xml +3 -1118
  9. package/coverage/coverage-final.json +1 -7
  10. package/coverage/lcov-report/AutoComplete.tsx.html +283 -0
  11. package/coverage/lcov-report/Avatar.tsx.html +472 -0
  12. package/coverage/lcov-report/CircularProgress.tsx.html +799 -0
  13. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +166 -112
  14. package/coverage/lcov-report/Dialog.tsx.html +1309 -0
  15. package/coverage/lcov-report/DialogContent.tsx.html +178 -0
  16. package/coverage/lcov-report/DialogFooter.tsx.html +169 -0
  17. package/coverage/lcov-report/IconRotator.tsx.html +322 -0
  18. package/coverage/lcov-report/LinearProgress.tsx.html +658 -0
  19. package/coverage/lcov-report/ListItem.tsx.html +892 -0
  20. package/coverage/lcov-report/ListItemLink.tsx.html +616 -0
  21. package/coverage/lcov-report/MaterialIcon.tsx.html +36 -42
  22. package/coverage/lcov-report/MaterialSymbol.tsx.html +240 -222
  23. package/coverage/lcov-report/MenuItemCheckbox.tsx.html +223 -0
  24. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +925 -0
  25. package/coverage/lcov-report/MenuItemRadio.tsx.html +436 -0
  26. package/coverage/lcov-report/MenuItemSeparator.tsx.html +223 -0
  27. package/coverage/lcov-report/MenuItemTextField.tsx.html +289 -0
  28. package/coverage/lcov-report/Portal.tsx.html +223 -0
  29. package/coverage/lcov-report/PortalContainerProvider.tsx.html +367 -0
  30. package/coverage/lcov-report/RootHtml.tsx.html +370 -0
  31. package/coverage/lcov-report/Select.tsx.html +1411 -0
  32. package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +613 -0
  33. package/coverage/lcov-report/Snackbar.tsx.html +360 -402
  34. package/coverage/lcov-report/SrOnly.tsx.html +328 -0
  35. package/coverage/lcov-report/Switch.tsx.html +535 -0
  36. package/coverage/lcov-report/SwitchTrack.tsx.html +262 -0
  37. package/coverage/lcov-report/Tab.tsx.html +261 -147
  38. package/coverage/lcov-report/Table.tsx.html +457 -0
  39. package/coverage/lcov-report/TableCell.tsx.html +982 -0
  40. package/coverage/lcov-report/TableCheckbox.tsx.html +709 -0
  41. package/coverage/lcov-report/TableContainer.tsx.html +220 -0
  42. package/coverage/lcov-report/TableFooter.tsx.html +502 -0
  43. package/coverage/lcov-report/TableHeader.tsx.html +541 -0
  44. package/coverage/lcov-report/TableRadio.tsx.html +670 -0
  45. package/coverage/lcov-report/TableRow.tsx.html +289 -0
  46. package/coverage/lcov-report/Toast.tsx.html +868 -0
  47. package/coverage/lcov-report/ToastManager.tsx.html +1783 -0
  48. package/coverage/lcov-report/ToastManagerProvider.tsx.html +216 -216
  49. package/coverage/lcov-report/Tooltip.tsx.html +98 -155
  50. package/coverage/lcov-report/TreeGroup.tsx.html +313 -0
  51. package/coverage/lcov-report/Typography.tsx.html +1027 -0
  52. package/coverage/lcov-report/app-bar/AppBar.tsx.html +178 -28
  53. package/coverage/lcov-report/app-bar/index.html +7 -7
  54. package/coverage/lcov-report/autocomplete/AutoComplete.tsx.html +283 -0
  55. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +475 -0
  56. package/coverage/lcov-report/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  57. package/coverage/lcov-report/autocomplete/index.html +221 -0
  58. package/coverage/lcov-report/autocomplete/useAutoComplete.ts.html +775 -0
  59. package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +1273 -0
  60. package/coverage/lcov-report/autocomplete/useAutocompleteAgain.ts.html +829 -0
  61. package/coverage/lcov-report/autocomplete/useAutocompletev2.ts.html +715 -0
  62. package/coverage/lcov-report/autocomplete/useInlineAutoComplete.ts.html +340 -0
  63. package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +430 -0
  64. package/coverage/lcov-report/autocomplete/useInlineSelection.ts.html +310 -0
  65. package/coverage/lcov-report/autocomplete/utils.ts.html +196 -0
  66. package/coverage/lcov-report/avatar/Avatar.tsx.html +175 -106
  67. package/coverage/lcov-report/avatar/index.html +19 -19
  68. package/coverage/lcov-report/avatar/styles.ts.html +268 -0
  69. package/coverage/lcov-report/button/AsyncButton.tsx.html +217 -10
  70. package/coverage/lcov-report/button/Button.tsx.html +97 -85
  71. package/coverage/lcov-report/button/TooltippedButton.tsx.html +445 -0
  72. package/coverage/lcov-report/button/index.html +10 -10
  73. package/coverage/lcov-report/card/Card.tsx.html +349 -0
  74. package/coverage/lcov-report/card/CardContent.tsx.html +223 -0
  75. package/coverage/lcov-report/card/ClickableCard.tsx.html +400 -0
  76. package/coverage/lcov-report/card/index.html +21 -21
  77. package/coverage/lcov-report/card/styles.ts.html +428 -392
  78. package/coverage/lcov-report/config.ts.html +33 -18
  79. package/coverage/lcov-report/cssUtils.ts.html +171 -66
  80. package/coverage/lcov-report/dialog/Dialog.tsx.html +170 -167
  81. package/coverage/lcov-report/dialog/DialogContent.tsx.html +178 -0
  82. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +169 -0
  83. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +148 -0
  84. package/coverage/lcov-report/dialog/DialogTitle.tsx.html +256 -0
  85. package/coverage/lcov-report/dialog/index.html +28 -28
  86. package/coverage/lcov-report/dialog/styles.ts.html +439 -0
  87. package/coverage/lcov-report/draggable/index.html +21 -36
  88. package/coverage/lcov-report/draggable/useDraggable.ts.html +377 -368
  89. package/coverage/lcov-report/draggable/utils.ts.html +96 -195
  90. package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +211 -0
  91. package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +12 -15
  92. package/coverage/lcov-report/expansion-panel/index.html +34 -19
  93. package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +928 -0
  94. package/coverage/lcov-report/form/AutoComplete.tsx.html +283 -0
  95. package/coverage/lcov-report/form/Form.tsx.html +22 -22
  96. package/coverage/lcov-report/form/Label.tsx.html +442 -0
  97. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +37 -25
  98. package/coverage/lcov-report/form/MenuItemTextField.tsx.html +12 -9
  99. package/coverage/lcov-report/form/OptGroup.tsx.html +169 -166
  100. package/coverage/lcov-report/form/Option.tsx.html +727 -0
  101. package/coverage/lcov-report/form/ResizingTextArea.tsx.html +442 -0
  102. package/coverage/lcov-report/form/ResizingTextAreaWrapper.tsx.html +310 -0
  103. package/coverage/lcov-report/form/Select.tsx.html +1456 -0
  104. package/coverage/lcov-report/form/SelectOriginal.tsx.html +1630 -0
  105. package/coverage/lcov-report/form/SelectV2.tsx.html +1024 -0
  106. package/coverage/lcov-report/form/SelectedOption.tsx.html +250 -0
  107. package/coverage/lcov-report/form/SimpleTextArea.tsx.html +727 -0
  108. package/coverage/lcov-report/form/Slider.tsx.html +163 -40
  109. package/coverage/lcov-report/form/SliderValueTooltip.tsx.html +319 -0
  110. package/coverage/lcov-report/form/Switch.tsx.html +310 -385
  111. package/coverage/lcov-report/form/SwitchTrack.tsx.html +98 -71
  112. package/coverage/lcov-report/form/TextArea.tsx.html +596 -740
  113. package/coverage/lcov-report/form/TextArea2.tsx.html +985 -0
  114. package/coverage/lcov-report/form/TextAreaBackup.tsx.html +1006 -0
  115. package/coverage/lcov-report/form/TextField.tsx.html +156 -234
  116. package/coverage/lcov-report/form/index.html +34 -169
  117. package/coverage/lcov-report/form/selectUtils.ts.html +188 -221
  118. package/coverage/lcov-report/form/switchStyles.ts.html +172 -0
  119. package/coverage/lcov-report/form/textAreaStyles.ts.html +8 -11
  120. package/coverage/lcov-report/form/useAutoComplete.ts.html +787 -0
  121. package/coverage/lcov-report/form/useCombobox.ts.html +454 -460
  122. package/coverage/lcov-report/form/useComboboxList.ts.html +108 -93
  123. package/coverage/lcov-report/form/useFormReset.ts.html +229 -0
  124. package/coverage/lcov-report/form/useInlineAutoComplete.ts.html +379 -0
  125. package/coverage/lcov-report/form/useRadioGroup.ts.html +79 -79
  126. package/coverage/lcov-report/form/useResizingTextArea.ts.html +631 -0
  127. package/coverage/lcov-report/form/useResizingTextArea2.ts.html +631 -0
  128. package/coverage/lcov-report/form/useSelectCombobox.ts.html +499 -0
  129. package/coverage/lcov-report/form/utils.ts.html +209 -170
  130. package/coverage/lcov-report/getListItemHeight.ts.html +298 -0
  131. package/coverage/lcov-report/hoverMode/index.html +116 -0
  132. package/coverage/lcov-report/hoverMode/useHoverMode.ts.html +676 -0
  133. package/coverage/lcov-report/icon/FontIcon.tsx.html +69 -78
  134. package/coverage/lcov-report/icon/MaterialIcon.tsx.html +235 -0
  135. package/coverage/lcov-report/icon/index.html +20 -20
  136. package/coverage/lcov-report/icon/styles.ts.html +41 -104
  137. package/coverage/lcov-report/iconConfig.tsx.html +973 -0
  138. package/coverage/lcov-report/index.html +11 -101
  139. package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +679 -0
  140. package/coverage/lcov-report/interaction/config.ts.html +181 -0
  141. package/coverage/lcov-report/interaction/index.html +33 -18
  142. package/coverage/lcov-report/link/Link.tsx.html +358 -0
  143. package/coverage/lcov-report/link/index.html +20 -20
  144. package/coverage/lcov-report/list/List.tsx.html +490 -0
  145. package/coverage/lcov-report/list/ListItem.tsx.html +886 -0
  146. package/coverage/lcov-report/list/ListItemAddon.tsx.html +286 -0
  147. package/coverage/lcov-report/list/ListItemChildren.tsx.html +445 -0
  148. package/coverage/lcov-report/list/ListItemLink.tsx.html +32 -38
  149. package/coverage/lcov-report/list/index.html +64 -19
  150. package/coverage/lcov-report/list/listItemStyles.ts.html +703 -0
  151. package/coverage/lcov-report/materialConfig.ts.html +703 -0
  152. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  153. package/coverage/lcov-report/media-queries/index.html +10 -10
  154. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +976 -0
  155. package/coverage/lcov-report/menu/Menu.tsx.html +357 -282
  156. package/coverage/lcov-report/menu/MenuConfigurationProvider.tsx.html +637 -0
  157. package/coverage/lcov-report/menu/MenuItem.tsx.html +292 -0
  158. package/coverage/lcov-report/menu/MenuItemCircularProgress.tsx.html +433 -0
  159. package/coverage/lcov-report/menu/MenuSheet.tsx.html +37 -13
  160. package/coverage/lcov-report/menu/MenuVisibilityProvider.tsx.html +48 -33
  161. package/coverage/lcov-report/menu/index.html +14 -74
  162. package/coverage/lcov-report/menu/menuConfig.ts.html +118 -0
  163. package/coverage/lcov-report/menu/useContextMenu.ts.html +490 -0
  164. package/coverage/lcov-report/menuItemInputToggleStyles.ts.html +319 -0
  165. package/coverage/lcov-report/movement/index.html +19 -19
  166. package/coverage/lcov-report/movement/useKeyboardMovementProvider.ts.html +422 -383
  167. package/coverage/lcov-report/positioning/constants.ts.html +463 -0
  168. package/coverage/lcov-report/positioning/index.html +30 -30
  169. package/coverage/lcov-report/positioning/useFixedPositioning.ts.html +1321 -0
  170. package/coverage/lcov-report/progress/CircularProgress.tsx.html +799 -0
  171. package/coverage/lcov-report/progress/LinearProgress.tsx.html +100 -94
  172. package/coverage/lcov-report/progress/index.html +19 -19
  173. package/coverage/lcov-report/searching/caseInsensitive.ts.html +685 -0
  174. package/coverage/lcov-report/searching/fuzzy.ts.html +610 -0
  175. package/coverage/lcov-report/searching/index.html +146 -0
  176. package/coverage/lcov-report/searching/toSearchQuery.ts.html +145 -0
  177. package/coverage/lcov-report/searching/useFuzzyMatch.ts.html +211 -0
  178. package/coverage/lcov-report/searching/utils.ts.html +244 -0
  179. package/coverage/lcov-report/sheet/index.html +8 -8
  180. package/coverage/lcov-report/sheet/styles.ts.html +376 -0
  181. package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +400 -0
  182. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +55 -97
  183. package/coverage/lcov-report/snackbar/Toast.tsx.html +546 -501
  184. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +269 -269
  185. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +23 -23
  186. package/coverage/lcov-report/snackbar/index.html +59 -14
  187. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +12 -87
  188. package/coverage/lcov-report/snackbar/toastStyles.ts.html +206 -146
  189. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +226 -0
  190. package/coverage/lcov-report/snackbarStyles.ts.html +46 -121
  191. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  192. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  193. package/coverage/lcov-report/src/RootHtml.tsx.html +370 -0
  194. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  195. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +207 -87
  196. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  197. package/coverage/lcov-report/src/app-bar/index.html +20 -5
  198. package/coverage/lcov-report/src/autocomplete/Autocomplete.tsx.html +364 -0
  199. package/coverage/lcov-report/src/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  200. package/coverage/lcov-report/src/autocomplete/index.html +221 -0
  201. package/coverage/lcov-report/src/autocomplete/useAutocomplete.ts.html +637 -0
  202. package/coverage/lcov-report/src/autocomplete/useAutocompleteAgain.ts.html +829 -0
  203. package/coverage/lcov-report/src/autocomplete/useAutocompletev2.ts.html +715 -0
  204. package/coverage/lcov-report/src/autocomplete/useInlineAutocomplete.ts.html +430 -0
  205. package/coverage/lcov-report/src/autocomplete/useInlineSelection.ts.html +241 -0
  206. package/coverage/lcov-report/src/autocomplete/utils.ts.html +196 -0
  207. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +36 -27
  208. package/coverage/lcov-report/src/avatar/index.html +22 -7
  209. package/coverage/lcov-report/src/avatar/styles.ts.html +77 -8
  210. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  211. package/coverage/lcov-report/src/badge/index.html +1 -1
  212. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  213. package/coverage/lcov-report/src/box/index.html +9 -9
  214. package/coverage/lcov-report/src/box/styles.ts.html +105 -51
  215. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +833 -284
  216. package/coverage/lcov-report/src/button/Button.tsx.html +81 -81
  217. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  218. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +39 -39
  219. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +445 -0
  220. package/coverage/lcov-report/src/button/buttonStyles.ts.html +59 -59
  221. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  222. package/coverage/lcov-report/src/button/index.html +1 -1
  223. package/coverage/lcov-report/src/card/Card.tsx.html +37 -31
  224. package/coverage/lcov-report/src/card/CardContent.tsx.html +4 -4
  225. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  226. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  227. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  228. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  229. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +400 -0
  230. package/coverage/lcov-report/src/card/index.html +112 -7
  231. package/coverage/lcov-report/src/card/styles.ts.html +58 -31
  232. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  233. package/coverage/lcov-report/src/chip/index.html +7 -7
  234. package/coverage/lcov-report/src/chip/styles.ts.html +9 -12
  235. package/coverage/lcov-report/src/cssUtils.ts.html +68 -59
  236. package/coverage/lcov-report/src/delegateEvent.ts.html +110 -110
  237. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +158 -155
  238. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +27 -27
  239. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +72 -72
  240. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +14 -14
  241. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +9 -9
  242. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +124 -124
  243. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  244. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +3 -3
  245. package/coverage/lcov-report/src/dialog/index.html +133 -13
  246. package/coverage/lcov-report/src/dialog/styles.ts.html +61 -61
  247. package/coverage/lcov-report/src/divider/Divider.tsx.html +27 -30
  248. package/coverage/lcov-report/src/divider/index.html +23 -8
  249. package/coverage/lcov-report/src/divider/styles.ts.html +11 -11
  250. package/coverage/lcov-report/src/draggable/index.html +27 -27
  251. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +365 -362
  252. package/coverage/lcov-report/src/draggable/utils.ts.html +94 -196
  253. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  254. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  255. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +11 -20
  256. package/coverage/lcov-report/src/expansion-panel/index.html +30 -15
  257. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  258. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +36 -24
  259. package/coverage/lcov-report/src/focus/index.html +23 -23
  260. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +142 -121
  261. package/coverage/lcov-report/src/focus/utils.ts.html +37 -37
  262. package/coverage/lcov-report/src/form/AutoComplete.tsx.html +283 -0
  263. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  264. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  265. package/coverage/lcov-report/src/form/FileInput.tsx.html +133 -139
  266. package/coverage/lcov-report/src/form/Form.tsx.html +11 -8
  267. package/coverage/lcov-report/src/form/FormMessage.tsx.html +126 -264
  268. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +42 -45
  269. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  270. package/coverage/lcov-report/src/form/InputToggle.tsx.html +116 -125
  271. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +63 -63
  272. package/coverage/lcov-report/src/form/Label.tsx.html +107 -107
  273. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  274. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +13 -7
  275. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +3 -3
  276. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +179 -221
  277. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +13 -7
  278. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  279. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +13 -4
  280. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +20 -5
  281. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  282. package/coverage/lcov-report/src/form/Option.tsx.html +4 -4
  283. package/coverage/lcov-report/src/form/Password.tsx.html +3 -3
  284. package/coverage/lcov-report/src/form/Radio.tsx.html +3 -3
  285. package/coverage/lcov-report/src/form/ResizingTextArea.tsx.html +988 -0
  286. package/coverage/lcov-report/src/form/ResizingTextAreaWrapper.tsx.html +310 -0
  287. package/coverage/lcov-report/src/form/Select.tsx.html +894 -1122
  288. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  289. package/coverage/lcov-report/src/form/SimpleTextArea.tsx.html +694 -0
  290. package/coverage/lcov-report/src/form/Slider.tsx.html +129 -9
  291. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  292. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  293. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  294. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +43 -7
  295. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  296. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +11 -5
  297. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +2 -2
  298. package/coverage/lcov-report/src/form/Switch.tsx.html +310 -373
  299. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +99 -69
  300. package/coverage/lcov-report/src/form/TextArea.tsx.html +650 -572
  301. package/coverage/lcov-report/src/form/TextArea2.tsx.html +985 -0
  302. package/coverage/lcov-report/src/form/TextAreaBackup.tsx.html +985 -0
  303. package/coverage/lcov-report/src/form/TextField.tsx.html +18 -12
  304. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +14 -26
  305. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +28 -10
  306. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +24 -15
  307. package/coverage/lcov-report/src/form/fileUtils.ts.html +3 -3
  308. package/coverage/lcov-report/src/form/formConfig.ts.html +18 -18
  309. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +40 -40
  310. package/coverage/lcov-report/src/form/index.html +37 -127
  311. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
  312. package/coverage/lcov-report/src/form/menuItemInputToggleStyles.ts.html +319 -0
  313. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +34 -7
  314. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  315. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  316. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  317. package/coverage/lcov-report/src/form/selectUtils.ts.html +6 -9
  318. package/coverage/lcov-report/src/form/sliderUtils.ts.html +20 -14
  319. package/coverage/lcov-report/src/form/switchStyles.ts.html +68 -68
  320. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +5 -5
  321. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  322. package/coverage/lcov-report/src/form/useAutoComplete.ts.html +787 -0
  323. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +2 -2
  324. package/coverage/lcov-report/src/form/useCombobox.ts.html +943 -457
  325. package/coverage/lcov-report/src/form/useEditableCombobox.ts.html +502 -0
  326. package/coverage/lcov-report/src/form/useFileUpload.ts.html +28 -19
  327. package/coverage/lcov-report/src/form/useInlineAutoComplete.ts.html +109 -0
  328. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +5 -8
  329. package/coverage/lcov-report/src/form/useNumberField.ts.html +10 -10
  330. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +68 -53
  331. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +3 -3
  332. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +634 -0
  333. package/coverage/lcov-report/src/form/useSelectCombobox.ts.html +295 -0
  334. package/coverage/lcov-report/src/form/useSlider.ts.html +2 -2
  335. package/coverage/lcov-report/src/form/useTextField.ts.html +32 -26
  336. package/coverage/lcov-report/src/form/utils.ts.html +200 -170
  337. package/coverage/lcov-report/src/form/validation.ts.html +2 -2
  338. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  339. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +104 -104
  340. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +19 -19
  341. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +34 -43
  342. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +5 -8
  343. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +36 -42
  344. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +240 -222
  345. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  346. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +51 -51
  347. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +973 -0
  348. package/coverage/lcov-report/src/icon/index.html +12 -12
  349. package/coverage/lcov-report/src/icon/material.ts.html +748 -58
  350. package/coverage/lcov-report/src/icon/materialConfig.ts.html +703 -0
  351. package/coverage/lcov-report/src/icon/styles.ts.html +47 -110
  352. package/coverage/lcov-report/src/index.html +10 -10
  353. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +60 -60
  354. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +41 -47
  355. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +240 -240
  356. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  357. package/coverage/lcov-report/src/interaction/index.html +100 -10
  358. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +146 -146
  359. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +19 -19
  360. package/coverage/lcov-report/src/interaction/utils.ts.html +171 -171
  361. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  362. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +1 -1
  363. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  364. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  365. package/coverage/lcov-report/src/layout/index.html +203 -8
  366. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +1 -1
  367. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  368. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  369. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  370. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  371. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +20 -32
  372. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  373. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  374. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  375. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  376. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +3 -3
  377. package/coverage/lcov-report/src/link/Link.tsx.html +39 -9
  378. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  379. package/coverage/lcov-report/src/link/index.html +16 -16
  380. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  381. package/coverage/lcov-report/src/list/List.tsx.html +33 -33
  382. package/coverage/lcov-report/src/list/ListItem.tsx.html +555 -534
  383. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +45 -39
  384. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +88 -82
  385. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +6 -6
  386. package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
  387. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  388. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +43 -46
  389. package/coverage/lcov-report/src/list/index.html +128 -8
  390. package/coverage/lcov-report/src/list/listItemStyles.ts.html +102 -72
  391. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +59 -59
  392. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  393. package/coverage/lcov-report/src/media-queries/index.html +20 -5
  394. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +28 -28
  395. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +73 -16
  396. package/coverage/lcov-report/src/menu/Menu.tsx.html +66 -33
  397. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  398. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +3 -3
  399. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  400. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  401. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +3 -3
  402. package/coverage/lcov-report/src/menu/MenuItemCircularProgress.tsx.html +433 -0
  403. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  404. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +6 -36
  405. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +34 -7
  406. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  407. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  408. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  409. package/coverage/lcov-report/src/menu/index.html +13 -193
  410. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  411. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  412. package/coverage/lcov-report/src/menu/utils.ts.html +10 -10
  413. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  414. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  415. package/coverage/lcov-report/src/movement/index.html +20 -20
  416. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +92 -92
  417. package/coverage/lcov-report/src/movement/utils.ts.html +143 -119
  418. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +64 -64
  419. package/coverage/lcov-report/src/overlay/index.html +1 -1
  420. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +28 -28
  421. package/coverage/lcov-report/src/portal/Portal.tsx.html +9 -9
  422. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +59 -35
  423. package/coverage/lcov-report/src/portal/index.html +23 -8
  424. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  425. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +63 -63
  426. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +65 -65
  427. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +94 -94
  428. package/coverage/lcov-report/src/positioning/index.html +70 -10
  429. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +200 -200
  430. package/coverage/lcov-report/src/positioning/utils.ts.html +111 -111
  431. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +501 -456
  432. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +419 -338
  433. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  434. package/coverage/lcov-report/src/progress/index.html +47 -32
  435. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  436. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  437. package/coverage/lcov-report/src/responsive-item/index.html +20 -5
  438. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  439. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  440. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +25 -25
  441. package/coverage/lcov-report/src/scroll/index.html +5 -5
  442. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +27 -27
  443. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +4 -4
  444. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +29 -8
  445. package/coverage/lcov-report/src/segmented-button/index.html +50 -5
  446. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +15 -6
  447. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  448. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  449. package/coverage/lcov-report/src/sheet/index.html +20 -5
  450. package/coverage/lcov-report/src/sheet/styles.ts.html +18 -21
  451. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +87 -84
  452. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +24 -174
  453. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +109 -94
  454. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  455. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +3 -3
  456. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +54 -162
  457. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +1786 -0
  458. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +21 -1701
  459. package/coverage/lcov-report/src/snackbar/index.html +163 -13
  460. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +214 -0
  461. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +196 -0
  462. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +27 -27
  463. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  464. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +159 -108
  465. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +88 -88
  466. package/coverage/lcov-report/src/suspense/index.html +32 -32
  467. package/coverage/lcov-report/src/table/Table.tsx.html +45 -114
  468. package/coverage/lcov-report/src/table/TableBody.tsx.html +43 -43
  469. package/coverage/lcov-report/src/table/TableCell.tsx.html +115 -319
  470. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +82 -28
  471. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +16 -10
  472. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +25 -31
  473. package/coverage/lcov-report/src/table/TableContainer.tsx.html +7 -28
  474. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  475. package/coverage/lcov-report/src/table/TableFooter.tsx.html +64 -43
  476. package/coverage/lcov-report/src/table/TableHeader.tsx.html +41 -92
  477. package/coverage/lcov-report/src/table/TableRadio.tsx.html +676 -0
  478. package/coverage/lcov-report/src/table/TableRow.tsx.html +38 -119
  479. package/coverage/lcov-report/src/table/index.html +226 -16
  480. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +334 -0
  481. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +142 -0
  482. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +166 -0
  483. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +172 -0
  484. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +169 -0
  485. package/coverage/lcov-report/src/table/tableStyles.ts.html +157 -0
  486. package/coverage/lcov-report/src/tabs/Tab.tsx.html +263 -143
  487. package/coverage/lcov-report/src/tabs/TabList.tsx.html +92 -92
  488. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +61 -61
  489. package/coverage/lcov-report/src/tabs/index.html +148 -13
  490. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +187 -0
  491. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +226 -0
  492. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +241 -0
  493. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +64 -28
  494. package/coverage/lcov-report/src/tabs/useTabList.ts.html +115 -109
  495. package/coverage/lcov-report/src/tabs/useTabs.ts.html +54 -54
  496. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  497. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  498. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +402 -261
  499. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +112 -0
  500. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  501. package/coverage/lcov-report/src/test-utils/index.html +7 -7
  502. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +21 -9
  503. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +55 -55
  504. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  505. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  506. package/coverage/lcov-report/src/test-utils/polyfills/TextDecoder.ts.html +106 -0
  507. package/coverage/lcov-report/src/test-utils/polyfills/TextEncoder.ts.html +100 -0
  508. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  509. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  510. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  511. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  512. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  513. package/coverage/lcov-report/src/test-utils/root-html-environment.ts.html +85 -0
  514. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  515. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  516. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +22 -4
  517. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  518. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  519. package/coverage/lcov-report/src/theme/index.html +71 -11
  520. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +25 -25
  521. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  522. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  523. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  524. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  525. package/coverage/lcov-report/src/theme/utils.ts.html +58 -58
  526. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +98 -74
  527. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +60 -6
  528. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  529. package/coverage/lcov-report/src/tooltip/index.html +72 -27
  530. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +18 -18
  531. package/coverage/lcov-report/src/tooltip/useOverflowTooltip.ts.html +196 -196
  532. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +555 -234
  533. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +29 -29
  534. package/coverage/lcov-report/src/tooltip/utils.ts.html +24 -24
  535. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  536. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  537. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  538. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  539. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +374 -338
  540. package/coverage/lcov-report/src/transition/Slide.tsx.html +46 -46
  541. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  542. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +13 -13
  543. package/coverage/lcov-report/src/transition/config.ts.html +187 -0
  544. package/coverage/lcov-report/src/transition/index.html +311 -11
  545. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  546. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +400 -0
  547. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +69 -69
  548. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  549. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +108 -162
  550. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  551. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  552. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  553. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +607 -562
  554. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +20 -20
  555. package/coverage/lcov-report/src/transition/useTransition.ts.html +277 -250
  556. package/coverage/lcov-report/src/transition/utils.ts.html +70 -70
  557. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +19 -7
  558. package/coverage/lcov-report/src/tree/Tree.tsx.html +30 -30
  559. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +45 -45
  560. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +215 -221
  561. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +3 -3
  562. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +29 -11
  563. package/coverage/lcov-report/src/tree/index.html +19 -94
  564. package/coverage/lcov-report/src/tree/styles.ts.html +4 -31
  565. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  566. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  567. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +10 -13
  568. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +87 -87
  569. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  570. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  571. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +38 -38
  572. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  573. package/coverage/lcov-report/src/typography/Typography.tsx.html +94 -94
  574. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +75 -75
  575. package/coverage/lcov-report/src/typography/index.html +64 -19
  576. package/coverage/lcov-report/src/useAsyncAction.ts.html +25 -25
  577. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +246 -240
  578. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  579. package/coverage/lcov-report/src/useElementSize.ts.html +334 -0
  580. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  581. package/coverage/lcov-report/src/useEnsuredRef.ts.html +22 -19
  582. package/coverage/lcov-report/src/useEnsuredState.ts.html +19 -19
  583. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  584. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +32 -32
  585. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  586. package/coverage/lcov-report/src/useLocalStorage.ts.html +225 -225
  587. package/coverage/lcov-report/src/useOrientation.ts.html +32 -32
  588. package/coverage/lcov-report/src/usePageInactive.ts.html +30 -30
  589. package/coverage/lcov-report/src/useResizeListener.ts.html +38 -32
  590. package/coverage/lcov-report/src/useResizeObserver.ts.html +133 -244
  591. package/coverage/lcov-report/src/useThrottledFunction.ts.html +57 -51
  592. package/coverage/lcov-report/src/useToggle.ts.html +18 -18
  593. package/coverage/lcov-report/src/useUnmounted.ts.html +11 -11
  594. package/coverage/lcov-report/src/useWindowSize.ts.html +124 -94
  595. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  596. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  597. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  598. package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
  599. package/coverage/lcov-report/src/utils/filters.ts.html +357 -84
  600. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  601. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +163 -0
  602. package/coverage/lcov-report/src/utils/getPercentage.ts.html +36 -36
  603. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +66 -87
  604. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +7 -7
  605. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  606. package/coverage/lcov-report/src/utils/index.html +14 -59
  607. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +14 -14
  608. package/coverage/lcov-report/src/utils/isValidNumber.ts.html +118 -0
  609. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  610. package/coverage/lcov-report/src/utils/nearest.ts.html +21 -21
  611. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +41 -41
  612. package/coverage/lcov-report/src/utils/randomInt.ts.html +52 -52
  613. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  614. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  615. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  616. package/coverage/lcov-report/src/window-splitter/index.html +14 -14
  617. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +19 -67
  618. package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +256 -0
  619. package/coverage/lcov-report/styles.ts.html +134 -320
  620. package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +283 -0
  621. package/coverage/lcov-report/suspense/NullSuspense.tsx.html +202 -0
  622. package/coverage/lcov-report/suspense/index.html +131 -0
  623. package/coverage/lcov-report/switchStyles.ts.html +172 -0
  624. package/coverage/lcov-report/tabIndicatorStyles.ts.html +43 -13
  625. package/coverage/lcov-report/tabListStyles.ts.html +35 -26
  626. package/coverage/lcov-report/tabStyles.ts.html +68 -26
  627. package/coverage/lcov-report/table/Table.tsx.html +526 -0
  628. package/coverage/lcov-report/table/TableBody.tsx.html +280 -0
  629. package/coverage/lcov-report/table/TableCell.tsx.html +159 -168
  630. package/coverage/lcov-report/table/TableCheckbox.tsx.html +10 -13
  631. package/coverage/lcov-report/table/TableRadio.tsx.html +670 -0
  632. package/coverage/lcov-report/table/TableRow.tsx.html +370 -0
  633. package/coverage/lcov-report/table/index.html +62 -32
  634. package/coverage/lcov-report/tableCellStyles.ts.html +334 -0
  635. package/coverage/lcov-report/tableContainerStyles.ts.html +142 -0
  636. package/coverage/lcov-report/tableFooterStyles.ts.html +157 -0
  637. package/coverage/lcov-report/tableHeaderStyles.ts.html +163 -0
  638. package/coverage/lcov-report/tableRowStyles.ts.html +169 -0
  639. package/coverage/lcov-report/tableStyles.ts.html +157 -0
  640. package/coverage/lcov-report/tabs/Tab.tsx.html +592 -0
  641. package/coverage/lcov-report/tabs/TabList.tsx.html +796 -0
  642. package/coverage/lcov-report/tabs/index.html +107 -17
  643. package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +187 -0
  644. package/coverage/lcov-report/tabs/tabListStyles.ts.html +241 -0
  645. package/coverage/lcov-report/tabs/tabStyles.ts.html +253 -0
  646. package/coverage/lcov-report/tabs/useTabList.ts.html +736 -0
  647. package/coverage/lcov-report/tabs/useTabs.ts.html +1567 -0
  648. package/coverage/lcov-report/tabs/utils.ts.html +337 -0
  649. package/coverage/lcov-report/test-utils/index.html +21 -21
  650. package/coverage/lcov-report/test-utils/jest-setup.ts.html +124 -0
  651. package/coverage/lcov-report/test-utils/use.ts.html +187 -0
  652. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +98 -74
  653. package/coverage/lcov-report/tooltip/TooltipHoverModeProvider.tsx.html +167 -11
  654. package/coverage/lcov-report/tooltip/constants.ts.html +1 -1
  655. package/coverage/lcov-report/tooltip/index.html +11 -56
  656. package/coverage/lcov-report/tooltip/tooltipStyles.ts.html +181 -0
  657. package/coverage/lcov-report/tooltip/useTooltip.ts.html +555 -234
  658. package/coverage/lcov-report/tooltipStyles.ts.html +181 -0
  659. package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +595 -0
  660. package/coverage/lcov-report/transition/config.ts.html +187 -0
  661. package/coverage/lcov-report/transition/index.html +9 -24
  662. package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +400 -0
  663. package/coverage/lcov-report/transition/useScaleTransition.ts.html +535 -0
  664. package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +952 -0
  665. package/coverage/lcov-report/transition/useTransition.ts.html +943 -0
  666. package/coverage/lcov-report/tree/Tree.tsx.html +24 -36
  667. package/coverage/lcov-report/tree/TreeItem.tsx.html +215 -221
  668. package/coverage/lcov-report/tree/TreeProvider.tsx.html +55 -10
  669. package/coverage/lcov-report/tree/index.html +19 -94
  670. package/coverage/lcov-report/tree/styles.ts.html +538 -0
  671. package/coverage/lcov-report/tree/useTreeMovement.ts.html +140 -143
  672. package/coverage/lcov-report/typography/Typography.tsx.html +138 -432
  673. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +781 -0
  674. package/coverage/lcov-report/typography/index.html +18 -18
  675. package/coverage/lcov-report/useAutoComplete.ts.html +787 -0
  676. package/coverage/lcov-report/useCollapseTransition.ts.html +166 -211
  677. package/coverage/lcov-report/useCombobox.ts.html +1513 -0
  678. package/coverage/lcov-report/useInlineAutoComplete.ts.html +379 -0
  679. package/coverage/lcov-report/useSelectCombobox.ts.html +295 -0
  680. package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +952 -0
  681. package/coverage/lcov-report/useTabList.ts.html +142 -136
  682. package/coverage/lcov-report/useTooltip.ts.html +651 -375
  683. package/coverage/lcov-report/useTransition.ts.html +934 -0
  684. package/coverage/lcov-report/useWindowSplitter.ts.html +640 -0
  685. package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +256 -0
  686. package/coverage/lcov-report/utils/alphaNumericSort.ts.html +11 -50
  687. package/coverage/lcov-report/utils/filters.ts.html +1056 -201
  688. package/coverage/lcov-report/utils/index.html +13 -43
  689. package/coverage/lcov-report/utils/isElementVisible.ts.html +12 -12
  690. package/coverage/lcov-report/utils/parseCssLengthUnit.ts.html +19 -19
  691. package/coverage/lcov-report/utils/randomInt.ts.html +148 -0
  692. package/coverage/lcov-report/utils/searching.ts.html +85 -0
  693. package/coverage/lcov-report/utils/wait.ts.html +1 -1
  694. package/coverage/lcov-report/utils.ts.html +109 -277
  695. package/coverage/lcov-report/window-splitter/index.html +21 -36
  696. package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +406 -328
  697. package/coverage/lcov.info +0 -1176
  698. package/dist/RootHtml.d.ts +62 -0
  699. package/dist/RootHtml.js +49 -0
  700. package/dist/RootHtml.js.map +1 -0
  701. package/dist/_box-shadows.scss +12 -2
  702. package/dist/_core.scss +208 -250
  703. package/dist/_utils.scss +89 -0
  704. package/dist/app-bar/AppBar.d.ts +4 -9
  705. package/dist/app-bar/AppBar.js +29 -7
  706. package/dist/app-bar/AppBar.js.map +1 -1
  707. package/dist/app-bar/_app-bar.scss +114 -122
  708. package/dist/avatar/Avatar.d.ts +16 -15
  709. package/dist/avatar/Avatar.js +7 -3
  710. package/dist/avatar/Avatar.js.map +1 -1
  711. package/dist/avatar/_avatar.scss +79 -84
  712. package/dist/avatar/styles.d.ts +20 -2
  713. package/dist/avatar/styles.js +4 -1
  714. package/dist/avatar/styles.js.map +1 -1
  715. package/dist/badge/_badge.scss +97 -59
  716. package/dist/box/_box.scss +72 -81
  717. package/dist/button/AsyncButton.d.ts +29 -0
  718. package/dist/button/AsyncButton.js +14 -1
  719. package/dist/button/AsyncButton.js.map +1 -1
  720. package/dist/button/TooltippedButton.d.ts +62 -0
  721. package/dist/button/TooltippedButton.js +62 -0
  722. package/dist/button/TooltippedButton.js.map +1 -0
  723. package/dist/button/_button.scss +170 -180
  724. package/dist/card/Card.js +3 -2
  725. package/dist/card/Card.js.map +1 -1
  726. package/dist/card/CardContent.js +1 -1
  727. package/dist/card/CardContent.js.map +1 -1
  728. package/dist/card/ClickableCard.d.ts +42 -0
  729. package/dist/card/ClickableCard.js +73 -0
  730. package/dist/card/ClickableCard.js.map +1 -0
  731. package/dist/card/_card.scss +81 -82
  732. package/dist/card/styles.d.ts +8 -0
  733. package/dist/card/styles.js +6 -3
  734. package/dist/card/styles.js.map +1 -1
  735. package/dist/chip/_chip.scss +136 -163
  736. package/dist/chip/styles.d.ts +1 -1
  737. package/dist/chip/styles.js +3 -4
  738. package/dist/chip/styles.js.map +1 -1
  739. package/dist/cssUtils.d.ts +1 -0
  740. package/dist/cssUtils.js +1 -1
  741. package/dist/cssUtils.js.map +1 -1
  742. package/dist/dialog/Dialog.d.ts +1 -1
  743. package/dist/dialog/Dialog.js +2 -1
  744. package/dist/dialog/Dialog.js.map +1 -1
  745. package/dist/dialog/FixedDialog.d.ts +5 -4
  746. package/dist/dialog/FixedDialog.js +5 -4
  747. package/dist/dialog/FixedDialog.js.map +1 -1
  748. package/dist/dialog/_dialog.scss +179 -162
  749. package/dist/divider/Divider.d.ts +0 -1
  750. package/dist/divider/Divider.js.map +1 -1
  751. package/dist/divider/_divider.scss +61 -70
  752. package/dist/draggable/_draggable.scss +16 -12
  753. package/dist/draggable/useDraggable.d.ts +12 -23
  754. package/dist/draggable/useDraggable.js +15 -6
  755. package/dist/draggable/useDraggable.js.map +1 -1
  756. package/dist/draggable/utils.d.ts +4 -17
  757. package/dist/draggable/utils.js +9 -25
  758. package/dist/draggable/utils.js.map +1 -1
  759. package/dist/expansion-panel/_expansion-panel.scss +76 -50
  760. package/dist/expansion-panel/useExpansionPanels.d.ts +5 -3
  761. package/dist/expansion-panel/useExpansionPanels.js +16 -9
  762. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  763. package/dist/focus/useFocusContainer.d.ts +8 -8
  764. package/dist/focus/useFocusContainer.js +11 -10
  765. package/dist/focus/useFocusContainer.js.map +1 -1
  766. package/dist/form/Form.d.ts +1 -1
  767. package/dist/form/Form.js +2 -1
  768. package/dist/form/Form.js.map +1 -1
  769. package/dist/form/Label.d.ts +5 -5
  770. package/dist/form/Label.js.map +1 -1
  771. package/dist/form/MenuItemInputToggle.d.ts +2 -15
  772. package/dist/form/MenuItemInputToggle.js +27 -38
  773. package/dist/form/MenuItemInputToggle.js.map +1 -1
  774. package/dist/form/MenuItemTextField.d.ts +2 -0
  775. package/dist/form/MenuItemTextField.js.map +1 -1
  776. package/dist/form/NativeSelect.d.ts +5 -2
  777. package/dist/form/NativeSelect.js.map +1 -1
  778. package/dist/form/Option.js +3 -2
  779. package/dist/form/Option.js.map +1 -1
  780. package/dist/form/ResizingTextAreaWrapper.d.ts +19 -0
  781. package/dist/form/ResizingTextAreaWrapper.js +35 -0
  782. package/dist/form/ResizingTextAreaWrapper.js.map +1 -0
  783. package/dist/form/Select.d.ts +105 -15
  784. package/dist/form/Select.js +160 -244
  785. package/dist/form/Select.js.map +1 -1
  786. package/dist/form/SelectedOption.d.ts +21 -0
  787. package/dist/form/SelectedOption.js +37 -0
  788. package/dist/form/SelectedOption.js.map +1 -0
  789. package/dist/form/Slider.d.ts +41 -5
  790. package/dist/form/Slider.js +2 -1
  791. package/dist/form/Slider.js.map +1 -1
  792. package/dist/form/SliderThumb.d.ts +7 -2
  793. package/dist/form/SliderThumb.js +4 -2
  794. package/dist/form/SliderThumb.js.map +1 -1
  795. package/dist/form/SliderValueMarks.js +1 -1
  796. package/dist/form/SliderValueMarks.js.map +1 -1
  797. package/dist/form/SliderValueTooltip.js +1 -1
  798. package/dist/form/SliderValueTooltip.js.map +1 -1
  799. package/dist/form/Switch.d.ts +3 -2
  800. package/dist/form/Switch.js +7 -26
  801. package/dist/form/Switch.js.map +1 -1
  802. package/dist/form/SwitchTrack.d.ts +2 -1
  803. package/dist/form/SwitchTrack.js +8 -4
  804. package/dist/form/SwitchTrack.js.map +1 -1
  805. package/dist/form/TextArea.d.ts +11 -0
  806. package/dist/form/TextArea.js +19 -29
  807. package/dist/form/TextArea.js.map +1 -1
  808. package/dist/form/TextField.d.ts +2 -2
  809. package/dist/form/TextField.js +7 -6
  810. package/dist/form/TextField.js.map +1 -1
  811. package/dist/form/TextFieldContainerStyles.d.ts +7 -7
  812. package/dist/form/TextFieldContainerStyles.js.map +1 -1
  813. package/dist/form/_form.scss +1339 -1256
  814. package/dist/form/menuItemInputToggleStyles.d.ts +39 -0
  815. package/dist/form/menuItemInputToggleStyles.js +31 -0
  816. package/dist/form/menuItemInputToggleStyles.js.map +1 -0
  817. package/dist/form/selectUtils.d.ts +1 -3
  818. package/dist/form/selectUtils.js +2 -10
  819. package/dist/form/selectUtils.js.map +1 -1
  820. package/dist/form/switchStyles.d.ts +1 -0
  821. package/dist/form/switchStyles.js +2 -1
  822. package/dist/form/switchStyles.js.map +1 -1
  823. package/dist/form/textAreaStyles.d.ts +2 -2
  824. package/dist/form/textAreaStyles.js.map +1 -1
  825. package/dist/form/types.d.ts +6 -8
  826. package/dist/form/types.js.map +1 -1
  827. package/dist/form/useCombobox.d.ts +157 -0
  828. package/dist/form/useCombobox.js +206 -0
  829. package/dist/form/useCombobox.js.map +1 -0
  830. package/dist/form/useEditableCombobox.d.ts +15 -0
  831. package/dist/form/useEditableCombobox.js +101 -0
  832. package/dist/form/useEditableCombobox.js.map +1 -0
  833. package/dist/form/useFormReset.d.ts +16 -0
  834. package/dist/form/useFormReset.js +32 -0
  835. package/dist/form/useFormReset.js.map +1 -0
  836. package/dist/form/useListboxProvider.d.ts +4 -2
  837. package/dist/form/useListboxProvider.js +6 -8
  838. package/dist/form/useListboxProvider.js.map +1 -1
  839. package/dist/form/useResizingTextArea.d.ts +5 -2
  840. package/dist/form/useResizingTextArea.js +52 -21
  841. package/dist/form/useResizingTextArea.js.map +1 -1
  842. package/dist/form/useSelectCombobox.d.ts +17 -0
  843. package/dist/form/useSelectCombobox.js +36 -0
  844. package/dist/form/useSelectCombobox.js.map +1 -0
  845. package/dist/form/utils.d.ts +11 -1
  846. package/dist/form/utils.js +6 -0
  847. package/dist/form/utils.js.map +1 -1
  848. package/dist/hoverMode/useHoverMode.d.ts +2 -2
  849. package/dist/hoverMode/useHoverMode.js +1 -1
  850. package/dist/hoverMode/useHoverMode.js.map +1 -1
  851. package/dist/icon/FontIcon.d.ts +2 -1
  852. package/dist/icon/FontIcon.js +4 -5
  853. package/dist/icon/FontIcon.js.map +1 -1
  854. package/dist/icon/IconRotator.js +2 -3
  855. package/dist/icon/IconRotator.js.map +1 -1
  856. package/dist/icon/MaterialIcon.d.ts +2 -2
  857. package/dist/icon/MaterialIcon.js +3 -6
  858. package/dist/icon/MaterialIcon.js.map +1 -1
  859. package/dist/icon/MaterialSymbol.d.ts +15 -8
  860. package/dist/icon/MaterialSymbol.js +15 -11
  861. package/dist/icon/MaterialSymbol.js.map +1 -1
  862. package/dist/icon/_icon.scss +105 -112
  863. package/dist/icon/iconConfig.js.map +1 -1
  864. package/dist/icon/material.d.ts +1 -1
  865. package/dist/icon/material.js.map +1 -1
  866. package/dist/icon/{MaterialSymbolsProvider.d.ts → materialConfig.d.ts} +25 -14
  867. package/dist/icon/materialConfig.js +29 -0
  868. package/dist/icon/materialConfig.js.map +1 -0
  869. package/dist/icon/styles.d.ts +0 -15
  870. package/dist/icon/styles.js +2 -4
  871. package/dist/icon/styles.js.map +1 -1
  872. package/dist/index.d.ts +30 -7
  873. package/dist/index.js +30 -7
  874. package/dist/index.js.map +1 -1
  875. package/dist/interaction/_interaction.scss +144 -135
  876. package/dist/layout/_layout.scss +82 -86
  877. package/dist/layout/useLayoutAppBarHeight.js +5 -9
  878. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  879. package/dist/link/Link.d.ts +12 -6
  880. package/dist/link/Link.js +1 -2
  881. package/dist/link/Link.js.map +1 -1
  882. package/dist/link/_link.scss +74 -66
  883. package/dist/list/ListItem.d.ts +8 -3
  884. package/dist/list/ListItem.js +4 -3
  885. package/dist/list/ListItem.js.map +1 -1
  886. package/dist/list/ListItemAddon.js +2 -1
  887. package/dist/list/ListItemAddon.js.map +1 -1
  888. package/dist/list/ListItemChildren.js +3 -2
  889. package/dist/list/ListItemChildren.js.map +1 -1
  890. package/dist/list/ListItemLink.d.ts +1 -1
  891. package/dist/list/ListItemLink.js +3 -3
  892. package/dist/list/ListItemLink.js.map +1 -1
  893. package/dist/list/_list.scss +187 -184
  894. package/dist/list/getListItemHeight.d.ts +0 -1
  895. package/dist/list/getListItemHeight.js +2 -2
  896. package/dist/list/getListItemHeight.js.map +1 -1
  897. package/dist/list/listItemStyles.d.ts +9 -1
  898. package/dist/list/listItemStyles.js +5 -5
  899. package/dist/list/listItemStyles.js.map +1 -1
  900. package/dist/list/types.d.ts +25 -6
  901. package/dist/list/types.js.map +1 -1
  902. package/dist/menu/DropdownMenu.d.ts +12 -1
  903. package/dist/menu/DropdownMenu.js +13 -4
  904. package/dist/menu/DropdownMenu.js.map +1 -1
  905. package/dist/menu/Menu.d.ts +8 -0
  906. package/dist/menu/Menu.js +14 -2
  907. package/dist/menu/Menu.js.map +1 -1
  908. package/dist/menu/MenuItemCircularProgress.d.ts +60 -0
  909. package/dist/menu/MenuItemCircularProgress.js +74 -0
  910. package/dist/menu/MenuItemCircularProgress.js.map +1 -0
  911. package/dist/menu/MenuItemSeparator.d.ts +1 -2
  912. package/dist/menu/MenuItemSeparator.js +2 -8
  913. package/dist/menu/MenuItemSeparator.js.map +1 -1
  914. package/dist/menu/MenuSheet.d.ts +6 -1
  915. package/dist/menu/MenuSheet.js.map +1 -1
  916. package/dist/menu/_menu.scss +29 -50
  917. package/dist/menu/useContextMenu.d.ts +3 -3
  918. package/dist/menu/useContextMenu.js +3 -3
  919. package/dist/menu/useContextMenu.js.map +1 -1
  920. package/dist/movement/types.d.ts +40 -21
  921. package/dist/movement/types.js.map +1 -1
  922. package/dist/movement/useKeyboardMovementProvider.js +15 -4
  923. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  924. package/dist/movement/utils.d.ts +7 -2
  925. package/dist/movement/utils.js +10 -0
  926. package/dist/movement/utils.js.map +1 -1
  927. package/dist/overlay/_overlay.scss +39 -42
  928. package/dist/portal/PortalContainerProvider.d.ts +2 -2
  929. package/dist/portal/PortalContainerProvider.js +6 -1
  930. package/dist/portal/PortalContainerProvider.js.map +1 -1
  931. package/dist/positioning/useFixedPositioning.js +0 -8
  932. package/dist/positioning/useFixedPositioning.js.map +1 -1
  933. package/dist/progress/CircularProgress.d.ts +5 -4
  934. package/dist/progress/CircularProgress.js +3 -3
  935. package/dist/progress/CircularProgress.js.map +1 -1
  936. package/dist/progress/LinearProgress.d.ts +7 -5
  937. package/dist/progress/LinearProgress.js +4 -3
  938. package/dist/progress/LinearProgress.js.map +1 -1
  939. package/dist/progress/_progress.scss +33 -33
  940. package/dist/responsive-item/_responsive-item.scss +91 -89
  941. package/dist/searching/caseInsensitive.d.ts +150 -0
  942. package/dist/searching/caseInsensitive.js +30 -0
  943. package/dist/searching/caseInsensitive.js.map +1 -0
  944. package/dist/searching/fuzzy.d.ts +128 -0
  945. package/dist/searching/fuzzy.js +54 -0
  946. package/dist/searching/fuzzy.js.map +1 -0
  947. package/dist/searching/toSearchQuery.d.ts +7 -0
  948. package/dist/searching/toSearchQuery.js +15 -0
  949. package/dist/searching/toSearchQuery.js.map +1 -0
  950. package/dist/searching/types.d.ts +28 -0
  951. package/dist/searching/types.js +5 -0
  952. package/dist/searching/types.js.map +1 -0
  953. package/dist/searching/useFuzzyMatch.d.ts +19 -0
  954. package/dist/searching/useFuzzyMatch.js +26 -0
  955. package/dist/searching/useFuzzyMatch.js.map +1 -0
  956. package/dist/searching/utils.d.ts +21 -0
  957. package/dist/searching/utils.js +28 -0
  958. package/dist/searching/utils.js.map +1 -0
  959. package/dist/segmented-button/_segmented-button.scss +89 -90
  960. package/dist/sheet/_sheet.scss +107 -123
  961. package/dist/sheet/styles.d.ts +14 -15
  962. package/dist/sheet/styles.js.map +1 -1
  963. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  964. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  965. package/dist/snackbar/Snackbar.d.ts +10 -10
  966. package/dist/snackbar/Snackbar.js +3 -3
  967. package/dist/snackbar/Snackbar.js.map +1 -1
  968. package/dist/snackbar/Toast.d.ts +1 -1
  969. package/dist/snackbar/Toast.js +5 -1
  970. package/dist/snackbar/Toast.js.map +1 -1
  971. package/dist/snackbar/ToastManager.d.ts +2 -1
  972. package/dist/snackbar/ToastManager.js +1 -1
  973. package/dist/snackbar/ToastManager.js.map +1 -1
  974. package/dist/snackbar/_snackbar.scss +148 -144
  975. package/dist/snackbar/snackbarStyles.d.ts +1 -0
  976. package/dist/snackbar/snackbarStyles.js +2 -1
  977. package/dist/snackbar/snackbarStyles.js.map +1 -1
  978. package/dist/suspense/CircularProgressSuspense.d.ts +4 -0
  979. package/dist/suspense/CircularProgressSuspense.js +3 -1
  980. package/dist/suspense/CircularProgressSuspense.js.map +1 -1
  981. package/dist/table/Table.d.ts +0 -12
  982. package/dist/table/Table.js +1 -12
  983. package/dist/table/Table.js.map +1 -1
  984. package/dist/table/TableCell.d.ts +13 -38
  985. package/dist/table/TableCell.js +7 -15
  986. package/dist/table/TableCell.js.map +1 -1
  987. package/dist/table/TableCellContent.d.ts +9 -0
  988. package/dist/table/TableCellContent.js +2 -1
  989. package/dist/table/TableCellContent.js.map +1 -1
  990. package/dist/table/TableCheckbox.d.ts +5 -4
  991. package/dist/table/TableCheckbox.js +7 -5
  992. package/dist/table/TableCheckbox.js.map +1 -1
  993. package/dist/table/TableContainer.d.ts +0 -6
  994. package/dist/table/TableContainer.js +1 -6
  995. package/dist/table/TableContainer.js.map +1 -1
  996. package/dist/table/TableFooter.d.ts +7 -1
  997. package/dist/table/TableFooter.js +17 -16
  998. package/dist/table/TableFooter.js.map +1 -1
  999. package/dist/table/TableHeader.d.ts +7 -14
  1000. package/dist/table/TableHeader.js +6 -14
  1001. package/dist/table/TableHeader.js.map +1 -1
  1002. package/dist/table/TableRadio.d.ts +107 -0
  1003. package/dist/table/TableRadio.js +108 -0
  1004. package/dist/table/TableRadio.js.map +1 -0
  1005. package/dist/table/TableRow.d.ts +0 -10
  1006. package/dist/table/TableRow.js +1 -12
  1007. package/dist/table/TableRow.js.map +1 -1
  1008. package/dist/table/_table.scss +217 -232
  1009. package/dist/table/tableCellStyles.d.ts +33 -0
  1010. package/dist/table/tableCellStyles.js +15 -0
  1011. package/dist/table/tableCellStyles.js.map +1 -0
  1012. package/dist/table/tableContainerStyles.d.ts +10 -0
  1013. package/dist/table/tableContainerStyles.js +9 -0
  1014. package/dist/table/tableContainerStyles.js.map +1 -0
  1015. package/dist/table/tableFooterStyles.d.ts +10 -0
  1016. package/dist/table/tableFooterStyles.js +12 -0
  1017. package/dist/table/tableFooterStyles.js.map +1 -0
  1018. package/dist/table/tableHeaderStyles.d.ts +10 -0
  1019. package/dist/table/tableHeaderStyles.js +13 -0
  1020. package/dist/table/tableHeaderStyles.js.map +1 -0
  1021. package/dist/table/tableRowStyles.d.ts +10 -0
  1022. package/dist/table/tableRowStyles.js +14 -0
  1023. package/dist/table/tableRowStyles.js.map +1 -0
  1024. package/dist/table/tableStyles.d.ts +12 -0
  1025. package/dist/table/tableStyles.js +14 -0
  1026. package/dist/table/tableStyles.js.map +1 -0
  1027. package/dist/table/types.d.ts +28 -15
  1028. package/dist/table/types.js.map +1 -1
  1029. package/dist/tabs/Tab.d.ts +24 -3
  1030. package/dist/tabs/Tab.js +15 -8
  1031. package/dist/tabs/Tab.js.map +1 -1
  1032. package/dist/tabs/_tabs.scss +64 -53
  1033. package/dist/tabs/tabIndicatorStyles.d.ts +2 -1
  1034. package/dist/tabs/tabIndicatorStyles.js +6 -3
  1035. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  1036. package/dist/tabs/tabListStyles.js +2 -1
  1037. package/dist/tabs/tabListStyles.js.map +1 -1
  1038. package/dist/tabs/tabStyles.d.ts +2 -0
  1039. package/dist/tabs/tabStyles.js +6 -3
  1040. package/dist/tabs/tabStyles.js.map +1 -1
  1041. package/dist/tabs/useTabList.d.ts +3 -3
  1042. package/dist/tabs/useTabList.js +9 -6
  1043. package/dist/tabs/useTabList.js.map +1 -1
  1044. package/dist/test-utils/IntersectionObserver.d.ts +12 -0
  1045. package/dist/test-utils/ResizeObserver.d.ts +214 -0
  1046. package/dist/test-utils/ResizeObserver.js +69 -49
  1047. package/dist/test-utils/ResizeObserver.js.map +1 -1
  1048. package/dist/test-utils/data-testid.d.ts +7 -0
  1049. package/dist/test-utils/data-testid.js +3 -0
  1050. package/dist/test-utils/data-testid.js.map +1 -0
  1051. package/dist/test-utils/drag.d.ts +26 -0
  1052. package/dist/test-utils/index.d.ts +7 -0
  1053. package/dist/test-utils/jest-setup.d.ts +1 -0
  1054. package/dist/test-utils/jest-setup.js +3 -0
  1055. package/dist/test-utils/jest-setup.js.map +1 -1
  1056. package/dist/test-utils/matchMedia.d.ts +101 -0
  1057. package/dist/test-utils/matchMedia.js +2 -2
  1058. package/dist/test-utils/matchMedia.js.map +1 -1
  1059. package/dist/test-utils/polyfills/IntersectionObserver.d.ts +1 -0
  1060. package/dist/test-utils/polyfills/ResizeObserver.d.ts +1 -0
  1061. package/dist/test-utils/polyfills/TextDecoder.d.ts +1 -0
  1062. package/dist/test-utils/polyfills/TextDecoder.js +8 -0
  1063. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -0
  1064. package/dist/test-utils/polyfills/TextEncoder.d.ts +1 -0
  1065. package/dist/test-utils/polyfills/TextEncoder.js +6 -0
  1066. package/dist/test-utils/polyfills/TextEncoder.js.map +1 -0
  1067. package/dist/test-utils/polyfills/index.d.ts +7 -0
  1068. package/dist/test-utils/polyfills/index.js +2 -0
  1069. package/dist/test-utils/polyfills/index.js.map +1 -1
  1070. package/dist/test-utils/polyfills/matchMedia.d.ts +1 -0
  1071. package/dist/test-utils/polyfills/offsetParent.d.ts +1 -0
  1072. package/dist/test-utils/polyfills/scrollIntoView.d.ts +1 -0
  1073. package/dist/test-utils/render.d.ts +13 -0
  1074. package/dist/test-utils/timers.d.ts +39 -0
  1075. package/dist/theme/ThemeProvider.d.ts +5 -0
  1076. package/dist/theme/ThemeProvider.js.map +1 -1
  1077. package/dist/theme/_theme.scss +243 -133
  1078. package/dist/tooltip/Tooltip.d.ts +13 -6
  1079. package/dist/tooltip/Tooltip.js +2 -2
  1080. package/dist/tooltip/Tooltip.js.map +1 -1
  1081. package/dist/tooltip/TooltipHoverModeProvider.d.ts +15 -0
  1082. package/dist/tooltip/TooltipHoverModeProvider.js.map +1 -1
  1083. package/dist/tooltip/_tooltip.scss +76 -82
  1084. package/dist/tooltip/tooltipStyles.d.ts +2 -1
  1085. package/dist/tooltip/tooltipStyles.js +2 -2
  1086. package/dist/tooltip/tooltipStyles.js.map +1 -1
  1087. package/dist/tooltip/useTooltip.d.ts +83 -20
  1088. package/dist/tooltip/useTooltip.js +68 -7
  1089. package/dist/tooltip/useTooltip.js.map +1 -1
  1090. package/dist/transition/SkeletonPlaceholder.d.ts +2 -2
  1091. package/dist/transition/SkeletonPlaceholder.js +8 -3
  1092. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  1093. package/dist/transition/_transition.scss +89 -78
  1094. package/dist/transition/config.d.ts +22 -0
  1095. package/dist/transition/config.js +16 -0
  1096. package/dist/transition/config.js.map +1 -0
  1097. package/dist/transition/skeletonPlaceholderUtils.d.ts +77 -0
  1098. package/dist/transition/skeletonPlaceholderUtils.js +38 -0
  1099. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
  1100. package/dist/transition/useCollapseTransition.d.ts +3 -18
  1101. package/dist/transition/useCollapseTransition.js +1 -10
  1102. package/dist/transition/useCollapseTransition.js.map +1 -1
  1103. package/dist/transition/useSkeletonPlaceholder.d.ts +12 -7
  1104. package/dist/transition/useSkeletonPlaceholder.js +38 -37
  1105. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  1106. package/dist/transition/useTransition.js +15 -6
  1107. package/dist/transition/useTransition.js.map +1 -1
  1108. package/dist/transition/utils.js +7 -2
  1109. package/dist/transition/utils.js.map +1 -1
  1110. package/dist/tree/DefaultTreeItemRenderer.d.ts +3 -3
  1111. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  1112. package/dist/tree/Tree.d.ts +9 -5
  1113. package/dist/tree/Tree.js +18 -21
  1114. package/dist/tree/Tree.js.map +1 -1
  1115. package/dist/tree/TreeItem.js +4 -7
  1116. package/dist/tree/TreeItem.js.map +1 -1
  1117. package/dist/tree/TreeProvider.d.ts +2 -0
  1118. package/dist/tree/TreeProvider.js +3 -1
  1119. package/dist/tree/TreeProvider.js.map +1 -1
  1120. package/dist/tree/_tree.scss +111 -109
  1121. package/dist/tree/styles.d.ts +0 -6
  1122. package/dist/tree/styles.js +1 -2
  1123. package/dist/tree/styles.js.map +1 -1
  1124. package/dist/tree/useTreeMovement.js +1 -1
  1125. package/dist/tree/useTreeMovement.js.map +1 -1
  1126. package/dist/types.d.ts +13 -0
  1127. package/dist/types.js +1 -2
  1128. package/dist/types.js.map +1 -1
  1129. package/dist/typography/SrOnly.d.ts +3 -3
  1130. package/dist/typography/SrOnly.js +4 -4
  1131. package/dist/typography/SrOnly.js.map +1 -1
  1132. package/dist/typography/Typography.d.ts +19 -19
  1133. package/dist/typography/Typography.js +19 -19
  1134. package/dist/typography/Typography.js.map +1 -1
  1135. package/dist/typography/WritingDirectionProvider.d.ts +2 -2
  1136. package/dist/typography/WritingDirectionProvider.js +2 -2
  1137. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  1138. package/dist/typography/_typography.scss +141 -87
  1139. package/dist/useDebouncedFunction.d.ts +2 -2
  1140. package/dist/useDebouncedFunction.js +10 -6
  1141. package/dist/useDebouncedFunction.js.map +1 -1
  1142. package/dist/useElementSize.d.ts +40 -0
  1143. package/dist/useElementSize.js +53 -0
  1144. package/dist/useElementSize.js.map +1 -0
  1145. package/dist/useEnsuredState.d.ts +1 -1
  1146. package/dist/useEnsuredState.js.map +1 -1
  1147. package/dist/useResizeListener.d.ts +1 -1
  1148. package/dist/useResizeListener.js +1 -0
  1149. package/dist/useResizeListener.js.map +1 -1
  1150. package/dist/useResizeObserver.d.ts +4 -43
  1151. package/dist/useResizeObserver.js +4 -43
  1152. package/dist/useResizeObserver.js.map +1 -1
  1153. package/dist/useThrottledFunction.d.ts +2 -2
  1154. package/dist/useThrottledFunction.js +20 -16
  1155. package/dist/useThrottledFunction.js.map +1 -1
  1156. package/dist/useWindowSize.d.ts +14 -11
  1157. package/dist/useWindowSize.js +12 -7
  1158. package/dist/useWindowSize.js.map +1 -1
  1159. package/dist/utils/alphaNumericSort.d.ts +1 -1
  1160. package/dist/utils/alphaNumericSort.js +2 -10
  1161. package/dist/utils/alphaNumericSort.js.map +1 -1
  1162. package/dist/utils/getMiddleOfRange.d.ts +13 -0
  1163. package/dist/utils/getMiddleOfRange.js +20 -0
  1164. package/dist/utils/getMiddleOfRange.js.map +1 -0
  1165. package/dist/utils/getRangeDefaultValue.d.ts +3 -5
  1166. package/dist/utils/getRangeDefaultValue.js +3 -13
  1167. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  1168. package/dist/utils/getRangeSteps.d.ts +1 -1
  1169. package/dist/utils/getRangeSteps.js +2 -2
  1170. package/dist/utils/getRangeSteps.js.map +1 -1
  1171. package/dist/utils/nearest.js +1 -1
  1172. package/dist/utils/nearest.js.map +1 -1
  1173. package/dist/window-splitter/_window-splitter.scss +83 -112
  1174. package/dist/window-splitter/useWindowSplitter.d.ts +3 -5
  1175. package/dist/window-splitter/useWindowSplitter.js +3 -11
  1176. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  1177. package/jest.config.ts +4 -0
  1178. package/package.json +38 -40
  1179. package/scripts/{copySassFiles.js → copySassFiles.ts} +5 -5
  1180. package/scripts/tsconfig.json +18 -0
  1181. package/src/RootHtml.tsx +95 -0
  1182. package/src/__tests__/NoSsr.tsx +5 -5
  1183. package/src/__tests__/RootHtml.node.tsx +46 -0
  1184. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +19 -0
  1185. package/src/__tests__/useAsyncAction.tsx +14 -6
  1186. package/src/__tests__/useDebouncedFunction.tsx +68 -24
  1187. package/src/__tests__/useDropzone.tsx +10 -10
  1188. package/src/__tests__/useElementSize.tsx +181 -0
  1189. package/src/__tests__/useEnsuredId.tsx +5 -5
  1190. package/src/__tests__/useEnsuredState.tsx +1 -2
  1191. package/src/__tests__/useLocalStorage.tsx +21 -21
  1192. package/src/__tests__/useResizeObserver.tsx +2 -0
  1193. package/src/__tests__/useThrottledFunction.tsx +63 -8
  1194. package/src/__tests__/useToggle.tsx +10 -10
  1195. package/src/__tests__/useWindowSize.node.tsx +56 -0
  1196. package/src/__tests__/useWindowSize.tsx +156 -0
  1197. package/src/_box-shadows.scss +12 -2
  1198. package/src/_core.scss +208 -250
  1199. package/src/_utils.scss +89 -0
  1200. package/src/app-bar/AppBar.tsx +59 -19
  1201. package/src/app-bar/__tests__/AppBar.tsx +15 -15
  1202. package/src/app-bar/__tests__/AppBarTitle.tsx +3 -5
  1203. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +21 -21
  1204. package/src/app-bar/_app-bar.scss +114 -122
  1205. package/src/avatar/Avatar.tsx +36 -23
  1206. package/src/avatar/__tests__/Avatar.tsx +6 -6
  1207. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +6 -6
  1208. package/src/avatar/_avatar.scss +79 -84
  1209. package/src/avatar/styles.ts +27 -4
  1210. package/src/badge/__tests__/Badge.tsx +3 -3
  1211. package/src/badge/_badge.scss +97 -59
  1212. package/src/box/_box.scss +72 -81
  1213. package/src/button/AsyncButton.tsx +71 -4
  1214. package/src/button/TooltippedButton.tsx +120 -0
  1215. package/src/button/__tests__/AsyncButton.tsx +2 -0
  1216. package/src/button/__tests__/Button.tsx +12 -12
  1217. package/src/button/__tests__/ButtonUnstyled.tsx +3 -3
  1218. package/src/button/__tests__/TooltippedButton.tsx +60 -0
  1219. package/src/button/__tests__/__snapshots__/AsyncButton.tsx.snap +31 -8
  1220. package/src/button/__tests__/__snapshots__/Button.tsx.snap +1 -1
  1221. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +26 -0
  1222. package/src/button/_button.scss +170 -180
  1223. package/src/card/Card.tsx +5 -3
  1224. package/src/card/CardContent.tsx +3 -3
  1225. package/src/card/ClickableCard.tsx +105 -0
  1226. package/src/card/__tests__/Card.tsx +3 -3
  1227. package/src/card/__tests__/CardContent.tsx +3 -3
  1228. package/src/card/__tests__/CardFooter.tsx +3 -3
  1229. package/src/card/__tests__/CardHeader.tsx +5 -5
  1230. package/src/card/__tests__/CardSubtitle.tsx +3 -3
  1231. package/src/card/__tests__/CardTitle.tsx +3 -3
  1232. package/src/card/__tests__/ClickableCard.tsx +66 -0
  1233. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +1 -1
  1234. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +2 -2
  1235. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +20 -0
  1236. package/src/card/__tests__/__snapshots__/styles.ts.snap +1 -1
  1237. package/src/card/_card.scss +81 -82
  1238. package/src/card/styles.ts +19 -10
  1239. package/src/chip/__tests__/Chip.tsx +20 -22
  1240. package/src/chip/__tests__/__snapshots__/Chip.tsx.snap +3 -3
  1241. package/src/chip/__tests__/__snapshots__/styles.ts.snap +1 -1
  1242. package/src/chip/_chip.scss +136 -163
  1243. package/src/chip/styles.ts +4 -5
  1244. package/src/cssUtils.ts +4 -1
  1245. package/src/dialog/Dialog.tsx +5 -4
  1246. package/src/dialog/FixedDialog.tsx +5 -4
  1247. package/src/dialog/__tests__/Dialog.tsx +316 -0
  1248. package/src/dialog/__tests__/DialogContent.tsx +53 -0
  1249. package/src/dialog/__tests__/DialogFooter.tsx +70 -0
  1250. package/src/dialog/__tests__/DialogHeader.tsx +37 -0
  1251. package/src/dialog/__tests__/DialogTitle.tsx +41 -0
  1252. package/src/dialog/__tests__/__snapshots__/Dialog.tsx.snap +84 -0
  1253. package/src/dialog/__tests__/__snapshots__/DialogContent.tsx.snap +36 -0
  1254. package/src/dialog/__tests__/__snapshots__/DialogFooter.tsx.snap +186 -0
  1255. package/src/dialog/__tests__/__snapshots__/DialogHeader.tsx.snap +18 -0
  1256. package/src/dialog/__tests__/__snapshots__/DialogTitle.tsx.snap +26 -0
  1257. package/src/dialog/_dialog.scss +179 -162
  1258. package/src/divider/Divider.tsx +0 -1
  1259. package/src/divider/__tests__/Divider.tsx +3 -3
  1260. package/src/divider/_divider.scss +61 -70
  1261. package/src/draggable/__tests__/useDraggable.tsx +35 -39
  1262. package/src/draggable/_draggable.scss +16 -12
  1263. package/src/draggable/useDraggable.ts +26 -25
  1264. package/src/draggable/utils.ts +16 -50
  1265. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +30 -25
  1266. package/src/expansion-panel/_expansion-panel.scss +76 -50
  1267. package/src/expansion-panel/useExpansionPanels.ts +20 -16
  1268. package/src/focus/__tests__/useFocusContainer.tsx +280 -0
  1269. package/src/focus/useFocusContainer.ts +17 -10
  1270. package/src/form/Form.tsx +2 -1
  1271. package/src/form/Label.tsx +5 -5
  1272. package/src/form/MenuItemInputToggle.tsx +47 -61
  1273. package/src/form/MenuItemTextField.tsx +3 -0
  1274. package/src/form/NativeSelect.tsx +6 -3
  1275. package/src/form/Option.tsx +8 -2
  1276. package/src/form/ResizingTextAreaWrapper.tsx +75 -0
  1277. package/src/form/Select.tsx +251 -327
  1278. package/src/form/SelectedOption.tsx +55 -0
  1279. package/src/form/Slider.tsx +45 -5
  1280. package/src/form/SliderThumb.tsx +15 -3
  1281. package/src/form/SliderValueMarks.tsx +3 -1
  1282. package/src/form/SliderValueTooltip.tsx +1 -1
  1283. package/src/form/Switch.tsx +6 -27
  1284. package/src/form/SwitchTrack.tsx +12 -2
  1285. package/src/form/TextArea.tsx +40 -32
  1286. package/src/form/TextField.tsx +19 -19
  1287. package/src/form/TextFieldContainerStyles.ts +7 -7
  1288. package/src/form/__tests__/Checkbox.tsx +5 -5
  1289. package/src/form/__tests__/Fieldset.tsx +3 -3
  1290. package/src/form/__tests__/FileInput.tsx +2 -2
  1291. package/src/form/__tests__/Label.tsx +3 -3
  1292. package/src/form/__tests__/Legend.tsx +3 -3
  1293. package/src/form/__tests__/MenuItemCheckbox.tsx +53 -0
  1294. package/src/form/__tests__/MenuItemRadio.tsx +53 -0
  1295. package/src/form/__tests__/Radio.tsx +3 -3
  1296. package/src/form/__tests__/Select.tsx +439 -0
  1297. package/src/form/__tests__/Switch.tsx +152 -0
  1298. package/src/form/__tests__/TextArea.tsx +433 -0
  1299. package/src/form/__tests__/TextField.tsx +195 -0
  1300. package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +23 -23
  1301. package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +96 -0
  1302. package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +96 -0
  1303. package/src/form/__tests__/__snapshots__/Select.tsx.snap +492 -0
  1304. package/src/form/__tests__/__snapshots__/Switch.tsx.snap +428 -0
  1305. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +548 -0
  1306. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +279 -0
  1307. package/src/form/__tests__/__snapshots__/useCheckboxGroup.tsx.snap +1 -1
  1308. package/src/form/__tests__/__snapshots__/useRadioGroup.tsx.snap +1 -1
  1309. package/src/form/__tests__/useCheckboxGroup.tsx +33 -33
  1310. package/src/form/__tests__/useFileUpload.tsx +41 -33
  1311. package/src/form/__tests__/useFormReset.tsx +195 -0
  1312. package/src/form/__tests__/useRadioGroup.tsx +25 -25
  1313. package/src/form/_form.scss +1339 -1256
  1314. package/src/form/menuItemInputToggleStyles.ts +78 -0
  1315. package/src/form/selectUtils.ts +3 -14
  1316. package/src/form/switchStyles.ts +3 -3
  1317. package/src/form/textAreaStyles.ts +2 -2
  1318. package/src/form/types.ts +6 -8
  1319. package/src/form/useCombobox.ts +523 -0
  1320. package/src/form/useEditableCombobox.ts +139 -0
  1321. package/src/form/useFormReset.ts +48 -0
  1322. package/src/form/useListboxProvider.ts +9 -7
  1323. package/src/form/useResizingTextArea.ts +66 -25
  1324. package/src/form/useSelectCombobox.ts +70 -0
  1325. package/src/form/utils.ts +17 -4
  1326. package/src/hoverMode/useHoverMode.ts +4 -4
  1327. package/src/icon/FontIcon.tsx +2 -5
  1328. package/src/icon/IconRotator.tsx +1 -2
  1329. package/src/icon/MaterialIcon.tsx +4 -6
  1330. package/src/icon/MaterialSymbol.tsx +18 -12
  1331. package/src/icon/__tests__/FontIcon.tsx +7 -11
  1332. package/src/icon/__tests__/IconRotator.tsx +4 -4
  1333. package/src/icon/__tests__/MaterialIcon.tsx +79 -0
  1334. package/src/icon/__tests__/MaterialSymbol.tsx +100 -0
  1335. package/src/icon/__tests__/SVGIcon.tsx +6 -5
  1336. package/src/icon/__tests__/TextIconSpacing.tsx +15 -17
  1337. package/src/icon/__tests__/__snapshots__/IconRotator.tsx.snap +6 -6
  1338. package/src/icon/__tests__/__snapshots__/MaterialIcon.tsx.snap +82 -0
  1339. package/src/icon/__tests__/__snapshots__/MaterialSymbol.tsx.snap +42 -0
  1340. package/src/icon/_icon.scss +105 -112
  1341. package/src/icon/iconConfig.tsx +1 -0
  1342. package/src/icon/material.ts +284 -54
  1343. package/src/icon/{MaterialSymbolsProvider.tsx → materialConfig.ts} +49 -67
  1344. package/src/icon/styles.ts +0 -21
  1345. package/src/index.ts +30 -7
  1346. package/src/interaction/__tests__/UserInteractionModeProvider.tsx +3 -3
  1347. package/src/interaction/_interaction.scss +144 -135
  1348. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +4 -4
  1349. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +1 -1
  1350. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +18 -18
  1351. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +1 -1
  1352. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +1 -1
  1353. package/src/layout/__tests__/useExpandableLayout.tsx +12 -1
  1354. package/src/layout/__tests__/useLayoutTree.tsx +6 -1
  1355. package/src/layout/__tests__/useResizableLayout.tsx +13 -1
  1356. package/src/layout/__tests__/useTemporaryLayout.tsx +6 -1
  1357. package/src/layout/_layout.scss +82 -86
  1358. package/src/layout/useLayoutAppBarHeight.ts +5 -9
  1359. package/src/link/Link.tsx +15 -5
  1360. package/src/link/__tests__/Link.tsx +3 -3
  1361. package/src/link/__tests__/SkipToMainContent.tsx +11 -14
  1362. package/src/link/_link.scss +74 -66
  1363. package/src/list/ListItem.tsx +20 -13
  1364. package/src/list/ListItemAddon.tsx +5 -3
  1365. package/src/list/ListItemChildren.tsx +4 -2
  1366. package/src/list/ListItemLink.tsx +5 -5
  1367. package/src/list/__tests__/List.tsx +7 -7
  1368. package/src/list/__tests__/ListItem.tsx +18 -17
  1369. package/src/list/__tests__/ListItemLink.tsx +7 -7
  1370. package/src/list/__tests__/ListSubheader.tsx +5 -5
  1371. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +1 -1
  1372. package/src/list/__tests__/getListItemHeight.ts +2 -2
  1373. package/src/list/_list.scss +187 -184
  1374. package/src/list/getListItemHeight.ts +2 -3
  1375. package/src/list/listItemStyles.ts +15 -5
  1376. package/src/list/types.ts +28 -6
  1377. package/src/menu/DropdownMenu.tsx +23 -4
  1378. package/src/menu/Menu.tsx +20 -1
  1379. package/src/menu/MenuItemCircularProgress.tsx +116 -0
  1380. package/src/menu/MenuItemSeparator.tsx +2 -12
  1381. package/src/menu/MenuSheet.tsx +10 -1
  1382. package/src/menu/__tests__/DropdownMenu.tsx +74 -65
  1383. package/src/menu/__tests__/MenuBar.tsx +57 -48
  1384. package/src/menu/__tests__/MenuItemCircularProgress.tsx +39 -0
  1385. package/src/menu/__tests__/MenuVisibilityProvider.tsx +3 -3
  1386. package/src/menu/__tests__/__snapshots__/MenuItemCircularProgress.tsx.snap +68 -0
  1387. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +54 -0
  1388. package/src/menu/__tests__/useContextMenu.tsx +41 -0
  1389. package/src/menu/_menu.scss +29 -50
  1390. package/src/menu/useContextMenu.ts +3 -3
  1391. package/src/movement/types.ts +50 -25
  1392. package/src/movement/useKeyboardMovementProvider.ts +21 -8
  1393. package/src/movement/utils.ts +12 -2
  1394. package/src/overlay/__tests__/Overlay.tsx +37 -35
  1395. package/src/overlay/_overlay.scss +39 -42
  1396. package/src/portal/PortalContainerProvider.tsx +10 -2
  1397. package/src/portal/__tests__/PortalContainerProvider.node.tsx +1 -0
  1398. package/src/portal/__tests__/PortalContainerProvider.tsx +32 -9
  1399. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -32
  1400. package/src/positioning/__tests__/useFixedPositioning.tsx +18 -26
  1401. package/src/positioning/useFixedPositioning.ts +0 -6
  1402. package/src/progress/CircularProgress.tsx +5 -4
  1403. package/src/progress/LinearProgress.tsx +88 -86
  1404. package/src/progress/__tests__/CircularProgress.tsx +49 -27
  1405. package/src/progress/__tests__/LinearProgress.tsx +40 -25
  1406. package/src/progress/__tests__/__snapshots__/CircularProgress.tsx.snap +21 -0
  1407. package/src/progress/__tests__/__snapshots__/LinearProgress.tsx.snap +20 -0
  1408. package/src/progress/_progress.scss +33 -33
  1409. package/src/responsive-item/_responsive-item.scss +91 -89
  1410. package/src/searching/__tests__/caseInsensitive.ts +165 -0
  1411. package/src/searching/__tests__/fuzzy.ts +169 -0
  1412. package/src/searching/__tests__/toSearchQuery.ts +21 -0
  1413. package/src/searching/__tests__/useFuzzyMatch.tsx +200 -0
  1414. package/src/searching/caseInsensitive.ts +200 -0
  1415. package/src/searching/fuzzy.ts +175 -0
  1416. package/src/searching/toSearchQuery.ts +20 -0
  1417. package/src/searching/types.ts +34 -0
  1418. package/src/searching/useFuzzyMatch.ts +42 -0
  1419. package/src/searching/utils.ts +53 -0
  1420. package/src/segmented-button/_segmented-button.scss +89 -90
  1421. package/src/sheet/_sheet.scss +107 -123
  1422. package/src/sheet/styles.ts +14 -15
  1423. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  1424. package/src/snackbar/Snackbar.tsx +28 -32
  1425. package/src/snackbar/Toast.tsx +7 -2
  1426. package/src/snackbar/ToastManager.tsx +3 -2
  1427. package/src/snackbar/__tests__/Snackbar.tsx +13 -12
  1428. package/src/snackbar/__tests__/Toast.tsx +8 -3
  1429. package/src/snackbar/__tests__/ToastActionButton.tsx +2 -2
  1430. package/src/snackbar/__tests__/ToastCloseButton.tsx +2 -2
  1431. package/src/snackbar/__tests__/ToastManagerProvider.tsx +28 -42
  1432. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +127 -27
  1433. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +23 -8
  1434. package/src/snackbar/_snackbar.scss +148 -144
  1435. package/src/snackbar/snackbarStyles.ts +3 -1
  1436. package/src/suspense/CircularProgressSuspense.tsx +19 -2
  1437. package/src/suspense/__tests__/CircularProgressSuspense.tsx +90 -0
  1438. package/src/suspense/__tests__/NullSuspense.tsx +46 -0
  1439. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +24 -0
  1440. package/src/table/Table.tsx +1 -24
  1441. package/src/table/TableCell.tsx +22 -85
  1442. package/src/table/TableCellContent.tsx +20 -2
  1443. package/src/table/TableCheckbox.tsx +7 -5
  1444. package/src/table/TableContainer.tsx +1 -8
  1445. package/src/table/TableFooter.tsx +30 -23
  1446. package/src/table/TableHeader.tsx +23 -40
  1447. package/src/table/TableRadio.tsx +197 -0
  1448. package/src/table/TableRow.tsx +1 -28
  1449. package/src/table/__tests__/Table.tsx +4 -10
  1450. package/src/table/__tests__/TableBody.tsx +3 -3
  1451. package/src/table/__tests__/TableCheckbox.tsx +10 -11
  1452. package/src/table/__tests__/TableContainer.tsx +3 -3
  1453. package/src/table/__tests__/TableRadio.tsx +112 -0
  1454. package/src/table/__tests__/TableRow.tsx +4 -10
  1455. package/src/table/__tests__/__snapshots__/Table.tsx.snap +249 -251
  1456. package/src/table/__tests__/__snapshots__/TableBody.tsx.snap +3 -3
  1457. package/src/table/__tests__/__snapshots__/TableCheckbox.tsx.snap +4 -4
  1458. package/src/table/__tests__/__snapshots__/TableRadio.tsx.snap +138 -0
  1459. package/src/table/__tests__/__snapshots__/TableRow.tsx.snap +4 -6
  1460. package/src/table/__tests__/__snapshots__/tableContainerStyles.ts.snap +3 -0
  1461. package/src/table/__tests__/__snapshots__/tableRowStyles.ts.snap +3 -0
  1462. package/src/table/__tests__/__snapshots__/tableStyles.ts.snap +3 -0
  1463. package/src/table/__tests__/tableContainerStyles.ts +8 -0
  1464. package/src/table/__tests__/tableRowStyles.ts +8 -0
  1465. package/src/table/__tests__/tableStyles.ts +8 -0
  1466. package/src/table/_table.scss +217 -232
  1467. package/src/table/tableCellStyles.ts +83 -0
  1468. package/src/table/tableContainerStyles.ts +19 -0
  1469. package/src/table/tableFooterStyles.ts +27 -0
  1470. package/src/table/tableHeaderStyles.ts +29 -0
  1471. package/src/table/tableRowStyles.ts +28 -0
  1472. package/src/table/tableStyles.ts +24 -0
  1473. package/src/table/types.ts +33 -15
  1474. package/src/tabs/Tab.tsx +110 -70
  1475. package/src/tabs/__tests__/Tab.tsx +27 -4
  1476. package/src/tabs/__tests__/TabList.tsx +54 -44
  1477. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +2 -2
  1478. package/src/tabs/__tests__/useTabs.tsx +27 -24
  1479. package/src/tabs/_tabs.scss +64 -53
  1480. package/src/tabs/tabIndicatorStyles.ts +13 -3
  1481. package/src/tabs/tabListStyles.ts +1 -1
  1482. package/src/tabs/tabStyles.ts +16 -4
  1483. package/src/tabs/useTabList.ts +10 -8
  1484. package/src/test-utils/ResizeObserver.ts +100 -53
  1485. package/src/test-utils/__tests__/ResizeObserver.ts +1 -1
  1486. package/src/test-utils/data-testid.ts +9 -0
  1487. package/src/test-utils/jest-setup.ts +4 -0
  1488. package/src/test-utils/matchMedia.ts +2 -2
  1489. package/src/test-utils/polyfills/TextDecoder.ts +7 -0
  1490. package/src/test-utils/polyfills/TextEncoder.ts +5 -0
  1491. package/src/test-utils/polyfills/index.ts +2 -0
  1492. package/src/theme/ThemeProvider.tsx +6 -0
  1493. package/src/theme/__tests__/LocalStorageColorSchemeProvider.tsx +4 -4
  1494. package/src/theme/__tests__/useCSSVariables.tsx +4 -4
  1495. package/src/theme/_theme.scss +243 -133
  1496. package/src/tooltip/Tooltip.tsx +17 -9
  1497. package/src/tooltip/TooltipHoverModeProvider.tsx +18 -0
  1498. package/src/tooltip/__tests__/Tooltip.tsx +147 -104
  1499. package/src/tooltip/__tests__/TooltipHoverModeProvider.tsx +8 -3
  1500. package/src/tooltip/__tests__/__snapshots__/Tooltip.tsx.snap +0 -33
  1501. package/src/tooltip/_tooltip.scss +76 -82
  1502. package/src/tooltip/tooltipStyles.ts +4 -4
  1503. package/src/tooltip/useTooltip.ts +141 -34
  1504. package/src/transition/SkeletonPlaceholder.tsx +18 -6
  1505. package/src/transition/__tests__/CSSTransition.tsx +12 -6
  1506. package/src/transition/__tests__/Collapse.tsx +19 -17
  1507. package/src/transition/__tests__/CrossFade.tsx +20 -17
  1508. package/src/transition/__tests__/ScaleTransition.tsx +18 -14
  1509. package/src/transition/__tests__/SkeletonPlaceholder.tsx +72 -0
  1510. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +24 -0
  1511. package/src/transition/__tests__/useCSSTransition.tsx +18 -14
  1512. package/src/transition/__tests__/useCollapseTransition.tsx +25 -21
  1513. package/src/transition/__tests__/useCrossFadeTransition.tsx +20 -16
  1514. package/src/transition/__tests__/useScaleTransition.tsx +18 -12
  1515. package/src/transition/__tests__/useTransition.tsx +165 -68
  1516. package/src/transition/__tests__/utils.ts +25 -0
  1517. package/src/transition/_transition.scss +89 -78
  1518. package/src/transition/config.ts +34 -0
  1519. package/src/transition/skeletonPlaceholderUtils.ts +105 -0
  1520. package/src/transition/useCollapseTransition.ts +6 -24
  1521. package/src/transition/useSkeletonPlaceholder.ts +62 -47
  1522. package/src/transition/useTransition.ts +15 -6
  1523. package/src/transition/utils.ts +10 -5
  1524. package/src/tree/DefaultTreeItemRenderer.tsx +7 -3
  1525. package/src/tree/Tree.tsx +28 -28
  1526. package/src/tree/TreeItem.tsx +5 -7
  1527. package/src/tree/TreeProvider.tsx +6 -0
  1528. package/src/tree/__tests__/Tree.tsx +8 -3
  1529. package/src/tree/__tests__/TreeGroup.tsx +1 -0
  1530. package/src/tree/__tests__/TreeItemExpander.tsx +1 -0
  1531. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +124 -124
  1532. package/src/tree/_tree.scss +111 -109
  1533. package/src/tree/styles.ts +0 -9
  1534. package/src/tree/useTreeMovement.ts +1 -1
  1535. package/src/types.ts +13 -0
  1536. package/src/typography/SrOnly.tsx +9 -9
  1537. package/src/typography/Typography.tsx +19 -19
  1538. package/src/typography/WritingDirectionProvider.tsx +4 -2
  1539. package/src/typography/__tests__/TextContainer.tsx +3 -3
  1540. package/src/typography/__tests__/Typography.tsx +10 -12
  1541. package/src/typography/__tests__/WritingDirectionProvider.tsx +7 -7
  1542. package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +5 -5
  1543. package/src/typography/_typography.scss +141 -87
  1544. package/src/useDebouncedFunction.ts +12 -10
  1545. package/src/useElementSize.ts +83 -0
  1546. package/src/useEnsuredState.ts +1 -1
  1547. package/src/useResizeListener.ts +3 -1
  1548. package/src/useResizeObserver.ts +8 -45
  1549. package/src/useThrottledFunction.ts +12 -10
  1550. package/src/useWindowSize.ts +29 -19
  1551. package/src/utils/__tests__/getMiddleOfRange.ts +12 -0
  1552. package/src/utils/__tests__/getRangeDefaultValue.ts +47 -0
  1553. package/src/utils/alphaNumericSort.ts +3 -16
  1554. package/src/utils/getMiddleOfRange.ts +26 -0
  1555. package/src/utils/getRangeDefaultValue.ts +8 -15
  1556. package/src/utils/getRangeSteps.ts +2 -2
  1557. package/src/utils/nearest.ts +1 -1
  1558. package/src/window-splitter/_window-splitter.scss +83 -112
  1559. package/src/window-splitter/useWindowSplitter.ts +12 -28
  1560. package/tsconfig.types.json +1 -1
  1561. package/dist/divider/VerticalDivider.d.ts +0 -32
  1562. package/dist/divider/VerticalDivider.js +0 -40
  1563. package/dist/divider/VerticalDivider.js.map +0 -1
  1564. package/dist/divider/useVerticalDividerHeight.d.ts +0 -37
  1565. package/dist/divider/useVerticalDividerHeight.js +0 -40
  1566. package/dist/divider/useVerticalDividerHeight.js.map +0 -1
  1567. package/dist/form/SelectValue.d.ts +0 -17
  1568. package/dist/form/SelectValue.js +0 -32
  1569. package/dist/form/SelectValue.js.map +0 -1
  1570. package/dist/icon/MaterialIconsProvider.d.ts +0 -12
  1571. package/dist/icon/MaterialIconsProvider.js +0 -17
  1572. package/dist/icon/MaterialIconsProvider.js.map +0 -1
  1573. package/dist/icon/MaterialSymbolsProvider.js +0 -60
  1574. package/dist/icon/MaterialSymbolsProvider.js.map +0 -1
  1575. package/dist/link/LinkProvider.d.ts +0 -29
  1576. package/dist/link/LinkProvider.js +0 -26
  1577. package/dist/link/LinkProvider.js.map +0 -1
  1578. package/dist/tooltip/useOverflowTooltip.d.ts +0 -61
  1579. package/dist/tooltip/useOverflowTooltip.js +0 -71
  1580. package/dist/tooltip/useOverflowTooltip.js.map +0 -1
  1581. package/dist/utils/filters.d.ts +0 -196
  1582. package/dist/utils/filters.js +0 -67
  1583. package/dist/utils/filters.js.map +0 -1
  1584. package/src/divider/VerticalDivider.tsx +0 -50
  1585. package/src/divider/__tests__/VerticalDivider.tsx +0 -35
  1586. package/src/divider/__tests__/__snapshots__/VerticalDivider.tsx.snap +0 -41
  1587. package/src/divider/useVerticalDividerHeight.ts +0 -72
  1588. package/src/form/SelectValue.tsx +0 -39
  1589. package/src/icon/MaterialIconsProvider.ts +0 -23
  1590. package/src/link/LinkProvider.tsx +0 -51
  1591. package/src/tooltip/__tests__/useOverflowTooltip.tsx +0 -77
  1592. package/src/tooltip/useOverflowTooltip.ts +0 -93
  1593. package/src/utils/__tests__/filters.ts +0 -279
  1594. 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">0% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/518</span>
28
+ <span class='fraction'>442/442</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">77.77% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/1</span>
35
+ <span class='fraction'>14/18</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/1</span>
42
+ <span class='fraction'>3/3</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/518</span>
49
+ <span class='fraction'>442/442</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line 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>
@@ -505,1118 +505,890 @@
505
505
  <a name='L440'></a><a href='#L440'>440</a>
506
506
  <a name='L441'></a><a href='#L441'>441</a>
507
507
  <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <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>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a></td><td class="line-coverage quiet"><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-no">&nbsp;</span>
713
- <span class="cline-any cline-no">&nbsp;</span>
714
- <span class="cline-any cline-no">&nbsp;</span>
715
- <span class="cline-any cline-no">&nbsp;</span>
716
- <span class="cline-any cline-no">&nbsp;</span>
717
- <span class="cline-any cline-no">&nbsp;</span>
718
- <span class="cline-any cline-no">&nbsp;</span>
719
- <span class="cline-any cline-no">&nbsp;</span>
720
- <span class="cline-any cline-no">&nbsp;</span>
721
- <span class="cline-any cline-no">&nbsp;</span>
722
- <span class="cline-any cline-no">&nbsp;</span>
723
- <span class="cline-any cline-no">&nbsp;</span>
724
- <span class="cline-any cline-no">&nbsp;</span>
725
- <span class="cline-any cline-no">&nbsp;</span>
726
- <span class="cline-any cline-no">&nbsp;</span>
727
- <span class="cline-any cline-no">&nbsp;</span>
728
- <span class="cline-any cline-no">&nbsp;</span>
729
- <span class="cline-any cline-no">&nbsp;</span>
730
- <span class="cline-any cline-no">&nbsp;</span>
731
- <span class="cline-any cline-no">&nbsp;</span>
732
- <span class="cline-any cline-no">&nbsp;</span>
733
- <span class="cline-any cline-no">&nbsp;</span>
734
- <span class="cline-any cline-no">&nbsp;</span>
735
- <span class="cline-any cline-no">&nbsp;</span>
736
- <span class="cline-any cline-no">&nbsp;</span>
737
- <span class="cline-any cline-no">&nbsp;</span>
738
- <span class="cline-any cline-no">&nbsp;</span>
739
- <span class="cline-any cline-no">&nbsp;</span>
740
- <span class="cline-any cline-no">&nbsp;</span>
741
- <span class="cline-any cline-no">&nbsp;</span>
742
- <span class="cline-any cline-no">&nbsp;</span>
743
- <span class="cline-any cline-no">&nbsp;</span>
744
- <span class="cline-any cline-no">&nbsp;</span>
745
- <span class="cline-any cline-no">&nbsp;</span>
746
- <span class="cline-any cline-no">&nbsp;</span>
747
- <span class="cline-any cline-no">&nbsp;</span>
748
- <span class="cline-any cline-no">&nbsp;</span>
749
- <span class="cline-any cline-no">&nbsp;</span>
750
- <span class="cline-any cline-no">&nbsp;</span>
751
- <span class="cline-any cline-no">&nbsp;</span>
752
- <span class="cline-any cline-no">&nbsp;</span>
753
- <span class="cline-any cline-no">&nbsp;</span>
754
- <span class="cline-any cline-no">&nbsp;</span>
755
- <span class="cline-any cline-no">&nbsp;</span>
756
- <span class="cline-any cline-no">&nbsp;</span>
757
- <span class="cline-any cline-no">&nbsp;</span>
758
- <span class="cline-any cline-no">&nbsp;</span>
759
- <span class="cline-any cline-no">&nbsp;</span>
760
- <span class="cline-any cline-no">&nbsp;</span>
761
- <span class="cline-any cline-no">&nbsp;</span>
762
- <span class="cline-any cline-no">&nbsp;</span>
763
- <span class="cline-any cline-no">&nbsp;</span>
764
- <span class="cline-any cline-no">&nbsp;</span>
765
- <span class="cline-any cline-no">&nbsp;</span>
766
- <span class="cline-any cline-no">&nbsp;</span>
767
- <span class="cline-any cline-no">&nbsp;</span>
768
- <span class="cline-any cline-no">&nbsp;</span>
769
- <span class="cline-any cline-no">&nbsp;</span>
770
- <span class="cline-any cline-no">&nbsp;</span>
771
- <span class="cline-any cline-no">&nbsp;</span>
772
- <span class="cline-any cline-no">&nbsp;</span>
773
- <span class="cline-any cline-no">&nbsp;</span>
774
- <span class="cline-any cline-no">&nbsp;</span>
775
- <span class="cline-any cline-no">&nbsp;</span>
776
- <span class="cline-any cline-no">&nbsp;</span>
777
- <span class="cline-any cline-no">&nbsp;</span>
778
- <span class="cline-any cline-no">&nbsp;</span>
779
- <span class="cline-any cline-no">&nbsp;</span>
780
- <span class="cline-any cline-no">&nbsp;</span>
781
- <span class="cline-any cline-no">&nbsp;</span>
782
- <span class="cline-any cline-no">&nbsp;</span>
783
- <span class="cline-any cline-no">&nbsp;</span>
784
- <span class="cline-any cline-no">&nbsp;</span>
785
- <span class="cline-any cline-no">&nbsp;</span>
786
- <span class="cline-any cline-no">&nbsp;</span>
787
- <span class="cline-any cline-no">&nbsp;</span>
788
- <span class="cline-any cline-no">&nbsp;</span>
789
- <span class="cline-any cline-no">&nbsp;</span>
790
- <span class="cline-any cline-no">&nbsp;</span>
791
- <span class="cline-any cline-no">&nbsp;</span>
792
- <span class="cline-any cline-no">&nbsp;</span>
793
- <span class="cline-any cline-no">&nbsp;</span>
794
- <span class="cline-any cline-no">&nbsp;</span>
795
- <span class="cline-any cline-no">&nbsp;</span>
796
- <span class="cline-any cline-no">&nbsp;</span>
797
- <span class="cline-any cline-no">&nbsp;</span>
798
- <span class="cline-any cline-no">&nbsp;</span>
799
- <span class="cline-any cline-no">&nbsp;</span>
800
- <span class="cline-any cline-no">&nbsp;</span>
801
- <span class="cline-any cline-no">&nbsp;</span>
802
- <span class="cline-any cline-no">&nbsp;</span>
803
- <span class="cline-any cline-no">&nbsp;</span>
804
- <span class="cline-any cline-no">&nbsp;</span>
805
- <span class="cline-any cline-no">&nbsp;</span>
806
- <span class="cline-any cline-no">&nbsp;</span>
807
- <span class="cline-any cline-no">&nbsp;</span>
808
- <span class="cline-any cline-no">&nbsp;</span>
809
- <span class="cline-any cline-no">&nbsp;</span>
810
- <span class="cline-any cline-no">&nbsp;</span>
811
- <span class="cline-any cline-no">&nbsp;</span>
812
- <span class="cline-any cline-no">&nbsp;</span>
813
- <span class="cline-any cline-no">&nbsp;</span>
814
- <span class="cline-any cline-no">&nbsp;</span>
815
- <span class="cline-any cline-no">&nbsp;</span>
816
- <span class="cline-any cline-no">&nbsp;</span>
817
- <span class="cline-any cline-no">&nbsp;</span>
818
- <span class="cline-any cline-no">&nbsp;</span>
819
- <span class="cline-any cline-no">&nbsp;</span>
820
- <span class="cline-any cline-no">&nbsp;</span>
821
- <span class="cline-any cline-no">&nbsp;</span>
822
- <span class="cline-any cline-no">&nbsp;</span>
823
- <span class="cline-any cline-no">&nbsp;</span>
824
- <span class="cline-any cline-no">&nbsp;</span>
825
- <span class="cline-any cline-no">&nbsp;</span>
826
- <span class="cline-any cline-no">&nbsp;</span>
827
- <span class="cline-any cline-no">&nbsp;</span>
828
- <span class="cline-any cline-no">&nbsp;</span>
829
- <span class="cline-any cline-no">&nbsp;</span>
830
- <span class="cline-any cline-no">&nbsp;</span>
831
- <span class="cline-any cline-no">&nbsp;</span>
832
- <span class="cline-any cline-no">&nbsp;</span>
833
- <span class="cline-any cline-no">&nbsp;</span>
834
- <span class="cline-any cline-no">&nbsp;</span>
835
- <span class="cline-any cline-no">&nbsp;</span>
836
- <span class="cline-any cline-no">&nbsp;</span>
837
- <span class="cline-any cline-no">&nbsp;</span>
838
- <span class="cline-any cline-no">&nbsp;</span>
839
- <span class="cline-any cline-no">&nbsp;</span>
840
- <span class="cline-any cline-no">&nbsp;</span>
841
- <span class="cline-any cline-no">&nbsp;</span>
842
- <span class="cline-any cline-no">&nbsp;</span>
843
- <span class="cline-any cline-no">&nbsp;</span>
844
- <span class="cline-any cline-no">&nbsp;</span>
845
- <span class="cline-any cline-no">&nbsp;</span>
846
- <span class="cline-any cline-no">&nbsp;</span>
847
- <span class="cline-any cline-no">&nbsp;</span>
848
- <span class="cline-any cline-no">&nbsp;</span>
849
- <span class="cline-any cline-no">&nbsp;</span>
850
- <span class="cline-any cline-no">&nbsp;</span>
851
- <span class="cline-any cline-no">&nbsp;</span>
852
- <span class="cline-any cline-no">&nbsp;</span>
853
- <span class="cline-any cline-no">&nbsp;</span>
854
- <span class="cline-any cline-no">&nbsp;</span>
855
- <span class="cline-any cline-no">&nbsp;</span>
856
- <span class="cline-any cline-no">&nbsp;</span>
857
- <span class="cline-any cline-no">&nbsp;</span>
858
- <span class="cline-any cline-no">&nbsp;</span>
859
- <span class="cline-any cline-no">&nbsp;</span>
860
- <span class="cline-any cline-no">&nbsp;</span>
861
- <span class="cline-any cline-no">&nbsp;</span>
862
- <span class="cline-any cline-no">&nbsp;</span>
863
- <span class="cline-any cline-no">&nbsp;</span>
864
- <span class="cline-any cline-no">&nbsp;</span>
865
- <span class="cline-any cline-no">&nbsp;</span>
866
- <span class="cline-any cline-no">&nbsp;</span>
867
- <span class="cline-any cline-no">&nbsp;</span>
868
- <span class="cline-any cline-no">&nbsp;</span>
869
- <span class="cline-any cline-no">&nbsp;</span>
870
- <span class="cline-any cline-no">&nbsp;</span>
871
- <span class="cline-any cline-no">&nbsp;</span>
872
- <span class="cline-any cline-no">&nbsp;</span>
873
- <span class="cline-any cline-no">&nbsp;</span>
874
- <span class="cline-any cline-no">&nbsp;</span>
875
- <span class="cline-any cline-no">&nbsp;</span>
876
- <span class="cline-any cline-no">&nbsp;</span>
877
- <span class="cline-any cline-no">&nbsp;</span>
878
- <span class="cline-any cline-no">&nbsp;</span>
879
- <span class="cline-any cline-no">&nbsp;</span>
880
- <span class="cline-any cline-no">&nbsp;</span>
881
- <span class="cline-any cline-no">&nbsp;</span>
882
- <span class="cline-any cline-no">&nbsp;</span>
883
- <span class="cline-any cline-no">&nbsp;</span>
884
- <span class="cline-any cline-no">&nbsp;</span>
885
- <span class="cline-any cline-no">&nbsp;</span>
886
- <span class="cline-any cline-no">&nbsp;</span>
887
- <span class="cline-any cline-no">&nbsp;</span>
888
- <span class="cline-any cline-no">&nbsp;</span>
889
- <span class="cline-any cline-no">&nbsp;</span>
890
- <span class="cline-any cline-no">&nbsp;</span>
891
- <span class="cline-any cline-no">&nbsp;</span>
892
- <span class="cline-any cline-no">&nbsp;</span>
893
- <span class="cline-any cline-no">&nbsp;</span>
894
- <span class="cline-any cline-no">&nbsp;</span>
895
- <span class="cline-any cline-no">&nbsp;</span>
896
- <span class="cline-any cline-no">&nbsp;</span>
897
- <span class="cline-any cline-no">&nbsp;</span>
898
- <span class="cline-any cline-no">&nbsp;</span>
899
- <span class="cline-any cline-no">&nbsp;</span>
900
- <span class="cline-any cline-no">&nbsp;</span>
901
- <span class="cline-any cline-no">&nbsp;</span>
902
- <span class="cline-any cline-no">&nbsp;</span>
903
- <span class="cline-any cline-no">&nbsp;</span>
904
- <span class="cline-any cline-no">&nbsp;</span>
905
- <span class="cline-any cline-no">&nbsp;</span>
906
- <span class="cline-any cline-no">&nbsp;</span>
907
- <span class="cline-any cline-no">&nbsp;</span>
908
- <span class="cline-any cline-no">&nbsp;</span>
909
- <span class="cline-any cline-no">&nbsp;</span>
910
- <span class="cline-any cline-no">&nbsp;</span>
911
- <span class="cline-any cline-no">&nbsp;</span>
912
- <span class="cline-any cline-no">&nbsp;</span>
913
- <span class="cline-any cline-no">&nbsp;</span>
914
- <span class="cline-any cline-no">&nbsp;</span>
915
- <span class="cline-any cline-no">&nbsp;</span>
916
- <span class="cline-any cline-no">&nbsp;</span>
917
- <span class="cline-any cline-no">&nbsp;</span>
918
- <span class="cline-any cline-no">&nbsp;</span>
919
- <span class="cline-any cline-no">&nbsp;</span>
920
- <span class="cline-any cline-no">&nbsp;</span>
921
- <span class="cline-any cline-no">&nbsp;</span>
922
- <span class="cline-any cline-no">&nbsp;</span>
923
- <span class="cline-any cline-no">&nbsp;</span>
924
- <span class="cline-any cline-no">&nbsp;</span>
925
- <span class="cline-any cline-no">&nbsp;</span>
926
- <span class="cline-any cline-no">&nbsp;</span>
927
- <span class="cline-any cline-no">&nbsp;</span>
928
- <span class="cline-any cline-no">&nbsp;</span>
929
- <span class="cline-any cline-no">&nbsp;</span>
930
- <span class="cline-any cline-no">&nbsp;</span>
931
- <span class="cline-any cline-no">&nbsp;</span>
932
- <span class="cline-any cline-no">&nbsp;</span>
933
- <span class="cline-any cline-no">&nbsp;</span>
934
- <span class="cline-any cline-no">&nbsp;</span>
935
- <span class="cline-any cline-no">&nbsp;</span>
936
- <span class="cline-any cline-no">&nbsp;</span>
937
- <span class="cline-any cline-no">&nbsp;</span>
938
- <span class="cline-any cline-no">&nbsp;</span>
939
- <span class="cline-any cline-no">&nbsp;</span>
940
- <span class="cline-any cline-no">&nbsp;</span>
941
- <span class="cline-any cline-no">&nbsp;</span>
942
- <span class="cline-any cline-no">&nbsp;</span>
943
- <span class="cline-any cline-no">&nbsp;</span>
944
- <span class="cline-any cline-no">&nbsp;</span>
945
- <span class="cline-any cline-no">&nbsp;</span>
946
- <span class="cline-any cline-no">&nbsp;</span>
947
- <span class="cline-any cline-no">&nbsp;</span>
948
- <span class="cline-any cline-no">&nbsp;</span>
949
- <span class="cline-any cline-no">&nbsp;</span>
950
- <span class="cline-any cline-no">&nbsp;</span>
951
- <span class="cline-any cline-no">&nbsp;</span>
952
- <span class="cline-any cline-no">&nbsp;</span>
953
- <span class="cline-any cline-no">&nbsp;</span>
954
- <span class="cline-any cline-no">&nbsp;</span>
955
- <span class="cline-any cline-no">&nbsp;</span>
956
- <span class="cline-any cline-no">&nbsp;</span>
957
- <span class="cline-any cline-no">&nbsp;</span>
958
- <span class="cline-any cline-no">&nbsp;</span>
959
- <span class="cline-any cline-no">&nbsp;</span>
960
- <span class="cline-any cline-no">&nbsp;</span>
961
- <span class="cline-any cline-no">&nbsp;</span>
962
- <span class="cline-any cline-no">&nbsp;</span>
963
- <span class="cline-any cline-no">&nbsp;</span>
964
- <span class="cline-any cline-no">&nbsp;</span>
965
- <span class="cline-any cline-no">&nbsp;</span>
966
- <span class="cline-any cline-no">&nbsp;</span>
967
- <span class="cline-any cline-no">&nbsp;</span>
968
- <span class="cline-any cline-no">&nbsp;</span>
969
- <span class="cline-any cline-no">&nbsp;</span>
970
- <span class="cline-any cline-no">&nbsp;</span>
971
- <span class="cline-any cline-no">&nbsp;</span>
972
- <span class="cline-any cline-no">&nbsp;</span>
973
- <span class="cline-any cline-no">&nbsp;</span>
974
- <span class="cline-any cline-no">&nbsp;</span>
975
- <span class="cline-any cline-no">&nbsp;</span>
976
- <span class="cline-any cline-no">&nbsp;</span>
977
- <span class="cline-any cline-no">&nbsp;</span>
978
- <span class="cline-any cline-no">&nbsp;</span>
979
- <span class="cline-any cline-no">&nbsp;</span>
980
- <span class="cline-any cline-no">&nbsp;</span>
981
- <span class="cline-any cline-no">&nbsp;</span>
982
- <span class="cline-any cline-no">&nbsp;</span>
983
- <span class="cline-any cline-no">&nbsp;</span>
984
- <span class="cline-any cline-no">&nbsp;</span>
985
- <span class="cline-any cline-no">&nbsp;</span>
986
- <span class="cline-any cline-no">&nbsp;</span>
987
- <span class="cline-any cline-no">&nbsp;</span>
988
- <span class="cline-any cline-no">&nbsp;</span>
989
- <span class="cline-any cline-no">&nbsp;</span>
990
- <span class="cline-any cline-no">&nbsp;</span>
991
- <span class="cline-any cline-no">&nbsp;</span>
992
- <span class="cline-any cline-no">&nbsp;</span>
993
- <span class="cline-any cline-no">&nbsp;</span>
994
- <span class="cline-any cline-no">&nbsp;</span>
995
- <span class="cline-any cline-no">&nbsp;</span>
996
- <span class="cline-any cline-no">&nbsp;</span>
997
- <span class="cline-any cline-no">&nbsp;</span>
998
- <span class="cline-any cline-no">&nbsp;</span>
999
- <span class="cline-any cline-no">&nbsp;</span>
1000
- <span class="cline-any cline-no">&nbsp;</span>
1001
- <span class="cline-any cline-no">&nbsp;</span>
1002
- <span class="cline-any cline-no">&nbsp;</span>
1003
- <span class="cline-any cline-no">&nbsp;</span>
1004
- <span class="cline-any cline-no">&nbsp;</span>
1005
- <span class="cline-any cline-no">&nbsp;</span>
1006
- <span class="cline-any cline-no">&nbsp;</span>
1007
- <span class="cline-any cline-no">&nbsp;</span>
1008
- <span class="cline-any cline-no">&nbsp;</span>
1009
- <span class="cline-any cline-no">&nbsp;</span>
1010
- <span class="cline-any cline-no">&nbsp;</span>
1011
- <span class="cline-any cline-no">&nbsp;</span>
1012
- <span class="cline-any cline-no">&nbsp;</span>
1013
- <span class="cline-any cline-no">&nbsp;</span>
1014
- <span class="cline-any cline-no">&nbsp;</span>
1015
- <span class="cline-any cline-no">&nbsp;</span>
1016
- <span class="cline-any cline-no">&nbsp;</span>
1017
- <span class="cline-any cline-no">&nbsp;</span>
1018
- <span class="cline-any cline-no">&nbsp;</span>
1019
- <span class="cline-any cline-no">&nbsp;</span>
1020
- <span class="cline-any cline-no">&nbsp;</span>
1021
- <span class="cline-any cline-no">&nbsp;</span>
1022
- <span class="cline-any cline-no">&nbsp;</span>
1023
- <span class="cline-any cline-no">&nbsp;</span>
1024
- <span class="cline-any cline-no">&nbsp;</span>
1025
- <span class="cline-any cline-no">&nbsp;</span>
1026
- <span class="cline-any cline-no">&nbsp;</span>
1027
- <span class="cline-any cline-no">&nbsp;</span>
1028
- <span class="cline-any cline-no">&nbsp;</span>
1029
- <span class="cline-any cline-no">&nbsp;</span>
1030
- <span class="cline-any cline-no">&nbsp;</span>
1031
- <span class="cline-any cline-no">&nbsp;</span>
1032
- <span class="cline-any cline-no">&nbsp;</span>
1033
- <span class="cline-any cline-no">&nbsp;</span>
1034
- <span class="cline-any cline-no">&nbsp;</span>
1035
- <span class="cline-any cline-no">&nbsp;</span>
1036
- <span class="cline-any cline-no">&nbsp;</span>
1037
- <span class="cline-any cline-no">&nbsp;</span>
1038
- <span class="cline-any cline-no">&nbsp;</span>
1039
- <span class="cline-any cline-no">&nbsp;</span>
1040
- <span class="cline-any cline-no">&nbsp;</span>
1041
- <span class="cline-any cline-no">&nbsp;</span>
1042
- <span class="cline-any cline-no">&nbsp;</span>
1043
- <span class="cline-any cline-no">&nbsp;</span>
1044
- <span class="cline-any cline-no">&nbsp;</span>
1045
- <span class="cline-any cline-no">&nbsp;</span>
1046
- <span class="cline-any cline-no">&nbsp;</span>
1047
- <span class="cline-any cline-no">&nbsp;</span>
1048
- <span class="cline-any cline-no">&nbsp;</span>
1049
- <span class="cline-any cline-no">&nbsp;</span>
1050
- <span class="cline-any cline-no">&nbsp;</span>
1051
- <span class="cline-any cline-no">&nbsp;</span>
1052
- <span class="cline-any cline-no">&nbsp;</span>
1053
- <span class="cline-any cline-no">&nbsp;</span>
1054
- <span class="cline-any cline-no">&nbsp;</span>
1055
- <span class="cline-any cline-no">&nbsp;</span>
1056
- <span class="cline-any cline-no">&nbsp;</span>
1057
- <span class="cline-any cline-no">&nbsp;</span>
1058
- <span class="cline-any cline-no">&nbsp;</span>
1059
- <span class="cline-any cline-no">&nbsp;</span>
1060
- <span class="cline-any cline-no">&nbsp;</span>
1061
- <span class="cline-any cline-no">&nbsp;</span>
1062
- <span class="cline-any cline-no">&nbsp;</span>
1063
- <span class="cline-any cline-no">&nbsp;</span>
1064
- <span class="cline-any cline-no">&nbsp;</span>
1065
- <span class="cline-any cline-no">&nbsp;</span>
1066
- <span class="cline-any cline-no">&nbsp;</span>
1067
- <span class="cline-any cline-no">&nbsp;</span>
1068
- <span class="cline-any cline-no">&nbsp;</span>
1069
- <span class="cline-any cline-no">&nbsp;</span>
1070
- <span class="cline-any cline-no">&nbsp;</span>
1071
- <span class="cline-any cline-no">&nbsp;</span>
1072
- <span class="cline-any cline-no">&nbsp;</span>
1073
- <span class="cline-any cline-no">&nbsp;</span>
1074
- <span class="cline-any cline-no">&nbsp;</span>
1075
- <span class="cline-any cline-no">&nbsp;</span>
1076
- <span class="cline-any cline-no">&nbsp;</span>
1077
- <span class="cline-any cline-no">&nbsp;</span>
1078
- <span class="cline-any cline-no">&nbsp;</span>
1079
- <span class="cline-any cline-no">&nbsp;</span>
1080
- <span class="cline-any cline-no">&nbsp;</span>
1081
- <span class="cline-any cline-no">&nbsp;</span>
1082
- <span class="cline-any cline-no">&nbsp;</span>
1083
- <span class="cline-any cline-no">&nbsp;</span>
1084
- <span class="cline-any cline-no">&nbsp;</span>
1085
- <span class="cline-any cline-no">&nbsp;</span>
1086
- <span class="cline-any cline-no">&nbsp;</span>
1087
- <span class="cline-any cline-no">&nbsp;</span>
1088
- <span class="cline-any cline-no">&nbsp;</span>
1089
- <span class="cline-any cline-no">&nbsp;</span>
1090
- <span class="cline-any cline-no">&nbsp;</span>
1091
- <span class="cline-any cline-no">&nbsp;</span>
1092
- <span class="cline-any cline-no">&nbsp;</span>
1093
- <span class="cline-any cline-no">&nbsp;</span>
1094
- <span class="cline-any cline-no">&nbsp;</span>
1095
- <span class="cline-any cline-no">&nbsp;</span>
1096
- <span class="cline-any cline-no">&nbsp;</span>
1097
- <span class="cline-any cline-no">&nbsp;</span>
1098
- <span class="cline-any cline-no">&nbsp;</span>
1099
- <span class="cline-any cline-no">&nbsp;</span>
1100
- <span class="cline-any cline-no">&nbsp;</span>
1101
- <span class="cline-any cline-no">&nbsp;</span>
1102
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >"use client";</span></span></span>
1103
- <span class="cstat-no" title="statement not covered" >import { cnb } from "cnbuilder";</span>
1104
- <span class="cstat-no" title="statement not covered" >import {</span>
1105
- <span class="cstat-no" title="statement not covered" > useEffect,</span>
1106
- <span class="cstat-no" title="statement not covered" > useMemo,</span>
1107
- <span class="cstat-no" title="statement not covered" > useRef,</span>
1108
- <span class="cstat-no" title="statement not covered" > useState,</span>
1109
- <span class="cstat-no" title="statement not covered" > type ChangeEvent,</span>
1110
- <span class="cstat-no" title="statement not covered" > type ReactElement,</span>
1111
- <span class="cstat-no" title="statement not covered" > type ReactNode,</span>
1112
- <span class="cstat-no" title="statement not covered" > type Ref,</span>
1113
- <span class="cstat-no" title="statement not covered" >} from "react";</span>
1114
- <span class="cstat-no" title="statement not covered" >import { IconRotator } from "../icon/IconRotator.js";</span>
1115
- <span class="cstat-no" title="statement not covered" >import { getIcon } from "../icon/iconConfig.js";</span>
1116
- <span class="cstat-no" title="statement not covered" >import { Menu, type MenuProps } from "../menu/Menu.js";</span>
1117
- <span class="cstat-no" title="statement not covered" >import { findMatchIndex } from "../movement/findMatchIndex.js";</span>
1118
- <span class="cstat-no" title="statement not covered" >import {</span>
1119
- <span class="cstat-no" title="statement not covered" > KeyboardMovementProvider,</span>
1120
- <span class="cstat-no" title="statement not covered" > useKeyboardMovementProvider,</span>
1121
- <span class="cstat-no" title="statement not covered" >} from "../movement/useKeyboardMovementProvider.js";</span>
1122
- <span class="cstat-no" title="statement not covered" >import { isSearchableEvent } from "../movement/utils.js";</span>
1123
- <span class="cstat-no" title="statement not covered" >import { BELOW_CENTER_ANCHOR } from "../positioning/constants.js";</span>
1124
- <span class="cstat-no" title="statement not covered" >import {</span>
1125
- <span class="cstat-no" title="statement not covered" > type TransitionEnterHandler,</span>
1126
- <span class="cstat-no" title="statement not covered" > type TransitionExitHandler,</span>
1127
- <span class="cstat-no" title="statement not covered" >} from "../transition/types.js";</span>
1128
- <span class="cstat-no" title="statement not covered" >import { useEnsuredId } from "../useEnsuredId.js";</span>
1129
- <span class="cstat-no" title="statement not covered" >import { useEnsuredRef } from "../useEnsuredRef.js";</span>
1130
- <span class="cstat-no" title="statement not covered" >import { useToggle } from "../useToggle.js";</span>
1131
- <span class="cstat-no" title="statement not covered" >import { loop } from "../utils/loop.js";</span>
1132
- <span class="cstat-no" title="statement not covered" >import { SelectValue } from "./SelectValue.js";</span>
1133
- <span class="cstat-no" title="statement not covered" >import { TextField, type TextFieldProps } from "./TextField.js";</span>
1134
- <span class="cstat-no" title="statement not covered" >import { getFormConfig } from "./formConfig.js";</span>
1135
- <span class="cstat-no" title="statement not covered" >import { select } from "./selectStyles.js";</span>
1136
- <span class="cstat-no" title="statement not covered" >import { extractOptionsFromChildren } from "./selectUtils.js";</span>
1137
- <span class="cstat-no" title="statement not covered" >import {</span>
1138
- <span class="cstat-no" title="statement not covered" > type FormFieldOptions,</span>
1139
- <span class="cstat-no" title="statement not covered" > type UserAgentAutoCompleteProps,</span>
1140
- <span class="cstat-no" title="statement not covered" >} from "./types.js";</span>
1141
- <span class="cstat-no" title="statement not covered" >import { ListboxProvider } from "./useListboxProvider.js";</span>
1142
- <span class="cstat-no" title="statement not covered" >import { triggerManualChangeEvent, tryToSubmitRelatedForm } from "./utils.js";</span>
1143
- <span class="cstat-no" title="statement not covered" ></span>
1144
- <span class="cstat-no" title="statement not covered" >const EMPTY_STRING = "" as const;</span>
1145
- <span class="cstat-no" title="statement not covered" >const noop = (): void =&gt; {</span>
1146
- <span class="cstat-no" title="statement not covered" > // do nothing</span>
1147
- <span class="cstat-no" title="statement not covered" >};</span>
1148
- <span class="cstat-no" title="statement not covered" ></span>
1149
- <span class="cstat-no" title="statement not covered" >const getNonDisabledOptions = (</span>
1150
- <span class="cstat-no" title="statement not covered" > container: HTMLElement</span>
1151
- <span class="cstat-no" title="statement not covered" >): readonly HTMLElement[] =&gt; [</span>
1152
- <span class="cstat-no" title="statement not covered" > ...container.querySelectorAll&lt;HTMLLIElement&gt;(</span>
1153
- <span class="cstat-no" title="statement not covered" > '[role="option"]:not([aria-disabled])'</span>
1154
- <span class="cstat-no" title="statement not covered" > ),</span>
1155
- <span class="cstat-no" title="statement not covered" >];</span>
1156
- <span class="cstat-no" title="statement not covered" ></span>
1157
- <span class="cstat-no" title="statement not covered" >/**</span>
1158
- <span class="cstat-no" title="statement not covered" > * This is a convenience type for casting the `event.currentTarget.value` of a</span>
1159
- <span class="cstat-no" title="statement not covered" > * `Select`'s change event to be union of available values.</span>
1160
- <span class="cstat-no" title="statement not covered" > *</span>
1161
- <span class="cstat-no" title="statement not covered" > * Note: The change event does not provide any sort of validation on the value</span>
1162
- <span class="cstat-no" title="statement not covered" > * so automation tools like Cypress, Playwright, or Selenium might set an</span>
1163
- <span class="cstat-no" title="statement not covered" > * invalid value. This also does not work for numbers, so you will need to</span>
1164
- <span class="cstat-no" title="statement not covered" > * implement that yourself.</span>
1165
- <span class="cstat-no" title="statement not covered" > *</span>
1166
- <span class="cstat-no" title="statement not covered" > * @example</span>
1167
- <span class="cstat-no" title="statement not covered" > * Simple Usage</span>
1168
- <span class="cstat-no" title="statement not covered" > * ```tsx</span>
1169
- <span class="cstat-no" title="statement not covered" > * import type { SelectedChangeEvent } from "@react-md/core";</span>
1170
- <span class="cstat-no" title="statement not covered" > * import { Select, Option } from "@react-md/core";</span>
1171
- <span class="cstat-no" title="statement not covered" > * import type { ReactElement } from "react";</span>
1172
- <span class="cstat-no" title="statement not covered" > *</span>
1173
- <span class="cstat-no" title="statement not covered" > * type Value = "" | "a" | "b" | "c" | "d";</span>
1174
- <span class="cstat-no" title="statement not covered" > *</span>
1175
- <span class="cstat-no" title="statement not covered" > * function Example(): ReactElement {</span>
1176
- <span class="cstat-no" title="statement not covered" > * const [value, setValue] = useState&lt;Value&gt;("");</span>
1177
- <span class="cstat-no" title="statement not covered" > *</span>
1178
- <span class="cstat-no" title="statement not covered" > * const handleChange = (event: SelectChangeEvent&lt;Value&gt;): void =&gt; {</span>
1179
- <span class="cstat-no" title="statement not covered" > * // No type error!</span>
1180
- <span class="cstat-no" title="statement not covered" > * // `event.currentTarget.value`'s type is `Value` instead of a generic `string`</span>
1181
- <span class="cstat-no" title="statement not covered" > * setValue(event.currentTarget.value);</span>
1182
- <span class="cstat-no" title="statement not covered" > * };</span>
1183
- <span class="cstat-no" title="statement not covered" > *</span>
1184
- <span class="cstat-no" title="statement not covered" > * return (</span>
1185
- <span class="cstat-no" title="statement not covered" > * &lt;Select</span>
1186
- <span class="cstat-no" title="statement not covered" > * label="Label"</span>
1187
- <span class="cstat-no" title="statement not covered" > * value={value}</span>
1188
- <span class="cstat-no" title="statement not covered" > * onChange={handleChange}</span>
1189
- <span class="cstat-no" title="statement not covered" > * &gt;</span>
1190
- <span class="cstat-no" title="statement not covered" > * &lt;Option value="a"&gt;First&lt;/Option&gt;</span>
1191
- <span class="cstat-no" title="statement not covered" > * &lt;Option value="b"&gt;Second&lt;/Option&gt;</span>
1192
- <span class="cstat-no" title="statement not covered" > * &lt;Option value="c"&gt;Third&lt;/Option&gt;</span>
1193
- <span class="cstat-no" title="statement not covered" > * &lt;Option value="d"&gt;Fourth&lt;/Option&gt;</span>
1194
- <span class="cstat-no" title="statement not covered" > * &lt;/Select&gt;</span>
1195
- <span class="cstat-no" title="statement not covered" > * );</span>
1196
- <span class="cstat-no" title="statement not covered" > * }</span>
1197
- <span class="cstat-no" title="statement not covered" > * ```</span>
1198
- <span class="cstat-no" title="statement not covered" > * @remarks \@since 6.0.0</span>
1199
- <span class="cstat-no" title="statement not covered" > */</span>
1200
- <span class="cstat-no" title="statement not covered" >export type SelectChangeEvent&lt;Value extends string&gt; =</span>
1201
- <span class="cstat-no" title="statement not covered" > ChangeEvent&lt;HTMLInputElement&gt; &amp; { currentTarget: { value: Value } };</span>
1202
- <span class="cstat-no" title="statement not covered" ></span>
1203
- <span class="cstat-no" title="statement not covered" >/**</span>
1204
- <span class="cstat-no" title="statement not covered" > * @remarks \@since 6.0.0 Rewritten with a new API.</span>
1205
- <span class="cstat-no" title="statement not covered" > */</span>
1206
- <span class="cstat-no" title="statement not covered" >export interface SelectProps&lt;Value extends string&gt;</span>
1207
- <span class="cstat-no" title="statement not covered" > extends Omit&lt;TextFieldProps, "placeholder" | "type" | "onChange"&gt;,</span>
1208
- <span class="cstat-no" title="statement not covered" > UserAgentAutoCompleteProps,</span>
1209
- <span class="cstat-no" title="statement not covered" > FormFieldOptions {</span>
1210
- <span class="cstat-no" title="statement not covered" > /**</span>
1211
- <span class="cstat-no" title="statement not covered" > * An optional ref to pass to the hidden `&lt;input type="text" /&gt;` element that</span>
1212
- <span class="cstat-no" title="statement not covered" > * stores the current value. This is really only useful if you'd like to keep</span>
1213
- <span class="cstat-no" title="statement not covered" > * this component uncontrolled and access the value through</span>
1214
- <span class="cstat-no" title="statement not covered" > * `inputRef.current.value`.</span>
1215
- <span class="cstat-no" title="statement not covered" > */</span>
1216
- <span class="cstat-no" title="statement not covered" > inputRef?: Ref&lt;HTMLInputElement&gt;;</span>
1217
- <span class="cstat-no" title="statement not covered" ></span>
1218
- <span class="cstat-no" title="statement not covered" > /**</span>
1219
- <span class="cstat-no" title="statement not covered" > * Set this to a custom dropdown icon or `null` to not render a dropdown icon.</span>
1220
- <span class="cstat-no" title="statement not covered" > *</span>
1221
- <span class="cstat-no" title="statement not covered" > * @defaultValue `getIcon("dropdown")`</span>
1222
- <span class="cstat-no" title="statement not covered" > */</span>
1223
- <span class="cstat-no" title="statement not covered" > icon?: ReactNode;</span>
1224
- <span class="cstat-no" title="statement not covered" ></span>
1225
- <span class="cstat-no" title="statement not covered" > /**</span>
1226
- <span class="cstat-no" title="statement not covered" > * Set this value to fully control the value of the select component. The</span>
1227
- <span class="cstat-no" title="statement not covered" > * {@link onChange} handler **must** also be provided if this prop exists.</span>
1228
- <span class="cstat-no" title="statement not covered" > */</span>
1229
- <span class="cstat-no" title="statement not covered" > value?: Value;</span>
1230
- <span class="cstat-no" title="statement not covered" ></span>
1231
- <span class="cstat-no" title="statement not covered" > /**</span>
1232
- <span class="cstat-no" title="statement not covered" > * An optional default value when the value of the select component is</span>
1233
- <span class="cstat-no" title="statement not covered" > * uncontrolled.</span>
1234
- <span class="cstat-no" title="statement not covered" > *</span>
1235
- <span class="cstat-no" title="statement not covered" > * @defaultValue `""`</span>
1236
- <span class="cstat-no" title="statement not covered" > */</span>
1237
- <span class="cstat-no" title="statement not covered" > defaultValue?: Value;</span>
1238
- <span class="cstat-no" title="statement not covered" ></span>
1239
- <span class="cstat-no" title="statement not covered" > /** @see {@link SelectChangeEvent} */</span>
1240
- <span class="cstat-no" title="statement not covered" > onChange?(event: SelectChangeEvent&lt;Value&gt;): void;</span>
1241
- <span class="cstat-no" title="statement not covered" ></span>
1242
- <span class="cstat-no" title="statement not covered" > /**</span>
1243
- <span class="cstat-no" title="statement not covered" > * Any additional props to provide to the `Menu` component that renders all</span>
1244
- <span class="cstat-no" title="statement not covered" > * the `Option`s.</span>
1245
- <span class="cstat-no" title="statement not covered" > *</span>
1246
- <span class="cstat-no" title="statement not covered" > * The menu will always have these default values unless explicity</span>
1247
- <span class="cstat-no" title="statement not covered" > * overwritten by this prop:</span>
1248
- <span class="cstat-no" title="statement not covered" > *</span>
1249
- <span class="cstat-no" title="statement not covered" > * - `aria-labelledby={containerId}`</span>
1250
- <span class="cstat-no" title="statement not covered" > * - `anchor={BELOW_CENTER_ANCHOR}`</span>
1251
- <span class="cstat-no" title="statement not covered" > * - `width="min"`</span>
1252
- <span class="cstat-no" title="statement not covered" > */</span>
1253
- <span class="cstat-no" title="statement not covered" > menuProps?: Omit&lt;MenuProps, "visible" | "onRequestClose" | "fixedTo"&gt;;</span>
1254
- <span class="cstat-no" title="statement not covered" ></span>
1255
- <span class="cstat-no" title="statement not covered" > /**</span>
1256
- <span class="cstat-no" title="statement not covered" > * Set this to `true` to update all the `Option` components to no longer</span>
1257
- <span class="cstat-no" title="statement not covered" > * render an icon while selected.</span>
1258
- <span class="cstat-no" title="statement not covered" > *</span>
1259
- <span class="cstat-no" title="statement not covered" > * @defaultValue `false`</span>
1260
- <span class="cstat-no" title="statement not covered" > */</span>
1261
- <span class="cstat-no" title="statement not covered" > disableSelectedIcon?: boolean;</span>
1262
- <span class="cstat-no" title="statement not covered" ></span>
1263
- <span class="cstat-no" title="statement not covered" > /**</span>
1264
- <span class="cstat-no" title="statement not covered" > * Set this to `true` to prevent the current option from rendering the</span>
1265
- <span class="cstat-no" title="statement not covered" > * `leftAddon` in the `TextFieldContainer`.</span>
1266
- <span class="cstat-no" title="statement not covered" > *</span>
1267
- <span class="cstat-no" title="statement not covered" > * @defaultValue `false`</span>
1268
- <span class="cstat-no" title="statement not covered" > */</span>
1269
- <span class="cstat-no" title="statement not covered" > disableValueAddon?: boolean;</span>
1270
- <span class="cstat-no" title="statement not covered" ></span>
1271
- <span class="cstat-no" title="statement not covered" > /**</span>
1272
- <span class="cstat-no" title="statement not covered" > * This should be the available `Option`s for the select to choose from. It</span>
1273
- <span class="cstat-no" title="statement not covered" > * can also contain `OptGroup` or any other elements but only clicking on an</span>
1274
- <span class="cstat-no" title="statement not covered" > * `Option` component will update the value.</span>
1275
- <span class="cstat-no" title="statement not covered" > */</span>
1276
- <span class="cstat-no" title="statement not covered" > children: ReactNode;</span>
1277
- <span class="cstat-no" title="statement not covered" >}</span>
1278
- <span class="cstat-no" title="statement not covered" ></span>
1279
- <span class="cstat-no" title="statement not covered" >/**</span>
1280
- <span class="cstat-no" title="statement not covered" > * **Client Component**</span>
1281
- <span class="cstat-no" title="statement not covered" > *</span>
1282
- <span class="cstat-no" title="statement not covered" > * @remarks \@since 6.0.0 Rewritten with a new API.</span>
1283
- <span class="cstat-no" title="statement not covered" > */</span>
1284
- <span class="cstat-no" title="statement not covered" >export function Select&lt;Value extends string&gt;(</span>
1285
- <span class="cstat-no" title="statement not covered" > props: SelectProps&lt;Value&gt;</span>
1286
- <span class="cstat-no" title="statement not covered" >): ReactElement {</span>
1287
- <span class="cstat-no" title="statement not covered" > const {</span>
1288
- <span class="cstat-no" title="statement not covered" > id: propId,</span>
1289
- <span class="cstat-no" title="statement not covered" > className,</span>
1290
- <span class="cstat-no" title="statement not covered" > active = false,</span>
1291
- <span class="cstat-no" title="statement not covered" > inputRef: propInputRef,</span>
1292
- <span class="cstat-no" title="statement not covered" > inputClassName,</span>
1293
- <span class="cstat-no" title="statement not covered" > menuProps = {},</span>
1294
- <span class="cstat-no" title="statement not covered" > containerProps: propContainerProps = {},</span>
1295
- <span class="cstat-no" title="statement not covered" > icon: propIcon,</span>
1296
- <span class="cstat-no" title="statement not covered" > value,</span>
1297
- <span class="cstat-no" title="statement not covered" > defaultValue,</span>
1298
- <span class="cstat-no" title="statement not covered" > theme: propTheme,</span>
1299
- <span class="cstat-no" title="statement not covered" > onChange = noop,</span>
1300
- <span class="cstat-no" title="statement not covered" > leftAddon,</span>
1301
- <span class="cstat-no" title="statement not covered" > rightAddon: propRightAddon,</span>
1302
- <span class="cstat-no" title="statement not covered" > disableValueAddon = false,</span>
1303
- <span class="cstat-no" title="statement not covered" > disableSelectedIcon = false,</span>
1304
- <span class="cstat-no" title="statement not covered" > children,</span>
1305
- <span class="cstat-no" title="statement not covered" > ...remaining</span>
1306
- <span class="cstat-no" title="statement not covered" > } = props;</span>
1307
- <span class="cstat-no" title="statement not covered" > const { disabled = false, form } = props;</span>
1308
- <span class="cstat-no" title="statement not covered" ></span>
1309
- <span class="cstat-no" title="statement not covered" > const id = useEnsuredId(propId, "select");</span>
1310
- <span class="cstat-no" title="statement not covered" > const containerId = useEnsuredId(propContainerProps.id, "select-container");</span>
1311
- <span class="cstat-no" title="statement not covered" > const icon = getIcon("dropdown", propIcon);</span>
1312
- <span class="cstat-no" title="statement not covered" > const theme = getFormConfig("theme", propTheme);</span>
1313
- <span class="cstat-no" title="statement not covered" ></span>
1314
- <span class="cstat-no" title="statement not covered" > const { toggled: visible, enable: show, disable: hide } = useToggle();</span>
1315
- <span class="cstat-no" title="statement not covered" > const [inputRef, inputRefCallback] = useEnsuredRef(propInputRef);</span>
1316
- <span class="cstat-no" title="statement not covered" > const [containerRef, containerRefCallback] = useEnsuredRef(</span>
1317
- <span class="cstat-no" title="statement not covered" > propContainerProps.ref</span>
1318
- <span class="cstat-no" title="statement not covered" > );</span>
1319
- <span class="cstat-no" title="statement not covered" > const [menuRef, menuRefCallback] = useEnsuredRef(menuProps.nodeRef);</span>
1320
- <span class="cstat-no" title="statement not covered" > const [currentValue, setCurrentValue] = useState(() =&gt; {</span>
1321
- <span class="cstat-no" title="statement not covered" > if (typeof defaultValue !== "undefined") {</span>
1322
- <span class="cstat-no" title="statement not covered" > return defaultValue;</span>
1323
- <span class="cstat-no" title="statement not covered" > }</span>
1324
- <span class="cstat-no" title="statement not covered" ></span>
1325
- <span class="cstat-no" title="statement not covered" > return typeof value !== "undefined" ? value : EMPTY_STRING;</span>
1326
- <span class="cstat-no" title="statement not covered" > });</span>
1327
- <span class="cstat-no" title="statement not covered" > const initialValue = useRef(currentValue);</span>
1328
- <span class="cstat-no" title="statement not covered" ></span>
1329
- <span class="cstat-no" title="statement not covered" > useEffect(() =&gt; {</span>
1330
- <span class="cstat-no" title="statement not covered" > const select = inputRef.current;</span>
1331
- <span class="cstat-no" title="statement not covered" > if (!select) {</span>
1332
- <span class="cstat-no" title="statement not covered" > return;</span>
1333
- <span class="cstat-no" title="statement not covered" > }</span>
1334
- <span class="cstat-no" title="statement not covered" ></span>
1335
- <span class="cstat-no" title="statement not covered" > const formElement =</span>
1336
- <span class="cstat-no" title="statement not covered" > select.closest&lt;HTMLFormElement&gt;("form") ||</span>
1337
- <span class="cstat-no" title="statement not covered" > (form &amp;&amp; document.getElementById(form)) ||</span>
1338
- <span class="cstat-no" title="statement not covered" > null;</span>
1339
- <span class="cstat-no" title="statement not covered" ></span>
1340
- <span class="cstat-no" title="statement not covered" > if (!formElement) {</span>
1341
- <span class="cstat-no" title="statement not covered" > return;</span>
1342
- <span class="cstat-no" title="statement not covered" > }</span>
1343
- <span class="cstat-no" title="statement not covered" ></span>
1344
- <span class="cstat-no" title="statement not covered" > const handleReset = (): void =&gt; {</span>
1345
- <span class="cstat-no" title="statement not covered" > triggerManualChangeEvent(select, initialValue.current);</span>
1346
- <span class="cstat-no" title="statement not covered" > };</span>
1347
- <span class="cstat-no" title="statement not covered" ></span>
1348
- <span class="cstat-no" title="statement not covered" > formElement.addEventListener("reset", handleReset);</span>
1349
- <span class="cstat-no" title="statement not covered" > return () =&gt; {</span>
1350
- <span class="cstat-no" title="statement not covered" > formElement.removeEventListener("reset", handleReset);</span>
1351
- <span class="cstat-no" title="statement not covered" > };</span>
1352
- <span class="cstat-no" title="statement not covered" > }, [form, inputRef]);</span>
1353
- <span class="cstat-no" title="statement not covered" ></span>
1354
- <span class="cstat-no" title="statement not covered" > const { options, searchValues, currentOption, currentIndex } =</span>
1355
- <span class="cstat-no" title="statement not covered" > extractOptionsFromChildren(</span>
1356
- <span class="cstat-no" title="statement not covered" > children,</span>
1357
- <span class="cstat-no" title="statement not covered" > typeof value === "undefined" ? currentValue : value</span>
1358
- <span class="cstat-no" title="statement not covered" > );</span>
1359
- <span class="cstat-no" title="statement not covered" > const totalOptions = options.length - 1;</span>
1360
- <span class="cstat-no" title="statement not covered" ></span>
1361
- <span class="cstat-no" title="statement not covered" > let rightAddon = propRightAddon;</span>
1362
- <span class="cstat-no" title="statement not covered" > if (typeof rightAddon === "undefined" &amp;&amp; icon) {</span>
1363
- <span class="cstat-no" title="statement not covered" > rightAddon = &lt;IconRotator rotated={visible}&gt;{icon}&lt;/IconRotator&gt;;</span>
1364
- <span class="cstat-no" title="statement not covered" > }</span>
1365
- <span class="cstat-no" title="statement not covered" ></span>
1366
- <span class="cstat-no" title="statement not covered" > const listboxContext = useMemo(</span>
1367
- <span class="cstat-no" title="statement not covered" > () =&gt; ({</span>
1368
- <span class="cstat-no" title="statement not covered" > inputRef,</span>
1369
- <span class="cstat-no" title="statement not covered" > currentValue: typeof value === "undefined" ? currentValue : value,</span>
1370
- <span class="cstat-no" title="statement not covered" > disableSelectedIcon,</span>
1371
- <span class="cstat-no" title="statement not covered" > }),</span>
1372
- <span class="cstat-no" title="statement not covered" > [currentValue, disableSelectedIcon, inputRef, value]</span>
1373
- <span class="cstat-no" title="statement not covered" > );</span>
1374
- <span class="cstat-no" title="statement not covered" ></span>
1375
- <span class="cstat-no" title="statement not covered" > // TODO: Need to update this to support editable listboxes where these props</span>
1376
- <span class="cstat-no" title="statement not covered" > // would go to the input element instead of the container</span>
1377
- <span class="cstat-no" title="statement not covered" > const a11yProps = {</span>
1378
- <span class="cstat-no" title="statement not covered" > "aria-haspopup": "listbox",</span>
1379
- <span class="cstat-no" title="statement not covered" > "aria-expanded": visible,</span>
1380
- <span class="cstat-no" title="statement not covered" > role: "combobox",</span>
1381
- <span class="cstat-no" title="statement not covered" > tabIndex: disabled ? -1 : 0,</span>
1382
- <span class="cstat-no" title="statement not covered" > } as const;</span>
1383
- <span class="cstat-no" title="statement not covered" > const {</span>
1384
- <span class="cstat-no" title="statement not covered" > movementProps,</span>
1385
- <span class="cstat-no" title="statement not covered" > movementContext,</span>
1386
- <span class="cstat-no" title="statement not covered" > currentFocusIndex,</span>
1387
- <span class="cstat-no" title="statement not covered" > setActiveDescendantId,</span>
1388
- <span class="cstat-no" title="statement not covered" > } = useKeyboardMovementProvider&lt;HTMLDivElement&gt;({</span>
1389
- <span class="cstat-no" title="statement not covered" > onFocus: propContainerProps.onFocus,</span>
1390
- <span class="cstat-no" title="statement not covered" > onClick(event) {</span>
1391
- <span class="cstat-no" title="statement not covered" > propContainerProps.onClick?.(event);</span>
1392
- <span class="cstat-no" title="statement not covered" > if (disabled) {</span>
1393
- <span class="cstat-no" title="statement not covered" > return;</span>
1394
- <span class="cstat-no" title="statement not covered" > }</span>
1395
- <span class="cstat-no" title="statement not covered" ></span>
1396
- <span class="cstat-no" title="statement not covered" > show();</span>
1397
- <span class="cstat-no" title="statement not covered" > },</span>
1398
- <span class="cstat-no" title="statement not covered" > onKeyDown(event) {</span>
1399
- <span class="cstat-no" title="statement not covered" > propContainerProps.onKeyDown?.(event);</span>
1400
- <span class="cstat-no" title="statement not covered" > if (disabled) {</span>
1401
- <span class="cstat-no" title="statement not covered" > return;</span>
1402
- <span class="cstat-no" title="statement not covered" > }</span>
1403
- <span class="cstat-no" title="statement not covered" ></span>
1404
- <span class="cstat-no" title="statement not covered" > if (visible) {</span>
1405
- <span class="cstat-no" title="statement not covered" > if (event.key === "Escape" || event.key === "Tab") {</span>
1406
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
1407
- <span class="cstat-no" title="statement not covered" > hide();</span>
1408
- <span class="cstat-no" title="statement not covered" > }</span>
1409
- <span class="cstat-no" title="statement not covered" ></span>
1410
- <span class="cstat-no" title="statement not covered" > return;</span>
1411
- <span class="cstat-no" title="statement not covered" > }</span>
1412
- <span class="cstat-no" title="statement not covered" ></span>
1413
- <span class="cstat-no" title="statement not covered" > if (isSearchableEvent(event)) {</span>
1414
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
1415
- <span class="cstat-no" title="statement not covered" ></span>
1416
- <span class="cstat-no" title="statement not covered" > const nextIndex = findMatchIndex({</span>
1417
- <span class="cstat-no" title="statement not covered" > value: event.key,</span>
1418
- <span class="cstat-no" title="statement not covered" > values: searchValues,</span>
1419
- <span class="cstat-no" title="statement not covered" > startIndex: event.shiftKey ? -1 : currentIndex,</span>
1420
- <span class="cstat-no" title="statement not covered" > });</span>
1421
- <span class="cstat-no" title="statement not covered" ></span>
1422
- <span class="cstat-no" title="statement not covered" > if (nextIndex !== -1) {</span>
1423
- <span class="cstat-no" title="statement not covered" > triggerManualChangeEvent(inputRef.current, options[nextIndex].value);</span>
1424
- <span class="cstat-no" title="statement not covered" > }</span>
1425
- <span class="cstat-no" title="statement not covered" > return;</span>
1426
- <span class="cstat-no" title="statement not covered" > }</span>
1427
- <span class="cstat-no" title="statement not covered" ></span>
1428
- <span class="cstat-no" title="statement not covered" > switch (event.key) {</span>
1429
- <span class="cstat-no" title="statement not covered" > case " ":</span>
1430
- <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
1431
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
1432
- <span class="cstat-no" title="statement not covered" > show();</span>
1433
- <span class="cstat-no" title="statement not covered" > break;</span>
1434
- <span class="cstat-no" title="statement not covered" > case "Enter":</span>
1435
- <span class="cstat-no" title="statement not covered" > tryToSubmitRelatedForm(event, form);</span>
1436
- <span class="cstat-no" title="statement not covered" > break;</span>
1437
- <span class="cstat-no" title="statement not covered" > case "Home":</span>
1438
- <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
1439
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
1440
- <span class="cstat-no" title="statement not covered" > if (currentIndex !== 0) {</span>
1441
- <span class="cstat-no" title="statement not covered" > triggerManualChangeEvent(inputRef.current, options[0].value);</span>
1442
- <span class="cstat-no" title="statement not covered" > }</span>
1443
- <span class="cstat-no" title="statement not covered" > break;</span>
1444
- <span class="cstat-no" title="statement not covered" > case "End":</span>
1445
- <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
1446
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
1447
- <span class="cstat-no" title="statement not covered" > if (currentIndex !== totalOptions) {</span>
1448
- <span class="cstat-no" title="statement not covered" > triggerManualChangeEvent(</span>
1449
- <span class="cstat-no" title="statement not covered" > inputRef.current,</span>
1450
- <span class="cstat-no" title="statement not covered" > options[totalOptions].value</span>
1451
- <span class="cstat-no" title="statement not covered" > );</span>
1452
- <span class="cstat-no" title="statement not covered" > }</span>
1453
- <span class="cstat-no" title="statement not covered" > break;</span>
1454
- <span class="cstat-no" title="statement not covered" > case "ArrowDown":</span>
1455
- <span class="cstat-no" title="statement not covered" > case "ArrowUp": {</span>
1456
- <span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
1457
- <span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
1458
- <span class="cstat-no" title="statement not covered" ></span>
1459
- <span class="cstat-no" title="statement not covered" > const increment = event.key === "ArrowDown";</span>
1460
- <span class="cstat-no" title="statement not covered" > if (currentIndex === -1 &amp;&amp; !increment) {</span>
1461
- <span class="cstat-no" title="statement not covered" > // this matches the native select behavior where it will do</span>
1462
- <span class="cstat-no" title="statement not covered" > // nothing if there is no current value</span>
1463
- <span class="cstat-no" title="statement not covered" > return;</span>
1464
- <span class="cstat-no" title="statement not covered" > }</span>
1465
- <span class="cstat-no" title="statement not covered" ></span>
1466
- <span class="cstat-no" title="statement not covered" > const nextIndex = loop({</span>
1467
- <span class="cstat-no" title="statement not covered" > max: totalOptions,</span>
1468
- <span class="cstat-no" title="statement not covered" > value: currentIndex,</span>
1469
- <span class="cstat-no" title="statement not covered" > minmax: true,</span>
1470
- <span class="cstat-no" title="statement not covered" > increment,</span>
1471
- <span class="cstat-no" title="statement not covered" > });</span>
1472
- <span class="cstat-no" title="statement not covered" ></span>
1473
- <span class="cstat-no" title="statement not covered" > triggerManualChangeEvent(inputRef.current, options[nextIndex].value);</span>
1474
- <span class="cstat-no" title="statement not covered" > break;</span>
1475
- <span class="cstat-no" title="statement not covered" > }</span>
1476
- <span class="cstat-no" title="statement not covered" > }</span>
1477
- <span class="cstat-no" title="statement not covered" > },</span>
1478
- <span class="cstat-no" title="statement not covered" > loopable: false,</span>
1479
- <span class="cstat-no" title="statement not covered" > searchable: true,</span>
1480
- <span class="cstat-no" title="statement not covered" > programmatic: true,</span>
1481
- <span class="cstat-no" title="statement not covered" > includeDisabled: false,</span>
1482
- <span class="cstat-no" title="statement not covered" > tabIndexBehavior: "virtual",</span>
1483
- <span class="cstat-no" title="statement not covered" > getDefaultFocusedIndex(focusOptions) {</span>
1484
- <span class="cstat-no" title="statement not covered" > if (typeof menuProps.getDefaultFocusedIndex === "function") {</span>
1485
- <span class="cstat-no" title="statement not covered" > return menuProps.getDefaultFocusedIndex(focusOptions);</span>
1486
- <span class="cstat-no" title="statement not covered" > }</span>
1487
- <span class="cstat-no" title="statement not covered" ></span>
1488
- <span class="cstat-no" title="statement not covered" > const val = typeof value === "undefined" ? currentValue : value;</span>
1489
- <span class="cstat-no" title="statement not covered" > return options.findIndex((option) =&gt; option.value === val);</span>
1490
- <span class="cstat-no" title="statement not covered" > },</span>
1491
- <span class="cstat-no" title="statement not covered" > getFocusableElements() {</span>
1492
- <span class="cstat-no" title="statement not covered" > const menu = menuRef.current;</span>
1493
- <span class="cstat-no" title="statement not covered" > if (!menu) {</span>
1494
- <span class="cstat-no" title="statement not covered" > return [];</span>
1495
- <span class="cstat-no" title="statement not covered" > }</span>
1496
- <span class="cstat-no" title="statement not covered" ></span>
1497
- <span class="cstat-no" title="statement not covered" > return [</span>
1498
- <span class="cstat-no" title="statement not covered" > ...menu.querySelectorAll&lt;HTMLLIElement&gt;(</span>
1499
- <span class="cstat-no" title="statement not covered" > '[role="option"]:not([aria-disabled])'</span>
1500
- <span class="cstat-no" title="statement not covered" > ),</span>
1501
- <span class="cstat-no" title="statement not covered" > ];</span>
1502
- <span class="cstat-no" title="statement not covered" > },</span>
1503
- <span class="cstat-no" title="statement not covered" > });</span>
1504
- <span class="cstat-no" title="statement not covered" ></span>
1505
- <span class="cstat-no" title="statement not covered" > const containerProps: Required&lt;SelectProps&lt;Value&gt;&gt;["containerProps"] = {</span>
1506
- <span class="cstat-no" title="statement not covered" > ...propContainerProps,</span>
1507
- <span class="cstat-no" title="statement not covered" > ...movementProps,</span>
1508
- <span class="cstat-no" title="statement not covered" > ...a11yProps,</span>
1509
- <span class="cstat-no" title="statement not covered" > ref: containerRefCallback,</span>
1510
- <span class="cstat-no" title="statement not covered" > };</span>
1511
- <span class="cstat-no" title="statement not covered" ></span>
1512
- <span class="cstat-no" title="statement not covered" > const { onEntering, onEntered, onExiting, onExited, disableTransition } =</span>
1513
- <span class="cstat-no" title="statement not covered" > menuProps;</span>
1514
- <span class="cstat-no" title="statement not covered" > const handleMounting =</span>
1515
- <span class="cstat-no" title="statement not covered" > (callback: TransitionEnterHandler | undefined = noop, skipped = false) =&gt;</span>
1516
- <span class="cstat-no" title="statement not covered" > (appearing: boolean) =&gt; {</span>
1517
- <span class="cstat-no" title="statement not covered" > callback(appearing);</span>
1518
- <span class="cstat-no" title="statement not covered" ></span>
1519
- <span class="cstat-no" title="statement not covered" > const menu = menuRef.current;</span>
1520
- <span class="cstat-no" title="statement not covered" > if (!menu || skipped) {</span>
1521
- <span class="cstat-no" title="statement not covered" > return;</span>
1522
- <span class="cstat-no" title="statement not covered" > }</span>
1523
- <span class="cstat-no" title="statement not covered" ></span>
1524
- <span class="cstat-no" title="statement not covered" > // Since the keyboard movement behavior is tied to the</span>
1525
- <span class="cstat-no" title="statement not covered" > // `TextFieldContainer` or `input` element instead of the menu for this</span>
1526
- <span class="cstat-no" title="statement not covered" > // widget, the focus index and active descendant must manually be updated</span>
1527
- <span class="cstat-no" title="statement not covered" > // whenever the menu becomes visible. Without this, no items will be</span>
1528
- <span class="cstat-no" title="statement not covered" > // focused until the first keyboard event that would move focus</span>
1529
- <span class="cstat-no" title="statement not covered" > const val = typeof value === "undefined" ? currentValue : value;</span>
1530
- <span class="cstat-no" title="statement not covered" > const focusables = getNonDisabledOptions(menu);</span>
1531
- <span class="cstat-no" title="statement not covered" > const index = Math.max(</span>
1532
- <span class="cstat-no" title="statement not covered" > 0,</span>
1533
- <span class="cstat-no" title="statement not covered" > options.findIndex((option) =&gt; option.value === val)</span>
1534
- <span class="cstat-no" title="statement not covered" > );</span>
1535
- <span class="cstat-no" title="statement not covered" > focusables[index].scrollIntoView({ block: "nearest" });</span>
1536
- <span class="cstat-no" title="statement not covered" > currentFocusIndex.current = index;</span>
1537
- <span class="cstat-no" title="statement not covered" > setActiveDescendantId(focusables[index]?.id || "");</span>
1538
- <span class="cstat-no" title="statement not covered" > };</span>
1539
- <span class="cstat-no" title="statement not covered" ></span>
1540
- <span class="cstat-no" title="statement not covered" > const handleUnmounting =</span>
1541
- <span class="cstat-no" title="statement not covered" > (callback: TransitionExitHandler | undefined = noop, skipped = false) =&gt;</span>
1542
- <span class="cstat-no" title="statement not covered" > (): void =&gt; {</span>
1543
- <span class="cstat-no" title="statement not covered" > callback();</span>
1544
- <span class="cstat-no" title="statement not covered" ></span>
1545
- <span class="cstat-no" title="statement not covered" > if (!skipped) {</span>
1546
- <span class="cstat-no" title="statement not covered" > // since the menu is unmounted or set to hidden while not visible, need</span>
1547
- <span class="cstat-no" title="statement not covered" > // to clear the aria-activedescendant and current focus index when</span>
1548
- <span class="cstat-no" title="statement not covered" > // hiding</span>
1549
- <span class="cstat-no" title="statement not covered" > currentFocusIndex.current = -1;</span>
1550
- <span class="cstat-no" title="statement not covered" > setActiveDescendantId("");</span>
1551
- <span class="cstat-no" title="statement not covered" > }</span>
1552
- <span class="cstat-no" title="statement not covered" > };</span>
1553
- <span class="cstat-no" title="statement not covered" ></span>
1554
- <span class="cstat-no" title="statement not covered" > return (</span>
1555
- <span class="cstat-no" title="statement not covered" > &lt;ListboxProvider value={listboxContext}&gt;</span>
1556
- <span class="cstat-no" title="statement not covered" > &lt;KeyboardMovementProvider value={movementContext}&gt;</span>
1557
- <span class="cstat-no" title="statement not covered" > &lt;TextField</span>
1558
- <span class="cstat-no" title="statement not covered" > {...remaining}</span>
1559
- <span class="cstat-no" title="statement not covered" > aria-hidden</span>
1560
- <span class="cstat-no" title="statement not covered" > id={id}</span>
1561
- <span class="cstat-no" title="statement not covered" > ref={inputRefCallback}</span>
1562
- <span class="cstat-no" title="statement not covered" > containerProps={containerProps}</span>
1563
- <span class="cstat-no" title="statement not covered" > type="text"</span>
1564
- <span class="cstat-no" title="statement not covered" > tabIndex={-1}</span>
1565
- <span class="cstat-no" title="statement not covered" > theme={theme}</span>
1566
- <span class="cstat-no" title="statement not covered" > value={value}</span>
1567
- <span class="cstat-no" title="statement not covered" > defaultValue={defaultValue}</span>
1568
- <span class="cstat-no" title="statement not covered" > active={active || visible}</span>
1569
- <span class="cstat-no" title="statement not covered" > leftAddon={leftAddon}</span>
1570
- <span class="cstat-no" title="statement not covered" > rightAddon={rightAddon}</span>
1571
- <span class="cstat-no" title="statement not covered" > className={cnb("rmd-select-container", className)}</span>
1572
- <span class="cstat-no" title="statement not covered" > inputClassName={select({</span>
1573
- <span class="cstat-no" title="statement not covered" > theme,</span>
1574
- <span class="cstat-no" title="statement not covered" > className: inputClassName,</span>
1575
- <span class="cstat-no" title="statement not covered" > })}</span>
1576
- <span class="cstat-no" title="statement not covered" > onChange={(event) =&gt; {</span>
1577
- <span class="cstat-no" title="statement not covered" > onChange(event as SelectChangeEvent&lt;Value&gt;);</span>
1578
- <span class="cstat-no" title="statement not covered" > if (typeof value !== "undefined") {</span>
1579
- <span class="cstat-no" title="statement not covered" > return;</span>
1580
- <span class="cstat-no" title="statement not covered" > }</span>
1581
- <span class="cstat-no" title="statement not covered" ></span>
1582
- <span class="cstat-no" title="statement not covered" > const nextValue = event.currentTarget.value;</span>
1583
- <span class="cstat-no" title="statement not covered" > const valueAsNumber = parseFloat(nextValue);</span>
1584
- <span class="cstat-no" title="statement not covered" > const nextOption = options.find(</span>
1585
- <span class="cstat-no" title="statement not covered" > (option) =&gt;</span>
1586
- <span class="cstat-no" title="statement not covered" > // need to compare both here since</span>
1587
- <span class="cstat-no" title="statement not covered" > // eslint-disable-next-line @typescript-eslint/ban-ts-comment</span>
1588
- <span class="cstat-no" title="statement not covered" > // @ts-expect-error</span>
1589
- <span class="cstat-no" title="statement not covered" > option.value === nextValue || option.value === valueAsNumber</span>
1590
- <span class="cstat-no" title="statement not covered" > );</span>
1591
- <span class="cstat-no" title="statement not covered" ></span>
1592
- <span class="cstat-no" title="statement not covered" > setCurrentValue(</span>
1593
- <span class="cstat-no" title="statement not covered" > nextOption ? nextOption.value : initialValue.current</span>
1594
- <span class="cstat-no" title="statement not covered" > );</span>
1595
- <span class="cstat-no" title="statement not covered" > }}</span>
1596
- <span class="cstat-no" title="statement not covered" > &gt;</span>
1597
- <span class="cstat-no" title="statement not covered" > &lt;SelectValue disableAddon={disableValueAddon} {...currentOption} /&gt;</span>
1598
- <span class="cstat-no" title="statement not covered" > &lt;/TextField&gt;</span>
1599
- <span class="cstat-no" title="statement not covered" > &lt;Menu</span>
1600
- <span class="cstat-no" title="statement not covered" > aria-labelledby={containerId}</span>
1601
- <span class="cstat-no" title="statement not covered" > anchor={BELOW_CENTER_ANCHOR}</span>
1602
- <span class="cstat-no" title="statement not covered" > role="listbox"</span>
1603
- <span class="cstat-no" title="statement not covered" > width="min"</span>
1604
- <span class="cstat-no" title="statement not covered" > {...menuProps}</span>
1605
- <span class="cstat-no" title="statement not covered" > ref={menuRefCallback}</span>
1606
- <span class="cstat-no" title="statement not covered" > visible={visible}</span>
1607
- <span class="cstat-no" title="statement not covered" > fixedTo={containerRef}</span>
1608
- <span class="cstat-no" title="statement not covered" > onRequestClose={hide}</span>
1609
- <span class="cstat-no" title="statement not covered" > onEntering={handleMounting(onEntering, false)}</span>
1610
- <span class="cstat-no" title="statement not covered" > onEntered={handleMounting(onEntered, !disableTransition)}</span>
1611
- <span class="cstat-no" title="statement not covered" > onExiting={handleUnmounting(onExiting, false)}</span>
1612
- <span class="cstat-no" title="statement not covered" > onExited={handleUnmounting(onExited, !disableTransition)}</span>
1613
- <span class="cstat-no" title="statement not covered" > &gt;</span>
1614
- <span class="cstat-no" title="statement not covered" > {children}</span>
1615
- <span class="cstat-no" title="statement not covered" > &lt;/Menu&gt;</span>
1616
- <span class="cstat-no" title="statement not covered" > &lt;/KeyboardMovementProvider&gt;</span>
1617
- <span class="cstat-no" title="statement not covered" > &lt;/ListboxProvider&gt;</span>
1618
- <span class="cstat-no" title="statement not covered" > );</span>
1619
- <span class="cstat-no" title="statement not covered" >}</span>
508
+ <a name='L443'></a><a href='#L443'>443</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
509
+ <span class="cline-any cline-yes">1x</span>
510
+ <span class="cline-any cline-yes">1x</span>
511
+ <span class="cline-any cline-yes">1x</span>
512
+ <span class="cline-any cline-yes">1x</span>
513
+ <span class="cline-any cline-yes">1x</span>
514
+ <span class="cline-any cline-yes">1x</span>
515
+ <span class="cline-any cline-yes">1x</span>
516
+ <span class="cline-any cline-yes">1x</span>
517
+ <span class="cline-any cline-yes">1x</span>
518
+ <span class="cline-any cline-yes">1x</span>
519
+ <span class="cline-any cline-yes">1x</span>
520
+ <span class="cline-any cline-yes">1x</span>
521
+ <span class="cline-any cline-yes">1x</span>
522
+ <span class="cline-any cline-yes">1x</span>
523
+ <span class="cline-any cline-yes">1x</span>
524
+ <span class="cline-any cline-yes">1x</span>
525
+ <span class="cline-any cline-yes">1x</span>
526
+ <span class="cline-any cline-yes">1x</span>
527
+ <span class="cline-any cline-yes">1x</span>
528
+ <span class="cline-any cline-yes">1x</span>
529
+ <span class="cline-any cline-yes">1x</span>
530
+ <span class="cline-any cline-yes">1x</span>
531
+ <span class="cline-any cline-yes">1x</span>
532
+ <span class="cline-any cline-yes">1x</span>
533
+ <span class="cline-any cline-yes">1x</span>
534
+ <span class="cline-any cline-yes">1x</span>
535
+ <span class="cline-any cline-yes">1x</span>
536
+ <span class="cline-any cline-yes">1x</span>
537
+ <span class="cline-any cline-yes">1x</span>
538
+ <span class="cline-any cline-yes">1x</span>
539
+ <span class="cline-any cline-yes">1x</span>
540
+ <span class="cline-any cline-yes">1x</span>
541
+ <span class="cline-any cline-yes">1x</span>
542
+ <span class="cline-any cline-yes">1x</span>
543
+ <span class="cline-any cline-yes">1x</span>
544
+ <span class="cline-any cline-yes">1x</span>
545
+ <span class="cline-any cline-yes">1x</span>
546
+ <span class="cline-any cline-yes">1x</span>
547
+ <span class="cline-any cline-yes">1x</span>
548
+ <span class="cline-any cline-yes">1x</span>
549
+ <span class="cline-any cline-yes">1x</span>
550
+ <span class="cline-any cline-yes">8x</span>
551
+ <span class="cline-any cline-yes">8x</span>
552
+ <span class="cline-any cline-yes">1x</span>
553
+ <span class="cline-any cline-yes">1x</span>
554
+ <span class="cline-any cline-yes">1x</span>
555
+ <span class="cline-any cline-yes">1x</span>
556
+ <span class="cline-any cline-yes">1x</span>
557
+ <span class="cline-any cline-yes">1x</span>
558
+ <span class="cline-any cline-yes">1x</span>
559
+ <span class="cline-any cline-yes">1x</span>
560
+ <span class="cline-any cline-yes">1x</span>
561
+ <span class="cline-any cline-yes">1x</span>
562
+ <span class="cline-any cline-yes">1x</span>
563
+ <span class="cline-any cline-yes">1x</span>
564
+ <span class="cline-any cline-yes">1x</span>
565
+ <span class="cline-any cline-yes">1x</span>
566
+ <span class="cline-any cline-yes">1x</span>
567
+ <span class="cline-any cline-yes">1x</span>
568
+ <span class="cline-any cline-yes">1x</span>
569
+ <span class="cline-any cline-yes">1x</span>
570
+ <span class="cline-any cline-yes">1x</span>
571
+ <span class="cline-any cline-yes">1x</span>
572
+ <span class="cline-any cline-yes">1x</span>
573
+ <span class="cline-any cline-yes">1x</span>
574
+ <span class="cline-any cline-yes">1x</span>
575
+ <span class="cline-any cline-yes">1x</span>
576
+ <span class="cline-any cline-yes">1x</span>
577
+ <span class="cline-any cline-yes">1x</span>
578
+ <span class="cline-any cline-yes">1x</span>
579
+ <span class="cline-any cline-yes">1x</span>
580
+ <span class="cline-any cline-yes">1x</span>
581
+ <span class="cline-any cline-yes">1x</span>
582
+ <span class="cline-any cline-yes">1x</span>
583
+ <span class="cline-any cline-yes">1x</span>
584
+ <span class="cline-any cline-yes">1x</span>
585
+ <span class="cline-any cline-yes">1x</span>
586
+ <span class="cline-any cline-yes">1x</span>
587
+ <span class="cline-any cline-yes">1x</span>
588
+ <span class="cline-any cline-yes">1x</span>
589
+ <span class="cline-any cline-yes">1x</span>
590
+ <span class="cline-any cline-yes">1x</span>
591
+ <span class="cline-any cline-yes">1x</span>
592
+ <span class="cline-any cline-yes">1x</span>
593
+ <span class="cline-any cline-yes">1x</span>
594
+ <span class="cline-any cline-yes">1x</span>
595
+ <span class="cline-any cline-yes">1x</span>
596
+ <span class="cline-any cline-yes">1x</span>
597
+ <span class="cline-any cline-yes">1x</span>
598
+ <span class="cline-any cline-yes">1x</span>
599
+ <span class="cline-any cline-yes">1x</span>
600
+ <span class="cline-any cline-yes">1x</span>
601
+ <span class="cline-any cline-yes">1x</span>
602
+ <span class="cline-any cline-yes">1x</span>
603
+ <span class="cline-any cline-yes">1x</span>
604
+ <span class="cline-any cline-yes">1x</span>
605
+ <span class="cline-any cline-yes">1x</span>
606
+ <span class="cline-any cline-yes">1x</span>
607
+ <span class="cline-any cline-yes">1x</span>
608
+ <span class="cline-any cline-yes">1x</span>
609
+ <span class="cline-any cline-yes">1x</span>
610
+ <span class="cline-any cline-yes">1x</span>
611
+ <span class="cline-any cline-yes">1x</span>
612
+ <span class="cline-any cline-yes">1x</span>
613
+ <span class="cline-any cline-yes">1x</span>
614
+ <span class="cline-any cline-yes">1x</span>
615
+ <span class="cline-any cline-yes">1x</span>
616
+ <span class="cline-any cline-yes">1x</span>
617
+ <span class="cline-any cline-yes">1x</span>
618
+ <span class="cline-any cline-yes">1x</span>
619
+ <span class="cline-any cline-yes">1x</span>
620
+ <span class="cline-any cline-yes">1x</span>
621
+ <span class="cline-any cline-yes">1x</span>
622
+ <span class="cline-any cline-yes">1x</span>
623
+ <span class="cline-any cline-yes">1x</span>
624
+ <span class="cline-any cline-yes">1x</span>
625
+ <span class="cline-any cline-yes">1x</span>
626
+ <span class="cline-any cline-yes">1x</span>
627
+ <span class="cline-any cline-yes">1x</span>
628
+ <span class="cline-any cline-yes">1x</span>
629
+ <span class="cline-any cline-yes">1x</span>
630
+ <span class="cline-any cline-yes">1x</span>
631
+ <span class="cline-any cline-yes">1x</span>
632
+ <span class="cline-any cline-yes">1x</span>
633
+ <span class="cline-any cline-yes">1x</span>
634
+ <span class="cline-any cline-yes">1x</span>
635
+ <span class="cline-any cline-yes">1x</span>
636
+ <span class="cline-any cline-yes">1x</span>
637
+ <span class="cline-any cline-yes">1x</span>
638
+ <span class="cline-any cline-yes">1x</span>
639
+ <span class="cline-any cline-yes">1x</span>
640
+ <span class="cline-any cline-yes">1x</span>
641
+ <span class="cline-any cline-yes">1x</span>
642
+ <span class="cline-any cline-yes">1x</span>
643
+ <span class="cline-any cline-yes">1x</span>
644
+ <span class="cline-any cline-yes">1x</span>
645
+ <span class="cline-any cline-yes">1x</span>
646
+ <span class="cline-any cline-yes">1x</span>
647
+ <span class="cline-any cline-yes">1x</span>
648
+ <span class="cline-any cline-yes">1x</span>
649
+ <span class="cline-any cline-yes">1x</span>
650
+ <span class="cline-any cline-yes">1x</span>
651
+ <span class="cline-any cline-yes">1x</span>
652
+ <span class="cline-any cline-yes">1x</span>
653
+ <span class="cline-any cline-yes">1x</span>
654
+ <span class="cline-any cline-yes">1x</span>
655
+ <span class="cline-any cline-yes">1x</span>
656
+ <span class="cline-any cline-yes">1x</span>
657
+ <span class="cline-any cline-yes">1x</span>
658
+ <span class="cline-any cline-yes">1x</span>
659
+ <span class="cline-any cline-yes">1x</span>
660
+ <span class="cline-any cline-yes">1x</span>
661
+ <span class="cline-any cline-yes">1x</span>
662
+ <span class="cline-any cline-yes">1x</span>
663
+ <span class="cline-any cline-yes">1x</span>
664
+ <span class="cline-any cline-yes">1x</span>
665
+ <span class="cline-any cline-yes">1x</span>
666
+ <span class="cline-any cline-yes">1x</span>
667
+ <span class="cline-any cline-yes">1x</span>
668
+ <span class="cline-any cline-yes">1x</span>
669
+ <span class="cline-any cline-yes">1x</span>
670
+ <span class="cline-any cline-yes">1x</span>
671
+ <span class="cline-any cline-yes">1x</span>
672
+ <span class="cline-any cline-yes">1x</span>
673
+ <span class="cline-any cline-yes">1x</span>
674
+ <span class="cline-any cline-yes">1x</span>
675
+ <span class="cline-any cline-yes">1x</span>
676
+ <span class="cline-any cline-yes">1x</span>
677
+ <span class="cline-any cline-yes">1x</span>
678
+ <span class="cline-any cline-yes">1x</span>
679
+ <span class="cline-any cline-yes">1x</span>
680
+ <span class="cline-any cline-yes">1x</span>
681
+ <span class="cline-any cline-yes">1x</span>
682
+ <span class="cline-any cline-yes">1x</span>
683
+ <span class="cline-any cline-yes">1x</span>
684
+ <span class="cline-any cline-yes">1x</span>
685
+ <span class="cline-any cline-yes">1x</span>
686
+ <span class="cline-any cline-yes">1x</span>
687
+ <span class="cline-any cline-yes">1x</span>
688
+ <span class="cline-any cline-yes">1x</span>
689
+ <span class="cline-any cline-yes">1x</span>
690
+ <span class="cline-any cline-yes">1x</span>
691
+ <span class="cline-any cline-yes">1x</span>
692
+ <span class="cline-any cline-yes">1x</span>
693
+ <span class="cline-any cline-yes">1x</span>
694
+ <span class="cline-any cline-yes">1x</span>
695
+ <span class="cline-any cline-yes">1x</span>
696
+ <span class="cline-any cline-yes">1x</span>
697
+ <span class="cline-any cline-yes">1x</span>
698
+ <span class="cline-any cline-yes">1x</span>
699
+ <span class="cline-any cline-yes">1x</span>
700
+ <span class="cline-any cline-yes">1x</span>
701
+ <span class="cline-any cline-yes">1x</span>
702
+ <span class="cline-any cline-yes">1x</span>
703
+ <span class="cline-any cline-yes">1x</span>
704
+ <span class="cline-any cline-yes">1x</span>
705
+ <span class="cline-any cline-yes">1x</span>
706
+ <span class="cline-any cline-yes">1x</span>
707
+ <span class="cline-any cline-yes">1x</span>
708
+ <span class="cline-any cline-yes">1x</span>
709
+ <span class="cline-any cline-yes">1x</span>
710
+ <span class="cline-any cline-yes">1x</span>
711
+ <span class="cline-any cline-yes">1x</span>
712
+ <span class="cline-any cline-yes">1x</span>
713
+ <span class="cline-any cline-yes">1x</span>
714
+ <span class="cline-any cline-yes">1x</span>
715
+ <span class="cline-any cline-yes">1x</span>
716
+ <span class="cline-any cline-yes">1x</span>
717
+ <span class="cline-any cline-yes">1x</span>
718
+ <span class="cline-any cline-yes">1x</span>
719
+ <span class="cline-any cline-yes">1x</span>
720
+ <span class="cline-any cline-yes">1x</span>
721
+ <span class="cline-any cline-yes">1x</span>
722
+ <span class="cline-any cline-yes">1x</span>
723
+ <span class="cline-any cline-yes">1x</span>
724
+ <span class="cline-any cline-yes">1x</span>
725
+ <span class="cline-any cline-yes">1x</span>
726
+ <span class="cline-any cline-yes">1x</span>
727
+ <span class="cline-any cline-yes">1x</span>
728
+ <span class="cline-any cline-yes">1x</span>
729
+ <span class="cline-any cline-yes">1x</span>
730
+ <span class="cline-any cline-yes">1x</span>
731
+ <span class="cline-any cline-yes">1x</span>
732
+ <span class="cline-any cline-yes">1x</span>
733
+ <span class="cline-any cline-yes">1x</span>
734
+ <span class="cline-any cline-yes">1x</span>
735
+ <span class="cline-any cline-yes">1x</span>
736
+ <span class="cline-any cline-yes">1x</span>
737
+ <span class="cline-any cline-yes">1x</span>
738
+ <span class="cline-any cline-yes">1x</span>
739
+ <span class="cline-any cline-yes">1x</span>
740
+ <span class="cline-any cline-yes">1x</span>
741
+ <span class="cline-any cline-yes">1x</span>
742
+ <span class="cline-any cline-yes">1x</span>
743
+ <span class="cline-any cline-yes">1x</span>
744
+ <span class="cline-any cline-yes">1x</span>
745
+ <span class="cline-any cline-yes">1x</span>
746
+ <span class="cline-any cline-yes">1x</span>
747
+ <span class="cline-any cline-yes">1x</span>
748
+ <span class="cline-any cline-yes">1x</span>
749
+ <span class="cline-any cline-yes">1x</span>
750
+ <span class="cline-any cline-yes">1x</span>
751
+ <span class="cline-any cline-yes">1x</span>
752
+ <span class="cline-any cline-yes">1x</span>
753
+ <span class="cline-any cline-yes">1x</span>
754
+ <span class="cline-any cline-yes">1x</span>
755
+ <span class="cline-any cline-yes">1x</span>
756
+ <span class="cline-any cline-yes">1x</span>
757
+ <span class="cline-any cline-yes">1x</span>
758
+ <span class="cline-any cline-yes">1x</span>
759
+ <span class="cline-any cline-yes">1x</span>
760
+ <span class="cline-any cline-yes">1x</span>
761
+ <span class="cline-any cline-yes">1x</span>
762
+ <span class="cline-any cline-yes">1x</span>
763
+ <span class="cline-any cline-yes">1x</span>
764
+ <span class="cline-any cline-yes">1x</span>
765
+ <span class="cline-any cline-yes">1x</span>
766
+ <span class="cline-any cline-yes">1x</span>
767
+ <span class="cline-any cline-yes">1x</span>
768
+ <span class="cline-any cline-yes">1x</span>
769
+ <span class="cline-any cline-yes">1x</span>
770
+ <span class="cline-any cline-yes">1x</span>
771
+ <span class="cline-any cline-yes">1x</span>
772
+ <span class="cline-any cline-yes">1x</span>
773
+ <span class="cline-any cline-yes">1x</span>
774
+ <span class="cline-any cline-yes">1x</span>
775
+ <span class="cline-any cline-yes">1x</span>
776
+ <span class="cline-any cline-yes">87x</span>
777
+ <span class="cline-any cline-yes">87x</span>
778
+ <span class="cline-any cline-yes">87x</span>
779
+ <span class="cline-any cline-yes">87x</span>
780
+ <span class="cline-any cline-yes">87x</span>
781
+ <span class="cline-any cline-yes">87x</span>
782
+ <span class="cline-any cline-yes">87x</span>
783
+ <span class="cline-any cline-yes">87x</span>
784
+ <span class="cline-any cline-yes">87x</span>
785
+ <span class="cline-any cline-yes">87x</span>
786
+ <span class="cline-any cline-yes">87x</span>
787
+ <span class="cline-any cline-yes">87x</span>
788
+ <span class="cline-any cline-yes">87x</span>
789
+ <span class="cline-any cline-yes">87x</span>
790
+ <span class="cline-any cline-yes">87x</span>
791
+ <span class="cline-any cline-yes">87x</span>
792
+ <span class="cline-any cline-yes">87x</span>
793
+ <span class="cline-any cline-yes">87x</span>
794
+ <span class="cline-any cline-yes">87x</span>
795
+ <span class="cline-any cline-yes">87x</span>
796
+ <span class="cline-any cline-yes">87x</span>
797
+ <span class="cline-any cline-yes">87x</span>
798
+ <span class="cline-any cline-yes">87x</span>
799
+ <span class="cline-any cline-yes">87x</span>
800
+ <span class="cline-any cline-yes">87x</span>
801
+ <span class="cline-any cline-yes">87x</span>
802
+ <span class="cline-any cline-yes">87x</span>
803
+ <span class="cline-any cline-yes">87x</span>
804
+ <span class="cline-any cline-yes">87x</span>
805
+ <span class="cline-any cline-yes">87x</span>
806
+ <span class="cline-any cline-yes">87x</span>
807
+ <span class="cline-any cline-yes">87x</span>
808
+ <span class="cline-any cline-yes">87x</span>
809
+ <span class="cline-any cline-yes">87x</span>
810
+ <span class="cline-any cline-yes">87x</span>
811
+ <span class="cline-any cline-yes">87x</span>
812
+ <span class="cline-any cline-yes">87x</span>
813
+ <span class="cline-any cline-yes">87x</span>
814
+ <span class="cline-any cline-yes">87x</span>
815
+ <span class="cline-any cline-yes">87x</span>
816
+ <span class="cline-any cline-yes">87x</span>
817
+ <span class="cline-any cline-yes">87x</span>
818
+ <span class="cline-any cline-yes">14x</span>
819
+ <span class="cline-any cline-yes">3x</span>
820
+ <span class="cline-any cline-yes">3x</span>
821
+ <span class="cline-any cline-yes">11x</span>
822
+ <span class="cline-any cline-yes">14x</span>
823
+ <span class="cline-any cline-yes">14x</span>
824
+ <span class="cline-any cline-yes">87x</span>
825
+ <span class="cline-any cline-yes">87x</span>
826
+ <span class="cline-any cline-yes">87x</span>
827
+ <span class="cline-any cline-yes">87x</span>
828
+ <span class="cline-any cline-yes">87x</span>
829
+ <span class="cline-any cline-yes">87x</span>
830
+ <span class="cline-any cline-yes">87x</span>
831
+ <span class="cline-any cline-yes">87x</span>
832
+ <span class="cline-any cline-yes">87x</span>
833
+ <span class="cline-any cline-yes">87x</span>
834
+ <span class="cline-any cline-yes">87x</span>
835
+ <span class="cline-any cline-yes">87x</span>
836
+ <span class="cline-any cline-yes">87x</span>
837
+ <span class="cline-any cline-yes">87x</span>
838
+ <span class="cline-any cline-yes">87x</span>
839
+ <span class="cline-any cline-yes">87x</span>
840
+ <span class="cline-any cline-yes">87x</span>
841
+ <span class="cline-any cline-yes">87x</span>
842
+ <span class="cline-any cline-yes">87x</span>
843
+ <span class="cline-any cline-yes">87x</span>
844
+ <span class="cline-any cline-yes">87x</span>
845
+ <span class="cline-any cline-yes">87x</span>
846
+ <span class="cline-any cline-yes">87x</span>
847
+ <span class="cline-any cline-yes">87x</span>
848
+ <span class="cline-any cline-yes">87x</span>
849
+ <span class="cline-any cline-yes">87x</span>
850
+ <span class="cline-any cline-yes">87x</span>
851
+ <span class="cline-any cline-yes">87x</span>
852
+ <span class="cline-any cline-yes">87x</span>
853
+ <span class="cline-any cline-yes">87x</span>
854
+ <span class="cline-any cline-yes">24x</span>
855
+ <span class="cline-any cline-yes">24x</span>
856
+ <span class="cline-any cline-yes">24x</span>
857
+ <span class="cline-any cline-yes">24x</span>
858
+ <span class="cline-any cline-yes">24x</span>
859
+ <span class="cline-any cline-yes">87x</span>
860
+ <span class="cline-any cline-yes">87x</span>
861
+ <span class="cline-any cline-yes">87x</span>
862
+ <span class="cline-any cline-yes">87x</span>
863
+ <span class="cline-any cline-yes">87x</span>
864
+ <span class="cline-any cline-yes">87x</span>
865
+ <span class="cline-any cline-yes">87x</span>
866
+ <span class="cline-any cline-yes">87x</span>
867
+ <span class="cline-any cline-yes">87x</span>
868
+ <span class="cline-any cline-yes">87x</span>
869
+ <span class="cline-any cline-yes">87x</span>
870
+ <span class="cline-any cline-yes">87x</span>
871
+ <span class="cline-any cline-yes">87x</span>
872
+ <span class="cline-any cline-yes">87x</span>
873
+ <span class="cline-any cline-yes">87x</span>
874
+ <span class="cline-any cline-yes">87x</span>
875
+ <span class="cline-any cline-yes">87x</span>
876
+ <span class="cline-any cline-yes">87x</span>
877
+ <span class="cline-any cline-yes">87x</span>
878
+ <span class="cline-any cline-yes">87x</span>
879
+ <span class="cline-any cline-yes">87x</span>
880
+ <span class="cline-any cline-yes">87x</span>
881
+ <span class="cline-any cline-yes">87x</span>
882
+ <span class="cline-any cline-yes">87x</span>
883
+ <span class="cline-any cline-yes">87x</span>
884
+ <span class="cline-any cline-yes">87x</span>
885
+ <span class="cline-any cline-yes">87x</span>
886
+ <span class="cline-any cline-yes">87x</span>
887
+ <span class="cline-any cline-yes">87x</span>
888
+ <span class="cline-any cline-yes">87x</span>
889
+ <span class="cline-any cline-yes">87x</span>
890
+ <span class="cline-any cline-yes">87x</span>
891
+ <span class="cline-any cline-yes">87x</span>
892
+ <span class="cline-any cline-yes">87x</span>
893
+ <span class="cline-any cline-yes">87x</span>
894
+ <span class="cline-any cline-yes">87x</span>
895
+ <span class="cline-any cline-yes">87x</span>
896
+ <span class="cline-any cline-yes">87x</span>
897
+ <span class="cline-any cline-yes">87x</span>
898
+ <span class="cline-any cline-yes">87x</span>
899
+ <span class="cline-any cline-yes">87x</span>
900
+ <span class="cline-any cline-yes">87x</span>
901
+ <span class="cline-any cline-yes">87x</span>
902
+ <span class="cline-any cline-yes">87x</span>
903
+ <span class="cline-any cline-yes">87x</span>
904
+ <span class="cline-any cline-yes">87x</span>
905
+ <span class="cline-any cline-yes">87x</span>
906
+ <span class="cline-any cline-yes">87x</span>
907
+ <span class="cline-any cline-yes">87x</span>
908
+ <span class="cline-any cline-yes">87x</span>
909
+ <span class="cline-any cline-yes">87x</span>
910
+ <span class="cline-any cline-yes">9x</span>
911
+ <span class="cline-any cline-yes">9x</span>
912
+ <span class="cline-any cline-yes">1x</span>
913
+ <span class="cline-any cline-yes">1x</span>
914
+ <span class="cline-any cline-yes">8x</span>
915
+ <span class="cline-any cline-yes">8x</span>
916
+ <span class="cline-any cline-yes">8x</span>
917
+ <span class="cline-any cline-yes">8x</span>
918
+ <span class="cline-any cline-yes">9x</span>
919
+ <span class="cline-any cline-yes">9x</span>
920
+ <span class="cline-any cline-yes">87x</span>
921
+ <span class="cline-any cline-yes">87x</span>
922
+ <span class="cline-any cline-yes">87x</span>
923
+ <span class="cline-any cline-yes">87x</span>
924
+ <span class="cline-any cline-yes">87x</span>
925
+ <span class="cline-any cline-yes">87x</span>
926
+ <span class="cline-any cline-yes">87x</span>
927
+ <span class="cline-any cline-yes">87x</span>
928
+ <span class="cline-any cline-yes">87x</span>
929
+ <span class="cline-any cline-yes">87x</span>
930
+ <span class="cline-any cline-yes">87x</span>
931
+ <span class="cline-any cline-yes">87x</span>
932
+ <span class="cline-any cline-yes">87x</span>
933
+ <span class="cline-any cline-yes">87x</span>
934
+ <span class="cline-any cline-yes">87x</span>
935
+ <span class="cline-any cline-yes">87x</span>
936
+ <span class="cline-any cline-yes">87x</span>
937
+ <span class="cline-any cline-yes">87x</span>
938
+ <span class="cline-any cline-yes">87x</span>
939
+ <span class="cline-any cline-yes">87x</span>
940
+ <span class="cline-any cline-yes">87x</span>
941
+ <span class="cline-any cline-yes">87x</span>
942
+ <span class="cline-any cline-yes">87x</span>
943
+ <span class="cline-any cline-yes">87x</span>
944
+ <span class="cline-any cline-yes">87x</span>
945
+ <span class="cline-any cline-yes">87x</span>
946
+ <span class="cline-any cline-yes">87x</span>
947
+ <span class="cline-any cline-yes">87x</span>
948
+ <span class="cline-any cline-yes">87x</span>
949
+ <span class="cline-any cline-yes">87x</span>
950
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">"use client";
951
+ import { cnb } from "cnbuilder";
952
+ import {
953
+ useMemo,
954
+ useRef,
955
+ useState,
956
+ type ChangeEvent,
957
+ type HTMLAttributes,
958
+ type InputHTMLAttributes,
959
+ type ReactElement,
960
+ type ReactNode,
961
+ type Ref,
962
+ } from "react";
963
+ import { type BoxProps } from "../box/Box.js";
964
+ import { IconRotator } from "../icon/IconRotator.js";
965
+ import { getIcon } from "../icon/iconConfig.js";
966
+ import { Menu, type MenuProps } from "../menu/Menu.js";
967
+ import { KeyboardMovementProvider } from "../movement/useKeyboardMovementProvider.js";
968
+ import {
969
+ type LabelA11y,
970
+ type PropsWithRef,
971
+ type RequireAtLeastOne,
972
+ } from "../types.js";
973
+ import { useEnsuredId } from "../useEnsuredId.js";
974
+ import { useEnsuredRef } from "../useEnsuredRef.js";
975
+ import { label as labelStyles } from "./Label.js";
976
+ import { SelectedOption } from "./SelectedOption.js";
977
+ import {
978
+ TextFieldContainer,
979
+ type TextFieldContainerProps,
980
+ } from "./TextFieldContainer.js";
981
+ import { getFormConfig } from "./formConfig.js";
982
+ import { select } from "./selectStyles.js";
983
+ import { extractOptionsFromChildren } from "./selectUtils.js";
984
+ import { textField } from "./textFieldStyles.js";
985
+ import { type UserAgentAutoCompleteProps } from "./types.js";
986
+ import { useFormReset } from "./useFormReset.js";
987
+ import { ListboxProvider, type ListboxContext } from "./useListboxProvider.js";
988
+ import { useSelectCombobox } from "./useSelectCombobox.js";
989
+ &nbsp;
990
+ const EMPTY_STRING = "" as const;
991
+ const noop = (): void =&gt; {
992
+ // do nothing
993
+ };
994
+ &nbsp;
995
+ /**
996
+ * This is a convenience type for casting the `event.currentTarget.value` of a
997
+ * `Select`'s change event to be union of available values.
998
+ *
999
+ * Note: The change event does not provide any sort of validation on the value
1000
+ * so automation tools like Cypress, Playwright, or Selenium might set an
1001
+ * invalid value. This also does not work for numbers, so you will need to
1002
+ * implement that yourself.
1003
+ *
1004
+ * @example
1005
+ * Simple Usage
1006
+ * ```tsx
1007
+ * import type { SelectedChangeEvent } from "@react-md/core";
1008
+ * import { Select, Option } from "@react-md/core";
1009
+ * import type { ReactElement } from "react";
1010
+ *
1011
+ * type Value = "" | "a" | "b" | "c" | "d";
1012
+ *
1013
+ * function Example(): ReactElement {
1014
+ * const [value, setValue] = useState&lt;Value&gt;("");
1015
+ *
1016
+ * const handleChange = (event: SelectChangeEvent&lt;Value&gt;): void =&gt; {
1017
+ * // No type error!
1018
+ * // `event.currentTarget.value`'s type is `Value` instead of a generic `string`
1019
+ * setValue(event.currentTarget.value);
1020
+ * };
1021
+ *
1022
+ * return (
1023
+ * &lt;Select
1024
+ * label="Label"
1025
+ * value={value}
1026
+ * onChange={handleChange}
1027
+ * &gt;
1028
+ * &lt;Option value="a"&gt;First&lt;/Option&gt;
1029
+ * &lt;Option value="b"&gt;Second&lt;/Option&gt;
1030
+ * &lt;Option value="c"&gt;Third&lt;/Option&gt;
1031
+ * &lt;Option value="d"&gt;Fourth&lt;/Option&gt;
1032
+ * &lt;/Select&gt;
1033
+ * );
1034
+ * }
1035
+ * ```
1036
+ * @remarks \@since 6.0.0
1037
+ */
1038
+ export type SelectChangeEvent&lt;Value extends string&gt; =
1039
+ ChangeEvent&lt;HTMLInputElement&gt; &amp; { currentTarget: { value: Value } };
1040
+ &nbsp;
1041
+ /**
1042
+ * @remarks \@since 6.0.0 Rewritten with a new API.
1043
+ */
1044
+ export interface SelectProps&lt;Value extends string&gt;
1045
+ extends Omit&lt;TextFieldContainerProps, "label"&gt;,
1046
+ Pick&lt;InputHTMLAttributes&lt;HTMLInputElement&gt;, "form" | "required"&gt;,
1047
+ UserAgentAutoCompleteProps {
1048
+ /**
1049
+ * @defaultValue `"select-" + useId()`
1050
+ */
1051
+ id?: string;
1052
+ &nbsp;
1053
+ /**
1054
+ * Optional placeholder text or element to render while no options have been
1055
+ * selected.
1056
+ */
1057
+ placeholder?: ReactNode;
1058
+ &nbsp;
1059
+ /**
1060
+ * Set this to a custom dropdown icon or `null` to not render a dropdown icon.
1061
+ *
1062
+ * @defaultValue `getIcon("dropdown")`
1063
+ */
1064
+ icon?: ReactNode;
1065
+ &nbsp;
1066
+ /**
1067
+ * Set this value to fully control the value of the select component. The
1068
+ * {@link onChange} handler **must** also be provided if this prop exists.
1069
+ */
1070
+ value?: Value;
1071
+ &nbsp;
1072
+ /**
1073
+ * An optional default value when the value of the select component is
1074
+ * uncontrolled.
1075
+ *
1076
+ * @defaultValue `""`
1077
+ */
1078
+ defaultValue?: Value;
1079
+ &nbsp;
1080
+ /** @see {@link SelectChangeEvent} */
1081
+ onChange?(event: SelectChangeEvent&lt;Value&gt;): void;
1082
+ &nbsp;
1083
+ /**
1084
+ * An optional floating label to display like other form fields.
1085
+ */
1086
+ label?: ReactNode;
1087
+ &nbsp;
1088
+ /**
1089
+ * Optional props to pass to the `&lt;span&gt;` that surrounds the {@link label}
1090
+ */
1091
+ labelProps?: PropsWithRef&lt;HTMLAttributes&lt;HTMLSpanElement&gt;, HTMLSpanElement&gt;;
1092
+ &nbsp;
1093
+ /**
1094
+ * An optional ref to pass to the hidden `&lt;input type="text" /&gt;` element that
1095
+ * stores the current value. This is really only useful if you'd like to keep
1096
+ * this component uncontrolled and access the value through
1097
+ * `inputRef.current.value`.
1098
+ */
1099
+ inputRef?: Ref&lt;HTMLInputElement&gt;;
1100
+ inputProps?: InputHTMLAttributes&lt;HTMLInputElement&gt;;
1101
+ &nbsp;
1102
+ /**
1103
+ * A ref for the container `&lt;div&gt;` element.
1104
+ */
1105
+ containerRef?: Ref&lt;HTMLDivElement&gt;;
1106
+ &nbsp;
1107
+ /**
1108
+ * Any additional props to provide to the `Menu` component that renders all
1109
+ * the `Option`s.
1110
+ *
1111
+ * The menu will always have these default values unless explicity
1112
+ * overwritten by this prop:
1113
+ *
1114
+ * - `aria-labelledby={label ? labelId : id}` -- this will be undefined if
1115
+ * `aria-label` is provided
1116
+ * - `anchor={BELOW_CENTER_ANCHOR}`
1117
+ * - `width="min"`
1118
+ */
1119
+ menuProps?: Omit&lt;MenuProps, "visible" | "onRequestClose" | "fixedTo"&gt;;
1120
+ &nbsp;
1121
+ /**
1122
+ * Any additional props to pass to the div that contains the current visible
1123
+ * option.
1124
+ */
1125
+ selectedOptionProps?: BoxProps;
1126
+ &nbsp;
1127
+ /**
1128
+ * Set this to `true` if all the `Option` components should display the
1129
+ * selected icon after the children instead of before.
1130
+ *
1131
+ * @see {@link disableSelectedIcon} to remove the selected icon instead.
1132
+ *
1133
+ * @defaultValue `false`
1134
+ */
1135
+ selectedIconAfter?: boolean;
1136
+ &nbsp;
1137
+ /**
1138
+ * Set this to `true` to prevent the current option from rendering the
1139
+ * `leftAddon` in the `TextFieldContainer`.
1140
+ *
1141
+ * @defaultValue `false`
1142
+ */
1143
+ disableOptionAddon?: boolean;
1144
+ &nbsp;
1145
+ /**
1146
+ * Set this to `true` to update all the `Option` components to no longer
1147
+ * render an icon while selected.
1148
+ *
1149
+ * @defaultValue `false`
1150
+ */
1151
+ disableSelectedIcon?: boolean;
1152
+ &nbsp;
1153
+ /**
1154
+ * This should be the available `Option`s for the select to choose from. It
1155
+ * can also contain `OptGroup` or any other elements but only clicking on an
1156
+ * `Option` component will update the value.
1157
+ */
1158
+ children: ReactNode;
1159
+ }
1160
+ &nbsp;
1161
+ /**
1162
+ * **Client Component**
1163
+ *
1164
+ * @example
1165
+ * Simple Example
1166
+ * ```tsx
1167
+ * import { Select, Option } from "react-md";
1168
+ * import { useState, type ReactElement } from "react";
1169
+ *
1170
+ * function Example(): ReactElement {
1171
+ * const [value, setValue] = useState("");
1172
+ *
1173
+ * return (
1174
+ * &lt;Select
1175
+ * label="Select"
1176
+ * value={value}
1177
+ * onChange={(event) =&gt; setValue(event.currentTarget.value)}
1178
+ * placeholder="Select a value"
1179
+ * &gt;
1180
+ * &lt;Option value="a"&gt;Option 1&lt;/Option&gt;
1181
+ * &lt;Option value="b"&gt;Option 2&lt;/Option&gt;
1182
+ * &lt;Option value="c"&gt;Option 3&lt;/Option&gt;
1183
+ * &lt;Option value="d"&gt;Option 4&lt;/Option&gt;
1184
+ * &lt;/Select&gt;
1185
+ * );
1186
+ * }
1187
+ * ```
1188
+ *
1189
+ * @example
1190
+ * Testing
1191
+ * ```tsx
1192
+ * rmdRender(
1193
+ * &lt;Select label="Select" selectedOptionProps={{ "data-testid": "selected" }}&gt;
1194
+ * &lt;Option value="a"&gt;Option 1&lt;/Option&gt;
1195
+ * &lt;Option value="b"&gt;Option 2&lt;/Option&gt;
1196
+ * &lt;Option value="c"&gt;Option 3&lt;/Option&gt;
1197
+ * &lt;Option value="d"&gt;Option 4&lt;/Option&gt;
1198
+ * &lt;/Select&gt;
1199
+ * );
1200
+ *
1201
+ * const user = userEvent.setup();
1202
+ * const select = screen.getByRole("combobox", { name: "Select" });
1203
+ * const selected = screen.getByTestId("selected")
1204
+ * const selectInput = screen.getByRole("textbox", { hidden: true });
1205
+ * expect(selected).toHaveTextContent("");
1206
+ * expect(selectInput).toHaveValue("");
1207
+ *
1208
+ * await user.click(select);
1209
+ * await user.click(screen.getByRole("option"), { name: "Option 2" });
1210
+ *
1211
+ * expect(selected).toHaveTextContent("Option 2");
1212
+ * expect(selectInput).toHaveValue("b");
1213
+ * ```
1214
+ *
1215
+ * @remarks \@since 6.0.0 Rewritten with a new API.
1216
+ */
1217
+ export function Select&lt;Value extends string&gt;(
1218
+ props: RequireAtLeastOne&lt;SelectProps&lt;Value&gt;, "label" | keyof LabelA11y&gt;
1219
+ ): ReactElement {
1220
+ const {
1221
+ id,
1222
+ form,
1223
+ autoCompleteValue,
1224
+ autoComplete = autoCompleteValue,
1225
+ name = autoCompleteValue,
1226
+ className,
1227
+ onClick,
1228
+ onFocus,
1229
+ onKeyDown,
1230
+ inputRef: propInputRef,
1231
+ inputProps,
1232
+ containerRef,
1233
+ placeholder,
1234
+ menuProps = {},
1235
+ label,
1236
+ labelProps = {},
1237
+ selectedOptionProps,
1238
+ icon: propIcon,
1239
+ value,
1240
+ defaultValue,
1241
+ theme: propTheme,
1242
+ onChange = noop,
1243
+ rightAddon: propRightAddon,
1244
+ active = false,
1245
+ required,
1246
+ selectedIconAfter = false,
1247
+ disableOptionAddon = false,
1248
+ disableSelectedIcon = false,
1249
+ children,
1250
+ ...remaining
1251
+ } = props;
1252
+ const { dense, error, disabled } = props;
1253
+ &nbsp;
1254
+ const comboboxId = useEnsuredId(id, "select");
1255
+ const inputId = useEnsuredId(<span class="branch-0 cbranch-no" title="branch not covered" >inputProps?.id, "</span>select-value");
1256
+ const selectLabelId = useEnsuredId(labelProps.id, "select-label");
1257
+ const labelId = label ? <span class="branch-0 cbranch-no" title="branch not covered" >selectLabelId : undefined;</span>
1258
+ &nbsp;
1259
+ const [localValue, setLocalValue] = useState(() =&gt; {
1260
+ if (typeof defaultValue !== "undefined") {
1261
+ return defaultValue;
1262
+ }
1263
+ &nbsp;
1264
+ return typeof value !== "undefined" ? value : EMPTY_STRING;
1265
+ });
1266
+ const currentValue = typeof value === "undefined" ? localValue : value;
1267
+ const initialValue = useRef(currentValue);
1268
+ const { options, currentOption } = extractOptionsFromChildren(
1269
+ children,
1270
+ currentValue
1271
+ );
1272
+ &nbsp;
1273
+ const { visible, comboboxProps, movementContext, getMenuProps } =
1274
+ useSelectCombobox({
1275
+ form,
1276
+ value: currentValue,
1277
+ values: options,
1278
+ onClick,
1279
+ onFocus,
1280
+ onKeyDown,
1281
+ disabled,
1282
+ popupId: menuProps.id,
1283
+ popupRef: menuProps.nodeRef,
1284
+ comboboxId,
1285
+ comboboxRef: containerRef,
1286
+ });
1287
+ &nbsp;
1288
+ const [inputRef, inputRefCallback] = useEnsuredRef(propInputRef);
1289
+ useFormReset({
1290
+ form,
1291
+ elementRef: inputRef,
1292
+ defaultValue: initialValue.current,
1293
+ });
1294
+ const listboxContext = useMemo&lt;ListboxContext&gt;(
1295
+ () =&gt; ({
1296
+ inputRef,
1297
+ currentValue,
1298
+ selectedIconAfter,
1299
+ disableSelectedIcon,
1300
+ }),
1301
+ [currentValue, disableSelectedIcon, inputRef, selectedIconAfter]
1302
+ );
1303
+ &nbsp;
1304
+ const icon = getIcon("dropdown", propIcon);
1305
+ const theme = getFormConfig("theme", propTheme);
1306
+ let rightAddon = propRightAddon;
1307
+ if (typeof rightAddon === "undefined" &amp;&amp; icon) {
1308
+ rightAddon = &lt;IconRotator rotated={visible}&gt;{icon}&lt;/IconRotator&gt;;
1309
+ }
1310
+ &nbsp;
1311
+ let listboxLabelledBy = menuProps["aria-labelledby"];
1312
+ const listboxLabel = menuProps["aria-label"];
1313
+ if (!listboxLabel &amp;&amp; !listboxLabelledBy) {
1314
+ listboxLabelledBy = <span class="branch-0 cbranch-no" title="branch not covered" >labelId || comboboxId;</span>
1315
+ }
1316
+ &nbsp;
1317
+ return (
1318
+ &lt;ListboxProvider value={listboxContext}&gt;
1319
+ &lt;KeyboardMovementProvider value={movementContext}&gt;
1320
+ &lt;TextFieldContainer
1321
+ aria-labelledby={labelId}
1322
+ {...remaining}
1323
+ {...comboboxProps}
1324
+ label={!!label}
1325
+ theme={theme}
1326
+ active={active || visible}
1327
+ className={cnb("rmd-select-container", className)}
1328
+ rightAddon={rightAddon}
1329
+ &gt;
1330
+ &lt;SelectedOption
1331
+ option={currentOption}
1332
+ placeholder={placeholder}
1333
+ disableAddon={disableOptionAddon}
1334
+ {...selectedOptionProps}
1335
+ /&gt;
1336
+ &lt;input
1337
+ aria-hidden
1338
+ id={inputId}
1339
+ ref={inputRefCallback}
1340
+ type="text"
1341
+ autoComplete={autoComplete}
1342
+ name={name}
1343
+ tabIndex={-1}
1344
+ disabled={disabled}
1345
+ required={required}
1346
+ placeholder=" "
1347
+ {...inputProps}
1348
+ value={value}
1349
+ defaultValue={defaultValue}
1350
+ className={cnb(select({ theme }), textField())}
1351
+ onChange={(event) =&gt; {
1352
+ onChange(event as SelectChangeEvent&lt;Value&gt;);
1353
+ if (typeof value !== "undefined") {
1354
+ return;
1355
+ }
1356
+ &nbsp;
1357
+ const nextValue = event.currentTarget.value;
1358
+ const nextOption = options.find((option) =&gt; option === nextValue);
1359
+ &nbsp;
1360
+ setLocalValue(<span class="branch-0 cbranch-no" title="branch not covered" >nextOption ?? initialValue.current)</span>;
1361
+ }}
1362
+ /&gt;
1363
+ {label &amp;&amp; (
1364
+ &lt;span
1365
+ {...labelProps}
1366
+ id={labelId}
1367
+ className={labelStyles({
1368
+ dense,
1369
+ error,
1370
+ disabled,
1371
+ active: active || visible,
1372
+ floating: true,
1373
+ floatingActive: !!placeholder || !!currentOption,
1374
+ className: labelProps.className,
1375
+ })}
1376
+ &gt;
1377
+ {label}
1378
+ &lt;/span&gt;
1379
+ )}
1380
+ &lt;/TextFieldContainer&gt;
1381
+ &lt;Menu
1382
+ {...getMenuProps(menuProps)}
1383
+ aria-label={listboxLabel}
1384
+ aria-labelledby={listboxLabelledBy as string}
1385
+ &gt;
1386
+ {children}
1387
+ &lt;/Menu&gt;
1388
+ &lt;/KeyboardMovementProvider&gt;
1389
+ &lt;/ListboxProvider&gt;
1390
+ );
1391
+ }
1620
1392
  &nbsp;</pre></td></tr></table></pre>
1621
1393
 
1622
1394
  <div class='push'></div><!-- for sticky footer -->
@@ -1624,7 +1396,7 @@
1624
1396
  <div class='footer quiet pad2 space-top1 center small'>
1625
1397
  Code coverage generated by
1626
1398
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1627
- at 2023-10-03T20:16:53.865Z
1399
+ at 2024-03-03T14:43:04.971Z
1628
1400
  </div>
1629
1401
  <script src="../../prettify.js"></script>
1630
1402
  <script>