@react-md/core 1.0.0-next.8 → 1.0.0-next.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/.stylelintrc.json +14 -0
  2. package/.turbo/turbo-build.log +5 -5
  3. package/.turbo/turbo-lint.log +13 -0
  4. package/CHANGELOG.md +9 -0
  5. package/README.md +39 -24
  6. package/coverage/clover.xml +1013 -404
  7. package/coverage/coverage-final.json +9 -2
  8. package/coverage/lcov-report/AutoComplete.tsx.html +283 -0
  9. package/coverage/lcov-report/RootHtml.tsx.html +370 -0
  10. package/coverage/lcov-report/Select.tsx.html +1411 -0
  11. package/coverage/lcov-report/autocomplete/AutoComplete.tsx.html +283 -0
  12. package/coverage/lcov-report/autocomplete/Autocomplete.tsx.html +283 -0
  13. package/coverage/lcov-report/autocomplete/index.html +161 -0
  14. package/coverage/lcov-report/autocomplete/useAutoComplete.ts.html +775 -0
  15. package/coverage/lcov-report/autocomplete/useAutocomplete.ts.html +775 -0
  16. package/coverage/lcov-report/autocomplete/useInlineAutoComplete.ts.html +340 -0
  17. package/coverage/lcov-report/autocomplete/useInlineAutocomplete.ts.html +346 -0
  18. package/coverage/lcov-report/autocomplete/utils.ts.html +106 -0
  19. package/coverage/lcov-report/avatar/Avatar.tsx.html +162 -99
  20. package/coverage/lcov-report/avatar/index.html +19 -34
  21. package/coverage/lcov-report/avatar/styles.ts.html +1 -1
  22. package/coverage/lcov-report/button/Button.tsx.html +85 -85
  23. package/coverage/lcov-report/button/index.html +12 -12
  24. package/coverage/lcov-report/dialog/DialogFooter.tsx.html +36 -36
  25. package/coverage/lcov-report/dialog/DialogHeader.tsx.html +26 -26
  26. package/coverage/lcov-report/dialog/index.html +34 -19
  27. package/coverage/lcov-report/form/AutoComplete.tsx.html +283 -0
  28. package/coverage/lcov-report/form/Form.tsx.html +22 -22
  29. package/coverage/lcov-report/form/OptGroup.tsx.html +169 -166
  30. package/coverage/lcov-report/form/Option.tsx.html +727 -0
  31. package/coverage/lcov-report/form/Select.tsx.html +962 -1112
  32. package/coverage/lcov-report/form/SelectOriginal.tsx.html +1630 -0
  33. package/coverage/lcov-report/form/SelectV2.tsx.html +1024 -0
  34. package/coverage/lcov-report/form/SelectedOption.tsx.html +250 -0
  35. package/coverage/lcov-report/form/index.html +57 -12
  36. package/coverage/lcov-report/form/selectUtils.ts.html +188 -221
  37. package/coverage/lcov-report/form/useAutoComplete.ts.html +787 -0
  38. package/coverage/lcov-report/form/useCombobox.ts.html +454 -460
  39. package/coverage/lcov-report/form/useComboboxList.ts.html +108 -93
  40. package/coverage/lcov-report/form/useFormReset.ts.html +229 -0
  41. package/coverage/lcov-report/form/useInlineAutoComplete.ts.html +379 -0
  42. package/coverage/lcov-report/form/useSelectCombobox.ts.html +499 -0
  43. package/coverage/lcov-report/form/utils.ts.html +209 -170
  44. package/coverage/lcov-report/icon/FontIcon.tsx.html +28 -28
  45. package/coverage/lcov-report/icon/MaterialIcon.tsx.html +235 -0
  46. package/coverage/lcov-report/icon/index.html +1 -1
  47. package/coverage/lcov-report/index.html +36 -21
  48. package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
  49. package/coverage/lcov-report/media-queries/index.html +1 -1
  50. package/coverage/lcov-report/menu/DropdownMenu.tsx.html +188 -188
  51. package/coverage/lcov-report/menu/Menu.tsx.html +271 -265
  52. package/coverage/lcov-report/menu/MenuItem.tsx.html +292 -0
  53. package/coverage/lcov-report/menu/MenuVisibilityProvider.tsx.html +48 -33
  54. package/coverage/lcov-report/menu/index.html +45 -15
  55. package/coverage/lcov-report/menu/useContextMenu.ts.html +490 -0
  56. package/coverage/lcov-report/movement/index.html +19 -19
  57. package/coverage/lcov-report/movement/useKeyboardMovementProvider.ts.html +422 -383
  58. package/coverage/lcov-report/positioning/constants.ts.html +463 -0
  59. package/coverage/lcov-report/positioning/index.html +30 -30
  60. package/coverage/lcov-report/positioning/useFixedPositioning.ts.html +1321 -0
  61. package/coverage/lcov-report/progress/CircularProgress.tsx.html +184 -184
  62. package/coverage/lcov-report/progress/index.html +19 -34
  63. package/coverage/lcov-report/searching/caseInsensitive.ts.html +685 -0
  64. package/coverage/lcov-report/searching/fuzzy.ts.html +610 -0
  65. package/coverage/lcov-report/searching/index.html +161 -0
  66. package/coverage/lcov-report/searching/toSearchQuery.ts.html +139 -0
  67. package/coverage/lcov-report/searching/utils.ts.html +247 -0
  68. package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
  69. package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
  70. package/coverage/lcov-report/src/RootHtml.tsx.html +370 -0
  71. package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
  72. package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +1 -1
  73. package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
  74. package/coverage/lcov-report/src/app-bar/index.html +1 -1
  75. package/coverage/lcov-report/src/avatar/Avatar.tsx.html +1 -1
  76. package/coverage/lcov-report/src/avatar/index.html +1 -1
  77. package/coverage/lcov-report/src/avatar/styles.ts.html +1 -1
  78. package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
  79. package/coverage/lcov-report/src/badge/index.html +1 -1
  80. package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
  81. package/coverage/lcov-report/src/box/index.html +1 -1
  82. package/coverage/lcov-report/src/box/styles.ts.html +1 -1
  83. package/coverage/lcov-report/src/button/AsyncButton.tsx.html +1 -1
  84. package/coverage/lcov-report/src/button/Button.tsx.html +1 -1
  85. package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
  86. package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +1 -1
  87. package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +1 -1
  88. package/coverage/lcov-report/src/button/buttonStyles.ts.html +1 -1
  89. package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
  90. package/coverage/lcov-report/src/button/index.html +1 -1
  91. package/coverage/lcov-report/src/card/Card.tsx.html +1 -1
  92. package/coverage/lcov-report/src/card/CardContent.tsx.html +1 -1
  93. package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
  94. package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
  95. package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
  96. package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
  97. package/coverage/lcov-report/src/card/ClickableCard.tsx.html +1 -1
  98. package/coverage/lcov-report/src/card/index.html +1 -1
  99. package/coverage/lcov-report/src/card/styles.ts.html +1 -1
  100. package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
  101. package/coverage/lcov-report/src/chip/index.html +1 -1
  102. package/coverage/lcov-report/src/chip/styles.ts.html +1 -1
  103. package/coverage/lcov-report/src/cssUtils.ts.html +53 -53
  104. package/coverage/lcov-report/src/delegateEvent.ts.html +1 -1
  105. package/coverage/lcov-report/src/dialog/Dialog.tsx.html +1 -1
  106. package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +1 -1
  107. package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +1 -1
  108. package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +1 -1
  109. package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +1 -1
  110. package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +1 -1
  111. package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
  112. package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +1 -1
  113. package/coverage/lcov-report/src/dialog/index.html +1 -1
  114. package/coverage/lcov-report/src/dialog/styles.ts.html +1 -1
  115. package/coverage/lcov-report/src/divider/Divider.tsx.html +1 -1
  116. package/coverage/lcov-report/src/divider/index.html +1 -1
  117. package/coverage/lcov-report/src/divider/styles.ts.html +1 -1
  118. package/coverage/lcov-report/src/draggable/index.html +1 -1
  119. package/coverage/lcov-report/src/draggable/useDraggable.ts.html +1 -1
  120. package/coverage/lcov-report/src/draggable/utils.ts.html +1 -1
  121. package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
  122. package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
  123. package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +1 -1
  124. package/coverage/lcov-report/src/expansion-panel/index.html +1 -1
  125. package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
  126. package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +1 -1
  127. package/coverage/lcov-report/src/focus/index.html +1 -1
  128. package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +1 -1
  129. package/coverage/lcov-report/src/focus/utils.ts.html +1 -1
  130. package/coverage/lcov-report/src/form/AutoComplete.tsx.html +283 -0
  131. package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
  132. package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
  133. package/coverage/lcov-report/src/form/FileInput.tsx.html +1 -1
  134. package/coverage/lcov-report/src/form/Form.tsx.html +11 -8
  135. package/coverage/lcov-report/src/form/FormMessage.tsx.html +1 -1
  136. package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +1 -1
  137. package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
  138. package/coverage/lcov-report/src/form/InputToggle.tsx.html +1 -1
  139. package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +56 -56
  140. package/coverage/lcov-report/src/form/Label.tsx.html +1 -1
  141. package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
  142. package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +3 -3
  143. package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +1 -1
  144. package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +178 -232
  145. package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +3 -3
  146. package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
  147. package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +1 -1
  148. package/coverage/lcov-report/src/form/NativeSelect.tsx.html +1 -1
  149. package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
  150. package/coverage/lcov-report/src/form/Option.tsx.html +1 -1
  151. package/coverage/lcov-report/src/form/Password.tsx.html +1 -1
  152. package/coverage/lcov-report/src/form/Radio.tsx.html +1 -1
  153. package/coverage/lcov-report/src/form/Select.tsx.html +894 -1146
  154. package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
  155. package/coverage/lcov-report/src/form/Slider.tsx.html +1 -1
  156. package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
  157. package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
  158. package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
  159. package/coverage/lcov-report/src/form/SliderThumb.tsx.html +1 -1
  160. package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
  161. package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +1 -1
  162. package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +1 -1
  163. package/coverage/lcov-report/src/form/Switch.tsx.html +1 -1
  164. package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +1 -1
  165. package/coverage/lcov-report/src/form/TextArea.tsx.html +1 -1
  166. package/coverage/lcov-report/src/form/TextField.tsx.html +1 -1
  167. package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +1 -1
  168. package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +1 -1
  169. package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +1 -1
  170. package/coverage/lcov-report/src/form/fileUtils.ts.html +1 -1
  171. package/coverage/lcov-report/src/form/formConfig.ts.html +1 -1
  172. package/coverage/lcov-report/src/form/formMessageStyles.ts.html +1 -1
  173. package/coverage/lcov-report/src/form/index.html +30 -900
  174. package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
  175. package/coverage/lcov-report/src/form/menuItemInputToggleStyles.ts.html +319 -0
  176. package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +1 -1
  177. package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
  178. package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
  179. package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
  180. package/coverage/lcov-report/src/form/selectUtils.ts.html +1 -1
  181. package/coverage/lcov-report/src/form/sliderUtils.ts.html +1 -1
  182. package/coverage/lcov-report/src/form/switchStyles.ts.html +1 -1
  183. package/coverage/lcov-report/src/form/textAreaStyles.ts.html +1 -1
  184. package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
  185. package/coverage/lcov-report/src/form/useAutoComplete.ts.html +787 -0
  186. package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +1 -1
  187. package/coverage/lcov-report/src/form/useCombobox.ts.html +943 -457
  188. package/coverage/lcov-report/src/form/useEditableCombobox.ts.html +502 -0
  189. package/coverage/lcov-report/src/form/useFileUpload.ts.html +1 -1
  190. package/coverage/lcov-report/src/form/useInlineAutoComplete.ts.html +109 -0
  191. package/coverage/lcov-report/src/form/useListboxProvider.ts.html +1 -1
  192. package/coverage/lcov-report/src/form/useNumberField.ts.html +1 -1
  193. package/coverage/lcov-report/src/form/useRadioGroup.ts.html +1 -1
  194. package/coverage/lcov-report/src/form/useRangeSlider.ts.html +1 -1
  195. package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +1 -1
  196. package/coverage/lcov-report/src/form/useSelectCombobox.ts.html +295 -0
  197. package/coverage/lcov-report/src/form/useSlider.ts.html +1 -1
  198. package/coverage/lcov-report/src/form/useTextField.ts.html +1 -1
  199. package/coverage/lcov-report/src/form/utils.ts.html +200 -170
  200. package/coverage/lcov-report/src/form/validation.ts.html +1 -1
  201. package/coverage/lcov-report/src/hoverMode/index.html +1 -1
  202. package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +1 -1
  203. package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +1 -1
  204. package/coverage/lcov-report/src/icon/FontIcon.tsx.html +28 -28
  205. package/coverage/lcov-report/src/icon/IconRotator.tsx.html +1 -1
  206. package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +1 -1
  207. package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +1 -1
  208. package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
  209. package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +51 -51
  210. package/coverage/lcov-report/src/icon/iconConfig.tsx.html +10 -10
  211. package/coverage/lcov-report/src/icon/index.html +1 -1
  212. package/coverage/lcov-report/src/icon/material.ts.html +1 -1
  213. package/coverage/lcov-report/src/icon/materialConfig.ts.html +1 -1
  214. package/coverage/lcov-report/src/icon/styles.ts.html +38 -38
  215. package/coverage/lcov-report/src/index.html +9 -354
  216. package/coverage/lcov-report/src/interaction/Ripple.tsx.html +1 -1
  217. package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +1 -1
  218. package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +87 -87
  219. package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
  220. package/coverage/lcov-report/src/interaction/index.html +1 -1
  221. package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +83 -83
  222. package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +7 -7
  223. package/coverage/lcov-report/src/interaction/utils.ts.html +1 -1
  224. package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
  225. package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +1 -1
  226. package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
  227. package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
  228. package/coverage/lcov-report/src/layout/index.html +1 -1
  229. package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +1 -1
  230. package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
  231. package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
  232. package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
  233. package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
  234. package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +1 -1
  235. package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
  236. package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
  237. package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
  238. package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
  239. package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +1 -1
  240. package/coverage/lcov-report/src/link/Link.tsx.html +1 -1
  241. package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
  242. package/coverage/lcov-report/src/link/index.html +1 -1
  243. package/coverage/lcov-report/src/link/styles.ts.html +1 -1
  244. package/coverage/lcov-report/src/list/List.tsx.html +30 -30
  245. package/coverage/lcov-report/src/list/ListItem.tsx.html +124 -124
  246. package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +35 -35
  247. package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +79 -79
  248. package/coverage/lcov-report/src/list/ListItemLink.tsx.html +2 -2
  249. package/coverage/lcov-report/src/list/ListItemText.tsx.html +35 -35
  250. package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
  251. package/coverage/lcov-report/src/list/getListItemHeight.ts.html +44 -47
  252. package/coverage/lcov-report/src/list/index.html +5 -5
  253. package/coverage/lcov-report/src/list/listItemStyles.ts.html +65 -65
  254. package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +49 -49
  255. package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
  256. package/coverage/lcov-report/src/media-queries/index.html +1 -1
  257. package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +24 -24
  258. package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +1 -1
  259. package/coverage/lcov-report/src/menu/Menu.tsx.html +3 -3
  260. package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
  261. package/coverage/lcov-report/src/menu/MenuButton.tsx.html +1 -1
  262. package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
  263. package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
  264. package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +1 -1
  265. package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
  266. package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +1 -1
  267. package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +1 -1
  268. package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
  269. package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
  270. package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
  271. package/coverage/lcov-report/src/menu/index.html +1 -1
  272. package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
  273. package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
  274. package/coverage/lcov-report/src/menu/utils.ts.html +1 -1
  275. package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
  276. package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
  277. package/coverage/lcov-report/src/movement/index.html +17 -62
  278. package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +1 -1
  279. package/coverage/lcov-report/src/movement/utils.ts.html +143 -119
  280. package/coverage/lcov-report/src/overlay/Overlay.tsx.html +1 -1
  281. package/coverage/lcov-report/src/overlay/index.html +1 -1
  282. package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +1 -1
  283. package/coverage/lcov-report/src/portal/Portal.tsx.html +1 -1
  284. package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +36 -36
  285. package/coverage/lcov-report/src/portal/index.html +1 -1
  286. package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
  287. package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +1 -1
  288. package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +1 -1
  289. package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +1 -1
  290. package/coverage/lcov-report/src/positioning/index.html +1 -1
  291. package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +1 -1
  292. package/coverage/lcov-report/src/positioning/utils.ts.html +1 -1
  293. package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +81 -81
  294. package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +1 -1
  295. package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
  296. package/coverage/lcov-report/src/progress/index.html +1 -1
  297. package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
  298. package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
  299. package/coverage/lcov-report/src/responsive-item/index.html +1 -1
  300. package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
  301. package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
  302. package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +1 -1
  303. package/coverage/lcov-report/src/scroll/index.html +1 -1
  304. package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +1 -1
  305. package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +1 -1
  306. package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +1 -1
  307. package/coverage/lcov-report/src/segmented-button/index.html +1 -1
  308. package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +1 -1
  309. package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
  310. package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
  311. package/coverage/lcov-report/src/sheet/index.html +1 -1
  312. package/coverage/lcov-report/src/sheet/styles.ts.html +1 -1
  313. package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +1 -1
  314. package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +1 -1
  315. package/coverage/lcov-report/src/snackbar/Toast.tsx.html +1 -1
  316. package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
  317. package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +1 -1
  318. package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +1 -1
  319. package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +1 -1
  320. package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +1 -1
  321. package/coverage/lcov-report/src/snackbar/index.html +1 -1
  322. package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +1 -1
  323. package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +1 -1
  324. package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +1 -1
  325. package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
  326. package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +142 -142
  327. package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +88 -88
  328. package/coverage/lcov-report/src/suspense/index.html +32 -32
  329. package/coverage/lcov-report/src/table/Table.tsx.html +1 -1
  330. package/coverage/lcov-report/src/table/TableBody.tsx.html +1 -1
  331. package/coverage/lcov-report/src/table/TableCell.tsx.html +1 -1
  332. package/coverage/lcov-report/src/table/TableCellContent.tsx.html +1 -1
  333. package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +1 -1
  334. package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +1 -1
  335. package/coverage/lcov-report/src/table/TableContainer.tsx.html +1 -1
  336. package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
  337. package/coverage/lcov-report/src/table/TableFooter.tsx.html +1 -1
  338. package/coverage/lcov-report/src/table/TableHeader.tsx.html +1 -1
  339. package/coverage/lcov-report/src/table/TableRadio.tsx.html +1 -1
  340. package/coverage/lcov-report/src/table/TableRow.tsx.html +1 -1
  341. package/coverage/lcov-report/src/table/index.html +1 -1
  342. package/coverage/lcov-report/src/table/tableCellStyles.ts.html +1 -1
  343. package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +1 -1
  344. package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +1 -1
  345. package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +1 -1
  346. package/coverage/lcov-report/src/table/tableRowStyles.ts.html +1 -1
  347. package/coverage/lcov-report/src/table/tableStyles.ts.html +1 -1
  348. package/coverage/lcov-report/src/tabs/Tab.tsx.html +1 -1
  349. package/coverage/lcov-report/src/tabs/TabList.tsx.html +1 -1
  350. package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +1 -1
  351. package/coverage/lcov-report/src/tabs/index.html +1 -1
  352. package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +1 -1
  353. package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +1 -1
  354. package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +1 -1
  355. package/coverage/lcov-report/src/tabs/tabStyles.ts.html +1 -1
  356. package/coverage/lcov-report/src/tabs/useTabList.ts.html +1 -1
  357. package/coverage/lcov-report/src/tabs/useTabs.ts.html +1 -1
  358. package/coverage/lcov-report/src/tabs/utils.ts.html +1 -1
  359. package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
  360. package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +1 -1
  361. package/coverage/lcov-report/src/test-utils/data-testid.ts.html +18 -6
  362. package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
  363. package/coverage/lcov-report/src/test-utils/index.html +7 -7
  364. package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +9 -9
  365. package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +4 -4
  366. package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
  367. package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
  368. package/coverage/lcov-report/src/test-utils/polyfills/TextDecoder.ts.html +106 -0
  369. package/coverage/lcov-report/src/test-utils/polyfills/TextEncoder.ts.html +100 -0
  370. package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
  371. package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
  372. package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
  373. package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
  374. package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
  375. package/coverage/lcov-report/src/test-utils/root-html-environment.ts.html +85 -0
  376. package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
  377. package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
  378. package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +1 -1
  379. package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
  380. package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
  381. package/coverage/lcov-report/src/theme/index.html +1 -1
  382. package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +1 -1
  383. package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
  384. package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
  385. package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
  386. package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
  387. package/coverage/lcov-report/src/theme/utils.ts.html +1 -1
  388. package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +1 -1
  389. package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +1 -1
  390. package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
  391. package/coverage/lcov-report/src/tooltip/index.html +1 -1
  392. package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +1 -1
  393. package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +1 -1
  394. package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +1 -1
  395. package/coverage/lcov-report/src/tooltip/utils.ts.html +1 -1
  396. package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
  397. package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
  398. package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
  399. package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
  400. package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +1 -1
  401. package/coverage/lcov-report/src/transition/Slide.tsx.html +1 -1
  402. package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
  403. package/coverage/lcov-report/src/transition/collapseStyles.ts.html +13 -13
  404. package/coverage/lcov-report/src/transition/config.ts.html +3 -3
  405. package/coverage/lcov-report/src/transition/index.html +7 -7
  406. package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
  407. package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +1 -1
  408. package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +1 -1
  409. package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
  410. package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +96 -150
  411. package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
  412. package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
  413. package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +1 -1
  414. package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +1 -1
  415. package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +1 -1
  416. package/coverage/lcov-report/src/transition/useTransition.ts.html +152 -152
  417. package/coverage/lcov-report/src/transition/utils.ts.html +14 -14
  418. package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +1 -1
  419. package/coverage/lcov-report/src/tree/Tree.tsx.html +1 -1
  420. package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +45 -45
  421. package/coverage/lcov-report/src/tree/TreeItem.tsx.html +1 -1
  422. package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +1 -1
  423. package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +8 -8
  424. package/coverage/lcov-report/src/tree/index.html +1 -1
  425. package/coverage/lcov-report/src/tree/styles.ts.html +5 -5
  426. package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
  427. package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
  428. package/coverage/lcov-report/src/tree/useTreeItems.ts.html +1 -1
  429. package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +1 -1
  430. package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
  431. package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
  432. package/coverage/lcov-report/src/typography/SrOnly.tsx.html +12 -12
  433. package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
  434. package/coverage/lcov-report/src/typography/Typography.tsx.html +94 -94
  435. package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +1 -1
  436. package/coverage/lcov-report/src/typography/index.html +1 -1
  437. package/coverage/lcov-report/src/useAsyncAction.ts.html +1 -1
  438. package/coverage/lcov-report/src/useDebouncedFunction.ts.html +1 -1
  439. package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
  440. package/coverage/lcov-report/src/useElementSize.ts.html +1 -1
  441. package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
  442. package/coverage/lcov-report/src/useEnsuredRef.ts.html +11 -11
  443. package/coverage/lcov-report/src/useEnsuredState.ts.html +16 -16
  444. package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
  445. package/coverage/lcov-report/src/useIntersectionObserver.ts.html +1 -1
  446. package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
  447. package/coverage/lcov-report/src/useLocalStorage.ts.html +1 -1
  448. package/coverage/lcov-report/src/useOrientation.ts.html +32 -32
  449. package/coverage/lcov-report/src/usePageInactive.ts.html +1 -1
  450. package/coverage/lcov-report/src/useResizeListener.ts.html +1 -1
  451. package/coverage/lcov-report/src/useResizeObserver.ts.html +23 -23
  452. package/coverage/lcov-report/src/useThrottledFunction.ts.html +1 -1
  453. package/coverage/lcov-report/src/useToggle.ts.html +1 -1
  454. package/coverage/lcov-report/src/useUnmounted.ts.html +1 -1
  455. package/coverage/lcov-report/src/useWindowSize.ts.html +1 -1
  456. package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
  457. package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
  458. package/coverage/lcov-report/src/utils/applyRef.ts.html +1 -1
  459. package/coverage/lcov-report/src/utils/bem.ts.html +50 -50
  460. package/coverage/lcov-report/src/utils/filters.ts.html +357 -84
  461. package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
  462. package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +1 -1
  463. package/coverage/lcov-report/src/utils/getPercentage.ts.html +1 -1
  464. package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +1 -1
  465. package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +1 -1
  466. package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
  467. package/coverage/lcov-report/src/utils/index.html +13 -268
  468. package/coverage/lcov-report/src/utils/isElementVisible.ts.html +1 -1
  469. package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
  470. package/coverage/lcov-report/src/utils/nearest.ts.html +1 -1
  471. package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +1 -1
  472. package/coverage/lcov-report/src/utils/randomInt.ts.html +1 -1
  473. package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
  474. package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
  475. package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
  476. package/coverage/lcov-report/src/window-splitter/index.html +1 -1
  477. package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +1 -1
  478. package/coverage/lcov-report/transition/config.ts.html +5 -5
  479. package/coverage/lcov-report/transition/index.html +1 -1
  480. package/coverage/lcov-report/transition/useScaleTransition.ts.html +535 -0
  481. package/coverage/lcov-report/useAutoComplete.ts.html +787 -0
  482. package/coverage/lcov-report/useCollapseTransition.ts.html +166 -211
  483. package/coverage/lcov-report/useCombobox.ts.html +1513 -0
  484. package/coverage/lcov-report/useInlineAutoComplete.ts.html +379 -0
  485. package/coverage/lcov-report/useSelectCombobox.ts.html +295 -0
  486. package/coverage/lcov-report/utils/alphaNumericSort.ts.html +11 -50
  487. package/coverage/lcov-report/utils/filters.ts.html +1056 -201
  488. package/coverage/lcov-report/utils/index.html +10 -10
  489. package/coverage/lcov-report/utils/searching.ts.html +85 -0
  490. package/coverage/lcov-report/utils.ts.html +109 -277
  491. package/coverage/lcov.info +928 -259
  492. package/dist/RootHtml.d.ts +62 -0
  493. package/dist/RootHtml.js +49 -0
  494. package/dist/RootHtml.js.map +1 -0
  495. package/dist/avatar/Avatar.d.ts +14 -0
  496. package/dist/avatar/Avatar.js +5 -2
  497. package/dist/avatar/Avatar.js.map +1 -1
  498. package/dist/dialog/FixedDialog.d.ts +5 -4
  499. package/dist/dialog/FixedDialog.js +5 -4
  500. package/dist/dialog/FixedDialog.js.map +1 -1
  501. package/dist/form/NativeSelect.d.ts +5 -2
  502. package/dist/form/NativeSelect.js.map +1 -1
  503. package/dist/form/Option.js +3 -2
  504. package/dist/form/Option.js.map +1 -1
  505. package/dist/form/Select.d.ts +105 -15
  506. package/dist/form/Select.js +160 -249
  507. package/dist/form/Select.js.map +1 -1
  508. package/dist/form/SelectedOption.d.ts +21 -0
  509. package/dist/form/SelectedOption.js +37 -0
  510. package/dist/form/SelectedOption.js.map +1 -0
  511. package/dist/form/TextField.d.ts +2 -2
  512. package/dist/form/TextField.js.map +1 -1
  513. package/dist/form/_form.scss +8 -13
  514. package/dist/form/selectUtils.d.ts +1 -3
  515. package/dist/form/selectUtils.js +2 -10
  516. package/dist/form/selectUtils.js.map +1 -1
  517. package/dist/form/types.d.ts +6 -6
  518. package/dist/form/types.js.map +1 -1
  519. package/dist/form/useCombobox.d.ts +157 -0
  520. package/dist/form/useCombobox.js +206 -0
  521. package/dist/form/useCombobox.js.map +1 -0
  522. package/dist/form/useEditableCombobox.d.ts +15 -0
  523. package/dist/form/useEditableCombobox.js +101 -0
  524. package/dist/form/useEditableCombobox.js.map +1 -0
  525. package/dist/form/useFormReset.d.ts +16 -0
  526. package/dist/form/useFormReset.js +32 -0
  527. package/dist/form/useFormReset.js.map +1 -0
  528. package/dist/form/useListboxProvider.d.ts +1 -0
  529. package/dist/form/useListboxProvider.js +1 -0
  530. package/dist/form/useListboxProvider.js.map +1 -1
  531. package/dist/form/useSelectCombobox.d.ts +17 -0
  532. package/dist/form/useSelectCombobox.js +36 -0
  533. package/dist/form/useSelectCombobox.js.map +1 -0
  534. package/dist/form/utils.d.ts +11 -1
  535. package/dist/form/utils.js +6 -0
  536. package/dist/form/utils.js.map +1 -1
  537. package/dist/index.d.ts +14 -1
  538. package/dist/index.js +14 -1
  539. package/dist/index.js.map +1 -1
  540. package/dist/menu/Menu.js +12 -1
  541. package/dist/menu/Menu.js.map +1 -1
  542. package/dist/menu/useContextMenu.d.ts +3 -3
  543. package/dist/menu/useContextMenu.js +3 -3
  544. package/dist/menu/useContextMenu.js.map +1 -1
  545. package/dist/movement/types.d.ts +40 -21
  546. package/dist/movement/types.js.map +1 -1
  547. package/dist/movement/useKeyboardMovementProvider.js +15 -4
  548. package/dist/movement/useKeyboardMovementProvider.js.map +1 -1
  549. package/dist/movement/utils.d.ts +7 -2
  550. package/dist/movement/utils.js +10 -0
  551. package/dist/movement/utils.js.map +1 -1
  552. package/dist/positioning/useFixedPositioning.js +0 -8
  553. package/dist/positioning/useFixedPositioning.js.map +1 -1
  554. package/dist/searching/caseInsensitive.d.ts +150 -0
  555. package/dist/searching/caseInsensitive.js +30 -0
  556. package/dist/searching/caseInsensitive.js.map +1 -0
  557. package/dist/searching/fuzzy.d.ts +128 -0
  558. package/dist/searching/fuzzy.js +54 -0
  559. package/dist/searching/fuzzy.js.map +1 -0
  560. package/dist/searching/toSearchQuery.d.ts +5 -0
  561. package/dist/searching/toSearchQuery.js +13 -0
  562. package/dist/searching/toSearchQuery.js.map +1 -0
  563. package/dist/searching/types.d.ts +28 -0
  564. package/dist/searching/types.js +5 -0
  565. package/dist/searching/types.js.map +1 -0
  566. package/dist/searching/utils.d.ts +21 -0
  567. package/dist/searching/utils.js +28 -0
  568. package/dist/searching/utils.js.map +1 -0
  569. package/dist/test-utils/IntersectionObserver.d.ts +12 -0
  570. package/dist/test-utils/ResizeObserver.d.ts +172 -0
  571. package/dist/test-utils/data-testid.d.ts +7 -0
  572. package/dist/test-utils/data-testid.js +1 -0
  573. package/dist/test-utils/data-testid.js.map +1 -1
  574. package/dist/test-utils/drag.d.ts +26 -0
  575. package/dist/test-utils/index.d.ts +7 -0
  576. package/dist/test-utils/jest-setup.d.ts +1 -0
  577. package/dist/test-utils/matchMedia.d.ts +101 -0
  578. package/dist/test-utils/polyfills/IntersectionObserver.d.ts +1 -0
  579. package/dist/test-utils/polyfills/ResizeObserver.d.ts +1 -0
  580. package/dist/test-utils/polyfills/TextDecoder.d.ts +1 -0
  581. package/dist/test-utils/polyfills/TextDecoder.js +8 -0
  582. package/dist/test-utils/polyfills/TextDecoder.js.map +1 -0
  583. package/dist/test-utils/polyfills/TextEncoder.d.ts +1 -0
  584. package/dist/test-utils/polyfills/TextEncoder.js +6 -0
  585. package/dist/test-utils/polyfills/TextEncoder.js.map +1 -0
  586. package/dist/test-utils/polyfills/index.d.ts +7 -0
  587. package/dist/test-utils/polyfills/index.js +2 -0
  588. package/dist/test-utils/polyfills/index.js.map +1 -1
  589. package/dist/test-utils/polyfills/matchMedia.d.ts +1 -0
  590. package/dist/test-utils/polyfills/offsetParent.d.ts +1 -0
  591. package/dist/test-utils/polyfills/scrollIntoView.d.ts +1 -0
  592. package/dist/test-utils/render.d.ts +13 -0
  593. package/dist/test-utils/timers.d.ts +39 -0
  594. package/dist/transition/useCollapseTransition.d.ts +3 -18
  595. package/dist/transition/useCollapseTransition.js +1 -10
  596. package/dist/transition/useCollapseTransition.js.map +1 -1
  597. package/dist/transition/utils.js +7 -2
  598. package/dist/transition/utils.js.map +1 -1
  599. package/dist/useEnsuredState.d.ts +1 -1
  600. package/dist/useEnsuredState.js.map +1 -1
  601. package/dist/utils/alphaNumericSort.d.ts +1 -1
  602. package/dist/utils/alphaNumericSort.js +2 -10
  603. package/dist/utils/alphaNumericSort.js.map +1 -1
  604. package/jest.config.ts +4 -0
  605. package/package.json +14 -13
  606. package/src/RootHtml.tsx +95 -0
  607. package/src/__tests__/RootHtml.node.tsx +46 -0
  608. package/src/__tests__/__snapshots__/RootHtml.node.tsx.snap +19 -0
  609. package/src/avatar/Avatar.tsx +24 -3
  610. package/src/avatar/__tests__/Avatar.tsx +1 -1
  611. package/src/avatar/__tests__/__snapshots__/Avatar.tsx.snap +6 -6
  612. package/src/dialog/FixedDialog.tsx +5 -4
  613. package/src/form/NativeSelect.tsx +6 -3
  614. package/src/form/Option.tsx +8 -2
  615. package/src/form/Select.tsx +251 -335
  616. package/src/form/SelectedOption.tsx +55 -0
  617. package/src/form/TextField.tsx +2 -2
  618. package/src/form/__tests__/Select.tsx +439 -0
  619. package/src/form/__tests__/__snapshots__/Select.tsx.snap +492 -0
  620. package/src/form/__tests__/useFormReset.tsx +195 -0
  621. package/src/form/_form.scss +8 -13
  622. package/src/form/selectUtils.ts +3 -14
  623. package/src/form/types.ts +6 -6
  624. package/src/form/useCombobox.ts +523 -0
  625. package/src/form/useEditableCombobox.ts +139 -0
  626. package/src/form/useFormReset.ts +48 -0
  627. package/src/form/useListboxProvider.ts +2 -0
  628. package/src/form/useSelectCombobox.ts +70 -0
  629. package/src/form/utils.ts +17 -4
  630. package/src/index.ts +14 -1
  631. package/src/menu/Menu.tsx +9 -1
  632. package/src/menu/__tests__/__snapshots__/useContextMenu.tsx.snap +54 -0
  633. package/src/menu/__tests__/useContextMenu.tsx +41 -0
  634. package/src/menu/useContextMenu.ts +3 -3
  635. package/src/movement/types.ts +50 -25
  636. package/src/movement/useKeyboardMovementProvider.ts +21 -8
  637. package/src/movement/utils.ts +12 -2
  638. package/src/positioning/__tests__/__snapshots__/useFixedPositioning.tsx.snap +0 -32
  639. package/src/positioning/__tests__/useFixedPositioning.tsx +0 -14
  640. package/src/positioning/useFixedPositioning.ts +0 -6
  641. package/src/searching/__tests__/caseInsensitive.ts +165 -0
  642. package/src/searching/__tests__/fuzzy.ts +169 -0
  643. package/src/searching/__tests__/toSearchQuery.ts +21 -0
  644. package/src/searching/caseInsensitive.ts +200 -0
  645. package/src/searching/fuzzy.ts +175 -0
  646. package/src/searching/toSearchQuery.ts +18 -0
  647. package/src/searching/types.ts +34 -0
  648. package/src/searching/utils.ts +54 -0
  649. package/src/test-utils/data-testid.ts +5 -1
  650. package/src/test-utils/polyfills/TextDecoder.ts +7 -0
  651. package/src/test-utils/polyfills/TextEncoder.ts +5 -0
  652. package/src/test-utils/polyfills/index.ts +2 -0
  653. package/src/transition/__tests__/utils.ts +25 -0
  654. package/src/transition/useCollapseTransition.ts +6 -24
  655. package/src/transition/utils.ts +10 -5
  656. package/src/useEnsuredState.ts +1 -1
  657. package/src/utils/alphaNumericSort.ts +3 -16
  658. package/tsconfig.json +2 -2
  659. package/tsconfig.types.json +1 -1
  660. package/dist/form/SelectValue.d.ts +0 -17
  661. package/dist/form/SelectValue.js +0 -32
  662. package/dist/form/SelectValue.js.map +0 -1
  663. package/dist/utils/filters.d.ts +0 -196
  664. package/dist/utils/filters.js +0 -67
  665. package/dist/utils/filters.js.map +0 -1
  666. package/src/form/SelectValue.tsx +0 -39
  667. package/src/utils/filters.ts +0 -320
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { nanoid } from "nanoid";
2
2
  export * from "./CoreProviders.js";
3
3
  export * from "./NoSsr.js";
4
+ export * from "./RootHtml.js";
4
5
  export * from "./SsrProvider.js";
5
6
  export * from "./app-bar/AppBar.js";
6
7
  export * from "./app-bar/AppBarTitle.js";
@@ -69,6 +70,7 @@ export * from "./form/Option.js";
69
70
  export * from "./form/Password.js";
70
71
  export * from "./form/Radio.js";
71
72
  export * from "./form/Select.js";
73
+ export * from "./form/SelectedOption.js";
72
74
  export * from "./form/Slider.js";
73
75
  export * from "./form/SliderContainer.js";
74
76
  export * from "./form/SliderMark.js";
@@ -95,12 +97,18 @@ export * from "./form/switchStyles.js";
95
97
  export * from "./form/textFieldStyles.js";
96
98
  export * from "./form/types.js";
97
99
  export * from "./form/useCheckboxGroup.js";
100
+ export * from "./form/useCombobox.js";
101
+ export * from "./form/useEditableCombobox.js";
98
102
  export * from "./form/useFileUpload.js";
103
+ export * from "./form/useFormReset.js";
104
+ export * from "./form/useListboxProvider.js";
99
105
  export * from "./form/useNumberField.js";
100
106
  export * from "./form/useRadioGroup.js";
101
107
  export * from "./form/useRangeSlider.js";
108
+ export * from "./form/useSelectCombobox.js";
102
109
  export * from "./form/useSlider.js";
103
110
  export * from "./form/useTextField.js";
111
+ export * from "./form/utils.js";
104
112
  export * from "./form/validation.js";
105
113
  export * from "./hoverMode/useHoverMode.js";
106
114
  export * from "./hoverMode/useHoverModeProvider.js";
@@ -188,6 +196,11 @@ export * from "./responsive-item/styles.js";
188
196
  export * from "./scroll/ScrollLock.js";
189
197
  export * from "./scroll/getScrollbarWidth.js";
190
198
  export * from "./scroll/useScrollLock.js";
199
+ export * from "./searching/caseInsensitive.js";
200
+ export * from "./searching/fuzzy.js";
201
+ export * from "./searching/toSearchQuery.js";
202
+ export * from "./searching/types.js";
203
+ export * from "./searching/utils.js";
191
204
  export * from "./segmented-button/SegmentedButton.js";
192
205
  export * from "./segmented-button/SegmentedButtonContainer.js";
193
206
  export * from "./segmented-button/segmentedButtonContainerStyles.js";
@@ -250,6 +263,7 @@ export * from "./theme/utils.js";
250
263
  export * from "./tooltip/Tooltip.js";
251
264
  export * from "./tooltip/TooltipHoverModeProvider.js";
252
265
  export * from "./tooltip/constants.js";
266
+ export * from "./tooltip/tooltipStyles.js";
253
267
  export * from "./tooltip/useTooltip.js";
254
268
  export * from "./transition/CSSTransition.js";
255
269
  export * from "./transition/Collapse.js";
@@ -311,7 +325,6 @@ export * from "./utils/RenderRecursively.js";
311
325
  export * from "./utils/alphaNumericSort.js";
312
326
  export * from "./utils/applyRef.js";
313
327
  export * from "./utils/bem.js";
314
- export * from "./utils/filters.js";
315
328
  export * from "./utils/getClientPosition.js";
316
329
  export * from "./utils/getMiddleOfRange.js";
317
330
  export * from "./utils/getPercentage.js";
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { nanoid } from "nanoid";
2
2
  export * from "./CoreProviders.js";
3
3
  export * from "./NoSsr.js";
4
+ export * from "./RootHtml.js";
4
5
  export * from "./SsrProvider.js";
5
6
  export * from "./app-bar/AppBar.js";
6
7
  export * from "./app-bar/AppBarTitle.js";
@@ -69,6 +70,7 @@ export * from "./form/Option.js";
69
70
  export * from "./form/Password.js";
70
71
  export * from "./form/Radio.js";
71
72
  export * from "./form/Select.js";
73
+ export * from "./form/SelectedOption.js";
72
74
  export * from "./form/Slider.js";
73
75
  export * from "./form/SliderContainer.js";
74
76
  export * from "./form/SliderMark.js";
@@ -95,12 +97,18 @@ export * from "./form/switchStyles.js";
95
97
  export * from "./form/textFieldStyles.js";
96
98
  export * from "./form/types.js";
97
99
  export * from "./form/useCheckboxGroup.js";
100
+ export * from "./form/useCombobox.js";
101
+ export * from "./form/useEditableCombobox.js";
98
102
  export * from "./form/useFileUpload.js";
103
+ export * from "./form/useFormReset.js";
104
+ export * from "./form/useListboxProvider.js";
99
105
  export * from "./form/useNumberField.js";
100
106
  export * from "./form/useRadioGroup.js";
101
107
  export * from "./form/useRangeSlider.js";
108
+ export * from "./form/useSelectCombobox.js";
102
109
  export * from "./form/useSlider.js";
103
110
  export * from "./form/useTextField.js";
111
+ export * from "./form/utils.js";
104
112
  export * from "./form/validation.js";
105
113
  export * from "./hoverMode/useHoverMode.js";
106
114
  export * from "./hoverMode/useHoverModeProvider.js";
@@ -188,6 +196,11 @@ export * from "./responsive-item/styles.js";
188
196
  export * from "./scroll/ScrollLock.js";
189
197
  export * from "./scroll/getScrollbarWidth.js";
190
198
  export * from "./scroll/useScrollLock.js";
199
+ export * from "./searching/caseInsensitive.js";
200
+ export * from "./searching/fuzzy.js";
201
+ export * from "./searching/toSearchQuery.js";
202
+ export * from "./searching/types.js";
203
+ export * from "./searching/utils.js";
191
204
  export * from "./segmented-button/SegmentedButton.js";
192
205
  export * from "./segmented-button/SegmentedButtonContainer.js";
193
206
  export * from "./segmented-button/segmentedButtonContainerStyles.js";
@@ -249,6 +262,7 @@ export * from "./theme/utils.js";
249
262
  export * from "./tooltip/Tooltip.js";
250
263
  export * from "./tooltip/TooltipHoverModeProvider.js";
251
264
  export * from "./tooltip/constants.js";
265
+ export * from "./tooltip/tooltipStyles.js";
252
266
  export * from "./tooltip/useTooltip.js";
253
267
  export * from "./transition/CSSTransition.js";
254
268
  export * from "./transition/Collapse.js";
@@ -310,7 +324,6 @@ export * from "./utils/RenderRecursively.js";
310
324
  export * from "./utils/alphaNumericSort.js";
311
325
  export * from "./utils/applyRef.js";
312
326
  export * from "./utils/bem.js";
313
- export * from "./utils/filters.js";
314
327
  export * from "./utils/getClientPosition.js";
315
328
  export * from "./utils/getMiddleOfRange.js";
316
329
  export * from "./utils/getPercentage.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { nanoid } from \"nanoid\";\nexport * from \"./CoreProviders.js\";\nexport * from \"./NoSsr.js\";\nexport * from \"./SsrProvider.js\";\nexport * from \"./app-bar/AppBar.js\";\nexport * from \"./app-bar/AppBarTitle.js\";\nexport * from \"./avatar/Avatar.js\";\nexport * from \"./avatar/styles.js\";\nexport * from \"./badge/Badge.js\";\nexport * from \"./box/Box.js\";\nexport * from \"./box/styles.js\";\nexport * from \"./button/AsyncButton.js\";\nexport * from \"./button/Button.js\";\nexport * from \"./button/ButtonUnstyled.js\";\nexport * from \"./button/FloatingActionButton.js\";\nexport * from \"./button/TooltippedButton.js\";\nexport * from \"./button/buttonStyles.js\";\nexport * from \"./button/buttonUnstyledStyles.js\";\nexport * from \"./card/Card.js\";\nexport * from \"./card/CardContent.js\";\nexport * from \"./card/CardFooter.js\";\nexport * from \"./card/CardHeader.js\";\nexport * from \"./card/CardSubtitle.js\";\nexport * from \"./card/CardTitle.js\";\nexport * from \"./card/ClickableCard.js\";\nexport * from \"./card/styles.js\";\nexport * from \"./chip/Chip.js\";\nexport * from \"./chip/styles.js\";\nexport * from \"./cssUtils.js\";\nexport * from \"./delegateEvent.js\";\nexport * from \"./dialog/Dialog.js\";\nexport * from \"./dialog/DialogContainer.js\";\nexport * from \"./dialog/DialogContent.js\";\nexport * from \"./dialog/DialogFooter.js\";\nexport * from \"./dialog/DialogHeader.js\";\nexport * from \"./dialog/DialogTitle.js\";\nexport * from \"./dialog/FixedDialog.js\";\nexport * from \"./dialog/NestedDialogProvider.js\";\nexport * from \"./dialog/styles.js\";\nexport * from \"./divider/Divider.js\";\nexport * from \"./divider/styles.js\";\nexport * from \"./draggable/useDraggable.js\";\nexport * from \"./expansion-panel/ExpansionList.js\";\nexport * from \"./expansion-panel/ExpansionPanel.js\";\nexport * from \"./expansion-panel/ExpansionPanelHeader.js\";\nexport * from \"./expansion-panel/useExpansionList.js\";\nexport * from \"./expansion-panel/useExpansionPanels.js\";\nexport * from \"./focus/useFocusContainer.js\";\nexport * from \"./focus/utils.js\";\nexport * from \"./form/Checkbox.js\";\nexport * from \"./form/Fieldset.js\";\nexport * from \"./form/FileInput.js\";\nexport * from \"./form/Form.js\";\nexport * from \"./form/FormMessage.js\";\nexport * from \"./form/FormMessageContainer.js\";\nexport * from \"./form/FormMessageCounter.js\";\nexport * from \"./form/InputToggle.js\";\nexport * from \"./form/Label.js\";\nexport * from \"./form/Legend.js\";\nexport * from \"./form/MenuItemCheckbox.js\";\nexport * from \"./form/MenuItemFileInput.js\";\nexport * from \"./form/MenuItemInputToggle.js\";\nexport * from \"./form/MenuItemRadio.js\";\nexport * from \"./form/MenuItemSwitch.js\";\nexport * from \"./form/MenuItemTextField.js\";\nexport * from \"./form/NativeSelect.js\";\nexport * from \"./form/OptGroup.js\";\nexport * from \"./form/Option.js\";\nexport * from \"./form/Password.js\";\nexport * from \"./form/Radio.js\";\nexport * from \"./form/Select.js\";\nexport * from \"./form/Slider.js\";\nexport * from \"./form/SliderContainer.js\";\nexport * from \"./form/SliderMark.js\";\nexport * from \"./form/SliderMarkLabel.js\";\nexport * from \"./form/SliderThumb.js\";\nexport * from \"./form/SliderTrack.js\";\nexport * from \"./form/SliderValueMarks.js\";\nexport * from \"./form/SliderValueTooltip.js\";\nexport * from \"./form/Switch.js\";\nexport * from \"./form/TextArea.js\";\nexport * from \"./form/TextField.js\";\nexport * from \"./form/TextFieldAddon.js\";\nexport * from \"./form/TextFieldContainer.js\";\nexport * from \"./form/TextFieldContainerStyles.js\";\nexport * from \"./form/fileUtils.js\";\nexport * from \"./form/formConfig.js\";\nexport * from \"./form/formMessageStyles.js\";\nexport * from \"./form/menuItemInputToggleStyles.js\";\nexport * from \"./form/nativeSelectStyles.js\";\nexport * from \"./form/optionStyles.js\";\nexport * from \"./form/passwordStyles.js\";\nexport * from \"./form/selectStyles.js\";\nexport * from \"./form/switchStyles.js\";\nexport * from \"./form/textFieldStyles.js\";\nexport * from \"./form/types.js\";\nexport * from \"./form/useCheckboxGroup.js\";\nexport * from \"./form/useFileUpload.js\";\nexport * from \"./form/useNumberField.js\";\nexport * from \"./form/useRadioGroup.js\";\nexport * from \"./form/useRangeSlider.js\";\nexport * from \"./form/useSlider.js\";\nexport * from \"./form/useTextField.js\";\nexport * from \"./form/validation.js\";\nexport * from \"./hoverMode/useHoverMode.js\";\nexport * from \"./hoverMode/useHoverModeProvider.js\";\nexport * from \"./icon/FontIcon.js\";\nexport * from \"./icon/IconRotator.js\";\nexport * from \"./icon/MaterialIcon.js\";\nexport * from \"./icon/MaterialSymbol.js\";\nexport * from \"./icon/SVGIcon.js\";\nexport * from \"./icon/TextIconSpacing.js\";\nexport * from \"./icon/iconConfig.js\";\nexport * from \"./icon/material.js\";\nexport * from \"./icon/materialConfig.js\";\nexport * from \"./icon/styles.js\";\nexport * from \"./interaction/Ripple.js\";\nexport * from \"./interaction/RippleContainer.js\";\nexport * from \"./interaction/UserInteractionModeProvider.js\";\nexport * from \"./interaction/config.js\";\nexport * from \"./interaction/types.js\";\nexport * from \"./interaction/useElementInteraction.js\";\nexport * from \"./interaction/useHigherContrastChildren.js\";\nexport * from \"./layout/LayoutAppBar.js\";\nexport * from \"./layout/LayoutNav.js\";\nexport * from \"./layout/LayoutWindowSplitter.js\";\nexport * from \"./layout/Main.js\";\nexport * from \"./layout/layoutNavStyles.js\";\nexport * from \"./layout/layoutWindowSplitterStyles.js\";\nexport * from \"./layout/mainStyles.js\";\nexport * from \"./layout/useExpandableLayout.js\";\nexport * from \"./layout/useHorizontalLayoutTransition.js\";\nexport * from \"./layout/useLayoutAppBarHeight.js\";\nexport * from \"./layout/useLayoutTree.js\";\nexport * from \"./layout/useLayoutWindowSplitter.js\";\nexport * from \"./layout/useMainTabIndex.js\";\nexport * from \"./layout/useResizableLayout.js\";\nexport * from \"./layout/useTemporaryLayout.js\";\nexport * from \"./link/Link.js\";\nexport * from \"./link/SkipToMainContent.js\";\nexport * from \"./link/styles.js\";\nexport * from \"./list/List.js\";\nexport * from \"./list/ListItem.js\";\nexport * from \"./list/ListItemAddon.js\";\nexport * from \"./list/ListItemChildren.js\";\nexport * from \"./list/ListItemLink.js\";\nexport * from \"./list/ListItemText.js\";\nexport * from \"./list/ListSubheader.js\";\nexport * from \"./list/getListItemHeight.js\";\nexport * from \"./list/listItemStyles.js\";\nexport * from \"./list/types.js\";\nexport * from \"./media-queries/AppSizeProvider.js\";\nexport * from \"./media-queries/appSize.js\";\nexport * from \"./media-queries/useMediaQuery.js\";\nexport * from \"./menu/DropdownMenu.js\";\nexport * from \"./menu/Menu.js\";\nexport * from \"./menu/MenuBar.js\";\nexport * from \"./menu/MenuButton.js\";\nexport * from \"./menu/MenuConfigurationProvider.js\";\nexport * from \"./menu/MenuItem.js\";\nexport * from \"./menu/MenuItemButton.js\";\nexport * from \"./menu/MenuItemGroup.js\";\nexport * from \"./menu/MenuItemSeparator.js\";\nexport * from \"./menu/MenuSheet.js\";\nexport * from \"./menu/MenuVisibilityProvider.js\";\nexport * from \"./menu/MenuWidget.js\";\nexport * from \"./menu/useContextMenu.js\";\nexport * from \"./menu/useMenuBarProvider.js\";\nexport * from \"./movement/constants.js\";\nexport * from \"./movement/findMatchIndex.js\";\nexport * from \"./movement/types.js\";\nexport * from \"./movement/useKeyboardMovementProvider.js\";\nexport * from \"./movement/utils.js\";\nexport * from \"./overlay/Overlay.js\";\nexport * from \"./overlay/overlayStyles.js\";\nexport * from \"./portal/Portal.js\";\nexport * from \"./portal/PortalContainerProvider.js\";\nexport * from \"./positioning/constants.js\";\nexport * from \"./positioning/types.js\";\nexport * from \"./positioning/useFixedPositioning.js\";\nexport * from \"./progress/CircularProgress.js\";\nexport * from \"./progress/LinearProgress.js\";\nexport * from \"./progress/getProgressA11y.js\";\nexport * from \"./progress/types.js\";\nexport * from \"./responsive-item/ResponsiveItemContainer.js\";\nexport * from \"./responsive-item/ResponsiveItemOverlay.js\";\nexport * from \"./responsive-item/styles.js\";\nexport * from \"./scroll/ScrollLock.js\";\nexport * from \"./scroll/getScrollbarWidth.js\";\nexport * from \"./scroll/useScrollLock.js\";\nexport * from \"./segmented-button/SegmentedButton.js\";\nexport * from \"./segmented-button/SegmentedButtonContainer.js\";\nexport * from \"./segmented-button/segmentedButtonContainerStyles.js\";\nexport * from \"./segmented-button/segmentedButtonStyles.js\";\nexport * from \"./sheet/Sheet.js\";\nexport * from \"./sheet/styles.js\";\nexport * from \"./snackbar/DefaultToastRenderer.js\";\nexport * from \"./snackbar/Snackbar.js\";\nexport * from \"./snackbar/Toast.js\";\nexport * from \"./snackbar/ToastActionButton.js\";\nexport * from \"./snackbar/ToastCloseButton.js\";\nexport * from \"./snackbar/ToastContent.js\";\nexport * from \"./snackbar/ToastManager.js\";\nexport * from \"./snackbar/ToastManagerProvider.js\";\nexport * from \"./snackbar/snackbarStyles.js\";\nexport * from \"./snackbar/toastContentStyles.js\";\nexport * from \"./snackbar/toastStyles.js\";\nexport * from \"./snackbar/useCurrentToastActions.js\";\nexport * from \"./suspense/CircularProgressSuspense.js\";\nexport * from \"./suspense/NullSuspense.js\";\nexport * from \"./table/Table.js\";\nexport * from \"./table/TableBody.js\";\nexport * from \"./table/TableCell.js\";\nexport * from \"./table/TableCellContent.js\";\nexport * from \"./table/TableCheckbox.js\";\nexport * from \"./table/TableConfigurationProvider.js\";\nexport * from \"./table/TableContainer.js\";\nexport * from \"./table/TableContainerProvider.js\";\nexport * from \"./table/TableFooter.js\";\nexport * from \"./table/TableHeader.js\";\nexport * from \"./table/TableRadio.js\";\nexport * from \"./table/TableRow.js\";\nexport * from \"./table/tableCellStyles.js\";\nexport * from \"./table/tableFooterStyles.js\";\nexport * from \"./table/tableHeaderStyles.js\";\nexport * from \"./table/tableRowStyles.js\";\nexport * from \"./table/tableStyles.js\";\nexport * from \"./table/types.js\";\nexport * from \"./tabs/Tab.js\";\nexport * from \"./tabs/TabList.js\";\nexport * from \"./tabs/TabListScrollButton.js\";\nexport * from \"./tabs/tabIndicatorStyles.js\";\nexport * from \"./tabs/tabListScrollButtonStyles.js\";\nexport * from \"./tabs/tabListStyles.js\";\nexport * from \"./tabs/tabStyles.js\";\nexport * from \"./tabs/useTabs.js\";\nexport { getTabListScrollToOptions } from \"./tabs/utils.js\";\nexport type {\n GetTabListScrollToOptions,\n TabListScrollToOptions,\n} from \"./tabs/utils.js\";\nexport * from \"./theme/LocalStorageColorSchemeProvider.js\";\nexport * from \"./theme/ThemeProvider.js\";\nexport * from \"./theme/colors.js\";\nexport * from \"./theme/cssVars.js\";\nexport * from \"./theme/types.js\";\nexport * from \"./theme/useCSSVariables.js\";\nexport * from \"./theme/useColorScheme.js\";\nexport * from \"./theme/useColorSchemeMetaTag.js\";\nexport * from \"./theme/useColorSchemeProvider.js\";\nexport * from \"./theme/usePrefersColorScheme.js\";\nexport * from \"./theme/utils.js\";\nexport * from \"./tooltip/Tooltip.js\";\nexport * from \"./tooltip/TooltipHoverModeProvider.js\";\nexport * from \"./tooltip/constants.js\";\nexport * from \"./tooltip/useTooltip.js\";\nexport * from \"./transition/CSSTransition.js\";\nexport * from \"./transition/Collapse.js\";\nexport * from \"./transition/CrossFade.js\";\nexport * from \"./transition/ScaleTransition.js\";\nexport * from \"./transition/SkeletonPlaceholder.js\";\nexport * from \"./transition/Slide.js\";\nexport * from \"./transition/SlideContainer.js\";\nexport * from \"./transition/config.js\";\nexport * from \"./transition/maxWidthTransition.js\";\nexport * from \"./transition/skeletonPlaceholderUtils.js\";\nexport * from \"./transition/types.js\";\nexport * from \"./transition/useCSSTransition.js\";\nexport * from \"./transition/useCarousel.js\";\nexport * from \"./transition/useCollapseTransition.js\";\nexport * from \"./transition/useCrossFadeTransition.js\";\nexport * from \"./transition/useMaxWidthTransition.js\";\nexport * from \"./transition/useScaleTransition.js\";\nexport * from \"./transition/useSkeletonPlaceholder.js\";\nexport * from \"./transition/useSlideTransition.js\";\nexport * from \"./transition/useTransition.js\";\nexport * from \"./tree/DefaultTreeItemRenderer.js\";\nexport * from \"./tree/Tree.js\";\nexport * from \"./tree/TreeGroup.js\";\nexport * from \"./tree/TreeItem.js\";\nexport * from \"./tree/TreeItemExpander.js\";\nexport * from \"./tree/TreeProvider.js\";\nexport * from \"./tree/styles.js\";\nexport * from \"./tree/types.js\";\nexport * from \"./tree/useTree.js\";\nexport * from \"./tree/useTreeExpansion.js\";\nexport * from \"./tree/useTreeItems.js\";\nexport * from \"./tree/useTreeSelection.js\";\nexport * from \"./tree/utils.js\";\nexport * from \"./types.js\";\nexport * from \"./typography/SrOnly.js\";\nexport * from \"./typography/TextContainer.js\";\nexport * from \"./typography/Typography.js\";\nexport * from \"./typography/WritingDirectionProvider.js\";\nexport * from \"./useAsyncAction.js\";\nexport * from \"./useDebouncedFunction.js\";\nexport * from \"./useDropzone.js\";\nexport * from \"./useElementSize.js\";\nexport * from \"./useEnsuredId.js\";\nexport * from \"./useEnsuredRef.js\";\nexport * from \"./useHtmlClassName.js\";\nexport * from \"./useIntersectionObserver.js\";\nexport * from \"./useIsomorphicLayoutEffect.js\";\nexport * from \"./useLocalStorage.js\";\nexport * from \"./useOrientation.js\";\nexport * from \"./usePageInactive.js\";\nexport * from \"./useResizeListener.js\";\nexport * from \"./useResizeObserver.js\";\nexport * from \"./useThrottledFunction.js\";\nexport * from \"./useToggle.js\";\nexport * from \"./useUnmounted.js\";\nexport * from \"./useWindowSize.js\";\nexport * from \"./utils/RenderRecursively.js\";\nexport * from \"./utils/alphaNumericSort.js\";\nexport * from \"./utils/applyRef.js\";\nexport * from \"./utils/bem.js\";\nexport * from \"./utils/filters.js\";\nexport * from \"./utils/getClientPosition.js\";\nexport * from \"./utils/getMiddleOfRange.js\";\nexport * from \"./utils/getPercentage.js\";\nexport * from \"./utils/getRangeDefaultValue.js\";\nexport * from \"./utils/getRangeSteps.js\";\nexport * from \"./utils/identity.js\";\nexport * from \"./utils/isElementVisible.js\";\nexport * from \"./utils/loop.js\";\nexport * from \"./utils/nearest.js\";\nexport * from \"./utils/parseCssLengthUnit.js\";\nexport * from \"./utils/randomInt.js\";\nexport * from \"./utils/wait.js\";\nexport * from \"./utils/withinRange.js\";\nexport * from \"./window-splitter/WindowSplitter.js\";\nexport * from \"./window-splitter/useWindowSplitter.js\";\n"],"names":["nanoid","getTabListScrollToOptions"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { nanoid } from \"nanoid\";\nexport * from \"./CoreProviders.js\";\nexport * from \"./NoSsr.js\";\nexport * from \"./RootHtml.js\";\nexport * from \"./SsrProvider.js\";\nexport * from \"./app-bar/AppBar.js\";\nexport * from \"./app-bar/AppBarTitle.js\";\nexport * from \"./avatar/Avatar.js\";\nexport * from \"./avatar/styles.js\";\nexport * from \"./badge/Badge.js\";\nexport * from \"./box/Box.js\";\nexport * from \"./box/styles.js\";\nexport * from \"./button/AsyncButton.js\";\nexport * from \"./button/Button.js\";\nexport * from \"./button/ButtonUnstyled.js\";\nexport * from \"./button/FloatingActionButton.js\";\nexport * from \"./button/TooltippedButton.js\";\nexport * from \"./button/buttonStyles.js\";\nexport * from \"./button/buttonUnstyledStyles.js\";\nexport * from \"./card/Card.js\";\nexport * from \"./card/CardContent.js\";\nexport * from \"./card/CardFooter.js\";\nexport * from \"./card/CardHeader.js\";\nexport * from \"./card/CardSubtitle.js\";\nexport * from \"./card/CardTitle.js\";\nexport * from \"./card/ClickableCard.js\";\nexport * from \"./card/styles.js\";\nexport * from \"./chip/Chip.js\";\nexport * from \"./chip/styles.js\";\nexport * from \"./cssUtils.js\";\nexport * from \"./delegateEvent.js\";\nexport * from \"./dialog/Dialog.js\";\nexport * from \"./dialog/DialogContainer.js\";\nexport * from \"./dialog/DialogContent.js\";\nexport * from \"./dialog/DialogFooter.js\";\nexport * from \"./dialog/DialogHeader.js\";\nexport * from \"./dialog/DialogTitle.js\";\nexport * from \"./dialog/FixedDialog.js\";\nexport * from \"./dialog/NestedDialogProvider.js\";\nexport * from \"./dialog/styles.js\";\nexport * from \"./divider/Divider.js\";\nexport * from \"./divider/styles.js\";\nexport * from \"./draggable/useDraggable.js\";\nexport * from \"./expansion-panel/ExpansionList.js\";\nexport * from \"./expansion-panel/ExpansionPanel.js\";\nexport * from \"./expansion-panel/ExpansionPanelHeader.js\";\nexport * from \"./expansion-panel/useExpansionList.js\";\nexport * from \"./expansion-panel/useExpansionPanels.js\";\nexport * from \"./focus/useFocusContainer.js\";\nexport * from \"./focus/utils.js\";\nexport * from \"./form/Checkbox.js\";\nexport * from \"./form/Fieldset.js\";\nexport * from \"./form/FileInput.js\";\nexport * from \"./form/Form.js\";\nexport * from \"./form/FormMessage.js\";\nexport * from \"./form/FormMessageContainer.js\";\nexport * from \"./form/FormMessageCounter.js\";\nexport * from \"./form/InputToggle.js\";\nexport * from \"./form/Label.js\";\nexport * from \"./form/Legend.js\";\nexport * from \"./form/MenuItemCheckbox.js\";\nexport * from \"./form/MenuItemFileInput.js\";\nexport * from \"./form/MenuItemInputToggle.js\";\nexport * from \"./form/MenuItemRadio.js\";\nexport * from \"./form/MenuItemSwitch.js\";\nexport * from \"./form/MenuItemTextField.js\";\nexport * from \"./form/NativeSelect.js\";\nexport * from \"./form/OptGroup.js\";\nexport * from \"./form/Option.js\";\nexport * from \"./form/Password.js\";\nexport * from \"./form/Radio.js\";\nexport * from \"./form/Select.js\";\nexport * from \"./form/SelectedOption.js\";\nexport * from \"./form/Slider.js\";\nexport * from \"./form/SliderContainer.js\";\nexport * from \"./form/SliderMark.js\";\nexport * from \"./form/SliderMarkLabel.js\";\nexport * from \"./form/SliderThumb.js\";\nexport * from \"./form/SliderTrack.js\";\nexport * from \"./form/SliderValueMarks.js\";\nexport * from \"./form/SliderValueTooltip.js\";\nexport * from \"./form/Switch.js\";\nexport * from \"./form/TextArea.js\";\nexport * from \"./form/TextField.js\";\nexport * from \"./form/TextFieldAddon.js\";\nexport * from \"./form/TextFieldContainer.js\";\nexport * from \"./form/TextFieldContainerStyles.js\";\nexport * from \"./form/fileUtils.js\";\nexport * from \"./form/formConfig.js\";\nexport * from \"./form/formMessageStyles.js\";\nexport * from \"./form/menuItemInputToggleStyles.js\";\nexport * from \"./form/nativeSelectStyles.js\";\nexport * from \"./form/optionStyles.js\";\nexport * from \"./form/passwordStyles.js\";\nexport * from \"./form/selectStyles.js\";\nexport * from \"./form/switchStyles.js\";\nexport * from \"./form/textFieldStyles.js\";\nexport * from \"./form/types.js\";\nexport * from \"./form/useCheckboxGroup.js\";\nexport * from \"./form/useCombobox.js\";\nexport * from \"./form/useEditableCombobox.js\";\nexport * from \"./form/useFileUpload.js\";\nexport * from \"./form/useFormReset.js\";\nexport * from \"./form/useListboxProvider.js\";\nexport * from \"./form/useNumberField.js\";\nexport * from \"./form/useRadioGroup.js\";\nexport * from \"./form/useRangeSlider.js\";\nexport * from \"./form/useSelectCombobox.js\";\nexport * from \"./form/useSlider.js\";\nexport * from \"./form/useTextField.js\";\nexport * from \"./form/utils.js\";\nexport * from \"./form/validation.js\";\nexport * from \"./hoverMode/useHoverMode.js\";\nexport * from \"./hoverMode/useHoverModeProvider.js\";\nexport * from \"./icon/FontIcon.js\";\nexport * from \"./icon/IconRotator.js\";\nexport * from \"./icon/MaterialIcon.js\";\nexport * from \"./icon/MaterialSymbol.js\";\nexport * from \"./icon/SVGIcon.js\";\nexport * from \"./icon/TextIconSpacing.js\";\nexport * from \"./icon/iconConfig.js\";\nexport * from \"./icon/material.js\";\nexport * from \"./icon/materialConfig.js\";\nexport * from \"./icon/styles.js\";\nexport * from \"./interaction/Ripple.js\";\nexport * from \"./interaction/RippleContainer.js\";\nexport * from \"./interaction/UserInteractionModeProvider.js\";\nexport * from \"./interaction/config.js\";\nexport * from \"./interaction/types.js\";\nexport * from \"./interaction/useElementInteraction.js\";\nexport * from \"./interaction/useHigherContrastChildren.js\";\nexport * from \"./layout/LayoutAppBar.js\";\nexport * from \"./layout/LayoutNav.js\";\nexport * from \"./layout/LayoutWindowSplitter.js\";\nexport * from \"./layout/Main.js\";\nexport * from \"./layout/layoutNavStyles.js\";\nexport * from \"./layout/layoutWindowSplitterStyles.js\";\nexport * from \"./layout/mainStyles.js\";\nexport * from \"./layout/useExpandableLayout.js\";\nexport * from \"./layout/useHorizontalLayoutTransition.js\";\nexport * from \"./layout/useLayoutAppBarHeight.js\";\nexport * from \"./layout/useLayoutTree.js\";\nexport * from \"./layout/useLayoutWindowSplitter.js\";\nexport * from \"./layout/useMainTabIndex.js\";\nexport * from \"./layout/useResizableLayout.js\";\nexport * from \"./layout/useTemporaryLayout.js\";\nexport * from \"./link/Link.js\";\nexport * from \"./link/SkipToMainContent.js\";\nexport * from \"./link/styles.js\";\nexport * from \"./list/List.js\";\nexport * from \"./list/ListItem.js\";\nexport * from \"./list/ListItemAddon.js\";\nexport * from \"./list/ListItemChildren.js\";\nexport * from \"./list/ListItemLink.js\";\nexport * from \"./list/ListItemText.js\";\nexport * from \"./list/ListSubheader.js\";\nexport * from \"./list/getListItemHeight.js\";\nexport * from \"./list/listItemStyles.js\";\nexport * from \"./list/types.js\";\nexport * from \"./media-queries/AppSizeProvider.js\";\nexport * from \"./media-queries/appSize.js\";\nexport * from \"./media-queries/useMediaQuery.js\";\nexport * from \"./menu/DropdownMenu.js\";\nexport * from \"./menu/Menu.js\";\nexport * from \"./menu/MenuBar.js\";\nexport * from \"./menu/MenuButton.js\";\nexport * from \"./menu/MenuConfigurationProvider.js\";\nexport * from \"./menu/MenuItem.js\";\nexport * from \"./menu/MenuItemButton.js\";\nexport * from \"./menu/MenuItemGroup.js\";\nexport * from \"./menu/MenuItemSeparator.js\";\nexport * from \"./menu/MenuSheet.js\";\nexport * from \"./menu/MenuVisibilityProvider.js\";\nexport * from \"./menu/MenuWidget.js\";\nexport * from \"./menu/useContextMenu.js\";\nexport * from \"./menu/useMenuBarProvider.js\";\nexport * from \"./movement/constants.js\";\nexport * from \"./movement/findMatchIndex.js\";\nexport * from \"./movement/types.js\";\nexport * from \"./movement/useKeyboardMovementProvider.js\";\nexport * from \"./movement/utils.js\";\nexport * from \"./overlay/Overlay.js\";\nexport * from \"./overlay/overlayStyles.js\";\nexport * from \"./portal/Portal.js\";\nexport * from \"./portal/PortalContainerProvider.js\";\nexport * from \"./positioning/constants.js\";\nexport * from \"./positioning/types.js\";\nexport * from \"./positioning/useFixedPositioning.js\";\nexport * from \"./progress/CircularProgress.js\";\nexport * from \"./progress/LinearProgress.js\";\nexport * from \"./progress/getProgressA11y.js\";\nexport * from \"./progress/types.js\";\nexport * from \"./responsive-item/ResponsiveItemContainer.js\";\nexport * from \"./responsive-item/ResponsiveItemOverlay.js\";\nexport * from \"./responsive-item/styles.js\";\nexport * from \"./scroll/ScrollLock.js\";\nexport * from \"./scroll/getScrollbarWidth.js\";\nexport * from \"./scroll/useScrollLock.js\";\nexport * from \"./searching/caseInsensitive.js\";\nexport * from \"./searching/fuzzy.js\";\nexport * from \"./searching/toSearchQuery.js\";\nexport * from \"./searching/types.js\";\nexport * from \"./searching/utils.js\";\nexport * from \"./segmented-button/SegmentedButton.js\";\nexport * from \"./segmented-button/SegmentedButtonContainer.js\";\nexport * from \"./segmented-button/segmentedButtonContainerStyles.js\";\nexport * from \"./segmented-button/segmentedButtonStyles.js\";\nexport * from \"./sheet/Sheet.js\";\nexport * from \"./sheet/styles.js\";\nexport * from \"./snackbar/DefaultToastRenderer.js\";\nexport * from \"./snackbar/Snackbar.js\";\nexport * from \"./snackbar/Toast.js\";\nexport * from \"./snackbar/ToastActionButton.js\";\nexport * from \"./snackbar/ToastCloseButton.js\";\nexport * from \"./snackbar/ToastContent.js\";\nexport * from \"./snackbar/ToastManager.js\";\nexport * from \"./snackbar/ToastManagerProvider.js\";\nexport * from \"./snackbar/snackbarStyles.js\";\nexport * from \"./snackbar/toastContentStyles.js\";\nexport * from \"./snackbar/toastStyles.js\";\nexport * from \"./snackbar/useCurrentToastActions.js\";\nexport * from \"./suspense/CircularProgressSuspense.js\";\nexport * from \"./suspense/NullSuspense.js\";\nexport * from \"./table/Table.js\";\nexport * from \"./table/TableBody.js\";\nexport * from \"./table/TableCell.js\";\nexport * from \"./table/TableCellContent.js\";\nexport * from \"./table/TableCheckbox.js\";\nexport * from \"./table/TableConfigurationProvider.js\";\nexport * from \"./table/TableContainer.js\";\nexport * from \"./table/TableContainerProvider.js\";\nexport * from \"./table/TableFooter.js\";\nexport * from \"./table/TableHeader.js\";\nexport * from \"./table/TableRadio.js\";\nexport * from \"./table/TableRow.js\";\nexport * from \"./table/tableCellStyles.js\";\nexport * from \"./table/tableFooterStyles.js\";\nexport * from \"./table/tableHeaderStyles.js\";\nexport * from \"./table/tableRowStyles.js\";\nexport * from \"./table/tableStyles.js\";\nexport * from \"./table/types.js\";\nexport * from \"./tabs/Tab.js\";\nexport * from \"./tabs/TabList.js\";\nexport * from \"./tabs/TabListScrollButton.js\";\nexport * from \"./tabs/tabIndicatorStyles.js\";\nexport * from \"./tabs/tabListScrollButtonStyles.js\";\nexport * from \"./tabs/tabListStyles.js\";\nexport * from \"./tabs/tabStyles.js\";\nexport * from \"./tabs/useTabs.js\";\nexport { getTabListScrollToOptions } from \"./tabs/utils.js\";\nexport type {\n GetTabListScrollToOptions,\n TabListScrollToOptions,\n} from \"./tabs/utils.js\";\nexport * from \"./theme/LocalStorageColorSchemeProvider.js\";\nexport * from \"./theme/ThemeProvider.js\";\nexport * from \"./theme/colors.js\";\nexport * from \"./theme/cssVars.js\";\nexport * from \"./theme/types.js\";\nexport * from \"./theme/useCSSVariables.js\";\nexport * from \"./theme/useColorScheme.js\";\nexport * from \"./theme/useColorSchemeMetaTag.js\";\nexport * from \"./theme/useColorSchemeProvider.js\";\nexport * from \"./theme/usePrefersColorScheme.js\";\nexport * from \"./theme/utils.js\";\nexport * from \"./tooltip/Tooltip.js\";\nexport * from \"./tooltip/TooltipHoverModeProvider.js\";\nexport * from \"./tooltip/constants.js\";\nexport * from \"./tooltip/tooltipStyles.js\";\nexport * from \"./tooltip/useTooltip.js\";\nexport * from \"./transition/CSSTransition.js\";\nexport * from \"./transition/Collapse.js\";\nexport * from \"./transition/CrossFade.js\";\nexport * from \"./transition/ScaleTransition.js\";\nexport * from \"./transition/SkeletonPlaceholder.js\";\nexport * from \"./transition/Slide.js\";\nexport * from \"./transition/SlideContainer.js\";\nexport * from \"./transition/config.js\";\nexport * from \"./transition/maxWidthTransition.js\";\nexport * from \"./transition/skeletonPlaceholderUtils.js\";\nexport * from \"./transition/types.js\";\nexport * from \"./transition/useCSSTransition.js\";\nexport * from \"./transition/useCarousel.js\";\nexport * from \"./transition/useCollapseTransition.js\";\nexport * from \"./transition/useCrossFadeTransition.js\";\nexport * from \"./transition/useMaxWidthTransition.js\";\nexport * from \"./transition/useScaleTransition.js\";\nexport * from \"./transition/useSkeletonPlaceholder.js\";\nexport * from \"./transition/useSlideTransition.js\";\nexport * from \"./transition/useTransition.js\";\nexport * from \"./tree/DefaultTreeItemRenderer.js\";\nexport * from \"./tree/Tree.js\";\nexport * from \"./tree/TreeGroup.js\";\nexport * from \"./tree/TreeItem.js\";\nexport * from \"./tree/TreeItemExpander.js\";\nexport * from \"./tree/TreeProvider.js\";\nexport * from \"./tree/styles.js\";\nexport * from \"./tree/types.js\";\nexport * from \"./tree/useTree.js\";\nexport * from \"./tree/useTreeExpansion.js\";\nexport * from \"./tree/useTreeItems.js\";\nexport * from \"./tree/useTreeSelection.js\";\nexport * from \"./tree/utils.js\";\nexport * from \"./types.js\";\nexport * from \"./typography/SrOnly.js\";\nexport * from \"./typography/TextContainer.js\";\nexport * from \"./typography/Typography.js\";\nexport * from \"./typography/WritingDirectionProvider.js\";\nexport * from \"./useAsyncAction.js\";\nexport * from \"./useDebouncedFunction.js\";\nexport * from \"./useDropzone.js\";\nexport * from \"./useElementSize.js\";\nexport * from \"./useEnsuredId.js\";\nexport * from \"./useEnsuredRef.js\";\nexport * from \"./useHtmlClassName.js\";\nexport * from \"./useIntersectionObserver.js\";\nexport * from \"./useIsomorphicLayoutEffect.js\";\nexport * from \"./useLocalStorage.js\";\nexport * from \"./useOrientation.js\";\nexport * from \"./usePageInactive.js\";\nexport * from \"./useResizeListener.js\";\nexport * from \"./useResizeObserver.js\";\nexport * from \"./useThrottledFunction.js\";\nexport * from \"./useToggle.js\";\nexport * from \"./useUnmounted.js\";\nexport * from \"./useWindowSize.js\";\nexport * from \"./utils/RenderRecursively.js\";\nexport * from \"./utils/alphaNumericSort.js\";\nexport * from \"./utils/applyRef.js\";\nexport * from \"./utils/bem.js\";\nexport * from \"./utils/getClientPosition.js\";\nexport * from \"./utils/getMiddleOfRange.js\";\nexport * from \"./utils/getPercentage.js\";\nexport * from \"./utils/getRangeDefaultValue.js\";\nexport * from \"./utils/getRangeSteps.js\";\nexport * from \"./utils/identity.js\";\nexport * from \"./utils/isElementVisible.js\";\nexport * from \"./utils/loop.js\";\nexport * from \"./utils/nearest.js\";\nexport * from \"./utils/parseCssLengthUnit.js\";\nexport * from \"./utils/randomInt.js\";\nexport * from \"./utils/wait.js\";\nexport * from \"./utils/withinRange.js\";\nexport * from \"./window-splitter/WindowSplitter.js\";\nexport * from \"./window-splitter/useWindowSplitter.js\";\n"],"names":["nanoid","getTabListScrollToOptions"],"mappings":"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"}
package/dist/menu/Menu.js CHANGED
@@ -10,6 +10,7 @@ import { useFixedPositioning } from "../positioning/useFixedPositioning.js";
10
10
  import { useScrollLock } from "../scroll/useScrollLock.js";
11
11
  import { useScaleTransition } from "../transition/useScaleTransition.js";
12
12
  import { useEnsuredId } from "../useEnsuredId.js";
13
+ import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect.js";
13
14
  import { MenuConfigurationProvider, useMenuConfiguration } from "./MenuConfigurationProvider.js";
14
15
  import { MenuSheet } from "./MenuSheet.js";
15
16
  import { MenuWidget } from "./MenuWidget.js";
@@ -125,7 +126,7 @@ const noop = ()=>{
125
126
  return isHoverDisabled || cancelUnmountFocus.current || root && !!activeId && id !== activeId;
126
127
  }
127
128
  });
128
- const { ref, style, callbacks } = useFixedPositioning({
129
+ const { ref, style, callbacks, updateStyle } = useFixedPositioning({
129
130
  ...transitionOptions,
130
131
  onEnter,
131
132
  style: isSheet ? propStyle : menuStyle,
@@ -211,6 +212,16 @@ const noop = ()=>{
211
212
  role,
212
213
  visible
213
214
  ]);
215
+ useIsomorphicLayoutEffect(()=>{
216
+ if (!visible) {
217
+ return;
218
+ }
219
+ updateStyle();
220
+ }, [
221
+ updateStyle,
222
+ children,
223
+ visible
224
+ ]);
214
225
  return /*#__PURE__*/ _jsx(MenuConfigurationProvider, {
215
226
  horizontal: horizontal,
216
227
  renderAsSheet: renderAsSheet,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/menu/Menu.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n useEffect,\n useRef,\n type CSSProperties,\n type HTMLAttributes,\n} from \"react\";\nimport { type FloatingActionButtonPosition } from \"../button/FloatingActionButton.js\";\nimport { useFocusContainer } from \"../focus/useFocusContainer.js\";\nimport { useUserInteractionMode } from \"../interaction/UserInteractionModeProvider.js\";\nimport { type ListElement, type ListProps } from \"../list/List.js\";\nimport { useAppSize } from \"../media-queries/AppSizeProvider.js\";\nimport { type GetDefaultFocusedIndex } from \"../movement/types.js\";\nimport { Portal } from \"../portal/Portal.js\";\nimport { type CalculateFixedPositionOptions } from \"../positioning/types.js\";\nimport {\n useFixedPositioning,\n type FixedPositioningOptions,\n} from \"../positioning/useFixedPositioning.js\";\nimport { useScrollLock } from \"../scroll/useScrollLock.js\";\nimport {\n useScaleTransition,\n type ScaleTransitionHookOptions,\n} from \"../transition/useScaleTransition.js\";\nimport { type LabelRequiredForA11y, type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport {\n MenuConfigurationProvider,\n useMenuConfiguration,\n type MenuConfiguration,\n type MenuOrientationProps,\n} from \"./MenuConfigurationProvider.js\";\nimport { MenuSheet, type MenuSheetConvenienceProps } from \"./MenuSheet.js\";\nimport { MenuWidget } from \"./MenuWidget.js\";\nimport { useMenuBarContext } from \"./useMenuBarProvider.js\";\nimport { getDefaultAnchor } from \"./utils.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-menu-background-color\"?: string;\n \"--rmd-menu-color\"?: string;\n \"--rmd-menu-min-width\"?: string | number;\n \"--rmd-menu-spacing\"?: string | number;\n }\n}\n\nconst noop = (): void => {\n // do nothing\n};\n\n/** @remarks \\@since 5.0.0 */\nexport type MenuTransitionProps = Omit<\n ScaleTransitionHookOptions<HTMLDivElement>,\n \"transitionIn\" | \"vertical\" | \"nodeRef\"\n>;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface MenuConfigurationProps extends CalculateFixedPositionOptions {\n /**\n * @see {@link ScaleTransitionHookOptions.temporary}\n * @defaultValue `true`\n */\n temporary?: boolean;\n\n /**\n * @defaultValue `false`\n */\n disablePortal?: boolean;\n\n /**\n * Boolean if the menu should not gain the elevation styles and should only be\n * set to `true` when rendering within a `Sheet`.\n *\n * @defaultValue `false`\n */\n disableElevation?: boolean;\n\n /**\n * @defaultValue `false`\n */\n disableTransition?: boolean;\n\n /**\n * @see {@link FixedPositioningOptions.transformOrigin}\n * @defaultValue `true`\n */\n transformOrigin?: boolean;\n\n /**\n * Boolean if the menu should close if the page is scrolled. The default\n * behavior is to just update the position of the menu relative to the menu\n * button until it can no longer be visible within the viewport.\n *\n * @defaultValue `false`\n */\n closeOnScroll?: boolean;\n\n /**\n * Boolean if the page should no longer be scrollable while the menu is\n * visible.\n *\n * @defaultValue `false`\n */\n preventScroll?: boolean;\n\n /**\n * Boolean if the menu should close instead of repositioning itself if the\n * browser window is resized.\n *\n * @defaultValue `false`\n */\n closeOnResize?: boolean;\n\n /** @see {@link FixedPositioningOptions.getFixedPositionOptions} */\n getFixedPositionOptions?(): CalculateFixedPositionOptions;\n}\n\n/**\n * @remarks\n * \\@since 5.1.0\n * \\@since 6.0.0 Renamed from `MenuListProps` to `MenuListConvenienceProps`\n */\nexport interface MenuListConvenienceProps {\n /**\n * An optional style to provide to the `List` component that surrounds the\n * `MenuItem` within a `Menu`.\n */\n listStyle?: CSSProperties;\n\n /**\n * An optional className to provide to the `List` component that surrounds the\n * `MenuItem` within a `Menu`.\n */\n listClassName?: string;\n\n /**\n * Any additional props to pass to the `List` component that surrounds the\n * `Menu`'s `MenuItem`s.\n */\n listProps?: PropsWithRef<Omit<ListProps, \"horizontal\">, ListElement>;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface MenuConvenienceProps extends MenuConfigurationProps {\n /**\n * This can be used to apply additional props to the `Menu` component.\n *\n * Note: You can override the `style` and `className` using\n * {@link menuStyle} and {@link menuClassName} instead for convenience.\n *\n * @example\n * ```tsx\n * <DropdownMenu\n * {...props}\n * menuProps={{\n * style: {\n * // custom inline style\n * },\n * className: \"come-class-name\",\n * getFixedPositionOptions: () => ({\n * preventOverlap: true,\n * }),\n * }}\n * />\n * ```\n */\n menuProps?: PropsWithRef<\n Omit<\n MenuProps,\n | \"children\"\n | \"fixedTo\"\n | \"visible\"\n | \"onRequestClose\"\n | \"getDefaultFocusedIndex\"\n >,\n HTMLDivElement\n >;\n\n /**\n * Convenience prop to apply custom style to the `Menu` component.\n */\n menuStyle?: CSSProperties;\n\n /**\n * Convenience prop to apply custom class name to the `Menu` component.\n */\n menuClassName?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type MenuFixedPositioningOptions = Omit<\n FixedPositioningOptions<HTMLElement, HTMLDivElement>,\n \"onScroll\" | \"onResize\"\n>;\n\n/**\n * @remarks\n * \\@since 5.0.0\n * \\@since 6.0.0 Updated to use the latest Menu, Transition, and Portal API.\n */\nexport interface MenuProps\n extends HTMLAttributes<HTMLDivElement>,\n MenuConfiguration,\n MenuConfigurationProps,\n MenuFixedPositioningOptions,\n MenuOrientationProps,\n MenuTransitionProps,\n MenuListConvenienceProps,\n MenuSheetConvenienceProps {\n visible: boolean;\n onRequestClose(): void;\n\n /**\n * @defaultValue `\"menu-\" + useId()`\n */\n id?: string;\n\n /**\n * This is used to set the default focus index when the menu is visible.\n *\n * @internal\n */\n getDefaultFocusedIndex?: GetDefaultFocusedIndex;\n\n /**\n * Custom style that should be applied to the menu only while not rendered\n * within a sheet since the {@link style} would be applied to both versions.\n */\n menuStyle?: CSSProperties;\n\n /**\n * Custom class name that should be applied only while not rendered within a\n * sheet.\n */\n menuClassName?: string;\n\n /**\n * @internal\n *\n * This is only used to update the default anchor when the DropdownMenu's\n * toggle is a floating action button.\n */\n floating?: FloatingActionButtonPosition;\n}\n\n/**\n * **Client Component**\n *\n * This component should generally only be used to implement context menus with\n * the `useContextMenu` hook. Otherwise, the `DropdownMenu` component should be\n * used.\n *\n * @see The `useContextMenu` hook for an example.\n *\n * @remarks\n * \\@since 5.0.0\n * \\@since 6.0.0 Updated this component to implement all the `Menu`\n * functionality instead of requiring the `useMenu` hook and `MenuWidget`\n * component. In addition, the `renderAsSheet` behavior has been moved into this\n * implementation so that the `MenuRenderer` is no longer required and context\n * menus can appear as a `Sheet`.\n */\nexport const Menu = forwardRef<HTMLDivElement, LabelRequiredForA11y<MenuProps>>(\n function Menu(props, propRef) {\n const {\n id: propId,\n style: propStyle,\n role = \"menu\",\n children,\n horizontal: _horizontal,\n sheetHeader: _sheetHeader,\n sheetFooter: _sheetFooter,\n renderAsSheet: _renderAsSheet,\n sheetPosition: _sheetPosition,\n sheetVerticalSize: _sheetVerticalSize,\n sheetProps,\n sheetStyle,\n sheetClassName,\n menuStyle,\n menuClassName,\n disableElevation = false,\n temporary = true,\n tabIndex = -1,\n fixedTo,\n className,\n classNames,\n timeout,\n appear,\n enter,\n exit,\n onEnter,\n onEntering = noop,\n onEntered = noop,\n onExit,\n onExiting,\n onExited = noop,\n onKeyDown = noop,\n listProps,\n listStyle,\n listClassName,\n visible,\n onRequestClose,\n floating,\n anchor,\n closeOnResize = false,\n closeOnScroll = false,\n preventScroll = false,\n vwMargin,\n vhMargin,\n xMargin,\n yMargin,\n width,\n transformOrigin = true,\n preventOverlap,\n disableSwapping,\n disableVHBounds,\n initialX,\n initialY,\n getFixedPositionOptions,\n disablePortal: propDisablePortal,\n disableTransition,\n ...remaining\n } = props;\n const { \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledBy } =\n props;\n\n const id = useEnsuredId(propId, \"menu\");\n const {\n root,\n menubar,\n menuitem,\n activeId,\n animatedOnceRef,\n hoverTimeoutRef,\n disableHoverMode,\n } = useMenuBarContext();\n const {\n horizontal,\n sheetHeader,\n sheetFooter,\n renderAsSheet,\n sheetPosition,\n sheetVerticalSize,\n } = useMenuConfiguration(props);\n const { isPhone } = useAppSize();\n const isSheet =\n renderAsSheet === true || (renderAsSheet === \"phone\" && isPhone);\n\n const entered = useRef(false);\n const cancelUnmountFocus = useRef(false);\n const hideWithoutRefocus = (): void => {\n cancelUnmountFocus.current = true;\n onRequestClose();\n };\n const mode = useUserInteractionMode();\n const mouse = mode === \"mouse\";\n\n const { eventHandlers, transitionOptions } = useFocusContainer({\n nodeRef: propRef,\n activate: visible,\n onKeyDown(event) {\n onKeyDown(event);\n\n // when a menu is within a sheet, it should not trigger the custom\n // keyboard behavior\n if (isSheet) {\n return;\n }\n\n switch (event.key) {\n case \"Escape\":\n // prevent parent components that have an \"Escape\" keypress event\n // from being triggered as well\n event.stopPropagation();\n disableHoverMode();\n onRequestClose();\n break;\n case \"Tab\":\n // since menus are portalled, tab index is kinda broke so just close\n // the menu instead of doing default tab behavior\n event.preventDefault();\n\n if (!menuitem) {\n // pressing the tab key should still cascade close all menus\n event.stopPropagation();\n }\n disableHoverMode();\n onRequestClose();\n break;\n case \"ArrowUp\":\n if (!root && menuitem && horizontal) {\n event.stopPropagation();\n event.preventDefault();\n onRequestClose();\n }\n break;\n case \"ArrowLeft\":\n if (!root && menuitem && !horizontal) {\n event.stopPropagation();\n event.preventDefault();\n onRequestClose();\n }\n break;\n }\n },\n onEntering(appearing) {\n onEntering(appearing);\n entered.current = true;\n },\n onEntered(appearing) {\n onEntered(appearing);\n entered.current = true;\n cancelUnmountFocus.current = false;\n animatedOnceRef.current = true;\n },\n onExited() {\n onExited();\n entered.current = false;\n },\n onExiting,\n disableTransition,\n isFocusTypeDisabled(type) {\n if (role === \"listbox\") {\n return !isSheet;\n }\n\n if (type === \"keyboard\") {\n return isSheet;\n }\n\n const isHoverDisabled = mouse && hoverTimeoutRef.current === 0;\n if (type === \"mount\") {\n return isHoverDisabled;\n }\n\n return (\n isHoverDisabled ||\n cancelUnmountFocus.current ||\n (root && !!activeId && id !== activeId)\n );\n },\n });\n\n const { ref, style, callbacks } = useFixedPositioning({\n ...transitionOptions,\n onEnter,\n style: isSheet ? propStyle : menuStyle,\n fixedTo,\n anchor: getDefaultAnchor({\n anchor,\n menubar,\n floating,\n menuitem: !root && menuitem,\n horizontal,\n }),\n vwMargin,\n vhMargin,\n xMargin,\n yMargin,\n width,\n transformOrigin,\n preventOverlap,\n disableSwapping,\n disableVHBounds,\n initialX,\n initialY,\n getFixedPositionOptions,\n onResize: closeOnResize ? hideWithoutRefocus : undefined,\n onScroll(_event, data) {\n if (!data.visible || closeOnScroll) {\n hideWithoutRefocus();\n }\n },\n });\n const { rendered, disablePortal, elementProps } = useScaleTransition({\n nodeRef: ref,\n className: cnb(!isSheet && menuClassName, className),\n transitionIn: visible,\n vertical: !horizontal,\n temporary,\n timeout: isSheet || disableTransition ? 0 : timeout,\n classNames,\n appear,\n enter,\n exit,\n onExit,\n onExiting: transitionOptions.onExiting,\n exitedHidden: true,\n ...callbacks,\n });\n useScrollLock(visible && preventScroll);\n\n // need to make sure that the useEffect does not refire for hiding on click\n // events because of the `window.requestAnimationFrame`. It'll make it so\n // that menu items that update state are unable to close when clicked\n const hide = useRef(onRequestClose);\n useEffect(() => {\n hide.current = onRequestClose;\n });\n useEffect(() => {\n if (!visible) {\n return;\n }\n\n const callback = (event: globalThis.MouseEvent): void => {\n // this is required for when the transition is disabled\n if (!entered.current) {\n return;\n }\n\n // if the user clicks outside of the menu to close it, the toggle button\n // should not be focused. instead the nearest focusable element from the\n // click event should be focused when Tab or Shift + tab is pressed\n cancelUnmountFocus.current =\n !(event.target instanceof HTMLElement) ||\n !event.target.closest(`[role=\"${role}\"]`);\n\n // this won't be called if `event.stopPropagation()` is called\n hide.current();\n disableHoverMode();\n };\n\n // wait an animation frame so the initial click event that caused the menu\n // to become visible does not immediately close the menu\n const frame = window.requestAnimationFrame(() => {\n window.addEventListener(\"click\", callback);\n });\n\n return () => {\n window.cancelAnimationFrame(frame);\n window.removeEventListener(\"click\", callback);\n };\n }, [disableHoverMode, role, visible]);\n\n return (\n <MenuConfigurationProvider\n horizontal={horizontal}\n renderAsSheet={renderAsSheet}\n sheetFooter={sheetFooter}\n sheetHeader={sheetHeader}\n sheetPosition={sheetPosition}\n sheetVerticalSize={sheetVerticalSize}\n >\n <MenuSheet\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy as string}\n header={sheetHeader}\n footer={sheetFooter}\n position={sheetPosition}\n verticalSize={sheetVerticalSize}\n visible={visible}\n enabled={isSheet}\n onRequestClose={onRequestClose}\n style={sheetStyle}\n className={sheetClassName}\n disablePortal={propDisablePortal}\n temporary={temporary}\n disableTransition={disableTransition}\n {...sheetProps}\n >\n <Portal disabled={isSheet || (propDisablePortal ?? disablePortal)}>\n {(rendered || isSheet) && (\n <MenuWidget\n {...remaining}\n {...elementProps}\n {...eventHandlers}\n id={id}\n role={role}\n style={isSheet ? propStyle : style}\n isSheet={isSheet}\n tabIndex={tabIndex}\n horizontal={horizontal}\n listProps={listProps}\n listStyle={listStyle}\n listClassName={listClassName}\n disableElevation={disableElevation}\n cancelUnmountFocus={cancelUnmountFocus}\n >\n {children}\n </MenuWidget>\n )}\n </Portal>\n </MenuSheet>\n </MenuConfigurationProvider>\n );\n }\n);\n"],"names":["cnb","forwardRef","useEffect","useRef","useFocusContainer","useUserInteractionMode","useAppSize","Portal","useFixedPositioning","useScrollLock","useScaleTransition","useEnsuredId","MenuConfigurationProvider","useMenuConfiguration","MenuSheet","MenuWidget","useMenuBarContext","getDefaultAnchor","noop","Menu","props","propRef","id","propId","style","propStyle","role","children","horizontal","_horizontal","sheetHeader","_sheetHeader","sheetFooter","_sheetFooter","renderAsSheet","_renderAsSheet","sheetPosition","_sheetPosition","sheetVerticalSize","_sheetVerticalSize","sheetProps","sheetStyle","sheetClassName","menuStyle","menuClassName","disableElevation","temporary","tabIndex","fixedTo","className","classNames","timeout","appear","enter","exit","onEnter","onEntering","onEntered","onExit","onExiting","onExited","onKeyDown","listProps","listStyle","listClassName","visible","onRequestClose","floating","anchor","closeOnResize","closeOnScroll","preventScroll","vwMargin","vhMargin","xMargin","yMargin","width","transformOrigin","preventOverlap","disableSwapping","disableVHBounds","initialX","initialY","getFixedPositionOptions","disablePortal","propDisablePortal","disableTransition","remaining","ariaLabel","ariaLabelledBy","root","menubar","menuitem","activeId","animatedOnceRef","hoverTimeoutRef","disableHoverMode","isPhone","isSheet","entered","cancelUnmountFocus","hideWithoutRefocus","current","mode","mouse","eventHandlers","transitionOptions","nodeRef","activate","event","key","stopPropagation","preventDefault","appearing","isFocusTypeDisabled","type","isHoverDisabled","ref","callbacks","onResize","undefined","onScroll","_event","data","rendered","elementProps","transitionIn","vertical","exitedHidden","hide","callback","target","HTMLElement","closest","frame","window","requestAnimationFrame","addEventListener","cancelAnimationFrame","removeEventListener","aria-label","aria-labelledby","header","footer","position","verticalSize","enabled","disabled"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/menu/Menu.tsx"],"sourcesContent":["\"use client\";\nimport { cnb } from \"cnbuilder\";\nimport {\n forwardRef,\n useEffect,\n useRef,\n type CSSProperties,\n type HTMLAttributes,\n} from \"react\";\nimport { type FloatingActionButtonPosition } from \"../button/FloatingActionButton.js\";\nimport { useFocusContainer } from \"../focus/useFocusContainer.js\";\nimport { useUserInteractionMode } from \"../interaction/UserInteractionModeProvider.js\";\nimport { type ListElement, type ListProps } from \"../list/List.js\";\nimport { useAppSize } from \"../media-queries/AppSizeProvider.js\";\nimport { type GetDefaultFocusedIndex } from \"../movement/types.js\";\nimport { Portal } from \"../portal/Portal.js\";\nimport { type CalculateFixedPositionOptions } from \"../positioning/types.js\";\nimport {\n useFixedPositioning,\n type FixedPositioningOptions,\n} from \"../positioning/useFixedPositioning.js\";\nimport { useScrollLock } from \"../scroll/useScrollLock.js\";\nimport {\n useScaleTransition,\n type ScaleTransitionHookOptions,\n} from \"../transition/useScaleTransition.js\";\nimport { type LabelRequiredForA11y, type PropsWithRef } from \"../types.js\";\nimport { useEnsuredId } from \"../useEnsuredId.js\";\nimport { useIsomorphicLayoutEffect } from \"../useIsomorphicLayoutEffect.js\";\nimport {\n MenuConfigurationProvider,\n useMenuConfiguration,\n type MenuConfiguration,\n type MenuOrientationProps,\n} from \"./MenuConfigurationProvider.js\";\nimport { MenuSheet, type MenuSheetConvenienceProps } from \"./MenuSheet.js\";\nimport { MenuWidget } from \"./MenuWidget.js\";\nimport { useMenuBarContext } from \"./useMenuBarProvider.js\";\nimport { getDefaultAnchor } from \"./utils.js\";\n\ndeclare module \"react\" {\n interface CSSProperties {\n \"--rmd-menu-background-color\"?: string;\n \"--rmd-menu-color\"?: string;\n \"--rmd-menu-min-width\"?: string | number;\n \"--rmd-menu-spacing\"?: string | number;\n }\n}\n\nconst noop = (): void => {\n // do nothing\n};\n\n/** @remarks \\@since 5.0.0 */\nexport type MenuTransitionProps = Omit<\n ScaleTransitionHookOptions<HTMLDivElement>,\n \"transitionIn\" | \"vertical\" | \"nodeRef\"\n>;\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface MenuConfigurationProps extends CalculateFixedPositionOptions {\n /**\n * @see {@link ScaleTransitionHookOptions.temporary}\n * @defaultValue `true`\n */\n temporary?: boolean;\n\n /**\n * @defaultValue `false`\n */\n disablePortal?: boolean;\n\n /**\n * Boolean if the menu should not gain the elevation styles and should only be\n * set to `true` when rendering within a `Sheet`.\n *\n * @defaultValue `false`\n */\n disableElevation?: boolean;\n\n /**\n * @defaultValue `false`\n */\n disableTransition?: boolean;\n\n /**\n * @see {@link FixedPositioningOptions.transformOrigin}\n * @defaultValue `true`\n */\n transformOrigin?: boolean;\n\n /**\n * Boolean if the menu should close if the page is scrolled. The default\n * behavior is to just update the position of the menu relative to the menu\n * button until it can no longer be visible within the viewport.\n *\n * @defaultValue `false`\n */\n closeOnScroll?: boolean;\n\n /**\n * Boolean if the page should no longer be scrollable while the menu is\n * visible.\n *\n * @defaultValue `false`\n */\n preventScroll?: boolean;\n\n /**\n * Boolean if the menu should close instead of repositioning itself if the\n * browser window is resized.\n *\n * @defaultValue `false`\n */\n closeOnResize?: boolean;\n\n /** @see {@link FixedPositioningOptions.getFixedPositionOptions} */\n getFixedPositionOptions?(): CalculateFixedPositionOptions;\n}\n\n/**\n * @remarks\n * \\@since 5.1.0\n * \\@since 6.0.0 Renamed from `MenuListProps` to `MenuListConvenienceProps`\n */\nexport interface MenuListConvenienceProps {\n /**\n * An optional style to provide to the `List` component that surrounds the\n * `MenuItem` within a `Menu`.\n */\n listStyle?: CSSProperties;\n\n /**\n * An optional className to provide to the `List` component that surrounds the\n * `MenuItem` within a `Menu`.\n */\n listClassName?: string;\n\n /**\n * Any additional props to pass to the `List` component that surrounds the\n * `Menu`'s `MenuItem`s.\n */\n listProps?: PropsWithRef<Omit<ListProps, \"horizontal\">, ListElement>;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport interface MenuConvenienceProps extends MenuConfigurationProps {\n /**\n * This can be used to apply additional props to the `Menu` component.\n *\n * Note: You can override the `style` and `className` using\n * {@link menuStyle} and {@link menuClassName} instead for convenience.\n *\n * @example\n * ```tsx\n * <DropdownMenu\n * {...props}\n * menuProps={{\n * style: {\n * // custom inline style\n * },\n * className: \"come-class-name\",\n * getFixedPositionOptions: () => ({\n * preventOverlap: true,\n * }),\n * }}\n * />\n * ```\n */\n menuProps?: PropsWithRef<\n Omit<\n MenuProps,\n | \"children\"\n | \"fixedTo\"\n | \"visible\"\n | \"onRequestClose\"\n | \"getDefaultFocusedIndex\"\n >,\n HTMLDivElement\n >;\n\n /**\n * Convenience prop to apply custom style to the `Menu` component.\n */\n menuStyle?: CSSProperties;\n\n /**\n * Convenience prop to apply custom class name to the `Menu` component.\n */\n menuClassName?: string;\n}\n\n/**\n * @remarks \\@since 6.0.0\n */\nexport type MenuFixedPositioningOptions = Omit<\n FixedPositioningOptions<HTMLElement, HTMLDivElement>,\n \"onScroll\" | \"onResize\"\n>;\n\n/**\n * @remarks\n * \\@since 5.0.0\n * \\@since 6.0.0 Updated to use the latest Menu, Transition, and Portal API.\n */\nexport interface MenuProps\n extends HTMLAttributes<HTMLDivElement>,\n MenuConfiguration,\n MenuConfigurationProps,\n MenuFixedPositioningOptions,\n MenuOrientationProps,\n MenuTransitionProps,\n MenuListConvenienceProps,\n MenuSheetConvenienceProps {\n visible: boolean;\n onRequestClose(): void;\n\n /**\n * @defaultValue `\"menu-\" + useId()`\n */\n id?: string;\n\n /**\n * This is used to set the default focus index when the menu is visible.\n *\n * @internal\n */\n getDefaultFocusedIndex?: GetDefaultFocusedIndex;\n\n /**\n * Custom style that should be applied to the menu only while not rendered\n * within a sheet since the {@link style} would be applied to both versions.\n */\n menuStyle?: CSSProperties;\n\n /**\n * Custom class name that should be applied only while not rendered within a\n * sheet.\n */\n menuClassName?: string;\n\n /**\n * @internal\n *\n * This is only used to update the default anchor when the DropdownMenu's\n * toggle is a floating action button.\n */\n floating?: FloatingActionButtonPosition;\n}\n\n/**\n * **Client Component**\n *\n * This component should generally only be used to implement context menus with\n * the `useContextMenu` hook. Otherwise, the `DropdownMenu` component should be\n * used.\n *\n * @see The `useContextMenu` hook for an example.\n *\n * @remarks\n * \\@since 5.0.0\n * \\@since 6.0.0 Updated this component to implement all the `Menu`\n * functionality instead of requiring the `useMenu` hook and `MenuWidget`\n * component. In addition, the `renderAsSheet` behavior has been moved into this\n * implementation so that the `MenuRenderer` is no longer required and context\n * menus can appear as a `Sheet`.\n */\nexport const Menu = forwardRef<HTMLDivElement, LabelRequiredForA11y<MenuProps>>(\n function Menu(props, propRef) {\n const {\n id: propId,\n style: propStyle,\n role = \"menu\",\n children,\n horizontal: _horizontal,\n sheetHeader: _sheetHeader,\n sheetFooter: _sheetFooter,\n renderAsSheet: _renderAsSheet,\n sheetPosition: _sheetPosition,\n sheetVerticalSize: _sheetVerticalSize,\n sheetProps,\n sheetStyle,\n sheetClassName,\n menuStyle,\n menuClassName,\n disableElevation = false,\n temporary = true,\n tabIndex = -1,\n fixedTo,\n className,\n classNames,\n timeout,\n appear,\n enter,\n exit,\n onEnter,\n onEntering = noop,\n onEntered = noop,\n onExit,\n onExiting,\n onExited = noop,\n onKeyDown = noop,\n listProps,\n listStyle,\n listClassName,\n visible,\n onRequestClose,\n floating,\n anchor,\n closeOnResize = false,\n closeOnScroll = false,\n preventScroll = false,\n vwMargin,\n vhMargin,\n xMargin,\n yMargin,\n width,\n transformOrigin = true,\n preventOverlap,\n disableSwapping,\n disableVHBounds,\n initialX,\n initialY,\n getFixedPositionOptions,\n disablePortal: propDisablePortal,\n disableTransition,\n ...remaining\n } = props;\n const { \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledBy } =\n props;\n\n const id = useEnsuredId(propId, \"menu\");\n const {\n root,\n menubar,\n menuitem,\n activeId,\n animatedOnceRef,\n hoverTimeoutRef,\n disableHoverMode,\n } = useMenuBarContext();\n const {\n horizontal,\n sheetHeader,\n sheetFooter,\n renderAsSheet,\n sheetPosition,\n sheetVerticalSize,\n } = useMenuConfiguration(props);\n const { isPhone } = useAppSize();\n const isSheet =\n renderAsSheet === true || (renderAsSheet === \"phone\" && isPhone);\n\n const entered = useRef(false);\n const cancelUnmountFocus = useRef(false);\n const hideWithoutRefocus = (): void => {\n cancelUnmountFocus.current = true;\n onRequestClose();\n };\n const mode = useUserInteractionMode();\n const mouse = mode === \"mouse\";\n\n const { eventHandlers, transitionOptions } = useFocusContainer({\n nodeRef: propRef,\n activate: visible,\n onKeyDown(event) {\n onKeyDown(event);\n\n // when a menu is within a sheet, it should not trigger the custom\n // keyboard behavior\n if (isSheet) {\n return;\n }\n\n switch (event.key) {\n case \"Escape\":\n // prevent parent components that have an \"Escape\" keypress event\n // from being triggered as well\n event.stopPropagation();\n disableHoverMode();\n onRequestClose();\n break;\n case \"Tab\":\n // since menus are portalled, tab index is kinda broke so just close\n // the menu instead of doing default tab behavior\n event.preventDefault();\n\n if (!menuitem) {\n // pressing the tab key should still cascade close all menus\n event.stopPropagation();\n }\n disableHoverMode();\n onRequestClose();\n break;\n case \"ArrowUp\":\n if (!root && menuitem && horizontal) {\n event.stopPropagation();\n event.preventDefault();\n onRequestClose();\n }\n break;\n case \"ArrowLeft\":\n if (!root && menuitem && !horizontal) {\n event.stopPropagation();\n event.preventDefault();\n onRequestClose();\n }\n break;\n }\n },\n onEntering(appearing) {\n onEntering(appearing);\n entered.current = true;\n },\n onEntered(appearing) {\n onEntered(appearing);\n entered.current = true;\n cancelUnmountFocus.current = false;\n animatedOnceRef.current = true;\n },\n onExited() {\n onExited();\n entered.current = false;\n },\n onExiting,\n disableTransition,\n isFocusTypeDisabled(type) {\n if (role === \"listbox\") {\n return !isSheet;\n }\n\n if (type === \"keyboard\") {\n return isSheet;\n }\n\n const isHoverDisabled = mouse && hoverTimeoutRef.current === 0;\n if (type === \"mount\") {\n return isHoverDisabled;\n }\n\n return (\n isHoverDisabled ||\n cancelUnmountFocus.current ||\n (root && !!activeId && id !== activeId)\n );\n },\n });\n\n const { ref, style, callbacks, updateStyle } = useFixedPositioning({\n ...transitionOptions,\n onEnter,\n style: isSheet ? propStyle : menuStyle,\n fixedTo,\n anchor: getDefaultAnchor({\n anchor,\n menubar,\n floating,\n menuitem: !root && menuitem,\n horizontal,\n }),\n vwMargin,\n vhMargin,\n xMargin,\n yMargin,\n width,\n transformOrigin,\n preventOverlap,\n disableSwapping,\n disableVHBounds,\n initialX,\n initialY,\n getFixedPositionOptions,\n onResize: closeOnResize ? hideWithoutRefocus : undefined,\n onScroll(_event, data) {\n if (!data.visible || closeOnScroll) {\n hideWithoutRefocus();\n }\n },\n });\n const { rendered, disablePortal, elementProps } = useScaleTransition({\n nodeRef: ref,\n className: cnb(!isSheet && menuClassName, className),\n transitionIn: visible,\n vertical: !horizontal,\n temporary,\n timeout: isSheet || disableTransition ? 0 : timeout,\n classNames,\n appear,\n enter,\n exit,\n onExit,\n onExiting: transitionOptions.onExiting,\n exitedHidden: true,\n ...callbacks,\n });\n useScrollLock(visible && preventScroll);\n\n // need to make sure that the useEffect does not refire for hiding on click\n // events because of the `window.requestAnimationFrame`. It'll make it so\n // that menu items that update state are unable to close when clicked\n const hide = useRef(onRequestClose);\n useEffect(() => {\n hide.current = onRequestClose;\n });\n useEffect(() => {\n if (!visible) {\n return;\n }\n\n const callback = (event: globalThis.MouseEvent): void => {\n // this is required for when the transition is disabled\n if (!entered.current) {\n return;\n }\n\n // if the user clicks outside of the menu to close it, the toggle button\n // should not be focused. instead the nearest focusable element from the\n // click event should be focused when Tab or Shift + tab is pressed\n cancelUnmountFocus.current =\n !(event.target instanceof HTMLElement) ||\n !event.target.closest(`[role=\"${role}\"]`);\n\n // this won't be called if `event.stopPropagation()` is called\n hide.current();\n disableHoverMode();\n };\n\n // wait an animation frame so the initial click event that caused the menu\n // to become visible does not immediately close the menu\n const frame = window.requestAnimationFrame(() => {\n window.addEventListener(\"click\", callback);\n });\n\n return () => {\n window.cancelAnimationFrame(frame);\n window.removeEventListener(\"click\", callback);\n };\n }, [disableHoverMode, role, visible]);\n useIsomorphicLayoutEffect(() => {\n if (!visible) {\n return;\n }\n\n updateStyle();\n }, [updateStyle, children, visible]);\n\n return (\n <MenuConfigurationProvider\n horizontal={horizontal}\n renderAsSheet={renderAsSheet}\n sheetFooter={sheetFooter}\n sheetHeader={sheetHeader}\n sheetPosition={sheetPosition}\n sheetVerticalSize={sheetVerticalSize}\n >\n <MenuSheet\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy as string}\n header={sheetHeader}\n footer={sheetFooter}\n position={sheetPosition}\n verticalSize={sheetVerticalSize}\n visible={visible}\n enabled={isSheet}\n onRequestClose={onRequestClose}\n style={sheetStyle}\n className={sheetClassName}\n disablePortal={propDisablePortal}\n temporary={temporary}\n disableTransition={disableTransition}\n {...sheetProps}\n >\n <Portal disabled={isSheet || (propDisablePortal ?? disablePortal)}>\n {(rendered || isSheet) && (\n <MenuWidget\n {...remaining}\n {...elementProps}\n {...eventHandlers}\n id={id}\n role={role}\n style={isSheet ? propStyle : style}\n isSheet={isSheet}\n tabIndex={tabIndex}\n horizontal={horizontal}\n listProps={listProps}\n listStyle={listStyle}\n listClassName={listClassName}\n disableElevation={disableElevation}\n cancelUnmountFocus={cancelUnmountFocus}\n >\n {children}\n </MenuWidget>\n )}\n </Portal>\n </MenuSheet>\n </MenuConfigurationProvider>\n );\n }\n);\n"],"names":["cnb","forwardRef","useEffect","useRef","useFocusContainer","useUserInteractionMode","useAppSize","Portal","useFixedPositioning","useScrollLock","useScaleTransition","useEnsuredId","useIsomorphicLayoutEffect","MenuConfigurationProvider","useMenuConfiguration","MenuSheet","MenuWidget","useMenuBarContext","getDefaultAnchor","noop","Menu","props","propRef","id","propId","style","propStyle","role","children","horizontal","_horizontal","sheetHeader","_sheetHeader","sheetFooter","_sheetFooter","renderAsSheet","_renderAsSheet","sheetPosition","_sheetPosition","sheetVerticalSize","_sheetVerticalSize","sheetProps","sheetStyle","sheetClassName","menuStyle","menuClassName","disableElevation","temporary","tabIndex","fixedTo","className","classNames","timeout","appear","enter","exit","onEnter","onEntering","onEntered","onExit","onExiting","onExited","onKeyDown","listProps","listStyle","listClassName","visible","onRequestClose","floating","anchor","closeOnResize","closeOnScroll","preventScroll","vwMargin","vhMargin","xMargin","yMargin","width","transformOrigin","preventOverlap","disableSwapping","disableVHBounds","initialX","initialY","getFixedPositionOptions","disablePortal","propDisablePortal","disableTransition","remaining","ariaLabel","ariaLabelledBy","root","menubar","menuitem","activeId","animatedOnceRef","hoverTimeoutRef","disableHoverMode","isPhone","isSheet","entered","cancelUnmountFocus","hideWithoutRefocus","current","mode","mouse","eventHandlers","transitionOptions","nodeRef","activate","event","key","stopPropagation","preventDefault","appearing","isFocusTypeDisabled","type","isHoverDisabled","ref","callbacks","updateStyle","onResize","undefined","onScroll","_event","data","rendered","elementProps","transitionIn","vertical","exitedHidden","hide","callback","target","HTMLElement","closest","frame","window","requestAnimationFrame","addEventListener","cancelAnimationFrame","removeEventListener","aria-label","aria-labelledby","header","footer","position","verticalSize","enabled","disabled"],"mappings":"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"}
@@ -57,15 +57,15 @@ export interface ContextMenuImplementation extends UseStateObject<"visible", boo
57
57
  * const { menuProps, onContextMenu } = useContextMenu();
58
58
  *
59
59
  * return (
60
- * <div onContextMenu={onContextMenu}>
61
- * <textarea />
60
+ * <>
61
+ * <textarea onContextMenu={onContextMenu} />
62
62
  * <Menu {...menuProps}>
63
63
  * <MenuItem>Cut</MenuItem>
64
64
  * <MenuItem>Copy</MenuItem>
65
65
  * <MenuItem>Paste</MenuItem>
66
66
  * <MenuItem>Undo</MenuItem>
67
67
  * </Menu>
68
- * </div>
68
+ * </>
69
69
  * );
70
70
  * }
71
71
  * ```
@@ -17,15 +17,15 @@ const noop = ()=>{
17
17
  * const { menuProps, onContextMenu } = useContextMenu();
18
18
  *
19
19
  * return (
20
- * <div onContextMenu={onContextMenu}>
21
- * <textarea />
20
+ * <>
21
+ * <textarea onContextMenu={onContextMenu} />
22
22
  * <Menu {...menuProps}>
23
23
  * <MenuItem>Cut</MenuItem>
24
24
  * <MenuItem>Copy</MenuItem>
25
25
  * <MenuItem>Paste</MenuItem>
26
26
  * <MenuItem>Undo</MenuItem>
27
27
  * </Menu>
28
- * </div>
28
+ * </>
29
29
  * );
30
30
  * }
31
31
  * ```
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/menu/useContextMenu.ts"],"sourcesContent":["\"use client\";\nimport type { MouseEvent, RefObject } from \"react\";\nimport { useCallback, useRef, useState } from \"react\";\nimport { BELOW_INNER_LEFT_ANCHOR } from \"../positioning/constants.js\";\nimport type { InitialCoords, PositionAnchor } from \"../positioning/types.js\";\nimport type { UseStateObject } from \"../types.js\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface ContextMenuProps extends InitialCoords {\n \"aria-label\": string;\n anchor: PositionAnchor;\n fixedTo: RefObject<HTMLElement>;\n visible: boolean;\n preventScroll: boolean;\n onRequestClose(): void;\n}\n\n/**\n * @remarks\n * \\@since 5.0.0\n * \\@since 6.0.0 Dropped most options since they are no longer required for the\n * context menu to work. Apply any `Menu` props directly to the `Menu` component\n * instead.\n */\nexport interface ContextMenuHookOptions {\n /**\n * @defaultValue `BELOW_INNER_LEFT_ANCHOR`\n * @see {@link BELOW_INNER_LEFT_ANCHOR}\n */\n anchor?: PositionAnchor;\n\n /**\n * @defaultValue `\"Context Menu\"`\n */\n menuLabel?: string;\n\n /**\n * @defaultValue `true`\n */\n preventScroll?: boolean;\n onContextMenu?<E extends HTMLElement>(event: MouseEvent<E>): void;\n}\n\n/**\n * @remarks\n * \\@since 5.0.0\n * \\@since 6.0.0 Renamed from `ContextMenuHookReturnValue` to\n * `ContextMenuImplementation` and dropped the `menuRef` and `menuNodeRef`\n * fields.\n */\nexport interface ContextMenuImplementation\n extends UseStateObject<\"visible\", boolean> {\n menuProps: ContextMenuProps;\n onContextMenu<E extends HTMLElement>(event: MouseEvent<E>): void;\n}\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * This hook controls the visibility and positioning for a context menu.\n *\n * @example\n * Simple Example\n * ```tsx\n * import type { ReactElement } from \"react\";\n * import [ Menu, MenuItem, useContextMenu ] from \"@react-md/core\":\n *\n * function Example(): ReactElement {\n * const { menuProps, onContextMenu } = useContextMenu();\n *\n * return (\n * <div onContextMenu={onContextMenu}>\n * <textarea />\n * <Menu {...menuProps}>\n * <MenuItem>Cut</MenuItem>\n * <MenuItem>Copy</MenuItem>\n * <MenuItem>Paste</MenuItem>\n * <MenuItem>Undo</MenuItem>\n * </Menu>\n * </div>\n * );\n * }\n * ```\n *\n * @remarks\n * \\@since 5.0.0\n * \\@since 6.0.0 No longer supports overriding most of the `Menu` props. The\n * props must be passed to the `Menu` component manually.\n */\nexport function useContextMenu(\n options: ContextMenuHookOptions = {}\n): ContextMenuImplementation {\n const {\n anchor = BELOW_INNER_LEFT_ANCHOR,\n menuLabel = \"Context Menu\",\n onContextMenu = noop,\n preventScroll = true,\n } = options;\n const [coords, setCoords] = useState<InitialCoords>({});\n const [visible, setVisible] = useState(false);\n const fixedTo = useRef<HTMLElement>(null);\n const onRequestClose = useCallback(() => {\n setVisible(false);\n }, []);\n\n return {\n visible,\n setVisible,\n menuProps: {\n \"aria-label\": menuLabel,\n anchor,\n ...coords,\n fixedTo,\n visible,\n onRequestClose,\n preventScroll,\n },\n onContextMenu(event) {\n onContextMenu(event);\n if (event.isPropagationStopped()) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n setCoords({\n initialX: event.clientX,\n initialY: event.clientY,\n });\n setVisible(true);\n },\n };\n}\n"],"names":["useCallback","useRef","useState","BELOW_INNER_LEFT_ANCHOR","noop","useContextMenu","options","anchor","menuLabel","onContextMenu","preventScroll","coords","setCoords","visible","setVisible","fixedTo","onRequestClose","menuProps","event","isPropagationStopped","preventDefault","stopPropagation","initialX","clientX","initialY","clientY"],"mappings":"AAAA;AAEA,SAASA,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AACtD,SAASC,uBAAuB,QAAQ,8BAA8B;AAqDtE,MAAMC,OAAO;AACX,aAAa;AACf;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BC,GACD,OAAO,SAASC,eACdC,UAAkC,CAAC,CAAC;IAEpC,MAAM,EACJC,SAASJ,uBAAuB,EAChCK,YAAY,cAAc,EAC1BC,gBAAgBL,IAAI,EACpBM,gBAAgB,IAAI,EACrB,GAAGJ;IACJ,MAAM,CAACK,QAAQC,UAAU,GAAGV,SAAwB,CAAC;IACrD,MAAM,CAACW,SAASC,WAAW,GAAGZ,SAAS;IACvC,MAAMa,UAAUd,OAAoB;IACpC,MAAMe,iBAAiBhB,YAAY;QACjCc,WAAW;IACb,GAAG,EAAE;IAEL,OAAO;QACLD;QACAC;QACAG,WAAW;YACT,cAAcT;YACdD;YACA,GAAGI,MAAM;YACTI;YACAF;YACAG;YACAN;QACF;QACAD,eAAcS,KAAK;YACjBT,cAAcS;YACd,IAAIA,MAAMC,oBAAoB,IAAI;gBAChC;YACF;YAEAD,MAAME,cAAc;YACpBF,MAAMG,eAAe;YACrBT,UAAU;gBACRU,UAAUJ,MAAMK,OAAO;gBACvBC,UAAUN,MAAMO,OAAO;YACzB;YACAX,WAAW;QACb;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/menu/useContextMenu.ts"],"sourcesContent":["\"use client\";\nimport type { MouseEvent, RefObject } from \"react\";\nimport { useCallback, useRef, useState } from \"react\";\nimport { BELOW_INNER_LEFT_ANCHOR } from \"../positioning/constants.js\";\nimport type { InitialCoords, PositionAnchor } from \"../positioning/types.js\";\nimport type { UseStateObject } from \"../types.js\";\n\n/** @remarks \\@since 6.0.0 */\nexport interface ContextMenuProps extends InitialCoords {\n \"aria-label\": string;\n anchor: PositionAnchor;\n fixedTo: RefObject<HTMLElement>;\n visible: boolean;\n preventScroll: boolean;\n onRequestClose(): void;\n}\n\n/**\n * @remarks\n * \\@since 5.0.0\n * \\@since 6.0.0 Dropped most options since they are no longer required for the\n * context menu to work. Apply any `Menu` props directly to the `Menu` component\n * instead.\n */\nexport interface ContextMenuHookOptions {\n /**\n * @defaultValue `BELOW_INNER_LEFT_ANCHOR`\n * @see {@link BELOW_INNER_LEFT_ANCHOR}\n */\n anchor?: PositionAnchor;\n\n /**\n * @defaultValue `\"Context Menu\"`\n */\n menuLabel?: string;\n\n /**\n * @defaultValue `true`\n */\n preventScroll?: boolean;\n onContextMenu?<E extends HTMLElement>(event: MouseEvent<E>): void;\n}\n\n/**\n * @remarks\n * \\@since 5.0.0\n * \\@since 6.0.0 Renamed from `ContextMenuHookReturnValue` to\n * `ContextMenuImplementation` and dropped the `menuRef` and `menuNodeRef`\n * fields.\n */\nexport interface ContextMenuImplementation\n extends UseStateObject<\"visible\", boolean> {\n menuProps: ContextMenuProps;\n onContextMenu<E extends HTMLElement>(event: MouseEvent<E>): void;\n}\n\nconst noop = (): void => {\n // do nothing\n};\n\n/**\n * This hook controls the visibility and positioning for a context menu.\n *\n * @example\n * Simple Example\n * ```tsx\n * import type { ReactElement } from \"react\";\n * import [ Menu, MenuItem, useContextMenu ] from \"@react-md/core\":\n *\n * function Example(): ReactElement {\n * const { menuProps, onContextMenu } = useContextMenu();\n *\n * return (\n * <>\n * <textarea onContextMenu={onContextMenu} />\n * <Menu {...menuProps}>\n * <MenuItem>Cut</MenuItem>\n * <MenuItem>Copy</MenuItem>\n * <MenuItem>Paste</MenuItem>\n * <MenuItem>Undo</MenuItem>\n * </Menu>\n * </>\n * );\n * }\n * ```\n *\n * @remarks\n * \\@since 5.0.0\n * \\@since 6.0.0 No longer supports overriding most of the `Menu` props. The\n * props must be passed to the `Menu` component manually.\n */\nexport function useContextMenu(\n options: ContextMenuHookOptions = {}\n): ContextMenuImplementation {\n const {\n anchor = BELOW_INNER_LEFT_ANCHOR,\n menuLabel = \"Context Menu\",\n onContextMenu = noop,\n preventScroll = true,\n } = options;\n const [coords, setCoords] = useState<InitialCoords>({});\n const [visible, setVisible] = useState(false);\n const fixedTo = useRef<HTMLElement>(null);\n const onRequestClose = useCallback(() => {\n setVisible(false);\n }, []);\n\n return {\n visible,\n setVisible,\n menuProps: {\n \"aria-label\": menuLabel,\n anchor,\n ...coords,\n fixedTo,\n visible,\n onRequestClose,\n preventScroll,\n },\n onContextMenu(event) {\n onContextMenu(event);\n if (event.isPropagationStopped()) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n setCoords({\n initialX: event.clientX,\n initialY: event.clientY,\n });\n setVisible(true);\n },\n };\n}\n"],"names":["useCallback","useRef","useState","BELOW_INNER_LEFT_ANCHOR","noop","useContextMenu","options","anchor","menuLabel","onContextMenu","preventScroll","coords","setCoords","visible","setVisible","fixedTo","onRequestClose","menuProps","event","isPropagationStopped","preventDefault","stopPropagation","initialX","clientX","initialY","clientY"],"mappings":"AAAA;AAEA,SAASA,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AACtD,SAASC,uBAAuB,QAAQ,8BAA8B;AAqDtE,MAAMC,OAAO;AACX,aAAa;AACf;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BC,GACD,OAAO,SAASC,eACdC,UAAkC,CAAC,CAAC;IAEpC,MAAM,EACJC,SAASJ,uBAAuB,EAChCK,YAAY,cAAc,EAC1BC,gBAAgBL,IAAI,EACpBM,gBAAgB,IAAI,EACrB,GAAGJ;IACJ,MAAM,CAACK,QAAQC,UAAU,GAAGV,SAAwB,CAAC;IACrD,MAAM,CAACW,SAASC,WAAW,GAAGZ,SAAS;IACvC,MAAMa,UAAUd,OAAoB;IACpC,MAAMe,iBAAiBhB,YAAY;QACjCc,WAAW;IACb,GAAG,EAAE;IAEL,OAAO;QACLD;QACAC;QACAG,WAAW;YACT,cAAcT;YACdD;YACA,GAAGI,MAAM;YACTI;YACAF;YACAG;YACAN;QACF;QACAD,eAAcS,KAAK;YACjBT,cAAcS;YACd,IAAIA,MAAMC,oBAAoB,IAAI;gBAChC;YACF;YAEAD,MAAME,cAAc;YACpBF,MAAMG,eAAe;YACrBT,UAAU;gBACRU,UAAUJ,MAAMK,OAAO;gBACvBC,UAAUN,MAAMO,OAAO;YACzB;YACAX,WAAW;QACb;IACF;AACF"}
@@ -17,6 +17,23 @@ import type { NonNullMutableRef, NonNullRef, UseStateSetter } from "../types.js"
17
17
  * @remarks \@since 6.0.0
18
18
  */
19
19
  export type TabIndexBehavior = "roving" | "virtual";
20
+ /**
21
+ * This should be used for specific widgets that should not include all
22
+ * focusable elements and instead only specific elements.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const getExpansionPanelsOnly: GetFocusableElements = (container) =>
27
+ * [...container.querySelectorAll(".rmd-expansion-panel__button")];
28
+ *
29
+ * const getTreeItemsOnly: GetFocusableElements = (container) =>
30
+ * [...container.querySelectorAll("[role='treeitem']")];
31
+ * ```
32
+ *
33
+ * @defaultValue `getFocusableElements`
34
+ * @see the default `getFocusableElements` function.
35
+ */
36
+ export type GetFocusableElements = (container: HTMLElement, programmatic: boolean) => readonly HTMLElement[];
20
37
  /**
21
38
  * @remarks \@since 5.0.0
22
39
  */
@@ -126,7 +143,12 @@ export type GetDefaultFocusedIndex = (options: FocusableIndexOptions) => number;
126
143
  * @remarks \@since 6.0.0
127
144
  * @internal
128
145
  */
129
- export interface FocusChangeEvent {
146
+ export type ExtendKeyDown<E extends HTMLElement> = (movementData: KeyboardMovementExtensionData<E>) => void;
147
+ /**
148
+ * @remarks \@since 6.0.0
149
+ * @internal
150
+ */
151
+ export interface KeyboardMovementFocusChangeEvent {
130
152
  index: number;
131
153
  element: HTMLElement;
132
154
  }
@@ -134,7 +156,7 @@ export interface FocusChangeEvent {
134
156
  * @remarks \@since 6.0.0
135
157
  * @internal
136
158
  */
137
- export type KeyboardMovementFocusChangeEvent = (event: FocusChangeEvent) => void;
159
+ export type KeyboardMovementFocusChangeEventHandler = (event: KeyboardMovementFocusChangeEvent) => void;
138
160
  /**
139
161
  * @remarks \@since 6.0.0
140
162
  * @internal
@@ -155,14 +177,16 @@ export interface KeyboardMovementProviderOptions<E extends HTMLElement> extends
155
177
  onClick?(event: MouseEvent<E>): void;
156
178
  onFocus?(event: FocusEvent<E>): void;
157
179
  onKeyDown?(event: KeyboardEvent<E>): void;
180
+ /** @defaultValue `false` */
181
+ disabled?: boolean;
158
182
  /**
159
183
  * This is used to implement custom keyboard movement for the `keydown` event.
160
184
  */
161
- extendKeyDown?(movementData: KeyboardMovementExtensionData<E>): void;
185
+ extendKeyDown?: ExtendKeyDown<E>;
162
186
  /**
163
187
  * Triggered whenever the focus changes.
164
188
  */
165
- onFocusChange?: KeyboardMovementFocusChangeEvent;
189
+ onFocusChange?: KeyboardMovementFocusChangeEventHandler;
166
190
  /**
167
191
  * From what I've understood so far, programmatically focusable elements
168
192
  * should only be included when disabled elements via `aria-disabled` are
@@ -171,28 +195,22 @@ export interface KeyboardMovementProviderOptions<E extends HTMLElement> extends
171
195
  * @defaultValue `includeDisabled`
172
196
  */
173
197
  programmatic?: boolean;
174
- /**
175
- * This should be used for specific widgets that should not include all
176
- * focusable elements and instead only specific elements.
177
- *
178
- * @example
179
- * ```ts
180
- * const getExpansionPanelsOnly = (container: HTMLElement): readonly HTMLElement[] =>
181
- * container.querySelectorAll(".rmd-expansion-panel__button");
182
- *
183
- * const getTreeItemsOnly = (container: HTMLElement): readonly HTMLElement[] =>
184
- * container.querySelectorAll("[role='treeitem']");
185
- * ```
186
- *
187
- * @defaultValue `getFocusableElements`
188
- * @see the default `getFocusableElements` function.
189
- */
190
- getFocusableElements?(container: HTMLElement, programmatic: boolean): readonly HTMLElement[];
198
+ /** @see {@link GetFocusableElements} */
199
+ getFocusableElements?: GetFocusableElements;
191
200
  /**
192
201
  * This can be used to set the initial focus index whenever the container
193
202
  * element is first focused or the focus index is `-1` on other focus events.
194
203
  */
195
204
  getDefaultFocusedIndex?: GetDefaultFocusedIndex;
205
+ /**
206
+ * This was added to support editable combobox behavior. As the user types or
207
+ * uses native input keyboard behavior, the focus index should be reset to
208
+ * `-1` so that the next "ArrowDown" event focuses the first option again
209
+ * instead of the last selected one.
210
+ *
211
+ * @defaultValue `false`
212
+ */
213
+ isNegativeOneAllowed?: boolean;
196
214
  }
197
215
  /**
198
216
  * @remarks \@since 6.0.0
@@ -226,5 +244,6 @@ export interface KeyboardMovementProviderImplementation<E extends HTMLElement> {
226
244
  movementProps: Readonly<KeyboardMovementProps<E>>;
227
245
  movementContext: Readonly<KeyboardMovementContext>;
228
246
  currentFocusIndex: NonNullMutableRef<number>;
247
+ activeDescendantId: string;
229
248
  setActiveDescendantId: UseStateSetter<string>;
230
249
  }