@procore/core-react 12.43.0 → 12.45.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 (264) hide show
  1. package/CHANGELOG.md +32 -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/AnchorNavigation/AnchorNavigationProvider.js +11 -0
  9. package/dist/AnchorNavigation/AnchorNavigationProvider.js.map +1 -1
  10. package/dist/Avatar/Avatar.styles.js +5 -5
  11. package/dist/AvatarStack/AvatarStack.js +3 -1
  12. package/dist/AvatarStack/AvatarStack.js.map +1 -1
  13. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  14. package/dist/Badge/Badge.styles.js +2 -2
  15. package/dist/BadgePill/BadgePill.styles.js +4 -4
  16. package/dist/Banner/Banner.styles.js +10 -10
  17. package/dist/Box/Box.styles.js +1 -1
  18. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  19. package/dist/Button/Button.styles.js +5 -5
  20. package/dist/Button/Button.types.d.ts +5 -0
  21. package/dist/Button/Button.types.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.styles.js +6 -6
  25. package/dist/ContactItem/ContactItem.styles.js +5 -5
  26. package/dist/Content/Content.styles.js +2 -2
  27. package/dist/DateInput/DateInput.styles.js +6 -6
  28. package/dist/DetailPage/DetailPage.styles.js +7 -7
  29. package/dist/Dropdown/Dropdown.js +5 -2
  30. package/dist/Dropdown/Dropdown.js.map +1 -1
  31. package/dist/Dropdown/Dropdown.styles.js +3 -3
  32. package/dist/Dropdown/Dropdown.types.d.ts +1 -1
  33. package/dist/Dropdown/Dropdown.types.js.map +1 -1
  34. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  35. package/dist/Dropzone/Dropzone.js +1 -1
  36. package/dist/Dropzone/Dropzone.styles.js +9 -9
  37. package/dist/EmptyState/EmptyState.styles.js +6 -6
  38. package/dist/Field/Field.styles.js +3 -3
  39. package/dist/FileList/FileList.styles.js +3 -3
  40. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  41. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  42. package/dist/FileSelect/FileSelect.styles.js +2 -2
  43. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  44. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  45. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  46. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  47. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  48. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  49. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  50. package/dist/FileToken/FileToken.styles.js +6 -6
  51. package/dist/FilterToken/FilterToken.styles.js +5 -5
  52. package/dist/FlexList/FlexList.styles.js +1 -1
  53. package/dist/Form/Form.js +11 -4
  54. package/dist/Form/Form.js.map +1 -1
  55. package/dist/Form/Form.styles.d.ts +518 -8
  56. package/dist/Form/Form.styles.js +15 -15
  57. package/dist/Form/Form.styles.js.map +1 -1
  58. package/dist/Form/Form.types.d.ts +2 -3
  59. package/dist/Form/Form.types.js.map +1 -1
  60. package/dist/Form/StyledFormikForm.styles.js +2 -2
  61. package/dist/Form/stories/util.js +3 -14
  62. package/dist/Form/stories/util.js.map +1 -1
  63. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  64. package/dist/Grid/Grid.styles.js +2 -2
  65. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  66. package/dist/Input/Input.styles.js +1 -1
  67. package/dist/Link/Link.styles.js +1 -1
  68. package/dist/ListPage/ListPage.styles.js +8 -8
  69. package/dist/Loader/Loader.styles.js +2 -2
  70. package/dist/MenuImperative/MenuImperative.js +6 -4
  71. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  72. package/dist/MenuImperative/MenuImperative.styles.js +13 -13
  73. package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
  74. package/dist/MenuImperative/MenuImperative.types.d.ts +2 -4
  75. package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
  76. package/dist/Modal/Modal.styles.js +13 -13
  77. package/dist/MultiSelect/MultiSelect.js +0 -2
  78. package/dist/MultiSelect/MultiSelect.js.map +1 -1
  79. package/dist/MultiSelect/MultiSelect.styles.js +8 -8
  80. package/dist/NextMenu/NextMenu.styles.js +3 -3
  81. package/dist/Notation/Notation.js +1 -1
  82. package/dist/NumberInput/NumberInput.styles.js +7 -7
  83. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  84. package/dist/OverlayTrigger/OverlayTrigger.js +6 -0
  85. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  86. package/dist/PageLayout/PageLayout.styles.js +16 -16
  87. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  88. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  89. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  90. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  91. package/dist/Pagination/Pagination.styles.js +5 -5
  92. package/dist/Panel/Panel.styles.js +11 -11
  93. package/dist/Pill/Pill.styles.js +3 -3
  94. package/dist/PillSelect/PillSelect.js +0 -1
  95. package/dist/PillSelect/PillSelect.js.map +1 -1
  96. package/dist/PillSelect/PillSelect.styles.js +4 -4
  97. package/dist/Popover/Popover.styles.js +2 -2
  98. package/dist/Portal/Portal.styles.js +1 -1
  99. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  100. package/dist/RadioButton/RadioButton.styles.js +3 -3
  101. package/dist/Required/Required.styles.js +3 -3
  102. package/dist/Search/Search.styles.js +5 -5
  103. package/dist/Section/Section.styles.js +7 -7
  104. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  105. package/dist/Select/Select.js +2 -1
  106. package/dist/Select/Select.js.map +1 -1
  107. package/dist/Select/Select.styles.js +8 -8
  108. package/dist/Semantic/Semantic.styles.js +9 -9
  109. package/dist/Slider/Slider.js +4 -1
  110. package/dist/Slider/Slider.js.map +1 -1
  111. package/dist/Slider/Slider.styles.d.ts +5 -1
  112. package/dist/Slider/Slider.styles.js +16 -11
  113. package/dist/Slider/Slider.styles.js.map +1 -1
  114. package/dist/Spinner/Spinner.js +3 -1
  115. package/dist/Spinner/Spinner.js.map +1 -1
  116. package/dist/Spinner/Spinner.styles.js +7 -7
  117. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  118. package/dist/SuperSelect/SuperSelect.components.js +8 -1
  119. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  120. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  121. package/dist/SuperSelect/SuperSelect.styles.js +39 -39
  122. package/dist/Switch/Switch.styles.js +4 -4
  123. package/dist/Table/Table.js +19 -14
  124. package/dist/Table/Table.js.map +1 -1
  125. package/dist/Table/Table.styles.d.ts +10 -16
  126. package/dist/Table/Table.styles.js +83 -86
  127. package/dist/Table/Table.styles.js.map +1 -1
  128. package/dist/TableShelf/TableShelf.styles.js +5 -5
  129. package/dist/Tabs/Tabs.js +41 -28
  130. package/dist/Tabs/Tabs.js.map +1 -1
  131. package/dist/Tabs/Tabs.styles.d.ts +6 -0
  132. package/dist/Tabs/Tabs.styles.js +29 -20
  133. package/dist/Tabs/Tabs.styles.js.map +1 -1
  134. package/dist/Tabs/Tabs.types.d.ts +8 -0
  135. package/dist/Tabs/Tabs.types.js.map +1 -1
  136. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  137. package/dist/TextArea/TextArea.styles.js +1 -1
  138. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  139. package/dist/Thumbnail/Thumbnail.js +4 -0
  140. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  141. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  142. package/dist/Thumbnail/Thumbnail.types.d.ts +12 -0
  143. package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
  144. package/dist/Thumbnail/ThumbnailCaption.d.ts +1 -1
  145. package/dist/Thumbnail/ThumbnailCaption.js +15 -7
  146. package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
  147. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  148. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  149. package/dist/Tile/Tile.styles.js +8 -8
  150. package/dist/Title/Title.styles.js +7 -7
  151. package/dist/Toast/Toast.styles.js +3 -3
  152. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  153. package/dist/Token/Token.styles.js +3 -3
  154. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  155. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  156. package/dist/Tooltip/Tooltip.styles.js +3 -3
  157. package/dist/Tree/Tree.js +1 -1
  158. package/dist/Tree/Tree.styles.js +10 -10
  159. package/dist/Typeahead/Typeahead.styles.js +3 -3
  160. package/dist/Typography/Typography.styles.js +1 -1
  161. package/dist/Typography/Typography.table.story.js +2 -2
  162. package/dist/_hooks/I18n.d.ts +744 -30
  163. package/dist/_locales/de-DE.json +20 -2
  164. package/dist/_locales/en-AU.json +20 -2
  165. package/dist/_locales/en-CA.json +20 -2
  166. package/dist/_locales/en-GB.json +20 -2
  167. package/dist/_locales/en.json +1 -0
  168. package/dist/_locales/es-ES.json +21 -3
  169. package/dist/_locales/es.json +20 -2
  170. package/dist/_locales/fr-CA.json +21 -3
  171. package/dist/_locales/fr-FR.json +26 -8
  172. package/dist/_locales/is-IS.json +20 -2
  173. package/dist/_locales/it-IT.json +20 -2
  174. package/dist/_locales/ja-JP.json +21 -3
  175. package/dist/_locales/nb-NO.json +410 -1
  176. package/dist/_locales/pl-PL.json +20 -2
  177. package/dist/_locales/pseudo.json +1 -0
  178. package/dist/_locales/pt-BR.json +20 -2
  179. package/dist/_locales/pt-PT.json +23 -5
  180. package/dist/_locales/th-TH.json +20 -2
  181. package/dist/_locales/zh-SG.json +20 -2
  182. package/dist/_locales/zh-TW.json +23 -5
  183. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  184. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  185. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +4 -4
  186. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  187. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +25 -25
  188. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  189. package/dist/_typedoc/Banner/Banner.types.json +15 -15
  190. package/dist/_typedoc/Box/Box.types.json +68 -68
  191. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  192. package/dist/_typedoc/Button/Button.types.json +24 -13
  193. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  194. package/dist/_typedoc/Card/Card.types.json +6 -6
  195. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  196. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  197. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  198. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  199. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  200. package/dist/_typedoc/Dropdown/Dropdown.types.json +50 -38
  201. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +31 -31
  202. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  203. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  204. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  205. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  206. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  207. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  208. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  209. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  210. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  211. package/dist/_typedoc/Form/Form.types.json +824 -824
  212. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  213. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  214. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +54 -54
  215. package/dist/_typedoc/Input/Input.types.json +2 -2
  216. package/dist/_typedoc/Link/Link.types.json +1 -1
  217. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  218. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  219. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +90 -88
  220. package/dist/_typedoc/Modal/Modal.types.json +48 -48
  221. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +33 -33
  222. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  223. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  224. package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
  225. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +33 -33
  226. package/dist/_typedoc/PageLayout/PageLayout.types.json +28 -28
  227. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  228. package/dist/_typedoc/Panel/Panel.types.json +38 -27
  229. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  230. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  231. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  232. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  233. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  234. package/dist/_typedoc/Required/Required.types.json +5 -5
  235. package/dist/_typedoc/Search/Search.types.json +18 -18
  236. package/dist/_typedoc/Section/Section.types.json +15 -15
  237. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  238. package/dist/_typedoc/Select/Select.types.json +67 -67
  239. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  240. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  241. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  242. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  243. package/dist/_typedoc/Table/Table.types.json +102 -102
  244. package/dist/_typedoc/Tabs/Tabs.types.json +23 -22
  245. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  246. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  247. package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
  248. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  249. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  250. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
  251. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
  252. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  253. package/dist/_typedoc/Title/Title.types.json +1 -1
  254. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  255. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  256. package/dist/_typedoc/Token/Token.types.json +7 -7
  257. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  258. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
  259. package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
  260. package/dist/_typedoc/Tree/Tree.types.json +88 -88
  261. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  262. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  263. package/dist/_typedoc/_utils/types.json +3 -3
  264. package/package.json +1 -1
@@ -39,7 +39,7 @@ var expandContent = function expandContent(maxHeight) {
39
39
  };
40
40
  export var StyledBannerContainer = /*#__PURE__*/styled.div.withConfig({
41
41
  displayName: "StyledBannerContainer",
42
- componentId: "core-12_43_0__sc-149wm7c-0"
42
+ componentId: "core-12_45_0__sc-149wm7c-0"
43
43
  })(["align-items:center;border-left:", "px solid;border-radius:", "px;color:", ";display:flex;justify-content:space-between;min-height:52px;padding:0 ", "px;", " ", " ", ""], bannerLeft, borderRadius.md, colors.gray15, spacing.lg, bannerShadow, function (_ref) {
44
44
  var $variant = _ref.$variant;
45
45
  var _bannerVariantColors$ = bannerVariantColors[$variant],
@@ -52,15 +52,15 @@ export var StyledBannerContainer = /*#__PURE__*/styled.div.withConfig({
52
52
  });
53
53
  export var StyledContent = /*#__PURE__*/styled.div.withConfig({
54
54
  displayName: "StyledContent",
55
- componentId: "core-12_43_0__sc-149wm7c-1"
55
+ componentId: "core-12_45_0__sc-149wm7c-1"
56
56
  })(["align-self:center;margin:", "px ", "px ", "px 0;width:100%;"], spacing.sm, spacing.lg, spacing.sm);
57
57
  export var StyledExpandableContentContainer = /*#__PURE__*/styled(Flex).withConfig({
58
58
  displayName: "StyledExpandableContentContainer",
59
- componentId: "core-12_43_0__sc-149wm7c-2"
59
+ componentId: "core-12_45_0__sc-149wm7c-2"
60
60
  })(["color:", ";min-height:52px;padding:0 ", "px;position:relative;z-index:1;", ""], colors.gray15, spacing.lg, bannerShadow);
61
61
  export var StyledExpandableContent = /*#__PURE__*/styled(Flex).withConfig({
62
62
  displayName: "StyledExpandableContent",
63
- componentId: "core-12_43_0__sc-149wm7c-3"
63
+ componentId: "core-12_45_0__sc-149wm7c-3"
64
64
  })(["animation-duration:450ms;animation-fill-mode:forwards;animation-timing-function:ease-out;background-color:", ";box-sizing:border-box;font-size:14px;font-weight:500;letter-spacing:0.25px;line-height:20px;overflow-y:auto;padding:0 ", "px;position:relative;z-index:0;", " ", ""], colors.white, spacing.xl * 2 + spacing.sm, function (_ref3) {
65
65
  var $isOverflowingY = _ref3.$isOverflowingY;
66
66
  return $isOverflowingY && focusable;
@@ -70,23 +70,23 @@ export var StyledExpandableContent = /*#__PURE__*/styled(Flex).withConfig({
70
70
  });
71
71
  export var StyledTitle = /*#__PURE__*/styled.div.withConfig({
72
72
  displayName: "StyledTitle",
73
- componentId: "core-12_43_0__sc-149wm7c-4"
73
+ componentId: "core-12_45_0__sc-149wm7c-4"
74
74
  })(["", " color:", ";font-weight:", ";"], getTypographyIntent('body'), colors.gray15, typographyWeights.semibold);
75
75
  export var StyledBody = /*#__PURE__*/styled.div.withConfig({
76
76
  displayName: "StyledBody",
77
- componentId: "core-12_43_0__sc-149wm7c-5"
77
+ componentId: "core-12_45_0__sc-149wm7c-5"
78
78
  })(["", " color:", ";"], getTypographyIntent('body'), colors.gray15);
79
79
  export var StyledIconContainer = /*#__PURE__*/styled.div.withConfig({
80
80
  displayName: "StyledIconContainer",
81
- componentId: "core-12_43_0__sc-149wm7c-6"
81
+ componentId: "core-12_45_0__sc-149wm7c-6"
82
82
  })(["flex:0 0 auto;margin:", "px 0;"], spacing.lg);
83
83
  export var StyledActionsTrigger = /*#__PURE__*/styled(DropdownButton).withConfig({
84
84
  displayName: "StyledActionsTrigger",
85
- componentId: "core-12_43_0__sc-149wm7c-7"
85
+ componentId: "core-12_45_0__sc-149wm7c-7"
86
86
  })(["flex-shrink:0;& + ", ",& + ", "{margin-left:-", "px;}"], StyledButton, StyledLinkButton, spacing.sm);
87
87
  export var StyledAction = /*#__PURE__*/styled.div.withConfig({
88
88
  displayName: "StyledAction",
89
- componentId: "core-12_43_0__sc-149wm7c-8"
89
+ componentId: "core-12_45_0__sc-149wm7c-8"
90
90
  })(["margin:", "px 0 ", "px -", "px;& + ", ",& + ", ",& + ", "{margin-left:-", "px;}", ",", "{background:rgba(0,0,0,0.05);color:", ";&:hover{background:", ";color:", ";}}"], spacing.sm, spacing.sm, spacing.sm, StyledButton, StyledLinkButton, StyledActionsTrigger, spacing.sm, StyledButton, StyledLinkButton, colors.gray15, colors.gray85, colors.gray15);
91
91
  function getMiniBannerIconColor(_ref5) {
92
92
  var variant = _ref5.variant;
@@ -94,6 +94,6 @@ function getMiniBannerIconColor(_ref5) {
94
94
  }
95
95
  export var StyledMiniBannerContainer = /*#__PURE__*/styled.div.withConfig({
96
96
  displayName: "StyledMiniBannerContainer",
97
- componentId: "core-12_43_0__sc-149wm7c-9"
97
+ componentId: "core-12_45_0__sc-149wm7c-9"
98
98
  })(["align-items:center;background-color:", ";display:flex;justify-content:space-between;padding:0 ", "px;", " ", " & ", "{margin:", "px;}"], colors.gray96, spacing.md, getTypographyIntent('small'), getMiniBannerIconColor, StyledContent, spacing.sm);
99
99
  //# sourceMappingURL=Banner.styles.js.map
@@ -21,7 +21,7 @@ function sizeToPx(size) {
21
21
  }
22
22
  export var StyledBox = /*#__PURE__*/styled.div.withConfig({
23
23
  displayName: "StyledBox",
24
- componentId: "core-12_43_0__sc-fgsy0p-0"
24
+ componentId: "core-12_45_0__sc-fgsy0p-0"
25
25
  })(["", " ", ""], function (_ref) {
26
26
  var as = _ref.as;
27
27
  if (as === 'ol' || as === 'ul') {
@@ -4,19 +4,19 @@ import { colors } from '../_styles/colors';
4
4
  import { spacing } from '../_styles/spacing';
5
5
  export var StyledContainer = /*#__PURE__*/styled.nav.withConfig({
6
6
  displayName: "StyledContainer",
7
- componentId: "core-12_43_0__sc-1q6nqfz-0"
7
+ componentId: "core-12_45_0__sc-1q6nqfz-0"
8
8
  })(["color:", ";display:flex;align-items:center;a,a:hover{display:inline-flex;text-decoration:none;}"], colors.gray50);
9
9
  export var StyledList = /*#__PURE__*/styled.ol.withConfig({
10
10
  displayName: "StyledList",
11
- componentId: "core-12_43_0__sc-1q6nqfz-1"
11
+ componentId: "core-12_45_0__sc-1q6nqfz-1"
12
12
  })(["display:flex;margin:0;padding-left:0;"]);
13
13
  export var StyledSeparator = /*#__PURE__*/styled.div.withConfig({
14
14
  displayName: "StyledSeparator",
15
- componentId: "core-12_43_0__sc-1q6nqfz-2"
15
+ componentId: "core-12_45_0__sc-1q6nqfz-2"
16
16
  })(["align-items:center;display:inline-flex;justify-content:center;margin:0px ", "px;"], spacing.xs);
17
17
  export var StyledCrumb = /*#__PURE__*/styled.li.withConfig({
18
18
  displayName: "StyledCrumb",
19
- componentId: "core-12_43_0__sc-1q6nqfz-3"
19
+ componentId: "core-12_45_0__sc-1q6nqfz-3"
20
20
  })(["", " align-items:center;color:", ";display:inline-flex;min-height:24px;text-decoration:none;&:hover{cursor:", ";text-decoration:", ";}> a{color:", ";", "}", ""], getTypographyIntent('body'), colors.gray45, function (_ref) {
21
21
  var active = _ref.active;
22
22
  return active ? 'default' : 'pointer';
@@ -93,11 +93,11 @@ function getColors(loading, variant) {
93
93
  }
94
94
  export var StyledContent = /*#__PURE__*/styled.span.withConfig({
95
95
  displayName: "StyledContent",
96
- componentId: "core-12_43_0__sc-c5bhwh-0"
96
+ componentId: "core-12_45_0__sc-c5bhwh-0"
97
97
  })(["align-items:center;display:flex;overflow:hidden;"]);
98
98
  export var StyledSpinner = /*#__PURE__*/styled(Spinner).withConfig({
99
99
  displayName: "StyledSpinner",
100
- componentId: "core-12_43_0__sc-c5bhwh-1"
100
+ componentId: "core-12_45_0__sc-c5bhwh-1"
101
101
  })(["box-sizing:border-box;display:none;position:absolute;transform:translateZ(0);@media ", "{left:50%;top:50%;", "}"], mediaIE11Hack, function (_ref) {
102
102
  var size = _ref.size;
103
103
  var margin = -1 * (spinnerDimensions[size !== null && size !== void 0 ? size : defaultSpinnerSize] / 2);
@@ -105,14 +105,14 @@ export var StyledSpinner = /*#__PURE__*/styled(Spinner).withConfig({
105
105
  });
106
106
  export var StyledLabel = /*#__PURE__*/styled.span.withConfig({
107
107
  displayName: "StyledLabel",
108
- componentId: "core-12_43_0__sc-c5bhwh-2"
108
+ componentId: "core-12_45_0__sc-c5bhwh-2"
109
109
  })(["overflow:hidden;padding:0 6px;text-overflow:ellipsis;white-space:nowrap;& + span{padding-left:0;}"]);
110
110
  export function getButtonStyles(block, disabled, loading, size, variant) {
111
111
  return css(["", " ", " ", " ", " align-items:center;border-radius:", "px;border:0;box-sizing:border-box;cursor:pointer;display:inline-flex;flex-direction:row;flex-shrink:0;font-family:inherit;font-weight:", ";height:", "px;justify-content:center;margin:0;overflow:hidden;padding:0 ", "px;position:relative;pointer-events:", ";text-overflow:ellipsis;user-select:", ";vertical-align:middle;white-space:nowrap;width:", ";[data-icon-prop='true']{pointer-events:none;height:", "px;width:", "px;}", ""], getTypographyIntent(typographySizes[size]), focusable, variant === 'UNSAFE_helixNav' && css(["&.focus,&:focus{outline:none;box-shadow:0 0 0 2px ", ";}"], colors.blue70), getColors(loading, variant), borderRadius.md, typographyWeights.semibold, heights[size], paddingX[size], disabled || loading ? 'none' : 'inherit', disabled || loading ? 'none' : 'inherit', block && '100%', size === 'sm' ? 16 : 24, size === 'sm' ? 16 : 24, loading && css(["", "{pointer-events:none;visibility:hidden;}", "{display:block;}"], StyledContent, StyledSpinner));
112
112
  }
113
113
  export var StyledButton = /*#__PURE__*/styled.button.withConfig({
114
114
  displayName: "StyledButton",
115
- componentId: "core-12_43_0__sc-c5bhwh-3"
115
+ componentId: "core-12_45_0__sc-c5bhwh-3"
116
116
  })(["", ""], function (_ref2) {
117
117
  var $block = _ref2.$block,
118
118
  disabled = _ref2.disabled,
@@ -123,7 +123,7 @@ export var StyledButton = /*#__PURE__*/styled.button.withConfig({
123
123
  });
124
124
  export var StyledLinkButton = /*#__PURE__*/styled.a.withConfig({
125
125
  displayName: "StyledLinkButton",
126
- componentId: "core-12_43_0__sc-c5bhwh-4"
126
+ componentId: "core-12_45_0__sc-c5bhwh-4"
127
127
  })(["&,&:hover{text-decoration:none;}", ""], function (_ref3) {
128
128
  var $block = _ref3.$block,
129
129
  $disabled = _ref3.$disabled,
@@ -5,6 +5,11 @@ export declare type SizingObject = {
5
5
  [key in ButtonSizes]: number;
6
6
  };
7
7
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
8
+ /**
9
+ * @a11y Icon-only buttons must have an accessible name.
10
+ * Add an `aria-label` or `aria-labelledby` prop to describe the button's purpose.
11
+ */
12
+ 'aria-label'?: string;
8
13
  /**
9
14
  * Sets the button to be 100% of the width of its parent
10
15
  * @since 10.19.0
@@ -1 +1 @@
1
- {"version":3,"file":"Button.types.js","names":[],"sources":["../../src/Button/Button.types.ts"],"sourcesContent":["import type React from 'react'\n\nexport type ButtonSizes = 'sm' | 'md' | 'lg'\n\nexport type ButtonVariant =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'tertiaryContrast'\n | 'UNSAFE_helixNav'\n\nexport type SizingObject = { [key in ButtonSizes]: number }\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Sets the button to be 100% of the width of its parent\n * @since 10.19.0\n */\n block?: boolean\n /**\n * string icons have been deprecated, please pass a component from `@procore/core-icons`\n * The icon to display on the left side of the label\n * @since 10.19.0\n */\n icon?: React.ReactNode\n /**\n * The icon to display on the right side of the label\n * @since 10.19.0\n * @deprecatedSince 12.18.0\n * @deprecated iconRight has been deprecated and will be removed in a future version\n */\n iconRight?: React.ReactNode\n /**\n * Shows the button spinner\n * @since 10.19.0\n */\n loading?: boolean\n /**\n * The size of the button\n * @since 10.19.0\n */\n size?: ButtonSizes\n /**\n * The variant of the button.\n * @ deprecated variant \"tertiaryContrast\" has been deprecated since 12.18.0\n * and will be removed in a future version\n * @since 10.27.2\n */\n variant?: ButtonVariant\n}\n\nexport type AsLinkProps = React.ComponentProps<'a'>\n\nexport interface LinkButtonProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement>,\n Pick<\n ButtonProps,\n 'block' | 'disabled' | 'icon' | 'iconRight' | 'size' | 'variant'\n > {\n /**\n * Render a specific component for the link. This MUST return an anchor tag.\n * The component will receive props like onClick and className that\n * MUST be added to the element.\n *\n * This prop is useful when working with links connected to a router, and\n * a component 'outside of core-react' wants to render the `a` tag.\n *\n * @example\n * const RoutedLink = (p) => <a {...p} href=\"/test\" />\n * <LinkButton as={RoutedLink}>\n * @since 12.20.0\n */\n as?:\n | React.FunctionComponent<AsLinkProps>\n | React.ForwardRefExoticComponent<AsLinkProps>\n /**\n * Use role link when the link has destination. Use role button when it is used for POST.\n * @default 'button'\n */\n role?: 'link' | 'button'\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Button.types.js","names":[],"sources":["../../src/Button/Button.types.ts"],"sourcesContent":["import type React from 'react'\n\nexport type ButtonSizes = 'sm' | 'md' | 'lg'\n\nexport type ButtonVariant =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'tertiaryContrast'\n | 'UNSAFE_helixNav'\n\nexport type SizingObject = { [key in ButtonSizes]: number }\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * @a11y Icon-only buttons must have an accessible name.\n * Add an `aria-label` or `aria-labelledby` prop to describe the button's purpose.\n */\n 'aria-label'?: string\n /**\n * Sets the button to be 100% of the width of its parent\n * @since 10.19.0\n */\n block?: boolean\n /**\n * string icons have been deprecated, please pass a component from `@procore/core-icons`\n * The icon to display on the left side of the label\n * @since 10.19.0\n */\n icon?: React.ReactNode\n /**\n * The icon to display on the right side of the label\n * @since 10.19.0\n * @deprecatedSince 12.18.0\n * @deprecated iconRight has been deprecated and will be removed in a future version\n */\n iconRight?: React.ReactNode\n /**\n * Shows the button spinner\n * @since 10.19.0\n */\n loading?: boolean\n /**\n * The size of the button\n * @since 10.19.0\n */\n size?: ButtonSizes\n /**\n * The variant of the button.\n * @ deprecated variant \"tertiaryContrast\" has been deprecated since 12.18.0\n * and will be removed in a future version\n * @since 10.27.2\n */\n variant?: ButtonVariant\n}\n\nexport type AsLinkProps = React.ComponentProps<'a'>\n\nexport interface LinkButtonProps\n extends React.AnchorHTMLAttributes<HTMLAnchorElement>,\n Pick<\n ButtonProps,\n 'block' | 'disabled' | 'icon' | 'iconRight' | 'size' | 'variant'\n > {\n /**\n * Render a specific component for the link. This MUST return an anchor tag.\n * The component will receive props like onClick and className that\n * MUST be added to the element.\n *\n * This prop is useful when working with links connected to a router, and\n * a component 'outside of core-react' wants to render the `a` tag.\n *\n * @example\n * const RoutedLink = (p) => <a {...p} href=\"/test\" />\n * <LinkButton as={RoutedLink}>\n * @since 12.20.0\n */\n as?:\n | React.FunctionComponent<AsLinkProps>\n | React.ForwardRefExoticComponent<AsLinkProps>\n /**\n * Use role link when the link has destination. Use role button when it is used for POST.\n * @default 'button'\n */\n role?: 'link' | 'button'\n}\n"],"mappings":""}
@@ -8,37 +8,37 @@ var cellSize = 36; // TODO one-off size
8
8
 
9
9
  export var StyledContainer = /*#__PURE__*/styled.div.withConfig({
10
10
  displayName: "StyledContainer",
11
- componentId: "core-12_43_0__sc-1kkl86t-0"
11
+ componentId: "core-12_45_0__sc-1kkl86t-0"
12
12
  })(["", ";display:inline-flex;flex-direction:column;padding:", "px ", "px ", "px;"], getTypographyIntent('small'), spacing.lg, spacing.md, spacing.md);
13
13
  export var StyledPaginator = /*#__PURE__*/styled(Button).withConfig({
14
14
  displayName: "StyledPaginator",
15
- componentId: "core-12_43_0__sc-1kkl86t-1"
15
+ componentId: "core-12_45_0__sc-1kkl86t-1"
16
16
  })(["flex:0 0 auto;"]);
17
17
  export var StyledSelect = /*#__PURE__*/styled.div.withConfig({
18
18
  displayName: "StyledSelect",
19
- componentId: "core-12_43_0__sc-1kkl86t-2"
19
+ componentId: "core-12_45_0__sc-1kkl86t-2"
20
20
  })(["display:inline-flex;flex:1 1 0;margin-left:", "px;> div{font-size:12px;}"], spacing.sm);
21
21
  export var StyledNavigation = /*#__PURE__*/styled.div.withConfig({
22
22
  displayName: "StyledNavigation",
23
- componentId: "core-12_43_0__sc-1kkl86t-3"
23
+ componentId: "core-12_45_0__sc-1kkl86t-3"
24
24
  })(["display:inline-flex;margin-bottom:", "px;", " + ", ",", " + ", "{margin-left:", "px;}"], spacing.sm, StyledPaginator, StyledSelect, StyledSelect, StyledPaginator, spacing.sm);
25
25
  export var StyledCell = /*#__PURE__*/styled.div.withConfig({
26
26
  displayName: "StyledCell",
27
- componentId: "core-12_43_0__sc-1kkl86t-4"
27
+ componentId: "core-12_45_0__sc-1kkl86t-4"
28
28
  })(["align-items:center;display:inline-flex;height:", "px;justify-content:center;width:", "px;"], cellSize, cellSize);
29
29
  export var StyledDayHeaderCell = /*#__PURE__*/styled(StyledCell).withConfig({
30
30
  displayName: "StyledDayHeaderCell",
31
- componentId: "core-12_43_0__sc-1kkl86t-5"
31
+ componentId: "core-12_45_0__sc-1kkl86t-5"
32
32
  })(["cursor:default;font-weight:", ";"], typographyWeights.semibold);
33
33
  export var StyledCellButton = /*#__PURE__*/styled.button.attrs({
34
34
  type: 'button'
35
35
  }).withConfig({
36
36
  displayName: "StyledCellButton",
37
- componentId: "core-12_43_0__sc-1kkl86t-6"
37
+ componentId: "core-12_45_0__sc-1kkl86t-6"
38
38
  })(["align-items:center;display:inline-flex;height:", "px;justify-content:center;width:", "px;cursor:pointer;border:none;background:none;padding:0;font:inherit;"], cellSize, cellSize);
39
39
  export var StyledDayCell = /*#__PURE__*/styled(StyledCellButton).withConfig({
40
40
  displayName: "StyledDayCell",
41
- componentId: "core-12_43_0__sc-1kkl86t-7"
41
+ componentId: "core-12_45_0__sc-1kkl86t-7"
42
42
  })(["", ""], function (_ref) {
43
43
  var _ref$$disabled = _ref.$disabled,
44
44
  $disabled = _ref$$disabled === void 0 ? false : _ref$$disabled,
@@ -61,6 +61,6 @@ export var StyledDayCell = /*#__PURE__*/styled(StyledCellButton).withConfig({
61
61
  });
62
62
  export var StyledWeekRow = /*#__PURE__*/styled.div.withConfig({
63
63
  displayName: "StyledWeekRow",
64
- componentId: "core-12_43_0__sc-1kkl86t-8"
64
+ componentId: "core-12_45_0__sc-1kkl86t-8"
65
65
  })(["display:inline-flex;padding-bottom:2px;user-select:none;&:last-child{padding-bottom:0;}", "{&:first-child{border-top-left-radius:", "px;border-bottom-left-radius:", "px;}&:last-child{border-top-right-radius:", "px;border-bottom-right-radius:", "px;}}"], StyledCell, borderRadius.md, borderRadius.md, borderRadius.md, borderRadius.md);
66
66
  //# sourceMappingURL=Calendar.styles.js.map
@@ -4,7 +4,7 @@ import { colors } from '../_styles/colors';
4
4
  import { getShadow } from '../_styles/shadows';
5
5
  export var StyledCardContainer = /*#__PURE__*/styled.div.withConfig({
6
6
  displayName: "StyledCardContainer",
7
- componentId: "core-12_43_0__sc-2fii7b-0"
7
+ componentId: "core-12_45_0__sc-2fii7b-0"
8
8
  })(["background-color:", ";border-radius:", "px;transition:box-shadow 0.2s ease-in-out;", " ", ""], colors.white, borderRadius.md, function (_ref) {
9
9
  var $level = _ref.$level,
10
10
  $shadowStrength = _ref.$shadowStrength;
@@ -9,7 +9,7 @@ export var dataQa = {
9
9
  export var checkboxSize = 20;
10
10
  export var StyledCheckboxContainer = /*#__PURE__*/styled.div.withConfig({
11
11
  displayName: "StyledCheckboxContainer",
12
- componentId: "core-12_43_0__sc-u63tye-0"
12
+ componentId: "core-12_45_0__sc-u63tye-0"
13
13
  })(["color:", ";display:block;position:relative;& + &{margin-top:", "px;}"], colors.gray15, spacing.md);
14
14
  function StyledIndeterminate() {
15
15
  return css(["background-color:", ";content:'';height:2px;left:5px;position:absolute;top:9px;width:10px;border:none;"], colors.white);
@@ -48,18 +48,18 @@ function StyledFakeIndeterminate() {
48
48
  }
49
49
  export var StyledCheckboxLabelWrapper = /*#__PURE__*/styled.div.withConfig({
50
50
  displayName: "StyledCheckboxLabelWrapper",
51
- componentId: "core-12_43_0__sc-u63tye-1"
51
+ componentId: "core-12_45_0__sc-u63tye-1"
52
52
  })(["padding-left:", "px;min-height:", "px;position:relative;", ""], function (_ref) {
53
53
  var $hasLabel = _ref.$hasLabel;
54
54
  return $hasLabel ? checkboxSize + spacing.md : checkboxSize;
55
55
  }, checkboxSize, getTypographyIntent('body'));
56
56
  export var StyledCheckboxLabel = /*#__PURE__*/styled.label.withConfig({
57
57
  displayName: "StyledCheckboxLabel",
58
- componentId: "core-12_43_0__sc-u63tye-2"
58
+ componentId: "core-12_45_0__sc-u63tye-2"
59
59
  })(["user-select:none;&:before{background-color:", ";border-radius:2px;border:2px solid ", ";content:'';display:inline-block;height:", "px;width:", "px;min-width:", "px;top:0;left:0;position:absolute;}"], colors.white, colors.gray70, checkboxSize, checkboxSize, checkboxSize);
60
60
  export var StyledCheckboxInput = /*#__PURE__*/styled.input.withConfig({
61
61
  displayName: "StyledCheckboxInput",
62
- componentId: "core-12_43_0__sc-u63tye-3"
62
+ componentId: "core-12_45_0__sc-u63tye-3"
63
63
  })(["left:0;opacity:0;position:absolute;top:0;&:disabled:checked + ", " > ", ":before{background-color:", ";border-color:", ";}&:disabled + ", " > ", ":before{background-color:", ";border-color:", ";}", " &:checked + ", " > ", "{&:before{background-color:", ";border-color:", ";color:", ";}&:after{", "}}&:focus:not(:disabled),&[data-qa=", "]:not(:disabled){+ ", " > ", ":before{", "}}", ""], StyledCheckboxLabelWrapper, StyledCheckboxLabel, colors.blue85, colors.blue85, StyledCheckboxLabelWrapper, StyledCheckboxLabel, function (_ref2) {
64
64
  var $indeterminate = _ref2.$indeterminate;
65
65
  return $indeterminate ? colors.gray85 : colors.white;
@@ -83,7 +83,7 @@ export var StyledCheckboxInput = /*#__PURE__*/styled.input.withConfig({
83
83
  });
84
84
  export var StyledFakeCheckboxLabel = /*#__PURE__*/styled.span.withConfig({
85
85
  displayName: "StyledFakeCheckboxLabel",
86
- componentId: "core-12_43_0__sc-u63tye-4"
86
+ componentId: "core-12_45_0__sc-u63tye-4"
87
87
  })(["", " display:block;min-height:", "px;padding-left:", "px;position:relative;user-select:none;cursor:pointer;", ""], getTypographyIntent('body'), checkboxSize, function (_ref7) {
88
88
  var children = _ref7.children;
89
89
  return children ? checkboxSize + spacing.md : checkboxSize;
@@ -99,7 +99,7 @@ export var StyledFakeCheckboxLabel = /*#__PURE__*/styled.span.withConfig({
99
99
  });
100
100
  export var StyledFakeCheckboxInput = /*#__PURE__*/styled.div.withConfig({
101
101
  displayName: "StyledFakeCheckboxInput",
102
- componentId: "core-12_43_0__sc-u63tye-5"
102
+ componentId: "core-12_45_0__sc-u63tye-5"
103
103
  })(["width:", "px;height:", "px;border-radius:2px;border:2px solid ", ";position:absolute;", " ", " ", " ", ""], checkboxSize, checkboxSize, colors.gray70, function (_ref9) {
104
104
  var $checked = _ref9.$checked,
105
105
  $disabled = _ref9.$disabled,
@@ -7,23 +7,23 @@ import { getLineClamp } from '../_styles/mixins';
7
7
  import { spacing } from '../_styles/spacing';
8
8
  export var ContactItemAvatarWrapper = /*#__PURE__*/styled.div.withConfig({
9
9
  displayName: "ContactItemAvatarWrapper",
10
- componentId: "core-12_43_0__sc-1c4z9pn-0"
10
+ componentId: "core-12_45_0__sc-1c4z9pn-0"
11
11
  })(["display:inline-flex;align-self:flex-start;"]);
12
12
  export var ContactItemAvatar = /*#__PURE__*/styled(Avatar).withConfig({
13
13
  displayName: "ContactItemAvatar",
14
- componentId: "core-12_43_0__sc-1c4z9pn-1"
14
+ componentId: "core-12_45_0__sc-1c4z9pn-1"
15
15
  })(["cursor:inherit;font-weight:", ";"], typographyWeights.bold);
16
16
  export var ContactItemTextWrapper = /*#__PURE__*/styled.div.withConfig({
17
17
  displayName: "ContactItemTextWrapper",
18
- componentId: "core-12_43_0__sc-1c4z9pn-2"
18
+ componentId: "core-12_45_0__sc-1c4z9pn-2"
19
19
  })(["overflow:hidden;margin-left:", "px;"], spacing.sm);
20
20
  export var ContactItemText = /*#__PURE__*/styled(Typography).withConfig({
21
21
  displayName: "ContactItemText",
22
- componentId: "core-12_43_0__sc-1c4z9pn-3"
22
+ componentId: "core-12_45_0__sc-1c4z9pn-3"
23
23
  })(["display:flex;", ""], getLineClamp());
24
24
  export var ContactItemWrapper = /*#__PURE__*/styled.div.withConfig({
25
25
  displayName: "ContactItemWrapper",
26
- componentId: "core-12_43_0__sc-1c4z9pn-4"
26
+ componentId: "core-12_45_0__sc-1c4z9pn-4"
27
27
  })(["display:flex;flex-direction:row;align-items:center;padding:", "px ", "px ", "px ", "px;", " ", " ", ""], spacing.sm, spacing.lg, spacing.sm, spacing.sm, function (_ref) {
28
28
  var $disabled = _ref.$disabled,
29
29
  $clickable = _ref.$clickable;
@@ -5,10 +5,10 @@ import { mediaIE11Hack } from '../_styles/media';
5
5
  import { spacing } from '../_styles/spacing';
6
6
  export var StyledContent = /*#__PURE__*/styled(Box).withConfig({
7
7
  displayName: "StyledContent",
8
- componentId: "core-12_43_0__sc-10y57gh-0"
8
+ componentId: "core-12_45_0__sc-10y57gh-0"
9
9
  })(["> * + *,> * + h1,> * + h2,> * + h3,> * + h4,> * + p,> * + ul,> * + ol{margin-top:", "px;}> ", " + *{margin-top:0;}> ", ",> ", " > ", ",> ", "{", "{min-height:0;margin-bottom:", "px;}&:last-child ", "{margin-bottom:0;}}"], spacing.lg, StyledFormRow, StyledFormRow, StyledForm, StyledFormRow, StyledFormRow, StyledFormFieldBanner, spacing.md, StyledFormFieldBanner);
10
10
  export var StyledActions = /*#__PURE__*/styled(Box).withConfig({
11
11
  displayName: "StyledActions",
12
- componentId: "core-12_43_0__sc-10y57gh-1"
12
+ componentId: "core-12_45_0__sc-10y57gh-1"
13
13
  })(["display:flex;justify-content:flex-end;gap:", "px;@media ", "{& > * + *{margin-left:", "px;}}"], spacing.sm, mediaIE11Hack, spacing.sm);
14
14
  //# sourceMappingURL=Content.styles.js.map
@@ -10,15 +10,15 @@ var inputHeight = 36; // TODO one-off
10
10
  var disabledCss = /*#__PURE__*/css(["background-color:", ";color:", ";border-width:1px;border-style:solid;border-color:", ";pointer-events:none;svg{color:", ";}"], colors.gray94, colors.gray45, colors.gray50, colors.gray45);
11
11
  export var StyledCalendar = /*#__PURE__*/styled(Calendar).withConfig({
12
12
  displayName: "StyledCalendar",
13
- componentId: "core-12_43_0__sc-w10btf-0"
13
+ componentId: "core-12_45_0__sc-w10btf-0"
14
14
  })(["color:", ";"], colors.gray45);
15
15
  export var StyledDateSegmentsContainer = /*#__PURE__*/styled.div.withConfig({
16
16
  displayName: "StyledDateSegmentsContainer",
17
- componentId: "core-12_43_0__sc-w10btf-1"
17
+ componentId: "core-12_45_0__sc-w10btf-1"
18
18
  })(["min-width:104px;display:flex;gap:", "px;"], spacing.xs);
19
19
  export var StyledDateInputSegment = /*#__PURE__*/styled.div.withConfig({
20
20
  displayName: "StyledDateInputSegment",
21
- componentId: "core-12_43_0__sc-w10btf-2"
21
+ componentId: "core-12_45_0__sc-w10btf-2"
22
22
  })(["", " outline:none;text-align:center;&:focus{background-color:", ";}&::selection{background-color:transparent;}&[data-placeholder='true']{color:", ";}"], getTypographyIntent('body'), colors.blue96, function (_ref) {
23
23
  var $disabled = _ref.$disabled;
24
24
  return $disabled ? colors.gray70 : colors.gray45;
@@ -29,15 +29,15 @@ export var StyledDateInputDelimiter = /*#__PURE__*/styled.span.attrs(function (p
29
29
  };
30
30
  }).withConfig({
31
31
  displayName: "StyledDateInputDelimiter",
32
- componentId: "core-12_43_0__sc-w10btf-3"
32
+ componentId: "core-12_45_0__sc-w10btf-3"
33
33
  })(["", " user-select:none;"], getTypographyIntent('body'));
34
34
  export var StyledDateInputIconContainer = /*#__PURE__*/styled.div.withConfig({
35
35
  displayName: "StyledDateInputIconContainer",
36
- componentId: "core-12_43_0__sc-w10btf-4"
36
+ componentId: "core-12_45_0__sc-w10btf-4"
37
37
  })(["display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;margin:0 0 0 ", "px;height:24px;width:24px;"], spacing.xs);
38
38
  export var StyledDateInput = /*#__PURE__*/styled.div.withConfig({
39
39
  displayName: "StyledDateInput",
40
- componentId: "core-12_43_0__sc-w10btf-5"
40
+ componentId: "core-12_45_0__sc-w10btf-5"
41
41
  })(["align-items:center;border-color:", ";border-radius:4px;border-style:solid;border-width:1px;display:inline-flex;flex-direction:row;height:", "px;justify-content:center;padding:0 ", "px 0 ", "px;&::placeholder{color:", ";}", " &:focus-within,&[data-qa=", "]{", ";}&:disabled{", "}", " ", ""], colors.gray50, inputHeight, spacing.xs, spacing.sm, colors.gray45, function (_ref2) {
42
42
  var $error = _ref2.$error;
43
43
  return !$error && css(["&:hover,&[data-qa=", "]{border-color:", ";}"], dataQa.hovered, colors.gray20);
@@ -8,32 +8,32 @@ import { colors } from '../_styles/colors';
8
8
  import { spacing } from '../_styles/spacing';
9
9
  export var StyledDetailPage = /*#__PURE__*/styled.div.withConfig({
10
10
  displayName: "StyledDetailPage",
11
- componentId: "core-12_43_0__sc-cytnlo-0"
11
+ componentId: "core-12_45_0__sc-cytnlo-0"
12
12
  })(["background-color:", ";height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;"], colors.gray96);
13
13
  export var StyledDetailPageBody = /*#__PURE__*/styled.div.withConfig({
14
14
  displayName: "StyledDetailPageBody",
15
- componentId: "core-12_43_0__sc-cytnlo-1"
15
+ componentId: "core-12_45_0__sc-cytnlo-1"
16
16
  })(["padding-bottom:", "px;"], spacing.xl);
17
17
  export var StyledDetailPageFooterNotation = /*#__PURE__*/styled.div.withConfig({
18
18
  displayName: "StyledDetailPageFooterNotation",
19
- componentId: "core-12_43_0__sc-cytnlo-2"
19
+ componentId: "core-12_45_0__sc-cytnlo-2"
20
20
  })(["flex-grow:1;z-index:1;"]);
21
21
  export var StyledDetailPageFooter = /*#__PURE__*/styled(Page.Footer).withConfig({
22
22
  displayName: "StyledDetailPageFooter",
23
- componentId: "core-12_43_0__sc-cytnlo-3"
23
+ componentId: "core-12_45_0__sc-cytnlo-3"
24
24
  })(["display:flex;padding:", "px 0;background-color:", ";justify-content:center;"], spacing.lg, colors.white);
25
25
  export var StyledDetailPageFooterActions = /*#__PURE__*/styled(Box).withConfig({
26
26
  displayName: "StyledDetailPageFooterActions",
27
- componentId: "core-12_43_0__sc-cytnlo-4"
27
+ componentId: "core-12_45_0__sc-cytnlo-4"
28
28
  })(["", ""], getActions());
29
29
  var maxFooterContentWidth = 1920;
30
30
  export var StyledDetailPageFooterContent = /*#__PURE__*/styled.div.withConfig({
31
31
  displayName: "StyledDetailPageFooterContent",
32
- componentId: "core-12_43_0__sc-cytnlo-5"
32
+ componentId: "core-12_45_0__sc-cytnlo-5"
33
33
  })(["width:100%;align-items:center;display:flex;justify-content:flex-end;padding:0 ", "px;max-width:", "px;"], spacing.xl, maxFooterContentWidth);
34
34
  var detailPageCardBorderRadius = 8;
35
35
  export var StyledDetailPageCard = /*#__PURE__*/styled(Card).withConfig({
36
36
  displayName: "StyledDetailPageCard",
37
- componentId: "core-12_43_0__sc-cytnlo-6"
37
+ componentId: "core-12_45_0__sc-cytnlo-6"
38
38
  })(["width:100%;border-radius:", "px;margin-top:", "px;margin-bottom:", "px;& + &{margin-top:", "px;}&:first-child{margin-top:0;}&:last-child{margin-bottom:", "px;}& > ", "{padding:", "px ", "px 0 ", "px;max-width:100%;&:empty{padding:0;}}& > ", " + ", " > ", "{border-top:0;}> .", ":first-child + .", ",> ", " + .", " + .", "{margin-top:", "px;}"], detailPageCardBorderRadius, spacing.lg, spacing.sm, spacing.sm, spacing.lg, StyledPageBanner, spacing.lg, spacing.lg, spacing.lg, StyledPageBanner, StyledSection, StyledSectionInner, sectionClassnames.levelAnonymous, sectionClassnames.level(2), StyledPageBanner, sectionClassnames.levelAnonymous, sectionClassnames.level(2), spacing.xxl * -1);
39
39
  //# sourceMappingURL=DetailPage.styles.js.map
@@ -153,7 +153,8 @@ var Dropdown_ = /*#__PURE__*/React.forwardRef(function Dropdown(_ref5, ref) {
153
153
  props = _objectWithoutProperties(_ref5, _excluded3);
154
154
  var menuRef = React.useRef(null);
155
155
  var buttonRef = React.useRef(null);
156
- var isDialog = Boolean(onSearch) || hasTabbableElements;
156
+ var isSearchable = Boolean(onSearch);
157
+ var isDialog = hasTabbableElements && !isSearchable;
157
158
  function afterHide(e) {
158
159
  // @ts-expect-error
159
160
  if ((e === null || e === void 0 ? void 0 : e.key) === 'Escape' || e !== null && e !== void 0 && e.restoreFocus) {
@@ -170,13 +171,15 @@ var Dropdown_ = /*#__PURE__*/React.forwardRef(function Dropdown(_ref5, ref) {
170
171
  var I18n = useI18nContext();
171
172
  var ariaLabel = props['aria-label'] || label || I18n.t("core.dropdown.".concat(props.loading ? 'loading' : 'moreOptions'));
172
173
  return /*#__PURE__*/React.createElement(OverlayTrigger, {
173
- role: isDialog ? 'dialog' : 'menu',
174
+ role: isSearchable ? undefined : isDialog ? 'dialog' : 'menu',
175
+ trackAriaExpanded: isSearchable,
174
176
  passA11yPropsToOverlay: !isDialog,
175
177
  autoFocus: true,
176
178
  afterHide: afterHide,
177
179
  afterShow: afterShow,
178
180
  beforeHide: beforeHide,
179
181
  beforeShow: beforeShow,
182
+ containFocus: !!footer || hasTabbableElements,
180
183
  overlay: /*#__PURE__*/React.createElement(DropdownMenu, {
181
184
  footer: footer,
182
185
  i18nScope: i18nScope,
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","names":["CaretDown","CaretUp","EllipsisVertical","classNames","React","MenuImperative","useMenuImperativeControlNavigation","OverlayTrigger","useOverlayTriggerContext","useI18nContext","addSubcomponents","mergeRefs","StyledDropdownButton","StyledDropdownMenu","StyledDropdownSpinner","noop","isFunction","obj","isOpen","_ref","_ref$open","open","Item","forwardRef","_ref2","ref","_ref2$restoreFocus","restoreFocus","props","_objectWithoutProperties","_excluded","createElement","_extends","DropdownButton","_ref3","children","className","_ref3$arrow","arrow","_ref3$loading","loading","_ref3$open","_ref3$focus","focus","_ref3$variant","variant","_excluded2","caret","size","icon","undefined","iconRight","$loading","DropdownMenu","_ref4","footer","i18nScope","menuRef","onSearch_","onSearch","_ref4$onSelect","onSelect","onSelect_","id","overlayTriggerContext","_React$useState","useState","_React$useState2","_slicedToArray","search","setSearch","_useMenuImperativeCon","Boolean","menuId","menuProps","menuNavigationTriggerProps","selection","hide","e","target","value","onKeyDown","key","stopPropagation","shadowStrength","role","Search","onChange","Options","Footer","Dropdown_","Dropdown","_ref5","afterHide_","afterHide","afterShow","beforeHide","beforeShow","error","_ref5$i18nScope","label","_ref5$onKeyDown","_ref5$onSelect","_ref5$placement","placement","_ref5$restoreFocusOnH","restoreFocusOnHide","_ref5$variant","_ref5$hasTabbableElem","hasTabbableElements","_excluded3","useRef","buttonRef","isDialog","_buttonRef$current","current","I18n","ariaLabel","t","concat","passA11yPropsToOverlay","autoFocus","overlay","useDropdownContext","DropdownConsumer","_ref6","displayName","Group"],"sources":["../../src/Dropdown/Dropdown.tsx"],"sourcesContent":["import { CaretDown, CaretUp, EllipsisVertical } from '@procore/core-icons/dist'\nimport classNames from 'classnames'\nimport React from 'react'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport {\n StyledDropdownButton,\n StyledDropdownMenu,\n StyledDropdownSpinner,\n} from './Dropdown.styles'\nimport type {\n ConsumerProps,\n DropdownButtonProps,\n DropdownItemProps,\n DropdownMenuProps,\n DropdownProps,\n} from './Dropdown.types'\n\nfunction noop() {}\nfunction isFunction(obj: any) {\n return typeof obj === 'function'\n}\nfunction isOpen({ open = false }) {\n return open\n}\n\nconst Item = React.forwardRef<HTMLDivElement, DropdownItemProps>(function Item(\n { restoreFocus = false, ...props },\n ref\n) {\n return (\n <MenuImperative.Item ref={ref} restoreFocus={restoreFocus} {...props} />\n )\n}) as typeof MenuImperative.Item\n\nexport const DropdownButton = React.forwardRef<\n HTMLButtonElement,\n DropdownButtonProps\n>(function DropdownButton(\n {\n children,\n className,\n arrow = false,\n loading = false,\n open = false,\n focus = false,\n variant = 'secondary',\n ...props\n },\n ref\n) {\n const caret =\n arrow && (open ? <CaretUp size=\"sm\" /> : <CaretDown size=\"sm\" />)\n\n const icon = loading ? (\n <StyledDropdownSpinner\n size=\"xs\"\n variant={variant === 'primary' ? 'light' : 'default'}\n />\n ) : (\n caret\n )\n\n return (\n <StyledDropdownButton\n {...props}\n className={classNames(className, {\n focus: isFunction(focus) ? (focus as Function)({ open }) : focus,\n })}\n aria-busy={loading || undefined}\n iconRight={icon}\n $loading={loading}\n variant={variant}\n ref={ref}\n >\n {children}\n </StyledDropdownButton>\n )\n})\n\nconst DropdownMenu = React.forwardRef<HTMLDivElement, DropdownMenuProps>(\n function DropdownMenu(\n {\n children,\n footer,\n i18nScope,\n menuRef,\n onSearch: onSearch_,\n onSelect: onSelect_ = noop,\n id,\n },\n ref\n ) {\n const overlayTriggerContext = useOverlayTriggerContext()\n\n const [search, setSearch] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef, Boolean(onSearch_), {\n menuId: id,\n })\n\n function onSelect(selection: Selection) {\n overlayTriggerContext.hide({ restoreFocus: selection.restoreFocus })\n\n onSelect_(selection)\n }\n\n function onSearch(e: React.ChangeEvent<HTMLInputElement>) {\n setSearch(e.target.value)\n\n onSearch_?.(e)\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n // This is disconnected from the OverlayTrigger closing on Escape.\n // Closing a dropdown with Escape will not close a Modal, because stopP.\n // It is called only once because the menu component is unmounted.\n // The next Escape will propagate.\n if (e.key === 'Escape' || e.key === 'Esc') {\n // only let parent listeners (modal, overlay) know when empty\n e.stopPropagation()\n }\n }\n\n return (\n <StyledDropdownMenu ref={ref} shadowStrength={2}>\n <MenuImperative\n {...menuProps}\n ref={menuRef}\n onKeyDown={onKeyDown}\n onSelect={onSelect}\n role=\"menu\"\n >\n {onSearch_ && (\n <MenuImperative.Search\n {...menuNavigationTriggerProps}\n onChange={onSearch}\n i18nScope={i18nScope}\n />\n )}\n <MenuImperative.Options>{children}</MenuImperative.Options>\n {footer && <MenuImperative.Footer>{footer}</MenuImperative.Footer>}\n </MenuImperative>\n </StyledDropdownMenu>\n )\n }\n)\n\nconst Dropdown_ = React.forwardRef<HTMLButtonElement, DropdownProps>(\n function Dropdown(\n {\n afterHide: afterHide_,\n afterShow,\n beforeHide,\n beforeShow,\n children,\n error,\n footer,\n i18nScope = 'core.dropdown',\n icon,\n label,\n onKeyDown = noop,\n onSearch,\n onSelect = noop,\n placement = 'bottom-left',\n restoreFocusOnHide = false,\n variant = 'secondary',\n hasTabbableElements = false,\n ...props\n },\n ref\n ) {\n const menuRef = React.useRef<MenuRef>(null)\n const buttonRef = React.useRef<HTMLButtonElement>(null)\n const isDialog = Boolean(onSearch) || hasTabbableElements\n\n function afterHide(e: Event | undefined) {\n // @ts-expect-error\n if (e?.key === 'Escape' || e?.restoreFocus) {\n buttonRef.current?.focus()\n }\n\n afterHide_?.(e)\n\n onSearch?.({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n }\n\n const I18n = useI18nContext()\n\n const ariaLabel =\n props['aria-label'] ||\n label ||\n I18n.t(`core.dropdown.${props.loading ? 'loading' : 'moreOptions'}`)\n\n return (\n <OverlayTrigger\n role={isDialog ? 'dialog' : 'menu'}\n passA11yPropsToOverlay={!isDialog}\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={beforeHide}\n beforeShow={beforeShow}\n overlay={\n <DropdownMenu\n footer={footer}\n i18nScope={i18nScope}\n menuRef={menuRef}\n onSearch={onSearch}\n onSelect={onSelect}\n >\n {children}\n </DropdownMenu>\n }\n placement={placement}\n ref={mergeRefs(ref, buttonRef)}\n restoreFocusOnHide={restoreFocusOnHide}\n >\n <DropdownButton\n {...props}\n aria-label={ariaLabel}\n arrow={label !== undefined}\n focus={onSearch ? false : isOpen}\n icon={\n props.loading && !label ? undefined : !icon && !label ? (\n <EllipsisVertical />\n ) : (\n icon\n )\n }\n onKeyDown={onKeyDown}\n variant={variant}\n >\n {label}\n </DropdownButton>\n </OverlayTrigger>\n )\n }\n)\n\nexport const useDropdownContext = useOverlayTriggerContext\n\nexport function DropdownConsumer({ children }: ConsumerProps) {\n return children(useDropdownContext())\n}\n\nDropdown_.displayName = 'Dropdown'\n\nItem.displayName = 'Dropdown.Item'\n\n/**\n\n Dropdowns display a list of actions in a menu that opens and closes. We use\n dropdowns most commonly to trigger an action or to redirect the user to\n a new page or modal.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-dropdown--demo)\n\n @see [Design Guidelines](https://design.procore.com/dropdown)\n\n*/\nexport const Dropdown = addSubcomponents(\n {\n Item,\n Group: MenuImperative.Group,\n },\n Dropdown_\n)\n"],"mappings":";;;;;;;;;;;;AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,gBAAgB,QAAQ,0BAA0B;AAC/E,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AACzB,SACEC,cAAc,EACdC,kCAAkC,QAC7B,kCAAkC;AAEzC,SACEC,cAAc,EACdC,wBAAwB,QACnB,kCAAkC;AACzC,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SACEC,oBAAoB,EACpBC,kBAAkB,EAClBC,qBAAqB,QAChB,mBAAmB;AAS1B,SAASC,IAAIA,CAAA,EAAG,CAAC;AACjB,SAASC,UAAUA,CAACC,GAAQ,EAAE;EAC5B,OAAO,OAAOA,GAAG,KAAK,UAAU;AAClC;AACA,SAASC,MAAMA,CAAAC,IAAA,EAAmB;EAAA,IAAAC,SAAA,GAAAD,IAAA,CAAhBE,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,KAAK,GAAAA,SAAA;EAC5B,OAAOC,IAAI;AACb;AAEA,IAAMC,IAAI,gBAAGlB,KAAK,CAACmB,UAAU,CAAoC,SAASD,IAAIA,CAAAE,KAAA,EAE5EC,GAAG,EACH;EAAA,IAAAC,kBAAA,GAAAF,KAAA,CAFEG,YAAY;IAAZA,YAAY,GAAAD,kBAAA,cAAG,KAAK,GAAAA,kBAAA;IAAKE,KAAK,GAAAC,wBAAA,CAAAL,KAAA,EAAAM,SAAA;EAGhC,oBACE1B,KAAA,CAAA2B,aAAA,CAAC1B,cAAc,CAACiB,IAAI,EAAAU,QAAA;IAACP,GAAG,EAAEA,GAAI;IAACE,YAAY,EAAEA;EAAa,GAAKC,KAAK,CAAG,CAAC;AAE5E,CAAC,CAA+B;AAEhC,OAAO,IAAMK,cAAc,gBAAG7B,KAAK,CAACmB,UAAU,CAG5C,SAASU,cAAcA,CAAAC,KAAA,EAWvBT,GAAG,EACH;EAAA,IAVEU,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IACRC,SAAS,GAAAF,KAAA,CAATE,SAAS;IAAAC,WAAA,GAAAH,KAAA,CACTI,KAAK;IAALA,KAAK,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAAE,aAAA,GAAAL,KAAA,CACbM,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,UAAA,GAAAP,KAAA,CACfb,IAAI;IAAJA,IAAI,GAAAoB,UAAA,cAAG,KAAK,GAAAA,UAAA;IAAAC,WAAA,GAAAR,KAAA,CACZS,KAAK;IAALA,KAAK,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAAE,aAAA,GAAAV,KAAA,CACbW,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,WAAW,GAAAA,aAAA;IAClBhB,KAAK,GAAAC,wBAAA,CAAAK,KAAA,EAAAY,UAAA;EAIV,IAAMC,KAAK,GACTT,KAAK,KAAKjB,IAAI,gBAAGjB,KAAA,CAAA2B,aAAA,CAAC9B,OAAO;IAAC+C,IAAI,EAAC;EAAI,CAAE,CAAC,gBAAG5C,KAAA,CAAA2B,aAAA,CAAC/B,SAAS;IAACgD,IAAI,EAAC;EAAI,CAAE,CAAC,CAAC;EAEnE,IAAMC,IAAI,GAAGT,OAAO,gBAClBpC,KAAA,CAAA2B,aAAA,CAACjB,qBAAqB;IACpBkC,IAAI,EAAC,IAAI;IACTH,OAAO,EAAEA,OAAO,KAAK,SAAS,GAAG,OAAO,GAAG;EAAU,CACtD,CAAC,GAEFE,KACD;EAED,oBACE3C,KAAA,CAAA2B,aAAA,CAACnB,oBAAoB,EAAAoB,QAAA,KACfJ,KAAK;IACTQ,SAAS,EAAEjC,UAAU,CAACiC,SAAS,EAAE;MAC/BO,KAAK,EAAE3B,UAAU,CAAC2B,KAAK,CAAC,GAAIA,KAAK,CAAc;QAAEtB,IAAI,EAAJA;MAAK,CAAC,CAAC,GAAGsB;IAC7D,CAAC,CAAE;IACH,aAAWH,OAAO,IAAIU,SAAU;IAChCC,SAAS,EAAEF,IAAK;IAChBG,QAAQ,EAAEZ,OAAQ;IAClBK,OAAO,EAAEA,OAAQ;IACjBpB,GAAG,EAAEA;EAAI,IAERU,QACmB,CAAC;AAE3B,CAAC,CAAC;AAEF,IAAMkB,YAAY,gBAAGjD,KAAK,CAACmB,UAAU,CACnC,SAAS8B,YAAYA,CAAAC,KAAA,EAUnB7B,GAAG,EACH;EAAA,IATEU,QAAQ,GAAAmB,KAAA,CAARnB,QAAQ;IACRoB,MAAM,GAAAD,KAAA,CAANC,MAAM;IACNC,SAAS,GAAAF,KAAA,CAATE,SAAS;IACTC,OAAO,GAAAH,KAAA,CAAPG,OAAO;IACGC,SAAS,GAAAJ,KAAA,CAAnBK,QAAQ;IAAAC,cAAA,GAAAN,KAAA,CACRO,QAAQ;IAAEC,SAAS,GAAAF,cAAA,cAAG7C,IAAI,GAAA6C,cAAA;IAC1BG,EAAE,GAAAT,KAAA,CAAFS,EAAE;EAIJ,IAAMC,qBAAqB,GAAGxD,wBAAwB,CAAC,CAAC;EAExD,IAAAyD,eAAA,GAA4B7D,KAAK,CAAC8D,QAAQ,CAAC,EAAE,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAAvCI,MAAM,GAAAF,gBAAA;IAAEG,SAAS,GAAAH,gBAAA;EACxB,IAAAI,qBAAA,GACEjE,kCAAkC,CAACmD,OAAO,EAAEe,OAAO,CAACd,SAAS,CAAC,EAAE;MAC9De,MAAM,EAAEV;IACV,CAAC,CAAC;IAHIW,SAAS,GAAAH,qBAAA,CAATG,SAAS;IAAEC,0BAA0B,GAAAJ,qBAAA,CAA1BI,0BAA0B;EAK7C,SAASd,QAAQA,CAACe,SAAoB,EAAE;IACtCZ,qBAAqB,CAACa,IAAI,CAAC;MAAElD,YAAY,EAAEiD,SAAS,CAACjD;IAAa,CAAC,CAAC;IAEpEmC,SAAS,CAACc,SAAS,CAAC;EACtB;EAEA,SAASjB,QAAQA,CAACmB,CAAsC,EAAE;IACxDR,SAAS,CAACQ,CAAC,CAACC,MAAM,CAACC,KAAK,CAAC;IAEzBtB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAGoB,CAAC,CAAC;EAChB;EAEA,SAASG,SAASA,CAACH,CAAwC,EAAE;IAC3D;IACA;IACA;IACA;IACA,IAAIA,CAAC,CAACI,GAAG,KAAK,QAAQ,IAAIJ,CAAC,CAACI,GAAG,KAAK,KAAK,EAAE;MACzC;MACAJ,CAAC,CAACK,eAAe,CAAC,CAAC;IACrB;EACF;EAEA,oBACE/E,KAAA,CAAA2B,aAAA,CAAClB,kBAAkB;IAACY,GAAG,EAAEA,GAAI;IAAC2D,cAAc,EAAE;EAAE,gBAC9ChF,KAAA,CAAA2B,aAAA,CAAC1B,cAAc,EAAA2B,QAAA,KACT0C,SAAS;IACbjD,GAAG,EAAEgC,OAAQ;IACbwB,SAAS,EAAEA,SAAU;IACrBpB,QAAQ,EAAEA,QAAS;IACnBwB,IAAI,EAAC;EAAM,IAEV3B,SAAS,iBACRtD,KAAA,CAAA2B,aAAA,CAAC1B,cAAc,CAACiF,MAAM,EAAAtD,QAAA,KAChB2C,0BAA0B;IAC9BY,QAAQ,EAAE5B,QAAS;IACnBH,SAAS,EAAEA;EAAU,EACtB,CACF,eACDpD,KAAA,CAAA2B,aAAA,CAAC1B,cAAc,CAACmF,OAAO,QAAErD,QAAiC,CAAC,EAC1DoB,MAAM,iBAAInD,KAAA,CAAA2B,aAAA,CAAC1B,cAAc,CAACoF,MAAM,QAAElC,MAA8B,CACnD,CACE,CAAC;AAEzB,CACF,CAAC;AAED,IAAMmC,SAAS,gBAAGtF,KAAK,CAACmB,UAAU,CAChC,SAASoE,QAAQA,CAAAC,KAAA,EAqBfnE,GAAG,EACH;EAAA,IApBaoE,UAAU,GAAAD,KAAA,CAArBE,SAAS;IACTC,SAAS,GAAAH,KAAA,CAATG,SAAS;IACTC,UAAU,GAAAJ,KAAA,CAAVI,UAAU;IACVC,UAAU,GAAAL,KAAA,CAAVK,UAAU;IACV9D,QAAQ,GAAAyD,KAAA,CAARzD,QAAQ;IACR+D,KAAK,GAAAN,KAAA,CAALM,KAAK;IACL3C,MAAM,GAAAqC,KAAA,CAANrC,MAAM;IAAA4C,eAAA,GAAAP,KAAA,CACNpC,SAAS;IAATA,SAAS,GAAA2C,eAAA,cAAG,eAAe,GAAAA,eAAA;IAC3BlD,IAAI,GAAA2C,KAAA,CAAJ3C,IAAI;IACJmD,KAAK,GAAAR,KAAA,CAALQ,KAAK;IAAAC,eAAA,GAAAT,KAAA,CACLX,SAAS;IAATA,SAAS,GAAAoB,eAAA,cAAGtF,IAAI,GAAAsF,eAAA;IAChB1C,QAAQ,GAAAiC,KAAA,CAARjC,QAAQ;IAAA2C,cAAA,GAAAV,KAAA,CACR/B,QAAQ;IAARA,QAAQ,GAAAyC,cAAA,cAAGvF,IAAI,GAAAuF,cAAA;IAAAC,eAAA,GAAAX,KAAA,CACfY,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,aAAa,GAAAA,eAAA;IAAAE,qBAAA,GAAAb,KAAA,CACzBc,kBAAkB;IAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAAAE,aAAA,GAAAf,KAAA,CAC1B/C,OAAO;IAAPA,OAAO,GAAA8D,aAAA,cAAG,WAAW,GAAAA,aAAA;IAAAC,qBAAA,GAAAhB,KAAA,CACrBiB,mBAAmB;IAAnBA,mBAAmB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IACxBhF,KAAK,GAAAC,wBAAA,CAAA+D,KAAA,EAAAkB,UAAA;EAIV,IAAMrD,OAAO,GAAGrD,KAAK,CAAC2G,MAAM,CAAU,IAAI,CAAC;EAC3C,IAAMC,SAAS,GAAG5G,KAAK,CAAC2G,MAAM,CAAoB,IAAI,CAAC;EACvD,IAAME,QAAQ,GAAGzC,OAAO,CAACb,QAAQ,CAAC,IAAIkD,mBAAmB;EAEzD,SAASf,SAASA,CAAChB,CAAoB,EAAE;IACvC;IACA,IAAI,CAAAA,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEI,GAAG,MAAK,QAAQ,IAAIJ,CAAC,aAADA,CAAC,eAADA,CAAC,CAAEnD,YAAY,EAAE;MAAA,IAAAuF,kBAAA;MAC1C,CAAAA,kBAAA,GAAAF,SAAS,CAACG,OAAO,cAAAD,kBAAA,uBAAjBA,kBAAA,CAAmBvE,KAAK,CAAC,CAAC;IAC5B;IAEAkD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGf,CAAC,CAAC;IAEfnB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG;MACToB,MAAM,EAAE;QAAEC,KAAK,EAAE;MAAG;IACtB,CAAwC,CAAC;EAC3C;EAEA,IAAMoC,IAAI,GAAG3G,cAAc,CAAC,CAAC;EAE7B,IAAM4G,SAAS,GACbzF,KAAK,CAAC,YAAY,CAAC,IACnBwE,KAAK,IACLgB,IAAI,CAACE,CAAC,kBAAAC,MAAA,CAAkB3F,KAAK,CAACY,OAAO,GAAG,SAAS,GAAG,aAAa,CAAE,CAAC;EAEtE,oBACEpC,KAAA,CAAA2B,aAAA,CAACxB,cAAc;IACb8E,IAAI,EAAE4B,QAAQ,GAAG,QAAQ,GAAG,MAAO;IACnCO,sBAAsB,EAAE,CAACP,QAAS;IAClCQ,SAAS;IACT3B,SAAS,EAAEA,SAAU;IACrBC,SAAS,EAAEA,SAAU;IACrBC,UAAU,EAAEA,UAAW;IACvBC,UAAU,EAAEA,UAAW;IACvByB,OAAO,eACLtH,KAAA,CAAA2B,aAAA,CAACsB,YAAY;MACXE,MAAM,EAAEA,MAAO;MACfC,SAAS,EAAEA,SAAU;MACrBC,OAAO,EAAEA,OAAQ;MACjBE,QAAQ,EAAEA,QAAS;MACnBE,QAAQ,EAAEA;IAAS,GAElB1B,QACW,CACf;IACDqE,SAAS,EAAEA,SAAU;IACrB/E,GAAG,EAAEd,SAAS,CAACc,GAAG,EAAEuF,SAAS,CAAE;IAC/BN,kBAAkB,EAAEA;EAAmB,gBAEvCtG,KAAA,CAAA2B,aAAA,CAACE,cAAc,EAAAD,QAAA,KACTJ,KAAK;IACT,cAAYyF,SAAU;IACtB/E,KAAK,EAAE8D,KAAK,KAAKlD,SAAU;IAC3BP,KAAK,EAAEgB,QAAQ,GAAG,KAAK,GAAGzC,MAAO;IACjC+B,IAAI,EACFrB,KAAK,CAACY,OAAO,IAAI,CAAC4D,KAAK,GAAGlD,SAAS,GAAG,CAACD,IAAI,IAAI,CAACmD,KAAK,gBACnDhG,KAAA,CAAA2B,aAAA,CAAC7B,gBAAgB,MAAE,CAAC,GAEpB+C,IAEH;IACDgC,SAAS,EAAEA,SAAU;IACrBpC,OAAO,EAAEA;EAAQ,IAEhBuD,KACa,CACF,CAAC;AAErB,CACF,CAAC;AAED,OAAO,IAAMuB,kBAAkB,GAAGnH,wBAAwB;AAE1D,OAAO,SAASoH,gBAAgBA,CAAAC,KAAA,EAA8B;EAAA,IAA3B1F,QAAQ,GAAA0F,KAAA,CAAR1F,QAAQ;EACzC,OAAOA,QAAQ,CAACwF,kBAAkB,CAAC,CAAC,CAAC;AACvC;AAEAjC,SAAS,CAACoC,WAAW,GAAG,UAAU;AAElCxG,IAAI,CAACwG,WAAW,GAAG,eAAe;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMnC,QAAQ,GAAGjF,gBAAgB,CACtC;EACEY,IAAI,EAAJA,IAAI;EACJyG,KAAK,EAAE1H,cAAc,CAAC0H;AACxB,CAAC,EACDrC,SACF,CAAC"}
1
+ {"version":3,"file":"Dropdown.js","names":["CaretDown","CaretUp","EllipsisVertical","classNames","React","MenuImperative","useMenuImperativeControlNavigation","OverlayTrigger","useOverlayTriggerContext","useI18nContext","addSubcomponents","mergeRefs","StyledDropdownButton","StyledDropdownMenu","StyledDropdownSpinner","noop","isFunction","obj","isOpen","_ref","_ref$open","open","Item","forwardRef","_ref2","ref","_ref2$restoreFocus","restoreFocus","props","_objectWithoutProperties","_excluded","createElement","_extends","DropdownButton","_ref3","children","className","_ref3$arrow","arrow","_ref3$loading","loading","_ref3$open","_ref3$focus","focus","_ref3$variant","variant","_excluded2","caret","size","icon","undefined","iconRight","$loading","DropdownMenu","_ref4","footer","i18nScope","menuRef","onSearch_","onSearch","_ref4$onSelect","onSelect","onSelect_","id","overlayTriggerContext","_React$useState","useState","_React$useState2","_slicedToArray","search","setSearch","_useMenuImperativeCon","Boolean","menuId","menuProps","menuNavigationTriggerProps","selection","hide","e","target","value","onKeyDown","key","stopPropagation","shadowStrength","role","Search","onChange","Options","Footer","Dropdown_","Dropdown","_ref5","afterHide_","afterHide","afterShow","beforeHide","beforeShow","error","_ref5$i18nScope","label","_ref5$onKeyDown","_ref5$onSelect","_ref5$placement","placement","_ref5$restoreFocusOnH","restoreFocusOnHide","_ref5$variant","_ref5$hasTabbableElem","hasTabbableElements","_excluded3","useRef","buttonRef","isSearchable","isDialog","_buttonRef$current","current","I18n","ariaLabel","t","concat","trackAriaExpanded","passA11yPropsToOverlay","autoFocus","containFocus","overlay","useDropdownContext","DropdownConsumer","_ref6","displayName","Group"],"sources":["../../src/Dropdown/Dropdown.tsx"],"sourcesContent":["import { CaretDown, CaretUp, EllipsisVertical } from '@procore/core-icons/dist'\nimport classNames from 'classnames'\nimport React from 'react'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport {\n StyledDropdownButton,\n StyledDropdownMenu,\n StyledDropdownSpinner,\n} from './Dropdown.styles'\nimport type {\n ConsumerProps,\n DropdownButtonProps,\n DropdownItemProps,\n DropdownMenuProps,\n DropdownProps,\n} from './Dropdown.types'\n\nfunction noop() {}\nfunction isFunction(obj: any) {\n return typeof obj === 'function'\n}\nfunction isOpen({ open = false }) {\n return open\n}\n\nconst Item = React.forwardRef<HTMLDivElement, DropdownItemProps>(function Item(\n { restoreFocus = false, ...props },\n ref\n) {\n return (\n <MenuImperative.Item ref={ref} restoreFocus={restoreFocus} {...props} />\n )\n}) as typeof MenuImperative.Item\n\nexport const DropdownButton = React.forwardRef<\n HTMLButtonElement,\n DropdownButtonProps\n>(function DropdownButton(\n {\n children,\n className,\n arrow = false,\n loading = false,\n open = false,\n focus = false,\n variant = 'secondary',\n ...props\n },\n ref\n) {\n const caret =\n arrow && (open ? <CaretUp size=\"sm\" /> : <CaretDown size=\"sm\" />)\n\n const icon = loading ? (\n <StyledDropdownSpinner\n size=\"xs\"\n variant={variant === 'primary' ? 'light' : 'default'}\n />\n ) : (\n caret\n )\n\n return (\n <StyledDropdownButton\n {...props}\n className={classNames(className, {\n focus: isFunction(focus) ? (focus as Function)({ open }) : focus,\n })}\n aria-busy={loading || undefined}\n iconRight={icon}\n $loading={loading}\n variant={variant}\n ref={ref}\n >\n {children}\n </StyledDropdownButton>\n )\n})\n\nconst DropdownMenu = React.forwardRef<HTMLDivElement, DropdownMenuProps>(\n function DropdownMenu(\n {\n children,\n footer,\n i18nScope,\n menuRef,\n onSearch: onSearch_,\n onSelect: onSelect_ = noop,\n id,\n },\n ref\n ) {\n const overlayTriggerContext = useOverlayTriggerContext()\n\n const [search, setSearch] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef, Boolean(onSearch_), {\n menuId: id,\n })\n\n function onSelect(selection: Selection) {\n overlayTriggerContext.hide({ restoreFocus: selection.restoreFocus })\n\n onSelect_(selection)\n }\n\n function onSearch(e: React.ChangeEvent<HTMLInputElement>) {\n setSearch(e.target.value)\n\n onSearch_?.(e)\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n // This is disconnected from the OverlayTrigger closing on Escape.\n // Closing a dropdown with Escape will not close a Modal, because stopP.\n // It is called only once because the menu component is unmounted.\n // The next Escape will propagate.\n if (e.key === 'Escape' || e.key === 'Esc') {\n // only let parent listeners (modal, overlay) know when empty\n e.stopPropagation()\n }\n }\n\n return (\n <StyledDropdownMenu ref={ref} shadowStrength={2}>\n <MenuImperative\n {...menuProps}\n ref={menuRef}\n onKeyDown={onKeyDown}\n onSelect={onSelect}\n role=\"menu\"\n >\n {onSearch_ && (\n <MenuImperative.Search\n {...menuNavigationTriggerProps}\n onChange={onSearch}\n i18nScope={i18nScope}\n />\n )}\n <MenuImperative.Options>{children}</MenuImperative.Options>\n {footer && <MenuImperative.Footer>{footer}</MenuImperative.Footer>}\n </MenuImperative>\n </StyledDropdownMenu>\n )\n }\n)\n\nconst Dropdown_ = React.forwardRef<HTMLButtonElement, DropdownProps>(\n function Dropdown(\n {\n afterHide: afterHide_,\n afterShow,\n beforeHide,\n beforeShow,\n children,\n error,\n footer,\n i18nScope = 'core.dropdown',\n icon,\n label,\n onKeyDown = noop,\n onSearch,\n onSelect = noop,\n placement = 'bottom-left',\n restoreFocusOnHide = false,\n variant = 'secondary',\n hasTabbableElements = false,\n ...props\n },\n ref\n ) {\n const menuRef = React.useRef<MenuRef>(null)\n const buttonRef = React.useRef<HTMLButtonElement>(null)\n const isSearchable = Boolean(onSearch)\n const isDialog = hasTabbableElements && !isSearchable\n\n function afterHide(e: Event | undefined) {\n // @ts-expect-error\n if (e?.key === 'Escape' || e?.restoreFocus) {\n buttonRef.current?.focus()\n }\n\n afterHide_?.(e)\n\n onSearch?.({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n }\n\n const I18n = useI18nContext()\n\n const ariaLabel =\n props['aria-label'] ||\n label ||\n I18n.t(`core.dropdown.${props.loading ? 'loading' : 'moreOptions'}`)\n\n return (\n <OverlayTrigger\n role={isSearchable ? undefined : isDialog ? 'dialog' : 'menu'}\n trackAriaExpanded={isSearchable}\n passA11yPropsToOverlay={!isDialog}\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={beforeHide}\n beforeShow={beforeShow}\n containFocus={!!footer || hasTabbableElements}\n overlay={\n <DropdownMenu\n footer={footer}\n i18nScope={i18nScope}\n menuRef={menuRef}\n onSearch={onSearch}\n onSelect={onSelect}\n >\n {children}\n </DropdownMenu>\n }\n placement={placement}\n ref={mergeRefs(ref, buttonRef)}\n restoreFocusOnHide={restoreFocusOnHide}\n >\n <DropdownButton\n {...props}\n aria-label={ariaLabel}\n arrow={label !== undefined}\n focus={onSearch ? false : isOpen}\n icon={\n props.loading && !label ? undefined : !icon && !label ? (\n <EllipsisVertical />\n ) : (\n icon\n )\n }\n onKeyDown={onKeyDown}\n variant={variant}\n >\n {label}\n </DropdownButton>\n </OverlayTrigger>\n )\n }\n)\n\nexport const useDropdownContext = useOverlayTriggerContext\n\nexport function DropdownConsumer({ children }: ConsumerProps) {\n return children(useDropdownContext())\n}\n\nDropdown_.displayName = 'Dropdown'\n\nItem.displayName = 'Dropdown.Item'\n\n/**\n\n Dropdowns display a list of actions in a menu that opens and closes. We use\n dropdowns most commonly to trigger an action or to redirect the user to\n a new page or modal.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-dropdown--demo)\n\n @see [Design Guidelines](https://design.procore.com/dropdown)\n\n*/\nexport const Dropdown = addSubcomponents(\n {\n Item,\n Group: MenuImperative.Group,\n },\n Dropdown_\n)\n"],"mappings":"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"}
@@ -5,15 +5,15 @@ import { Card } from '../Card/Card';
5
5
  import { Spinner } from '../Spinner/Spinner';
6
6
  export var StyledDropdownMenu = /*#__PURE__*/styled(Card).withConfig({
7
7
  displayName: "StyledDropdownMenu",
8
- componentId: "core-12_43_0__sc-ufsy2q-0"
8
+ componentId: "core-12_45_0__sc-ufsy2q-0"
9
9
  })(["display:flex;max-height:40vh;max-width:248px;min-width:inherit;"]);
10
10
  export var StyledDropdownSpinner = /*#__PURE__*/styled(Spinner).withConfig({
11
11
  displayName: "StyledDropdownSpinner",
12
- componentId: "core-12_43_0__sc-ufsy2q-1"
12
+ componentId: "core-12_45_0__sc-ufsy2q-1"
13
13
  })(["margin:0 6px;"]);
14
14
  export var StyledDropdownButton = /*#__PURE__*/styled(Button).withConfig({
15
15
  displayName: "StyledDropdownButton",
16
- componentId: "core-12_43_0__sc-ufsy2q-2"
16
+ componentId: "core-12_45_0__sc-ufsy2q-2"
17
17
  })(["pointer-events:", ";", ""], function (_ref) {
18
18
  var disabled = _ref.disabled,
19
19
  $loading = _ref.$loading;
@@ -86,7 +86,7 @@ export interface DropdownProps extends Omit<HTMLButtonProps, 'onSelect'> {
86
86
  placement?: DropdownPlacement;
87
87
  /**
88
88
  * If focus should return to the button after selection.
89
- * @ally Dropdowns hold no value and take an action. Focus is expected
89
+ * @a11y Dropdowns hold no value and take an action. Focus is expected
90
90
  * to be moved from a Dropdown to something else, to continue the user flow .
91
91
  * If all actions are inert and does not move focus, set this to `true`.
92
92
  * If some actions are inert consider using `restoreFocus` on `Dropdown.Item`.
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.types.js","names":[],"sources":["../../src/Dropdown/Dropdown.types.ts"],"sourcesContent":["import type { ButtonProps } from '../Button/Button.types'\nimport type {\n MenuItemProps,\n MenuRef,\n Selection,\n} from '../MenuImperative/MenuImperative.types'\nimport type { OverlayTriggerProps } from '../OverlayTrigger/OverlayTrigger.types'\nimport type { Placement } from '../_utils/types'\n\ntype HTMLButtonProps = React.ComponentPropsWithoutRef<'button'>\n\ntype HTMLDivProps = React.ComponentPropsWithoutRef<'div'>\n\nexport type DropdownPlacement = Extract<\n Placement,\n 'bottom' | 'bottom-left' | 'bottom-right' | 'top' | 'top-left' | 'top-right'\n>\n\nexport interface DropdownProps extends Omit<HTMLButtonProps, 'onSelect'> {\n /**\n * @since 10.19.0\n */\n afterHide?: OverlayTriggerProps['afterHide']\n /**\n * @since 10.19.0\n */\n afterShow?: OverlayTriggerProps['afterShow']\n /**\n * @since 10.19.0\n */\n beforeHide?: OverlayTriggerProps['beforeHide']\n /**\n * @since 10.19.0\n */\n beforeShow?: OverlayTriggerProps['beforeShow']\n /**\n * @since 10.19.0\n */\n block?: ButtonProps['block']\n /**\n * @since 10.19.0\n */\n className?: ButtonProps['className']\n /**\n * @since 10.19.0\n */\n disabled?: ButtonProps['disabled']\n /**\n * @since 10.19.0\n */\n error?: boolean\n\n /**\n * Content to render in a footer.\n * @since 10.19.0\n */\n footer?: React.ReactNode\n /**\n * The i18n key to use for the dropdowns's configurable strings.\n * Defaults to using the core library's default strings.\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @remarks string icons have been deprecated, please pass a component from `@procore/core-icons`\n * @since 10.19.0\n */\n icon?: ButtonProps['icon']\n /**\n * The button text.\n * @since 10.19.0\n */\n label?: string\n /**\n * @since 10.19.0\n */\n loading?: ButtonProps['loading']\n\n /**\n * Adds a search bar to the dropdown.\n * @since 10.19.0\n */\n onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void\n\n /**\n * Callback for selecting an item from the menu\n * ```\n * ({ event: ReactEvent, item: Menu.Item.props.item, group: bool }) => void\n * ```\n * `item` will be the `item` prop supplied to the `Item` component\n * @since 10.19.0\n */\n onSelect?: (selection: Selection) => void\n\n /**\n * The placement of the overlay.\n * @default 'bottom-left'\n * @since 10.19.0\n */\n placement?: DropdownPlacement\n /**\n * If focus should return to the button after selection.\n * @ally Dropdowns hold no value and take an action. Focus is expected\n * to be moved from a Dropdown to something else, to continue the user flow .\n * If all actions are inert and does not move focus, set this to `true`.\n * If some actions are inert consider using `restoreFocus` on `Dropdown.Item`.\n * Closing Dropdown via `Escape` always restores focus.\n * @default false\n * @since 11.13.0\n */\n restoreFocusOnHide?: OverlayTriggerProps['restoreFocusOnHide']\n /**\n * The button size\n * @default 'md'\n * @since 10.19.0\n */\n size?: ButtonProps['size']\n /**\n * @since 10.19.0\n */\n trigger?: OverlayTriggerProps['trigger']\n /**\n * @since 10.19.0\n */\n type?: ButtonProps['type']\n\n /**\n * @default 'secondary'\n * @since 10.19.0\n */\n variant?: ButtonProps['variant']\n /**\n * Whether to act as modal dialog.\n * Should be used when Dropdown has tabbable elements (e.g. buttons in footer).\n * @default 'false'\n * @since 11.5.0\n */\n hasTabbableElements?: boolean\n}\n\nexport type DropdownItemProps = MenuItemProps\n\nexport interface DropdownButtonProps extends ButtonProps {\n /**\n * Shows the arrow when activated\n * @since 10.19.0\n */\n arrow?: boolean\n /**\n * Shows the button spinner\n * @since 10.19.0\n */\n loading?: boolean\n /**\n * Changes the direction of the arrow if shown\n * @since 10.19.0\n */\n open?: boolean\n /**\n * @since 11.9.0\n * If the component should apply a focus appeareance. This is\n * not DOM focus management, and purely visual.\n */\n focus?: boolean | ((obj: { open: boolean }) => boolean)\n}\n\nexport interface DropdownMenuProps extends Omit<HTMLDivProps, 'onSelect'> {\n /**\n * @since 10.19.0\n */\n footer?: React.ReactNode\n /**\n * @since 10.19.0\n */\n menuRef: React.RefObject<MenuRef>\n /**\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.19.0\n */\n onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * @since 10.19.0\n */\n onSelect?: (selection: Selection) => void\n}\n\nexport interface ConsumerProps {\n /**\n * @since 10.19.0\n */\n children: (api: any) => JSX.Element\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Dropdown.types.js","names":[],"sources":["../../src/Dropdown/Dropdown.types.ts"],"sourcesContent":["import type { ButtonProps } from '../Button/Button.types'\nimport type {\n MenuItemProps,\n MenuRef,\n Selection,\n} from '../MenuImperative/MenuImperative.types'\nimport type { OverlayTriggerProps } from '../OverlayTrigger/OverlayTrigger.types'\nimport type { Placement } from '../_utils/types'\n\ntype HTMLButtonProps = React.ComponentPropsWithoutRef<'button'>\n\ntype HTMLDivProps = React.ComponentPropsWithoutRef<'div'>\n\nexport type DropdownPlacement = Extract<\n Placement,\n 'bottom' | 'bottom-left' | 'bottom-right' | 'top' | 'top-left' | 'top-right'\n>\n\nexport interface DropdownProps extends Omit<HTMLButtonProps, 'onSelect'> {\n /**\n * @since 10.19.0\n */\n afterHide?: OverlayTriggerProps['afterHide']\n /**\n * @since 10.19.0\n */\n afterShow?: OverlayTriggerProps['afterShow']\n /**\n * @since 10.19.0\n */\n beforeHide?: OverlayTriggerProps['beforeHide']\n /**\n * @since 10.19.0\n */\n beforeShow?: OverlayTriggerProps['beforeShow']\n /**\n * @since 10.19.0\n */\n block?: ButtonProps['block']\n /**\n * @since 10.19.0\n */\n className?: ButtonProps['className']\n /**\n * @since 10.19.0\n */\n disabled?: ButtonProps['disabled']\n /**\n * @since 10.19.0\n */\n error?: boolean\n\n /**\n * Content to render in a footer.\n * @since 10.19.0\n */\n footer?: React.ReactNode\n /**\n * The i18n key to use for the dropdowns's configurable strings.\n * Defaults to using the core library's default strings.\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @remarks string icons have been deprecated, please pass a component from `@procore/core-icons`\n * @since 10.19.0\n */\n icon?: ButtonProps['icon']\n /**\n * The button text.\n * @since 10.19.0\n */\n label?: string\n /**\n * @since 10.19.0\n */\n loading?: ButtonProps['loading']\n\n /**\n * Adds a search bar to the dropdown.\n * @since 10.19.0\n */\n onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void\n\n /**\n * Callback for selecting an item from the menu\n * ```\n * ({ event: ReactEvent, item: Menu.Item.props.item, group: bool }) => void\n * ```\n * `item` will be the `item` prop supplied to the `Item` component\n * @since 10.19.0\n */\n onSelect?: (selection: Selection) => void\n\n /**\n * The placement of the overlay.\n * @default 'bottom-left'\n * @since 10.19.0\n */\n placement?: DropdownPlacement\n /**\n * If focus should return to the button after selection.\n * @a11y Dropdowns hold no value and take an action. Focus is expected\n * to be moved from a Dropdown to something else, to continue the user flow .\n * If all actions are inert and does not move focus, set this to `true`.\n * If some actions are inert consider using `restoreFocus` on `Dropdown.Item`.\n * Closing Dropdown via `Escape` always restores focus.\n * @default false\n * @since 11.13.0\n */\n restoreFocusOnHide?: OverlayTriggerProps['restoreFocusOnHide']\n /**\n * The button size\n * @default 'md'\n * @since 10.19.0\n */\n size?: ButtonProps['size']\n /**\n * @since 10.19.0\n */\n trigger?: OverlayTriggerProps['trigger']\n /**\n * @since 10.19.0\n */\n type?: ButtonProps['type']\n\n /**\n * @default 'secondary'\n * @since 10.19.0\n */\n variant?: ButtonProps['variant']\n /**\n * Whether to act as modal dialog.\n * Should be used when Dropdown has tabbable elements (e.g. buttons in footer).\n * @default 'false'\n * @since 11.5.0\n */\n hasTabbableElements?: boolean\n}\n\nexport type DropdownItemProps = MenuItemProps\n\nexport interface DropdownButtonProps extends ButtonProps {\n /**\n * Shows the arrow when activated\n * @since 10.19.0\n */\n arrow?: boolean\n /**\n * Shows the button spinner\n * @since 10.19.0\n */\n loading?: boolean\n /**\n * Changes the direction of the arrow if shown\n * @since 10.19.0\n */\n open?: boolean\n /**\n * @since 11.9.0\n * If the component should apply a focus appeareance. This is\n * not DOM focus management, and purely visual.\n */\n focus?: boolean | ((obj: { open: boolean }) => boolean)\n}\n\nexport interface DropdownMenuProps extends Omit<HTMLDivProps, 'onSelect'> {\n /**\n * @since 10.19.0\n */\n footer?: React.ReactNode\n /**\n * @since 10.19.0\n */\n menuRef: React.RefObject<MenuRef>\n /**\n * @since 10.19.0\n */\n i18nScope?: string\n /**\n * @since 10.19.0\n */\n onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * @since 10.19.0\n */\n onSelect?: (selection: Selection) => void\n}\n\nexport interface ConsumerProps {\n /**\n * @since 10.19.0\n */\n children: (api: any) => JSX.Element\n}\n"],"mappings":""}