@procore/core-react 12.44.0 → 12.46.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 (289) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.js +12 -8
  3. package/dist/AnchorNavigation/AnchorNavigation.js.map +1 -1
  4. package/dist/AnchorNavigation/AnchorNavigation.styles.js +5 -5
  5. package/dist/AnchorNavigation/AnchorNavigation.styles.js.map +1 -1
  6. package/dist/AnchorNavigation/AnchorNavigation.types.d.ts +1 -0
  7. package/dist/AnchorNavigation/AnchorNavigation.types.js.map +1 -1
  8. package/dist/Avatar/Avatar.styles.js +5 -5
  9. package/dist/AvatarStack/AvatarStack.js +3 -1
  10. package/dist/AvatarStack/AvatarStack.js.map +1 -1
  11. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  12. package/dist/Badge/Badge.styles.js +2 -2
  13. package/dist/BadgePill/BadgePill.styles.js +4 -4
  14. package/dist/Banner/Banner.styles.js +10 -10
  15. package/dist/Box/Box.styles.js +1 -1
  16. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  17. package/dist/Button/Button.styles.js +5 -5
  18. package/dist/Button/Button.types.d.ts +5 -0
  19. package/dist/Button/Button.types.js.map +1 -1
  20. package/dist/Calendar/Calendar.styles.js +9 -9
  21. package/dist/Card/Card.styles.js +1 -1
  22. package/dist/Checkbox/Checkbox.styles.js +6 -6
  23. package/dist/ContactItem/ContactItem.styles.js +5 -5
  24. package/dist/Content/Content.styles.js +2 -2
  25. package/dist/DateInput/DateInput.styles.js +6 -6
  26. package/dist/DetailPage/DetailPage.styles.js +7 -7
  27. package/dist/Dropdown/Dropdown.js +5 -2
  28. package/dist/Dropdown/Dropdown.js.map +1 -1
  29. package/dist/Dropdown/Dropdown.styles.js +3 -3
  30. package/dist/Dropdown/Dropdown.types.d.ts +1 -1
  31. package/dist/Dropdown/Dropdown.types.js.map +1 -1
  32. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  33. package/dist/Dropzone/Dropzone.js +1 -1
  34. package/dist/Dropzone/Dropzone.styles.js +9 -9
  35. package/dist/EmptyState/EmptyState.d.ts +3 -5
  36. package/dist/EmptyState/EmptyState.js.map +1 -1
  37. package/dist/EmptyState/EmptyState.styles.d.ts +2 -2
  38. package/dist/EmptyState/EmptyState.styles.js +10 -10
  39. package/dist/EmptyState/EmptyState.styles.js.map +1 -1
  40. package/dist/EmptyState/EmptyState.types.d.ts +11 -0
  41. package/dist/EmptyState/EmptyState.types.js.map +1 -1
  42. package/dist/Field/Field.styles.js +3 -3
  43. package/dist/FileList/FileList.styles.js +3 -3
  44. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  45. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  46. package/dist/FileSelect/FileSelect.styles.js +2 -2
  47. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  48. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  49. package/dist/FileSelect/GridSource/GridSource.js +1 -0
  50. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  51. package/dist/FileSelect/GridSource/GridSource.styles.d.ts +2 -4
  52. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  53. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  54. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  55. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  56. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  57. package/dist/FileToken/FileToken.styles.js +6 -6
  58. package/dist/FilterToken/FilterToken.styles.js +5 -5
  59. package/dist/FlexList/FlexList.styles.js +1 -1
  60. package/dist/Form/Form.js +11 -4
  61. package/dist/Form/Form.js.map +1 -1
  62. package/dist/Form/Form.styles.d.ts +518 -8
  63. package/dist/Form/Form.styles.js +15 -15
  64. package/dist/Form/Form.styles.js.map +1 -1
  65. package/dist/Form/Form.types.d.ts +2 -3
  66. package/dist/Form/Form.types.js.map +1 -1
  67. package/dist/Form/StyledFormikForm.styles.js +2 -2
  68. package/dist/Form/stories/util.js +3 -14
  69. package/dist/Form/stories/util.js.map +1 -1
  70. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  71. package/dist/Grid/Grid.styles.js +2 -2
  72. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  73. package/dist/Input/Input.styles.js +1 -1
  74. package/dist/Link/Link.styles.js +1 -1
  75. package/dist/ListPage/ListPage.styles.js +8 -8
  76. package/dist/Loader/Loader.styles.js +2 -2
  77. package/dist/MenuImperative/MenuImperative.js +6 -4
  78. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  79. package/dist/MenuImperative/MenuImperative.styles.js +13 -13
  80. package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
  81. package/dist/MenuImperative/MenuImperative.types.d.ts +2 -4
  82. package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
  83. package/dist/Modal/Modal.styles.js +13 -13
  84. package/dist/MultiSelect/MultiSelect.js +0 -2
  85. package/dist/MultiSelect/MultiSelect.js.map +1 -1
  86. package/dist/MultiSelect/MultiSelect.styles.js +8 -8
  87. package/dist/NextMenu/NextMenu.styles.js +3 -3
  88. package/dist/Notation/Notation.js +1 -1
  89. package/dist/NumberInput/NumberInput.styles.js +7 -7
  90. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  91. package/dist/OverlayTrigger/OverlayTrigger.js +6 -0
  92. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  93. package/dist/PageLayout/PageLayout.styles.js +16 -16
  94. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  95. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  96. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  97. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  98. package/dist/Pagination/Pagination.styles.js +5 -5
  99. package/dist/Panel/Panel.styles.js +11 -11
  100. package/dist/Pill/Pill.styles.js +3 -3
  101. package/dist/PillSelect/PillSelect.js +0 -1
  102. package/dist/PillSelect/PillSelect.js.map +1 -1
  103. package/dist/PillSelect/PillSelect.styles.js +4 -4
  104. package/dist/Popover/Popover.styles.js +2 -2
  105. package/dist/Portal/Portal.styles.js +1 -1
  106. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  107. package/dist/RadioButton/RadioButton.styles.js +3 -3
  108. package/dist/Required/Required.styles.js +3 -3
  109. package/dist/Search/Search.styles.js +5 -5
  110. package/dist/Section/Section.styles.js +7 -7
  111. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  112. package/dist/Select/Select.js +2 -1
  113. package/dist/Select/Select.js.map +1 -1
  114. package/dist/Select/Select.styles.js +8 -8
  115. package/dist/Semantic/Semantic.styles.js +9 -9
  116. package/dist/Slider/Slider.js +4 -1
  117. package/dist/Slider/Slider.js.map +1 -1
  118. package/dist/Slider/Slider.styles.d.ts +5 -1
  119. package/dist/Slider/Slider.styles.js +16 -11
  120. package/dist/Slider/Slider.styles.js.map +1 -1
  121. package/dist/Spinner/Spinner.styles.js +7 -7
  122. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  123. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  124. package/dist/SuperSelect/SuperSelect.styles.js +39 -39
  125. package/dist/Switch/Switch.styles.js +4 -4
  126. package/dist/Table/OverdueContext.d.ts +4 -0
  127. package/dist/Table/OverdueContext.js +10 -0
  128. package/dist/Table/OverdueContext.js.map +1 -0
  129. package/dist/Table/OverdueContext.types.d.ts +6 -0
  130. package/dist/Table/OverdueContext.types.js +2 -0
  131. package/dist/Table/OverdueContext.types.js.map +1 -0
  132. package/dist/Table/Table.js +76 -23
  133. package/dist/Table/Table.js.map +1 -1
  134. package/dist/Table/Table.styles.d.ts +19 -9
  135. package/dist/Table/Table.styles.js +67 -56
  136. package/dist/Table/Table.styles.js.map +1 -1
  137. package/dist/Table/Table.types.d.ts +7 -0
  138. package/dist/Table/Table.types.js.map +1 -1
  139. package/dist/TableShelf/TableShelf.styles.js +5 -5
  140. package/dist/Tabs/Tabs.js +41 -28
  141. package/dist/Tabs/Tabs.js.map +1 -1
  142. package/dist/Tabs/Tabs.styles.d.ts +6 -0
  143. package/dist/Tabs/Tabs.styles.js +29 -20
  144. package/dist/Tabs/Tabs.styles.js.map +1 -1
  145. package/dist/Tabs/Tabs.types.d.ts +8 -0
  146. package/dist/Tabs/Tabs.types.js.map +1 -1
  147. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  148. package/dist/TextArea/TextArea.styles.js +1 -1
  149. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  150. package/dist/Thumbnail/Thumbnail.js +4 -0
  151. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  152. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  153. package/dist/Thumbnail/Thumbnail.types.d.ts +12 -0
  154. package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
  155. package/dist/Thumbnail/ThumbnailCaption.d.ts +1 -1
  156. package/dist/Thumbnail/ThumbnailCaption.js +15 -7
  157. package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
  158. package/dist/ThumbnailGrid/ThumbnailGrid.d.ts +1 -1
  159. package/dist/ThumbnailGrid/ThumbnailGrid.js +14 -4
  160. package/dist/ThumbnailGrid/ThumbnailGrid.js.map +1 -1
  161. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  162. package/dist/ThumbnailGrid/ThumbnailGrid.types.d.ts +34 -6
  163. package/dist/ThumbnailGrid/ThumbnailGrid.types.js.map +1 -1
  164. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  165. package/dist/Tile/Tile.styles.js +8 -8
  166. package/dist/Title/Title.styles.js +7 -7
  167. package/dist/Toast/Toast.styles.js +3 -3
  168. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  169. package/dist/Token/Token.js +20 -4
  170. package/dist/Token/Token.js.map +1 -1
  171. package/dist/Token/Token.styles.d.ts +2 -0
  172. package/dist/Token/Token.styles.js +14 -5
  173. package/dist/Token/Token.styles.js.map +1 -1
  174. package/dist/Token/Token.types.d.ts +3 -1
  175. package/dist/Token/Token.types.js.map +1 -1
  176. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  177. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  178. package/dist/Tooltip/Tooltip.js +23 -18
  179. package/dist/Tooltip/Tooltip.js.map +1 -1
  180. package/dist/Tooltip/Tooltip.styles.js +3 -3
  181. package/dist/Tree/Tree.js +1 -1
  182. package/dist/Tree/Tree.styles.js +10 -10
  183. package/dist/Typeahead/Typeahead.styles.js +3 -3
  184. package/dist/Typography/Typography.styles.js +1 -1
  185. package/dist/Typography/Typography.table.story.js +2 -2
  186. package/dist/_hooks/I18n.d.ts +782 -30
  187. package/dist/_locales/de-DE.json +22 -2
  188. package/dist/_locales/en-AU.json +22 -2
  189. package/dist/_locales/en-CA.json +22 -2
  190. package/dist/_locales/en-GB.json +22 -2
  191. package/dist/_locales/en.json +4 -1
  192. package/dist/_locales/es-ES.json +23 -3
  193. package/dist/_locales/es.json +22 -2
  194. package/dist/_locales/fr-CA.json +23 -3
  195. package/dist/_locales/fr-FR.json +28 -8
  196. package/dist/_locales/is-IS.json +22 -2
  197. package/dist/_locales/it-IT.json +23 -3
  198. package/dist/_locales/ja-JP.json +23 -3
  199. package/dist/_locales/nb-NO.json +412 -1
  200. package/dist/_locales/pl-PL.json +22 -2
  201. package/dist/_locales/pseudo.json +4 -1
  202. package/dist/_locales/pt-BR.json +22 -2
  203. package/dist/_locales/pt-PT.json +27 -7
  204. package/dist/_locales/th-TH.json +22 -2
  205. package/dist/_locales/zh-SG.json +22 -2
  206. package/dist/_locales/zh-TW.json +25 -5
  207. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  208. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  209. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +4 -4
  210. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  211. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +25 -25
  212. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  213. package/dist/_typedoc/Banner/Banner.types.json +15 -15
  214. package/dist/_typedoc/Box/Box.types.json +68 -68
  215. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  216. package/dist/_typedoc/Button/Button.types.json +24 -13
  217. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  218. package/dist/_typedoc/Card/Card.types.json +6 -6
  219. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  220. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  221. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  222. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  223. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  224. package/dist/_typedoc/Dropdown/Dropdown.types.json +50 -38
  225. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +31 -31
  226. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  227. package/dist/_typedoc/EmptyState/EmptyState.types.json +39 -16
  228. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  229. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  230. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  231. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  232. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  233. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  234. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  235. package/dist/_typedoc/Form/Form.types.json +824 -824
  236. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  237. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  238. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +54 -54
  239. package/dist/_typedoc/Input/Input.types.json +2 -2
  240. package/dist/_typedoc/Link/Link.types.json +1 -1
  241. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  242. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  243. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +90 -88
  244. package/dist/_typedoc/Modal/Modal.types.json +48 -48
  245. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +33 -33
  246. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  247. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  248. package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
  249. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +33 -33
  250. package/dist/_typedoc/PageLayout/PageLayout.types.json +28 -28
  251. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  252. package/dist/_typedoc/Panel/Panel.types.json +38 -27
  253. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  254. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  255. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  256. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  257. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  258. package/dist/_typedoc/Required/Required.types.json +5 -5
  259. package/dist/_typedoc/Search/Search.types.json +18 -18
  260. package/dist/_typedoc/Section/Section.types.json +15 -15
  261. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  262. package/dist/_typedoc/Select/Select.types.json +67 -67
  263. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  264. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  265. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  266. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  267. package/dist/_typedoc/Table/Table.types.json +122 -102
  268. package/dist/_typedoc/Tabs/Tabs.types.json +23 -22
  269. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  270. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  271. package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
  272. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  273. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  274. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
  275. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
  276. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  277. package/dist/_typedoc/Title/Title.types.json +1 -1
  278. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  279. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  280. package/dist/_typedoc/Token/Token.types.json +11 -11
  281. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  282. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
  283. package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
  284. package/dist/_typedoc/Tree/Tree.types.json +88 -88
  285. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  286. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  287. package/dist/_typedoc/_utils/types.json +3 -3
  288. package/dist/_typedoc/deprecations.json +1 -1
  289. package/package.json +1 -1
@@ -3,19 +3,19 @@ import { colors } from '../_styles/colors';
3
3
  import { spacing } from '../_styles/spacing';
4
4
  export var StyledListPageMain = /*#__PURE__*/styled.div.withConfig({
5
5
  displayName: "StyledListPageMain",
6
- componentId: "core-12_44_0__sc-1eq7fzi-0"
6
+ componentId: "core-12_46_0__sc-1eq7fzi-0"
7
7
  })(["display:flex;flex:1 0 auto;flex-direction:column;min-width:0;padding:", "px ", "px;width:100%;"], spacing.lg, spacing.xl);
8
8
  export var StyledListPageBanner = /*#__PURE__*/styled.div.withConfig({
9
9
  displayName: "StyledListPageBanner",
10
- componentId: "core-12_44_0__sc-1eq7fzi-1"
10
+ componentId: "core-12_46_0__sc-1eq7fzi-1"
11
11
  })(["flex:0 0 auto;"]);
12
12
  export var StyledListPageToolHeader = /*#__PURE__*/styled.div.withConfig({
13
13
  displayName: "StyledListPageToolHeader",
14
- componentId: "core-12_44_0__sc-1eq7fzi-2"
14
+ componentId: "core-12_46_0__sc-1eq7fzi-2"
15
15
  })(["flex:0 0 auto;padding-bottom:", "px;"], spacing.lg);
16
16
  export var StyledListPageControl = /*#__PURE__*/styled.div.withConfig({
17
17
  displayName: "StyledListPageControl",
18
- componentId: "core-12_44_0__sc-1eq7fzi-3"
18
+ componentId: "core-12_46_0__sc-1eq7fzi-3"
19
19
  })(["flex:", ";", " ", ""], function (_ref) {
20
20
  var $block = _ref.$block;
21
21
  return $block ? '1 0 auto' : '0 0 auto';
@@ -32,18 +32,18 @@ export var StyledListPageControl = /*#__PURE__*/styled.div.withConfig({
32
32
  });
33
33
  export var StyledListPageContentControls = /*#__PURE__*/styled.div.withConfig({
34
34
  displayName: "StyledListPageContentControls",
35
- componentId: "core-12_44_0__sc-1eq7fzi-4"
35
+ componentId: "core-12_46_0__sc-1eq7fzi-4"
36
36
  })(["align-items:center;display:flex;flex:0 0 auto;justify-content:space-between;padding:", "px 0;", " + ", "{margin-left:", "px;}"], spacing.md, StyledListPageControl, StyledListPageControl, spacing.lg);
37
37
  export var StyledListPageBody = /*#__PURE__*/styled.div.withConfig({
38
38
  displayName: "StyledListPageBody",
39
- componentId: "core-12_44_0__sc-1eq7fzi-5"
39
+ componentId: "core-12_46_0__sc-1eq7fzi-5"
40
40
  })(["display:flex;flex:1 0 auto;padding-top:", "px;"], spacing.md);
41
41
  export var StyledListPageBodyContent = /*#__PURE__*/styled.div.withConfig({
42
42
  displayName: "StyledListPageBodyContent",
43
- componentId: "core-12_44_0__sc-1eq7fzi-6"
43
+ componentId: "core-12_46_0__sc-1eq7fzi-6"
44
44
  })(["flex:1 1 auto;"]);
45
45
  export var StyledListPage = /*#__PURE__*/styled.div.withConfig({
46
46
  displayName: "StyledListPage",
47
- componentId: "core-12_44_0__sc-1eq7fzi-7"
47
+ componentId: "core-12_46_0__sc-1eq7fzi-7"
48
48
  })(["display:flex;flex-direction:row;height:100%;width:100%;", " + ", "{padding-top:", "px;}", " + ", "{border-top-color:", ";border-top-style:solid;border-top-width:1px;}", " + ", ",", " + ", "{border-top-color:", ";border-top-style:solid;border-top-width:1px;}", " + ", "{padding-top:0;}"], StyledListPageBanner, StyledListPageToolHeader, spacing.lg, StyledListPageContentControls, StyledListPageContentControls, colors.gray85, StyledListPageToolHeader, StyledListPageContentControls, StyledListPageToolHeader, StyledListPageBody, colors.gray85, StyledListPageContentControls, StyledListPageBody);
49
49
  //# sourceMappingURL=ListPage.styles.js.map
@@ -7,11 +7,11 @@ export var loaderTransitionDuration = 250;
7
7
  var movingStripes = /*#__PURE__*/keyframes(["from{background-position:", "px 0;}100%{background-position:0 ", "px;}"], backgroundSize, backgroundSize);
8
8
  export var StyledLoader = /*#__PURE__*/styled.div.withConfig({
9
9
  displayName: "StyledLoader",
10
- componentId: "core-12_44_0__sc-wgvjj9-0"
10
+ componentId: "core-12_46_0__sc-wgvjj9-0"
11
11
  })(["display:block;height:100%;left:0;min-width:12px;position:absolute;transition:width ", "ms ease-out;top:0;"], loaderTransitionDuration);
12
12
  export var StyledGradient = /*#__PURE__*/styled.div.withConfig({
13
13
  displayName: "StyledGradient",
14
- componentId: "core-12_44_0__sc-wgvjj9-1"
14
+ componentId: "core-12_46_0__sc-wgvjj9-1"
15
15
  })(["height:100%;", ""], function (_ref) {
16
16
  var $animated = _ref.$animated;
17
17
  return $animated ? css(["@media (prefers-reduced-motion:no-preference){animation:", " 0.5s linear infinite;}background-image:linear-gradient( 45deg,", " 26%,", " 25%,", " 51%,", " 50%,", " 76%,", " 75%,", " );background-size:", "px ", "px;"], movingStripes, color1, color2, color2, color1, color1, color2, color2, backgroundSize, backgroundSize) : css(["background-color:", ";"], colors.blue50);
@@ -569,11 +569,14 @@ export var CheckboxItem = /*#__PURE__*/React.forwardRef(function CheckboxItem(_r
569
569
  }, children));
570
570
  });
571
571
  export var Options = /*#__PURE__*/React.forwardRef(function Options(props, ref) {
572
+ var _props$role;
572
573
  var ctx = useMenuContext();
573
574
  var i18n = useI18nContext();
574
575
  return /*#__PURE__*/React.createElement(StyledOptions, _extends({
575
576
  "aria-label": i18n.t('core.menuImperative.options.ariaLabel')
576
577
  }, props, ctx.a11yOptionsProps, {
578
+ // @ts-expect-error - JavaScript, Core-React use only for Tab
579
+ role: (_props$role = props.role) !== null && _props$role !== void 0 ? _props$role : ctx.a11yOptionsProps.role,
577
580
  "data-internal": "menuimperative-options",
578
581
  ref: ref,
579
582
  onScroll: ctx.onScrollBottom
@@ -600,14 +603,13 @@ export var Search = function Search(_ref7) {
600
603
  }
601
604
  _onChange === null || _onChange === void 0 ? void 0 : _onChange(event);
602
605
  }, [_onChange, isControlled]);
603
-
604
- // intentionally changed to type text + searchbox,
605
- // voiceOver focus goes to clear button when no results in Chrome
606
606
  return /*#__PURE__*/React.createElement(StyledSearch, {
607
607
  className: className
608
608
  }, /*#__PURE__*/React.createElement(Typeahead, _extends({}, props, {
609
609
  type: "text",
610
- role: "searchbox",
610
+ role: "combobox",
611
+ "aria-haspopup": "listbox",
612
+ "aria-expanded": true,
611
613
  autoFocus: true,
612
614
  placeholder: placeholder || I18n.t('search', {
613
615
  scope: i18nScope
@@ -1 +1 @@
1
- {"version":3,"file":"MenuImperative.js","names":["DragDropContext","Draggable","Droppable","DndDroppable","Grip","useLabel","useId","React","isValidElement","useEffect","useMemo","useState","flushSync","Checkbox","FakeCheckbox","Typeahead","useI18nContext","useZIndexContext","colors","addSubcomponents","mergeRefs","StyledDroppable","StyledFooter","StyledGrip","StyledGroup","StyledGroupLabel","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","createSensors","onScrollBottomThreshold","findGroupByDroppableId","container","droppableId","droppable","querySelector","concat","group","closest","noop","isScrolledToBottom","e","currentTarget","HTMLElement","scrollTop","scrollHeight","clientHeight","MenuContext","createContext","a11yOptionsProps","currentlyDroppableIn","dndInstructionsId","onHoverItem","onFocusItem","onBlurItem","onScrollBottom","onSelect","role","useMenuContext","context","useContext","Error","IsInsideDroppableContext","useIsInsideDroppable","useMenuImperativeControlNavigation","ref","enable","arguments","length","undefined","options","_id","menuId","id","_React$useState","_React$useState2","_slicedToArray","activeDescendant","setActiveDescendant","_useState","_useState2","onKeyDown","setOnKeyDown","_ref$current","current","defaultKeyDownNavigationHandler","menuNavigationTriggerProps","menuProps","onChangeActiveDescendant","changeAriaActiveDescendantOnOptions","menuRef","setAttribute","MenuImperative_","forwardRef","Menu","_ref","_ref$circular","circular","_ref$onDragEnd","onDragEnd","onDragEnd_","_ref$onScrollBottom","onScrollBottom_","_ref$onSelect","onSelect_","_ref$role","onKeyboardNavigation_","onKeyboardNavigation","multiple","props","_objectWithoutProperties","_excluded","useRef","_useState3","_useState4","setCurrentlyDroppableIn","i18n","useCallback","selection","onChangeHighlight","_useMemo","handleItemHover","handleItemFocus","handleItemBlur","handleKeyDown","highlight","highlighted","highlightFirst","highlightLast","highlightSelected","highlightSuggested","rehighlightCurrent","prev","next","select","updateSelectCallback","setIsDragging","commonA11yOptionProps","_defineProperty","_objectSpread","tabIndex","useImperativeHandle","el","onDragStart","start","provided","_findGroupByDroppable","_findGroupByDroppable2","itemInfo","JSON","parse","draggableId","droppableIn","startPosition","source","index","startGroupTitle","getAttribute","announcement","t","announce","onDragUpdate","_update","_findGroupByDroppable3","_findGroupByDroppable4","_update$destination","_findGroupByDroppable5","_findGroupByDroppable6","endPosition","destination","endGroupTitle","result","_result$destination","_findGroupByDroppable7","_findGroupByDroppable8","reason","createElement","Provider","value","hidden","Group","_ref2","clickable","_ref2$item","item","label","labelId","children","_excluded2","_useLabel","labelElementType","fieldProps","labelProps","_extends","stringify","findDraggableRecursively","nodeChildren","Children","toArray","i","child","matchingChild","_ref3","_excluded3","ctx","cloneZIndex","renderItemClone","_snapshot","rubric","_draggingChild$props","draggableInfo","draggingChild","cloneProps","ClonedItem","hasCheckbox","type","CheckboxItem","isDropDisabled","includes","renderClone","snapshot","innerRef","placeholder","_ref4","_ref4$hasCheckbox","_ref4$children","_ref4$selected","selected","_excluded4","itemProps","$selected","itemChildren","indeterminate","error","checked","onChange","draggableProps","dragHandleProps","$isDraggable","$isDragging","style","zIndex","color","gray45","Item","_ref5","as","_ref5$children","_ref5$item","_ref5$onClick","onClick","onClick_","_ref5$selected","_ref5$suggested","suggested","_ref5$disabled","disabled","restoreFocus","draggableIndex","_excluded5","isInsideDroppable","event","action","contextRole","ariaSelected","ariaDescribedBy","onMouseMove","onFocus","onBlur","$disabled","droppableInfo","Array","isArray","isDragDisabled","_ref6","_ref6$selected","_ref6$disabled","_ref6$error","_ref6$indeterminate","_ref6$children","_excluded6","ariaChecked","Options","onScroll","Search","_ref7","className","_ref7$i18nScope","i18nScope","_onChange","valueProp","_excluded7","I18n","isControlled","_React$useState3","_React$useState4","internalValue","setInternalValue","autoFocus","scope","Header","_ref8","_objectDestructuringEmpty","Footer","_ref9","_ref9$padding","padding","_excluded8","displayName","MenuImperative"],"sources":["../../src/MenuImperative/MenuImperative.tsx"],"sourcesContent":["import type {\n DraggableProvided,\n DraggableRubric,\n DraggableStateSnapshot,\n DragStart,\n DragUpdate,\n DroppableProvided,\n DroppableStateSnapshot,\n DropResult,\n ResponderProvided,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport {\n DragDropContext,\n Draggable,\n Droppable as DndDroppable,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport { Grip } from '@procore/core-icons/dist'\nimport { useLabel } from '@react-aria/label'\nimport { useId } from '@react-aria/utils'\nimport React, { isValidElement, useEffect, useMemo, useState } from 'react'\nimport { flushSync } from 'react-dom'\nimport type { CheckboxProps } from '../Checkbox'\nimport { Checkbox, FakeCheckbox } from '../Checkbox/Checkbox'\nimport type { TypeaheadProps } from '../Typeahead'\nimport { Typeahead } from '../Typeahead'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { colors } from '../_styles/colors'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { PolymorphicAs } from '../_utils/polymorphic'\nimport {\n StyledDroppable,\n StyledFooter,\n StyledGrip,\n StyledGroup,\n StyledGroupLabel,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from './MenuImperative.styles'\nimport type {\n ControlNavigationProps,\n ControlNavigationReturn,\n DroppableProps,\n FooterProps,\n GroupProps,\n HeaderProps,\n ItemProps,\n ItemWithDraggingProps,\n MenuContext as IMenuContext,\n MenuItemDefaultElement,\n MenuItemProps,\n MenuProps,\n MenuRef,\n MenuSearchProps,\n OptionsProps,\n Selection,\n} from './MenuImperative.types'\nimport { createSensors } from './sensors'\n\nconst onScrollBottomThreshold = 8\n\n/**\n * Finds the group element for a given droppable ID (from DnD result).\n * Locates the Droppable via data-droppable-id, then returns its parent Group\n * (ancestor with data-group=\"true\") so we can read data-title for announcements.\n */\nfunction findGroupByDroppableId(\n container: HTMLElement | null,\n droppableId: string\n): HTMLElement | null {\n const droppable = container?.querySelector<HTMLElement>(\n `[data-droppable-id=\"${droppableId}\"]`\n )\n if (!droppable) return null\n const group = droppable.closest<HTMLElement>('[data-group=\"true\"]')\n return group ?? null\n}\n\nfunction noop() {}\n\nfunction isScrolledToBottom(e: React.UIEvent<HTMLDivElement, UIEvent>) {\n return (\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n )\n}\n\nexport const MenuContext = React.createContext<IMenuContext>({\n a11yOptionsProps: {},\n currentlyDroppableIn: [],\n dndInstructionsId: '',\n onHoverItem: noop,\n onFocusItem: noop,\n onBlurItem: 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\nconst IsInsideDroppableContext = React.createContext(false)\n\nfunction useIsInsideDroppable(): boolean {\n return React.useContext(IsInsideDroppableContext)\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 const i18n = useI18nContext()\n const dndInstructionsId = useId()\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 handleItemFocus,\n handleItemBlur,\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 setIsDragging,\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 const itemInfo = JSON.parse(start.draggableId)\n // flushSync needed to ensure proper behavior in Safari\n flushSync(() => setCurrentlyDroppableIn(itemInfo.droppableIn))\n setIsDragging(true)\n\n const startPosition = start.source.index + 1\n const startGroupTitle =\n findGroupByDroppableId(\n ref.current,\n start.source.droppableId\n )?.getAttribute('data-title') ?? ''\n\n const announcement = startGroupTitle\n ? i18n.t('core.menuImperative.dragStartWithGroup', {\n startPosition,\n startGroupTitle,\n })\n : i18n.t('core.menuImperative.dragStart', {\n startPosition,\n })\n provided.announce(announcement)\n }\n\n const onDragUpdate = React.useCallback(function (\n _update: DragUpdate,\n provided: ResponderProvided\n ) {\n const startPosition = _update.source.index + 1\n const startGroupTitle =\n findGroupByDroppableId(\n ref.current,\n _update.source.droppableId\n )?.getAttribute('data-title') ?? ''\n\n const endPosition = _update.destination?.index + 1\n const endGroupTitle = _update.destination\n ? findGroupByDroppableId(\n ref.current,\n _update.destination.droppableId\n )?.getAttribute('data-title') ?? ''\n : ''\n\n const announcement =\n startGroupTitle === endGroupTitle || !endGroupTitle || !startGroupTitle\n ? i18n.t('core.menuImperative.dragUpdate', {\n startPosition,\n endPosition,\n })\n : i18n.t('core.menuImperative.dragUpdateWithGroup', {\n startPosition,\n endPosition,\n startGroupTitle,\n endGroupTitle,\n })\n provided.announce(announcement)\n },\n [])\n\n const onDragEnd = React.useCallback(\n function (result: DropResult, provided: ResponderProvided) {\n const endPosition = result.destination?.index + 1\n const endGroupTitle = result.destination\n ? findGroupByDroppableId(\n ref.current,\n result.destination.droppableId\n )?.getAttribute('data-title') ?? ''\n : ''\n\n const announcement = endGroupTitle\n ? i18n.t('core.menuImperative.dragEndWithGroup', {\n endPosition,\n endGroupTitle,\n })\n : i18n.t('core.menuImperative.dragEnd', {\n endPosition,\n })\n provided.announce(announcement)\n setCurrentlyDroppableIn([])\n setIsDragging(false)\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_, setIsDragging]\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 dndInstructionsId,\n onHoverItem: handleItemHover,\n onFocusItem: handleItemFocus,\n onBlurItem: handleItemBlur,\n onScrollBottom,\n onSelect,\n role,\n }}\n >\n <StyledWrapper ref={ref}>\n <DragDropContext\n onDragStart={onDragStart}\n onDragUpdate={onDragUpdate}\n onDragEnd={onDragEnd}\n >\n <StyledMenu {...props} />\n </DragDropContext>\n </StyledWrapper>\n <div id={dndInstructionsId} hidden>\n {i18n.t('core.menuImperative.dragAndDropInstructions')}\n </div>\n </MenuContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & GroupProps\n>(function Group(\n { clickable, item = 'group', label, labelId, children, id, ...props },\n ref\n) {\n let { fieldProps, labelProps } = useLabel({\n id,\n label: label ?? children,\n labelElementType: 'span',\n })\n\n if (labelId) {\n fieldProps = {\n ...fieldProps,\n 'aria-labelledby': labelId,\n }\n labelProps = {\n ...labelProps,\n id: labelId,\n }\n }\n\n return (\n <StyledGroup\n ref={ref}\n data-group={true}\n data-value={JSON.stringify(item)}\n data-title={label}\n role={label ? 'group' : 'separator'}\n {...fieldProps}\n {...props}\n >\n <StyledGroupLabel {...labelProps}>{label ?? children}</StyledGroupLabel>\n {label ? children : null}\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, ...props }: 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 dndInstructionsId={ctx.dndInstructionsId}\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\n ref={provided.innerRef}\n data-droppable\n data-droppable-id={id}\n {...props}\n >\n <IsInsideDroppableContext.Provider value={true}>\n {children}\n {provided.placeholder}\n </IsInsideDroppableContext.Provider>\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 dndInstructionsId,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> &\n ItemProps &\n Omit<CheckboxProps, 'checked'> & {\n provided: DraggableProvided\n hasCheckbox: boolean\n cloneZIndex: number\n dndInstructionsId: string\n }) => {\n const itemProps = {\n ...props,\n 'aria-describedby': dndInstructionsId,\n $selected: selected,\n }\n\n const itemChildren = hasCheckbox ? (\n <Checkbox\n indeterminate={props.indeterminate}\n error={props.error}\n checked={selected}\n onChange={noop}\n >\n {children}\n </Checkbox>\n ) : (\n children\n )\n\n return (\n <StyledItem\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable\n $isDragging\n style={{\n ...provided.draggableProps.style,\n ...props.style,\n zIndex: props.cloneZIndex,\n }}\n >\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n {itemChildren}\n </StyledItem>\n )\n}\n\nexport const Item = React.forwardRef(function Item<\n E extends React.ElementType = MenuItemDefaultElement\n>(\n {\n as,\n /* @ts-ignore */\n children = null,\n item = null,\n /* @ts-ignore */\n onClick: onClick_ = noop,\n selected = false,\n suggested = false,\n disabled = false,\n id: _id,\n role,\n restoreFocus,\n draggableId,\n draggableIndex,\n droppableIn,\n ...props\n }: PolymorphicAs.ComponentPropsWithoutRef<MenuItemProps, E>,\n /**\n * TODO: although it is typed just fine from the outside (`<Menu.Item ref>` that is),\n * an effort is required to type it properly here too\n */\n forwardRef: React.Ref<any>\n) {\n const id = useId(_id)\n\n const ctx = useMenuContext()\n const isInsideDroppable = useIsInsideDroppable()\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 } else if (ctx.role === 'menu') {\n contextRole = 'menuitem'\n }\n\n if ([role, contextRole].includes('option')) {\n ariaSelected = selected ? true : undefined\n }\n\n const ariaDescribedBy = isInsideDroppable ? ctx.dndInstructionsId : undefined\n\n const itemProps = {\n 'aria-disabled': disabled ? true : undefined,\n 'aria-describedby': ariaDescribedBy,\n ...props,\n 'aria-selected': ariaSelected,\n id,\n role: role ?? contextRole,\n onClick,\n onMouseMove: (e: any) => ctx.onHoverItem(e.currentTarget),\n onFocus: (e: any) => ctx.onFocusItem(e.currentTarget),\n onBlur: (e: any) => ctx.onBlurItem(e.currentTarget),\n 'data-group': false,\n 'data-value': JSON.stringify(item),\n 'data-selected': selected,\n 'data-suggested': suggested,\n 'data-disabled': disabled,\n 'data-restorefocus': restoreFocus,\n $disabled: disabled,\n $selected: selected,\n }\n\n if (\n droppableIn !== undefined &&\n draggableId !== undefined &&\n draggableIndex !== undefined\n ) {\n // encoding id and valid droppables as the draggableId, so we can use them to determine where this item can be dropped\n const droppableInfo = {\n draggableId,\n droppableIn: Array.isArray(droppableIn) ? droppableIn : [droppableIn],\n }\n return (\n <Draggable\n draggableId={JSON.stringify(droppableInfo)}\n index={draggableIndex}\n isDragDisabled={disabled}\n >\n {(provided: DraggableProvided) => (\n <StyledItem\n ref={mergeRefs(provided.innerRef, forwardRef)}\n as={as}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable={!disabled}\n style={{ ...provided.draggableProps.style, ...itemProps.style }}\n >\n {!disabled && (\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n )}\n {children}\n </StyledItem>\n )}\n </Draggable>\n )\n }\n\n return (\n <StyledItem ref={forwardRef} as={as} {...itemProps}>\n {children}\n </StyledItem>\n )\n}) as PolymorphicAs.ComponentWithForwardedRef<\n MenuItemProps,\n MenuItemDefaultElement\n>\n\nexport const CheckboxItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> &\n (ItemProps | ItemWithDraggingProps) &\n Omit<CheckboxProps, 'checked'>\n>(function CheckboxItem(\n {\n selected = false,\n disabled = false,\n error = false,\n indeterminate = false,\n children = null,\n role,\n ...props\n },\n forwardRef\n) {\n const ctx = useMenuContext()\n\n let contextRole\n let ariaChecked: React.AriaAttributes['aria-checked']\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitemcheckbox'\n\n if (indeterminate) {\n ariaChecked = 'mixed'\n } else {\n ariaChecked = selected ? 'true' : 'false'\n }\n }\n\n return (\n <Item\n aria-checked={ariaChecked}\n aria-disabled={disabled ? true : undefined}\n aria-selected={ariaSelected}\n {...props}\n role={role ?? contextRole}\n selected={selected}\n disabled={disabled}\n ref={forwardRef}\n >\n <FakeCheckbox\n indeterminate={indeterminate}\n error={error}\n disabled={disabled}\n checked={selected}\n >\n {children}\n </FakeCheckbox>\n </Item>\n )\n})\nexport const Options = React.forwardRef<HTMLDivElement, OptionsProps>(\n function Options(props, ref) {\n const ctx = useMenuContext()\n const i18n = useI18nContext()\n\n return (\n <StyledOptions\n aria-label={i18n.t('core.menuImperative.options.ariaLabel')}\n {...props}\n {...ctx.a11yOptionsProps}\n data-internal=\"menuimperative-options\"\n ref={ref}\n onScroll={ctx.onScrollBottom}\n />\n )\n }\n)\n\nexport const Search = ({\n className,\n i18nScope = 'core.menu',\n placeholder,\n onChange: _onChange,\n value: valueProp,\n ...props\n}: MenuSearchProps) => {\n const I18n = useI18nContext()\n\n const isControlled = valueProp !== undefined\n const [internalValue, setInternalValue] = React.useState('')\n const value = isControlled ? valueProp : internalValue\n\n const onChange: NonNullable<TypeaheadProps['onChange']> = React.useCallback(\n function (value, event) {\n if (!isControlled) {\n setInternalValue(value)\n }\n _onChange?.(event as unknown as React.ChangeEvent<HTMLInputElement>)\n },\n [_onChange, isControlled]\n )\n\n // intentionally changed to type text + searchbox,\n // voiceOver focus goes to clear button when no results in Chrome\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n type=\"text\"\n role=\"searchbox\"\n autoFocus={true}\n placeholder={placeholder || I18n.t('search', { scope: i18nScope })}\n onChange={onChange}\n value={value}\n />\n </StyledSearch>\n )\n}\n\nexport const Header = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & HeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & FooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenuImperative_.displayName = 'Menu'\n\nDroppable.displayName = 'Menu.Droppable'\n\nFooter.displayName = 'Menu.Footer'\n\nGroup.displayName = 'Menu.Group'\n\nHeader.displayName = 'Menu.Header'\n\nItem.displayName = 'Menu.Item'\n\nOptions.displayName = 'Menu.Options'\n\nSearch.displayName = 'Menu.Search'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu-imperative--demo)\n\n */\nexport const MenuImperative = addSubcomponents(\n {\n CheckboxItem,\n Droppable,\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n MenuImperative_\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"MenuImperative.js","names":["DragDropContext","Draggable","Droppable","DndDroppable","Grip","useLabel","useId","React","isValidElement","useEffect","useMemo","useState","flushSync","Checkbox","FakeCheckbox","Typeahead","useI18nContext","useZIndexContext","colors","addSubcomponents","mergeRefs","StyledDroppable","StyledFooter","StyledGrip","StyledGroup","StyledGroupLabel","StyledHeader","StyledItem","StyledMenu","StyledOptions","StyledSearch","StyledWrapper","createSensors","onScrollBottomThreshold","findGroupByDroppableId","container","droppableId","droppable","querySelector","concat","group","closest","noop","isScrolledToBottom","e","currentTarget","HTMLElement","scrollTop","scrollHeight","clientHeight","MenuContext","createContext","a11yOptionsProps","currentlyDroppableIn","dndInstructionsId","onHoverItem","onFocusItem","onBlurItem","onScrollBottom","onSelect","role","useMenuContext","context","useContext","Error","IsInsideDroppableContext","useIsInsideDroppable","useMenuImperativeControlNavigation","ref","enable","arguments","length","undefined","options","_id","menuId","id","_React$useState","_React$useState2","_slicedToArray","activeDescendant","setActiveDescendant","_useState","_useState2","onKeyDown","setOnKeyDown","_ref$current","current","defaultKeyDownNavigationHandler","menuNavigationTriggerProps","menuProps","onChangeActiveDescendant","changeAriaActiveDescendantOnOptions","menuRef","setAttribute","MenuImperative_","forwardRef","Menu","_ref","_ref$circular","circular","_ref$onDragEnd","onDragEnd","onDragEnd_","_ref$onScrollBottom","onScrollBottom_","_ref$onSelect","onSelect_","_ref$role","onKeyboardNavigation_","onKeyboardNavigation","multiple","props","_objectWithoutProperties","_excluded","useRef","_useState3","_useState4","setCurrentlyDroppableIn","i18n","useCallback","selection","onChangeHighlight","_useMemo","handleItemHover","handleItemFocus","handleItemBlur","handleKeyDown","highlight","highlighted","highlightFirst","highlightLast","highlightSelected","highlightSuggested","rehighlightCurrent","prev","next","select","updateSelectCallback","setIsDragging","commonA11yOptionProps","_defineProperty","_objectSpread","tabIndex","useImperativeHandle","el","onDragStart","start","provided","_findGroupByDroppable","_findGroupByDroppable2","itemInfo","JSON","parse","draggableId","droppableIn","startPosition","source","index","startGroupTitle","getAttribute","announcement","t","announce","onDragUpdate","_update","_findGroupByDroppable3","_findGroupByDroppable4","_update$destination","_findGroupByDroppable5","_findGroupByDroppable6","endPosition","destination","endGroupTitle","result","_result$destination","_findGroupByDroppable7","_findGroupByDroppable8","reason","createElement","Provider","value","hidden","Group","_ref2","clickable","_ref2$item","item","label","labelId","children","_excluded2","_useLabel","labelElementType","fieldProps","labelProps","_extends","stringify","findDraggableRecursively","nodeChildren","Children","toArray","i","child","matchingChild","_ref3","_excluded3","ctx","cloneZIndex","renderItemClone","_snapshot","rubric","_draggingChild$props","draggableInfo","draggingChild","cloneProps","ClonedItem","hasCheckbox","type","CheckboxItem","isDropDisabled","includes","renderClone","snapshot","innerRef","placeholder","_ref4","_ref4$hasCheckbox","_ref4$children","_ref4$selected","selected","_excluded4","itemProps","$selected","itemChildren","indeterminate","error","checked","onChange","draggableProps","dragHandleProps","$isDraggable","$isDragging","style","zIndex","color","gray45","Item","_ref5","as","_ref5$children","_ref5$item","_ref5$onClick","onClick","onClick_","_ref5$selected","_ref5$suggested","suggested","_ref5$disabled","disabled","restoreFocus","draggableIndex","_excluded5","isInsideDroppable","event","action","contextRole","ariaSelected","ariaDescribedBy","onMouseMove","onFocus","onBlur","$disabled","droppableInfo","Array","isArray","isDragDisabled","_ref6","_ref6$selected","_ref6$disabled","_ref6$error","_ref6$indeterminate","_ref6$children","_excluded6","ariaChecked","Options","_props$role","onScroll","Search","_ref7","className","_ref7$i18nScope","i18nScope","_onChange","valueProp","_excluded7","I18n","isControlled","_React$useState3","_React$useState4","internalValue","setInternalValue","autoFocus","scope","Header","_ref8","_objectDestructuringEmpty","Footer","_ref9","_ref9$padding","padding","_excluded8","displayName","MenuImperative"],"sources":["../../src/MenuImperative/MenuImperative.tsx"],"sourcesContent":["import type {\n DraggableProvided,\n DraggableRubric,\n DraggableStateSnapshot,\n DragStart,\n DragUpdate,\n DroppableProvided,\n DroppableStateSnapshot,\n DropResult,\n ResponderProvided,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport {\n DragDropContext,\n Draggable,\n Droppable as DndDroppable,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport { Grip } from '@procore/core-icons/dist'\nimport { useLabel } from '@react-aria/label'\nimport { useId } from '@react-aria/utils'\nimport React, { isValidElement, useEffect, useMemo, useState } from 'react'\nimport { flushSync } from 'react-dom'\nimport type { CheckboxProps } from '../Checkbox'\nimport { Checkbox, FakeCheckbox } from '../Checkbox/Checkbox'\nimport type { TypeaheadProps } from '../Typeahead'\nimport { Typeahead } from '../Typeahead'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useZIndexContext } from '../_hooks/ZIndex'\nimport { colors } from '../_styles/colors'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { PolymorphicAs } from '../_utils/polymorphic'\nimport {\n StyledDroppable,\n StyledFooter,\n StyledGrip,\n StyledGroup,\n StyledGroupLabel,\n StyledHeader,\n StyledItem,\n StyledMenu,\n StyledOptions,\n StyledSearch,\n StyledWrapper,\n} from './MenuImperative.styles'\nimport type {\n ControlNavigationProps,\n ControlNavigationReturn,\n DroppableProps,\n FooterProps,\n GroupProps,\n HeaderProps,\n ItemProps,\n ItemWithDraggingProps,\n MenuContext as IMenuContext,\n MenuItemDefaultElement,\n MenuItemProps,\n MenuProps,\n MenuRef,\n MenuSearchProps,\n OptionsProps,\n Selection,\n} from './MenuImperative.types'\nimport { createSensors } from './sensors'\n\nconst onScrollBottomThreshold = 8\n\n/**\n * Finds the group element for a given droppable ID (from DnD result).\n * Locates the Droppable via data-droppable-id, then returns its parent Group\n * (ancestor with data-group=\"true\") so we can read data-title for announcements.\n */\nfunction findGroupByDroppableId(\n container: HTMLElement | null,\n droppableId: string\n): HTMLElement | null {\n const droppable = container?.querySelector<HTMLElement>(\n `[data-droppable-id=\"${droppableId}\"]`\n )\n if (!droppable) return null\n const group = droppable.closest<HTMLElement>('[data-group=\"true\"]')\n return group ?? null\n}\n\nfunction noop() {}\n\nfunction isScrolledToBottom(e: React.UIEvent<HTMLDivElement, UIEvent>) {\n return (\n e.currentTarget instanceof HTMLElement &&\n e.currentTarget.scrollTop >=\n e.currentTarget.scrollHeight -\n e.currentTarget.clientHeight -\n onScrollBottomThreshold\n )\n}\n\nexport const MenuContext = React.createContext<IMenuContext>({\n a11yOptionsProps: {},\n currentlyDroppableIn: [],\n dndInstructionsId: '',\n onHoverItem: noop,\n onFocusItem: noop,\n onBlurItem: 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\nconst IsInsideDroppableContext = React.createContext(false)\n\nfunction useIsInsideDroppable(): boolean {\n return React.useContext(IsInsideDroppableContext)\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 const i18n = useI18nContext()\n const dndInstructionsId = useId()\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 handleItemFocus,\n handleItemBlur,\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 setIsDragging,\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 const itemInfo = JSON.parse(start.draggableId)\n // flushSync needed to ensure proper behavior in Safari\n flushSync(() => setCurrentlyDroppableIn(itemInfo.droppableIn))\n setIsDragging(true)\n\n const startPosition = start.source.index + 1\n const startGroupTitle =\n findGroupByDroppableId(\n ref.current,\n start.source.droppableId\n )?.getAttribute('data-title') ?? ''\n\n const announcement = startGroupTitle\n ? i18n.t('core.menuImperative.dragStartWithGroup', {\n startPosition,\n startGroupTitle,\n })\n : i18n.t('core.menuImperative.dragStart', {\n startPosition,\n })\n provided.announce(announcement)\n }\n\n const onDragUpdate = React.useCallback(function (\n _update: DragUpdate,\n provided: ResponderProvided\n ) {\n const startPosition = _update.source.index + 1\n const startGroupTitle =\n findGroupByDroppableId(\n ref.current,\n _update.source.droppableId\n )?.getAttribute('data-title') ?? ''\n\n const endPosition = _update.destination?.index + 1\n const endGroupTitle = _update.destination\n ? findGroupByDroppableId(\n ref.current,\n _update.destination.droppableId\n )?.getAttribute('data-title') ?? ''\n : ''\n\n const announcement =\n startGroupTitle === endGroupTitle || !endGroupTitle || !startGroupTitle\n ? i18n.t('core.menuImperative.dragUpdate', {\n startPosition,\n endPosition,\n })\n : i18n.t('core.menuImperative.dragUpdateWithGroup', {\n startPosition,\n endPosition,\n startGroupTitle,\n endGroupTitle,\n })\n provided.announce(announcement)\n },\n [])\n\n const onDragEnd = React.useCallback(\n function (result: DropResult, provided: ResponderProvided) {\n const endPosition = result.destination?.index + 1\n const endGroupTitle = result.destination\n ? findGroupByDroppableId(\n ref.current,\n result.destination.droppableId\n )?.getAttribute('data-title') ?? ''\n : ''\n\n const announcement = endGroupTitle\n ? i18n.t('core.menuImperative.dragEndWithGroup', {\n endPosition,\n endGroupTitle,\n })\n : i18n.t('core.menuImperative.dragEnd', {\n endPosition,\n })\n provided.announce(announcement)\n setCurrentlyDroppableIn([])\n setIsDragging(false)\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_, setIsDragging]\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 dndInstructionsId,\n onHoverItem: handleItemHover,\n onFocusItem: handleItemFocus,\n onBlurItem: handleItemBlur,\n onScrollBottom,\n onSelect,\n role,\n }}\n >\n <StyledWrapper ref={ref}>\n <DragDropContext\n onDragStart={onDragStart}\n onDragUpdate={onDragUpdate}\n onDragEnd={onDragEnd}\n >\n <StyledMenu {...props} />\n </DragDropContext>\n </StyledWrapper>\n <div id={dndInstructionsId} hidden>\n {i18n.t('core.menuImperative.dragAndDropInstructions')}\n </div>\n </MenuContext.Provider>\n )\n})\n\nexport const Group = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & GroupProps\n>(function Group(\n { clickable, item = 'group', label, labelId, children, id, ...props },\n ref\n) {\n let { fieldProps, labelProps } = useLabel({\n id,\n label: label ?? children,\n labelElementType: 'span',\n })\n\n if (labelId) {\n fieldProps = {\n ...fieldProps,\n 'aria-labelledby': labelId,\n }\n labelProps = {\n ...labelProps,\n id: labelId,\n }\n }\n\n return (\n <StyledGroup\n ref={ref}\n data-group={true}\n data-value={JSON.stringify(item)}\n data-title={label}\n role={label ? 'group' : 'separator'}\n {...fieldProps}\n {...props}\n >\n <StyledGroupLabel {...labelProps}>{label ?? children}</StyledGroupLabel>\n {label ? children : null}\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, ...props }: 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 dndInstructionsId={ctx.dndInstructionsId}\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\n ref={provided.innerRef}\n data-droppable\n data-droppable-id={id}\n {...props}\n >\n <IsInsideDroppableContext.Provider value={true}>\n {children}\n {provided.placeholder}\n </IsInsideDroppableContext.Provider>\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 dndInstructionsId,\n ...props\n}: React.HTMLAttributes<HTMLDivElement> &\n ItemProps &\n Omit<CheckboxProps, 'checked'> & {\n provided: DraggableProvided\n hasCheckbox: boolean\n cloneZIndex: number\n dndInstructionsId: string\n }) => {\n const itemProps = {\n ...props,\n 'aria-describedby': dndInstructionsId,\n $selected: selected,\n }\n\n const itemChildren = hasCheckbox ? (\n <Checkbox\n indeterminate={props.indeterminate}\n error={props.error}\n checked={selected}\n onChange={noop}\n >\n {children}\n </Checkbox>\n ) : (\n children\n )\n\n return (\n <StyledItem\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable\n $isDragging\n style={{\n ...provided.draggableProps.style,\n ...props.style,\n zIndex: props.cloneZIndex,\n }}\n >\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n {itemChildren}\n </StyledItem>\n )\n}\n\nexport const Item = React.forwardRef(function Item<\n E extends React.ElementType = MenuItemDefaultElement\n>(\n {\n as,\n /* @ts-ignore */\n children = null,\n item = null,\n /* @ts-ignore */\n onClick: onClick_ = noop,\n selected = false,\n suggested = false,\n disabled = false,\n id: _id,\n role,\n restoreFocus,\n draggableId,\n draggableIndex,\n droppableIn,\n ...props\n }: PolymorphicAs.ComponentPropsWithoutRef<MenuItemProps, E>,\n /**\n * TODO: although it is typed just fine from the outside (`<Menu.Item ref>` that is),\n * an effort is required to type it properly here too\n */\n forwardRef: React.Ref<any>\n) {\n const id = useId(_id)\n\n const ctx = useMenuContext()\n const isInsideDroppable = useIsInsideDroppable()\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 } else if (ctx.role === 'menu') {\n contextRole = 'menuitem'\n }\n\n if ([role, contextRole].includes('option')) {\n ariaSelected = selected ? true : undefined\n }\n\n const ariaDescribedBy = isInsideDroppable ? ctx.dndInstructionsId : undefined\n\n const itemProps = {\n 'aria-disabled': disabled ? true : undefined,\n 'aria-describedby': ariaDescribedBy,\n ...props,\n 'aria-selected': ariaSelected,\n id,\n role: role ?? contextRole,\n onClick,\n onMouseMove: (e: any) => ctx.onHoverItem(e.currentTarget),\n onFocus: (e: any) => ctx.onFocusItem(e.currentTarget),\n onBlur: (e: any) => ctx.onBlurItem(e.currentTarget),\n 'data-group': false,\n 'data-value': JSON.stringify(item),\n 'data-selected': selected,\n 'data-suggested': suggested,\n 'data-disabled': disabled,\n 'data-restorefocus': restoreFocus,\n $disabled: disabled,\n $selected: selected,\n }\n\n if (\n droppableIn !== undefined &&\n draggableId !== undefined &&\n draggableIndex !== undefined\n ) {\n // encoding id and valid droppables as the draggableId, so we can use them to determine where this item can be dropped\n const droppableInfo = {\n draggableId,\n droppableIn: Array.isArray(droppableIn) ? droppableIn : [droppableIn],\n }\n return (\n <Draggable\n draggableId={JSON.stringify(droppableInfo)}\n index={draggableIndex}\n isDragDisabled={disabled}\n >\n {(provided: DraggableProvided) => (\n <StyledItem\n ref={mergeRefs(provided.innerRef, forwardRef)}\n as={as}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n {...itemProps}\n $isDraggable={!disabled}\n style={{ ...provided.draggableProps.style, ...itemProps.style }}\n >\n {!disabled && (\n <StyledGrip>\n <Grip color={colors.gray45} />\n </StyledGrip>\n )}\n {children}\n </StyledItem>\n )}\n </Draggable>\n )\n }\n\n return (\n <StyledItem ref={forwardRef} as={as} {...itemProps}>\n {children}\n </StyledItem>\n )\n}) as PolymorphicAs.ComponentWithForwardedRef<\n MenuItemProps,\n MenuItemDefaultElement\n>\n\nexport const CheckboxItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> &\n (ItemProps | ItemWithDraggingProps) &\n Omit<CheckboxProps, 'checked'>\n>(function CheckboxItem(\n {\n selected = false,\n disabled = false,\n error = false,\n indeterminate = false,\n children = null,\n role,\n ...props\n },\n forwardRef\n) {\n const ctx = useMenuContext()\n\n let contextRole\n let ariaChecked: React.AriaAttributes['aria-checked']\n let ariaSelected\n\n if (ctx.role === 'listbox') {\n contextRole = 'option'\n ariaSelected = selected ? true : undefined\n } else if (ctx.role === 'menu') {\n contextRole = 'menuitemcheckbox'\n\n if (indeterminate) {\n ariaChecked = 'mixed'\n } else {\n ariaChecked = selected ? 'true' : 'false'\n }\n }\n\n return (\n <Item\n aria-checked={ariaChecked}\n aria-disabled={disabled ? true : undefined}\n aria-selected={ariaSelected}\n {...props}\n role={role ?? contextRole}\n selected={selected}\n disabled={disabled}\n ref={forwardRef}\n >\n <FakeCheckbox\n indeterminate={indeterminate}\n error={error}\n disabled={disabled}\n checked={selected}\n >\n {children}\n </FakeCheckbox>\n </Item>\n )\n})\nexport const Options = React.forwardRef<HTMLDivElement, OptionsProps>(\n function Options(props, ref) {\n const ctx = useMenuContext()\n const i18n = useI18nContext()\n\n return (\n <StyledOptions\n aria-label={i18n.t('core.menuImperative.options.ariaLabel')}\n {...props}\n {...ctx.a11yOptionsProps}\n // @ts-expect-error - JavaScript, Core-React use only for Tab\n role={props.role ?? ctx.a11yOptionsProps.role}\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 value: valueProp,\n ...props\n}: MenuSearchProps) => {\n const I18n = useI18nContext()\n\n const isControlled = valueProp !== undefined\n const [internalValue, setInternalValue] = React.useState('')\n const value = isControlled ? valueProp : internalValue\n\n const onChange: NonNullable<TypeaheadProps['onChange']> = React.useCallback(\n function (value, event) {\n if (!isControlled) {\n setInternalValue(value)\n }\n _onChange?.(event as unknown as React.ChangeEvent<HTMLInputElement>)\n },\n [_onChange, isControlled]\n )\n\n return (\n <StyledSearch className={className}>\n <Typeahead\n {...props}\n type=\"text\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-expanded={true}\n autoFocus={true}\n placeholder={placeholder || I18n.t('search', { scope: i18nScope })}\n onChange={onChange}\n value={value}\n />\n </StyledSearch>\n )\n}\n\nexport const Header = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & HeaderProps\n>(function Header({ ...props }, ref) {\n return <StyledHeader ref={ref} {...props} />\n})\n\nexport const Footer = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & FooterProps\n>(function Footer({ padding = 'md lg', ...props }, ref) {\n return <StyledFooter ref={ref} padding={padding} {...props} />\n})\n\nMenuImperative_.displayName = 'Menu'\n\nDroppable.displayName = 'Menu.Droppable'\n\nFooter.displayName = 'Menu.Footer'\n\nGroup.displayName = 'Menu.Group'\n\nHeader.displayName = 'Menu.Header'\n\nItem.displayName = 'Menu.Item'\n\nOptions.displayName = 'Menu.Options'\n\nSearch.displayName = 'Menu.Search'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-menu-imperative--demo)\n\n */\nexport const MenuImperative = addSubcomponents(\n {\n CheckboxItem,\n Droppable,\n Footer,\n Group,\n Header,\n Item,\n Options,\n Search,\n },\n MenuImperative_\n)\n"],"mappings":"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"}
@@ -11,43 +11,43 @@ 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_44_0__sc-z984sz-0"
14
+ componentId: "core-12_46_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_44_0__sc-z984sz-1"
18
+ componentId: "core-12_46_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_44_0__sc-z984sz-2"
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) {
22
+ componentId: "core-12_46_0__sc-z984sz-2"
23
+ })(["flex-basis:auto;flex-grow:1;flex-shrink:1;min-height:", "px;", ";padding:", "px 0;position:relative;&:focus-visible{", " margin:-1px;}ol&{padding:", "px 0;list-style-type:none;margin:0;}"], optionMinHeight, function (_ref) {
24
24
  var _ref$$scrollable = _ref.$scrollable,
25
25
  $scrollable = _ref$$scrollable === void 0 ? true : _ref$$scrollable;
26
26
  return $scrollable && "overflow-y: auto";
27
- }, spacing.sm, getFocus());
27
+ }, spacing.sm, getFocus(), spacing.sm);
28
28
  export var StyledGrip = /*#__PURE__*/styled.div.withConfig({
29
29
  displayName: "StyledGrip",
30
- componentId: "core-12_44_0__sc-z984sz-3"
30
+ componentId: "core-12_46_0__sc-z984sz-3"
31
31
  })(["padding:0 2px;height:24px;"]);
32
32
  export var StyledHeader = /*#__PURE__*/styled.div.withConfig({
33
33
  displayName: "StyledHeader",
34
- componentId: "core-12_44_0__sc-z984sz-4"
34
+ componentId: "core-12_46_0__sc-z984sz-4"
35
35
  })([""]);
36
36
  export var StyledSearch = /*#__PURE__*/styled.div.withConfig({
37
37
  displayName: "StyledSearch",
38
- componentId: "core-12_44_0__sc-z984sz-5"
38
+ componentId: "core-12_46_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_44_0__sc-z984sz-6"
42
+ componentId: "core-12_46_0__sc-z984sz-6"
43
43
  })(["&:not(:first-child){margin-top:", "px;}"], spacing.md);
44
44
  export var StyledGroupLabel = /*#__PURE__*/styled.span.withConfig({
45
45
  displayName: "StyledGroupLabel",
46
- componentId: "core-12_44_0__sc-z984sz-7"
46
+ componentId: "core-12_46_0__sc-z984sz-7"
47
47
  })(["", " display:block;color:", ";font-weight:", ";padding:", "px ", "px;cursor:default;"], getTypographyIntent('body'), colors.gray15, typographyWeights.semibold, spacing.xs, spacing.lg);
48
48
  export var StyledItem = /*#__PURE__*/styled.div.withConfig({
49
49
  displayName: "StyledItem",
50
- componentId: "core-12_44_0__sc-z984sz-8"
50
+ componentId: "core-12_46_0__sc-z984sz-8"
51
51
  })(["", ";", " 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:", ";}", " ", "{color:inherit;cursor:pointer;}", " ", " ", ""], getTypographyIntent('body'), function (_ref2) {
52
52
  var as = _ref2.as;
53
53
  return as === 'a' && css(["display:block;text-decoration:none;"]);
@@ -76,10 +76,10 @@ export var StyledItem = /*#__PURE__*/styled.div.withConfig({
76
76
  });
77
77
  export var StyledDroppable = /*#__PURE__*/styled.div.withConfig({
78
78
  displayName: "StyledDroppable",
79
- componentId: "core-12_44_0__sc-z984sz-9"
79
+ componentId: "core-12_46_0__sc-z984sz-9"
80
80
  })(["", ",", "{padding-left:28px;}"], StyledGroup, StyledItem);
81
81
  export var StyledFooter = /*#__PURE__*/styled(Box).withConfig({
82
82
  displayName: "StyledFooter",
83
- componentId: "core-12_44_0__sc-z984sz-10"
83
+ componentId: "core-12_46_0__sc-z984sz-10"
84
84
  })(["border-top:1px solid ", ";border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;"], colors.gray85);
85
85
  //# sourceMappingURL=MenuImperative.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuImperative.styles.js","names":["styled","css","Box","StyledButton","StyledCheckboxLabel","getTypographyIntent","typographyWeights","colors","getFocus","spacing","optionMinHeight","StyledWrapper","div","withConfig","displayName","componentId","StyledMenu","StyledOptions","_ref","_ref$$scrollable","$scrollable","sm","StyledGrip","StyledHeader","StyledSearch","lg","StyledGroup","md","StyledGroupLabel","span","gray15","semibold","xs","StyledItem","_ref2","as","gray96","_ref3","$highlighted","concat","_ref4","$disabled","$selected","gray85","blue50","_ref5","$isDraggable","_ref6","$isDragging","StyledDroppable","StyledFooter"],"sources":["../../src/MenuImperative/MenuImperative.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { Box } from '../Box'\nimport { StyledButton } from '../Button'\nimport { StyledCheckboxLabel } from '../Checkbox/Checkbox.styles'\nimport { getTypographyIntent, typographyWeights } from '../Typography'\nimport { colors } from '../_styles/colors'\nimport { getFocus } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\n\nconst optionMinHeight = 32\n\n// Do not merge with StyledMenu, needed for max-height working in IE\nexport const StyledWrapper = styled.div`\n border-radius: inherit;\n display: flex;\n max-height: inherit;\n min-width: inherit;\n outline: none;\n width: inherit;\n`\n\nexport const StyledMenu = styled.div`\n border-radius: inherit;\n display: flex;\n flex-direction: column;\n outline: 0;\n width: 100%;\n`\n\nexport const StyledOptions = styled.div<{ $scrollable?: boolean }>`\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n min-height: ${optionMinHeight}px;\n ${({ $scrollable = true }) => $scrollable && `overflow-y: auto`};\n padding: ${spacing.sm}px 0;\n position: relative;\n\n &:focus-visible {\n ${getFocus()}\n margin: -1px;\n }\n`\n\nexport const StyledGrip = styled.div`\n padding: 0 2px;\n height: 24px;\n`\n\nexport const StyledHeader = styled.div``\n\nexport const StyledSearch = styled.div`\n padding: ${spacing.lg}px ${spacing.lg}px ${spacing.sm}px;\n\n ${StyledButton} > * {\n pointer-events: none;\n }\n`\n\nexport const StyledGroup = styled.div`\n &:not(:first-child) {\n margin-top: ${spacing.md}px;\n }\n`\n\nexport const StyledGroupLabel = styled.span`\n ${getTypographyIntent('body')}\n\n display: block;\n color: ${colors.gray15};\n font-weight: ${typographyWeights.semibold};\n padding: ${spacing.xs}px ${spacing.lg}px;\n cursor: default;\n`\n\nexport const StyledItem = styled.div<{\n $disabled?: boolean\n $selected?: boolean\n $highlighted?: boolean\n $isDraggable?: boolean\n $isDragging?: boolean\n}>`\n ${getTypographyIntent('body')};\n\n ${({ as }) =>\n as === 'a' &&\n css`\n display: block;\n text-decoration: none;\n `}\n\n cursor: pointer;\n list-style-type: none;\n padding: ${spacing.xs}px ${spacing.lg}px;\n\n a {\n // We decided to use a negative margin trick here to allow us to continue\n // to use listNavigation without having to rewrite a bunch of code in js\n color: ${colors.gray15};\n display: block;\n margin: -${spacing.xs}px -${spacing.lg}px;\n padding: ${spacing.xs}px ${spacing.lg}px;\n text-decoration: none;\n\n &:hover {\n color: ${colors.gray15};\n text-decoration: none;\n }\n }\n\n &[data-highlighted='true'] {\n background-color: ${colors.gray96};\n }\n\n ${({ $highlighted }) => $highlighted && `background-color: ${colors.gray96};`}\n\n ${StyledCheckboxLabel} {\n color: inherit;\n cursor: pointer;\n }\n\n ${({ $disabled, $selected }) => {\n if ($disabled) {\n return css`\n &,\n ${StyledCheckboxLabel} {\n color: ${colors.gray85};\n cursor: default;\n }\n `\n } else if ($selected) {\n return css`\n color: ${colors.blue50};\n font-weight: 700;\n\n a,\n a:hover {\n color: ${colors.blue50};\n text-decoration: none;\n }\n\n &[data-highlighted='true'] {\n background-color: ${colors.gray96};\n }\n `\n }\n\n return css`\n color: ${colors.gray15};\n\n &[data-highlighted='true'] {\n background-color: ${colors.gray96};\n }\n `\n }}\n\n ${({ $isDraggable }) => {\n if ($isDraggable) {\n return css`\n display: flex;\n align-items: center;\n\n ${StyledCheckboxLabel} {\n cursor: grab;\n\n // The unchecked and checked icons\n &:before,\n &:after {\n cursor: pointer;\n }\n }\n\n &&& {\n padding-left: 0;\n }\n `\n }\n }}\n\n ${({ $isDragging }) => {\n if ($isDragging) {\n return css`\n background-color: ${colors.gray96};\n `\n }\n }}\n`\n\nexport const StyledDroppable = styled.div`\n ${StyledGroup}, ${StyledItem} {\n padding-left: 28px;\n }\n`\n\nexport const StyledFooter = styled(Box)`\n border-top: 1px solid ${colors.gray85};\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n`\n"],"mappings":"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"}
1
+ {"version":3,"file":"MenuImperative.styles.js","names":["styled","css","Box","StyledButton","StyledCheckboxLabel","getTypographyIntent","typographyWeights","colors","getFocus","spacing","optionMinHeight","StyledWrapper","div","withConfig","displayName","componentId","StyledMenu","StyledOptions","_ref","_ref$$scrollable","$scrollable","sm","StyledGrip","StyledHeader","StyledSearch","lg","StyledGroup","md","StyledGroupLabel","span","gray15","semibold","xs","StyledItem","_ref2","as","gray96","_ref3","$highlighted","concat","_ref4","$disabled","$selected","gray85","blue50","_ref5","$isDraggable","_ref6","$isDragging","StyledDroppable","StyledFooter"],"sources":["../../src/MenuImperative/MenuImperative.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { Box } from '../Box'\nimport { StyledButton } from '../Button'\nimport { StyledCheckboxLabel } from '../Checkbox/Checkbox.styles'\nimport { getTypographyIntent, typographyWeights } from '../Typography'\nimport { colors } from '../_styles/colors'\nimport { getFocus } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\n\nconst optionMinHeight = 32\n\n// Do not merge with StyledMenu, needed for max-height working in IE\nexport const StyledWrapper = styled.div`\n border-radius: inherit;\n display: flex;\n max-height: inherit;\n min-width: inherit;\n outline: none;\n width: inherit;\n`\n\nexport const StyledMenu = styled.div`\n border-radius: inherit;\n display: flex;\n flex-direction: column;\n outline: 0;\n width: 100%;\n`\n\nexport const StyledOptions = styled.div<{ $scrollable?: boolean }>`\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n min-height: ${optionMinHeight}px;\n ${({ $scrollable = true }) => $scrollable && `overflow-y: auto`};\n padding: ${spacing.sm}px 0;\n position: relative;\n\n &:focus-visible {\n ${getFocus()}\n margin: -1px;\n }\n ol& {\n padding: ${spacing.sm}px 0;\n list-style-type: none;\n margin: 0;\n }\n`\n\nexport const StyledGrip = styled.div`\n padding: 0 2px;\n height: 24px;\n`\n\nexport const StyledHeader = styled.div``\n\nexport const StyledSearch = styled.div`\n padding: ${spacing.lg}px ${spacing.lg}px ${spacing.sm}px;\n\n ${StyledButton} > * {\n pointer-events: none;\n }\n`\n\nexport const StyledGroup = styled.div`\n &:not(:first-child) {\n margin-top: ${spacing.md}px;\n }\n`\n\nexport const StyledGroupLabel = styled.span`\n ${getTypographyIntent('body')}\n\n display: block;\n color: ${colors.gray15};\n font-weight: ${typographyWeights.semibold};\n padding: ${spacing.xs}px ${spacing.lg}px;\n cursor: default;\n`\n\nexport const StyledItem = styled.div<{\n $disabled?: boolean\n $selected?: boolean\n $highlighted?: boolean\n $isDraggable?: boolean\n $isDragging?: boolean\n}>`\n ${getTypographyIntent('body')};\n\n ${({ as }) =>\n as === 'a' &&\n css`\n display: block;\n text-decoration: none;\n `}\n\n cursor: pointer;\n list-style-type: none;\n padding: ${spacing.xs}px ${spacing.lg}px;\n\n a {\n // We decided to use a negative margin trick here to allow us to continue\n // to use listNavigation without having to rewrite a bunch of code in js\n color: ${colors.gray15};\n display: block;\n margin: -${spacing.xs}px -${spacing.lg}px;\n padding: ${spacing.xs}px ${spacing.lg}px;\n text-decoration: none;\n\n &:hover {\n color: ${colors.gray15};\n text-decoration: none;\n }\n }\n\n &[data-highlighted='true'] {\n background-color: ${colors.gray96};\n }\n\n ${({ $highlighted }) => $highlighted && `background-color: ${colors.gray96};`}\n\n ${StyledCheckboxLabel} {\n color: inherit;\n cursor: pointer;\n }\n\n ${({ $disabled, $selected }) => {\n if ($disabled) {\n return css`\n &,\n ${StyledCheckboxLabel} {\n color: ${colors.gray85};\n cursor: default;\n }\n `\n } else if ($selected) {\n return css`\n color: ${colors.blue50};\n font-weight: 700;\n\n a,\n a:hover {\n color: ${colors.blue50};\n text-decoration: none;\n }\n\n &[data-highlighted='true'] {\n background-color: ${colors.gray96};\n }\n `\n }\n\n return css`\n color: ${colors.gray15};\n\n &[data-highlighted='true'] {\n background-color: ${colors.gray96};\n }\n `\n }}\n\n ${({ $isDraggable }) => {\n if ($isDraggable) {\n return css`\n display: flex;\n align-items: center;\n\n ${StyledCheckboxLabel} {\n cursor: grab;\n\n // The unchecked and checked icons\n &:before,\n &:after {\n cursor: pointer;\n }\n }\n\n &&& {\n padding-left: 0;\n }\n `\n }\n }}\n\n ${({ $isDragging }) => {\n if ($isDragging) {\n return css`\n background-color: ${colors.gray96};\n `\n }\n }}\n`\n\nexport const StyledDroppable = styled.div`\n ${StyledGroup}, ${StyledItem} {\n padding-left: 28px;\n }\n`\n\nexport const StyledFooter = styled(Box)`\n border-top: 1px solid ${colors.gray85};\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n`\n"],"mappings":"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"}
@@ -172,10 +172,8 @@ export interface ItemProps {
172
172
  */
173
173
  disabled?: boolean;
174
174
  /**
175
- * Indicates should focus be restored to the trigger(e.g. Button of Dropdown)
176
- * after activating this item. If all items return focus to the trigger once activated,
177
- * try just `restoreFocusOnHide` on `Dropdown` instead.
178
- * if it is `undefined`, it is omitted in onSelect callback.
175
+ * @a11y Focus will be restored to the trigger after after activating this item.
176
+ * Use `Dropdown restoreFocusOnHide` instead if all items return focus to the trigger once activated.
179
177
  * @since 11.15.0
180
178
  */
181
179
  restoreFocus?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuImperative.types.js","names":[],"sources":["../../src/MenuImperative/MenuImperative.types.ts"],"sourcesContent":["import type * as React from 'react'\nimport type { BoxProps } from '../Box'\nimport type {\n TypeaheadInputProps,\n TypeaheadProps,\n} from '../Typeahead/Typeahead.types'\nimport type { Props } from '../_utils/types'\n\nexport type Ref<T> =\n | ((instance: T | null) => void)\n | React.MutableRefObject<T | null>\n | null\n\ntype Div = React.ComponentPropsWithoutRef<'div'>\n\nexport interface Selection {\n /**\n * @since 10.19.0\n */\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n /**\n * @since 10.19.0\n */\n group: boolean\n /**\n * @since 10.19.0\n */\n item: any\n /**\n * @since 10.19.0\n */\n action: 'selected' | 'unselected'\n /**\n * Indicates should focus be restored to the trigger(e.g. Button of Dropdown)\n * after activating this item. If all items return focus to the trigger once activated,\n * try just `restoreFocusOnHide` on `Dropdown` instead.\n * if it is `undefined`, it is omitted in onSelect callback.\n * @since 11.15.0\n */\n restoreFocus?: boolean\n}\n\nexport interface Reorder {\n /**\n * @since 10.19.0\n */\n draggableId: string\n /**\n * @since 10.19.0\n */\n source: {\n index: number\n droppableId: string\n }\n /**\n * @since 10.19.0\n */\n destination: {\n index: number\n droppableId: string\n }\n}\n\ntype MenuRole = 'menu' | 'listbox' | 'none'\n\nexport interface MenuProps extends Omit<Div, 'onSelect' | 'onDragEnd'> {\n /**\n * @since 10.19.0\n */\n circular?: boolean\n /**\n * Set aria-multiselectable=\"true\"\n * @since 10.19.0\n */\n multiple?: boolean\n /**\n * @since 10.19.0\n */\n onDragEnd?: (result: Reorder) => void\n /**\n * @since 10.19.0\n */\n onScrollBottom?: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void\n /**\n * @since 10.19.0\n */\n onSelect?: (selection: Selection) => any\n /**\n * A menu is a widget that offers a list of choices to the user, such as a set of actions or functions.\n *\n * A listbox widget presents a list of options and allows a user to select one or more of them.\n *\n * @since 11.3.0\n */\n role?: MenuRole\n /**\n * Used when navigation in the menu is controlled by search or another input,\n * called each time virtual focus (highlighted item) is changed\n * Consider use `useMenuImperativeControlNavigation` hook.\n *\n * @since 11.5.0\n */\n onChangeActiveDescendant?: (id: string | undefined) => void\n /**\n * To override default menu navigation\n * @since 11.5.0\n */\n onKeyboardNavigation?: React.KeyboardEventHandler\n}\n\nexport interface MenuRef {\n /**\n * @since 10.19.0\n */\n el: HTMLDivElement | null\n /**\n * @since 10.19.0\n */\n highlight: (item: HTMLElement, shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightFirst: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightLast: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightSelected: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightSuggested: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlighted: () => any\n /**\n * @since 10.19.0\n */\n next: (circular?: boolean) => void\n /**\n * @since 10.19.0\n */\n prev: (circular?: boolean) => void\n /**\n * @since 10.19.0\n */\n select: (\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n ) => void\n /**\n * Usefully for extending navigation behavior with `onKeyboardNavigation`.\n * Pay attention that `ref` is `null` on first render.\n *\n * ```\n * onKeyboardNavigation={(e) => {\n * if (e.key === 'Right' || e.key === 'ArrowRight') {\n * return navigateRight()\n * }\n *\n * ref.defaultKeyDownNavigationHandler(e)\n * }}\n * ```\n *\n * @since 11.5.0\n */\n defaultKeyDownNavigationHandler: React.KeyboardEventHandler\n}\n\nexport interface ItemProps {\n /**\n * @since 10.19.0\n */\n item: any\n /**\n * @since 10.19.0\n */\n selected?: boolean\n /**\n * @since 10.19.0\n */\n suggested?: boolean\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * Indicates should focus be restored to the trigger(e.g. Button of Dropdown)\n * after activating this item. If all items return focus to the trigger once activated,\n * try just `restoreFocusOnHide` on `Dropdown` instead.\n * if it is `undefined`, it is omitted in onSelect callback.\n * @since 11.15.0\n */\n restoreFocus?: boolean\n}\n\nexport interface ItemWithDraggingProps extends ItemProps {\n /**\n * @since 10.19.0\n */\n droppableIn: string | string[]\n /**\n * @since 10.19.0\n */\n draggableId: string\n /**\n * @since 10.19.0\n */\n draggableIndex: number\n}\n\ninterface AnchorItemProps\n extends Omit<ItemProps, 'item'>,\n Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'onClick'> {}\n\nexport type MenuItemProps = ItemProps | ItemWithDraggingProps | AnchorItemProps\n\nexport type MenuItemDefaultElement = 'div' | 'a'\n\n/**\n * @a11y When drag-and-drop is enabled, `children` should be a string so it\n * can be used for DnD announcements (exposed as `data-title`).\n */\nexport interface GroupProps {\n /**\n * @since 10.19.0\n */\n clickable?: boolean\n\n /**\n * @since 10.19.0\n */\n item?: any\n\n /**\n * @since 12.39.0\n */\n label?: string\n /**\n * @since 12.39.0\n */\n labelId?: string\n}\n\nexport interface OptionsProps {\n /**\n * @since 10.19.0\n */\n children?: React.ReactNode\n /**\n * @since 10.19.0\n */\n className?: string\n}\n\nexport interface MenuSearchProps\n extends Omit<TypeaheadProps, 'onChange'>,\n TypeaheadInputProps,\n Props {\n /**\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.21.0\n */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * Controls the search input value. When provided, the search input becomes\n * a controlled component and the parent must manage the value state.\n * @since 12.34.0\n */\n value?: string\n}\n\nexport interface HeaderProps extends Props {\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n}\n\nexport interface DroppableProps {\n /**\n * @since 10.19.0\n */\n id: string\n /**\n * @since 10.19.0\n */\n children: React.ReactNode\n /**\n * @since 12.34.2\n */\n 'aria-label'?: string\n /**\n * @since 12.34.2\n */\n 'aria-labelledby'?: string\n /**\n * @since 12.34.2\n */\n role?: React.AriaRole\n /**\n * @since 12.34.2\n */\n 'aria-multiselectable'?: boolean\n}\n\nexport interface FooterProps extends Omit<BoxProps, 'as'> {}\n\nexport interface MenuContext {\n /**\n * @since 11.5.0\n */\n a11yOptionsProps: {\n role?: MenuRole\n onKeyboardNavigation?: React.KeyboardEventHandler | null\n tabIndex?: number\n id?: string\n }\n /**\n * @since 10.19.0\n */\n currentlyDroppableIn: string[]\n /**\n * @since 12.34.2\n */\n dndInstructionsId: string\n /**\n * @since 10.19.0\n */\n onHoverItem: (el?: HTMLDivElement) => void\n /**\n * @since 12.34.2\n */\n onFocusItem: (el?: HTMLDivElement) => void\n /**\n * @since 12.34.2\n */\n onBlurItem: (el?: HTMLDivElement) => void\n /**\n * @since 10.19.0\n */\n onScrollBottom: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void\n /**\n * @since 10.19.0\n */\n onSelect: (selection: Selection) => void\n /**\n * @since 11.3.0\n */\n role: MenuRole\n}\n\nexport interface ControlNavigationProps {\n menuId?: MenuProps['id']\n}\n\nexport interface 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"],"mappings":""}
1
+ {"version":3,"file":"MenuImperative.types.js","names":[],"sources":["../../src/MenuImperative/MenuImperative.types.ts"],"sourcesContent":["import type * as React from 'react'\nimport type { BoxProps } from '../Box'\nimport type {\n TypeaheadInputProps,\n TypeaheadProps,\n} from '../Typeahead/Typeahead.types'\nimport type { Props } from '../_utils/types'\n\nexport type Ref<T> =\n | ((instance: T | null) => void)\n | React.MutableRefObject<T | null>\n | null\n\ntype Div = React.ComponentPropsWithoutRef<'div'>\n\nexport interface Selection {\n /**\n * @since 10.19.0\n */\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n /**\n * @since 10.19.0\n */\n group: boolean\n /**\n * @since 10.19.0\n */\n item: any\n /**\n * @since 10.19.0\n */\n action: 'selected' | 'unselected'\n /**\n * Indicates should focus be restored to the trigger(e.g. Button of Dropdown)\n * after activating this item. If all items return focus to the trigger once activated,\n * try just `restoreFocusOnHide` on `Dropdown` instead.\n * if it is `undefined`, it is omitted in onSelect callback.\n * @since 11.15.0\n */\n restoreFocus?: boolean\n}\n\nexport interface Reorder {\n /**\n * @since 10.19.0\n */\n draggableId: string\n /**\n * @since 10.19.0\n */\n source: {\n index: number\n droppableId: string\n }\n /**\n * @since 10.19.0\n */\n destination: {\n index: number\n droppableId: string\n }\n}\n\ntype MenuRole = 'menu' | 'listbox' | 'none'\n\nexport interface MenuProps extends Omit<Div, 'onSelect' | 'onDragEnd'> {\n /**\n * @since 10.19.0\n */\n circular?: boolean\n /**\n * Set aria-multiselectable=\"true\"\n * @since 10.19.0\n */\n multiple?: boolean\n /**\n * @since 10.19.0\n */\n onDragEnd?: (result: Reorder) => void\n /**\n * @since 10.19.0\n */\n onScrollBottom?: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void\n /**\n * @since 10.19.0\n */\n onSelect?: (selection: Selection) => any\n /**\n * A menu is a widget that offers a list of choices to the user, such as a set of actions or functions.\n *\n * A listbox widget presents a list of options and allows a user to select one or more of them.\n *\n * @since 11.3.0\n */\n role?: MenuRole\n /**\n * Used when navigation in the menu is controlled by search or another input,\n * called each time virtual focus (highlighted item) is changed\n * Consider use `useMenuImperativeControlNavigation` hook.\n *\n * @since 11.5.0\n */\n onChangeActiveDescendant?: (id: string | undefined) => void\n /**\n * To override default menu navigation\n * @since 11.5.0\n */\n onKeyboardNavigation?: React.KeyboardEventHandler\n}\n\nexport interface MenuRef {\n /**\n * @since 10.19.0\n */\n el: HTMLDivElement | null\n /**\n * @since 10.19.0\n */\n highlight: (item: HTMLElement, shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightFirst: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightLast: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightSelected: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlightSuggested: (shouldScroll?: boolean) => void\n /**\n * @since 10.19.0\n */\n highlighted: () => any\n /**\n * @since 10.19.0\n */\n next: (circular?: boolean) => void\n /**\n * @since 10.19.0\n */\n prev: (circular?: boolean) => void\n /**\n * @since 10.19.0\n */\n select: (\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n ) => void\n /**\n * Usefully for extending navigation behavior with `onKeyboardNavigation`.\n * Pay attention that `ref` is `null` on first render.\n *\n * ```\n * onKeyboardNavigation={(e) => {\n * if (e.key === 'Right' || e.key === 'ArrowRight') {\n * return navigateRight()\n * }\n *\n * ref.defaultKeyDownNavigationHandler(e)\n * }}\n * ```\n *\n * @since 11.5.0\n */\n defaultKeyDownNavigationHandler: React.KeyboardEventHandler\n}\n\nexport interface ItemProps {\n /**\n * @since 10.19.0\n */\n item: any\n /**\n * @since 10.19.0\n */\n selected?: boolean\n /**\n * @since 10.19.0\n */\n suggested?: boolean\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * @a11y Focus will be restored to the trigger after after activating this item.\n * Use `Dropdown restoreFocusOnHide` instead if all items return focus to the trigger once activated.\n * @since 11.15.0\n */\n restoreFocus?: boolean\n}\n\nexport interface ItemWithDraggingProps extends ItemProps {\n /**\n * @since 10.19.0\n */\n droppableIn: string | string[]\n /**\n * @since 10.19.0\n */\n draggableId: string\n /**\n * @since 10.19.0\n */\n draggableIndex: number\n}\n\ninterface AnchorItemProps\n extends Omit<ItemProps, 'item'>,\n Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'onClick'> {}\n\nexport type MenuItemProps = ItemProps | ItemWithDraggingProps | AnchorItemProps\n\nexport type MenuItemDefaultElement = 'div' | 'a'\n\n/**\n * @a11y When drag-and-drop is enabled, `children` should be a string so it\n * can be used for DnD announcements (exposed as `data-title`).\n */\nexport interface GroupProps {\n /**\n * @since 10.19.0\n */\n clickable?: boolean\n\n /**\n * @since 10.19.0\n */\n item?: any\n\n /**\n * @since 12.39.0\n */\n label?: string\n /**\n * @since 12.39.0\n */\n labelId?: string\n}\n\nexport interface OptionsProps {\n /**\n * @since 10.19.0\n */\n children?: React.ReactNode\n /**\n * @since 10.19.0\n */\n className?: string\n}\n\nexport interface MenuSearchProps\n extends Omit<TypeaheadProps, 'onChange'>,\n TypeaheadInputProps,\n Props {\n /**\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.21.0\n */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * Controls the search input value. When provided, the search input becomes\n * a controlled component and the parent must manage the value state.\n * @since 12.34.0\n */\n value?: string\n}\n\nexport interface HeaderProps extends Props {\n /**\n * @since 10.19.0\n */\n tabIndex?: number\n}\n\nexport interface DroppableProps {\n /**\n * @since 10.19.0\n */\n id: string\n /**\n * @since 10.19.0\n */\n children: React.ReactNode\n /**\n * @since 12.34.2\n */\n 'aria-label'?: string\n /**\n * @since 12.34.2\n */\n 'aria-labelledby'?: string\n /**\n * @since 12.34.2\n */\n role?: React.AriaRole\n /**\n * @since 12.34.2\n */\n 'aria-multiselectable'?: boolean\n}\n\nexport interface FooterProps extends Omit<BoxProps, 'as'> {}\n\nexport interface MenuContext {\n /**\n * @since 11.5.0\n */\n a11yOptionsProps: {\n role?: MenuRole\n onKeyboardNavigation?: React.KeyboardEventHandler | null\n tabIndex?: number\n id?: string\n }\n /**\n * @since 10.19.0\n */\n currentlyDroppableIn: string[]\n /**\n * @since 12.34.2\n */\n dndInstructionsId: string\n /**\n * @since 10.19.0\n */\n onHoverItem: (el?: HTMLDivElement) => void\n /**\n * @since 12.34.2\n */\n onFocusItem: (el?: HTMLDivElement) => void\n /**\n * @since 12.34.2\n */\n onBlurItem: (el?: HTMLDivElement) => void\n /**\n * @since 10.19.0\n */\n onScrollBottom: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void\n /**\n * @since 10.19.0\n */\n onSelect: (selection: Selection) => void\n /**\n * @since 11.3.0\n */\n role: MenuRole\n}\n\nexport interface ControlNavigationProps {\n menuId?: MenuProps['id']\n}\n\nexport interface 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"],"mappings":""}