@procore/core-react 11.33.0 → 12.0.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 (328) hide show
  1. package/README.md +7 -1
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  3. package/dist/Avatar/Avatar.styles.js +5 -5
  4. package/dist/Avatar/Avatar.types.d.ts +1 -1
  5. package/dist/Avatar/Avatar.types.js.map +1 -1
  6. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  7. package/dist/Badge/Badge.styles.js +2 -2
  8. package/dist/Banner/Banner.d.ts +0 -5
  9. package/dist/Banner/Banner.js +11 -30
  10. package/dist/Banner/Banner.js.map +1 -1
  11. package/dist/Banner/Banner.styles.js +10 -20
  12. package/dist/Banner/Banner.styles.js.map +1 -1
  13. package/dist/Banner/Banner.types.d.ts +1 -5
  14. package/dist/Banner/Banner.types.js.map +1 -1
  15. package/dist/Banner/index.d.ts +1 -1
  16. package/dist/Banner/index.js +1 -1
  17. package/dist/Banner/index.js.map +1 -1
  18. package/dist/Box/Box.styles.js +1 -1
  19. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  20. package/dist/Breadcrumbs/Breadcrumbs.types.d.ts +1 -1
  21. package/dist/Breadcrumbs/Breadcrumbs.types.js.map +1 -1
  22. package/dist/Button/Button.styles.js +5 -5
  23. package/dist/Calendar/Calendar.d.ts +72 -0
  24. package/dist/Calendar/Calendar.js +81 -0
  25. package/dist/Calendar/Calendar.js.map +1 -1
  26. package/dist/Calendar/Calendar.styles.js +8 -8
  27. package/dist/Card/Card.styles.js +1 -1
  28. package/dist/Checkbox/Checkbox.js +3 -2
  29. package/dist/Checkbox/Checkbox.js.map +1 -1
  30. package/dist/Checkbox/Checkbox.styles.js +6 -6
  31. package/dist/Checkbox/CheckboxTooltip.d.ts +4 -0
  32. package/dist/Checkbox/CheckboxTooltip.js +26 -0
  33. package/dist/Checkbox/CheckboxTooltip.js.map +1 -0
  34. package/dist/ContactItem/ContactItem.styles.js +5 -5
  35. package/dist/Content/Content.styles.js +4 -4
  36. package/dist/Content/Content.styles.js.map +1 -1
  37. package/dist/DateInput/DateInput.styles.js +6 -6
  38. package/dist/DetailPage/DetailPage.styles.js +7 -7
  39. package/dist/Dropdown/Dropdown.styles.js +3 -3
  40. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  41. package/dist/Dropzone/Dropzone.js +1 -1
  42. package/dist/Dropzone/Dropzone.styles.js +9 -9
  43. package/dist/EmptyState/EmptyState.styles.js +6 -6
  44. package/dist/Field/Field.styles.js +3 -3
  45. package/dist/FileList/FileList.styles.js +4 -4
  46. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  47. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  48. package/dist/FileSelect/FileSelect.styles.js +2 -2
  49. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  50. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  51. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  52. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  53. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  54. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  55. package/dist/FileSelect/ThumbnailList/index.d.ts +1 -0
  56. package/dist/FileSelect/ThumbnailList/index.js.map +1 -1
  57. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  58. package/dist/FileSelect/TreeSource/TreeSource.types.d.ts +1 -1
  59. package/dist/FileSelect/TreeSource/TreeSource.types.js.map +1 -1
  60. package/dist/FileSelect/index.d.ts +1 -1
  61. package/dist/FileSelect/index.js.map +1 -1
  62. package/dist/FileSelect/storyHelpers.d.ts +2 -2
  63. package/dist/FileSelect/storyHelpers.js.map +1 -1
  64. package/dist/FileToken/FileToken.styles.js +4 -4
  65. package/dist/FilterToken/FilterToken.styles.js +2 -2
  66. package/dist/FlexList/FlexList.styles.js +1 -1
  67. package/dist/Form/Form.d.ts +1 -1
  68. package/dist/Form/Form.js +5 -4
  69. package/dist/Form/Form.js.map +1 -1
  70. package/dist/Form/Form.styles.d.ts +1 -5
  71. package/dist/Form/Form.styles.js +20 -33
  72. package/dist/Form/Form.styles.js.map +1 -1
  73. package/dist/Form/Form.types.d.ts +7 -1
  74. package/dist/Form/Form.types.js.map +1 -1
  75. package/dist/Form/StyledFormikForm.styles.d.ts +6 -0
  76. package/dist/Form/StyledFormikForm.styles.js +17 -0
  77. package/dist/Form/StyledFormikForm.styles.js.map +1 -0
  78. package/dist/Form/index.d.ts +3 -2
  79. package/dist/Form/index.js +2 -1
  80. package/dist/Form/index.js.map +1 -1
  81. package/dist/Grid/Grid.styles.js +2 -2
  82. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  83. package/dist/Input/Input.styles.js +1 -1
  84. package/dist/Link/Link.styles.js +1 -1
  85. package/dist/ListPage/ListPage.styles.js +8 -8
  86. package/dist/Loader/Loader.styles.js +2 -2
  87. package/dist/Menu/index.d.ts +1 -1
  88. package/dist/Menu/index.js.map +1 -1
  89. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  90. package/dist/Modal/Modal.js +1 -1
  91. package/dist/Modal/Modal.js.map +1 -1
  92. package/dist/Modal/Modal.styles.js +13 -13
  93. package/dist/MultiSelect/MultiSelect.js.map +1 -1
  94. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  95. package/dist/MultiSelect/MultiSelect.types.d.ts +4 -4
  96. package/dist/MultiSelect/MultiSelect.types.js.map +1 -1
  97. package/dist/MultiSelect/index.d.ts +1 -1
  98. package/dist/MultiSelect/index.js.map +1 -1
  99. package/dist/NextMenu/NextMenu.styles.js +3 -3
  100. package/dist/Notation/Notation.js +1 -1
  101. package/dist/NumberInput/NumberInput.js +2 -3
  102. package/dist/NumberInput/NumberInput.js.map +1 -1
  103. package/dist/NumberInput/NumberInput.styles.js +7 -7
  104. package/dist/NumberInput/NumberInput.types.d.ts +15 -11
  105. package/dist/NumberInput/NumberInput.types.js.map +1 -1
  106. package/dist/NumberInput/index.d.ts +1 -1
  107. package/dist/NumberInput/index.js.map +1 -1
  108. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  109. package/dist/OverlayTrigger/OverlayTrigger.js +0 -4
  110. package/dist/OverlayTrigger/OverlayTrigger.js.map +1 -1
  111. package/dist/PageLayout/PageLayout.d.ts +53 -0
  112. package/dist/PageLayout/PageLayout.js +63 -8
  113. package/dist/PageLayout/PageLayout.js.map +1 -1
  114. package/dist/PageLayout/PageLayout.styles.d.ts +1 -4
  115. package/dist/PageLayout/PageLayout.styles.js +26 -26
  116. package/dist/PageLayout/PageLayout.styles.js.map +1 -1
  117. package/dist/Pagination/Pagination.styles.js +5 -5
  118. package/dist/Pagination/index.d.ts +1 -1
  119. package/dist/Pagination/index.js.map +1 -1
  120. package/dist/Panel/Panel.styles.js +11 -11
  121. package/dist/Pill/Pill.styles.js +2 -2
  122. package/dist/PillSelect/PillSelect.styles.js +4 -4
  123. package/dist/PillSelect/index.d.ts +1 -1
  124. package/dist/PillSelect/index.js.map +1 -1
  125. package/dist/Popover/Popover.styles.js +2 -2
  126. package/dist/Portal/Portal.styles.js +1 -1
  127. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  128. package/dist/RadioButton/RadioButton.styles.js +3 -3
  129. package/dist/Required/Required.styles.js +3 -3
  130. package/dist/Search/Search.styles.js +5 -5
  131. package/dist/Section/Section.styles.js +6 -6
  132. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  133. package/dist/Select/Select.styles.js +7 -7
  134. package/dist/Semantic/Semantic.styles.js +9 -9
  135. package/dist/Slider/Slider.styles.js +5 -5
  136. package/dist/Spinner/Spinner.styles.js +7 -7
  137. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  138. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  139. package/dist/SuperSelect/index.d.ts +1 -1
  140. package/dist/SuperSelect/index.js.map +1 -1
  141. package/dist/Switch/Switch.styles.js +4 -4
  142. package/dist/Table/Table.d.ts +5 -5
  143. package/dist/Table/Table.js.map +1 -1
  144. package/dist/Table/Table.styles.js +28 -28
  145. package/dist/Table/Table.types.d.ts +2 -2
  146. package/dist/Table/Table.types.js.map +1 -1
  147. package/dist/Table/index.d.ts +1 -1
  148. package/dist/Table/index.js.map +1 -1
  149. package/dist/TableShelf/TableShelf.styles.js +5 -5
  150. package/dist/Tabs/Tabs.styles.js +8 -8
  151. package/dist/Tearsheet/Tearsheet.js +1 -1
  152. package/dist/Tearsheet/Tearsheet.js.map +1 -1
  153. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  154. package/dist/TextArea/TextArea.styles.js +1 -1
  155. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  156. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  157. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  158. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  159. package/dist/TieredSelect/index.d.ts +1 -1
  160. package/dist/TieredSelect/index.js.map +1 -1
  161. package/dist/Tile/Tile.styles.js +10 -10
  162. package/dist/Tile/Tile.styles.js.map +1 -1
  163. package/dist/Title/Title.styles.js +7 -7
  164. package/dist/Toast/Toast.styles.js +3 -3
  165. package/dist/Toast/index.d.ts +1 -1
  166. package/dist/Toast/index.js.map +1 -1
  167. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  168. package/dist/Token/Token.styles.js +3 -3
  169. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  170. package/dist/Tooltip/Tooltip.styles.js +2 -2
  171. package/dist/Tree/Tree.js.map +1 -1
  172. package/dist/Tree/Tree.styles.js +9 -9
  173. package/dist/Tree/Tree.types.d.ts +1 -1
  174. package/dist/Tree/Tree.types.js.map +1 -1
  175. package/dist/Tree/index.d.ts +1 -1
  176. package/dist/Tree/index.js.map +1 -1
  177. package/dist/Typeahead/Typeahead.styles.js +3 -3
  178. package/dist/Typography/Typography.js +4 -2
  179. package/dist/Typography/Typography.js.map +1 -1
  180. package/dist/Typography/Typography.styles.js +6 -3
  181. package/dist/Typography/Typography.styles.js.map +1 -1
  182. package/dist/Typography/Typography.table.story.js +2 -2
  183. package/dist/Typography/Typography.types.d.ts +5 -0
  184. package/dist/Typography/Typography.types.js.map +1 -1
  185. package/dist/Typography/index.d.ts +1 -1
  186. package/dist/Typography/index.js +1 -1
  187. package/dist/Typography/index.js.map +1 -1
  188. package/dist/_hooks/Anchor.d.ts +0 -15
  189. package/dist/_hooks/Anchor.js +1 -29
  190. package/dist/_hooks/Anchor.js.map +1 -1
  191. package/dist/_hooks/Buffer.d.ts +0 -19
  192. package/dist/_hooks/Buffer.js +1 -41
  193. package/dist/_hooks/Buffer.js.map +1 -1
  194. package/dist/_hooks/DateTime/index.d.ts +1 -1
  195. package/dist/_hooks/DateTime/index.js +1 -1
  196. package/dist/_hooks/DateTime/index.js.map +1 -1
  197. package/dist/_hooks/InjectedScript.d.ts +0 -18
  198. package/dist/_hooks/InjectedScript.js +1 -39
  199. package/dist/_hooks/InjectedScript.js.map +1 -1
  200. package/dist/_hooks/ListNavigation.d.ts +0 -35
  201. package/dist/_hooks/ListNavigation.js +1 -53
  202. package/dist/_hooks/ListNavigation.js.map +1 -1
  203. package/dist/_hooks/ResizeObserver.js +1 -5
  204. package/dist/_hooks/ResizeObserver.js.map +1 -1
  205. package/dist/_hooks/TextEntry.d.ts +1 -29
  206. package/dist/_hooks/TextEntry.js +1 -42
  207. package/dist/_hooks/TextEntry.js.map +1 -1
  208. package/dist/_hooks/Timer.d.ts +0 -19
  209. package/dist/_hooks/Timer.js +0 -38
  210. package/dist/_hooks/Timer.js.map +1 -1
  211. package/dist/_hooks/Trigger.d.ts +0 -20
  212. package/dist/_hooks/Trigger.js +1 -47
  213. package/dist/_hooks/Trigger.js.map +1 -1
  214. package/dist/_hooks/Visibility.d.ts +0 -18
  215. package/dist/_hooks/Visibility.js +1 -41
  216. package/dist/_hooks/Visibility.js.map +1 -1
  217. package/dist/_typedoc/Avatar/Avatar.types.json +22 -22
  218. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +23 -23
  219. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  220. package/dist/_typedoc/Banner/Banner.types.json +16 -16
  221. package/dist/_typedoc/Box/Box.types.json +68 -68
  222. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +12 -12
  223. package/dist/_typedoc/Button/Button.types.json +12 -12
  224. package/dist/_typedoc/Calendar/Calendar.json +68 -0
  225. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  226. package/dist/_typedoc/Card/Card.types.json +6 -6
  227. package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
  228. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  229. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  230. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  231. package/dist/_typedoc/DetailPage/DetailPage.types.json +4 -4
  232. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  233. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  234. package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
  235. package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
  236. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  237. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  238. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  239. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  240. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +11 -11
  241. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  242. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  243. package/dist/_typedoc/Form/Form.types.json +746 -765
  244. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  245. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +53 -53
  246. package/dist/_typedoc/Input/Input.types.json +2 -2
  247. package/dist/_typedoc/Link/Link.types.json +4 -4
  248. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  249. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  250. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  251. package/dist/_typedoc/Modal/Modal.types.json +41 -41
  252. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +32 -32
  253. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  254. package/dist/_typedoc/NumberInput/NumberInput.types.json +71 -88
  255. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
  256. package/dist/_typedoc/PageLayout/PageLayout.json +36 -0
  257. package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -26
  258. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  259. package/dist/_typedoc/Panel/Panel.types.json +27 -27
  260. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  261. package/dist/_typedoc/PillSelect/PillSelect.types.json +47 -47
  262. package/dist/_typedoc/Popover/Popover.types.json +14 -14
  263. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  264. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  265. package/dist/_typedoc/Required/Required.types.json +5 -5
  266. package/dist/_typedoc/Search/Search.types.json +18 -18
  267. package/dist/_typedoc/Section/Section.types.json +14 -14
  268. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
  269. package/dist/_typedoc/Select/Select.types.json +57 -57
  270. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  271. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  272. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  273. package/dist/_typedoc/Table/Table.types.json +99 -99
  274. package/dist/_typedoc/Tabs/Tabs.types.json +17 -17
  275. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +16 -16
  276. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  277. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  278. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  279. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  280. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  281. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  282. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  283. package/dist/_typedoc/Title/Title.types.json +1 -1
  284. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  285. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +3 -3
  286. package/dist/_typedoc/Token/Token.types.json +4 -4
  287. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  288. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  289. package/dist/_typedoc/Tree/Tree.types.json +128 -128
  290. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  291. package/dist/_typedoc/Typography/Typography.types.json +18 -8
  292. package/dist/_typedoc/_utils/types.json +3 -3
  293. package/dist/_typedoc/deprecations.json +1 -1
  294. package/dist/_utils/closeWithConfirm.js.map +1 -0
  295. package/dist/_utils/propsTypedoc.d.ts +3 -1
  296. package/dist/_utils/propsTypedoc.js +2 -0
  297. package/dist/_utils/propsTypedoc.js.map +1 -1
  298. package/dist/index.d.ts +1 -5
  299. package/dist/index.js +4 -9
  300. package/dist/index.js.map +1 -1
  301. package/package.json +15 -5
  302. package/dist/Form/closeWithConfirm.js.map +0 -1
  303. package/dist/Sidebar/Sidebar.d.ts +0 -50
  304. package/dist/Sidebar/Sidebar.js +0 -117
  305. package/dist/Sidebar/Sidebar.js.map +0 -1
  306. package/dist/Sidebar/Sidebar.styles.d.ts +0 -9
  307. package/dist/Sidebar/Sidebar.styles.js +0 -38
  308. package/dist/Sidebar/Sidebar.styles.js.map +0 -1
  309. package/dist/Sidebar/index.d.ts +0 -1
  310. package/dist/Sidebar/index.js +0 -2
  311. package/dist/Sidebar/index.js.map +0 -1
  312. package/dist/_hooks/Analytics.d.ts +0 -36
  313. package/dist/_hooks/Analytics.js +0 -54
  314. package/dist/_hooks/Analytics.js.map +0 -1
  315. package/dist/_hooks/Autofocus.d.ts +0 -32
  316. package/dist/_hooks/Autofocus.js +0 -70
  317. package/dist/_hooks/Autofocus.js.map +0 -1
  318. package/dist/_hooks/BoundingRect.d.ts +0 -41
  319. package/dist/_hooks/BoundingRect.js +0 -90
  320. package/dist/_hooks/BoundingRect.js.map +0 -1
  321. package/dist/_hooks/Event.d.ts +0 -42
  322. package/dist/_hooks/Event.js +0 -83
  323. package/dist/_hooks/Event.js.map +0 -1
  324. package/dist/_utils/genericAnalyticsClient.d.ts +0 -25
  325. package/dist/_utils/genericAnalyticsClient.js +0 -46
  326. package/dist/_utils/genericAnalyticsClient.js.map +0 -1
  327. /package/dist/{Form → _utils}/closeWithConfirm.d.ts +0 -0
  328. /package/dist/{Form → _utils}/closeWithConfirm.js +0 -0
@@ -5,36 +5,36 @@ import { Typography } from '../Typography/Typography';
5
5
  import { spacing } from '../_styles/spacing';
6
6
  export var StyledTitle = /*#__PURE__*/styled.div.withConfig({
7
7
  displayName: "StyledTitle",
8
- componentId: "core-11_33_0__sc-1t2ye1d-0"
8
+ componentId: "core-12_0_0__sc-1t2ye1d-0"
9
9
  })(["display:flex;align-items:flex-start;"]);
10
10
  export var StyledAssets = /*#__PURE__*/styled.div.withConfig({
11
11
  displayName: "StyledAssets",
12
- componentId: "core-11_33_0__sc-1t2ye1d-1"
12
+ componentId: "core-12_0_0__sc-1t2ye1d-1"
13
13
  })(["margin-right:", "px;", ""], spacing.md, function (_ref) {
14
14
  var alignment = _ref.alignment;
15
15
  return css(["align-self:", ";"], alignment);
16
16
  });
17
17
  export var StyledTitleContent = /*#__PURE__*/styled.div.withConfig({
18
18
  displayName: "StyledTitleContent",
19
- componentId: "core-11_33_0__sc-1t2ye1d-2"
19
+ componentId: "core-12_0_0__sc-1t2ye1d-2"
20
20
  })(["align-self:center;", ""], function (_ref2) {
21
21
  var $hasActions = _ref2.$hasActions;
22
22
  return $hasActions && css(["margin-right:", "px;"], spacing.lg);
23
23
  });
24
24
  export var StyledText = /*#__PURE__*/styled.span.withConfig({
25
25
  displayName: "StyledText",
26
- componentId: "core-11_33_0__sc-1t2ye1d-3"
26
+ componentId: "core-12_0_0__sc-1t2ye1d-3"
27
27
  })(["> h1,> h2,> h3{display:inline;}"]);
28
28
  export var StyledTitlePill = /*#__PURE__*/styled.span.withConfig({
29
29
  displayName: "StyledTitlePill",
30
- componentId: "core-11_33_0__sc-1t2ye1d-4"
30
+ componentId: "core-12_0_0__sc-1t2ye1d-4"
31
31
  })(["margin-left:", "px;", "{vertical-align:text-top;}"], spacing.sm, StyledPill);
32
32
  export var StyledTitleActions = /*#__PURE__*/styled(StyledActions).withConfig({
33
33
  displayName: "StyledTitleActions",
34
- componentId: "core-11_33_0__sc-1t2ye1d-5"
34
+ componentId: "core-12_0_0__sc-1t2ye1d-5"
35
35
  })(["margin-left:auto;"]);
36
36
  export var StyledSubtext = /*#__PURE__*/styled(Typography).withConfig({
37
37
  displayName: "StyledSubtext",
38
- componentId: "core-11_33_0__sc-1t2ye1d-6"
38
+ componentId: "core-12_0_0__sc-1t2ye1d-6"
39
39
  })(["display:block;"]);
40
40
  //# sourceMappingURL=Title.styles.js.map
@@ -7,7 +7,7 @@ import { getShadow } from '../_styles/shadows';
7
7
  import { spacing } from '../_styles/spacing';
8
8
  export var StyledToast = /*#__PURE__*/styled.div.withConfig({
9
9
  displayName: "StyledToast",
10
- componentId: "core-11_33_0__sc-1l6lk2n-0"
10
+ componentId: "core-12_0_0__sc-1l6lk2n-0"
11
11
  })(["", " align-items:center;background-color:", ";border-radius:", "px;color:", ";display:flex;min-height:48px;padding:", "px ", "px;width:550px;"], getShadow(4, 'bottom'), function (_ref) {
12
12
  var $variant = _ref.$variant;
13
13
  return $variant === 'success' ? colors.green30 : colors.red50;
@@ -16,13 +16,13 @@ export var StyledToast = /*#__PURE__*/styled.div.withConfig({
16
16
  // $legacy is direct string inside Toast. Next is with subcomponents
17
17
  export var StyledToastText = /*#__PURE__*/styled.span.withConfig({
18
18
  displayName: "StyledToastText",
19
- componentId: "core-11_33_0__sc-1l6lk2n-1"
19
+ componentId: "core-12_0_0__sc-1l6lk2n-1"
20
20
  })(["", " font-weight:", ";overflow:hidden;", ""], getTypographyIntent('body'), typographyWeights.semibold, function (_ref2) {
21
21
  var $legacy = _ref2.$legacy;
22
22
  return $legacy ? "margin-left: ".concat(spacing.lg, "px;") : "padding: 0 ".concat(spacing.lg, "px;");
23
23
  });
24
24
  export var StyledToastButton = /*#__PURE__*/styled(Button).withConfig({
25
25
  displayName: "StyledToastButton",
26
- componentId: "core-11_33_0__sc-1l6lk2n-2"
26
+ componentId: "core-12_0_0__sc-1l6lk2n-2"
27
27
  })(["line-height:0;color:", ";padding:0;margin-left:auto;"], colors.white);
28
28
  //# sourceMappingURL=Toast.styles.js.map
@@ -1,2 +1,2 @@
1
1
  export { Toast } from './Toast';
2
- export type { ToastProps } from './Toast.types';
2
+ export type { ToastProps, ToastVariant as ToastVariantProp, } from './Toast.types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Toast"],"sources":["../../src/Toast/index.ts"],"sourcesContent":["export { Toast } from './Toast'\nexport type { ToastProps } from './Toast.types'\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,SAAS"}
1
+ {"version":3,"file":"index.js","names":["Toast"],"sources":["../../src/Toast/index.ts"],"sourcesContent":["export { Toast } from './Toast'\nexport type {\n ToastProps,\n ToastVariant as ToastVariantProp,\n} from './Toast.types'\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,SAAS"}
@@ -3,7 +3,7 @@ import { Button } from '../Button/Button';
3
3
  import { colors } from '../_styles/colors';
4
4
  export var StyledToggleButton = /*#__PURE__*/styled(Button).withConfig({
5
5
  displayName: "StyledToggleButton",
6
- componentId: "core-11_33_0__sc-1x59fxi-0"
6
+ componentId: "core-12_0_0__sc-1x59fxi-0"
7
7
  })(["", "}"], function (_ref) {
8
8
  var $selected = _ref.$selected;
9
9
  return $selected && css(["background-color:", ";color:", ";&:hover{background-color:", ";color:", ";}&:focus{background-color:", ";color:", ";}&:disabled{background-color:", ";color:", ";}"], colors.blue50, colors.white, colors.blue40, colors.white, colors.blue50, colors.white, colors.blue85, colors.white);
@@ -6,15 +6,15 @@ import { getEllipsis, getFocus } from '../_styles/mixins';
6
6
  import { spacing } from '../_styles/spacing';
7
7
  export var StyledLabel = /*#__PURE__*/styled.span.withConfig({
8
8
  displayName: "StyledLabel",
9
- componentId: "core-11_33_0__sc-zqi94b-0"
9
+ componentId: "core-12_0_0__sc-zqi94b-0"
10
10
  })(["", " ", " flex:0 1 auto;"], getTypographyIntent('body'), getEllipsis);
11
11
  export var StyledRemove = /*#__PURE__*/styled(Clear).withConfig({
12
12
  displayName: "StyledRemove",
13
- componentId: "core-11_33_0__sc-zqi94b-1"
13
+ componentId: "core-12_0_0__sc-zqi94b-1"
14
14
  })(["border-radius:100%;cursor:pointer;flex:0 0 auto;height:16px;margin:0 -", "px 0 ", "px;width:16px;&:hover{background:", ";color:", ";}"], spacing.sm, spacing.sm, colors.white, colors.blue40);
15
15
  export var StyledToken = /*#__PURE__*/styled.div.withConfig({
16
16
  displayName: "StyledToken",
17
- componentId: "core-11_33_0__sc-zqi94b-2"
17
+ componentId: "core-12_0_0__sc-zqi94b-2"
18
18
  })(["align-items:center;background-color:", ";border-radius:200px;border:1px solid transparent;color:", ";cursor:default;display:inline-flex;height:24px;line-height:1;max-width:360px;min-width:48px;padding:", "px ", "px;&:hover,&.hover{background-color:", ";}", " ", " ", ""], colors.blue50, colors.white, spacing.xs, spacing.md, colors.blue45, function (_ref) {
19
19
  var _ref$$focused = _ref.$focused,
20
20
  $focused = _ref$$focused === void 0 ? false : _ref$$focused,
@@ -5,7 +5,7 @@ import { colors } from '../_styles/colors';
5
5
  import { spacing } from '../_styles/spacing';
6
6
  export var StyledHeaderBadge = /*#__PURE__*/styled.div.withConfig({
7
7
  displayName: "StyledHeaderBadge",
8
- componentId: "core-11_33_0__sc-1jpjx47-0"
8
+ componentId: "core-12_0_0__sc-1jpjx47-0"
9
9
  })(["", " border-radius:10px;border-style:solid;border-width:1px;display:inline-block;margin-bottom:", "px;padding:1px ", "px;", ""], getTypographyIntent('small'), spacing.sm, spacing.sm, function (_ref) {
10
10
  var $variant = _ref.$variant;
11
11
  if ($variant) {
@@ -18,22 +18,22 @@ export var StyledHeaderBadge = /*#__PURE__*/styled.div.withConfig({
18
18
  // TODO in v12 remove cursor: pointer;
19
19
  export var StyledToolHeaderIconContainer = /*#__PURE__*/styled.div.withConfig({
20
20
  displayName: "StyledToolHeaderIconContainer",
21
- componentId: "core-11_33_0__sc-1jpjx47-1"
21
+ componentId: "core-12_0_0__sc-1jpjx47-1"
22
22
  })(["color:", ";cursor:pointer;display:inline-flex;flex:0 0 auto;"], colors.orange50);
23
23
  export var StyledHeaderTabs = /*#__PURE__*/styled.div.withConfig({
24
24
  displayName: "StyledHeaderTabs",
25
- componentId: "core-11_33_0__sc-1jpjx47-2"
25
+ componentId: "core-12_0_0__sc-1jpjx47-2"
26
26
  })(["align-self:flex-end;flex:1 1 auto;min-width:100px;overflow:hidden;"]);
27
27
  export var StyledHeaderActions = /*#__PURE__*/styled.div.withConfig({
28
28
  displayName: "StyledHeaderActions",
29
- componentId: "core-11_33_0__sc-1jpjx47-3"
29
+ componentId: "core-12_0_0__sc-1jpjx47-3"
30
30
  })(["flex:0 0 auto;margin-left:auto;padding-left:", "px;"], spacing.lg);
31
31
  export var StyledToolHeaderTitle = /*#__PURE__*/styled(H1).withConfig({
32
32
  displayName: "StyledToolHeaderTitle",
33
- componentId: "core-11_33_0__sc-1jpjx47-4"
33
+ componentId: "core-12_0_0__sc-1jpjx47-4"
34
34
  })(["margin-right:", "px;white-space:nowrap;"], spacing.xl);
35
35
  export var StyledToolHeader = /*#__PURE__*/styled.div.withConfig({
36
36
  displayName: "StyledToolHeader",
37
- componentId: "core-11_33_0__sc-1jpjx47-5"
37
+ componentId: "core-12_0_0__sc-1jpjx47-5"
38
38
  })(["align-items:center;display:flex;min-height:36px;width:100%;", " + ", ",a + ", ",button + ", "{margin-left:", "px;}"], StyledToolHeaderIconContainer, StyledToolHeaderTitle, StyledToolHeaderTitle, StyledToolHeaderTitle, spacing.lg);
39
39
  //# sourceMappingURL=ToolHeader.styles.js.map
@@ -6,10 +6,10 @@ import { getShadow } from '../_styles/shadows';
6
6
  import { spacing } from '../_styles/spacing';
7
7
  export var StyledTooltip = /*#__PURE__*/styled.span.withConfig({
8
8
  displayName: "StyledTooltip",
9
- componentId: "core-11_33_0__sc-1fawsi4-0"
9
+ componentId: "core-12_0_0__sc-1fawsi4-0"
10
10
  })(["", " color:", ";max-width:200px;padding:", "px ", "px;position:relative;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;"], getTypographyIntent('small'), colors.white, spacing.sm, spacing.md);
11
11
  export var StyledContainer = /*#__PURE__*/styled.span.withConfig({
12
12
  displayName: "StyledContainer",
13
- componentId: "core-11_33_0__sc-1fawsi4-1"
13
+ componentId: "core-12_0_0__sc-1fawsi4-1"
14
14
  })(["display:inline-flex;background-color:", ";border-radius:", "px;", " & + [data-overlay-arrow]{background:", ";}"], colors.gray15, borderRadius.md, getShadow(3, 'bottom'), colors.gray15);
15
15
  //# sourceMappingURL=Tooltip.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.js","names":["File","Folder","React","areEqual","FixedSizeList","Spinner","Tooltip","useI18nContext","useIntersectionObserver","useResizeObserver","useTimer","useVisibility","parseFilename","mergeRefs","useTree","StyledChevron","StyledChevronContainer","StyledFilenameCaption","StyledIconContainer","StyledTree","StyledTreeRowContainer","StyledTreeRowContent","StyledTreeRowWrapper","spacing","rootSpacing","defaultRowHeight","rowRightPadding","scrollbarWidth","getPadding","level","intersectionThresholds","Array","from","length","map","_","index","tooltipDelay","UNSAFE_treeRootNodeId","defaultIsExpandable","node","defaultGetType","defaultIsSelectable","type","defaultGetParentId","parentId","defaultGetLabel","name","noop","isRootNode","rootValues","undefined","includes","Tree","forwardRef","_ref","ref","options","_ref$expanded","expanded","_ref$selected","selected","_ref$selectionLimit","selectionLimit","Infinity","getRoot_","getRoot","getChildren_","getChildren","getIconBase","getIcon","_ref$getLabel","getLabel","_ref$getParentId","getParentId","getParentId_","_ref$getType","getType","_ref$isExpandable","isExpandable","_ref$isSelectable","isSelectable","_ref$multiple","multiple","_ref$onSelect","onSelect","_ref$onCollapse","onCollapse","_ref$onExpand","onExpand","Promise","resolve","rowRendererBase","rowRenderer","_ref$maxVisibleNodes","maxVisibleNodes","visibleHeight","_ref$autoExpandParent","autoExpandParent","innerElementType","outerElementType","onKeyDown","children","props","_objectWithoutProperties","_excluded","rowHeight","wrapperRef","useRef","listRef","listInnerRef","listOuterRefRef","_React$useState","useState","_React$useState2","_slicedToArray","contentMaxWidth","setContentMaxWidth","useMemo","defaultGetRoot","useCallback","nodes","filter","rootNodes","roots","isArray","useEffect","console","warn","_React$useState3","_React$useState4","isTreeFocused","setIsTreeFocused","_React$useState5","width","height","_React$useState6","containerSize","setContainerSize","handleContainerResize","entries","_ref2","target","clientHeight","clientWidth","setResizeObserverTarget","defaultGetChildren","childNode","id","_useTree","isExpanded","isSelected","isLoading","highlightedNode","isNodeHighlighted","isHighlighted","highlight","handleSelection","handleExpansion","_setExpanded","setExpanded","_setSelected","setSelected","isFileLimitReached","listNavigation","Set","useImperativeHandle","rootEl","current","toggleSelected","toggleExpanded","defaultGetIcon","isFolder","createElement","handleAccessibility","e","key","preventDefault","increment","decrement","_listRef$current","scrollToItem","defaultRowRenderer","TreeRow","_listInnerRef$current","rowContentSizes","childNodes","forEach","child","rowContent","querySelector","_dataset$padding","leftPadding","dataset","padding","push","scrollWidth","parseInt","maxSizeRowContent","Math","max","apply","itemData","treeContainer","error","_extends","tabIndex","onFocus","onBlur","className","min","innerRef","outerRef","itemCount","itemSize","TreeNode","memo","_ref3","_ref3$data","data","_excluded2","style","_React$useState7","_React$useState8","isMouseOver","setMouseOver","timer","_useVisibility","shouldShowTooltip","isVisible","showTooltip","show","hideTooltip","hide","setTimer","onMouseEnter","onMouseLeave","cancel","_objectSpread","_ref4","_excluded3","expanderRef","nodeType","rowLabel","onClick","event","_expanderRef$current","contains","onMouseDown","focus","TreeRowContainer","TreeRowChevron","TreeRowIcon","icon","TreeRowTooltip","fileName","TreeRowName","value","IconContainer","_ref5","_excluded4","$isSelected","_ref6","$isExpanded","_ref7","marginLeft","marginRight","size","_ref8","getSelectionLimitMessage","count","getUnsupportedFileTypeMessage","_parseFilename","extension","isFilename","concat","fileType","toUpperCase","_ref9","isFocused","I18n","rowRef","isUserInteracting","isTooltipVisible","isFile","_React$useState9","_React$useState10","isCropped","setCropped","registerRowEl","entry","rootBounds","left","boundingClientRect","root","rootMargin","threshold","selectionLimitMessage","unsupportedFileTypeMessage","message","trigger","overlay","t","placement","_ref10","_excluded5","paddingLeft"],"sources":["../../src/Tree/Tree.tsx"],"sourcesContent":["import { File, Folder } from '@procore/core-icons/dist'\nimport type { FunctionComponent, PropsWithChildren } from 'react'\nimport React from 'react'\nimport { areEqual, FixedSizeList } from 'react-window'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useIntersectionObserver } from '../_hooks/IntersectionObserver'\nimport { useResizeObserver } from '../_hooks/ResizeObserver'\nimport { useTimer } from '../_hooks/Timer'\nimport { useVisibility } from '../_hooks/Visibility'\nimport { parseFilename } from '../_utils/filename'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport { useTree } from './Tree.hooks'\nimport {\n StyledChevron,\n StyledChevronContainer,\n StyledFilenameCaption,\n StyledIconContainer,\n StyledTree,\n StyledTreeRowContainer,\n StyledTreeRowContent,\n StyledTreeRowWrapper,\n} from './Tree.styles'\nimport type {\n CustomDataType,\n DefaultNode,\n IconContainerProps,\n Node,\n TreeNodeId,\n TreeNodeProps,\n TreeProps,\n TreeRef,\n TreeRowContainerProps,\n TreeRowProps,\n TreeRowTooltipProps,\n} from './Tree.types'\n\nconst spacing = 32\nconst rootSpacing = 24\nconst defaultRowHeight = 36\n\n// Selected nodes have a bold text, and browsers occasionally miscalculate scrollWidth by one pixel down.\n// That situations might cause an issue when we get a second horizontal scrollbar.\n// This padding serves as compensation to prevent the described issue.\nconst rowRightPadding = 12\n// For most of browsers it usually varies between 12px and 20px.\n// To avoid tricky cross-browser calculations of scrollbar width. The maximum width is used.\nconst scrollbarWidth = 20\n\nfunction getPadding(level: number) {\n return rootSpacing + level * spacing\n}\n\nconst intersectionThresholds = Array.from({ length: 101 }).map(\n (_, index) => index / 100\n)\n\nconst tooltipDelay = 300\n\n// TODO refactor this to not be upper snake case\nexport const UNSAFE_treeRootNodeId = 'ROOT_ID'\n\nconst defaultIsExpandable: NonNullable<TreeProps['isExpandable']> = (\n node: DefaultNode\n) => defaultGetType(node) === 'branch'\nconst defaultIsSelectable: NonNullable<TreeProps['isSelectable']> = (\n node: DefaultNode\n) => node.type === 'leaf'\nconst defaultGetType: NonNullable<TreeProps['getType']> = (node: DefaultNode) =>\n node.type\nconst defaultGetParentId: NonNullable<TreeProps['getParentId']> = (\n node: DefaultNode\n) => node.parentId\nconst defaultGetLabel: NonNullable<TreeProps['getLabel']> = (\n node: DefaultNode\n) => node.name\nfunction noop() {}\n\nexport function isRootNode(parentId: TreeNodeId): boolean {\n const rootValues = [UNSAFE_treeRootNodeId, null, undefined] as TreeNodeId[]\n return rootValues.includes(parentId)\n}\n\n/**\n\n The tree allows users to navigate between folder / file directories,\n and optionally select those files.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-tree--demo)\n\n @see [Design Guidelines](https://design.procore.com/tree)\n\n */\nexport const Tree = React.forwardRef(\n <T extends Node = Node, P extends CustomDataType<T> = Array<T>>(\n {\n options,\n expanded = [],\n selected = [],\n selectionLimit = Infinity,\n getRoot: getRoot_,\n getChildren: getChildren_,\n getIcon: getIconBase,\n getLabel = defaultGetLabel,\n getParentId: getParentId_ = defaultGetParentId,\n getType = defaultGetType,\n isExpandable = defaultIsExpandable,\n isSelectable = defaultIsSelectable,\n multiple = true,\n onSelect = noop,\n onCollapse = noop,\n onExpand = () => Promise.resolve(),\n rowRenderer: rowRendererBase,\n maxVisibleNodes = Infinity,\n visibleHeight,\n autoExpandParent = true,\n innerElementType,\n outerElementType,\n onKeyDown,\n children,\n ...props\n }: TreeProps<T, P>,\n ref: React.Ref<TreeRef<T>>\n ) => {\n const rowHeight = defaultRowHeight\n const wrapperRef = React.useRef<HTMLDivElement | null>(null)\n const listRef = React.useRef<FixedSizeList>(null)\n const listInnerRef = React.useRef<HTMLDivElement>(null)\n const listOuterRefRef = React.useRef<HTMLDivElement>(null)\n const [contentMaxWidth, setContentMaxWidth] = React.useState(0)\n\n const getParentId = React.useMemo(() => getParentId_, [])\n\n const defaultGetRoot = React.useCallback(\n (nodes: P): T | T[] =>\n nodes.filter((node: T) => {\n return isRootNode(getParentId(node))\n }),\n [getParentId]\n )\n\n const getRoot = React.useMemo(\n () => getRoot_ || defaultGetRoot,\n [defaultGetRoot]\n )\n\n const rootNodes = React.useMemo(() => {\n const roots = getRoot(options)\n return Array.isArray(roots) ? roots : [roots]\n }, [getRoot, options])\n\n React.useEffect(() => {\n if (!rootNodes.length) {\n console.warn(\n 'Tree must have at least one root node. Look up `Tree#getParentId` for details.'\n )\n }\n }, [rootNodes])\n\n const [isTreeFocused, setIsTreeFocused] = React.useState(false)\n const [containerSize, setContainerSize] = React.useState({\n width: 0,\n height: 0,\n })\n\n const handleContainerResize = React.useCallback(\n (entries: ResizeObserverEntry[]) => {\n if (entries[0]) {\n const { clientHeight: height, clientWidth: width } = entries[0]\n .target as HTMLElement\n setContainerSize({ width, height })\n }\n },\n [setContainerSize]\n )\n\n const setResizeObserverTarget = useResizeObserver(handleContainerResize)\n\n const defaultGetChildren = React.useCallback(\n (node: T) =>\n Array.isArray(options)\n ? options.filter((childNode: T) => getParentId(childNode) === node.id)\n : ([] as T[]),\n [getParentId, options]\n )\n\n const getChildren = getChildren_ || defaultGetChildren\n\n const {\n nodes,\n isExpanded,\n isSelected,\n isLoading,\n highlightedNode,\n isHighlighted: isNodeHighlighted,\n highlight,\n handleSelection,\n handleExpansion,\n setExpanded: _setExpanded,\n setSelected: _setSelected,\n isFileLimitReached,\n listNavigation,\n } = useTree<T>({\n rootNodes,\n expanded,\n selected,\n selectionLimit,\n multiple,\n autoExpandParent,\n onSelect,\n onCollapse,\n onExpand,\n getChildren,\n getParentId,\n })\n\n const setSelected = React.useCallback(\n (selected: T | T[]) => {\n const nodes = Array.isArray(selected) ? selected : [selected]\n\n _setSelected(new Set(nodes.map((node) => node.id)))\n },\n [_setSelected]\n )\n\n const setExpanded = React.useCallback(\n (expanded: T | T[]) => {\n const nodes = Array.isArray(expanded) ? expanded : [expanded]\n\n _setExpanded(new Set(nodes.map((node) => node.id)))\n },\n [_setExpanded]\n )\n\n React.useImperativeHandle(ref, () => ({\n rootEl: wrapperRef.current,\n setSelected,\n setExpanded,\n toggleSelected: (node: T) => handleSelection(node),\n toggleExpanded: (node: T) => handleExpansion(node),\n }))\n\n const defaultGetIcon = React.useCallback(\n (node: T): React.ReactNode => {\n const isFolder = getType(node) === 'branch'\n return isFolder ? <Folder /> : <File />\n },\n [getType]\n )\n\n const getIcon = getIconBase || defaultGetIcon\n\n const isHighlighted = React.useCallback(\n (node: T) => isTreeFocused && isNodeHighlighted(node),\n [isNodeHighlighted, isTreeFocused]\n )\n\n const handleAccessibility = (e: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e)\n const { key } = e\n\n switch (key) {\n case 'Enter':\n e.preventDefault()\n isSelectable(highlightedNode) && handleSelection(highlightedNode)\n break\n case 'Space Bar':\n case ' ':\n e.preventDefault()\n isExpandable(highlightedNode) && handleExpansion(highlightedNode)\n break\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n listNavigation.increment()\n break\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n listNavigation.decrement()\n break\n }\n }\n\n React.useEffect(() => {\n if (isTreeFocused) {\n listRef.current?.scrollToItem(listNavigation.index)\n }\n }, [isTreeFocused, listNavigation.index])\n\n const defaultRowRenderer = React.useCallback(\n (props: TreeRowProps) => <TreeRow {...props} />,\n []\n )\n\n React.useEffect(() => {\n const rowContentSizes: number[] = []\n\n const childNodes = Array.from(listInnerRef.current?.childNodes || [])\n childNodes.forEach((child) => {\n const rowContent = (child as HTMLElement).querySelector(\n '[data-row-content]'\n )\n\n if (rowContent) {\n const leftPadding = (child as HTMLElement).dataset.padding ?? '0'\n rowContentSizes.push(\n rowContent.scrollWidth + parseInt(leftPadding, 10) + rowRightPadding\n )\n }\n })\n\n const maxSizeRowContent = Math.max(...rowContentSizes) + scrollbarWidth\n setContentMaxWidth(maxSizeRowContent)\n })\n\n const rowRenderer = rowRendererBase || defaultRowRenderer\n\n const itemData = React.useMemo(\n () => ({\n nodes,\n getIcon,\n getLabel,\n getType,\n isExpandable,\n isSelectable,\n isExpanded,\n isSelected,\n isLoading,\n highlight,\n isHighlighted,\n handleSelection,\n handleExpansion,\n rowRenderer,\n isFileLimitReached,\n selectionLimit,\n isTreeFocused,\n treeContainer: wrapperRef.current as HTMLDivElement,\n }),\n [\n getIcon,\n getLabel,\n getType,\n handleExpansion,\n handleSelection,\n highlight,\n isExpandable,\n isExpanded,\n isFileLimitReached,\n isHighlighted,\n isLoading,\n isSelectable,\n isSelected,\n isTreeFocused,\n nodes,\n rowRenderer,\n selectionLimit,\n ]\n )\n\n if (!rootNodes) {\n console.error('Tree must have a valid root node')\n return null\n }\n\n return (\n <StyledTree\n {...props}\n ref={mergeRefs(wrapperRef, setResizeObserverTarget)}\n tabIndex={0}\n onFocus={() => setIsTreeFocused(true)}\n onBlur={() => setIsTreeFocused(false)}\n onKeyDown={handleAccessibility}\n >\n <FixedSizeList\n className=\"size-list\"\n ref={listRef}\n height={\n visibleHeight ||\n Math.min(nodes.length * rowHeight, rowHeight * maxVisibleNodes)\n }\n innerRef={listInnerRef}\n outerRef={listOuterRefRef}\n itemCount={nodes.length}\n itemSize={rowHeight}\n innerElementType={innerElementType}\n outerElementType={outerElementType}\n itemData={itemData}\n width={Math.max(contentMaxWidth, containerSize.width)}\n >\n {TreeNode}\n </FixedSizeList>\n </StyledTree>\n )\n }\n)\n\nconst TreeNode: React.FC<TreeNodeProps> = React.memo(\n ({\n data: { nodes, rowRenderer, highlight, isTreeFocused, ...props },\n index,\n style,\n }) => {\n const node = nodes[index]\n\n const isHighlighted = props.isHighlighted(node)\n const [isMouseOver, setMouseOver] = React.useState(false)\n\n const timer = useTimer({})\n const {\n isVisible: shouldShowTooltip,\n show: showTooltip,\n hide: hideTooltip,\n } = useVisibility({})\n\n React.useEffect(() => {\n if (isHighlighted && !shouldShowTooltip) {\n timer.setTimer(showTooltip, tooltipDelay)\n }\n\n return () => {\n if (isTreeFocused && !isHighlighted && shouldShowTooltip) {\n hideTooltip()\n }\n }\n })\n\n const onMouseEnter = () => {\n setMouseOver(true)\n if (!shouldShowTooltip) {\n timer.setTimer(showTooltip, tooltipDelay)\n }\n highlight(node)\n }\n\n const onMouseLeave = () => {\n setMouseOver(false)\n timer.cancel()\n hideTooltip()\n }\n\n return (\n <StyledTreeRowWrapper\n tabIndex={-1}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n style={style}\n data-padding={getPadding(node.level)}\n >\n {rowRenderer({\n node,\n shouldShowTooltip,\n isMouseOver,\n ...props,\n })}\n </StyledTreeRowWrapper>\n )\n },\n areEqual\n)\n\nconst TreeRow: React.FC<TreeRowProps> = ({\n node,\n getIcon,\n getLabel,\n handleExpansion,\n handleSelection,\n selectionLimit,\n isFileLimitReached,\n shouldShowTooltip,\n isMouseOver,\n treeContainer,\n ...props\n}) => {\n const expanderRef = React.useRef<HTMLDivElement>(null)\n const isSelected = props.isSelected(node)\n const isSelectable = props.isSelectable(node)\n const isExpandable = props.isExpandable(node)\n const isExpanded = props.isExpanded(node)\n const isLoading = props.isLoading(node)\n const isHighlighted = props.isHighlighted(node)\n const nodeType = props.getType(node)\n const rowLabel = getLabel(node)\n\n const onClick = React.useCallback(\n (event: React.MouseEvent) => {\n if (isSelectable && isExpandable) {\n // @ts-ignore\n expanderRef?.current?.contains(event.target)\n ? handleExpansion(node)\n : handleSelection(node)\n } else if (isSelectable) {\n handleSelection(node)\n } else if (isExpandable) {\n handleExpansion(node)\n }\n },\n [handleExpansion, handleSelection, isExpandable, isSelectable, node]\n )\n\n const onMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault()\n treeContainer.focus()\n },\n [treeContainer]\n )\n\n return (\n <TreeRowContainer\n level={node.level}\n onClick={onClick}\n onMouseDown={onMouseDown}\n isSelected={isSelected}\n isSelectable={isSelectable}\n isExpandable={isExpandable}\n isHighlighted={isHighlighted}\n isFileLimitReached={isFileLimitReached}\n data-qa=\"core-tree-row-container\"\n >\n {\n // WARNING!\n // Be aware that this data attribute is used for calculations, changing this data attribute will break its operability.\n }\n <StyledTreeRowContent data-row-content>\n <TreeRowChevron\n ref={expanderRef}\n isExpandable={isExpandable}\n isExpanded={isExpanded}\n />\n <TreeRowIcon\n isLoading={isLoading}\n isSelected={isSelected}\n icon={getIcon(node)}\n />\n <TreeRowTooltip\n isSelected={isSelected}\n isSelectable={isSelectable}\n isHighlighted={isHighlighted}\n selectionLimit={selectionLimit}\n isFileLimitReached={isFileLimitReached}\n shouldShowTooltip={shouldShowTooltip}\n isMouseOver={isMouseOver}\n fileName={rowLabel}\n nodeType={nodeType}\n treeContainer={treeContainer}\n >\n <TreeRowName value={rowLabel} />\n </TreeRowTooltip>\n </StyledTreeRowContent>\n </TreeRowContainer>\n )\n}\n\nconst IconContainer: React.FC<IconContainerProps> = ({\n children,\n isSelected,\n ...props\n}) => (\n <StyledIconContainer $isSelected={isSelected} {...props}>\n {children}\n </StyledIconContainer>\n)\n\nconst TreeRowChevron = React.forwardRef<\n HTMLDivElement,\n {\n isExpanded: boolean\n isExpandable: boolean\n }\n>(({ isExpanded, isExpandable }, ref) => {\n return (\n <StyledChevronContainer ref={ref}>\n {isExpandable ? <StyledChevron $isExpanded={isExpanded} /> : null}\n </StyledChevronContainer>\n )\n})\n\nconst TreeRowIcon: React.FC<{\n isSelected: boolean\n isLoading: boolean\n icon: React.ReactNode\n}> = ({ isSelected, isLoading, icon }) => (\n <IconContainer isSelected={isSelected} marginLeft=\"sm\" marginRight=\"sm\">\n {isLoading ? <Spinner size=\"sm\" /> : icon}\n </IconContainer>\n)\n\nconst TreeRowName: React.FC<{ value: string }> = ({ value }) => (\n <StyledFilenameCaption>{value}</StyledFilenameCaption>\n)\n\nconst getSelectionLimitMessage = (selectionLimit: number) => ({\n key: 'selectionLimit',\n options: {\n count: selectionLimit,\n },\n})\n\nconst getUnsupportedFileTypeMessage = (fileName: string) => {\n const { extension, isFilename } = parseFilename(fileName)\n const key = isFilename ? 'specific' : 'unspecific'\n\n return {\n key: `unsupportedFileType.${key}`,\n options: {\n fileType: `.${extension.toUpperCase()}`,\n },\n }\n}\n\nconst TreeRowTooltip: FunctionComponent<\n PropsWithChildren<TreeRowTooltipProps>\n> = ({\n children,\n isHighlighted: isFocused,\n isFileLimitReached,\n isSelectable,\n isSelected,\n nodeType,\n selectionLimit,\n shouldShowTooltip,\n isMouseOver,\n fileName,\n treeContainer,\n}) => {\n const I18n = useI18nContext()\n const rowRef = React.useRef<HTMLDivElement>(null)\n const isUserInteracting = isFocused || isMouseOver\n const isTooltipVisible = isUserInteracting && shouldShowTooltip && !isSelected\n const isFile = nodeType === 'leaf'\n const [isCropped, setCropped] = React.useState(false)\n\n const registerRowEl = useIntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (\n entry.rootBounds &&\n entry.rootBounds.left - entry.boundingClientRect.left >= 0\n ) {\n setCropped(true)\n return\n }\n setCropped(false)\n })\n },\n {\n root: treeContainer,\n rootMargin: '0px',\n threshold: intersectionThresholds,\n }\n )\n\n const selectionLimitMessage = getSelectionLimitMessage(selectionLimit)\n const unsupportedFileTypeMessage = getUnsupportedFileTypeMessage(fileName)\n\n const message = isSelectable\n ? isFileLimitReached && selectionLimitMessage\n : isFile && unsupportedFileTypeMessage\n\n const trigger = isTooltipVisible && !isCropped && message ? 'always' : 'none'\n\n return (\n <Tooltip\n trigger={trigger}\n overlay={\n message ? I18n.t(`core.tree.${message.key}`, message.options) : null\n }\n placement=\"top-left\"\n >\n <div ref={mergeRefs(rowRef, registerRowEl)}>{children}</div>\n </Tooltip>\n )\n}\n\nconst TreeRowContainer: React.FC<TreeRowContainerProps> = ({\n children,\n isHighlighted,\n isSelected,\n isSelectable,\n isExpandable,\n isFileLimitReached,\n level,\n ...props\n}) => {\n return (\n <StyledTreeRowContainer\n isSelectable={\n (isSelectable &&\n ((isFileLimitReached && isSelected) || !isFileLimitReached)) ||\n isExpandable\n }\n isHighlighted={isHighlighted}\n isSelected={isSelected}\n style={{ paddingLeft: getPadding(level) }}\n {...props}\n >\n {children}\n </StyledTreeRowContainer>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAASA,IAAI,EAAEC,MAAM,QAAQ,0BAA0B;AAEvD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,EAAEC,aAAa,QAAQ,cAAc;AACtD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,cAAc,QAAQ,gBAAgB;AAC/C,SAASC,uBAAuB,QAAQ,gCAAgC;AACxE,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,OAAO,QAAQ,cAAc;AACtC,SACEC,aAAa,EACbC,sBAAsB,EACtBC,qBAAqB,EACrBC,mBAAmB,EACnBC,UAAU,EACVC,sBAAsB,EACtBC,oBAAoB,EACpBC,oBAAoB,QACf,eAAe;AAetB,IAAMC,OAAO,GAAG,EAAE;AAClB,IAAMC,WAAW,GAAG,EAAE;AACtB,IAAMC,gBAAgB,GAAG,EAAE;;AAE3B;AACA;AACA;AACA,IAAMC,eAAe,GAAG,EAAE;AAC1B;AACA;AACA,IAAMC,cAAc,GAAG,EAAE;AAEzB,SAASC,UAAUA,CAACC,KAAa,EAAE;EACjC,OAAOL,WAAW,GAAGK,KAAK,GAAGN,OAAO;AACtC;AAEA,IAAMO,sBAAsB,GAAGC,KAAK,CAACC,IAAI,CAAC;EAAEC,MAAM,EAAE;AAAI,CAAC,CAAC,CAACC,GAAG,CAC5D,UAACC,CAAC,EAAEC,KAAK;EAAA,OAAKA,KAAK,GAAG,GAAG;AAAA,CAC3B,CAAC;AAED,IAAMC,YAAY,GAAG,GAAG;;AAExB;AACA,OAAO,IAAMC,qBAAqB,GAAG,SAAS;AAE9C,IAAMC,mBAA2D,GAAG,SAA9DA,mBAA2DA,CAC/DC,IAAiB;EAAA,OACdC,cAAc,CAACD,IAAI,CAAC,KAAK,QAAQ;AAAA;AACtC,IAAME,mBAA2D,GAAG,SAA9DA,mBAA2DA,CAC/DF,IAAiB;EAAA,OACdA,IAAI,CAACG,IAAI,KAAK,MAAM;AAAA;AACzB,IAAMF,cAAiD,GAAG,SAApDA,cAAiDA,CAAID,IAAiB;EAAA,OAC1EA,IAAI,CAACG,IAAI;AAAA;AACX,IAAMC,kBAAyD,GAAG,SAA5DA,kBAAyDA,CAC7DJ,IAAiB;EAAA,OACdA,IAAI,CAACK,QAAQ;AAAA;AAClB,IAAMC,eAAmD,GAAG,SAAtDA,eAAmDA,CACvDN,IAAiB;EAAA,OACdA,IAAI,CAACO,IAAI;AAAA;AACd,SAASC,IAAIA,CAAA,EAAG,CAAC;AAEjB,OAAO,SAASC,UAAUA,CAACJ,QAAoB,EAAW;EACxD,IAAMK,UAAU,GAAG,CAACZ,qBAAqB,EAAE,IAAI,EAAEa,SAAS,CAAiB;EAC3E,OAAOD,UAAU,CAACE,QAAQ,CAACP,QAAQ,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMQ,IAAI,gBAAGnD,KAAK,CAACoD,UAAU,CAClC,UAAAC,IAAA,EA4BEC,GAA0B,EACvB;EAAA,IA3BDC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IAAAC,aAAA,GAAAH,IAAA,CACPI,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAAE,aAAA,GAAAL,IAAA,CACbM,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAAE,mBAAA,GAAAP,IAAA,CACbQ,cAAc;IAAdA,cAAc,GAAAD,mBAAA,cAAGE,QAAQ,GAAAF,mBAAA;IAChBG,QAAQ,GAAAV,IAAA,CAAjBW,OAAO;IACMC,YAAY,GAAAZ,IAAA,CAAzBa,WAAW;IACFC,WAAW,GAAAd,IAAA,CAApBe,OAAO;IAAAC,aAAA,GAAAhB,IAAA,CACPiB,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAGzB,eAAe,GAAAyB,aAAA;IAAAE,gBAAA,GAAAlB,IAAA,CAC1BmB,WAAW;IAAEC,YAAY,GAAAF,gBAAA,cAAG7B,kBAAkB,GAAA6B,gBAAA;IAAAG,YAAA,GAAArB,IAAA,CAC9CsB,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAGnC,cAAc,GAAAmC,YAAA;IAAAE,iBAAA,GAAAvB,IAAA,CACxBwB,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAGvC,mBAAmB,GAAAuC,iBAAA;IAAAE,iBAAA,GAAAzB,IAAA,CAClC0B,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAGtC,mBAAmB,GAAAsC,iBAAA;IAAAE,aAAA,GAAA3B,IAAA,CAClC4B,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,IAAI,GAAAA,aAAA;IAAAE,aAAA,GAAA7B,IAAA,CACf8B,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAGpC,IAAI,GAAAoC,aAAA;IAAAE,eAAA,GAAA/B,IAAA,CACfgC,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAGtC,IAAI,GAAAsC,eAAA;IAAAE,aAAA,GAAAjC,IAAA,CACjBkC,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG;MAAA,OAAME,OAAO,CAACC,OAAO,CAAC,CAAC;IAAA,IAAAH,aAAA;IACrBI,eAAe,GAAArC,IAAA,CAA5BsC,WAAW;IAAAC,oBAAA,GAAAvC,IAAA,CACXwC,eAAe;IAAfA,eAAe,GAAAD,oBAAA,cAAG9B,QAAQ,GAAA8B,oBAAA;IAC1BE,aAAa,GAAAzC,IAAA,CAAbyC,aAAa;IAAAC,qBAAA,GAAA1C,IAAA,CACb2C,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IACvBE,gBAAgB,GAAA5C,IAAA,CAAhB4C,gBAAgB;IAChBC,gBAAgB,GAAA7C,IAAA,CAAhB6C,gBAAgB;IAChBC,SAAS,GAAA9C,IAAA,CAAT8C,SAAS;IACTC,QAAQ,GAAA/C,IAAA,CAAR+C,QAAQ;IACLC,KAAK,GAAAC,wBAAA,CAAAjD,IAAA,EAAAkD,SAAA;EAIV,IAAMC,SAAS,GAAGjF,gBAAgB;EAClC,IAAMkF,UAAU,GAAGzG,KAAK,CAAC0G,MAAM,CAAwB,IAAI,CAAC;EAC5D,IAAMC,OAAO,GAAG3G,KAAK,CAAC0G,MAAM,CAAgB,IAAI,CAAC;EACjD,IAAME,YAAY,GAAG5G,KAAK,CAAC0G,MAAM,CAAiB,IAAI,CAAC;EACvD,IAAMG,eAAe,GAAG7G,KAAK,CAAC0G,MAAM,CAAiB,IAAI,CAAC;EAC1D,IAAAI,eAAA,GAA8C9G,KAAK,CAAC+G,QAAQ,CAAC,CAAC,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAAxDI,eAAe,GAAAF,gBAAA;IAAEG,kBAAkB,GAAAH,gBAAA;EAE1C,IAAMxC,WAAW,GAAGxE,KAAK,CAACoH,OAAO,CAAC;IAAA,OAAM3C,YAAY;EAAA,GAAE,EAAE,CAAC;EAEzD,IAAM4C,cAAc,GAAGrH,KAAK,CAACsH,WAAW,CACtC,UAACC,KAAQ;IAAA,OACPA,KAAK,CAACC,MAAM,CAAC,UAAClF,IAAO,EAAK;MACxB,OAAOS,UAAU,CAACyB,WAAW,CAAClC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC;EAAA,GACJ,CAACkC,WAAW,CACd,CAAC;EAED,IAAMR,OAAO,GAAGhE,KAAK,CAACoH,OAAO,CAC3B;IAAA,OAAMrD,QAAQ,IAAIsD,cAAc;EAAA,GAChC,CAACA,cAAc,CACjB,CAAC;EAED,IAAMI,SAAS,GAAGzH,KAAK,CAACoH,OAAO,CAAC,YAAM;IACpC,IAAMM,KAAK,GAAG1D,OAAO,CAACT,OAAO,CAAC;IAC9B,OAAO1B,KAAK,CAAC8F,OAAO,CAACD,KAAK,CAAC,GAAGA,KAAK,GAAG,CAACA,KAAK,CAAC;EAC/C,CAAC,EAAE,CAAC1D,OAAO,EAAET,OAAO,CAAC,CAAC;EAEtBvD,KAAK,CAAC4H,SAAS,CAAC,YAAM;IACpB,IAAI,CAACH,SAAS,CAAC1F,MAAM,EAAE;MACrB8F,OAAO,CAACC,IAAI,CACV,gFACF,CAAC;IACH;EACF,CAAC,EAAE,CAACL,SAAS,CAAC,CAAC;EAEf,IAAAM,gBAAA,GAA0C/H,KAAK,CAAC+G,QAAQ,CAAC,KAAK,CAAC;IAAAiB,gBAAA,GAAAf,cAAA,CAAAc,gBAAA;IAAxDE,aAAa,GAAAD,gBAAA;IAAEE,gBAAgB,GAAAF,gBAAA;EACtC,IAAAG,gBAAA,GAA0CnI,KAAK,CAAC+G,QAAQ,CAAC;MACvDqB,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACV,CAAC,CAAC;IAAAC,gBAAA,GAAArB,cAAA,CAAAkB,gBAAA;IAHKI,aAAa,GAAAD,gBAAA;IAAEE,gBAAgB,GAAAF,gBAAA;EAKtC,IAAMG,qBAAqB,GAAGzI,KAAK,CAACsH,WAAW,CAC7C,UAACoB,OAA8B,EAAK;IAClC,IAAIA,OAAO,CAAC,CAAC,CAAC,EAAE;MACd,IAAAC,KAAA,GAAqDD,OAAO,CAAC,CAAC,CAAC,CAC5DE,MAAM;QADaP,MAAM,GAAAM,KAAA,CAApBE,YAAY;QAAuBT,KAAK,GAAAO,KAAA,CAAlBG,WAAW;MAEzCN,gBAAgB,CAAC;QAAEJ,KAAK,EAALA,KAAK;QAAEC,MAAM,EAANA;MAAO,CAAC,CAAC;IACrC;EACF,CAAC,EACD,CAACG,gBAAgB,CACnB,CAAC;EAED,IAAMO,uBAAuB,GAAGxI,iBAAiB,CAACkI,qBAAqB,CAAC;EAExE,IAAMO,kBAAkB,GAAGhJ,KAAK,CAACsH,WAAW,CAC1C,UAAChF,IAAO;IAAA,OACNT,KAAK,CAAC8F,OAAO,CAACpE,OAAO,CAAC,GAClBA,OAAO,CAACiE,MAAM,CAAC,UAACyB,SAAY;MAAA,OAAKzE,WAAW,CAACyE,SAAS,CAAC,KAAK3G,IAAI,CAAC4G,EAAE;IAAA,EAAC,GACnE,EAAU;EAAA,GACjB,CAAC1E,WAAW,EAAEjB,OAAO,CACvB,CAAC;EAED,IAAMW,WAAW,GAAGD,YAAY,IAAI+E,kBAAkB;EAEtD,IAAAG,QAAA,GAcIvI,OAAO,CAAI;MACb6G,SAAS,EAATA,SAAS;MACThE,QAAQ,EAARA,QAAQ;MACRE,QAAQ,EAARA,QAAQ;MACRE,cAAc,EAAdA,cAAc;MACdoB,QAAQ,EAARA,QAAQ;MACRe,gBAAgB,EAAhBA,gBAAgB;MAChBb,QAAQ,EAARA,QAAQ;MACRE,UAAU,EAAVA,UAAU;MACVE,QAAQ,EAARA,QAAQ;MACRrB,WAAW,EAAXA,WAAW;MACXM,WAAW,EAAXA;IACF,CAAC,CAAC;IAzBA+C,KAAK,GAAA4B,QAAA,CAAL5B,KAAK;IACL6B,UAAU,GAAAD,QAAA,CAAVC,UAAU;IACVC,UAAU,GAAAF,QAAA,CAAVE,UAAU;IACVC,SAAS,GAAAH,QAAA,CAATG,SAAS;IACTC,eAAe,GAAAJ,QAAA,CAAfI,eAAe;IACAC,iBAAiB,GAAAL,QAAA,CAAhCM,aAAa;IACbC,SAAS,GAAAP,QAAA,CAATO,SAAS;IACTC,eAAe,GAAAR,QAAA,CAAfQ,eAAe;IACfC,eAAe,GAAAT,QAAA,CAAfS,eAAe;IACFC,YAAY,GAAAV,QAAA,CAAzBW,WAAW;IACEC,YAAY,GAAAZ,QAAA,CAAzBa,WAAW;IACXC,kBAAkB,GAAAd,QAAA,CAAlBc,kBAAkB;IAClBC,cAAc,GAAAf,QAAA,CAAde,cAAc;EAehB,IAAMF,WAAW,GAAGhK,KAAK,CAACsH,WAAW,CACnC,UAAC3D,QAAiB,EAAK;IACrB,IAAM4D,KAAK,GAAG1F,KAAK,CAAC8F,OAAO,CAAChE,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAACA,QAAQ,CAAC;IAE7DoG,YAAY,CAAC,IAAII,GAAG,CAAC5C,KAAK,CAACvF,GAAG,CAAC,UAACM,IAAI;MAAA,OAAKA,IAAI,CAAC4G,EAAE;IAAA,EAAC,CAAC,CAAC;EACrD,CAAC,EACD,CAACa,YAAY,CACf,CAAC;EAED,IAAMD,WAAW,GAAG9J,KAAK,CAACsH,WAAW,CACnC,UAAC7D,QAAiB,EAAK;IACrB,IAAM8D,KAAK,GAAG1F,KAAK,CAAC8F,OAAO,CAAClE,QAAQ,CAAC,GAAGA,QAAQ,GAAG,CAACA,QAAQ,CAAC;IAE7DoG,YAAY,CAAC,IAAIM,GAAG,CAAC5C,KAAK,CAACvF,GAAG,CAAC,UAACM,IAAI;MAAA,OAAKA,IAAI,CAAC4G,EAAE;IAAA,EAAC,CAAC,CAAC;EACrD,CAAC,EACD,CAACW,YAAY,CACf,CAAC;EAED7J,KAAK,CAACoK,mBAAmB,CAAC9G,GAAG,EAAE;IAAA,OAAO;MACpC+G,MAAM,EAAE5D,UAAU,CAAC6D,OAAO;MAC1BN,WAAW,EAAXA,WAAW;MACXF,WAAW,EAAXA,WAAW;MACXS,cAAc,EAAE,SAAAA,eAACjI,IAAO;QAAA,OAAKqH,eAAe,CAACrH,IAAI,CAAC;MAAA;MAClDkI,cAAc,EAAE,SAAAA,eAAClI,IAAO;QAAA,OAAKsH,eAAe,CAACtH,IAAI,CAAC;MAAA;IACpD,CAAC;EAAA,CAAC,CAAC;EAEH,IAAMmI,cAAc,GAAGzK,KAAK,CAACsH,WAAW,CACtC,UAAChF,IAAO,EAAsB;IAC5B,IAAMoI,QAAQ,GAAG/F,OAAO,CAACrC,IAAI,CAAC,KAAK,QAAQ;IAC3C,OAAOoI,QAAQ,gBAAG1K,KAAA,CAAA2K,aAAA,CAAC5K,MAAM,MAAE,CAAC,gBAAGC,KAAA,CAAA2K,aAAA,CAAC7K,IAAI,MAAE,CAAC;EACzC,CAAC,EACD,CAAC6E,OAAO,CACV,CAAC;EAED,IAAMP,OAAO,GAAGD,WAAW,IAAIsG,cAAc;EAE7C,IAAMhB,aAAa,GAAGzJ,KAAK,CAACsH,WAAW,CACrC,UAAChF,IAAO;IAAA,OAAK2F,aAAa,IAAIuB,iBAAiB,CAAClH,IAAI,CAAC;EAAA,GACrD,CAACkH,iBAAiB,EAAEvB,aAAa,CACnC,CAAC;EAED,IAAM2C,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,CAAsC,EAAK;IACtE1E,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG0E,CAAC,CAAC;IACd,IAAQC,GAAG,GAAKD,CAAC,CAATC,GAAG;IAEX,QAAQA,GAAG;MACT,KAAK,OAAO;QACVD,CAAC,CAACE,cAAc,CAAC,CAAC;QAClBhG,YAAY,CAACwE,eAAe,CAAC,IAAII,eAAe,CAACJ,eAAe,CAAC;QACjE;MACF,KAAK,WAAW;MAChB,KAAK,GAAG;QACNsB,CAAC,CAACE,cAAc,CAAC,CAAC;QAClBlG,YAAY,CAAC0E,eAAe,CAAC,IAAIK,eAAe,CAACL,eAAe,CAAC;QACjE;MACF,KAAK,WAAW;MAChB,KAAK,MAAM;QACTsB,CAAC,CAACE,cAAc,CAAC,CAAC;QAClBb,cAAc,CAACc,SAAS,CAAC,CAAC;QAC1B;MACF,KAAK,SAAS;MACd,KAAK,IAAI;QACPH,CAAC,CAACE,cAAc,CAAC,CAAC;QAClBb,cAAc,CAACe,SAAS,CAAC,CAAC;QAC1B;IACJ;EACF,CAAC;EAEDjL,KAAK,CAAC4H,SAAS,CAAC,YAAM;IACpB,IAAIK,aAAa,EAAE;MAAA,IAAAiD,gBAAA;MACjB,CAAAA,gBAAA,GAAAvE,OAAO,CAAC2D,OAAO,cAAAY,gBAAA,uBAAfA,gBAAA,CAAiBC,YAAY,CAACjB,cAAc,CAAChI,KAAK,CAAC;IACrD;EACF,CAAC,EAAE,CAAC+F,aAAa,EAAEiC,cAAc,CAAChI,KAAK,CAAC,CAAC;EAEzC,IAAMkJ,kBAAkB,GAAGpL,KAAK,CAACsH,WAAW,CAC1C,UAACjB,KAAmB;IAAA,oBAAKrG,KAAA,CAAA2K,aAAA,CAACU,OAAO,EAAKhF,KAAQ,CAAC;EAAA,GAC/C,EACF,CAAC;EAEDrG,KAAK,CAAC4H,SAAS,CAAC,YAAM;IAAA,IAAA0D,qBAAA;IACpB,IAAMC,eAAyB,GAAG,EAAE;IAEpC,IAAMC,UAAU,GAAG3J,KAAK,CAACC,IAAI,CAAC,EAAAwJ,qBAAA,GAAA1E,YAAY,CAAC0D,OAAO,cAAAgB,qBAAA,uBAApBA,qBAAA,CAAsBE,UAAU,KAAI,EAAE,CAAC;IACrEA,UAAU,CAACC,OAAO,CAAC,UAACC,KAAK,EAAK;MAC5B,IAAMC,UAAU,GAAID,KAAK,CAAiBE,aAAa,CACrD,oBACF,CAAC;MAED,IAAID,UAAU,EAAE;QAAA,IAAAE,gBAAA;QACd,IAAMC,WAAW,IAAAD,gBAAA,GAAIH,KAAK,CAAiBK,OAAO,CAACC,OAAO,cAAAH,gBAAA,cAAAA,gBAAA,GAAI,GAAG;QACjEN,eAAe,CAACU,IAAI,CAClBN,UAAU,CAACO,WAAW,GAAGC,QAAQ,CAACL,WAAW,EAAE,EAAE,CAAC,GAAGtK,eACvD,CAAC;MACH;IACF,CAAC,CAAC;IAEF,IAAM4K,iBAAiB,GAAGC,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAQd,eAAe,CAAC,GAAG9J,cAAc;IACvE0F,kBAAkB,CAACiF,iBAAiB,CAAC;EACvC,CAAC,CAAC;EAEF,IAAMzG,WAAW,GAAGD,eAAe,IAAI0F,kBAAkB;EAEzD,IAAMoB,QAAQ,GAAGxM,KAAK,CAACoH,OAAO,CAC5B;IAAA,OAAO;MACLG,KAAK,EAALA,KAAK;MACLnD,OAAO,EAAPA,OAAO;MACPE,QAAQ,EAARA,QAAQ;MACRK,OAAO,EAAPA,OAAO;MACPE,YAAY,EAAZA,YAAY;MACZE,YAAY,EAAZA,YAAY;MACZqE,UAAU,EAAVA,UAAU;MACVC,UAAU,EAAVA,UAAU;MACVC,SAAS,EAATA,SAAS;MACTI,SAAS,EAATA,SAAS;MACTD,aAAa,EAAbA,aAAa;MACbE,eAAe,EAAfA,eAAe;MACfC,eAAe,EAAfA,eAAe;MACfjE,WAAW,EAAXA,WAAW;MACXsE,kBAAkB,EAAlBA,kBAAkB;MAClBpG,cAAc,EAAdA,cAAc;MACdoE,aAAa,EAAbA,aAAa;MACbwE,aAAa,EAAEhG,UAAU,CAAC6D;IAC5B,CAAC;EAAA,CAAC,EACF,CACElG,OAAO,EACPE,QAAQ,EACRK,OAAO,EACPiF,eAAe,EACfD,eAAe,EACfD,SAAS,EACT7E,YAAY,EACZuE,UAAU,EACVa,kBAAkB,EAClBR,aAAa,EACbH,SAAS,EACTvE,YAAY,EACZsE,UAAU,EACVpB,aAAa,EACbV,KAAK,EACL5B,WAAW,EACX9B,cAAc,CAElB,CAAC;EAED,IAAI,CAAC4D,SAAS,EAAE;IACdI,OAAO,CAAC6E,KAAK,CAAC,kCAAkC,CAAC;IACjD,OAAO,IAAI;EACb;EAEA,oBACE1M,KAAA,CAAA2K,aAAA,CAAC1J,UAAU,EAAA0L,QAAA,KACLtG,KAAK;IACT/C,GAAG,EAAE3C,SAAS,CAAC8F,UAAU,EAAEsC,uBAAuB,CAAE;IACpD6D,QAAQ,EAAE,CAAE;IACZC,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAM3E,gBAAgB,CAAC,IAAI,CAAC;IAAA,CAAC;IACtC4E,MAAM,EAAE,SAAAA,OAAA;MAAA,OAAM5E,gBAAgB,CAAC,KAAK,CAAC;IAAA,CAAC;IACtC/B,SAAS,EAAEyE;EAAoB,iBAE/B5K,KAAA,CAAA2K,aAAA,CAACzK,aAAa;IACZ6M,SAAS,EAAC,WAAW;IACrBzJ,GAAG,EAAEqD,OAAQ;IACb0B,MAAM,EACJvC,aAAa,IACbuG,IAAI,CAACW,GAAG,CAACzF,KAAK,CAACxF,MAAM,GAAGyE,SAAS,EAAEA,SAAS,GAAGX,eAAe,CAC/D;IACDoH,QAAQ,EAAErG,YAAa;IACvBsG,QAAQ,EAAErG,eAAgB;IAC1BsG,SAAS,EAAE5F,KAAK,CAACxF,MAAO;IACxBqL,QAAQ,EAAE5G,SAAU;IACpBP,gBAAgB,EAAEA,gBAAiB;IACnCC,gBAAgB,EAAEA,gBAAiB;IACnCsG,QAAQ,EAAEA,QAAS;IACnBpE,KAAK,EAAEiE,IAAI,CAACC,GAAG,CAACpF,eAAe,EAAEqB,aAAa,CAACH,KAAK;EAAE,GAErDiF,QACY,CACL,CAAC;AAEjB,CACF,CAAC;AAED,IAAMA,QAAiC,gBAAGrN,KAAK,CAACsN,IAAI,CAClD,UAAAC,KAAA,EAIM;EAAA,IAAAC,UAAA,GAAAD,KAAA,CAHJE,IAAI;IAAIlG,KAAK,GAAAiG,UAAA,CAALjG,KAAK;IAAE5B,WAAW,GAAA6H,UAAA,CAAX7H,WAAW;IAAE+D,SAAS,GAAA8D,UAAA,CAAT9D,SAAS;IAAEzB,aAAa,GAAAuF,UAAA,CAAbvF,aAAa;IAAK5B,KAAK,GAAAC,wBAAA,CAAAkH,UAAA,EAAAE,UAAA;IAC9DxL,KAAK,GAAAqL,KAAA,CAALrL,KAAK;IACLyL,KAAK,GAAAJ,KAAA,CAALI,KAAK;EAEL,IAAMrL,IAAI,GAAGiF,KAAK,CAACrF,KAAK,CAAC;EAEzB,IAAMuH,aAAa,GAAGpD,KAAK,CAACoD,aAAa,CAACnH,IAAI,CAAC;EAC/C,IAAAsL,gBAAA,GAAoC5N,KAAK,CAAC+G,QAAQ,CAAC,KAAK,CAAC;IAAA8G,gBAAA,GAAA5G,cAAA,CAAA2G,gBAAA;IAAlDE,WAAW,GAAAD,gBAAA;IAAEE,YAAY,GAAAF,gBAAA;EAEhC,IAAMG,KAAK,GAAGxN,QAAQ,CAAC,CAAC,CAAC,CAAC;EAC1B,IAAAyN,cAAA,GAIIxN,aAAa,CAAC,CAAC,CAAC,CAAC;IAHRyN,iBAAiB,GAAAD,cAAA,CAA5BE,SAAS;IACHC,WAAW,GAAAH,cAAA,CAAjBI,IAAI;IACEC,WAAW,GAAAL,cAAA,CAAjBM,IAAI;EAGNvO,KAAK,CAAC4H,SAAS,CAAC,YAAM;IACpB,IAAI6B,aAAa,IAAI,CAACyE,iBAAiB,EAAE;MACvCF,KAAK,CAACQ,QAAQ,CAACJ,WAAW,EAAEjM,YAAY,CAAC;IAC3C;IAEA,OAAO,YAAM;MACX,IAAI8F,aAAa,IAAI,CAACwB,aAAa,IAAIyE,iBAAiB,EAAE;QACxDI,WAAW,CAAC,CAAC;MACf;IACF,CAAC;EACH,CAAC,CAAC;EAEF,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;IACzBV,YAAY,CAAC,IAAI,CAAC;IAClB,IAAI,CAACG,iBAAiB,EAAE;MACtBF,KAAK,CAACQ,QAAQ,CAACJ,WAAW,EAAEjM,YAAY,CAAC;IAC3C;IACAuH,SAAS,CAACpH,IAAI,CAAC;EACjB,CAAC;EAED,IAAMoM,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;IACzBX,YAAY,CAAC,KAAK,CAAC;IACnBC,KAAK,CAACW,MAAM,CAAC,CAAC;IACdL,WAAW,CAAC,CAAC;EACf,CAAC;EAED,oBACEtO,KAAA,CAAA2K,aAAA,CAACvJ,oBAAoB;IACnBwL,QAAQ,EAAE,CAAC,CAAE;IACb6B,YAAY,EAAEA,YAAa;IAC3BC,YAAY,EAAEA,YAAa;IAC3Bf,KAAK,EAAEA,KAAM;IACb,gBAAcjM,UAAU,CAACY,IAAI,CAACX,KAAK;EAAE,GAEpCgE,WAAW,CAAAiJ,aAAA;IACVtM,IAAI,EAAJA,IAAI;IACJ4L,iBAAiB,EAAjBA,iBAAiB;IACjBJ,WAAW,EAAXA;EAAW,GACRzH,KAAK,CACT,CACmB,CAAC;AAE3B,CAAC,EACDpG,QACF,CAAC;AAED,IAAMoL,OAA+B,GAAG,SAAlCA,OAA+BA,CAAAwD,KAAA,EAY/B;EAAA,IAXJvM,IAAI,GAAAuM,KAAA,CAAJvM,IAAI;IACJ8B,OAAO,GAAAyK,KAAA,CAAPzK,OAAO;IACPE,QAAQ,GAAAuK,KAAA,CAARvK,QAAQ;IACRsF,eAAe,GAAAiF,KAAA,CAAfjF,eAAe;IACfD,eAAe,GAAAkF,KAAA,CAAflF,eAAe;IACf9F,cAAc,GAAAgL,KAAA,CAAdhL,cAAc;IACdoG,kBAAkB,GAAA4E,KAAA,CAAlB5E,kBAAkB;IAClBiE,iBAAiB,GAAAW,KAAA,CAAjBX,iBAAiB;IACjBJ,WAAW,GAAAe,KAAA,CAAXf,WAAW;IACXrB,aAAa,GAAAoC,KAAA,CAAbpC,aAAa;IACVpG,KAAK,GAAAC,wBAAA,CAAAuI,KAAA,EAAAC,UAAA;EAER,IAAMC,WAAW,GAAG/O,KAAK,CAAC0G,MAAM,CAAiB,IAAI,CAAC;EACtD,IAAM2C,UAAU,GAAGhD,KAAK,CAACgD,UAAU,CAAC/G,IAAI,CAAC;EACzC,IAAMyC,YAAY,GAAGsB,KAAK,CAACtB,YAAY,CAACzC,IAAI,CAAC;EAC7C,IAAMuC,YAAY,GAAGwB,KAAK,CAACxB,YAAY,CAACvC,IAAI,CAAC;EAC7C,IAAM8G,UAAU,GAAG/C,KAAK,CAAC+C,UAAU,CAAC9G,IAAI,CAAC;EACzC,IAAMgH,SAAS,GAAGjD,KAAK,CAACiD,SAAS,CAAChH,IAAI,CAAC;EACvC,IAAMmH,aAAa,GAAGpD,KAAK,CAACoD,aAAa,CAACnH,IAAI,CAAC;EAC/C,IAAM0M,QAAQ,GAAG3I,KAAK,CAAC1B,OAAO,CAACrC,IAAI,CAAC;EACpC,IAAM2M,QAAQ,GAAG3K,QAAQ,CAAChC,IAAI,CAAC;EAE/B,IAAM4M,OAAO,GAAGlP,KAAK,CAACsH,WAAW,CAC/B,UAAC6H,KAAuB,EAAK;IAC3B,IAAIpK,YAAY,IAAIF,YAAY,EAAE;MAAA,IAAAuK,oBAAA;MAChC;MACAL,WAAW,aAAXA,WAAW,gBAAAK,oBAAA,GAAXL,WAAW,CAAEzE,OAAO,cAAA8E,oBAAA,eAApBA,oBAAA,CAAsBC,QAAQ,CAACF,KAAK,CAACvG,MAAM,CAAC,GACxCgB,eAAe,CAACtH,IAAI,CAAC,GACrBqH,eAAe,CAACrH,IAAI,CAAC;IAC3B,CAAC,MAAM,IAAIyC,YAAY,EAAE;MACvB4E,eAAe,CAACrH,IAAI,CAAC;IACvB,CAAC,MAAM,IAAIuC,YAAY,EAAE;MACvB+E,eAAe,CAACtH,IAAI,CAAC;IACvB;EACF,CAAC,EACD,CAACsH,eAAe,EAAED,eAAe,EAAE9E,YAAY,EAAEE,YAAY,EAAEzC,IAAI,CACrE,CAAC;EAED,IAAMgN,WAAW,GAAGtP,KAAK,CAACsH,WAAW,CACnC,UAACuD,CAAmB,EAAK;IACvBA,CAAC,CAACE,cAAc,CAAC,CAAC;IAClB0B,aAAa,CAAC8C,KAAK,CAAC,CAAC;EACvB,CAAC,EACD,CAAC9C,aAAa,CAChB,CAAC;EAED,oBACEzM,KAAA,CAAA2K,aAAA,CAAC6E,gBAAgB;IACf7N,KAAK,EAAEW,IAAI,CAACX,KAAM;IAClBuN,OAAO,EAAEA,OAAQ;IACjBI,WAAW,EAAEA,WAAY;IACzBjG,UAAU,EAAEA,UAAW;IACvBtE,YAAY,EAAEA,YAAa;IAC3BF,YAAY,EAAEA,YAAa;IAC3B4E,aAAa,EAAEA,aAAc;IAC7BQ,kBAAkB,EAAEA,kBAAmB;IACvC,WAAQ;EAAyB,gBAMjCjK,KAAA,CAAA2K,aAAA,CAACxJ,oBAAoB;IAAC;EAAgB,gBACpCnB,KAAA,CAAA2K,aAAA,CAAC8E,cAAc;IACbnM,GAAG,EAAEyL,WAAY;IACjBlK,YAAY,EAAEA,YAAa;IAC3BuE,UAAU,EAAEA;EAAW,CACxB,CAAC,eACFpJ,KAAA,CAAA2K,aAAA,CAAC+E,WAAW;IACVpG,SAAS,EAAEA,SAAU;IACrBD,UAAU,EAAEA,UAAW;IACvBsG,IAAI,EAAEvL,OAAO,CAAC9B,IAAI;EAAE,CACrB,CAAC,eACFtC,KAAA,CAAA2K,aAAA,CAACiF,cAAc;IACbvG,UAAU,EAAEA,UAAW;IACvBtE,YAAY,EAAEA,YAAa;IAC3B0E,aAAa,EAAEA,aAAc;IAC7B5F,cAAc,EAAEA,cAAe;IAC/BoG,kBAAkB,EAAEA,kBAAmB;IACvCiE,iBAAiB,EAAEA,iBAAkB;IACrCJ,WAAW,EAAEA,WAAY;IACzB+B,QAAQ,EAAEZ,QAAS;IACnBD,QAAQ,EAAEA,QAAS;IACnBvC,aAAa,EAAEA;EAAc,gBAE7BzM,KAAA,CAAA2K,aAAA,CAACmF,WAAW;IAACC,KAAK,EAAEd;EAAS,CAAE,CACjB,CACI,CACN,CAAC;AAEvB,CAAC;AAED,IAAMe,aAA2C,GAAG,SAA9CA,aAA2CA,CAAAC,KAAA;EAAA,IAC/C7J,QAAQ,GAAA6J,KAAA,CAAR7J,QAAQ;IACRiD,UAAU,GAAA4G,KAAA,CAAV5G,UAAU;IACPhD,KAAK,GAAAC,wBAAA,CAAA2J,KAAA,EAAAC,UAAA;EAAA,oBAERlQ,KAAA,CAAA2K,aAAA,CAAC3J,mBAAmB,EAAA2L,QAAA;IAACwD,WAAW,EAAE9G;EAAW,GAAKhD,KAAK,GACpDD,QACkB,CAAC;AAAA,CACvB;AAED,IAAMqJ,cAAc,gBAAGzP,KAAK,CAACoD,UAAU,CAMrC,UAAAgN,KAAA,EAA+B9M,GAAG,EAAK;EAAA,IAApC8F,UAAU,GAAAgH,KAAA,CAAVhH,UAAU;IAAEvE,YAAY,GAAAuL,KAAA,CAAZvL,YAAY;EAC3B,oBACE7E,KAAA,CAAA2K,aAAA,CAAC7J,sBAAsB;IAACwC,GAAG,EAAEA;EAAI,GAC9BuB,YAAY,gBAAG7E,KAAA,CAAA2K,aAAA,CAAC9J,aAAa;IAACwP,WAAW,EAAEjH;EAAW,CAAE,CAAC,GAAG,IACvC,CAAC;AAE7B,CAAC,CAAC;AAEF,IAAMsG,WAIJ,GAAG,SAJCA,WAIJA,CAAAY,KAAA;EAAA,IAAMjH,UAAU,GAAAiH,KAAA,CAAVjH,UAAU;IAAEC,SAAS,GAAAgH,KAAA,CAAThH,SAAS;IAAEqG,IAAI,GAAAW,KAAA,CAAJX,IAAI;EAAA,oBACjC3P,KAAA,CAAA2K,aAAA,CAACqF,aAAa;IAAC3G,UAAU,EAAEA,UAAW;IAACkH,UAAU,EAAC,IAAI;IAACC,WAAW,EAAC;EAAI,GACpElH,SAAS,gBAAGtJ,KAAA,CAAA2K,aAAA,CAACxK,OAAO;IAACsQ,IAAI,EAAC;EAAI,CAAE,CAAC,GAAGd,IACxB,CAAC;AAAA,CACjB;AAED,IAAMG,WAAwC,GAAG,SAA3CA,WAAwCA,CAAAY,KAAA;EAAA,IAAMX,KAAK,GAAAW,KAAA,CAALX,KAAK;EAAA,oBACvD/P,KAAA,CAAA2K,aAAA,CAAC5J,qBAAqB,QAAEgP,KAA6B,CAAC;AAAA,CACvD;AAED,IAAMY,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAI9M,cAAsB;EAAA,OAAM;IAC5DiH,GAAG,EAAE,gBAAgB;IACrBvH,OAAO,EAAE;MACPqN,KAAK,EAAE/M;IACT;EACF,CAAC;AAAA,CAAC;AAEF,IAAMgN,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAIhB,QAAgB,EAAK;EAC1D,IAAAiB,cAAA,GAAkCpQ,aAAa,CAACmP,QAAQ,CAAC;IAAjDkB,SAAS,GAAAD,cAAA,CAATC,SAAS;IAAEC,UAAU,GAAAF,cAAA,CAAVE,UAAU;EAC7B,IAAMlG,GAAG,GAAGkG,UAAU,GAAG,UAAU,GAAG,YAAY;EAElD,OAAO;IACLlG,GAAG,yBAAAmG,MAAA,CAAyBnG,GAAG,CAAE;IACjCvH,OAAO,EAAE;MACP2N,QAAQ,MAAAD,MAAA,CAAMF,SAAS,CAACI,WAAW,CAAC,CAAC;IACvC;EACF,CAAC;AACH,CAAC;AAED,IAAMvB,cAEL,GAAG,SAFEA,cAELA,CAAAwB,KAAA,EAYK;EAAA,IAXJhL,QAAQ,GAAAgL,KAAA,CAARhL,QAAQ;IACOiL,SAAS,GAAAD,KAAA,CAAxB3H,aAAa;IACbQ,kBAAkB,GAAAmH,KAAA,CAAlBnH,kBAAkB;IAClBlF,YAAY,GAAAqM,KAAA,CAAZrM,YAAY;IACZsE,UAAU,GAAA+H,KAAA,CAAV/H,UAAU;IACV2F,QAAQ,GAAAoC,KAAA,CAARpC,QAAQ;IACRnL,cAAc,GAAAuN,KAAA,CAAdvN,cAAc;IACdqK,iBAAiB,GAAAkD,KAAA,CAAjBlD,iBAAiB;IACjBJ,WAAW,GAAAsD,KAAA,CAAXtD,WAAW;IACX+B,QAAQ,GAAAuB,KAAA,CAARvB,QAAQ;IACRpD,aAAa,GAAA2E,KAAA,CAAb3E,aAAa;EAEb,IAAM6E,IAAI,GAAGjR,cAAc,CAAC,CAAC;EAC7B,IAAMkR,MAAM,GAAGvR,KAAK,CAAC0G,MAAM,CAAiB,IAAI,CAAC;EACjD,IAAM8K,iBAAiB,GAAGH,SAAS,IAAIvD,WAAW;EAClD,IAAM2D,gBAAgB,GAAGD,iBAAiB,IAAItD,iBAAiB,IAAI,CAAC7E,UAAU;EAC9E,IAAMqI,MAAM,GAAG1C,QAAQ,KAAK,MAAM;EAClC,IAAA2C,gBAAA,GAAgC3R,KAAK,CAAC+G,QAAQ,CAAC,KAAK,CAAC;IAAA6K,iBAAA,GAAA3K,cAAA,CAAA0K,gBAAA;IAA9CE,SAAS,GAAAD,iBAAA;IAAEE,UAAU,GAAAF,iBAAA;EAE5B,IAAMG,aAAa,GAAGzR,uBAAuB,CAC3C,UAACoI,OAAO,EAAK;IACXA,OAAO,CAAC+C,OAAO,CAAC,UAACuG,KAAK,EAAK;MACzB,IACEA,KAAK,CAACC,UAAU,IAChBD,KAAK,CAACC,UAAU,CAACC,IAAI,GAAGF,KAAK,CAACG,kBAAkB,CAACD,IAAI,IAAI,CAAC,EAC1D;QACAJ,UAAU,CAAC,IAAI,CAAC;QAChB;MACF;MACAA,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC,EACD;IACEM,IAAI,EAAE3F,aAAa;IACnB4F,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE1Q;EACb,CACF,CAAC;EAED,IAAM2Q,qBAAqB,GAAG5B,wBAAwB,CAAC9M,cAAc,CAAC;EACtE,IAAM2O,0BAA0B,GAAG3B,6BAA6B,CAAChB,QAAQ,CAAC;EAE1E,IAAM4C,OAAO,GAAG1N,YAAY,GACxBkF,kBAAkB,IAAIsI,qBAAqB,GAC3Cb,MAAM,IAAIc,0BAA0B;EAExC,IAAME,OAAO,GAAGjB,gBAAgB,IAAI,CAACI,SAAS,IAAIY,OAAO,GAAG,QAAQ,GAAG,MAAM;EAE7E,oBACEzS,KAAA,CAAA2K,aAAA,CAACvK,OAAO;IACNsS,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EACLF,OAAO,GAAGnB,IAAI,CAACsB,CAAC,cAAA3B,MAAA,CAAcwB,OAAO,CAAC3H,GAAG,GAAI2H,OAAO,CAAClP,OAAO,CAAC,GAAG,IACjE;IACDsP,SAAS,EAAC;EAAU,gBAEpB7S,KAAA,CAAA2K,aAAA;IAAKrH,GAAG,EAAE3C,SAAS,CAAC4Q,MAAM,EAAEQ,aAAa;EAAE,GAAE3L,QAAc,CACpD,CAAC;AAEd,CAAC;AAED,IAAMoJ,gBAAiD,GAAG,SAApDA,gBAAiDA,CAAAsD,MAAA,EASjD;EAAA,IARJ1M,QAAQ,GAAA0M,MAAA,CAAR1M,QAAQ;IACRqD,aAAa,GAAAqJ,MAAA,CAAbrJ,aAAa;IACbJ,UAAU,GAAAyJ,MAAA,CAAVzJ,UAAU;IACVtE,YAAY,GAAA+N,MAAA,CAAZ/N,YAAY;IACZF,YAAY,GAAAiO,MAAA,CAAZjO,YAAY;IACZoF,kBAAkB,GAAA6I,MAAA,CAAlB7I,kBAAkB;IAClBtI,KAAK,GAAAmR,MAAA,CAALnR,KAAK;IACF0E,KAAK,GAAAC,wBAAA,CAAAwM,MAAA,EAAAC,UAAA;EAER,oBACE/S,KAAA,CAAA2K,aAAA,CAACzJ,sBAAsB,EAAAyL,QAAA;IACrB5H,YAAY,EACTA,YAAY,KACTkF,kBAAkB,IAAIZ,UAAU,IAAK,CAACY,kBAAkB,CAAC,IAC7DpF,YACD;IACD4E,aAAa,EAAEA,aAAc;IAC7BJ,UAAU,EAAEA,UAAW;IACvBsE,KAAK,EAAE;MAAEqF,WAAW,EAAEtR,UAAU,CAACC,KAAK;IAAE;EAAE,GACtC0E,KAAK,GAERD,QACqB,CAAC;AAE7B,CAAC"}
1
+ {"version":3,"file":"Tree.js","names":["File","Folder","React","areEqual","FixedSizeList","Spinner","Tooltip","useI18nContext","useIntersectionObserver","useResizeObserver","useTimer","useVisibility","parseFilename","mergeRefs","useTree","StyledChevron","StyledChevronContainer","StyledFilenameCaption","StyledIconContainer","StyledTree","StyledTreeRowContainer","StyledTreeRowContent","StyledTreeRowWrapper","spacing","rootSpacing","defaultRowHeight","rowRightPadding","scrollbarWidth","getPadding","level","intersectionThresholds","Array","from","length","map","_","index","tooltipDelay","UNSAFE_treeRootNodeId","defaultIsExpandable","node","defaultGetType","defaultIsSelectable","type","defaultGetParentId","parentId","defaultGetLabel","name","noop","isRootNode","rootValues","undefined","includes","Tree","forwardRef","_ref","ref","options","_ref$expanded","expanded","_ref$selected","selected","_ref$selectionLimit","selectionLimit","Infinity","getRoot_","getRoot","getChildren_","getChildren","getIconBase","getIcon","_ref$getLabel","getLabel","_ref$getParentId","getParentId","getParentId_","_ref$getType","getType","_ref$isExpandable","isExpandable","_ref$isSelectable","isSelectable","_ref$multiple","multiple","_ref$onSelect","onSelect","_ref$onCollapse","onCollapse","_ref$onExpand","onExpand","Promise","resolve","rowRendererBase","rowRenderer","_ref$maxVisibleNodes","maxVisibleNodes","visibleHeight","_ref$autoExpandParent","autoExpandParent","innerElementType","outerElementType","onKeyDown","children","props","_objectWithoutProperties","_excluded","rowHeight","wrapperRef","useRef","listRef","listInnerRef","listOuterRefRef","_React$useState","useState","_React$useState2","_slicedToArray","contentMaxWidth","setContentMaxWidth","useMemo","defaultGetRoot","useCallback","nodes","filter","rootNodes","roots","isArray","useEffect","console","warn","_React$useState3","_React$useState4","isTreeFocused","setIsTreeFocused","_React$useState5","width","height","_React$useState6","containerSize","setContainerSize","handleContainerResize","entries","_ref2","target","clientHeight","clientWidth","setResizeObserverTarget","defaultGetChildren","childNode","id","_useTree","isExpanded","isSelected","isLoading","highlightedNode","isNodeHighlighted","isHighlighted","highlight","handleSelection","handleExpansion","_setExpanded","setExpanded","_setSelected","setSelected","isFileLimitReached","listNavigation","Set","useImperativeHandle","rootEl","current","toggleSelected","toggleExpanded","defaultGetIcon","isFolder","createElement","handleAccessibility","e","key","preventDefault","increment","decrement","_listRef$current","scrollToItem","defaultRowRenderer","TreeRow","_listInnerRef$current","rowContentSizes","childNodes","forEach","child","rowContent","querySelector","_dataset$padding","leftPadding","dataset","padding","push","scrollWidth","parseInt","maxSizeRowContent","Math","max","apply","itemData","treeContainer","error","_extends","tabIndex","onFocus","onBlur","className","min","innerRef","outerRef","itemCount","itemSize","TreeNode","memo","_ref3","_ref3$data","data","_excluded2","style","_React$useState7","_React$useState8","isMouseOver","setMouseOver","timer","_useVisibility","shouldShowTooltip","isVisible","showTooltip","show","hideTooltip","hide","setTimer","onMouseEnter","onMouseLeave","cancel","_objectSpread","_ref4","_excluded3","expanderRef","nodeType","rowLabel","onClick","event","_expanderRef$current","contains","onMouseDown","focus","TreeRowContainer","TreeRowChevron","TreeRowIcon","icon","TreeRowTooltip","fileName","TreeRowName","value","IconContainer","_ref5","_excluded4","$isSelected","_ref6","$isExpanded","_ref7","marginLeft","marginRight","size","_ref8","getSelectionLimitMessage","count","getUnsupportedFileTypeMessage","_parseFilename","extension","isFilename","concat","fileType","toUpperCase","_ref9","isFocused","I18n","rowRef","isUserInteracting","isTooltipVisible","isFile","_React$useState9","_React$useState10","isCropped","setCropped","registerRowEl","entry","rootBounds","left","boundingClientRect","root","rootMargin","threshold","selectionLimitMessage","unsupportedFileTypeMessage","message","trigger","overlay","t","placement","_ref10","_excluded5","paddingLeft"],"sources":["../../src/Tree/Tree.tsx"],"sourcesContent":["import { File, Folder } from '@procore/core-icons/dist'\nimport type { FunctionComponent, PropsWithChildren } from 'react'\nimport React from 'react'\nimport { areEqual, FixedSizeList } from 'react-window'\nimport { Spinner } from '../Spinner/Spinner'\nimport { Tooltip } from '../Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useIntersectionObserver } from '../_hooks/IntersectionObserver'\nimport { useResizeObserver } from '../_hooks/ResizeObserver'\nimport { useTimer } from '../_hooks/Timer'\nimport { useVisibility } from '../_hooks/Visibility'\nimport { parseFilename } from '../_utils/filename'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport { useTree } from './Tree.hooks'\nimport {\n StyledChevron,\n StyledChevronContainer,\n StyledFilenameCaption,\n StyledIconContainer,\n StyledTree,\n StyledTreeRowContainer,\n StyledTreeRowContent,\n StyledTreeRowWrapper,\n} from './Tree.styles'\nimport type {\n CustomDataType,\n IconContainerProps,\n Node,\n TreeDefaultNode,\n TreeNodeId,\n TreeNodeProps,\n TreeProps,\n TreeRef,\n TreeRowContainerProps,\n TreeRowProps,\n TreeRowTooltipProps,\n} from './Tree.types'\n\nconst spacing = 32\nconst rootSpacing = 24\nconst defaultRowHeight = 36\n\n// Selected nodes have a bold text, and browsers occasionally miscalculate scrollWidth by one pixel down.\n// That situations might cause an issue when we get a second horizontal scrollbar.\n// This padding serves as compensation to prevent the described issue.\nconst rowRightPadding = 12\n// For most of browsers it usually varies between 12px and 20px.\n// To avoid tricky cross-browser calculations of scrollbar width. The maximum width is used.\nconst scrollbarWidth = 20\n\nfunction getPadding(level: number) {\n return rootSpacing + level * spacing\n}\n\nconst intersectionThresholds = Array.from({ length: 101 }).map(\n (_, index) => index / 100\n)\n\nconst tooltipDelay = 300\n\n// TODO refactor this to not be upper snake case\nexport const UNSAFE_treeRootNodeId = 'ROOT_ID'\n\nconst defaultIsExpandable: NonNullable<TreeProps['isExpandable']> = (\n node: TreeDefaultNode\n) => defaultGetType(node) === 'branch'\nconst defaultIsSelectable: NonNullable<TreeProps['isSelectable']> = (\n node: TreeDefaultNode\n) => node.type === 'leaf'\nconst defaultGetType: NonNullable<TreeProps['getType']> = (\n node: TreeDefaultNode\n) => node.type\nconst defaultGetParentId: NonNullable<TreeProps['getParentId']> = (\n node: TreeDefaultNode\n) => node.parentId\nconst defaultGetLabel: NonNullable<TreeProps['getLabel']> = (\n node: TreeDefaultNode\n) => node.name\nfunction noop() {}\n\nexport function isRootNode(parentId: TreeNodeId): boolean {\n const rootValues = [UNSAFE_treeRootNodeId, null, undefined] as TreeNodeId[]\n return rootValues.includes(parentId)\n}\n\n/**\n\n The tree allows users to navigate between folder / file directories,\n and optionally select those files.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-tree--demo)\n\n @see [Design Guidelines](https://design.procore.com/tree)\n\n */\nexport const Tree = React.forwardRef(\n <T extends Node = Node, P extends CustomDataType<T> = Array<T>>(\n {\n options,\n expanded = [],\n selected = [],\n selectionLimit = Infinity,\n getRoot: getRoot_,\n getChildren: getChildren_,\n getIcon: getIconBase,\n getLabel = defaultGetLabel,\n getParentId: getParentId_ = defaultGetParentId,\n getType = defaultGetType,\n isExpandable = defaultIsExpandable,\n isSelectable = defaultIsSelectable,\n multiple = true,\n onSelect = noop,\n onCollapse = noop,\n onExpand = () => Promise.resolve(),\n rowRenderer: rowRendererBase,\n maxVisibleNodes = Infinity,\n visibleHeight,\n autoExpandParent = true,\n innerElementType,\n outerElementType,\n onKeyDown,\n children,\n ...props\n }: TreeProps<T, P>,\n ref: React.Ref<TreeRef<T>>\n ) => {\n const rowHeight = defaultRowHeight\n const wrapperRef = React.useRef<HTMLDivElement | null>(null)\n const listRef = React.useRef<FixedSizeList>(null)\n const listInnerRef = React.useRef<HTMLDivElement>(null)\n const listOuterRefRef = React.useRef<HTMLDivElement>(null)\n const [contentMaxWidth, setContentMaxWidth] = React.useState(0)\n\n const getParentId = React.useMemo(() => getParentId_, [])\n\n const defaultGetRoot = React.useCallback(\n (nodes: P): T | T[] =>\n nodes.filter((node: T) => {\n return isRootNode(getParentId(node))\n }),\n [getParentId]\n )\n\n const getRoot = React.useMemo(\n () => getRoot_ || defaultGetRoot,\n [defaultGetRoot]\n )\n\n const rootNodes = React.useMemo(() => {\n const roots = getRoot(options)\n return Array.isArray(roots) ? roots : [roots]\n }, [getRoot, options])\n\n React.useEffect(() => {\n if (!rootNodes.length) {\n console.warn(\n 'Tree must have at least one root node. Look up `Tree#getParentId` for details.'\n )\n }\n }, [rootNodes])\n\n const [isTreeFocused, setIsTreeFocused] = React.useState(false)\n const [containerSize, setContainerSize] = React.useState({\n width: 0,\n height: 0,\n })\n\n const handleContainerResize = React.useCallback(\n (entries: ResizeObserverEntry[]) => {\n if (entries[0]) {\n const { clientHeight: height, clientWidth: width } = entries[0]\n .target as HTMLElement\n setContainerSize({ width, height })\n }\n },\n [setContainerSize]\n )\n\n const setResizeObserverTarget = useResizeObserver(handleContainerResize)\n\n const defaultGetChildren = React.useCallback(\n (node: T) =>\n Array.isArray(options)\n ? options.filter((childNode: T) => getParentId(childNode) === node.id)\n : ([] as T[]),\n [getParentId, options]\n )\n\n const getChildren = getChildren_ || defaultGetChildren\n\n const {\n nodes,\n isExpanded,\n isSelected,\n isLoading,\n highlightedNode,\n isHighlighted: isNodeHighlighted,\n highlight,\n handleSelection,\n handleExpansion,\n setExpanded: _setExpanded,\n setSelected: _setSelected,\n isFileLimitReached,\n listNavigation,\n } = useTree<T>({\n rootNodes,\n expanded,\n selected,\n selectionLimit,\n multiple,\n autoExpandParent,\n onSelect,\n onCollapse,\n onExpand,\n getChildren,\n getParentId,\n })\n\n const setSelected = React.useCallback(\n (selected: T | T[]) => {\n const nodes = Array.isArray(selected) ? selected : [selected]\n\n _setSelected(new Set(nodes.map((node) => node.id)))\n },\n [_setSelected]\n )\n\n const setExpanded = React.useCallback(\n (expanded: T | T[]) => {\n const nodes = Array.isArray(expanded) ? expanded : [expanded]\n\n _setExpanded(new Set(nodes.map((node) => node.id)))\n },\n [_setExpanded]\n )\n\n React.useImperativeHandle(ref, () => ({\n rootEl: wrapperRef.current,\n setSelected,\n setExpanded,\n toggleSelected: (node: T) => handleSelection(node),\n toggleExpanded: (node: T) => handleExpansion(node),\n }))\n\n const defaultGetIcon = React.useCallback(\n (node: T): React.ReactNode => {\n const isFolder = getType(node) === 'branch'\n return isFolder ? <Folder /> : <File />\n },\n [getType]\n )\n\n const getIcon = getIconBase || defaultGetIcon\n\n const isHighlighted = React.useCallback(\n (node: T) => isTreeFocused && isNodeHighlighted(node),\n [isNodeHighlighted, isTreeFocused]\n )\n\n const handleAccessibility = (e: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e)\n const { key } = e\n\n switch (key) {\n case 'Enter':\n e.preventDefault()\n isSelectable(highlightedNode) && handleSelection(highlightedNode)\n break\n case 'Space Bar':\n case ' ':\n e.preventDefault()\n isExpandable(highlightedNode) && handleExpansion(highlightedNode)\n break\n case 'ArrowDown':\n case 'Down':\n e.preventDefault()\n listNavigation.increment()\n break\n case 'ArrowUp':\n case 'Up':\n e.preventDefault()\n listNavigation.decrement()\n break\n }\n }\n\n React.useEffect(() => {\n if (isTreeFocused) {\n listRef.current?.scrollToItem(listNavigation.index)\n }\n }, [isTreeFocused, listNavigation.index])\n\n const defaultRowRenderer = React.useCallback(\n (props: TreeRowProps) => <TreeRow {...props} />,\n []\n )\n\n React.useEffect(() => {\n const rowContentSizes: number[] = []\n\n const childNodes = Array.from(listInnerRef.current?.childNodes || [])\n childNodes.forEach((child) => {\n const rowContent = (child as HTMLElement).querySelector(\n '[data-row-content]'\n )\n\n if (rowContent) {\n const leftPadding = (child as HTMLElement).dataset.padding ?? '0'\n rowContentSizes.push(\n rowContent.scrollWidth + parseInt(leftPadding, 10) + rowRightPadding\n )\n }\n })\n\n const maxSizeRowContent = Math.max(...rowContentSizes) + scrollbarWidth\n setContentMaxWidth(maxSizeRowContent)\n })\n\n const rowRenderer = rowRendererBase || defaultRowRenderer\n\n const itemData = React.useMemo(\n () => ({\n nodes,\n getIcon,\n getLabel,\n getType,\n isExpandable,\n isSelectable,\n isExpanded,\n isSelected,\n isLoading,\n highlight,\n isHighlighted,\n handleSelection,\n handleExpansion,\n rowRenderer,\n isFileLimitReached,\n selectionLimit,\n isTreeFocused,\n treeContainer: wrapperRef.current as HTMLDivElement,\n }),\n [\n getIcon,\n getLabel,\n getType,\n handleExpansion,\n handleSelection,\n highlight,\n isExpandable,\n isExpanded,\n isFileLimitReached,\n isHighlighted,\n isLoading,\n isSelectable,\n isSelected,\n isTreeFocused,\n nodes,\n rowRenderer,\n selectionLimit,\n ]\n )\n\n if (!rootNodes) {\n console.error('Tree must have a valid root node')\n return null\n }\n\n return (\n <StyledTree\n {...props}\n ref={mergeRefs(wrapperRef, setResizeObserverTarget)}\n tabIndex={0}\n onFocus={() => setIsTreeFocused(true)}\n onBlur={() => setIsTreeFocused(false)}\n onKeyDown={handleAccessibility}\n >\n <FixedSizeList\n className=\"size-list\"\n ref={listRef}\n height={\n visibleHeight ||\n Math.min(nodes.length * rowHeight, rowHeight * maxVisibleNodes)\n }\n innerRef={listInnerRef}\n outerRef={listOuterRefRef}\n itemCount={nodes.length}\n itemSize={rowHeight}\n innerElementType={innerElementType}\n outerElementType={outerElementType}\n itemData={itemData}\n width={Math.max(contentMaxWidth, containerSize.width)}\n >\n {TreeNode}\n </FixedSizeList>\n </StyledTree>\n )\n }\n)\n\nconst TreeNode: React.FC<TreeNodeProps> = React.memo(\n ({\n data: { nodes, rowRenderer, highlight, isTreeFocused, ...props },\n index,\n style,\n }) => {\n const node = nodes[index]\n\n const isHighlighted = props.isHighlighted(node)\n const [isMouseOver, setMouseOver] = React.useState(false)\n\n const timer = useTimer({})\n const {\n isVisible: shouldShowTooltip,\n show: showTooltip,\n hide: hideTooltip,\n } = useVisibility({})\n\n React.useEffect(() => {\n if (isHighlighted && !shouldShowTooltip) {\n timer.setTimer(showTooltip, tooltipDelay)\n }\n\n return () => {\n if (isTreeFocused && !isHighlighted && shouldShowTooltip) {\n hideTooltip()\n }\n }\n })\n\n const onMouseEnter = () => {\n setMouseOver(true)\n if (!shouldShowTooltip) {\n timer.setTimer(showTooltip, tooltipDelay)\n }\n highlight(node)\n }\n\n const onMouseLeave = () => {\n setMouseOver(false)\n timer.cancel()\n hideTooltip()\n }\n\n return (\n <StyledTreeRowWrapper\n tabIndex={-1}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n style={style}\n data-padding={getPadding(node.level)}\n >\n {rowRenderer({\n node,\n shouldShowTooltip,\n isMouseOver,\n ...props,\n })}\n </StyledTreeRowWrapper>\n )\n },\n areEqual\n)\n\nconst TreeRow: React.FC<TreeRowProps> = ({\n node,\n getIcon,\n getLabel,\n handleExpansion,\n handleSelection,\n selectionLimit,\n isFileLimitReached,\n shouldShowTooltip,\n isMouseOver,\n treeContainer,\n ...props\n}) => {\n const expanderRef = React.useRef<HTMLDivElement>(null)\n const isSelected = props.isSelected(node)\n const isSelectable = props.isSelectable(node)\n const isExpandable = props.isExpandable(node)\n const isExpanded = props.isExpanded(node)\n const isLoading = props.isLoading(node)\n const isHighlighted = props.isHighlighted(node)\n const nodeType = props.getType(node)\n const rowLabel = getLabel(node)\n\n const onClick = React.useCallback(\n (event: React.MouseEvent) => {\n if (isSelectable && isExpandable) {\n // @ts-ignore\n expanderRef?.current?.contains(event.target)\n ? handleExpansion(node)\n : handleSelection(node)\n } else if (isSelectable) {\n handleSelection(node)\n } else if (isExpandable) {\n handleExpansion(node)\n }\n },\n [handleExpansion, handleSelection, isExpandable, isSelectable, node]\n )\n\n const onMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault()\n treeContainer.focus()\n },\n [treeContainer]\n )\n\n return (\n <TreeRowContainer\n level={node.level}\n onClick={onClick}\n onMouseDown={onMouseDown}\n isSelected={isSelected}\n isSelectable={isSelectable}\n isExpandable={isExpandable}\n isHighlighted={isHighlighted}\n isFileLimitReached={isFileLimitReached}\n data-qa=\"core-tree-row-container\"\n >\n {\n // WARNING!\n // Be aware that this data attribute is used for calculations, changing this data attribute will break its operability.\n }\n <StyledTreeRowContent data-row-content>\n <TreeRowChevron\n ref={expanderRef}\n isExpandable={isExpandable}\n isExpanded={isExpanded}\n />\n <TreeRowIcon\n isLoading={isLoading}\n isSelected={isSelected}\n icon={getIcon(node)}\n />\n <TreeRowTooltip\n isSelected={isSelected}\n isSelectable={isSelectable}\n isHighlighted={isHighlighted}\n selectionLimit={selectionLimit}\n isFileLimitReached={isFileLimitReached}\n shouldShowTooltip={shouldShowTooltip}\n isMouseOver={isMouseOver}\n fileName={rowLabel}\n nodeType={nodeType}\n treeContainer={treeContainer}\n >\n <TreeRowName value={rowLabel} />\n </TreeRowTooltip>\n </StyledTreeRowContent>\n </TreeRowContainer>\n )\n}\n\nconst IconContainer: React.FC<IconContainerProps> = ({\n children,\n isSelected,\n ...props\n}) => (\n <StyledIconContainer $isSelected={isSelected} {...props}>\n {children}\n </StyledIconContainer>\n)\n\nconst TreeRowChevron = React.forwardRef<\n HTMLDivElement,\n {\n isExpanded: boolean\n isExpandable: boolean\n }\n>(({ isExpanded, isExpandable }, ref) => {\n return (\n <StyledChevronContainer ref={ref}>\n {isExpandable ? <StyledChevron $isExpanded={isExpanded} /> : null}\n </StyledChevronContainer>\n )\n})\n\nconst TreeRowIcon: React.FC<{\n isSelected: boolean\n isLoading: boolean\n icon: React.ReactNode\n}> = ({ isSelected, isLoading, icon }) => (\n <IconContainer isSelected={isSelected} marginLeft=\"sm\" marginRight=\"sm\">\n {isLoading ? <Spinner size=\"sm\" /> : icon}\n </IconContainer>\n)\n\nconst TreeRowName: React.FC<{ value: string }> = ({ value }) => (\n <StyledFilenameCaption>{value}</StyledFilenameCaption>\n)\n\nconst getSelectionLimitMessage = (selectionLimit: number) => ({\n key: 'selectionLimit',\n options: {\n count: selectionLimit,\n },\n})\n\nconst getUnsupportedFileTypeMessage = (fileName: string) => {\n const { extension, isFilename } = parseFilename(fileName)\n const key = isFilename ? 'specific' : 'unspecific'\n\n return {\n key: `unsupportedFileType.${key}`,\n options: {\n fileType: `.${extension.toUpperCase()}`,\n },\n }\n}\n\nconst TreeRowTooltip: FunctionComponent<\n PropsWithChildren<TreeRowTooltipProps>\n> = ({\n children,\n isHighlighted: isFocused,\n isFileLimitReached,\n isSelectable,\n isSelected,\n nodeType,\n selectionLimit,\n shouldShowTooltip,\n isMouseOver,\n fileName,\n treeContainer,\n}) => {\n const I18n = useI18nContext()\n const rowRef = React.useRef<HTMLDivElement>(null)\n const isUserInteracting = isFocused || isMouseOver\n const isTooltipVisible = isUserInteracting && shouldShowTooltip && !isSelected\n const isFile = nodeType === 'leaf'\n const [isCropped, setCropped] = React.useState(false)\n\n const registerRowEl = useIntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (\n entry.rootBounds &&\n entry.rootBounds.left - entry.boundingClientRect.left >= 0\n ) {\n setCropped(true)\n return\n }\n setCropped(false)\n })\n },\n {\n root: treeContainer,\n rootMargin: '0px',\n threshold: intersectionThresholds,\n }\n )\n\n const selectionLimitMessage = getSelectionLimitMessage(selectionLimit)\n const unsupportedFileTypeMessage = getUnsupportedFileTypeMessage(fileName)\n\n const message = isSelectable\n ? isFileLimitReached && selectionLimitMessage\n : isFile && unsupportedFileTypeMessage\n\n const trigger = isTooltipVisible && !isCropped && message ? 'always' : 'none'\n\n return (\n <Tooltip\n trigger={trigger}\n overlay={\n message ? I18n.t(`core.tree.${message.key}`, message.options) : null\n }\n placement=\"top-left\"\n >\n <div ref={mergeRefs(rowRef, registerRowEl)}>{children}</div>\n </Tooltip>\n )\n}\n\nconst TreeRowContainer: React.FC<TreeRowContainerProps> = ({\n children,\n isHighlighted,\n isSelected,\n isSelectable,\n isExpandable,\n isFileLimitReached,\n level,\n ...props\n}) => {\n return (\n <StyledTreeRowContainer\n isSelectable={\n (isSelectable &&\n ((isFileLimitReached && isSelected) || !isFileLimitReached)) ||\n isExpandable\n }\n isHighlighted={isHighlighted}\n isSelected={isSelected}\n style={{ paddingLeft: getPadding(level) }}\n {...props}\n >\n {children}\n </StyledTreeRowContainer>\n )\n}\n"],"mappings":"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"}
@@ -5,15 +5,15 @@ import { Typography } from '../Typography/Typography';
5
5
  import { colors } from '../_styles/colors';
6
6
  export var StyledFilenameCaption = /*#__PURE__*/styled(Typography).withConfig({
7
7
  displayName: "StyledFilenameCaption",
8
- componentId: "core-11_33_0__sc-2d45b5-0"
8
+ componentId: "core-12_0_0__sc-2d45b5-0"
9
9
  })(["display:flex;width:100%;"]);
10
10
  export var StyledTree = /*#__PURE__*/styled.div.withConfig({
11
11
  displayName: "StyledTree",
12
- componentId: "core-11_33_0__sc-2d45b5-1"
12
+ componentId: "core-12_0_0__sc-2d45b5-1"
13
13
  })(["width:100%;height:100%;min-height:36px;outline:none;overflow:auto;"]);
14
14
  export var StyledTreeRowContainer = /*#__PURE__*/styled(Typography).withConfig({
15
15
  displayName: "StyledTreeRowContainer",
16
- componentId: "core-11_33_0__sc-2d45b5-2"
16
+ componentId: "core-12_0_0__sc-2d45b5-2"
17
17
  })(["display:flex;align-items:center;height:36px;background:transparent;box-shadow:inset 4px 0px 0px transparent;cursor:default;outline:none;", " &:hover{background:", ";}", " ", ""], function (_ref) {
18
18
  var isSelectable = _ref.isSelectable;
19
19
  return isSelectable ? 'cursor: pointer;' : '';
@@ -27,30 +27,30 @@ export var StyledTreeRowContainer = /*#__PURE__*/styled(Typography).withConfig({
27
27
  });
28
28
  export var StyledTreeRowContent = /*#__PURE__*/styled.div.withConfig({
29
29
  displayName: "StyledTreeRowContent",
30
- componentId: "core-11_33_0__sc-2d45b5-3"
30
+ componentId: "core-12_0_0__sc-2d45b5-3"
31
31
  })(["display:flex;align-items:center;"]);
32
32
  export var StyledTreeRowWrapper = /*#__PURE__*/styled.div.withConfig({
33
33
  displayName: "StyledTreeRowWrapper",
34
- componentId: "core-11_33_0__sc-2d45b5-4"
34
+ componentId: "core-12_0_0__sc-2d45b5-4"
35
35
  })(["outline:none;"]);
36
36
  var StyledIconBase = /*#__PURE__*/styled(Box).withConfig({
37
37
  displayName: "StyledIconBase",
38
- componentId: "core-11_33_0__sc-2d45b5-5"
38
+ componentId: "core-12_0_0__sc-2d45b5-5"
39
39
  })(["display:flex;justify-content:center;align-items:center;width:24px;height:24px;min-width:24px;min-height:24px;"]);
40
40
  export var StyledChevronContainer = /*#__PURE__*/styled(StyledIconBase).withConfig({
41
41
  displayName: "StyledChevronContainer",
42
- componentId: "core-11_33_0__sc-2d45b5-6"
42
+ componentId: "core-12_0_0__sc-2d45b5-6"
43
43
  })([""]);
44
44
  export var StyledIconContainer = /*#__PURE__*/styled(StyledIconBase).withConfig({
45
45
  displayName: "StyledIconContainer",
46
- componentId: "core-11_33_0__sc-2d45b5-7"
46
+ componentId: "core-12_0_0__sc-2d45b5-7"
47
47
  })(["color:", ";"], function (_ref4) {
48
48
  var $isSelected = _ref4.$isSelected;
49
49
  return $isSelected ? colors.blue45 : colors.gray40;
50
50
  });
51
51
  export var StyledChevron = /*#__PURE__*/styled(ChevronRight).withConfig({
52
52
  displayName: "StyledChevron",
53
- componentId: "core-11_33_0__sc-2d45b5-8"
53
+ componentId: "core-12_0_0__sc-2d45b5-8"
54
54
  })(["transform:rotate(", "deg);transition:transform 150ms ease-out;"], function (_ref5) {
55
55
  var $isExpanded = _ref5.$isExpanded;
56
56
  return $isExpanded ? 90 : 0;
@@ -12,7 +12,7 @@ export interface Node {
12
12
  */
13
13
  id: TreeNodeId;
14
14
  }
15
- export interface DefaultNode extends Node {
15
+ export interface TreeDefaultNode extends Node {
16
16
  /**
17
17
  * @since 10.19.0
18
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.types.js","names":[],"sources":["../../src/Tree/Tree.types.ts"],"sourcesContent":["import type React from 'react'\nimport type { FixedSizeListProps, ListChildComponentProps } from 'react-window'\nimport type { BoxProps } from '../Box/Box.types'\nimport type { OverlayProps } from '../Overlay/Overlay'\nimport type { DivAttributes } from '../_utils/types'\nimport type { UNSAFE_treeRootNodeId } from './Tree'\n\ntype NodeType = 'branch' | 'leaf'\n\nexport type TreeNodeId =\n | number\n | string\n | null\n | undefined\n | typeof UNSAFE_treeRootNodeId\n\nexport interface Node {\n /**\n * @since 10.19.0\n */\n id: TreeNodeId\n}\nexport interface DefaultNode extends Node {\n /**\n * @since 10.19.0\n */\n name: string\n /**\n * @since 10.19.0\n */\n parentId: TreeNodeId\n /**\n * @since 10.19.0\n */\n type: NodeType\n}\n\nexport interface LevelWise {\n /**\n * @since 10.19.0\n */\n level: number\n}\n\nexport interface UseTreeProps<T extends Node = Node> {\n rootNodes: T[]\n /**\n * @since 10.19.0\n */\n expanded: T['id'][]\n /**\n * @since 10.19.0\n */\n selected: T['id'][]\n /**\n * @since 10.19.0\n */\n selectionLimit: number\n /**\n * @since 10.19.0\n */\n getChildren(node: T): T[]\n /**\n * @since 10.19.0\n */\n getParentId(node: T): TreeNodeId\n /**\n * @since 10.19.0\n */\n autoExpandParent: boolean\n /**\n * @since 10.19.0\n */\n multiple: boolean\n /**\n * @since 10.19.0\n */\n onSelect(nodes: T[]): void\n /**\n * @since 10.19.0\n */\n onCollapse(node: T): void\n /**\n * @since 10.19.0\n */\n onExpand(node: T): Promise<any>\n}\n\nexport interface TreeNodeAPI<T extends Node = Node> {\n /**\n * @since 10.19.0\n */\n nodes: (T & LevelWise)[]\n /**\n * @since 10.19.0\n */\n getIcon(props: T): React.ReactNode\n /**\n * @since 10.19.0\n */\n getLabel(props: T): string\n /**\n * @since 10.19.0\n */\n getType(node: T): NodeType\n /**\n * @since 10.19.0\n */\n isExpandable(node: T): boolean\n /**\n * @since 10.19.0\n */\n isSelectable(node: T): boolean\n /**\n * @since 10.19.0\n */\n isSelected(node: T): boolean\n /**\n * @since 10.19.0\n */\n isLoading(node: T): boolean\n /**\n * @since 10.19.0\n */\n isExpanded(node: T): boolean\n /**\n * @since 10.19.0\n */\n highlight(node: T): void\n /**\n * @since 10.19.0\n */\n isHighlighted(node: T): boolean\n /**\n * @since 10.19.0\n */\n handleSelection(node: T): void\n /**\n * @since 10.19.0\n */\n handleExpansion(node: T): void\n /**\n * @since 10.19.0\n */\n rowRenderer(props: TreeRowProps<T>): React.ReactNode\n /**\n * @since 10.19.0\n */\n selectionLimit: number\n /**\n * @since 10.19.0\n */\n isFileLimitReached: boolean\n /**\n * @since 10.19.0\n */\n isTreeFocused: boolean\n /**\n * @since 10.19.0\n */\n treeContainer: HTMLDivElement\n}\n\nexport interface CustomDataType<T> {\n /**\n * @since 10.19.0\n */\n [key: string]: any\n}\n\nexport interface TreeRef<T extends Node = Node> {\n /**\n * @since 10.19.0\n */\n setSelected: (selected: T | T[]) => void\n /**\n * @since 10.19.0\n */\n setExpanded: (expanded: T | T[]) => void\n /**\n * @since 10.19.0\n */\n toggleSelected: (node: T) => void\n /**\n * @since 10.19.0\n */\n toggleExpanded: (node: T) => void\n /**\n * @since 10.19.0\n */\n rootEl: HTMLElement | null\n}\n\nexport interface TreeNodeProps extends ListChildComponentProps {\n /**\n * @since 10.19.0\n */\n data: TreeNodeAPI\n}\n\nexport interface TreeRowOverlayProps {\n /**\n * @since 10.19.0\n */\n overlayRef: OverlayProps['overlayRef']\n /**\n * @since 10.19.0\n */\n targetRef: OverlayProps['targetRef']\n /**\n * @since 10.19.0\n */\n message: { key: string; options?: object }\n}\n\nexport interface TreeRowProps<T extends Node = Node>\n extends Omit<\n TreeNodeAPI,\n 'rowRenderer' | 'nodes' | 'highlight' | 'isTreeFocused'\n > {\n /**\n * @since 10.19.0\n */\n node: T & LevelWise\n /**\n * @since 10.19.0\n */\n shouldShowTooltip: boolean\n /**\n * @since 10.19.0\n */\n isMouseOver: boolean\n /**\n * @since 10.19.0\n */\n treeContainer: HTMLDivElement\n}\n\nexport interface TreeProps<\n T extends Node = Node,\n P extends CustomDataType<T> = Array<T>\n> extends Omit<DivAttributes, 'onSelect'>,\n Partial<Pick<FixedSizeListProps, 'innerElementType' | 'outerElementType'>> {\n /**\n * @since 10.19.0\n */\n options: P\n /**\n * Array of keys of the expanded nodes\n * @since 10.19.0\n */\n expanded?: T['id'][]\n\n /**\n * Array of keys of the selected nodes\n * @since 10.19.0\n */\n selected?: T['id'][]\n\n /**\n * Number of nodes that can be selected\n * @default Infinity\n * @since 10.19.0\n */\n selectionLimit?: number\n\n /**\n * Function should return a single root node or an array of root nodes\n * <CodeBlock>{'(): Node | Node[]'}</CodeBlock>\n * @since 10.19.0\n * @deprecated To be removed in future release. `getParentId` should be used to determine root nodes instead.\n * @deprecatedSince 11.9.0\n */\n getRoot?(data: P): T | T[]\n\n /**\n * Should return an array of children nodes.\n * <CodeBlock>{'(node: Node): Node[]'}</CodeBlock>\n * @since 10.19.0\n */\n getChildren?(node: T): T[]\n\n /**\n * This function will be executed on each node. Should return{' '}\n * <Code>Icon</Code> component\n * <CodeBlock>{'(node: Node): React.ReactNode'}</CodeBlock>\n * @since 10.19.0\n */\n getIcon?(node: T): React.ReactNode\n\n /**\n * This function will be executed on each node. Should return{' '}\n * <Code>label</Code> for row\n * <CodeBlock>{'(node: Node): string'}</CodeBlock>\n * @since 10.19.0\n */\n getLabel?(node: T): string\n\n /**\n * This function can be used to override the default parent detection mechanism.\n * If not defined, <Code>Node['parentId']</Code> is used to get a given node's parent.\n * <CodeBlock>{'(node: Node): TreeNodeId'}</CodeBlock>\n * @since 10.19.0\n * @deprecated Returning `UNSAFE_treeRootNodeId` to determine a root node is deprecated.\n * Return `null` or `undefined` intead.\n * @deprecatedSince 11.9.0\n */\n getParentId?(node: T): TreeNodeId\n\n /**\n * This function will be executed on each node. Should return{' '}\n * <Code>'branch'</Code> or <Code>'leaf'</Code>\n * <CodeBlock>{'(node: Node): NodeType'}</CodeBlock>\n * @since 10.19.0\n */\n getType?(node: T): NodeType\n\n /**\n * Function of whether to enable tree node expansion/collapsing.\n * <CodeBlock>{'(node: Node): boolean'}</CodeBlock>\n * @since 10.19.0\n */\n isExpandable?(node: T): boolean\n\n /**\n * Function of whether to enable tree node selection.\n * <CodeBlock>{'(node: Node): boolean'}</CodeBlock>\n * @since 10.19.0\n */\n isSelectable?(node: T): boolean\n\n /**\n * Allows selection of multiple nodes\n * @default true\n * @since 10.19.0\n */\n multiple?: boolean\n\n /**\n * Number of visible nodes. Helps fix performance bottlenecks in large dataset\n * @default Infinity\n * @since 10.19.0\n */\n maxVisibleNodes?: number\n\n /**\n * Height of the list. Helps fix performance bottlenecks in large dataset.\n * @since 10.19.0\n */\n visibleHeight?: number\n\n /**\n * Whether to expand parent node when a child node is expanded or selected\n * @default true\n * @since 10.19.0\n */\n autoExpandParent?: boolean\n\n /**\n * Callback return currently selected array of nodes.\n * <CodeBlock>{'(nodes: Node[]): void'}</CodeBlock>\n * @since 10.19.0\n */\n onSelect?(nodes: T[]): void\n\n /**\n * Triggers when current node collapse\n * <CodeBlock>{'(node: Node): void'}</CodeBlock>\n * @since 10.19.0\n */\n onCollapse?(node: T): void\n\n /**\n * Triggers when current node expand\n * <CodeBlock>{'(node: Node): Promise<void>'}</CodeBlock>\n * @since 10.19.0\n */\n onExpand?(node: T): Promise<any>\n\n /**\n * Callback for rendering tree nodes\n * <CodeBlock>{'(props: TreeRowProps): React.ReactNode'}</CodeBlock>\n * @since 10.19.0\n */\n rowRenderer?(props: TreeRowProps<T>): React.ReactNode\n}\n\nexport interface IconContainerProps extends BoxProps {\n /**\n * @since 10.19.0\n */\n isSelected?: boolean\n}\n\nexport interface TreeRowTooltipProps {\n /**\n * @since 10.19.0\n */\n isHighlighted: boolean\n /**\n * @since 10.19.0\n */\n isSelected: boolean\n /**\n * @since 10.19.0\n */\n isSelectable: boolean\n /**\n * @since 10.19.0\n */\n selectionLimit: number\n /**\n * @since 10.19.0\n */\n isFileLimitReached: boolean\n /**\n * @since 10.19.0\n */\n shouldShowTooltip: boolean\n /**\n * @since 10.19.0\n */\n isMouseOver: boolean\n /**\n * @since 10.19.0\n */\n fileName: string\n /**\n * @since 10.19.0\n */\n nodeType: NodeType\n /**\n * @since 10.19.0\n */\n treeContainer: HTMLDivElement\n}\n\nexport interface TreeRowContainerProps extends Omit<DivAttributes, 'color'> {\n /**\n * @since 10.19.0\n */\n isHighlighted: boolean\n /**\n * @since 10.19.0\n */\n isSelected: boolean\n /**\n * @since 10.19.0\n */\n isSelectable: boolean\n /**\n * @since 10.19.0\n */\n isExpandable: boolean\n /**\n * @since 10.19.0\n */\n isFileLimitReached: boolean\n /**\n * @since 10.19.0\n */\n level: number\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Tree.types.js","names":[],"sources":["../../src/Tree/Tree.types.ts"],"sourcesContent":["import type React from 'react'\nimport type { FixedSizeListProps, ListChildComponentProps } from 'react-window'\nimport type { BoxProps } from '../Box/Box.types'\nimport type { OverlayProps } from '../Overlay/Overlay'\nimport type { DivAttributes } from '../_utils/types'\nimport type { UNSAFE_treeRootNodeId } from './Tree'\n\ntype NodeType = 'branch' | 'leaf'\n\nexport type TreeNodeId =\n | number\n | string\n | null\n | undefined\n | typeof UNSAFE_treeRootNodeId\n\nexport interface Node {\n /**\n * @since 10.19.0\n */\n id: TreeNodeId\n}\nexport interface TreeDefaultNode extends Node {\n /**\n * @since 10.19.0\n */\n name: string\n /**\n * @since 10.19.0\n */\n parentId: TreeNodeId\n /**\n * @since 10.19.0\n */\n type: NodeType\n}\n\nexport interface LevelWise {\n /**\n * @since 10.19.0\n */\n level: number\n}\n\nexport interface UseTreeProps<T extends Node = Node> {\n rootNodes: T[]\n /**\n * @since 10.19.0\n */\n expanded: T['id'][]\n /**\n * @since 10.19.0\n */\n selected: T['id'][]\n /**\n * @since 10.19.0\n */\n selectionLimit: number\n /**\n * @since 10.19.0\n */\n getChildren(node: T): T[]\n /**\n * @since 10.19.0\n */\n getParentId(node: T): TreeNodeId\n /**\n * @since 10.19.0\n */\n autoExpandParent: boolean\n /**\n * @since 10.19.0\n */\n multiple: boolean\n /**\n * @since 10.19.0\n */\n onSelect(nodes: T[]): void\n /**\n * @since 10.19.0\n */\n onCollapse(node: T): void\n /**\n * @since 10.19.0\n */\n onExpand(node: T): Promise<any>\n}\n\nexport interface TreeNodeAPI<T extends Node = Node> {\n /**\n * @since 10.19.0\n */\n nodes: (T & LevelWise)[]\n /**\n * @since 10.19.0\n */\n getIcon(props: T): React.ReactNode\n /**\n * @since 10.19.0\n */\n getLabel(props: T): string\n /**\n * @since 10.19.0\n */\n getType(node: T): NodeType\n /**\n * @since 10.19.0\n */\n isExpandable(node: T): boolean\n /**\n * @since 10.19.0\n */\n isSelectable(node: T): boolean\n /**\n * @since 10.19.0\n */\n isSelected(node: T): boolean\n /**\n * @since 10.19.0\n */\n isLoading(node: T): boolean\n /**\n * @since 10.19.0\n */\n isExpanded(node: T): boolean\n /**\n * @since 10.19.0\n */\n highlight(node: T): void\n /**\n * @since 10.19.0\n */\n isHighlighted(node: T): boolean\n /**\n * @since 10.19.0\n */\n handleSelection(node: T): void\n /**\n * @since 10.19.0\n */\n handleExpansion(node: T): void\n /**\n * @since 10.19.0\n */\n rowRenderer(props: TreeRowProps<T>): React.ReactNode\n /**\n * @since 10.19.0\n */\n selectionLimit: number\n /**\n * @since 10.19.0\n */\n isFileLimitReached: boolean\n /**\n * @since 10.19.0\n */\n isTreeFocused: boolean\n /**\n * @since 10.19.0\n */\n treeContainer: HTMLDivElement\n}\n\nexport interface CustomDataType<T> {\n /**\n * @since 10.19.0\n */\n [key: string]: any\n}\n\nexport interface TreeRef<T extends Node = Node> {\n /**\n * @since 10.19.0\n */\n setSelected: (selected: T | T[]) => void\n /**\n * @since 10.19.0\n */\n setExpanded: (expanded: T | T[]) => void\n /**\n * @since 10.19.0\n */\n toggleSelected: (node: T) => void\n /**\n * @since 10.19.0\n */\n toggleExpanded: (node: T) => void\n /**\n * @since 10.19.0\n */\n rootEl: HTMLElement | null\n}\n\nexport interface TreeNodeProps extends ListChildComponentProps {\n /**\n * @since 10.19.0\n */\n data: TreeNodeAPI\n}\n\nexport interface TreeRowOverlayProps {\n /**\n * @since 10.19.0\n */\n overlayRef: OverlayProps['overlayRef']\n /**\n * @since 10.19.0\n */\n targetRef: OverlayProps['targetRef']\n /**\n * @since 10.19.0\n */\n message: { key: string; options?: object }\n}\n\nexport interface TreeRowProps<T extends Node = Node>\n extends Omit<\n TreeNodeAPI,\n 'rowRenderer' | 'nodes' | 'highlight' | 'isTreeFocused'\n > {\n /**\n * @since 10.19.0\n */\n node: T & LevelWise\n /**\n * @since 10.19.0\n */\n shouldShowTooltip: boolean\n /**\n * @since 10.19.0\n */\n isMouseOver: boolean\n /**\n * @since 10.19.0\n */\n treeContainer: HTMLDivElement\n}\n\nexport interface TreeProps<\n T extends Node = Node,\n P extends CustomDataType<T> = Array<T>\n> extends Omit<DivAttributes, 'onSelect'>,\n Partial<Pick<FixedSizeListProps, 'innerElementType' | 'outerElementType'>> {\n /**\n * @since 10.19.0\n */\n options: P\n /**\n * Array of keys of the expanded nodes\n * @since 10.19.0\n */\n expanded?: T['id'][]\n\n /**\n * Array of keys of the selected nodes\n * @since 10.19.0\n */\n selected?: T['id'][]\n\n /**\n * Number of nodes that can be selected\n * @default Infinity\n * @since 10.19.0\n */\n selectionLimit?: number\n\n /**\n * Function should return a single root node or an array of root nodes\n * <CodeBlock>{'(): Node | Node[]'}</CodeBlock>\n * @since 10.19.0\n * @deprecated To be removed in future release. `getParentId` should be used to determine root nodes instead.\n * @deprecatedSince 11.9.0\n */\n getRoot?(data: P): T | T[]\n\n /**\n * Should return an array of children nodes.\n * <CodeBlock>{'(node: Node): Node[]'}</CodeBlock>\n * @since 10.19.0\n */\n getChildren?(node: T): T[]\n\n /**\n * This function will be executed on each node. Should return{' '}\n * <Code>Icon</Code> component\n * <CodeBlock>{'(node: Node): React.ReactNode'}</CodeBlock>\n * @since 10.19.0\n */\n getIcon?(node: T): React.ReactNode\n\n /**\n * This function will be executed on each node. Should return{' '}\n * <Code>label</Code> for row\n * <CodeBlock>{'(node: Node): string'}</CodeBlock>\n * @since 10.19.0\n */\n getLabel?(node: T): string\n\n /**\n * This function can be used to override the default parent detection mechanism.\n * If not defined, <Code>Node['parentId']</Code> is used to get a given node's parent.\n * <CodeBlock>{'(node: Node): TreeNodeId'}</CodeBlock>\n * @since 10.19.0\n * @deprecated Returning `UNSAFE_treeRootNodeId` to determine a root node is deprecated.\n * Return `null` or `undefined` intead.\n * @deprecatedSince 11.9.0\n */\n getParentId?(node: T): TreeNodeId\n\n /**\n * This function will be executed on each node. Should return{' '}\n * <Code>'branch'</Code> or <Code>'leaf'</Code>\n * <CodeBlock>{'(node: Node): NodeType'}</CodeBlock>\n * @since 10.19.0\n */\n getType?(node: T): NodeType\n\n /**\n * Function of whether to enable tree node expansion/collapsing.\n * <CodeBlock>{'(node: Node): boolean'}</CodeBlock>\n * @since 10.19.0\n */\n isExpandable?(node: T): boolean\n\n /**\n * Function of whether to enable tree node selection.\n * <CodeBlock>{'(node: Node): boolean'}</CodeBlock>\n * @since 10.19.0\n */\n isSelectable?(node: T): boolean\n\n /**\n * Allows selection of multiple nodes\n * @default true\n * @since 10.19.0\n */\n multiple?: boolean\n\n /**\n * Number of visible nodes. Helps fix performance bottlenecks in large dataset\n * @default Infinity\n * @since 10.19.0\n */\n maxVisibleNodes?: number\n\n /**\n * Height of the list. Helps fix performance bottlenecks in large dataset.\n * @since 10.19.0\n */\n visibleHeight?: number\n\n /**\n * Whether to expand parent node when a child node is expanded or selected\n * @default true\n * @since 10.19.0\n */\n autoExpandParent?: boolean\n\n /**\n * Callback return currently selected array of nodes.\n * <CodeBlock>{'(nodes: Node[]): void'}</CodeBlock>\n * @since 10.19.0\n */\n onSelect?(nodes: T[]): void\n\n /**\n * Triggers when current node collapse\n * <CodeBlock>{'(node: Node): void'}</CodeBlock>\n * @since 10.19.0\n */\n onCollapse?(node: T): void\n\n /**\n * Triggers when current node expand\n * <CodeBlock>{'(node: Node): Promise<void>'}</CodeBlock>\n * @since 10.19.0\n */\n onExpand?(node: T): Promise<any>\n\n /**\n * Callback for rendering tree nodes\n * <CodeBlock>{'(props: TreeRowProps): React.ReactNode'}</CodeBlock>\n * @since 10.19.0\n */\n rowRenderer?(props: TreeRowProps<T>): React.ReactNode\n}\n\nexport interface IconContainerProps extends BoxProps {\n /**\n * @since 10.19.0\n */\n isSelected?: boolean\n}\n\nexport interface TreeRowTooltipProps {\n /**\n * @since 10.19.0\n */\n isHighlighted: boolean\n /**\n * @since 10.19.0\n */\n isSelected: boolean\n /**\n * @since 10.19.0\n */\n isSelectable: boolean\n /**\n * @since 10.19.0\n */\n selectionLimit: number\n /**\n * @since 10.19.0\n */\n isFileLimitReached: boolean\n /**\n * @since 10.19.0\n */\n shouldShowTooltip: boolean\n /**\n * @since 10.19.0\n */\n isMouseOver: boolean\n /**\n * @since 10.19.0\n */\n fileName: string\n /**\n * @since 10.19.0\n */\n nodeType: NodeType\n /**\n * @since 10.19.0\n */\n treeContainer: HTMLDivElement\n}\n\nexport interface TreeRowContainerProps extends Omit<DivAttributes, 'color'> {\n /**\n * @since 10.19.0\n */\n isHighlighted: boolean\n /**\n * @since 10.19.0\n */\n isSelected: boolean\n /**\n * @since 10.19.0\n */\n isSelectable: boolean\n /**\n * @since 10.19.0\n */\n isExpandable: boolean\n /**\n * @since 10.19.0\n */\n isFileLimitReached: boolean\n /**\n * @since 10.19.0\n */\n level: number\n}\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
1
  export { Tree, UNSAFE_treeRootNodeId } from './Tree';
2
- export type { TreeNodeId, TreeNodeProps, TreeProps, TreeRowProps, } from './Tree.types';
2
+ export type { TreeDefaultNode, TreeNodeId, TreeNodeProps, TreeProps, TreeRowProps, } from './Tree.types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Tree","UNSAFE_treeRootNodeId"],"sources":["../../src/Tree/index.ts"],"sourcesContent":["export { Tree, UNSAFE_treeRootNodeId } from './Tree'\nexport type {\n TreeNodeId,\n TreeNodeProps,\n TreeProps,\n TreeRowProps,\n} from './Tree.types'\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,qBAAqB,QAAQ,QAAQ"}
1
+ {"version":3,"file":"index.js","names":["Tree","UNSAFE_treeRootNodeId"],"sources":["../../src/Tree/index.ts"],"sourcesContent":["export { Tree, UNSAFE_treeRootNodeId } from './Tree'\nexport type {\n TreeDefaultNode,\n TreeNodeId,\n TreeNodeProps,\n TreeProps,\n TreeRowProps,\n} from './Tree.types'\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,qBAAqB,QAAQ,QAAQ"}
@@ -5,11 +5,11 @@ import { spacing } from '../_styles/spacing';
5
5
  var inputHeight = 36;
6
6
  export var StyledInput = /*#__PURE__*/styled.input.withConfig({
7
7
  displayName: "StyledInput",
8
- componentId: "core-11_33_0__sc-gpc39h-0"
8
+ componentId: "core-12_0_0__sc-gpc39h-0"
9
9
  })(["", " padding-right:", "px;"], getSearchInputStyles(), spacing.xxl);
10
10
  export var StyledIcon = /*#__PURE__*/styled.div.withConfig({
11
11
  displayName: "StyledIcon",
12
- componentId: "core-11_33_0__sc-gpc39h-1"
12
+ componentId: "core-12_0_0__sc-gpc39h-1"
13
13
  })(["align-items:center;color:", ";display:flex;height:", "px;justify-content:center;pointer-events:", ";position:absolute;right:0;top:0;width:", "px;"], function (p) {
14
14
  return p.disabled ? colors.gray70 : colors.gray45;
15
15
  }, inputHeight, function (p) {
@@ -17,6 +17,6 @@ export var StyledIcon = /*#__PURE__*/styled.div.withConfig({
17
17
  }, inputHeight);
18
18
  export var StyledTypeahead = /*#__PURE__*/styled.div.withConfig({
19
19
  displayName: "StyledTypeahead",
20
- componentId: "core-11_33_0__sc-gpc39h-2"
20
+ componentId: "core-12_0_0__sc-gpc39h-2"
21
21
  })(["position:relative;width:100%;"]);
22
22
  //# sourceMappingURL=Typeahead.styles.js.map
@@ -1,4 +1,4 @@
1
- var _excluded = ["children", "color"];
1
+ var _excluded = ["children", "color", "breakWord"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
4
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -14,9 +14,11 @@ import { StyledTypography } from './Typography.styles';
14
14
  export var Typography = /*#__PURE__*/React.forwardRef(function Typography(_ref, ref) {
15
15
  var children = _ref.children,
16
16
  color = _ref.color,
17
+ breakWord = _ref.breakWord,
17
18
  props = _objectWithoutProperties(_ref, _excluded);
18
19
  return /*#__PURE__*/React.createElement(StyledTypography, _extends({
19
- $color: color
20
+ $color: color,
21
+ breakWord: breakWord
20
22
  }, props, {
21
23
  ref: ref
22
24
  }), children);
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.js","names":["React","StyledTypography","Typography","forwardRef","_ref","ref","children","color","props","_objectWithoutProperties","_excluded","createElement","_extends","$color","displayName"],"sources":["../../src/Typography/Typography.tsx"],"sourcesContent":["import React from 'react'\nimport type { SpanAttributes } from '../_utils/types'\nimport { StyledTypography } from './Typography.styles'\nimport type { TypographyProps } from './Typography.types'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-typography--demo)\n\n */\nexport const Typography = React.forwardRef<\n HTMLSpanElement,\n SpanAttributes & TypographyProps\n>(function Typography({ children, color, ...props }, ref) {\n return (\n <StyledTypography $color={color} {...props} ref={ref}>\n {children}\n </StyledTypography>\n )\n})\n\nTypography.displayName = 'Typography'\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,gBAAgB,QAAQ,qBAAqB;AAGtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,UAAU,gBAAGF,KAAK,CAACG,UAAU,CAGxC,SAASD,UAAUA,CAAAE,IAAA,EAAgCC,GAAG,EAAE;EAAA,IAAlCC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAKC,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAC/C,oBACEV,KAAA,CAAAW,aAAA,CAACV,gBAAgB,EAAAW,QAAA;IAACC,MAAM,EAAEN;EAAM,GAAKC,KAAK;IAAEH,GAAG,EAAEA;EAAI,IAClDC,QACe,CAAC;AAEvB,CAAC,CAAC;AAEFJ,UAAU,CAACY,WAAW,GAAG,YAAY"}
1
+ {"version":3,"file":"Typography.js","names":["React","StyledTypography","Typography","forwardRef","_ref","ref","children","color","breakWord","props","_objectWithoutProperties","_excluded","createElement","_extends","$color","displayName"],"sources":["../../src/Typography/Typography.tsx"],"sourcesContent":["import React from 'react'\nimport type { SpanAttributes } from '../_utils/types'\nimport { StyledTypography } from './Typography.styles'\nimport type { TypographyProps } from './Typography.types'\n\n/**\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-typography--demo)\n\n */\nexport const Typography = React.forwardRef<\n HTMLSpanElement,\n SpanAttributes & TypographyProps\n>(function Typography({ children, color, breakWord, ...props }, ref) {\n return (\n <StyledTypography $color={color} breakWord={breakWord} {...props} ref={ref}>\n {children}\n </StyledTypography>\n )\n})\n\nTypography.displayName = 'Typography'\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,gBAAgB,QAAQ,qBAAqB;AAGtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,UAAU,gBAAGF,KAAK,CAACG,UAAU,CAGxC,SAASD,UAAUA,CAAAE,IAAA,EAA2CC,GAAG,EAAE;EAAA,IAA7CC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAEC,SAAS,GAAAJ,IAAA,CAATI,SAAS;IAAKC,KAAK,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAC1D,oBACEX,KAAA,CAAAY,aAAA,CAACX,gBAAgB,EAAAY,QAAA;IAACC,MAAM,EAAEP,KAAM;IAACC,SAAS,EAAEA;EAAU,GAAKC,KAAK;IAAEJ,GAAG,EAAEA;EAAI,IACxEC,QACe,CAAC;AAEvB,CAAC,CAAC;AAEFJ,UAAU,CAACa,WAAW,GAAG,YAAY"}
@@ -35,8 +35,8 @@ export var semiboldRules = function semiboldRules() {
35
35
  };
36
36
  export var StyledTypography = /*#__PURE__*/styled.span.withConfig({
37
37
  displayName: "StyledTypography",
38
- componentId: "core-11_33_0__sc-1c4583t-0"
39
- })(["", " color:", ";font-style:", ";font-weight:", ";", " em,i{font-style:italic;}"], function (_ref) {
38
+ componentId: "core-12_0_0__sc-1c4583t-0"
39
+ })(["", " color:", ";font-style:", ";font-weight:", ";", " ", " em,i{font-style:italic;}"], function (_ref) {
40
40
  var _ref$intent = _ref.intent,
41
41
  intent = _ref$intent === void 0 ? 'body' : _ref$intent;
42
42
  return typographyIntents[intent];
@@ -51,5 +51,8 @@ export var StyledTypography = /*#__PURE__*/styled.span.withConfig({
51
51
  }, function (_ref4) {
52
52
  var weight = _ref4.weight;
53
53
  return weight && typographyWeights[weight];
54
- }, semiboldRules);
54
+ }, semiboldRules, function (_ref5) {
55
+ var breakWord = _ref5.breakWord;
56
+ return breakWord && "\n word-wrap: break-word;\n word-break: break-word;\n";
57
+ });
55
58
  //# sourceMappingURL=Typography.styles.js.map