@procore/core-react 12.7.0 → 12.8.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 (205) hide show
  1. package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
  2. package/dist/Avatar/Avatar.styles.js +5 -5
  3. package/dist/AvatarStack/AvatarStack.styles.js +7 -7
  4. package/dist/Badge/Badge.styles.js +2 -2
  5. package/dist/Banner/Banner.styles.js +10 -10
  6. package/dist/Box/Box.styles.js +1 -1
  7. package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
  8. package/dist/Button/Button.styles.js +5 -5
  9. package/dist/Calendar/Calendar.styles.js +8 -8
  10. package/dist/Card/Card.styles.js +1 -1
  11. package/dist/Checkbox/Checkbox.styles.js +6 -6
  12. package/dist/Checkbox/CheckboxTooltip.js +1 -1
  13. package/dist/ContactItem/ContactItem.styles.js +5 -5
  14. package/dist/Content/Content.styles.js +2 -2
  15. package/dist/DateInput/DateInput.styles.js +6 -6
  16. package/dist/DetailPage/DetailPage.styles.js +7 -7
  17. package/dist/Dropdown/Dropdown.styles.js +3 -3
  18. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  19. package/dist/Dropzone/Dropzone.js +1 -1
  20. package/dist/Dropzone/Dropzone.styles.js +9 -9
  21. package/dist/EmptyState/EmptyState.styles.js +6 -6
  22. package/dist/Field/Field.styles.js +3 -3
  23. package/dist/FileList/FileList.styles.js +4 -4
  24. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  25. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  26. package/dist/FileSelect/FileSelect.styles.js +2 -2
  27. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  28. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  29. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  30. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  31. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  32. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  33. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  34. package/dist/FileToken/FileToken.styles.js +4 -4
  35. package/dist/FilterToken/FilterToken.styles.js +2 -2
  36. package/dist/FlexList/FlexList.styles.js +1 -1
  37. package/dist/Form/Form.styles.js +14 -14
  38. package/dist/Form/StyledFormikForm.styles.js +2 -2
  39. package/dist/Form/index.d.ts +1 -1
  40. package/dist/Form/index.js +1 -1
  41. package/dist/Form/index.js.map +1 -1
  42. package/dist/Grid/Grid.styles.js +2 -2
  43. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  44. package/dist/Input/Input.styles.js +1 -1
  45. package/dist/Link/Link.styles.js +1 -1
  46. package/dist/ListPage/ListPage.styles.js +8 -8
  47. package/dist/Loader/Loader.styles.js +2 -2
  48. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  49. package/dist/Modal/Modal.d.ts +3 -1
  50. package/dist/Modal/Modal.js +26 -12
  51. package/dist/Modal/Modal.js.map +1 -1
  52. package/dist/Modal/Modal.styles.d.ts +9 -2
  53. package/dist/Modal/Modal.styles.js +82 -26
  54. package/dist/Modal/Modal.styles.js.map +1 -1
  55. package/dist/Modal/Modal.types.d.ts +24 -0
  56. package/dist/Modal/Modal.types.js.map +1 -1
  57. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  58. package/dist/NextMenu/NextMenu.styles.js +3 -3
  59. package/dist/Notation/Notation.js +1 -1
  60. package/dist/NumberInput/NumberInput.styles.js +7 -7
  61. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  62. package/dist/PageLayout/PageLayout.styles.js +15 -15
  63. package/dist/Pagination/Pagination.styles.js +5 -5
  64. package/dist/Panel/Panel.styles.js +11 -11
  65. package/dist/Pill/Pill.styles.js +2 -2
  66. package/dist/PillSelect/PillSelect.styles.js +4 -4
  67. package/dist/Popover/Popover.styles.js +2 -2
  68. package/dist/Portal/Portal.styles.js +1 -1
  69. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  70. package/dist/RadioButton/RadioButton.styles.js +3 -3
  71. package/dist/Required/Required.styles.js +3 -3
  72. package/dist/Search/Search.styles.js +5 -5
  73. package/dist/Section/Section.styles.js +6 -6
  74. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  75. package/dist/Select/Select.styles.js +7 -7
  76. package/dist/Semantic/Semantic.styles.js +9 -9
  77. package/dist/Slider/Slider.styles.js +5 -5
  78. package/dist/Spinner/Spinner.styles.js +7 -7
  79. package/dist/SplitViewCard/SplitViewCard.context.d.ts +7 -0
  80. package/dist/SplitViewCard/SplitViewCard.context.js +35 -0
  81. package/dist/SplitViewCard/SplitViewCard.context.js.map +1 -0
  82. package/dist/SplitViewCard/SplitViewCard.d.ts +43 -0
  83. package/dist/SplitViewCard/SplitViewCard.js +129 -0
  84. package/dist/SplitViewCard/SplitViewCard.js.map +1 -0
  85. package/dist/SplitViewCard/SplitViewCard.styles.d.ts +10 -0
  86. package/dist/SplitViewCard/SplitViewCard.styles.js +39 -0
  87. package/dist/SplitViewCard/SplitViewCard.styles.js.map +1 -0
  88. package/dist/SplitViewCard/SplitViewCard.types.d.ts +25 -0
  89. package/dist/SplitViewCard/SplitViewCard.types.js +2 -0
  90. package/dist/SplitViewCard/SplitViewCard.types.js.map +1 -0
  91. package/dist/SplitViewCard/index.d.ts +4 -0
  92. package/dist/SplitViewCard/index.js +4 -0
  93. package/dist/SplitViewCard/index.js.map +1 -0
  94. package/dist/SplitViewCard/useSplitViewCard.d.ts +5 -0
  95. package/dist/SplitViewCard/useSplitViewCard.js +14 -0
  96. package/dist/SplitViewCard/useSplitViewCard.js.map +1 -0
  97. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  98. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  99. package/dist/Switch/Switch.styles.js +4 -4
  100. package/dist/Table/Table.styles.js +28 -28
  101. package/dist/TableShelf/TableShelf.styles.js +5 -5
  102. package/dist/Tabs/Tabs.d.ts +9 -3
  103. package/dist/Tabs/Tabs.js +19 -10
  104. package/dist/Tabs/Tabs.js.map +1 -1
  105. package/dist/Tabs/Tabs.styles.d.ts +17 -17
  106. package/dist/Tabs/Tabs.styles.js +116 -33
  107. package/dist/Tabs/Tabs.styles.js.map +1 -1
  108. package/dist/Tabs/Tabs.types.d.ts +22 -0
  109. package/dist/Tabs/Tabs.types.js.map +1 -1
  110. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  111. package/dist/TextArea/TextArea.styles.js +1 -1
  112. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  113. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  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 +3 -3
  121. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  122. package/dist/Tooltip/Tooltip.styles.js +2 -2
  123. package/dist/Tree/Tree.styles.js +9 -9
  124. package/dist/Typeahead/Typeahead.styles.js +3 -3
  125. package/dist/Typography/Typography.styles.js +1 -1
  126. package/dist/Typography/Typography.table.story.js +2 -2
  127. package/dist/_hooks/I18n.d.ts +5 -0
  128. package/dist/_locales/en.json +5 -0
  129. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  130. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +23 -23
  131. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  132. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  133. package/dist/_typedoc/Box/Box.types.json +68 -68
  134. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  135. package/dist/_typedoc/Button/Button.types.json +12 -12
  136. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  137. package/dist/_typedoc/Card/Card.types.json +6 -6
  138. package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
  139. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  140. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  141. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  142. package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
  143. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  144. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  145. package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
  146. package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
  147. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  148. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  149. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  150. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  151. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  152. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  153. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  154. package/dist/_typedoc/Form/Form.types.json +726 -726
  155. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  156. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  157. package/dist/_typedoc/Input/Input.types.json +2 -2
  158. package/dist/_typedoc/Link/Link.types.json +4 -4
  159. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  160. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  161. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  162. package/dist/_typedoc/Modal/Modal.types.json +101 -41
  163. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  164. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  165. package/dist/_typedoc/NumberInput/NumberInput.types.json +37 -37
  166. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
  167. package/dist/_typedoc/PageLayout/PageLayout.types.json +28 -28
  168. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  169. package/dist/_typedoc/Panel/Panel.types.json +27 -27
  170. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  171. package/dist/_typedoc/PillSelect/PillSelect.types.json +47 -47
  172. package/dist/_typedoc/Popover/Popover.types.json +14 -14
  173. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  174. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  175. package/dist/_typedoc/Required/Required.types.json +5 -5
  176. package/dist/_typedoc/Search/Search.types.json +18 -18
  177. package/dist/_typedoc/Section/Section.types.json +14 -14
  178. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
  179. package/dist/_typedoc/Select/Select.types.json +57 -57
  180. package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
  181. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  182. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  183. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  184. package/dist/_typedoc/Table/Table.types.json +99 -99
  185. package/dist/_typedoc/Tabs/Tabs.types.json +45 -19
  186. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +16 -16
  187. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  188. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  189. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  190. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  191. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  192. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  193. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  194. package/dist/_typedoc/Title/Title.types.json +1 -1
  195. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  196. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +3 -3
  197. package/dist/_typedoc/Token/Token.types.json +4 -4
  198. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  199. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  200. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  201. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  202. package/dist/_typedoc/Typography/Typography.types.json +9 -9
  203. package/dist/_typedoc/_utils/types.json +3 -3
  204. package/dist/_typedoc/deprecations.json +1 -1
  205. package/package.json +1 -1
package/dist/Tabs/Tabs.js CHANGED
@@ -1,7 +1,7 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- var _excluded = ["children"],
3
- _excluded2 = ["as", "disabled", "role", "active", "children", "onBlur", "onFocus", "onMount", "onUnmount", "overflowing", "dropdown", "variant"],
4
- _excluded3 = ["children", "className", "dark", "qa"];
2
+ var _excluded = ["children", "UNSAFE_helixHeader"],
3
+ _excluded2 = ["as", "disabled", "role", "active", "children", "onBlur", "onFocus", "onMount", "onUnmount", "overflowing", "dropdown", "variant", "UNSAFE_helixHeader"],
4
+ _excluded3 = ["children", "className", "dark", "qa", "UNSAFE_helixHeader"];
5
5
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
6
6
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
7
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -31,13 +31,16 @@ import { spacing } from '../_styles/spacing';
31
31
  import { addSubcomponents } from '../_utils/addSubcomponents';
32
32
  import { getBoundingRect } from '../_utils/dom';
33
33
  import { mergeRefs } from '../_utils/mergeRefs';
34
- import { StyledDropdownTab, StyledDropdownTabInner, StyledLink, StyledOverlay, StyledTab, StyledTabInner, StyledTabList, StyledTabs } from './Tabs.styles';
34
+ import { getStyledComponents, StyledOverlay, StyledTabList, StyledTabs } from './Tabs.styles';
35
35
  var ExtraTabSpacing = spacing.xxl;
36
36
  function noop() {}
37
37
  export var Link = /*#__PURE__*/React.forwardRef(function Link(_ref, ref) {
38
38
  var children = _ref.children,
39
+ _ref$UNSAFE_helixHead = _ref.UNSAFE_helixHeader,
40
+ UNSAFE_helixHeader = _ref$UNSAFE_helixHead === void 0 ? false : _ref$UNSAFE_helixHead,
39
41
  props = _objectWithoutProperties(_ref, _excluded);
40
- return /*#__PURE__*/React.createElement(StyledLink, _extends({
42
+ var Styled = getStyledComponents(UNSAFE_helixHeader);
43
+ return /*#__PURE__*/React.createElement(Styled.Link, _extends({
41
44
  ref: ref
42
45
  }, props), children);
43
46
  });
@@ -60,6 +63,8 @@ function TabInternal(_ref2, ref) {
60
63
  dropdown = _ref2$dropdown === void 0 ? false : _ref2$dropdown,
61
64
  _ref2$variant = _ref2.variant,
62
65
  variant = _ref2$variant === void 0 ? '' : _ref2$variant,
66
+ _ref2$UNSAFE_helixHea = _ref2.UNSAFE_helixHeader,
67
+ UNSAFE_helixHeader = _ref2$UNSAFE_helixHea === void 0 ? false : _ref2$UNSAFE_helixHea,
63
68
  props = _objectWithoutProperties(_ref2, _excluded2);
64
69
  var _ref3 = props,
65
70
  onPress = _ref3.onPress;
@@ -96,13 +101,14 @@ function TabInternal(_ref2, ref) {
96
101
  }, []);
97
102
  var validChild = /*#__PURE__*/React.isValidElement(children);
98
103
  var tabActive = active || variant === 'active';
99
- return /*#__PURE__*/React.createElement(StyledTab, _extends({
104
+ var Styled = getStyledComponents(UNSAFE_helixHeader);
105
+ return /*#__PURE__*/React.createElement(Styled.Tab, _extends({
100
106
  $active: tabActive,
101
107
  $dark: props.dark
102
108
  // @ts-ignore
103
109
  ,
104
110
  ref: mergeRefs(ref, innerRef)
105
- }, a11yProps, props), /*#__PURE__*/React.createElement(StyledTabInner, {
111
+ }, a11yProps, props), /*#__PURE__*/React.createElement(Styled.TabInner, {
106
112
  $active: tabActive,
107
113
  $dark: props.dark
108
114
  }, validChild ? /*#__PURE__*/React.cloneElement(children, {
@@ -149,6 +155,8 @@ var Tabs_ = /*#__PURE__*/React.forwardRef(function Tabs(_ref5, ref) {
149
155
  _ref5$dark = _ref5.dark,
150
156
  dark = _ref5$dark === void 0 ? false : _ref5$dark,
151
157
  qa = _ref5.qa,
158
+ _ref5$UNSAFE_helixHea = _ref5.UNSAFE_helixHeader,
159
+ UNSAFE_helixHeader = _ref5$UNSAFE_helixHea === void 0 ? false : _ref5$UNSAFE_helixHea,
152
160
  props = _objectWithoutProperties(_ref5, _excluded3);
153
161
  var i18n = useI18nContext();
154
162
  var _React$useState = React.useState(false),
@@ -196,6 +204,7 @@ var Tabs_ = /*#__PURE__*/React.forwardRef(function Tabs(_ref5, ref) {
196
204
  var isOverflowingActive = React.Children.toArray(overflowing).some(function (child) {
197
205
  return /*#__PURE__*/React.isValidElement(child) && child.props.active;
198
206
  });
207
+ var Styled = getStyledComponents(UNSAFE_helixHeader);
199
208
  return /*#__PURE__*/React.createElement(StyledTabs, _extends({
200
209
  ref: ref,
201
210
  dark: dark,
@@ -234,15 +243,15 @@ var Tabs_ = /*#__PURE__*/React.forwardRef(function Tabs(_ref5, ref) {
234
243
  overlay: /*#__PURE__*/React.createElement(MoreMenu, null, overflowing),
235
244
  ref: ref,
236
245
  role: "menu"
237
- }, /*#__PURE__*/React.createElement(StyledDropdownTab, {
246
+ }, /*#__PURE__*/React.createElement(Styled.DropdownTab, {
238
247
  $active: isOverflowingActive,
239
248
  $dark: dark,
240
249
  "aria-hidden": !overflowing.length,
241
250
  as: "button"
242
- }, /*#__PURE__*/React.createElement(StyledDropdownTabInner, {
251
+ }, /*#__PURE__*/React.createElement(Styled.DropdownTabInner, {
243
252
  $active: isOverflowingActive,
244
253
  $dark: dark
245
- }, /*#__PURE__*/React.createElement(StyledLink, {
254
+ }, /*#__PURE__*/React.createElement(Styled.Link, {
246
255
  "data-qa": qa === null || qa === void 0 ? void 0 : qa.more
247
256
  }, i18n.t('core.tabs.more')), moreMenuIsShown ? /*#__PURE__*/React.createElement(CaretUp, {
248
257
  size: "sm"
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","names":["CaretDown","CaretUp","React","useButton","MenuImperative","OverlayTrigger","useOverlayTriggerContext","useI18nContext","useResize","spacing","addSubcomponents","getBoundingRect","mergeRefs","StyledDropdownTab","StyledDropdownTabInner","StyledLink","StyledOverlay","StyledTab","StyledTabInner","StyledTabList","StyledTabs","ExtraTabSpacing","xxl","noop","Link","forwardRef","_ref","ref","children","props","_objectWithoutProperties","_excluded","createElement","_extends","TabInternal","_ref2","as","disabled","role","_ref2$active","active","onBlur","onFocus","_ref2$onMount","onMount","_ref2$onUnmount","onUnmount","_ref2$overflowing","overflowing","_ref2$dropdown","dropdown","_ref2$variant","variant","_excluded2","_ref3","onPress","_useButton","_objectSpread","elementType","isDisabled","type","buttonProps","a11yProps","$clickable","innerRef","useRef","useEffect","current","validChild","isValidElement","tabActive","$active","$dark","dark","cloneElement","undefined","Tab","MoreMenu","_ref4","id","ctx","menuRef","_menuRef$current","_menuRef$current$el","_menuRef$current2","_menuRef$current3","el","focus","highlightFirst","highlightSelected","onSelect","selection","hide","event","Options","Children","map","child","i","Item","item","key","selected","Tabs_","Tabs","_ref5","className","_ref5$dark","qa","_excluded3","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","subtotals","concat","_toConsumableArray","total","width","Array","index","findIndex","val","onResize","filtered","toArray","filter","slice","isOverflowingActive","some","elements","oldElements","autoFocus","beforeShow","afterHide","trigger","passA11yPropsToOverlay","placement","overlay","length","more","t","size","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 type {\n DivAttributes,\n NavAttributes,\n Props,\n SpanAttributes,\n} from '../_utils/types'\nimport {\n StyledDropdownTab,\n StyledDropdownTabInner,\n StyledLink,\n StyledOverlay,\n StyledTab,\n StyledTabInner,\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\n\nfunction noop() {}\n\nexport const Link = React.forwardRef<HTMLSpanElement, SpanAttributes & Props>(\n function Link({ children, ...props }, ref) {\n return (\n <StyledLink ref={ref} {...props}>\n {children}\n </StyledLink>\n )\n }\n)\n\nfunction TabInternal(\n {\n as,\n disabled,\n role,\n active = false,\n children,\n onBlur,\n onFocus,\n onMount = noop,\n onUnmount = noop,\n overflowing = false,\n dropdown = false,\n variant = '',\n ...props\n }: TabProps<TabRoleType>,\n ref: TabRef<TabRoleType>\n) {\n const { onPress } = props as TabProps<'button'>\n\n const { buttonProps } = useButton(\n {\n ...props,\n onBlur: onBlur as (e: React.FocusEvent) => void,\n onFocus: onFocus as (e: React.FocusEvent) => void,\n elementType: role === 'link' ? 'a' : role === 'button' ? 'button' : 'div',\n isDisabled: disabled,\n onPress,\n type: 'button',\n },\n ref as any // TODO fix polymorphic type\n )\n\n const a11yProps =\n role === 'button'\n ? {\n ...buttonProps,\n 'aria-current': active,\n as: as || 'button',\n $clickable: !disabled,\n }\n : role === 'link'\n ? {\n ...buttonProps,\n 'aria-current': active,\n as: as || 'a',\n $clickable: !disabled,\n }\n : role === 'tab'\n ? { role: 'tab', onBlur, onFocus }\n : { 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 tabActive = active || variant === 'active'\n\n return (\n <StyledTab\n $active={tabActive}\n $dark={props.dark}\n // @ts-ignore\n ref={mergeRefs(ref, innerRef)}\n {...a11yProps}\n {...props}\n >\n <StyledTabInner $active={tabActive} $dark={props.dark}>\n {validChild\n ? React.cloneElement(children as React.ReactElement<any, any>, {\n 'aria-current': tabActive ? true : undefined,\n })\n : children}\n </StyledTabInner>\n </StyledTab>\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 DivAttributes & TabDropdownProps\n>(function MoreMenu({ children, id }, 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 id={id} role=\"menu\" ref={menuRef} onSelect={onSelect}>\n <MenuImperative.Options>\n {React.Children.map(children, (child, i) => {\n if (React.isValidElement<BaseTabProps>(child)) {\n return (\n <MenuImperative.Item\n item={null}\n key={i}\n selected={child.props.active}\n >\n {React.cloneElement(child as any, { ref: null })}\n </MenuImperative.Item>\n )\n }\n })}\n </MenuImperative.Options>\n </MenuImperative>\n </StyledOverlay>\n )\n})\n\nconst Tabs_ = React.forwardRef<HTMLDivElement, NavAttributes & TabsProps>(\n function Tabs({ children, className, dark = false, qa, ...props }, ref) {\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 return {\n subtotals: [...acc.subtotals, acc.total + rect.width],\n total: acc.total + rect.width + ExtraTabSpacing,\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\n const overflowing = filtered.slice(cutoffIndex - 1)\n\n const isOverflowingActive = React.Children.toArray(overflowing).some(\n (child) => React.isValidElement(child) && child.props.active\n )\n\n return (\n <StyledTabs ref={ref} dark={dark} index={cutoffIndex} {...props}>\n <StyledTabList ref={containerRef}>\n {filtered.map((child, i) => {\n if (React.isValidElement(child))\n return React.cloneElement(child, {\n dark,\n onMount: (el: HTMLDivElement) => {\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 } as any) // TODO fix type\n })}\n\n <OverlayTrigger\n autoFocus\n beforeShow={() => setMoreMenuIsShown(true)}\n afterHide={() => setMoreMenuIsShown(false)}\n trigger=\"click\"\n passA11yPropsToOverlay\n placement=\"bottom-right\"\n overlay={<MoreMenu>{overflowing}</MoreMenu>}\n ref={ref}\n role=\"menu\"\n >\n <StyledDropdownTab\n $active={isOverflowingActive}\n $dark={dark}\n aria-hidden={!overflowing.length}\n as=\"button\"\n >\n <StyledDropdownTabInner\n $active={isOverflowingActive}\n $dark={dark}\n >\n <StyledLink data-qa={qa?.more}>\n {i18n.t('core.tabs.more')}\n </StyledLink>\n {moreMenuIsShown ? (\n <CaretUp size=\"sm\" />\n ) : (\n <CaretDown size=\"sm\" />\n )}\n </StyledDropdownTabInner>\n </StyledDropdownTab>\n </OverlayTrigger>\n </StyledTabList>\n </StyledTabs>\n )\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","noop","Link","forwardRef","_ref","ref","children","_ref$UNSAFE_helixHead","UNSAFE_helixHeader","props","_objectWithoutProperties","_excluded","Styled","createElement","_extends","TabInternal","_ref2","as","disabled","role","_ref2$active","active","onBlur","onFocus","_ref2$onMount","onMount","_ref2$onUnmount","onUnmount","_ref2$overflowing","overflowing","_ref2$dropdown","dropdown","_ref2$variant","variant","_ref2$UNSAFE_helixHea","_excluded2","_ref3","onPress","_useButton","_objectSpread","elementType","isDisabled","type","buttonProps","a11yProps","$clickable","innerRef","useRef","useEffect","current","validChild","isValidElement","tabActive","Tab","$active","$dark","dark","TabInner","cloneElement","undefined","MoreMenu","_ref4","id","ctx","menuRef","_menuRef$current","_menuRef$current$el","_menuRef$current2","_menuRef$current3","el","focus","highlightFirst","highlightSelected","onSelect","selection","hide","event","Options","Children","map","child","i","Item","item","key","selected","Tabs_","Tabs","_ref5","className","_ref5$dark","qa","_ref5$UNSAFE_helixHea","_excluded3","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","subtotals","concat","_toConsumableArray","total","width","Array","index","findIndex","val","onResize","filtered","toArray","filter","slice","isOverflowingActive","some","elements","oldElements","autoFocus","beforeShow","afterHide","trigger","passA11yPropsToOverlay","placement","overlay","DropdownTab","length","DropdownTabInner","more","t","size","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 type {\n DivAttributes,\n NavAttributes,\n Props,\n SpanAttributes,\n} from '../_utils/types'\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\n\nfunction noop() {}\n\nexport const Link = React.forwardRef<\n HTMLSpanElement,\n SpanAttributes &\n Props & {\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 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 } = props as TabProps<'button'>\n\n const { buttonProps } = useButton(\n {\n ...props,\n onBlur: onBlur as (e: React.FocusEvent) => void,\n onFocus: onFocus as (e: React.FocusEvent) => void,\n elementType: role === 'link' ? 'a' : role === 'button' ? 'button' : 'div',\n isDisabled: disabled,\n onPress,\n type: 'button',\n },\n ref as any // TODO fix polymorphic type\n )\n\n const a11yProps =\n role === 'button'\n ? {\n ...buttonProps,\n 'aria-current': active,\n as: as || 'button',\n $clickable: !disabled,\n }\n : role === 'link'\n ? {\n ...buttonProps,\n 'aria-current': active,\n as: as || 'a',\n $clickable: !disabled,\n }\n : role === 'tab'\n ? { role: 'tab', onBlur, onFocus }\n : { 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 tabActive = active || variant === 'active'\n\n const Styled = getStyledComponents(UNSAFE_helixHeader)\n\n return (\n <Styled.Tab\n $active={tabActive}\n $dark={props.dark}\n // @ts-ignore\n ref={mergeRefs(ref, innerRef)}\n {...a11yProps}\n {...props}\n >\n <Styled.TabInner $active={tabActive} $dark={props.dark}>\n {validChild\n ? React.cloneElement(children as React.ReactElement<any, any>, {\n 'aria-current': tabActive ? true : undefined,\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 DivAttributes & TabDropdownProps\n>(function MoreMenu({ children, id }, 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 id={id} role=\"menu\" ref={menuRef} onSelect={onSelect}>\n <MenuImperative.Options>\n {React.Children.map(children, (child, i) => {\n if (React.isValidElement<BaseTabProps>(child)) {\n return (\n <MenuImperative.Item\n item={null}\n key={i}\n selected={child.props.active}\n >\n {React.cloneElement(child as any, { ref: null })}\n </MenuImperative.Item>\n )\n }\n })}\n </MenuImperative.Options>\n </MenuImperative>\n </StyledOverlay>\n )\n})\n\nconst Tabs_ = React.forwardRef<HTMLDivElement, NavAttributes & 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 return {\n subtotals: [...acc.subtotals, acc.total + rect.width],\n total: acc.total + rect.width + ExtraTabSpacing,\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\n const overflowing = filtered.slice(cutoffIndex - 1)\n\n const isOverflowingActive = React.Children.toArray(overflowing).some(\n (child) => React.isValidElement(child) && child.props.active\n )\n\n const Styled = getStyledComponents(UNSAFE_helixHeader)\n\n return (\n <StyledTabs ref={ref} dark={dark} index={cutoffIndex} {...props}>\n <StyledTabList ref={containerRef}>\n {filtered.map((child, i) => {\n if (React.isValidElement(child))\n return React.cloneElement(child, {\n dark,\n onMount: (el: HTMLDivElement) => {\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 } as any) // TODO fix type\n })}\n\n <OverlayTrigger\n autoFocus\n beforeShow={() => setMoreMenuIsShown(true)}\n afterHide={() => setMoreMenuIsShown(false)}\n trigger=\"click\"\n passA11yPropsToOverlay\n placement=\"bottom-right\"\n overlay={<MoreMenu>{overflowing}</MoreMenu>}\n ref={ref}\n role=\"menu\"\n >\n <Styled.DropdownTab\n $active={isOverflowingActive}\n $dark={dark}\n aria-hidden={!overflowing.length}\n as=\"button\"\n >\n <Styled.DropdownTabInner\n $active={isOverflowingActive}\n $dark={dark}\n >\n <Styled.Link data-qa={qa?.more}>\n {i18n.t('core.tabs.more')}\n </Styled.Link>\n {moreMenuIsShown ? (\n <CaretUp size=\"sm\" />\n ) : (\n <CaretDown size=\"sm\" />\n )}\n </Styled.DropdownTabInner>\n </Styled.DropdownTab>\n </OverlayTrigger>\n </StyledTabList>\n </StyledTabs>\n )\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,24 +1,24 @@
1
1
  /// <reference types="react" />
2
- export declare const StyledLink: import("styled-components").StyledComponent<"span", any, {}, never>;
3
- export declare const StyledTab: import("styled-components").StyledComponent<"div", any, {
4
- $active?: boolean | undefined;
5
- $dark?: boolean | undefined;
6
- }, never>;
7
- export declare const StyledTabInner: import("styled-components").StyledComponent<"div", any, {
8
- $active?: boolean | undefined;
9
- $dark?: boolean | undefined;
10
- }, never>;
11
- export declare const StyledDropdownTab: import("styled-components").StyledComponent<"div", any, {
12
- $active?: boolean | undefined;
13
- $dark?: boolean | undefined;
14
- }, never>;
15
- export declare const StyledDropdownTabInner: import("styled-components").StyledComponent<"div", any, {
16
- $active?: boolean | undefined;
17
- $dark?: boolean | undefined;
18
- }, never>;
2
+ declare type TabStyleProps = {
3
+ $active?: boolean;
4
+ $dark?: boolean;
5
+ };
19
6
  export declare const StyledOverlay: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("..").DivAttributes & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
20
7
  export declare const StyledTabList: import("styled-components").StyledComponent<"div", any, {}, never>;
21
8
  export declare const StyledTabs: import("styled-components").StyledComponent<"nav", any, {
22
9
  dark?: boolean | undefined;
23
10
  index?: number | undefined;
24
11
  }, never>;
12
+ /**
13
+ * Switches between different Tab styles of traditional and helix header navigation.
14
+ * Allows separate style CSS without conditionals across all the components.
15
+ * @returns Subcomponents to render
16
+ */
17
+ export declare function getStyledComponents(helixHeader?: boolean): {
18
+ Tab: import("styled-components").StyledComponent<"div", any, TabStyleProps, never>;
19
+ TabInner: import("styled-components").StyledComponent<"div", any, TabStyleProps, never>;
20
+ Link: import("styled-components").StyledComponent<"span", any, {}, never>;
21
+ DropdownTab: import("styled-components").StyledComponent<"div", any, TabStyleProps, never>;
22
+ DropdownTabInner: import("styled-components").StyledComponent<"div", any, TabStyleProps, never>;
23
+ };
24
+ export {};
@@ -7,26 +7,55 @@ import { spacing } from '../_styles/spacing';
7
7
  var hiddenTab = /*#__PURE__*/css(["pointer-events:none;position:absolute;visibility:hidden;"]);
8
8
  var visible = /*#__PURE__*/css(["pointer-events:all;position:relative;visibility:visible;"]);
9
9
  var borderRadius = /*#__PURE__*/css(["border-radius:", "px ", "px 0 0;"], spacing.xs, spacing.xs);
10
- export var StyledLink = /*#__PURE__*/styled.span.withConfig({
11
- displayName: "StyledLink",
12
- componentId: "core-12_7_0__sc-17s58xs-0"
13
- })(["align-items:center;display:flex;height:23px;", " box-sizing:border-box;"], borderRadius);
14
- export var StyledTab = /*#__PURE__*/styled.div.withConfig({
10
+
11
+ //// START BASE LAYOUT COMPONENTS FOR TABS ////
12
+
13
+ /**
14
+ * Elements to handle general layout and browser resets.
15
+ * Will be the referencable element (class) other selectors
16
+ * that need to target general layout references.
17
+ */
18
+ var StyledTabBase = /*#__PURE__*/styled.div.withConfig({
19
+ displayName: "StyledTabBase",
20
+ componentId: "core-12_8_0__sc-17s58xs-0"
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
+ var StyledTabInnerBase = /*#__PURE__*/styled.div.withConfig({
23
+ displayName: "StyledTabInnerBase",
24
+ componentId: "core-12_8_0__sc-17s58xs-1"
25
+ })(["align-self:baseline;box-sizing:border-box;&,> a{display:flex;text-decoration:none;width:100%;}"]);
26
+
27
+ // This so that it can be visible/hidden via CSS down below
28
+ var StyledDropdownTabBase = /*#__PURE__*/styled(StyledTabBase).withConfig({
29
+ displayName: "StyledDropdownTabBase",
30
+ componentId: "core-12_8_0__sc-17s58xs-2"
31
+ })(["", ""], hiddenTab);
32
+
33
+ //// END BASE LAYOUT COMPONENTS FOR TABS ////
34
+
35
+ //// START TRADITIONAL DESIGN SYSTEM TAB STYLES ////
36
+
37
+ /**
38
+ * Styles specific to the Design System general cases (not Global nav)
39
+ */
40
+ function getTabStyle() {
41
+ return css(["", " height:26px;& + ", "{margin-left:", "px;}a&{", "}&,a&,button&{", "}&:focus,&:focus-within,&:hover{background:", ";}&:focus,&:focus-within{box-shadow:inset 0 0 0 2px ", ";outline:none;a{outline:none;}}"], borderRadius, StyledTabBase, spacing.xl, borderRadius, function (_ref) {
42
+ var $active = _ref.$active;
43
+ if ($active) {
44
+ return css(["border-bottom:3px solid ", ";"], colors.gray15);
45
+ }
46
+ }, function (_ref2) {
47
+ var $dark = _ref2.$dark;
48
+ return $dark ? 'transparent' : colors.gray90;
49
+ }, colors.blue40);
50
+ }
51
+ var StyledTab = /*#__PURE__*/styled(StyledTabBase).withConfig({
15
52
  displayName: "StyledTab",
16
- componentId: "core-12_7_0__sc-17s58xs-1"
17
- })(["", " align-items:center;box-sizing:border-box;cursor:pointer;display:inline-flex;flex:0 0 auto;height:26px;justify-content:center;position:relative;white-space:nowrap;a&{", " text-decoration:none;}button&{background-color:transparent;border:none;font-family:inherit;padding-inline-start:0;padding-inline-end:0;padding-block-start:0;padding-block-end:0;}&,a&,button&{", "}&:focus,&:focus-within,&:hover{background:", ";}&:focus,&:focus-within{box-shadow:inset 0 0 0 2px ", ";outline:none;a{outline:none;}}"], borderRadius, borderRadius, function (_ref) {
18
- var $active = _ref.$active;
19
- if ($active) {
20
- return css(["border-bottom:3px solid ", ";"], colors.gray15);
21
- }
22
- }, function (_ref2) {
23
- var $dark = _ref2.$dark;
24
- return $dark ? 'transparent' : colors.gray90;
25
- }, colors.blue40);
26
- export var StyledTabInner = /*#__PURE__*/styled.div.withConfig({
53
+ componentId: "core-12_8_0__sc-17s58xs-3"
54
+ })(["", ""], getTabStyle);
55
+ var StyledTabInner = /*#__PURE__*/styled(StyledTabInnerBase).withConfig({
27
56
  displayName: "StyledTabInner",
28
- componentId: "core-12_7_0__sc-17s58xs-2"
29
- })(["", " align-self:baseline;padding:0 ", "px;box-sizing:border-box;font-weight:", ";&,> a{", " color:", ";display:flex;height:23px;text-decoration:none;width:100%;}", ""], getTypographyIntent('body'), spacing.xs, function (_ref3) {
57
+ componentId: "core-12_8_0__sc-17s58xs-4"
58
+ })(["", " padding:0 ", "px;font-weight:", ";&,> a{", " color:", ";height:23px;}", ""], getTypographyIntent('body'), spacing.xs, function (_ref3) {
30
59
  var $active = _ref3.$active;
31
60
  return $active ? 600 : 400;
32
61
  }, borderRadius, colors.gray15, function (_ref4) {
@@ -36,36 +65,90 @@ export var StyledTabInner = /*#__PURE__*/styled.div.withConfig({
36
65
  return css(["&,> a,button&,a&{color:", ";&:hover{color:white;}}"], $active ? colors.white : colors.gray70);
37
66
  }
38
67
  });
39
-
40
- // This is still needed so that it can be hidden via CSS down below
41
- export var StyledDropdownTab = /*#__PURE__*/styled(StyledTab).withConfig({
68
+ var StyledDropdownTab = /*#__PURE__*/styled(StyledDropdownTabBase).withConfig({
42
69
  displayName: "StyledDropdownTab",
43
- componentId: "core-12_7_0__sc-17s58xs-3"
44
- })(["", ""], hiddenTab);
45
- export var StyledDropdownTabInner = /*#__PURE__*/styled(StyledTabInner).withConfig({
70
+ componentId: "core-12_8_0__sc-17s58xs-5"
71
+ })(["", ""], getTabStyle);
72
+ var StyledDropdownTabInner = /*#__PURE__*/styled(StyledTabInner).withConfig({
46
73
  displayName: "StyledDropdownTabInner",
47
- componentId: "core-12_7_0__sc-17s58xs-4"
74
+ componentId: "core-12_8_0__sc-17s58xs-6"
48
75
  })(["align-items:center;cursor:pointer;display:inline-flex;"]);
76
+ var StyledLink = /*#__PURE__*/styled.span.withConfig({
77
+ displayName: "StyledLink",
78
+ componentId: "core-12_8_0__sc-17s58xs-7"
79
+ })(["align-items:center;display:flex;height:23px;", " box-sizing:border-box;"], borderRadius);
80
+
81
+ //// END TRADITIONAL DESIGN SYSTEM TAB STYLES ////
82
+
83
+ //// START HELIX GLOBAL NAVIGATION TAB STYLES ////
84
+
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;}&:hover{background:rgba(117,131,138,0.3);}&:focus{outline:2px solid ", ";outline-offset:-2px;background:rgba(117,131,138,0.3);}"], colors.white, spacing.xs, getTypographyIntent('small'), StyledTabBase, spacing.sm, colors.blue70);
87
+ }
88
+ var StyledGlobalNavigationTab = /*#__PURE__*/styled(StyledTabBase).withConfig({
89
+ displayName: "StyledGlobalNavigationTab",
90
+ componentId: "core-12_8_0__sc-17s58xs-8"
91
+ })(["", ""], getHelixHeaderTabStyles);
92
+ var StyledGlobalNavigationDropdownTab = /*#__PURE__*/styled(StyledDropdownTabBase).withConfig({
93
+ displayName: "StyledGlobalNavigationDropdownTab",
94
+ componentId: "core-12_8_0__sc-17s58xs-9"
95
+ })(["", ""], getHelixHeaderTabStyles);
96
+ var StyledGlobalNavigationDropdownTabInner = /*#__PURE__*/styled(StyledTabInnerBase).withConfig({
97
+ displayName: "StyledGlobalNavigationDropdownTabInner",
98
+ componentId: "core-12_8_0__sc-17s58xs-10"
99
+ })(["align-items:center;cursor:pointer;display:inline-flex;"]);
100
+ var StyledGlobalNavigationLink = /*#__PURE__*/styled.span.withConfig({
101
+ displayName: "StyledGlobalNavigationLink",
102
+ componentId: "core-12_8_0__sc-17s58xs-11"
103
+ })(["padding-left:6px;padding-right:6px;"]);
104
+
105
+ //// END HELIX GLOBAL NAVIGATION TAB STYLES ////
106
+
49
107
  export var StyledOverlay = /*#__PURE__*/styled(Card).withConfig({
50
108
  displayName: "StyledOverlay",
51
- componentId: "core-12_7_0__sc-17s58xs-5"
52
- })(["max-height:40vh;", "{padding:0;display:flex;justify-content:center;a{margin:unset;padding:unset;}}", "{padding:0;display:flex;}", "{padding:2px 16px 4px 16px;}", ",", "{color:", ";border-radius:0;display:flex;width:100%;}[data-selected='true']{", ",", "{border-bottom-color:transparent;color:", ";}}"], StyledItem, StyledLink, StyledTabInner, StyledLink, StyledTab, colors.gray15, StyledLink, StyledTab, colors.blue50);
109
+ componentId: "core-12_8_0__sc-17s58xs-12"
110
+ })(["max-height:40vh;", "{padding:0;display:flex;justify-content:center;a{margin:unset;padding:unset;}}", "{padding:0;display:flex;}", "{padding:2px 16px 4px 16px;}", ",", "{color:", ";border-radius:0;display:flex;width:100%;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);
53
111
  export var StyledTabList = /*#__PURE__*/styled.div.withConfig({
54
112
  displayName: "StyledTabList",
55
- componentId: "core-12_7_0__sc-17s58xs-6"
113
+ componentId: "core-12_8_0__sc-17s58xs-13"
56
114
  })(["display:flex;width:100%;"]);
57
115
  export var StyledTabs = /*#__PURE__*/styled.nav.withConfig({
58
116
  displayName: "StyledTabs",
59
- componentId: "core-12_7_0__sc-17s58xs-7"
60
- })(["background-color:", ";display:flex;overflow:hidden;width:100%;", " + ", "{margin-left:", "px;}", "{&:nth-child(1n + ", "){&:not(", "){", "}}}", ""], function (_ref5) {
117
+ componentId: "core-12_8_0__sc-17s58xs-14"
118
+ })(["background-color:", ";display:flex;overflow:hidden;width:100%;", "{&:nth-child(1n + ", "){&:not(", "){", "}}}", ""], function (_ref5) {
61
119
  var dark = _ref5.dark;
62
120
  return dark && colors.gray15;
63
- }, StyledTab, StyledTab, spacing.xl, StyledTab, function (_ref6) {
121
+ }, StyledTabBase, function (_ref6) {
64
122
  var index = _ref6.index;
65
123
  return index;
66
- }, StyledDropdownTab, hiddenTab, function (_ref7) {
124
+ }, StyledDropdownTabBase, hiddenTab, function (_ref7) {
67
125
  var _ref7$index = _ref7.index,
68
126
  index = _ref7$index === void 0 ? -1 : _ref7$index;
69
- return index >= 0 && css(["", "{", "}"], StyledDropdownTab, visible);
127
+ return index >= 0 && css(["", "{", "}"], StyledDropdownTabBase, visible);
70
128
  });
129
+
130
+ /**
131
+ * Switches between different Tab styles of traditional and helix header navigation.
132
+ * Allows separate style CSS without conditionals across all the components.
133
+ * @returns Subcomponents to render
134
+ */
135
+ export function getStyledComponents() {
136
+ var helixHeader = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
137
+ if (helixHeader) {
138
+ return {
139
+ Tab: StyledGlobalNavigationTab,
140
+ TabInner: StyledTabInnerBase,
141
+ Link: StyledGlobalNavigationLink,
142
+ DropdownTab: StyledGlobalNavigationDropdownTab,
143
+ DropdownTabInner: StyledGlobalNavigationDropdownTabInner
144
+ };
145
+ }
146
+ return {
147
+ Tab: StyledTab,
148
+ TabInner: StyledTabInner,
149
+ Link: StyledLink,
150
+ DropdownTab: StyledDropdownTab,
151
+ DropdownTabInner: StyledDropdownTabInner
152
+ };
153
+ }
71
154
  //# sourceMappingURL=Tabs.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.styles.js","names":["styled","css","Card","StyledItem","getTypographyIntent","colors","spacing","hiddenTab","visible","borderRadius","xs","StyledLink","span","withConfig","displayName","componentId","StyledTab","div","_ref","$active","gray15","_ref2","$dark","gray90","blue40","StyledTabInner","_ref3","_ref4","white","gray70","StyledDropdownTab","StyledDropdownTabInner","StyledOverlay","blue50","StyledTabList","StyledTabs","nav","_ref5","dark","xl","_ref6","index","_ref7","_ref7$index"],"sources":["../../src/Tabs/Tabs.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { Card } from '../Card/Card'\nimport { StyledItem } from '../MenuImperative/MenuImperative.styles'\nimport { getTypographyIntent } from '../Typography/Typography.styles'\nimport { colors } from '../_styles/colors'\nimport { spacing } from '../_styles/spacing'\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\nexport const 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\nexport const StyledTab = styled.div<{ $active?: boolean; $dark?: boolean }>`\n ${borderRadius}\n align-items: center;\n box-sizing: border-box;\n cursor: pointer;\n display: inline-flex;\n flex: 0 0 auto;\n height: 26px;\n justify-content: center;\n position: relative;\n white-space: nowrap;\n\n a& {\n ${borderRadius}\n text-decoration: none;\n }\n\n button& {\n background-color: transparent;\n border: none;\n font-family: inherit;\n padding-inline-start: 0;\n padding-inline-end: 0;\n padding-block-start: 0;\n padding-block-end: 0;\n }\n\n &,\n a&,\n button& {\n ${({ $active }) => {\n if ($active) {\n return css`\n border-bottom: 3px solid ${colors.gray15};\n `\n }\n }}\n }\n\n &:focus,\n &:focus-within,\n &:hover {\n background: ${({ $dark }) => ($dark ? 'transparent' : colors.gray90)};\n }\n\n &:focus,\n &:focus-within {\n box-shadow: inset 0 0 0 2px ${colors.blue40};\n outline: none;\n\n a {\n outline: none;\n }\n }\n`\n\nexport const StyledTabInner = styled.div<{\n $active?: boolean\n $dark?: boolean\n}>`\n ${getTypographyIntent('body')}\n\n align-self: baseline;\n padding: 0 ${spacing.xs}px;\n box-sizing: border-box;\n font-weight: ${({ $active }) => ($active ? 600 : 400)};\n\n &,\n > a {\n ${borderRadius}\n color: ${colors.gray15};\n display: flex;\n height: 23px;\n text-decoration: none;\n width: 100%;\n }\n\n /* TODO: Dark mode was not considered for helix updates,\n * matching previous UX patterns - April 2nd 2024\n */\n ${({ $active, $dark }) => {\n if ($dark) {\n return css`\n &,\n > a,\n button&,\n a& {\n color: ${$active ? colors.white : colors.gray70};\n\n &:hover {\n color: white;\n }\n }\n `\n }\n }}\n`\n\n// This is still needed so that it can be hidden via CSS down below\nexport const StyledDropdownTab = styled(StyledTab)`\n ${hiddenTab}\n`\n\nexport const StyledDropdownTabInner = styled(StyledTabInner)`\n align-items: center;\n cursor: pointer;\n display: inline-flex;\n`\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 margin: unset;\n padding: unset;\n }\n }\n\n ${StyledLink} {\n padding: 0;\n display: flex;\n }\n\n ${StyledTabInner} {\n padding: 2px 16px 4px 16px;\n }\n\n ${StyledLink}, ${StyledTab} {\n color: ${colors.gray15};\n border-radius: 0;\n display: flex;\n width: 100%;\n }\n\n [data-selected='true'] {\n ${StyledLink}, ${StyledTab} {\n border-bottom-color: transparent;\n color: ${colors.blue50};\n }\n }\n`\n\nexport const StyledTabList = styled.div`\n display: flex;\n width: 100%;\n`\n\nexport const StyledTabs = styled.nav<{ dark?: boolean; index?: number }>`\n background-color: ${({ dark }) => dark && colors.gray15};\n display: flex;\n overflow: hidden;\n width: 100%;\n\n ${StyledTab} + ${StyledTab} {\n margin-left: ${spacing.xl}px;\n }\n\n ${StyledTab} {\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(${StyledDropdownTab}) {\n ${hiddenTab}\n }\n }\n }\n\n ${({ index = -1 }) =>\n index >= 0 &&\n css`\n ${StyledDropdownTab} {\n ${visible}\n }\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","$active","gray15","_ref2","$dark","gray90","blue40","StyledTab","StyledTabInner","_ref3","_ref4","white","gray70","StyledDropdownTab","StyledDropdownTabInner","StyledLink","span","getHelixHeaderTabStyles","sm","blue70","StyledGlobalNavigationTab","StyledGlobalNavigationDropdownTab","StyledGlobalNavigationDropdownTabInner","StyledGlobalNavigationLink","StyledOverlay","blue50","StyledTabList","StyledTabs","nav","_ref5","dark","_ref6","index","_ref7","_ref7$index","getStyledComponents","helixHeader","arguments","length","undefined","Tab","TabInner","Link","DropdownTab","DropdownTabInner"],"sources":["../../src/Tabs/Tabs.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { Card } from '../Card/Card'\nimport { StyledItem } from '../MenuImperative/MenuImperative.styles'\nimport { getTypographyIntent } from '../Typography/Typography.styles'\nimport { colors } from '../_styles/colors'\nimport { spacing } from '../_styles/spacing'\n\ntype TabStyleProps = {\n $active?: 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 ${({ $active }) => {\n if ($active) {\n return css`\n border-bottom: 3px solid ${colors.gray15};\n `\n }\n }}\n }\n\n &:focus,\n &:focus-within,\n &:hover {\n background: ${({ $dark }) => ($dark ? 'transparent' : colors.gray90)};\n }\n\n &:focus,\n &:focus-within {\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: ${({ $active }) => ($active ? 600 : 400)};\n\n &,\n > a {\n ${borderRadius}\n color: ${colors.gray15};\n height: 23px;\n }\n\n /* TODO: Dark mode was not considered for helix updates,\n * matching previous UX patterns - April 2nd 2024\n */\n ${({ $active, $dark }) => {\n if ($dark) {\n return css`\n &,\n > a,\n button&,\n a& {\n color: ${$active ? 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`\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 &:hover {\n background: rgba(117, 131, 138, 0.3);\n }\n\n &:focus {\n outline: 2px solid ${colors.blue70};\n outline-offset: -2px;\n background: rgba(117, 131, 138, 0.3);\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 margin: unset;\n padding: unset;\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 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 width: 100%;\n`\n\nexport const StyledTabs = styled.nav<{\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\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 }\n }\n return {\n Tab: StyledTab,\n TabInner: StyledTabInner,\n Link: StyledLink,\n DropdownTab: StyledDropdownTab,\n DropdownTabInner: StyledDropdownTabInner,\n }\n}\n"],"mappings":"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"}
@@ -33,6 +33,11 @@ export interface BaseTabProps extends Props {
33
33
  * Whether or not tab is in dark mode
34
34
  * @private
35
35
  * @since 10.19.0
36
+ * @deprecated Custom styles intended for the global navigation header.
37
+ * Future Core-React will look holistically at themes and dark mode support.
38
+ *
39
+ * AFTER - Regular Tab styles. If needing dark support, please reach out.
40
+ * @deprecatedSince 12.8.0
36
41
  */
37
42
  dark?: boolean;
38
43
  /**
@@ -75,6 +80,12 @@ export interface BaseTabProps extends Props {
75
80
  * @since 11.6.0
76
81
  */
77
82
  role?: TabRole;
83
+ /**
84
+ * Tab styles specific to the global navigation header.
85
+ * @deprecated @experimental Alternative style variant. To be used on Helix Header ONLY
86
+ * @since 12.8.0
87
+ */
88
+ UNSAFE_helixHeader?: boolean;
78
89
  }
79
90
  export interface TabsTabProps extends BaseTabProps {
80
91
  }
@@ -87,12 +98,23 @@ export interface QaTags {
87
98
  export interface TabsProps extends Props {
88
99
  /**
89
100
  * @since 10.19.0
101
+ * @deprecated Custom styles intended for the global navigation header.
102
+ * Future Core-React will look holistically at themes and dark mode support.
103
+ *
104
+ * AFTER - Regular Tab styles. If needing dark support, please reach out.
105
+ * @deprecatedSince 12.8.0
90
106
  */
91
107
  dark?: boolean;
92
108
  /**
93
109
  * @since 10.19.0
94
110
  */
95
111
  qa?: QaTags;
112
+ /**
113
+ * Tab styles specific to the global navigation header.
114
+ * @deprecated @experimental Alternative style variant. To be used on Helix Header ONLY
115
+ * @since 12.8.0
116
+ */
117
+ UNSAFE_helixHeader?: boolean;
96
118
  }
97
119
  export interface TabDropdownProps extends Props {
98
120
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.types.js","names":["tabVariant","none","active","dark","dropdown","hover","overflowing"],"sources":["../../src/Tabs/Tabs.types.ts"],"sourcesContent":["import type { AriaButtonProps } from '@react-aria/button'\nimport type React from 'react'\nimport type { Polymorphic } from '../_utils/polymorphic'\nimport type { Props } from '../_utils/types'\n\nexport type TabRoleType = 'link' | 'button'\n\nexport interface TabPolyMap extends Record<TabRoleType, React.ElementType> {\n button: 'button'\n link: 'a'\n}\n\nexport type TabRole = TabRoleType | undefined\n\nexport type TabRef<Role extends TabRole = undefined> = Role extends TabRoleType\n ? Polymorphic.Ref<TabPolyMap, Role>\n : React.ComponentPropsWithRef<'div'>['ref']\n\nexport type TabProps<Role extends TabRole = undefined> = Role extends 'link'\n ? Polymorphic.ComponentPropsWithRef<TabPolyMap, 'link', 'href', BaseTabProps>\n : Role extends 'button'\n ? Polymorphic.ComponentPropsWithRef<\n TabPolyMap,\n 'button',\n never,\n BaseTabProps & { onPress: AriaButtonProps['onPress'] }\n >\n : BaseTabProps & { ref?: TabRef<undefined> }\n\nexport const tabVariant = {\n none: '',\n active: 'active',\n dark: 'dark',\n dropdown: 'dropdown',\n hover: 'hover',\n overflowing: 'overflowing',\n} as const\n\ntype TabVariant = (typeof tabVariant)[keyof typeof tabVariant]\n\nexport interface BaseTabProps extends Props {\n /**\n * The tab is active\n * @since 10.19.0\n */\n active?: boolean\n\n /**\n * Whether or not tab is in dark mode\n * @private\n * @since 10.19.0\n */\n dark?: boolean\n\n /**\n * @private\n * @since 10.19.0\n */\n onMount?: (el: HTMLDivElement | null) => void\n\n /**\n * @private\n */\n onUnmount?: () => void\n\n /**\n * @deprecated This was never intended to be a public facing API and does not\n * do anything. It will be removed in the future.\n * @deprecatedSince 11\n * @since 10.19.0\n */\n dropdown?: boolean\n\n /**\n * @deprecated This was never intended to be a public facing API and does not\n * do anything. It will be removed in the future.\n * @deprecatedSince 11\n * @since 10.19.0\n */\n overflowing?: boolean\n\n /**\n * @deprecated please use the `active` and `dark` props to configure style. The\n * `dropdown`, `hover`, and `overflowing` variants were only for internal use\n * and should not be used in clients\n * @deprecatedSince 11\n * @since 10.19.0\n */\n variant?: TabVariant\n /**\n * @since 11.6.0\n */\n disabled?: boolean\n /**\n * Sets the Tab's role\n * @since 11.6.0\n */\n role?: TabRole\n}\n\nexport interface TabsTabProps extends BaseTabProps {}\n\nexport interface QaTags {\n /**\n * @since 10.19.0\n */\n more?: string\n}\n\nexport interface TabsProps extends Props {\n /**\n * @since 10.19.0\n */\n dark?: boolean\n /**\n * @since 10.19.0\n */\n qa?: QaTags\n}\n\nexport interface TabDropdownProps extends Props {\n /**\n * @since 10.19.0\n */\n visible?: boolean\n /**\n * @since 10.19.0\n */\n qa?: QaTags\n}\n"],"mappings":"AA6BA,OAAO,IAAMA,UAAU,GAAG;EACxBC,IAAI,EAAE,EAAE;EACRC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,OAAO;EACdC,WAAW,EAAE;AACf,CAAU"}
1
+ {"version":3,"file":"Tabs.types.js","names":["tabVariant","none","active","dark","dropdown","hover","overflowing"],"sources":["../../src/Tabs/Tabs.types.ts"],"sourcesContent":["import type { AriaButtonProps } from '@react-aria/button'\nimport type React from 'react'\nimport type { Polymorphic } from '../_utils/polymorphic'\nimport type { Props } from '../_utils/types'\n\nexport type TabRoleType = 'link' | 'button'\n\nexport interface TabPolyMap extends Record<TabRoleType, React.ElementType> {\n button: 'button'\n link: 'a'\n}\n\nexport type TabRole = TabRoleType | undefined\n\nexport type TabRef<Role extends TabRole = undefined> = Role extends TabRoleType\n ? Polymorphic.Ref<TabPolyMap, Role>\n : React.ComponentPropsWithRef<'div'>['ref']\n\nexport type TabProps<Role extends TabRole = undefined> = Role extends 'link'\n ? Polymorphic.ComponentPropsWithRef<TabPolyMap, 'link', 'href', BaseTabProps>\n : Role extends 'button'\n ? Polymorphic.ComponentPropsWithRef<\n TabPolyMap,\n 'button',\n never,\n BaseTabProps & { onPress: AriaButtonProps['onPress'] }\n >\n : BaseTabProps & { ref?: TabRef<undefined> }\n\nexport const tabVariant = {\n none: '',\n active: 'active',\n dark: 'dark',\n dropdown: 'dropdown',\n hover: 'hover',\n overflowing: 'overflowing',\n} as const\n\ntype TabVariant = (typeof tabVariant)[keyof typeof tabVariant]\n\nexport interface BaseTabProps extends Props {\n /**\n * The tab is active\n * @since 10.19.0\n */\n active?: boolean\n\n /**\n * Whether or not tab is in dark mode\n * @private\n * @since 10.19.0\n * @deprecated Custom styles intended for the global navigation header.\n * Future Core-React will look holistically at themes and dark mode support.\n *\n * AFTER - Regular Tab styles. If needing dark support, please reach out.\n * @deprecatedSince 12.8.0\n */\n dark?: boolean\n\n /**\n * @private\n * @since 10.19.0\n */\n onMount?: (el: HTMLDivElement | null) => void\n\n /**\n * @private\n */\n onUnmount?: () => void\n\n /**\n * @deprecated This was never intended to be a public facing API and does not\n * do anything. It will be removed in the future.\n * @deprecatedSince 11\n * @since 10.19.0\n */\n dropdown?: boolean\n\n /**\n * @deprecated This was never intended to be a public facing API and does not\n * do anything. It will be removed in the future.\n * @deprecatedSince 11\n * @since 10.19.0\n */\n overflowing?: boolean\n\n /**\n * @deprecated please use the `active` and `dark` props to configure style. The\n * `dropdown`, `hover`, and `overflowing` variants were only for internal use\n * and should not be used in clients\n * @deprecatedSince 11\n * @since 10.19.0\n */\n variant?: TabVariant\n /**\n * @since 11.6.0\n */\n disabled?: boolean\n /**\n * Sets the Tab's role\n * @since 11.6.0\n */\n role?: TabRole\n /**\n * Tab styles specific to the global navigation header.\n * @deprecated @experimental Alternative style variant. To be used on Helix Header ONLY\n * @since 12.8.0\n */\n UNSAFE_helixHeader?: boolean\n}\n\nexport interface TabsTabProps extends BaseTabProps {}\n\nexport interface QaTags {\n /**\n * @since 10.19.0\n */\n more?: string\n}\n\nexport interface TabsProps extends Props {\n /**\n * @since 10.19.0\n * @deprecated Custom styles intended for the global navigation header.\n * Future Core-React will look holistically at themes and dark mode support.\n *\n * AFTER - Regular Tab styles. If needing dark support, please reach out.\n * @deprecatedSince 12.8.0\n */\n dark?: boolean\n /**\n * @since 10.19.0\n */\n qa?: QaTags\n /**\n * Tab styles specific to the global navigation header.\n * @deprecated @experimental Alternative style variant. To be used on Helix Header ONLY\n * @since 12.8.0\n */\n UNSAFE_helixHeader?: boolean\n}\n\nexport interface TabDropdownProps extends Props {\n /**\n * @since 10.19.0\n */\n visible?: boolean\n /**\n * @since 10.19.0\n */\n qa?: QaTags\n}\n"],"mappings":"AA6BA,OAAO,IAAMA,UAAU,GAAG;EACxBC,IAAI,EAAE,EAAE;EACRC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,OAAO;EACdC,WAAW,EAAE;AACf,CAAU"}
@@ -47,7 +47,7 @@ var getSlideOutAnimation = function getSlideOutAnimation($placement) {
47
47
  };
48
48
  export var StyledTearsheetContent = /*#__PURE__*/styled.div.withConfig({
49
49
  displayName: "StyledTearsheetContent",
50
- componentId: "core-12_7_0__sc-ljrxoq-0"
50
+ componentId: "core-12_8_0__sc-ljrxoq-0"
51
51
  })(["display:flex;z-index:2;width:100%;", " ", " ", " ", ""], function (_ref) {
52
52
  var $open = _ref.$open,
53
53
  $placement = _ref.$placement;
@@ -67,7 +67,7 @@ export var StyledTearsheetContent = /*#__PURE__*/styled.div.withConfig({
67
67
  export var minScrimSize = spacing.xxl * 3;
68
68
  export var StyledTearsheetBody = /*#__PURE__*/styled.div.withConfig({
69
69
  displayName: "StyledTearsheetBody",
70
- componentId: "core-12_7_0__sc-ljrxoq-1"
70
+ componentId: "core-12_8_0__sc-ljrxoq-1"
71
71
  })(["display:flex;overflow-y:auto;flex-direction:column;background-color:", ";", " ", "}"], colors.white, function (_ref5) {
72
72
  var $placement = _ref5.$placement,
73
73
  $stretch = _ref5.$stretch;
@@ -87,7 +87,7 @@ var zoomIn = /*#__PURE__*/keyframes(["from{transform:scale(0);}to{transform:scal
87
87
  var zoomOut = /*#__PURE__*/keyframes(["from{transform:scale(1);}to{transform:scale(0);}"]);
88
88
  export var StyledScrimContainer = /*#__PURE__*/styled.div.withConfig({
89
89
  displayName: "StyledScrimContainer",
90
- componentId: "core-12_7_0__sc-ljrxoq-2"
90
+ componentId: "core-12_8_0__sc-ljrxoq-2"
91
91
  })(["", ""], function (_ref7) {
92
92
  var $placement = _ref7.$placement;
93
93
  var minSizeProp = ['top', 'bottom'].includes($placement) ? 'min-height' : 'min-width';
@@ -95,7 +95,7 @@ export var StyledScrimContainer = /*#__PURE__*/styled.div.withConfig({
95
95
  });
96
96
  export var StyledButtonContainer = /*#__PURE__*/styled.div.withConfig({
97
97
  displayName: "StyledButtonContainer",
98
- componentId: "core-12_7_0__sc-ljrxoq-3"
98
+ componentId: "core-12_8_0__sc-ljrxoq-3"
99
99
  })(["", ""], function (_ref8) {
100
100
  var $placement = _ref8.$placement;
101
101
  switch ($placement) {
@@ -110,7 +110,7 @@ export var StyledButtonContainer = /*#__PURE__*/styled.div.withConfig({
110
110
  });
111
111
  export var StyledButtonCard = /*#__PURE__*/styled(Card).withConfig({
112
112
  displayName: "StyledButtonCard",
113
- componentId: "core-12_7_0__sc-ljrxoq-4"
113
+ componentId: "core-12_8_0__sc-ljrxoq-4"
114
114
  })(["display:inline-flex;margin:", "px;", " ", " ", ""], spacing.xl, function (_ref9) {
115
115
  var $open = _ref9.$open;
116
116
  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_7_0__sc-u5mow1-0"
6
+ componentId: "core-12_8_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_7_0__sc-1lje1b0-0"
4
+ componentId: "core-12_8_0__sc-1lje1b0-0"
5
5
  })(["> .tox-tinymce{border:none;}"]);
6
6
  //# sourceMappingURL=TextEditorOutput.styles.js.map