@procore/core-react 12.33.0 → 12.34.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 (211) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  3. package/dist/Avatar/Avatar.styles.js +5 -5
  4. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  5. package/dist/Badge/Badge.styles.js +2 -2
  6. package/dist/BadgePill/BadgePill.styles.js +4 -4
  7. package/dist/Banner/Banner.styles.js +10 -10
  8. package/dist/Box/Box.styles.js +1 -1
  9. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  10. package/dist/Button/Button.js +12 -0
  11. package/dist/Button/Button.js.map +1 -1
  12. package/dist/Button/Button.styles.js +5 -5
  13. package/dist/Calendar/Calendar.styles.js +8 -8
  14. package/dist/Card/Card.styles.js +1 -1
  15. package/dist/Changelog.mdx +1 -1
  16. package/dist/Checkbox/Checkbox.styles.js +6 -6
  17. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  18. package/dist/{ComponentLifecycle.stories.mdx → ComponentLifecycle.mdx} +1 -1
  19. package/dist/ContactItem/ContactItem.styles.js +5 -5
  20. package/dist/Content/Content.styles.js +2 -2
  21. package/dist/DateInput/DateInput.styles.js +6 -6
  22. package/dist/DetailPage/DetailPage.styles.js +7 -7
  23. package/dist/Dropdown/Dropdown.styles.js +3 -3
  24. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  25. package/dist/Dropzone/Dropzone.js +1 -1
  26. package/dist/Dropzone/Dropzone.styles.js +9 -9
  27. package/dist/EmptyState/EmptyState.styles.js +6 -6
  28. package/dist/Field/Field.styles.js +3 -3
  29. package/dist/FileList/FileList.styles.js +4 -4
  30. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  31. package/dist/FileSelect/FileExplorer/FileExplorerModal.js +3 -1
  32. package/dist/FileSelect/FileExplorer/FileExplorerModal.js.map +1 -1
  33. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  34. package/dist/FileSelect/FileSelect.styles.js +2 -2
  35. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  36. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  37. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  38. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  39. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  40. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  41. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  42. package/dist/FileToken/FileToken.styles.js +4 -4
  43. package/dist/FilterToken/FilterToken.styles.js +5 -5
  44. package/dist/FlexList/FlexList.styles.js +1 -1
  45. package/dist/Form/Form.styles.js +14 -14
  46. package/dist/Form/StyledFormikForm.styles.js +2 -2
  47. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  48. package/dist/Grid/Grid.styles.js +2 -2
  49. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  50. package/dist/Input/Input.styles.js +1 -1
  51. package/dist/Link/Link.styles.js +1 -1
  52. package/dist/ListPage/ListPage.styles.js +8 -8
  53. package/dist/Loader/Loader.styles.js +2 -2
  54. package/dist/MenuImperative/MenuImperative.d.ts +2 -2
  55. package/dist/MenuImperative/MenuImperative.js +10 -5
  56. package/dist/MenuImperative/MenuImperative.js.map +1 -1
  57. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  58. package/dist/MenuImperative/MenuImperative.types.d.ts +6 -0
  59. package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
  60. package/dist/MenuImperative/index.d.ts +1 -1
  61. package/dist/Modal/Modal.styles.js +13 -13
  62. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  63. package/dist/NextMenu/NextMenu.styles.js +3 -3
  64. package/dist/Notation/Notation.js +1 -1
  65. package/dist/NumberInput/NumberInput.styles.js +7 -7
  66. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  67. package/dist/PageLayout/PageLayout.styles.js +16 -16
  68. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  69. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  70. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  71. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  72. package/dist/Pagination/Pagination.styles.js +5 -5
  73. package/dist/Panel/Panel.styles.js +11 -11
  74. package/dist/Pill/Pill.styles.js +3 -3
  75. package/dist/PillSelect/PillSelect.styles.js +4 -4
  76. package/dist/Popover/Popover.styles.js +2 -2
  77. package/dist/Portal/Portal.styles.js +1 -1
  78. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  79. package/dist/RadioButton/RadioButton.styles.js +3 -3
  80. package/dist/Required/Required.styles.js +3 -3
  81. package/dist/Search/Search.styles.js +5 -5
  82. package/dist/Section/Section.styles.js +7 -7
  83. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  84. package/dist/Select/Select.styles.js +7 -7
  85. package/dist/Semantic/Semantic.styles.js +9 -9
  86. package/dist/Slider/Slider.styles.js +5 -5
  87. package/dist/Spinner/Spinner.styles.js +7 -7
  88. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  89. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  90. package/dist/SuperSelect/SuperSelect.styles.js +38 -38
  91. package/dist/SuperSelect/SuperSelect.types.d.ts +1 -0
  92. package/dist/SuperSelect/SuperSelect.types.js.map +1 -1
  93. package/dist/SuperSelect/useSuperSelect.js +29 -25
  94. package/dist/SuperSelect/useSuperSelect.js.map +1 -1
  95. package/dist/Switch/Switch.styles.js +4 -4
  96. package/dist/Table/Table.styles.js +28 -28
  97. package/dist/TableShelf/TableShelf.styles.js +5 -5
  98. package/dist/Tabs/Tabs.styles.js +15 -15
  99. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  100. package/dist/TextArea/TextArea.styles.js +1 -1
  101. package/dist/TextEditor/TextEditor.js +10 -8
  102. package/dist/TextEditor/TextEditor.js.map +1 -1
  103. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  104. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  105. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  106. package/dist/TieredSelect/TierSelectionTieredSelect.js +5 -3
  107. package/dist/TieredSelect/TierSelectionTieredSelect.js.map +1 -1
  108. package/dist/TieredSelect/TieredSelect.js +3 -1
  109. package/dist/TieredSelect/TieredSelect.js.map +1 -1
  110. package/dist/TieredSelect/TieredSelect.styles.d.ts +1 -1
  111. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  112. package/dist/TieredSelect/TieredSelect.types.d.ts +6 -0
  113. package/dist/TieredSelect/TieredSelect.types.js.map +1 -1
  114. package/dist/TieredSelect/TieredSelectMenu.js +12 -13
  115. package/dist/TieredSelect/TieredSelectMenu.js.map +1 -1
  116. package/dist/Tile/Tile.styles.js +8 -8
  117. package/dist/Title/Title.styles.js +7 -7
  118. package/dist/Toast/Toast.styles.js +3 -3
  119. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  120. package/dist/Token/Token.styles.js +3 -3
  121. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  122. package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
  123. package/dist/Tooltip/Tooltip.styles.js +2 -2
  124. package/dist/Tree/Tree.js +9 -1
  125. package/dist/Tree/Tree.js.map +1 -1
  126. package/dist/Tree/Tree.styles.js +9 -9
  127. package/dist/Typeahead/Typeahead.styles.js +3 -3
  128. package/dist/Typography/Typography.styles.js +1 -1
  129. package/dist/Typography/Typography.table.story.js +2 -2
  130. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  131. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  132. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
  133. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  134. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +24 -24
  135. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  136. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  137. package/dist/_typedoc/Box/Box.types.json +68 -68
  138. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  139. package/dist/_typedoc/Button/Button.types.json +13 -13
  140. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  141. package/dist/_typedoc/Card/Card.types.json +6 -6
  142. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  143. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  144. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  145. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  146. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  147. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  148. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +30 -30
  149. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  150. package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
  151. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  152. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  153. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  154. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  155. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  156. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  157. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  158. package/dist/_typedoc/Form/Form.types.json +764 -744
  159. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  160. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  161. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  162. package/dist/_typedoc/Input/Input.types.json +2 -2
  163. package/dist/_typedoc/Link/Link.types.json +1 -1
  164. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  165. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  166. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +77 -77
  167. package/dist/_typedoc/Modal/Modal.types.json +46 -46
  168. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  169. package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
  170. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  171. package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
  172. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +32 -32
  173. package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -26
  174. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  175. package/dist/_typedoc/Panel/Panel.types.json +30 -30
  176. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  177. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  178. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  179. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  180. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  181. package/dist/_typedoc/Required/Required.types.json +5 -5
  182. package/dist/_typedoc/Search/Search.types.json +18 -18
  183. package/dist/_typedoc/Section/Section.types.json +15 -15
  184. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  185. package/dist/_typedoc/Select/Select.types.json +60 -60
  186. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  187. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  188. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  189. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  190. package/dist/_typedoc/Table/Table.types.json +101 -101
  191. package/dist/_typedoc/Tabs/Tabs.types.json +20 -20
  192. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  193. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  194. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  195. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  196. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  197. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +52 -42
  198. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +38 -28
  199. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  200. package/dist/_typedoc/Title/Title.types.json +1 -1
  201. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  202. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  203. package/dist/_typedoc/Token/Token.types.json +7 -7
  204. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  205. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
  206. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  207. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  208. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  209. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  210. package/dist/_typedoc/_utils/types.json +3 -3
  211. package/package.json +8 -11
@@ -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$useState0","isCropped","setCropped","registerRowEl","entry","rootBounds","left","boundingClientRect","root","rootMargin","threshold","selectionLimitMessage","unsupportedFileTypeMessage","message","trigger","overlay","t","placement","_ref0","_excluded5","$isSelectable","$isHighlighted","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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"}
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","role","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$useState0","isCropped","setCropped","registerRowEl","entry","rootBounds","left","boundingClientRect","root","rootMargin","threshold","selectionLimitMessage","unsupportedFileTypeMessage","message","trigger","overlay","t","placement","_ref0","_excluded5","$isSelectable","$isHighlighted","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 ? (\n <Folder role=\"img\" aria-label=\"Folder\" aria-hidden={false} />\n ) : (\n <File role=\"img\" aria-label=\"File\" aria-hidden={false} />\n )\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,11 +5,11 @@ 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-12_33_0__sc-2d45b5-0"
8
+ componentId: "core-12_34_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-12_33_0__sc-2d45b5-1"
12
+ componentId: "core-12_34_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
  shouldForwardProp: function shouldForwardProp(prop) {
@@ -17,7 +17,7 @@ export var StyledTreeRowContainer = /*#__PURE__*/styled(Typography).withConfig({
17
17
  }
18
18
  }).withConfig({
19
19
  displayName: "StyledTreeRowContainer",
20
- componentId: "core-12_33_0__sc-2d45b5-2"
20
+ componentId: "core-12_34_0__sc-2d45b5-2"
21
21
  })(["display:flex;align-items:center;height:36px;background:transparent;box-shadow:inset 4px 0px 0px transparent;cursor:default;outline:none;", " &:hover{background:", ";}", " ", ""], function (_ref) {
22
22
  var isSelectable = _ref.isSelectable,
23
23
  $isSelectable = _ref.$isSelectable;
@@ -35,30 +35,30 @@ export var StyledTreeRowContainer = /*#__PURE__*/styled(Typography).withConfig({
35
35
  });
36
36
  export var StyledTreeRowContent = /*#__PURE__*/styled.div.withConfig({
37
37
  displayName: "StyledTreeRowContent",
38
- componentId: "core-12_33_0__sc-2d45b5-3"
38
+ componentId: "core-12_34_0__sc-2d45b5-3"
39
39
  })(["display:flex;align-items:center;"]);
40
40
  export var StyledTreeRowWrapper = /*#__PURE__*/styled.div.withConfig({
41
41
  displayName: "StyledTreeRowWrapper",
42
- componentId: "core-12_33_0__sc-2d45b5-4"
42
+ componentId: "core-12_34_0__sc-2d45b5-4"
43
43
  })(["outline:none;"]);
44
44
  var StyledIconBase = /*#__PURE__*/styled(Box).withConfig({
45
45
  displayName: "StyledIconBase",
46
- componentId: "core-12_33_0__sc-2d45b5-5"
46
+ componentId: "core-12_34_0__sc-2d45b5-5"
47
47
  })(["display:flex;justify-content:center;align-items:center;width:24px;height:24px;min-width:24px;min-height:24px;"]);
48
48
  export var StyledChevronContainer = /*#__PURE__*/styled(StyledIconBase).withConfig({
49
49
  displayName: "StyledChevronContainer",
50
- componentId: "core-12_33_0__sc-2d45b5-6"
50
+ componentId: "core-12_34_0__sc-2d45b5-6"
51
51
  })([""]);
52
52
  export var StyledIconContainer = /*#__PURE__*/styled(StyledIconBase).withConfig({
53
53
  displayName: "StyledIconContainer",
54
- componentId: "core-12_33_0__sc-2d45b5-7"
54
+ componentId: "core-12_34_0__sc-2d45b5-7"
55
55
  })(["color:", ";"], function (_ref4) {
56
56
  var $isSelected = _ref4.$isSelected;
57
57
  return $isSelected ? colors.blue45 : colors.gray40;
58
58
  });
59
59
  export var StyledChevron = /*#__PURE__*/styled(ChevronRight).withConfig({
60
60
  displayName: "StyledChevron",
61
- componentId: "core-12_33_0__sc-2d45b5-8"
61
+ componentId: "core-12_34_0__sc-2d45b5-8"
62
62
  })(["transform:rotate(", "deg);transition:transform 150ms ease-out;"], function (_ref5) {
63
63
  var $isExpanded = _ref5.$isExpanded;
64
64
  return $isExpanded ? 90 : 0;
@@ -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-12_33_0__sc-gpc39h-0"
8
+ componentId: "core-12_34_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-12_33_0__sc-gpc39h-1"
12
+ componentId: "core-12_34_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-12_33_0__sc-gpc39h-2"
20
+ componentId: "core-12_34_0__sc-gpc39h-2"
21
21
  })(["position:relative;width:100%;"]);
22
22
  //# sourceMappingURL=Typeahead.styles.js.map
@@ -35,7 +35,7 @@ export var semiboldRules = function semiboldRules() {
35
35
  };
36
36
  export var StyledTypography = /*#__PURE__*/styled.span.withConfig({
37
37
  displayName: "StyledTypography",
38
- componentId: "core-12_33_0__sc-1c4583t-0"
38
+ componentId: "core-12_34_0__sc-1c4583t-0"
39
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;
@@ -5,11 +5,11 @@ import { colors } from '../_styles/colors';
5
5
  import { getTypographyIntent } from './Typography.styles';
6
6
  var StyledBodyCell = /*#__PURE__*/styled(Table.BodyCell).withConfig({
7
7
  displayName: "StyledBodyCell",
8
- componentId: "core-12_33_0__sc-p4v7d-0"
8
+ componentId: "core-12_34_0__sc-p4v7d-0"
9
9
  })([""]);
10
10
  var StyledTextCell = /*#__PURE__*/styled(Table.TextCell).withConfig({
11
11
  displayName: "StyledTextCell",
12
- componentId: "core-12_33_0__sc-p4v7d-1"
12
+ componentId: "core-12_34_0__sc-p4v7d-1"
13
13
  })(["", " color:", ";"], getTypographyIntent('body'), colors.blue50);
14
14
  function BodyCell() {
15
15
  return /*#__PURE__*/React.createElement(StyledBodyCell, {
@@ -2,6 +2,6 @@ import styled from 'styled-components';
2
2
  import { Typography } from '../../Typography';
3
3
  export var StyledDeprecation = /*#__PURE__*/styled(Typography).withConfig({
4
4
  displayName: "StyledDeprecation",
5
- componentId: "core-12_33_0__sc-ojy3xo-0"
5
+ componentId: "core-12_34_0__sc-ojy3xo-0"
6
6
  })(["display:block;margin-bottom:16px;"]);
7
7
  //# sourceMappingURL=Deprecation.styles.js.map
@@ -6,11 +6,11 @@ import styled from 'styled-components';
6
6
  import { colors } from '../../_styles/colors';
7
7
  var StyledCell = /*#__PURE__*/styled.div.withConfig({
8
8
  displayName: "StyledCell",
9
- componentId: "core-12_33_0__sc-7owp8g-0"
9
+ componentId: "core-12_34_0__sc-7owp8g-0"
10
10
  })(["display:flex;align-items:center;justify-content:center;padding:0 48px;border-bottom:1px dashed ", ";border-right:1px dashed ", ";"], colors.gray90, colors.gray90);
11
11
  var StyledGrid = /*#__PURE__*/styled.div.withConfig({
12
12
  displayName: "StyledGrid",
13
- componentId: "core-12_33_0__sc-7owp8g-1"
13
+ componentId: "core-12_34_0__sc-7owp8g-1"
14
14
  })(["align-items:center;justify-content:center;display:grid;gap:0;border-top:1px dashed ", ";border-left:1px dashed ", ";grid-template-columns:repeat( ", ",minmax(0,1fr) );height:100%;width:100%;", "{min-height:", "px;overflow:hidden;}"], colors.gray90, colors.gray90, function (_ref) {
15
15
  var _ref$$columns = _ref.$columns,
16
16
  $columns = _ref$$columns === void 0 ? 1 : _ref$$columns;
@@ -21,7 +21,7 @@ var StyledGrid = /*#__PURE__*/styled.div.withConfig({
21
21
  });
22
22
  var StyledGridContainer = /*#__PURE__*/styled.div.withConfig({
23
23
  displayName: "StyledGridContainer",
24
- componentId: "core-12_33_0__sc-7owp8g-2"
24
+ componentId: "core-12_34_0__sc-7owp8g-2"
25
25
  })(["height:100%;padding:24px;width:100%;"]);
26
26
  export var StoryGrid = function StoryGrid(_ref3) {
27
27
  var children = _ref3.children,
@@ -10,7 +10,7 @@
10
10
  "description": "An array of sections used in the anchor navigation.",
11
11
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>An array of sections used in the anchor navigation.</p>\n</div><dl class=\"tsd-comment-tags\"><dt>since</dt><dd><p>12.18.0</p>\n</dd></dl></div>",
12
12
  "sourceFile": "packages/core-react/src/AnchorNavigation/AnchorNavigation.types.tsx",
13
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/AnchorNavigation/AnchorNavigation.types.tsx#L15"
13
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/AnchorNavigation/AnchorNavigation.types.tsx#L15"
14
14
  },
15
15
  {
16
16
  "name": "selected",
@@ -20,7 +20,7 @@
20
20
  "description": "The ID of the currently selected section.",
21
21
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>The ID of the currently selected section.</p>\n</div><dl class=\"tsd-comment-tags\"><dt>since</dt><dd><p>12.18.0</p>\n</dd></dl></div>",
22
22
  "sourceFile": "packages/core-react/src/AnchorNavigation/AnchorNavigation.types.tsx",
23
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/AnchorNavigation/AnchorNavigation.types.tsx#L20"
23
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/AnchorNavigation/AnchorNavigation.types.tsx#L20"
24
24
  },
25
25
  {
26
26
  "name": "onSelect",
@@ -30,7 +30,7 @@
30
30
  "description": "Callback function to update the selected section ID.",
31
31
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>Callback function to update the selected section ID.</p>\n</div><dl class=\"tsd-comment-tags\"><dt>since</dt><dd><p>12.18.0</p>\n</dd></dl></div>",
32
32
  "sourceFile": "packages/core-react/src/AnchorNavigation/AnchorNavigation.types.tsx",
33
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/AnchorNavigation/AnchorNavigation.types.tsx#L25"
33
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/AnchorNavigation/AnchorNavigation.types.tsx#L25"
34
34
  }
35
35
  ],
36
36
  "description": ""
@@ -10,7 +10,7 @@
10
10
  "description": "",
11
11
  "descriptionHtml": "",
12
12
  "sourceFile": "packages/core-react/src/_utils/types.ts",
13
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L42"
13
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L42"
14
14
  },
15
15
  {
16
16
  "name": "className",
@@ -20,7 +20,7 @@
20
20
  "description": "Additional classNames",
21
21
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>Additional classNames</p>\n</div></div>",
22
22
  "sourceFile": "packages/core-react/src/_utils/types.ts",
23
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L47"
23
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L47"
24
24
  },
25
25
  {
26
26
  "name": "icon",
@@ -30,7 +30,7 @@
30
30
  "description": "The icon to display",
31
31
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>The icon to display</p>\n</div><dl class=\"tsd-comment-tags\"><dt>since</dt><dd><p>10.19.0</p>\n</dd></dl></div>",
32
32
  "sourceFile": "packages/core-react/src/Avatar/Avatar.types.ts",
33
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/Avatar/Avatar.types.ts#L100"
33
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/Avatar/Avatar.types.ts#L100"
34
34
  },
35
35
  {
36
36
  "name": "style",
@@ -40,7 +40,7 @@
40
40
  "description": "Additional CSS styles",
41
41
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>Additional CSS styles</p>\n</div></div>",
42
42
  "sourceFile": "packages/core-react/src/_utils/types.ts",
43
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L52"
43
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L52"
44
44
  }
45
45
  ],
46
46
  "description": ""
@@ -56,7 +56,7 @@
56
56
  "description": "",
57
57
  "descriptionHtml": "",
58
58
  "sourceFile": "packages/core-react/src/_utils/types.ts",
59
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L42"
59
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L42"
60
60
  },
61
61
  {
62
62
  "name": "className",
@@ -66,7 +66,7 @@
66
66
  "description": "Additional classNames",
67
67
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>Additional classNames</p>\n</div></div>",
68
68
  "sourceFile": "packages/core-react/src/_utils/types.ts",
69
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L47"
69
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L47"
70
70
  },
71
71
  {
72
72
  "name": "style",
@@ -76,7 +76,7 @@
76
76
  "description": "Additional CSS styles",
77
77
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>Additional CSS styles</p>\n</div></div>",
78
78
  "sourceFile": "packages/core-react/src/_utils/types.ts",
79
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L52"
79
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L52"
80
80
  }
81
81
  ],
82
82
  "description": ""
@@ -92,7 +92,7 @@
92
92
  "description": "",
93
93
  "descriptionHtml": "",
94
94
  "sourceFile": "packages/core-react/src/Avatar/Avatar.types.ts",
95
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/Avatar/Avatar.types.ts#L12"
95
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/Avatar/Avatar.types.ts#L12"
96
96
  },
97
97
  {
98
98
  "name": "img",
@@ -102,7 +102,7 @@
102
102
  "description": "",
103
103
  "descriptionHtml": "",
104
104
  "sourceFile": "packages/core-react/src/Avatar/Avatar.types.ts",
105
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/Avatar/Avatar.types.ts#L13"
105
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/Avatar/Avatar.types.ts#L13"
106
106
  },
107
107
  {
108
108
  "name": "link",
@@ -112,7 +112,7 @@
112
112
  "description": "",
113
113
  "descriptionHtml": "",
114
114
  "sourceFile": "packages/core-react/src/Avatar/Avatar.types.ts",
115
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/Avatar/Avatar.types.ts#L14"
115
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/Avatar/Avatar.types.ts#L14"
116
116
  }
117
117
  ],
118
118
  "description": ""
@@ -128,7 +128,7 @@
128
128
  "description": "",
129
129
  "descriptionHtml": "",
130
130
  "sourceFile": "packages/core-react/src/_utils/types.ts",
131
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L42"
131
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L42"
132
132
  },
133
133
  {
134
134
  "name": "className",
@@ -138,7 +138,7 @@
138
138
  "description": "Additional classNames",
139
139
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>Additional classNames</p>\n</div></div>",
140
140
  "sourceFile": "packages/core-react/src/_utils/types.ts",
141
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L47"
141
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L47"
142
142
  },
143
143
  {
144
144
  "name": "imageUrl",
@@ -148,7 +148,7 @@
148
148
  "description": "The Avatar rich media url",
149
149
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>The Avatar rich media url</p>\n</div><dl class=\"tsd-comment-tags\"><dt>since</dt><dd><p>10.19.0</p>\n</dd></dl></div>",
150
150
  "sourceFile": "packages/core-react/src/Avatar/Avatar.types.ts",
151
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/Avatar/Avatar.types.ts#L108"
151
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/Avatar/Avatar.types.ts#L108"
152
152
  },
153
153
  {
154
154
  "name": "style",
@@ -158,7 +158,7 @@
158
158
  "description": "Additional CSS styles",
159
159
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>Additional CSS styles</p>\n</div></div>",
160
160
  "sourceFile": "packages/core-react/src/_utils/types.ts",
161
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L52"
161
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L52"
162
162
  }
163
163
  ],
164
164
  "description": ""
@@ -174,7 +174,7 @@
174
174
  "description": "",
175
175
  "descriptionHtml": "",
176
176
  "sourceFile": "packages/core-react/src/_utils/types.ts",
177
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L42"
177
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L42"
178
178
  },
179
179
  {
180
180
  "name": "className",
@@ -184,7 +184,7 @@
184
184
  "description": "Additional classNames",
185
185
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>Additional classNames</p>\n</div></div>",
186
186
  "sourceFile": "packages/core-react/src/_utils/types.ts",
187
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L47"
187
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L47"
188
188
  },
189
189
  {
190
190
  "name": "clickable",
@@ -197,7 +197,7 @@
197
197
  "deprecated": "Reviewing for removal from system, prefer accessible `role=\"link\"` or `role=\"button\"` for interactive UI.",
198
198
  "deprecatedSince": "TBD",
199
199
  "sourceFile": "packages/core-react/src/Avatar/Avatar.types.ts",
200
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/Avatar/Avatar.types.ts#L34"
200
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/Avatar/Avatar.types.ts#L34"
201
201
  },
202
202
  {
203
203
  "name": "disabled",
@@ -208,7 +208,7 @@
208
208
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>Sets the Avatar&#39;s disabled state</p>\n</div><dl class=\"tsd-comment-tags\"><dt>defaultvalue</dt><dd><p>false</p>\n</dd></dl></div>",
209
209
  "defaultValue": "false\n",
210
210
  "sourceFile": "packages/core-react/src/Avatar/Avatar.types.ts",
211
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/Avatar/Avatar.types.ts#L40"
211
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/Avatar/Avatar.types.ts#L40"
212
212
  },
213
213
  {
214
214
  "name": "size",
@@ -221,7 +221,7 @@
221
221
  "deprecated": "\n\nSize \"xl\" been deprecated and will be removed in a future version.\nPlease use \"lg\" instead of \"xl\".\n\n**Before**\n\n`<Avatar size=\"xl\" />`\n\n**After**\n\n`<Avatar size=\"lg\" />`\n",
222
222
  "deprecatedSince": "10.20.0",
223
223
  "sourceFile": "packages/core-react/src/Avatar/Avatar.types.ts",
224
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/Avatar/Avatar.types.ts#L62"
224
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/Avatar/Avatar.types.ts#L62"
225
225
  },
226
226
  {
227
227
  "name": "style",
@@ -231,7 +231,7 @@
231
231
  "description": "Additional CSS styles",
232
232
  "descriptionHtml": "<div class=\"tsd-comment tsd-typography\"><div class=\"lead\">\n<p>Additional CSS styles</p>\n</div></div>",
233
233
  "sourceFile": "packages/core-react/src/_utils/types.ts",
234
- "sourceUrl": "https://github.com/procore/core/blob/f6f4377/packages/core-react/src/_utils/types.ts#L52"
234
+ "sourceUrl": "https://github.com/procore/core/blob/20bd7fa/packages/core-react/src/_utils/types.ts#L52"
235
235
  }
236
236
  ],
237
237
  "description": ""