@procore/core-react 12.51.0 → 12.52.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 (219) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/AnchorNavigation/AnchorNavigation.styles.js +4 -4
  3. package/dist/Avatar/Avatar.styles.js +5 -5
  4. package/dist/AvatarStack/AvatarStack.styles.js +8 -8
  5. package/dist/Badge/Badge.styles.js +2 -2
  6. package/dist/BadgePill/BadgePill.styles.js +4 -4
  7. package/dist/Banner/Banner.d.ts +7 -5
  8. package/dist/Banner/Banner.js +146 -71
  9. package/dist/Banner/Banner.js.map +1 -1
  10. package/dist/Banner/Banner.styles.js +10 -10
  11. package/dist/Banner/Banner.types.d.ts +16 -0
  12. package/dist/Banner/Banner.types.js.map +1 -1
  13. package/dist/Box/Box.styles.js +1 -1
  14. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  15. package/dist/Button/Button.styles.js +5 -5
  16. package/dist/Calendar/Calendar.styles.js +9 -9
  17. package/dist/Card/Card.styles.js +1 -1
  18. package/dist/Checkbox/Checkbox.styles.js +6 -6
  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 +6 -7
  25. package/dist/DropdownFlyout/DropdownFlyout.styles.js.map +1 -1
  26. package/dist/DropdownFlyout/useDropdownFlyoutOverlay.js +13 -1
  27. package/dist/DropdownFlyout/useDropdownFlyoutOverlay.js.map +1 -1
  28. package/dist/Dropzone/Dropzone.js +1 -1
  29. package/dist/Dropzone/Dropzone.styles.d.ts +2 -2
  30. package/dist/Dropzone/Dropzone.styles.js +9 -9
  31. package/dist/EmptyState/EmptyState.styles.js +6 -6
  32. package/dist/Field/Field.styles.js +3 -3
  33. package/dist/FileList/FileList.styles.js +3 -3
  34. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  35. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  36. package/dist/FileSelect/FileSelect.styles.js +2 -2
  37. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  38. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  39. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  40. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  41. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  42. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  43. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  44. package/dist/FileToken/FileToken.styles.js +6 -6
  45. package/dist/FilterToken/FilterToken.styles.js +5 -5
  46. package/dist/FlexList/FlexList.styles.js +1 -1
  47. package/dist/Form/Form.styles.js +13 -13
  48. package/dist/Form/StyledFormikForm.styles.js +2 -2
  49. package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
  50. package/dist/Grid/Grid.styles.js +2 -2
  51. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  52. package/dist/Input/Input.styles.js +1 -1
  53. package/dist/Link/Link.styles.js +1 -1
  54. package/dist/ListPage/ListPage.styles.js +8 -8
  55. package/dist/Loader/Loader.styles.js +2 -2
  56. package/dist/MenuImperative/MenuImperative.styles.js +11 -11
  57. package/dist/Modal/Modal.styles.js +13 -13
  58. package/dist/MultiSelect/MultiSelect.styles.js +8 -8
  59. package/dist/NextMenu/NextMenu.styles.js +3 -3
  60. package/dist/NextTile/NextTile.styles.js +5 -5
  61. package/dist/Notation/Notation.js +1 -1
  62. package/dist/NumberInput/NumberInput.styles.js +7 -7
  63. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  64. package/dist/Overlay/useOverlay.d.ts +2 -1
  65. package/dist/Overlay/useOverlay.js +4 -2
  66. package/dist/Overlay/useOverlay.js.map +1 -1
  67. package/dist/PageLayout/PageLayout.js +4 -2
  68. package/dist/PageLayout/PageLayout.js.map +1 -1
  69. package/dist/PageLayout/PageLayout.styles.d.ts +0 -1
  70. package/dist/PageLayout/PageLayout.styles.js +18 -19
  71. package/dist/PageLayout/PageLayout.styles.js.map +1 -1
  72. package/dist/PageLayout/PageLayout.types.d.ts +11 -3
  73. package/dist/PageLayout/PageLayout.types.js.map +1 -1
  74. package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
  75. package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
  76. package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
  77. package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
  78. package/dist/Pagination/Pagination.styles.js +5 -5
  79. package/dist/Panel/Panel.styles.js +11 -11
  80. package/dist/Pill/Pill.styles.js +3 -3
  81. package/dist/PillSelect/PillSelect.styles.js +4 -4
  82. package/dist/Popover/Popover.styles.js +2 -2
  83. package/dist/Portal/Portal.styles.js +1 -1
  84. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  85. package/dist/RadioButton/RadioButton.styles.js +3 -3
  86. package/dist/Required/Required.styles.js +3 -3
  87. package/dist/Search/Search.styles.js +5 -5
  88. package/dist/Section/Section.styles.js +7 -7
  89. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  90. package/dist/Select/Select.styles.js +8 -8
  91. package/dist/Semantic/Semantic.styles.js +9 -9
  92. package/dist/Slider/Slider.styles.js +5 -5
  93. package/dist/Spinner/Spinner.styles.js +7 -7
  94. package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
  95. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  96. package/dist/SuperSelect/SuperSelect.styles.js +40 -40
  97. package/dist/Switch/Switch.styles.js +4 -4
  98. package/dist/Table/Table.styles.js +29 -29
  99. package/dist/TableShelf/TableShelf.styles.js +5 -5
  100. package/dist/Tabs/Tabs.js +2 -1
  101. package/dist/Tabs/Tabs.js.map +1 -1
  102. package/dist/Tabs/Tabs.styles.d.ts +1 -0
  103. package/dist/Tabs/Tabs.styles.js +29 -26
  104. package/dist/Tabs/Tabs.styles.js.map +1 -1
  105. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  106. package/dist/TextArea/TextArea.styles.js +1 -1
  107. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  108. package/dist/Thumbnail/Thumbnail.js +99 -37
  109. package/dist/Thumbnail/Thumbnail.js.map +1 -1
  110. package/dist/Thumbnail/Thumbnail.styles.js +23 -23
  111. package/dist/Thumbnail/Thumbnail.styles.js.map +1 -1
  112. package/dist/Thumbnail/Thumbnail.types.d.ts +1 -0
  113. package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
  114. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  115. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  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 +5 -5
  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 +3 -3
  124. package/dist/Tree/Tree.js +46 -21
  125. package/dist/Tree/Tree.js.map +1 -1
  126. package/dist/Tree/Tree.styles.d.ts +1 -0
  127. package/dist/Tree/Tree.styles.js +17 -14
  128. package/dist/Tree/Tree.styles.js.map +1 -1
  129. package/dist/Tree/Tree.types.d.ts +10 -0
  130. package/dist/Tree/Tree.types.js.map +1 -1
  131. package/dist/Typeahead/Typeahead.styles.js +4 -4
  132. package/dist/Typography/Typography.styles.js +1 -1
  133. package/dist/Typography/Typography.table.story.js +2 -2
  134. package/dist/_hooks/I18n.d.ts +12 -0
  135. package/dist/_locales/en.json +7 -1
  136. package/dist/_locales/pseudo.json +8 -2
  137. package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
  138. package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
  139. package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +4 -4
  140. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  141. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +25 -25
  142. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  143. package/dist/_typedoc/Banner/Banner.types.json +37 -15
  144. package/dist/_typedoc/Box/Box.types.json +68 -68
  145. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +12 -12
  146. package/dist/_typedoc/Button/Button.types.json +14 -14
  147. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  148. package/dist/_typedoc/Card/Card.types.json +6 -6
  149. package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
  150. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  151. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  152. package/dist/_typedoc/DateSelect/DateSelect.types.json +14 -14
  153. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  154. package/dist/_typedoc/Dropdown/Dropdown.types.json +38 -38
  155. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +32 -32
  156. package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
  157. package/dist/_typedoc/EmptyState/EmptyState.types.json +18 -18
  158. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  159. package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
  160. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  161. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  162. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  163. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  164. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  165. package/dist/_typedoc/Form/Form.types.json +770 -770
  166. package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
  167. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  168. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +54 -54
  169. package/dist/_typedoc/Input/Input.types.json +2 -2
  170. package/dist/_typedoc/Link/Link.types.json +1 -1
  171. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  172. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  173. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +84 -84
  174. package/dist/_typedoc/Modal/Modal.types.json +48 -48
  175. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +33 -33
  176. package/dist/_typedoc/NextTile/NextTile.types.json +33 -33
  177. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  178. package/dist/_typedoc/NumberInput/NumberInput.types.json +52 -52
  179. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +33 -33
  180. package/dist/_typedoc/PageLayout/PageLayout.types.json +58 -45
  181. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  182. package/dist/_typedoc/Panel/Panel.types.json +28 -28
  183. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  184. package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
  185. package/dist/_typedoc/Popover/Popover.types.json +15 -15
  186. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
  187. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  188. package/dist/_typedoc/Required/Required.types.json +5 -5
  189. package/dist/_typedoc/Search/Search.types.json +18 -18
  190. package/dist/_typedoc/Section/Section.types.json +15 -15
  191. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
  192. package/dist/_typedoc/Select/Select.types.json +67 -67
  193. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  194. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  195. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  196. package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
  197. package/dist/_typedoc/Table/Table.types.json +105 -105
  198. package/dist/_typedoc/Tabs/Tabs.types.json +23 -23
  199. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
  200. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  201. package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
  202. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  203. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  204. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
  205. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
  206. package/dist/_typedoc/Tile/Tile.types.json +8 -8
  207. package/dist/_typedoc/Title/Title.types.json +1 -1
  208. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  209. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
  210. package/dist/_typedoc/Token/Token.types.json +7 -7
  211. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  212. package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
  213. package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
  214. package/dist/_typedoc/Tree/Tree.types.json +118 -88
  215. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  216. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  217. package/dist/_typedoc/_utils/types.json +3 -3
  218. package/dist/_typedoc/a11y-tips.json +1 -1
  219. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","names":["CaretDown","CaretUp","React","useButton","MenuImperative","OverlayTrigger","useOverlayTriggerContext","useI18nContext","useResize","spacing","addSubcomponents","getBoundingRect","mergeRefs","getStyledComponents","StyledOverlay","StyledTabList","StyledTabs","ExtraTabSpacing","xxl","HelixHeaderExtraTabSpacing","sm","noop","ROVING_TAB_KEYS","moveRovingFocusWithinTablist","event","key","includes","preventDefault","current","currentTarget","tablist","closest","tabs","Array","from","querySelectorAll","filter","tab","hasAttribute","styles","window","getComputedStyle","isHidden","visibility","pointerEvents","length","currentIndex","indexOf","nextIndex","nextTab","tabIndex","focus","Link","forwardRef","_ref","ref","children","_ref$UNSAFE_helixHead","UNSAFE_helixHeader","props","_objectWithoutProperties","_excluded","Styled","createElement","_extends","TabInternal","_ref2","as","disabled","role","_ref2$active","active","_ref2$selected","selected","onBlur","onFocus","_ref2$onMount","onMount","_ref2$onUnmount","onUnmount","_ref2$overflowing","overflowing","_ref2$dropdown","dropdown","_ref2$variant","variant","_ref2$UNSAFE_helixHea","_excluded2","_ref3","onPress","onClick","value","buttonPropsBase","_excluded3","elementType","_useButton","_objectSpread","isDisabled","type","buttonProps","shouldDefaultToButton","onTablistTabKeyDown","defaultPrevented","click","a11yProps","$clickable","id","onKeyDown","href","innerRef","useRef","useEffect","validChild","isValidElement","tabSelected","roleSpecificProps","Tab","$selected","$dark","dark","TabInner","cloneElement","undefined","MoreMenu","_ref4","ctx","menuRef","_menuRef$current","_menuRef$current$el","_menuRef$current2","_menuRef$current3","el","highlightFirst","highlightSelected","onSelect","selection","hide","onChangeActiveDescendant","Options","Children","map","child","i","Item","item","Tabs_","Tabs","_ref5","className","_ref5$dark","qa","_ref5$UNSAFE_helixHea","_excluded4","i18n","_React$useState","useState","_React$useState2","_slicedToArray","moreMenuIsShown","setMoreMenuIsShown","_React$useState3","_React$useState4","tabElements","setTabElements","_React$useState5","_React$useState6","cutoffIndex","setCutoffIndex","containerRef","recalculate","container","_tabElements$reduce","reduce","acc","rect","extraSpace","subtotals","concat","_toConsumableArray","total","width","index","findIndex","val","onResize","filtered","toArray","slice","isOverflowingSelected","some","moreButtonProps","onMoreKeyDown","moreDropdownTrigger","t","beforeShow","afterHide","trigger","placement","overlay","DropdownTab","DropdownTabInner","more","size","$index","elements","oldElements","MoreLi","$helix","displayName"],"sources":["../../src/Tabs/Tabs.tsx"],"sourcesContent":["import { CaretDown, CaretUp } from '@procore/core-icons/dist'\nimport React from 'react'\n\nimport { useButton } from '@react-aria/button'\nimport { MenuImperative } from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useResize } from '../_hooks/Resize'\nimport { spacing } from '../_styles/spacing'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { getBoundingRect } from '../_utils/dom'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport {\n getStyledComponents,\n StyledOverlay,\n StyledTabList,\n StyledTabs,\n} from './Tabs.styles'\nimport type {\n BaseTabProps,\n TabDropdownProps,\n TabProps,\n TabRef,\n TabRole,\n TabRoleType,\n TabsProps,\n} from './Tabs.types'\n\nconst ExtraTabSpacing = spacing.xxl\nconst HelixHeaderExtraTabSpacing = spacing.sm\n\nfunction noop() {}\nconst ROVING_TAB_KEYS = ['ArrowRight', 'ArrowLeft', 'Home', 'End'] as const\n\nfunction moveRovingFocusWithinTablist(event: React.KeyboardEvent<HTMLElement>) {\n const key = event.key\n if (!ROVING_TAB_KEYS.includes(key as (typeof ROVING_TAB_KEYS)[number]))\n return false\n\n event.preventDefault()\n const current = event.currentTarget\n const tablist = current.closest('[role=\"tablist\"]')\n if (!tablist) return\n\n const tabs = Array.from(\n tablist.querySelectorAll<HTMLElement>('[role=\"tab\"], button')\n ).filter((tab) => {\n if (tab.hasAttribute('disabled')) return false\n\n const styles = window.getComputedStyle(tab)\n const isHidden =\n styles.visibility === 'hidden' || styles.pointerEvents === 'none'\n\n return !isHidden\n })\n if (!tabs.length) return\n\n const currentIndex = tabs.indexOf(current)\n if (currentIndex < 0) return\n\n let nextIndex = currentIndex\n if (key === 'ArrowRight') nextIndex = (currentIndex + 1) % tabs.length\n if (key === 'ArrowLeft')\n nextIndex = (currentIndex - 1 + tabs.length) % tabs.length\n if (key === 'Home') nextIndex = 0\n if (key === 'End') nextIndex = tabs.length - 1\n\n const nextTab = tabs[nextIndex]\n current.tabIndex = -1\n nextTab.tabIndex = 0\n nextTab.focus()\n}\n\nexport const Link = React.forwardRef<\n HTMLSpanElement,\n React.HTMLAttributes<HTMLSpanElement> & {\n /** @deprecated @experimental Alternative style variant. To be used on Helix Header ONLY */\n UNSAFE_helixHeader?: boolean\n }\n>(function Link({ children, UNSAFE_helixHeader = false, ...props }, ref) {\n const Styled = getStyledComponents(UNSAFE_helixHeader)\n\n return (\n <Styled.Link ref={ref} {...props}>\n {children}\n </Styled.Link>\n )\n})\n\nfunction TabInternal(\n {\n as,\n disabled,\n role,\n active = false,\n selected = false,\n children,\n onBlur,\n onFocus,\n onMount = noop,\n onUnmount = noop,\n overflowing = false,\n dropdown = false,\n variant = '',\n UNSAFE_helixHeader = false,\n ...props\n }: TabProps<TabRoleType>,\n ref: TabRef<TabRoleType>\n) {\n const { onPress, onClick, value, ...buttonPropsBase } =\n props as TabProps<'button'>\n\n const elementType =\n role === 'link' ? 'a' : role === 'button' ? 'button' : 'div'\n\n const { buttonProps } = useButton(\n {\n ...buttonPropsBase,\n onBlur: onBlur as (e: React.FocusEvent) => void,\n onFocus: onFocus as (e: React.FocusEvent) => void,\n elementType,\n isDisabled: disabled,\n // @ts-expect-error Type 'PressEvent' is missing properties from type 'MouseEvent<HTMLButtonElement, MouseEvent>', the expected type comes from property 'onPress' which is declared here on type 'AriaButtonOptions<ElementType>'\n onPress: onPress || onClick,\n type: 'button',\n },\n ref as unknown as React.RefObject<HTMLElement>\n )\n\n // See if we should make the component a button if event handlers are given.\n // The no role check addition allows overrides / opt-out, for like\n // role = presentation or role = link having click handlers for some reason.\n const shouldDefaultToButton = (!role && onPress) || (!role && onClick)\n\n function onTablistTabKeyDown(event: React.KeyboardEvent<HTMLElement>) {\n // props.onKeyDown?.(event)\n if (event.defaultPrevented) return\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n ;(event.currentTarget as HTMLElement).click()\n return\n }\n\n moveRovingFocusWithinTablist(event as React.KeyboardEvent<HTMLElement>)\n }\n\n const a11yProps =\n role === 'button' || shouldDefaultToButton\n ? {\n ...buttonProps,\n role: 'button',\n 'aria-current': selected || active,\n as: as || 'button',\n $clickable: !disabled,\n }\n : role === 'link'\n ? {\n ...buttonProps,\n role: 'link',\n 'aria-current': selected || active,\n as: as || 'a',\n $clickable: !disabled,\n }\n : role === 'tab'\n ? {\n role: 'tab',\n id: props.id,\n 'aria-controls': props['aria-controls'],\n 'aria-selected': selected || active ? true : false,\n tabIndex: selected || active ? 0 : -1,\n onBlur,\n onFocus,\n onClick: onClick || onPress,\n onKeyDown: onTablistTabKeyDown,\n as: as ? as : (props as TabProps<'link'>).href ? 'a' : 'button',\n }\n : { as, role, onBlur, onFocus }\n\n const innerRef = React.useRef<HTMLDivElement>(null)\n\n React.useEffect(() => {\n onMount(innerRef.current)\n return onUnmount\n }, [])\n\n const validChild = React.isValidElement(children)\n const tabSelected = active || variant === 'active' || selected\n\n const Styled = getStyledComponents(UNSAFE_helixHeader)\n\n // For button/link roles, spread buttonPropsBase to preserve useButton's onClick\n // For other roles, spread all props\n const roleSpecificProps =\n role === 'button' || role === 'link' || shouldDefaultToButton\n ? (buttonPropsBase as Omit<\n TabProps<'button'>,\n 'onPress' | 'onClick' | 'value'\n >)\n : role === 'tab'\n ? (props as TabProps<'tab'>)\n : (props as TabProps<TabRoleType>)\n\n return (\n <Styled.Tab\n $selected={tabSelected}\n $dark={props.dark}\n ref={\n mergeRefs(\n (ref || null) as unknown as React.Ref<HTMLDivElement>,\n innerRef\n ) as unknown as React.RefCallback<HTMLDivElement>\n }\n {...(a11yProps as Record<string, unknown>)}\n {...(roleSpecificProps as Record<string, unknown>)}\n >\n <Styled.TabInner $selected={tabSelected} $dark={props.dark}>\n {validChild\n ? React.cloneElement(\n children as React.ReactElement<\n Record<string, unknown>,\n string | React.JSXElementConstructor<unknown>\n >,\n {\n 'aria-current': tabSelected ? true : undefined,\n }\n )\n : children}\n </Styled.TabInner>\n </Styled.Tab>\n )\n}\n\nexport const Tab = React.forwardRef(TabInternal) as <Role extends TabRole>(\n props:\n | TabProps<Role>\n | (BaseTabProps & { ref?: React.ComponentPropsWithRef<'div'>['ref'] })\n) => ReturnType<typeof TabInternal>\n\nexport const MoreMenu = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & TabDropdownProps\n>(function MoreMenu({ children, id, role }, ref) {\n const ctx = useOverlayTriggerContext()\n\n const menuRef = React.useRef<MenuRef | null>(null)\n\n React.useEffect(function () {\n menuRef.current?.el?.focus()\n menuRef.current?.highlightFirst()\n menuRef.current?.highlightSelected()\n }, [])\n\n function onSelect(selection: Selection) {\n ctx.hide(selection.event)\n }\n\n return (\n <StyledOverlay ref={ref}>\n <MenuImperative\n role=\"none\"\n id={id}\n ref={menuRef}\n onSelect={onSelect}\n onChangeActiveDescendant={() => null} // remove arrow keyboard\n >\n <MenuImperative.Options\n aria-label={null}\n // @ts-expect-error - JavaScript, Core-React use only for this specific hacky Tab case\n as=\"ol\"\n role=\"list\" // override MenuImperative forcing roles\n >\n {React.Children.map(children, (child, i) => {\n if (React.isValidElement<BaseTabProps>(child)) {\n return (\n <MenuImperative.Item\n as=\"li\"\n item={null}\n key={i}\n selected={child.props.selected || child.props.active}\n >\n {React.cloneElement(\n child as React.ReactElement<BaseTabProps>,\n {\n ref: null,\n tabIndex: 0,\n role:\n child.props.role === 'tab'\n ? undefined\n : child.props.role,\n } as Partial<BaseTabProps>\n )}\n </MenuImperative.Item>\n )\n }\n })}\n </MenuImperative.Options>\n </MenuImperative>\n </StyledOverlay>\n )\n})\n\nconst Tabs_ = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & TabsProps\n>(function Tabs(\n {\n children,\n className,\n dark = false,\n qa,\n UNSAFE_helixHeader = false,\n ...props\n },\n ref\n) {\n const i18n = useI18nContext()\n\n const [moreMenuIsShown, setMoreMenuIsShown] = React.useState(false)\n const [tabElements, setTabElements] = React.useState<\n (HTMLDivElement | null)[]\n >([])\n const [cutoffIndex, setCutoffIndex] = React.useState(0)\n\n const containerRef = React.useRef<HTMLDivElement>(null)\n\n function recalculate() {\n const container = getBoundingRect(containerRef.current!)\n\n const { subtotals } = tabElements.reduce(\n (acc, el) => {\n if (!el) {\n return acc\n }\n const rect = getBoundingRect(el)\n const extraSpace = UNSAFE_helixHeader\n ? HelixHeaderExtraTabSpacing\n : ExtraTabSpacing\n return {\n subtotals: [...acc.subtotals, acc.total + rect.width],\n total: acc.total + rect.width + extraSpace,\n }\n },\n { subtotals: new Array(), total: 0 }\n )\n\n const index = subtotals.findIndex((val: number) => val >= container.width)\n\n setCutoffIndex(index)\n }\n\n useResize({ onResize: recalculate })\n\n React.useEffect(recalculate)\n\n const filtered = React.Children.toArray(children).filter((child) => child)\n const overflowing = filtered.slice(cutoffIndex - 1)\n\n const isOverflowingSelected = React.Children.toArray(overflowing).some(\n (child) =>\n React.isValidElement(child) &&\n (child.props.active || child.props.selected)\n )\n\n const Styled = getStyledComponents(UNSAFE_helixHeader)\n\n const moreButtonProps =\n props.role === 'tablist'\n ? {\n role: 'tab',\n tabIndex: -1,\n onKeyDown: function onMoreKeyDown(\n event: React.KeyboardEvent<HTMLButtonElement>\n ) {\n moveRovingFocusWithinTablist(event)\n },\n }\n : {}\n const moreDropdownTrigger =\n cutoffIndex >= 1 ? (\n <OverlayTrigger\n aria-label={i18n.t('core.tabs.more')}\n beforeShow={() => setMoreMenuIsShown(true)}\n afterHide={() => setMoreMenuIsShown(false)}\n trigger=\"click\"\n placement=\"bottom-right\"\n overlay={<MoreMenu>{overflowing}</MoreMenu>}\n ref={ref}\n role=\"dialog\"\n >\n <Styled.DropdownTab\n $selected={isOverflowingSelected}\n $dark={dark}\n aria-hidden={!overflowing.length}\n as=\"button\"\n {...moreButtonProps}\n >\n <Styled.DropdownTabInner\n $selected={isOverflowingSelected}\n $dark={dark}\n >\n <Styled.Link data-qa={qa?.more}>\n {i18n.t('core.tabs.more')}\n </Styled.Link>\n {moreMenuIsShown ? <CaretUp size=\"sm\" /> : <CaretDown size=\"sm\" />}\n </Styled.DropdownTabInner>\n </Styled.DropdownTab>\n </OverlayTrigger>\n ) : null\n\n return (\n <StyledTabs\n ref={ref}\n role={props.role || 'group'}\n $dark={dark}\n $index={cutoffIndex}\n {...props}\n >\n <StyledTabList\n as={props.role === 'navigation' ? 'ul' : 'div'}\n ref={containerRef}\n >\n {filtered.map((child, i) => {\n if (React.isValidElement(child))\n return React.cloneElement(\n child as React.ReactElement<\n BaseTabProps & {\n as?: React.ElementType\n dark?: boolean\n onMount?: (el: HTMLDivElement | null) => void\n onUnmount?: () => void\n }\n >,\n {\n as: props.role === 'navigation' ? 'li' : child.props.as,\n dark,\n onMount: (el: HTMLDivElement | null) => {\n setTabElements((elements) => {\n const oldElements = [...elements]\n oldElements[i] = el\n return oldElements\n })\n },\n onUnmount: () => {\n setTabElements((elements) => {\n const oldElements = [...elements]\n oldElements[i] = null\n return oldElements\n })\n },\n }\n )\n })}\n\n {props.role === 'navigation' && moreDropdownTrigger ? (\n <Styled.MoreLi $helix={UNSAFE_helixHeader}>\n {moreDropdownTrigger}\n </Styled.MoreLi>\n ) : (\n moreDropdownTrigger\n )}\n </StyledTabList>\n </StyledTabs>\n )\n})\n\nTabs_.displayName = 'Tabs'\n\nLink.displayName = 'Tabs.Link'\n\n// @ts-ignore\nTab.displayName = 'Tabs.Tab'\n\n/**\n\n We use tabs to navigate between different, but related content.\n Tabs are commonly used on tool landing pages and on item detail pages.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-tabs--demo)\n\n @see [Design Guidelines](https://design.procore.com/tabs)\n\n */\nexport const Tabs = addSubcomponents(\n {\n Link,\n Tab,\n },\n Tabs_\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.js","names":["CaretDown","CaretUp","React","useButton","MenuImperative","OverlayTrigger","useOverlayTriggerContext","useI18nContext","useResize","spacing","addSubcomponents","getBoundingRect","mergeRefs","getStyledComponents","StyledOverlay","StyledTabList","StyledTabs","ExtraTabSpacing","xxl","HelixHeaderExtraTabSpacing","sm","noop","ROVING_TAB_KEYS","moveRovingFocusWithinTablist","event","key","includes","preventDefault","current","currentTarget","tablist","closest","tabs","Array","from","querySelectorAll","filter","tab","hasAttribute","styles","window","getComputedStyle","isHidden","visibility","pointerEvents","length","currentIndex","indexOf","nextIndex","nextTab","tabIndex","focus","Link","forwardRef","_ref","ref","children","_ref$UNSAFE_helixHead","UNSAFE_helixHeader","props","_objectWithoutProperties","_excluded","Styled","createElement","_extends","TabInternal","_ref2","as","disabled","role","_ref2$active","active","_ref2$selected","selected","onBlur","onFocus","_ref2$onMount","onMount","_ref2$onUnmount","onUnmount","_ref2$overflowing","overflowing","_ref2$dropdown","dropdown","_ref2$variant","variant","_ref2$UNSAFE_helixHea","_excluded2","_ref3","onPress","onClick","value","buttonPropsBase","_excluded3","elementType","_useButton","_objectSpread","isDisabled","type","buttonProps","shouldDefaultToButton","onTablistTabKeyDown","defaultPrevented","click","a11yProps","$clickable","id","onKeyDown","href","innerRef","useRef","useEffect","validChild","isValidElement","tabSelected","roleSpecificProps","Tab","$selected","$dark","dark","TabInner","cloneElement","undefined","MoreMenu","_ref4","ctx","menuRef","_menuRef$current","_menuRef$current$el","_menuRef$current2","_menuRef$current3","el","highlightFirst","highlightSelected","onSelect","selection","hide","onChangeActiveDescendant","Options","Children","map","child","i","Item","item","Tabs_","Tabs","_ref5","className","_ref5$dark","qa","_ref5$UNSAFE_helixHea","_excluded4","i18n","_React$useState","useState","_React$useState2","_slicedToArray","moreMenuIsShown","setMoreMenuIsShown","_React$useState3","_React$useState4","tabElements","setTabElements","_React$useState5","_React$useState6","cutoffIndex","setCutoffIndex","containerRef","recalculate","container","_tabElements$reduce","reduce","acc","rect","extraSpace","subtotals","concat","_toConsumableArray","total","width","index","findIndex","val","onResize","filtered","toArray","slice","isOverflowingSelected","some","moreButtonProps","onMoreKeyDown","moreDropdownTrigger","t","beforeShow","afterHide","trigger","placement","overlay","DropdownTab","DropdownTabInner","more","size","$index","$helix","elements","oldElements","MoreLi","displayName"],"sources":["../../src/Tabs/Tabs.tsx"],"sourcesContent":["import { CaretDown, CaretUp } from '@procore/core-icons/dist'\nimport React from 'react'\n\nimport { useButton } from '@react-aria/button'\nimport { MenuImperative } from '../MenuImperative/MenuImperative'\nimport type { MenuRef, Selection } from '../MenuImperative/MenuImperative.types'\nimport {\n OverlayTrigger,\n useOverlayTriggerContext,\n} from '../OverlayTrigger/OverlayTrigger'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { useResize } from '../_hooks/Resize'\nimport { spacing } from '../_styles/spacing'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { getBoundingRect } from '../_utils/dom'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport {\n getStyledComponents,\n StyledOverlay,\n StyledTabList,\n StyledTabs,\n} from './Tabs.styles'\nimport type {\n BaseTabProps,\n TabDropdownProps,\n TabProps,\n TabRef,\n TabRole,\n TabRoleType,\n TabsProps,\n} from './Tabs.types'\n\nconst ExtraTabSpacing = spacing.xxl\nconst HelixHeaderExtraTabSpacing = spacing.sm\n\nfunction noop() {}\nconst ROVING_TAB_KEYS = ['ArrowRight', 'ArrowLeft', 'Home', 'End'] as const\n\nfunction moveRovingFocusWithinTablist(event: React.KeyboardEvent<HTMLElement>) {\n const key = event.key\n if (!ROVING_TAB_KEYS.includes(key as (typeof ROVING_TAB_KEYS)[number]))\n return false\n\n event.preventDefault()\n const current = event.currentTarget\n const tablist = current.closest('[role=\"tablist\"]')\n if (!tablist) return\n\n const tabs = Array.from(\n tablist.querySelectorAll<HTMLElement>('[role=\"tab\"], button')\n ).filter((tab) => {\n if (tab.hasAttribute('disabled')) return false\n\n const styles = window.getComputedStyle(tab)\n const isHidden =\n styles.visibility === 'hidden' || styles.pointerEvents === 'none'\n\n return !isHidden\n })\n if (!tabs.length) return\n\n const currentIndex = tabs.indexOf(current)\n if (currentIndex < 0) return\n\n let nextIndex = currentIndex\n if (key === 'ArrowRight') nextIndex = (currentIndex + 1) % tabs.length\n if (key === 'ArrowLeft')\n nextIndex = (currentIndex - 1 + tabs.length) % tabs.length\n if (key === 'Home') nextIndex = 0\n if (key === 'End') nextIndex = tabs.length - 1\n\n const nextTab = tabs[nextIndex]\n current.tabIndex = -1\n nextTab.tabIndex = 0\n nextTab.focus()\n}\n\nexport const Link = React.forwardRef<\n HTMLSpanElement,\n React.HTMLAttributes<HTMLSpanElement> & {\n /** @deprecated @experimental Alternative style variant. To be used on Helix Header ONLY */\n UNSAFE_helixHeader?: boolean\n }\n>(function Link({ children, UNSAFE_helixHeader = false, ...props }, ref) {\n const Styled = getStyledComponents(UNSAFE_helixHeader)\n\n return (\n <Styled.Link ref={ref} {...props}>\n {children}\n </Styled.Link>\n )\n})\n\nfunction TabInternal(\n {\n as,\n disabled,\n role,\n active = false,\n selected = false,\n children,\n onBlur,\n onFocus,\n onMount = noop,\n onUnmount = noop,\n overflowing = false,\n dropdown = false,\n variant = '',\n UNSAFE_helixHeader = false,\n ...props\n }: TabProps<TabRoleType>,\n ref: TabRef<TabRoleType>\n) {\n const { onPress, onClick, value, ...buttonPropsBase } =\n props as TabProps<'button'>\n\n const elementType =\n role === 'link' ? 'a' : role === 'button' ? 'button' : 'div'\n\n const { buttonProps } = useButton(\n {\n ...buttonPropsBase,\n onBlur: onBlur as (e: React.FocusEvent) => void,\n onFocus: onFocus as (e: React.FocusEvent) => void,\n elementType,\n isDisabled: disabled,\n // @ts-expect-error Type 'PressEvent' is missing properties from type 'MouseEvent<HTMLButtonElement, MouseEvent>', the expected type comes from property 'onPress' which is declared here on type 'AriaButtonOptions<ElementType>'\n onPress: onPress || onClick,\n type: 'button',\n },\n ref as unknown as React.RefObject<HTMLElement>\n )\n\n // See if we should make the component a button if event handlers are given.\n // The no role check addition allows overrides / opt-out, for like\n // role = presentation or role = link having click handlers for some reason.\n const shouldDefaultToButton = (!role && onPress) || (!role && onClick)\n\n function onTablistTabKeyDown(event: React.KeyboardEvent<HTMLElement>) {\n // props.onKeyDown?.(event)\n if (event.defaultPrevented) return\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n ;(event.currentTarget as HTMLElement).click()\n return\n }\n\n moveRovingFocusWithinTablist(event as React.KeyboardEvent<HTMLElement>)\n }\n\n const a11yProps =\n role === 'button' || shouldDefaultToButton\n ? {\n ...buttonProps,\n role: 'button',\n 'aria-current': selected || active,\n as: as || 'button',\n $clickable: !disabled,\n }\n : role === 'link'\n ? {\n ...buttonProps,\n role: 'link',\n 'aria-current': selected || active,\n as: as || 'a',\n $clickable: !disabled,\n }\n : role === 'tab'\n ? {\n role: 'tab',\n id: props.id,\n 'aria-controls': props['aria-controls'],\n 'aria-selected': selected || active ? true : false,\n tabIndex: selected || active ? 0 : -1,\n onBlur,\n onFocus,\n onClick: onClick || onPress,\n onKeyDown: onTablistTabKeyDown,\n as: as ? as : (props as TabProps<'link'>).href ? 'a' : 'button',\n }\n : { as, role, onBlur, onFocus }\n\n const innerRef = React.useRef<HTMLDivElement>(null)\n\n React.useEffect(() => {\n onMount(innerRef.current)\n return onUnmount\n }, [])\n\n const validChild = React.isValidElement(children)\n const tabSelected = active || variant === 'active' || selected\n\n const Styled = getStyledComponents(UNSAFE_helixHeader)\n\n // For button/link roles, spread buttonPropsBase to preserve useButton's onClick\n // For other roles, spread all props\n const roleSpecificProps =\n role === 'button' || role === 'link' || shouldDefaultToButton\n ? (buttonPropsBase as Omit<\n TabProps<'button'>,\n 'onPress' | 'onClick' | 'value'\n >)\n : role === 'tab'\n ? (props as TabProps<'tab'>)\n : (props as TabProps<TabRoleType>)\n\n return (\n <Styled.Tab\n $selected={tabSelected}\n $dark={props.dark}\n ref={\n mergeRefs(\n (ref || null) as unknown as React.Ref<HTMLDivElement>,\n innerRef\n ) as unknown as React.RefCallback<HTMLDivElement>\n }\n {...(a11yProps as Record<string, unknown>)}\n {...(roleSpecificProps as Record<string, unknown>)}\n >\n <Styled.TabInner $selected={tabSelected} $dark={props.dark}>\n {validChild\n ? React.cloneElement(\n children as React.ReactElement<\n Record<string, unknown>,\n string | React.JSXElementConstructor<unknown>\n >,\n {\n 'aria-current': tabSelected ? true : undefined,\n }\n )\n : children}\n </Styled.TabInner>\n </Styled.Tab>\n )\n}\n\nexport const Tab = React.forwardRef(TabInternal) as <Role extends TabRole>(\n props:\n | TabProps<Role>\n | (BaseTabProps & { ref?: React.ComponentPropsWithRef<'div'>['ref'] })\n) => ReturnType<typeof TabInternal>\n\nexport const MoreMenu = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & TabDropdownProps\n>(function MoreMenu({ children, id, role }, ref) {\n const ctx = useOverlayTriggerContext()\n\n const menuRef = React.useRef<MenuRef | null>(null)\n\n React.useEffect(function () {\n menuRef.current?.el?.focus()\n menuRef.current?.highlightFirst()\n menuRef.current?.highlightSelected()\n }, [])\n\n function onSelect(selection: Selection) {\n ctx.hide(selection.event)\n }\n\n return (\n <StyledOverlay ref={ref}>\n <MenuImperative\n role=\"none\"\n id={id}\n ref={menuRef}\n onSelect={onSelect}\n onChangeActiveDescendant={() => null} // remove arrow keyboard\n >\n <MenuImperative.Options\n aria-label={null}\n // @ts-expect-error - JavaScript, Core-React use only for this specific hacky Tab case\n as=\"ol\"\n role=\"list\" // override MenuImperative forcing roles\n >\n {React.Children.map(children, (child, i) => {\n if (React.isValidElement<BaseTabProps>(child)) {\n return (\n <MenuImperative.Item\n as=\"li\"\n item={null}\n key={i}\n selected={child.props.selected || child.props.active}\n >\n {React.cloneElement(\n child as React.ReactElement<BaseTabProps>,\n {\n ref: null,\n tabIndex: 0,\n role:\n child.props.role === 'tab'\n ? undefined\n : child.props.role,\n } as Partial<BaseTabProps>\n )}\n </MenuImperative.Item>\n )\n }\n })}\n </MenuImperative.Options>\n </MenuImperative>\n </StyledOverlay>\n )\n})\n\nconst Tabs_ = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & TabsProps\n>(function Tabs(\n {\n children,\n className,\n dark = false,\n qa,\n UNSAFE_helixHeader = false,\n ...props\n },\n ref\n) {\n const i18n = useI18nContext()\n\n const [moreMenuIsShown, setMoreMenuIsShown] = React.useState(false)\n const [tabElements, setTabElements] = React.useState<\n (HTMLDivElement | null)[]\n >([])\n const [cutoffIndex, setCutoffIndex] = React.useState(0)\n\n const containerRef = React.useRef<HTMLDivElement>(null)\n\n function recalculate() {\n const container = getBoundingRect(containerRef.current!)\n\n const { subtotals } = tabElements.reduce(\n (acc, el) => {\n if (!el) {\n return acc\n }\n const rect = getBoundingRect(el)\n const extraSpace = UNSAFE_helixHeader\n ? HelixHeaderExtraTabSpacing\n : ExtraTabSpacing\n return {\n subtotals: [...acc.subtotals, acc.total + rect.width],\n total: acc.total + rect.width + extraSpace,\n }\n },\n { subtotals: new Array(), total: 0 }\n )\n\n const index = subtotals.findIndex((val: number) => val >= container.width)\n\n setCutoffIndex(index)\n }\n\n useResize({ onResize: recalculate })\n\n React.useEffect(recalculate)\n\n const filtered = React.Children.toArray(children).filter((child) => child)\n const overflowing = filtered.slice(cutoffIndex - 1)\n\n const isOverflowingSelected = React.Children.toArray(overflowing).some(\n (child) =>\n React.isValidElement(child) &&\n (child.props.active || child.props.selected)\n )\n\n const Styled = getStyledComponents(UNSAFE_helixHeader)\n\n const moreButtonProps =\n props.role === 'tablist'\n ? {\n role: 'tab',\n tabIndex: -1,\n onKeyDown: function onMoreKeyDown(\n event: React.KeyboardEvent<HTMLButtonElement>\n ) {\n moveRovingFocusWithinTablist(event)\n },\n }\n : {}\n const moreDropdownTrigger =\n cutoffIndex >= 1 ? (\n <OverlayTrigger\n aria-label={i18n.t('core.tabs.more')}\n beforeShow={() => setMoreMenuIsShown(true)}\n afterHide={() => setMoreMenuIsShown(false)}\n trigger=\"click\"\n placement=\"bottom-right\"\n overlay={<MoreMenu>{overflowing}</MoreMenu>}\n ref={ref}\n role=\"dialog\"\n >\n <Styled.DropdownTab\n $selected={isOverflowingSelected}\n $dark={dark}\n aria-hidden={!overflowing.length}\n as=\"button\"\n {...moreButtonProps}\n >\n <Styled.DropdownTabInner\n $selected={isOverflowingSelected}\n $dark={dark}\n >\n <Styled.Link data-qa={qa?.more}>\n {i18n.t('core.tabs.more')}\n </Styled.Link>\n {moreMenuIsShown ? <CaretUp size=\"sm\" /> : <CaretDown size=\"sm\" />}\n </Styled.DropdownTabInner>\n </Styled.DropdownTab>\n </OverlayTrigger>\n ) : null\n\n return (\n <StyledTabs\n ref={ref}\n role={props.role || 'group'}\n $dark={dark}\n $index={cutoffIndex}\n $helix={UNSAFE_helixHeader}\n {...props}\n >\n <StyledTabList\n as={props.role === 'navigation' ? 'ul' : 'div'}\n ref={containerRef}\n >\n {filtered.map((child, i) => {\n if (React.isValidElement(child))\n return React.cloneElement(\n child as React.ReactElement<\n BaseTabProps & {\n as?: React.ElementType\n dark?: boolean\n onMount?: (el: HTMLDivElement | null) => void\n onUnmount?: () => void\n }\n >,\n {\n as: props.role === 'navigation' ? 'li' : child.props.as,\n dark,\n onMount: (el: HTMLDivElement | null) => {\n setTabElements((elements) => {\n const oldElements = [...elements]\n oldElements[i] = el\n return oldElements\n })\n },\n onUnmount: () => {\n setTabElements((elements) => {\n const oldElements = [...elements]\n oldElements[i] = null\n return oldElements\n })\n },\n }\n )\n })}\n\n {props.role === 'navigation' && moreDropdownTrigger ? (\n <Styled.MoreLi $helix={UNSAFE_helixHeader}>\n {moreDropdownTrigger}\n </Styled.MoreLi>\n ) : (\n moreDropdownTrigger\n )}\n </StyledTabList>\n </StyledTabs>\n )\n})\n\nTabs_.displayName = 'Tabs'\n\nLink.displayName = 'Tabs.Link'\n\n// @ts-ignore\nTab.displayName = 'Tabs.Tab'\n\n/**\n\n We use tabs to navigate between different, but related content.\n Tabs are commonly used on tool landing pages and on item detail pages.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-tabs--demo)\n\n @see [Design Guidelines](https://design.procore.com/tabs)\n\n */\nexport const Tabs = addSubcomponents(\n {\n Link,\n Tab,\n },\n Tabs_\n)\n"],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare const StyledTabList: import("styled-components/dist/types").IStyl
10
10
  export declare const StyledTabs: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
11
11
  $dark?: boolean | undefined;
12
12
  $index?: number | undefined;
13
+ $helix?: boolean | undefined;
13
14
  }>> & string;
14
15
  /**
15
16
  * Switches between different Tab styles of traditional and helix header navigation.
@@ -17,17 +17,17 @@ var borderRadius = /*#__PURE__*/css(["border-radius:", "px ", "px 0 0;"], spacin
17
17
  */
18
18
  var StyledTabBase = /*#__PURE__*/styled.div.withConfig({
19
19
  displayName: "StyledTabBase",
20
- componentId: "core-12_51_0__sc-17s58xs-0"
20
+ componentId: "core-12_52_0__sc-17s58xs-0"
21
21
  })(["align-items:center;box-sizing:border-box;cursor:pointer;display:inline-flex;flex:0 0 auto;justify-content:center;position:relative;white-space:nowrap;text-decoration:none;background-color:transparent;border:none;font-family:inherit;padding:0;"]);
22
22
  var StyledTabInnerBase = /*#__PURE__*/styled.div.withConfig({
23
23
  displayName: "StyledTabInnerBase",
24
- componentId: "core-12_51_0__sc-17s58xs-1"
24
+ componentId: "core-12_52_0__sc-17s58xs-1"
25
25
  })(["align-self:baseline;box-sizing:border-box;&,> a{display:flex;text-decoration:none;width:100%;}"]);
26
26
 
27
27
  // This so that it can be visible/hidden via CSS down below
28
28
  var StyledDropdownTabBase = /*#__PURE__*/styled(StyledTabBase).withConfig({
29
29
  displayName: "StyledDropdownTabBase",
30
- componentId: "core-12_51_0__sc-17s58xs-2"
30
+ componentId: "core-12_52_0__sc-17s58xs-2"
31
31
  })(["", ""], hiddenTab);
32
32
 
33
33
  //// END BASE LAYOUT COMPONENTS FOR TABS ////
@@ -50,11 +50,11 @@ function getTabStyle() {
50
50
  }
51
51
  var StyledTab = /*#__PURE__*/styled(StyledTabBase).withConfig({
52
52
  displayName: "StyledTab",
53
- componentId: "core-12_51_0__sc-17s58xs-3"
53
+ componentId: "core-12_52_0__sc-17s58xs-3"
54
54
  })(["", ""], getTabStyle);
55
55
  var StyledTabInner = /*#__PURE__*/styled(StyledTabInnerBase).withConfig({
56
56
  displayName: "StyledTabInner",
57
- componentId: "core-12_51_0__sc-17s58xs-4"
57
+ componentId: "core-12_52_0__sc-17s58xs-4"
58
58
  })(["", " padding:0 ", "px;font-weight:", ";&,> a{", ";color:", ";height:23px;}& a:focus-visible{outline:2px solid ", ";outline-offset:-1px;border-radius:", "px;}", ""], getTypographyIntent('body'), spacing.xs, function (_ref3) {
59
59
  var $selected = _ref3.$selected;
60
60
  return $selected ? 600 : 400;
@@ -67,15 +67,15 @@ var StyledTabInner = /*#__PURE__*/styled(StyledTabInnerBase).withConfig({
67
67
  });
68
68
  var StyledDropdownTab = /*#__PURE__*/styled(StyledDropdownTabBase).withConfig({
69
69
  displayName: "StyledDropdownTab",
70
- componentId: "core-12_51_0__sc-17s58xs-5"
70
+ componentId: "core-12_52_0__sc-17s58xs-5"
71
71
  })(["", ""], getTabStyle);
72
72
  var StyledDropdownTabInner = /*#__PURE__*/styled(StyledTabInner).withConfig({
73
73
  displayName: "StyledDropdownTabInner",
74
- componentId: "core-12_51_0__sc-17s58xs-6"
74
+ componentId: "core-12_52_0__sc-17s58xs-6"
75
75
  })(["align-items:center;cursor:pointer;display:inline-flex;"]);
76
76
  var StyledLink = /*#__PURE__*/styled.span.withConfig({
77
77
  displayName: "StyledLink",
78
- componentId: "core-12_51_0__sc-17s58xs-7"
78
+ componentId: "core-12_52_0__sc-17s58xs-7"
79
79
  })(["align-items:center;display:flex;height:23px;", ";box-sizing:border-box;"], borderRadius);
80
80
 
81
81
  //// END TRADITIONAL DESIGN SYSTEM TAB STYLES ////
@@ -83,59 +83,62 @@ var StyledLink = /*#__PURE__*/styled.span.withConfig({
83
83
  //// START HELIX GLOBAL NAVIGATION TAB STYLES ////
84
84
 
85
85
  function getHelixHeaderTabStyles() {
86
- return css(["border-radius:4px;color:", ";height:24px;overflow:hidden;padding:", "px;text-align:center;", ";font-weight:600;& + ", "{margin-left:", "px;}a{color:", ";}&:hover{background:rgba(117,131,138,0.3);color:", ";text-decoration:none;}&:focus-visible,&:has(a:focus){outline:2px solid ", ";outline-offset:-2px;background:rgba(117,131,138,0.3);a{outline:none;}}", ""], colors.white, spacing.xs, getTypographyIntent('small'), StyledTabBase, spacing.sm, colors.white, colors.white, colors.blue70, function (_ref5) {
86
+ return css(["border-radius:4px;color:", ";height:24px;overflow:hidden;padding:", "px;text-align:center;", ";font-weight:600;& + ", "{margin-left:", "px;}a{color:", ";}&:hover{background:rgba(117,131,138,0.3);color:", ";text-decoration:none;}&:focus-visible,&:has(a:focus){outline:2px solid ", ";background:rgba(117,131,138,0.3);a{outline:none;}}", ""], colors.white, spacing.xs, getTypographyIntent('small'), StyledTabBase, spacing.sm, colors.white, colors.white, colors.blue70, function (_ref5) {
87
87
  var $selected = _ref5.$selected;
88
88
  if ($selected) {
89
- return css(["background:", ";"], colors.gray30);
89
+ return css(["background:", ";border:1px solid ", ";"], colors.gray30, colors.white);
90
90
  }
91
91
  });
92
92
  }
93
93
  var StyledGlobalNavigationTab = /*#__PURE__*/styled(StyledTabBase).withConfig({
94
94
  displayName: "StyledGlobalNavigationTab",
95
- componentId: "core-12_51_0__sc-17s58xs-8"
95
+ componentId: "core-12_52_0__sc-17s58xs-8"
96
96
  })(["", ""], getHelixHeaderTabStyles);
97
97
  var StyledGlobalNavigationDropdownTab = /*#__PURE__*/styled(StyledDropdownTabBase).withConfig({
98
98
  displayName: "StyledGlobalNavigationDropdownTab",
99
- componentId: "core-12_51_0__sc-17s58xs-9"
99
+ componentId: "core-12_52_0__sc-17s58xs-9"
100
100
  })(["", ""], getHelixHeaderTabStyles);
101
101
  var StyledGlobalNavigationDropdownTabInner = /*#__PURE__*/styled(StyledTabInnerBase).withConfig({
102
102
  displayName: "StyledGlobalNavigationDropdownTabInner",
103
- componentId: "core-12_51_0__sc-17s58xs-10"
103
+ componentId: "core-12_52_0__sc-17s58xs-10"
104
104
  })(["align-items:center;cursor:pointer;display:inline-flex;"]);
105
105
  var StyledGlobalNavigationLink = /*#__PURE__*/styled.span.withConfig({
106
106
  displayName: "StyledGlobalNavigationLink",
107
- componentId: "core-12_51_0__sc-17s58xs-11"
107
+ componentId: "core-12_52_0__sc-17s58xs-11"
108
108
  })(["padding-left:6px;padding-right:6px;"]);
109
109
 
110
110
  //// END HELIX GLOBAL NAVIGATION TAB STYLES ////
111
111
 
112
112
  export var StyledOverlay = /*#__PURE__*/styled(Card).withConfig({
113
113
  displayName: "StyledOverlay",
114
- componentId: "core-12_51_0__sc-17s58xs-12"
114
+ componentId: "core-12_52_0__sc-17s58xs-12"
115
115
  })(["max-height:40vh;", "{padding:0;display:flex;justify-content:center;a{color:unset;margin:unset;padding:unset;&:focus-visible{outline-offset:1px;}}}", "{padding:0;display:flex;}", "{padding:2px 16px 4px 16px;}", ",", "{color:", ";border-radius:0;display:flex;width:100%;background:inherit;font-weight:inherit;font-size:inherit;padding:0;}[data-selected='true']{", ",", "{border-bottom-color:transparent;color:", ";}}"], StyledItem, StyledLink, StyledTabInnerBase, StyledLink, StyledTabBase, colors.gray15, StyledLink, StyledTabBase, colors.blue50);
116
116
  export var StyledTabList = /*#__PURE__*/styled.div.withConfig({
117
117
  displayName: "StyledTabList",
118
- componentId: "core-12_51_0__sc-17s58xs-13"
118
+ componentId: "core-12_52_0__sc-17s58xs-13"
119
119
  })(["display:flex;list-style:none;margin:0;padding:0;width:100%;"]);
120
120
  export var StyledTabs = /*#__PURE__*/styled.div.withConfig({
121
121
  displayName: "StyledTabs",
122
- componentId: "core-12_51_0__sc-17s58xs-14"
123
- })(["background-color:", ";display:flex;overflow:hidden;width:100%;", "{&:nth-child(1n + ", "){&:not(", "){", "}}}", ""], function (_ref6) {
122
+ componentId: "core-12_52_0__sc-17s58xs-14"
123
+ })(["background-color:", ";display:flex;overflow:", ";width:100%;", "{&:nth-child(1n + ", "){&:not(", "){", "}}}", ""], function (_ref6) {
124
124
  var $dark = _ref6.$dark;
125
125
  return $dark && colors.gray15;
126
- }, StyledTabBase, function (_ref7) {
127
- var $index = _ref7.$index;
126
+ }, function (_ref7) {
127
+ var $helix = _ref7.$helix;
128
+ return $helix ? 'visible' : 'hidden';
129
+ }, StyledTabBase, function (_ref8) {
130
+ var $index = _ref8.$index;
128
131
  return $index;
129
- }, StyledDropdownTabBase, hiddenTab, function (_ref8) {
130
- var _ref8$$index = _ref8.$index,
131
- $index = _ref8$$index === void 0 ? -1 : _ref8$$index;
132
+ }, StyledDropdownTabBase, hiddenTab, function (_ref9) {
133
+ var _ref9$$index = _ref9.$index,
134
+ $index = _ref9$$index === void 0 ? -1 : _ref9$$index;
132
135
  return $index >= 0 && css(["", "{", "}"], StyledDropdownTabBase, visible);
133
136
  });
134
137
  var StyledMoreLi = /*#__PURE__*/styled.li.withConfig({
135
138
  displayName: "StyledMoreLi",
136
- componentId: "core-12_51_0__sc-17s58xs-15"
137
- })(["", ""], function (_ref9) {
138
- var $helix = _ref9.$helix;
139
+ componentId: "core-12_52_0__sc-17s58xs-15"
140
+ })(["", ""], function (_ref0) {
141
+ var $helix = _ref0.$helix;
139
142
  return $helix ? css(["margin-left:", "px;"], spacing.sm) : css(["margin-left:", "px;"], spacing.xl);
140
143
  });
141
144
 
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.styles.js","names":["styled","css","Card","StyledItem","getTypographyIntent","colors","spacing","hiddenTab","visible","borderRadius","xs","StyledTabBase","div","withConfig","displayName","componentId","StyledTabInnerBase","StyledDropdownTabBase","getTabStyle","xl","_ref","$selected","gray15","_ref2","$dark","gray90","blue40","StyledTab","StyledTabInner","_ref3","_ref4","white","gray70","StyledDropdownTab","StyledDropdownTabInner","StyledLink","span","getHelixHeaderTabStyles","sm","blue70","_ref5","gray30","StyledGlobalNavigationTab","StyledGlobalNavigationDropdownTab","StyledGlobalNavigationDropdownTabInner","StyledGlobalNavigationLink","StyledOverlay","blue50","StyledTabList","StyledTabs","_ref6","_ref7","$index","_ref8","_ref8$$index","StyledMoreLi","li","_ref9","$helix","getStyledComponents","helixHeader","arguments","length","undefined","Tab","TabInner","Link","DropdownTab","DropdownTabInner","MoreLi"],"sources":["../../src/Tabs/Tabs.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { Card } from '../Card'\nimport { StyledItem } from '../MenuImperative/MenuImperative.styles'\nimport { getTypographyIntent } from '../Typography'\nimport { colors } from '../_styles/colors'\nimport { spacing } from '../_styles/spacing'\n\ntype TabStyleProps = {\n $selected?: boolean\n $dark?: boolean\n}\n\nconst hiddenTab = css`\n pointer-events: none;\n position: absolute;\n visibility: hidden;\n`\n\nconst visible = css`\n pointer-events: all;\n position: relative;\n visibility: visible;\n`\n\nconst borderRadius = css`\n border-radius: ${spacing.xs}px ${spacing.xs}px 0 0;\n`\n\n//// START BASE LAYOUT COMPONENTS FOR TABS ////\n\n/**\n * Elements to handle general layout and browser resets.\n * Will be the referencable element (class) other selectors\n * that need to target general layout references.\n */\nconst StyledTabBase = styled.div<TabStyleProps>`\n align-items: center;\n box-sizing: border-box;\n cursor: pointer;\n display: inline-flex;\n flex: 0 0 auto;\n justify-content: center;\n position: relative;\n white-space: nowrap;\n\n // Browser button and anchor style resets\n text-decoration: none;\n background-color: transparent;\n border: none;\n font-family: inherit;\n padding: 0;\n`\n\nconst StyledTabInnerBase = styled.div<TabStyleProps>`\n align-self: baseline;\n box-sizing: border-box;\n\n &,\n > a {\n display: flex;\n text-decoration: none;\n width: 100%;\n }\n`\n\n// This so that it can be visible/hidden via CSS down below\nconst StyledDropdownTabBase = styled(StyledTabBase)`\n ${hiddenTab}\n`\n\n//// END BASE LAYOUT COMPONENTS FOR TABS ////\n\n//// START TRADITIONAL DESIGN SYSTEM TAB STYLES ////\n\n/**\n * Styles specific to the Design System general cases (not Global nav)\n */\nfunction getTabStyle() {\n return css<TabStyleProps>`\n ${borderRadius};\n height: 26px;\n\n & + ${StyledTabBase} {\n margin-left: ${spacing.xl}px;\n }\n\n a& {\n ${borderRadius}\n }\n\n &,\n a&,\n button& {\n ${({ $selected }) => {\n if ($selected) {\n return css`\n border-bottom: 3px solid ${colors.gray15};\n `\n }\n }}\n }\n\n &:focus-visible,\n &:hover {\n background: ${({ $dark }) => ($dark ? 'transparent' : colors.gray90)};\n }\n\n &:focus-visible {\n box-shadow: inset 0 0 0 2px ${colors.blue40};\n outline: none;\n\n a {\n outline: none;\n }\n }\n `\n}\n\nconst StyledTab = styled(StyledTabBase)<TabStyleProps>`\n ${getTabStyle}\n`\n\nconst StyledTabInner = styled(StyledTabInnerBase)<TabStyleProps>`\n ${getTypographyIntent('body')}\n\n padding: 0 ${spacing.xs}px;\n font-weight: ${({ $selected }) => ($selected ? 600 : 400)};\n\n &,\n > a {\n ${borderRadius};\n color: ${colors.gray15};\n height: 23px;\n }\n\n & a:focus-visible {\n outline: 2px solid ${colors.blue40};\n outline-offset: -1px;\n border-radius: ${spacing.xs}px;\n }\n\n /* TODO: Dark mode was not considered for helix updates,\n * matching previous UX patterns - April 2nd 2024\n */\n ${({ $selected, $dark }) => {\n if ($dark) {\n return css`\n &,\n > a,\n button&,\n a& {\n color: ${$selected ? colors.white : colors.gray70};\n\n &:hover {\n color: white;\n }\n }\n `\n }\n }}\n`\n\nconst StyledDropdownTab = styled(StyledDropdownTabBase)`\n ${getTabStyle}\n`\n\nconst StyledDropdownTabInner = styled(StyledTabInner)`\n align-items: center;\n cursor: pointer;\n display: inline-flex;\n`\n\nconst StyledLink = styled.span`\n align-items: center;\n display: flex;\n height: 23px; // TODO one-off\n ${borderRadius};\n box-sizing: border-box;\n`\n\n//// END TRADITIONAL DESIGN SYSTEM TAB STYLES ////\n\n//// START HELIX GLOBAL NAVIGATION TAB STYLES ////\n\nfunction getHelixHeaderTabStyles() {\n return css<TabStyleProps>`\n border-radius: 4px;\n color: ${colors.white};\n height: 24px;\n overflow: hidden;\n padding: ${spacing.xs}px;\n text-align: center;\n\n ${getTypographyIntent('small')};\n font-weight: 600; // Different than typograhy intent small, must be defined after\n\n & + ${StyledTabBase} {\n margin-left: ${spacing.sm}px;\n }\n\n a {\n color: ${colors.white};\n }\n\n &:hover {\n background: rgba(117, 131, 138, 0.3);\n color: ${colors.white};\n text-decoration: none;\n }\n\n &:focus-visible,\n &:has(a:focus) {\n outline: 2px solid ${colors.blue70};\n outline-offset: -2px;\n background: rgba(117, 131, 138, 0.3);\n a {\n outline: none;\n }\n }\n\n ${({ $selected }) => {\n if ($selected) {\n return css`\n background: ${colors.gray30};\n `\n }\n }}\n `\n}\n\nconst StyledGlobalNavigationTab = styled(StyledTabBase)`\n ${getHelixHeaderTabStyles}\n`\n\nconst StyledGlobalNavigationDropdownTab = styled(StyledDropdownTabBase)`\n ${getHelixHeaderTabStyles}\n`\n\nconst StyledGlobalNavigationDropdownTabInner = styled(StyledTabInnerBase)`\n align-items: center;\n cursor: pointer;\n display: inline-flex;\n`\n\nconst StyledGlobalNavigationLink = styled.span`\n padding-left: 6px;\n padding-right: 6px;\n`\n\n//// END HELIX GLOBAL NAVIGATION TAB STYLES ////\n\nexport const StyledOverlay = styled(Card)`\n max-height: 40vh;\n\n ${StyledItem} {\n padding: 0;\n display: flex;\n justify-content: center;\n\n a {\n color: unset;\n margin: unset;\n padding: unset;\n &:focus-visible {\n outline-offset: 1px;\n }\n }\n }\n\n ${StyledLink} {\n padding: 0;\n display: flex;\n }\n\n ${StyledTabInnerBase} {\n // unsure why top and bottom are not uniform\n // design docs show uniform 4px\n padding: 2px 16px 4px 16px;\n }\n\n ${StyledLink},\n ${StyledTabBase} {\n color: ${colors.gray15};\n border-radius: 0;\n display: flex;\n width: 100%;\n\n background: inherit;\n font-weight: inherit;\n font-size: inherit;\n padding: 0;\n }\n\n [data-selected='true'] {\n ${StyledLink}, ${StyledTabBase} {\n border-bottom-color: transparent;\n color: ${colors.blue50};\n }\n }\n`\n\nexport const StyledTabList = styled.div`\n display: flex;\n list-style: none;\n margin: 0;\n padding: 0;\n width: 100%;\n`\n\nexport const StyledTabs = styled.div<{\n $dark?: boolean\n $index?: number\n}>`\n background-color: ${({ $dark }) => $dark && colors.gray15};\n display: flex;\n overflow: hidden;\n width: 100%;\n\n ${StyledTabBase} {\n // we want to hide all tabs after overflow index\n &:nth-child(1n + ${({ $index }) => $index}) {\n // but not the \"More\" dropdown tab\n &:not(${StyledDropdownTabBase}) {\n ${hiddenTab}\n }\n }\n }\n\n ${({ $index = -1 }) =>\n $index >= 0 &&\n css`\n ${StyledDropdownTabBase} {\n ${visible}\n }\n `}\n`\n\nconst StyledMoreLi = styled.li<{ $helix?: boolean }>`\n ${({ $helix }) =>\n $helix\n ? css`\n margin-left: ${spacing.sm}px;\n `\n : css`\n margin-left: ${spacing.xl}px;\n `}\n`\n\n/**\n * Switches between different Tab styles of traditional and helix header navigation.\n * Allows separate style CSS without conditionals across all the components.\n * @returns Subcomponents to render\n */\nexport function getStyledComponents(helixHeader = false) {\n if (helixHeader) {\n return {\n Tab: StyledGlobalNavigationTab,\n TabInner: StyledTabInnerBase,\n Link: StyledGlobalNavigationLink,\n DropdownTab: StyledGlobalNavigationDropdownTab,\n DropdownTabInner: StyledGlobalNavigationDropdownTabInner,\n MoreLi: StyledMoreLi,\n }\n }\n return {\n Tab: StyledTab,\n TabInner: StyledTabInner,\n Link: StyledLink,\n DropdownTab: StyledDropdownTab,\n DropdownTabInner: StyledDropdownTabInner,\n MoreLi: StyledMoreLi,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.styles.js","names":["styled","css","Card","StyledItem","getTypographyIntent","colors","spacing","hiddenTab","visible","borderRadius","xs","StyledTabBase","div","withConfig","displayName","componentId","StyledTabInnerBase","StyledDropdownTabBase","getTabStyle","xl","_ref","$selected","gray15","_ref2","$dark","gray90","blue40","StyledTab","StyledTabInner","_ref3","_ref4","white","gray70","StyledDropdownTab","StyledDropdownTabInner","StyledLink","span","getHelixHeaderTabStyles","sm","blue70","_ref5","gray30","StyledGlobalNavigationTab","StyledGlobalNavigationDropdownTab","StyledGlobalNavigationDropdownTabInner","StyledGlobalNavigationLink","StyledOverlay","blue50","StyledTabList","StyledTabs","_ref6","_ref7","$helix","_ref8","$index","_ref9","_ref9$$index","StyledMoreLi","li","_ref0","getStyledComponents","helixHeader","arguments","length","undefined","Tab","TabInner","Link","DropdownTab","DropdownTabInner","MoreLi"],"sources":["../../src/Tabs/Tabs.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { Card } from '../Card'\nimport { StyledItem } from '../MenuImperative/MenuImperative.styles'\nimport { getTypographyIntent } from '../Typography'\nimport { colors } from '../_styles/colors'\nimport { spacing } from '../_styles/spacing'\n\ntype TabStyleProps = {\n $selected?: boolean\n $dark?: boolean\n}\n\nconst hiddenTab = css`\n pointer-events: none;\n position: absolute;\n visibility: hidden;\n`\n\nconst visible = css`\n pointer-events: all;\n position: relative;\n visibility: visible;\n`\n\nconst borderRadius = css`\n border-radius: ${spacing.xs}px ${spacing.xs}px 0 0;\n`\n\n//// START BASE LAYOUT COMPONENTS FOR TABS ////\n\n/**\n * Elements to handle general layout and browser resets.\n * Will be the referencable element (class) other selectors\n * that need to target general layout references.\n */\nconst StyledTabBase = styled.div<TabStyleProps>`\n align-items: center;\n box-sizing: border-box;\n cursor: pointer;\n display: inline-flex;\n flex: 0 0 auto;\n justify-content: center;\n position: relative;\n white-space: nowrap;\n\n // Browser button and anchor style resets\n text-decoration: none;\n background-color: transparent;\n border: none;\n font-family: inherit;\n padding: 0;\n`\n\nconst StyledTabInnerBase = styled.div<TabStyleProps>`\n align-self: baseline;\n box-sizing: border-box;\n\n &,\n > a {\n display: flex;\n text-decoration: none;\n width: 100%;\n }\n`\n\n// This so that it can be visible/hidden via CSS down below\nconst StyledDropdownTabBase = styled(StyledTabBase)`\n ${hiddenTab}\n`\n\n//// END BASE LAYOUT COMPONENTS FOR TABS ////\n\n//// START TRADITIONAL DESIGN SYSTEM TAB STYLES ////\n\n/**\n * Styles specific to the Design System general cases (not Global nav)\n */\nfunction getTabStyle() {\n return css<TabStyleProps>`\n ${borderRadius};\n height: 26px;\n\n & + ${StyledTabBase} {\n margin-left: ${spacing.xl}px;\n }\n\n a& {\n ${borderRadius}\n }\n\n &,\n a&,\n button& {\n ${({ $selected }) => {\n if ($selected) {\n return css`\n border-bottom: 3px solid ${colors.gray15};\n `\n }\n }}\n }\n\n &:focus-visible,\n &:hover {\n background: ${({ $dark }) => ($dark ? 'transparent' : colors.gray90)};\n }\n\n &:focus-visible {\n box-shadow: inset 0 0 0 2px ${colors.blue40};\n outline: none;\n\n a {\n outline: none;\n }\n }\n `\n}\n\nconst StyledTab = styled(StyledTabBase)<TabStyleProps>`\n ${getTabStyle}\n`\n\nconst StyledTabInner = styled(StyledTabInnerBase)<TabStyleProps>`\n ${getTypographyIntent('body')}\n\n padding: 0 ${spacing.xs}px;\n font-weight: ${({ $selected }) => ($selected ? 600 : 400)};\n\n &,\n > a {\n ${borderRadius};\n color: ${colors.gray15};\n height: 23px;\n }\n\n & a:focus-visible {\n outline: 2px solid ${colors.blue40};\n outline-offset: -1px;\n border-radius: ${spacing.xs}px;\n }\n\n /* TODO: Dark mode was not considered for helix updates,\n * matching previous UX patterns - April 2nd 2024\n */\n ${({ $selected, $dark }) => {\n if ($dark) {\n return css`\n &,\n > a,\n button&,\n a& {\n color: ${$selected ? colors.white : colors.gray70};\n\n &:hover {\n color: white;\n }\n }\n `\n }\n }}\n`\n\nconst StyledDropdownTab = styled(StyledDropdownTabBase)`\n ${getTabStyle}\n`\n\nconst StyledDropdownTabInner = styled(StyledTabInner)`\n align-items: center;\n cursor: pointer;\n display: inline-flex;\n`\n\nconst StyledLink = styled.span`\n align-items: center;\n display: flex;\n height: 23px; // TODO one-off\n ${borderRadius};\n box-sizing: border-box;\n`\n\n//// END TRADITIONAL DESIGN SYSTEM TAB STYLES ////\n\n//// START HELIX GLOBAL NAVIGATION TAB STYLES ////\n\nfunction getHelixHeaderTabStyles() {\n return css<TabStyleProps>`\n border-radius: 4px;\n color: ${colors.white};\n height: 24px;\n overflow: hidden;\n padding: ${spacing.xs}px;\n text-align: center;\n\n ${getTypographyIntent('small')};\n font-weight: 600; // Different than typograhy intent small, must be defined after\n\n & + ${StyledTabBase} {\n margin-left: ${spacing.sm}px;\n }\n\n a {\n color: ${colors.white};\n }\n\n &:hover {\n background: rgba(117, 131, 138, 0.3);\n color: ${colors.white};\n text-decoration: none;\n }\n\n &:focus-visible,\n &:has(a:focus) {\n outline: 2px solid ${colors.blue70};\n background: rgba(117, 131, 138, 0.3);\n a {\n outline: none;\n }\n }\n\n ${({ $selected }) => {\n if ($selected) {\n return css`\n background: ${colors.gray30};\n border: 1px solid ${colors.white};\n `\n }\n }}\n `\n}\n\nconst StyledGlobalNavigationTab = styled(StyledTabBase)`\n ${getHelixHeaderTabStyles}\n`\n\nconst StyledGlobalNavigationDropdownTab = styled(StyledDropdownTabBase)`\n ${getHelixHeaderTabStyles}\n`\n\nconst StyledGlobalNavigationDropdownTabInner = styled(StyledTabInnerBase)`\n align-items: center;\n cursor: pointer;\n display: inline-flex;\n`\n\nconst StyledGlobalNavigationLink = styled.span`\n padding-left: 6px;\n padding-right: 6px;\n`\n\n//// END HELIX GLOBAL NAVIGATION TAB STYLES ////\n\nexport const StyledOverlay = styled(Card)`\n max-height: 40vh;\n\n ${StyledItem} {\n padding: 0;\n display: flex;\n justify-content: center;\n\n a {\n color: unset;\n margin: unset;\n padding: unset;\n &:focus-visible {\n outline-offset: 1px;\n }\n }\n }\n\n ${StyledLink} {\n padding: 0;\n display: flex;\n }\n\n ${StyledTabInnerBase} {\n // unsure why top and bottom are not uniform\n // design docs show uniform 4px\n padding: 2px 16px 4px 16px;\n }\n\n ${StyledLink},\n ${StyledTabBase} {\n color: ${colors.gray15};\n border-radius: 0;\n display: flex;\n width: 100%;\n\n background: inherit;\n font-weight: inherit;\n font-size: inherit;\n padding: 0;\n }\n\n [data-selected='true'] {\n ${StyledLink}, ${StyledTabBase} {\n border-bottom-color: transparent;\n color: ${colors.blue50};\n }\n }\n`\n\nexport const StyledTabList = styled.div`\n display: flex;\n list-style: none;\n margin: 0;\n padding: 0;\n width: 100%;\n`\n\nexport const StyledTabs = styled.div<{\n $dark?: boolean\n $index?: number\n $helix?: boolean\n}>`\n background-color: ${({ $dark }) => $dark && colors.gray15};\n display: flex;\n overflow: ${({ $helix }) => ($helix ? 'visible' : 'hidden')};\n width: 100%;\n\n ${StyledTabBase} {\n // we want to hide all tabs after overflow index\n &:nth-child(1n + ${({ $index }) => $index}) {\n // but not the \"More\" dropdown tab\n &:not(${StyledDropdownTabBase}) {\n ${hiddenTab}\n }\n }\n }\n\n ${({ $index = -1 }) =>\n $index >= 0 &&\n css`\n ${StyledDropdownTabBase} {\n ${visible}\n }\n `}\n`\n\nconst StyledMoreLi = styled.li<{ $helix?: boolean }>`\n ${({ $helix }) =>\n $helix\n ? css`\n margin-left: ${spacing.sm}px;\n `\n : css`\n margin-left: ${spacing.xl}px;\n `}\n`\n\n/**\n * Switches between different Tab styles of traditional and helix header navigation.\n * Allows separate style CSS without conditionals across all the components.\n * @returns Subcomponents to render\n */\nexport function getStyledComponents(helixHeader = false) {\n if (helixHeader) {\n return {\n Tab: StyledGlobalNavigationTab,\n TabInner: StyledTabInnerBase,\n Link: StyledGlobalNavigationLink,\n DropdownTab: StyledGlobalNavigationDropdownTab,\n DropdownTabInner: StyledGlobalNavigationDropdownTabInner,\n MoreLi: StyledMoreLi,\n }\n }\n return {\n Tab: StyledTab,\n TabInner: StyledTabInner,\n Link: StyledLink,\n DropdownTab: StyledDropdownTab,\n DropdownTabInner: StyledDropdownTabInner,\n MoreLi: StyledMoreLi,\n }\n}\n"],"mappings":"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"}
@@ -46,7 +46,7 @@ var getSlideOutAnimation = function getSlideOutAnimation($placement) {
46
46
  };
47
47
  export var StyledTearsheetContent = /*#__PURE__*/styled.div.withConfig({
48
48
  displayName: "StyledTearsheetContent",
49
- componentId: "core-12_51_0__sc-ljrxoq-0"
49
+ componentId: "core-12_52_0__sc-ljrxoq-0"
50
50
  })(["display:flex;z-index:2;width:100%;", " ", " ", " ", ""], function (_ref) {
51
51
  var $open = _ref.$open,
52
52
  $placement = _ref.$placement;
@@ -66,7 +66,7 @@ export var StyledTearsheetContent = /*#__PURE__*/styled.div.withConfig({
66
66
  export var minScrimSize = spacing.xxl * 3;
67
67
  export var StyledTearsheetBody = /*#__PURE__*/styled.div.withConfig({
68
68
  displayName: "StyledTearsheetBody",
69
- componentId: "core-12_51_0__sc-ljrxoq-1"
69
+ componentId: "core-12_52_0__sc-ljrxoq-1"
70
70
  })(["display:flex;overflow-y:auto;flex-direction:column;background-color:", ";&:focus-visible{", "}", ""], colors.white, getGapOutlineFocus('inside'), function (_ref5) {
71
71
  var $block = _ref5.$block,
72
72
  $placement = _ref5.$placement,
@@ -78,7 +78,7 @@ var zoomIn = /*#__PURE__*/keyframes(["from{transform:scale(0);}to{transform:scal
78
78
  var zoomOut = /*#__PURE__*/keyframes(["from{transform:scale(1);}to{transform:scale(0);}"]);
79
79
  export var StyledScrimContainer = /*#__PURE__*/styled.div.withConfig({
80
80
  displayName: "StyledScrimContainer",
81
- componentId: "core-12_51_0__sc-ljrxoq-2"
81
+ componentId: "core-12_52_0__sc-ljrxoq-2"
82
82
  })(["", ""], function (_ref6) {
83
83
  var $placement = _ref6.$placement;
84
84
  var minSizeProp = ['top', 'bottom'].includes($placement) ? 'min-height' : 'min-width';
@@ -86,7 +86,7 @@ export var StyledScrimContainer = /*#__PURE__*/styled.div.withConfig({
86
86
  });
87
87
  export var StyledButtonContainer = /*#__PURE__*/styled.div.withConfig({
88
88
  displayName: "StyledButtonContainer",
89
- componentId: "core-12_51_0__sc-ljrxoq-3"
89
+ componentId: "core-12_52_0__sc-ljrxoq-3"
90
90
  })(["", ""], function (_ref7) {
91
91
  var $placement = _ref7.$placement;
92
92
  switch ($placement) {
@@ -101,7 +101,7 @@ export var StyledButtonContainer = /*#__PURE__*/styled.div.withConfig({
101
101
  });
102
102
  export var StyledButtonCard = /*#__PURE__*/styled(Card).withConfig({
103
103
  displayName: "StyledButtonCard",
104
- componentId: "core-12_51_0__sc-ljrxoq-4"
104
+ componentId: "core-12_52_0__sc-ljrxoq-4"
105
105
  })(["display:inline-flex;margin:", "px;", " ", " ", ""], spacing.xl, function (_ref8) {
106
106
  var $open = _ref8.$open;
107
107
  return $open ? css(["transform:scale(1);"]) : css(["transform:scale(0);"]);
@@ -3,7 +3,7 @@ import { getInputStyles } from '../Input/Input.styles';
3
3
  import { spacing } from '../_styles/spacing';
4
4
  export var StyledTextArea = /*#__PURE__*/styled.textarea.withConfig({
5
5
  displayName: "StyledTextArea",
6
- componentId: "core-12_51_0__sc-u5mow1-0"
6
+ componentId: "core-12_52_0__sc-u5mow1-0"
7
7
  })(["", ";height:auto;min-height:64px;padding:", "px ", "px;resize:", ";"], getInputStyles, spacing.sm, spacing.md, function (_ref) {
8
8
  var _ref$$resize = _ref.$resize,
9
9
  $resize = _ref$$resize === void 0 ? 'both' : _ref$$resize;
@@ -1,6 +1,6 @@
1
1
  import styled from 'styled-components';
2
2
  export var StyledEditor = /*#__PURE__*/styled.div.withConfig({
3
3
  displayName: "StyledEditor",
4
- componentId: "core-12_51_0__sc-1lje1b0-0"
4
+ componentId: "core-12_52_0__sc-1lje1b0-0"
5
5
  })(["> .tox-tinymce{border:none;}"]);
6
6
  //# sourceMappingURL=TextEditorOutput.styles.js.map