@procore/core-react 12.25.1 → 12.26.0

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 (721) hide show
  1. package/.jest/ckeditorMock.js +67 -0
  2. package/.jest/esToolkitMock.js +23 -0
  3. package/.jest/example.test.js +5 -0
  4. package/.jest/fileMock.js +1 -0
  5. package/.jest/public/avatar.png +0 -0
  6. package/.jest/setupTests.js +31 -0
  7. package/.jest/snapshotResolver.js +47 -0
  8. package/.jest/styleMock.js +1 -0
  9. package/.jest/styledV6PropsMock.js +23 -0
  10. package/.jest/svgTransform.js +10 -0
  11. package/.jest/testShims.js +22 -0
  12. package/.jest/translationMock.js +3 -0
  13. package/.jest/videoMock.js +1 -0
  14. package/CHANGELOG.md +23 -0
  15. package/README.md +49 -3
  16. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  17. package/dist/Avatar/Avatar.d.ts +9 -10
  18. package/dist/Avatar/Avatar.js.map +1 -1
  19. package/dist/Avatar/Avatar.styles.js +5 -5
  20. package/dist/AvatarStack/AvatarStack.styles.d.ts +2 -2
  21. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  22. package/dist/AvatarStack/mocks/getAvatarMocks.d.ts +25 -0
  23. package/dist/AvatarStack/mocks/getAvatarMocks.js +305 -0
  24. package/dist/AvatarStack/mocks/getAvatarMocks.js.map +1 -0
  25. package/dist/AvatarStack/mocks/images.d.ts +2 -0
  26. package/dist/AvatarStack/mocks/images.js +13 -0
  27. package/dist/AvatarStack/mocks/images.js.map +1 -0
  28. package/dist/AvatarStack/mocks/img/1.png +0 -0
  29. package/dist/AvatarStack/mocks/img/2.png +0 -0
  30. package/dist/AvatarStack/mocks/img/3.png +0 -0
  31. package/dist/AvatarStack/mocks/img/4.png +0 -0
  32. package/dist/AvatarStack/mocks/img/5.png +0 -0
  33. package/dist/AvatarStack/mocks/logo/1.png +0 -0
  34. package/dist/AvatarStack/mocks/logo/2.png +0 -0
  35. package/dist/AvatarStack/mocks/logo/3.png +0 -0
  36. package/dist/AvatarStack/mocks/logo/4.png +0 -0
  37. package/dist/AvatarStack/mocks/logo/5.png +0 -0
  38. package/dist/Badge/Badge.styles.js +2 -2
  39. package/dist/BadgePill/BadgePill.styles.js +4 -4
  40. package/dist/Banner/Banner.d.ts +15 -15
  41. package/dist/Banner/Banner.js.map +1 -1
  42. package/dist/Banner/Banner.styles.d.ts +4 -4
  43. package/dist/Banner/Banner.styles.js +10 -10
  44. package/dist/Box/Box.d.ts +1 -2
  45. package/dist/Box/Box.js.map +1 -1
  46. package/dist/Box/Box.styles.js +1 -1
  47. package/dist/Breadcrumbs/Breadcrumbs.d.ts +3 -4
  48. package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
  49. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  50. package/dist/Button/Button.styles.js +5 -5
  51. package/dist/Button/Button.types.d.ts +2 -3
  52. package/dist/Button/Button.types.js.map +1 -1
  53. package/dist/Calendar/Calendar.styles.js +8 -8
  54. package/dist/Card/Card.d.ts +1 -2
  55. package/dist/Card/Card.js.map +1 -1
  56. package/dist/Card/Card.styles.js +1 -1
  57. package/dist/Checkbox/Checkbox.styles.js +6 -6
  58. package/dist/Checkbox/Checkbox.types.d.ts +1 -2
  59. package/dist/Checkbox/Checkbox.types.js.map +1 -1
  60. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  61. package/dist/ContactItem/ContactItem.d.ts +2 -3
  62. package/dist/ContactItem/ContactItem.js.map +1 -1
  63. package/dist/ContactItem/ContactItem.styles.d.ts +5 -5
  64. package/dist/ContactItem/ContactItem.styles.js +5 -5
  65. package/dist/Content/Content.styles.d.ts +4 -4
  66. package/dist/Content/Content.styles.js +2 -2
  67. package/dist/DateInput/DateInput.js.map +1 -1
  68. package/dist/DateInput/DateInput.styles.js +6 -6
  69. package/dist/DateInput/DateInput.types.d.ts +2 -2
  70. package/dist/DateInput/DateInput.types.js.map +1 -1
  71. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.d.ts +19 -0
  72. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.js +159 -0
  73. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.js.map +1 -0
  74. package/dist/{TextEditor/TextEditor.styles.js → DeprecatedTextEditor/DeprecatedTextEditor.styles.js} +1 -1
  75. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.styles.js.map +1 -0
  76. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.types.d.ts +72 -0
  77. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.types.js +2 -0
  78. package/dist/DeprecatedTextEditor/DeprecatedTextEditor.types.js.map +1 -0
  79. package/dist/DeprecatedTextEditor/index.d.ts +2 -0
  80. package/dist/DeprecatedTextEditor/index.js +3 -0
  81. package/dist/DeprecatedTextEditor/index.js.map +1 -0
  82. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.d.ts +12 -0
  83. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.js +45 -0
  84. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.js.map +1 -0
  85. package/dist/{TextEditorOutput/TextEditorOutput.styles.js → DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.styles.js} +2 -2
  86. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.styles.js.map +1 -0
  87. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.types.d.ts +16 -0
  88. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.types.js +2 -0
  89. package/dist/DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.types.js.map +1 -0
  90. package/dist/DeprecatedTextEditorOutput/index.d.ts +2 -0
  91. package/dist/DeprecatedTextEditorOutput/index.js +2 -0
  92. package/dist/DeprecatedTextEditorOutput/index.js.map +1 -0
  93. package/dist/DetailPage/DetailPage.styles.d.ts +4 -4
  94. package/dist/DetailPage/DetailPage.styles.js +7 -7
  95. package/dist/Dropdown/Dropdown.d.ts +1 -1
  96. package/dist/Dropdown/Dropdown.styles.d.ts +2 -2
  97. package/dist/Dropdown/Dropdown.styles.js +3 -3
  98. package/dist/DropdownFlyout/DropdownFlyout.helpers.js +1 -1
  99. package/dist/DropdownFlyout/DropdownFlyout.helpers.js.map +1 -1
  100. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  101. package/dist/DropdownFlyout/DropdownFlyout.types.d.ts +4 -4
  102. package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
  103. package/dist/Dropzone/Dropzone.d.ts +2 -3
  104. package/dist/Dropzone/Dropzone.js +1 -2
  105. package/dist/Dropzone/Dropzone.js.map +1 -1
  106. package/dist/Dropzone/Dropzone.styles.d.ts +6 -6
  107. package/dist/Dropzone/Dropzone.styles.js +9 -9
  108. package/dist/EmptyState/EmptyState.d.ts +6 -6
  109. package/dist/EmptyState/EmptyState.js.map +1 -1
  110. package/dist/EmptyState/EmptyState.styles.js +6 -6
  111. package/dist/EmptyState/assets/default.stories.png +0 -0
  112. package/dist/Field/Field.styles.js +3 -3
  113. package/dist/FileList/FileList.d.ts +1 -2
  114. package/dist/FileList/FileList.js.map +1 -1
  115. package/dist/FileList/FileList.styles.js +4 -4
  116. package/dist/FileList/storybook/fileListMockData.d.ts +5 -0
  117. package/dist/FileList/storybook/fileListMockData.js +34 -0
  118. package/dist/FileList/storybook/fileListMockData.js.map +1 -0
  119. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  120. package/dist/FileSelect/FileExplorer/FileExplorerModal.d.ts +1 -2
  121. package/dist/FileSelect/FileExplorer/FileExplorerModal.js.map +1 -1
  122. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.d.ts +2 -2
  123. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  124. package/dist/FileSelect/FileSelect.d.ts +3 -4
  125. package/dist/FileSelect/FileSelect.js.map +1 -1
  126. package/dist/FileSelect/FileSelect.styles.d.ts +2 -2
  127. package/dist/FileSelect/FileSelect.styles.js +2 -2
  128. package/dist/FileSelect/FileSelect.types.d.ts +1 -2
  129. package/dist/FileSelect/FileSelect.types.js.map +1 -1
  130. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  131. package/dist/FileSelect/FileTokenList/FileTokenList.d.ts +1 -2
  132. package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
  133. package/dist/FileSelect/FileTokenList/FileTokenList.styles.d.ts +2 -2
  134. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  135. package/dist/FileSelect/GridSource/GridSource.d.ts +1 -2
  136. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  137. package/dist/FileSelect/GridSource/GridSource.styles.d.ts +6 -6
  138. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  139. package/dist/FileSelect/LocalSource/LocalSource.styles.d.ts +1 -1
  140. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  141. package/dist/FileSelect/SourceItem/SourceItem.d.ts +2 -2
  142. package/dist/FileSelect/SourceItem/SourceItem.js.map +1 -1
  143. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  144. package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
  145. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  146. package/dist/FileSelect/ThumbnailList/ThumbnailList.types.d.ts +2 -2
  147. package/dist/FileSelect/ThumbnailList/ThumbnailList.types.js.map +1 -1
  148. package/dist/FileSelect/TreeSource/TreeSource.d.ts +1 -2
  149. package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
  150. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  151. package/dist/FileToken/FileToken.d.ts +1 -2
  152. package/dist/FileToken/FileToken.js +17 -18
  153. package/dist/FileToken/FileToken.js.map +1 -1
  154. package/dist/FileToken/FileToken.styles.js +9 -9
  155. package/dist/FileToken/FileToken.styles.js.map +1 -1
  156. package/dist/FileToken/FileToken.types.d.ts +22 -0
  157. package/dist/FileToken/FileToken.types.js.map +1 -1
  158. package/dist/FileToken/FileTokenInner.d.ts +3 -0
  159. package/dist/FileToken/FileTokenInner.js +25 -0
  160. package/dist/FileToken/FileTokenInner.js.map +1 -0
  161. package/dist/FilterToken/FilterToken.d.ts +3 -4
  162. package/dist/FilterToken/FilterToken.js.map +1 -1
  163. package/dist/FilterToken/FilterToken.styles.js +5 -5
  164. package/dist/Flex/Flex.d.ts +1 -2
  165. package/dist/Flex/Flex.js.map +1 -1
  166. package/dist/FlexList/FlexList.d.ts +1 -2
  167. package/dist/FlexList/FlexList.js.map +1 -1
  168. package/dist/FlexList/FlexList.styles.d.ts +2 -2
  169. package/dist/FlexList/FlexList.styles.js +1 -1
  170. package/dist/Form/Form.d.ts +2 -2
  171. package/dist/Form/Form.js +1 -30
  172. package/dist/Form/Form.js.map +1 -1
  173. package/dist/Form/Form.styles.js +14 -14
  174. package/dist/Form/StyledFormikForm.styles.d.ts +2 -2
  175. package/dist/Form/StyledFormikForm.styles.js +2 -2
  176. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  177. package/dist/Grid/Grid.styles.js +2 -2
  178. package/dist/Grid/Grid.types.d.ts +4 -4
  179. package/dist/Grid/Grid.types.js.map +1 -1
  180. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  181. package/dist/GroupSelect/mocks/groupSelectMockData.d.ts +18 -0
  182. package/dist/GroupSelect/mocks/groupSelectMockData.js +122 -0
  183. package/dist/GroupSelect/mocks/groupSelectMockData.js.map +1 -0
  184. package/dist/Input/Input.d.ts +1 -2
  185. package/dist/Input/Input.js.map +1 -1
  186. package/dist/Input/Input.styles.js +1 -1
  187. package/dist/Input/Input.types.d.ts +2 -2
  188. package/dist/Input/Input.types.js.map +1 -1
  189. package/dist/Link/Link.styles.js +1 -1
  190. package/dist/Link/Link.types.d.ts +2 -2
  191. package/dist/Link/Link.types.js.map +1 -1
  192. package/dist/ListPage/ListPage.styles.js +8 -8
  193. package/dist/Loader/Loader.styles.js +2 -2
  194. package/dist/Menu/Menu.d.ts +8 -9
  195. package/dist/Menu/Menu.js.map +1 -1
  196. package/dist/MenuImperative/MenuImperative.d.ts +8 -9
  197. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  198. package/dist/MenuImperative/MenuImperative.styles.d.ts +2 -2
  199. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  200. package/dist/MenuImperative/MenuImperative.types.d.ts +2 -2
  201. package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
  202. package/dist/Modal/Modal.d.ts +6 -5
  203. package/dist/Modal/Modal.js +47 -11
  204. package/dist/Modal/Modal.js.map +1 -1
  205. package/dist/Modal/Modal.styles.d.ts +4 -4
  206. package/dist/Modal/Modal.styles.js +15 -14
  207. package/dist/Modal/Modal.styles.js.map +1 -1
  208. package/dist/Modal/Modal.types.d.ts +6 -4
  209. package/dist/Modal/Modal.types.js.map +1 -1
  210. package/dist/MultiSelect/MultiSelect.styles.d.ts +2 -2
  211. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  212. package/dist/NextMenu/NextMenu.styles.js +3 -3
  213. package/dist/NextTextEditor/EditorError.d.ts +2 -0
  214. package/dist/NextTextEditor/EditorError.js +9 -0
  215. package/dist/NextTextEditor/EditorError.js.map +1 -0
  216. package/dist/NextTextEditor/NextTextEditor.d.ts +3 -0
  217. package/dist/NextTextEditor/NextTextEditor.js +156 -0
  218. package/dist/NextTextEditor/NextTextEditor.js.map +1 -0
  219. package/dist/NextTextEditor/NextTextEditor.styles.d.ts +5 -0
  220. package/dist/NextTextEditor/NextTextEditor.styles.js +22 -0
  221. package/dist/NextTextEditor/NextTextEditor.styles.js.map +1 -0
  222. package/dist/NextTextEditor/NextTextEditor.types.d.ts +111 -0
  223. package/dist/NextTextEditor/NextTextEditor.types.js +2 -0
  224. package/dist/NextTextEditor/NextTextEditor.types.js.map +1 -0
  225. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.types.d.ts +5 -0
  226. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.types.js +2 -0
  227. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.types.js.map +1 -0
  228. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.utils.d.ts +3 -0
  229. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.utils.js +153 -0
  230. package/dist/NextTextEditor/StickyToolbar/StickyToolbar.utils.js.map +1 -0
  231. package/dist/NextTextEditor/StickyToolbar/index.d.ts +4 -0
  232. package/dist/NextTextEditor/StickyToolbar/index.js +3 -0
  233. package/dist/NextTextEditor/StickyToolbar/index.js.map +1 -0
  234. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.d.ts +2 -0
  235. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.js +49 -0
  236. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.js.map +1 -0
  237. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.types.d.ts +12 -0
  238. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.types.js +2 -0
  239. package/dist/NextTextEditor/StickyToolbar/useStickyToolbar.types.js.map +1 -0
  240. package/dist/NextTextEditor/index.d.ts +2 -0
  241. package/dist/NextTextEditor/index.js +3 -0
  242. package/dist/NextTextEditor/index.js.map +1 -0
  243. package/dist/NextTextEditor/license_key.d.ts +2 -0
  244. package/dist/NextTextEditor/license_key.js +3 -0
  245. package/dist/NextTextEditor/license_key.js.map +1 -0
  246. package/dist/NextTextEditor/plugins/CutPlugin/CutCommand.d.ts +5 -0
  247. package/dist/NextTextEditor/plugins/CutPlugin/CutCommand.js +99 -0
  248. package/dist/NextTextEditor/plugins/CutPlugin/CutCommand.js.map +1 -0
  249. package/dist/NextTextEditor/plugins/CutPlugin/CutPlugin.d.ts +5 -0
  250. package/dist/NextTextEditor/plugins/CutPlugin/CutPlugin.js +56 -0
  251. package/dist/NextTextEditor/plugins/CutPlugin/CutPlugin.js.map +1 -0
  252. package/dist/NextTextEditor/plugins/CutPlugin/index.d.ts +1 -0
  253. package/dist/NextTextEditor/plugins/CutPlugin/index.js +2 -0
  254. package/dist/NextTextEditor/plugins/CutPlugin/index.js.map +1 -0
  255. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/IndentPaddingToMarginPlugin.d.ts +5 -0
  256. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/IndentPaddingToMarginPlugin.js +40 -0
  257. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/IndentPaddingToMarginPlugin.js.map +1 -0
  258. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/index.d.ts +1 -0
  259. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/index.js +2 -0
  260. package/dist/NextTextEditor/plugins/IndentPaddingToMarginPlugin/index.js.map +1 -0
  261. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/index.d.ts +15 -0
  262. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/index.js +65 -0
  263. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/index.js.map +1 -0
  264. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/legacyTinyMceAdapter.d.ts +13 -0
  265. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/legacyTinyMceAdapter.js +80 -0
  266. package/dist/NextTextEditor/plugins/LegacyPasteAdapter/legacyTinyMceAdapter.js.map +1 -0
  267. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextCommand.d.ts +5 -0
  268. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextCommand.js +86 -0
  269. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextCommand.js.map +1 -0
  270. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextPlugin.d.ts +5 -0
  271. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextPlugin.js +56 -0
  272. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/PasteAsTextPlugin.js.map +1 -0
  273. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/index.d.ts +1 -0
  274. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/index.js +2 -0
  275. package/dist/NextTextEditor/plugins/PasteAsTextPlugin/index.js.map +1 -0
  276. package/dist/NextTextEditor/plugins/PastePlugin/PasteCommand.d.ts +5 -0
  277. package/dist/NextTextEditor/plugins/PastePlugin/PasteCommand.js +149 -0
  278. package/dist/NextTextEditor/plugins/PastePlugin/PasteCommand.js.map +1 -0
  279. package/dist/NextTextEditor/plugins/PastePlugin/PastePlugin.d.ts +5 -0
  280. package/dist/NextTextEditor/plugins/PastePlugin/PastePlugin.js +56 -0
  281. package/dist/NextTextEditor/plugins/PastePlugin/PastePlugin.js.map +1 -0
  282. package/dist/NextTextEditor/plugins/PastePlugin/index.d.ts +1 -0
  283. package/dist/NextTextEditor/plugins/PastePlugin/index.js +2 -0
  284. package/dist/NextTextEditor/plugins/PastePlugin/index.js.map +1 -0
  285. package/dist/NextTextEditor/plugins/TabSpacesPlugin/TabSpacesPlugin.d.ts +6 -0
  286. package/dist/NextTextEditor/plugins/TabSpacesPlugin/TabSpacesPlugin.js +87 -0
  287. package/dist/NextTextEditor/plugins/TabSpacesPlugin/TabSpacesPlugin.js.map +1 -0
  288. package/dist/NextTextEditor/plugins/TabSpacesPlugin/index.d.ts +1 -0
  289. package/dist/NextTextEditor/plugins/TabSpacesPlugin/index.js +2 -0
  290. package/dist/NextTextEditor/plugins/TabSpacesPlugin/index.js.map +1 -0
  291. package/dist/NextTextEditor/textEditorTheming/icons.d.ts +23 -0
  292. package/dist/NextTextEditor/textEditorTheming/icons.js +24 -0
  293. package/dist/NextTextEditor/textEditorTheming/icons.js.map +1 -0
  294. package/dist/NextTextEditor/textEditorTheming/index.d.ts +1 -0
  295. package/dist/NextTextEditor/textEditorTheming/index.js +2 -0
  296. package/dist/NextTextEditor/textEditorTheming/index.js.map +1 -0
  297. package/dist/NextTextEditor/textEditorTheming/textEditorTheming.styles.d.ts +2 -0
  298. package/dist/NextTextEditor/textEditorTheming/textEditorTheming.styles.js +10 -0
  299. package/dist/NextTextEditor/textEditorTheming/textEditorTheming.styles.js.map +1 -0
  300. package/dist/NextTextEditor/useCKEditorCss.d.ts +3 -0
  301. package/dist/NextTextEditor/useCKEditorCss.js +36 -0
  302. package/dist/NextTextEditor/useCKEditorCss.js.map +1 -0
  303. package/dist/NextTextEditor/useTabAsNavigation.d.ts +11 -0
  304. package/dist/NextTextEditor/useTabAsNavigation.js +29 -0
  305. package/dist/NextTextEditor/useTabAsNavigation.js.map +1 -0
  306. package/dist/NextTextEditor/utils/config.d.ts +3 -0
  307. package/dist/NextTextEditor/utils/config.js +179 -0
  308. package/dist/NextTextEditor/utils/config.js.map +1 -0
  309. package/dist/NextTextEditor/utils/index.d.ts +2 -0
  310. package/dist/NextTextEditor/utils/index.js +3 -0
  311. package/dist/NextTextEditor/utils/index.js.map +1 -0
  312. package/dist/NextTextEditor/utils/locale.d.ts +3 -0
  313. package/dist/NextTextEditor/utils/locale.js +102 -0
  314. package/dist/NextTextEditor/utils/locale.js.map +1 -0
  315. package/dist/NextTextEditor/utils/plugins.d.ts +7 -0
  316. package/dist/NextTextEditor/utils/plugins.js +184 -0
  317. package/dist/NextTextEditor/utils/plugins.js.map +1 -0
  318. package/dist/NextTextEditorOutput/NextTextEditorOutput.d.ts +9 -0
  319. package/dist/NextTextEditorOutput/NextTextEditorOutput.js +29 -0
  320. package/dist/NextTextEditorOutput/NextTextEditorOutput.js.map +1 -0
  321. package/dist/NextTextEditorOutput/NextTextEditorOutput.styles.d.ts +2 -0
  322. package/dist/NextTextEditorOutput/NextTextEditorOutput.styles.js +6 -0
  323. package/dist/NextTextEditorOutput/NextTextEditorOutput.styles.js.map +1 -0
  324. package/dist/NextTextEditorOutput/NextTextEditorOutput.types.d.ts +9 -0
  325. package/dist/NextTextEditorOutput/NextTextEditorOutput.types.js +2 -0
  326. package/dist/NextTextEditorOutput/NextTextEditorOutput.types.js.map +1 -0
  327. package/dist/NextTextEditorOutput/NextTextEditorOutput.utils.d.ts +2 -0
  328. package/dist/NextTextEditorOutput/NextTextEditorOutput.utils.js +59 -0
  329. package/dist/NextTextEditorOutput/NextTextEditorOutput.utils.js.map +1 -0
  330. package/dist/NextTextEditorOutput/index.d.ts +2 -0
  331. package/dist/NextTextEditorOutput/index.js +2 -0
  332. package/dist/NextTextEditorOutput/index.js.map +1 -0
  333. package/dist/NextTile/NextTile.types.d.ts +3 -3
  334. package/dist/NextTile/NextTile.types.js.map +1 -1
  335. package/dist/Notation/Notation.d.ts +1 -2
  336. package/dist/Notation/Notation.js +1 -1
  337. package/dist/Notation/Notation.js.map +1 -1
  338. package/dist/NumberInput/NumberInput.styles.d.ts +2 -2
  339. package/dist/NumberInput/NumberInput.styles.js +7 -7
  340. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  341. package/dist/PageLayout/PageLayout.d.ts +2 -2
  342. package/dist/PageLayout/PageLayout.js.map +1 -1
  343. package/dist/PageLayout/PageLayout.styles.js +16 -16
  344. package/dist/PageLayout/PageLayout.types.d.ts +3 -3
  345. package/dist/PageLayout/PageLayout.types.js.map +1 -1
  346. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  347. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.d.ts +4 -4
  348. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  349. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.d.ts +5 -3
  350. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  351. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  352. package/dist/Pagination/Pagination.styles.d.ts +6 -6
  353. package/dist/Pagination/Pagination.styles.js +5 -5
  354. package/dist/Panel/Panel.d.ts +6 -7
  355. package/dist/Panel/Panel.js +22 -8
  356. package/dist/Panel/Panel.js.map +1 -1
  357. package/dist/Panel/Panel.styles.d.ts +5 -5
  358. package/dist/Panel/Panel.styles.js +16 -15
  359. package/dist/Panel/Panel.styles.js.map +1 -1
  360. package/dist/Panel/Panel.types.d.ts +14 -5
  361. package/dist/Panel/Panel.types.js.map +1 -1
  362. package/dist/Pill/Pill.js +15 -7
  363. package/dist/Pill/Pill.js.map +1 -1
  364. package/dist/Pill/Pill.styles.d.ts +3 -0
  365. package/dist/Pill/Pill.styles.js +7 -3
  366. package/dist/Pill/Pill.styles.js.map +1 -1
  367. package/dist/Pill/Pill.types.d.ts +1 -1
  368. package/dist/Pill/Pill.types.js.map +1 -1
  369. package/dist/PillSelect/PillSelect.js.map +1 -1
  370. package/dist/PillSelect/PillSelect.styles.js +4 -4
  371. package/dist/Popover/Popover.d.ts +1 -2
  372. package/dist/Popover/Popover.js.map +1 -1
  373. package/dist/Popover/Popover.styles.js +4 -4
  374. package/dist/Popover/Popover.styles.js.map +1 -1
  375. package/dist/Portal/Portal.styles.js +1 -1
  376. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  377. package/dist/ProgressBar/ProgressBar.types.d.ts +2 -2
  378. package/dist/ProgressBar/ProgressBar.types.js.map +1 -1
  379. package/dist/RadioButton/RadioButton.styles.js +3 -3
  380. package/dist/Required/Required.styles.js +3 -3
  381. package/dist/Search/Search.styles.js +5 -5
  382. package/dist/Section/Section.js +6 -5
  383. package/dist/Section/Section.js.map +1 -1
  384. package/dist/Section/Section.styles.d.ts +5 -5
  385. package/dist/Section/Section.styles.js +9 -8
  386. package/dist/Section/Section.styles.js.map +1 -1
  387. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  388. package/dist/SegmentedController/SegmentedController.types.d.ts +2 -2
  389. package/dist/SegmentedController/SegmentedController.types.js.map +1 -1
  390. package/dist/Select/Select.styles.d.ts +2 -2
  391. package/dist/Select/Select.styles.js +7 -7
  392. package/dist/Semantic/Semantic.styles.d.ts +1 -1
  393. package/dist/Semantic/Semantic.styles.js +9 -9
  394. package/dist/Semantic/Semantic.types.d.ts +1 -2
  395. package/dist/Semantic/Semantic.types.js.map +1 -1
  396. package/dist/Slider/Slider.styles.d.ts +2 -2
  397. package/dist/Slider/Slider.styles.js +5 -5
  398. package/dist/Slider/Slider.types.d.ts +2 -2
  399. package/dist/Slider/Slider.types.js.map +1 -1
  400. package/dist/Spinner/Spinner.js +5 -7
  401. package/dist/Spinner/Spinner.js.map +1 -1
  402. package/dist/Spinner/Spinner.styles.js +7 -7
  403. package/dist/SplitViewCard/SplitViewCard.d.ts +0 -1
  404. package/dist/SplitViewCard/SplitViewCard.js +29 -26
  405. package/dist/SplitViewCard/SplitViewCard.js.map +1 -1
  406. package/dist/SplitViewCard/SplitViewCard.styles.js +10 -9
  407. package/dist/SplitViewCard/SplitViewCard.styles.js.map +1 -1
  408. package/dist/SplitViewCard/SplitViewCard.types.d.ts +11 -0
  409. package/dist/SplitViewCard/SplitViewCard.types.js.map +1 -1
  410. package/dist/SplitViewCard/SplitViewCardInternal.context.d.ts +2 -2
  411. package/dist/SplitViewCard/SplitViewCardInternal.context.js +4 -1
  412. package/dist/SplitViewCard/SplitViewCardInternal.context.js.map +1 -1
  413. package/dist/SuperSelect/SuperSelect.components.d.ts +1 -2
  414. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  415. package/dist/SuperSelect/SuperSelect.presets.styles.d.ts +2 -2
  416. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  417. package/dist/SuperSelect/SuperSelect.styles.d.ts +6 -6
  418. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  419. package/dist/SuperSelect/SuperSelect.types.d.ts +1 -2
  420. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  421. package/dist/Switch/Switch.d.ts +1 -2
  422. package/dist/Switch/Switch.js.map +1 -1
  423. package/dist/Switch/Switch.styles.js +4 -4
  424. package/dist/Switch/Switch.types.d.ts +2 -2
  425. package/dist/Switch/Switch.types.js.map +1 -1
  426. package/dist/Table/Table.d.ts +34 -35
  427. package/dist/Table/Table.js.map +1 -1
  428. package/dist/Table/Table.styles.d.ts +6 -6
  429. package/dist/Table/Table.styles.js +28 -28
  430. package/dist/Table/Table.types.d.ts +1 -2
  431. package/dist/Table/Table.types.js.map +1 -1
  432. package/dist/TableShelf/TableShelf.d.ts +12 -13
  433. package/dist/TableShelf/TableShelf.js.map +1 -1
  434. package/dist/TableShelf/TableShelf.styles.js +5 -5
  435. package/dist/Tabs/Tabs.d.ts +4 -5
  436. package/dist/Tabs/Tabs.js.map +1 -1
  437. package/dist/Tabs/Tabs.styles.d.ts +2 -2
  438. package/dist/Tabs/Tabs.styles.js +15 -15
  439. package/dist/Tearsheet/Tearsheet.js +9 -6
  440. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  441. package/dist/Tearsheet/Tearsheet.styles.d.ts +2 -2
  442. package/dist/Tearsheet/Tearsheet.styles.js +7 -6
  443. package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
  444. package/dist/Tearsheet/storybook/PageLayoutDemo.d.ts +4 -0
  445. package/dist/Tearsheet/storybook/PageLayoutDemo.js +164 -0
  446. package/dist/Tearsheet/storybook/PageLayoutDemo.js.map +1 -0
  447. package/dist/TextArea/TextArea.d.ts +1 -2
  448. package/dist/TextArea/TextArea.js.map +1 -1
  449. package/dist/TextArea/TextArea.styles.js +1 -1
  450. package/dist/TextArea/TextArea.types.d.ts +2 -2
  451. package/dist/TextArea/TextArea.types.js.map +1 -1
  452. package/dist/TextEditor/TextEditor.d.ts +2 -19
  453. package/dist/TextEditor/TextEditor.js +11 -169
  454. package/dist/TextEditor/TextEditor.js.map +1 -1
  455. package/dist/TextEditor/TextEditor.types.d.ts +19 -86
  456. package/dist/TextEditor/TextEditor.types.js.map +1 -1
  457. package/dist/TextEditor/TextEditorDocs.types.d.ts +65 -0
  458. package/dist/TextEditor/TextEditorDocs.types.js +2 -0
  459. package/dist/TextEditor/TextEditorDocs.types.js.map +1 -0
  460. package/dist/TextEditor/TextEditorProvider.d.ts +4 -0
  461. package/dist/TextEditor/TextEditorProvider.js +17 -0
  462. package/dist/TextEditor/TextEditorProvider.js.map +1 -0
  463. package/dist/TextEditor/TextEditorProvider.types.d.ts +14 -0
  464. package/dist/TextEditor/TextEditorProvider.types.js +2 -0
  465. package/dist/TextEditor/TextEditorProvider.types.js.map +1 -0
  466. package/dist/TextEditor/index.d.ts +4 -2
  467. package/dist/TextEditor/index.js +2 -1
  468. package/dist/TextEditor/index.js.map +1 -1
  469. package/dist/TextEditorOutput/TextEditorOutput.d.ts +6 -9
  470. package/dist/TextEditorOutput/TextEditorOutput.js +17 -34
  471. package/dist/TextEditorOutput/TextEditorOutput.js.map +1 -1
  472. package/dist/TextEditorOutput/TextEditorOutput.types.d.ts +16 -13
  473. package/dist/TextEditorOutput/TextEditorOutput.types.js.map +1 -1
  474. package/dist/TextEditorOutput/TextEditorOutputDocs.types.d.ts +21 -0
  475. package/dist/TextEditorOutput/TextEditorOutputDocs.types.js +2 -0
  476. package/dist/TextEditorOutput/TextEditorOutputDocs.types.js.map +1 -0
  477. package/dist/TextInput/TextInput.d.ts +1 -1
  478. package/dist/Thumbnail/Thumbnail.hooks.d.ts +6 -7
  479. package/dist/Thumbnail/Thumbnail.hooks.js.map +1 -1
  480. package/dist/Thumbnail/Thumbnail.styles.d.ts +2 -2
  481. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  482. package/dist/Thumbnail/mocks/images/thumb_104x104_1.png +0 -0
  483. package/dist/Thumbnail/mocks/images/thumb_104x104_2.png +0 -0
  484. package/dist/Thumbnail/mocks/images/thumb_104x104_3.png +0 -0
  485. package/dist/Thumbnail/mocks/images/thumb_104x104_4.png +0 -0
  486. package/dist/Thumbnail/mocks/images/thumb_40x40_1.png +0 -0
  487. package/dist/Thumbnail/mocks/images/thumb_40x40_2.png +0 -0
  488. package/dist/Thumbnail/mocks/images/thumb_40x40_3.png +0 -0
  489. package/dist/Thumbnail/mocks/images/thumb_40x40_4.png +0 -0
  490. package/dist/ThumbnailGrid/ThumbnailGrid.d.ts +1 -2
  491. package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
  492. package/dist/ThumbnailGrid/ThumbnailGrid.styles.d.ts +2 -2
  493. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  494. package/dist/TieredSelect/TierSelectionTieredSelect.js +3 -1
  495. package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
  496. package/dist/TieredSelect/TieredSelect.styles.d.ts +15 -15
  497. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  498. package/dist/TieredSelect/TieredSelect.types.d.ts +4 -0
  499. package/dist/TieredSelect/TieredSelect.types.js.map +1 -1
  500. package/dist/Tile/Tile.styles.d.ts +1 -1
  501. package/dist/Tile/Tile.styles.js +8 -8
  502. package/dist/Tile/Tile.types.d.ts +4 -4
  503. package/dist/Tile/Tile.types.js.map +1 -1
  504. package/dist/Tile/mocks/dog.jpeg +0 -0
  505. package/dist/Tile/mocks/iframe.d.ts +5 -0
  506. package/dist/Tile/mocks/iframe.js +15 -0
  507. package/dist/Tile/mocks/iframe.js.map +1 -0
  508. package/dist/Tile/mocks/svg.d.ts +3 -0
  509. package/dist/Tile/mocks/svg.js +830 -0
  510. package/dist/Tile/mocks/svg.js.map +1 -0
  511. package/dist/Tile/mocks/video.mp4 +0 -0
  512. package/dist/Title/Title.d.ts +5 -6
  513. package/dist/Title/Title.js.map +1 -1
  514. package/dist/Title/Title.styles.d.ts +3 -3
  515. package/dist/Title/Title.styles.js +7 -7
  516. package/dist/Title/Title.types.d.ts +2 -2
  517. package/dist/Title/Title.types.js.map +1 -1
  518. package/dist/Title/mocks/thumb_40x40_1.png +0 -0
  519. package/dist/Title/mocks/visual_placeholder_40x40.svg +9 -0
  520. package/dist/Toast/Toast.d.ts +4 -5
  521. package/dist/Toast/Toast.js.map +1 -1
  522. package/dist/Toast/Toast.styles.js +3 -3
  523. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  524. package/dist/ToggleButton/ToggleButton.types.d.ts +1 -2
  525. package/dist/ToggleButton/ToggleButton.types.js.map +1 -1
  526. package/dist/Token/Token.d.ts +5 -4
  527. package/dist/Token/Token.js +37 -10
  528. package/dist/Token/Token.js.map +1 -1
  529. package/dist/Token/Token.styles.d.ts +3 -7
  530. package/dist/Token/Token.styles.js +7 -7
  531. package/dist/Token/Token.styles.js.map +1 -1
  532. package/dist/Token/Token.types.d.ts +4 -0
  533. package/dist/Token/Token.types.js.map +1 -1
  534. package/dist/ToolHeader/ToolHeader.d.ts +6 -7
  535. package/dist/ToolHeader/ToolHeader.js.map +1 -1
  536. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  537. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  538. package/dist/Tooltip/Tooltip.styles.js +2 -2
  539. package/dist/Tree/Tree.styles.d.ts +6 -6
  540. package/dist/Tree/Tree.styles.js +9 -9
  541. package/dist/Tree/Tree.types.d.ts +2 -3
  542. package/dist/Tree/Tree.types.js.map +1 -1
  543. package/dist/Tree/mocks/treeMockData.d.ts +8 -0
  544. package/dist/Tree/mocks/treeMockData.js +44 -0
  545. package/dist/Tree/mocks/treeMockData.js.map +1 -0
  546. package/dist/Typeahead/Typeahead.styles.js +3 -3
  547. package/dist/Typography/Typography.d.ts +1 -2
  548. package/dist/Typography/Typography.js.map +1 -1
  549. package/dist/Typography/Typography.styles.js +1 -1
  550. package/dist/Typography/Typography.table.story.js +2 -2
  551. package/dist/_hooks/ClickOutside.js +8 -4
  552. package/dist/_hooks/ClickOutside.js.map +1 -1
  553. package/dist/_locales/de-DE.json +1 -1
  554. package/dist/_locales/en-AU.json +1 -1
  555. package/dist/_locales/en-CA.json +1 -1
  556. package/dist/_locales/en-GB.json +1 -1
  557. package/dist/_locales/en.json +1 -1
  558. package/dist/_locales/es-ES.json +1 -1
  559. package/dist/_locales/es.json +1 -1
  560. package/dist/_locales/fr-CA.json +1 -1
  561. package/dist/_locales/fr-FR.json +1 -1
  562. package/dist/_locales/is-IS.json +1 -1
  563. package/dist/_locales/it-IT.json +1 -1
  564. package/dist/_locales/ja-JP.json +1 -1
  565. package/dist/_locales/pl-PL.json +1 -1
  566. package/dist/_locales/pseudo.json +1 -1
  567. package/dist/_locales/pt-BR.json +1 -1
  568. package/dist/_locales/th-TH.json +1 -1
  569. package/dist/_locales/zh-SG.json +1 -1
  570. package/dist/_locales/zh-TW.json +1 -1
  571. package/dist/_storyHelpers_/components/Deprecation.d.ts +3 -0
  572. package/dist/_storyHelpers_/components/Deprecation.js +10 -0
  573. package/dist/_storyHelpers_/components/Deprecation.js.map +1 -0
  574. package/dist/_storyHelpers_/components/Deprecation.styles.d.ts +4 -0
  575. package/dist/_storyHelpers_/components/Deprecation.styles.js +7 -0
  576. package/dist/_storyHelpers_/components/Deprecation.styles.js.map +1 -0
  577. package/dist/_storyHelpers_/components/Deprecation.types.d.ts +9 -0
  578. package/dist/_storyHelpers_/components/Deprecation.types.js +2 -0
  579. package/dist/_storyHelpers_/components/Deprecation.types.js.map +1 -0
  580. package/dist/_storyHelpers_/components/FullLayout.d.ts +6 -0
  581. package/dist/_storyHelpers_/components/FullLayout.js +15 -0
  582. package/dist/_storyHelpers_/components/FullLayout.js.map +1 -0
  583. package/dist/_storyHelpers_/components/StoryGrid.d.ts +7 -0
  584. package/dist/_storyHelpers_/components/StoryGrid.js +40 -0
  585. package/dist/_storyHelpers_/components/StoryGrid.js.map +1 -0
  586. package/dist/_storyHelpers_/components/WithNavigationLayout.d.ts +2 -0
  587. package/dist/_storyHelpers_/components/WithNavigationLayout.js +47 -0
  588. package/dist/_storyHelpers_/components/WithNavigationLayout.js.map +1 -0
  589. package/dist/_storyHelpers_/constants.d.ts +35 -0
  590. package/dist/_storyHelpers_/constants.js +168 -0
  591. package/dist/_storyHelpers_/constants.js.map +1 -0
  592. package/dist/_storyHelpers_/decorators/fullLayoutDecorator.d.ts +3 -0
  593. package/dist/_storyHelpers_/decorators/fullLayoutDecorator.js +8 -0
  594. package/dist/_storyHelpers_/decorators/fullLayoutDecorator.js.map +1 -0
  595. package/dist/_storyHelpers_/effects/useWaitForElement.d.ts +1 -0
  596. package/dist/_storyHelpers_/effects/useWaitForElement.js +24 -0
  597. package/dist/_storyHelpers_/effects/useWaitForElement.js.map +1 -0
  598. package/dist/_storyHelpers_/mocks/dropzoneMockData.d.ts +13 -0
  599. package/dist/_storyHelpers_/mocks/dropzoneMockData.js +39 -0
  600. package/dist/_storyHelpers_/mocks/dropzoneMockData.js.map +1 -0
  601. package/dist/_storyHelpers_/mocks/pillSelectMockData.d.ts +6 -0
  602. package/dist/_storyHelpers_/mocks/pillSelectMockData.js +22 -0
  603. package/dist/_storyHelpers_/mocks/pillSelectMockData.js.map +1 -0
  604. package/dist/_storyHelpers_/mocks/selectMockData.d.ts +11 -0
  605. package/dist/_storyHelpers_/mocks/selectMockData.js +36 -0
  606. package/dist/_storyHelpers_/mocks/selectMockData.js.map +1 -0
  607. package/dist/_storyHelpers_/mocks/tableMockData.d.ts +4 -0
  608. package/dist/_storyHelpers_/mocks/tableMockData.js +38 -0
  609. package/dist/_storyHelpers_/mocks/tableMockData.js.map +1 -0
  610. package/dist/_storyHelpers_/mocks/tieredSelect.d.ts +77 -0
  611. package/dist/_storyHelpers_/mocks/tieredSelect.js +277 -0
  612. package/dist/_storyHelpers_/mocks/tieredSelect.js.map +1 -0
  613. package/dist/_styles/mixins.d.ts +4 -0
  614. package/dist/_styles/mixins.js +7 -0
  615. package/dist/_styles/mixins.js.map +1 -1
  616. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  617. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  618. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  619. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  620. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  621. package/dist/_typedoc/Box/Box.types.json +68 -68
  622. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  623. package/dist/_typedoc/Button/Button.types.json +13 -13
  624. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  625. package/dist/_typedoc/Card/Card.types.json +6 -6
  626. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -18
  627. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  628. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  629. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  630. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  631. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  632. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -30
  633. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  634. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  635. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  636. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  637. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  638. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  639. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  640. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  641. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  642. package/dist/_typedoc/Form/Form.types.json +929 -793
  643. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  644. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  645. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  646. package/dist/_typedoc/Input/Input.types.json +2 -2
  647. package/dist/_typedoc/Link/Link.types.json +1 -31
  648. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  649. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  650. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  651. package/dist/_typedoc/Modal/Modal.types.json +54 -54
  652. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  653. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  654. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  655. package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
  656. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +32 -32
  657. package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -56
  658. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  659. package/dist/_typedoc/Panel/Panel.types.json +51 -29
  660. package/dist/_typedoc/Pill/Pill.types.json +4 -4
  661. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  662. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  663. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  664. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  665. package/dist/_typedoc/Required/Required.types.json +5 -5
  666. package/dist/_typedoc/Search/Search.types.json +18 -18
  667. package/dist/_typedoc/Section/Section.types.json +15 -15
  668. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  669. package/dist/_typedoc/Select/Select.types.json +60 -60
  670. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  671. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  672. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  673. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +34 -12
  674. package/dist/_typedoc/Switch/Switch.types.json +1 -32
  675. package/dist/_typedoc/Table/Table.types.json +101 -101
  676. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  677. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  678. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  679. package/dist/_typedoc/TextEditor/TextEditor.types.json +1 -100
  680. package/dist/_typedoc/TextEditor/TextEditorDocs.types.json +98 -0
  681. package/dist/_typedoc/TextEditor/TextEditorProvider.types.json +28 -0
  682. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +6 -42
  683. package/dist/_typedoc/TextEditorOutput/TextEditorOutputDocs.types.json +38 -0
  684. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  685. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  686. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  687. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  688. package/dist/_typedoc/Title/Title.types.json +1 -1
  689. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  690. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  691. package/dist/_typedoc/Token/Token.types.json +30 -4
  692. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  693. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
  694. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  695. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  696. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  697. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  698. package/dist/_typedoc/_utils/types.json +3 -3
  699. package/dist/_typedoc/deprecations.json +1 -1
  700. package/dist/_utils/propsTypedoc.d.ts +3 -0
  701. package/dist/_utils/propsTypedoc.js +3 -0
  702. package/dist/_utils/propsTypedoc.js.map +1 -1
  703. package/dist/_utils/slotify.d.ts +1 -2
  704. package/dist/_utils/slotify.js.map +1 -1
  705. package/dist/_utils/types.d.ts +11 -48
  706. package/dist/_utils/types.js.map +1 -1
  707. package/dist/index.d.ts +1 -1
  708. package/dist/index.js.map +1 -1
  709. package/jestConfig.js +52 -0
  710. package/package.json +26 -11
  711. package/.eslintignore +0 -4
  712. package/.eslintrc.cjs +0 -54
  713. package/__mocks__/@react-aria/utils.js +0 -10
  714. package/babel.config.js +0 -40
  715. package/dist/TextEditor/TextEditor.styles.js.map +0 -1
  716. package/dist/TextEditorOutput/TextEditorOutput.styles.js.map +0 -1
  717. package/tsconfig.json +0 -24
  718. package/tsconfig.prod.json +0 -11
  719. package/tsconfig.test.json +0 -4
  720. /package/dist/{TextEditor/TextEditor.styles.d.ts → DeprecatedTextEditor/DeprecatedTextEditor.styles.d.ts} +0 -0
  721. /package/dist/{TextEditorOutput/TextEditorOutput.styles.d.ts → DeprecatedTextEditorOutput/DeprecatedTextEditorOutput.styles.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["React","StyledFooter","StyledGroup","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","useOverlayTriggerContext","Typeahead","useEventListener","useI18nContext","useListNavigation","addSubcomponents","usingHookOrDefault","onScrollBottomThreshold","isItem","element","type","Item","scrollIntoView","index","parentElement","scrollTop","offsetTop","clientHeight","_element$parentElemen","parentHeight","checkBottomScrollPosition","callback","onScroll","e","currentTarget","HTMLElement","scrollHeight","noop","useMenu","_ref","_ref$isSelectable","isSelectable","externalKeyHandlerRef","keyHandlerRef","_ref$multiple","multiple","onScrollBottom","_ref$onSearch","onSearch","_ref$onSelect","onSelect","_ref$scrollable","scrollable","listNavigation","circular","initialIndex","size","highlighted","useRef","createRef","selectItem","useCallback","selection","onKeyDown","key","increment","preventDefault","decrement","current","click","useEffect","el","addEventListener","removeEventListener","domHandlers","nativeEvent","MenuHookContext","createContext","useMenuHookContext","context","useContext","Error","Menu_","forwardRef","Menu","_ref2","ref","children","_ref2$UNSAFE_closesOn","UNSAFE_closesOnSelect","_ref2$isSelectable","_ref2$onSelect","_ref2$scrollable","usingHook","props","_objectWithoutProperties","_excluded","overlayTriggerContext","menu","reset","hide","event","createElement","Provider","value","_objectSpread","_extends","role","tabIndex","Group","_ref3","_ref3$clickable","clickable","item","_excluded2","$clickable","_ref4","_ref4$index","_ref4$onClick","onClick","_ref4$selected","selected","_ref4$suggested","suggested","onMouseMove","_excluded3","_useMenuHookContext","itemRef","isHighlighted","set","group","$highlighted","$selected","Options","_ref5","className","_ref5$scrollable","_useMenuHookContext2","menuScrollable","optionsRef","Children","toArray","filter","length","setSize","handler","scope","$scrollable","map","child","isValidElement","selectableIndex","cloneElement","Search","_ref6","_ref6$i18nScope","i18nScope","placeholder","_onChange","onChange","_excluded4","I18n","_React$useState","useState","_React$useState2","_slicedToArray","setValue","_menu$onSearch","target","call","autoFocus","t","Header","_ref7","_objectDestructuringEmpty","Footer","_ref8","_ref8$padding","padding","_excluded5","displayName"],"sources":["../../src/Menu/Menu.tsx"],"sourcesContent":["import React from 'react'\nimport {\n StyledFooter,\n StyledGroup,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from '../MenuImperative/MenuImperative.styles'\nimport { useOverlayTriggerContext } from '../OverlayTrigger/OverlayTrigger'\nimport type { TypeaheadProps } from '../Typeahead'\nimport { Typeahead } from '../Typeahead'\nimport { useEventListener } from '../_hooks/EventListener'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useListNavigation } from '../_hooks/ListNavigation'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport type { DivAttributes } from '../_utils/types'\nimport { usingHookOrDefault } from '../_utils/usingHookOrDefault'\nimport type {\n ElementTypeChecker,\n MenuFooterProps,\n MenuGroupProps,\n MenuHeaderProps,\n MenuHook,\n MenuHookConfig,\n MenuItemProps,\n MenuOptionsProps,\n MenuProps,\n MenuSearchProps,\n MenuSelection,\n} from './Menu.types'\n\nconst onScrollBottomThreshold = 8\n\nexport const isItem: ElementTypeChecker = (element) => element.type === Item\n\nfunction scrollIntoView(index: number, element: HTMLElement) {\n if (!element.parentElement) {\n return\n }\n\n if (index === 0) {\n element.parentElement.scrollTop = 0\n\n return\n }\n\n const { offsetTop, clientHeight } = element\n\n const { scrollTop, clientHeight: parentHeight } = element.parentElement\n\n if (offsetTop < scrollTop) {\n element.parentElement.scrollTop = offsetTop\n } else if (offsetTop + clientHeight > scrollTop + parentHeight) {\n element.parentElement.scrollTop = offsetTop - parentHeight + clientHeight\n }\n}\n\nfunction checkBottomScrollPosition(callback?: (e: Event) => void) {\n return function onScroll(e: Event) {\n if (\n callback &&\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n ) {\n callback(e)\n }\n }\n}\n\nfunction noop() {}\n\nexport function useMenu({\n isSelectable = isItem,\n keyHandlerRef: externalKeyHandlerRef,\n multiple = false,\n onScrollBottom,\n onSearch = noop,\n onSelect = noop,\n scrollable = true,\n}: MenuHookConfig): MenuHook {\n const listNavigation = useListNavigation({\n circular: !onScrollBottom,\n initialIndex: 0,\n size: 0,\n })\n\n const highlighted = React.useRef<HTMLDivElement>(null)\n\n const keyHandlerRef = externalKeyHandlerRef || React.createRef<HTMLElement>()\n\n const selectItem = React.useCallback(\n (selection: MenuSelection) => {\n onSelect(selection)\n },\n [onSelect]\n )\n\n const onKeyDown = React.useCallback(\n function (e: KeyboardEvent) {\n const { key } = e\n\n if (key === 'ArrowDown' || key === 'Down') {\n listNavigation.increment()\n e.preventDefault()\n } else if (key === 'ArrowUp' || key === 'Up') {\n listNavigation.decrement()\n e.preventDefault()\n } else if (key === 'Enter') {\n if (highlighted.current) {\n highlighted.current.click()\n }\n }\n },\n [listNavigation]\n )\n\n // TODO - deprecate keyhandlerRef, this is just for backwards compatibility since we already exposed it\n React.useEffect(\n function () {\n let el: HTMLElement\n\n if (keyHandlerRef.current) {\n keyHandlerRef.current.addEventListener('keydown', onKeyDown)\n\n el = keyHandlerRef.current\n }\n\n return function () {\n if (el) {\n el.removeEventListener('keydown', onKeyDown)\n }\n }\n },\n [keyHandlerRef, onKeyDown]\n )\n\n return {\n domHandlers: {\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) =>\n onKeyDown(e.nativeEvent),\n },\n highlighted,\n isSelectable,\n listNavigation,\n multiple,\n onScrollBottom,\n onSearch,\n scrollable,\n selectItem,\n }\n}\n\nexport const MenuHookContext = React.createContext<MenuHook | null>(null)\n\nexport function useMenuHookContext(): MenuHook {\n const context = React.useContext(MenuHookContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `MenuHook` context, please wrap your component in `<MenuHookContext.Provider>`'\n )\n }\n\n return context\n}\n\nexport const Menu_ = React.forwardRef<HTMLDivElement, MenuProps>(function Menu(\n {\n children,\n UNSAFE_closesOnSelect = true,\n isSelectable = isItem,\n keyHandlerRef,\n onScrollBottom,\n onSelect = noop,\n onSearch,\n scrollable = true,\n usingHook,\n ...props\n },\n ref\n) {\n // Don't be tempted to put this in useMenu. In order for hooks to be portable\n // across the dom tree, they should not contain context consumers.\n const overlayTriggerContext = useOverlayTriggerContext()\n\n const menu = usingHookOrDefault(\n usingHook,\n useMenu\n )({\n isSelectable,\n keyHandlerRef,\n onScrollBottom,\n onSelect,\n onSearch,\n scrollable,\n })\n\n React.useEffect(\n function () {\n // When unmounting, reset the listNavigation index and set\n // the current highlighted item to null. we only want to run this once,\n // so don't pass any dependencies\n return function () {\n menu.listNavigation.reset()\n menu.highlighted.current = null\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n function selectItem(selection: MenuSelection) {\n menu.selectItem(selection)\n\n if (UNSAFE_closesOnSelect) {\n overlayTriggerContext.hide(selection.event)\n }\n }\n\n return (\n <MenuHookContext.Provider value={{ ...menu, selectItem }}>\n <StyledWrapper {...menu.domHandlers} ref={ref} role=\"menu\" tabIndex={0}>\n <StyledMenu {...props}>{children}</StyledMenu>\n </StyledWrapper>\n </MenuHookContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n DivAttributes & MenuGroupProps\n>(function Group({ children, clickable = false, item, ...props }, ref) {\n return (\n <StyledGroup\n {...props}\n ref={ref}\n // onClick={(event) => {\n // TODO: implement selecting groups?\n // }}\n $clickable={clickable}\n >\n {children}\n </StyledGroup>\n )\n})\n\nexport const Item = React.forwardRef<\n HTMLDivElement,\n DivAttributes & MenuItemProps\n>(function Item(\n {\n children,\n index = 0,\n item,\n onClick = noop,\n selected = false,\n suggested = false,\n onMouseMove,\n ...props\n },\n ref\n) {\n const { highlighted, listNavigation, multiple, selectItem } =\n useMenuHookContext()\n\n const itemRef =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (ref as React.RefObject<HTMLDivElement>) || React.useRef<HTMLDivElement>()\n\n const isHighlighted = index === listNavigation.index\n\n React.useEffect(\n function () {\n // When mounting, check if this item is selected or suggested, and if\n // it is, then set it as the current index and scroll to it.\n // We only want to run this once, so don't pass any dependencies\n\n if (multiple) {\n // don't do this behavior in multiple mode\n return\n }\n\n if (itemRef.current && (selected || suggested)) {\n highlighted.current = itemRef.current\n listNavigation.set(index)\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n React.useEffect(\n function () {\n // If this item has become highlighted, scroll to it\n if (itemRef.current && isHighlighted) {\n highlighted.current = itemRef.current\n scrollIntoView(index, itemRef.current)\n }\n },\n [highlighted, index, isHighlighted, itemRef]\n )\n\n return (\n <StyledItem\n {...props}\n onClick={(event: React.MouseEvent<HTMLDivElement>) => {\n listNavigation.set(index)\n\n selectItem({ event: event.nativeEvent, item, group: false })\n\n onClick(event)\n }}\n onMouseMove={(event: React.MouseEvent<HTMLDivElement>) => {\n if (onMouseMove) {\n onMouseMove(event)\n }\n if (listNavigation.index !== index) {\n listNavigation.set(index)\n }\n }}\n ref={itemRef}\n role=\"menuitem\"\n $highlighted={isHighlighted}\n $selected={selected}\n >\n {children}\n </StyledItem>\n )\n})\n\nexport const Options = React.forwardRef<HTMLDivElement, MenuOptionsProps>(\n function Options({ children, className, scrollable = true }, ref) {\n const {\n listNavigation,\n isSelectable,\n onScrollBottom,\n scrollable: menuScrollable,\n } = useMenuHookContext()\n\n const optionsRef =\n (ref as React.RefObject<HTMLDivElement>) || React.createRef()\n\n const size = React.Children.toArray(children).filter(isSelectable).length\n\n React.useEffect(\n function () {\n listNavigation.setSize(size)\n },\n [listNavigation, size]\n )\n\n useEventListener({\n event: 'scroll',\n handler: checkBottomScrollPosition(onScrollBottom),\n scope: optionsRef,\n })\n\n let index = 0\n\n return (\n <StyledOptions\n className={className}\n ref={optionsRef}\n $scrollable={menuScrollable || scrollable}\n >\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child) && isSelectable(child)) {\n const selectableIndex = index\n\n index = index + 1\n\n return React.cloneElement(child, {\n index: selectableIndex,\n })\n }\n\n return child\n })}\n </StyledOptions>\n )\n }\n)\n\nexport const Search = ({\n className,\n i18nScope = 'core.menu',\n placeholder,\n onChange: _onChange,\n ...props\n}: MenuSearchProps) => {\n const I18n = useI18nContext()\n const menu = useMenuHookContext()\n\n const [value, setValue] = React.useState('')\n\n const onChange: TypeaheadProps['onChange'] = React.useCallback(\n function (value: string, event: any) {\n setValue(event.target.value)\n menu.onSearch?.(event)\n menu.listNavigation.set(0)\n _onChange?.(event)\n },\n [_onChange]\n )\n\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n autoFocus={true}\n placeholder={placeholder || I18n.t('search', { scope: i18nScope })}\n onChange={onChange}\n value={value}\n />\n </StyledSearch>\n )\n}\n\nexport const Header = React.forwardRef<\n HTMLDivElement,\n DivAttributes & MenuHeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n DivAttributes & MenuFooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenu_.displayName = 'Menu'\n\nFooter.displayName = 'Menu.Footer'\n\nGroup.displayName = 'Menu.Group'\n\nHeader.displayName = 'Menu.Header'\n\nItem.displayName = 'Menu.Item'\n\nOptions.displayName = 'Menu.Options'\n\nSearch.displayName = 'Menu.Search'\n\n/**\n\n Menus are used in conjunction with components that contain dropdowns.\n For example, multi select, single select, and dropdown.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu--demo)\n\n @see [Design Guidelines](https://design.procore.com/menu)\n\n */\nexport const Menu = addSubcomponents(\n {\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n Menu_\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","names":["React","StyledFooter","StyledGroup","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","useOverlayTriggerContext","Typeahead","useEventListener","useI18nContext","useListNavigation","addSubcomponents","usingHookOrDefault","onScrollBottomThreshold","isItem","element","type","Item","scrollIntoView","index","parentElement","scrollTop","offsetTop","clientHeight","_element$parentElemen","parentHeight","checkBottomScrollPosition","callback","onScroll","e","currentTarget","HTMLElement","scrollHeight","noop","useMenu","_ref","_ref$isSelectable","isSelectable","externalKeyHandlerRef","keyHandlerRef","_ref$multiple","multiple","onScrollBottom","_ref$onSearch","onSearch","_ref$onSelect","onSelect","_ref$scrollable","scrollable","listNavigation","circular","initialIndex","size","highlighted","useRef","createRef","selectItem","useCallback","selection","onKeyDown","key","increment","preventDefault","decrement","current","click","useEffect","el","addEventListener","removeEventListener","domHandlers","nativeEvent","MenuHookContext","createContext","useMenuHookContext","context","useContext","Error","Menu_","forwardRef","Menu","_ref2","ref","children","_ref2$UNSAFE_closesOn","UNSAFE_closesOnSelect","_ref2$isSelectable","_ref2$onSelect","_ref2$scrollable","usingHook","props","_objectWithoutProperties","_excluded","overlayTriggerContext","menu","reset","hide","event","createElement","Provider","value","_objectSpread","_extends","role","tabIndex","Group","_ref3","_ref3$clickable","clickable","item","_excluded2","$clickable","_ref4","_ref4$index","_ref4$onClick","onClick","_ref4$selected","selected","_ref4$suggested","suggested","onMouseMove","_excluded3","_useMenuHookContext","itemRef","isHighlighted","set","group","$highlighted","$selected","Options","_ref5","className","_ref5$scrollable","_useMenuHookContext2","menuScrollable","optionsRef","Children","toArray","filter","length","setSize","handler","scope","$scrollable","map","child","isValidElement","selectableIndex","cloneElement","Search","_ref6","_ref6$i18nScope","i18nScope","placeholder","_onChange","onChange","_excluded4","I18n","_React$useState","useState","_React$useState2","_slicedToArray","setValue","_menu$onSearch","target","call","autoFocus","t","Header","_ref7","_objectDestructuringEmpty","Footer","_ref8","_ref8$padding","padding","_excluded5","displayName"],"sources":["../../src/Menu/Menu.tsx"],"sourcesContent":["import React from 'react'\nimport {\n StyledFooter,\n StyledGroup,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from '../MenuImperative/MenuImperative.styles'\nimport { useOverlayTriggerContext } from '../OverlayTrigger/OverlayTrigger'\nimport type { TypeaheadProps } from '../Typeahead'\nimport { Typeahead } from '../Typeahead'\nimport { useEventListener } from '../_hooks/EventListener'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useListNavigation } from '../_hooks/ListNavigation'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { usingHookOrDefault } from '../_utils/usingHookOrDefault'\nimport type {\n ElementTypeChecker,\n MenuFooterProps,\n MenuGroupProps,\n MenuHeaderProps,\n MenuHook,\n MenuHookConfig,\n MenuItemProps,\n MenuOptionsProps,\n MenuProps,\n MenuSearchProps,\n MenuSelection,\n} from './Menu.types'\n\nconst onScrollBottomThreshold = 8\n\nexport const isItem: ElementTypeChecker = (element) => element.type === Item\n\nfunction scrollIntoView(index: number, element: HTMLElement) {\n if (!element.parentElement) {\n return\n }\n\n if (index === 0) {\n element.parentElement.scrollTop = 0\n\n return\n }\n\n const { offsetTop, clientHeight } = element\n\n const { scrollTop, clientHeight: parentHeight } = element.parentElement\n\n if (offsetTop < scrollTop) {\n element.parentElement.scrollTop = offsetTop\n } else if (offsetTop + clientHeight > scrollTop + parentHeight) {\n element.parentElement.scrollTop = offsetTop - parentHeight + clientHeight\n }\n}\n\nfunction checkBottomScrollPosition(callback?: (e: Event) => void) {\n return function onScroll(e: Event) {\n if (\n callback &&\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n ) {\n callback(e)\n }\n }\n}\n\nfunction noop() {}\n\nexport function useMenu({\n isSelectable = isItem,\n keyHandlerRef: externalKeyHandlerRef,\n multiple = false,\n onScrollBottom,\n onSearch = noop,\n onSelect = noop,\n scrollable = true,\n}: MenuHookConfig): MenuHook {\n const listNavigation = useListNavigation({\n circular: !onScrollBottom,\n initialIndex: 0,\n size: 0,\n })\n\n const highlighted = React.useRef<HTMLDivElement>(null)\n\n const keyHandlerRef = externalKeyHandlerRef || React.createRef<HTMLElement>()\n\n const selectItem = React.useCallback(\n (selection: MenuSelection) => {\n onSelect(selection)\n },\n [onSelect]\n )\n\n const onKeyDown = React.useCallback(\n function (e: KeyboardEvent) {\n const { key } = e\n\n if (key === 'ArrowDown' || key === 'Down') {\n listNavigation.increment()\n e.preventDefault()\n } else if (key === 'ArrowUp' || key === 'Up') {\n listNavigation.decrement()\n e.preventDefault()\n } else if (key === 'Enter') {\n if (highlighted.current) {\n highlighted.current.click()\n }\n }\n },\n [listNavigation]\n )\n\n // TODO - deprecate keyhandlerRef, this is just for backwards compatibility since we already exposed it\n React.useEffect(\n function () {\n let el: HTMLElement\n\n if (keyHandlerRef.current) {\n keyHandlerRef.current.addEventListener('keydown', onKeyDown)\n\n el = keyHandlerRef.current\n }\n\n return function () {\n if (el) {\n el.removeEventListener('keydown', onKeyDown)\n }\n }\n },\n [keyHandlerRef, onKeyDown]\n )\n\n return {\n domHandlers: {\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) =>\n onKeyDown(e.nativeEvent),\n },\n highlighted,\n isSelectable,\n listNavigation,\n multiple,\n onScrollBottom,\n onSearch,\n scrollable,\n selectItem,\n }\n}\n\nexport const MenuHookContext = React.createContext<MenuHook | null>(null)\n\nexport function useMenuHookContext(): MenuHook {\n const context = React.useContext(MenuHookContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `MenuHook` context, please wrap your component in `<MenuHookContext.Provider>`'\n )\n }\n\n return context\n}\n\nexport const Menu_ = React.forwardRef<HTMLDivElement, MenuProps>(function Menu(\n {\n children,\n UNSAFE_closesOnSelect = true,\n isSelectable = isItem,\n keyHandlerRef,\n onScrollBottom,\n onSelect = noop,\n onSearch,\n scrollable = true,\n usingHook,\n ...props\n },\n ref\n) {\n // Don't be tempted to put this in useMenu. In order for hooks to be portable\n // across the dom tree, they should not contain context consumers.\n const overlayTriggerContext = useOverlayTriggerContext()\n\n const menu = usingHookOrDefault(\n usingHook,\n useMenu\n )({\n isSelectable,\n keyHandlerRef,\n onScrollBottom,\n onSelect,\n onSearch,\n scrollable,\n })\n\n React.useEffect(\n function () {\n // When unmounting, reset the listNavigation index and set\n // the current highlighted item to null. we only want to run this once,\n // so don't pass any dependencies\n return function () {\n menu.listNavigation.reset()\n menu.highlighted.current = null\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n function selectItem(selection: MenuSelection) {\n menu.selectItem(selection)\n\n if (UNSAFE_closesOnSelect) {\n overlayTriggerContext.hide(selection.event)\n }\n }\n\n return (\n <MenuHookContext.Provider value={{ ...menu, selectItem }}>\n <StyledWrapper {...menu.domHandlers} ref={ref} role=\"menu\" tabIndex={0}>\n <StyledMenu {...props}>{children}</StyledMenu>\n </StyledWrapper>\n </MenuHookContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuGroupProps\n>(function Group({ children, clickable = false, item, ...props }, ref) {\n return (\n <StyledGroup\n {...props}\n ref={ref}\n // onClick={(event) => {\n // TODO: implement selecting groups?\n // }}\n $clickable={clickable}\n >\n {children}\n </StyledGroup>\n )\n})\n\nexport const Item = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuItemProps\n>(function Item(\n {\n children,\n index = 0,\n item,\n onClick = noop,\n selected = false,\n suggested = false,\n onMouseMove,\n ...props\n },\n ref\n) {\n const { highlighted, listNavigation, multiple, selectItem } =\n useMenuHookContext()\n\n const itemRef =\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (ref as React.RefObject<HTMLDivElement>) || React.useRef<HTMLDivElement>()\n\n const isHighlighted = index === listNavigation.index\n\n React.useEffect(\n function () {\n // When mounting, check if this item is selected or suggested, and if\n // it is, then set it as the current index and scroll to it.\n // We only want to run this once, so don't pass any dependencies\n\n if (multiple) {\n // don't do this behavior in multiple mode\n return\n }\n\n if (itemRef.current && (selected || suggested)) {\n highlighted.current = itemRef.current\n listNavigation.set(index)\n }\n },\n /* eslint-disable */ [] /* eslint-enable */\n )\n\n React.useEffect(\n function () {\n // If this item has become highlighted, scroll to it\n if (itemRef.current && isHighlighted) {\n highlighted.current = itemRef.current\n scrollIntoView(index, itemRef.current)\n }\n },\n [highlighted, index, isHighlighted, itemRef]\n )\n\n return (\n <StyledItem\n {...props}\n onClick={(event: React.MouseEvent<HTMLDivElement>) => {\n listNavigation.set(index)\n\n selectItem({ event: event.nativeEvent, item, group: false })\n\n onClick(event)\n }}\n onMouseMove={(event: React.MouseEvent<HTMLDivElement>) => {\n if (onMouseMove) {\n onMouseMove(event)\n }\n if (listNavigation.index !== index) {\n listNavigation.set(index)\n }\n }}\n ref={itemRef}\n role=\"menuitem\"\n $highlighted={isHighlighted}\n $selected={selected}\n >\n {children}\n </StyledItem>\n )\n})\n\nexport const Options = React.forwardRef<HTMLDivElement, MenuOptionsProps>(\n function Options({ children, className, scrollable = true }, ref) {\n const {\n listNavigation,\n isSelectable,\n onScrollBottom,\n scrollable: menuScrollable,\n } = useMenuHookContext()\n\n const optionsRef =\n (ref as React.RefObject<HTMLDivElement>) || React.createRef()\n\n const size = React.Children.toArray(children).filter(isSelectable).length\n\n React.useEffect(\n function () {\n listNavigation.setSize(size)\n },\n [listNavigation, size]\n )\n\n useEventListener({\n event: 'scroll',\n handler: checkBottomScrollPosition(onScrollBottom),\n scope: optionsRef,\n })\n\n let index = 0\n\n return (\n <StyledOptions\n className={className}\n ref={optionsRef}\n $scrollable={menuScrollable || scrollable}\n >\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child) && isSelectable(child)) {\n const selectableIndex = index\n\n index = index + 1\n\n return React.cloneElement(child, {\n index: selectableIndex,\n })\n }\n\n return child\n })}\n </StyledOptions>\n )\n }\n)\n\nexport const Search = ({\n className,\n i18nScope = 'core.menu',\n placeholder,\n onChange: _onChange,\n ...props\n}: MenuSearchProps) => {\n const I18n = useI18nContext()\n const menu = useMenuHookContext()\n\n const [value, setValue] = React.useState('')\n\n const onChange: TypeaheadProps['onChange'] = React.useCallback(\n function (value: string, event: any) {\n setValue(event.target.value)\n menu.onSearch?.(event)\n menu.listNavigation.set(0)\n _onChange?.(event)\n },\n [_onChange]\n )\n\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n autoFocus={true}\n placeholder={placeholder || I18n.t('search', { scope: i18nScope })}\n onChange={onChange}\n value={value}\n />\n </StyledSearch>\n )\n}\n\nexport const Header = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuHeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & MenuFooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenu_.displayName = 'Menu'\n\nFooter.displayName = 'Menu.Footer'\n\nGroup.displayName = 'Menu.Group'\n\nHeader.displayName = 'Menu.Header'\n\nItem.displayName = 'Menu.Item'\n\nOptions.displayName = 'Menu.Options'\n\nSearch.displayName = 'Menu.Search'\n\n/**\n\n Menus are used in conjunction with components that contain dropdowns.\n For example, multi select, single select, and dropdown.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu--demo)\n\n @see [Design Guidelines](https://design.procore.com/menu)\n\n */\nexport const Menu = addSubcomponents(\n {\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n Menu_\n)\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { CheckboxProps } from '../Checkbox';
3
3
  import type { PolymorphicAs } from '../_utils/polymorphic';
4
- import type { DivAttributes } from '../_utils/types';
5
4
  import type { DroppableProps, FooterProps, GroupProps, HeaderProps, ItemProps, ItemWithDraggingProps, MenuContext as IMenuContext, MenuItemDefaultElement, MenuItemProps, MenuProps, MenuRef, MenuSearchProps, OptionsProps } from './MenuImperative.types';
6
5
  export declare const MenuContext: React.Context<IMenuContext>;
7
6
  export declare function useMenuContext(): IMenuContext;
@@ -29,20 +28,20 @@ interface ControlNavigationReturn {
29
28
  * @since 11.5.0
30
29
  */
31
30
  export declare const useMenuImperativeControlNavigation: (ref: React.RefObject<MenuRef>, enable?: boolean, options?: ControlNavigationProps) => ControlNavigationReturn;
32
- export declare const Group: React.ForwardRefExoticComponent<DivAttributes & GroupProps & React.RefAttributes<HTMLDivElement>>;
31
+ export declare const Group: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & GroupProps & React.RefAttributes<HTMLDivElement>>;
33
32
  export declare function Droppable({ id, children }: DroppableProps): React.JSX.Element;
34
33
  export declare namespace Droppable {
35
34
  var displayName: string;
36
35
  }
37
36
  export declare const Item: PolymorphicAs.ComponentWithForwardedRef<MenuItemProps, MenuItemDefaultElement>;
38
- export declare const CheckboxItem: React.ForwardRefExoticComponent<(DivAttributes & (ItemProps | ItemWithDraggingProps) & Omit<CheckboxProps, "checked">) & React.RefAttributes<HTMLDivElement>>;
37
+ export declare const CheckboxItem: React.ForwardRefExoticComponent<(React.HTMLAttributes<HTMLDivElement> & (ItemProps | ItemWithDraggingProps) & Omit<CheckboxProps, "checked">) & React.RefAttributes<HTMLDivElement>>;
39
38
  export declare const Options: React.ForwardRefExoticComponent<OptionsProps & React.RefAttributes<HTMLDivElement>>;
40
39
  export declare const Search: {
41
40
  ({ className, i18nScope, placeholder, onChange: _onChange, ...props }: MenuSearchProps): React.JSX.Element;
42
41
  displayName: string;
43
42
  };
44
- export declare const Header: React.ForwardRefExoticComponent<DivAttributes & HeaderProps & React.RefAttributes<HTMLDivElement>>;
45
- export declare const Footer: React.ForwardRefExoticComponent<DivAttributes & FooterProps & React.RefAttributes<HTMLDivElement>>;
43
+ export declare const Header: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & HeaderProps & React.RefAttributes<HTMLDivElement>>;
44
+ export declare const Footer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & FooterProps & React.RefAttributes<HTMLDivElement>>;
46
45
  /**
47
46
 
48
47
  @since 10.19.0
@@ -51,11 +50,11 @@ export declare const Footer: React.ForwardRefExoticComponent<DivAttributes & Foo
51
50
 
52
51
  */
53
52
  export declare const MenuImperative: React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<MenuRef>> & {
54
- CheckboxItem: React.ForwardRefExoticComponent<(DivAttributes & (ItemProps | ItemWithDraggingProps) & Omit<CheckboxProps, "checked">) & React.RefAttributes<HTMLDivElement>>;
53
+ CheckboxItem: React.ForwardRefExoticComponent<(React.HTMLAttributes<HTMLDivElement> & (ItemProps | ItemWithDraggingProps) & Omit<CheckboxProps, "checked">) & React.RefAttributes<HTMLDivElement>>;
55
54
  Droppable: typeof Droppable;
56
- Footer: React.ForwardRefExoticComponent<DivAttributes & FooterProps & React.RefAttributes<HTMLDivElement>>;
57
- Group: React.ForwardRefExoticComponent<DivAttributes & GroupProps & React.RefAttributes<HTMLDivElement>>;
58
- Header: React.ForwardRefExoticComponent<DivAttributes & HeaderProps & React.RefAttributes<HTMLDivElement>>;
55
+ Footer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & FooterProps & React.RefAttributes<HTMLDivElement>>;
56
+ Group: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & GroupProps & React.RefAttributes<HTMLDivElement>>;
57
+ Header: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & HeaderProps & React.RefAttributes<HTMLDivElement>>;
59
58
  Item: PolymorphicAs.ComponentWithForwardedRef<MenuItemProps, MenuItemDefaultElement>;
60
59
  Options: React.ForwardRefExoticComponent<OptionsProps & React.RefAttributes<HTMLDivElement>>;
61
60
  Search: {
@@ -1 +1 @@
1
- {"version":3,"file":"MenuImperative.js","names":["DragDropContext","Draggable","Droppable","DndDroppable","Grip","useLabel","useId","React","isValidElement","useEffect","useMemo","useState","Checkbox","FakeCheckbox","Typeahead","useI18nContext","useZIndexContext","colors","addSubcomponents","mergeRefs","StyledDroppable","StyledFooter","StyledGrip","StyledGroup","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","createSensors","onScrollBottomThreshold","NO_ANNOUCEMENT","noop","isScrolledToBottom","e","currentTarget","HTMLElement","scrollTop","scrollHeight","clientHeight","MenuContext","createContext","a11yOptionsProps","currentlyDroppableIn","onHoverItem","onScrollBottom","onSelect","role","useMenuContext","context","useContext","Error","useMenuImperativeControlNavigation","ref","enable","arguments","length","undefined","options","_id","menuId","id","_React$useState","_React$useState2","_slicedToArray","activeDescendant","setActiveDescendant","_useState","_useState2","onKeyDown","setOnKeyDown","_ref$current","current","defaultKeyDownNavigationHandler","menuNavigationTriggerProps","menuProps","onChangeActiveDescendant","changeAriaActiveDescendantOnOptions","menuRef","querySelector","setAttribute","MenuImperative_","forwardRef","Menu","_ref","_ref$circular","circular","_ref$onDragEnd","onDragEnd","onDragEnd_","_ref$onScrollBottom","onScrollBottom_","_ref$onSelect","onSelect_","_ref$role","onKeyboardNavigation_","onKeyboardNavigation","multiple","props","_objectWithoutProperties","_excluded","useRef","_useState3","_useState4","setCurrentlyDroppableIn","useCallback","selection","onChangeHighlight","_useMemo","handleItemHover","handleKeyDown","highlight","highlighted","highlightFirst","highlightLast","highlightSelected","highlightSuggested","rehighlightCurrent","prev","next","select","updateSelectCallback","commonA11yOptionProps","_defineProperty","_objectSpread","tabIndex","useImperativeHandle","el","onDragStart","start","provided","announce","itemInfo","JSON","parse","draggableId","droppableIn","onDragUpdate","_update","result","reason","destination","source","createElement","Provider","value","Group","_ref2","clickable","_ref2$item","item","children","_excluded2","_useLabel","label","labelElementType","fieldProps","labelProps","_extends","stringify","findDraggableRecursively","nodeChildren","Children","toArray","i","child","matchingChild","_ref3","ctx","cloneZIndex","renderItemClone","_snapshot","rubric","_draggingChild$props","draggableInfo","draggingChild","cloneProps","ClonedItem","hasCheckbox","type","CheckboxItem","droppableId","isDropDisabled","includes","renderClone","snapshot","innerRef","placeholder","_ref4","_ref4$hasCheckbox","_ref4$children","_ref4$selected","selected","_excluded3","itemProps","$selected","itemChildren","indeterminate","error","checked","onChange","draggableProps","dragHandleProps","$isDraggable","$isDragging","style","zIndex","color","gray45","Item","_ref5","as","_ref5$children","_ref5$item","_ref5$onClick","onClick","onClick_","_ref5$selected","_ref5$suggested","suggested","_ref5$disabled","disabled","restoreFocus","draggableIndex","_excluded4","event","group","action","contextRole","ariaSelected","onMouseMove","$disabled","droppableInfo","Array","isArray","index","isDragDisabled","_ref6","_ref6$selected","_ref6$disabled","_ref6$error","_ref6$indeterminate","_ref6$children","_excluded5","ariaChecked","Options","i18n","t","onScroll","Search","_ref7","className","_ref7$i18nScope","i18nScope","_onChange","_excluded6","I18n","_React$useState3","_React$useState4","setValue","autoFocus","scope","Header","_ref8","_objectDestructuringEmpty","Footer","_ref9","_ref9$padding","padding","_excluded7","displayName","MenuImperative"],"sources":["../../src/MenuImperative/MenuImperative.tsx"],"sourcesContent":["import type {\n DraggableProvided,\n DraggableRubric,\n DraggableStateSnapshot,\n DragStart,\n DragUpdate,\n DroppableProvided,\n DroppableStateSnapshot,\n DropResult,\n ResponderProvided,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport {\n DragDropContext,\n Draggable,\n Droppable as DndDroppable,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport { Grip } from '@procore/core-icons/dist'\nimport { useLabel } from '@react-aria/label'\nimport { useId } from '@react-aria/utils'\nimport React, { isValidElement, useEffect, useMemo, useState } from 'react'\nimport type { CheckboxProps } from '../Checkbox'\nimport { Checkbox, FakeCheckbox } from '../Checkbox/Checkbox'\nimport type { TypeaheadProps } from '../Typeahead'\nimport { Typeahead } from '../Typeahead'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { colors } from '../_styles/colors'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { PolymorphicAs } from '../_utils/polymorphic'\nimport type { DivAttributes } from '../_utils/types'\nimport {\n StyledDroppable,\n StyledFooter,\n StyledGrip,\n StyledGroup,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from './MenuImperative.styles'\nimport type {\n DroppableProps,\n FooterProps,\n GroupProps,\n HeaderProps,\n ItemProps,\n ItemWithDraggingProps,\n MenuContext as IMenuContext,\n MenuItemDefaultElement,\n MenuItemProps,\n MenuProps,\n MenuRef,\n MenuSearchProps,\n OptionsProps,\n Selection,\n} from './MenuImperative.types'\nimport { createSensors } from './sensors'\n\nconst onScrollBottomThreshold = 8\nconst NO_ANNOUCEMENT = ''\n\nfunction noop() {}\n\nfunction isScrolledToBottom(e: React.UIEvent<HTMLDivElement, UIEvent>) {\n return (\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n )\n}\n\nexport const MenuContext = React.createContext<IMenuContext>({\n a11yOptionsProps: {},\n currentlyDroppableIn: [],\n onHoverItem: noop,\n onScrollBottom: noop,\n onSelect: noop,\n role: 'none',\n})\n\nexport function useMenuContext(): IMenuContext {\n const context = React.useContext(MenuContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `Menu` context, please wrap your component in `<MenuContext.Provider>`'\n )\n }\n\n return context\n}\n\ninterface ControlNavigationProps {\n menuId?: MenuProps['id']\n}\n\ninterface ControlNavigationReturn {\n menuNavigationTriggerProps: {\n 'aria-activedescendant'?: string\n 'aria-controls'?: string\n onKeyDown?: React.KeyboardEventHandler<Element>\n }\n menuProps: {\n onChangeActiveDescendant?: React.Dispatch<\n React.SetStateAction<string | undefined>\n >\n id: string\n }\n}\n/**\n * Usefully if navigation is controlled by search input or another input.\n *\n * @param ref MenuImperative ref\n * @param enable True by default. Setting to false will change all props\n * to undefined (except id in menuProps), so navigation controlled by menu itself is restored.\n * @param options.menuId provide id otherwise it will be generated\n * @since 11.5.0\n */\nexport const useMenuImperativeControlNavigation = (\n ref: React.RefObject<MenuRef>,\n enable = true,\n options: ControlNavigationProps = {}\n): ControlNavigationReturn => {\n const { menuId: _id } = options\n const id = useId(_id)\n const [activeDescendant, setActiveDescendant] = React.useState<\n string | undefined\n >()\n const [onKeyDown, setOnKeyDown] = useState<React.KeyboardEventHandler>()\n // ref is null on first render\n React.useEffect(() => {\n setOnKeyDown(() => ref.current?.defaultKeyDownNavigationHandler)\n }, [])\n\n if (enable) {\n const menuNavigationTriggerProps = {\n 'aria-activedescendant': activeDescendant,\n 'aria-controls': id,\n onKeyDown,\n }\n\n const menuProps = {\n onChangeActiveDescendant: setActiveDescendant,\n id,\n }\n\n return {\n menuNavigationTriggerProps,\n menuProps,\n }\n } else {\n return {\n menuNavigationTriggerProps: {},\n menuProps: { id },\n }\n }\n}\n\nfunction changeAriaActiveDescendantOnOptions(id = '', menuRef: Element | null) {\n const options = menuRef?.querySelector<HTMLElement>(\n '[data-internal=\"menuimperative-options\"]'\n )\n\n options?.setAttribute('aria-activedescendant', id)\n}\n\nconst MenuImperative_ = React.forwardRef<MenuRef, MenuProps>(function Menu(\n {\n circular = false,\n onDragEnd: onDragEnd_ = noop,\n onScrollBottom: onScrollBottom_ = noop,\n onSelect: onSelect_ = noop,\n role = 'none',\n onChangeActiveDescendant,\n onKeyboardNavigation: onKeyboardNavigation_,\n id,\n multiple,\n ...props\n },\n forwardRef\n) {\n const ref = React.useRef<HTMLDivElement>(null)\n const [currentlyDroppableIn, setCurrentlyDroppableIn] = useState<string[]>([])\n\n // for context, used by Menu.Item\n const onSelect = React.useCallback(\n function (selection: Selection) {\n onSelect_(selection)\n },\n [onSelect_]\n )\n\n const onChangeHighlight = onChangeActiveDescendant\n ? onChangeActiveDescendant\n : changeAriaActiveDescendantOnOptions\n\n const {\n handleItemHover,\n handleKeyDown: defaultKeyDownNavigationHandler,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n rehighlightCurrent,\n prev,\n next,\n select,\n updateSelectCallback,\n } = useMemo(\n () => createSensors(ref, circular, onChangeHighlight),\n [circular, onChangeHighlight]\n )\n\n const commonA11yOptionProps = {\n role,\n id,\n ['aria-multiselectable']: multiple,\n }\n\n const a11yOptionsProps = !onChangeActiveDescendant\n ? {\n ...commonA11yOptionProps,\n onKeyDown: onKeyboardNavigation_ ?? defaultKeyDownNavigationHandler,\n tabIndex: 0,\n }\n : {\n ...commonA11yOptionProps,\n onKeyDown: undefined,\n tabIndex: undefined,\n }\n\n updateSelectCallback(onSelect)\n\n // exposes internal menu API\n React.useImperativeHandle(forwardRef, () => ({\n el: ref.current,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n next,\n prev,\n select,\n defaultKeyDownNavigationHandler,\n }))\n\n useEffect(rehighlightCurrent)\n\n function onDragStart(start: DragStart, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n const itemInfo = JSON.parse(start.draggableId)\n setCurrentlyDroppableIn(itemInfo.droppableIn)\n }\n\n function onDragUpdate(_update: DragUpdate, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n }\n\n const onDragEnd = React.useCallback(\n function (result: DropResult, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n setCurrentlyDroppableIn([])\n if (result.reason === 'DROP' && result.destination) {\n const itemInfo = JSON.parse(result.draggableId)\n onDragEnd_({\n draggableId: itemInfo.draggableId,\n source: result.source,\n destination: result.destination,\n })\n }\n },\n [onDragEnd_]\n )\n\n // for context, used by Menu.Options\n const onScrollBottom = React.useCallback(\n function (e: React.UIEvent<HTMLDivElement, UIEvent>) {\n if (isScrolledToBottom(e)) {\n onScrollBottom_(e)\n }\n },\n [onScrollBottom_]\n )\n\n return (\n <MenuContext.Provider\n value={{\n a11yOptionsProps,\n currentlyDroppableIn,\n onHoverItem: handleItemHover,\n onScrollBottom,\n onSelect,\n role,\n }}\n >\n <StyledWrapper ref={ref}>\n <DragDropContext\n onDragStart={onDragStart}\n onDragUpdate={onDragUpdate}\n onDragEnd={onDragEnd}\n >\n <StyledMenu {...props} />\n </DragDropContext>\n </StyledWrapper>\n </MenuContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n DivAttributes & GroupProps\n>(function Group({ clickable, item = 'group', id, children, ...props }, ref) {\n const { fieldProps, labelProps } = useLabel({\n id,\n label: children,\n labelElementType: 'span',\n })\n\n return (\n <StyledGroup\n ref={ref}\n // onClick={(e) => {\n // TODO: implement selecting groups?\n // }}\n data-group={true}\n data-value={JSON.stringify(item)}\n role=\"separator\"\n {...fieldProps}\n {...props}\n >\n <span {...labelProps}>{children}</span>\n </StyledGroup>\n )\n})\n\nfunction findDraggableRecursively(\n children: React.ReactNode,\n draggableId: any\n): React.ReactElement | null {\n const nodeChildren = React.Children.toArray(children)\n for (let i = 0; i < nodeChildren.length; i++) {\n const child = nodeChildren[i]\n if (isValidElement(child)) {\n if ('draggableId' in child.props) {\n if (child.props.draggableId === draggableId) {\n return child\n }\n } else {\n const matchingChild = findDraggableRecursively(\n child.props.children,\n draggableId\n )\n if (matchingChild) {\n return matchingChild\n }\n }\n }\n }\n return null\n}\n\nexport function Droppable({ id, children }: DroppableProps) {\n const ctx = useMenuContext()\n const cloneZIndex = useZIndexContext().value\n\n function renderItemClone(\n provided: DraggableProvided,\n _snapshot: DraggableStateSnapshot,\n rubric: DraggableRubric\n ) {\n const draggableInfo = JSON.parse(rubric.draggableId)\n const draggingChild = findDraggableRecursively(\n children,\n draggableInfo.draggableId\n )\n const cloneProps = draggingChild?.props ?? {}\n\n return (\n <ClonedItem\n hasCheckbox={draggingChild?.type === CheckboxItem}\n provided={provided}\n cloneZIndex={cloneZIndex}\n {...cloneProps}\n />\n )\n }\n\n return (\n <DndDroppable\n droppableId={id}\n isDropDisabled={!ctx.currentlyDroppableIn.includes(id)}\n renderClone={renderItemClone}\n >\n {(provided: DroppableProvided, snapshot: DroppableStateSnapshot) => (\n <StyledDroppable ref={provided.innerRef} data-droppable>\n {children}\n {provided.placeholder}\n </StyledDroppable>\n )}\n </DndDroppable>\n )\n}\n\n// creates a version of a draggable item that can be positioned correctly within modals\n// this should always have the same appearance of an Item or CheckboxItem, but doesn't\n// need to handle selection events, which can't be done while the item is being dragged\nconst ClonedItem = ({\n hasCheckbox = false,\n children = null,\n selected = false,\n provided,\n ...props\n}: DivAttributes &\n ItemProps &\n Omit<CheckboxProps, 'checked'> & {\n provided: DraggableProvided\n hasCheckbox: boolean\n cloneZIndex: number\n }) => {\n const itemProps = {\n ...props,\n $selected: selected,\n }\n\n const itemChildren = hasCheckbox ? (\n <Checkbox\n indeterminate={props.indeterminate}\n error={props.error}\n checked={selected}\n onChange={noop}\n >\n {children}\n </Checkbox>\n ) : (\n children\n )\n\n return (\n <StyledItem\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable\n $isDragging\n style={{\n ...provided.draggableProps.style,\n ...props.style,\n zIndex: props.cloneZIndex,\n }}\n >\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n {itemChildren}\n </StyledItem>\n )\n}\n\nexport const Item = React.forwardRef(function Item<\n E extends React.ElementType = MenuItemDefaultElement\n>(\n {\n as,\n /* @ts-ignore */\n children = null,\n item = null,\n /* @ts-ignore */\n onClick: onClick_ = noop,\n selected = false,\n suggested = false,\n disabled = false,\n id: _id,\n role,\n restoreFocus,\n draggableId,\n draggableIndex,\n droppableIn,\n ...props\n }: PolymorphicAs.ComponentPropsWithoutRef<MenuItemProps, E>,\n /**\n * TODO: although it is typed just fine from the outside (`<Menu.Item ref>` that is),\n * an effort is required to type it properly here too\n */\n forwardRef: React.Ref<any>\n) {\n const id = useId(_id)\n\n const ctx = useMenuContext()\n\n const onClick = React.useCallback(\n function (event: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (disabled) return\n\n onClick_(event)\n\n ctx.onSelect({\n item,\n event,\n group: false,\n action: selected ? 'unselected' : 'selected',\n ...(restoreFocus === undefined ? {} : { restoreFocus }),\n })\n },\n [ctx, item, onClick_, disabled, selected]\n )\n\n let contextRole\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitem'\n }\n\n const itemProps = {\n 'aria-disabled': disabled ? true : undefined,\n 'aria-selected': ariaSelected,\n ...props,\n id,\n role: role ?? contextRole,\n onClick,\n onMouseMove: (e: any) => ctx.onHoverItem(e.currentTarget),\n 'data-group': false,\n 'data-value': JSON.stringify(item),\n 'data-selected': selected,\n 'data-suggested': suggested,\n 'data-disabled': disabled,\n 'data-restorefocus': restoreFocus,\n $disabled: disabled,\n $selected: selected,\n }\n\n if (\n droppableIn !== undefined &&\n draggableId !== undefined &&\n draggableIndex !== undefined\n ) {\n // encoding id and valid droppables as the draggableId, so we can use them to determine where this item can be dropped\n const droppableInfo = {\n draggableId,\n droppableIn: Array.isArray(droppableIn) ? droppableIn : [droppableIn],\n }\n return (\n <Draggable\n draggableId={JSON.stringify(droppableInfo)}\n index={draggableIndex}\n isDragDisabled={disabled}\n >\n {(provided: DraggableProvided) => (\n <StyledItem\n ref={mergeRefs(provided.innerRef, forwardRef)}\n as={as}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable={!disabled}\n style={{ ...provided.draggableProps.style, ...itemProps.style }}\n tabIndex={-1}\n >\n {!disabled && (\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n )}\n {children}\n </StyledItem>\n )}\n </Draggable>\n )\n }\n\n return (\n <StyledItem ref={forwardRef} as={as} {...itemProps}>\n {children}\n </StyledItem>\n )\n}) as PolymorphicAs.ComponentWithForwardedRef<\n MenuItemProps,\n MenuItemDefaultElement\n>\n\nexport const CheckboxItem = React.forwardRef<\n HTMLDivElement,\n DivAttributes &\n (ItemProps | ItemWithDraggingProps) &\n Omit<CheckboxProps, 'checked'>\n>(function CheckboxItem(\n {\n selected = false,\n disabled = false,\n error = false,\n indeterminate = false,\n children = null,\n role,\n ...props\n },\n forwardRef\n) {\n const ctx = useMenuContext()\n\n let contextRole\n let ariaChecked: React.AriaAttributes['aria-checked']\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitemcheckbox'\n\n if (indeterminate) {\n ariaChecked = 'mixed'\n } else {\n ariaChecked = selected ? 'true' : 'false'\n }\n }\n\n return (\n <Item\n aria-checked={ariaChecked}\n aria-disabled={disabled ? true : undefined}\n aria-selected={ariaSelected}\n {...props}\n role={role ?? contextRole}\n selected={selected}\n disabled={disabled}\n ref={forwardRef}\n >\n <FakeCheckbox\n indeterminate={indeterminate}\n error={error}\n disabled={disabled}\n checked={selected}\n >\n {children}\n </FakeCheckbox>\n </Item>\n )\n})\nexport const Options = React.forwardRef<HTMLDivElement, OptionsProps>(\n function Options(props, ref) {\n const ctx = useMenuContext()\n const i18n = useI18nContext()\n\n return (\n <StyledOptions\n aria-label={i18n.t('core.menuImperative.options.ariaLabel')}\n {...props}\n {...ctx.a11yOptionsProps}\n data-internal=\"menuimperative-options\"\n ref={ref}\n onScroll={ctx.onScrollBottom}\n />\n )\n }\n)\n\nexport const Search = ({\n className,\n i18nScope = 'core.menu',\n placeholder,\n onChange: _onChange,\n ...props\n}: MenuSearchProps) => {\n const I18n = useI18nContext()\n\n const [value, setValue] = React.useState('')\n\n const onChange: NonNullable<TypeaheadProps['onChange']> = React.useCallback(\n function (value, event) {\n setValue(value)\n _onChange?.(event as unknown as React.ChangeEvent<HTMLInputElement>)\n },\n [_onChange]\n )\n\n // intentionally changed to type text + searchbox,\n // voiceOver focus goes to clear button when no results in Chrome\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n type=\"text\"\n role=\"searchbox\"\n autoFocus={true}\n placeholder={placeholder || I18n.t('search', { scope: i18nScope })}\n onChange={onChange}\n value={value}\n />\n </StyledSearch>\n )\n}\n\nexport const Header = React.forwardRef<\n HTMLDivElement,\n DivAttributes & HeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n DivAttributes & FooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenuImperative_.displayName = 'Menu'\n\nDroppable.displayName = 'Menu.Droppable'\n\nFooter.displayName = 'Menu.Footer'\n\nGroup.displayName = 'Menu.Group'\n\nHeader.displayName = 'Menu.Header'\n\nItem.displayName = 'Menu.Item'\n\nOptions.displayName = 'Menu.Options'\n\nSearch.displayName = 'Menu.Search'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu-imperative--demo)\n\n */\nexport const MenuImperative = addSubcomponents(\n {\n CheckboxItem,\n Droppable,\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n MenuImperative_\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"MenuImperative.js","names":["DragDropContext","Draggable","Droppable","DndDroppable","Grip","useLabel","useId","React","isValidElement","useEffect","useMemo","useState","Checkbox","FakeCheckbox","Typeahead","useI18nContext","useZIndexContext","colors","addSubcomponents","mergeRefs","StyledDroppable","StyledFooter","StyledGrip","StyledGroup","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","createSensors","onScrollBottomThreshold","NO_ANNOUCEMENT","noop","isScrolledToBottom","e","currentTarget","HTMLElement","scrollTop","scrollHeight","clientHeight","MenuContext","createContext","a11yOptionsProps","currentlyDroppableIn","onHoverItem","onScrollBottom","onSelect","role","useMenuContext","context","useContext","Error","useMenuImperativeControlNavigation","ref","enable","arguments","length","undefined","options","_id","menuId","id","_React$useState","_React$useState2","_slicedToArray","activeDescendant","setActiveDescendant","_useState","_useState2","onKeyDown","setOnKeyDown","_ref$current","current","defaultKeyDownNavigationHandler","menuNavigationTriggerProps","menuProps","onChangeActiveDescendant","changeAriaActiveDescendantOnOptions","menuRef","querySelector","setAttribute","MenuImperative_","forwardRef","Menu","_ref","_ref$circular","circular","_ref$onDragEnd","onDragEnd","onDragEnd_","_ref$onScrollBottom","onScrollBottom_","_ref$onSelect","onSelect_","_ref$role","onKeyboardNavigation_","onKeyboardNavigation","multiple","props","_objectWithoutProperties","_excluded","useRef","_useState3","_useState4","setCurrentlyDroppableIn","useCallback","selection","onChangeHighlight","_useMemo","handleItemHover","handleKeyDown","highlight","highlighted","highlightFirst","highlightLast","highlightSelected","highlightSuggested","rehighlightCurrent","prev","next","select","updateSelectCallback","commonA11yOptionProps","_defineProperty","_objectSpread","tabIndex","useImperativeHandle","el","onDragStart","start","provided","announce","itemInfo","JSON","parse","draggableId","droppableIn","onDragUpdate","_update","result","reason","destination","source","createElement","Provider","value","Group","_ref2","clickable","_ref2$item","item","children","_excluded2","_useLabel","label","labelElementType","fieldProps","labelProps","_extends","stringify","findDraggableRecursively","nodeChildren","Children","toArray","i","child","matchingChild","_ref3","ctx","cloneZIndex","renderItemClone","_snapshot","rubric","_draggingChild$props","draggableInfo","draggingChild","cloneProps","ClonedItem","hasCheckbox","type","CheckboxItem","droppableId","isDropDisabled","includes","renderClone","snapshot","innerRef","placeholder","_ref4","_ref4$hasCheckbox","_ref4$children","_ref4$selected","selected","_excluded3","itemProps","$selected","itemChildren","indeterminate","error","checked","onChange","draggableProps","dragHandleProps","$isDraggable","$isDragging","style","zIndex","color","gray45","Item","_ref5","as","_ref5$children","_ref5$item","_ref5$onClick","onClick","onClick_","_ref5$selected","_ref5$suggested","suggested","_ref5$disabled","disabled","restoreFocus","draggableIndex","_excluded4","event","group","action","contextRole","ariaSelected","onMouseMove","$disabled","droppableInfo","Array","isArray","index","isDragDisabled","_ref6","_ref6$selected","_ref6$disabled","_ref6$error","_ref6$indeterminate","_ref6$children","_excluded5","ariaChecked","Options","i18n","t","onScroll","Search","_ref7","className","_ref7$i18nScope","i18nScope","_onChange","_excluded6","I18n","_React$useState3","_React$useState4","setValue","autoFocus","scope","Header","_ref8","_objectDestructuringEmpty","Footer","_ref9","_ref9$padding","padding","_excluded7","displayName","MenuImperative"],"sources":["../../src/MenuImperative/MenuImperative.tsx"],"sourcesContent":["import type {\n DraggableProvided,\n DraggableRubric,\n DraggableStateSnapshot,\n DragStart,\n DragUpdate,\n DroppableProvided,\n DroppableStateSnapshot,\n DropResult,\n ResponderProvided,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport {\n DragDropContext,\n Draggable,\n Droppable as DndDroppable,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport { Grip } from '@procore/core-icons/dist'\nimport { useLabel } from '@react-aria/label'\nimport { useId } from '@react-aria/utils'\nimport React, { isValidElement, useEffect, useMemo, useState } from 'react'\nimport type { CheckboxProps } from '../Checkbox'\nimport { Checkbox, FakeCheckbox } from '../Checkbox/Checkbox'\nimport type { TypeaheadProps } from '../Typeahead'\nimport { Typeahead } from '../Typeahead'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { colors } from '../_styles/colors'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { PolymorphicAs } from '../_utils/polymorphic'\nimport {\n StyledDroppable,\n StyledFooter,\n StyledGrip,\n StyledGroup,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from './MenuImperative.styles'\nimport type {\n DroppableProps,\n FooterProps,\n GroupProps,\n HeaderProps,\n ItemProps,\n ItemWithDraggingProps,\n MenuContext as IMenuContext,\n MenuItemDefaultElement,\n MenuItemProps,\n MenuProps,\n MenuRef,\n MenuSearchProps,\n OptionsProps,\n Selection,\n} from './MenuImperative.types'\nimport { createSensors } from './sensors'\n\nconst onScrollBottomThreshold = 8\nconst NO_ANNOUCEMENT = ''\n\nfunction noop() {}\n\nfunction isScrolledToBottom(e: React.UIEvent<HTMLDivElement, UIEvent>) {\n return (\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n )\n}\n\nexport const MenuContext = React.createContext<IMenuContext>({\n a11yOptionsProps: {},\n currentlyDroppableIn: [],\n onHoverItem: noop,\n onScrollBottom: noop,\n onSelect: noop,\n role: 'none',\n})\n\nexport function useMenuContext(): IMenuContext {\n const context = React.useContext(MenuContext)\n\n if (context === null) {\n throw new Error(\n 'Cannot find `Menu` context, please wrap your component in `<MenuContext.Provider>`'\n )\n }\n\n return context\n}\n\ninterface ControlNavigationProps {\n menuId?: MenuProps['id']\n}\n\ninterface ControlNavigationReturn {\n menuNavigationTriggerProps: {\n 'aria-activedescendant'?: string\n 'aria-controls'?: string\n onKeyDown?: React.KeyboardEventHandler<Element>\n }\n menuProps: {\n onChangeActiveDescendant?: React.Dispatch<\n React.SetStateAction<string | undefined>\n >\n id: string\n }\n}\n/**\n * Usefully if navigation is controlled by search input or another input.\n *\n * @param ref MenuImperative ref\n * @param enable True by default. Setting to false will change all props\n * to undefined (except id in menuProps), so navigation controlled by menu itself is restored.\n * @param options.menuId provide id otherwise it will be generated\n * @since 11.5.0\n */\nexport const useMenuImperativeControlNavigation = (\n ref: React.RefObject<MenuRef>,\n enable = true,\n options: ControlNavigationProps = {}\n): ControlNavigationReturn => {\n const { menuId: _id } = options\n const id = useId(_id)\n const [activeDescendant, setActiveDescendant] = React.useState<\n string | undefined\n >()\n const [onKeyDown, setOnKeyDown] = useState<React.KeyboardEventHandler>()\n // ref is null on first render\n React.useEffect(() => {\n setOnKeyDown(() => ref.current?.defaultKeyDownNavigationHandler)\n }, [])\n\n if (enable) {\n const menuNavigationTriggerProps = {\n 'aria-activedescendant': activeDescendant,\n 'aria-controls': id,\n onKeyDown,\n }\n\n const menuProps = {\n onChangeActiveDescendant: setActiveDescendant,\n id,\n }\n\n return {\n menuNavigationTriggerProps,\n menuProps,\n }\n } else {\n return {\n menuNavigationTriggerProps: {},\n menuProps: { id },\n }\n }\n}\n\nfunction changeAriaActiveDescendantOnOptions(id = '', menuRef: Element | null) {\n const options = menuRef?.querySelector<HTMLElement>(\n '[data-internal=\"menuimperative-options\"]'\n )\n\n options?.setAttribute('aria-activedescendant', id)\n}\n\nconst MenuImperative_ = React.forwardRef<MenuRef, MenuProps>(function Menu(\n {\n circular = false,\n onDragEnd: onDragEnd_ = noop,\n onScrollBottom: onScrollBottom_ = noop,\n onSelect: onSelect_ = noop,\n role = 'none',\n onChangeActiveDescendant,\n onKeyboardNavigation: onKeyboardNavigation_,\n id,\n multiple,\n ...props\n },\n forwardRef\n) {\n const ref = React.useRef<HTMLDivElement>(null)\n const [currentlyDroppableIn, setCurrentlyDroppableIn] = useState<string[]>([])\n\n // for context, used by Menu.Item\n const onSelect = React.useCallback(\n function (selection: Selection) {\n onSelect_(selection)\n },\n [onSelect_]\n )\n\n const onChangeHighlight = onChangeActiveDescendant\n ? onChangeActiveDescendant\n : changeAriaActiveDescendantOnOptions\n\n const {\n handleItemHover,\n handleKeyDown: defaultKeyDownNavigationHandler,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n rehighlightCurrent,\n prev,\n next,\n select,\n updateSelectCallback,\n } = useMemo(\n () => createSensors(ref, circular, onChangeHighlight),\n [circular, onChangeHighlight]\n )\n\n const commonA11yOptionProps = {\n role,\n id,\n ['aria-multiselectable']: multiple,\n }\n\n const a11yOptionsProps = !onChangeActiveDescendant\n ? {\n ...commonA11yOptionProps,\n onKeyDown: onKeyboardNavigation_ ?? defaultKeyDownNavigationHandler,\n tabIndex: 0,\n }\n : {\n ...commonA11yOptionProps,\n onKeyDown: undefined,\n tabIndex: undefined,\n }\n\n updateSelectCallback(onSelect)\n\n // exposes internal menu API\n React.useImperativeHandle(forwardRef, () => ({\n el: ref.current,\n highlight,\n highlighted,\n highlightFirst,\n highlightLast,\n highlightSelected,\n highlightSuggested,\n next,\n prev,\n select,\n defaultKeyDownNavigationHandler,\n }))\n\n useEffect(rehighlightCurrent)\n\n function onDragStart(start: DragStart, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n const itemInfo = JSON.parse(start.draggableId)\n setCurrentlyDroppableIn(itemInfo.droppableIn)\n }\n\n function onDragUpdate(_update: DragUpdate, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n }\n\n const onDragEnd = React.useCallback(\n function (result: DropResult, provided: ResponderProvided) {\n // TODO Replace with localized instructions\n provided.announce(NO_ANNOUCEMENT)\n setCurrentlyDroppableIn([])\n if (result.reason === 'DROP' && result.destination) {\n const itemInfo = JSON.parse(result.draggableId)\n onDragEnd_({\n draggableId: itemInfo.draggableId,\n source: result.source,\n destination: result.destination,\n })\n }\n },\n [onDragEnd_]\n )\n\n // for context, used by Menu.Options\n const onScrollBottom = React.useCallback(\n function (e: React.UIEvent<HTMLDivElement, UIEvent>) {\n if (isScrolledToBottom(e)) {\n onScrollBottom_(e)\n }\n },\n [onScrollBottom_]\n )\n\n return (\n <MenuContext.Provider\n value={{\n a11yOptionsProps,\n currentlyDroppableIn,\n onHoverItem: handleItemHover,\n onScrollBottom,\n onSelect,\n role,\n }}\n >\n <StyledWrapper ref={ref}>\n <DragDropContext\n onDragStart={onDragStart}\n onDragUpdate={onDragUpdate}\n onDragEnd={onDragEnd}\n >\n <StyledMenu {...props} />\n </DragDropContext>\n </StyledWrapper>\n </MenuContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & GroupProps\n>(function Group({ clickable, item = 'group', id, children, ...props }, ref) {\n const { fieldProps, labelProps } = useLabel({\n id,\n label: children,\n labelElementType: 'span',\n })\n\n return (\n <StyledGroup\n ref={ref}\n // onClick={(e) => {\n // TODO: implement selecting groups?\n // }}\n data-group={true}\n data-value={JSON.stringify(item)}\n role=\"separator\"\n {...fieldProps}\n {...props}\n >\n <span {...labelProps}>{children}</span>\n </StyledGroup>\n )\n})\n\nfunction findDraggableRecursively(\n children: React.ReactNode,\n draggableId: any\n): React.ReactElement | null {\n const nodeChildren = React.Children.toArray(children)\n for (let i = 0; i < nodeChildren.length; i++) {\n const child = nodeChildren[i]\n if (isValidElement(child)) {\n if ('draggableId' in child.props) {\n if (child.props.draggableId === draggableId) {\n return child\n }\n } else {\n const matchingChild = findDraggableRecursively(\n child.props.children,\n draggableId\n )\n if (matchingChild) {\n return matchingChild\n }\n }\n }\n }\n return null\n}\n\nexport function Droppable({ id, children }: DroppableProps) {\n const ctx = useMenuContext()\n const cloneZIndex = useZIndexContext().value\n\n function renderItemClone(\n provided: DraggableProvided,\n _snapshot: DraggableStateSnapshot,\n rubric: DraggableRubric\n ) {\n const draggableInfo = JSON.parse(rubric.draggableId)\n const draggingChild = findDraggableRecursively(\n children,\n draggableInfo.draggableId\n )\n const cloneProps = draggingChild?.props ?? {}\n\n return (\n <ClonedItem\n hasCheckbox={draggingChild?.type === CheckboxItem}\n provided={provided}\n cloneZIndex={cloneZIndex}\n {...cloneProps}\n />\n )\n }\n\n return (\n <DndDroppable\n droppableId={id}\n isDropDisabled={!ctx.currentlyDroppableIn.includes(id)}\n renderClone={renderItemClone}\n >\n {(provided: DroppableProvided, snapshot: DroppableStateSnapshot) => (\n <StyledDroppable ref={provided.innerRef} data-droppable>\n {children}\n {provided.placeholder}\n </StyledDroppable>\n )}\n </DndDroppable>\n )\n}\n\n// creates a version of a draggable item that can be positioned correctly within modals\n// this should always have the same appearance of an Item or CheckboxItem, but doesn't\n// need to handle selection events, which can't be done while the item is being dragged\nconst ClonedItem = ({\n hasCheckbox = false,\n children = null,\n selected = false,\n provided,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> &\n ItemProps &\n Omit<CheckboxProps, 'checked'> & {\n provided: DraggableProvided\n hasCheckbox: boolean\n cloneZIndex: number\n }) => {\n const itemProps = {\n ...props,\n $selected: selected,\n }\n\n const itemChildren = hasCheckbox ? (\n <Checkbox\n indeterminate={props.indeterminate}\n error={props.error}\n checked={selected}\n onChange={noop}\n >\n {children}\n </Checkbox>\n ) : (\n children\n )\n\n return (\n <StyledItem\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable\n $isDragging\n style={{\n ...provided.draggableProps.style,\n ...props.style,\n zIndex: props.cloneZIndex,\n }}\n >\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n {itemChildren}\n </StyledItem>\n )\n}\n\nexport const Item = React.forwardRef(function Item<\n E extends React.ElementType = MenuItemDefaultElement\n>(\n {\n as,\n /* @ts-ignore */\n children = null,\n item = null,\n /* @ts-ignore */\n onClick: onClick_ = noop,\n selected = false,\n suggested = false,\n disabled = false,\n id: _id,\n role,\n restoreFocus,\n draggableId,\n draggableIndex,\n droppableIn,\n ...props\n }: PolymorphicAs.ComponentPropsWithoutRef<MenuItemProps, E>,\n /**\n * TODO: although it is typed just fine from the outside (`<Menu.Item ref>` that is),\n * an effort is required to type it properly here too\n */\n forwardRef: React.Ref<any>\n) {\n const id = useId(_id)\n\n const ctx = useMenuContext()\n\n const onClick = React.useCallback(\n function (event: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (disabled) return\n\n onClick_(event)\n\n ctx.onSelect({\n item,\n event,\n group: false,\n action: selected ? 'unselected' : 'selected',\n ...(restoreFocus === undefined ? {} : { restoreFocus }),\n })\n },\n [ctx, item, onClick_, disabled, selected]\n )\n\n let contextRole\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitem'\n }\n\n const itemProps = {\n 'aria-disabled': disabled ? true : undefined,\n 'aria-selected': ariaSelected,\n ...props,\n id,\n role: role ?? contextRole,\n onClick,\n onMouseMove: (e: any) => ctx.onHoverItem(e.currentTarget),\n 'data-group': false,\n 'data-value': JSON.stringify(item),\n 'data-selected': selected,\n 'data-suggested': suggested,\n 'data-disabled': disabled,\n 'data-restorefocus': restoreFocus,\n $disabled: disabled,\n $selected: selected,\n }\n\n if (\n droppableIn !== undefined &&\n draggableId !== undefined &&\n draggableIndex !== undefined\n ) {\n // encoding id and valid droppables as the draggableId, so we can use them to determine where this item can be dropped\n const droppableInfo = {\n draggableId,\n droppableIn: Array.isArray(droppableIn) ? droppableIn : [droppableIn],\n }\n return (\n <Draggable\n draggableId={JSON.stringify(droppableInfo)}\n index={draggableIndex}\n isDragDisabled={disabled}\n >\n {(provided: DraggableProvided) => (\n <StyledItem\n ref={mergeRefs(provided.innerRef, forwardRef)}\n as={as}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable={!disabled}\n style={{ ...provided.draggableProps.style, ...itemProps.style }}\n tabIndex={-1}\n >\n {!disabled && (\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n )}\n {children}\n </StyledItem>\n )}\n </Draggable>\n )\n }\n\n return (\n <StyledItem ref={forwardRef} as={as} {...itemProps}>\n {children}\n </StyledItem>\n )\n}) as PolymorphicAs.ComponentWithForwardedRef<\n MenuItemProps,\n MenuItemDefaultElement\n>\n\nexport const CheckboxItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> &\n (ItemProps | ItemWithDraggingProps) &\n Omit<CheckboxProps, 'checked'>\n>(function CheckboxItem(\n {\n selected = false,\n disabled = false,\n error = false,\n indeterminate = false,\n children = null,\n role,\n ...props\n },\n forwardRef\n) {\n const ctx = useMenuContext()\n\n let contextRole\n let ariaChecked: React.AriaAttributes['aria-checked']\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitemcheckbox'\n\n if (indeterminate) {\n ariaChecked = 'mixed'\n } else {\n ariaChecked = selected ? 'true' : 'false'\n }\n }\n\n return (\n <Item\n aria-checked={ariaChecked}\n aria-disabled={disabled ? true : undefined}\n aria-selected={ariaSelected}\n {...props}\n role={role ?? contextRole}\n selected={selected}\n disabled={disabled}\n ref={forwardRef}\n >\n <FakeCheckbox\n indeterminate={indeterminate}\n error={error}\n disabled={disabled}\n checked={selected}\n >\n {children}\n </FakeCheckbox>\n </Item>\n )\n})\nexport const Options = React.forwardRef<HTMLDivElement, OptionsProps>(\n function Options(props, ref) {\n const ctx = useMenuContext()\n const i18n = useI18nContext()\n\n return (\n <StyledOptions\n aria-label={i18n.t('core.menuImperative.options.ariaLabel')}\n {...props}\n {...ctx.a11yOptionsProps}\n data-internal=\"menuimperative-options\"\n ref={ref}\n onScroll={ctx.onScrollBottom}\n />\n )\n }\n)\n\nexport const Search = ({\n className,\n i18nScope = 'core.menu',\n placeholder,\n onChange: _onChange,\n ...props\n}: MenuSearchProps) => {\n const I18n = useI18nContext()\n\n const [value, setValue] = React.useState('')\n\n const onChange: NonNullable<TypeaheadProps['onChange']> = React.useCallback(\n function (value, event) {\n setValue(value)\n _onChange?.(event as unknown as React.ChangeEvent<HTMLInputElement>)\n },\n [_onChange]\n )\n\n // intentionally changed to type text + searchbox,\n // voiceOver focus goes to clear button when no results in Chrome\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n type=\"text\"\n role=\"searchbox\"\n autoFocus={true}\n placeholder={placeholder || I18n.t('search', { scope: i18nScope })}\n onChange={onChange}\n value={value}\n />\n </StyledSearch>\n )\n}\n\nexport const Header = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & HeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & FooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenuImperative_.displayName = 'Menu'\n\nDroppable.displayName = 'Menu.Droppable'\n\nFooter.displayName = 'Menu.Footer'\n\nGroup.displayName = 'Menu.Group'\n\nHeader.displayName = 'Menu.Header'\n\nItem.displayName = 'Menu.Item'\n\nOptions.displayName = 'Menu.Options'\n\nSearch.displayName = 'Menu.Search'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu-imperative--demo)\n\n */\nexport const MenuImperative = addSubcomponents(\n {\n CheckboxItem,\n Droppable,\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n MenuImperative_\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAWA,SACEA,eAAe,EACfC,SAAS,EACTC,SAAS,IAAIC,YAAY,QACpB,iEAAiE;AACxE,SAASC,IAAI,QAAQ,0BAA0B;AAC/C,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,KAAK,QAAQ,mBAAmB;AACzC,OAAOC,KAAK,IAAIC,cAAc,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAE3E,SAASC,QAAQ,EAAEC,YAAY,QAAQ,sBAAsB;AAE7D,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,SAASC,SAAS,QAAQ,qBAAqB;AAE/C,SACEC,eAAe,EACfC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,UAAU,EACVC,aAAa,EACbC,YAAY,EACZC,aAAa,QACR,yBAAyB;AAiBhC,SAASC,aAAa,QAAQ,WAAW;AAEzC,IAAMC,uBAAuB,GAAG,CAAC;AACjC,IAAMC,cAAc,GAAG,EAAE;AAEzB,SAASC,IAAIA,CAAA,EAAG,CAAC;AAEjB,SAASC,kBAAkBA,CAACC,CAAyC,EAAE;EACrE,OACEA,CAAC,CAACC,aAAa,YAAYC,WAAW,IACtCF,CAAC,CAACC,aAAa,CAACE,SAAS,IACvBH,CAAC,CAACC,aAAa,CAACG,YAAY,GAC1BJ,CAAC,CAACC,aAAa,CAACI,YAAY,GAC5BT,uBAAuB;AAE/B;AAEA,OAAO,IAAMU,WAAW,gBAAGlC,KAAK,CAACmC,aAAa,CAAe;EAC3DC,gBAAgB,EAAE,CAAC,CAAC;EACpBC,oBAAoB,EAAE,EAAE;EACxBC,WAAW,EAAEZ,IAAI;EACjBa,cAAc,EAAEb,IAAI;EACpBc,QAAQ,EAAEd,IAAI;EACde,IAAI,EAAE;AACR,CAAC,CAAC;AAEF,OAAO,SAASC,cAAcA,CAAA,EAAiB;EAC7C,IAAMC,OAAO,GAAG3C,KAAK,CAAC4C,UAAU,CAACV,WAAW,CAAC;EAE7C,IAAIS,OAAO,KAAK,IAAI,EAAE;IACpB,MAAM,IAAIE,KAAK,CACb,oFACF,CAAC;EACH;EAEA,OAAOF,OAAO;AAChB;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMG,kCAAkC,GAAG,SAArCA,kCAAkCA,CAC7CC,GAA6B,EAGD;EAAA,IAF5BC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACbG,OAA+B,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEpC,IAAgBI,GAAG,GAAKD,OAAO,CAAvBE,MAAM;EACd,IAAMC,EAAE,GAAGxD,KAAK,CAACsD,GAAG,CAAC;EACrB,IAAAG,eAAA,GAAgDxD,KAAK,CAACI,QAAQ,CAE5D,CAAC;IAAAqD,gBAAA,GAAAC,cAAA,CAAAF,eAAA;IAFIG,gBAAgB,GAAAF,gBAAA;IAAEG,mBAAmB,GAAAH,gBAAA;EAG5C,IAAAI,SAAA,GAAkCzD,QAAQ,CAA6B,CAAC;IAAA0D,UAAA,GAAAJ,cAAA,CAAAG,SAAA;IAAjEE,SAAS,GAAAD,UAAA;IAAEE,YAAY,GAAAF,UAAA;EAC9B;EACA9D,KAAK,CAACE,SAAS,CAAC,YAAM;IACpB8D,YAAY,CAAC;MAAA,IAAAC,YAAA;MAAA,QAAAA,YAAA,GAAMlB,GAAG,CAACmB,OAAO,cAAAD,YAAA,uBAAXA,YAAA,CAAaE,+BAA+B;IAAA,EAAC;EAClE,CAAC,EAAE,EAAE,CAAC;EAEN,IAAInB,MAAM,EAAE;IACV,IAAMoB,0BAA0B,GAAG;MACjC,uBAAuB,EAAET,gBAAgB;MACzC,eAAe,EAAEJ,EAAE;MACnBQ,SAAS,EAATA;IACF,CAAC;IAED,IAAMM,SAAS,GAAG;MAChBC,wBAAwB,EAAEV,mBAAmB;MAC7CL,EAAE,EAAFA;IACF,CAAC;IAED,OAAO;MACLa,0BAA0B,EAA1BA,0BAA0B;MAC1BC,SAAS,EAATA;IACF,CAAC;EACH,CAAC,MAAM;IACL,OAAO;MACLD,0BAA0B,EAAE,CAAC,CAAC;MAC9BC,SAAS,EAAE;QAAEd,EAAE,EAAFA;MAAG;IAClB,CAAC;EACH;AACF,CAAC;AAED,SAASgB,mCAAmCA,CAAA,EAAmC;EAAA,IAAlChB,EAAE,GAAAN,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEuB,OAAuB,GAAAvB,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC3E,IAAMC,OAAO,GAAGoB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,aAAa,CACpC,0CACF,CAAC;EAEDrB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEsB,YAAY,CAAC,uBAAuB,EAAEnB,EAAE,CAAC;AACpD;AAEA,IAAMoB,eAAe,gBAAG3E,KAAK,CAAC4E,UAAU,CAAqB,SAASC,IAAIA,CAAAC,IAAA,EAaxEF,UAAU,EACV;EAAA,IAAAG,aAAA,GAAAD,IAAA,CAZEE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,cAAA,GAAAH,IAAA,CAChBI,SAAS;IAAEC,UAAU,GAAAF,cAAA,cAAGvD,IAAI,GAAAuD,cAAA;IAAAG,mBAAA,GAAAN,IAAA,CAC5BvC,cAAc;IAAE8C,eAAe,GAAAD,mBAAA,cAAG1D,IAAI,GAAA0D,mBAAA;IAAAE,aAAA,GAAAR,IAAA,CACtCtC,QAAQ;IAAE+C,SAAS,GAAAD,aAAA,cAAG5D,IAAI,GAAA4D,aAAA;IAAAE,SAAA,GAAAV,IAAA,CAC1BrC,IAAI;IAAJA,IAAI,GAAA+C,SAAA,cAAG,MAAM,GAAAA,SAAA;IACblB,wBAAwB,GAAAQ,IAAA,CAAxBR,wBAAwB;IACFmB,qBAAqB,GAAAX,IAAA,CAA3CY,oBAAoB;IACpBnC,EAAE,GAAAuB,IAAA,CAAFvB,EAAE;IACFoC,QAAQ,GAAAb,IAAA,CAARa,QAAQ;IACLC,KAAK,GAAAC,wBAAA,CAAAf,IAAA,EAAAgB,SAAA;EAIV,IAAM/C,GAAG,GAAG/C,KAAK,CAAC+F,MAAM,CAAiB,IAAI,CAAC;EAC9C,IAAAC,UAAA,GAAwD5F,QAAQ,CAAW,EAAE,CAAC;IAAA6F,UAAA,GAAAvC,cAAA,CAAAsC,UAAA;IAAvE3D,oBAAoB,GAAA4D,UAAA;IAAEC,uBAAuB,GAAAD,UAAA;;EAEpD;EACA,IAAMzD,QAAQ,GAAGxC,KAAK,CAACmG,WAAW,CAChC,UAAUC,SAAoB,EAAE;IAC9Bb,SAAS,CAACa,SAAS,CAAC;EACtB,CAAC,EACD,CAACb,SAAS,CACZ,CAAC;EAED,IAAMc,iBAAiB,GAAG/B,wBAAwB,GAC9CA,wBAAwB,GACxBC,mCAAmC;EAEvC,IAAA+B,QAAA,GAcInG,OAAO,CACT;MAAA,OAAMoB,aAAa,CAACwB,GAAG,EAAEiC,QAAQ,EAAEqB,iBAAiB,CAAC;IAAA,GACrD,CAACrB,QAAQ,EAAEqB,iBAAiB,CAC9B,CAAC;IAhBCE,eAAe,GAAAD,QAAA,CAAfC,eAAe;IACApC,+BAA+B,GAAAmC,QAAA,CAA9CE,aAAa;IACbC,SAAS,GAAAH,QAAA,CAATG,SAAS;IACTC,WAAW,GAAAJ,QAAA,CAAXI,WAAW;IACXC,cAAc,GAAAL,QAAA,CAAdK,cAAc;IACdC,aAAa,GAAAN,QAAA,CAAbM,aAAa;IACbC,iBAAiB,GAAAP,QAAA,CAAjBO,iBAAiB;IACjBC,kBAAkB,GAAAR,QAAA,CAAlBQ,kBAAkB;IAClBC,kBAAkB,GAAAT,QAAA,CAAlBS,kBAAkB;IAClBC,IAAI,GAAAV,QAAA,CAAJU,IAAI;IACJC,IAAI,GAAAX,QAAA,CAAJW,IAAI;IACJC,MAAM,GAAAZ,QAAA,CAANY,MAAM;IACNC,oBAAoB,GAAAb,QAAA,CAApBa,oBAAoB;EAMtB,IAAMC,qBAAqB,GAAAC,eAAA;IACzB5E,IAAI,EAAJA,IAAI;IACJc,EAAE,EAAFA;EAAE,GACD,sBAAsB,EAAGoC,QAAQ,CACnC;EAED,IAAMvD,gBAAgB,GAAG,CAACkC,wBAAwB,GAAAgD,aAAA,CAAAA,aAAA,KAEzCF,qBAAqB;IACxBrD,SAAS,EAAE0B,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAItB,+BAA+B;IACnEoD,QAAQ,EAAE;EAAC,KAAAD,aAAA,CAAAA,aAAA,KAGRF,qBAAqB;IACxBrD,SAAS,EAAEZ,SAAS;IACpBoE,QAAQ,EAAEpE;EAAS,EACpB;EAELgE,oBAAoB,CAAC3E,QAAQ,CAAC;;EAE9B;EACAxC,KAAK,CAACwH,mBAAmB,CAAC5C,UAAU,EAAE;IAAA,OAAO;MAC3C6C,EAAE,EAAE1E,GAAG,CAACmB,OAAO;MACfuC,SAAS,EAATA,SAAS;MACTC,WAAW,EAAXA,WAAW;MACXC,cAAc,EAAdA,cAAc;MACdC,aAAa,EAAbA,aAAa;MACbC,iBAAiB,EAAjBA,iBAAiB;MACjBC,kBAAkB,EAAlBA,kBAAkB;MAClBG,IAAI,EAAJA,IAAI;MACJD,IAAI,EAAJA,IAAI;MACJE,MAAM,EAANA,MAAM;MACN/C,+BAA+B,EAA/BA;IACF,CAAC;EAAA,CAAC,CAAC;EAEHjE,SAAS,CAAC6G,kBAAkB,CAAC;EAE7B,SAASW,WAAWA,CAACC,KAAgB,EAAEC,QAA2B,EAAE;IAClE;IACAA,QAAQ,CAACC,QAAQ,CAACpG,cAAc,CAAC;IACjC,IAAMqG,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACL,KAAK,CAACM,WAAW,CAAC;IAC9C/B,uBAAuB,CAAC4B,QAAQ,CAACI,WAAW,CAAC;EAC/C;EAEA,SAASC,YAAYA,CAACC,OAAmB,EAAER,QAA2B,EAAE;IACtE;IACAA,QAAQ,CAACC,QAAQ,CAACpG,cAAc,CAAC;EACnC;EAEA,IAAMyD,SAAS,GAAGlF,KAAK,CAACmG,WAAW,CACjC,UAAUkC,MAAkB,EAAET,QAA2B,EAAE;IACzD;IACAA,QAAQ,CAACC,QAAQ,CAACpG,cAAc,CAAC;IACjCyE,uBAAuB,CAAC,EAAE,CAAC;IAC3B,IAAImC,MAAM,CAACC,MAAM,KAAK,MAAM,IAAID,MAAM,CAACE,WAAW,EAAE;MAClD,IAAMT,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACK,MAAM,CAACJ,WAAW,CAAC;MAC/C9C,UAAU,CAAC;QACT8C,WAAW,EAAEH,QAAQ,CAACG,WAAW;QACjCO,MAAM,EAAEH,MAAM,CAACG,MAAM;QACrBD,WAAW,EAAEF,MAAM,CAACE;MACtB,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACpD,UAAU,CACb,CAAC;;EAED;EACA,IAAM5C,cAAc,GAAGvC,KAAK,CAACmG,WAAW,CACtC,UAAUvE,CAAyC,EAAE;IACnD,IAAID,kBAAkB,CAACC,CAAC,CAAC,EAAE;MACzByD,eAAe,CAACzD,CAAC,CAAC;IACpB;EACF,CAAC,EACD,CAACyD,eAAe,CAClB,CAAC;EAED,oBACErF,KAAA,CAAAyI,aAAA,CAACvG,WAAW,CAACwG,QAAQ;IACnBC,KAAK,EAAE;MACLvG,gBAAgB,EAAhBA,gBAAgB;MAChBC,oBAAoB,EAApBA,oBAAoB;MACpBC,WAAW,EAAEiE,eAAe;MAC5BhE,cAAc,EAAdA,cAAc;MACdC,QAAQ,EAARA,QAAQ;MACRC,IAAI,EAAJA;IACF;EAAE,gBAEFzC,KAAA,CAAAyI,aAAA,CAACnH,aAAa;IAACyB,GAAG,EAAEA;EAAI,gBACtB/C,KAAA,CAAAyI,aAAA,CAAChJ,eAAe;IACdiI,WAAW,EAAEA,WAAY;IACzBS,YAAY,EAAEA,YAAa;IAC3BjD,SAAS,EAAEA;EAAU,gBAErBlF,KAAA,CAAAyI,aAAA,CAACtH,UAAU,EAAKyE,KAAQ,CACT,CACJ,CACK,CAAC;AAE3B,CAAC,CAAC;AAEF,OAAO,IAAMgD,KAAK,gBAAG5I,KAAK,CAAC4E,UAAU,CAGnC,SAASgE,KAAKA,CAAAC,KAAA,EAAwD9F,GAAG,EAAE;EAAA,IAA1D+F,SAAS,GAAAD,KAAA,CAATC,SAAS;IAAAC,UAAA,GAAAF,KAAA,CAAEG,IAAI;IAAJA,IAAI,GAAAD,UAAA,cAAG,OAAO,GAAAA,UAAA;IAAExF,EAAE,GAAAsF,KAAA,CAAFtF,EAAE;IAAE0F,QAAQ,GAAAJ,KAAA,CAARI,QAAQ;IAAKrD,KAAK,GAAAC,wBAAA,CAAAgD,KAAA,EAAAK,UAAA;EAClE,IAAAC,SAAA,GAAmCrJ,QAAQ,CAAC;MAC1CyD,EAAE,EAAFA,EAAE;MACF6F,KAAK,EAAEH,QAAQ;MACfI,gBAAgB,EAAE;IACpB,CAAC,CAAC;IAJMC,UAAU,GAAAH,SAAA,CAAVG,UAAU;IAAEC,UAAU,GAAAJ,SAAA,CAAVI,UAAU;EAM9B,oBACEvJ,KAAA,CAAAyI,aAAA,CAACzH,WAAW,EAAAwI,QAAA;IACVzG,GAAG,EAAEA;IACL;IACA;IACA;IAAA;IACA,cAAY,IAAK;IACjB,cAAYgF,IAAI,CAAC0B,SAAS,CAACT,IAAI,CAAE;IACjCvG,IAAI,EAAC;EAAW,GACZ6G,UAAU,EACV1D,KAAK,gBAET5F,KAAA,CAAAyI,aAAA,SAAUc,UAAU,EAAGN,QAAe,CAC3B,CAAC;AAElB,CAAC,CAAC;AAEF,SAASS,wBAAwBA,CAC/BT,QAAyB,EACzBhB,WAAgB,EACW;EAC3B,IAAM0B,YAAY,GAAG3J,KAAK,CAAC4J,QAAQ,CAACC,OAAO,CAACZ,QAAQ,CAAC;EACrD,KAAK,IAAIa,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,YAAY,CAACzG,MAAM,EAAE4G,CAAC,EAAE,EAAE;IAC5C,IAAMC,KAAK,GAAGJ,YAAY,CAACG,CAAC,CAAC;IAC7B,kBAAI7J,cAAc,CAAC8J,KAAK,CAAC,EAAE;MACzB,IAAI,aAAa,IAAIA,KAAK,CAACnE,KAAK,EAAE;QAChC,IAAImE,KAAK,CAACnE,KAAK,CAACqC,WAAW,KAAKA,WAAW,EAAE;UAC3C,OAAO8B,KAAK;QACd;MACF,CAAC,MAAM;QACL,IAAMC,aAAa,GAAGN,wBAAwB,CAC5CK,KAAK,CAACnE,KAAK,CAACqD,QAAQ,EACpBhB,WACF,CAAC;QACD,IAAI+B,aAAa,EAAE;UACjB,OAAOA,aAAa;QACtB;MACF;IACF;EACF;EACA,OAAO,IAAI;AACb;AAEA,OAAO,SAASrK,SAASA,CAAAsK,KAAA,EAAmC;EAAA,IAAhC1G,EAAE,GAAA0G,KAAA,CAAF1G,EAAE;IAAE0F,QAAQ,GAAAgB,KAAA,CAARhB,QAAQ;EACtC,IAAMiB,GAAG,GAAGxH,cAAc,CAAC,CAAC;EAC5B,IAAMyH,WAAW,GAAG1J,gBAAgB,CAAC,CAAC,CAACkI,KAAK;EAE5C,SAASyB,eAAeA,CACtBxC,QAA2B,EAC3ByC,SAAiC,EACjCC,MAAuB,EACvB;IAAA,IAAAC,oBAAA;IACA,IAAMC,aAAa,GAAGzC,IAAI,CAACC,KAAK,CAACsC,MAAM,CAACrC,WAAW,CAAC;IACpD,IAAMwC,aAAa,GAAGf,wBAAwB,CAC5CT,QAAQ,EACRuB,aAAa,CAACvC,WAChB,CAAC;IACD,IAAMyC,UAAU,IAAAH,oBAAA,GAAGE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE7E,KAAK,cAAA2E,oBAAA,cAAAA,oBAAA,GAAI,CAAC,CAAC;IAE7C,oBACEvK,KAAA,CAAAyI,aAAA,CAACkC,UAAU,EAAAnB,QAAA;MACToB,WAAW,EAAE,CAAAH,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,IAAI,MAAKC,YAAa;MAClDlD,QAAQ,EAAEA,QAAS;MACnBuC,WAAW,EAAEA;IAAY,GACrBO,UAAU,CACf,CAAC;EAEN;EAEA,oBACE1K,KAAA,CAAAyI,aAAA,CAAC7I,YAAY;IACXmL,WAAW,EAAExH,EAAG;IAChByH,cAAc,EAAE,CAACd,GAAG,CAAC7H,oBAAoB,CAAC4I,QAAQ,CAAC1H,EAAE,CAAE;IACvD2H,WAAW,EAAEd;EAAgB,GAE5B,UAACxC,QAA2B,EAAEuD,QAAgC;IAAA,oBAC7DnL,KAAA,CAAAyI,aAAA,CAAC5H,eAAe;MAACkC,GAAG,EAAE6E,QAAQ,CAACwD,QAAS;MAAC;IAAc,GACpDnC,QAAQ,EACRrB,QAAQ,CAACyD,WACK,CAAC;EAAA,CAER,CAAC;AAEnB;;AAEA;AACA;AACA;AACA,IAAMV,UAAU,GAAG,SAAbA,UAAUA,CAAAW,KAAA,EAYR;EAAA,IAAAC,iBAAA,GAAAD,KAAA,CAXNV,WAAW;IAAXA,WAAW,GAAAW,iBAAA,cAAG,KAAK,GAAAA,iBAAA;IAAAC,cAAA,GAAAF,KAAA,CACnBrC,QAAQ;IAARA,QAAQ,GAAAuC,cAAA,cAAG,IAAI,GAAAA,cAAA;IAAAC,cAAA,GAAAH,KAAA,CACfI,QAAQ;IAARA,QAAQ,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAChB7D,QAAQ,GAAA0D,KAAA,CAAR1D,QAAQ;IACLhC,KAAK,GAAAC,wBAAA,CAAAyF,KAAA,EAAAK,UAAA;EAQR,IAAMC,SAAS,GAAAtE,aAAA,CAAAA,aAAA,KACV1B,KAAK;IACRiG,SAAS,EAAEH;EAAQ,EACpB;EAED,IAAMI,YAAY,GAAGlB,WAAW,gBAC9B5K,KAAA,CAAAyI,aAAA,CAACpI,QAAQ;IACP0L,aAAa,EAAEnG,KAAK,CAACmG,aAAc;IACnCC,KAAK,EAAEpG,KAAK,CAACoG,KAAM;IACnBC,OAAO,EAAEP,QAAS;IAClBQ,QAAQ,EAAExK;EAAK,GAEduH,QACO,CAAC,GAEXA,QACD;EAED,oBACEjJ,KAAA,CAAAyI,aAAA,CAACvH,UAAU,EAAAsI,QAAA;IACTzG,GAAG,EAAE6E,QAAQ,CAACwD;EAAS,GACnBxD,QAAQ,CAACuE,cAAc,EACvBvE,QAAQ,CAACwE,eAAe,EACxBR,SAAS;IACbS,YAAY;IACZC,WAAW;IACXC,KAAK,EAAAjF,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACAM,QAAQ,CAACuE,cAAc,CAACI,KAAK,GAC7B3G,KAAK,CAAC2G,KAAK;MACdC,MAAM,EAAE5G,KAAK,CAACuE;IAAW;EACzB,iBAEFnK,KAAA,CAAAyI,aAAA,CAAC1H,UAAU,qBACTf,KAAA,CAAAyI,aAAA,CAAC5I,IAAI;IAAC4M,KAAK,EAAE/L,MAAM,CAACgM;EAAO,CAAE,CACnB,CAAC,EACZZ,YACS,CAAC;AAEjB,CAAC;AAED,OAAO,IAAMa,IAAI,gBAAG3M,KAAK,CAAC4E,UAAU,CAAC,SAAS+H,IAAIA,CAAAC,KAAA;AAqBhD;AACF;AACA;AACA;AACEhI,UAA0B,EAC1B;EAAA,IAtBEiI,EAAE,GAAAD,KAAA,CAAFC,EAAE;IAAAC,cAAA,GAAAF,KAAA,CAEF3D,QAAQ;IAARA,QAAQ,GAAA6D,cAAA,cAAG,IAAI,GAAAA,cAAA;IAAAC,UAAA,GAAAH,KAAA,CACf5D,IAAI;IAAJA,IAAI,GAAA+D,UAAA,cAAG,IAAI,GAAAA,UAAA;IAAAC,aAAA,GAAAJ,KAAA,CAEXK,OAAO;IAAEC,QAAQ,GAAAF,aAAA,cAAGtL,IAAI,GAAAsL,aAAA;IAAAG,cAAA,GAAAP,KAAA,CACxBlB,QAAQ;IAARA,QAAQ,GAAAyB,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAC,eAAA,GAAAR,KAAA,CAChBS,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,KAAK,GAAAA,eAAA;IAAAE,cAAA,GAAAV,KAAA,CACjBW,QAAQ;IAARA,QAAQ,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IACZjK,GAAG,GAAAuJ,KAAA,CAAPrJ,EAAE;IACFd,IAAI,GAAAmK,KAAA,CAAJnK,IAAI;IACJ+K,YAAY,GAAAZ,KAAA,CAAZY,YAAY;IACZvF,WAAW,GAAA2E,KAAA,CAAX3E,WAAW;IACXwF,cAAc,GAAAb,KAAA,CAAda,cAAc;IACdvF,WAAW,GAAA0E,KAAA,CAAX1E,WAAW;IACRtC,KAAK,GAAAC,wBAAA,CAAA+G,KAAA,EAAAc,UAAA;EAQV,IAAMnK,EAAE,GAAGxD,KAAK,CAACsD,GAAG,CAAC;EAErB,IAAM6G,GAAG,GAAGxH,cAAc,CAAC,CAAC;EAE5B,IAAMuK,OAAO,GAAGjN,KAAK,CAACmG,WAAW,CAC/B,UAAUwH,KAAmD,EAAE;IAC7D,IAAIJ,QAAQ,EAAE;IAEdL,QAAQ,CAACS,KAAK,CAAC;IAEfzD,GAAG,CAAC1H,QAAQ,CAAA8E,aAAA;MACV0B,IAAI,EAAJA,IAAI;MACJ2E,KAAK,EAALA,KAAK;MACLC,KAAK,EAAE,KAAK;MACZC,MAAM,EAAEnC,QAAQ,GAAG,YAAY,GAAG;IAAU,GACxC8B,YAAY,KAAKrK,SAAS,GAAG,CAAC,CAAC,GAAG;MAAEqK,YAAY,EAAZA;IAAa,CAAC,CACvD,CAAC;EACJ,CAAC,EACD,CAACtD,GAAG,EAAElB,IAAI,EAAEkE,QAAQ,EAAEK,QAAQ,EAAE7B,QAAQ,CAC1C,CAAC;EAED,IAAIoC,WAAW;EACf,IAAIC,YAAY;EAEhB,IAAI7D,GAAG,CAACzH,IAAI,KAAK,SAAS,EAAE;IAC1BqL,WAAW,GAAG,QAAQ;IACtBC,YAAY,GAAGrC,QAAQ,GAAG,IAAI,GAAGvI,SAAS;EAC5C,CAAC,MAAM,IAAI+G,GAAG,CAACzH,IAAI,KAAK,MAAM,EAAE;IAC9BqL,WAAW,GAAG,UAAU;EAC1B;EAEA,IAAMlC,SAAS,GAAAtE,aAAA,CAAAA,aAAA;IACb,eAAe,EAAEiG,QAAQ,GAAG,IAAI,GAAGpK,SAAS;IAC5C,eAAe,EAAE4K;EAAY,GAC1BnI,KAAK;IACRrC,EAAE,EAAFA,EAAE;IACFd,IAAI,EAAEA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIqL,WAAW;IACzBb,OAAO,EAAPA,OAAO;IACPe,WAAW,EAAE,SAAbA,WAAWA,CAAGpM,CAAM;MAAA,OAAKsI,GAAG,CAAC5H,WAAW,CAACV,CAAC,CAACC,aAAa,CAAC;IAAA;IACzD,YAAY,EAAE,KAAK;IACnB,YAAY,EAAEkG,IAAI,CAAC0B,SAAS,CAACT,IAAI,CAAC;IAClC,eAAe,EAAE0C,QAAQ;IACzB,gBAAgB,EAAE2B,SAAS;IAC3B,eAAe,EAAEE,QAAQ;IACzB,mBAAmB,EAAEC,YAAY;IACjCS,SAAS,EAAEV,QAAQ;IACnB1B,SAAS,EAAEH;EAAQ,EACpB;EAED,IACExD,WAAW,KAAK/E,SAAS,IACzB8E,WAAW,KAAK9E,SAAS,IACzBsK,cAAc,KAAKtK,SAAS,EAC5B;IACA;IACA,IAAM+K,aAAa,GAAG;MACpBjG,WAAW,EAAXA,WAAW;MACXC,WAAW,EAAEiG,KAAK,CAACC,OAAO,CAAClG,WAAW,CAAC,GAAGA,WAAW,GAAG,CAACA,WAAW;IACtE,CAAC;IACD,oBACElI,KAAA,CAAAyI,aAAA,CAAC/I,SAAS;MACRuI,WAAW,EAAEF,IAAI,CAAC0B,SAAS,CAACyE,aAAa,CAAE;MAC3CG,KAAK,EAAEZ,cAAe;MACtBa,cAAc,EAAEf;IAAS,GAExB,UAAC3F,QAA2B;MAAA,oBAC3B5H,KAAA,CAAAyI,aAAA,CAACvH,UAAU,EAAAsI,QAAA;QACTzG,GAAG,EAAEnC,SAAS,CAACgH,QAAQ,CAACwD,QAAQ,EAAExG,UAAU,CAAE;QAC9CiI,EAAE,EAAEA;MAAG,GACHjF,QAAQ,CAACuE,cAAc,EACvBvE,QAAQ,CAACwE,eAAe,EACxBR,SAAS;QACbS,YAAY,EAAE,CAACkB,QAAS;QACxBhB,KAAK,EAAAjF,aAAA,CAAAA,aAAA,KAAOM,QAAQ,CAACuE,cAAc,CAACI,KAAK,GAAKX,SAAS,CAACW,KAAK,CAAG;QAChEhF,QAAQ,EAAE,CAAC;MAAE,IAEZ,CAACgG,QAAQ,iBACRvN,KAAA,CAAAyI,aAAA,CAAC1H,UAAU,qBACTf,KAAA,CAAAyI,aAAA,CAAC5I,IAAI;QAAC4M,KAAK,EAAE/L,MAAM,CAACgM;MAAO,CAAE,CACnB,CACb,EACAzD,QACS,CAAC;IAAA,CAEN,CAAC;EAEhB;EAEA,oBACEjJ,KAAA,CAAAyI,aAAA,CAACvH,UAAU,EAAAsI,QAAA;IAACzG,GAAG,EAAE6B,UAAW;IAACiI,EAAE,EAAEA;EAAG,GAAKjB,SAAS,GAC/C3C,QACS,CAAC;AAEjB,CAAC,CAGA;AAED,OAAO,IAAM6B,YAAY,gBAAG9K,KAAK,CAAC4E,UAAU,CAK1C,SAASkG,YAAYA,CAAAyD,KAAA,EAUrB3J,UAAU,EACV;EAAA,IAAA4J,cAAA,GAAAD,KAAA,CATE7C,QAAQ;IAARA,QAAQ,GAAA8C,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAC,cAAA,GAAAF,KAAA,CAChBhB,QAAQ;IAARA,QAAQ,GAAAkB,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAC,WAAA,GAAAH,KAAA,CAChBvC,KAAK;IAALA,KAAK,GAAA0C,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAAC,mBAAA,GAAAJ,KAAA,CACbxC,aAAa;IAAbA,aAAa,GAAA4C,mBAAA,cAAG,KAAK,GAAAA,mBAAA;IAAAC,cAAA,GAAAL,KAAA,CACrBtF,QAAQ;IAARA,QAAQ,GAAA2F,cAAA,cAAG,IAAI,GAAAA,cAAA;IACfnM,IAAI,GAAA8L,KAAA,CAAJ9L,IAAI;IACDmD,KAAK,GAAAC,wBAAA,CAAA0I,KAAA,EAAAM,UAAA;EAIV,IAAM3E,GAAG,GAAGxH,cAAc,CAAC,CAAC;EAE5B,IAAIoL,WAAW;EACf,IAAIgB,WAAiD;EACrD,IAAIf,YAAY;EAEhB,IAAI7D,GAAG,CAACzH,IAAI,KAAK,SAAS,EAAE;IAC1BqL,WAAW,GAAG,QAAQ;IACtBC,YAAY,GAAGrC,QAAQ,GAAG,IAAI,GAAGvI,SAAS;EAC5C,CAAC,MAAM,IAAI+G,GAAG,CAACzH,IAAI,KAAK,MAAM,EAAE;IAC9BqL,WAAW,GAAG,kBAAkB;IAEhC,IAAI/B,aAAa,EAAE;MACjB+C,WAAW,GAAG,OAAO;IACvB,CAAC,MAAM;MACLA,WAAW,GAAGpD,QAAQ,GAAG,MAAM,GAAG,OAAO;IAC3C;EACF;EAEA,oBACE1L,KAAA,CAAAyI,aAAA,CAACkE,IAAI,EAAAnD,QAAA;IACH,gBAAcsF,WAAY;IAC1B,iBAAevB,QAAQ,GAAG,IAAI,GAAGpK,SAAU;IAC3C,iBAAe4K;EAAa,GACxBnI,KAAK;IACTnD,IAAI,EAAEA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIqL,WAAY;IAC1BpC,QAAQ,EAAEA,QAAS;IACnB6B,QAAQ,EAAEA,QAAS;IACnBxK,GAAG,EAAE6B;EAAW,iBAEhB5E,KAAA,CAAAyI,aAAA,CAACnI,YAAY;IACXyL,aAAa,EAAEA,aAAc;IAC7BC,KAAK,EAAEA,KAAM;IACbuB,QAAQ,EAAEA,QAAS;IACnBtB,OAAO,EAAEP;EAAS,GAEjBzC,QACW,CACV,CAAC;AAEX,CAAC,CAAC;AACF,OAAO,IAAM8F,OAAO,gBAAG/O,KAAK,CAAC4E,UAAU,CACrC,SAASmK,OAAOA,CAACnJ,KAAK,EAAE7C,GAAG,EAAE;EAC3B,IAAMmH,GAAG,GAAGxH,cAAc,CAAC,CAAC;EAC5B,IAAMsM,IAAI,GAAGxO,cAAc,CAAC,CAAC;EAE7B,oBACER,KAAA,CAAAyI,aAAA,CAACrH,aAAa,EAAAoI,QAAA;IACZ,cAAYwF,IAAI,CAACC,CAAC,CAAC,uCAAuC;EAAE,GACxDrJ,KAAK,EACLsE,GAAG,CAAC9H,gBAAgB;IACxB,iBAAc,wBAAwB;IACtCW,GAAG,EAAEA,GAAI;IACTmM,QAAQ,EAAEhF,GAAG,CAAC3H;EAAe,EAC9B,CAAC;AAEN,CACF,CAAC;AAED,OAAO,IAAM4M,MAAM,GAAG,SAATA,MAAMA,CAAAC,KAAA,EAMI;EAAA,IALrBC,SAAS,GAAAD,KAAA,CAATC,SAAS;IAAAC,eAAA,GAAAF,KAAA,CACTG,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,WAAW,GAAAA,eAAA;IACvBjE,WAAW,GAAA+D,KAAA,CAAX/D,WAAW;IACDmE,SAAS,GAAAJ,KAAA,CAAnBlD,QAAQ;IACLtG,KAAK,GAAAC,wBAAA,CAAAuJ,KAAA,EAAAK,UAAA;EAER,IAAMC,IAAI,GAAGlP,cAAc,CAAC,CAAC;EAE7B,IAAAmP,gBAAA,GAA0B3P,KAAK,CAACI,QAAQ,CAAC,EAAE,CAAC;IAAAwP,gBAAA,GAAAlM,cAAA,CAAAiM,gBAAA;IAArChH,KAAK,GAAAiH,gBAAA;IAAEC,QAAQ,GAAAD,gBAAA;EAEtB,IAAM1D,QAAiD,GAAGlM,KAAK,CAACmG,WAAW,CACzE,UAAUwC,KAAK,EAAEgF,KAAK,EAAE;IACtBkC,QAAQ,CAAClH,KAAK,CAAC;IACf6G,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG7B,KAAuD,CAAC;EACtE,CAAC,EACD,CAAC6B,SAAS,CACZ,CAAC;;EAED;EACA;EACA,oBACExP,KAAA,CAAAyI,aAAA,CAACpH,YAAY;IAACgO,SAAS,EAAEA;EAAU,gBACjCrP,KAAA,CAAAyI,aAAA,CAAClI,SAAS,EAAAiJ,QAAA,KACJ5D,KAAK;IACTiF,IAAI,EAAC,MAAM;IACXpI,IAAI,EAAC,WAAW;IAChBqN,SAAS,EAAE,IAAK;IAChBzE,WAAW,EAAEA,WAAW,IAAIqE,IAAI,CAACT,CAAC,CAAC,QAAQ,EAAE;MAAEc,KAAK,EAAER;IAAU,CAAC,CAAE;IACnErD,QAAQ,EAAEA,QAAS;IACnBvD,KAAK,EAAEA;EAAM,EACd,CACW,CAAC;AAEnB,CAAC;AAED,OAAO,IAAMqH,MAAM,gBAAGhQ,KAAK,CAAC4E,UAAU,CAGpC,SAASoL,MAAMA,CAAAC,KAAA,EAAelN,GAAG,EAAE;EAAA,IAAd6C,KAAK,GAAA4D,QAAA,MAAA0G,yBAAA,CAAAD,KAAA,GAAAA,KAAA;EAC1B,oBAAOjQ,KAAA,CAAAyI,aAAA,CAACxH,YAAY,EAAAuI,QAAA;IAACzG,GAAG,EAAEA;EAAI,GAAK6C,KAAK,CAAG,CAAC;AAC9C,CAAC,CAAC;AAEF,OAAO,IAAMuK,MAAM,gBAAGnQ,KAAK,CAAC4E,UAAU,CAGpC,SAASuL,MAAMA,CAAAC,KAAA,EAAkCrN,GAAG,EAAE;EAAA,IAAAsN,aAAA,GAAAD,KAAA,CAApCE,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,OAAO,GAAAA,aAAA;IAAKzK,KAAK,GAAAC,wBAAA,CAAAuK,KAAA,EAAAG,UAAA;EAC7C,oBAAOvQ,KAAA,CAAAyI,aAAA,CAAC3H,YAAY,EAAA0I,QAAA;IAACzG,GAAG,EAAEA,GAAI;IAACuN,OAAO,EAAEA;EAAQ,GAAK1K,KAAK,CAAG,CAAC;AAChE,CAAC,CAAC;AAEFjB,eAAe,CAAC6L,WAAW,GAAG,MAAM;AAEpC7Q,SAAS,CAAC6Q,WAAW,GAAG,gBAAgB;AAExCL,MAAM,CAACK,WAAW,GAAG,aAAa;AAElC5H,KAAK,CAAC4H,WAAW,GAAG,YAAY;AAEhCR,MAAM,CAACQ,WAAW,GAAG,aAAa;AAElC7D,IAAI,CAAC6D,WAAW,GAAG,WAAW;AAE9BzB,OAAO,CAACyB,WAAW,GAAG,cAAc;AAEpCrB,MAAM,CAACqB,WAAW,GAAG,aAAa;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,cAAc,GAAG9P,gBAAgB,CAC5C;EACEmK,YAAY,EAAZA,YAAY;EACZnL,SAAS,EAATA,SAAS;EACTwQ,MAAM,EAANA,MAAM;EACNvH,KAAK,EAALA,KAAK;EACLoH,MAAM,EAANA,MAAM;EACNrD,IAAI,EAAJA,IAAI;EACJoC,OAAO,EAAPA,OAAO;EACPI,MAAM,EAANA;AACF,CAAC,EACDxK,eACF,CAAC"}
@@ -18,6 +18,6 @@ export declare const StyledItem: import("styled-components/dist/types").IStyledC
18
18
  $isDragging?: boolean | undefined;
19
19
  }>> & string;
20
20
  export declare const StyledDroppable: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
21
- export declare const StyledFooter: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("..").DivAttributes & import("../Box").BoxProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
21
+ export declare const StyledFooter: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("react").HTMLAttributes<HTMLDivElement> & import("../Box").BoxProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
22
22
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
23
- }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("..").DivAttributes & import("../Box").BoxProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
23
+ }, never>> & string & Omit<import("react").ForwardRefExoticComponent<import("react").HTMLAttributes<HTMLDivElement> & import("../Box").BoxProps & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
@@ -11,15 +11,15 @@ var optionMinHeight = 32;
11
11
  // Do not merge with StyledMenu, needed for max-height working in IE
12
12
  export var StyledWrapper = /*#__PURE__*/styled.div.withConfig({
13
13
  displayName: "StyledWrapper",
14
- componentId: "core-12_25_1__sc-z984sz-0"
14
+ componentId: "core-12_26_0__sc-z984sz-0"
15
15
  })(["border-radius:inherit;display:flex;max-height:inherit;min-width:inherit;outline:none;width:inherit;"]);
16
16
  export var StyledMenu = /*#__PURE__*/styled.div.withConfig({
17
17
  displayName: "StyledMenu",
18
- componentId: "core-12_25_1__sc-z984sz-1"
18
+ componentId: "core-12_26_0__sc-z984sz-1"
19
19
  })(["border-radius:inherit;display:flex;flex-direction:column;outline:0;width:100%;"]);
20
20
  export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
21
21
  displayName: "StyledOptions",
22
- componentId: "core-12_25_1__sc-z984sz-2"
22
+ componentId: "core-12_26_0__sc-z984sz-2"
23
23
  })(["flex-basis:auto;flex-grow:1;flex-shrink:1;min-height:", "px;", ";padding:", "px 0;position:relative;&:focus-visible{", " margin:-1px;}"], optionMinHeight, function (_ref) {
24
24
  var _ref$$scrollable = _ref.$scrollable,
25
25
  $scrollable = _ref$$scrollable === void 0 ? true : _ref$$scrollable;
@@ -27,26 +27,26 @@ export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
27
27
  }, spacing.sm, getFocus());
28
28
  export var StyledGrip = /*#__PURE__*/styled.div.withConfig({
29
29
  displayName: "StyledGrip",
30
- componentId: "core-12_25_1__sc-z984sz-3"
30
+ componentId: "core-12_26_0__sc-z984sz-3"
31
31
  })(["padding:0 2px;height:24px;visibility:hidden;"]);
32
32
  export var StyledHeader = /*#__PURE__*/styled.div.withConfig({
33
33
  displayName: "StyledHeader",
34
- componentId: "core-12_25_1__sc-z984sz-4"
34
+ componentId: "core-12_26_0__sc-z984sz-4"
35
35
  })([""]);
36
36
  export var StyledSearch = /*#__PURE__*/styled.div.withConfig({
37
37
  displayName: "StyledSearch",
38
- componentId: "core-12_25_1__sc-z984sz-5"
38
+ componentId: "core-12_26_0__sc-z984sz-5"
39
39
  })(["padding:", "px ", "px ", "px;", " > *{pointer-events:none;}"], spacing.lg, spacing.lg, spacing.sm, StyledButton);
40
40
  export var StyledGroup = /*#__PURE__*/styled.div.withConfig({
41
41
  displayName: "StyledGroup",
42
- componentId: "core-12_25_1__sc-z984sz-6"
42
+ componentId: "core-12_26_0__sc-z984sz-6"
43
43
  })(["", " color:", ";cursor:", ";font-weight:", ";padding:", "px ", "px;&:not(:first-child){padding-top:", "px;}"], getTypographyIntent('body'), colors.gray15, function (_ref2) {
44
44
  var $clickable = _ref2.$clickable;
45
45
  return $clickable ? 'pointer' : 'default';
46
46
  }, typographyWeights.semibold, spacing.xs, spacing.lg, spacing.md + spacing.xs);
47
47
  export var StyledItem = /*#__PURE__*/styled.div.withConfig({
48
48
  displayName: "StyledItem",
49
- componentId: "core-12_25_1__sc-z984sz-7"
49
+ componentId: "core-12_26_0__sc-z984sz-7"
50
50
  })(["", ";", " cursor:pointer;list-style-type:none;padding:", "px ", "px;a{color:", ";display:block;margin:-", "px -", "px;padding:", "px ", "px;text-decoration:none;&:hover{color:", ";text-decoration:none;}}&[data-highlighted='true']{background-color:", ";}", " &:hover,&:active{", "{visibility:visible;}}", "{color:inherit;cursor:pointer;}", " ", " ", ""], getTypographyIntent('body'), function (_ref3) {
51
51
  var as = _ref3.as;
52
52
  return as === 'a' && css(["display:block;text-decoration:none;"]);
@@ -75,10 +75,10 @@ export var StyledItem = /*#__PURE__*/styled.div.withConfig({
75
75
  });
76
76
  export var StyledDroppable = /*#__PURE__*/styled.div.withConfig({
77
77
  displayName: "StyledDroppable",
78
- componentId: "core-12_25_1__sc-z984sz-8"
78
+ componentId: "core-12_26_0__sc-z984sz-8"
79
79
  })(["", ",", "{padding-left:28px;}"], StyledGroup, StyledItem);
80
80
  export var StyledFooter = /*#__PURE__*/styled(Box).withConfig({
81
81
  displayName: "StyledFooter",
82
- componentId: "core-12_25_1__sc-z984sz-9"
82
+ componentId: "core-12_26_0__sc-z984sz-9"
83
83
  })(["border-top:1px solid ", ";border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;"], colors.gray85);
84
84
  //# sourceMappingURL=MenuImperative.styles.js.map
@@ -1,7 +1,7 @@
1
1
  import type * as React from 'react';
2
2
  import type { BoxProps } from '../Box';
3
3
  import type { TypeaheadInputProps, TypeaheadProps } from '../Typeahead/Typeahead.types';
4
- import type { AnchorAttributes, Props } from '../_utils/types';
4
+ import type { Props } from '../_utils/types';
5
5
  export declare type Ref<T> = ((instance: T | null) => void) | React.MutableRefObject<T | null> | null;
6
6
  declare type Div = React.ComponentPropsWithoutRef<'div'>;
7
7
  export interface Selection {
@@ -194,7 +194,7 @@ export interface ItemWithDraggingProps extends ItemProps {
194
194
  */
195
195
  draggableIndex: number;
196
196
  }
197
- interface AnchorItemProps extends Omit<ItemProps, 'item'>, Omit<AnchorAttributes, 'onClick'> {
197
+ interface AnchorItemProps extends Omit<ItemProps, 'item'>, Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'onClick'> {
198
198
  }
199
199
  export declare type MenuItemProps = ItemProps | ItemWithDraggingProps | AnchorItemProps;
200
200
  export declare type MenuItemDefaultElement = 'div' | 'a';
@@ -1 +1 @@
1
- {"version":3,"file":"MenuImperative.types.js","names":[],"sources":["../../src/MenuImperative/MenuImperative.types.ts"],"sourcesContent":["import type * as React from 'react'\nimport type { BoxProps } from '../Box'\nimport type {\n TypeaheadInputProps,\n TypeaheadProps,\n} from '../Typeahead/Typeahead.types'\nimport type { AnchorAttributes, Props } from '../_utils/types'\n\nexport type Ref<T> =\n | ((instance: T | null) => void)\n | React.MutableRefObject<T | null>\n | null\n\ntype Div = React.ComponentPropsWithoutRef<'div'>\n\nexport interface Selection {\n /**\n * @since 10.19.0\n */\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n /**\n * @since 10.19.0\n */\n group: boolean\n /**\n * @since 10.19.0\n */\n item: any\n /**\n * @since 10.19.0\n */\n action: 'selected' | 'unselected'\n /**\n * Indicates should focus be restored to the trigger(e.g. Button of Dropdown)\n * after activating this item. If all items return focus to the trigger once activated,\n * try just `restoreFocusOnHide` on `Dropdown` instead.\n * if it is `undefined`, it is omitted in onSelect callback.\n * @since 11.15.0\n */\n restoreFocus?: boolean\n}\n\nexport interface Reorder {\n /**\n * @since 10.19.0\n */\n draggableId: string\n /**\n * @since 10.19.0\n */\n source: {\n index: number\n droppableId: string\n }\n /**\n * @since 10.19.0\n */\n destination: {\n index: number\n droppableId: string\n }\n}\n\ntype MenuRole = 'menu' | 'listbox' | 'none'\n\nexport interface MenuProps extends Omit<Div, 'onSelect' | 'onDragEnd'> {\n /**\n * @since 10.19.0\n */\n circular?: boolean\n /**\n * Set aria-multiselectable=\"true\"\n * @since 10.19.0\n */\n multiple?: boolean\n /**\n * @since 10.19.0\n */\n onDragEnd?: (result: Reorder) => void\n /**\n * @since 10.19.0\n */\n onScrollBottom?: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void\n /**\n * @since 10.19.0\n */\n onSelect?: (selection: Selection) => any\n /**\n * A menu is a widget that offers a list of choices to the user, such as a set of actions or functions.\n *\n * A listbox widget presents a list of options and allows a user to select one or more of them.\n *\n * @since 11.3.0\n */\n role?: MenuRole\n /**\n * Used when navigation in the menu is controlled by search or another input,\n * called each time virtual focus (highlighted item) is changed\n * Consider use `useMenuImperativeControlNavigation` hook.\n *\n * @since 11.5.0\n */\n onChangeActiveDescendant?: (id: string | undefined) => void\n /**\n * To override default menu navigation\n * @since 11.5.0\n */\n onKeyboardNavigation?: React.KeyboardEventHandler\n}\n\nexport interface MenuRef {\n /**\n * @since 10.19.0\n */\n el: HTMLDivElement | null\n /**\n * @since 10.19.0\n */\n highlight: (item: HTMLElement, shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightFirst: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightLast: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightSelected: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightSuggested: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlighted: () => any\n /**\n * @since 10.19.0\n */\n next: (circular?: boolean) => void\n /**\n * @since 10.19.0\n */\n prev: (circular?: boolean) => void\n /**\n * @since 10.19.0\n */\n select: (\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n ) => void\n /**\n * Usefully for extending navigation behavior with `onKeyboardNavigation`.\n * Pay attention that `ref` is `null` on first render.\n *\n * ```\n * onKeyboardNavigation={(e) => {\n * if (e.key === 'Right' || e.key === 'ArrowRight') {\n * return navigateRight()\n * }\n *\n * ref.defaultKeyDownNavigationHandler(e)\n * }}\n * ```\n *\n * @since 11.5.0\n */\n defaultKeyDownNavigationHandler: React.KeyboardEventHandler\n}\n\nexport interface ItemProps {\n /**\n * @since 10.19.0\n */\n item: any\n /**\n * @since 10.19.0\n */\n selected?: boolean\n /**\n * @since 10.19.0\n */\n suggested?: boolean\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * Indicates should focus be restored to the trigger(e.g. Button of Dropdown)\n * after activating this item. If all items return focus to the trigger once activated,\n * try just `restoreFocusOnHide` on `Dropdown` instead.\n * if it is `undefined`, it is omitted in onSelect callback.\n * @since 11.15.0\n */\n restoreFocus?: boolean\n}\n\nexport interface ItemWithDraggingProps extends ItemProps {\n /**\n * @since 10.19.0\n */\n droppableIn: string | string[]\n /**\n * @since 10.19.0\n */\n draggableId: string\n /**\n * @since 10.19.0\n */\n draggableIndex: number\n}\n\ninterface AnchorItemProps\n extends Omit<ItemProps, 'item'>,\n Omit<AnchorAttributes, 'onClick'> {}\n\nexport type MenuItemProps = ItemProps | ItemWithDraggingProps | AnchorItemProps\n\nexport type MenuItemDefaultElement = 'div' | 'a'\n\nexport interface GroupProps {\n /**\n * @since 10.19.0\n */\n clickable?: boolean\n /**\n * @since 10.19.0\n */\n item?: any\n}\n\nexport interface OptionsProps {\n /**\n * @since 10.19.0\n */\n children?: React.ReactNode\n /**\n * @since 10.19.0\n */\n className?: string\n}\n\nexport interface MenuSearchProps\n extends Omit<TypeaheadProps, 'onChange'>,\n TypeaheadInputProps,\n Props {\n /**\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.21.0\n */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n}\n\nexport interface HeaderProps extends Props {\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n}\n\nexport interface DroppableProps {\n /**\n * @since 10.19.0\n */\n id: string\n /**\n * @since 10.19.0\n */\n children: React.ReactNode\n}\n\nexport interface FooterProps extends Omit<BoxProps, 'as'> {}\n\nexport interface MenuContext {\n /**\n * @since 11.5.0\n */\n a11yOptionsProps: {\n role?: MenuRole\n onKeyboardNavigation?: React.KeyboardEventHandler | null\n tabIndex?: number\n id?: string\n }\n /**\n * @since 10.19.0\n */\n currentlyDroppableIn: string[]\n /**\n * @since 10.19.0\n */\n onHoverItem: (el?: HTMLDivElement) => void\n /**\n * @since 10.19.0\n */\n onScrollBottom: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void\n /**\n * @since 10.19.0\n */\n onSelect: (selection: Selection) => void\n /**\n * @since 11.3.0\n */\n role: MenuRole\n}\n"],"mappings":""}
1
+ {"version":3,"file":"MenuImperative.types.js","names":[],"sources":["../../src/MenuImperative/MenuImperative.types.ts"],"sourcesContent":["import type * as React from 'react'\nimport type { BoxProps } from '../Box'\nimport type {\n TypeaheadInputProps,\n TypeaheadProps,\n} from '../Typeahead/Typeahead.types'\nimport type { Props } from '../_utils/types'\n\nexport type Ref<T> =\n | ((instance: T | null) => void)\n | React.MutableRefObject<T | null>\n | null\n\ntype Div = React.ComponentPropsWithoutRef<'div'>\n\nexport interface Selection {\n /**\n * @since 10.19.0\n */\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n /**\n * @since 10.19.0\n */\n group: boolean\n /**\n * @since 10.19.0\n */\n item: any\n /**\n * @since 10.19.0\n */\n action: 'selected' | 'unselected'\n /**\n * Indicates should focus be restored to the trigger(e.g. Button of Dropdown)\n * after activating this item. If all items return focus to the trigger once activated,\n * try just `restoreFocusOnHide` on `Dropdown` instead.\n * if it is `undefined`, it is omitted in onSelect callback.\n * @since 11.15.0\n */\n restoreFocus?: boolean\n}\n\nexport interface Reorder {\n /**\n * @since 10.19.0\n */\n draggableId: string\n /**\n * @since 10.19.0\n */\n source: {\n index: number\n droppableId: string\n }\n /**\n * @since 10.19.0\n */\n destination: {\n index: number\n droppableId: string\n }\n}\n\ntype MenuRole = 'menu' | 'listbox' | 'none'\n\nexport interface MenuProps extends Omit<Div, 'onSelect' | 'onDragEnd'> {\n /**\n * @since 10.19.0\n */\n circular?: boolean\n /**\n * Set aria-multiselectable=\"true\"\n * @since 10.19.0\n */\n multiple?: boolean\n /**\n * @since 10.19.0\n */\n onDragEnd?: (result: Reorder) => void\n /**\n * @since 10.19.0\n */\n onScrollBottom?: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void\n /**\n * @since 10.19.0\n */\n onSelect?: (selection: Selection) => any\n /**\n * A menu is a widget that offers a list of choices to the user, such as a set of actions or functions.\n *\n * A listbox widget presents a list of options and allows a user to select one or more of them.\n *\n * @since 11.3.0\n */\n role?: MenuRole\n /**\n * Used when navigation in the menu is controlled by search or another input,\n * called each time virtual focus (highlighted item) is changed\n * Consider use `useMenuImperativeControlNavigation` hook.\n *\n * @since 11.5.0\n */\n onChangeActiveDescendant?: (id: string | undefined) => void\n /**\n * To override default menu navigation\n * @since 11.5.0\n */\n onKeyboardNavigation?: React.KeyboardEventHandler\n}\n\nexport interface MenuRef {\n /**\n * @since 10.19.0\n */\n el: HTMLDivElement | null\n /**\n * @since 10.19.0\n */\n highlight: (item: HTMLElement, shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightFirst: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightLast: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightSelected: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightSuggested: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlighted: () => any\n /**\n * @since 10.19.0\n */\n next: (circular?: boolean) => void\n /**\n * @since 10.19.0\n */\n prev: (circular?: boolean) => void\n /**\n * @since 10.19.0\n */\n select: (\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n ) => void\n /**\n * Usefully for extending navigation behavior with `onKeyboardNavigation`.\n * Pay attention that `ref` is `null` on first render.\n *\n * ```\n * onKeyboardNavigation={(e) => {\n * if (e.key === 'Right' || e.key === 'ArrowRight') {\n * return navigateRight()\n * }\n *\n * ref.defaultKeyDownNavigationHandler(e)\n * }}\n * ```\n *\n * @since 11.5.0\n */\n defaultKeyDownNavigationHandler: React.KeyboardEventHandler\n}\n\nexport interface ItemProps {\n /**\n * @since 10.19.0\n */\n item: any\n /**\n * @since 10.19.0\n */\n selected?: boolean\n /**\n * @since 10.19.0\n */\n suggested?: boolean\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * Indicates should focus be restored to the trigger(e.g. Button of Dropdown)\n * after activating this item. If all items return focus to the trigger once activated,\n * try just `restoreFocusOnHide` on `Dropdown` instead.\n * if it is `undefined`, it is omitted in onSelect callback.\n * @since 11.15.0\n */\n restoreFocus?: boolean\n}\n\nexport interface ItemWithDraggingProps extends ItemProps {\n /**\n * @since 10.19.0\n */\n droppableIn: string | string[]\n /**\n * @since 10.19.0\n */\n draggableId: string\n /**\n * @since 10.19.0\n */\n draggableIndex: number\n}\n\ninterface AnchorItemProps\n extends Omit<ItemProps, 'item'>,\n Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'onClick'> {}\n\nexport type MenuItemProps = ItemProps | ItemWithDraggingProps | AnchorItemProps\n\nexport type MenuItemDefaultElement = 'div' | 'a'\n\nexport interface GroupProps {\n /**\n * @since 10.19.0\n */\n clickable?: boolean\n /**\n * @since 10.19.0\n */\n item?: any\n}\n\nexport interface OptionsProps {\n /**\n * @since 10.19.0\n */\n children?: React.ReactNode\n /**\n * @since 10.19.0\n */\n className?: string\n}\n\nexport interface MenuSearchProps\n extends Omit<TypeaheadProps, 'onChange'>,\n TypeaheadInputProps,\n Props {\n /**\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.21.0\n */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n}\n\nexport interface HeaderProps extends Props {\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n}\n\nexport interface DroppableProps {\n /**\n * @since 10.19.0\n */\n id: string\n /**\n * @since 10.19.0\n */\n children: React.ReactNode\n}\n\nexport interface FooterProps extends Omit<BoxProps, 'as'> {}\n\nexport interface MenuContext {\n /**\n * @since 11.5.0\n */\n a11yOptionsProps: {\n role?: MenuRole\n onKeyboardNavigation?: React.KeyboardEventHandler | null\n tabIndex?: number\n id?: string\n }\n /**\n * @since 10.19.0\n */\n currentlyDroppableIn: string[]\n /**\n * @since 10.19.0\n */\n onHoverItem: (el?: HTMLDivElement) => void\n /**\n * @since 10.19.0\n */\n onScrollBottom: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void\n /**\n * @since 10.19.0\n */\n onSelect: (selection: Selection) => void\n /**\n * @since 11.3.0\n */\n role: MenuRole\n}\n"],"mappings":""}
@@ -1,8 +1,7 @@
1
1
  import React from 'react';
2
- import { Heading } from '../Section/Section';
2
+ import type { HeadingProps } from '../Semantic/Semantic.types';
3
3
  import type { TypographyProps } from '../Typography';
4
4
  import type { RenderProps } from '../_hooks/Visibility';
5
- import type { DivAttributes, SpanAttributes } from '../_utils/types';
6
5
  import type { ConfirmModalProps, ModalBodyProps, ModalCloseableHeaderProps, ModalContainerProps, ModalProps } from './Modal.types';
7
6
  export declare const ConfirmModal: React.ForwardRefExoticComponent<ConfirmModalProps & React.RefAttributes<HTMLDivElement>>;
8
7
  declare function ModalState(props: RenderProps): React.JSX.Element;
@@ -30,10 +29,12 @@ export declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.R
30
29
  }>> & string;
31
30
  Footer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
32
31
  FooterButtons: React.ForwardRefExoticComponent<ModalCloseableHeaderProps & React.RefAttributes<HTMLDivElement>>;
33
- FooterNotation: React.ForwardRefExoticComponent<SpanAttributes & TypographyProps & React.RefAttributes<HTMLSpanElement>>;
34
- FooterSummary: React.ForwardRefExoticComponent<DivAttributes & React.RefAttributes<HTMLDivElement>>;
32
+ FooterNotation: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & TypographyProps & React.RefAttributes<HTMLSpanElement>>;
33
+ FooterSummary: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
35
34
  Header: React.ForwardRefExoticComponent<ModalCloseableHeaderProps & React.RefAttributes<HTMLDivElement>>;
36
- Heading: typeof Heading;
35
+ Heading: (props: React.PropsWithChildren<HeadingProps & {
36
+ level?: number;
37
+ }>) => React.JSX.Element;
37
38
  Overlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
38
39
  Scrim: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
39
40
  State: typeof ModalState;