@procore/core-react 11.31.1 → 11.32.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 (179) 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/ContactItem/ContactItem.styles.js +5 -5
  13. package/dist/Content/Content.styles.js +2 -2
  14. package/dist/DateInput/DateInput.styles.js +6 -6
  15. package/dist/DetailPage/DetailPage.styles.js +7 -7
  16. package/dist/Dropdown/Dropdown.styles.js +3 -3
  17. package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
  18. package/dist/Dropzone/Dropzone.js +1 -1
  19. package/dist/Dropzone/Dropzone.styles.js +9 -9
  20. package/dist/EmptyState/EmptyState.styles.js +6 -6
  21. package/dist/Field/Field.styles.js +3 -3
  22. package/dist/FileList/FileList.styles.js +4 -4
  23. package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
  24. package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
  25. package/dist/FileSelect/FileSelect.styles.js +2 -2
  26. package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
  27. package/dist/FileSelect/FileTokenList/FileTokenList.js +1 -1
  28. package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
  29. package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
  30. package/dist/FileSelect/GridSource/GridSource.js +1 -1
  31. package/dist/FileSelect/GridSource/GridSource.js.map +1 -1
  32. package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
  33. package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
  34. package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
  35. package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
  36. package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
  37. package/dist/FileToken/FileToken.styles.js +4 -4
  38. package/dist/FilterToken/FilterToken.styles.js +2 -2
  39. package/dist/FlexList/FlexList.styles.js +1 -1
  40. package/dist/Form/Form.styles.js +16 -16
  41. package/dist/Grid/Grid.styles.js +2 -2
  42. package/dist/GroupSelect/GroupSelect.styles.js +1 -1
  43. package/dist/Input/Input.styles.js +1 -1
  44. package/dist/Link/Link.styles.js +1 -1
  45. package/dist/ListPage/ListPage.styles.js +8 -8
  46. package/dist/Loader/Loader.styles.js +2 -2
  47. package/dist/MenuImperative/MenuImperative.styles.js +10 -10
  48. package/dist/Modal/Modal.styles.js +13 -13
  49. package/dist/MultiSelect/MultiSelect.styles.js +6 -6
  50. package/dist/NextMenu/NextMenu.styles.js +3 -3
  51. package/dist/Notation/Notation.js +1 -1
  52. package/dist/NumberInput/NumberInput.styles.js +7 -7
  53. package/dist/Overlay/OverlayArrow.styles.js +1 -1
  54. package/dist/PageLayout/PageLayout.styles.js +29 -28
  55. package/dist/PageLayout/PageLayout.styles.js.map +1 -1
  56. package/dist/Pagination/Pagination.styles.js +5 -5
  57. package/dist/Panel/Panel.styles.js +11 -11
  58. package/dist/Pill/Pill.styles.js +2 -2
  59. package/dist/PillSelect/PillSelect.styles.js +4 -4
  60. package/dist/Popover/Popover.styles.js +2 -2
  61. package/dist/Portal/Portal.styles.js +1 -1
  62. package/dist/ProgressBar/ProgressBar.styles.js +2 -2
  63. package/dist/RadioButton/RadioButton.styles.js +3 -3
  64. package/dist/Required/Required.styles.js +3 -3
  65. package/dist/Search/Search.styles.js +5 -5
  66. package/dist/Section/Section.styles.js +6 -6
  67. package/dist/SegmentedController/SegmentedController.styles.js +4 -4
  68. package/dist/Select/Select.styles.js +7 -7
  69. package/dist/Semantic/Semantic.styles.js +9 -9
  70. package/dist/Sidebar/Sidebar.styles.js +7 -7
  71. package/dist/Slider/Slider.styles.js +5 -5
  72. package/dist/Spinner/Spinner.styles.js +7 -7
  73. package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
  74. package/dist/SuperSelect/SuperSelect.styles.js +37 -37
  75. package/dist/Switch/Switch.styles.js +4 -4
  76. package/dist/Table/Table.styles.js +28 -28
  77. package/dist/TableShelf/TableShelf.styles.js +5 -5
  78. package/dist/Tabs/Tabs.js +19 -14
  79. package/dist/Tabs/Tabs.js.map +1 -1
  80. package/dist/Tabs/Tabs.styles.d.ts +12 -6
  81. package/dist/Tabs/Tabs.styles.js +40 -38
  82. package/dist/Tabs/Tabs.styles.js.map +1 -1
  83. package/dist/Tearsheet/Tearsheet.styles.js +5 -5
  84. package/dist/TextArea/TextArea.styles.js +1 -1
  85. package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
  86. package/dist/Thumbnail/Thumbnail.styles.js +17 -17
  87. package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
  88. package/dist/TieredSelect/TieredSelect.styles.js +9 -9
  89. package/dist/Tile/Tile.styles.js +8 -8
  90. package/dist/Title/Title.styles.js +7 -7
  91. package/dist/Toast/Toast.styles.js +3 -3
  92. package/dist/ToggleButton/ToggleButton.styles.js +1 -1
  93. package/dist/Token/Token.styles.js +3 -3
  94. package/dist/ToolHeader/ToolHeader.styles.js +6 -6
  95. package/dist/Tooltip/Tooltip.styles.js +2 -2
  96. package/dist/Tree/Tree.styles.js +9 -9
  97. package/dist/Typeahead/Typeahead.styles.js +3 -3
  98. package/dist/Typography/Typography.styles.js +1 -1
  99. package/dist/Typography/Typography.table.story.js +2 -2
  100. package/dist/_hooks/useFileUploader.js +1 -1
  101. package/dist/_hooks/useFileUploader.js.map +1 -1
  102. package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
  103. package/dist/_typedoc/AvatarStack/AvatarStack.types.json +23 -23
  104. package/dist/_typedoc/Badge/Badge.types.json +6 -6
  105. package/dist/_typedoc/Banner/Banner.types.json +13 -13
  106. package/dist/_typedoc/Box/Box.types.json +68 -68
  107. package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
  108. package/dist/_typedoc/Button/Button.types.json +12 -12
  109. package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
  110. package/dist/_typedoc/Card/Card.types.json +6 -6
  111. package/dist/_typedoc/Checkbox/Checkbox.types.json +9 -9
  112. package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
  113. package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
  114. package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
  115. package/dist/_typedoc/DetailPage/DetailPage.types.json +4 -4
  116. package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
  117. package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +29 -29
  118. package/dist/_typedoc/Dropzone/Dropzone.types.json +41 -41
  119. package/dist/_typedoc/EmptyState/EmptyState.types.json +14 -14
  120. package/dist/_typedoc/FileList/FileList.types.json +9 -9
  121. package/dist/_typedoc/FileSelect/FileSelect.types.json +26 -26
  122. package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
  123. package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
  124. package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
  125. package/dist/_typedoc/Flex/Flex.types.json +27 -27
  126. package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
  127. package/dist/_typedoc/Form/Form.types.json +726 -726
  128. package/dist/_typedoc/Grid/Grid.types.json +8 -8
  129. package/dist/_typedoc/GroupSelect/GroupSelect.types.json +52 -52
  130. package/dist/_typedoc/Input/Input.types.json +2 -2
  131. package/dist/_typedoc/Link/Link.types.json +4 -4
  132. package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
  133. package/dist/_typedoc/Menu/Menu.types.json +62 -62
  134. package/dist/_typedoc/MenuImperative/MenuImperative.types.json +74 -74
  135. package/dist/_typedoc/Modal/Modal.types.json +41 -41
  136. package/dist/_typedoc/MultiSelect/MultiSelect.types.json +31 -31
  137. package/dist/_typedoc/Notation/Notation.types.json +4 -4
  138. package/dist/_typedoc/NumberInput/NumberInput.types.json +38 -38
  139. package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +31 -31
  140. package/dist/_typedoc/PageLayout/PageLayout.types.json +26 -26
  141. package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
  142. package/dist/_typedoc/Panel/Panel.types.json +27 -27
  143. package/dist/_typedoc/Pill/Pill.types.json +2 -2
  144. package/dist/_typedoc/PillSelect/PillSelect.types.json +47 -47
  145. package/dist/_typedoc/Popover/Popover.types.json +14 -14
  146. package/dist/_typedoc/ProgressBar/ProgressBar.types.json +6 -6
  147. package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
  148. package/dist/_typedoc/Required/Required.types.json +5 -5
  149. package/dist/_typedoc/Search/Search.types.json +18 -18
  150. package/dist/_typedoc/Section/Section.types.json +14 -14
  151. package/dist/_typedoc/SegmentedController/SegmentedController.types.json +20 -20
  152. package/dist/_typedoc/Select/Select.types.json +57 -57
  153. package/dist/_typedoc/Slider/Slider.types.json +6 -6
  154. package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
  155. package/dist/_typedoc/Switch/Switch.types.json +3 -3
  156. package/dist/_typedoc/Table/Table.types.json +99 -99
  157. package/dist/_typedoc/Tabs/Tabs.types.json +17 -17
  158. package/dist/_typedoc/Tearsheet/Tearsheet.types.json +16 -16
  159. package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
  160. package/dist/_typedoc/TextEditor/TextEditor.types.json +9 -9
  161. package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
  162. package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
  163. package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +42 -42
  164. package/dist/_typedoc/TieredSelect/TieredSelect.types.json +28 -28
  165. package/dist/_typedoc/Tile/Tile.types.json +30 -30
  166. package/dist/_typedoc/Title/Title.types.json +1 -1
  167. package/dist/_typedoc/Toast/Toast.types.json +4 -4
  168. package/dist/_typedoc/ToggleButton/ToggleButton.types.json +3 -3
  169. package/dist/_typedoc/Token/Token.types.json +4 -4
  170. package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
  171. package/dist/_typedoc/Tooltip/Tooltip.types.json +13 -13
  172. package/dist/_typedoc/Tree/Tree.types.json +86 -86
  173. package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
  174. package/dist/_typedoc/Typography/Typography.types.json +8 -8
  175. package/dist/_typedoc/_utils/types.json +3 -3
  176. package/dist/_utils/isFunction.d.ts +1 -0
  177. package/dist/_utils/isFunction.js +4 -0
  178. package/dist/_utils/isFunction.js.map +1 -0
  179. package/package.json +1 -1
@@ -47,26 +47,26 @@ var tableCellInputErrorBorder = "1px solid ".concat(colors.red50);
47
47
  var tableRowBorderBottom = /*#__PURE__*/css(["border-bottom:", ";&:last-child{border-bottom:0;}"], tableBorder);
48
48
  export var StyledTableHeaderCellSortableContainer = /*#__PURE__*/styled.div.withConfig({
49
49
  displayName: "StyledTableHeaderCellSortableContainer",
50
- componentId: "core-11_31_1__sc-9c7xd-0"
50
+ componentId: "core-11_32_0__sc-9c7xd-0"
51
51
  })([""]);
52
52
  export var StyledTableHeaderCellLabel = /*#__PURE__*/styled.div.withConfig({
53
53
  displayName: "StyledTableHeaderCellLabel",
54
- componentId: "core-11_31_1__sc-9c7xd-1"
54
+ componentId: "core-11_32_0__sc-9c7xd-1"
55
55
  })(["display:inline-block;flex:1 1 auto;position:relative;"]);
56
56
  export var StyledCheckbox = /*#__PURE__*/styled(Checkbox).withConfig({
57
57
  displayName: "StyledCheckbox",
58
- componentId: "core-11_31_1__sc-9c7xd-2"
58
+ componentId: "core-11_32_0__sc-9c7xd-2"
59
59
  })([""]);
60
60
  export var StyledTableBodyCell = /*#__PURE__*/styled.td.withConfig({
61
61
  displayName: "StyledTableBodyCell",
62
- componentId: "core-11_31_1__sc-9c7xd-3"
62
+ componentId: "core-11_32_0__sc-9c7xd-3"
63
63
  })(["position:relative;vertical-align:middle;", ""], function (_ref) {
64
64
  var $snugfit = _ref.$snugfit;
65
65
  return $snugfit && css(["white-space:nowrap;width:0.1%;"]);
66
66
  });
67
67
  export var StyledTableHeaderCell = /*#__PURE__*/styled.th.withConfig({
68
68
  displayName: "StyledTableHeaderCell",
69
- componentId: "core-11_31_1__sc-9c7xd-4"
69
+ componentId: "core-11_32_0__sc-9c7xd-4"
70
70
  })(["", " font-weight:", ";border-right:", ";color:", ";height:", "px;padding:", "px;position:relative;text-align:left;transition:background-color 0.2s ease-in-out;&:last-child{border-right:0;}", "{display:flex;align-items:center;}", "{", "{min-height:14px;}}", " ", " ", " ", " ", ""], getTypographyIntent('small'), tableHeaderFontWeight, tableHeaderBorderRight, tableHeaderFontColor, tableHeaderHeight, tableHeaderPadding, StyledTableHeaderCellSortableContainer, StyledTableHeaderCellSortableContainer, StyledTableHeaderCellLabel, function (_ref2) {
71
71
  var $sortable = _ref2.$sortable;
72
72
  return $sortable && css(["cursor:pointer;padding:", "px;", ",", "{color:", ";opacity:0;transition:all 0.15s ease-in-out;position:absolute;}::before,::after{font-size:16px;}&:hover{background-color:", ";", "{color:", ";}}"], spacing.lg, StyledTableHeaderCellSortIconAsc, StyledTableHeaderCellSortIconDesc, tableSortFontColor, tableHeaderBgColorHover, StyledTableHeaderCellSortIconAsc, tableSortFontColorHover);
@@ -85,27 +85,27 @@ export var StyledTableHeaderCell = /*#__PURE__*/styled.th.withConfig({
85
85
  });
86
86
  export var StyledTableHeaderCellIconWrapper = /*#__PURE__*/styled.div.withConfig({
87
87
  displayName: "StyledTableHeaderCellIconWrapper",
88
- componentId: "core-11_31_1__sc-9c7xd-5"
88
+ componentId: "core-11_32_0__sc-9c7xd-5"
89
89
  })(["height:20px;line-height:20px;padding:0 ", "px 0 ", "px;width:20px;"], spacing.lg, spacing.sm);
90
90
  export var StyledTableHeaderCellSortIconAsc = /*#__PURE__*/styled(CaretUp).withConfig({
91
91
  displayName: "StyledTableHeaderCellSortIconAsc",
92
- componentId: "core-11_31_1__sc-9c7xd-6"
92
+ componentId: "core-11_32_0__sc-9c7xd-6"
93
93
  })(["margin-top:-", "px;"], spacing.sm);
94
94
  export var StyledTableHeaderCellSortIconDesc = /*#__PURE__*/styled(CaretDown).withConfig({
95
95
  displayName: "StyledTableHeaderCellSortIconDesc",
96
- componentId: "core-11_31_1__sc-9c7xd-7"
96
+ componentId: "core-11_32_0__sc-9c7xd-7"
97
97
  })([""]);
98
98
  export var StyledHead = /*#__PURE__*/styled.thead.withConfig({
99
99
  displayName: "StyledHead",
100
- componentId: "core-11_31_1__sc-9c7xd-8"
100
+ componentId: "core-11_32_0__sc-9c7xd-8"
101
101
  })(["background-color:", ";transition:background-color 0.2s ease-in-out;", " &:hover{", "{", ",", "{&::after,&::before{opacity:1;}}}}"], tableHeaderBgColor, tableRowBorderBottom, StyledTableHeaderCell, StyledTableHeaderCellSortIconAsc, StyledTableHeaderCellSortIconDesc);
102
102
  export var StyledCaratWrapper = /*#__PURE__*/styled.div.withConfig({
103
103
  displayName: "StyledCaratWrapper",
104
- componentId: "core-11_31_1__sc-9c7xd-9"
104
+ componentId: "core-11_32_0__sc-9c7xd-9"
105
105
  })(["font-size:16px;color:", ";padding-right:", "px;transition:all 0.2s ease-in-out;& + ", "{margin:0 ", "px;}"], colors.gray70, spacing.xs, StyledCheckbox, spacing.xs);
106
106
  export var StyledCarat = /*#__PURE__*/styled(ChevronRight).withConfig({
107
107
  displayName: "StyledCarat",
108
- componentId: "core-11_31_1__sc-9c7xd-10"
108
+ componentId: "core-11_32_0__sc-9c7xd-10"
109
109
  })(["", ""], function (_ref7) {
110
110
  var $expanded = _ref7.$expanded;
111
111
  return $expanded && css(["transform:rotate(90deg);"]);
@@ -113,7 +113,7 @@ export var StyledCarat = /*#__PURE__*/styled(ChevronRight).withConfig({
113
113
  var cellInputCSS = /*#__PURE__*/css(["background-color:rgba(255,255,255,0);&&&{border:", ";border-radius:4px;width:100%;&::placeholder{color:", ";}&::-ms-clear{display:none;}&:hover{border-color:transparent;}&:focus{background-color:", ";border-style:solid;border-width:1px;border-color:", ";box-shadow:0 0 0 1px ", ";outline:none;}&:disabled{border:", ";color:", ";}}"], tableCellInputBorder, tableCellInputPlaceholderColor, colors.white, colors.blue40, colors.blue40, tableCellInputBorder, colors.gray70);
114
114
  export var StyledTableCellSelect = /*#__PURE__*/styled(Select).withConfig({
115
115
  displayName: "StyledTableCellSelect",
116
- componentId: "core-11_31_1__sc-9c7xd-11"
116
+ componentId: "core-11_32_0__sc-9c7xd-11"
117
117
  })(["", ";background-color:transparent;border-color:transparent;height:auto;&:hover{background-color:transparent;}&:active:hover{border-color:", ";}&:focus{background-color:", ";cursor:pointer;", " ", "{white-space:nowrap;}", "{opacity:1;pointer-events:all;}", " ", "}", "{white-space:normal;}", ",", "{opacity:0;pointer-events:none;}", " ", ""], cellInputCSS, colors.gray85, colors.white, getFocus(), StyledSelectButtonLabel, StyledSelectArrow, function (_ref8) {
118
118
  var $hasClearIcon = _ref8.$hasClearIcon;
119
119
  return $hasClearIcon && css(["", "{opacity:1;pointer-events:all;}"], StyledSelectClearIcon);
@@ -131,25 +131,25 @@ export var StyledTableCellSelect = /*#__PURE__*/styled(Select).withConfig({
131
131
  });
132
132
  export var StyledTableCellInput = /*#__PURE__*/styled(Input).withConfig({
133
133
  displayName: "StyledTableCellInput",
134
- componentId: "core-11_31_1__sc-9c7xd-12"
134
+ componentId: "core-11_32_0__sc-9c7xd-12"
135
135
  })(["", ""], cellInputCSS);
136
136
  export var StyledTableCellDateInput = /*#__PURE__*/styled(DateSelect).withConfig({
137
137
  displayName: "StyledTableCellDateInput",
138
- componentId: "core-11_31_1__sc-9c7xd-13"
138
+ componentId: "core-11_32_0__sc-9c7xd-13"
139
139
  })(["background-color:transparent;border-color:transparent;&:active:hover{border-color:", ";}&&&:focus-within{", ";background-color:", ";}", " ", "{opacity:0;}", "{&[data-qa-table-visible='false']{opacity:0;}}", "{&[data-placeholder='true']{opacity:0;}}&:focus-within{", "{opacity:1;}", "{&[data-qa-table-visible='false']{opacity:1;}}", "{&[data-placeholder='true']{opacity:1;}}}"], colors.gray45, getFocus(), colors.white, function (_ref12) {
140
140
  var error = _ref12.error;
141
141
  return error && css(["border-color:", ";"], colors.red50);
142
142
  }, StyledDateInputIconContainer, StyledDateInputDelimiter, StyledDateInputSegment, StyledDateInputIconContainer, StyledDateInputDelimiter, StyledDateInputSegment);
143
143
  export var StyledTableCellTextArea = /*#__PURE__*/styled(TextArea).withConfig({
144
144
  displayName: "StyledTableCellTextArea",
145
- componentId: "core-11_31_1__sc-9c7xd-14"
145
+ componentId: "core-11_32_0__sc-9c7xd-14"
146
146
  })(["", " &&{height:", "px;min-height:", "px;overflow:hidden;padding-top:", "px;resize:none;width:100%;", "}"], cellInputCSS, spacing.xxl, spacing.xxl, spacing.xs, function (_ref13) {
147
147
  var $resizable = _ref13.$resizable;
148
148
  return $resizable && css(["&:focus{min-height:64px;overflow:auto;resize:vertical;}"]);
149
149
  });
150
150
  export var StyledTableCellText = /*#__PURE__*/styled.div.withConfig({
151
151
  displayName: "StyledTableCellText",
152
- componentId: "core-11_31_1__sc-9c7xd-15"
152
+ componentId: "core-11_32_0__sc-9c7xd-15"
153
153
  })(["margin:", "px;display:flex;color:", ";", ""], spacing.lg, tableCellTextColor, function (_ref14) {
154
154
  var $percent = _ref14.$percent,
155
155
  $currency = _ref14.$currency;
@@ -157,15 +157,15 @@ export var StyledTableCellText = /*#__PURE__*/styled.div.withConfig({
157
157
  });
158
158
  export var StyledIconCell = /*#__PURE__*/styled.div.withConfig({
159
159
  displayName: "StyledIconCell",
160
- componentId: "core-11_31_1__sc-9c7xd-16"
160
+ componentId: "core-11_32_0__sc-9c7xd-16"
161
161
  })(["display:flex;color:", ";"], tableCellIconColor);
162
162
  export var StyledSelectCellWrapper = /*#__PURE__*/styled.div.withConfig({
163
163
  displayName: "StyledSelectCellWrapper",
164
- componentId: "core-11_31_1__sc-9c7xd-17"
164
+ componentId: "core-11_32_0__sc-9c7xd-17"
165
165
  })(["display:flex;flex-direction:column;"]);
166
166
  export var StyledTableInlineEditErrorBox = /*#__PURE__*/styled.div.withConfig({
167
167
  displayName: "StyledTableInlineEditErrorBox",
168
- componentId: "core-11_31_1__sc-9c7xd-18"
168
+ componentId: "core-11_32_0__sc-9c7xd-18"
169
169
  })(["", " color:", ";font-style:italic;background:", ";border-radius:0 2px 2px 2px;box-shadow:0 1px 2px rgba(0,0,0,0.2),0 1px 3px rgba(0,0,0,0.1);padding:6px ", "px;position:absolute;max-width:160px;z-index:1;", ""], getTypographyIntent('small'), colors.white, colors.red50, spacing.md, function (_ref15) {
170
170
  var $size = _ref15.$size;
171
171
  var sizes = {
@@ -183,7 +183,7 @@ export var StyledTableInlineEditErrorBox = /*#__PURE__*/styled.div.withConfig({
183
183
  });
184
184
  export var StyledTableInlineEditContainer = /*#__PURE__*/styled.div.withConfig({
185
185
  displayName: "StyledTableInlineEditContainer",
186
- componentId: "core-11_31_1__sc-9c7xd-19"
186
+ componentId: "core-11_32_0__sc-9c7xd-19"
187
187
  })(["background-color:", ";margin:", "px ", "px;position:relative;", " ", ""], tableBgColor, spacing.sm, spacing.xs, function (_ref16) {
188
188
  var $error = _ref16.$error;
189
189
  return $error && css(["position:static;background-color:", ";", ",", ",", ",", "{border:", ";border-radius:4px 4px 0 0;border-bottom:none;&:hover{border-bottom:none;}&:focus{background-color:", ";border:", ";border-bottom:none;}}"], tableCellInputErrorBgColor, StyledTableCellDateInput, StyledTableCellInput, StyledTableCellSelect, StyledTableCellTextArea, tableCellInputErrorBorder, tableCellInputFocusBgColor, tableCellInputFocusBorder);
@@ -207,26 +207,26 @@ export var StyledTableInlineEditContainer = /*#__PURE__*/styled.div.withConfig({
207
207
  });
208
208
  export var StyledTableBodyRow = /*#__PURE__*/styled.tr.withConfig({
209
209
  displayName: "StyledTableBodyRow",
210
- componentId: "core-11_31_1__sc-9c7xd-20"
210
+ componentId: "core-11_32_0__sc-9c7xd-20"
211
211
  })(["", " ", " &:focus-within{", "{background-color:", ";&.disabled{background-color:transparent;}}", ".error{background-color:", ";}}&:hover{", "{background-color:", ";cursor:pointer;&:hover{background-color:", ";}&.disabled{&,&:hover{background-color:transparent;cursor:default;}}}", ".error{background-color:", ";&:hover{background-color:", ";}", ",", ",", "{border:", ";border-bottom:none;&:hover{border-bottom:none;}&:focus{border:", ";border-bottom:none;}}}}"], tableRowBorderBottom, function (_ref18) {
212
212
  var $overdue = _ref18.$overdue;
213
213
  return $overdue && css(["", ",", ",", ",", ",", "{color:", ";}"], StyledTableCellText, StyledTableCellSelect, StyledTableCellInput, StyledTableCellDateInput, StyledTableCellTextArea, colors.red50);
214
214
  }, StyledTableInlineEditContainer, tableCellInputRowHoverBgColor, StyledTableInlineEditContainer, tableCellInputErrorBgColor, StyledTableInlineEditContainer, tableCellInputRowHoverBgColor, tableCellInputHoverBgColor, StyledTableInlineEditContainer, tableCellInputErrorBgColor, tableCellInputErrorBgColor, StyledTableCellInput, StyledTableCellSelect, StyledTableCellTextArea, tableCellInputErrorBorder, tableCellInputFocusBorder);
215
215
  export var StyledTableGroupRowContent = /*#__PURE__*/styled.div.withConfig({
216
216
  displayName: "StyledTableGroupRowContent",
217
- componentId: "core-11_31_1__sc-9c7xd-21"
217
+ componentId: "core-11_32_0__sc-9c7xd-21"
218
218
  })([""]);
219
219
  export var StyledTableGroupRowHeader = /*#__PURE__*/styled.div.withConfig({
220
220
  displayName: "StyledTableGroupRowHeader",
221
- componentId: "core-11_31_1__sc-9c7xd-22"
221
+ componentId: "core-11_32_0__sc-9c7xd-22"
222
222
  })([""]);
223
223
  export var StyledTableGroupRowTitle = /*#__PURE__*/styled.span.withConfig({
224
224
  displayName: "StyledTableGroupRowTitle",
225
- componentId: "core-11_31_1__sc-9c7xd-23"
225
+ componentId: "core-11_32_0__sc-9c7xd-23"
226
226
  })([""]);
227
227
  export var StyledTableGroupRow = /*#__PURE__*/styled.tr.withConfig({
228
228
  displayName: "StyledTableGroupRow",
229
- componentId: "core-11_31_1__sc-9c7xd-24"
229
+ componentId: "core-11_32_0__sc-9c7xd-24"
230
230
  })(["background-color:", ";", " ", "{margin-left:", "px;padding:", "px 0;display:flex;flex-direction:row;}", "{display:flex;align-items:center;}", "{font-weight:", ";padding-left:", "px;}", ""], tableGroupRowBgColor, tableRowBorderBottom, StyledTableGroupRowContent, spacing.lg, spacing.lg, StyledTableGroupRowHeader, StyledTableGroupRowTitle, tableHeaderFontWeight, spacing.lg, function (_ref19) {
231
231
  var $depth = _ref19.$depth;
232
232
  if (typeof $depth !== 'number') {
@@ -236,7 +236,7 @@ export var StyledTableGroupRow = /*#__PURE__*/styled.tr.withConfig({
236
236
  });
237
237
  export var StyledTableWrapper = /*#__PURE__*/styled(Card).withConfig({
238
238
  displayName: "StyledTableWrapper",
239
- componentId: "core-11_31_1__sc-9c7xd-25"
239
+ componentId: "core-11_32_0__sc-9c7xd-25"
240
240
  })(["border-radius:", "px;border:", ";", ",tbody{&:first-child{tr:first-child{", ",td{&:first-child{border-top-left-radius:", "px;}&:last-child{border-top-right-radius:", "px;}}}}&:last-child{tr:last-child{", ",td{&:first-child{border-bottom-left-radius:", "px;}&:last-child{border-bottom-right-radius:", "px;}}}}}", ""], tableBorderRadius, tableBorder, StyledHead, StyledTableHeaderCell, tableBorderRadius, tableBorderRadius, StyledTableHeaderCell, tableBorderRadius, tableBorderRadius, function (_ref20) {
241
241
  var $withShelf = _ref20.$withShelf;
242
242
  return $withShelf && css(["position:relative;height:100%;"]);
@@ -245,7 +245,7 @@ var BodyRow = StyledTableBodyRow;
245
245
  var GroupRow = StyledTableGroupRow;
246
246
  export var StyledTable = /*#__PURE__*/styled.table.withConfig({
247
247
  displayName: "StyledTable",
248
- componentId: "core-11_31_1__sc-9c7xd-26"
248
+ componentId: "core-11_32_0__sc-9c7xd-26"
249
249
  })(["background-color:", ";border-collapse:collapse;border-radius:", "px;", " width:100%;td:first-child ", "{padding-left:", "px;}", " ", " + ", "{margin-left:", "px;padding-left:0;}", " ", " ", " + ", " > td{padding-left:", "px;}", " + ", " + ", " > td{padding-left:", "px;}", " + ", " + ", " + ", " > td{padding-left:", "px;}", " + ", " + ", " + ", " + ", " > td{padding-left:", "px;}", " ~ ", "{", "{padding-left:0;margin:0 ", "px;}& > td:first-child{padding-left:", "px;}}", " + ", " ~ ", "{& > td:first-child{padding-left:", "px;}}", " + ", " + ", " ~ ", "{& > td:first-child{padding-left:", "px;}}", " + ", " + ", " + ", " ~ ", "{& > td:first-child{padding-left:", "px;}}", " + ", " + ", " + ", " + ", " ~ ", "{& > td:first-child{padding-left:", "px;}}"], tableBgColor, tableBorderRadius, getTypographyIntent('body'), StyledCheckbox, spacing.lg, StyledTableGroupRow, StyledCaratWrapper, StyledCheckbox, spacing.xs, function (_ref21) {
250
250
  var $fixed = _ref21.$fixed;
251
251
  return $fixed && css(["table-layout:fixed;"]);
@@ -255,6 +255,6 @@ export var StyledTable = /*#__PURE__*/styled.table.withConfig({
255
255
  }, GroupRow, GroupRow, tableGroupHeaderRowIndentation, GroupRow, GroupRow, GroupRow, 2 * tableGroupHeaderRowIndentation, GroupRow, GroupRow, GroupRow, GroupRow, 3 * tableGroupHeaderRowIndentation, GroupRow, GroupRow, GroupRow, GroupRow, GroupRow, 4 * tableGroupHeaderRowIndentation, GroupRow, BodyRow, StyledCheckbox, spacing.xs, tableGroupHeaderRowIndentation + tableGroupBodyRowIndentation, GroupRow, GroupRow, BodyRow, 2 * tableGroupHeaderRowIndentation + tableGroupBodyRowIndentation, GroupRow, GroupRow, GroupRow, BodyRow, 3 * tableGroupHeaderRowIndentation + tableGroupBodyRowIndentation, GroupRow, GroupRow, GroupRow, GroupRow, BodyRow, 4 * tableGroupHeaderRowIndentation + tableGroupBodyRowIndentation, GroupRow, GroupRow, GroupRow, GroupRow, GroupRow, BodyRow, 5 * tableGroupHeaderRowIndentation + tableGroupBodyRowIndentation);
256
256
  export var StyledLoadingContainer = /*#__PURE__*/styled.div.withConfig({
257
257
  displayName: "StyledLoadingContainer",
258
- componentId: "core-11_31_1__sc-9c7xd-27"
258
+ componentId: "core-11_32_0__sc-9c7xd-27"
259
259
  })(["cursor:default;align-items:center;background:", ";display:flex;height:100%;justify-content:center;opacity:0.9;position:absolute;width:100%;z-index:2;"], colors.gray96);
260
260
  //# sourceMappingURL=Table.styles.js.map
@@ -4,22 +4,22 @@ import { spacing } from '../_styles/spacing';
4
4
  var tableShelfShadow = '-4px 0px 5px 0px rgba(112, 112, 112, 0.1)';
5
5
  export var StyledShelf = /*#__PURE__*/styled.div.withConfig({
6
6
  displayName: "StyledShelf",
7
- componentId: "core-11_31_1__sc-a6498a-0"
7
+ componentId: "core-11_32_0__sc-a6498a-0"
8
8
  })(["position:absolute;right:0;top:0;bottom:0;box-shadow:", ";background-color:", ";"], tableShelfShadow, colors.white);
9
9
  export var StyledHead = /*#__PURE__*/styled.div.withConfig({
10
10
  displayName: "StyledHead",
11
- componentId: "core-11_31_1__sc-a6498a-1"
11
+ componentId: "core-11_32_0__sc-a6498a-1"
12
12
  })(["background-color:", ";transition:background-color 0.2s ease-in-out;"], colors.gray96);
13
13
  export var StyledBodyRow = /*#__PURE__*/styled.div.withConfig({
14
14
  displayName: "StyledBodyRow",
15
- componentId: "core-11_31_1__sc-a6498a-2"
15
+ componentId: "core-11_32_0__sc-a6498a-2"
16
16
  })(["border-top:1px solid ", ";transition:background-color 0.2s ease-in-out;"], colors.gray85);
17
17
  export var StyledHeadCell = /*#__PURE__*/styled.div.withConfig({
18
18
  displayName: "StyledHeadCell",
19
- componentId: "core-11_31_1__sc-a6498a-3"
19
+ componentId: "core-11_32_0__sc-a6498a-3"
20
20
  })(["text-align:left;padding:", "px;line-height:13px;"], spacing.lg);
21
21
  export var StyledBodyCell = /*#__PURE__*/styled.div.withConfig({
22
22
  displayName: "StyledBodyCell",
23
- componentId: "core-11_31_1__sc-a6498a-4"
23
+ componentId: "core-11_32_0__sc-a6498a-4"
24
24
  })(["padding:", "px;line-height:13px;"], spacing.lg);
25
25
  //# sourceMappingURL=TableShelf.styles.js.map
package/dist/Tabs/Tabs.js CHANGED
@@ -27,10 +27,12 @@ import { MenuImperative } from '../MenuImperative/MenuImperative';
27
27
  import { OverlayTrigger, useOverlayTriggerContext } from '../OverlayTrigger/OverlayTrigger';
28
28
  import { useI18nContext } from '../_hooks/I18n';
29
29
  import { useResize } from '../_hooks/Resize';
30
+ import { spacing } from '../_styles/spacing';
30
31
  import { addSubcomponents } from '../_utils/addSubcomponents';
31
32
  import { getBoundingRect } from '../_utils/dom';
32
33
  import { mergeRefs } from '../_utils/mergeRefs';
33
34
  import { StyledDropdownTab, StyledDropdownTabInner, StyledLink, StyledOverlay, StyledTab, StyledTabInner, StyledTabList, StyledTabs } from './Tabs.styles';
35
+ var ExtraTabSpacing = spacing.xxl;
34
36
  function noop() {}
35
37
  export var Link = /*#__PURE__*/React.forwardRef(function Link(_ref, ref) {
36
38
  var children = _ref.children,
@@ -93,18 +95,19 @@ function TabInternal(_ref2, ref) {
93
95
  return onUnmount;
94
96
  }, []);
95
97
  var validChild = /*#__PURE__*/React.isValidElement(children);
96
- return (
97
- /*#__PURE__*/
98
+ var tabActive = active || variant === 'active';
99
+ return /*#__PURE__*/React.createElement(StyledTab, _extends({
100
+ $active: tabActive,
101
+ $dark: props.dark
98
102
  // @ts-ignore
99
- React.createElement(StyledTab, _extends({
100
- ref: mergeRefs(ref, innerRef)
101
- }, a11yProps, props), /*#__PURE__*/React.createElement(StyledTabInner, {
102
- active: active || variant === 'active',
103
- dark: props.dark
104
- }, validChild ? /*#__PURE__*/React.cloneElement(children, {
105
- 'aria-current': active || variant === 'active' ? true : undefined
106
- }) : children))
107
- );
103
+ ,
104
+ ref: mergeRefs(ref, innerRef)
105
+ }, a11yProps, props), /*#__PURE__*/React.createElement(StyledTabInner, {
106
+ $active: tabActive,
107
+ $dark: props.dark
108
+ }, validChild ? /*#__PURE__*/React.cloneElement(children, {
109
+ 'aria-current': tabActive ? true : undefined
110
+ }) : children));
108
111
  }
109
112
  export var Tab = /*#__PURE__*/React.forwardRef(TabInternal);
110
113
  export var MoreMenu = /*#__PURE__*/React.forwardRef(function MoreMenu(_ref4, ref) {
@@ -170,7 +173,7 @@ var Tabs_ = /*#__PURE__*/React.forwardRef(function Tabs(_ref5, ref) {
170
173
  var rect = getBoundingRect(el);
171
174
  return {
172
175
  subtotals: [].concat(_toConsumableArray(acc.subtotals), [acc.total + rect.width]),
173
- total: acc.total + rect.width
176
+ total: acc.total + rect.width + ExtraTabSpacing
174
177
  };
175
178
  }, {
176
179
  subtotals: new Array(),
@@ -232,11 +235,13 @@ var Tabs_ = /*#__PURE__*/React.forwardRef(function Tabs(_ref5, ref) {
232
235
  ref: ref,
233
236
  role: "menu"
234
237
  }, /*#__PURE__*/React.createElement(StyledDropdownTab, {
238
+ $active: isOverflowingActive,
239
+ $dark: dark,
235
240
  "aria-hidden": !overflowing.length,
236
241
  as: "button"
237
242
  }, /*#__PURE__*/React.createElement(StyledDropdownTabInner, {
238
- active: isOverflowingActive,
239
- dark: dark
243
+ $active: isOverflowingActive,
244
+ $dark: dark
240
245
  }, /*#__PURE__*/React.createElement(StyledLink, {
241
246
  "data-qa": qa === null || qa === void 0 ? void 0 : qa.more
242
247
  }, i18n.t('core.tabs.more')), moreMenuIsShown ? /*#__PURE__*/React.createElement(CaretUp, {
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","names":["CaretDown","CaretUp","React","useButton","MenuImperative","OverlayTrigger","useOverlayTriggerContext","useI18nContext","useResize","addSubcomponents","getBoundingRect","mergeRefs","StyledDropdownTab","StyledDropdownTabInner","StyledLink","StyledOverlay","StyledTab","StyledTabInner","StyledTabList","StyledTabs","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","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 { 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\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\n return (\n // @ts-ignore\n <StyledTab ref={mergeRefs(ref, innerRef)} {...a11yProps} {...props}>\n <StyledTabInner active={active || variant === 'active'} dark={props.dark}>\n {validChild\n ? React.cloneElement(children as React.ReactElement<any, any>, {\n 'aria-current': active || variant === 'active' ? 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,\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 aria-hidden={!overflowing.length} as=\"button\">\n <StyledDropdownTabInner active={isOverflowingActive} dark={dark}>\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","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,14 +1,20 @@
1
1
  /// <reference types="react" />
2
2
  export declare const StyledLink: import("styled-components").StyledComponent<"span", any, {}, never>;
3
- export declare const StyledTab: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const StyledTab: import("styled-components").StyledComponent<"div", any, {
4
+ $active?: boolean | undefined;
5
+ $dark?: boolean | undefined;
6
+ }, never>;
4
7
  export declare const StyledTabInner: import("styled-components").StyledComponent<"div", any, {
5
- active?: boolean | undefined;
6
- dark?: boolean | undefined;
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;
7
14
  }, never>;
8
- export declare const StyledDropdownTab: import("styled-components").StyledComponent<"div", any, {}, never>;
9
15
  export declare const StyledDropdownTabInner: import("styled-components").StyledComponent<"div", any, {
10
- active?: boolean | undefined;
11
- dark?: boolean | undefined;
16
+ $active?: boolean | undefined;
17
+ $dark?: boolean | undefined;
12
18
  }, never>;
13
19
  export declare const StyledOverlay: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../_utils/types").DivAttributes & import("..").CardProps & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
14
20
  export declare const StyledTabList: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,69 +1,71 @@
1
1
  import styled, { css } from 'styled-components';
2
2
  import { Card } from '../Card/Card';
3
- import { getUnstyledButton } from '../Semantic/Semantic.styles';
4
- import { getTypographyIntent, typographyWeights } from '../Typography/Typography.styles';
3
+ import { StyledItem } from '../MenuImperative/MenuImperative.styles';
4
+ import { getTypographyIntent } from '../Typography/Typography.styles';
5
5
  import { colors } from '../_styles/colors';
6
- import { focusable } from '../_styles/mixins';
7
6
  import { spacing } from '../_styles/spacing';
8
- var tabGap = spacing.md;
9
7
  var hiddenTab = /*#__PURE__*/css(["pointer-events:none;position:absolute;visibility:hidden;"]);
10
8
  var visible = /*#__PURE__*/css(["pointer-events:all;position:relative;visibility:visible;"]);
9
+ var borderRadius = /*#__PURE__*/css(["border-radius:", "px ", "px 0 0;"], spacing.xs, spacing.xs);
11
10
  export var StyledLink = /*#__PURE__*/styled.span.withConfig({
12
11
  displayName: "StyledLink",
13
- componentId: "core-11_31_1__sc-17s58xs-0"
14
- })(["align-items:center;border-bottom-style:solid;border-bottom-color:transparent;border-bottom-width:2px;display:inline-flex;height:26px;justify-content:center;"]);
12
+ componentId: "core-11_32_0__sc-17s58xs-0"
13
+ })(["align-items:center;display:flex;height:23px;", " box-sizing:border-box;"], borderRadius);
15
14
  export var StyledTab = /*#__PURE__*/styled.div.withConfig({
16
15
  displayName: "StyledTab",
17
- componentId: "core-11_31_1__sc-17s58xs-1"
18
- })(["align-items:center;cursor:pointer;display:inline-flex;flex:0 0 auto;justify-content:center;padding:0 ", "px;position:relative;white-space:nowrap;a&{text-decoration:none;}button&{background-color:transparent;border:none;font-family:inherit;}&:first-child{padding-left:0;}&:last-child{padding-right:0;}&:not(:last-child){&:focus{outline:none;", "{box-shadow:inset 0 0 0 1px ", ";}}}"], tabGap, StyledLink, colors.blue40);
16
+ componentId: "core-11_32_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);
19
26
  export var StyledTabInner = /*#__PURE__*/styled.div.withConfig({
20
27
  displayName: "StyledTabInner",
21
- componentId: "core-11_31_1__sc-17s58xs-2"
22
- })(["", " > a{text-decoration:none;", "}", ""], getTypographyIntent('body'), focusable, function (_ref) {
23
- var active = _ref.active,
24
- dark = _ref.dark;
25
- var textColors = dark ? {
26
- active: colors.white,
27
- "default": colors.gray70,
28
- hover: colors.white
29
- } : {
30
- active: colors.gray15,
31
- "default": colors.gray45,
32
- hover: colors.gray15
33
- };
34
- if (active) {
35
- return css(["&,> a{color:", ";cursor:default;}", "{border-bottom-color:", ";}"], textColors.active, StyledLink, colors.blue50);
28
+ componentId: "core-11_32_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) {
30
+ var $active = _ref3.$active;
31
+ return $active ? 600 : 400;
32
+ }, borderRadius, colors.gray15, function (_ref4) {
33
+ var $active = _ref4.$active,
34
+ $dark = _ref4.$dark;
35
+ if ($dark) {
36
+ return css(["&,> a,button&,a&{color:", ";&:hover{color:white;}}"], $active ? colors.white : colors.gray70);
36
37
  }
37
- return css(["&,> a{color:", ";cursor:pointer;}&:hover,&.hover,> a:hover{color:", ";}"], textColors["default"], textColors.hover);
38
38
  });
39
+
40
+ // This is still needed so that it can be hidden via CSS down below
39
41
  export var StyledDropdownTab = /*#__PURE__*/styled(StyledTab).withConfig({
40
42
  displayName: "StyledDropdownTab",
41
- componentId: "core-11_31_1__sc-17s58xs-3"
42
- })(["cursor:pointer;", " ", " ", " margin-left:", "px;", "{margin-right:", "px;}"], getUnstyledButton, focusable, hiddenTab, tabGap, StyledLink, spacing.xs);
43
+ componentId: "core-11_32_0__sc-17s58xs-3"
44
+ })(["", ""], hiddenTab);
43
45
  export var StyledDropdownTabInner = /*#__PURE__*/styled(StyledTabInner).withConfig({
44
46
  displayName: "StyledDropdownTabInner",
45
- componentId: "core-11_31_1__sc-17s58xs-4"
47
+ componentId: "core-11_32_0__sc-17s58xs-4"
46
48
  })(["align-items:center;cursor:pointer;display:inline-flex;"]);
47
49
  export var StyledOverlay = /*#__PURE__*/styled(Card).withConfig({
48
50
  displayName: "StyledOverlay",
49
- componentId: "core-11_31_1__sc-17s58xs-5"
50
- })(["max-height:40vh;", "{color:", ";}", "{margin:-", "px -", "px;padding:", "px ", "px;}[data-selected='true']{", ",", " > a{color:", ";font-weight:", ";}}", "{border:0;height:auto;}"], StyledTabInner, colors.gray45, StyledTab, spacing.sm, spacing.lg, spacing.sm, spacing.lg, StyledTabInner, StyledTabInner, colors.blue50, typographyWeights.semibold, StyledLink);
51
+ componentId: "core-11_32_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);
51
53
  export var StyledTabList = /*#__PURE__*/styled.div.withConfig({
52
54
  displayName: "StyledTabList",
53
- componentId: "core-11_31_1__sc-17s58xs-6"
55
+ componentId: "core-11_32_0__sc-17s58xs-6"
54
56
  })(["display:flex;width:100%;"]);
55
57
  export var StyledTabs = /*#__PURE__*/styled.nav.withConfig({
56
58
  displayName: "StyledTabs",
57
- componentId: "core-11_31_1__sc-17s58xs-7"
58
- })(["background-color:", ";display:flex;overflow:hidden;width:100%;", "{&:nth-child(1n + ", "){&:not(", "){", "}}}", ""], function (_ref2) {
59
- var dark = _ref2.dark;
59
+ componentId: "core-11_32_0__sc-17s58xs-7"
60
+ })(["background-color:", ";display:flex;overflow:hidden;width:100%;", " + ", "{margin-left:", "px;}", "{&:nth-child(1n + ", "){&:not(", "){", "}}}", ""], function (_ref5) {
61
+ var dark = _ref5.dark;
60
62
  return dark && colors.gray15;
61
- }, StyledTab, function (_ref3) {
62
- var index = _ref3.index;
63
+ }, StyledTab, StyledTab, spacing.xl, StyledTab, function (_ref6) {
64
+ var index = _ref6.index;
63
65
  return index;
64
- }, StyledDropdownTab, hiddenTab, function (_ref4) {
65
- var _ref4$index = _ref4.index,
66
- index = _ref4$index === void 0 ? -1 : _ref4$index;
66
+ }, StyledDropdownTab, hiddenTab, function (_ref7) {
67
+ var _ref7$index = _ref7.index,
68
+ index = _ref7$index === void 0 ? -1 : _ref7$index;
67
69
  return index >= 0 && css(["", "{", "}"], StyledDropdownTab, visible);
68
70
  });
69
71
  //# sourceMappingURL=Tabs.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.styles.js","names":["styled","css","Card","getUnstyledButton","getTypographyIntent","typographyWeights","colors","focusable","spacing","tabGap","md","hiddenTab","visible","StyledLink","span","withConfig","displayName","componentId","StyledTab","div","blue40","StyledTabInner","_ref","active","dark","textColors","white","gray70","hover","gray15","gray45","blue50","StyledDropdownTab","xs","StyledDropdownTabInner","StyledOverlay","sm","lg","semibold","StyledTabList","StyledTabs","nav","_ref2","_ref3","index","_ref4","_ref4$index"],"sources":["../../src/Tabs/Tabs.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { Card } from '../Card/Card'\nimport { getUnstyledButton } from '../Semantic/Semantic.styles'\nimport {\n getTypographyIntent,\n typographyWeights,\n} from '../Typography/Typography.styles'\nimport { colors } from '../_styles/colors'\nimport { focusable } from '../_styles/mixins'\nimport { spacing } from '../_styles/spacing'\n\nconst tabGap = spacing.md\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\nexport const StyledLink = styled.span`\n align-items: center;\n border-bottom-style: solid;\n border-bottom-color: transparent;\n border-bottom-width: 2px;\n display: inline-flex;\n height: 26px; // TODO one-off\n justify-content: center;\n`\n\nexport const StyledTab = styled.div`\n align-items: center;\n cursor: pointer;\n display: inline-flex;\n flex: 0 0 auto;\n justify-content: center;\n padding: 0 ${tabGap}px;\n position: relative;\n white-space: nowrap;\n\n a& {\n text-decoration: none;\n }\n\n button& {\n background-color: transparent;\n border: none;\n font-family: inherit;\n }\n\n &:first-child {\n padding-left: 0;\n }\n\n &:last-child {\n padding-right: 0;\n }\n\n &:not(:last-child) {\n &:focus {\n outline: none;\n\n ${StyledLink} {\n box-shadow: inset 0 0 0 1px ${colors.blue40};\n }\n }\n }\n`\n\nexport const StyledTabInner = styled.div<{ active?: boolean; dark?: boolean }>`\n ${getTypographyIntent('body')}\n\n > a {\n text-decoration: none;\n ${focusable}\n }\n\n ${({ active, dark }) => {\n const textColors = dark\n ? {\n active: colors.white,\n default: colors.gray70,\n hover: colors.white,\n }\n : {\n active: colors.gray15,\n default: colors.gray45,\n hover: colors.gray15,\n }\n\n if (active) {\n return css`\n &,\n > a {\n color: ${textColors.active};\n cursor: default;\n }\n\n ${StyledLink} {\n border-bottom-color: ${colors.blue50};\n }\n `\n }\n\n return css`\n &,\n > a {\n color: ${textColors.default};\n cursor: pointer;\n }\n &:hover,\n &.hover,\n > a:hover {\n color: ${textColors.hover};\n }\n `\n }}\n`\n\nexport const StyledDropdownTab = styled(StyledTab)`\n cursor: pointer;\n ${getUnstyledButton}\n ${focusable}\n\n ${hiddenTab}\n\n margin-left: ${tabGap}px;\n\n ${StyledLink} {\n margin-right: ${spacing.xs}px;\n }\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 ${StyledTabInner} {\n color: ${colors.gray45};\n }\n ${StyledTab} {\n // onClick events are attached to the Tab which are put inside of <Menu.Item>\n // components with padding. Negative margin trick allows the cloned tab\n // to cover the full area of the menu item\n margin: -${spacing.sm}px -${spacing.lg}px;\n padding: ${spacing.sm}px ${spacing.lg}px;\n }\n\n // hacky way to style items that were cloned into the menu\n // can probably clean this up once we convert menu to jss\n // by using the inverse ancestor selector\n [data-selected='true'] {\n ${StyledTabInner},\n ${StyledTabInner} > a {\n color: ${colors.blue50};\n font-weight: ${typographyWeights.semibold};\n }\n }\n\n ${StyledLink} {\n border: 0;\n height: auto;\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} {\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","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":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,UAAU,QAAQ,yCAAyC;AACpE,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,IAAMC,SAAS,gBAAGN,GAAG,8DAIpB;AAED,IAAMO,OAAO,gBAAGP,GAAG,8DAIlB;AAED,IAAMQ,YAAY,gBAAGR,GAAG,uCACLK,OAAO,CAACI,EAAE,EAAMJ,OAAO,CAACI,EAAE,CAC5C;AAED,OAAO,IAAMC,UAAU,gBAAGX,MAAM,CAACY,IAAI,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gFAIjCN,YAAY,CAEf;AAED,OAAO,IAAMO,SAAS,gBAAGhB,MAAM,CAACiB,GAAG,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,igBAC/BN,YAAY,EAYVA,YAAY,EAiBZ,UAAAS,IAAA,EAAiB;EAAA,IAAdC,OAAO,GAAAD,IAAA,CAAPC,OAAO;EACV,IAAIA,OAAO,EAAE;IACX,OAAOlB,GAAG,oCACmBI,MAAM,CAACe,MAAM;EAE5C;AACF,CAAC,EAMa,UAAAC,KAAA;EAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;EAAA,OAAQA,KAAK,GAAG,aAAa,GAAGjB,MAAM,CAACkB,MAAM;AAAA,CAAC,EAKtClB,MAAM,CAACmB,MAAM,CAO9C;AAED,OAAO,IAAMC,cAAc,gBAAGzB,MAAM,CAACiB,GAAG,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,8KAIpCX,mBAAmB,CAAC,MAAM,CAAC,EAGhBE,OAAO,CAACI,EAAE,EAER,UAAAgB,KAAA;EAAA,IAAGP,OAAO,GAAAO,KAAA,CAAPP,OAAO;EAAA,OAAQA,OAAO,GAAG,GAAG,GAAG,GAAG;AAAA,CAAC,EAIjDV,YAAY,EACLJ,MAAM,CAACe,MAAM,EAUtB,UAAAO,KAAA,EAAwB;EAAA,IAArBR,OAAO,GAAAQ,KAAA,CAAPR,OAAO;IAAEG,KAAK,GAAAK,KAAA,CAALL,KAAK;EACjB,IAAIA,KAAK,EAAE;IACT,OAAOrB,GAAG,yDAKGkB,OAAO,GAAGd,MAAM,CAACuB,KAAK,GAAGvB,MAAM,CAACwB,MAAM;EAOrD;AACF,CAAC,CACF;;AAED;AACA,OAAO,IAAMC,iBAAiB,gBAAG9B,MAAM,CAACgB,SAAS,CAAC,CAAAH,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aAC9CR,SAAS,CACZ;AAED,OAAO,IAAMwB,sBAAsB,gBAAG/B,MAAM,CAACyB,cAAc,CAAC,CAAAZ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,8DAI3D;AAED,OAAO,IAAMiB,aAAa,gBAAGhC,MAAM,CAACE,IAAI,CAAC,CAAAW,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,oTAGrCZ,UAAU,EAWVQ,UAAU,EAKVc,cAAc,EAIdd,UAAU,EAAKK,SAAS,EACfX,MAAM,CAACe,MAAM,EAOpBT,UAAU,EAAKK,SAAS,EAEfX,MAAM,CAAC4B,MAAM,CAG3B;AAED,OAAO,IAAMC,aAAa,gBAAGlC,MAAM,CAACiB,GAAG,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gCAGtC;AAED,OAAO,IAAMoB,UAAU,gBAAGnC,MAAM,CAACoC,GAAG,CAAAvB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0JACd,UAAAsB,KAAA;EAAA,IAAGC,IAAI,GAAAD,KAAA,CAAJC,IAAI;EAAA,OAAOA,IAAI,IAAIjC,MAAM,CAACe,MAAM;AAAA,GAKrDJ,SAAS,EAAMA,SAAS,EACTV,OAAO,CAACiC,EAAE,EAGzBvB,SAAS,EAEU,UAAAwB,KAAA;EAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;EAAA,OAAOA,KAAK;AAAA,GAE7BX,iBAAiB,EACrBvB,SAAS,EAKf,UAAAmC,KAAA;EAAA,IAAAC,WAAA,GAAAD,KAAA,CAAGD,KAAK;IAALA,KAAK,GAAAE,WAAA,cAAG,CAAC,CAAC,GAAAA,WAAA;EAAA,OACbF,KAAK,IAAI,CAAC,IACVxC,GAAG,iBACC6B,iBAAiB,EACftB,OAAO,CAEZ;AAAA,EACJ"}