@procore/core-react 12.41.0 → 12.43.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 (261) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.js +11 -5
  3. package/dist/AnchorNavigation/AnchorNavigation.js.map +1 -1
  4. package/dist/AnchorNavigation/AnchorNavigation.styles.d.ts +1 -0
  5. package/dist/AnchorNavigation/AnchorNavigation.styles.js +7 -3
  6. package/dist/AnchorNavigation/AnchorNavigation.styles.js.map +1 -1
  7. package/dist/AnchorNavigation/AnchorNavigation.types.d.ts +7 -1
  8. package/dist/AnchorNavigation/AnchorNavigation.types.js.map +1 -1
  9. package/dist/Avatar/Avatar.styles.js +5 -5
  10. package/dist/AvatarStack/AvatarStack.styles.d.ts +74 -74
  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 +1 -4
  19. package/dist/Button/Button.types.js.map +1 -1
  20. package/dist/Button/index.d.ts +1 -1
  21. package/dist/Button/index.js.map +1 -1
  22. package/dist/Calendar/Calendar.styles.js +9 -9
  23. package/dist/Card/Card.styles.js +1 -1
  24. package/dist/Checkbox/Checkbox.js +1 -0
  25. package/dist/Checkbox/Checkbox.js.map +1 -1
  26. package/dist/Checkbox/Checkbox.styles.js +6 -6
  27. package/dist/ContactItem/ContactItem.js +7 -3
  28. package/dist/ContactItem/ContactItem.js.map +1 -1
  29. package/dist/ContactItem/ContactItem.styles.js +5 -5
  30. package/dist/Content/Content.styles.js +2 -2
  31. package/dist/DateInput/DateInput.js +9 -0
  32. package/dist/DateInput/DateInput.js.map +1 -1
  33. package/dist/DateInput/DateInput.styles.js +6 -6
  34. package/dist/DetailPage/DetailPage.styles.js +7 -7
  35. package/dist/Dropdown/Dropdown.styles.js +3 -3
  36. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  37. package/dist/Dropzone/Dropzone.js +1 -1
  38. package/dist/Dropzone/Dropzone.styles.js +9 -9
  39. package/dist/EmptyState/EmptyState.styles.js +6 -6
  40. package/dist/Field/Field.styles.js +3 -3
  41. package/dist/FileList/FileList.styles.js +3 -3
  42. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  43. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  44. package/dist/FileSelect/FileSelect.styles.js +2 -2
  45. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  46. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  47. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  48. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  49. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  50. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.d.ts +1 -1
  51. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  52. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  53. package/dist/FileToken/FileToken.styles.js +6 -6
  54. package/dist/FileToken/FileTokenInner.js +1 -3
  55. package/dist/FileToken/FileTokenInner.js.map +1 -1
  56. package/dist/FilterToken/FilterToken.styles.js +5 -5
  57. package/dist/FlexList/FlexList.styles.js +1 -1
  58. package/dist/Form/Form.styles.js +13 -13
  59. package/dist/Form/StyledFormikForm.styles.d.ts +2 -2
  60. package/dist/Form/StyledFormikForm.styles.js +2 -2
  61. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  62. package/dist/Grid/Grid.styles.js +2 -2
  63. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  64. package/dist/Input/Input.styles.js +1 -1
  65. package/dist/Link/Link.styles.js +1 -1
  66. package/dist/ListPage/ListPage.styles.js +8 -8
  67. package/dist/Loader/Loader.styles.js +2 -2
  68. package/dist/MenuImperative/MenuImperative.d.ts +1 -1
  69. package/dist/MenuImperative/MenuImperative.js +126 -34
  70. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  71. package/dist/MenuImperative/MenuImperative.styles.js +15 -15
  72. package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
  73. package/dist/MenuImperative/MenuImperative.types.d.ts +36 -0
  74. package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
  75. package/dist/MenuImperative/sensors.d.ts +6 -3
  76. package/dist/MenuImperative/sensors.js +42 -34
  77. package/dist/MenuImperative/sensors.js.map +1 -1
  78. package/dist/Modal/Modal.d.ts +4 -0
  79. package/dist/Modal/Modal.js +30 -14
  80. package/dist/Modal/Modal.js.map +1 -1
  81. package/dist/Modal/Modal.styles.js +13 -13
  82. package/dist/Modal/Modal.types.d.ts +28 -5
  83. package/dist/Modal/Modal.types.js.map +1 -1
  84. package/dist/Modal/index.d.ts +1 -1
  85. package/dist/Modal/index.js.map +1 -1
  86. package/dist/MultiSelect/MultiSelect.js +7 -5
  87. package/dist/MultiSelect/MultiSelect.js.map +1 -1
  88. package/dist/MultiSelect/MultiSelect.styles.js +8 -8
  89. package/dist/NextMenu/NextMenu.styles.js +3 -3
  90. package/dist/Notation/Notation.js +1 -1
  91. package/dist/NumberInput/NumberInput.styles.js +7 -7
  92. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  93. package/dist/OverlayTrigger/a11yPresets.d.ts +23 -30
  94. package/dist/OverlayTrigger/a11yPresets.js +29 -27
  95. package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
  96. package/dist/PageLayout/PageLayout.styles.d.ts +1 -1
  97. package/dist/PageLayout/PageLayout.styles.js +16 -16
  98. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  99. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  100. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  101. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  102. package/dist/Pagination/Pagination.styles.js +5 -5
  103. package/dist/Panel/Panel.styles.js +11 -11
  104. package/dist/Pill/Pill.styles.js +3 -3
  105. package/dist/PillSelect/PillSelect.styles.js +4 -4
  106. package/dist/Popover/Popover.styles.js +2 -2
  107. package/dist/Portal/Portal.styles.js +1 -1
  108. package/dist/ProgressBar/ProgressBar.styles.js +4 -4
  109. package/dist/ProgressBar/ProgressBar.styles.js.map +1 -1
  110. package/dist/RadioButton/RadioButton.styles.js +3 -3
  111. package/dist/Required/Required.styles.js +3 -3
  112. package/dist/Search/Search.styles.js +5 -5
  113. package/dist/Section/Section.styles.js +7 -7
  114. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  115. package/dist/Select/Select.js +3 -2
  116. package/dist/Select/Select.js.map +1 -1
  117. package/dist/Select/Select.styles.js +8 -8
  118. package/dist/Semantic/Semantic.styles.d.ts +74 -74
  119. package/dist/Semantic/Semantic.styles.js +9 -9
  120. package/dist/Slider/Slider.styles.js +5 -5
  121. package/dist/Spinner/Spinner.styles.js +7 -7
  122. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  123. package/dist/SuperSelect/SuperSelect.components.js +35 -22
  124. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  125. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  126. package/dist/SuperSelect/SuperSelect.styles.d.ts +4 -2
  127. package/dist/SuperSelect/SuperSelect.styles.js +49 -42
  128. package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
  129. package/dist/SuperSelect/SuperSelect.types.d.ts +3 -4
  130. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  131. package/dist/SuperSelect/presets/filterPreset.js +7 -2
  132. package/dist/SuperSelect/presets/filterPreset.js.map +1 -1
  133. package/dist/SuperSelect/useSuperSelect.d.ts +1 -1
  134. package/dist/SuperSelect/useSuperSelect.js +117 -90
  135. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  136. package/dist/Switch/Switch.styles.js +4 -4
  137. package/dist/Table/Table.styles.js +28 -28
  138. package/dist/TableShelf/TableShelf.styles.js +5 -5
  139. package/dist/Tabs/Tabs.js +1 -1
  140. package/dist/Tabs/Tabs.js.map +1 -1
  141. package/dist/Tabs/Tabs.styles.js +15 -15
  142. package/dist/Tearsheet/Tearsheet.js +1 -1
  143. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  144. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  145. package/dist/Tearsheet/storybook/PageLayoutDemo.js +1 -0
  146. package/dist/Tearsheet/storybook/PageLayoutDemo.js.map +1 -1
  147. package/dist/TextArea/TextArea.styles.js +1 -1
  148. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  149. package/dist/Thumbnail/Thumbnail.hooks.d.ts +58 -58
  150. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  151. package/dist/ThumbnailGrid/ThumbnailGrid.styles.d.ts +1 -1
  152. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  153. package/dist/TieredSelect/TieredSelect.styles.d.ts +1 -1
  154. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  155. package/dist/Tile/Tile.styles.js +8 -8
  156. package/dist/Title/Title.styles.js +7 -7
  157. package/dist/Toast/Toast.styles.js +3 -3
  158. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  159. package/dist/Token/Token.js +1 -1
  160. package/dist/Token/Token.js.map +1 -1
  161. package/dist/Token/Token.styles.js +3 -3
  162. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  163. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  164. package/dist/ToolLandingPageTemplate/ToolLandingPageTemplate.d.ts +1 -1
  165. package/dist/Tooltip/Tooltip.styles.js +3 -3
  166. package/dist/Tree/Tree.js +1 -1
  167. package/dist/Tree/Tree.styles.js +10 -10
  168. package/dist/Typeahead/Typeahead.js +7 -3
  169. package/dist/Typeahead/Typeahead.js.map +1 -1
  170. package/dist/Typeahead/Typeahead.styles.js +3 -3
  171. package/dist/Typography/Typography.styles.js +1 -1
  172. package/dist/Typography/Typography.table.story.js +2 -2
  173. package/dist/Typography/Typography.types.d.ts +1 -0
  174. package/dist/Typography/Typography.types.js.map +1 -1
  175. package/dist/_hooks/I18n.d.ts +28 -0
  176. package/dist/_locales/en.json +15 -1
  177. package/dist/_locales/pseudo.json +15 -1
  178. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  179. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  180. package/dist/_styles/colors.js +1 -3
  181. package/dist/_styles/colors.js.map +1 -1
  182. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +13 -3
  183. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  184. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +25 -25
  185. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  186. package/dist/_typedoc/Banner/Banner.types.json +15 -15
  187. package/dist/_typedoc/Box/Box.types.json +72 -72
  188. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  189. package/dist/_typedoc/Button/Button.types.json +17 -17
  190. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  191. package/dist/_typedoc/Card/Card.types.json +6 -6
  192. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  193. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  194. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  195. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  196. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  197. package/dist/_typedoc/Dropdown/Dropdown.types.json +39 -39
  198. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +31 -31
  199. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  200. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  201. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  202. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  203. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  204. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  205. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  206. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  207. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  208. package/dist/_typedoc/Form/Form.types.json +832 -832
  209. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  210. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  211. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +54 -54
  212. package/dist/_typedoc/Input/Input.types.json +2 -2
  213. package/dist/_typedoc/Link/Link.types.json +1 -1
  214. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  215. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  216. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +147 -77
  217. package/dist/_typedoc/Modal/Modal.types.json +96 -68
  218. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +33 -33
  219. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  220. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  221. package/dist/_typedoc/NumberInput/NumberInput.types.json +54 -54
  222. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +33 -33
  223. package/dist/_typedoc/PageLayout/PageLayout.types.json +28 -28
  224. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  225. package/dist/_typedoc/Panel/Panel.types.json +27 -27
  226. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  227. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  228. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  229. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  230. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  231. package/dist/_typedoc/Required/Required.types.json +5 -5
  232. package/dist/_typedoc/Search/Search.types.json +18 -18
  233. package/dist/_typedoc/Section/Section.types.json +15 -15
  234. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  235. package/dist/_typedoc/Select/Select.types.json +69 -69
  236. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  237. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  238. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  239. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  240. package/dist/_typedoc/Table/Table.types.json +102 -102
  241. package/dist/_typedoc/Tabs/Tabs.types.json +21 -21
  242. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  243. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  244. package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
  245. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  246. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  247. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
  248. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
  249. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  250. package/dist/_typedoc/Title/Title.types.json +3 -3
  251. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  252. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  253. package/dist/_typedoc/Token/Token.types.json +7 -7
  254. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  255. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +10 -10
  256. package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
  257. package/dist/_typedoc/Tree/Tree.types.json +90 -90
  258. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  259. package/dist/_typedoc/Typography/Typography.types.json +12 -11
  260. package/dist/_typedoc/_utils/types.json +3 -3
  261. package/package.json +3 -3
@@ -11,15 +11,15 @@ var optionMinHeight = 32;
11
11
  // Do not merge with StyledMenu, needed for max-height working in IE
12
12
  export var StyledWrapper = /*#__PURE__*/styled.div.withConfig({
13
13
  displayName: "StyledWrapper",
14
- componentId: "core-12_41_0__sc-z984sz-0"
14
+ componentId: "core-12_43_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_41_0__sc-z984sz-1"
18
+ componentId: "core-12_43_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_41_0__sc-z984sz-2"
22
+ componentId: "core-12_43_0__sc-z984sz-2"
23
23
  })(["flex-basis:auto;flex-grow:1;flex-shrink:1;min-height:", "px;", ";padding:", "px 0;position:relative;&:focus-visible{", " margin:-1px;}"], optionMinHeight, function (_ref) {
24
24
  var _ref$$scrollable = _ref.$scrollable,
25
25
  $scrollable = _ref$$scrollable === void 0 ? true : _ref$$scrollable;
@@ -27,34 +27,34 @@ export var StyledOptions = /*#__PURE__*/styled.div.withConfig({
27
27
  }, spacing.sm, getFocus());
28
28
  export var StyledGrip = /*#__PURE__*/styled.div.withConfig({
29
29
  displayName: "StyledGrip",
30
- componentId: "core-12_41_0__sc-z984sz-3"
31
- })(["padding:0 2px;height:24px;visibility:hidden;"]);
30
+ componentId: "core-12_43_0__sc-z984sz-3"
31
+ })(["padding:0 2px;height:24px;"]);
32
32
  export var StyledHeader = /*#__PURE__*/styled.div.withConfig({
33
33
  displayName: "StyledHeader",
34
- componentId: "core-12_41_0__sc-z984sz-4"
34
+ componentId: "core-12_43_0__sc-z984sz-4"
35
35
  })([""]);
36
36
  export var StyledSearch = /*#__PURE__*/styled.div.withConfig({
37
37
  displayName: "StyledSearch",
38
- componentId: "core-12_41_0__sc-z984sz-5"
38
+ componentId: "core-12_43_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_41_0__sc-z984sz-6"
42
+ componentId: "core-12_43_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_41_0__sc-z984sz-7"
46
+ componentId: "core-12_43_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_41_0__sc-z984sz-8"
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:", ";}", " &:hover,&:active{", "{visibility:visible;}}", "{color:inherit;cursor:pointer;}", " ", " ", ""], getTypographyIntent('body'), function (_ref2) {
50
+ componentId: "core-12_43_0__sc-z984sz-8"
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;"]);
54
54
  }, spacing.xs, spacing.lg, colors.gray15, spacing.xs, spacing.lg, spacing.xs, spacing.lg, colors.gray15, colors.gray96, function (_ref3) {
55
55
  var $highlighted = _ref3.$highlighted;
56
56
  return $highlighted && "background-color: ".concat(colors.gray96, ";");
57
- }, StyledGrip, StyledCheckboxLabel, function (_ref4) {
57
+ }, StyledCheckboxLabel, function (_ref4) {
58
58
  var $disabled = _ref4.$disabled,
59
59
  $selected = _ref4.$selected;
60
60
  if ($disabled) {
@@ -71,15 +71,15 @@ export var StyledItem = /*#__PURE__*/styled.div.withConfig({
71
71
  }, function (_ref6) {
72
72
  var $isDragging = _ref6.$isDragging;
73
73
  if ($isDragging) {
74
- return css(["background-color:", ";", "{visibility:visible;}"], colors.gray96, StyledGrip);
74
+ return css(["background-color:", ";"], colors.gray96);
75
75
  }
76
76
  });
77
77
  export var StyledDroppable = /*#__PURE__*/styled.div.withConfig({
78
78
  displayName: "StyledDroppable",
79
- componentId: "core-12_41_0__sc-z984sz-9"
79
+ componentId: "core-12_43_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_41_0__sc-z984sz-10"
83
+ componentId: "core-12_43_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 visibility: hidden;\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 &:hover,\n &:active {\n ${StyledGrip} {\n visibility: visible;\n }\n }\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 ${StyledGrip} {\n visibility: visible;\n }\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`\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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"}
@@ -198,6 +198,10 @@ interface AnchorItemProps extends Omit<ItemProps, 'item'>, Omit<React.AnchorHTML
198
198
  }
199
199
  export declare type MenuItemProps = ItemProps | ItemWithDraggingProps | AnchorItemProps;
200
200
  export declare type MenuItemDefaultElement = 'div' | 'a';
201
+ /**
202
+ * @a11y When drag-and-drop is enabled, `children` should be a string so it
203
+ * can be used for DnD announcements (exposed as `data-title`).
204
+ */
201
205
  export interface GroupProps {
202
206
  /**
203
207
  * @since 10.19.0
@@ -211,6 +215,10 @@ export interface GroupProps {
211
215
  * @since 12.39.0
212
216
  */
213
217
  label?: string;
218
+ /**
219
+ * @since 12.39.0
220
+ */
221
+ labelId?: string;
214
222
  }
215
223
  export interface OptionsProps {
216
224
  /**
@@ -253,6 +261,22 @@ export interface DroppableProps {
253
261
  * @since 10.19.0
254
262
  */
255
263
  children: React.ReactNode;
264
+ /**
265
+ * @since 12.34.2
266
+ */
267
+ 'aria-label'?: string;
268
+ /**
269
+ * @since 12.34.2
270
+ */
271
+ 'aria-labelledby'?: string;
272
+ /**
273
+ * @since 12.34.2
274
+ */
275
+ role?: React.AriaRole;
276
+ /**
277
+ * @since 12.34.2
278
+ */
279
+ 'aria-multiselectable'?: boolean;
256
280
  }
257
281
  export interface FooterProps extends Omit<BoxProps, 'as'> {
258
282
  }
@@ -270,10 +294,22 @@ export interface MenuContext {
270
294
  * @since 10.19.0
271
295
  */
272
296
  currentlyDroppableIn: string[];
297
+ /**
298
+ * @since 12.34.2
299
+ */
300
+ dndInstructionsId: string;
273
301
  /**
274
302
  * @since 10.19.0
275
303
  */
276
304
  onHoverItem: (el?: HTMLDivElement) => void;
305
+ /**
306
+ * @since 12.34.2
307
+ */
308
+ onFocusItem: (el?: HTMLDivElement) => void;
309
+ /**
310
+ * @since 12.34.2
311
+ */
312
+ onBlurItem: (el?: HTMLDivElement) => void;
277
313
  /**
278
314
  * @since 10.19.0
279
315
  */
@@ -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\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\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\nexport interface FooterProps extends Omit<BoxProps, 'as'> {}\n\nexport interface MenuContext {\n /**\n * @since 11.5.0\n */\n a11yOptionsProps: {\n role?: MenuRole\n onKeyboardNavigation?: React.KeyboardEventHandler | null\n tabIndex?: number\n id?: string\n }\n /**\n * @since 10.19.0\n */\n currentlyDroppableIn: string[]\n /**\n * @since 10.19.0\n */\n onHoverItem: (el?: HTMLDivElement) => void\n /**\n * @since 10.19.0\n */\n onScrollBottom: (e: React.UIEvent<HTMLDivElement, UIEvent>) => void\n /**\n * @since 10.19.0\n */\n onSelect: (selection: Selection) => void\n /**\n * @since 11.3.0\n */\n role: MenuRole\n}\n\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 * 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":""}
@@ -6,12 +6,15 @@ export declare const menuItemsWrapperAttribute: {
6
6
  export declare function createSensors(ref: React.RefObject<HTMLDivElement>, circular: boolean, onChangeActiveDescendant: (id: string | undefined, menuRef: Element | null) => void): {
7
7
  handleKeyDown(event: React.KeyboardEvent<HTMLDivElement>): void;
8
8
  handleItemHover(el?: HTMLDivElement): void;
9
+ handleItemFocus(el?: HTMLDivElement): void;
10
+ handleItemBlur(el?: HTMLDivElement): void;
9
11
  useKeyboardSensor(api: SensorAPI): void;
12
+ setIsDragging(isDragging: boolean): void;
10
13
  updateSelectCallback(callback: (selection: Selection) => any): void;
11
- highlight: (item: HTMLElement | null | undefined, shouldScroll?: boolean) => void;
14
+ highlight: (item: HTMLElement | null | undefined, shouldScroll?: boolean, shouldFocus?: boolean) => void;
12
15
  highlighted(): any;
13
- highlightFirst: (shouldScroll?: boolean) => void;
14
- highlightLast: (shouldScroll?: boolean) => void;
16
+ highlightFirst: (shouldScroll?: boolean, shouldFocus?: boolean) => void;
17
+ highlightLast: (shouldScroll?: boolean, shouldFocus?: boolean) => void;
15
18
  rehighlightCurrent(): void;
16
19
  highlightSelected(shouldScroll?: boolean): void;
17
20
  highlightSuggested(shouldScroll?: boolean): void;
@@ -45,8 +45,10 @@ function updateHighlightedAttribute(item, highlight) {
45
45
  export function createSensors(ref, circular, onChangeActiveDescendant) {
46
46
  var highlightedItem = null;
47
47
  var dragAndDropApi = null;
48
- var currentDrag = null;
49
48
  var onSelect = noop;
49
+ var isDraggingStateRef = {
50
+ current: false
51
+ };
50
52
  function select(event) {
51
53
  if (ref.current && highlightedItem) {
52
54
  var _highlightedItem, _highlightedItem2, _highlightedItem3, _highlightedItem4, _highlightedItem5, _onSelect;
@@ -70,6 +72,7 @@ export function createSensors(ref, circular, onChangeActiveDescendant) {
70
72
  }
71
73
  function highlightItem(item) {
72
74
  var shouldScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
75
+ var shouldFocus = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
73
76
  // performance improvement, highlightItem is called onMouseMove for Item
74
77
  if (item === highlightedItem) {
75
78
  return;
@@ -83,6 +86,9 @@ export function createSensors(ref, circular, onChangeActiveDescendant) {
83
86
  var id = (_item$getAttribute = item.getAttribute('id')) !== null && _item$getAttribute !== void 0 ? _item$getAttribute : undefined;
84
87
  onChangeActiveDescendant(id, ref.current);
85
88
  highlightedItem = item;
89
+ if (shouldFocus) {
90
+ item.focus();
91
+ }
86
92
  if (shouldScroll) {
87
93
  scrollIntoView(-1, item);
88
94
  }
@@ -90,6 +96,10 @@ export function createSensors(ref, circular, onChangeActiveDescendant) {
90
96
  onChangeActiveDescendant('', ref.current);
91
97
  }
92
98
  }
99
+ function _handleItemBlur(el) {
100
+ updateHighlightedAttribute(el, false);
101
+ highlightedItem = null;
102
+ }
93
103
  function getPrevHighlightableItem(currentItem) {
94
104
  var prev = getPrevItem(currentItem, ref.current);
95
105
  if (prev) {
@@ -113,21 +123,23 @@ export function createSensors(ref, circular, onChangeActiveDescendant) {
113
123
  }
114
124
  function highlightFirstItem() {
115
125
  var shouldScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
116
- highlightItem(getFirstItem(ref.current), shouldScroll);
126
+ var shouldFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
127
+ highlightItem(getFirstItem(ref.current), shouldScroll, shouldFocus);
117
128
  }
118
129
  function highlightLastItem() {
119
130
  var shouldScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
120
- highlightItem(getLastItem(ref.current), shouldScroll);
131
+ var shouldFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
132
+ highlightItem(getLastItem(ref.current), shouldScroll, shouldFocus);
121
133
  }
122
134
  function highlightPrevItem() {
123
135
  var _ref$current;
124
136
  if (highlightedItem && (_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contains(highlightedItem)) {
125
137
  var prev = getPrevHighlightableItem(highlightedItem);
126
138
  if (prev) {
127
- highlightItem(prev);
139
+ highlightItem(prev, true, true);
128
140
  }
129
141
  } else {
130
- highlightLastItem();
142
+ highlightLastItem(true, true);
131
143
  }
132
144
  }
133
145
  function highlightNextItem() {
@@ -135,67 +147,63 @@ export function createSensors(ref, circular, onChangeActiveDescendant) {
135
147
  if (highlightedItem && (_ref$current2 = ref.current) !== null && _ref$current2 !== void 0 && _ref$current2.contains(highlightedItem)) {
136
148
  var next = getNextHighlightableItem(highlightedItem);
137
149
  if (next) {
138
- highlightItem(next);
150
+ highlightItem(next, true, true);
139
151
  }
140
152
  } else {
141
- highlightFirstItem();
153
+ highlightFirstItem(true, true);
142
154
  }
143
155
  }
144
156
  return {
145
157
  handleKeyDown: function handleKeyDown(event) {
146
158
  if (ref.current) {
147
- var _currentDrag4;
159
+ var isDragActive = isDraggingStateRef.current;
148
160
  if (event.key === 'ArrowUp' || event.key === 'Up') {
149
- var _currentDrag;
150
- event.preventDefault();
151
- (_currentDrag = currentDrag) !== null && _currentDrag !== void 0 && _currentDrag.isActive() ? currentDrag.moveUp() : highlightPrevItem();
161
+ if (!isDragActive) {
162
+ event.preventDefault();
163
+ highlightPrevItem();
164
+ }
152
165
  } else if (event.key === 'ArrowDown' || event.key === 'Down') {
153
- var _currentDrag2;
154
- event.preventDefault();
155
- (_currentDrag2 = currentDrag) !== null && _currentDrag2 !== void 0 && _currentDrag2.isActive() ? currentDrag.moveDown() : highlightNextItem();
166
+ if (!isDragActive) {
167
+ event.preventDefault();
168
+ highlightNextItem();
169
+ }
156
170
  } else if (event.key === 'Enter') {
157
- var _currentDrag3;
158
171
  event.preventDefault();
159
- if (event.ctrlKey || event.metaKey) {
160
- var _highlightedItem6;
161
- var draggableId = (_highlightedItem6 = highlightedItem) === null || _highlightedItem6 === void 0 ? void 0 : _highlightedItem6.getAttribute('data-rbd-draggable-id');
162
- if (draggableId) {
163
- var _dragAndDropApi;
164
- var preDrag = (_dragAndDropApi = dragAndDropApi) === null || _dragAndDropApi === void 0 ? void 0 : _dragAndDropApi.tryGetLock(draggableId);
165
- if (preDrag) {
166
- currentDrag = preDrag.snapLift();
167
- }
168
- }
169
- } else if ((_currentDrag3 = currentDrag) !== null && _currentDrag3 !== void 0 && _currentDrag3.isActive()) {
170
- currentDrag.drop();
171
- } else {
172
+ if (!isDragActive) {
172
173
  select(event);
173
174
  }
174
- } else if (event.key === 'Escape' && (_currentDrag4 = currentDrag) !== null && _currentDrag4 !== void 0 && _currentDrag4.isActive()) {
175
- currentDrag.cancel();
176
175
  }
177
176
  }
178
177
  },
179
178
  handleItemHover: function handleItemHover(el) {
180
179
  highlightItem(el, false);
181
180
  },
181
+ handleItemFocus: function handleItemFocus(el) {
182
+ highlightItem(el, true, true);
183
+ },
184
+ handleItemBlur: function handleItemBlur(el) {
185
+ _handleItemBlur(el);
186
+ },
182
187
  useKeyboardSensor: function useKeyboardSensor(api) {
183
188
  dragAndDropApi = api;
184
189
  },
190
+ setIsDragging: function setIsDragging(isDragging) {
191
+ isDraggingStateRef.current = isDragging;
192
+ },
185
193
  updateSelectCallback: function updateSelectCallback(callback) {
186
194
  onSelect = callback;
187
195
  },
188
196
  highlight: highlightItem,
189
197
  highlighted: function highlighted() {
190
- var _highlightedItem7;
191
- return JSON.parse(((_highlightedItem7 = highlightedItem) === null || _highlightedItem7 === void 0 ? void 0 : _highlightedItem7.dataset.value) || 'null');
198
+ var _highlightedItem6;
199
+ return JSON.parse(((_highlightedItem6 = highlightedItem) === null || _highlightedItem6 === void 0 ? void 0 : _highlightedItem6.dataset.value) || 'null');
192
200
  },
193
201
  highlightFirst: highlightFirstItem,
194
202
  highlightLast: highlightLastItem,
195
203
  rehighlightCurrent: function rehighlightCurrent() {
196
- var _highlightedItem8;
204
+ var _highlightedItem7;
197
205
  // Rehighlights an item that may have lost its styling due to the re-render of the list items
198
- var draggableId = (_highlightedItem8 = highlightedItem) === null || _highlightedItem8 === void 0 ? void 0 : _highlightedItem8.getAttribute('data-rbd-draggable-id');
206
+ var draggableId = (_highlightedItem7 = highlightedItem) === null || _highlightedItem7 === void 0 ? void 0 : _highlightedItem7.getAttribute('data-rbd-draggable-id');
199
207
  if (draggableId) {
200
208
  var _ref$current3;
201
209
  var newItem = (_ref$current3 = ref.current) === null || _ref$current3 === void 0 ? void 0 : _ref$current3.querySelector("[data-rbd-draggable-id=\"".concat(draggableId.replace(/["\\]/g, '\\$&'), "\"]"));
@@ -1 +1 @@
1
- {"version":3,"file":"sensors.js","names":["scrollIntoView","noop","MOUSE_ENTER","MOUSE_LEAVE","menuItemsWrapperAttributeName","menuItemsWrapperAttribute","_defineProperty","isItem","element","hasAttribute","isGroup","el","JSON","parse","dataset","group","isWrapper","getAttribute","getAllItems","menu","querySelectorAll","getFirstItem","_getAllItems","getPrevItem","item","items","Array","prototype","indexOf","call","getNextItem","getLastItem","length","updateHighlightedAttribute","highlight","setAttribute","dispatchEvent","MouseEvent","createSensors","ref","circular","onChangeActiveDescendant","highlightedItem","dragAndDropApi","currentDrag","onSelect","select","event","current","_highlightedItem","_highlightedItem2","_highlightedItem3","_highlightedItem4","_highlightedItem5","_onSelect","disabled","value","selected","restoreFocus","restorefocus","undefined","tagName","click","_objectSpread","action","highlightItem","shouldScroll","arguments","_item$getAttribute","id","getPrevHighlightableItem","currentItem","prev","getNextHighlightableItem","next","highlightFirstItem","highlightLastItem","highlightPrevItem","_ref$current","contains","highlightNextItem","_ref$current2","handleKeyDown","_currentDrag4","key","_currentDrag","preventDefault","isActive","moveUp","_currentDrag2","moveDown","_currentDrag3","ctrlKey","metaKey","_highlightedItem6","draggableId","_dragAndDropApi","preDrag","tryGetLock","snapLift","drop","cancel","handleItemHover","useKeyboardSensor","api","updateSelectCallback","callback","highlighted","_highlightedItem7","highlightFirst","highlightLast","rehighlightCurrent","_highlightedItem8","_ref$current3","newItem","querySelector","concat","replace","highlightSelected","_ref$current4","selectedItem","highlightSuggested","_ref$current5","suggestedItem"],"sources":["../../src/MenuImperative/sensors.ts"],"sourcesContent":["import type {\n SensorAPI,\n SnapDragActions,\n} from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport type React from 'react'\nimport { scrollIntoView } from '../_utils/scrollIntoView'\nimport type { Selection } from './MenuImperative.types'\n\nfunction noop() {}\n\nconst MOUSE_ENTER = 'mouseenter'\nconst MOUSE_LEAVE = 'mouseleave'\n\nconst menuItemsWrapperAttributeName = 'data-core-menuimperative-items-wrapper'\nexport const menuItemsWrapperAttribute = {\n [menuItemsWrapperAttributeName]: 'true',\n}\n\nconst isItem = (element: Element | null) => element?.hasAttribute('data-value')\n\nfunction isGroup(el: HTMLElement) {\n return JSON.parse(el.dataset.group || 'false')\n}\n\nconst isWrapper = (element: Element | null) =>\n element?.getAttribute(menuItemsWrapperAttributeName) === 'true'\n\nfunction getAllItems(menu: Element | null) {\n return menu?.querySelectorAll<HTMLElement>(\n '[data-value]:not([data-group=\"true\"])'\n )\n}\n\nfunction getFirstItem(menu: Element | null) {\n return getAllItems(menu)?.[0]\n}\n\nfunction getPrevItem(item: Element, menu: Element | null): HTMLElement | null {\n const items = getAllItems(menu)\n\n return items ? items[Array.prototype.indexOf.call(items, item) - 1] : null\n}\n\nfunction getNextItem(item: Element, menu: Element | null): HTMLElement | null {\n const items = getAllItems(menu)\n\n return items ? items[Array.prototype.indexOf.call(items, item) + 1] : null\n}\n\nfunction getLastItem(menu: Element | null) {\n const items = getAllItems(menu)\n return items?.[items.length - 1]\n}\n\nfunction updateHighlightedAttribute(\n item: Element | null | undefined,\n highlight: boolean\n) {\n item?.setAttribute('data-highlighted', highlight ? 'true' : 'false')\n item?.dispatchEvent(new MouseEvent(highlight ? MOUSE_ENTER : MOUSE_LEAVE))\n}\n\nexport function createSensors(\n ref: React.RefObject<HTMLDivElement>,\n circular: boolean,\n onChangeActiveDescendant: (\n id: string | undefined,\n menuRef: Element | null\n ) => void\n) {\n let highlightedItem: HTMLElement | null = null\n let dragAndDropApi: SensorAPI | null = null\n let currentDrag: SnapDragActions | null = null\n let onSelect: (selection: Selection) => any = noop\n\n function select(\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n ) {\n if (ref.current && highlightedItem) {\n const disabled = JSON.parse(highlightedItem?.dataset.disabled || 'false')\n if (disabled) return\n\n const item = JSON.parse(highlightedItem?.dataset.value || 'null')\n const selected = JSON.parse(highlightedItem?.dataset.selected || 'false')\n const restoreFocus = highlightedItem?.dataset.restorefocus\n ? JSON.parse(highlightedItem?.dataset.restorefocus)\n : undefined\n\n if (highlightedItem.tagName === 'A') {\n highlightedItem.click()\n }\n\n onSelect?.({\n event,\n item,\n group: false,\n action: selected ? 'unselected' : 'selected',\n ...(restoreFocus === undefined ? {} : { restoreFocus }),\n })\n }\n }\n\n function highlightItem(\n item: HTMLElement | null | undefined,\n shouldScroll: boolean = true\n ) {\n // performance improvement, highlightItem is called onMouseMove for Item\n if (item === highlightedItem) {\n return\n }\n\n if (item) {\n updateHighlightedAttribute(highlightedItem, false)\n\n // TODO add localized screenreader instructions for the item\n updateHighlightedAttribute(item, true)\n\n const id = item.getAttribute('id') ?? undefined\n onChangeActiveDescendant(id, ref.current)\n\n highlightedItem = item\n\n if (shouldScroll) {\n scrollIntoView(-1, item)\n }\n } else {\n onChangeActiveDescendant('', ref.current)\n }\n }\n\n function getPrevHighlightableItem(\n currentItem: HTMLElement\n ): HTMLElement | null | undefined {\n const prev = getPrevItem(currentItem, ref.current)\n if (prev) {\n if (isItem(prev)) {\n return prev\n }\n } else if (circular) {\n return getLastItem(ref.current)\n }\n\n return prev\n }\n\n function getNextHighlightableItem(\n currentItem: HTMLElement\n ): HTMLElement | null | undefined {\n const next = getNextItem(currentItem, ref.current)\n\n if (next) {\n if (isItem(next)) {\n return next\n }\n } else if (circular) {\n return getFirstItem(ref.current)\n }\n }\n\n function highlightFirstItem(shouldScroll: boolean = true) {\n highlightItem(getFirstItem(ref.current), shouldScroll)\n }\n\n function highlightLastItem(shouldScroll: boolean = true) {\n highlightItem(getLastItem(ref.current), shouldScroll)\n }\n\n function highlightPrevItem() {\n if (highlightedItem && ref.current?.contains(highlightedItem)) {\n const prev = getPrevHighlightableItem(highlightedItem)\n if (prev) {\n highlightItem(prev)\n }\n } else {\n highlightLastItem()\n }\n }\n\n function highlightNextItem() {\n if (highlightedItem && ref.current?.contains(highlightedItem)) {\n const next = getNextHighlightableItem(highlightedItem)\n if (next) {\n highlightItem(next)\n }\n } else {\n highlightFirstItem()\n }\n }\n\n return {\n handleKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n if (ref.current) {\n if (event.key === 'ArrowUp' || event.key === 'Up') {\n event.preventDefault()\n currentDrag?.isActive() ? currentDrag.moveUp() : highlightPrevItem()\n } else if (event.key === 'ArrowDown' || event.key === 'Down') {\n event.preventDefault()\n currentDrag?.isActive() ? currentDrag.moveDown() : highlightNextItem()\n } else if (event.key === 'Enter') {\n event.preventDefault()\n if (event.ctrlKey || event.metaKey) {\n const draggableId = highlightedItem?.getAttribute(\n 'data-rbd-draggable-id'\n )\n if (draggableId) {\n const preDrag = dragAndDropApi?.tryGetLock(draggableId)\n if (preDrag) {\n currentDrag = preDrag.snapLift()\n }\n }\n } else if (currentDrag?.isActive()) {\n currentDrag.drop()\n } else {\n select(event)\n }\n } else if (event.key === 'Escape' && currentDrag?.isActive()) {\n currentDrag.cancel()\n }\n }\n },\n handleItemHover(el?: HTMLDivElement) {\n highlightItem(el, false)\n },\n useKeyboardSensor(api: SensorAPI) {\n dragAndDropApi = api\n },\n\n updateSelectCallback(callback: (selection: Selection) => any) {\n onSelect = callback\n },\n\n highlight: highlightItem,\n\n highlighted() {\n return JSON.parse(highlightedItem?.dataset.value || 'null')\n },\n\n highlightFirst: highlightFirstItem,\n highlightLast: highlightLastItem,\n rehighlightCurrent() {\n // Rehighlights an item that may have lost its styling due to the re-render of the list items\n const draggableId = highlightedItem?.getAttribute('data-rbd-draggable-id')\n if (draggableId) {\n const newItem = ref.current?.querySelector<HTMLElement>(\n `[data-rbd-draggable-id=\"${draggableId.replace(/[\"\\\\]/g, '\\\\$&')}\"]`\n )\n highlightItem(newItem)\n }\n },\n\n highlightSelected(shouldScroll: boolean = true) {\n const selectedItem = ref.current?.querySelector<HTMLElement>(\n '[data-selected=\"true\"]'\n )\n\n highlightItem(selectedItem, shouldScroll)\n },\n\n highlightSuggested(shouldScroll: boolean = true) {\n const suggestedItem = ref.current?.querySelector<HTMLElement>(\n '[data-suggested=\"true\"]'\n )\n\n highlightItem(suggestedItem, shouldScroll)\n },\n\n prev: highlightPrevItem,\n next: highlightNextItem,\n select,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sensors.js","names":["scrollIntoView","noop","MOUSE_ENTER","MOUSE_LEAVE","menuItemsWrapperAttributeName","menuItemsWrapperAttribute","_defineProperty","isItem","element","hasAttribute","isGroup","el","JSON","parse","dataset","group","isWrapper","getAttribute","getAllItems","menu","querySelectorAll","getFirstItem","_getAllItems","getPrevItem","item","items","Array","prototype","indexOf","call","getNextItem","getLastItem","length","updateHighlightedAttribute","highlight","setAttribute","dispatchEvent","MouseEvent","createSensors","ref","circular","onChangeActiveDescendant","highlightedItem","dragAndDropApi","onSelect","isDraggingStateRef","current","select","event","_highlightedItem","_highlightedItem2","_highlightedItem3","_highlightedItem4","_highlightedItem5","_onSelect","disabled","value","selected","restoreFocus","restorefocus","undefined","tagName","click","_objectSpread","action","highlightItem","shouldScroll","arguments","shouldFocus","_item$getAttribute","id","focus","handleItemBlur","getPrevHighlightableItem","currentItem","prev","getNextHighlightableItem","next","highlightFirstItem","highlightLastItem","highlightPrevItem","_ref$current","contains","highlightNextItem","_ref$current2","handleKeyDown","isDragActive","key","preventDefault","handleItemHover","handleItemFocus","useKeyboardSensor","api","setIsDragging","isDragging","updateSelectCallback","callback","highlighted","_highlightedItem6","highlightFirst","highlightLast","rehighlightCurrent","_highlightedItem7","draggableId","_ref$current3","newItem","querySelector","concat","replace","highlightSelected","_ref$current4","selectedItem","highlightSuggested","_ref$current5","suggestedItem"],"sources":["../../src/MenuImperative/sensors.ts"],"sourcesContent":["import type { SensorAPI } from '@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration'\nimport type React from 'react'\nimport { scrollIntoView } from '../_utils/scrollIntoView'\nimport type { Selection } from './MenuImperative.types'\n\nfunction noop() {}\n\nconst MOUSE_ENTER = 'mouseenter'\nconst MOUSE_LEAVE = 'mouseleave'\n\nconst menuItemsWrapperAttributeName = 'data-core-menuimperative-items-wrapper'\nexport const menuItemsWrapperAttribute = {\n [menuItemsWrapperAttributeName]: 'true',\n}\n\nconst isItem = (element: Element | null) => element?.hasAttribute('data-value')\n\nfunction isGroup(el: HTMLElement) {\n return JSON.parse(el.dataset.group || 'false')\n}\n\nconst isWrapper = (element: Element | null) =>\n element?.getAttribute(menuItemsWrapperAttributeName) === 'true'\n\nfunction getAllItems(menu: Element | null) {\n return menu?.querySelectorAll<HTMLElement>(\n '[data-value]:not([data-group=\"true\"])'\n )\n}\n\nfunction getFirstItem(menu: Element | null) {\n return getAllItems(menu)?.[0]\n}\n\nfunction getPrevItem(item: Element, menu: Element | null): HTMLElement | null {\n const items = getAllItems(menu)\n\n return items ? items[Array.prototype.indexOf.call(items, item) - 1] : null\n}\n\nfunction getNextItem(item: Element, menu: Element | null): HTMLElement | null {\n const items = getAllItems(menu)\n\n return items ? items[Array.prototype.indexOf.call(items, item) + 1] : null\n}\n\nfunction getLastItem(menu: Element | null) {\n const items = getAllItems(menu)\n return items?.[items.length - 1]\n}\n\nfunction updateHighlightedAttribute(\n item: Element | null | undefined,\n highlight: boolean\n) {\n item?.setAttribute('data-highlighted', highlight ? 'true' : 'false')\n item?.dispatchEvent(new MouseEvent(highlight ? MOUSE_ENTER : MOUSE_LEAVE))\n}\n\nexport function createSensors(\n ref: React.RefObject<HTMLDivElement>,\n circular: boolean,\n onChangeActiveDescendant: (\n id: string | undefined,\n menuRef: Element | null\n ) => void\n) {\n let highlightedItem: HTMLElement | null = null\n let dragAndDropApi: SensorAPI | null = null\n let onSelect: (selection: Selection) => any = noop\n const isDraggingStateRef = { current: false }\n\n function select(\n event:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>\n ) {\n if (ref.current && highlightedItem) {\n const disabled = JSON.parse(highlightedItem?.dataset.disabled || 'false')\n if (disabled) return\n\n const item = JSON.parse(highlightedItem?.dataset.value || 'null')\n const selected = JSON.parse(highlightedItem?.dataset.selected || 'false')\n const restoreFocus = highlightedItem?.dataset.restorefocus\n ? JSON.parse(highlightedItem?.dataset.restorefocus)\n : undefined\n\n if (highlightedItem.tagName === 'A') {\n highlightedItem.click()\n }\n\n onSelect?.({\n event,\n item,\n group: false,\n action: selected ? 'unselected' : 'selected',\n ...(restoreFocus === undefined ? {} : { restoreFocus }),\n })\n }\n }\n\n function highlightItem(\n item: HTMLElement | null | undefined,\n shouldScroll: boolean = true,\n shouldFocus: boolean = false\n ) {\n // performance improvement, highlightItem is called onMouseMove for Item\n if (item === highlightedItem) {\n return\n }\n\n if (item) {\n updateHighlightedAttribute(highlightedItem, false)\n\n // TODO add localized screenreader instructions for the item\n updateHighlightedAttribute(item, true)\n\n const id = item.getAttribute('id') ?? undefined\n onChangeActiveDescendant(id, ref.current)\n\n highlightedItem = item\n\n if (shouldFocus) {\n item.focus()\n }\n\n if (shouldScroll) {\n scrollIntoView(-1, item)\n }\n } else {\n onChangeActiveDescendant('', ref.current)\n }\n }\n\n function handleItemBlur(el?: HTMLDivElement) {\n updateHighlightedAttribute(el, false)\n highlightedItem = null\n }\n\n function getPrevHighlightableItem(\n currentItem: HTMLElement\n ): HTMLElement | null | undefined {\n const prev = getPrevItem(currentItem, ref.current)\n if (prev) {\n if (isItem(prev)) {\n return prev\n }\n } else if (circular) {\n return getLastItem(ref.current)\n }\n\n return prev\n }\n\n function getNextHighlightableItem(\n currentItem: HTMLElement\n ): HTMLElement | null | undefined {\n const next = getNextItem(currentItem, ref.current)\n\n if (next) {\n if (isItem(next)) {\n return next\n }\n } else if (circular) {\n return getFirstItem(ref.current)\n }\n }\n\n function highlightFirstItem(\n shouldScroll: boolean = true,\n shouldFocus: boolean = true\n ) {\n highlightItem(getFirstItem(ref.current), shouldScroll, shouldFocus)\n }\n\n function highlightLastItem(\n shouldScroll: boolean = true,\n shouldFocus: boolean = true\n ) {\n highlightItem(getLastItem(ref.current), shouldScroll, shouldFocus)\n }\n\n function highlightPrevItem() {\n if (highlightedItem && ref.current?.contains(highlightedItem)) {\n const prev = getPrevHighlightableItem(highlightedItem)\n if (prev) {\n highlightItem(prev, true, true)\n }\n } else {\n highlightLastItem(true, true)\n }\n }\n\n function highlightNextItem() {\n if (highlightedItem && ref.current?.contains(highlightedItem)) {\n const next = getNextHighlightableItem(highlightedItem)\n if (next) {\n highlightItem(next, true, true)\n }\n } else {\n highlightFirstItem(true, true)\n }\n }\n\n return {\n handleKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n if (ref.current) {\n const isDragActive = isDraggingStateRef.current\n if (event.key === 'ArrowUp' || event.key === 'Up') {\n if (!isDragActive) {\n event.preventDefault()\n highlightPrevItem()\n }\n } else if (event.key === 'ArrowDown' || event.key === 'Down') {\n if (!isDragActive) {\n event.preventDefault()\n highlightNextItem()\n }\n } else if (event.key === 'Enter') {\n event.preventDefault()\n if (!isDragActive) {\n select(event)\n }\n }\n }\n },\n handleItemHover(el?: HTMLDivElement) {\n highlightItem(el, false)\n },\n handleItemFocus(el?: HTMLDivElement) {\n highlightItem(el, true, true)\n },\n handleItemBlur(el?: HTMLDivElement) {\n handleItemBlur(el)\n },\n useKeyboardSensor(api: SensorAPI) {\n dragAndDropApi = api\n },\n setIsDragging(isDragging: boolean) {\n isDraggingStateRef.current = isDragging\n },\n\n updateSelectCallback(callback: (selection: Selection) => any) {\n onSelect = callback\n },\n\n highlight: highlightItem,\n\n highlighted() {\n return JSON.parse(highlightedItem?.dataset.value || 'null')\n },\n\n highlightFirst: highlightFirstItem,\n highlightLast: highlightLastItem,\n rehighlightCurrent() {\n // Rehighlights an item that may have lost its styling due to the re-render of the list items\n const draggableId = highlightedItem?.getAttribute('data-rbd-draggable-id')\n if (draggableId) {\n const newItem = ref.current?.querySelector<HTMLElement>(\n `[data-rbd-draggable-id=\"${draggableId.replace(/[\"\\\\]/g, '\\\\$&')}\"]`\n )\n highlightItem(newItem)\n }\n },\n\n highlightSelected(shouldScroll: boolean = true) {\n const selectedItem = ref.current?.querySelector<HTMLElement>(\n '[data-selected=\"true\"]'\n )\n\n highlightItem(selectedItem, shouldScroll)\n },\n\n highlightSuggested(shouldScroll: boolean = true) {\n const suggestedItem = ref.current?.querySelector<HTMLElement>(\n '[data-suggested=\"true\"]'\n )\n\n highlightItem(suggestedItem, shouldScroll)\n },\n\n prev: highlightPrevItem,\n next: highlightNextItem,\n select,\n }\n}\n"],"mappings":"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"}
@@ -32,6 +32,10 @@ export declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.R
32
32
  FooterNotation: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & TypographyProps & React.RefAttributes<HTMLSpanElement>>;
33
33
  FooterSummary: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
34
34
  Header: React.ForwardRefExoticComponent<ModalCloseableHeaderProps & React.RefAttributes<HTMLDivElement>>;
35
+ /**
36
+ * @a11y The primary heading inside the `Modal.Header` that is auto linked
37
+ * to the dialog and scroll region with aria-labelledby.
38
+ */
35
39
  Heading: (props: React.PropsWithChildren<HeadingProps & {
36
40
  level?: number;
37
41
  }>) => React.JSX.Element;