@procore/core-react 12.14.0 → 12.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  2. package/dist/Avatar/Avatar.styles.js +5 -5
  3. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  4. package/dist/Badge/Badge.styles.js +2 -2
  5. package/dist/Banner/Banner.js +3 -3
  6. package/dist/Banner/Banner.js.map +1 -1
  7. package/dist/Banner/Banner.styles.d.ts +3 -3
  8. package/dist/Banner/Banner.styles.js +16 -16
  9. package/dist/Banner/Banner.styles.js.map +1 -1
  10. package/dist/Box/Box.styles.js +1 -1
  11. package/dist/Breadcrumbs/Breadcrumbs.js +5 -2
  12. package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
  13. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  14. package/dist/Button/Button.styles.js +5 -5
  15. package/dist/Calendar/Calendar.styles.js +8 -8
  16. package/dist/Card/Card.styles.js +1 -1
  17. package/dist/Checkbox/Checkbox.styles.js +6 -6
  18. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  19. package/dist/ContactItem/ContactItem.styles.js +5 -5
  20. package/dist/Content/Content.styles.js +2 -2
  21. package/dist/DateInput/DateInput.js +1 -1
  22. package/dist/DateInput/DateInput.js.map +1 -1
  23. package/dist/DateInput/DateInput.styles.d.ts +1 -1
  24. package/dist/DateInput/DateInput.styles.js +6 -6
  25. package/dist/DateInput/DateInput.styles.js.map +1 -1
  26. package/dist/DetailPage/DetailPage.styles.js +7 -7
  27. package/dist/DetailPageTemplate/DetailPageTemplate.d.ts +11 -0
  28. package/dist/DetailPageTemplate/DetailPageTemplate.js +38 -0
  29. package/dist/DetailPageTemplate/DetailPageTemplate.js.map +1 -0
  30. package/dist/DetailPageTemplate/DetailPageTemplate.types.d.ts +13 -0
  31. package/dist/DetailPageTemplate/DetailPageTemplate.types.js +2 -0
  32. package/dist/DetailPageTemplate/DetailPageTemplate.types.js.map +1 -0
  33. package/dist/Dropdown/Dropdown.styles.js +3 -3
  34. package/dist/Dropdown/Dropdown.types.d.ts +5 -11
  35. package/dist/Dropdown/Dropdown.types.js.map +1 -1
  36. package/dist/DropdownFlyout/DropdownFlyout.js +6 -2
  37. package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
  38. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  39. package/dist/DropdownFlyout/DropdownFlyout.types.d.ts +12 -14
  40. package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
  41. package/dist/Dropzone/Dropzone.js +3 -2
  42. package/dist/Dropzone/Dropzone.js.map +1 -1
  43. package/dist/Dropzone/Dropzone.styles.js +9 -9
  44. package/dist/Dropzone/Dropzone.types.d.ts +22 -20
  45. package/dist/Dropzone/Dropzone.types.js.map +1 -1
  46. package/dist/EmptyState/EmptyState.styles.js +6 -6
  47. package/dist/Field/Field.styles.js +3 -3
  48. package/dist/FileList/FileList.styles.js +4 -4
  49. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  50. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  51. package/dist/FileSelect/FileSelect.styles.js +2 -2
  52. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  53. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  54. package/dist/FileSelect/GridSource/GridSource.js +3 -3
  55. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  56. package/dist/FileSelect/GridSource/GridSource.styles.d.ts +3 -3
  57. package/dist/FileSelect/GridSource/GridSource.styles.js +12 -12
  58. package/dist/FileSelect/GridSource/GridSource.styles.js.map +1 -1
  59. package/dist/FileSelect/GridSource/GridSource.types.d.ts +14 -23
  60. package/dist/FileSelect/GridSource/GridSource.types.js.map +1 -1
  61. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  62. package/dist/FileSelect/LocalSource/LocalSource.types.d.ts +43 -47
  63. package/dist/FileSelect/LocalSource/LocalSource.types.js.map +1 -1
  64. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  65. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  66. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  67. package/dist/FileSelect/TreeSource/TreeSource.types.d.ts +3 -1
  68. package/dist/FileSelect/TreeSource/TreeSource.types.js.map +1 -1
  69. package/dist/FileToken/FileToken.styles.js +4 -4
  70. package/dist/FilterToken/FilterToken.styles.js +2 -2
  71. package/dist/FlexList/FlexList.styles.js +1 -1
  72. package/dist/Form/Form.js +12 -7
  73. package/dist/Form/Form.js.map +1 -1
  74. package/dist/Form/Form.styles.js +14 -14
  75. package/dist/Form/Form.types.d.ts +55 -67
  76. package/dist/Form/Form.types.js.map +1 -1
  77. package/dist/Form/StyledFormikForm.styles.js +2 -2
  78. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  79. package/dist/Grid/Grid.styles.js +2 -2
  80. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  81. package/dist/Input/Input.styles.js +1 -1
  82. package/dist/Link/Link.styles.js +1 -1
  83. package/dist/ListPage/ListPage.styles.js +8 -8
  84. package/dist/Loader/Loader.styles.js +4 -4
  85. package/dist/Loader/Loader.styles.js.map +1 -1
  86. package/dist/MenuImperative/MenuImperative.js +8 -5
  87. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  88. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  89. package/dist/Modal/Modal.js +2 -2
  90. package/dist/Modal/Modal.js.map +1 -1
  91. package/dist/Modal/Modal.styles.d.ts +2 -2
  92. package/dist/Modal/Modal.styles.js +18 -18
  93. package/dist/Modal/Modal.styles.js.map +1 -1
  94. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  95. package/dist/MultiSelect/MultiSelect.types.d.ts +22 -15
  96. package/dist/MultiSelect/MultiSelect.types.js.map +1 -1
  97. package/dist/NextMenu/NextMenu.styles.js +3 -3
  98. package/dist/Notation/Notation.js +1 -1
  99. package/dist/NumberInput/NumberInput.js +2 -2
  100. package/dist/NumberInput/NumberInput.js.map +1 -1
  101. package/dist/NumberInput/NumberInput.styles.d.ts +2 -2
  102. package/dist/NumberInput/NumberInput.styles.js +11 -11
  103. package/dist/NumberInput/NumberInput.styles.js.map +1 -1
  104. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  105. package/dist/PageFooterTemplate/PageFooterTemplate.styles.js +2 -2
  106. package/dist/PageFooterTemplate/PageFooterTemplate.styles.js.map +1 -1
  107. package/dist/PageHeaderTemplate/PageHeaderTemplate.js +70 -23
  108. package/dist/PageHeaderTemplate/PageHeaderTemplate.js.map +1 -1
  109. package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.d.ts +2 -0
  110. package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.js +11 -1
  111. package/dist/PageHeaderTemplate/PageHeaderTemplate.styles.js.map +1 -1
  112. package/dist/PageHeaderTemplate/PageHeaderTemplate.utils.d.ts +11 -0
  113. package/dist/PageHeaderTemplate/PageHeaderTemplate.utils.js +88 -0
  114. package/dist/PageHeaderTemplate/PageHeaderTemplate.utils.js.map +1 -0
  115. package/dist/PageLayout/PageLayout.styles.js +16 -16
  116. package/dist/PageLayout/PageLayout.utils.d.ts +2 -0
  117. package/dist/PageLayout/PageLayout.utils.js +6 -0
  118. package/dist/PageLayout/PageLayout.utils.js.map +1 -1
  119. package/dist/PageTemplate/PageTemplate.js +6 -2
  120. package/dist/PageTemplate/PageTemplate.js.map +1 -1
  121. package/dist/PageTemplate/PageTemplate.styles.d.ts +5 -0
  122. package/dist/PageTemplate/PageTemplate.styles.js +24 -0
  123. package/dist/PageTemplate/PageTemplate.styles.js.map +1 -0
  124. package/dist/PageTemplate/PageTemplate.types.d.ts +1 -0
  125. package/dist/PageTemplate/PageTemplate.types.js.map +1 -1
  126. package/dist/Pagination/Pagination.styles.js +5 -5
  127. package/dist/Panel/Panel.styles.js +11 -11
  128. package/dist/Pill/Pill.styles.js +2 -2
  129. package/dist/Pill/Pill.types.d.ts +3 -1
  130. package/dist/Pill/Pill.types.js.map +1 -1
  131. package/dist/PillSelect/PillSelect.styles.js +4 -4
  132. package/dist/Popover/Popover.styles.js +2 -2
  133. package/dist/Portal/Portal.styles.js +1 -1
  134. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  135. package/dist/RadioButton/RadioButton.styles.js +3 -3
  136. package/dist/Required/Required.styles.js +3 -3
  137. package/dist/Search/Search.styles.js +5 -5
  138. package/dist/Search/Search.types.d.ts +4 -2
  139. package/dist/Search/Search.types.js.map +1 -1
  140. package/dist/Section/Section.styles.js +7 -7
  141. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  142. package/dist/Select/Select.js +6 -3
  143. package/dist/Select/Select.js.map +1 -1
  144. package/dist/Select/Select.styles.js +9 -8
  145. package/dist/Select/Select.styles.js.map +1 -1
  146. package/dist/Select/Select.types.d.ts +9 -1
  147. package/dist/Select/Select.types.js.map +1 -1
  148. package/dist/Semantic/Semantic.d.ts +3 -7
  149. package/dist/Semantic/Semantic.js +14 -2
  150. package/dist/Semantic/Semantic.js.map +1 -1
  151. package/dist/Semantic/Semantic.styles.d.ts +3 -3
  152. package/dist/Semantic/Semantic.styles.js +11 -11
  153. package/dist/Semantic/Semantic.styles.js.map +1 -1
  154. package/dist/Semantic/Semantic.types.d.ts +5 -0
  155. package/dist/Semantic/Semantic.types.js.map +1 -1
  156. package/dist/SettingsPageTemplate/SettingsPageTemplate.d.ts +7 -0
  157. package/dist/SettingsPageTemplate/SettingsPageTemplate.js +34 -0
  158. package/dist/SettingsPageTemplate/SettingsPageTemplate.js.map +1 -0
  159. package/dist/SettingsPageTemplate/SettingsPageTemplate.types.d.ts +9 -0
  160. package/dist/SettingsPageTemplate/SettingsPageTemplate.types.js +2 -0
  161. package/dist/SettingsPageTemplate/SettingsPageTemplate.types.js.map +1 -0
  162. package/dist/Slider/Slider.js +2 -2
  163. package/dist/Slider/Slider.js.map +1 -1
  164. package/dist/Slider/Slider.styles.d.ts +2 -2
  165. package/dist/Slider/Slider.styles.js +9 -9
  166. package/dist/Slider/Slider.styles.js.map +1 -1
  167. package/dist/Spinner/Spinner.styles.js +7 -7
  168. package/dist/Spinner/Spinner.types.d.ts +2 -5
  169. package/dist/Spinner/Spinner.types.js.map +1 -1
  170. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  171. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  172. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  173. package/dist/Switch/Switch.styles.js +4 -4
  174. package/dist/Table/Table.styles.js +28 -28
  175. package/dist/TableShelf/TableShelf.styles.js +5 -5
  176. package/dist/Tabs/Tabs.styles.js +15 -15
  177. package/dist/Tearsheet/Tearsheet.styles.js +7 -7
  178. package/dist/Tearsheet/Tearsheet.styles.js.map +1 -1
  179. package/dist/TextArea/TextArea.styles.js +1 -1
  180. package/dist/TextEditor/TextEditor.types.d.ts +12 -9
  181. package/dist/TextEditor/TextEditor.types.js.map +1 -1
  182. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  183. package/dist/Thumbnail/Thumbnail.js +25 -10
  184. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  185. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  186. package/dist/Thumbnail/Thumbnail.types.d.ts +2 -3
  187. package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
  188. package/dist/Thumbnail/ThumbnailCaption.js +2 -2
  189. package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
  190. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  191. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  192. package/dist/TieredSelect/TieredSelect.types.d.ts +64 -40
  193. package/dist/TieredSelect/TieredSelect.types.js.map +1 -1
  194. package/dist/Tile/Tile.styles.js +8 -8
  195. package/dist/Tile/Tile.types.d.ts +1 -1
  196. package/dist/Tile/Tile.types.js.map +1 -1
  197. package/dist/Title/Title.styles.js +7 -7
  198. package/dist/Toast/Toast.styles.js +3 -3
  199. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  200. package/dist/ToggleButton/ToggleButton.types.d.ts +1 -1
  201. package/dist/ToggleButton/ToggleButton.types.js.map +1 -1
  202. package/dist/Token/Token.styles.js +3 -3
  203. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  204. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  205. package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.d.ts +5 -0
  206. package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.js +44 -0
  207. package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.js.map +1 -0
  208. package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.types.d.ts +7 -0
  209. package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.types.js +2 -0
  210. package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.types.js.map +1 -0
  211. package/dist/Tooltip/Tooltip.styles.js +2 -2
  212. package/dist/Tree/Tree.js +3 -3
  213. package/dist/Tree/Tree.js.map +1 -1
  214. package/dist/Tree/Tree.styles.d.ts +9 -3
  215. package/dist/Tree/Tree.styles.js +23 -15
  216. package/dist/Tree/Tree.styles.js.map +1 -1
  217. package/dist/Tree/Tree.types.d.ts +40 -19
  218. package/dist/Tree/Tree.types.js.map +1 -1
  219. package/dist/Typeahead/Typeahead.styles.js +3 -3
  220. package/dist/Typography/Typography.js +1 -1
  221. package/dist/Typography/Typography.js.map +1 -1
  222. package/dist/Typography/Typography.styles.d.ts +2 -1
  223. package/dist/Typography/Typography.styles.js +3 -3
  224. package/dist/Typography/Typography.styles.js.map +1 -1
  225. package/dist/Typography/Typography.table.story.js +2 -2
  226. package/dist/_hooks/useCurrentMedia.d.ts +36 -0
  227. package/dist/_hooks/useCurrentMedia.js +73 -0
  228. package/dist/_hooks/useCurrentMedia.js.map +1 -0
  229. package/dist/_locales/en-AU.json +56 -56
  230. package/dist/_locales/en-CA.json +56 -56
  231. package/dist/_locales/en-GB.json +55 -55
  232. package/dist/_locales/es.json +2 -2
  233. package/dist/_locales/ja-JP.json +5 -5
  234. package/dist/_locales/pt-BR.json +1 -1
  235. package/dist/_locales/th-TH.json +1 -1
  236. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  237. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  238. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  239. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  240. package/dist/_typedoc/Box/Box.types.json +68 -68
  241. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  242. package/dist/_typedoc/Button/Button.types.json +12 -12
  243. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  244. package/dist/_typedoc/Card/Card.types.json +6 -6
  245. package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
  246. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  247. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  248. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  249. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  250. package/dist/_typedoc/Dropdown/Dropdown.types.json +39 -39
  251. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +35 -35
  252. package/dist/_typedoc/Dropzone/Dropzone.types.json +53 -53
  253. package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
  254. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  255. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  256. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +42 -42
  257. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +30 -30
  258. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +27 -27
  259. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  260. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  261. package/dist/_typedoc/Form/Form.types.json +1015 -975
  262. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  263. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  264. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +54 -54
  265. package/dist/_typedoc/Input/Input.types.json +2 -2
  266. package/dist/_typedoc/Link/Link.types.json +4 -4
  267. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  268. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  269. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  270. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  271. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +35 -35
  272. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  273. package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
  274. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
  275. package/dist/_typedoc/PageLayout/PageLayout.types.json +28 -28
  276. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  277. package/dist/_typedoc/Panel/Panel.types.json +28 -28
  278. package/dist/_typedoc/Pill/Pill.types.json +4 -4
  279. package/dist/_typedoc/PillSelect/PillSelect.types.json +58 -48
  280. package/dist/_typedoc/Popover/Popover.types.json +14 -14
  281. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  282. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  283. package/dist/_typedoc/Required/Required.types.json +5 -5
  284. package/dist/_typedoc/Search/Search.types.json +22 -22
  285. package/dist/_typedoc/Section/Section.types.json +15 -15
  286. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
  287. package/dist/_typedoc/Select/Select.types.json +78 -58
  288. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  289. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  290. package/dist/_typedoc/Spinner/Spinner.types.json +11 -11
  291. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +12 -12
  292. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  293. package/dist/_typedoc/Table/Table.types.json +112 -102
  294. package/dist/_typedoc/Tabs/Tabs.types.json +19 -19
  295. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +16 -16
  296. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  297. package/dist/_typedoc/TextEditor/TextEditor.types.json +13 -13
  298. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  299. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +23 -23
  300. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +56 -56
  301. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +44 -44
  302. package/dist/_typedoc/Tile/Tile.types.json +32 -32
  303. package/dist/_typedoc/Title/Title.types.json +1 -1
  304. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  305. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +6 -6
  306. package/dist/_typedoc/Token/Token.types.json +4 -4
  307. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  308. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +7 -7
  309. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  310. package/dist/_typedoc/Tree/Tree.types.json +110 -110
  311. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  312. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  313. package/dist/_typedoc/_utils/types.json +3 -3
  314. package/package.json +2 -2
@@ -2,7 +2,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2
2
  var _excluded = ["circular", "onDragEnd", "onScrollBottom", "onSelect", "role", "onChangeActiveDescendant", "onKeyboardNavigation", "id", "multiple"],
3
3
  _excluded2 = ["clickable", "item", "id", "children"],
4
4
  _excluded3 = ["hasCheckbox", "children", "selected", "provided"],
5
- _excluded4 = ["as", "children", "item", "onClick", "selected", "suggested", "disabled", "id", "role", "restoreFocus"],
5
+ _excluded4 = ["as", "children", "item", "onClick", "selected", "suggested", "disabled", "id", "role", "restoreFocus", "draggableId", "draggableIndex", "droppableIn"],
6
6
  _excluded5 = ["selected", "disabled", "error", "indeterminate", "children", "role"],
7
7
  _excluded6 = ["className", "i18nScope", "placeholder", "onChange"],
8
8
  _excluded7 = ["padding"];
@@ -378,6 +378,9 @@ forwardRef) {
378
378
  _id = _ref5.id,
379
379
  role = _ref5.role,
380
380
  restoreFocus = _ref5.restoreFocus,
381
+ draggableId = _ref5.draggableId,
382
+ draggableIndex = _ref5.draggableIndex,
383
+ droppableIn = _ref5.droppableIn,
381
384
  props = _objectWithoutProperties(_ref5, _excluded4);
382
385
  var _useMergeRef = useMergeRef(forwardRef),
383
386
  _useMergeRef2 = _slicedToArray(_useMergeRef, 2),
@@ -424,15 +427,15 @@ forwardRef) {
424
427
  $disabled: disabled,
425
428
  $selected: selected
426
429
  });
427
- if ('droppableIn' in props && 'draggableId' in props && 'draggableIndex' in props) {
430
+ if (droppableIn !== undefined && draggableId !== undefined && draggableIndex !== undefined) {
428
431
  // encoding id and valid droppables as the draggableId, so we can use them to determine where this item can be dropped
429
432
  var droppableInfo = {
430
- draggableId: props.draggableId,
431
- droppableIn: Array.isArray(props.droppableIn) ? props.droppableIn : [props.droppableIn]
433
+ draggableId: draggableId,
434
+ droppableIn: Array.isArray(droppableIn) ? droppableIn : [droppableIn]
432
435
  };
433
436
  return /*#__PURE__*/React.createElement(Draggable, {
434
437
  draggableId: JSON.stringify(droppableInfo),
435
- index: props.draggableIndex,
438
+ index: draggableIndex,
436
439
  isDragDisabled: disabled
437
440
  }, function (provided) {
438
441
  return /*#__PURE__*/React.createElement(StyledItem, _extends({
@@ -1 +1 @@
1
- {"version":3,"file":"MenuImperative.js","names":["Grip","useLabel","useId","React","isValidElement","useEffect","useMemo","useState","DragDropContext","Draggable","Droppable","DndDroppable","useMouseSensor","useTouchSensor","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","useMergeRef","externalRef","ref","useRef","useCallback","node","current","MenuContext","createContext","a11yOptionsProps","currentlyDroppableIn","onHoverItem","onScrollBottom","onSelect","role","useMenuContext","context","useContext","Error","useMenuImperativeControlNavigation","enable","arguments","length","undefined","options","_id","menuId","id","_React$useState","_React$useState2","_slicedToArray","activeDescendant","setActiveDescendant","_useState","_useState2","onKeyDown","setOnKeyDown","_ref$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","_useState3","_useState4","setCurrentlyDroppableIn","selection","onChangeHighlight","_useMemo","handleItemHover","handleKeyDown","highlight","highlighted","highlightFirst","highlightLast","highlightSelected","highlightSuggested","rehighlightCurrent","prev","next","select","updateSelectCallback","useKeyboardSensor","commonA11yOptionProps","_defineProperty","_objectSpread","tabIndex","useImperativeHandle","el","onDragStart","start","provided","announce","itemInfo","JSON","parse","draggableId","droppableIn","onDragUpdate","_update","result","reason","destination","source","createElement","Provider","value","enableDefaultSensors","sensors","Group","_ref2","clickable","_ref2$item","item","children","_excluded2","_useLabel","label","labelElementType","fieldProps","labelProps","_extends","onClick","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_","_ref5$selected","_ref5$suggested","suggested","_ref5$disabled","disabled","restoreFocus","_excluded4","_useMergeRef","_useMergeRef2","setRef","event","group","action","contextRole","ariaSelected","onMouseMove","$disabled","droppableInfo","Array","isArray","index","draggableIndex","isDragDisabled","_ref6","_ref6$selected","_ref6$disabled","_ref6$error","_ref6$indeterminate","_ref6$children","_excluded5","ariaChecked","Options","onScroll","Search","_ref7","className","_ref7$i18nScope","i18nScope","_onChange","_excluded6","I18n","_React$useState3","_React$useState4","setValue","autoFocus","t","scope","Header","_ref8","_objectDestructuringEmpty","Footer","_ref9","_ref9$padding","padding","_excluded7","displayName","MenuImperative"],"sources":["../../src/MenuImperative/MenuImperative.tsx"],"sourcesContent":["import { 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 {\n DraggableProvided,\n DraggableRubric,\n DraggableStateSnapshot,\n DragStart,\n DragUpdate,\n DroppableProvided,\n DroppableStateSnapshot,\n DropResult,\n ResponderProvided,\n} from 'react-beautiful-dnd'\nimport {\n DragDropContext,\n Draggable,\n Droppable as DndDroppable,\n useMouseSensor,\n useTouchSensor,\n} from 'react-beautiful-dnd'\nimport { Checkbox, FakeCheckbox } from '../Checkbox/Checkbox'\nimport type { CheckboxProps } from '../Checkbox/Checkbox.types'\nimport { Typeahead } from '../Typeahead/Typeahead'\nimport type { TypeaheadProps } from '../Typeahead/Typeahead.types'\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 Ref,\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\n// TODO use the shared mergeRefs utility\nexport function useMergeRef<T = HTMLElement>(externalRef: Ref<T>) {\n const ref = React.useRef<T>()\n\n return [\n ref,\n React.useCallback(\n (node) => {\n ref.current = node\n\n if (externalRef) {\n if (typeof externalRef === 'function') {\n externalRef(node)\n } else {\n externalRef.current = node\n }\n }\n },\n [externalRef]\n ),\n ] as const\n}\n\nconst 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 useKeyboardSensor,\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 enableDefaultSensors={false}\n sensors={[useMouseSensor, useTouchSensor, useKeyboardSensor]}\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 ...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 [ref, setRef] = useMergeRef<HTMLDivElement>(forwardRef)\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' in props &&\n 'draggableId' in props &&\n 'draggableIndex' in props\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: props.draggableId,\n droppableIn: Array.isArray(props.droppableIn)\n ? props.droppableIn\n : [props.droppableIn],\n }\n return (\n <Draggable\n draggableId={JSON.stringify(droppableInfo)}\n index={props.draggableIndex}\n isDragDisabled={disabled}\n >\n {(provided: DraggableProvided) => (\n <StyledItem\n ref={mergeRefs(provided.innerRef, setRef)}\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={setRef} 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\n return (\n <StyledOptions\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: TypeaheadProps['onChange'] = React.useCallback(\n function (value, event) {\n setValue(value)\n _onChange?.(event)\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":["Grip","useLabel","useId","React","isValidElement","useEffect","useMemo","useState","DragDropContext","Draggable","Droppable","DndDroppable","useMouseSensor","useTouchSensor","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","useMergeRef","externalRef","ref","useRef","useCallback","node","current","MenuContext","createContext","a11yOptionsProps","currentlyDroppableIn","onHoverItem","onScrollBottom","onSelect","role","useMenuContext","context","useContext","Error","useMenuImperativeControlNavigation","enable","arguments","length","undefined","options","_id","menuId","id","_React$useState","_React$useState2","_slicedToArray","activeDescendant","setActiveDescendant","_useState","_useState2","onKeyDown","setOnKeyDown","_ref$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","_useState3","_useState4","setCurrentlyDroppableIn","selection","onChangeHighlight","_useMemo","handleItemHover","handleKeyDown","highlight","highlighted","highlightFirst","highlightLast","highlightSelected","highlightSuggested","rehighlightCurrent","prev","next","select","updateSelectCallback","useKeyboardSensor","commonA11yOptionProps","_defineProperty","_objectSpread","tabIndex","useImperativeHandle","el","onDragStart","start","provided","announce","itemInfo","JSON","parse","draggableId","droppableIn","onDragUpdate","_update","result","reason","destination","source","createElement","Provider","value","enableDefaultSensors","sensors","Group","_ref2","clickable","_ref2$item","item","children","_excluded2","_useLabel","label","labelElementType","fieldProps","labelProps","_extends","onClick","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_","_ref5$selected","_ref5$suggested","suggested","_ref5$disabled","disabled","restoreFocus","draggableIndex","_excluded4","_useMergeRef","_useMergeRef2","setRef","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","onScroll","Search","_ref7","className","_ref7$i18nScope","i18nScope","_onChange","_excluded6","I18n","_React$useState3","_React$useState4","setValue","autoFocus","t","scope","Header","_ref8","_objectDestructuringEmpty","Footer","_ref9","_ref9$padding","padding","_excluded7","displayName","MenuImperative"],"sources":["../../src/MenuImperative/MenuImperative.tsx"],"sourcesContent":["import { 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 {\n DraggableProvided,\n DraggableRubric,\n DraggableStateSnapshot,\n DragStart,\n DragUpdate,\n DroppableProvided,\n DroppableStateSnapshot,\n DropResult,\n ResponderProvided,\n} from 'react-beautiful-dnd'\nimport {\n DragDropContext,\n Draggable,\n Droppable as DndDroppable,\n useMouseSensor,\n useTouchSensor,\n} from 'react-beautiful-dnd'\nimport { Checkbox, FakeCheckbox } from '../Checkbox/Checkbox'\nimport type { CheckboxProps } from '../Checkbox/Checkbox.types'\nimport { Typeahead } from '../Typeahead/Typeahead'\nimport type { TypeaheadProps } from '../Typeahead/Typeahead.types'\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 Ref,\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\n// TODO use the shared mergeRefs utility\nexport function useMergeRef<T = HTMLElement>(externalRef: Ref<T>) {\n const ref = React.useRef<T>()\n\n return [\n ref,\n React.useCallback(\n (node) => {\n ref.current = node\n\n if (externalRef) {\n if (typeof externalRef === 'function') {\n externalRef(node)\n } else {\n externalRef.current = node\n }\n }\n },\n [externalRef]\n ),\n ] as const\n}\n\nconst 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 useKeyboardSensor,\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 enableDefaultSensors={false}\n sensors={[useMouseSensor, useTouchSensor, useKeyboardSensor]}\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 [ref, setRef] = useMergeRef<HTMLDivElement>(forwardRef)\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, setRef)}\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={setRef} 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\n return (\n <StyledOptions\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: TypeaheadProps['onChange'] = React.useCallback(\n function (value, event) {\n setValue(value)\n _onChange?.(event)\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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"}
@@ -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_14_0__sc-z984sz-0"
14
+ componentId: "core-12_16_0__sc-z984sz-0"
15
15
  })(["border-radius:inherit;display:flex;max-height:inherit;min-width:inherit;outline:none;width:inherit;"]);
16
16
  export var StyledMenu = /*#__PURE__*/styled.div.withConfig({
17
17
  displayName: "StyledMenu",
18
- componentId: "core-12_14_0__sc-z984sz-1"
18
+ componentId: "core-12_16_0__sc-z984sz-1"
19
19
  })(["border-radius:inherit;display:flex;flex-direction:column;outline:0;width:100%;"]);
20
20
  export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
21
21
  displayName: "StyledOptions",
22
- componentId: "core-12_14_0__sc-z984sz-2"
22
+ componentId: "core-12_16_0__sc-z984sz-2"
23
23
  })(["flex-basis:auto;flex-grow:1;flex-shrink:1;min-height:", "px;", ";padding:", "px 0;position:relative;&:focus-visible{", " margin:-1px;}"], optionMinHeight, function (_ref) {
24
24
  var _ref$$scrollable = _ref.$scrollable,
25
25
  $scrollable = _ref$$scrollable === void 0 ? true : _ref$$scrollable;
@@ -27,26 +27,26 @@ export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
27
27
  }, spacing.sm, getFocus());
28
28
  export var StyledGrip = /*#__PURE__*/styled.div.withConfig({
29
29
  displayName: "StyledGrip",
30
- componentId: "core-12_14_0__sc-z984sz-3"
30
+ componentId: "core-12_16_0__sc-z984sz-3"
31
31
  })(["padding:0 2px;height:24px;visibility:hidden;"]);
32
32
  export var StyledHeader = /*#__PURE__*/styled.div.withConfig({
33
33
  displayName: "StyledHeader",
34
- componentId: "core-12_14_0__sc-z984sz-4"
34
+ componentId: "core-12_16_0__sc-z984sz-4"
35
35
  })([""]);
36
36
  export var StyledSearch = /*#__PURE__*/styled.div.withConfig({
37
37
  displayName: "StyledSearch",
38
- componentId: "core-12_14_0__sc-z984sz-5"
38
+ componentId: "core-12_16_0__sc-z984sz-5"
39
39
  })(["padding:", "px ", "px ", "px;", " > *{pointer-events:none;}"], spacing.lg, spacing.lg, spacing.sm, StyledButton);
40
40
  export var StyledGroup = /*#__PURE__*/styled.div.withConfig({
41
41
  displayName: "StyledGroup",
42
- componentId: "core-12_14_0__sc-z984sz-6"
42
+ componentId: "core-12_16_0__sc-z984sz-6"
43
43
  })(["", " color:", ";cursor:", ";font-weight:", ";padding:", "px ", "px;&:not(:first-child){padding-top:", "px;}"], getTypographyIntent('body'), colors.gray15, function (_ref2) {
44
44
  var $clickable = _ref2.$clickable;
45
45
  return $clickable ? 'pointer' : 'default';
46
46
  }, typographyWeights.semibold, spacing.xs, spacing.lg, spacing.md + spacing.xs);
47
47
  export var StyledItem = /*#__PURE__*/styled.div.withConfig({
48
48
  displayName: "StyledItem",
49
- componentId: "core-12_14_0__sc-z984sz-7"
49
+ componentId: "core-12_16_0__sc-z984sz-7"
50
50
  })(["", ";", " cursor:pointer;list-style-type:none;padding:", "px ", "px;a{color:", ";display:block;margin:-", "px -", "px;padding:", "px ", "px;text-decoration:none;&:hover{color:", ";text-decoration:none;}}&[data-highlighted='true']{background-color:", ";}", " &:hover,&:active{", "{visibility:visible;}}", "{color:inherit;cursor:pointer;}", " ", " ", ""], getTypographyIntent('body'), function (_ref3) {
51
51
  var as = _ref3.as;
52
52
  return as === 'a' && css(["display:block;text-decoration:none;"]);
@@ -75,10 +75,10 @@ export var StyledItem = /*#__PURE__*/styled.div.withConfig({
75
75
  });
76
76
  export var StyledDroppable = /*#__PURE__*/styled.div.withConfig({
77
77
  displayName: "StyledDroppable",
78
- componentId: "core-12_14_0__sc-z984sz-8"
78
+ componentId: "core-12_16_0__sc-z984sz-8"
79
79
  })(["", ",", "{padding-left:28px;}"], StyledGroup, StyledItem);
80
80
  export var StyledFooter = /*#__PURE__*/styled(Box).withConfig({
81
81
  displayName: "StyledFooter",
82
- componentId: "core-12_14_0__sc-z984sz-9"
82
+ componentId: "core-12_16_0__sc-z984sz-9"
83
83
  })(["border-top:1px solid ", ";border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;"], colors.gray85);
84
84
  //# sourceMappingURL=MenuImperative.styles.js.map
@@ -172,8 +172,8 @@ var ModalBody = /*#__PURE__*/React.forwardRef(function (_ref4, ref) {
172
172
  value: initialBodyLevel
173
173
  }, /*#__PURE__*/React.createElement(StyledModalBody, _extends({}, props, {
174
174
  $compact: compact,
175
- isOverflowingY: isOverflowingY,
176
- noSideSpacing: noSideSpacing,
175
+ $isOverflowingY: isOverflowingY,
176
+ $noSideSpacing: noSideSpacing,
177
177
  ref: mergeRefs(overflowRef, scrollRef, ref, modalBodyRef),
178
178
  tabIndex: 0
179
179
  }), children)));
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["Clear","FocusScope","React","useEffect","Button","useModalDialogLike","Portal","Heading","LevelContext","Section","SectionProvider","useDeprecation","useLayoutEventListener","useI18nContext","useOverflowObserver","useScrollLock","Visibility","addSubcomponents","CloseWithConfirmContext","useCloseWithConfirmContext","useCloseWithConfirmState","mergeRefs","ChildRegistryProvider","useModalChildRegistryDispatch","fadeInClassName","fadeOutClassName","StyledModal","StyledModalBody","StyledModalButtons","StyledModalCancel","StyledModalContainer","StyledModalContent","StyledModalFooter","StyledModalFooterNotation","StyledModalFooterSummary","StyledModalHeader","StyledModalHeading","StyledModalScrim","StyledModalWarningIcon","useInitializeModalFocus","noop","defaultStartLevel","initialBodyLevel","ModalCloseContext","createContext","howToClose","onClose","undefined","ModalBodyScrollContext","isBodyScrolled","setIsBodyScrolled","ModalClosableHeader","forwardRef","_ref","ref","children","_ref$compact","compact","externalOnClose","qa","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","_React$useContext2","I18n","modalClosableHeaderRef","useRef","_useCloseWithConfirmC","closeWithConfirm","registerChildRef","child","onClickButton","e","includes","createElement","_extends","$compact","$isBodyScrolled","t","closeButton","icon","onClick","size","variant","ModalClosableFooterButtons","_ref2","_excluded2","_React$useContext3","_useCloseWithConfirmC2","modalClosableFooterButtonsRef","ModalContainer","_ref3","_ref3$compact","placement","width","_excluded3","_React$useContext4","modalContainerRef","hasOnClose","shadowStrength","$placement","$width","ModalBody","_ref4","_ref4$compact","_ref4$noSideSpacing","noSideSpacing","_excluded4","_useOverflowObserver","isOverflowingY","overflowRef","scrollRef","modalBodyRef","_React$useContext5","event","handler","currentTarget","scrollTop","scope","Provider","value","tabIndex","ModalFooterSummary","_ref5","_excluded5","ModalFooterNotation","_ref6","_excluded6","intent","color","italic","Modal_","_ref7","ariaDescribedby","ariaDetails","ariaLabelledby","ariaLabel","_ref7$compact","id","_ref7$onClickOverlay","onClickOverlay","_ref7$open","open","_ref7$placement","role","_excluded7","_React$useState","useState","_React$useState2","_slicedToArray","visible","setVisible","_React$useState3","_React$useState4","fadeType","setFadeType","closeWithConfirmState","setTimeout","onTransitionEnd","handleKeyDown","key","preventDefault","stopPropagation","_useModalDialogLike","isModal","isOpen","dialogProps_","dialogProps","onClickScrim","autoFocus","contain","restoreFocus","className","onKeyDown","ModalBodyScrollObserver","_ref8","_React$useState5","_React$useState6","ConfirmModal","_ref9","headline","_excluded8","Modal","ModalState","oldThing","displayName","Body","Container","Content","FooterSummary","Footer","FooterButtons","FooterNotation","Header","Overlay","Scrim","State"],"sources":["../../src/Modal/Modal.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport { FocusScope } from '@react-aria/focus'\nimport React, { useEffect } from 'react'\nimport { Button } from '../Button/Button'\nimport { useModalDialogLike } from '../OverlayTrigger/a11yPresets'\nimport { Portal } from '../Portal/Portal'\nimport {\n Heading,\n LevelContext,\n Section,\n SectionProvider,\n} from '../Section/Section'\nimport type { TypographyProps } from '../Typography/Typography.types'\nimport { useDeprecation } from '../_hooks/Deprecation'\nimport { useLayoutEventListener } from '../_hooks/EventListener'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useOverflowObserver } from '../_hooks/OverflowObserver'\nimport { useScrollLock } from '../_hooks/ScrollLock'\nimport type { RenderProps } from '../_hooks/Visibility'\nimport { Visibility } from '../_hooks/Visibility'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport {\n CloseWithConfirmContext,\n useCloseWithConfirmContext,\n useCloseWithConfirmState,\n} from '../_utils/closeWithConfirm'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { DivAttributes, SpanAttributes } from '../_utils/types'\nimport {\n ChildRegistryProvider,\n useModalChildRegistryDispatch,\n} from './ChildRegistry.context'\nimport {\n fadeInClassName,\n fadeOutClassName,\n StyledModal,\n StyledModalBody,\n StyledModalButtons,\n StyledModalCancel,\n StyledModalContainer,\n StyledModalContent,\n StyledModalFooter,\n StyledModalFooterNotation,\n StyledModalFooterSummary,\n StyledModalHeader,\n StyledModalHeading,\n StyledModalScrim,\n StyledModalWarningIcon,\n} from './Modal.styles'\nimport type {\n ConfirmModalProps,\n ModalBodyProps,\n ModalCloseableHeaderProps,\n ModalCloseContextApi,\n ModalContainerProps,\n ModalProps,\n} from './Modal.types'\nimport { useInitializeModalFocus } from './useInitializeModalFocus'\n\nfunction noop() {}\nconst defaultStartLevel = 2\nconst initialBodyLevel = 3\n\nconst ModalCloseContext = React.createContext<ModalCloseContextApi>({\n howToClose: [],\n onClose: undefined,\n})\n\ninterface ModalBodyScrollContextApi {\n isBodyScrolled: boolean\n setIsBodyScrolled: React.Dispatch<React.SetStateAction<boolean>>\n}\n\nconst ModalBodyScrollContext = React.createContext<ModalBodyScrollContextApi>({\n isBodyScrolled: false,\n setIsBodyScrolled: noop,\n})\n\nconst ModalClosableHeader = React.forwardRef<\n HTMLDivElement,\n ModalCloseableHeaderProps\n>(\n (\n { children, compact = false, onClose: externalOnClose, qa, ...props },\n ref\n ) => {\n const { isBodyScrolled } = React.useContext(ModalBodyScrollContext)\n const { howToClose, onClose } = React.useContext(ModalCloseContext)\n const I18n = useI18nContext()\n const modalClosableHeaderRef = React.useRef(null)\n\n const { closeWithConfirm } = useCloseWithConfirmContext()\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({ child: 'header', ref: modalClosableHeaderRef })\n }, [])\n\n function onClickButton(e: React.MouseEvent<HTMLButtonElement>) {\n if (onClose && howToClose?.includes('x')) {\n closeWithConfirm(onClose)(e, 'x')\n return\n }\n closeWithConfirm(externalOnClose!)(e)\n }\n\n return (\n <StyledModalHeader\n $compact={compact}\n $isBodyScrolled={isBodyScrolled}\n {...props}\n ref={mergeRefs(ref, modalClosableHeaderRef)}\n >\n <StyledModalHeading $compact={compact}>{children}</StyledModalHeading>\n {(onClose && howToClose?.includes('x')) || externalOnClose ? (\n <StyledModalCancel>\n <Button\n aria-label={I18n.t('core.modal.a11y.close')}\n data-internal=\"close-button\"\n data-qa={qa?.closeButton}\n icon={<Clear />}\n onClick={onClickButton}\n size={compact ? 'sm' : 'md'}\n variant=\"tertiary\"\n />\n </StyledModalCancel>\n ) : null}\n </StyledModalHeader>\n )\n }\n)\n\nconst ModalClosableFooterButtons = React.forwardRef<\n HTMLDivElement,\n ModalCloseableHeaderProps\n>(({ children, ...props }, ref) => {\n const { howToClose, onClose } = React.useContext(ModalCloseContext)\n const I18n = useI18nContext()\n const { closeWithConfirm } = useCloseWithConfirmContext()\n const modalClosableFooterButtonsRef = React.useRef(null)\n\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({\n child: 'closeableButtons',\n ref: modalClosableFooterButtonsRef,\n })\n }, [])\n\n function onClickButton(e: React.MouseEvent<HTMLButtonElement>) {\n closeWithConfirm(onClose!)(e, 'footer-button')\n }\n\n return (\n <StyledModalButtons\n {...props}\n ref={mergeRefs(ref, modalClosableFooterButtonsRef)}\n >\n {howToClose?.includes('footer-button') && (\n <Button onClick={onClickButton} variant=\"tertiary\">\n {I18n.t('core.modal.cancel')}\n </Button>\n )}\n {children}\n </StyledModalButtons>\n )\n})\n\nconst ModalContainer = React.forwardRef<HTMLDivElement, ModalContainerProps>(\n ({ compact = false, placement, width, ...props }, ref) => {\n const { onClose } = React.useContext(ModalCloseContext)\n const modalContainerRef = React.useRef<HTMLDivElement>(null)\n useInitializeModalFocus({ modalContainerRef, hasOnClose: !!onClose })\n\n return (\n <StyledModalContainer\n {...props}\n shadowStrength={4}\n $compact={compact}\n $placement={placement}\n $width={width}\n ref={mergeRefs(ref, modalContainerRef)}\n />\n )\n }\n)\n\nconst ModalBody = React.forwardRef<HTMLDivElement, ModalBodyProps>(\n ({ children, compact = false, noSideSpacing = false, ...props }, ref) => {\n const { isOverflowingY, ref: overflowRef } = useOverflowObserver()\n const scrollRef = React.useRef(null)\n const modalBodyRef = React.useRef(null)\n const { setIsBodyScrolled } = React.useContext(ModalBodyScrollContext)\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({ child: 'body', ref: modalBodyRef })\n }, [])\n\n useLayoutEventListener({\n event: 'scroll',\n handler: (e: React.UIEvent<HTMLElement>) => {\n setIsBodyScrolled(e.currentTarget.scrollTop > 0)\n },\n scope: scrollRef,\n })\n\n return (\n <SectionProvider>\n <LevelContext.Provider value={initialBodyLevel}>\n <StyledModalBody\n {...props}\n $compact={compact}\n isOverflowingY={isOverflowingY}\n noSideSpacing={noSideSpacing}\n ref={mergeRefs(overflowRef, scrollRef, ref, modalBodyRef)}\n tabIndex={0}\n >\n {children}\n </StyledModalBody>\n </LevelContext.Provider>\n </SectionProvider>\n )\n }\n)\n\nconst ModalFooterSummary = React.forwardRef<HTMLDivElement, DivAttributes>(\n ({ children, ...props }, ref) => {\n return (\n <StyledModalFooterSummary {...props} ref={ref}>\n {children}\n </StyledModalFooterSummary>\n )\n }\n)\n\nconst ModalFooterNotation = React.forwardRef<\n HTMLSpanElement,\n SpanAttributes & TypographyProps\n>(({ children, ...props }, ref) => (\n <StyledModalFooterNotation\n aria-live=\"polite\"\n intent=\"small\"\n color=\"gray45\"\n italic\n {...props}\n ref={ref}\n >\n {children}\n </StyledModalFooterNotation>\n))\n\nconst Modal_ = React.forwardRef<HTMLDivElement, ModalProps>(\n (\n {\n ['aria-describedby']: ariaDescribedby,\n ['aria-details']: ariaDetails,\n ['aria-labelledby']: ariaLabelledby,\n ['aria-label']: ariaLabel,\n children,\n compact = false,\n howToClose,\n id,\n onClickOverlay = noop,\n onClose,\n open = false,\n placement = 'center',\n role,\n ...props\n },\n ref\n ) => {\n useScrollLock(open)\n const [visible, setVisible] = React.useState<boolean>(open)\n const [fadeType, setFadeType] = React.useState<string>('')\n const closeWithConfirmState = useCloseWithConfirmState()\n const { closeWithConfirm } = closeWithConfirmState\n\n React.useEffect(() => {\n if (open) {\n setVisible(true)\n setTimeout(() => {\n setFadeType(fadeInClassName)\n }, 0)\n } else {\n setFadeType(fadeOutClassName)\n }\n }, [open])\n\n const onTransitionEnd = () => {\n if (fadeType === fadeOutClassName) {\n setVisible(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!onClose) return\n if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n closeWithConfirm(onClose)(e, 'x')\n }\n }\n\n const { dialogProps: dialogProps_ } = useModalDialogLike({\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-labelledby': ariaLabelledby,\n 'aria-label': ariaLabel,\n id,\n isModal: false,\n isOpen: open,\n role,\n })\n\n const dialogProps = onClose && role === 'dialog' ? dialogProps_ : {}\n\n function onClickScrim(\n e: React.ComponentProps<typeof StyledModalScrim>['onClick']\n ) {\n onClickOverlay(e)\n if (onClose && howToClose?.includes('scrim')) {\n closeWithConfirm(onClose)(e, 'scrim')\n }\n }\n\n return visible ? (\n <Portal>\n <ModalCloseContext.Provider value={{ onClose, howToClose }}>\n <LevelContext.Provider value={defaultStartLevel}>\n <ChildRegistryProvider>\n <FocusScope\n // TODO breaking - always\n autoFocus={!!onClose}\n contain={!!onClose}\n restoreFocus={!!onClose}\n >\n <StyledModal\n className={fadeType}\n ref={ref}\n onTransitionEnd={onTransitionEnd}\n onKeyDown={handleKeyDown}\n {...dialogProps}\n >\n <StyledModalScrim onClick={onClickScrim} />\n\n <ModalContainer\n {...props}\n compact={compact}\n placement={placement}\n >\n <StyledModalContent $compact={compact}>\n <ModalBodyScrollObserver>\n <CloseWithConfirmContext.Provider\n value={closeWithConfirmState}\n >\n {children}\n </CloseWithConfirmContext.Provider>\n </ModalBodyScrollObserver>\n </StyledModalContent>\n </ModalContainer>\n </StyledModal>\n </FocusScope>\n </ChildRegistryProvider>\n </LevelContext.Provider>\n </ModalCloseContext.Provider>\n </Portal>\n ) : null\n }\n)\n\nfunction ModalBodyScrollObserver({ children }: { children: React.ReactNode }) {\n const [isBodyScrolled, setIsBodyScrolled] = React.useState<boolean>(false)\n\n return (\n <ModalBodyScrollContext.Provider\n value={{ isBodyScrolled, setIsBodyScrolled }}\n >\n {children}\n </ModalBodyScrollContext.Provider>\n )\n}\n\nexport const ConfirmModal = React.forwardRef<HTMLDivElement, ConfirmModalProps>(\n ({ children, headline, onClose, ...props }, ref) => {\n return (\n <Modal {...props} ref={ref}>\n <ModalClosableHeader onClose={onClose}>\n <StyledModalWarningIcon size=\"lg\" />\n {headline}\n </ModalClosableHeader>\n {children}\n </Modal>\n )\n }\n)\n\nfunction ModalState(props: RenderProps) {\n useDeprecation({ oldThing: 'Modal.State' })\n return <Visibility {...props} />\n}\n\nModal_.displayName = 'Modal'\n\nConfirmModal.displayName = 'ConfirmModal'\n\nModalBody.displayName = 'Modal.Body'\n\nModalFooterNotation.displayName = 'Modal.FooterNotation'\n\nModalFooterSummary.displayName = 'Modal.FooterSummary'\n\nconst Body = ModalBody\nconst Container = ModalContainer\nconst Content = StyledModalContent\nconst FooterSummary = ModalFooterSummary\nconst Footer = StyledModalFooter\nconst FooterButtons = ModalClosableFooterButtons\nconst FooterNotation = ModalFooterNotation\nconst Header = ModalClosableHeader\nconst Overlay = StyledModal\nconst Scrim = StyledModalScrim\nconst State = ModalState\n\n/**\n\n We use modals to present additional actions, information, or forms on pages\n where a user’s experience would benefit from remaining on the same page.\n They can include graphics, inputs, buttons, and other elements as needed to\n produce the workflow or action needed.\n\n Do not include modals on pages with complicated UI layouts.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-modal--demo)\n\n @see [Design Guidelines](https://design.procore.com/modal)\n\n */\nexport const Modal = addSubcomponents(\n {\n Body,\n Container,\n Content,\n Footer,\n FooterButtons,\n FooterNotation,\n FooterSummary,\n Header,\n Heading: Heading,\n Overlay,\n Scrim,\n State,\n Section,\n },\n Modal_\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","names":["Clear","FocusScope","React","useEffect","Button","useModalDialogLike","Portal","Heading","LevelContext","Section","SectionProvider","useDeprecation","useLayoutEventListener","useI18nContext","useOverflowObserver","useScrollLock","Visibility","addSubcomponents","CloseWithConfirmContext","useCloseWithConfirmContext","useCloseWithConfirmState","mergeRefs","ChildRegistryProvider","useModalChildRegistryDispatch","fadeInClassName","fadeOutClassName","StyledModal","StyledModalBody","StyledModalButtons","StyledModalCancel","StyledModalContainer","StyledModalContent","StyledModalFooter","StyledModalFooterNotation","StyledModalFooterSummary","StyledModalHeader","StyledModalHeading","StyledModalScrim","StyledModalWarningIcon","useInitializeModalFocus","noop","defaultStartLevel","initialBodyLevel","ModalCloseContext","createContext","howToClose","onClose","undefined","ModalBodyScrollContext","isBodyScrolled","setIsBodyScrolled","ModalClosableHeader","forwardRef","_ref","ref","children","_ref$compact","compact","externalOnClose","qa","props","_objectWithoutProperties","_excluded","_React$useContext","useContext","_React$useContext2","I18n","modalClosableHeaderRef","useRef","_useCloseWithConfirmC","closeWithConfirm","registerChildRef","child","onClickButton","e","includes","createElement","_extends","$compact","$isBodyScrolled","t","closeButton","icon","onClick","size","variant","ModalClosableFooterButtons","_ref2","_excluded2","_React$useContext3","_useCloseWithConfirmC2","modalClosableFooterButtonsRef","ModalContainer","_ref3","_ref3$compact","placement","width","_excluded3","_React$useContext4","modalContainerRef","hasOnClose","shadowStrength","$placement","$width","ModalBody","_ref4","_ref4$compact","_ref4$noSideSpacing","noSideSpacing","_excluded4","_useOverflowObserver","isOverflowingY","overflowRef","scrollRef","modalBodyRef","_React$useContext5","event","handler","currentTarget","scrollTop","scope","Provider","value","$isOverflowingY","$noSideSpacing","tabIndex","ModalFooterSummary","_ref5","_excluded5","ModalFooterNotation","_ref6","_excluded6","intent","color","italic","Modal_","_ref7","ariaDescribedby","ariaDetails","ariaLabelledby","ariaLabel","_ref7$compact","id","_ref7$onClickOverlay","onClickOverlay","_ref7$open","open","_ref7$placement","role","_excluded7","_React$useState","useState","_React$useState2","_slicedToArray","visible","setVisible","_React$useState3","_React$useState4","fadeType","setFadeType","closeWithConfirmState","setTimeout","onTransitionEnd","handleKeyDown","key","preventDefault","stopPropagation","_useModalDialogLike","isModal","isOpen","dialogProps_","dialogProps","onClickScrim","autoFocus","contain","restoreFocus","className","onKeyDown","ModalBodyScrollObserver","_ref8","_React$useState5","_React$useState6","ConfirmModal","_ref9","headline","_excluded8","Modal","ModalState","oldThing","displayName","Body","Container","Content","FooterSummary","Footer","FooterButtons","FooterNotation","Header","Overlay","Scrim","State"],"sources":["../../src/Modal/Modal.tsx"],"sourcesContent":["import { Clear } from '@procore/core-icons/dist'\nimport { FocusScope } from '@react-aria/focus'\nimport React, { useEffect } from 'react'\nimport { Button } from '../Button/Button'\nimport { useModalDialogLike } from '../OverlayTrigger/a11yPresets'\nimport { Portal } from '../Portal/Portal'\nimport {\n Heading,\n LevelContext,\n Section,\n SectionProvider,\n} from '../Section/Section'\nimport type { TypographyProps } from '../Typography/Typography.types'\nimport { useDeprecation } from '../_hooks/Deprecation'\nimport { useLayoutEventListener } from '../_hooks/EventListener'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useOverflowObserver } from '../_hooks/OverflowObserver'\nimport { useScrollLock } from '../_hooks/ScrollLock'\nimport type { RenderProps } from '../_hooks/Visibility'\nimport { Visibility } from '../_hooks/Visibility'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport {\n CloseWithConfirmContext,\n useCloseWithConfirmContext,\n useCloseWithConfirmState,\n} from '../_utils/closeWithConfirm'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { DivAttributes, SpanAttributes } from '../_utils/types'\nimport {\n ChildRegistryProvider,\n useModalChildRegistryDispatch,\n} from './ChildRegistry.context'\nimport {\n fadeInClassName,\n fadeOutClassName,\n StyledModal,\n StyledModalBody,\n StyledModalButtons,\n StyledModalCancel,\n StyledModalContainer,\n StyledModalContent,\n StyledModalFooter,\n StyledModalFooterNotation,\n StyledModalFooterSummary,\n StyledModalHeader,\n StyledModalHeading,\n StyledModalScrim,\n StyledModalWarningIcon,\n} from './Modal.styles'\nimport type {\n ConfirmModalProps,\n ModalBodyProps,\n ModalCloseableHeaderProps,\n ModalCloseContextApi,\n ModalContainerProps,\n ModalProps,\n} from './Modal.types'\nimport { useInitializeModalFocus } from './useInitializeModalFocus'\n\nfunction noop() {}\nconst defaultStartLevel = 2\nconst initialBodyLevel = 3\n\nconst ModalCloseContext = React.createContext<ModalCloseContextApi>({\n howToClose: [],\n onClose: undefined,\n})\n\ninterface ModalBodyScrollContextApi {\n isBodyScrolled: boolean\n setIsBodyScrolled: React.Dispatch<React.SetStateAction<boolean>>\n}\n\nconst ModalBodyScrollContext = React.createContext<ModalBodyScrollContextApi>({\n isBodyScrolled: false,\n setIsBodyScrolled: noop,\n})\n\nconst ModalClosableHeader = React.forwardRef<\n HTMLDivElement,\n ModalCloseableHeaderProps\n>(\n (\n { children, compact = false, onClose: externalOnClose, qa, ...props },\n ref\n ) => {\n const { isBodyScrolled } = React.useContext(ModalBodyScrollContext)\n const { howToClose, onClose } = React.useContext(ModalCloseContext)\n const I18n = useI18nContext()\n const modalClosableHeaderRef = React.useRef(null)\n\n const { closeWithConfirm } = useCloseWithConfirmContext()\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({ child: 'header', ref: modalClosableHeaderRef })\n }, [])\n\n function onClickButton(e: React.MouseEvent<HTMLButtonElement>) {\n if (onClose && howToClose?.includes('x')) {\n closeWithConfirm(onClose)(e, 'x')\n return\n }\n closeWithConfirm(externalOnClose!)(e)\n }\n\n return (\n <StyledModalHeader\n $compact={compact}\n $isBodyScrolled={isBodyScrolled}\n {...props}\n ref={mergeRefs(ref, modalClosableHeaderRef)}\n >\n <StyledModalHeading $compact={compact}>{children}</StyledModalHeading>\n {(onClose && howToClose?.includes('x')) || externalOnClose ? (\n <StyledModalCancel>\n <Button\n aria-label={I18n.t('core.modal.a11y.close')}\n data-internal=\"close-button\"\n data-qa={qa?.closeButton}\n icon={<Clear />}\n onClick={onClickButton}\n size={compact ? 'sm' : 'md'}\n variant=\"tertiary\"\n />\n </StyledModalCancel>\n ) : null}\n </StyledModalHeader>\n )\n }\n)\n\nconst ModalClosableFooterButtons = React.forwardRef<\n HTMLDivElement,\n ModalCloseableHeaderProps\n>(({ children, ...props }, ref) => {\n const { howToClose, onClose } = React.useContext(ModalCloseContext)\n const I18n = useI18nContext()\n const { closeWithConfirm } = useCloseWithConfirmContext()\n const modalClosableFooterButtonsRef = React.useRef(null)\n\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({\n child: 'closeableButtons',\n ref: modalClosableFooterButtonsRef,\n })\n }, [])\n\n function onClickButton(e: React.MouseEvent<HTMLButtonElement>) {\n closeWithConfirm(onClose!)(e, 'footer-button')\n }\n\n return (\n <StyledModalButtons\n {...props}\n ref={mergeRefs(ref, modalClosableFooterButtonsRef)}\n >\n {howToClose?.includes('footer-button') && (\n <Button onClick={onClickButton} variant=\"tertiary\">\n {I18n.t('core.modal.cancel')}\n </Button>\n )}\n {children}\n </StyledModalButtons>\n )\n})\n\nconst ModalContainer = React.forwardRef<HTMLDivElement, ModalContainerProps>(\n ({ compact = false, placement, width, ...props }, ref) => {\n const { onClose } = React.useContext(ModalCloseContext)\n const modalContainerRef = React.useRef<HTMLDivElement>(null)\n useInitializeModalFocus({ modalContainerRef, hasOnClose: !!onClose })\n\n return (\n <StyledModalContainer\n {...props}\n shadowStrength={4}\n $compact={compact}\n $placement={placement}\n $width={width}\n ref={mergeRefs(ref, modalContainerRef)}\n />\n )\n }\n)\n\nconst ModalBody = React.forwardRef<HTMLDivElement, ModalBodyProps>(\n ({ children, compact = false, noSideSpacing = false, ...props }, ref) => {\n const { isOverflowingY, ref: overflowRef } = useOverflowObserver()\n const scrollRef = React.useRef(null)\n const modalBodyRef = React.useRef(null)\n const { setIsBodyScrolled } = React.useContext(ModalBodyScrollContext)\n const registerChildRef = useModalChildRegistryDispatch()\n\n useEffect(() => {\n registerChildRef({ child: 'body', ref: modalBodyRef })\n }, [])\n\n useLayoutEventListener({\n event: 'scroll',\n handler: (e: React.UIEvent<HTMLElement>) => {\n setIsBodyScrolled(e.currentTarget.scrollTop > 0)\n },\n scope: scrollRef,\n })\n\n return (\n <SectionProvider>\n <LevelContext.Provider value={initialBodyLevel}>\n <StyledModalBody\n {...props}\n $compact={compact}\n $isOverflowingY={isOverflowingY}\n $noSideSpacing={noSideSpacing}\n ref={mergeRefs(overflowRef, scrollRef, ref, modalBodyRef)}\n tabIndex={0}\n >\n {children}\n </StyledModalBody>\n </LevelContext.Provider>\n </SectionProvider>\n )\n }\n)\n\nconst ModalFooterSummary = React.forwardRef<HTMLDivElement, DivAttributes>(\n ({ children, ...props }, ref) => {\n return (\n <StyledModalFooterSummary {...props} ref={ref}>\n {children}\n </StyledModalFooterSummary>\n )\n }\n)\n\nconst ModalFooterNotation = React.forwardRef<\n HTMLSpanElement,\n SpanAttributes & TypographyProps\n>(({ children, ...props }, ref) => (\n <StyledModalFooterNotation\n aria-live=\"polite\"\n intent=\"small\"\n color=\"gray45\"\n italic\n {...props}\n ref={ref}\n >\n {children}\n </StyledModalFooterNotation>\n))\n\nconst Modal_ = React.forwardRef<HTMLDivElement, ModalProps>(\n (\n {\n ['aria-describedby']: ariaDescribedby,\n ['aria-details']: ariaDetails,\n ['aria-labelledby']: ariaLabelledby,\n ['aria-label']: ariaLabel,\n children,\n compact = false,\n howToClose,\n id,\n onClickOverlay = noop,\n onClose,\n open = false,\n placement = 'center',\n role,\n ...props\n },\n ref\n ) => {\n useScrollLock(open)\n const [visible, setVisible] = React.useState<boolean>(open)\n const [fadeType, setFadeType] = React.useState<string>('')\n const closeWithConfirmState = useCloseWithConfirmState()\n const { closeWithConfirm } = closeWithConfirmState\n\n React.useEffect(() => {\n if (open) {\n setVisible(true)\n setTimeout(() => {\n setFadeType(fadeInClassName)\n }, 0)\n } else {\n setFadeType(fadeOutClassName)\n }\n }, [open])\n\n const onTransitionEnd = () => {\n if (fadeType === fadeOutClassName) {\n setVisible(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!onClose) return\n if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n closeWithConfirm(onClose)(e, 'x')\n }\n }\n\n const { dialogProps: dialogProps_ } = useModalDialogLike({\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-labelledby': ariaLabelledby,\n 'aria-label': ariaLabel,\n id,\n isModal: false,\n isOpen: open,\n role,\n })\n\n const dialogProps = onClose && role === 'dialog' ? dialogProps_ : {}\n\n function onClickScrim(\n e: React.ComponentProps<typeof StyledModalScrim>['onClick']\n ) {\n onClickOverlay(e)\n if (onClose && howToClose?.includes('scrim')) {\n closeWithConfirm(onClose)(e, 'scrim')\n }\n }\n\n return visible ? (\n <Portal>\n <ModalCloseContext.Provider value={{ onClose, howToClose }}>\n <LevelContext.Provider value={defaultStartLevel}>\n <ChildRegistryProvider>\n <FocusScope\n // TODO breaking - always\n autoFocus={!!onClose}\n contain={!!onClose}\n restoreFocus={!!onClose}\n >\n <StyledModal\n className={fadeType}\n ref={ref}\n onTransitionEnd={onTransitionEnd}\n onKeyDown={handleKeyDown}\n {...dialogProps}\n >\n <StyledModalScrim onClick={onClickScrim} />\n\n <ModalContainer\n {...props}\n compact={compact}\n placement={placement}\n >\n <StyledModalContent $compact={compact}>\n <ModalBodyScrollObserver>\n <CloseWithConfirmContext.Provider\n value={closeWithConfirmState}\n >\n {children}\n </CloseWithConfirmContext.Provider>\n </ModalBodyScrollObserver>\n </StyledModalContent>\n </ModalContainer>\n </StyledModal>\n </FocusScope>\n </ChildRegistryProvider>\n </LevelContext.Provider>\n </ModalCloseContext.Provider>\n </Portal>\n ) : null\n }\n)\n\nfunction ModalBodyScrollObserver({ children }: { children: React.ReactNode }) {\n const [isBodyScrolled, setIsBodyScrolled] = React.useState<boolean>(false)\n\n return (\n <ModalBodyScrollContext.Provider\n value={{ isBodyScrolled, setIsBodyScrolled }}\n >\n {children}\n </ModalBodyScrollContext.Provider>\n )\n}\n\nexport const ConfirmModal = React.forwardRef<HTMLDivElement, ConfirmModalProps>(\n ({ children, headline, onClose, ...props }, ref) => {\n return (\n <Modal {...props} ref={ref}>\n <ModalClosableHeader onClose={onClose}>\n <StyledModalWarningIcon size=\"lg\" />\n {headline}\n </ModalClosableHeader>\n {children}\n </Modal>\n )\n }\n)\n\nfunction ModalState(props: RenderProps) {\n useDeprecation({ oldThing: 'Modal.State' })\n return <Visibility {...props} />\n}\n\nModal_.displayName = 'Modal'\n\nConfirmModal.displayName = 'ConfirmModal'\n\nModalBody.displayName = 'Modal.Body'\n\nModalFooterNotation.displayName = 'Modal.FooterNotation'\n\nModalFooterSummary.displayName = 'Modal.FooterSummary'\n\nconst Body = ModalBody\nconst Container = ModalContainer\nconst Content = StyledModalContent\nconst FooterSummary = ModalFooterSummary\nconst Footer = StyledModalFooter\nconst FooterButtons = ModalClosableFooterButtons\nconst FooterNotation = ModalFooterNotation\nconst Header = ModalClosableHeader\nconst Overlay = StyledModal\nconst Scrim = StyledModalScrim\nconst State = ModalState\n\n/**\n\n We use modals to present additional actions, information, or forms on pages\n where a user’s experience would benefit from remaining on the same page.\n They can include graphics, inputs, buttons, and other elements as needed to\n produce the workflow or action needed.\n\n Do not include modals on pages with complicated UI layouts.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-modal--demo)\n\n @see [Design Guidelines](https://design.procore.com/modal)\n\n */\nexport const Modal = addSubcomponents(\n {\n Body,\n Container,\n Content,\n Footer,\n FooterButtons,\n FooterNotation,\n FooterSummary,\n Header,\n Heading: Heading,\n Overlay,\n Scrim,\n State,\n Section,\n },\n Modal_\n)\n"],"mappings":"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"}
@@ -20,8 +20,8 @@ export declare const StyledModalContainer: import("styled-components").StyledCom
20
20
  export declare const StyledModalFooter: import("styled-components").StyledComponent<"div", any, {}, never>;
21
21
  export declare const StyledModalBody: import("styled-components").StyledComponent<"div", any, {
22
22
  $compact: boolean;
23
- isOverflowingY: boolean;
24
- noSideSpacing: boolean;
23
+ $isOverflowingY: boolean;
24
+ $noSideSpacing: boolean;
25
25
  }, never>;
26
26
  export declare const StyledModalContent: import("styled-components").StyledComponent<"div", any, {
27
27
  $compact?: boolean | undefined;
@@ -31,15 +31,15 @@ var screenWidthPixelBreakpoints = {
31
31
  };
32
32
  export var StyledModal = /*#__PURE__*/styled.div.withConfig({
33
33
  displayName: "StyledModal",
34
- componentId: "core-12_14_0__sc-1ijdug2-0"
35
- })(["display:flex;height:100vh;position:absolute;opacity:0;transition:0.3s opacity ease;width:100vw;z-index:0;&.", "{opacity:1;}&.", "{opacity:0;}"], fadeInClassName, fadeOutClassName);
34
+ componentId: "core-12_16_0__sc-1ijdug2-0"
35
+ })(["display:flex;height:100vh;position:absolute;opacity:0;transition:0.3s opacity ease;width:100vw;z-index:0;pointer-events:none;&.", "{opacity:1;pointer-events:auto;}&.", "{opacity:0;pointer-events:none;}"], fadeInClassName, fadeOutClassName);
36
36
  export var StyledModalButtons = /*#__PURE__*/styled.div.withConfig({
37
37
  displayName: "StyledModalButtons",
38
- componentId: "core-12_14_0__sc-1ijdug2-1"
38
+ componentId: "core-12_16_0__sc-1ijdug2-1"
39
39
  })(["display:flex;flex:0 0 auto;margin-left:", "px;> * + *{margin-left:", "px;}"], spacing.lg, spacing.sm);
40
40
  export var StyledModalContainer = /*#__PURE__*/styled(Card).withConfig({
41
41
  displayName: "StyledModalContainer",
42
- componentId: "core-12_14_0__sc-1ijdug2-2"
42
+ componentId: "core-12_16_0__sc-1ijdug2-2"
43
43
  })(["display:flex;flex-direction:row;position:absolute;z-index:2;", " ", " ", ""], function (_ref) {
44
44
  var $compact = _ref.$compact;
45
45
  if (!$compact) {
@@ -63,14 +63,14 @@ export var StyledModalContainer = /*#__PURE__*/styled(Card).withConfig({
63
63
  });
64
64
  export var StyledModalFooter = /*#__PURE__*/styled.div.withConfig({
65
65
  displayName: "StyledModalFooter",
66
- componentId: "core-12_14_0__sc-1ijdug2-3"
66
+ componentId: "core-12_16_0__sc-1ijdug2-3"
67
67
  })(["align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;padding:", "px ", "px ", "px;"], spacing.xl, spacing.xxl, spacing.xxl);
68
68
  export var StyledModalBody = /*#__PURE__*/styled.div.withConfig({
69
69
  displayName: "StyledModalBody",
70
- componentId: "core-12_14_0__sc-1ijdug2-4"
70
+ componentId: "core-12_16_0__sc-1ijdug2-4"
71
71
  })(["", " box-sizing:border-box;color:", ";display:flex;flex-direction:column;overflow:auto;", " ", " > ", "{padding-left:0;padding-right:0;&:first-child > ", "{padding-top:0;}}", ""], getTypographyIntent('body'), colors.gray15, function (_ref4) {
72
- var noSideSpacing = _ref4.noSideSpacing;
73
- return css(["padding:", "px ", "px;"], spacing.xl, noSideSpacing ? 0 : spacing.xxl);
72
+ var $noSideSpacing = _ref4.$noSideSpacing;
73
+ return css(["padding:", "px ", "px;"], spacing.xl, $noSideSpacing ? 0 : spacing.xxl);
74
74
  }, function (_ref5) {
75
75
  var $compact = _ref5.$compact;
76
76
  if (!$compact) {
@@ -79,12 +79,12 @@ export var StyledModalBody = /*#__PURE__*/styled.div.withConfig({
79
79
  }
80
80
  return css(["padding:8px 16px;"]);
81
81
  }, StyledSection, StyledSectionInner, function (_ref6) {
82
- var isOverflowingY = _ref6.isOverflowingY;
83
- return isOverflowingY && css(["& + ", "{border-top-width:1px;border-top-style:solid;border-top-color:", ";", "{border-top:none;}}"], StyledModalFooter, colors.gray85, StyledModalFooterSummary);
82
+ var $isOverflowingY = _ref6.$isOverflowingY;
83
+ return $isOverflowingY && css(["& + ", "{border-top-width:1px;border-top-style:solid;border-top-color:", ";", "{border-top:none;}}"], StyledModalFooter, colors.gray85, StyledModalFooterSummary);
84
84
  });
85
85
  export var StyledModalContent = /*#__PURE__*/styled.div.withConfig({
86
86
  displayName: "StyledModalContent",
87
- componentId: "core-12_14_0__sc-1ijdug2-5"
87
+ componentId: "core-12_16_0__sc-1ijdug2-5"
88
88
  })(["display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:100%;", ""], function (_ref7) {
89
89
  var _ref7$$compact = _ref7.$compact,
90
90
  $compact = _ref7$$compact === void 0 ? false : _ref7$$compact;
@@ -95,11 +95,11 @@ export var StyledModalContent = /*#__PURE__*/styled.div.withConfig({
95
95
  });
96
96
  export var StyledModalFooterNotation = /*#__PURE__*/styled(Typography).withConfig({
97
97
  displayName: "StyledModalFooterNotation",
98
- componentId: "core-12_14_0__sc-1ijdug2-6"
98
+ componentId: "core-12_16_0__sc-1ijdug2-6"
99
99
  })(["flex-grow:1;"]);
100
100
  export var StyledModalHeader = /*#__PURE__*/styled.div.withConfig({
101
101
  displayName: "StyledModalHeader",
102
- componentId: "core-12_14_0__sc-1ijdug2-7"
102
+ componentId: "core-12_16_0__sc-1ijdug2-7"
103
103
  })(["align-items:flex-start;color:", ";display:flex;flex:0 0 auto;position:relative;", " ", ""], colors.gray10, function (_ref8) {
104
104
  var $compact = _ref8.$compact,
105
105
  $isBodyScrolled = _ref8.$isBodyScrolled;
@@ -117,7 +117,7 @@ export var StyledModalHeader = /*#__PURE__*/styled.div.withConfig({
117
117
  });
118
118
  export var StyledModalHeading = /*#__PURE__*/styled.div.withConfig({
119
119
  displayName: "StyledModalHeading",
120
- componentId: "core-12_14_0__sc-1ijdug2-8"
120
+ componentId: "core-12_16_0__sc-1ijdug2-8"
121
121
  })(["", " align-items:center;display:flex;flex:1 1 auto;min-height:36px;padding-right:", "px;", ""], function (_ref10) {
122
122
  var $compact = _ref10.$compact;
123
123
  return getTypographyIntent($compact ? 'h3' : 'h2');
@@ -133,18 +133,18 @@ export var StyledModalHeading = /*#__PURE__*/styled.div.withConfig({
133
133
  });
134
134
  export var StyledModalCancel = /*#__PURE__*/styled.div.withConfig({
135
135
  displayName: "StyledModalCancel",
136
- componentId: "core-12_14_0__sc-1ijdug2-9"
136
+ componentId: "core-12_16_0__sc-1ijdug2-9"
137
137
  })(["flex:0 0 auto;"]);
138
138
  export var StyledModalScrim = /*#__PURE__*/styled.div.withConfig({
139
139
  displayName: "StyledModalScrim",
140
- componentId: "core-12_14_0__sc-1ijdug2-10"
140
+ componentId: "core-12_16_0__sc-1ijdug2-10"
141
141
  })(["background:hsla(200,8%,10%,0.6);height:100vh;left:0;position:absolute;top:0;width:100vw;z-index:1;"]);
142
142
  export var StyledModalWarningIcon = /*#__PURE__*/styled(Warning).withConfig({
143
143
  displayName: "StyledModalWarningIcon",
144
- componentId: "core-12_14_0__sc-1ijdug2-11"
144
+ componentId: "core-12_16_0__sc-1ijdug2-11"
145
145
  })(["color:", ";margin-right:", "px;"], colors.yellow40, spacing.sm);
146
146
  export var StyledModalFooterSummary = /*#__PURE__*/styled.div.withConfig({
147
147
  displayName: "StyledModalFooterSummary",
148
- componentId: "core-12_14_0__sc-1ijdug2-12"
148
+ componentId: "core-12_16_0__sc-1ijdug2-12"
149
149
  })(["", " border-top:1px solid ", ";border-bottom:1px solid ", ";padding:", "px ", "px;color:", ";font-style:italic;background-color:", ";margin:-", "px -", "px ", "px -", "px;flex:1 1 100%;"], getTypographyIntent('small'), colors.gray85, colors.gray85, spacing.md, spacing.xxl, colors.gray15, colors.gray98, spacing.xl, spacing.xxl, spacing.xl, spacing.xxl);
150
150
  //# sourceMappingURL=Modal.styles.js.map