@procore/core-react 12.25.1 → 12.25.2

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 (427) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  3. package/dist/Avatar/Avatar.d.ts +9 -10
  4. package/dist/Avatar/Avatar.js.map +1 -1
  5. package/dist/Avatar/Avatar.styles.js +5 -5
  6. package/dist/AvatarStack/AvatarStack.styles.d.ts +2 -2
  7. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  8. package/dist/Badge/Badge.styles.js +2 -2
  9. package/dist/BadgePill/BadgePill.styles.js +4 -4
  10. package/dist/Banner/Banner.d.ts +15 -15
  11. package/dist/Banner/Banner.js.map +1 -1
  12. package/dist/Banner/Banner.styles.d.ts +4 -4
  13. package/dist/Banner/Banner.styles.js +10 -10
  14. package/dist/Box/Box.d.ts +1 -2
  15. package/dist/Box/Box.js.map +1 -1
  16. package/dist/Box/Box.styles.js +1 -1
  17. package/dist/Breadcrumbs/Breadcrumbs.d.ts +3 -4
  18. package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
  19. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  20. package/dist/Button/Button.styles.js +5 -5
  21. package/dist/Button/Button.types.d.ts +2 -3
  22. package/dist/Button/Button.types.js.map +1 -1
  23. package/dist/Calendar/Calendar.styles.js +8 -8
  24. package/dist/Card/Card.d.ts +1 -2
  25. package/dist/Card/Card.js.map +1 -1
  26. package/dist/Card/Card.styles.js +1 -1
  27. package/dist/Checkbox/Checkbox.styles.js +6 -6
  28. package/dist/Checkbox/Checkbox.types.d.ts +1 -2
  29. package/dist/Checkbox/Checkbox.types.js.map +1 -1
  30. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  31. package/dist/ContactItem/ContactItem.d.ts +2 -3
  32. package/dist/ContactItem/ContactItem.js.map +1 -1
  33. package/dist/ContactItem/ContactItem.styles.d.ts +5 -5
  34. package/dist/ContactItem/ContactItem.styles.js +5 -5
  35. package/dist/Content/Content.styles.d.ts +4 -4
  36. package/dist/Content/Content.styles.js +2 -2
  37. package/dist/DateInput/DateInput.js.map +1 -1
  38. package/dist/DateInput/DateInput.styles.js +6 -6
  39. package/dist/DateInput/DateInput.types.d.ts +2 -2
  40. package/dist/DateInput/DateInput.types.js.map +1 -1
  41. package/dist/DetailPage/DetailPage.styles.d.ts +4 -4
  42. package/dist/DetailPage/DetailPage.styles.js +7 -7
  43. package/dist/Dropdown/Dropdown.d.ts +1 -1
  44. package/dist/Dropdown/Dropdown.styles.d.ts +2 -2
  45. package/dist/Dropdown/Dropdown.styles.js +3 -3
  46. package/dist/DropdownFlyout/DropdownFlyout.helpers.js +1 -1
  47. package/dist/DropdownFlyout/DropdownFlyout.helpers.js.map +1 -1
  48. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  49. package/dist/DropdownFlyout/DropdownFlyout.types.d.ts +4 -4
  50. package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
  51. package/dist/Dropzone/Dropzone.d.ts +2 -3
  52. package/dist/Dropzone/Dropzone.js +1 -2
  53. package/dist/Dropzone/Dropzone.js.map +1 -1
  54. package/dist/Dropzone/Dropzone.styles.d.ts +6 -6
  55. package/dist/Dropzone/Dropzone.styles.js +9 -9
  56. package/dist/EmptyState/EmptyState.d.ts +6 -6
  57. package/dist/EmptyState/EmptyState.js.map +1 -1
  58. package/dist/EmptyState/EmptyState.styles.js +6 -6
  59. package/dist/Field/Field.styles.js +3 -3
  60. package/dist/FileList/FileList.d.ts +1 -2
  61. package/dist/FileList/FileList.js.map +1 -1
  62. package/dist/FileList/FileList.styles.js +4 -4
  63. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  64. package/dist/FileSelect/FileExplorer/FileExplorerModal.d.ts +1 -2
  65. package/dist/FileSelect/FileExplorer/FileExplorerModal.js.map +1 -1
  66. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.d.ts +2 -2
  67. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  68. package/dist/FileSelect/FileSelect.d.ts +3 -4
  69. package/dist/FileSelect/FileSelect.js.map +1 -1
  70. package/dist/FileSelect/FileSelect.styles.d.ts +2 -2
  71. package/dist/FileSelect/FileSelect.styles.js +2 -2
  72. package/dist/FileSelect/FileSelect.types.d.ts +1 -2
  73. package/dist/FileSelect/FileSelect.types.js.map +1 -1
  74. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  75. package/dist/FileSelect/FileTokenList/FileTokenList.d.ts +1 -2
  76. package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
  77. package/dist/FileSelect/FileTokenList/FileTokenList.styles.d.ts +2 -2
  78. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  79. package/dist/FileSelect/GridSource/GridSource.d.ts +1 -2
  80. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  81. package/dist/FileSelect/GridSource/GridSource.styles.d.ts +6 -6
  82. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  83. package/dist/FileSelect/LocalSource/LocalSource.styles.d.ts +1 -1
  84. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  85. package/dist/FileSelect/SourceItem/SourceItem.d.ts +2 -2
  86. package/dist/FileSelect/SourceItem/SourceItem.js.map +1 -1
  87. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  88. package/dist/FileSelect/ThumbnailList/ThumbnailList.js.map +1 -1
  89. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  90. package/dist/FileSelect/ThumbnailList/ThumbnailList.types.d.ts +2 -2
  91. package/dist/FileSelect/ThumbnailList/ThumbnailList.types.js.map +1 -1
  92. package/dist/FileSelect/TreeSource/TreeSource.d.ts +1 -2
  93. package/dist/FileSelect/TreeSource/TreeSource.js.map +1 -1
  94. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  95. package/dist/FileToken/FileToken.d.ts +1 -2
  96. package/dist/FileToken/FileToken.js +17 -18
  97. package/dist/FileToken/FileToken.js.map +1 -1
  98. package/dist/FileToken/FileToken.styles.js +9 -9
  99. package/dist/FileToken/FileToken.styles.js.map +1 -1
  100. package/dist/FileToken/FileToken.types.d.ts +22 -0
  101. package/dist/FileToken/FileToken.types.js.map +1 -1
  102. package/dist/FileToken/FileTokenInner.d.ts +3 -0
  103. package/dist/FileToken/FileTokenInner.js +25 -0
  104. package/dist/FileToken/FileTokenInner.js.map +1 -0
  105. package/dist/FilterToken/FilterToken.d.ts +3 -4
  106. package/dist/FilterToken/FilterToken.js.map +1 -1
  107. package/dist/FilterToken/FilterToken.styles.js +5 -5
  108. package/dist/Flex/Flex.d.ts +1 -2
  109. package/dist/Flex/Flex.js.map +1 -1
  110. package/dist/FlexList/FlexList.d.ts +1 -2
  111. package/dist/FlexList/FlexList.js.map +1 -1
  112. package/dist/FlexList/FlexList.styles.d.ts +2 -2
  113. package/dist/FlexList/FlexList.styles.js +1 -1
  114. package/dist/Form/Form.d.ts +2 -2
  115. package/dist/Form/Form.js.map +1 -1
  116. package/dist/Form/Form.styles.js +14 -14
  117. package/dist/Form/StyledFormikForm.styles.d.ts +2 -2
  118. package/dist/Form/StyledFormikForm.styles.js +2 -2
  119. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  120. package/dist/Grid/Grid.styles.js +2 -2
  121. package/dist/Grid/Grid.types.d.ts +4 -4
  122. package/dist/Grid/Grid.types.js.map +1 -1
  123. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  124. package/dist/Input/Input.d.ts +1 -2
  125. package/dist/Input/Input.js.map +1 -1
  126. package/dist/Input/Input.styles.js +1 -1
  127. package/dist/Input/Input.types.d.ts +2 -2
  128. package/dist/Input/Input.types.js.map +1 -1
  129. package/dist/Link/Link.styles.js +1 -1
  130. package/dist/Link/Link.types.d.ts +2 -2
  131. package/dist/Link/Link.types.js.map +1 -1
  132. package/dist/ListPage/ListPage.styles.js +8 -8
  133. package/dist/Loader/Loader.styles.js +2 -2
  134. package/dist/Menu/Menu.d.ts +8 -9
  135. package/dist/Menu/Menu.js.map +1 -1
  136. package/dist/MenuImperative/MenuImperative.d.ts +8 -9
  137. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  138. package/dist/MenuImperative/MenuImperative.styles.d.ts +2 -2
  139. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  140. package/dist/MenuImperative/MenuImperative.types.d.ts +2 -2
  141. package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
  142. package/dist/Modal/Modal.d.ts +6 -5
  143. package/dist/Modal/Modal.js +47 -11
  144. package/dist/Modal/Modal.js.map +1 -1
  145. package/dist/Modal/Modal.styles.d.ts +4 -4
  146. package/dist/Modal/Modal.styles.js +15 -14
  147. package/dist/Modal/Modal.styles.js.map +1 -1
  148. package/dist/Modal/Modal.types.d.ts +6 -4
  149. package/dist/Modal/Modal.types.js.map +1 -1
  150. package/dist/MultiSelect/MultiSelect.styles.d.ts +2 -2
  151. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  152. package/dist/NextMenu/NextMenu.styles.js +3 -3
  153. package/dist/NextTile/NextTile.types.d.ts +3 -3
  154. package/dist/NextTile/NextTile.types.js.map +1 -1
  155. package/dist/Notation/Notation.d.ts +1 -2
  156. package/dist/Notation/Notation.js +1 -1
  157. package/dist/Notation/Notation.js.map +1 -1
  158. package/dist/NumberInput/NumberInput.styles.d.ts +2 -2
  159. package/dist/NumberInput/NumberInput.styles.js +7 -7
  160. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  161. package/dist/PageLayout/PageLayout.d.ts +2 -2
  162. package/dist/PageLayout/PageLayout.js.map +1 -1
  163. package/dist/PageLayout/PageLayout.styles.js +16 -16
  164. package/dist/PageLayout/PageLayout.types.d.ts +3 -3
  165. package/dist/PageLayout/PageLayout.types.js.map +1 -1
  166. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  167. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.d.ts +4 -4
  168. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  169. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.d.ts +5 -3
  170. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  171. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  172. package/dist/Pagination/Pagination.styles.d.ts +6 -6
  173. package/dist/Pagination/Pagination.styles.js +5 -5
  174. package/dist/Panel/Panel.d.ts +6 -7
  175. package/dist/Panel/Panel.js +22 -8
  176. package/dist/Panel/Panel.js.map +1 -1
  177. package/dist/Panel/Panel.styles.d.ts +5 -5
  178. package/dist/Panel/Panel.styles.js +16 -15
  179. package/dist/Panel/Panel.styles.js.map +1 -1
  180. package/dist/Panel/Panel.types.d.ts +14 -5
  181. package/dist/Panel/Panel.types.js.map +1 -1
  182. package/dist/Pill/Pill.js +15 -7
  183. package/dist/Pill/Pill.js.map +1 -1
  184. package/dist/Pill/Pill.styles.d.ts +3 -0
  185. package/dist/Pill/Pill.styles.js +7 -3
  186. package/dist/Pill/Pill.styles.js.map +1 -1
  187. package/dist/Pill/Pill.types.d.ts +1 -1
  188. package/dist/Pill/Pill.types.js.map +1 -1
  189. package/dist/PillSelect/PillSelect.js.map +1 -1
  190. package/dist/PillSelect/PillSelect.styles.js +4 -4
  191. package/dist/Popover/Popover.d.ts +1 -2
  192. package/dist/Popover/Popover.js.map +1 -1
  193. package/dist/Popover/Popover.styles.js +4 -4
  194. package/dist/Popover/Popover.styles.js.map +1 -1
  195. package/dist/Portal/Portal.styles.js +1 -1
  196. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  197. package/dist/ProgressBar/ProgressBar.types.d.ts +2 -2
  198. package/dist/ProgressBar/ProgressBar.types.js.map +1 -1
  199. package/dist/RadioButton/RadioButton.styles.js +3 -3
  200. package/dist/Required/Required.styles.js +3 -3
  201. package/dist/Search/Search.styles.js +5 -5
  202. package/dist/Section/Section.js +6 -5
  203. package/dist/Section/Section.js.map +1 -1
  204. package/dist/Section/Section.styles.d.ts +5 -5
  205. package/dist/Section/Section.styles.js +9 -8
  206. package/dist/Section/Section.styles.js.map +1 -1
  207. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  208. package/dist/SegmentedController/SegmentedController.types.d.ts +2 -2
  209. package/dist/SegmentedController/SegmentedController.types.js.map +1 -1
  210. package/dist/Select/Select.styles.d.ts +2 -2
  211. package/dist/Select/Select.styles.js +7 -7
  212. package/dist/Semantic/Semantic.styles.d.ts +1 -1
  213. package/dist/Semantic/Semantic.styles.js +9 -9
  214. package/dist/Semantic/Semantic.types.d.ts +1 -2
  215. package/dist/Semantic/Semantic.types.js.map +1 -1
  216. package/dist/Slider/Slider.styles.d.ts +2 -2
  217. package/dist/Slider/Slider.styles.js +5 -5
  218. package/dist/Slider/Slider.types.d.ts +2 -2
  219. package/dist/Slider/Slider.types.js.map +1 -1
  220. package/dist/Spinner/Spinner.styles.js +7 -7
  221. package/dist/SplitViewCard/SplitViewCard.d.ts +0 -1
  222. package/dist/SplitViewCard/SplitViewCard.js +29 -26
  223. package/dist/SplitViewCard/SplitViewCard.js.map +1 -1
  224. package/dist/SplitViewCard/SplitViewCard.styles.js +10 -9
  225. package/dist/SplitViewCard/SplitViewCard.styles.js.map +1 -1
  226. package/dist/SplitViewCard/SplitViewCard.types.d.ts +11 -0
  227. package/dist/SplitViewCard/SplitViewCard.types.js.map +1 -1
  228. package/dist/SplitViewCard/SplitViewCardInternal.context.d.ts +2 -2
  229. package/dist/SplitViewCard/SplitViewCardInternal.context.js +4 -1
  230. package/dist/SplitViewCard/SplitViewCardInternal.context.js.map +1 -1
  231. package/dist/SuperSelect/SuperSelect.components.d.ts +1 -2
  232. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  233. package/dist/SuperSelect/SuperSelect.presets.styles.d.ts +2 -2
  234. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  235. package/dist/SuperSelect/SuperSelect.styles.d.ts +6 -6
  236. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  237. package/dist/SuperSelect/SuperSelect.types.d.ts +1 -2
  238. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  239. package/dist/Switch/Switch.d.ts +1 -2
  240. package/dist/Switch/Switch.js.map +1 -1
  241. package/dist/Switch/Switch.styles.js +4 -4
  242. package/dist/Switch/Switch.types.d.ts +2 -2
  243. package/dist/Switch/Switch.types.js.map +1 -1
  244. package/dist/Table/Table.d.ts +34 -35
  245. package/dist/Table/Table.js.map +1 -1
  246. package/dist/Table/Table.styles.d.ts +6 -6
  247. package/dist/Table/Table.styles.js +28 -28
  248. package/dist/Table/Table.types.d.ts +1 -2
  249. package/dist/Table/Table.types.js.map +1 -1
  250. package/dist/TableShelf/TableShelf.d.ts +12 -13
  251. package/dist/TableShelf/TableShelf.js.map +1 -1
  252. package/dist/TableShelf/TableShelf.styles.js +5 -5
  253. package/dist/Tabs/Tabs.d.ts +4 -5
  254. package/dist/Tabs/Tabs.js.map +1 -1
  255. package/dist/Tabs/Tabs.styles.d.ts +2 -2
  256. package/dist/Tabs/Tabs.styles.js +15 -15
  257. package/dist/Tearsheet/Tearsheet.js +9 -6
  258. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  259. package/dist/Tearsheet/Tearsheet.styles.d.ts +2 -2
  260. package/dist/Tearsheet/Tearsheet.styles.js +7 -6
  261. package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
  262. package/dist/TextArea/TextArea.d.ts +1 -2
  263. package/dist/TextArea/TextArea.js.map +1 -1
  264. package/dist/TextArea/TextArea.styles.js +1 -1
  265. package/dist/TextArea/TextArea.types.d.ts +2 -2
  266. package/dist/TextArea/TextArea.types.js.map +1 -1
  267. package/dist/TextEditorOutput/TextEditorOutput.d.ts +1 -2
  268. package/dist/TextEditorOutput/TextEditorOutput.js.map +1 -1
  269. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  270. package/dist/TextInput/TextInput.d.ts +1 -1
  271. package/dist/Thumbnail/Thumbnail.hooks.d.ts +6 -7
  272. package/dist/Thumbnail/Thumbnail.hooks.js.map +1 -1
  273. package/dist/Thumbnail/Thumbnail.styles.d.ts +2 -2
  274. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  275. package/dist/ThumbnailGrid/ThumbnailGrid.d.ts +1 -2
  276. package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
  277. package/dist/ThumbnailGrid/ThumbnailGrid.styles.d.ts +2 -2
  278. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  279. package/dist/TieredSelect/TieredSelect.styles.d.ts +15 -15
  280. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  281. package/dist/Tile/Tile.styles.d.ts +1 -1
  282. package/dist/Tile/Tile.styles.js +8 -8
  283. package/dist/Tile/Tile.types.d.ts +4 -4
  284. package/dist/Tile/Tile.types.js.map +1 -1
  285. package/dist/Title/Title.d.ts +5 -6
  286. package/dist/Title/Title.js.map +1 -1
  287. package/dist/Title/Title.styles.d.ts +3 -3
  288. package/dist/Title/Title.styles.js +7 -7
  289. package/dist/Title/Title.types.d.ts +2 -2
  290. package/dist/Title/Title.types.js.map +1 -1
  291. package/dist/Toast/Toast.d.ts +4 -5
  292. package/dist/Toast/Toast.js.map +1 -1
  293. package/dist/Toast/Toast.styles.js +3 -3
  294. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  295. package/dist/ToggleButton/ToggleButton.types.d.ts +1 -2
  296. package/dist/ToggleButton/ToggleButton.types.js.map +1 -1
  297. package/dist/Token/Token.d.ts +5 -4
  298. package/dist/Token/Token.js +37 -10
  299. package/dist/Token/Token.js.map +1 -1
  300. package/dist/Token/Token.styles.d.ts +3 -7
  301. package/dist/Token/Token.styles.js +7 -7
  302. package/dist/Token/Token.styles.js.map +1 -1
  303. package/dist/Token/Token.types.d.ts +4 -0
  304. package/dist/Token/Token.types.js.map +1 -1
  305. package/dist/ToolHeader/ToolHeader.d.ts +6 -7
  306. package/dist/ToolHeader/ToolHeader.js.map +1 -1
  307. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  308. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  309. package/dist/Tooltip/Tooltip.styles.js +2 -2
  310. package/dist/Tree/Tree.styles.d.ts +6 -6
  311. package/dist/Tree/Tree.styles.js +9 -9
  312. package/dist/Tree/Tree.types.d.ts +2 -3
  313. package/dist/Tree/Tree.types.js.map +1 -1
  314. package/dist/Typeahead/Typeahead.styles.js +3 -3
  315. package/dist/Typography/Typography.d.ts +1 -2
  316. package/dist/Typography/Typography.js.map +1 -1
  317. package/dist/Typography/Typography.styles.js +1 -1
  318. package/dist/Typography/Typography.table.story.js +2 -2
  319. package/dist/_hooks/ClickOutside.js +8 -4
  320. package/dist/_hooks/ClickOutside.js.map +1 -1
  321. package/dist/_locales/de-DE.json +1 -1
  322. package/dist/_locales/en-AU.json +1 -1
  323. package/dist/_locales/en-CA.json +1 -1
  324. package/dist/_locales/en-GB.json +1 -1
  325. package/dist/_locales/en.json +1 -1
  326. package/dist/_locales/es-ES.json +1 -1
  327. package/dist/_locales/es.json +1 -1
  328. package/dist/_locales/fr-CA.json +1 -1
  329. package/dist/_locales/fr-FR.json +1 -1
  330. package/dist/_locales/is-IS.json +1 -1
  331. package/dist/_locales/it-IT.json +1 -1
  332. package/dist/_locales/ja-JP.json +1 -1
  333. package/dist/_locales/pl-PL.json +1 -1
  334. package/dist/_locales/pseudo.json +1 -1
  335. package/dist/_locales/pt-BR.json +1 -1
  336. package/dist/_locales/th-TH.json +1 -1
  337. package/dist/_locales/zh-SG.json +1 -1
  338. package/dist/_locales/zh-TW.json +1 -1
  339. package/dist/_styles/mixins.js +1 -1
  340. package/dist/_styles/mixins.js.map +1 -1
  341. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  342. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  343. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  344. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  345. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  346. package/dist/_typedoc/Box/Box.types.json +68 -68
  347. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  348. package/dist/_typedoc/Button/Button.types.json +13 -13
  349. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  350. package/dist/_typedoc/Card/Card.types.json +6 -6
  351. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -18
  352. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  353. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  354. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  355. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  356. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  357. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -30
  358. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  359. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  360. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  361. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  362. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  363. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  364. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  365. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  366. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  367. package/dist/_typedoc/Form/Form.types.json +739 -759
  368. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  369. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  370. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  371. package/dist/_typedoc/Input/Input.types.json +2 -2
  372. package/dist/_typedoc/Link/Link.types.json +1 -31
  373. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  374. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  375. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  376. package/dist/_typedoc/Modal/Modal.types.json +54 -54
  377. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  378. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  379. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  380. package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
  381. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +32 -32
  382. package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -56
  383. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  384. package/dist/_typedoc/Panel/Panel.types.json +51 -29
  385. package/dist/_typedoc/Pill/Pill.types.json +4 -4
  386. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  387. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  388. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  389. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  390. package/dist/_typedoc/Required/Required.types.json +5 -5
  391. package/dist/_typedoc/Search/Search.types.json +18 -18
  392. package/dist/_typedoc/Section/Section.types.json +15 -15
  393. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  394. package/dist/_typedoc/Select/Select.types.json +60 -60
  395. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  396. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  397. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  398. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +34 -12
  399. package/dist/_typedoc/Switch/Switch.types.json +1 -32
  400. package/dist/_typedoc/Table/Table.types.json +101 -101
  401. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  402. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  403. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  404. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  405. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  406. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  407. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  408. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  409. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  410. package/dist/_typedoc/Title/Title.types.json +1 -1
  411. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  412. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  413. package/dist/_typedoc/Token/Token.types.json +30 -4
  414. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  415. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
  416. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  417. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  418. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  419. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  420. package/dist/_typedoc/_utils/types.json +3 -3
  421. package/dist/_utils/slotify.d.ts +1 -2
  422. package/dist/_utils/slotify.js.map +1 -1
  423. package/dist/_utils/types.d.ts +11 -48
  424. package/dist/_utils/types.js.map +1 -1
  425. package/dist/index.d.ts +1 -1
  426. package/dist/index.js.map +1 -1
  427. package/package.json +1 -1
@@ -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":"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"}
@@ -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_25_2__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_25_2__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_25_2__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_25_2__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_25_2__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_25_2__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_25_2__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_25_2__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_25_2__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_25_2__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;
@@ -16,6 +16,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
16
16
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
17
17
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
18
18
  import { Clear } from '@procore/core-icons/dist';
19
+ import { useId } from '@react-aria/utils';
19
20
  import React, { useEffect } from 'react';
20
21
  import { Button } from '../Button';
21
22
  import { useModalDialogLike } from '../OverlayTrigger/a11yPresets';
@@ -41,9 +42,13 @@ var ModalCloseContext = /*#__PURE__*/React.createContext({
41
42
  howToClose: [],
42
43
  onClose: undefined
43
44
  });
45
+ var ModalPrimaryHeadingCheckContext = /*#__PURE__*/React.createContext({
46
+ inModalHeader: false
47
+ });
44
48
  var ModalBodyScrollContext = /*#__PURE__*/React.createContext({
45
49
  isBodyScrolled: false,
46
- setIsBodyScrolled: noop
50
+ setIsBodyScrolled: noop,
51
+ ariaLabelledBy: undefined
47
52
  });
48
53
  var ModalClosableHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
49
54
  var children = _ref.children,
@@ -53,6 +58,7 @@ var ModalClosableHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
53
58
  qa = _ref.qa,
54
59
  props = _objectWithoutProperties(_ref, _excluded);
55
60
  var _React$useContext = React.useContext(ModalBodyScrollContext),
61
+ ariaLabelledBy = _React$useContext.ariaLabelledBy,
56
62
  isBodyScrolled = _React$useContext.isBodyScrolled;
57
63
  var _React$useContext2 = React.useContext(ModalCloseContext),
58
64
  howToClose = _React$useContext2.howToClose,
@@ -80,8 +86,15 @@ var ModalClosableHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
80
86
  $isBodyScrolled: isBodyScrolled
81
87
  }, props, {
82
88
  ref: mergeRefs(ref, modalClosableHeaderRef)
83
- }), /*#__PURE__*/React.createElement(StyledModalHeading, {
89
+ }), /*#__PURE__*/React.createElement(ModalPrimaryHeadingCheckContext.Provider, {
90
+ value: {
91
+ inModalHeader: true
92
+ }
93
+ }, /*#__PURE__*/React.createElement(StyledModalHeading, {
84
94
  $compact: compact
95
+ // This made all children the heading, like Title content
96
+ ,
97
+ id: ariaLabelledBy
85
98
  }, children), onClose && howToClose !== null && howToClose !== void 0 && howToClose.includes('x') || externalOnClose ? /*#__PURE__*/React.createElement(StyledModalCancel, null, /*#__PURE__*/React.createElement(Button, {
86
99
  "aria-label": I18n.t('core.modal.a11y.close'),
87
100
  "data-internal": "close-button",
@@ -90,7 +103,7 @@ var ModalClosableHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
90
103
  onClick: onClickButton,
91
104
  size: compact ? 'sm' : 'md',
92
105
  variant: "tertiary"
93
- })) : null);
106
+ })) : null));
94
107
  });
95
108
  var ModalClosableFooterButtons = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
96
109
  var children = _ref2.children,
@@ -153,6 +166,7 @@ var ModalBody = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
153
166
  var scrollRef = React.useRef(null);
154
167
  var modalBodyRef = React.useRef(null);
155
168
  var _React$useContext5 = React.useContext(ModalBodyScrollContext),
169
+ ariaLabelledBy = _React$useContext5.ariaLabelledBy,
156
170
  setIsBodyScrolled = _React$useContext5.setIsBodyScrolled;
157
171
  var registerChildRef = useModalChildRegistryDispatch();
158
172
  useEffect(function () {
@@ -175,7 +189,9 @@ var ModalBody = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
175
189
  $isOverflowingY: isOverflowingY,
176
190
  $noSideSpacing: noSideSpacing,
177
191
  ref: mergeRefs(overflowRef, scrollRef, ref, modalBodyRef),
178
- tabIndex: 0
192
+ tabIndex: 0,
193
+ role: "region",
194
+ "aria-labelledby": ariaLabelledBy
179
195
  }), children)));
180
196
  });
181
197
  var ModalFooterSummary = /*#__PURE__*/React.forwardRef(function (_ref5, ref) {
@@ -217,6 +233,8 @@ var Modal_ = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
217
233
  role = _ref7.role,
218
234
  props = _objectWithoutProperties(_ref7, _excluded7);
219
235
  useScrollLock(open);
236
+ var defaultLabelId = useId();
237
+ var labelledbyId = ariaLabel ? id : ariaLabelledby !== null && ariaLabelledby !== void 0 ? ariaLabelledby : defaultLabelId;
220
238
  var _React$useState = React.useState(open),
221
239
  _React$useState2 = _slicedToArray(_React$useState, 2),
222
240
  visible = _React$useState2[0],
@@ -256,7 +274,7 @@ var Modal_ = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
256
274
  var _useModalDialogLike = useModalDialogLike({
257
275
  'aria-describedby': ariaDescribedby,
258
276
  'aria-details': ariaDetails,
259
- 'aria-labelledby': ariaLabelledby,
277
+ 'aria-labelledby': labelledbyId,
260
278
  'aria-label': ariaLabel,
261
279
  id: id,
262
280
  isModal: false,
@@ -297,23 +315,27 @@ var Modal_ = /*#__PURE__*/React.forwardRef(function (_ref7, ref) {
297
315
  placement: placement
298
316
  }), /*#__PURE__*/React.createElement(StyledModalContent, {
299
317
  $compact: compact
300
- }, /*#__PURE__*/React.createElement(ModalBodyScrollObserver, null, /*#__PURE__*/React.createElement(CloseWithConfirmContext.Provider, {
318
+ }, /*#__PURE__*/React.createElement(ModalBodyScrollObserver, {
319
+ ariaLabelledBy: labelledbyId
320
+ }, /*#__PURE__*/React.createElement(CloseWithConfirmContext.Provider, {
301
321
  value: closeWithConfirmState
302
322
  }, children)))))))))) : null;
303
323
  });
304
- function ModalBodyScrollObserver(_ref8) {
305
- var children = _ref8.children;
324
+ var ModalBodyScrollObserver = function ModalBodyScrollObserver(_ref8) {
325
+ var ariaLabelledBy = _ref8.ariaLabelledBy,
326
+ children = _ref8.children;
306
327
  var _React$useState5 = React.useState(false),
307
328
  _React$useState6 = _slicedToArray(_React$useState5, 2),
308
329
  isBodyScrolled = _React$useState6[0],
309
330
  setIsBodyScrolled = _React$useState6[1];
310
331
  return /*#__PURE__*/React.createElement(ModalBodyScrollContext.Provider, {
311
332
  value: {
333
+ ariaLabelledBy: ariaLabelledBy,
312
334
  isBodyScrolled: isBodyScrolled,
313
335
  setIsBodyScrolled: setIsBodyScrolled
314
336
  }
315
337
  }, children);
316
- }
338
+ };
317
339
  export var ConfirmModal = /*#__PURE__*/React.forwardRef(function (_ref9, ref) {
318
340
  var children = _ref9.children,
319
341
  headline = _ref9.headline,
@@ -327,6 +349,21 @@ export var ConfirmModal = /*#__PURE__*/React.forwardRef(function (_ref9, ref) {
327
349
  size: "lg"
328
350
  }), headline), children);
329
351
  });
352
+
353
+ /**
354
+ * Applies proper smenatics regardless of where in the Modal.
355
+ * Adds the generate ID to node when necessary so the dialog and scroll region
356
+ * aria-labelledby by can find the primary heading (in the Modal.Header)
357
+ */
358
+ var ModalHeading = function ModalHeading(props) {
359
+ var _React$useContext6 = React.useContext(ModalBodyScrollContext),
360
+ ariaLabelledBy = _React$useContext6.ariaLabelledBy;
361
+ var _React$useContext7 = React.useContext(ModalPrimaryHeadingCheckContext),
362
+ inModalHeader = _React$useContext7.inModalHeader;
363
+ return /*#__PURE__*/React.createElement(Heading, _extends({
364
+ id: inModalHeader ? ariaLabelledBy : undefined
365
+ }, props));
366
+ };
330
367
  function ModalState(props) {
331
368
  useDeprecation({
332
369
  oldThing: 'Modal.State'
@@ -375,8 +412,7 @@ export var Modal = addSubcomponents({
375
412
  FooterNotation: FooterNotation,
376
413
  FooterSummary: FooterSummary,
377
414
  Header: Header,
378
- Heading: Heading,
379
- // Could make this tabIndex -1, and focus it on open
415
+ Heading: ModalHeading,
380
416
  Overlay: Overlay,
381
417
  Scrim: Scrim,
382
418
  State: State,