@procore/core-react 12.35.0 → 12.37.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 (279) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  3. package/dist/Avatar/Avatar.styles.js +5 -5
  4. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  5. package/dist/Badge/Badge.styles.js +2 -2
  6. package/dist/BadgePill/BadgePill.styles.js +4 -4
  7. package/dist/Banner/Banner.styles.js +10 -10
  8. package/dist/Box/Box.styles.js +1 -1
  9. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  10. package/dist/Button/Button.js +0 -1
  11. package/dist/Button/Button.js.map +1 -1
  12. package/dist/Button/Button.styles.js +5 -5
  13. package/dist/Calendar/Calendar.styles.js +9 -9
  14. package/dist/Card/Card.styles.js +1 -1
  15. package/dist/Checkbox/Checkbox.styles.js +6 -6
  16. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  17. package/dist/ContactItem/ContactItem.styles.js +5 -5
  18. package/dist/Content/Content.styles.js +2 -2
  19. package/dist/DateInput/DateInput.js +2 -3
  20. package/dist/DateInput/DateInput.js.map +1 -1
  21. package/dist/DateInput/DateInput.styles.js +9 -9
  22. package/dist/DateInput/DateInput.styles.js.map +1 -1
  23. package/dist/DateSelect/DateSelect.js +1 -1
  24. package/dist/DateSelect/DateSelect.js.map +1 -1
  25. package/dist/DetailPage/DetailPage.styles.js +7 -7
  26. package/dist/Dropdown/Dropdown.js +0 -4
  27. package/dist/Dropdown/Dropdown.js.map +1 -1
  28. package/dist/Dropdown/Dropdown.styles.js +3 -3
  29. package/dist/DropdownFlyout/DropdownFlyout.js +8 -3
  30. package/dist/DropdownFlyout/DropdownFlyout.js.map +1 -1
  31. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  32. package/dist/DropdownFlyout/DropdownFlyout.types.d.ts +1 -0
  33. package/dist/DropdownFlyout/DropdownFlyout.types.js.map +1 -1
  34. package/dist/Dropzone/Dropzone.js +1 -1
  35. package/dist/Dropzone/Dropzone.styles.js +9 -9
  36. package/dist/EmptyState/EmptyState.styles.js +6 -6
  37. package/dist/Field/Field.styles.js +3 -3
  38. package/dist/FileList/FileList.styles.js +4 -4
  39. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  40. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  41. package/dist/FileSelect/FileSelect.styles.js +2 -2
  42. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  43. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  44. package/dist/FileSelect/GridSource/GridSource.js +2 -1
  45. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  46. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  47. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  48. package/dist/FileSelect/SourceItem/SourceItem.js +19 -16
  49. package/dist/FileSelect/SourceItem/SourceItem.js.map +1 -1
  50. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  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 +4 -4
  54. package/dist/FilterToken/FilterToken.styles.js +5 -5
  55. package/dist/FlexList/FlexList.styles.js +1 -1
  56. package/dist/Form/Form.styles.js +14 -14
  57. package/dist/Form/StyledFormikForm.styles.js +2 -2
  58. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  59. package/dist/Grid/Grid.styles.js +2 -2
  60. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  61. package/dist/Input/Input.styles.js +2 -2
  62. package/dist/Input/Input.styles.js.map +1 -1
  63. package/dist/Link/Link.styles.js +1 -1
  64. package/dist/ListPage/ListPage.styles.js +8 -8
  65. package/dist/Loader/Loader.styles.js +2 -2
  66. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  67. package/dist/Modal/Modal.styles.js +13 -13
  68. package/dist/MultiSelect/MultiSelect.js +3 -3
  69. package/dist/MultiSelect/MultiSelect.js.map +1 -1
  70. package/dist/MultiSelect/MultiSelect.styles.d.ts +7 -4
  71. package/dist/MultiSelect/MultiSelect.styles.js +18 -10
  72. package/dist/MultiSelect/MultiSelect.styles.js.map +1 -1
  73. package/dist/NextMenu/NextMenu.styles.js +3 -3
  74. package/dist/Notation/Notation.js +1 -1
  75. package/dist/NumberInput/NumberInput.styles.js +9 -9
  76. package/dist/NumberInput/NumberInput.styles.js.map +1 -1
  77. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  78. package/dist/OverlayTrigger/OverlayTrigger.js +16 -0
  79. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  80. package/dist/PageLayout/PageLayout.styles.js +16 -16
  81. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  82. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  83. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  84. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  85. package/dist/Pagination/Pagination.styles.js +6 -6
  86. package/dist/Pagination/Pagination.styles.js.map +1 -1
  87. package/dist/Pagination/Pagination.types.d.ts +4 -0
  88. package/dist/Pagination/Pagination.types.js.map +1 -1
  89. package/dist/Pagination/PaginationSelect.js +59 -3
  90. package/dist/Pagination/PaginationSelect.js.map +1 -1
  91. package/dist/Panel/Panel.styles.js +11 -11
  92. package/dist/Pill/Pill.styles.js +3 -3
  93. package/dist/PillSelect/PillSelect.styles.js +4 -4
  94. package/dist/Popover/Popover.styles.js +2 -2
  95. package/dist/Portal/Portal.styles.js +1 -1
  96. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  97. package/dist/RadioButton/RadioButton.styles.js +4 -4
  98. package/dist/RadioButton/RadioButton.styles.js.map +1 -1
  99. package/dist/Required/Required.styles.js +3 -3
  100. package/dist/Search/Search.styles.js +5 -5
  101. package/dist/Section/Section.styles.js +7 -7
  102. package/dist/SegmentedController/SegmentedController.js +1 -1
  103. package/dist/SegmentedController/SegmentedController.js.map +1 -1
  104. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  105. package/dist/Select/Select.js +16 -11
  106. package/dist/Select/Select.js.map +1 -1
  107. package/dist/Select/Select.styles.d.ts +5 -1
  108. package/dist/Select/Select.styles.js +45 -35
  109. package/dist/Select/Select.styles.js.map +1 -1
  110. package/dist/Semantic/Semantic.styles.d.ts +4 -4
  111. package/dist/Semantic/Semantic.styles.js +9 -9
  112. package/dist/Slider/Slider.js +3 -1
  113. package/dist/Slider/Slider.js.map +1 -1
  114. package/dist/Slider/Slider.styles.js +5 -5
  115. package/dist/Spinner/Spinner.styles.js +7 -7
  116. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  117. package/dist/SuperSelect/SuperSelect.components.js +19 -12
  118. package/dist/SuperSelect/SuperSelect.components.js.map +1 -1
  119. package/dist/SuperSelect/SuperSelect.js +1 -1
  120. package/dist/SuperSelect/SuperSelect.js.map +1 -1
  121. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  122. package/dist/SuperSelect/SuperSelect.styles.js +41 -41
  123. package/dist/SuperSelect/SuperSelect.styles.js.map +1 -1
  124. package/dist/SuperSelect/SuperSelect.types.d.ts +4 -0
  125. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  126. package/dist/SuperSelect/SuperSelect.utils.d.ts +2 -1
  127. package/dist/SuperSelect/SuperSelect.utils.js +17 -0
  128. package/dist/SuperSelect/SuperSelect.utils.js.map +1 -1
  129. package/dist/SuperSelect/useSuperSelect.d.ts +1 -1
  130. package/dist/SuperSelect/useSuperSelect.js +75 -46
  131. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  132. package/dist/Switch/Switch.styles.js +4 -4
  133. package/dist/Table/Table.styles.js +64 -61
  134. package/dist/Table/Table.styles.js.map +1 -1
  135. package/dist/TableShelf/TableShelf.styles.js +5 -5
  136. package/dist/Tabs/Tabs.styles.js +15 -15
  137. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  138. package/dist/TextArea/TextArea.styles.js +1 -1
  139. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  140. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  141. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  142. package/dist/TieredSelect/TierSelectionTieredSelect.js +12 -2
  143. package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
  144. package/dist/TieredSelect/TieredSelect.js +18 -5
  145. package/dist/TieredSelect/TieredSelect.js.map +1 -1
  146. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  147. package/dist/TieredSelect/TieredSelectMenu.js +9 -2
  148. package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
  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 +2 -2
  157. package/dist/Tooltip/Tooltip.types.d.ts +4 -0
  158. package/dist/Tooltip/Tooltip.types.js.map +1 -1
  159. package/dist/Tree/Tree.hooks.js +11 -6
  160. package/dist/Tree/Tree.hooks.js.map +1 -1
  161. package/dist/Tree/Tree.js +142 -49
  162. package/dist/Tree/Tree.js.map +1 -1
  163. package/dist/Tree/Tree.styles.d.ts +5 -0
  164. package/dist/Tree/Tree.styles.js +17 -9
  165. package/dist/Tree/Tree.styles.js.map +1 -1
  166. package/dist/Tree/Tree.types.d.ts +21 -1
  167. package/dist/Tree/Tree.types.js.map +1 -1
  168. package/dist/Typeahead/Typeahead.styles.js +3 -3
  169. package/dist/Typography/Typography.styles.js +1 -1
  170. package/dist/Typography/Typography.table.story.js +2 -2
  171. package/dist/_hooks/I18n.d.ts +38 -22
  172. package/dist/_locales/de-DE.json +4 -2
  173. package/dist/_locales/en-AU.json +3 -1
  174. package/dist/_locales/en-CA.json +3 -1
  175. package/dist/_locales/en-GB.json +3 -1
  176. package/dist/_locales/en.json +2 -0
  177. package/dist/_locales/es-ES.json +3 -1
  178. package/dist/_locales/es.json +5 -3
  179. package/dist/_locales/fr-CA.json +4 -2
  180. package/dist/_locales/fr-FR.json +6 -4
  181. package/dist/_locales/is-IS.json +4 -2
  182. package/dist/_locales/it-IT.json +49 -47
  183. package/dist/_locales/ja-JP.json +6 -4
  184. package/dist/_locales/pl-PL.json +3 -1
  185. package/dist/_locales/pseudo.json +2 -0
  186. package/dist/_locales/pt-BR.json +6 -4
  187. package/dist/_locales/pt-PT.json +13 -11
  188. package/dist/_locales/th-TH.json +6 -4
  189. package/dist/_locales/zh-SG.json +3 -1
  190. package/dist/_locales/zh-TW.json +7 -5
  191. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  192. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  193. package/dist/_styles/colors.js +7 -3
  194. package/dist/_styles/colors.js.map +1 -1
  195. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  196. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  197. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  198. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  199. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  200. package/dist/_typedoc/Box/Box.types.json +68 -68
  201. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  202. package/dist/_typedoc/Button/Button.types.json +13 -13
  203. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  204. package/dist/_typedoc/Card/Card.types.json +6 -6
  205. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  206. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  207. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  208. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  209. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  210. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  211. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +40 -30
  212. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  213. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  214. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  215. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  216. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  217. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  218. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  219. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  220. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  221. package/dist/_typedoc/Form/Form.types.json +750 -750
  222. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  223. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  224. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  225. package/dist/_typedoc/Input/Input.types.json +2 -2
  226. package/dist/_typedoc/Link/Link.types.json +1 -1
  227. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  228. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  229. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +77 -77
  230. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  231. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  232. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  233. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  234. package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
  235. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +32 -32
  236. package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -26
  237. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  238. package/dist/_typedoc/Panel/Panel.types.json +30 -30
  239. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  240. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  241. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  242. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  243. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  244. package/dist/_typedoc/Required/Required.types.json +5 -5
  245. package/dist/_typedoc/Search/Search.types.json +18 -18
  246. package/dist/_typedoc/Section/Section.types.json +15 -15
  247. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  248. package/dist/_typedoc/Select/Select.types.json +60 -60
  249. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  250. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  251. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  252. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  253. package/dist/_typedoc/Table/Table.types.json +102 -102
  254. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  255. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  256. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  257. package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
  258. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  259. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  260. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
  261. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
  262. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  263. package/dist/_typedoc/Title/Title.types.json +1 -1
  264. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  265. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  266. package/dist/_typedoc/Token/Token.types.json +7 -7
  267. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  268. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
  269. package/dist/_typedoc/Tooltip/Tooltip.types.json +23 -13
  270. package/dist/_typedoc/Tree/Tree.types.json +111 -86
  271. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  272. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  273. package/dist/_typedoc/_utils/types.json +3 -3
  274. package/dist/_utils/storybookTooltip.d.ts +2 -0
  275. package/dist/_utils/storybookTooltip.js +12 -0
  276. package/dist/_utils/storybookTooltip.js.map +1 -0
  277. package/dist/_utils/triggerListeners.js +2 -2
  278. package/dist/_utils/triggerListeners.js.map +1 -1
  279. package/package.json +1 -1
@@ -48,7 +48,7 @@ var getSlideOutAnimation = function getSlideOutAnimation($placement) {
48
48
  };
49
49
  export var StyledTearsheetContent = /*#__PURE__*/styled.div.withConfig({
50
50
  displayName: "StyledTearsheetContent",
51
- componentId: "core-12_35_0__sc-ljrxoq-0"
51
+ componentId: "core-12_37_0__sc-ljrxoq-0"
52
52
  })(["display:flex;z-index:2;width:100%;", " ", " ", " ", ""], function (_ref) {
53
53
  var $open = _ref.$open,
54
54
  $placement = _ref.$placement;
@@ -68,7 +68,7 @@ export var StyledTearsheetContent = /*#__PURE__*/styled.div.withConfig({
68
68
  export var minScrimSize = spacing.xxl * 3;
69
69
  export var StyledTearsheetBody = /*#__PURE__*/styled.div.withConfig({
70
70
  displayName: "StyledTearsheetBody",
71
- componentId: "core-12_35_0__sc-ljrxoq-1"
71
+ componentId: "core-12_37_0__sc-ljrxoq-1"
72
72
  })(["display:flex;overflow-y:auto;flex-direction:column;background-color:", ";&:focus-visible{", "}", " ", "}"], colors.white, getFocusInset(), function (_ref5) {
73
73
  var $block = _ref5.$block,
74
74
  $placement = _ref5.$placement,
@@ -89,7 +89,7 @@ var zoomIn = /*#__PURE__*/keyframes(["from{transform:scale(0);}to{transform:scal
89
89
  var zoomOut = /*#__PURE__*/keyframes(["from{transform:scale(1);}to{transform:scale(0);}"]);
90
90
  export var StyledScrimContainer = /*#__PURE__*/styled.div.withConfig({
91
91
  displayName: "StyledScrimContainer",
92
- componentId: "core-12_35_0__sc-ljrxoq-2"
92
+ componentId: "core-12_37_0__sc-ljrxoq-2"
93
93
  })(["", ""], function (_ref7) {
94
94
  var $placement = _ref7.$placement;
95
95
  var minSizeProp = ['top', 'bottom'].includes($placement) ? 'min-height' : 'min-width';
@@ -97,7 +97,7 @@ export var StyledScrimContainer = /*#__PURE__*/styled.div.withConfig({
97
97
  });
98
98
  export var StyledButtonContainer = /*#__PURE__*/styled.div.withConfig({
99
99
  displayName: "StyledButtonContainer",
100
- componentId: "core-12_35_0__sc-ljrxoq-3"
100
+ componentId: "core-12_37_0__sc-ljrxoq-3"
101
101
  })(["", ""], function (_ref8) {
102
102
  var $placement = _ref8.$placement;
103
103
  switch ($placement) {
@@ -112,7 +112,7 @@ export var StyledButtonContainer = /*#__PURE__*/styled.div.withConfig({
112
112
  });
113
113
  export var StyledButtonCard = /*#__PURE__*/styled(Card).withConfig({
114
114
  displayName: "StyledButtonCard",
115
- componentId: "core-12_35_0__sc-ljrxoq-4"
115
+ componentId: "core-12_37_0__sc-ljrxoq-4"
116
116
  })(["display:inline-flex;margin:", "px;", " ", " ", ""], spacing.xl, function (_ref9) {
117
117
  var $open = _ref9.$open;
118
118
  return $open ? css(["transform:scale(1);"]) : css(["transform:scale(0);"]);
@@ -3,7 +3,7 @@ import { getInputStyles } from '../Input/Input.styles';
3
3
  import { spacing } from '../_styles/spacing';
4
4
  export var StyledTextArea = /*#__PURE__*/styled.textarea.withConfig({
5
5
  displayName: "StyledTextArea",
6
- componentId: "core-12_35_0__sc-u5mow1-0"
6
+ componentId: "core-12_37_0__sc-u5mow1-0"
7
7
  })(["", ";height:auto;min-height:64px;padding:", "px ", "px;resize:", ";"], getInputStyles, spacing.sm, spacing.md, function (_ref) {
8
8
  var _ref$$resize = _ref.$resize,
9
9
  $resize = _ref$$resize === void 0 ? 'both' : _ref$$resize;
@@ -1,6 +1,6 @@
1
1
  import styled from 'styled-components';
2
2
  export var StyledEditor = /*#__PURE__*/styled.div.withConfig({
3
3
  displayName: "StyledEditor",
4
- componentId: "core-12_35_0__sc-1lje1b0-0"
4
+ componentId: "core-12_37_0__sc-1lje1b0-0"
5
5
  })(["> .tox-tinymce{border:none;}"]);
6
6
  //# sourceMappingURL=TextEditorOutput.styles.js.map
@@ -27,35 +27,35 @@ var captionBase = /*#__PURE__*/css(["color:", ";font-size:12px;line-height:16px;
27
27
  });
28
28
  export var StyledMultilineCaption = /*#__PURE__*/styled.div.withConfig({
29
29
  displayName: "StyledMultilineCaption",
30
- componentId: "core-12_35_0__sc-195f70c-0"
30
+ componentId: "core-12_37_0__sc-195f70c-0"
31
31
  })(["", ";display:flex;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:", "px;"], captionBase, multilineCaptionMaxHeight);
32
32
  export var StyledCaptionText = /*#__PURE__*/styled.span.withConfig({
33
33
  displayName: "StyledCaptionText",
34
- componentId: "core-12_35_0__sc-195f70c-1"
34
+ componentId: "core-12_37_0__sc-195f70c-1"
35
35
  })(["width:100%;"]);
36
36
  export var StyledPlaceholderCaption = /*#__PURE__*/styled.div.withConfig({
37
37
  displayName: "StyledPlaceholderCaption",
38
- componentId: "core-12_35_0__sc-195f70c-2"
38
+ componentId: "core-12_37_0__sc-195f70c-2"
39
39
  })(["", ""], captionBase);
40
40
  export var StyledSingleLineCaption = /*#__PURE__*/styled.div.withConfig({
41
41
  displayName: "StyledSingleLineCaption",
42
- componentId: "core-12_35_0__sc-195f70c-3"
42
+ componentId: "core-12_37_0__sc-195f70c-3"
43
43
  })(["display:flex;", ""], captionBase);
44
44
  export var StyledSinglelineCaptionBody = /*#__PURE__*/styled.span.withConfig({
45
45
  displayName: "StyledSinglelineCaptionBody",
46
- componentId: "core-12_35_0__sc-195f70c-4"
46
+ componentId: "core-12_37_0__sc-195f70c-4"
47
47
  })(["", ""], getEllipsis);
48
48
  export var StyledSinglelineCaptionEnding = /*#__PURE__*/styled.span.withConfig({
49
49
  displayName: "StyledSinglelineCaptionEnding",
50
- componentId: "core-12_35_0__sc-195f70c-5"
50
+ componentId: "core-12_37_0__sc-195f70c-5"
51
51
  })(["max-width:50%;white-space:nowrap;flex-shrink:0;"]);
52
52
  export var StyledLabelText = /*#__PURE__*/styled(Typography).withConfig({
53
53
  displayName: "StyledLabelText",
54
- componentId: "core-12_35_0__sc-195f70c-6"
54
+ componentId: "core-12_37_0__sc-195f70c-6"
55
55
  })(["", ""], getEllipsis());
56
56
  export var StyledThumbnailFigCaption = /*#__PURE__*/styled.figcaption.withConfig({
57
57
  displayName: "StyledThumbnailFigCaption",
58
- componentId: "core-12_35_0__sc-195f70c-7"
58
+ componentId: "core-12_37_0__sc-195f70c-7"
59
59
  })(["", " ", " color:", ";font-weight:", ";text-align:center;width:100%;position:absolute;bottom:0;right:0;left:0;opacity:0.85;height:", "px;padding:", "px ", "px;background-color:", ";"], getTypographyIntent('small'), getEllipsis(), function (_ref5) {
60
60
  var _ref5$$color = _ref5.$color,
61
61
  $color = _ref5$$color === void 0 ? 'gray15' : _ref5$$color;
@@ -63,7 +63,7 @@ export var StyledThumbnailFigCaption = /*#__PURE__*/styled.figcaption.withConfig
63
63
  }, typographyWeights.bold, labelHeight, spacing.sm / 2, spacing.sm, colors.white);
64
64
  export var StyledLabel = /*#__PURE__*/styled.div.withConfig({
65
65
  displayName: "StyledLabel",
66
- componentId: "core-12_35_0__sc-195f70c-8"
66
+ componentId: "core-12_37_0__sc-195f70c-8"
67
67
  })(["display:flex;justify-content:center;position:absolute;bottom:0;right:0;left:0;opacity:0.85;height:", "px;padding:", "px ", "px;font-size:", "px;background-color:", ";"], labelHeight, spacing.sm / 2, spacing.sm, labelFontSize, colors.white);
68
68
  var thumbnailBase = /*#__PURE__*/css(["display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;border:1px solid ", ";border-radius:", "px;margin:0;", " ", " &:focus{", ";}", " ", " ", ""], colors.gray85, borderRadius.md, function (_ref6) {
69
69
  var $clickable = _ref6.$clickable;
@@ -85,7 +85,7 @@ var thumbnailBase = /*#__PURE__*/css(["display:flex;justify-content:center;align
85
85
  });
86
86
  export var StyledTickIcon = /*#__PURE__*/styled.svg.withConfig({
87
87
  displayName: "StyledTickIcon",
88
- componentId: "core-12_35_0__sc-195f70c-9"
88
+ componentId: "core-12_37_0__sc-195f70c-9"
89
89
  })(["position:absolute;top:", "px;right:", "px;width:", "px;height:", "px;opacity:0;transform:scale(0.75);transition:transform 250ms ease-out,opacity 100ms ease-out;", " ", ""], spacing.sm, spacing.sm, tickSize, tickSize, function (_ref1) {
90
90
  var $selected = _ref1.$selected;
91
91
  return $selected && css(["opacity:1;transform:scale(1);"]);
@@ -95,28 +95,28 @@ export var StyledTickIcon = /*#__PURE__*/styled.svg.withConfig({
95
95
  });
96
96
  export var StyledFileIcon = /*#__PURE__*/styled(DocumentIcon).withConfig({
97
97
  displayName: "StyledFileIcon",
98
- componentId: "core-12_35_0__sc-195f70c-10"
98
+ componentId: "core-12_37_0__sc-195f70c-10"
99
99
  })(["width:36.5%;height:auto;"]);
100
100
  export var StyledImageThumbnailPreview = /*#__PURE__*/styled.div.withConfig({
101
101
  displayName: "StyledImageThumbnailPreview",
102
- componentId: "core-12_35_0__sc-195f70c-11"
102
+ componentId: "core-12_37_0__sc-195f70c-11"
103
103
  })(["width:100%;height:100%;background-size:cover;background-repeat:no-repeat;background-position:center;", ""], function (_ref11) {
104
104
  var $bgImage = _ref11.$bgImage;
105
105
  return css(["background-image:url(", ");"], $bgImage);
106
106
  });
107
107
  export var StyledImageThumbnailOverlay = /*#__PURE__*/styled.div.withConfig({
108
108
  displayName: "StyledImageThumbnailOverlay",
109
- componentId: "core-12_35_0__sc-195f70c-12"
109
+ componentId: "core-12_37_0__sc-195f70c-12"
110
110
  })(["display:none;position:absolute;top:0;bottom:0;left:0;right:0;"]);
111
111
  var blackOverlay = "\n background-color: ".concat(colors.black, ";\n opacity: 0.2;\n");
112
112
  var whiteOverlay = "\n background-color: ".concat(colors.white, ";\n opacity: 0.5;\n");
113
113
  export var StyledImageThumbnailImage = /*#__PURE__*/styled.img.withConfig({
114
114
  displayName: "StyledImageThumbnailImage",
115
- componentId: "core-12_35_0__sc-195f70c-13"
115
+ componentId: "core-12_37_0__sc-195f70c-13"
116
116
  })([""]);
117
117
  export var StyledImageThumbnail = /*#__PURE__*/styled.div.withConfig({
118
118
  displayName: "StyledImageThumbnail",
119
- componentId: "core-12_35_0__sc-195f70c-14"
119
+ componentId: "core-12_37_0__sc-195f70c-14"
120
120
  })(["", ";flex-direction:column;", " ", " ", " ", " ", " ", ""], thumbnailBase, function (_ref12) {
121
121
  var $disabled = _ref12.$disabled;
122
122
  return $disabled && css(["&,&:hover{", "{display:block;", "}}", ",", ",", "{filter:saturate(0);}", "{filter:saturate(0);z-index:-1;}"], StyledImageThumbnailOverlay, whiteOverlay, StyledImageThumbnailPreview, StyledTickIcon, StyledImageThumbnailImage, StyledFileIcon);
@@ -145,7 +145,7 @@ export var StyledImageThumbnail = /*#__PURE__*/styled.div.withConfig({
145
145
  });
146
146
  export var StyledThumbnailWrapper = /*#__PURE__*/styled.div.withConfig({
147
147
  displayName: "StyledThumbnailWrapper",
148
- componentId: "core-12_35_0__sc-195f70c-15"
148
+ componentId: "core-12_37_0__sc-195f70c-15"
149
149
  })(["display:flex;", " ", ""], function (_ref18) {
150
150
  var $size = _ref18.$size;
151
151
  return $size === 'lg' ? "\n width: ".concat(thumbnailSizeLg, "px;\n ") : '';
@@ -156,7 +156,7 @@ export var StyledThumbnailWrapper = /*#__PURE__*/styled.div.withConfig({
156
156
  });
157
157
  export var StyledPlaceholderThumbnail = /*#__PURE__*/styled.div.withConfig({
158
158
  displayName: "StyledPlaceholderThumbnail",
159
- componentId: "core-12_35_0__sc-195f70c-16"
159
+ componentId: "core-12_37_0__sc-195f70c-16"
160
160
  })(["", " ", " ", " ", " ", ""], thumbnailBase, function (_ref20) {
161
161
  var $clickable = _ref20.$clickable;
162
162
  return $clickable && css(["&:hover{background-color:", ";}"], colors.gray96);
@@ -7,31 +7,31 @@ import { getEllipsis } from '../_styles/mixins';
7
7
  import { spacing } from '../_styles/spacing';
8
8
  export var StyledCheckbox = /*#__PURE__*/styled(Checkbox).withConfig({
9
9
  displayName: "StyledCheckbox",
10
- componentId: "core-12_35_0__sc-1inrbm9-0"
10
+ componentId: "core-12_37_0__sc-1inrbm9-0"
11
11
  })(["input{z-index:2;}"]);
12
12
  export var StyledGroupCell = /*#__PURE__*/styled.div.withConfig({
13
13
  displayName: "StyledGroupCell",
14
- componentId: "core-12_35_0__sc-1inrbm9-1"
14
+ componentId: "core-12_37_0__sc-1inrbm9-1"
15
15
  })(["display:flex;align-items:flex-end;padding-bottom:", "px;"], spacing.md);
16
16
  export var StyledThumbnail = /*#__PURE__*/styled(Thumbnail).withConfig({
17
17
  displayName: "StyledThumbnail",
18
- componentId: "core-12_35_0__sc-1inrbm9-2"
18
+ componentId: "core-12_37_0__sc-1inrbm9-2"
19
19
  })(["display:inline-flex;&:focus{outline:none;}"]);
20
20
  // VariableSizeGrid has provided width and height as inline style, so to make it flexible and support responsive !important was added
21
21
  export var StyledVariableSizeGrid = /*#__PURE__*/styled(VariableSizeGrid).withConfig({
22
22
  displayName: "StyledVariableSizeGrid",
23
- componentId: "core-12_35_0__sc-1inrbm9-3"
23
+ componentId: "core-12_37_0__sc-1inrbm9-3"
24
24
  })(["height:100% !important;& > div{width:100% !important;}"]);
25
25
  export var StyledGroupTitle = /*#__PURE__*/styled(Typography).withConfig({
26
26
  displayName: "StyledGroupTitle",
27
- componentId: "core-12_35_0__sc-1inrbm9-4"
27
+ componentId: "core-12_37_0__sc-1inrbm9-4"
28
28
  })(["", ""], getEllipsis);
29
29
  export var StyledSpinnerWrapper = /*#__PURE__*/styled.div.withConfig({
30
30
  displayName: "StyledSpinnerWrapper",
31
- componentId: "core-12_35_0__sc-1inrbm9-5"
31
+ componentId: "core-12_37_0__sc-1inrbm9-5"
32
32
  })(["display:flex;justify-content:center;align-items:center;width:100%;height:100%;"]);
33
33
  export var StyledThumbnailGrid = /*#__PURE__*/styled.div.withConfig({
34
34
  displayName: "StyledThumbnailGrid",
35
- componentId: "core-12_35_0__sc-1inrbm9-6"
35
+ componentId: "core-12_37_0__sc-1inrbm9-6"
36
36
  })(["display:flex;flex-wrap:wrap;outline:none;"]);
37
37
  //# sourceMappingURL=ThumbnailGrid.styles.js.map
@@ -36,6 +36,7 @@ import { Tooltip } from '../Tooltip';
36
36
  import { Typography } from '../Typography';
37
37
  import { isEventSource } from '../_hooks/ClickOutside';
38
38
  import { useI18nContext } from '../_hooks/I18n';
39
+ import { mergeRefs } from '../_utils/mergeRefs';
39
40
  import { TieredSelectContext, useHighlightItemEffects } from './TieredSelect';
40
41
  import { StyledTieredSelect, StyledTieredSelectArrowButton, StyledTieredSelectBreadcrumbs, StyledTieredSelectHome, StyledTieredSelectIcon, StyledTieredSelectLoadingMore, StyledTieredSelectOption, StyledTieredSelectOverlay, StyledTieredSelectSpinnerOverlay } from './TieredSelect.styles';
41
42
  function stopProp(e) {
@@ -434,6 +435,7 @@ export var TierSelectionTieredSelect = /*#__PURE__*/React.forwardRef(function Ti
434
435
  _React$useState8 = _slicedToArray(_React$useState7, 2),
435
436
  currentTier = _React$useState8[0],
436
437
  setCurrentTier = _React$useState8[1];
438
+ var triggerRef = React.useRef(null);
437
439
 
438
440
  // internal value used for navigation
439
441
  var _React$useState9 = React.useState(value),
@@ -463,6 +465,13 @@ export var TierSelectionTieredSelect = /*#__PURE__*/React.forwardRef(function Ti
463
465
  setValueString('');
464
466
  }
465
467
  }, [getValueString, getNextGroupId, isLeaf, value]);
468
+ function onTriggerKeyDown(e) {
469
+ if (e.key === 'Enter' || e.key === ' ') {
470
+ var _triggerRef$current;
471
+ e.preventDefault();
472
+ (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.click();
473
+ }
474
+ }
466
475
  var internalOnChange = React.useCallback(function (selection) {
467
476
  setInternalValue(selection.value);
468
477
  setPreviousValue(selection.value);
@@ -537,8 +546,9 @@ export var TierSelectionTieredSelect = /*#__PURE__*/React.forwardRef(function Ti
537
546
  }),
538
547
  "aria-labelledby": ariaLabelledby,
539
548
  onClear: internalOnClear,
540
- ref: tieredSelectButtonRef,
541
- tabIndex: tabIndex
549
+ ref: mergeRefs(tieredSelectButtonRef, triggerRef),
550
+ tabIndex: tabIndex,
551
+ onKeyDown: onTriggerKeyDown
542
552
  }, valueString || I18n.t('placeholder', {
543
553
  scope: i18nScope
544
554
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"TierSelectionTieredSelect.js","names":["ChevronRight","Help","Home","Plus","React","Box","Breadcrumbs","Button","FlexList","Input","MenuImperative","useMenuImperativeControlNavigation","CloseOnFocus","OverlayTrigger","useOverlayTriggerContext","Select","Spinner","Tooltip","Typography","isEventSource","useI18nContext","TieredSelectContext","useHighlightItemEffects","StyledTieredSelect","StyledTieredSelectArrowButton","StyledTieredSelectBreadcrumbs","StyledTieredSelectHome","StyledTieredSelectIcon","StyledTieredSelectLoadingMore","StyledTieredSelectOption","StyledTieredSelectOverlay","StyledTieredSelectSpinnerOverlay","stopProp","e","key","stopPropagation","empty","hideKeys","overlay","target","ArrowButton","_ref","onClick","props","_objectWithoutProperties","_excluded","i18n","createElement","_extends","t","icon","event","preventDefault","size","tabIndex","variant","ItemTooltipIcon","alignItems","justifyContent","QuickCreateInput","forwardRef","_ref2","ref","autoFocus","onSubmit","placeholder","onKeyDown","currentTarget","value","flexGrow","padding","Options","_ref3","children","emptyMessage","_excluded2","Children","count","paddingLeft","color","intent","italic","TieredSelectMenu","_ref4","currentTier","customFooter","footer","loading","loadingMore","menuRef","onNavigate","onSearch","onChange","_ref4$options","options","previousValue","_excluded3","_React$useContext","useContext","getGroupId","getId","getLabel","getNextGroupId","i18nScope","onQuickCreate","onScrollBottom","isTierDisabled","searchPlaceholder","quickCreateRef","useRef","_useOverlayTriggerCon","hide","I18n","_React$useState","useState","_React$useState2","_slicedToArray","isQuickCreating","setIsQuickCreating","_React$useState3","_React$useState4","searchValue","setSearchValue","_useMenuImperativeCon","menuProps","menuNavigationTriggerProps","searchIsEmpty","lastEntryInValue","length","internalOnSearch","useCallback","filteredOptions","useMemo","filter","tier","onNavigateHome","_menuRef$current","current","highlightFirst","onBreadCrumbNavigate","_menuRef$current2","newTier","indexOf","slice","onNavigateForward","_menuRef$current3","newValue","concat","_toConsumableArray","onNavigateBackward","_menuRef$current4","Math","max","_menuRef$current5","_menuNavigationTrigge","highlighted","call","onTierSelect","selection","isSameGroup","item","_objectSpread","showBreadcrumbs","menuEmptyMessage","scope","handleQuickCreate","onQuickCreateSubmit","RenderFooter","Footer","undefined","block","isTierSelected","shadowStrength","label","onSelect","role","Header","Search","autoComplete","$nonInteractive","Crumb","map","index","array","active","_isTierDisabled","tooltip","isDisabled","Boolean","showNextTierArrow","menuItem","selected","disabled","trigger","placement","TierSelectionTieredSelect","_ref5","className","_ref5$disabled","_ref5$error","error","_ref5$loading","ariaLabelledby","_ref5$options","_ref5$value","_excluded4","_React$useContext2","afterHide","afterShow","beforeHide","beforeShow","getValueString","isLeaf","onClear","tieredSelectMenuRef","tieredSelectButtonRef","clearRef","createRef","_React$useState5","_React$useState6","valueString","setValueString","_React$useState7","_React$useState8","setCurrentTier","_React$useState9","_React$useState0","internalValue","setInternalValue","_React$useState1","_React$useState10","setPreviousValue","useEffect","internalOnChange","internalOnNavigate","nextGroupId","internalOnClear","internalBeforeHide","_tieredSelectMenuRef$","isEscapeKey","KeyboardEvent","isClickOutside","MouseEvent","el","lastValue","canFlip"],"sources":["../../src/TieredSelect/TierSelectionTieredSelect.tsx"],"sourcesContent":["import { ChevronRight, Help, Home, Plus } from '@procore/core-icons/dist'\nimport React from 'react'\nimport { Box } from '../Box'\nimport { Breadcrumbs } from '../Breadcrumbs'\nimport { Button } from '../Button'\nimport { FlexList } from '../FlexList'\nimport { Input } from '../Input'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n CloseOnFocus,\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { Select } from '../Select'\nimport { Spinner } from '../Spinner'\nimport { Tooltip } from '../Tooltip'\nimport { Typography } from '../Typography'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport type { Props } from '../_utils/types'\nimport { TieredSelectContext, useHighlightItemEffects } from './TieredSelect'\nimport {\n StyledTieredSelect,\n StyledTieredSelectArrowButton,\n StyledTieredSelectBreadcrumbs,\n StyledTieredSelectHome,\n StyledTieredSelectIcon,\n StyledTieredSelectLoadingMore,\n StyledTieredSelectOption,\n StyledTieredSelectOverlay,\n StyledTieredSelectSpinnerOverlay,\n} from './TieredSelect.styles'\nimport type {\n ArrowButtonProps,\n Id,\n InternalTieredSelectProps,\n OptionsProps,\n QuickCreateInputProps,\n Tier,\n TieredSelectMenuProps,\n TierSelection,\n} from './TieredSelect.types'\n\nfunction stopProp(e: React.KeyboardEvent<HTMLDivElement>) {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n}\n\nconst empty: any[] = []\n\nconst hideKeys = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nfunction ArrowButton({ onClick, ...props }: ArrowButtonProps) {\n const i18n = useI18nContext()\n return (\n <StyledTieredSelectArrowButton\n aria-label={i18n.t('core.tieredSelect.goToTier')}\n {...props}\n icon={<ChevronRight />}\n onClick={(event: React.MouseEvent) => {\n event.preventDefault()\n event.stopPropagation()\n onClick && onClick(event)\n }}\n size=\"sm\"\n tabIndex={-1}\n variant=\"tertiary\"\n />\n )\n}\n\nfunction ItemTooltipIcon() {\n return (\n <StyledTieredSelectIcon alignItems=\"center\" justifyContent=\"center\">\n <Help />\n </StyledTieredSelectIcon>\n )\n}\n\nconst QuickCreateInput = React.forwardRef<\n HTMLInputElement,\n QuickCreateInputProps\n>(function QuickCreateInput({ autoFocus, onSubmit, placeholder }, ref) {\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Enter') {\n onSubmit(e.currentTarget.value)\n }\n }\n\n return (\n <Box flexGrow=\"1\" justifyContent=\"center\" padding=\"md\">\n <Input\n autoFocus={autoFocus}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n ref={ref}\n />\n </Box>\n )\n})\n\nfunction Options({ children, emptyMessage, ...props }: OptionsProps & Props) {\n if (React.Children.count(children) === 0) {\n return (\n <MenuImperative.Options>\n <Box paddingLeft=\"lg\" {...props}>\n <Typography color=\"gray45\" intent=\"small\" italic>\n {emptyMessage}\n </Typography>\n </Box>\n </MenuImperative.Options>\n )\n }\n\n return <MenuImperative.Options>{children}</MenuImperative.Options>\n}\n\nconst TieredSelectMenu = React.forwardRef<\n HTMLDivElement,\n TieredSelectMenuProps\n>(function TieredSelectMenu(\n {\n children,\n currentTier,\n footer: customFooter,\n loading,\n loadingMore,\n menuRef,\n onNavigate,\n onSearch,\n onChange,\n options = empty,\n value,\n previousValue,\n ...props\n },\n ref\n) {\n const {\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n i18nScope,\n onQuickCreate,\n onScrollBottom,\n isTierDisabled,\n searchPlaceholder,\n } = React.useContext(TieredSelectContext)\n\n const quickCreateRef = React.useRef<HTMLInputElement>(null)\n\n const { hide } = useOverlayTriggerContext()\n\n const I18n = useI18nContext()\n\n const [isQuickCreating, setIsQuickCreating] = React.useState(false)\n\n const [searchValue, setSearchValue] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef)\n\n const searchIsEmpty = searchValue === ''\n\n const lastEntryInValue = value[value.length - 1]\n\n const internalOnSearch = React.useCallback(\n function (e: React.ChangeEvent<HTMLInputElement>) {\n setSearchValue(e.target.value)\n onSearch && onSearch(e)\n },\n [onSearch]\n )\n\n // When searching (all options have been flattened) we dont filter by id\n const filteredOptions = React.useMemo(() => {\n return searchIsEmpty\n ? options.filter((tier) => {\n return getGroupId(tier) === currentTier\n })\n : options\n }, [currentTier, getGroupId, options, searchIsEmpty])\n\n useHighlightItemEffects({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n })\n\n const onNavigateHome = React.useCallback(\n function () {\n onNavigate(null, [])\n menuRef.current?.highlightFirst()\n },\n [menuRef, onNavigate]\n )\n\n const onBreadCrumbNavigate = React.useCallback(\n function (tier: Tier) {\n const newTier = value.indexOf(tier)\n onNavigate(getNextGroupId(tier), value.slice(0, newTier + 1))\n menuRef.current?.highlightFirst()\n },\n [getNextGroupId, menuRef, onNavigate, value]\n )\n\n function onNavigateForward(tier: Tier) {\n if (searchIsEmpty && !isQuickCreating && tier) {\n const newValue = [...value, tier]\n onNavigate(getNextGroupId(tier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n /**\n * need to skip back two levels if coming from a leaf node;\n * out from the leaf and then out of the parent. this is because\n * when tiers aren't selectectable we show the parent of the leaf\n */\n function onNavigateBackward() {\n if (value.length !== 0 && searchIsEmpty) {\n const newValue = value.slice(0, Math.max(0, value.length - 1))\n const newTier = value[value.length - 1]\n\n !isQuickCreating && onNavigate(getGroupId(newTier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n const tier = menuRef.current?.highlighted()\n if (e.key === 'Right' || e.key === 'ArrowRight') {\n onNavigateForward(tier)\n return\n }\n\n if (e.key === 'Left' || e.key === 'ArrowLeft') {\n onNavigateBackward()\n return\n }\n\n menuNavigationTriggerProps.onKeyDown?.(e)\n }\n\n function onTierSelect(selection: Selection) {\n const isSameGroup = value.length\n ? getGroupId(lastEntryInValue) === getGroupId(selection.item)\n : false\n\n // if the selection is in the same group as the old selection, replace the old selection\n const newValue = isSameGroup\n ? [...value.slice(0, value.length - 1), selection.item]\n : [...value, selection.item]\n\n onChange({ ...selection, value: newValue })\n searchValue &&\n internalOnSearch({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n hide(selection.event)\n }\n\n function showBreadcrumbs() {\n return value.length && searchIsEmpty\n }\n\n const menuEmptyMessage = searchIsEmpty\n ? I18n.t('emptyMessage', { scope: i18nScope })\n : I18n.t('searchEmptyMessage', { scope: i18nScope })\n\n const handleQuickCreate = React.useCallback(\n function (e: React.KeyboardEvent<HTMLButtonElement>) {\n // stops menu from selecting item and closing on enter press\n e.stopPropagation()\n if (e.key === 'Enter') {\n setIsQuickCreating(true)\n }\n },\n [setIsQuickCreating]\n )\n\n const onQuickCreateSubmit = React.useCallback(\n function () {\n onQuickCreate &&\n quickCreateRef.current &&\n onQuickCreate(quickCreateRef.current.value)\n setIsQuickCreating(false)\n },\n [onQuickCreate, quickCreateRef, setIsQuickCreating]\n )\n\n const RenderFooter = React.useCallback(() => {\n if (customFooter) {\n // Render custom footer, if defined.\n if (typeof customFooter === 'function') {\n return <MenuImperative.Footer>{customFooter({})}</MenuImperative.Footer>\n }\n\n return <MenuImperative.Footer>{customFooter}</MenuImperative.Footer>\n }\n\n if (onQuickCreate === undefined) {\n // no footer if `onQuickCreate` is not defined.\n return null\n }\n\n if (isQuickCreating) {\n // Render `Cancel` and `Create` labels if \"quick creating\".\n return (\n <MenuImperative.Footer>\n <FlexList size=\"xs\" justifyContent=\"flex-end\">\n <Button\n onClick={() => setIsQuickCreating(false)}\n size=\"sm\"\n variant=\"tertiary\"\n >\n {I18n.t('quickCreateCancelLabel', {\n scope: i18nScope,\n })}\n </Button>\n <Button onClick={onQuickCreateSubmit} size=\"sm\">\n {I18n.t('quickCreateCreateLabel', {\n scope: i18nScope,\n })}\n </Button>\n </FlexList>\n </MenuImperative.Footer>\n )\n }\n\n return (\n <MenuImperative.Footer>\n <Button\n block={true}\n icon={<Plus size=\"md\" />}\n onClick={() => setIsQuickCreating(true)}\n onKeyDown={handleQuickCreate}\n size=\"sm\"\n >\n {I18n.t('quickCreateActionLabel', {\n scope: i18nScope,\n })}\n </Button>\n </MenuImperative.Footer>\n )\n }, [\n I18n,\n customFooter,\n handleQuickCreate,\n i18nScope,\n isQuickCreating,\n onQuickCreate,\n onQuickCreateSubmit,\n ])\n\n function isTierSelected(tier: Tier) {\n if (previousValue.length) {\n return getId(tier) === getId(previousValue[previousValue.length - 1])\n }\n return false\n }\n\n return (\n <StyledTieredSelectOverlay ref={ref} shadowStrength={2}>\n <StyledTieredSelectSpinnerOverlay\n data-qa=\"tiered-select-loading\"\n data-loading={loading}\n loading={loading}\n label={I18n.t('spinnerLabel', { scope: i18nScope }) || ''}\n size=\"md\"\n >\n <StyledTieredSelect\n onScrollBottom={onScrollBottom}\n onSelect={onTierSelect}\n ref={menuRef}\n {...props}\n {...menuProps}\n role=\"none\"\n >\n <MenuImperative.Header>\n {!isQuickCreating && (\n <MenuImperative.Search\n autoComplete=\"false\"\n onChange={internalOnSearch}\n placeholder={\n searchPlaceholder ||\n I18n.t('searchPlaceholder', {\n scope: i18nScope,\n })\n }\n value={searchValue}\n {...menuNavigationTriggerProps}\n onKeyDown={onKeyDown}\n />\n )}\n {showBreadcrumbs() ? (\n <StyledTieredSelectBreadcrumbs $nonInteractive={isQuickCreating}>\n <Breadcrumbs.Crumb onClick={onNavigateHome}>\n <StyledTieredSelectHome\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Home data-qa=\"tiered-select-home\" />\n </StyledTieredSelectHome>\n </Breadcrumbs.Crumb>\n {value.map((tier, index, array) => {\n return (\n <Breadcrumbs.Crumb\n active={index === array.length - 1}\n key={`${getId(tier)}-${index}`}\n onClick={() => onBreadCrumbNavigate(tier)}\n >\n {getLabel(tier)}\n </Breadcrumbs.Crumb>\n )\n })}\n </StyledTieredSelectBreadcrumbs>\n ) : null}\n </MenuImperative.Header>\n {!isQuickCreating ? (\n <Options emptyMessage={menuEmptyMessage}>\n {filteredOptions\n .map((tier, index) => {\n const tooltip = isTierDisabled?.(tier) ?? false\n const isDisabled = Boolean(tooltip)\n const showNextTierArrow =\n !tooltip &&\n (Boolean(getNextGroupId(tier)) || Boolean(onQuickCreate))\n const overlay = typeof tooltip === 'string' ? tooltip : null\n const menuItem = (\n <StyledTieredSelectOption\n item={tier}\n key={`${getId(tier)}-${index}`}\n selected={isTierSelected(tier)}\n disabled={isDisabled}\n >\n {getLabel(tier)}\n {showNextTierArrow && (\n <Box paddingLeft=\"sm\">\n <ArrowButton\n data-qa=\"tiered-select-arrow\"\n onClick={() => onNavigateForward(tier)}\n />\n </Box>\n )}\n {tooltip && (\n <Box paddingLeft=\"sm\">\n <ItemTooltipIcon />\n </Box>\n )}\n </StyledTieredSelectOption>\n )\n if (isDisabled && overlay) {\n return (\n <Tooltip\n key={`${getId(tier)}-${index}-tooltip`}\n overlay={overlay}\n trigger={'hover'}\n placement=\"right\"\n >\n {menuItem}\n </Tooltip>\n )\n }\n\n return menuItem\n })\n .concat(\n loadingMore && !loading\n ? [\n <StyledTieredSelectLoadingMore\n data-qa=\"tiered-select-loading-more\"\n key={'tiered-select-loading-more'}\n >\n <Spinner size=\"sm\" />\n </StyledTieredSelectLoadingMore>,\n ]\n : []\n )}\n </Options>\n ) : (\n <QuickCreateInput\n autoFocus={isQuickCreating}\n onSubmit={onQuickCreateSubmit}\n placeholder={I18n.t('quickCreatePlaceholder', {\n scope: i18nScope,\n })}\n ref={quickCreateRef}\n />\n )}\n <RenderFooter />\n <CloseOnFocus hide={hide} />\n </StyledTieredSelect>\n </StyledTieredSelectSpinnerOverlay>\n </StyledTieredSelectOverlay>\n )\n})\n\nexport const TierSelectionTieredSelect = React.forwardRef<\n HTMLDivElement,\n InternalTieredSelectProps\n>(function TierSelectionTieredSelect(\n {\n className,\n disabled = false,\n error = false,\n loading = false,\n onKeyDown, // goes no where\n 'aria-labelledby': ariaLabelledby,\n options = empty,\n value = empty,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getLabel,\n getNextGroupId,\n getValueString,\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n const I18n = useI18nContext()\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const tieredSelectButtonRef = React.useRef<HTMLDivElement>(null)\n const clearRef = React.createRef<HTMLButtonElement>()\n\n const [valueString, setValueString] = React.useState<string | undefined>('')\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n // value to reset to if navigation occurs but no selection has been made\n const [previousValue, setPreviousValue] = React.useState<Tier[]>(value)\n\n // if value prop changes, update value state, current tier, and set button label\n // else open to root\n React.useEffect(\n function () {\n const lastEntryInValue = value[value.length - 1]\n\n if (value.length > 0) {\n setInternalValue(value)\n setPreviousValue(value)\n setValueString(getValueString(value))\n // show children of last tier in value\n setCurrentTier(getNextGroupId(lastEntryInValue))\n } else {\n setCurrentTier(null)\n setInternalValue([])\n setPreviousValue([])\n setValueString('')\n }\n },\n [getValueString, getNextGroupId, isLeaf, value]\n )\n\n const internalOnChange = React.useCallback(\n function (selection: TierSelection) {\n setInternalValue(selection.value)\n setPreviousValue(selection.value)\n setValueString(getValueString(selection.value))\n setCurrentTier(getNextGroupId(selection.item))\n onChange(selection)\n },\n [getNextGroupId, getValueString, onChange]\n )\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate && onNavigate(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnClear = React.useCallback(\n function (event: React.MouseEvent<HTMLButtonElement>) {\n setValueString('')\n setInternalValue([])\n setPreviousValue([])\n internalOnNavigate(null, [])\n onClear && onClear(event)\n },\n [internalOnNavigate, onClear]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n onSearch && onSearch(event)\n },\n [onSearch]\n )\n\n const internalBeforeHide = React.useCallback(\n function (e: Event) {\n const isEscapeKey =\n e instanceof KeyboardEvent && (e.key === 'Escape' || e.key === 'Esc')\n\n const isClickOutside =\n e instanceof MouseEvent &&\n !isEventSource({ current: tieredSelectMenuRef?.current?.el }, e)\n\n const lastValue = previousValue[previousValue.length - 1]\n\n if (valueString && (isClickOutside || isEscapeKey)) {\n setInternalValue(previousValue)\n setCurrentTier(getNextGroupId(lastValue))\n }\n return beforeHide && beforeHide(e)\n },\n [\n beforeHide,\n getNextGroupId,\n tieredSelectMenuRef,\n previousValue,\n valueString,\n ]\n )\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={internalBeforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && e.target !== clearRef.current && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n <TieredSelectMenu\n currentTier={currentTier}\n options={options}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={previousValue}\n {...props}\n onKeyDown={stopProp}\n />\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Select.Button\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n label={valueString}\n loading={loading}\n placeholder={I18n.t('placeholder', { scope: i18nScope })}\n aria-labelledby={ariaLabelledby}\n onClear={internalOnClear}\n ref={tieredSelectButtonRef}\n tabIndex={tabIndex}\n >\n {valueString || I18n.t('placeholder', { scope: i18nScope })}\n </Select.Button>\n </OverlayTrigger>\n )\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"TierSelectionTieredSelect.js","names":["ChevronRight","Help","Home","Plus","React","Box","Breadcrumbs","Button","FlexList","Input","MenuImperative","useMenuImperativeControlNavigation","CloseOnFocus","OverlayTrigger","useOverlayTriggerContext","Select","Spinner","Tooltip","Typography","isEventSource","useI18nContext","mergeRefs","TieredSelectContext","useHighlightItemEffects","StyledTieredSelect","StyledTieredSelectArrowButton","StyledTieredSelectBreadcrumbs","StyledTieredSelectHome","StyledTieredSelectIcon","StyledTieredSelectLoadingMore","StyledTieredSelectOption","StyledTieredSelectOverlay","StyledTieredSelectSpinnerOverlay","stopProp","e","key","stopPropagation","empty","hideKeys","overlay","target","ArrowButton","_ref","onClick","props","_objectWithoutProperties","_excluded","i18n","createElement","_extends","t","icon","event","preventDefault","size","tabIndex","variant","ItemTooltipIcon","alignItems","justifyContent","QuickCreateInput","forwardRef","_ref2","ref","autoFocus","onSubmit","placeholder","onKeyDown","currentTarget","value","flexGrow","padding","Options","_ref3","children","emptyMessage","_excluded2","Children","count","paddingLeft","color","intent","italic","TieredSelectMenu","_ref4","currentTier","customFooter","footer","loading","loadingMore","menuRef","onNavigate","onSearch","onChange","_ref4$options","options","previousValue","_excluded3","_React$useContext","useContext","getGroupId","getId","getLabel","getNextGroupId","i18nScope","onQuickCreate","onScrollBottom","isTierDisabled","searchPlaceholder","quickCreateRef","useRef","_useOverlayTriggerCon","hide","I18n","_React$useState","useState","_React$useState2","_slicedToArray","isQuickCreating","setIsQuickCreating","_React$useState3","_React$useState4","searchValue","setSearchValue","_useMenuImperativeCon","menuProps","menuNavigationTriggerProps","searchIsEmpty","lastEntryInValue","length","internalOnSearch","useCallback","filteredOptions","useMemo","filter","tier","onNavigateHome","_menuRef$current","current","highlightFirst","onBreadCrumbNavigate","_menuRef$current2","newTier","indexOf","slice","onNavigateForward","_menuRef$current3","newValue","concat","_toConsumableArray","onNavigateBackward","_menuRef$current4","Math","max","_menuRef$current5","_menuNavigationTrigge","highlighted","call","onTierSelect","selection","isSameGroup","item","_objectSpread","showBreadcrumbs","menuEmptyMessage","scope","handleQuickCreate","onQuickCreateSubmit","RenderFooter","Footer","undefined","block","isTierSelected","shadowStrength","label","onSelect","role","Header","Search","autoComplete","$nonInteractive","Crumb","map","index","array","active","_isTierDisabled","tooltip","isDisabled","Boolean","showNextTierArrow","menuItem","selected","disabled","trigger","placement","TierSelectionTieredSelect","_ref5","className","_ref5$disabled","_ref5$error","error","_ref5$loading","ariaLabelledby","_ref5$options","_ref5$value","_excluded4","_React$useContext2","afterHide","afterShow","beforeHide","beforeShow","getValueString","isLeaf","onClear","tieredSelectMenuRef","tieredSelectButtonRef","clearRef","createRef","_React$useState5","_React$useState6","valueString","setValueString","_React$useState7","_React$useState8","setCurrentTier","triggerRef","_React$useState9","_React$useState0","internalValue","setInternalValue","_React$useState1","_React$useState10","setPreviousValue","useEffect","onTriggerKeyDown","_triggerRef$current","click","internalOnChange","internalOnNavigate","nextGroupId","internalOnClear","internalBeforeHide","_tieredSelectMenuRef$","isEscapeKey","KeyboardEvent","isClickOutside","MouseEvent","el","lastValue","canFlip"],"sources":["../../src/TieredSelect/TierSelectionTieredSelect.tsx"],"sourcesContent":["import { ChevronRight, Help, Home, Plus } from '@procore/core-icons/dist'\nimport React from 'react'\nimport { Box } from '../Box'\nimport { Breadcrumbs } from '../Breadcrumbs'\nimport { Button } from '../Button'\nimport { FlexList } from '../FlexList'\nimport { Input } from '../Input'\nimport {\n MenuImperative,\n useMenuImperativeControlNavigation,\n} from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n CloseOnFocus,\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { Select } from '../Select'\nimport { Spinner } from '../Spinner'\nimport { Tooltip } from '../Tooltip'\nimport { Typography } from '../Typography'\nimport { isEventSource } from '../_hooks/ClickOutside'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport type { Props } from '../_utils/types'\nimport { TieredSelectContext, useHighlightItemEffects } from './TieredSelect'\nimport {\n StyledTieredSelect,\n StyledTieredSelectArrowButton,\n StyledTieredSelectBreadcrumbs,\n StyledTieredSelectHome,\n StyledTieredSelectIcon,\n StyledTieredSelectLoadingMore,\n StyledTieredSelectOption,\n StyledTieredSelectOverlay,\n StyledTieredSelectSpinnerOverlay,\n} from './TieredSelect.styles'\nimport type {\n ArrowButtonProps,\n Id,\n InternalTieredSelectProps,\n OptionsProps,\n QuickCreateInputProps,\n Tier,\n TieredSelectMenuProps,\n TierSelection,\n} from './TieredSelect.types'\n\nfunction stopProp(e: React.KeyboardEvent<HTMLDivElement>) {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.stopPropagation()\n }\n}\n\nconst empty: any[] = []\n\nconst hideKeys = {\n overlay: ['Escape', 'Esc'],\n target: ['Escape', 'Esc'],\n}\n\nfunction ArrowButton({ onClick, ...props }: ArrowButtonProps) {\n const i18n = useI18nContext()\n return (\n <StyledTieredSelectArrowButton\n aria-label={i18n.t('core.tieredSelect.goToTier')}\n {...props}\n icon={<ChevronRight />}\n onClick={(event: React.MouseEvent) => {\n event.preventDefault()\n event.stopPropagation()\n onClick && onClick(event)\n }}\n size=\"sm\"\n tabIndex={-1}\n variant=\"tertiary\"\n />\n )\n}\n\nfunction ItemTooltipIcon() {\n return (\n <StyledTieredSelectIcon alignItems=\"center\" justifyContent=\"center\">\n <Help />\n </StyledTieredSelectIcon>\n )\n}\n\nconst QuickCreateInput = React.forwardRef<\n HTMLInputElement,\n QuickCreateInputProps\n>(function QuickCreateInput({ autoFocus, onSubmit, placeholder }, ref) {\n function onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n if (e.key === 'Enter') {\n onSubmit(e.currentTarget.value)\n }\n }\n\n return (\n <Box flexGrow=\"1\" justifyContent=\"center\" padding=\"md\">\n <Input\n autoFocus={autoFocus}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n ref={ref}\n />\n </Box>\n )\n})\n\nfunction Options({ children, emptyMessage, ...props }: OptionsProps & Props) {\n if (React.Children.count(children) === 0) {\n return (\n <MenuImperative.Options>\n <Box paddingLeft=\"lg\" {...props}>\n <Typography color=\"gray45\" intent=\"small\" italic>\n {emptyMessage}\n </Typography>\n </Box>\n </MenuImperative.Options>\n )\n }\n\n return <MenuImperative.Options>{children}</MenuImperative.Options>\n}\n\nconst TieredSelectMenu = React.forwardRef<\n HTMLDivElement,\n TieredSelectMenuProps\n>(function TieredSelectMenu(\n {\n children,\n currentTier,\n footer: customFooter,\n loading,\n loadingMore,\n menuRef,\n onNavigate,\n onSearch,\n onChange,\n options = empty,\n value,\n previousValue,\n ...props\n },\n ref\n) {\n const {\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n i18nScope,\n onQuickCreate,\n onScrollBottom,\n isTierDisabled,\n searchPlaceholder,\n } = React.useContext(TieredSelectContext)\n\n const quickCreateRef = React.useRef<HTMLInputElement>(null)\n\n const { hide } = useOverlayTriggerContext()\n\n const I18n = useI18nContext()\n\n const [isQuickCreating, setIsQuickCreating] = React.useState(false)\n\n const [searchValue, setSearchValue] = React.useState('')\n const { menuProps, menuNavigationTriggerProps } =\n useMenuImperativeControlNavigation(menuRef)\n\n const searchIsEmpty = searchValue === ''\n\n const lastEntryInValue = value[value.length - 1]\n\n const internalOnSearch = React.useCallback(\n function (e: React.ChangeEvent<HTMLInputElement>) {\n setSearchValue(e.target.value)\n onSearch && onSearch(e)\n },\n [onSearch]\n )\n\n // When searching (all options have been flattened) we dont filter by id\n const filteredOptions = React.useMemo(() => {\n return searchIsEmpty\n ? options.filter((tier) => {\n return getGroupId(tier) === currentTier\n })\n : options\n }, [currentTier, getGroupId, options, searchIsEmpty])\n\n useHighlightItemEffects({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n })\n\n const onNavigateHome = React.useCallback(\n function () {\n onNavigate(null, [])\n menuRef.current?.highlightFirst()\n },\n [menuRef, onNavigate]\n )\n\n const onBreadCrumbNavigate = React.useCallback(\n function (tier: Tier) {\n const newTier = value.indexOf(tier)\n onNavigate(getNextGroupId(tier), value.slice(0, newTier + 1))\n menuRef.current?.highlightFirst()\n },\n [getNextGroupId, menuRef, onNavigate, value]\n )\n\n function onNavigateForward(tier: Tier) {\n if (searchIsEmpty && !isQuickCreating && tier) {\n const newValue = [...value, tier]\n onNavigate(getNextGroupId(tier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n /**\n * need to skip back two levels if coming from a leaf node;\n * out from the leaf and then out of the parent. this is because\n * when tiers aren't selectectable we show the parent of the leaf\n */\n function onNavigateBackward() {\n if (value.length !== 0 && searchIsEmpty) {\n const newValue = value.slice(0, Math.max(0, value.length - 1))\n const newTier = value[value.length - 1]\n\n !isQuickCreating && onNavigate(getGroupId(newTier), newValue)\n menuRef.current?.highlightFirst()\n }\n }\n\n function onKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n const tier = menuRef.current?.highlighted()\n if (e.key === 'Right' || e.key === 'ArrowRight') {\n onNavigateForward(tier)\n return\n }\n\n if (e.key === 'Left' || e.key === 'ArrowLeft') {\n onNavigateBackward()\n return\n }\n\n menuNavigationTriggerProps.onKeyDown?.(e)\n }\n\n function onTierSelect(selection: Selection) {\n const isSameGroup = value.length\n ? getGroupId(lastEntryInValue) === getGroupId(selection.item)\n : false\n\n // if the selection is in the same group as the old selection, replace the old selection\n const newValue = isSameGroup\n ? [...value.slice(0, value.length - 1), selection.item]\n : [...value, selection.item]\n\n onChange({ ...selection, value: newValue })\n searchValue &&\n internalOnSearch({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>)\n hide(selection.event)\n }\n\n function showBreadcrumbs() {\n return value.length && searchIsEmpty\n }\n\n const menuEmptyMessage = searchIsEmpty\n ? I18n.t('emptyMessage', { scope: i18nScope })\n : I18n.t('searchEmptyMessage', { scope: i18nScope })\n\n const handleQuickCreate = React.useCallback(\n function (e: React.KeyboardEvent<HTMLButtonElement>) {\n // stops menu from selecting item and closing on enter press\n e.stopPropagation()\n if (e.key === 'Enter') {\n setIsQuickCreating(true)\n }\n },\n [setIsQuickCreating]\n )\n\n const onQuickCreateSubmit = React.useCallback(\n function () {\n onQuickCreate &&\n quickCreateRef.current &&\n onQuickCreate(quickCreateRef.current.value)\n setIsQuickCreating(false)\n },\n [onQuickCreate, quickCreateRef, setIsQuickCreating]\n )\n\n const RenderFooter = React.useCallback(() => {\n if (customFooter) {\n // Render custom footer, if defined.\n if (typeof customFooter === 'function') {\n return <MenuImperative.Footer>{customFooter({})}</MenuImperative.Footer>\n }\n\n return <MenuImperative.Footer>{customFooter}</MenuImperative.Footer>\n }\n\n if (onQuickCreate === undefined) {\n // no footer if `onQuickCreate` is not defined.\n return null\n }\n\n if (isQuickCreating) {\n // Render `Cancel` and `Create` labels if \"quick creating\".\n return (\n <MenuImperative.Footer>\n <FlexList size=\"xs\" justifyContent=\"flex-end\">\n <Button\n onClick={() => setIsQuickCreating(false)}\n size=\"sm\"\n variant=\"tertiary\"\n >\n {I18n.t('quickCreateCancelLabel', {\n scope: i18nScope,\n })}\n </Button>\n <Button onClick={onQuickCreateSubmit} size=\"sm\">\n {I18n.t('quickCreateCreateLabel', {\n scope: i18nScope,\n })}\n </Button>\n </FlexList>\n </MenuImperative.Footer>\n )\n }\n\n return (\n <MenuImperative.Footer>\n <Button\n block={true}\n icon={<Plus size=\"md\" />}\n onClick={() => setIsQuickCreating(true)}\n onKeyDown={handleQuickCreate}\n size=\"sm\"\n >\n {I18n.t('quickCreateActionLabel', {\n scope: i18nScope,\n })}\n </Button>\n </MenuImperative.Footer>\n )\n }, [\n I18n,\n customFooter,\n handleQuickCreate,\n i18nScope,\n isQuickCreating,\n onQuickCreate,\n onQuickCreateSubmit,\n ])\n\n function isTierSelected(tier: Tier) {\n if (previousValue.length) {\n return getId(tier) === getId(previousValue[previousValue.length - 1])\n }\n return false\n }\n\n return (\n <StyledTieredSelectOverlay ref={ref} shadowStrength={2}>\n <StyledTieredSelectSpinnerOverlay\n data-qa=\"tiered-select-loading\"\n data-loading={loading}\n loading={loading}\n label={I18n.t('spinnerLabel', { scope: i18nScope }) || ''}\n size=\"md\"\n >\n <StyledTieredSelect\n onScrollBottom={onScrollBottom}\n onSelect={onTierSelect}\n ref={menuRef}\n {...props}\n {...menuProps}\n role=\"none\"\n >\n <MenuImperative.Header>\n {!isQuickCreating && (\n <MenuImperative.Search\n autoComplete=\"false\"\n onChange={internalOnSearch}\n placeholder={\n searchPlaceholder ||\n I18n.t('searchPlaceholder', {\n scope: i18nScope,\n })\n }\n value={searchValue}\n {...menuNavigationTriggerProps}\n onKeyDown={onKeyDown}\n />\n )}\n {showBreadcrumbs() ? (\n <StyledTieredSelectBreadcrumbs $nonInteractive={isQuickCreating}>\n <Breadcrumbs.Crumb onClick={onNavigateHome}>\n <StyledTieredSelectHome\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Home data-qa=\"tiered-select-home\" />\n </StyledTieredSelectHome>\n </Breadcrumbs.Crumb>\n {value.map((tier, index, array) => {\n return (\n <Breadcrumbs.Crumb\n active={index === array.length - 1}\n key={`${getId(tier)}-${index}`}\n onClick={() => onBreadCrumbNavigate(tier)}\n >\n {getLabel(tier)}\n </Breadcrumbs.Crumb>\n )\n })}\n </StyledTieredSelectBreadcrumbs>\n ) : null}\n </MenuImperative.Header>\n {!isQuickCreating ? (\n <Options emptyMessage={menuEmptyMessage}>\n {filteredOptions\n .map((tier, index) => {\n const tooltip = isTierDisabled?.(tier) ?? false\n const isDisabled = Boolean(tooltip)\n const showNextTierArrow =\n !tooltip &&\n (Boolean(getNextGroupId(tier)) || Boolean(onQuickCreate))\n const overlay = typeof tooltip === 'string' ? tooltip : null\n const menuItem = (\n <StyledTieredSelectOption\n item={tier}\n key={`${getId(tier)}-${index}`}\n selected={isTierSelected(tier)}\n disabled={isDisabled}\n >\n {getLabel(tier)}\n {showNextTierArrow && (\n <Box paddingLeft=\"sm\">\n <ArrowButton\n data-qa=\"tiered-select-arrow\"\n onClick={() => onNavigateForward(tier)}\n />\n </Box>\n )}\n {tooltip && (\n <Box paddingLeft=\"sm\">\n <ItemTooltipIcon />\n </Box>\n )}\n </StyledTieredSelectOption>\n )\n if (isDisabled && overlay) {\n return (\n <Tooltip\n key={`${getId(tier)}-${index}-tooltip`}\n overlay={overlay}\n trigger={'hover'}\n placement=\"right\"\n >\n {menuItem}\n </Tooltip>\n )\n }\n\n return menuItem\n })\n .concat(\n loadingMore && !loading\n ? [\n <StyledTieredSelectLoadingMore\n data-qa=\"tiered-select-loading-more\"\n key={'tiered-select-loading-more'}\n >\n <Spinner size=\"sm\" />\n </StyledTieredSelectLoadingMore>,\n ]\n : []\n )}\n </Options>\n ) : (\n <QuickCreateInput\n autoFocus={isQuickCreating}\n onSubmit={onQuickCreateSubmit}\n placeholder={I18n.t('quickCreatePlaceholder', {\n scope: i18nScope,\n })}\n ref={quickCreateRef}\n />\n )}\n <RenderFooter />\n <CloseOnFocus hide={hide} />\n </StyledTieredSelect>\n </StyledTieredSelectSpinnerOverlay>\n </StyledTieredSelectOverlay>\n )\n})\n\nexport const TierSelectionTieredSelect = React.forwardRef<\n HTMLDivElement,\n InternalTieredSelectProps\n>(function TierSelectionTieredSelect(\n {\n className,\n disabled = false,\n error = false,\n loading = false,\n onKeyDown, // goes no where\n 'aria-labelledby': ariaLabelledby,\n options = empty,\n value = empty,\n ...props\n },\n ref\n) {\n const {\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getLabel,\n getNextGroupId,\n getValueString,\n i18nScope,\n isLeaf,\n onChange,\n onClear,\n onNavigate,\n onSearch,\n tabIndex,\n } = React.useContext(TieredSelectContext)\n const I18n = useI18nContext()\n\n const tieredSelectMenuRef = React.useRef<MenuRef>(null)\n const tieredSelectButtonRef = React.useRef<HTMLDivElement>(null)\n const clearRef = React.createRef<HTMLButtonElement>()\n\n const [valueString, setValueString] = React.useState<string | undefined>('')\n const [currentTier, setCurrentTier] = React.useState<Id>(null)\n\n const triggerRef = React.useRef<HTMLDivElement>(null)\n\n // internal value used for navigation\n const [internalValue, setInternalValue] = React.useState<Tier[]>(value)\n // value to reset to if navigation occurs but no selection has been made\n const [previousValue, setPreviousValue] = React.useState<Tier[]>(value)\n\n // if value prop changes, update value state, current tier, and set button label\n // else open to root\n React.useEffect(\n function () {\n const lastEntryInValue = value[value.length - 1]\n\n if (value.length > 0) {\n setInternalValue(value)\n setPreviousValue(value)\n setValueString(getValueString(value))\n // show children of last tier in value\n setCurrentTier(getNextGroupId(lastEntryInValue))\n } else {\n setCurrentTier(null)\n setInternalValue([])\n setPreviousValue([])\n setValueString('')\n }\n },\n [getValueString, getNextGroupId, isLeaf, value]\n )\n\n function onTriggerKeyDown(e: React.KeyboardEvent<HTMLDivElement>) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n triggerRef.current?.click()\n }\n }\n\n const internalOnChange = React.useCallback(\n function (selection: TierSelection) {\n setInternalValue(selection.value)\n setPreviousValue(selection.value)\n setValueString(getValueString(selection.value))\n setCurrentTier(getNextGroupId(selection.item))\n onChange(selection)\n },\n [getNextGroupId, getValueString, onChange]\n )\n\n const internalOnNavigate = React.useCallback(\n function (nextGroupId: Id, value: any[]) {\n setInternalValue(value)\n setCurrentTier(nextGroupId)\n onNavigate && onNavigate(nextGroupId, value)\n },\n [onNavigate]\n )\n\n const internalOnClear = React.useCallback(\n function (event: React.MouseEvent<HTMLButtonElement>) {\n setValueString('')\n setInternalValue([])\n setPreviousValue([])\n internalOnNavigate(null, [])\n onClear && onClear(event)\n },\n [internalOnNavigate, onClear]\n )\n\n const internalOnSearch = React.useCallback(\n function (event: any) {\n onSearch && onSearch(event)\n },\n [onSearch]\n )\n\n const internalBeforeHide = React.useCallback(\n function (e: Event) {\n const isEscapeKey =\n e instanceof KeyboardEvent && (e.key === 'Escape' || e.key === 'Esc')\n\n const isClickOutside =\n e instanceof MouseEvent &&\n !isEventSource({ current: tieredSelectMenuRef?.current?.el }, e)\n\n const lastValue = previousValue[previousValue.length - 1]\n\n if (valueString && (isClickOutside || isEscapeKey)) {\n setInternalValue(previousValue)\n setCurrentTier(getNextGroupId(lastValue))\n }\n return beforeHide && beforeHide(e)\n },\n [\n beforeHide,\n getNextGroupId,\n tieredSelectMenuRef,\n previousValue,\n valueString,\n ]\n )\n\n return (\n <OverlayTrigger\n autoFocus\n afterHide={afterHide}\n afterShow={afterShow}\n beforeHide={internalBeforeHide}\n beforeShow={(e: Event) => {\n return beforeShow && e.target !== clearRef.current && beforeShow(e)\n }}\n canFlip={true}\n hideKeys={hideKeys}\n overlay={\n <TieredSelectMenu\n currentTier={currentTier}\n options={options}\n loading={loading}\n menuRef={tieredSelectMenuRef}\n onNavigate={internalOnNavigate}\n onSearch={internalOnSearch}\n onChange={internalOnChange}\n value={internalValue}\n previousValue={previousValue}\n {...props}\n onKeyDown={stopProp}\n />\n }\n placement=\"bottom-left\"\n ref={ref}\n trigger=\"click\"\n >\n <Select.Button\n block={block}\n className={className}\n clearRef={clearRef}\n disabled={disabled}\n error={error}\n label={valueString}\n loading={loading}\n placeholder={I18n.t('placeholder', { scope: i18nScope })}\n aria-labelledby={ariaLabelledby}\n onClear={internalOnClear}\n ref={mergeRefs(tieredSelectButtonRef, triggerRef)}\n tabIndex={tabIndex}\n onKeyDown={onTriggerKeyDown}\n >\n {valueString || I18n.t('placeholder', { scope: i18nScope })}\n </Select.Button>\n </OverlayTrigger>\n )\n})\n"],"mappings":"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"}
@@ -72,21 +72,34 @@ export var useHighlightItemEffects = function useHighlightItemEffects(_ref) {
72
72
  setPreviousSearch(searchValue);
73
73
  }, [searchValue]);
74
74
  var currentMenuRef = menuRef.current;
75
+ var skipFirstSearchTierRef = React.useRef(true);
75
76
  React.useEffect(function () {
76
77
  if (previousSearch !== searchValue || previousTier !== currentTier) {
77
- currentMenuRef === null || currentMenuRef === void 0 ? void 0 : currentMenuRef.highlightFirst();
78
+ var _menuRef$current;
79
+ if (skipFirstSearchTierRef.current) {
80
+ skipFirstSearchTierRef.current = false;
81
+ return;
82
+ }
83
+ (_menuRef$current = menuRef.current) === null || _menuRef$current === void 0 ? void 0 : _menuRef$current.highlightFirst();
78
84
  }
79
- }, [currentMenuRef, currentTier, previousTier, searchValue, previousSearch]);
85
+ }, [currentTier, previousTier, searchValue, previousSearch, menuRef]);
80
86
  React.useEffect(function () {
81
87
  if (loadingMore) {
82
88
  currentMenuRef === null || currentMenuRef === void 0 ? void 0 : currentMenuRef.highlightLast(false);
83
89
  }
84
90
  }, [currentMenuRef, loadingMore]);
91
+ var skipFirstLoadingRef = React.useRef(true);
85
92
  React.useEffect(function () {
86
- if (!loading && !(currentMenuRef !== null && currentMenuRef !== void 0 && currentMenuRef.highlighted())) {
87
- currentMenuRef === null || currentMenuRef === void 0 ? void 0 : currentMenuRef.highlightFirst();
93
+ var _menuRef$current2;
94
+ if (!loading && !((_menuRef$current2 = menuRef.current) !== null && _menuRef$current2 !== void 0 && _menuRef$current2.highlighted())) {
95
+ var _menuRef$current3;
96
+ if (skipFirstLoadingRef.current) {
97
+ skipFirstLoadingRef.current = false;
98
+ return;
99
+ }
100
+ (_menuRef$current3 = menuRef.current) === null || _menuRef$current3 === void 0 ? void 0 : _menuRef$current3.highlightFirst();
88
101
  }
89
- }, [currentMenuRef, loading]);
102
+ }, [loading, menuRef]);
90
103
  };
91
104
  export var TieredSelectContext = /*#__PURE__*/React.createContext({
92
105
  afterHide: noop,
@@ -1 +1 @@
1
- {"version":3,"file":"TieredSelect.js","names":["React","LeafSelectionTieredSelect","TierSelectionTieredSelect","defaultGetGroupId","tier","groupId","defaultGetId","id","defaultGetLabel","label","defaultGetNextGroupId","nextGroupId","undefined","getFullPath","getLabel","arguments","length","getValueString","value","map","join","getLeafOnly","getValueStringFn","valueStringResolution","noop","always","useHighlightItemEffects","_ref","currentTier","searchValue","menuRef","loading","loadingMore","_React$useState","useState","_React$useState2","_slicedToArray","previousTier","setPreviousTier","useEffect","_React$useState3","_React$useState4","previousSearch","setPreviousSearch","currentMenuRef","current","highlightFirst","highlightLast","highlighted","TieredSelectContext","createContext","afterHide","afterShow","beforeHide","beforeShow","getGroupId","getId","getNextGroupId","i18nScope","onChange","TieredSelect","forwardRef","_ref2","ref","_ref2$afterHide","_ref2$afterShow","_ref2$beforeHide","_ref2$beforeShow","block","_ref2$getGroupId","_ref2$getId","_ref2$getLabel","_ref2$getNextGroupId","_ref2$getValueString","_ref2$i18nScope","_ref2$onChange","onClear","onNavigate","onQuickCreate","onScrollBottom","onSearch","_ref2$selectableTiers","selectableTiers","_ref2$isTierDisabled","isTierDisabled","tabIndex","searchPlaceholder","props","_objectWithoutProperties","_excluded","isLeaf","useCallback","createElement","Provider","_extends"],"sources":["../../src/TieredSelect/TieredSelect.tsx"],"sourcesContent":["import React from 'react'\nimport type { MenuRef } from '../MenuImperative/MenuImperative.types'\nimport { LeafSelectionTieredSelect } from './LeafSelectionTieredSelect'\nimport type {\n GetValueStringFn,\n Id,\n Tier,\n TieredSelectApi,\n TieredSelectProps,\n} from './TieredSelect.types'\nimport { TierSelectionTieredSelect } from './TierSelectionTieredSelect'\n\nfunction defaultGetGroupId(tier: Tier) {\n return tier.groupId\n}\n\nfunction defaultGetId(tier: Tier) {\n return tier.id\n}\n\nfunction defaultGetLabel(tier: Tier) {\n return tier.label\n}\n\nfunction defaultGetNextGroupId(tier: Tier) {\n return tier.nextGroupId !== null ? (tier.nextGroupId as Id) : undefined\n}\n\nfunction getFullPath<T>(\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n return function getValueString(value: T[]) {\n return value.map((tier) => getLabel!(tier)).join(' > ')\n }\n}\n\nfunction getLeafOnly<T>(\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n return function getValueString(value: T[]) {\n return value.length ? getLabel(value[value.length - 1]) : ''\n }\n}\n\nfunction getValueStringFn(\n valueStringResolution: TieredSelectProps['getValueString'],\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n if (valueStringResolution === 'full-path') {\n return getFullPath(getLabel)\n }\n\n if (valueStringResolution === 'leaf-only') {\n return getLeafOnly(getLabel)\n }\n\n return valueStringResolution!\n}\n\nfunction noop() {}\n\nfunction always() {\n return true\n}\n\nexport const useHighlightItemEffects = ({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n}: {\n currentTier: Id\n searchValue: string\n menuRef: React.RefObject<MenuRef>\n loading: TieredSelectProps['loading']\n loadingMore: TieredSelectProps['loadingMore']\n}) => {\n const [previousTier, setPreviousTier] = React.useState<Id>()\n React.useEffect(() => {\n setPreviousTier(currentTier)\n }, [currentTier])\n\n const [previousSearch, setPreviousSearch] = React.useState<String>('')\n React.useEffect(() => {\n setPreviousSearch(searchValue)\n }, [searchValue])\n\n const currentMenuRef = menuRef.current\n React.useEffect(() => {\n if (previousSearch !== searchValue || previousTier !== currentTier) {\n currentMenuRef?.highlightFirst()\n }\n }, [currentMenuRef, currentTier, previousTier, searchValue, previousSearch])\n\n React.useEffect(() => {\n if (loadingMore) {\n currentMenuRef?.highlightLast(false)\n }\n }, [currentMenuRef, loadingMore])\n\n React.useEffect(() => {\n if (!loading && !currentMenuRef?.highlighted()) {\n currentMenuRef?.highlightFirst()\n }\n }, [currentMenuRef, loading])\n}\n\nexport const TieredSelectContext = React.createContext<TieredSelectApi>({\n afterHide: noop,\n afterShow: noop,\n beforeHide: always,\n beforeShow: always,\n getGroupId: defaultGetGroupId,\n getId: defaultGetId,\n getLabel: defaultGetLabel,\n getNextGroupId: defaultGetNextGroupId,\n getValueString: getFullPath(defaultGetLabel),\n i18nScope: 'core.tieredSelect',\n onChange: noop,\n})\n\n/**\n\n We use tiered selects to allow users to choose a single parent or child option\n that is nested within a tiered list. For example, choosing a location from\n within a list of tiered locations. We typically see these selects on forms.\n\n Other select components are group select, multi select, and select.\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-tieredselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/tiered-select)\n\n */\nexport const TieredSelect = React.forwardRef<HTMLDivElement, TieredSelectProps>(\n function TieredSelect(\n {\n afterHide = noop,\n afterShow = noop,\n beforeHide = always,\n beforeShow = always,\n block,\n getGroupId = defaultGetGroupId,\n getId = defaultGetId,\n getLabel = defaultGetLabel,\n getNextGroupId = defaultGetNextGroupId,\n getValueString = getFullPath(getLabel),\n i18nScope = 'core.tieredSelect',\n onChange = noop,\n onClear,\n onNavigate,\n onQuickCreate,\n onScrollBottom,\n onSearch,\n selectableTiers = true,\n isTierDisabled = () => false,\n tabIndex,\n searchPlaceholder,\n ...props\n },\n ref\n ) {\n const isLeaf = React.useCallback(\n function (tier: Tier) {\n return !getNextGroupId(tier)\n },\n [getNextGroupId]\n )\n\n return (\n <TieredSelectContext.Provider\n value={{\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n getValueString: getValueStringFn(getValueString),\n i18nScope,\n isLeaf,\n isTierDisabled,\n onChange,\n onClear,\n onNavigate,\n onQuickCreate,\n onScrollBottom,\n onSearch,\n searchPlaceholder,\n tabIndex,\n }}\n >\n {selectableTiers ? (\n <TierSelectionTieredSelect ref={ref} {...props} />\n ) : (\n <LeafSelectionTieredSelect ref={ref} {...props} />\n )}\n </TieredSelectContext.Provider>\n )\n }\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"TieredSelect.js","names":["React","LeafSelectionTieredSelect","TierSelectionTieredSelect","defaultGetGroupId","tier","groupId","defaultGetId","id","defaultGetLabel","label","defaultGetNextGroupId","nextGroupId","undefined","getFullPath","getLabel","arguments","length","getValueString","value","map","join","getLeafOnly","getValueStringFn","valueStringResolution","noop","always","useHighlightItemEffects","_ref","currentTier","searchValue","menuRef","loading","loadingMore","_React$useState","useState","_React$useState2","_slicedToArray","previousTier","setPreviousTier","useEffect","_React$useState3","_React$useState4","previousSearch","setPreviousSearch","currentMenuRef","current","skipFirstSearchTierRef","useRef","_menuRef$current","highlightFirst","highlightLast","skipFirstLoadingRef","_menuRef$current2","highlighted","_menuRef$current3","TieredSelectContext","createContext","afterHide","afterShow","beforeHide","beforeShow","getGroupId","getId","getNextGroupId","i18nScope","onChange","TieredSelect","forwardRef","_ref2","ref","_ref2$afterHide","_ref2$afterShow","_ref2$beforeHide","_ref2$beforeShow","block","_ref2$getGroupId","_ref2$getId","_ref2$getLabel","_ref2$getNextGroupId","_ref2$getValueString","_ref2$i18nScope","_ref2$onChange","onClear","onNavigate","onQuickCreate","onScrollBottom","onSearch","_ref2$selectableTiers","selectableTiers","_ref2$isTierDisabled","isTierDisabled","tabIndex","searchPlaceholder","props","_objectWithoutProperties","_excluded","isLeaf","useCallback","createElement","Provider","_extends"],"sources":["../../src/TieredSelect/TieredSelect.tsx"],"sourcesContent":["import React from 'react'\nimport type { MenuRef } from '../MenuImperative/MenuImperative.types'\nimport { LeafSelectionTieredSelect } from './LeafSelectionTieredSelect'\nimport type {\n GetValueStringFn,\n Id,\n Tier,\n TieredSelectApi,\n TieredSelectProps,\n} from './TieredSelect.types'\nimport { TierSelectionTieredSelect } from './TierSelectionTieredSelect'\n\nfunction defaultGetGroupId(tier: Tier) {\n return tier.groupId\n}\n\nfunction defaultGetId(tier: Tier) {\n return tier.id\n}\n\nfunction defaultGetLabel(tier: Tier) {\n return tier.label\n}\n\nfunction defaultGetNextGroupId(tier: Tier) {\n return tier.nextGroupId !== null ? (tier.nextGroupId as Id) : undefined\n}\n\nfunction getFullPath<T>(\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n return function getValueString(value: T[]) {\n return value.map((tier) => getLabel!(tier)).join(' > ')\n }\n}\n\nfunction getLeafOnly<T>(\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n return function getValueString(value: T[]) {\n return value.length ? getLabel(value[value.length - 1]) : ''\n }\n}\n\nfunction getValueStringFn(\n valueStringResolution: TieredSelectProps['getValueString'],\n getLabel: TieredSelectProps['getLabel'] = defaultGetLabel\n): GetValueStringFn {\n if (valueStringResolution === 'full-path') {\n return getFullPath(getLabel)\n }\n\n if (valueStringResolution === 'leaf-only') {\n return getLeafOnly(getLabel)\n }\n\n return valueStringResolution!\n}\n\nfunction noop() {}\n\nfunction always() {\n return true\n}\n\nexport const useHighlightItemEffects = ({\n currentTier,\n searchValue,\n menuRef,\n loading,\n loadingMore,\n}: {\n currentTier: Id\n searchValue: string\n menuRef: React.RefObject<MenuRef>\n loading: TieredSelectProps['loading']\n loadingMore: TieredSelectProps['loadingMore']\n}) => {\n const [previousTier, setPreviousTier] = React.useState<Id>()\n React.useEffect(() => {\n setPreviousTier(currentTier)\n }, [currentTier])\n\n const [previousSearch, setPreviousSearch] = React.useState<String>('')\n React.useEffect(() => {\n setPreviousSearch(searchValue)\n }, [searchValue])\n\n const currentMenuRef = menuRef.current\n\n const skipFirstSearchTierRef = React.useRef(true)\n React.useEffect(() => {\n if (previousSearch !== searchValue || previousTier !== currentTier) {\n if (skipFirstSearchTierRef.current) {\n skipFirstSearchTierRef.current = false\n return\n }\n\n menuRef.current?.highlightFirst()\n }\n }, [currentTier, previousTier, searchValue, previousSearch, menuRef])\n\n React.useEffect(() => {\n if (loadingMore) {\n currentMenuRef?.highlightLast(false)\n }\n }, [currentMenuRef, loadingMore])\n\n const skipFirstLoadingRef = React.useRef(true)\n React.useEffect(() => {\n if (!loading && !menuRef.current?.highlighted()) {\n if (skipFirstLoadingRef.current) {\n skipFirstLoadingRef.current = false\n return\n }\n\n menuRef.current?.highlightFirst()\n }\n }, [loading, menuRef])\n}\n\nexport const TieredSelectContext = React.createContext<TieredSelectApi>({\n afterHide: noop,\n afterShow: noop,\n beforeHide: always,\n beforeShow: always,\n getGroupId: defaultGetGroupId,\n getId: defaultGetId,\n getLabel: defaultGetLabel,\n getNextGroupId: defaultGetNextGroupId,\n getValueString: getFullPath(defaultGetLabel),\n i18nScope: 'core.tieredSelect',\n onChange: noop,\n})\n\n/**\n\n We use tiered selects to allow users to choose a single parent or child option\n that is nested within a tiered list. For example, choosing a location from\n within a list of tiered locations. We typically see these selects on forms.\n\n Other select components are group select, multi select, and select.\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-tieredselect--demo)\n\n @see [Design Guidelines](https://design.procore.com/tiered-select)\n\n */\nexport const TieredSelect = React.forwardRef<HTMLDivElement, TieredSelectProps>(\n function TieredSelect(\n {\n afterHide = noop,\n afterShow = noop,\n beforeHide = always,\n beforeShow = always,\n block,\n getGroupId = defaultGetGroupId,\n getId = defaultGetId,\n getLabel = defaultGetLabel,\n getNextGroupId = defaultGetNextGroupId,\n getValueString = getFullPath(getLabel),\n i18nScope = 'core.tieredSelect',\n onChange = noop,\n onClear,\n onNavigate,\n onQuickCreate,\n onScrollBottom,\n onSearch,\n selectableTiers = true,\n isTierDisabled = () => false,\n tabIndex,\n searchPlaceholder,\n ...props\n },\n ref\n ) {\n const isLeaf = React.useCallback(\n function (tier: Tier) {\n return !getNextGroupId(tier)\n },\n [getNextGroupId]\n )\n\n return (\n <TieredSelectContext.Provider\n value={{\n afterHide,\n afterShow,\n beforeHide,\n beforeShow,\n block,\n getGroupId,\n getId,\n getLabel,\n getNextGroupId,\n getValueString: getValueStringFn(getValueString),\n i18nScope,\n isLeaf,\n isTierDisabled,\n onChange,\n onClear,\n onNavigate,\n onQuickCreate,\n onScrollBottom,\n onSearch,\n searchPlaceholder,\n tabIndex,\n }}\n >\n {selectableTiers ? (\n <TierSelectionTieredSelect ref={ref} {...props} />\n ) : (\n <LeafSelectionTieredSelect ref={ref} {...props} />\n )}\n </TieredSelectContext.Provider>\n )\n }\n)\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,yBAAyB,QAAQ,6BAA6B;AAQvE,SAASC,yBAAyB,QAAQ,6BAA6B;AAEvE,SAASC,iBAAiBA,CAACC,IAAU,EAAE;EACrC,OAAOA,IAAI,CAACC,OAAO;AACrB;AAEA,SAASC,YAAYA,CAACF,IAAU,EAAE;EAChC,OAAOA,IAAI,CAACG,EAAE;AAChB;AAEA,SAASC,eAAeA,CAACJ,IAAU,EAAE;EACnC,OAAOA,IAAI,CAACK,KAAK;AACnB;AAEA,SAASC,qBAAqBA,CAACN,IAAU,EAAE;EACzC,OAAOA,IAAI,CAACO,WAAW,KAAK,IAAI,GAAIP,IAAI,CAACO,WAAW,GAAUC,SAAS;AACzE;AAEA,SAASC,WAAWA,CAAA,EAEA;EAAA,IADlBC,QAAuC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAH,SAAA,GAAAG,SAAA,MAAGP,eAAe;EAEzD,OAAO,SAASS,cAAcA,CAACC,KAAU,EAAE;IACzC,OAAOA,KAAK,CAACC,GAAG,CAAC,UAACf,IAAI;MAAA,OAAKU,QAAQ,CAAEV,IAAI,CAAC;IAAA,EAAC,CAACgB,IAAI,CAAC,KAAK,CAAC;EACzD,CAAC;AACH;AAEA,SAASC,WAAWA,CAAA,EAEA;EAAA,IADlBP,QAAuC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAH,SAAA,GAAAG,SAAA,MAAGP,eAAe;EAEzD,OAAO,SAASS,cAAcA,CAACC,KAAU,EAAE;IACzC,OAAOA,KAAK,CAACF,MAAM,GAAGF,QAAQ,CAACI,KAAK,CAACA,KAAK,CAACF,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;EAC9D,CAAC;AACH;AAEA,SAASM,gBAAgBA,CACvBC,qBAA0D,EAExC;EAAA,IADlBT,QAAuC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAH,SAAA,GAAAG,SAAA,MAAGP,eAAe;EAEzD,IAAIe,qBAAqB,KAAK,WAAW,EAAE;IACzC,OAAOV,WAAW,CAACC,QAAQ,CAAC;EAC9B;EAEA,IAAIS,qBAAqB,KAAK,WAAW,EAAE;IACzC,OAAOF,WAAW,CAACP,QAAQ,CAAC;EAC9B;EAEA,OAAOS,qBAAqB;AAC9B;AAEA,SAASC,IAAIA,CAAA,EAAG,CAAC;AAEjB,SAASC,MAAMA,CAAA,EAAG;EAChB,OAAO,IAAI;AACb;AAEA,OAAO,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAAC,IAAA,EAY9B;EAAA,IAXJC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACPC,WAAW,GAAAL,IAAA,CAAXK,WAAW;EAQX,IAAAC,eAAA,GAAwCjC,KAAK,CAACkC,QAAQ,CAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAArDI,YAAY,GAAAF,gBAAA;IAAEG,eAAe,GAAAH,gBAAA;EACpCnC,KAAK,CAACuC,SAAS,CAAC,YAAM;IACpBD,eAAe,CAACV,WAAW,CAAC;EAC9B,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,IAAAY,gBAAA,GAA4CxC,KAAK,CAACkC,QAAQ,CAAS,EAAE,CAAC;IAAAO,gBAAA,GAAAL,cAAA,CAAAI,gBAAA;IAA/DE,cAAc,GAAAD,gBAAA;IAAEE,iBAAiB,GAAAF,gBAAA;EACxCzC,KAAK,CAACuC,SAAS,CAAC,YAAM;IACpBI,iBAAiB,CAACd,WAAW,CAAC;EAChC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,IAAMe,cAAc,GAAGd,OAAO,CAACe,OAAO;EAEtC,IAAMC,sBAAsB,GAAG9C,KAAK,CAAC+C,MAAM,CAAC,IAAI,CAAC;EACjD/C,KAAK,CAACuC,SAAS,CAAC,YAAM;IACpB,IAAIG,cAAc,KAAKb,WAAW,IAAIQ,YAAY,KAAKT,WAAW,EAAE;MAAA,IAAAoB,gBAAA;MAClE,IAAIF,sBAAsB,CAACD,OAAO,EAAE;QAClCC,sBAAsB,CAACD,OAAO,GAAG,KAAK;QACtC;MACF;MAEA,CAAAG,gBAAA,GAAAlB,OAAO,CAACe,OAAO,cAAAG,gBAAA,uBAAfA,gBAAA,CAAiBC,cAAc,CAAC,CAAC;IACnC;EACF,CAAC,EAAE,CAACrB,WAAW,EAAES,YAAY,EAAER,WAAW,EAAEa,cAAc,EAAEZ,OAAO,CAAC,CAAC;EAErE9B,KAAK,CAACuC,SAAS,CAAC,YAAM;IACpB,IAAIP,WAAW,EAAE;MACfY,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEM,aAAa,CAAC,KAAK,CAAC;IACtC;EACF,CAAC,EAAE,CAACN,cAAc,EAAEZ,WAAW,CAAC,CAAC;EAEjC,IAAMmB,mBAAmB,GAAGnD,KAAK,CAAC+C,MAAM,CAAC,IAAI,CAAC;EAC9C/C,KAAK,CAACuC,SAAS,CAAC,YAAM;IAAA,IAAAa,iBAAA;IACpB,IAAI,CAACrB,OAAO,IAAI,GAAAqB,iBAAA,GAACtB,OAAO,CAACe,OAAO,cAAAO,iBAAA,eAAfA,iBAAA,CAAiBC,WAAW,CAAC,CAAC,GAAE;MAAA,IAAAC,iBAAA;MAC/C,IAAIH,mBAAmB,CAACN,OAAO,EAAE;QAC/BM,mBAAmB,CAACN,OAAO,GAAG,KAAK;QACnC;MACF;MAEA,CAAAS,iBAAA,GAAAxB,OAAO,CAACe,OAAO,cAAAS,iBAAA,uBAAfA,iBAAA,CAAiBL,cAAc,CAAC,CAAC;IACnC;EACF,CAAC,EAAE,CAAClB,OAAO,EAAED,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,OAAO,IAAMyB,mBAAmB,gBAAGvD,KAAK,CAACwD,aAAa,CAAkB;EACtEC,SAAS,EAAEjC,IAAI;EACfkC,SAAS,EAAElC,IAAI;EACfmC,UAAU,EAAElC,MAAM;EAClBmC,UAAU,EAAEnC,MAAM;EAClBoC,UAAU,EAAE1D,iBAAiB;EAC7B2D,KAAK,EAAExD,YAAY;EACnBQ,QAAQ,EAAEN,eAAe;EACzBuD,cAAc,EAAErD,qBAAqB;EACrCO,cAAc,EAAEJ,WAAW,CAACL,eAAe,CAAC;EAC5CwD,SAAS,EAAE,mBAAmB;EAC9BC,QAAQ,EAAEzC;AACZ,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAM0C,YAAY,gBAAGlE,KAAK,CAACmE,UAAU,CAC1C,SAASD,YAAYA,CAAAE,KAAA,EAyBnBC,GAAG,EACH;EAAA,IAAAC,eAAA,GAAAF,KAAA,CAxBEX,SAAS;IAATA,SAAS,GAAAa,eAAA,cAAG9C,IAAI,GAAA8C,eAAA;IAAAC,eAAA,GAAAH,KAAA,CAChBV,SAAS;IAATA,SAAS,GAAAa,eAAA,cAAG/C,IAAI,GAAA+C,eAAA;IAAAC,gBAAA,GAAAJ,KAAA,CAChBT,UAAU;IAAVA,UAAU,GAAAa,gBAAA,cAAG/C,MAAM,GAAA+C,gBAAA;IAAAC,gBAAA,GAAAL,KAAA,CACnBR,UAAU;IAAVA,UAAU,GAAAa,gBAAA,cAAGhD,MAAM,GAAAgD,gBAAA;IACnBC,KAAK,GAAAN,KAAA,CAALM,KAAK;IAAAC,gBAAA,GAAAP,KAAA,CACLP,UAAU;IAAVA,UAAU,GAAAc,gBAAA,cAAGxE,iBAAiB,GAAAwE,gBAAA;IAAAC,WAAA,GAAAR,KAAA,CAC9BN,KAAK;IAALA,KAAK,GAAAc,WAAA,cAAGtE,YAAY,GAAAsE,WAAA;IAAAC,cAAA,GAAAT,KAAA,CACpBtD,QAAQ;IAARA,QAAQ,GAAA+D,cAAA,cAAGrE,eAAe,GAAAqE,cAAA;IAAAC,oBAAA,GAAAV,KAAA,CAC1BL,cAAc;IAAdA,cAAc,GAAAe,oBAAA,cAAGpE,qBAAqB,GAAAoE,oBAAA;IAAAC,oBAAA,GAAAX,KAAA,CACtCnD,cAAc;IAAdA,cAAc,GAAA8D,oBAAA,cAAGlE,WAAW,CAACC,QAAQ,CAAC,GAAAiE,oBAAA;IAAAC,eAAA,GAAAZ,KAAA,CACtCJ,SAAS;IAATA,SAAS,GAAAgB,eAAA,cAAG,mBAAmB,GAAAA,eAAA;IAAAC,cAAA,GAAAb,KAAA,CAC/BH,QAAQ;IAARA,QAAQ,GAAAgB,cAAA,cAAGzD,IAAI,GAAAyD,cAAA;IACfC,OAAO,GAAAd,KAAA,CAAPc,OAAO;IACPC,UAAU,GAAAf,KAAA,CAAVe,UAAU;IACVC,aAAa,GAAAhB,KAAA,CAAbgB,aAAa;IACbC,cAAc,GAAAjB,KAAA,CAAdiB,cAAc;IACdC,QAAQ,GAAAlB,KAAA,CAARkB,QAAQ;IAAAC,qBAAA,GAAAnB,KAAA,CACRoB,eAAe;IAAfA,eAAe,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAAE,oBAAA,GAAArB,KAAA,CACtBsB,cAAc;IAAdA,cAAc,GAAAD,oBAAA,cAAG;MAAA,OAAM,KAAK;IAAA,IAAAA,oBAAA;IAC5BE,QAAQ,GAAAvB,KAAA,CAARuB,QAAQ;IACRC,iBAAiB,GAAAxB,KAAA,CAAjBwB,iBAAiB;IACdC,KAAK,GAAAC,wBAAA,CAAA1B,KAAA,EAAA2B,SAAA;EAIV,IAAMC,MAAM,GAAGhG,KAAK,CAACiG,WAAW,CAC9B,UAAU7F,IAAU,EAAE;IACpB,OAAO,CAAC2D,cAAc,CAAC3D,IAAI,CAAC;EAC9B,CAAC,EACD,CAAC2D,cAAc,CACjB,CAAC;EAED,oBACE/D,KAAA,CAAAkG,aAAA,CAAC3C,mBAAmB,CAAC4C,QAAQ;IAC3BjF,KAAK,EAAE;MACLuC,SAAS,EAATA,SAAS;MACTC,SAAS,EAATA,SAAS;MACTC,UAAU,EAAVA,UAAU;MACVC,UAAU,EAAVA,UAAU;MACVc,KAAK,EAALA,KAAK;MACLb,UAAU,EAAVA,UAAU;MACVC,KAAK,EAALA,KAAK;MACLhD,QAAQ,EAARA,QAAQ;MACRiD,cAAc,EAAdA,cAAc;MACd9C,cAAc,EAAEK,gBAAgB,CAACL,cAAc,CAAC;MAChD+C,SAAS,EAATA,SAAS;MACTgC,MAAM,EAANA,MAAM;MACNN,cAAc,EAAdA,cAAc;MACdzB,QAAQ,EAARA,QAAQ;MACRiB,OAAO,EAAPA,OAAO;MACPC,UAAU,EAAVA,UAAU;MACVC,aAAa,EAAbA,aAAa;MACbC,cAAc,EAAdA,cAAc;MACdC,QAAQ,EAARA,QAAQ;MACRM,iBAAiB,EAAjBA,iBAAiB;MACjBD,QAAQ,EAARA;IACF;EAAE,GAEDH,eAAe,gBACdxF,KAAA,CAAAkG,aAAA,CAAChG,yBAAyB,EAAAkG,QAAA;IAAC/B,GAAG,EAAEA;EAAI,GAAKwB,KAAK,CAAG,CAAC,gBAElD7F,KAAA,CAAAkG,aAAA,CAACjG,yBAAyB,EAAAmG,QAAA;IAAC/B,GAAG,EAAEA;EAAI,GAAKwB,KAAK,CAAG,CAEvB,CAAC;AAEnC,CACF,CAAC"}