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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1203) hide show
  1. package/.stylelintrc.json +14 -0
  2. package/.turbo/turbo-build.log +11 -7
  3. package/.turbo/turbo-typecheck.log +4 -4
  4. package/CHANGELOG.md +183 -0
  5. package/README.md +39 -24
  6. package/coverage/clover.xml +2 -2
  7. package/coverage/lcov-report/AutoComplete.tsx.html +283 -0
  8. package/coverage/lcov-report/Avatar.tsx.html +472 -0
  9. package/coverage/lcov-report/DefaultToastRenderer.tsx.html +166 -112
  10. package/coverage/lcov-report/IconRotator.tsx.html +322 -0
  11. package/coverage/lcov-report/ListItem.tsx.html +892 -0
  12. package/coverage/lcov-report/ListItemLink.tsx.html +616 -0
  13. package/coverage/lcov-report/MenuItemCheckbox.tsx.html +223 -0
  14. package/coverage/lcov-report/MenuItemInputToggle.tsx.html +178 -232
  15. package/coverage/lcov-report/MenuItemRadio.tsx.html +436 -0
  16. package/coverage/lcov-report/Portal.tsx.html +223 -0
  17. package/coverage/lcov-report/PortalContainerProvider.tsx.html +367 -0
  18. package/coverage/lcov-report/RootHtml.tsx.html +370 -0
  19. package/coverage/lcov-report/Select.tsx.html +1411 -0
  20. package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +613 -0
  21. package/coverage/lcov-report/Snackbar.tsx.html +360 -402
  22. package/coverage/lcov-report/SrOnly.tsx.html +328 -0
  23. package/coverage/lcov-report/Tab.tsx.html +261 -147
  24. package/coverage/lcov-report/Toast.tsx.html +868 -0
  25. package/coverage/lcov-report/ToastManager.tsx.html +1783 -0
  26. package/coverage/lcov-report/ToastManagerProvider.tsx.html +216 -216
  27. package/coverage/lcov-report/TreeGroup.tsx.html +313 -0
  28. package/coverage/lcov-report/Typography.tsx.html +1027 -0
  29. package/coverage/lcov-report/app-bar/AppBar.tsx.html +178 -28
  30. package/coverage/lcov-report/app-bar/index.html +7 -7
  31. package/coverage/lcov-report/autocomplete/AutoComplete.tsx.html +283 -0
  32. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +475 -0
  33. package/coverage/lcov-report/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  34. package/coverage/lcov-report/autocomplete/index.html +221 -0
  35. package/coverage/lcov-report/autocomplete/useAutoComplete.ts.html +775 -0
  36. package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +1273 -0
  37. package/coverage/lcov-report/autocomplete/useAutocompleteAgain.ts.html +829 -0
  38. package/coverage/lcov-report/autocomplete/useAutocompletev2.ts.html +715 -0
  39. package/coverage/lcov-report/autocomplete/useInlineAutoComplete.ts.html +340 -0
  40. package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +430 -0
  41. package/coverage/lcov-report/autocomplete/useInlineSelection.ts.html +310 -0
  42. package/coverage/lcov-report/autocomplete/utils.ts.html +196 -0
  43. package/coverage/lcov-report/avatar/Avatar.tsx.html +162 -99
  44. package/coverage/lcov-report/avatar/index.html +19 -34
  45. package/coverage/lcov-report/avatar/styles.ts.html +1 -1
  46. package/coverage/lcov-report/button/Button.tsx.html +85 -85
  47. package/coverage/lcov-report/button/TooltippedButton.tsx.html +445 -0
  48. package/coverage/lcov-report/button/index.html +12 -12
  49. package/coverage/lcov-report/card/Card.tsx.html +349 -0
  50. package/coverage/lcov-report/card/CardContent.tsx.html +223 -0
  51. package/coverage/lcov-report/card/ClickableCard.tsx.html +400 -0
  52. package/coverage/lcov-report/card/index.html +21 -21
  53. package/coverage/lcov-report/card/styles.ts.html +428 -392
  54. package/coverage/lcov-report/cssUtils.ts.html +86 -59
  55. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +36 -36
  56. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +26 -26
  57. package/coverage/lcov-report/dialog/index.html +34 -19
  58. package/coverage/lcov-report/draggable/index.html +21 -36
  59. package/coverage/lcov-report/draggable/useDraggable.ts.html +377 -368
  60. package/coverage/lcov-report/draggable/utils.ts.html +96 -195
  61. package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +211 -0
  62. package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +12 -15
  63. package/coverage/lcov-report/expansion-panel/index.html +34 -19
  64. package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +928 -0
  65. package/coverage/lcov-report/form/AutoComplete.tsx.html +283 -0
  66. package/coverage/lcov-report/form/Form.tsx.html +22 -22
  67. package/coverage/lcov-report/form/Label.tsx.html +442 -0
  68. package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +2 -2
  69. package/coverage/lcov-report/form/OptGroup.tsx.html +169 -166
  70. package/coverage/lcov-report/form/Option.tsx.html +727 -0
  71. package/coverage/lcov-report/form/ResizingTextArea.tsx.html +442 -0
  72. package/coverage/lcov-report/form/ResizingTextAreaWrapper.tsx.html +310 -0
  73. package/coverage/lcov-report/form/Select.tsx.html +1456 -0
  74. package/coverage/lcov-report/form/SelectOriginal.tsx.html +1630 -0
  75. package/coverage/lcov-report/form/SelectV2.tsx.html +1024 -0
  76. package/coverage/lcov-report/form/SelectedOption.tsx.html +250 -0
  77. package/coverage/lcov-report/form/SimpleTextArea.tsx.html +727 -0
  78. package/coverage/lcov-report/form/Slider.tsx.html +163 -40
  79. package/coverage/lcov-report/form/TextArea.tsx.html +596 -740
  80. package/coverage/lcov-report/form/TextArea2.tsx.html +985 -0
  81. package/coverage/lcov-report/form/TextAreaBackup.tsx.html +1006 -0
  82. package/coverage/lcov-report/form/TextField.tsx.html +156 -234
  83. package/coverage/lcov-report/form/index.html +111 -21
  84. package/coverage/lcov-report/form/selectUtils.ts.html +188 -221
  85. package/coverage/lcov-report/form/textAreaStyles.ts.html +8 -11
  86. package/coverage/lcov-report/form/useAutoComplete.ts.html +787 -0
  87. package/coverage/lcov-report/form/useCombobox.ts.html +454 -460
  88. package/coverage/lcov-report/form/useComboboxList.ts.html +108 -93
  89. package/coverage/lcov-report/form/useFormReset.ts.html +229 -0
  90. package/coverage/lcov-report/form/useInlineAutoComplete.ts.html +379 -0
  91. package/coverage/lcov-report/form/useResizingTextArea.ts.html +631 -0
  92. package/coverage/lcov-report/form/useResizingTextArea2.ts.html +631 -0
  93. package/coverage/lcov-report/form/useSelectCombobox.ts.html +499 -0
  94. package/coverage/lcov-report/form/utils.ts.html +209 -170
  95. package/coverage/lcov-report/getListItemHeight.ts.html +298 -0
  96. package/coverage/lcov-report/icon/FontIcon.tsx.html +64 -64
  97. package/coverage/lcov-report/icon/MaterialIcon.tsx.html +235 -0
  98. package/coverage/lcov-report/icon/index.html +19 -19
  99. package/coverage/lcov-report/index.html +1 -1
  100. package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +679 -0
  101. package/coverage/lcov-report/interaction/config.ts.html +181 -0
  102. package/coverage/lcov-report/interaction/index.html +33 -18
  103. package/coverage/lcov-report/list/List.tsx.html +490 -0
  104. package/coverage/lcov-report/list/ListItem.tsx.html +886 -0
  105. package/coverage/lcov-report/list/ListItemAddon.tsx.html +286 -0
  106. package/coverage/lcov-report/list/ListItemChildren.tsx.html +445 -0
  107. package/coverage/lcov-report/list/ListItemLink.tsx.html +5 -5
  108. package/coverage/lcov-report/list/index.html +81 -6
  109. package/coverage/lcov-report/list/listItemStyles.ts.html +703 -0
  110. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  111. package/coverage/lcov-report/media-queries/index.html +1 -1
  112. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +188 -188
  113. package/coverage/lcov-report/menu/Menu.tsx.html +276 -252
  114. package/coverage/lcov-report/menu/MenuItem.tsx.html +292 -0
  115. package/coverage/lcov-report/menu/MenuItemCircularProgress.tsx.html +433 -0
  116. package/coverage/lcov-report/menu/MenuVisibilityProvider.tsx.html +48 -33
  117. package/coverage/lcov-report/menu/index.html +14 -44
  118. package/coverage/lcov-report/menu/useContextMenu.ts.html +490 -0
  119. package/coverage/lcov-report/menuItemInputToggleStyles.ts.html +319 -0
  120. package/coverage/lcov-report/movement/index.html +19 -19
  121. package/coverage/lcov-report/movement/useKeyboardMovementProvider.ts.html +422 -383
  122. package/coverage/lcov-report/positioning/constants.ts.html +463 -0
  123. package/coverage/lcov-report/positioning/index.html +30 -30
  124. package/coverage/lcov-report/positioning/useFixedPositioning.ts.html +1321 -0
  125. package/coverage/lcov-report/progress/CircularProgress.tsx.html +184 -184
  126. package/coverage/lcov-report/progress/index.html +19 -34
  127. package/coverage/lcov-report/searching/caseInsensitive.ts.html +685 -0
  128. package/coverage/lcov-report/searching/fuzzy.ts.html +610 -0
  129. package/coverage/lcov-report/searching/index.html +146 -0
  130. package/coverage/lcov-report/searching/toSearchQuery.ts.html +145 -0
  131. package/coverage/lcov-report/searching/useFuzzyMatch.ts.html +211 -0
  132. package/coverage/lcov-report/searching/utils.ts.html +244 -0
  133. package/coverage/lcov-report/sheet/index.html +8 -8
  134. package/coverage/lcov-report/sheet/styles.ts.html +376 -0
  135. package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +400 -0
  136. package/coverage/lcov-report/snackbar/Snackbar.tsx.html +55 -97
  137. package/coverage/lcov-report/snackbar/Toast.tsx.html +546 -501
  138. package/coverage/lcov-report/snackbar/ToastManager.tsx.html +269 -269
  139. package/coverage/lcov-report/snackbar/ToastManagerProvider.tsx.html +23 -23
  140. package/coverage/lcov-report/snackbar/index.html +59 -14
  141. package/coverage/lcov-report/snackbar/snackbarStyles.ts.html +12 -87
  142. package/coverage/lcov-report/snackbar/toastStyles.ts.html +206 -146
  143. package/coverage/lcov-report/snackbar/useCurrentToastActions.ts.html +226 -0
  144. package/coverage/lcov-report/snackbarStyles.ts.html +46 -121
  145. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  146. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  147. package/coverage/lcov-report/src/RootHtml.tsx.html +370 -0
  148. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  149. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +143 -23
  150. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  151. package/coverage/lcov-report/src/app-bar/index.html +5 -5
  152. package/coverage/lcov-report/src/autocomplete/Autocomplete.tsx.html +364 -0
  153. package/coverage/lcov-report/src/autocomplete/AutocompleteGeneric.tsx.html +304 -0
  154. package/coverage/lcov-report/src/autocomplete/index.html +221 -0
  155. package/coverage/lcov-report/src/autocomplete/useAutocomplete.ts.html +637 -0
  156. package/coverage/lcov-report/src/autocomplete/useAutocompleteAgain.ts.html +829 -0
  157. package/coverage/lcov-report/src/autocomplete/useAutocompletev2.ts.html +715 -0
  158. package/coverage/lcov-report/src/autocomplete/useInlineAutocomplete.ts.html +430 -0
  159. package/coverage/lcov-report/src/autocomplete/useInlineSelection.ts.html +241 -0
  160. package/coverage/lcov-report/src/autocomplete/utils.ts.html +196 -0
  161. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +2 -2
  162. package/coverage/lcov-report/src/avatar/index.html +1 -1
  163. package/coverage/lcov-report/src/avatar/styles.ts.html +1 -1
  164. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  165. package/coverage/lcov-report/src/badge/index.html +1 -1
  166. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  167. package/coverage/lcov-report/src/box/index.html +23 -8
  168. package/coverage/lcov-report/src/box/styles.ts.html +46 -46
  169. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +1 -1
  170. package/coverage/lcov-report/src/button/Button.tsx.html +87 -87
  171. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  172. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +11 -11
  173. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +445 -0
  174. package/coverage/lcov-report/src/button/buttonStyles.ts.html +52 -52
  175. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  176. package/coverage/lcov-report/src/button/index.html +8 -23
  177. package/coverage/lcov-report/src/card/Card.tsx.html +37 -31
  178. package/coverage/lcov-report/src/card/CardContent.tsx.html +4 -4
  179. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  180. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  181. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  182. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  183. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +400 -0
  184. package/coverage/lcov-report/src/card/index.html +24 -9
  185. package/coverage/lcov-report/src/card/styles.ts.html +58 -31
  186. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  187. package/coverage/lcov-report/src/chip/index.html +7 -7
  188. package/coverage/lcov-report/src/chip/styles.ts.html +9 -12
  189. package/coverage/lcov-report/src/cssUtils.ts.html +53 -53
  190. package/coverage/lcov-report/src/delegateEvent.ts.html +109 -109
  191. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +1 -1
  192. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +1 -1
  193. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +1 -1
  194. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +1 -1
  195. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +1 -1
  196. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +1 -1
  197. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  198. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +1 -1
  199. package/coverage/lcov-report/src/dialog/index.html +129 -9
  200. package/coverage/lcov-report/src/dialog/styles.ts.html +1 -1
  201. package/coverage/lcov-report/src/divider/Divider.tsx.html +4 -7
  202. package/coverage/lcov-report/src/divider/index.html +5 -5
  203. package/coverage/lcov-report/src/divider/styles.ts.html +1 -1
  204. package/coverage/lcov-report/src/draggable/index.html +27 -27
  205. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +47 -44
  206. package/coverage/lcov-report/src/draggable/utils.ts.html +29 -131
  207. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  208. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  209. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +1 -1
  210. package/coverage/lcov-report/src/expansion-panel/index.html +8 -8
  211. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  212. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +36 -24
  213. package/coverage/lcov-report/src/focus/index.html +1 -1
  214. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +1 -1
  215. package/coverage/lcov-report/src/focus/utils.ts.html +1 -1
  216. package/coverage/lcov-report/src/form/AutoComplete.tsx.html +283 -0
  217. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  218. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  219. package/coverage/lcov-report/src/form/FileInput.tsx.html +1 -1
  220. package/coverage/lcov-report/src/form/Form.tsx.html +11 -8
  221. package/coverage/lcov-report/src/form/FormMessage.tsx.html +1 -1
  222. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +5 -5
  223. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  224. package/coverage/lcov-report/src/form/InputToggle.tsx.html +110 -110
  225. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +63 -63
  226. package/coverage/lcov-report/src/form/Label.tsx.html +98 -98
  227. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  228. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +3 -3
  229. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +1 -1
  230. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +178 -232
  231. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +3 -3
  232. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  233. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +1 -1
  234. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +1 -1
  235. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  236. package/coverage/lcov-report/src/form/Option.tsx.html +1 -1
  237. package/coverage/lcov-report/src/form/Password.tsx.html +1 -1
  238. package/coverage/lcov-report/src/form/Radio.tsx.html +3 -3
  239. package/coverage/lcov-report/src/form/ResizingTextArea.tsx.html +988 -0
  240. package/coverage/lcov-report/src/form/ResizingTextAreaWrapper.tsx.html +310 -0
  241. package/coverage/lcov-report/src/form/Select.tsx.html +894 -1122
  242. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  243. package/coverage/lcov-report/src/form/SimpleTextArea.tsx.html +694 -0
  244. package/coverage/lcov-report/src/form/Slider.tsx.html +1 -1
  245. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  246. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  247. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  248. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +1 -1
  249. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  250. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +1 -1
  251. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +1 -1
  252. package/coverage/lcov-report/src/form/Switch.tsx.html +1 -1
  253. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +1 -1
  254. package/coverage/lcov-report/src/form/TextArea.tsx.html +646 -580
  255. package/coverage/lcov-report/src/form/TextArea2.tsx.html +985 -0
  256. package/coverage/lcov-report/src/form/TextAreaBackup.tsx.html +985 -0
  257. package/coverage/lcov-report/src/form/TextField.tsx.html +3 -3
  258. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +1 -1
  259. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +1 -1
  260. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +8 -8
  261. package/coverage/lcov-report/src/form/fileUtils.ts.html +1 -1
  262. package/coverage/lcov-report/src/form/formConfig.ts.html +1 -1
  263. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +1 -1
  264. package/coverage/lcov-report/src/form/index.html +81 -21
  265. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
  266. package/coverage/lcov-report/src/form/menuItemInputToggleStyles.ts.html +319 -0
  267. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +1 -1
  268. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  269. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  270. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  271. package/coverage/lcov-report/src/form/selectUtils.ts.html +1 -1
  272. package/coverage/lcov-report/src/form/sliderUtils.ts.html +1 -1
  273. package/coverage/lcov-report/src/form/switchStyles.ts.html +1 -1
  274. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
  275. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  276. package/coverage/lcov-report/src/form/useAutoComplete.ts.html +787 -0
  277. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +1 -1
  278. package/coverage/lcov-report/src/form/useCombobox.ts.html +943 -457
  279. package/coverage/lcov-report/src/form/useEditableCombobox.ts.html +502 -0
  280. package/coverage/lcov-report/src/form/useFileUpload.ts.html +1 -1
  281. package/coverage/lcov-report/src/form/useInlineAutoComplete.ts.html +109 -0
  282. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +1 -1
  283. package/coverage/lcov-report/src/form/useNumberField.ts.html +1 -1
  284. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +47 -47
  285. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +1 -1
  286. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +405 -294
  287. package/coverage/lcov-report/src/form/useSelectCombobox.ts.html +295 -0
  288. package/coverage/lcov-report/src/form/useSlider.ts.html +1 -1
  289. package/coverage/lcov-report/src/form/useTextField.ts.html +1 -1
  290. package/coverage/lcov-report/src/form/utils.ts.html +200 -170
  291. package/coverage/lcov-report/src/form/validation.ts.html +1 -1
  292. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  293. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +98 -98
  294. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +19 -19
  295. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +28 -28
  296. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +5 -8
  297. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +1 -1
  298. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +1 -1
  299. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  300. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +51 -51
  301. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +10 -10
  302. package/coverage/lcov-report/src/icon/index.html +10 -145
  303. package/coverage/lcov-report/src/icon/material.ts.html +1 -1
  304. package/coverage/lcov-report/src/icon/materialConfig.ts.html +1 -1
  305. package/coverage/lcov-report/src/icon/styles.ts.html +38 -38
  306. package/coverage/lcov-report/src/index.html +10 -10
  307. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +1 -1
  308. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +1 -1
  309. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +87 -87
  310. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  311. package/coverage/lcov-report/src/interaction/index.html +1 -1
  312. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +123 -123
  313. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +19 -19
  314. package/coverage/lcov-report/src/interaction/utils.ts.html +1 -1
  315. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  316. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
  317. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  318. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  319. package/coverage/lcov-report/src/layout/index.html +15 -15
  320. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
  321. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  322. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  323. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  324. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  325. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +20 -32
  326. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  327. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  328. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  329. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  330. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +1 -1
  331. package/coverage/lcov-report/src/link/Link.tsx.html +1 -1
  332. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  333. package/coverage/lcov-report/src/link/index.html +1 -1
  334. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  335. package/coverage/lcov-report/src/list/List.tsx.html +1 -1
  336. package/coverage/lcov-report/src/list/ListItem.tsx.html +158 -137
  337. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +45 -39
  338. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +88 -82
  339. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +5 -5
  340. package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
  341. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  342. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +44 -47
  343. package/coverage/lcov-report/src/list/index.html +13 -13
  344. package/coverage/lcov-report/src/list/listItemStyles.ts.html +102 -72
  345. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +54 -54
  346. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  347. package/coverage/lcov-report/src/media-queries/index.html +1 -1
  348. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +28 -28
  349. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +1 -1
  350. package/coverage/lcov-report/src/menu/Menu.tsx.html +4 -4
  351. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  352. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +1 -1
  353. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  354. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  355. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +1 -1
  356. package/coverage/lcov-report/src/menu/MenuItemCircularProgress.tsx.html +433 -0
  357. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  358. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +1 -1
  359. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +1 -1
  360. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  361. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  362. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  363. package/coverage/lcov-report/src/menu/index.html +13 -238
  364. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  365. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  366. package/coverage/lcov-report/src/menu/utils.ts.html +1 -1
  367. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  368. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  369. package/coverage/lcov-report/src/movement/index.html +17 -62
  370. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +3 -3
  371. package/coverage/lcov-report/src/movement/utils.ts.html +143 -119
  372. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +1 -1
  373. package/coverage/lcov-report/src/overlay/index.html +1 -1
  374. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +1 -1
  375. package/coverage/lcov-report/src/portal/Portal.tsx.html +7 -7
  376. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +59 -35
  377. package/coverage/lcov-report/src/portal/index.html +7 -7
  378. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  379. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +47 -47
  380. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +55 -55
  381. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +89 -89
  382. package/coverage/lcov-report/src/positioning/index.html +1 -1
  383. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +193 -193
  384. package/coverage/lcov-report/src/positioning/utils.ts.html +59 -59
  385. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +83 -83
  386. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +3 -3
  387. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  388. package/coverage/lcov-report/src/progress/index.html +20 -5
  389. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  390. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  391. package/coverage/lcov-report/src/responsive-item/index.html +1 -1
  392. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  393. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  394. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +1 -1
  395. package/coverage/lcov-report/src/scroll/index.html +1 -1
  396. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +1 -1
  397. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +1 -1
  398. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +1 -1
  399. package/coverage/lcov-report/src/segmented-button/index.html +1 -1
  400. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +1 -1
  401. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  402. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  403. package/coverage/lcov-report/src/sheet/index.html +5 -5
  404. package/coverage/lcov-report/src/sheet/styles.ts.html +45 -48
  405. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +80 -80
  406. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +21 -45
  407. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +108 -93
  408. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  409. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +1 -1
  410. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +48 -48
  411. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +278 -275
  412. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +6 -6
  413. package/coverage/lcov-report/src/snackbar/index.html +19 -19
  414. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +15 -15
  415. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +14 -14
  416. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +27 -27
  417. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  418. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +142 -142
  419. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +88 -88
  420. package/coverage/lcov-report/src/suspense/index.html +36 -21
  421. package/coverage/lcov-report/src/table/Table.tsx.html +45 -114
  422. package/coverage/lcov-report/src/table/TableBody.tsx.html +43 -43
  423. package/coverage/lcov-report/src/table/TableCell.tsx.html +109 -298
  424. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +81 -27
  425. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +16 -10
  426. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +20 -20
  427. package/coverage/lcov-report/src/table/TableContainer.tsx.html +7 -28
  428. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  429. package/coverage/lcov-report/src/table/TableFooter.tsx.html +64 -43
  430. package/coverage/lcov-report/src/table/TableHeader.tsx.html +41 -92
  431. package/coverage/lcov-report/src/table/TableRadio.tsx.html +676 -0
  432. package/coverage/lcov-report/src/table/TableRow.tsx.html +38 -119
  433. package/coverage/lcov-report/src/table/index.html +151 -46
  434. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +334 -0
  435. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +142 -0
  436. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +166 -0
  437. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +172 -0
  438. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +169 -0
  439. package/coverage/lcov-report/src/table/tableStyles.ts.html +157 -0
  440. package/coverage/lcov-report/src/tabs/Tab.tsx.html +263 -143
  441. package/coverage/lcov-report/src/tabs/TabList.tsx.html +1 -1
  442. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +1 -1
  443. package/coverage/lcov-report/src/tabs/index.html +25 -25
  444. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +37 -7
  445. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +1 -1
  446. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +2 -2
  447. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +64 -28
  448. package/coverage/lcov-report/src/tabs/useTabList.ts.html +44 -38
  449. package/coverage/lcov-report/src/tabs/useTabs.ts.html +1 -1
  450. package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
  451. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  452. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +402 -261
  453. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +18 -6
  454. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  455. package/coverage/lcov-report/src/test-utils/index.html +12 -117
  456. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +9 -9
  457. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +55 -55
  458. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  459. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  460. package/coverage/lcov-report/src/test-utils/polyfills/TextDecoder.ts.html +106 -0
  461. package/coverage/lcov-report/src/test-utils/polyfills/TextEncoder.ts.html +100 -0
  462. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  463. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  464. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  465. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  466. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  467. package/coverage/lcov-report/src/test-utils/root-html-environment.ts.html +85 -0
  468. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  469. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  470. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +1 -1
  471. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  472. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  473. package/coverage/lcov-report/src/theme/index.html +1 -1
  474. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +25 -25
  475. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  476. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  477. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  478. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  479. package/coverage/lcov-report/src/theme/utils.ts.html +1 -1
  480. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +62 -62
  481. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +3 -3
  482. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  483. package/coverage/lcov-report/src/tooltip/index.html +9 -9
  484. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +12 -12
  485. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +243 -222
  486. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +27 -27
  487. package/coverage/lcov-report/src/tooltip/utils.ts.html +22 -22
  488. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  489. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  490. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  491. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  492. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +374 -338
  493. package/coverage/lcov-report/src/transition/Slide.tsx.html +1 -1
  494. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  495. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +1 -1
  496. package/coverage/lcov-report/src/transition/config.ts.html +5 -5
  497. package/coverage/lcov-report/src/transition/index.html +49 -34
  498. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  499. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +400 -0
  500. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +68 -68
  501. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  502. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +10 -64
  503. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  504. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  505. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
  506. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +607 -562
  507. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +1 -1
  508. package/coverage/lcov-report/src/transition/useTransition.ts.html +232 -232
  509. package/coverage/lcov-report/src/transition/utils.ts.html +45 -45
  510. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +18 -6
  511. package/coverage/lcov-report/src/tree/Tree.tsx.html +20 -8
  512. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +1 -1
  513. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +7 -10
  514. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +1 -1
  515. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +1 -1
  516. package/coverage/lcov-report/src/tree/index.html +16 -196
  517. package/coverage/lcov-report/src/tree/styles.ts.html +4 -31
  518. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  519. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  520. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +1 -1
  521. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +87 -87
  522. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  523. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  524. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +12 -12
  525. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  526. package/coverage/lcov-report/src/typography/Typography.tsx.html +94 -94
  527. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +1 -1
  528. package/coverage/lcov-report/src/typography/index.html +1 -1
  529. package/coverage/lcov-report/src/useAsyncAction.ts.html +1 -1
  530. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +246 -240
  531. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  532. package/coverage/lcov-report/src/useElementSize.ts.html +334 -0
  533. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  534. package/coverage/lcov-report/src/useEnsuredRef.ts.html +14 -14
  535. package/coverage/lcov-report/src/useEnsuredState.ts.html +16 -16
  536. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  537. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +1 -1
  538. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  539. package/coverage/lcov-report/src/useLocalStorage.ts.html +1 -1
  540. package/coverage/lcov-report/src/useOrientation.ts.html +30 -30
  541. package/coverage/lcov-report/src/usePageInactive.ts.html +30 -30
  542. package/coverage/lcov-report/src/useResizeListener.ts.html +38 -32
  543. package/coverage/lcov-report/src/useResizeObserver.ts.html +133 -244
  544. package/coverage/lcov-report/src/useThrottledFunction.ts.html +57 -51
  545. package/coverage/lcov-report/src/useToggle.ts.html +1 -1
  546. package/coverage/lcov-report/src/useUnmounted.ts.html +1 -1
  547. package/coverage/lcov-report/src/useWindowSize.ts.html +124 -94
  548. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  549. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  550. package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
  551. package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
  552. package/coverage/lcov-report/src/utils/filters.ts.html +357 -84
  553. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  554. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +163 -0
  555. package/coverage/lcov-report/src/utils/getPercentage.ts.html +9 -9
  556. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +66 -87
  557. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +7 -7
  558. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  559. package/coverage/lcov-report/src/utils/index.html +13 -253
  560. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +1 -1
  561. package/coverage/lcov-report/src/utils/isValidNumber.ts.html +118 -0
  562. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  563. package/coverage/lcov-report/src/utils/nearest.ts.html +21 -21
  564. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +18 -18
  565. package/coverage/lcov-report/src/utils/randomInt.ts.html +52 -52
  566. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  567. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  568. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  569. package/coverage/lcov-report/src/window-splitter/index.html +14 -14
  570. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +19 -67
  571. package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +256 -0
  572. package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +283 -0
  573. package/coverage/lcov-report/suspense/NullSuspense.tsx.html +202 -0
  574. package/coverage/lcov-report/suspense/index.html +131 -0
  575. package/coverage/lcov-report/tabIndicatorStyles.ts.html +43 -13
  576. package/coverage/lcov-report/tabListStyles.ts.html +35 -26
  577. package/coverage/lcov-report/tabStyles.ts.html +68 -26
  578. package/coverage/lcov-report/tabs/Tab.tsx.html +233 -143
  579. package/coverage/lcov-report/tabs/TabList.tsx.html +85 -85
  580. package/coverage/lcov-report/tabs/index.html +56 -11
  581. package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +187 -0
  582. package/coverage/lcov-report/tabs/tabListStyles.ts.html +241 -0
  583. package/coverage/lcov-report/tabs/tabStyles.ts.html +253 -0
  584. package/coverage/lcov-report/tabs/useTabList.ts.html +736 -0
  585. package/coverage/lcov-report/tabs/useTabs.ts.html +1 -1
  586. package/coverage/lcov-report/tabs/utils.ts.html +1 -1
  587. package/coverage/lcov-report/test-utils/index.html +21 -21
  588. package/coverage/lcov-report/test-utils/use.ts.html +187 -0
  589. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +62 -62
  590. package/coverage/lcov-report/tooltip/index.html +10 -70
  591. package/coverage/lcov-report/tooltip/useTooltip.ts.html +243 -222
  592. package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +595 -0
  593. package/coverage/lcov-report/transition/config.ts.html +5 -5
  594. package/coverage/lcov-report/transition/index.html +1 -1
  595. package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +400 -0
  596. package/coverage/lcov-report/transition/useScaleTransition.ts.html +535 -0
  597. package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +952 -0
  598. package/coverage/lcov-report/tree/TreeItem.tsx.html +7 -10
  599. package/coverage/lcov-report/tree/index.html +17 -47
  600. package/coverage/lcov-report/tree/styles.ts.html +538 -0
  601. package/coverage/lcov-report/tree/useTreeMovement.ts.html +140 -143
  602. package/coverage/lcov-report/typography/Typography.tsx.html +138 -432
  603. package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +75 -75
  604. package/coverage/lcov-report/typography/index.html +18 -18
  605. package/coverage/lcov-report/useAutoComplete.ts.html +787 -0
  606. package/coverage/lcov-report/useCollapseTransition.ts.html +166 -211
  607. package/coverage/lcov-report/useCombobox.ts.html +1513 -0
  608. package/coverage/lcov-report/useInlineAutoComplete.ts.html +379 -0
  609. package/coverage/lcov-report/useSelectCombobox.ts.html +295 -0
  610. package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +952 -0
  611. package/coverage/lcov-report/useTabList.ts.html +142 -136
  612. package/coverage/lcov-report/useWindowSplitter.ts.html +640 -0
  613. package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +256 -0
  614. package/coverage/lcov-report/utils/alphaNumericSort.ts.html +11 -50
  615. package/coverage/lcov-report/utils/filters.ts.html +1056 -201
  616. package/coverage/lcov-report/utils/index.html +15 -30
  617. package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
  618. package/coverage/lcov-report/utils/randomInt.ts.html +148 -0
  619. package/coverage/lcov-report/utils/searching.ts.html +85 -0
  620. package/coverage/lcov-report/utils/wait.ts.html +1 -1
  621. package/coverage/lcov-report/utils.ts.html +109 -277
  622. package/coverage/lcov-report/window-splitter/index.html +21 -36
  623. package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +406 -328
  624. package/dist/RootHtml.d.ts +62 -0
  625. package/dist/RootHtml.js +49 -0
  626. package/dist/RootHtml.js.map +1 -0
  627. package/dist/_box-shadows.scss +12 -2
  628. package/dist/_core.scss +207 -253
  629. package/dist/_utils.scss +89 -0
  630. package/dist/app-bar/AppBar.d.ts +4 -9
  631. package/dist/app-bar/AppBar.js +29 -7
  632. package/dist/app-bar/AppBar.js.map +1 -1
  633. package/dist/app-bar/_app-bar.scss +114 -122
  634. package/dist/avatar/Avatar.d.ts +15 -1
  635. package/dist/avatar/Avatar.js +5 -2
  636. package/dist/avatar/Avatar.js.map +1 -1
  637. package/dist/avatar/_avatar.scss +74 -81
  638. package/dist/badge/_badge.scss +97 -59
  639. package/dist/box/_box.scss +72 -81
  640. package/dist/button/TooltippedButton.d.ts +62 -0
  641. package/dist/button/TooltippedButton.js +62 -0
  642. package/dist/button/TooltippedButton.js.map +1 -0
  643. package/dist/button/_button.scss +170 -180
  644. package/dist/card/Card.js +3 -2
  645. package/dist/card/Card.js.map +1 -1
  646. package/dist/card/CardContent.js +1 -1
  647. package/dist/card/CardContent.js.map +1 -1
  648. package/dist/card/ClickableCard.d.ts +42 -0
  649. package/dist/card/ClickableCard.js +73 -0
  650. package/dist/card/ClickableCard.js.map +1 -0
  651. package/dist/card/_card.scss +81 -82
  652. package/dist/card/styles.d.ts +8 -0
  653. package/dist/card/styles.js +6 -3
  654. package/dist/card/styles.js.map +1 -1
  655. package/dist/chip/_chip.scss +137 -148
  656. package/dist/dialog/FixedDialog.d.ts +5 -4
  657. package/dist/dialog/FixedDialog.js +5 -4
  658. package/dist/dialog/FixedDialog.js.map +1 -1
  659. package/dist/dialog/_dialog.scss +179 -162
  660. package/dist/divider/Divider.d.ts +0 -1
  661. package/dist/divider/Divider.js.map +1 -1
  662. package/dist/divider/_divider.scss +61 -70
  663. package/dist/draggable/_draggable.scss +16 -12
  664. package/dist/draggable/useDraggable.d.ts +12 -23
  665. package/dist/draggable/useDraggable.js +15 -6
  666. package/dist/draggable/useDraggable.js.map +1 -1
  667. package/dist/draggable/utils.d.ts +4 -17
  668. package/dist/draggable/utils.js +9 -25
  669. package/dist/draggable/utils.js.map +1 -1
  670. package/dist/expansion-panel/_expansion-panel.scss +76 -50
  671. package/dist/expansion-panel/useExpansionPanels.d.ts +5 -3
  672. package/dist/expansion-panel/useExpansionPanels.js +16 -9
  673. package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
  674. package/dist/form/Form.d.ts +1 -1
  675. package/dist/form/Form.js +2 -1
  676. package/dist/form/Form.js.map +1 -1
  677. package/dist/form/Label.d.ts +5 -5
  678. package/dist/form/Label.js.map +1 -1
  679. package/dist/form/MenuItemInputToggle.d.ts +2 -15
  680. package/dist/form/MenuItemInputToggle.js +26 -37
  681. package/dist/form/MenuItemInputToggle.js.map +1 -1
  682. package/dist/form/NativeSelect.d.ts +5 -2
  683. package/dist/form/NativeSelect.js.map +1 -1
  684. package/dist/form/Option.js +3 -2
  685. package/dist/form/Option.js.map +1 -1
  686. package/dist/form/ResizingTextAreaWrapper.d.ts +19 -0
  687. package/dist/form/ResizingTextAreaWrapper.js +35 -0
  688. package/dist/form/ResizingTextAreaWrapper.js.map +1 -0
  689. package/dist/form/Select.d.ts +105 -15
  690. package/dist/form/Select.js +160 -244
  691. package/dist/form/Select.js.map +1 -1
  692. package/dist/form/SelectedOption.d.ts +21 -0
  693. package/dist/form/SelectedOption.js +37 -0
  694. package/dist/form/SelectedOption.js.map +1 -0
  695. package/dist/form/TextArea.d.ts +11 -0
  696. package/dist/form/TextArea.js +19 -29
  697. package/dist/form/TextArea.js.map +1 -1
  698. package/dist/form/TextField.d.ts +2 -2
  699. package/dist/form/TextField.js +7 -6
  700. package/dist/form/TextField.js.map +1 -1
  701. package/dist/form/TextFieldContainer.js +2 -2
  702. package/dist/form/TextFieldContainer.js.map +1 -1
  703. package/dist/form/_form.scss +1336 -1260
  704. package/dist/form/menuItemInputToggleStyles.d.ts +39 -0
  705. package/dist/form/menuItemInputToggleStyles.js +31 -0
  706. package/dist/form/menuItemInputToggleStyles.js.map +1 -0
  707. package/dist/form/selectUtils.d.ts +1 -3
  708. package/dist/form/selectUtils.js +2 -10
  709. package/dist/form/selectUtils.js.map +1 -1
  710. package/dist/form/textAreaStyles.d.ts +2 -2
  711. package/dist/form/textAreaStyles.js.map +1 -1
  712. package/dist/form/{TextFieldContainerStyles.d.ts → textFieldContainerStyles.d.ts} +7 -7
  713. package/dist/form/{TextFieldContainerStyles.js → textFieldContainerStyles.js} +1 -1
  714. package/dist/form/textFieldContainerStyles.js.map +1 -0
  715. package/dist/form/types.d.ts +6 -8
  716. package/dist/form/types.js.map +1 -1
  717. package/dist/form/useCombobox.d.ts +157 -0
  718. package/dist/form/useCombobox.js +206 -0
  719. package/dist/form/useCombobox.js.map +1 -0
  720. package/dist/form/useEditableCombobox.d.ts +15 -0
  721. package/dist/form/useEditableCombobox.js +101 -0
  722. package/dist/form/useEditableCombobox.js.map +1 -0
  723. package/dist/form/useFormReset.d.ts +16 -0
  724. package/dist/form/useFormReset.js +32 -0
  725. package/dist/form/useFormReset.js.map +1 -0
  726. package/dist/form/useListboxProvider.d.ts +4 -2
  727. package/dist/form/useListboxProvider.js +6 -8
  728. package/dist/form/useListboxProvider.js.map +1 -1
  729. package/dist/form/useResizingTextArea.d.ts +5 -2
  730. package/dist/form/useResizingTextArea.js +52 -21
  731. package/dist/form/useResizingTextArea.js.map +1 -1
  732. package/dist/form/useSelectCombobox.d.ts +17 -0
  733. package/dist/form/useSelectCombobox.js +36 -0
  734. package/dist/form/useSelectCombobox.js.map +1 -0
  735. package/dist/form/utils.d.ts +11 -1
  736. package/dist/form/utils.js +6 -0
  737. package/dist/form/utils.js.map +1 -1
  738. package/dist/icon/IconRotator.js +2 -3
  739. package/dist/icon/IconRotator.js.map +1 -1
  740. package/dist/icon/_icon.scss +105 -112
  741. package/dist/index.d.ts +23 -2
  742. package/dist/index.js +23 -2
  743. package/dist/index.js.map +1 -1
  744. package/dist/interaction/_interaction.scss +144 -135
  745. package/dist/layout/_layout.scss +82 -86
  746. package/dist/layout/useLayoutAppBarHeight.js +5 -9
  747. package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
  748. package/dist/link/_link.scss +74 -66
  749. package/dist/list/ListItem.d.ts +8 -3
  750. package/dist/list/ListItem.js +4 -3
  751. package/dist/list/ListItem.js.map +1 -1
  752. package/dist/list/ListItemAddon.js +2 -1
  753. package/dist/list/ListItemAddon.js.map +1 -1
  754. package/dist/list/ListItemChildren.js +3 -2
  755. package/dist/list/ListItemChildren.js.map +1 -1
  756. package/dist/list/ListItemLink.js +3 -3
  757. package/dist/list/ListItemLink.js.map +1 -1
  758. package/dist/list/_list.scss +187 -184
  759. package/dist/list/getListItemHeight.d.ts +0 -1
  760. package/dist/list/getListItemHeight.js +2 -2
  761. package/dist/list/getListItemHeight.js.map +1 -1
  762. package/dist/list/listItemStyles.d.ts +9 -1
  763. package/dist/list/listItemStyles.js +5 -5
  764. package/dist/list/listItemStyles.js.map +1 -1
  765. package/dist/list/types.d.ts +25 -6
  766. package/dist/list/types.js.map +1 -1
  767. package/dist/menu/Menu.d.ts +1 -1
  768. package/dist/menu/Menu.js +12 -1
  769. package/dist/menu/Menu.js.map +1 -1
  770. package/dist/menu/MenuItemCircularProgress.d.ts +60 -0
  771. package/dist/menu/MenuItemCircularProgress.js +74 -0
  772. package/dist/menu/MenuItemCircularProgress.js.map +1 -0
  773. package/dist/menu/_menu.scss +29 -50
  774. package/dist/menu/useContextMenu.d.ts +3 -3
  775. package/dist/menu/useContextMenu.js +3 -3
  776. package/dist/menu/useContextMenu.js.map +1 -1
  777. package/dist/movement/types.d.ts +40 -21
  778. package/dist/movement/types.js.map +1 -1
  779. package/dist/movement/useKeyboardMovementProvider.js +15 -4
  780. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  781. package/dist/movement/utils.d.ts +7 -2
  782. package/dist/movement/utils.js +10 -0
  783. package/dist/movement/utils.js.map +1 -1
  784. package/dist/overlay/_overlay.scss +39 -42
  785. package/dist/portal/PortalContainerProvider.d.ts +2 -2
  786. package/dist/portal/PortalContainerProvider.js +6 -1
  787. package/dist/portal/PortalContainerProvider.js.map +1 -1
  788. package/dist/positioning/useFixedPositioning.js +0 -8
  789. package/dist/positioning/useFixedPositioning.js.map +1 -1
  790. package/dist/progress/_progress.scss +33 -33
  791. package/dist/responsive-item/_responsive-item.scss +91 -89
  792. package/dist/searching/caseInsensitive.d.ts +150 -0
  793. package/dist/searching/caseInsensitive.js +30 -0
  794. package/dist/searching/caseInsensitive.js.map +1 -0
  795. package/dist/searching/fuzzy.d.ts +128 -0
  796. package/dist/searching/fuzzy.js +54 -0
  797. package/dist/searching/fuzzy.js.map +1 -0
  798. package/dist/searching/toSearchQuery.d.ts +7 -0
  799. package/dist/searching/toSearchQuery.js +15 -0
  800. package/dist/searching/toSearchQuery.js.map +1 -0
  801. package/dist/searching/types.d.ts +28 -0
  802. package/dist/searching/types.js +5 -0
  803. package/dist/searching/types.js.map +1 -0
  804. package/dist/searching/useFuzzyMatch.d.ts +19 -0
  805. package/dist/searching/useFuzzyMatch.js +26 -0
  806. package/dist/searching/useFuzzyMatch.js.map +1 -0
  807. package/dist/searching/utils.d.ts +21 -0
  808. package/dist/searching/utils.js +28 -0
  809. package/dist/searching/utils.js.map +1 -0
  810. package/dist/segmented-button/_segmented-button.scss +86 -92
  811. package/dist/sheet/_sheet.scss +107 -123
  812. package/dist/sheet/styles.d.ts +14 -15
  813. package/dist/sheet/styles.js.map +1 -1
  814. package/dist/snackbar/DefaultToastRenderer.js +1 -1
  815. package/dist/snackbar/DefaultToastRenderer.js.map +1 -1
  816. package/dist/snackbar/Snackbar.d.ts +10 -10
  817. package/dist/snackbar/Snackbar.js +3 -3
  818. package/dist/snackbar/Snackbar.js.map +1 -1
  819. package/dist/snackbar/Toast.d.ts +1 -1
  820. package/dist/snackbar/Toast.js +5 -1
  821. package/dist/snackbar/Toast.js.map +1 -1
  822. package/dist/snackbar/ToastManager.d.ts +2 -1
  823. package/dist/snackbar/ToastManager.js +1 -1
  824. package/dist/snackbar/ToastManager.js.map +1 -1
  825. package/dist/snackbar/_snackbar.scss +148 -144
  826. package/dist/snackbar/snackbarStyles.d.ts +1 -0
  827. package/dist/snackbar/snackbarStyles.js +2 -1
  828. package/dist/snackbar/snackbarStyles.js.map +1 -1
  829. package/dist/table/TableCheckbox.d.ts +3 -2
  830. package/dist/table/TableCheckbox.js +4 -2
  831. package/dist/table/TableCheckbox.js.map +1 -1
  832. package/dist/table/TableRadio.d.ts +3 -2
  833. package/dist/table/TableRadio.js +4 -2
  834. package/dist/table/TableRadio.js.map +1 -1
  835. package/dist/table/_table.scss +214 -227
  836. package/dist/table/tableCellStyles.d.ts +1 -1
  837. package/dist/table/tableCellStyles.js.map +1 -1
  838. package/dist/tabs/Tab.d.ts +24 -3
  839. package/dist/tabs/Tab.js +15 -8
  840. package/dist/tabs/Tab.js.map +1 -1
  841. package/dist/tabs/_tabs.scss +62 -53
  842. package/dist/tabs/tabIndicatorStyles.d.ts +2 -1
  843. package/dist/tabs/tabIndicatorStyles.js +6 -3
  844. package/dist/tabs/tabIndicatorStyles.js.map +1 -1
  845. package/dist/tabs/tabListStyles.js +2 -1
  846. package/dist/tabs/tabListStyles.js.map +1 -1
  847. package/dist/tabs/tabStyles.d.ts +2 -0
  848. package/dist/tabs/tabStyles.js +6 -3
  849. package/dist/tabs/tabStyles.js.map +1 -1
  850. package/dist/tabs/useTabList.d.ts +3 -3
  851. package/dist/tabs/useTabList.js +9 -6
  852. package/dist/tabs/useTabList.js.map +1 -1
  853. package/dist/test-utils/IntersectionObserver.d.ts +12 -0
  854. package/dist/test-utils/ResizeObserver.d.ts +214 -0
  855. package/dist/test-utils/ResizeObserver.js +69 -49
  856. package/dist/test-utils/ResizeObserver.js.map +1 -1
  857. package/dist/test-utils/data-testid.d.ts +7 -0
  858. package/dist/test-utils/data-testid.js +1 -0
  859. package/dist/test-utils/data-testid.js.map +1 -1
  860. package/dist/test-utils/drag.d.ts +26 -0
  861. package/dist/test-utils/index.d.ts +7 -0
  862. package/dist/test-utils/jest-setup.d.ts +1 -0
  863. package/dist/test-utils/matchMedia.d.ts +101 -0
  864. package/dist/test-utils/matchMedia.js +2 -2
  865. package/dist/test-utils/matchMedia.js.map +1 -1
  866. package/dist/test-utils/polyfills/IntersectionObserver.d.ts +1 -0
  867. package/dist/test-utils/polyfills/ResizeObserver.d.ts +1 -0
  868. package/dist/test-utils/polyfills/TextDecoder.d.ts +1 -0
  869. package/dist/test-utils/polyfills/TextDecoder.js +8 -0
  870. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -0
  871. package/dist/test-utils/polyfills/TextEncoder.d.ts +1 -0
  872. package/dist/test-utils/polyfills/TextEncoder.js +6 -0
  873. package/dist/test-utils/polyfills/TextEncoder.js.map +1 -0
  874. package/dist/test-utils/polyfills/index.d.ts +7 -0
  875. package/dist/test-utils/polyfills/index.js +2 -0
  876. package/dist/test-utils/polyfills/index.js.map +1 -1
  877. package/dist/test-utils/polyfills/matchMedia.d.ts +1 -0
  878. package/dist/test-utils/polyfills/offsetParent.d.ts +1 -0
  879. package/dist/test-utils/polyfills/scrollIntoView.d.ts +1 -0
  880. package/dist/test-utils/render.d.ts +13 -0
  881. package/dist/test-utils/timers.d.ts +39 -0
  882. package/dist/theme/_theme.scss +243 -133
  883. package/dist/tooltip/_tooltip.scss +76 -83
  884. package/dist/tooltip/useTooltip.d.ts +14 -14
  885. package/dist/tooltip/useTooltip.js.map +1 -1
  886. package/dist/transition/SkeletonPlaceholder.d.ts +2 -2
  887. package/dist/transition/SkeletonPlaceholder.js +8 -3
  888. package/dist/transition/SkeletonPlaceholder.js.map +1 -1
  889. package/dist/transition/_transition.scss +89 -78
  890. package/dist/transition/skeletonPlaceholderUtils.d.ts +77 -0
  891. package/dist/transition/skeletonPlaceholderUtils.js +38 -0
  892. package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
  893. package/dist/transition/useCollapseTransition.d.ts +3 -18
  894. package/dist/transition/useCollapseTransition.js +1 -10
  895. package/dist/transition/useCollapseTransition.js.map +1 -1
  896. package/dist/transition/useSkeletonPlaceholder.d.ts +12 -7
  897. package/dist/transition/useSkeletonPlaceholder.js +38 -37
  898. package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
  899. package/dist/transition/utils.js +7 -2
  900. package/dist/transition/utils.js.map +1 -1
  901. package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -2
  902. package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
  903. package/dist/tree/Tree.d.ts +8 -4
  904. package/dist/tree/Tree.js.map +1 -1
  905. package/dist/tree/TreeItem.js +3 -4
  906. package/dist/tree/TreeItem.js.map +1 -1
  907. package/dist/tree/_tree.scss +111 -109
  908. package/dist/tree/styles.d.ts +0 -6
  909. package/dist/tree/styles.js +1 -2
  910. package/dist/tree/styles.js.map +1 -1
  911. package/dist/tree/useTreeMovement.js +1 -1
  912. package/dist/tree/useTreeMovement.js.map +1 -1
  913. package/dist/types.d.ts +13 -0
  914. package/dist/types.js +1 -2
  915. package/dist/types.js.map +1 -1
  916. package/dist/typography/SrOnly.d.ts +3 -3
  917. package/dist/typography/SrOnly.js +4 -4
  918. package/dist/typography/SrOnly.js.map +1 -1
  919. package/dist/typography/Typography.d.ts +19 -19
  920. package/dist/typography/Typography.js +19 -19
  921. package/dist/typography/Typography.js.map +1 -1
  922. package/dist/typography/WritingDirectionProvider.d.ts +2 -2
  923. package/dist/typography/WritingDirectionProvider.js +2 -2
  924. package/dist/typography/WritingDirectionProvider.js.map +1 -1
  925. package/dist/typography/_typography.scss +141 -87
  926. package/dist/useDebouncedFunction.d.ts +2 -2
  927. package/dist/useDebouncedFunction.js +10 -6
  928. package/dist/useDebouncedFunction.js.map +1 -1
  929. package/dist/useElementSize.d.ts +40 -0
  930. package/dist/useElementSize.js +53 -0
  931. package/dist/useElementSize.js.map +1 -0
  932. package/dist/useEnsuredState.d.ts +1 -1
  933. package/dist/useEnsuredState.js.map +1 -1
  934. package/dist/useResizeListener.d.ts +1 -1
  935. package/dist/useResizeListener.js +1 -0
  936. package/dist/useResizeListener.js.map +1 -1
  937. package/dist/useResizeObserver.d.ts +4 -43
  938. package/dist/useResizeObserver.js +4 -43
  939. package/dist/useResizeObserver.js.map +1 -1
  940. package/dist/useThrottledFunction.d.ts +2 -2
  941. package/dist/useThrottledFunction.js +20 -16
  942. package/dist/useThrottledFunction.js.map +1 -1
  943. package/dist/useWindowSize.d.ts +14 -11
  944. package/dist/useWindowSize.js +12 -7
  945. package/dist/useWindowSize.js.map +1 -1
  946. package/dist/utils/alphaNumericSort.d.ts +1 -1
  947. package/dist/utils/alphaNumericSort.js +2 -10
  948. package/dist/utils/alphaNumericSort.js.map +1 -1
  949. package/dist/utils/getMiddleOfRange.d.ts +13 -0
  950. package/dist/utils/getMiddleOfRange.js +20 -0
  951. package/dist/utils/getMiddleOfRange.js.map +1 -0
  952. package/dist/utils/getRangeDefaultValue.d.ts +3 -5
  953. package/dist/utils/getRangeDefaultValue.js +3 -13
  954. package/dist/utils/getRangeDefaultValue.js.map +1 -1
  955. package/dist/utils/getRangeSteps.d.ts +1 -1
  956. package/dist/utils/getRangeSteps.js +2 -2
  957. package/dist/utils/getRangeSteps.js.map +1 -1
  958. package/dist/utils/nearest.js +1 -1
  959. package/dist/utils/nearest.js.map +1 -1
  960. package/dist/window-splitter/_window-splitter.scss +83 -112
  961. package/dist/window-splitter/useWindowSplitter.d.ts +3 -5
  962. package/dist/window-splitter/useWindowSplitter.js +3 -11
  963. package/dist/window-splitter/useWindowSplitter.js.map +1 -1
  964. package/jest.config.ts +4 -0
  965. package/package.json +374 -32
  966. package/scripts/{copySassFiles.js → copySassFiles.ts} +5 -5
  967. package/scripts/tsconfig.json +18 -0
  968. package/src/RootHtml.tsx +95 -0
  969. package/src/__tests__/RootHtml.node.tsx +46 -0
  970. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +19 -0
  971. package/src/__tests__/useDebouncedFunction.tsx +65 -24
  972. package/src/__tests__/useElementSize.tsx +181 -0
  973. package/src/__tests__/useThrottledFunction.tsx +54 -0
  974. package/src/__tests__/useWindowSize.node.tsx +56 -0
  975. package/src/__tests__/useWindowSize.tsx +156 -0
  976. package/src/_box-shadows.scss +12 -2
  977. package/src/_core.scss +207 -253
  978. package/src/_utils.scss +89 -0
  979. package/src/app-bar/AppBar.tsx +59 -19
  980. package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +21 -21
  981. package/src/app-bar/_app-bar.scss +114 -122
  982. package/src/avatar/Avatar.tsx +25 -4
  983. package/src/avatar/__tests__/Avatar.tsx +1 -1
  984. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +6 -6
  985. package/src/avatar/_avatar.scss +74 -81
  986. package/src/badge/_badge.scss +97 -59
  987. package/src/box/_box.scss +72 -81
  988. package/src/button/TooltippedButton.tsx +120 -0
  989. package/src/button/__tests__/TooltippedButton.tsx +60 -0
  990. package/src/button/__tests__/__snapshots__/Button.tsx.snap +1 -1
  991. package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +26 -0
  992. package/src/button/_button.scss +170 -180
  993. package/src/card/Card.tsx +5 -3
  994. package/src/card/CardContent.tsx +3 -3
  995. package/src/card/ClickableCard.tsx +105 -0
  996. package/src/card/__tests__/ClickableCard.tsx +66 -0
  997. package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +1 -1
  998. package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +2 -2
  999. package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +20 -0
  1000. package/src/card/__tests__/__snapshots__/styles.ts.snap +1 -1
  1001. package/src/card/_card.scss +81 -82
  1002. package/src/card/styles.ts +19 -10
  1003. package/src/chip/_chip.scss +137 -148
  1004. package/src/dialog/FixedDialog.tsx +5 -4
  1005. package/src/dialog/_dialog.scss +179 -162
  1006. package/src/divider/Divider.tsx +0 -1
  1007. package/src/divider/_divider.scss +61 -70
  1008. package/src/draggable/_draggable.scss +16 -12
  1009. package/src/draggable/useDraggable.ts +26 -25
  1010. package/src/draggable/utils.ts +16 -50
  1011. package/src/expansion-panel/__tests__/ExpansionPanel.tsx +2 -2
  1012. package/src/expansion-panel/_expansion-panel.scss +76 -50
  1013. package/src/expansion-panel/useExpansionPanels.ts +20 -16
  1014. package/src/form/Form.tsx +2 -1
  1015. package/src/form/Label.tsx +5 -5
  1016. package/src/form/MenuItemInputToggle.tsx +46 -64
  1017. package/src/form/NativeSelect.tsx +6 -3
  1018. package/src/form/Option.tsx +8 -2
  1019. package/src/form/ResizingTextAreaWrapper.tsx +75 -0
  1020. package/src/form/Select.tsx +251 -327
  1021. package/src/form/SelectedOption.tsx +55 -0
  1022. package/src/form/TextArea.tsx +40 -32
  1023. package/src/form/TextField.tsx +19 -19
  1024. package/src/form/TextFieldContainer.tsx +2 -2
  1025. package/src/form/__tests__/MenuItemCheckbox.tsx +53 -0
  1026. package/src/form/__tests__/MenuItemRadio.tsx +53 -0
  1027. package/src/form/__tests__/Select.tsx +439 -0
  1028. package/src/form/__tests__/TextArea.tsx +433 -0
  1029. package/src/form/__tests__/TextField.tsx +195 -0
  1030. package/src/form/__tests__/__snapshots__/FileInput.tsx.snap +23 -23
  1031. package/src/form/__tests__/__snapshots__/MenuItemCheckbox.tsx.snap +96 -0
  1032. package/src/form/__tests__/__snapshots__/MenuItemRadio.tsx.snap +96 -0
  1033. package/src/form/__tests__/__snapshots__/Select.tsx.snap +492 -0
  1034. package/src/form/__tests__/__snapshots__/TextArea.tsx.snap +548 -0
  1035. package/src/form/__tests__/__snapshots__/TextField.tsx.snap +279 -0
  1036. package/src/form/__tests__/useFormReset.tsx +195 -0
  1037. package/src/form/_form.scss +1336 -1260
  1038. package/src/form/menuItemInputToggleStyles.ts +78 -0
  1039. package/src/form/selectUtils.ts +3 -14
  1040. package/src/form/textAreaStyles.ts +2 -2
  1041. package/src/form/{TextFieldContainerStyles.ts → textFieldContainerStyles.ts} +7 -7
  1042. package/src/form/types.ts +6 -8
  1043. package/src/form/useCombobox.ts +523 -0
  1044. package/src/form/useEditableCombobox.ts +139 -0
  1045. package/src/form/useFormReset.ts +48 -0
  1046. package/src/form/useListboxProvider.ts +9 -7
  1047. package/src/form/useResizingTextArea.ts +66 -25
  1048. package/src/form/useSelectCombobox.ts +70 -0
  1049. package/src/form/utils.ts +17 -4
  1050. package/src/icon/IconRotator.tsx +1 -2
  1051. package/src/icon/_icon.scss +105 -112
  1052. package/src/index.ts +23 -2
  1053. package/src/interaction/_interaction.scss +144 -135
  1054. package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +4 -4
  1055. package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +1 -1
  1056. package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +18 -18
  1057. package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +1 -1
  1058. package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +1 -1
  1059. package/src/layout/_layout.scss +82 -86
  1060. package/src/layout/useLayoutAppBarHeight.ts +5 -9
  1061. package/src/link/_link.scss +74 -66
  1062. package/src/list/ListItem.tsx +20 -13
  1063. package/src/list/ListItemAddon.tsx +5 -3
  1064. package/src/list/ListItemChildren.tsx +4 -2
  1065. package/src/list/ListItemLink.tsx +4 -4
  1066. package/src/list/__tests__/ListItem.tsx +1 -1
  1067. package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +1 -1
  1068. package/src/list/__tests__/getListItemHeight.ts +2 -2
  1069. package/src/list/_list.scss +187 -184
  1070. package/src/list/getListItemHeight.ts +2 -3
  1071. package/src/list/listItemStyles.ts +15 -5
  1072. package/src/list/types.ts +28 -6
  1073. package/src/menu/Menu.tsx +10 -2
  1074. package/src/menu/MenuItemCircularProgress.tsx +116 -0
  1075. package/src/menu/__tests__/MenuItemCircularProgress.tsx +39 -0
  1076. package/src/menu/__tests__/__snapshots__/MenuItemCircularProgress.tsx.snap +68 -0
  1077. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +54 -0
  1078. package/src/menu/__tests__/useContextMenu.tsx +41 -0
  1079. package/src/menu/_menu.scss +29 -50
  1080. package/src/menu/useContextMenu.ts +3 -3
  1081. package/src/movement/types.ts +50 -25
  1082. package/src/movement/useKeyboardMovementProvider.ts +21 -8
  1083. package/src/movement/utils.ts +12 -2
  1084. package/src/overlay/_overlay.scss +39 -42
  1085. package/src/portal/PortalContainerProvider.tsx +10 -2
  1086. package/src/portal/__tests__/PortalContainerProvider.tsx +23 -0
  1087. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -32
  1088. package/src/positioning/__tests__/useFixedPositioning.tsx +0 -14
  1089. package/src/positioning/useFixedPositioning.ts +0 -6
  1090. package/src/progress/_progress.scss +33 -33
  1091. package/src/responsive-item/_responsive-item.scss +91 -89
  1092. package/src/searching/__tests__/caseInsensitive.ts +165 -0
  1093. package/src/searching/__tests__/fuzzy.ts +169 -0
  1094. package/src/searching/__tests__/toSearchQuery.ts +21 -0
  1095. package/src/searching/__tests__/useFuzzyMatch.tsx +200 -0
  1096. package/src/searching/caseInsensitive.ts +200 -0
  1097. package/src/searching/fuzzy.ts +175 -0
  1098. package/src/searching/toSearchQuery.ts +20 -0
  1099. package/src/searching/types.ts +34 -0
  1100. package/src/searching/useFuzzyMatch.ts +42 -0
  1101. package/src/searching/utils.ts +53 -0
  1102. package/src/segmented-button/_segmented-button.scss +86 -92
  1103. package/src/sheet/_sheet.scss +107 -123
  1104. package/src/sheet/styles.ts +14 -15
  1105. package/src/snackbar/DefaultToastRenderer.tsx +1 -1
  1106. package/src/snackbar/Snackbar.tsx +28 -32
  1107. package/src/snackbar/Toast.tsx +7 -2
  1108. package/src/snackbar/ToastManager.tsx +3 -2
  1109. package/src/snackbar/__tests__/Snackbar.tsx +12 -11
  1110. package/src/snackbar/__tests__/ToastManagerProvider.tsx +20 -42
  1111. package/src/snackbar/__tests__/__snapshots__/Snackbar.tsx.snap +127 -27
  1112. package/src/snackbar/__tests__/__snapshots__/ToastManagerProvider.tsx.snap +23 -8
  1113. package/src/snackbar/_snackbar.scss +148 -144
  1114. package/src/snackbar/snackbarStyles.ts +3 -1
  1115. package/src/suspense/__tests__/CircularProgressSuspense.tsx +90 -0
  1116. package/src/suspense/__tests__/NullSuspense.tsx +46 -0
  1117. package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +24 -0
  1118. package/src/table/TableCheckbox.tsx +4 -2
  1119. package/src/table/TableRadio.tsx +4 -2
  1120. package/src/table/_table.scss +214 -227
  1121. package/src/table/tableCellStyles.ts +1 -1
  1122. package/src/tabs/Tab.tsx +110 -70
  1123. package/src/tabs/__tests__/Tab.tsx +25 -2
  1124. package/src/tabs/__tests__/TabList.tsx +4 -4
  1125. package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +2 -2
  1126. package/src/tabs/_tabs.scss +62 -53
  1127. package/src/tabs/tabIndicatorStyles.ts +13 -3
  1128. package/src/tabs/tabListStyles.ts +1 -1
  1129. package/src/tabs/tabStyles.ts +16 -4
  1130. package/src/tabs/useTabList.ts +10 -8
  1131. package/src/test-utils/ResizeObserver.ts +100 -53
  1132. package/src/test-utils/__tests__/ResizeObserver.ts +1 -1
  1133. package/src/test-utils/data-testid.ts +5 -1
  1134. package/src/test-utils/matchMedia.ts +2 -2
  1135. package/src/test-utils/polyfills/TextDecoder.ts +7 -0
  1136. package/src/test-utils/polyfills/TextEncoder.ts +5 -0
  1137. package/src/test-utils/polyfills/index.ts +2 -0
  1138. package/src/theme/_theme.scss +243 -133
  1139. package/src/tooltip/_tooltip.scss +76 -83
  1140. package/src/tooltip/useTooltip.ts +23 -16
  1141. package/src/transition/SkeletonPlaceholder.tsx +18 -6
  1142. package/src/transition/__tests__/SkeletonPlaceholder.tsx +72 -0
  1143. package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +24 -0
  1144. package/src/transition/__tests__/utils.ts +25 -0
  1145. package/src/transition/_transition.scss +89 -78
  1146. package/src/transition/skeletonPlaceholderUtils.ts +105 -0
  1147. package/src/transition/useCollapseTransition.ts +6 -24
  1148. package/src/transition/useSkeletonPlaceholder.ts +62 -47
  1149. package/src/transition/utils.ts +10 -5
  1150. package/src/tree/DefaultTreeItemRenderer.tsx +6 -2
  1151. package/src/tree/Tree.tsx +8 -4
  1152. package/src/tree/TreeItem.tsx +3 -4
  1153. package/src/tree/__tests__/Tree.tsx +1 -1
  1154. package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +124 -124
  1155. package/src/tree/_tree.scss +111 -109
  1156. package/src/tree/styles.ts +0 -9
  1157. package/src/tree/useTreeMovement.ts +1 -1
  1158. package/src/types.ts +13 -0
  1159. package/src/typography/SrOnly.tsx +9 -9
  1160. package/src/typography/Typography.tsx +19 -19
  1161. package/src/typography/WritingDirectionProvider.tsx +4 -2
  1162. package/src/typography/__tests__/__snapshots__/SrOnly.tsx.snap +5 -5
  1163. package/src/typography/_typography.scss +141 -87
  1164. package/src/useDebouncedFunction.ts +12 -10
  1165. package/src/useElementSize.ts +83 -0
  1166. package/src/useEnsuredState.ts +1 -1
  1167. package/src/useResizeListener.ts +3 -1
  1168. package/src/useResizeObserver.ts +8 -45
  1169. package/src/useThrottledFunction.ts +12 -10
  1170. package/src/useWindowSize.ts +29 -19
  1171. package/src/utils/__tests__/getMiddleOfRange.ts +12 -0
  1172. package/src/utils/__tests__/getRangeDefaultValue.ts +47 -0
  1173. package/src/utils/alphaNumericSort.ts +3 -16
  1174. package/src/utils/getMiddleOfRange.ts +26 -0
  1175. package/src/utils/getRangeDefaultValue.ts +8 -15
  1176. package/src/utils/getRangeSteps.ts +2 -2
  1177. package/src/utils/nearest.ts +1 -1
  1178. package/src/window-splitter/_window-splitter.scss +83 -112
  1179. package/src/window-splitter/useWindowSplitter.ts +12 -28
  1180. package/tsconfig.types.json +1 -1
  1181. package/.turbo/turbo-lint.log +0 -12
  1182. package/.turbo/turbo-test.log +0 -166
  1183. package/dist/divider/VerticalDivider.d.ts +0 -32
  1184. package/dist/divider/useVerticalDividerHeight.d.ts +0 -37
  1185. package/dist/form/SelectValue.d.ts +0 -17
  1186. package/dist/form/SelectValue.js +0 -32
  1187. package/dist/form/SelectValue.js.map +0 -1
  1188. package/dist/form/TextFieldContainerStyles.js.map +0 -1
  1189. package/dist/icon/MaterialIconsProvider.d.ts +0 -12
  1190. package/dist/icon/MaterialIconsProvider.js +0 -17
  1191. package/dist/icon/MaterialIconsProvider.js.map +0 -1
  1192. package/dist/icon/MaterialSymbolsProvider.d.ts +0 -145
  1193. package/dist/icon/MaterialSymbolsProvider.js +0 -60
  1194. package/dist/icon/MaterialSymbolsProvider.js.map +0 -1
  1195. package/dist/link/LinkProvider.d.ts +0 -29
  1196. package/dist/menu/menuConfig.d.ts +0 -60
  1197. package/dist/tooltip/useOverflowTooltip.d.ts +0 -61
  1198. package/dist/utils/filters.d.ts +0 -196
  1199. package/dist/utils/filters.js +0 -67
  1200. package/dist/utils/filters.js.map +0 -1
  1201. package/src/form/SelectValue.tsx +0 -39
  1202. package/src/utils/__tests__/filters.ts +0 -279
  1203. package/src/utils/filters.ts +0 -320
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/form/NativeSelect.tsx"],"sourcesContent":["import {\n forwardRef,\n type CSSProperties,\n type HTMLAttributes,\n type ReactNode,\n type SelectHTMLAttributes,\n} from \"react\";\nimport { getIcon } from \"../icon/iconConfig.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { FormMessageContainer } from \"./FormMessageContainer.js\";\nimport { Label } from \"./Label.js\";\nimport { TextFieldContainer } from \"./TextFieldContainer.js\";\nimport { getFormConfig } from \"./formConfig.js\";\nimport { nativeSelect, nativeSelectContainer } from \"./nativeSelectStyles.js\";\nimport {\n type FormFieldOptions,\n type UserAgentAutoCompleteProps,\n} from \"./types.js\";\n\nexport interface NativeSelectProps\n extends SelectHTMLAttributes<HTMLSelectElement>,\n UserAgentAutoCompleteProps,\n FormFieldOptions {\n /**\n * A custom dropdown icon to use instead of the browser's default select\n * dropdown icon.\n *\n * Set this to `null` if the browser's default icon should be used instead.\n *\n * @defaultValue `getIcon(\"dropdown\")`\n */\n icon?: ReactNode;\n\n /**\n * This applies custom inline styles to the `<select>` element since the\n * `style` prop is applied to the container element instead.\n */\n selectStyle?: CSSProperties;\n\n /**\n * This applies custom className to the `<select>` element since the\n * `className` prop is applied to the container element instead.\n */\n selectClassName?: string;\n\n /**\n * This should be a list of `<option>` elements for specific values within the\n * `<select>`.\n *\n * Check out the {@link NativeSelect} for examples around using \"placeholder\"\n * text and requiring a value to be selected.\n */\n children: ReactNode;\n\n /**\n * Optional props to provide to the {@link TextFieldContainer} component.\n * There probably isn't any real use for this prop other than if you need to\n * add a `ref` for some DOM behavior.\n */\n containerProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n}\n\n/**\n * **Server Component**\n *\n * This component is a wrapper for the native `<select>` field that applies the\n * same theming as `TextField` and `TextArea` components. This component might\n * not be used much since the `Select` offers more styling options.\n *\n * @example\n * Simple Example\n * ```tsx\n * <NativeSelect label=\"Label\">\n * <option value=\"a\">Value 1</option>\n * <option value=\"b\">Value 2</option>\n * <option value=\"c\">Value 3</option>\n * <option value=\"d\">Value 4</option>\n * </NativeSelect>\n * ```\n *\n * @example\n * Required Value Example\n * ```tsx\n * function Example(): ReactElement {\n * // using `defaultValue=\"\"` makes it so the first option selected by default\n * // and considered an \"invalid\" value since it is `disabled`\n * //\n * // a `name` must be set with `required` so that the form validation will\n * // fire if the value is still the empty string when the form is submitted\n * //\n * // the first `<option>` is kind of like placeholder text since it doesn't\n * // have a value and is disabled by default\n *\n * return (\n * <NativeSelect\n * label=\"State\"\n * name=\"state\"\n * required\n * defaultValue=\"\"\n * >\n * <option value=\"\" disabled>Choose a state</option>\n * {states.map(({ name, code }) => (\n * <option key={code} value={code}>{name}</option>\n * ))}\n * </NativeSelect>\n * );\n * }\n * ```\n */\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>(\n function NativeSelect(props, ref) {\n const {\n id: propId,\n style,\n className,\n icon: propIcon,\n label,\n labelProps,\n labelStyle,\n labelClassName,\n selectStyle,\n selectClassName,\n autoCompleteValue,\n autoComplete = autoCompleteValue,\n name = autoCompleteValue,\n dense = false,\n error = false,\n active = false,\n inline = false,\n stretch = false,\n leftAddon,\n rightAddon: propRightAddon,\n leftAddonProps,\n rightAddonProps,\n disableLeftAddonStyles = false,\n disableRightAddonStyles = false,\n theme: propTheme,\n underlineDirection: propUnderlineDirection,\n messageProps,\n messageContainerProps,\n containerProps,\n children,\n ...remaining\n } = props;\n const { disabled = false, readOnly = false, multiple = false } = props;\n const id = useEnsuredId(propId, \"select\");\n const theme = getFormConfig(\"theme\", propTheme);\n const underlineDirection = getFormConfig(\n \"underlineDirection\",\n propUnderlineDirection\n );\n const icon = getIcon(\"dropdown\", propIcon);\n const underlined = theme === \"underline\" || theme === \"filled\";\n\n let rightAddon = propRightAddon;\n if (typeof propRightAddon === \"undefined\" && !multiple) {\n rightAddon = icon;\n }\n\n return (\n <FormMessageContainer\n {...messageContainerProps}\n messageProps={messageProps}\n >\n <TextFieldContainer\n {...containerProps}\n style={style}\n className={nativeSelectContainer({\n label: !!label,\n multiple,\n underlined,\n className,\n })}\n theme={theme}\n label={!!label}\n error={error}\n dense={dense}\n inline={inline}\n active={active}\n stretch={stretch}\n readOnly={readOnly}\n disabled={disabled}\n leftAddon={leftAddon}\n leftAddonProps={leftAddonProps}\n rightAddon={rightAddon}\n rightAddonProps={rightAddonProps}\n underlineDirection={underlineDirection}\n disableLeftAddonStyles={disableLeftAddonStyles}\n disableRightAddonStyles={disableRightAddonStyles}\n >\n <select\n {...remaining}\n id={id}\n ref={ref}\n autoComplete={autoComplete}\n name={name}\n disabled={disabled}\n style={selectStyle}\n className={nativeSelect({\n icon: !!icon,\n className: selectClassName,\n })}\n >\n {children}\n </select>\n {label && (\n <Label\n {...labelProps}\n htmlFor={id}\n style={labelProps?.style ?? labelStyle}\n className={labelProps?.className ?? labelClassName}\n floating\n dense={dense}\n error={error}\n active={active}\n disabled={disabled}\n >\n {label}\n </Label>\n )}\n </TextFieldContainer>\n </FormMessageContainer>\n );\n }\n);\n"],"names":["forwardRef","getIcon","useEnsuredId","FormMessageContainer","Label","TextFieldContainer","getFormConfig","nativeSelect","nativeSelectContainer","NativeSelect","props","ref","id","propId","style","className","icon","propIcon","label","labelProps","labelStyle","labelClassName","selectStyle","selectClassName","autoCompleteValue","autoComplete","name","dense","error","active","inline","stretch","leftAddon","rightAddon","propRightAddon","leftAddonProps","rightAddonProps","disableLeftAddonStyles","disableRightAddonStyles","theme","propTheme","underlineDirection","propUnderlineDirection","messageProps","messageContainerProps","containerProps","children","remaining","disabled","readOnly","multiple","underlined","select","htmlFor","floating"],"mappings":";AAAA,SACEA,UAAU,QAKL,QAAQ;AACf,SAASC,OAAO,QAAQ,wBAAwB;AAEhD,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,KAAK,QAAQ,aAAa;AACnC,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,YAAY,EAAEC,qBAAqB,QAAQ,0BAA0B;AAiD9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CC,GACD,OAAO,MAAMC,6BAAeT,WAC1B,SAASS,aAAaC,KAAK,EAAEC,GAAG;IAC9B,MAAM,EACJC,IAAIC,MAAM,EACVC,KAAK,EACLC,SAAS,EACTC,MAAMC,QAAQ,EACdC,KAAK,EACLC,UAAU,EACVC,UAAU,EACVC,cAAc,EACdC,WAAW,EACXC,eAAe,EACfC,iBAAiB,EACjBC,eAAeD,iBAAiB,EAChCE,OAAOF,iBAAiB,EACxBG,QAAQ,KAAK,EACbC,QAAQ,KAAK,EACbC,SAAS,KAAK,EACdC,SAAS,KAAK,EACdC,UAAU,KAAK,EACfC,SAAS,EACTC,YAAYC,cAAc,EAC1BC,cAAc,EACdC,eAAe,EACfC,yBAAyB,KAAK,EAC9BC,0BAA0B,KAAK,EAC/BC,OAAOC,SAAS,EAChBC,oBAAoBC,sBAAsB,EAC1CC,YAAY,EACZC,qBAAqB,EACrBC,cAAc,EACdC,QAAQ,EACR,GAAGC,WACJ,GAAGrC;IACJ,MAAM,EAAEsC,WAAW,KAAK,EAAEC,WAAW,KAAK,EAAEC,WAAW,KAAK,EAAE,GAAGxC;IACjE,MAAME,KAAKV,aAAaW,QAAQ;IAChC,MAAM0B,QAAQjC,cAAc,SAASkC;IACrC,MAAMC,qBAAqBnC,cACzB,sBACAoC;IAEF,MAAM1B,OAAOf,QAAQ,YAAYgB;IACjC,MAAMkC,aAAaZ,UAAU,eAAeA,UAAU;IAEtD,IAAIN,aAAaC;IACjB,IAAI,OAAOA,mBAAmB,eAAe,CAACgB,UAAU;QACtDjB,aAAajB;IACf;IAEA,qBACE,KAACb;QACE,GAAGyC,qBAAqB;QACzBD,cAAcA;kBAEd,cAAA,MAACtC;YACE,GAAGwC,cAAc;YAClB/B,OAAOA;YACPC,WAAWP,sBAAsB;gBAC/BU,OAAO,CAAC,CAACA;gBACTgC;gBACAC;gBACApC;YACF;YACAwB,OAAOA;YACPrB,OAAO,CAAC,CAACA;YACTU,OAAOA;YACPD,OAAOA;YACPG,QAAQA;YACRD,QAAQA;YACRE,SAASA;YACTkB,UAAUA;YACVD,UAAUA;YACVhB,WAAWA;YACXG,gBAAgBA;YAChBF,YAAYA;YACZG,iBAAiBA;YACjBK,oBAAoBA;YACpBJ,wBAAwBA;YACxBC,yBAAyBA;;8BAEzB,KAACc;oBACE,GAAGL,SAAS;oBACbnC,IAAIA;oBACJD,KAAKA;oBACLc,cAAcA;oBACdC,MAAMA;oBACNsB,UAAUA;oBACVlC,OAAOQ;oBACPP,WAAWR,aAAa;wBACtBS,MAAM,CAAC,CAACA;wBACRD,WAAWQ;oBACb;8BAECuB;;gBAEF5B,uBACC,KAACd;oBACE,GAAGe,UAAU;oBACdkC,SAASzC;oBACTE,OAAOK,YAAYL,SAASM;oBAC5BL,WAAWI,YAAYJ,aAAaM;oBACpCiC,QAAQ;oBACR3B,OAAOA;oBACPC,OAAOA;oBACPC,QAAQA;oBACRmB,UAAUA;8BAET9B;;;;;AAMb,GACA"}
1
+ {"version":3,"sources":["../../src/form/NativeSelect.tsx"],"sourcesContent":["import {\n forwardRef,\n type CSSProperties,\n type HTMLAttributes,\n type ReactNode,\n type SelectHTMLAttributes,\n} from \"react\";\nimport { getIcon } from \"../icon/iconConfig.js\";\nimport { type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { FormMessageContainer } from \"./FormMessageContainer.js\";\nimport { Label } from \"./Label.js\";\nimport { TextFieldContainer } from \"./TextFieldContainer.js\";\nimport { getFormConfig } from \"./formConfig.js\";\nimport { nativeSelect, nativeSelectContainer } from \"./nativeSelectStyles.js\";\nimport {\n type FormFieldOptions,\n type UserAgentAutocompleteProps,\n} from \"./types.js\";\n\n/**\n * @remarks \\@since 6.0.0 Added support for {@link UserAgentAutocompleteProps}\n */\nexport interface NativeSelectProps\n extends Omit<SelectHTMLAttributes<HTMLSelectElement>, \"autoComplete\">,\n UserAgentAutocompleteProps,\n FormFieldOptions {\n /**\n * A custom dropdown icon to use instead of the browser's default select\n * dropdown icon.\n *\n * Set this to `null` if the browser's default icon should be used instead.\n *\n * @defaultValue `getIcon(\"dropdown\")`\n */\n icon?: ReactNode;\n\n /**\n * This applies custom inline styles to the `<select>` element since the\n * `style` prop is applied to the container element instead.\n */\n selectStyle?: CSSProperties;\n\n /**\n * This applies custom className to the `<select>` element since the\n * `className` prop is applied to the container element instead.\n */\n selectClassName?: string;\n\n /**\n * This should be a list of `<option>` elements for specific values within the\n * `<select>`.\n *\n * Check out the {@link NativeSelect} for examples around using \"placeholder\"\n * text and requiring a value to be selected.\n */\n children: ReactNode;\n\n /**\n * Optional props to provide to the {@link TextFieldContainer} component.\n * There probably isn't any real use for this prop other than if you need to\n * add a `ref` for some DOM behavior.\n */\n containerProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;\n}\n\n/**\n * **Server Component**\n *\n * This component is a wrapper for the native `<select>` field that applies the\n * same theming as `TextField` and `TextArea` components. This component might\n * not be used much since the `Select` offers more styling options.\n *\n * @example\n * Simple Example\n * ```tsx\n * <NativeSelect label=\"Label\">\n * <option value=\"a\">Value 1</option>\n * <option value=\"b\">Value 2</option>\n * <option value=\"c\">Value 3</option>\n * <option value=\"d\">Value 4</option>\n * </NativeSelect>\n * ```\n *\n * @example\n * Required Value Example\n * ```tsx\n * function Example(): ReactElement {\n * // using `defaultValue=\"\"` makes it so the first option selected by default\n * // and considered an \"invalid\" value since it is `disabled`\n * //\n * // a `name` must be set with `required` so that the form validation will\n * // fire if the value is still the empty string when the form is submitted\n * //\n * // the first `<option>` is kind of like placeholder text since it doesn't\n * // have a value and is disabled by default\n *\n * return (\n * <NativeSelect\n * label=\"State\"\n * name=\"state\"\n * required\n * defaultValue=\"\"\n * >\n * <option value=\"\" disabled>Choose a state</option>\n * {states.map(({ name, code }) => (\n * <option key={code} value={code}>{name}</option>\n * ))}\n * </NativeSelect>\n * );\n * }\n * ```\n */\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>(\n function NativeSelect(props, ref) {\n const {\n id: propId,\n style,\n className,\n icon: propIcon,\n label,\n labelProps,\n labelStyle,\n labelClassName,\n selectStyle,\n selectClassName,\n autoCompleteValue,\n autoComplete = autoCompleteValue,\n name = autoCompleteValue,\n dense = false,\n error = false,\n active = false,\n inline = false,\n stretch = false,\n leftAddon,\n rightAddon: propRightAddon,\n leftAddonProps,\n rightAddonProps,\n disableLeftAddonStyles = false,\n disableRightAddonStyles = false,\n theme: propTheme,\n underlineDirection: propUnderlineDirection,\n messageProps,\n messageContainerProps,\n containerProps,\n children,\n ...remaining\n } = props;\n const { disabled = false, readOnly = false, multiple = false } = props;\n const id = useEnsuredId(propId, \"select\");\n const theme = getFormConfig(\"theme\", propTheme);\n const underlineDirection = getFormConfig(\n \"underlineDirection\",\n propUnderlineDirection\n );\n const icon = getIcon(\"dropdown\", propIcon);\n const underlined = theme === \"underline\" || theme === \"filled\";\n\n let rightAddon = propRightAddon;\n if (typeof propRightAddon === \"undefined\" && !multiple) {\n rightAddon = icon;\n }\n\n return (\n <FormMessageContainer\n {...messageContainerProps}\n messageProps={messageProps}\n >\n <TextFieldContainer\n {...containerProps}\n style={style}\n className={nativeSelectContainer({\n label: !!label,\n multiple,\n underlined,\n className,\n })}\n theme={theme}\n label={!!label}\n error={error}\n dense={dense}\n inline={inline}\n active={active}\n stretch={stretch}\n readOnly={readOnly}\n disabled={disabled}\n leftAddon={leftAddon}\n leftAddonProps={leftAddonProps}\n rightAddon={rightAddon}\n rightAddonProps={rightAddonProps}\n underlineDirection={underlineDirection}\n disableLeftAddonStyles={disableLeftAddonStyles}\n disableRightAddonStyles={disableRightAddonStyles}\n >\n <select\n {...remaining}\n id={id}\n ref={ref}\n autoComplete={autoComplete}\n name={name}\n disabled={disabled}\n style={selectStyle}\n className={nativeSelect({\n icon: !!icon,\n className: selectClassName,\n })}\n >\n {children}\n </select>\n {label && (\n <Label\n {...labelProps}\n htmlFor={id}\n style={labelProps?.style ?? labelStyle}\n className={labelProps?.className ?? labelClassName}\n floating\n dense={dense}\n error={error}\n active={active}\n disabled={disabled}\n >\n {label}\n </Label>\n )}\n </TextFieldContainer>\n </FormMessageContainer>\n );\n }\n);\n"],"names":["forwardRef","getIcon","useEnsuredId","FormMessageContainer","Label","TextFieldContainer","getFormConfig","nativeSelect","nativeSelectContainer","NativeSelect","props","ref","id","propId","style","className","icon","propIcon","label","labelProps","labelStyle","labelClassName","selectStyle","selectClassName","autoCompleteValue","autoComplete","name","dense","error","active","inline","stretch","leftAddon","rightAddon","propRightAddon","leftAddonProps","rightAddonProps","disableLeftAddonStyles","disableRightAddonStyles","theme","propTheme","underlineDirection","propUnderlineDirection","messageProps","messageContainerProps","containerProps","children","remaining","disabled","readOnly","multiple","underlined","select","htmlFor","floating"],"mappings":";AAAA,SACEA,UAAU,QAKL,QAAQ;AACf,SAASC,OAAO,QAAQ,wBAAwB;AAEhD,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,KAAK,QAAQ,aAAa;AACnC,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,YAAY,EAAEC,qBAAqB,QAAQ,0BAA0B;AAoD9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CC,GACD,OAAO,MAAMC,6BAAeT,WAC1B,SAASS,aAAaC,KAAK,EAAEC,GAAG;IAC9B,MAAM,EACJC,IAAIC,MAAM,EACVC,KAAK,EACLC,SAAS,EACTC,MAAMC,QAAQ,EACdC,KAAK,EACLC,UAAU,EACVC,UAAU,EACVC,cAAc,EACdC,WAAW,EACXC,eAAe,EACfC,iBAAiB,EACjBC,eAAeD,iBAAiB,EAChCE,OAAOF,iBAAiB,EACxBG,QAAQ,KAAK,EACbC,QAAQ,KAAK,EACbC,SAAS,KAAK,EACdC,SAAS,KAAK,EACdC,UAAU,KAAK,EACfC,SAAS,EACTC,YAAYC,cAAc,EAC1BC,cAAc,EACdC,eAAe,EACfC,yBAAyB,KAAK,EAC9BC,0BAA0B,KAAK,EAC/BC,OAAOC,SAAS,EAChBC,oBAAoBC,sBAAsB,EAC1CC,YAAY,EACZC,qBAAqB,EACrBC,cAAc,EACdC,QAAQ,EACR,GAAGC,WACJ,GAAGrC;IACJ,MAAM,EAAEsC,WAAW,KAAK,EAAEC,WAAW,KAAK,EAAEC,WAAW,KAAK,EAAE,GAAGxC;IACjE,MAAME,KAAKV,aAAaW,QAAQ;IAChC,MAAM0B,QAAQjC,cAAc,SAASkC;IACrC,MAAMC,qBAAqBnC,cACzB,sBACAoC;IAEF,MAAM1B,OAAOf,QAAQ,YAAYgB;IACjC,MAAMkC,aAAaZ,UAAU,eAAeA,UAAU;IAEtD,IAAIN,aAAaC;IACjB,IAAI,OAAOA,mBAAmB,eAAe,CAACgB,UAAU;QACtDjB,aAAajB;IACf;IAEA,qBACE,KAACb;QACE,GAAGyC,qBAAqB;QACzBD,cAAcA;kBAEd,cAAA,MAACtC;YACE,GAAGwC,cAAc;YAClB/B,OAAOA;YACPC,WAAWP,sBAAsB;gBAC/BU,OAAO,CAAC,CAACA;gBACTgC;gBACAC;gBACApC;YACF;YACAwB,OAAOA;YACPrB,OAAO,CAAC,CAACA;YACTU,OAAOA;YACPD,OAAOA;YACPG,QAAQA;YACRD,QAAQA;YACRE,SAASA;YACTkB,UAAUA;YACVD,UAAUA;YACVhB,WAAWA;YACXG,gBAAgBA;YAChBF,YAAYA;YACZG,iBAAiBA;YACjBK,oBAAoBA;YACpBJ,wBAAwBA;YACxBC,yBAAyBA;;8BAEzB,KAACc;oBACE,GAAGL,SAAS;oBACbnC,IAAIA;oBACJD,KAAKA;oBACLc,cAAcA;oBACdC,MAAMA;oBACNsB,UAAUA;oBACVlC,OAAOQ;oBACPP,WAAWR,aAAa;wBACtBS,MAAM,CAAC,CAACA;wBACRD,WAAWQ;oBACb;8BAECuB;;gBAEF5B,uBACC,KAACd;oBACE,GAAGe,UAAU;oBACdkC,SAASzC;oBACTE,OAAOK,YAAYL,SAASM;oBAC5BL,WAAWI,YAAYJ,aAAaM;oBACpCiC,QAAQ;oBACR3B,OAAOA;oBACPC,OAAOA;oBACPC,QAAQA;oBACRmB,UAAUA;8BAET9B;;;;;AAMb,GACA"}
@@ -36,9 +36,10 @@ const noop = ()=>{
36
36
  * \@since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,
37
37
  * `selectedIconAfter`, and `iconSpacingProps` props.
38
38
  */ export const Option = /*#__PURE__*/ forwardRef(function Option(props, ref) {
39
- const { id: propId, role = "option", value, children: propChildren, onClick = noop, className, selectedIcon: propSelectedIcon, unselectedIcon: propUnselectedIcon, selectedIconAfter = false, textIconSpacingProps, leftAddon: propLeftAddon, leftAddonType, leftAddonClassName, rightAddon: propRightAddon, rightAddonType, rightAddonClassName, secondaryText, height: propHeight, disableTextChildren: propDisableTextChildren, ...remaining } = props;
39
+ const { id: propId, role = "option", value, children: propChildren, onClick = noop, className, selectedIcon: propSelectedIcon, unselectedIcon: propUnselectedIcon, selectedIconAfter: propSelectedIconAfter, textIconSpacingProps, leftAddon: propLeftAddon, leftAddonType, leftAddonClassName, rightAddon: propRightAddon, rightAddonType, rightAddonClassName, secondaryText, height: propHeight, disableTextChildren: propDisableTextChildren, ...remaining } = props;
40
40
  const id = useEnsuredId(propId, "option");
41
- const { inputRef, currentValue, disableSelectedIcon } = useListboxContext();
41
+ const { inputRef, currentValue, disableSelectedIcon, selectedIconAfter: contextSelectedIconAfter } = useListboxContext();
42
+ const selectedIconAfter = propSelectedIconAfter ?? contextSelectedIconAfter;
42
43
  const selected = value === currentValue;
43
44
  const selectedIcon = getIcon("selected", disableSelectedIcon ? null : propSelectedIcon);
44
45
  const unselectedIcon = disableSelectedIcon ? null : propUnselectedIcon ?? DEFAULT_OPTION_UNSELECTED_ICON;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/form/Option.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, Fragment, type ReactNode } from \"react\";\nimport { getIcon } from \"../icon/iconConfig.js\";\nimport { icon } from \"../icon/styles.js\";\nimport {\n TextIconSpacing,\n type TextIconSpacingProps,\n} from \"../icon/TextIconSpacing.js\";\nimport { getListItemHeight } from \"../list/getListItemHeight.js\";\nimport { ListItemText } from \"../list/ListItemText.js\";\nimport { MenuItem, type MenuItemProps } from \"../menu/MenuItem.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { option } from \"./optionStyles.js\";\nimport { useListboxContext } from \"./useListboxProvider.js\";\nimport { triggerManualChangeEvent } from \"./utils.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * This icon is used while the option is unselected so that the selected and\n * unselected options have the same alignment.\n *\n * @remarks \\@since 6.0.0\n */\nexport const DEFAULT_OPTION_UNSELECTED_ICON = (\n <span className={icon({ type: \"svg\" })} />\n);\n\n/**\n * @remarks\n * \\@since 6.0.0 removed the `selected` and `focused` props.\n * \\@since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,\n * `selectedIconAfter`, and `iconSpacingProps` props.\n */\nexport interface OptionProps extends MenuItemProps {\n /**\n * @defaultValue `\"option\"`\n */\n role?: string;\n\n value: string | number;\n\n /**\n * @defaultValue `getIcon(\"selected\")`\n */\n selectedIcon?: ReactNode;\n\n /**\n * @see {@link DEFAULT_OPTION_UNSELECTED_ICON}\n * @defaultValue `<span className=\"rmd-icon rmd-icon--svg\" />`\n */\n unselectedIcon?: ReactNode;\n\n /**\n * Set this to `true` of the {@link selectedIcon}/{@link unselectedIcon}\n * should appear as the {@link rightAddon} instead of the {@link leftAddon}.\n *\n * @defaultValue `false`\n */\n selectedIconAfter?: boolean;\n\n /**\n * Since the `selectedIcon`/`unselectedIcon` are rendered as\n * `leftAddon`/`rightAddon`, the provided `leftAddon`/`rightAddon` will be\n * wrapped in the {@link TextIconSpacing} component to maintain the correct\n * spacing. You can use this prop to provide any additional configuration to\n * the spacing.\n *\n * @example\n * ```tsx\n * <Option\n * leftAddon={<Avatar>A</Avatar>}\n * leftAddonType=\"avatar\"\n * value={0}\n * textIconSpacingProps={{\n * beforeClassName: \"my-custom-class-name\",\n * }}\n * >\n * Some Content\n * </Option>\n * ```\n */\n textIconSpacingProps?: Omit<TextIconSpacingProps, \"icon\" | \"children\">;\n}\n\n/**\n * **Client Component**\n *\n * This component is a wrapper around the {@link MenuItem} to implement custom\n * select option behavior.\n *\n * @remarks\n * \\@since 6.0.0 removed the `selected` and `focused` props.\n * \\@since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,\n * `selectedIconAfter`, and `iconSpacingProps` props.\n */\nexport const Option = forwardRef<HTMLLIElement, OptionProps>(\n function Option(props, ref) {\n const {\n id: propId,\n role = \"option\",\n value,\n children: propChildren,\n onClick = noop,\n className,\n selectedIcon: propSelectedIcon,\n unselectedIcon: propUnselectedIcon,\n selectedIconAfter = false,\n textIconSpacingProps,\n leftAddon: propLeftAddon,\n leftAddonType,\n leftAddonClassName,\n rightAddon: propRightAddon,\n rightAddonType,\n rightAddonClassName,\n secondaryText,\n height: propHeight,\n disableTextChildren: propDisableTextChildren,\n ...remaining\n } = props;\n\n const id = useEnsuredId(propId, \"option\");\n const { inputRef, currentValue, disableSelectedIcon } = useListboxContext();\n const selected = value === currentValue;\n const selectedIcon = getIcon(\n \"selected\",\n disableSelectedIcon ? null : propSelectedIcon\n );\n const unselectedIcon = disableSelectedIcon\n ? null\n : propUnselectedIcon ?? DEFAULT_OPTION_UNSELECTED_ICON;\n const icon = selected ? selectedIcon : unselectedIcon;\n\n let leftAddon = propLeftAddon;\n let rightAddon = propRightAddon;\n let children = propChildren;\n let disableTextChildren = propDisableTextChildren;\n if (!selectedIconAfter && icon) {\n leftAddon = icon;\n if (propLeftAddon) {\n disableTextChildren = true;\n const Wrapper = propDisableTextChildren ? Fragment : ListItemText;\n\n children = (\n <TextIconSpacing {...textIconSpacingProps} icon={propLeftAddon}>\n <Wrapper>{children}</Wrapper>\n </TextIconSpacing>\n );\n }\n } else if (icon) {\n rightAddon = icon;\n if (propRightAddon) {\n disableTextChildren = true;\n const Wrapper = propDisableTextChildren ? Fragment : ListItemText;\n\n children = (\n <TextIconSpacing {...textIconSpacingProps} icon={propRightAddon}>\n <Wrapper>{children}</Wrapper>\n </TextIconSpacing>\n );\n }\n }\n\n const height = getListItemHeight({\n height: propHeight,\n leftAddon: leftAddon === icon ? null : leftAddon,\n leftAddonType,\n rightAddon: rightAddon === icon ? null : rightAddon,\n rightAddonType,\n secondaryText,\n });\n\n return (\n <MenuItem\n {...remaining}\n aria-selected={selected || undefined}\n id={id}\n ref={ref}\n role={role}\n onClick={(event) => {\n onClick(event);\n triggerManualChangeEvent(inputRef.current, value);\n }}\n className={option({ icon: !!icon, selected, className })}\n secondaryText={secondaryText}\n height={height}\n leftAddon={leftAddon}\n leftAddonType={leftAddonType}\n leftAddonClassName={cnb(\n leftAddon === icon && \"rmd-option__icon\",\n leftAddonClassName\n )}\n rightAddon={rightAddon}\n rightAddonType={rightAddonType}\n rightAddonClassName={cnb(\n rightAddon === icon && \"rmd-option__icon\",\n rightAddonClassName\n )}\n disableTextChildren={disableTextChildren}\n >\n {children}\n </MenuItem>\n );\n }\n);\n"],"names":["cnb","forwardRef","Fragment","getIcon","icon","TextIconSpacing","getListItemHeight","ListItemText","MenuItem","useEnsuredId","option","useListboxContext","triggerManualChangeEvent","noop","DEFAULT_OPTION_UNSELECTED_ICON","span","className","type","Option","props","ref","id","propId","role","value","children","propChildren","onClick","selectedIcon","propSelectedIcon","unselectedIcon","propUnselectedIcon","selectedIconAfter","textIconSpacingProps","leftAddon","propLeftAddon","leftAddonType","leftAddonClassName","rightAddon","propRightAddon","rightAddonType","rightAddonClassName","secondaryText","height","propHeight","disableTextChildren","propDisableTextChildren","remaining","inputRef","currentValue","disableSelectedIcon","selected","Wrapper","aria-selected","undefined","event","current"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,EAAEC,QAAQ,QAAwB,QAAQ;AAC7D,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,IAAI,QAAQ,oBAAoB;AACzC,SACEC,eAAe,QAEV,6BAA6B;AACpC,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,SAASC,YAAY,QAAQ,0BAA0B;AACvD,SAASC,QAAQ,QAA4B,sBAAsB;AACnE,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,wBAAwB,QAAQ,aAAa;AAEtD,MAAMC,OAAO;AACX,aAAa;AACf;AAEA;;;;;CAKC,GACD,OAAO,MAAMC,+CACX,KAACC;IAAKC,WAAWZ,KAAK;QAAEa,MAAM;IAAM;GACpC;AA2DF;;;;;;;;;;CAUC,GACD,OAAO,MAAMC,uBAASjB,WACpB,SAASiB,OAAOC,KAAK,EAAEC,GAAG;IACxB,MAAM,EACJC,IAAIC,MAAM,EACVC,OAAO,QAAQ,EACfC,KAAK,EACLC,UAAUC,YAAY,EACtBC,UAAUd,IAAI,EACdG,SAAS,EACTY,cAAcC,gBAAgB,EAC9BC,gBAAgBC,kBAAkB,EAClCC,oBAAoB,KAAK,EACzBC,oBAAoB,EACpBC,WAAWC,aAAa,EACxBC,aAAa,EACbC,kBAAkB,EAClBC,YAAYC,cAAc,EAC1BC,cAAc,EACdC,mBAAmB,EACnBC,aAAa,EACbC,QAAQC,UAAU,EAClBC,qBAAqBC,uBAAuB,EAC5C,GAAGC,WACJ,GAAG5B;IAEJ,MAAME,KAAKZ,aAAaa,QAAQ;IAChC,MAAM,EAAE0B,QAAQ,EAAEC,YAAY,EAAEC,mBAAmB,EAAE,GAAGvC;IACxD,MAAMwC,WAAW3B,UAAUyB;IAC3B,MAAMrB,eAAezB,QACnB,YACA+C,sBAAsB,OAAOrB;IAE/B,MAAMC,iBAAiBoB,sBACnB,OACAnB,sBAAsBjB;IAC1B,MAAMV,OAAO+C,WAAWvB,eAAeE;IAEvC,IAAII,YAAYC;IAChB,IAAIG,aAAaC;IACjB,IAAId,WAAWC;IACf,IAAImB,sBAAsBC;IAC1B,IAAI,CAACd,qBAAqB5B,MAAM;QAC9B8B,YAAY9B;QACZ,IAAI+B,eAAe;YACjBU,sBAAsB;YACtB,MAAMO,UAAUN,0BAA0B5C,WAAWK;YAErDkB,yBACE,KAACpB;gBAAiB,GAAG4B,oBAAoB;gBAAE7B,MAAM+B;0BAC/C,cAAA,KAACiB;8BAAS3B;;;QAGhB;IACF,OAAO,IAAIrB,MAAM;QACfkC,aAAalC;QACb,IAAImC,gBAAgB;YAClBM,sBAAsB;YACtB,MAAMO,UAAUN,0BAA0B5C,WAAWK;YAErDkB,yBACE,KAACpB;gBAAiB,GAAG4B,oBAAoB;gBAAE7B,MAAMmC;0BAC/C,cAAA,KAACa;8BAAS3B;;;QAGhB;IACF;IAEA,MAAMkB,SAASrC,kBAAkB;QAC/BqC,QAAQC;QACRV,WAAWA,cAAc9B,OAAO,OAAO8B;QACvCE;QACAE,YAAYA,eAAelC,OAAO,OAAOkC;QACzCE;QACAE;IACF;IAEA,qBACE,KAAClC;QACE,GAAGuC,SAAS;QACbM,iBAAeF,YAAYG;QAC3BjC,IAAIA;QACJD,KAAKA;QACLG,MAAMA;QACNI,SAAS,CAAC4B;YACR5B,QAAQ4B;YACR3C,yBAAyBoC,SAASQ,OAAO,EAAEhC;QAC7C;QACAR,WAAWN,OAAO;YAAEN,MAAM,CAAC,CAACA;YAAM+C;YAAUnC;QAAU;QACtD0B,eAAeA;QACfC,QAAQA;QACRT,WAAWA;QACXE,eAAeA;QACfC,oBAAoBrC,IAClBkC,cAAc9B,QAAQ,oBACtBiC;QAEFC,YAAYA;QACZE,gBAAgBA;QAChBC,qBAAqBzC,IACnBsC,eAAelC,QAAQ,oBACvBqC;QAEFI,qBAAqBA;kBAEpBpB;;AAGP,GACA"}
1
+ {"version":3,"sources":["../../src/form/Option.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport { forwardRef, Fragment, type ReactNode } from \"react\";\nimport { getIcon } from \"../icon/iconConfig.js\";\nimport { icon } from \"../icon/styles.js\";\nimport {\n TextIconSpacing,\n type TextIconSpacingProps,\n} from \"../icon/TextIconSpacing.js\";\nimport { getListItemHeight } from \"../list/getListItemHeight.js\";\nimport { ListItemText } from \"../list/ListItemText.js\";\nimport { MenuItem, type MenuItemProps } from \"../menu/MenuItem.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { option } from \"./optionStyles.js\";\nimport { useListboxContext } from \"./useListboxProvider.js\";\nimport { triggerManualChangeEvent } from \"./utils.js\";\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * This icon is used while the option is unselected so that the selected and\n * unselected options have the same alignment.\n *\n * @remarks \\@since 6.0.0\n */\nexport const DEFAULT_OPTION_UNSELECTED_ICON = (\n <span className={icon({ type: \"svg\" })} />\n);\n\n/**\n * @remarks\n * \\@since 6.0.0 removed the `selected` and `focused` props.\n * \\@since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,\n * `selectedIconAfter`, and `iconSpacingProps` props.\n */\nexport interface OptionProps extends MenuItemProps {\n /**\n * @defaultValue `\"option\"`\n */\n role?: string;\n\n value: string | number;\n\n /**\n * @defaultValue `getIcon(\"selected\")`\n */\n selectedIcon?: ReactNode;\n\n /**\n * @see {@link DEFAULT_OPTION_UNSELECTED_ICON}\n * @defaultValue `<span className=\"rmd-icon rmd-icon--svg\" />`\n */\n unselectedIcon?: ReactNode;\n\n /**\n * Set this to `true` of the {@link selectedIcon}/{@link unselectedIcon}\n * should appear as the {@link rightAddon} instead of the {@link leftAddon}.\n *\n * @defaultValue `false`\n */\n selectedIconAfter?: boolean;\n\n /**\n * Since the `selectedIcon`/`unselectedIcon` are rendered as\n * `leftAddon`/`rightAddon`, the provided `leftAddon`/`rightAddon` will be\n * wrapped in the {@link TextIconSpacing} component to maintain the correct\n * spacing. You can use this prop to provide any additional configuration to\n * the spacing.\n *\n * @example\n * ```tsx\n * <Option\n * leftAddon={<Avatar>A</Avatar>}\n * leftAddonType=\"avatar\"\n * value={0}\n * textIconSpacingProps={{\n * beforeClassName: \"my-custom-class-name\",\n * }}\n * >\n * Some Content\n * </Option>\n * ```\n */\n textIconSpacingProps?: Omit<TextIconSpacingProps, \"icon\" | \"children\">;\n}\n\n/**\n * **Client Component**\n *\n * This component is a wrapper around the {@link MenuItem} to implement custom\n * select option behavior.\n *\n * @remarks\n * \\@since 6.0.0 removed the `selected` and `focused` props.\n * \\@since 6.0.0 Added the `value`, `selectedIcon`, `unselectedIcon`,\n * `selectedIconAfter`, and `iconSpacingProps` props.\n */\nexport const Option = forwardRef<HTMLLIElement, OptionProps>(\n function Option(props, ref) {\n const {\n id: propId,\n role = \"option\",\n value,\n children: propChildren,\n onClick = noop,\n className,\n selectedIcon: propSelectedIcon,\n unselectedIcon: propUnselectedIcon,\n selectedIconAfter: propSelectedIconAfter,\n textIconSpacingProps,\n leftAddon: propLeftAddon,\n leftAddonType,\n leftAddonClassName,\n rightAddon: propRightAddon,\n rightAddonType,\n rightAddonClassName,\n secondaryText,\n height: propHeight,\n disableTextChildren: propDisableTextChildren,\n ...remaining\n } = props;\n\n const id = useEnsuredId(propId, \"option\");\n const {\n inputRef,\n currentValue,\n disableSelectedIcon,\n selectedIconAfter: contextSelectedIconAfter,\n } = useListboxContext();\n const selectedIconAfter = propSelectedIconAfter ?? contextSelectedIconAfter;\n const selected = value === currentValue;\n const selectedIcon = getIcon(\n \"selected\",\n disableSelectedIcon ? null : propSelectedIcon\n );\n const unselectedIcon = disableSelectedIcon\n ? null\n : propUnselectedIcon ?? DEFAULT_OPTION_UNSELECTED_ICON;\n const icon = selected ? selectedIcon : unselectedIcon;\n\n let leftAddon = propLeftAddon;\n let rightAddon = propRightAddon;\n let children = propChildren;\n let disableTextChildren = propDisableTextChildren;\n if (!selectedIconAfter && icon) {\n leftAddon = icon;\n if (propLeftAddon) {\n disableTextChildren = true;\n const Wrapper = propDisableTextChildren ? Fragment : ListItemText;\n\n children = (\n <TextIconSpacing {...textIconSpacingProps} icon={propLeftAddon}>\n <Wrapper>{children}</Wrapper>\n </TextIconSpacing>\n );\n }\n } else if (icon) {\n rightAddon = icon;\n if (propRightAddon) {\n disableTextChildren = true;\n const Wrapper = propDisableTextChildren ? Fragment : ListItemText;\n\n children = (\n <TextIconSpacing {...textIconSpacingProps} icon={propRightAddon}>\n <Wrapper>{children}</Wrapper>\n </TextIconSpacing>\n );\n }\n }\n\n const height = getListItemHeight({\n height: propHeight,\n leftAddon: leftAddon === icon ? null : leftAddon,\n leftAddonType,\n rightAddon: rightAddon === icon ? null : rightAddon,\n rightAddonType,\n secondaryText,\n });\n\n return (\n <MenuItem\n {...remaining}\n aria-selected={selected || undefined}\n id={id}\n ref={ref}\n role={role}\n onClick={(event) => {\n onClick(event);\n triggerManualChangeEvent(inputRef.current, value);\n }}\n className={option({ icon: !!icon, selected, className })}\n secondaryText={secondaryText}\n height={height}\n leftAddon={leftAddon}\n leftAddonType={leftAddonType}\n leftAddonClassName={cnb(\n leftAddon === icon && \"rmd-option__icon\",\n leftAddonClassName\n )}\n rightAddon={rightAddon}\n rightAddonType={rightAddonType}\n rightAddonClassName={cnb(\n rightAddon === icon && \"rmd-option__icon\",\n rightAddonClassName\n )}\n disableTextChildren={disableTextChildren}\n >\n {children}\n </MenuItem>\n );\n }\n);\n"],"names":["cnb","forwardRef","Fragment","getIcon","icon","TextIconSpacing","getListItemHeight","ListItemText","MenuItem","useEnsuredId","option","useListboxContext","triggerManualChangeEvent","noop","DEFAULT_OPTION_UNSELECTED_ICON","span","className","type","Option","props","ref","id","propId","role","value","children","propChildren","onClick","selectedIcon","propSelectedIcon","unselectedIcon","propUnselectedIcon","selectedIconAfter","propSelectedIconAfter","textIconSpacingProps","leftAddon","propLeftAddon","leftAddonType","leftAddonClassName","rightAddon","propRightAddon","rightAddonType","rightAddonClassName","secondaryText","height","propHeight","disableTextChildren","propDisableTextChildren","remaining","inputRef","currentValue","disableSelectedIcon","contextSelectedIconAfter","selected","Wrapper","aria-selected","undefined","event","current"],"mappings":"AAAA;;AACA,SAASA,GAAG,QAAQ,YAAY;AAChC,SAASC,UAAU,EAAEC,QAAQ,QAAwB,QAAQ;AAC7D,SAASC,OAAO,QAAQ,wBAAwB;AAChD,SAASC,IAAI,QAAQ,oBAAoB;AACzC,SACEC,eAAe,QAEV,6BAA6B;AACpC,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,SAASC,YAAY,QAAQ,0BAA0B;AACvD,SAASC,QAAQ,QAA4B,sBAAsB;AACnE,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,wBAAwB,QAAQ,aAAa;AAEtD,MAAMC,OAAO;AACX,aAAa;AACf;AAEA;;;;;CAKC,GACD,OAAO,MAAMC,+CACX,KAACC;IAAKC,WAAWZ,KAAK;QAAEa,MAAM;IAAM;GACpC;AA2DF;;;;;;;;;;CAUC,GACD,OAAO,MAAMC,uBAASjB,WACpB,SAASiB,OAAOC,KAAK,EAAEC,GAAG;IACxB,MAAM,EACJC,IAAIC,MAAM,EACVC,OAAO,QAAQ,EACfC,KAAK,EACLC,UAAUC,YAAY,EACtBC,UAAUd,IAAI,EACdG,SAAS,EACTY,cAAcC,gBAAgB,EAC9BC,gBAAgBC,kBAAkB,EAClCC,mBAAmBC,qBAAqB,EACxCC,oBAAoB,EACpBC,WAAWC,aAAa,EACxBC,aAAa,EACbC,kBAAkB,EAClBC,YAAYC,cAAc,EAC1BC,cAAc,EACdC,mBAAmB,EACnBC,aAAa,EACbC,QAAQC,UAAU,EAClBC,qBAAqBC,uBAAuB,EAC5C,GAAGC,WACJ,GAAG7B;IAEJ,MAAME,KAAKZ,aAAaa,QAAQ;IAChC,MAAM,EACJ2B,QAAQ,EACRC,YAAY,EACZC,mBAAmB,EACnBnB,mBAAmBoB,wBAAwB,EAC5C,GAAGzC;IACJ,MAAMqB,oBAAoBC,yBAAyBmB;IACnD,MAAMC,WAAW7B,UAAU0B;IAC3B,MAAMtB,eAAezB,QACnB,YACAgD,sBAAsB,OAAOtB;IAE/B,MAAMC,iBAAiBqB,sBACnB,OACApB,sBAAsBjB;IAC1B,MAAMV,OAAOiD,WAAWzB,eAAeE;IAEvC,IAAIK,YAAYC;IAChB,IAAIG,aAAaC;IACjB,IAAIf,WAAWC;IACf,IAAIoB,sBAAsBC;IAC1B,IAAI,CAACf,qBAAqB5B,MAAM;QAC9B+B,YAAY/B;QACZ,IAAIgC,eAAe;YACjBU,sBAAsB;YACtB,MAAMQ,UAAUP,0BAA0B7C,WAAWK;YAErDkB,yBACE,KAACpB;gBAAiB,GAAG6B,oBAAoB;gBAAE9B,MAAMgC;0BAC/C,cAAA,KAACkB;8BAAS7B;;;QAGhB;IACF,OAAO,IAAIrB,MAAM;QACfmC,aAAanC;QACb,IAAIoC,gBAAgB;YAClBM,sBAAsB;YACtB,MAAMQ,UAAUP,0BAA0B7C,WAAWK;YAErDkB,yBACE,KAACpB;gBAAiB,GAAG6B,oBAAoB;gBAAE9B,MAAMoC;0BAC/C,cAAA,KAACc;8BAAS7B;;;QAGhB;IACF;IAEA,MAAMmB,SAAStC,kBAAkB;QAC/BsC,QAAQC;QACRV,WAAWA,cAAc/B,OAAO,OAAO+B;QACvCE;QACAE,YAAYA,eAAenC,OAAO,OAAOmC;QACzCE;QACAE;IACF;IAEA,qBACE,KAACnC;QACE,GAAGwC,SAAS;QACbO,iBAAeF,YAAYG;QAC3BnC,IAAIA;QACJD,KAAKA;QACLG,MAAMA;QACNI,SAAS,CAAC8B;YACR9B,QAAQ8B;YACR7C,yBAAyBqC,SAASS,OAAO,EAAElC;QAC7C;QACAR,WAAWN,OAAO;YAAEN,MAAM,CAAC,CAACA;YAAMiD;YAAUrC;QAAU;QACtD2B,eAAeA;QACfC,QAAQA;QACRT,WAAWA;QACXE,eAAeA;QACfC,oBAAoBtC,IAClBmC,cAAc/B,QAAQ,oBACtBkC;QAEFC,YAAYA;QACZE,gBAAgBA;QAChBC,qBAAqB1C,IACnBuC,eAAenC,QAAQ,oBACvBsC;QAEFI,qBAAqBA;kBAEpBrB;;AAGP,GACA"}
@@ -0,0 +1,19 @@
1
+ import { type CSSProperties, type HTMLAttributes, type Ref, type TextareaHTMLAttributes } from "react";
2
+ /**
3
+ * @remarks \@since 6.0.0
4
+ * @internal
5
+ */
6
+ export interface ResizingTextAreaWrapperProps extends HTMLAttributes<HTMLDivElement> {
7
+ maskId: string;
8
+ maskRef: Ref<HTMLTextAreaElement>;
9
+ defaultValue?: TextareaHTMLAttributes<HTMLTextAreaElement>["defaultValue"];
10
+ rows: number;
11
+ areaStyle?: CSSProperties;
12
+ areaClassName?: string;
13
+ disableTransition?: boolean;
14
+ }
15
+ /**
16
+ * @remarks \@since 6.0.0
17
+ * @internal
18
+ */
19
+ export declare const ResizingTextAreaWrapper: import("react").ForwardRefExoticComponent<ResizingTextAreaWrapperProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cnb } from "cnbuilder";
3
+ import { forwardRef } from "react";
4
+ import { textArea } from "./textAreaStyles.js";
5
+ /**
6
+ * @remarks \@since 6.0.0
7
+ * @internal
8
+ */ export const ResizingTextAreaWrapper = /*#__PURE__*/ forwardRef(function ResizingTextAreaWrapper(props, ref) {
9
+ const { className, rows, maskId, maskRef, areaStyle, areaClassName, defaultValue, disableTransition, children, ...remaining } = props;
10
+ return /*#__PURE__*/ _jsxs("div", {
11
+ ...remaining,
12
+ ref: ref,
13
+ className: cnb("rmd-textarea-container__inner", !disableTransition && "rmd-textarea-container__inner--animate", className),
14
+ children: [
15
+ children,
16
+ /*#__PURE__*/ _jsx("textarea", {
17
+ "aria-hidden": true,
18
+ id: maskId,
19
+ ref: maskRef,
20
+ defaultValue: defaultValue,
21
+ readOnly: true,
22
+ tabIndex: -1,
23
+ rows: rows,
24
+ style: areaStyle,
25
+ className: textArea({
26
+ mask: true,
27
+ resize: "auto",
28
+ className: areaClassName
29
+ })
30
+ })
31
+ ]
32
+ });
33
+ });
34
+
35
+ //# sourceMappingURL=ResizingTextAreaWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/form/ResizingTextAreaWrapper.tsx"],"sourcesContent":["import { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n type CSSProperties,\n type HTMLAttributes,\n type Ref,\n type TextareaHTMLAttributes,\n} from \"react\";\nimport { textArea } from \"./textAreaStyles.js\";\n\n/**\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport interface ResizingTextAreaWrapperProps\n extends HTMLAttributes<HTMLDivElement> {\n maskId: string;\n maskRef: Ref<HTMLTextAreaElement>;\n defaultValue?: TextareaHTMLAttributes<HTMLTextAreaElement>[\"defaultValue\"];\n rows: number;\n areaStyle?: CSSProperties;\n areaClassName?: string;\n disableTransition?: boolean;\n}\n\n/**\n * @remarks \\@since 6.0.0\n * @internal\n */\nexport const ResizingTextAreaWrapper = forwardRef<\n HTMLDivElement,\n ResizingTextAreaWrapperProps\n>(function ResizingTextAreaWrapper(props, ref) {\n const {\n className,\n rows,\n maskId,\n maskRef,\n areaStyle,\n areaClassName,\n defaultValue,\n disableTransition,\n children,\n ...remaining\n } = props;\n\n return (\n <div\n {...remaining}\n ref={ref}\n className={cnb(\n \"rmd-textarea-container__inner\",\n !disableTransition && \"rmd-textarea-container__inner--animate\",\n className\n )}\n >\n {children}\n <textarea\n aria-hidden\n id={maskId}\n ref={maskRef}\n defaultValue={defaultValue}\n readOnly\n tabIndex={-1}\n rows={rows}\n style={areaStyle}\n className={textArea({\n mask: true,\n resize: \"auto\",\n className: areaClassName,\n })}\n />\n </div>\n );\n});\n"],"names":["cnb","forwardRef","textArea","ResizingTextAreaWrapper","props","ref","className","rows","maskId","maskRef","areaStyle","areaClassName","defaultValue","disableTransition","children","remaining","div","textarea","aria-hidden","id","readOnly","tabIndex","style","mask","resize"],"mappings":";AAAA,SAASA,GAAG,QAAQ,YAAY;AAChC,SACEC,UAAU,QAKL,QAAQ;AACf,SAASC,QAAQ,QAAQ,sBAAsB;AAiB/C;;;CAGC,GACD,OAAO,MAAMC,wCAA0BF,WAGrC,SAASE,wBAAwBC,KAAK,EAAEC,GAAG;IAC3C,MAAM,EACJC,SAAS,EACTC,IAAI,EACJC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,aAAa,EACbC,YAAY,EACZC,iBAAiB,EACjBC,QAAQ,EACR,GAAGC,WACJ,GAAGX;IAEJ,qBACE,MAACY;QACE,GAAGD,SAAS;QACbV,KAAKA;QACLC,WAAWN,IACT,iCACA,CAACa,qBAAqB,0CACtBP;;YAGDQ;0BACD,KAACG;gBACCC,aAAW;gBACXC,IAAIX;gBACJH,KAAKI;gBACLG,cAAcA;gBACdQ,QAAQ;gBACRC,UAAU,CAAC;gBACXd,MAAMA;gBACNe,OAAOZ;gBACPJ,WAAWJ,SAAS;oBAClBqB,MAAM;oBACNC,QAAQ;oBACRlB,WAAWK;gBACb;;;;AAIR,GAAG"}
@@ -1,7 +1,9 @@
1
- import { type ChangeEvent, type ReactElement, type ReactNode, type Ref } from "react";
1
+ import { type ChangeEvent, type HTMLAttributes, type InputHTMLAttributes, type ReactElement, type ReactNode, type Ref } from "react";
2
+ import { type BoxProps } from "../box/Box.js";
2
3
  import { type MenuProps } from "../menu/Menu.js";
3
- import { type TextFieldProps } from "./TextField.js";
4
- import { type FormFieldOptions, type UserAgentAutoCompleteProps } from "./types.js";
4
+ import { type LabelA11y, type PropsWithRef, type RequireAtLeastOne } from "../types.js";
5
+ import { type TextFieldContainerProps } from "./TextFieldContainer.js";
6
+ import { type UserAgentAutocompleteProps } from "./types.js";
5
7
  /**
6
8
  * This is a convenience type for casting the `event.currentTarget.value` of a
7
9
  * `Select`'s change event to be union of available values.
@@ -53,14 +55,16 @@ export type SelectChangeEvent<Value extends string> = ChangeEvent<HTMLInputEleme
53
55
  /**
54
56
  * @remarks \@since 6.0.0 Rewritten with a new API.
55
57
  */
56
- export interface SelectProps<Value extends string> extends Omit<TextFieldProps, "placeholder" | "type" | "onChange">, UserAgentAutoCompleteProps, FormFieldOptions {
58
+ export interface SelectProps<Value extends string> extends Omit<TextFieldContainerProps, "label">, Pick<InputHTMLAttributes<HTMLInputElement>, "form" | "required">, UserAgentAutocompleteProps {
57
59
  /**
58
- * An optional ref to pass to the hidden `<input type="text" />` element that
59
- * stores the current value. This is really only useful if you'd like to keep
60
- * this component uncontrolled and access the value through
61
- * `inputRef.current.value`.
60
+ * @defaultValue `"select-" + useId()`
62
61
  */
63
- inputRef?: Ref<HTMLInputElement>;
62
+ id?: string;
63
+ /**
64
+ * Optional placeholder text or element to render while no options have been
65
+ * selected.
66
+ */
67
+ placeholder?: ReactNode;
64
68
  /**
65
69
  * Set this to a custom dropdown icon or `null` to not render a dropdown icon.
66
70
  *
@@ -81,6 +85,26 @@ export interface SelectProps<Value extends string> extends Omit<TextFieldProps,
81
85
  defaultValue?: Value;
82
86
  /** @see {@link SelectChangeEvent} */
83
87
  onChange?(event: SelectChangeEvent<Value>): void;
88
+ /**
89
+ * An optional floating label to display like other form fields.
90
+ */
91
+ label?: ReactNode;
92
+ /**
93
+ * Optional props to pass to the `<span>` that surrounds the {@link label}
94
+ */
95
+ labelProps?: PropsWithRef<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>;
96
+ /**
97
+ * An optional ref to pass to the hidden `<input type="text" />` element that
98
+ * stores the current value. This is really only useful if you'd like to keep
99
+ * this component uncontrolled and access the value through
100
+ * `inputRef.current.value`.
101
+ */
102
+ inputRef?: Ref<HTMLInputElement>;
103
+ inputProps?: InputHTMLAttributes<HTMLInputElement>;
104
+ /**
105
+ * A ref for the container `<div>` element.
106
+ */
107
+ containerRef?: Ref<HTMLDivElement>;
84
108
  /**
85
109
  * Any additional props to provide to the `Menu` component that renders all
86
110
  * the `Option`s.
@@ -88,25 +112,40 @@ export interface SelectProps<Value extends string> extends Omit<TextFieldProps,
88
112
  * The menu will always have these default values unless explicity
89
113
  * overwritten by this prop:
90
114
  *
91
- * - `aria-labelledby={containerId}`
115
+ * - `aria-labelledby={label ? labelId : id}` -- this will be undefined if
116
+ * `aria-label` is provided
92
117
  * - `anchor={BELOW_CENTER_ANCHOR}`
93
118
  * - `width="min"`
94
119
  */
95
120
  menuProps?: Omit<MenuProps, "visible" | "onRequestClose" | "fixedTo">;
96
121
  /**
97
- * Set this to `true` to update all the `Option` components to no longer
98
- * render an icon while selected.
122
+ * Any additional props to pass to the div that contains the current visible
123
+ * option.
124
+ */
125
+ selectedOptionProps?: BoxProps;
126
+ /**
127
+ * Set this to `true` if all the `Option` components should display the
128
+ * selected icon after the children instead of before.
129
+ *
130
+ * @see {@link disableSelectedIcon} to remove the selected icon instead.
99
131
  *
100
132
  * @defaultValue `false`
101
133
  */
102
- disableSelectedIcon?: boolean;
134
+ selectedIconAfter?: boolean;
103
135
  /**
104
136
  * Set this to `true` to prevent the current option from rendering the
105
137
  * `leftAddon` in the `TextFieldContainer`.
106
138
  *
107
139
  * @defaultValue `false`
108
140
  */
109
- disableValueAddon?: boolean;
141
+ disableOptionAddon?: boolean;
142
+ /**
143
+ * Set this to `true` to update all the `Option` components to no longer
144
+ * render an icon while selected.
145
+ *
146
+ * @defaultValue `false`
147
+ */
148
+ disableSelectedIcon?: boolean;
110
149
  /**
111
150
  * This should be the available `Option`s for the select to choose from. It
112
151
  * can also contain `OptGroup` or any other elements but only clicking on an
@@ -117,6 +156,57 @@ export interface SelectProps<Value extends string> extends Omit<TextFieldProps,
117
156
  /**
118
157
  * **Client Component**
119
158
  *
159
+ * @example
160
+ * Simple Example
161
+ * ```tsx
162
+ * import { Select, Option } from "react-md";
163
+ * import { useState, type ReactElement } from "react";
164
+ *
165
+ * function Example(): ReactElement {
166
+ * const [value, setValue] = useState("");
167
+ *
168
+ * return (
169
+ * <Select
170
+ * label="Select"
171
+ * value={value}
172
+ * onChange={(event) => setValue(event.currentTarget.value)}
173
+ * placeholder="Select a value"
174
+ * >
175
+ * <Option value="a">Option 1</Option>
176
+ * <Option value="b">Option 2</Option>
177
+ * <Option value="c">Option 3</Option>
178
+ * <Option value="d">Option 4</Option>
179
+ * </Select>
180
+ * );
181
+ * }
182
+ * ```
183
+ *
184
+ * @example
185
+ * Testing
186
+ * ```tsx
187
+ * rmdRender(
188
+ * <Select label="Select" selectedOptionProps={{ "data-testid": "selected" }}>
189
+ * <Option value="a">Option 1</Option>
190
+ * <Option value="b">Option 2</Option>
191
+ * <Option value="c">Option 3</Option>
192
+ * <Option value="d">Option 4</Option>
193
+ * </Select>
194
+ * );
195
+ *
196
+ * const user = userEvent.setup();
197
+ * const select = screen.getByRole("combobox", { name: "Select" });
198
+ * const selected = screen.getByTestId("selected")
199
+ * const selectInput = screen.getByRole("textbox", { hidden: true });
200
+ * expect(selected).toHaveTextContent("");
201
+ * expect(selectInput).toHaveValue("");
202
+ *
203
+ * await user.click(select);
204
+ * await user.click(screen.getByRole("option"), { name: "Option 2" });
205
+ *
206
+ * expect(selected).toHaveTextContent("Option 2");
207
+ * expect(selectInput).toHaveValue("b");
208
+ * ```
209
+ *
120
210
  * @remarks \@since 6.0.0 Rewritten with a new API.
121
211
  */
122
- export declare function Select<Value extends string>(props: SelectProps<Value>): ReactElement;
212
+ export declare function Select<Value extends string>(props: RequireAtLeastOne<SelectProps<Value>, "label" | keyof LabelA11y>): ReactElement;