@primer/components 0.0.0-2021821174731 → 0.0.0-2021821193917

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 (232) hide show
  1. package/CHANGELOG.md +2 -28
  2. package/dist/browser.esm.js +619 -665
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +386 -432
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Divider.js +1 -1
  7. package/lib/ActionList/Header.js +2 -2
  8. package/lib/ActionList/Item.js +13 -13
  9. package/lib/ActionList/List.js +1 -1
  10. package/lib/AnchoredOverlay/AnchoredOverlay.js +2 -2
  11. package/lib/Autocomplete/Autocomplete.d.ts +36 -0
  12. package/lib/Autocomplete/Autocomplete.js +55 -0
  13. package/lib/Autocomplete/AutocompleteContext.d.ts +13 -0
  14. package/lib/Autocomplete/AutocompleteContext.js +14 -0
  15. package/lib/Autocomplete/AutocompleteInput.d.ts +9 -0
  16. package/lib/Autocomplete/AutocompleteInput.js +128 -0
  17. package/lib/Autocomplete/AutocompleteMenu.d.ts +54 -0
  18. package/lib/Autocomplete/AutocompleteMenu.js +268 -0
  19. package/lib/Autocomplete/index.d.ts +2 -0
  20. package/lib/Autocomplete/index.js +15 -0
  21. package/lib/Avatar.d.ts +0 -4
  22. package/lib/AvatarPair.js +1 -1
  23. package/lib/AvatarStack.js +1 -1
  24. package/lib/Badge/Badge.d.ts +8 -0
  25. package/lib/Badge/Badge.js +59 -0
  26. package/lib/Badge/BadgeState.d.ts +13 -0
  27. package/lib/Badge/BadgeState.js +51 -0
  28. package/lib/Badge/_badgeStyleUtils.d.ts +3 -0
  29. package/lib/Badge/_badgeStyleUtils.js +39 -0
  30. package/lib/BranchName.js +1 -1
  31. package/lib/Breadcrumb.js +2 -2
  32. package/lib/Button/Button.d.ts +1 -0
  33. package/lib/Button/Button.js +1 -1
  34. package/lib/Button/ButtonClose.d.ts +2 -1
  35. package/lib/Button/ButtonClose.js +1 -1
  36. package/lib/Button/ButtonDanger.d.ts +1 -0
  37. package/lib/Button/ButtonInvisible.d.ts +1 -0
  38. package/lib/Button/ButtonInvisible.js +1 -1
  39. package/lib/Button/ButtonOutline.d.ts +1 -0
  40. package/lib/Button/ButtonPrimary.d.ts +1 -0
  41. package/lib/Button/ButtonTableList.js +1 -1
  42. package/lib/CircleBadge.js +1 -1
  43. package/lib/CircleOcticon.d.ts +1 -0
  44. package/lib/CircleOcticon.js +1 -1
  45. package/lib/CounterLabel.js +2 -2
  46. package/lib/Dialog/ConfirmationDialog.js +1 -1
  47. package/lib/Dialog/Dialog.js +9 -9
  48. package/lib/Dialog.d.ts +3 -2
  49. package/lib/Dialog.js +4 -4
  50. package/lib/Dropdown.d.ts +4 -0
  51. package/lib/Dropdown.js +2 -2
  52. package/lib/DropdownMenu/DropdownButton.d.ts +2 -1
  53. package/lib/DropdownStyles.js +6 -6
  54. package/lib/FilterList.d.ts +1 -0
  55. package/lib/FilterList.js +1 -1
  56. package/lib/FilteredActionList/FilteredActionList.js +5 -5
  57. package/lib/Flash.js +1 -1
  58. package/lib/Label.js +2 -2
  59. package/lib/Link.js +1 -1
  60. package/lib/Overlay.d.ts +2 -1
  61. package/lib/Overlay.js +11 -6
  62. package/lib/Pagehead.js +1 -1
  63. package/lib/Pagination/Pagination.js +1 -1
  64. package/lib/Popover.js +1 -1
  65. package/lib/Position.d.ts +4 -4
  66. package/lib/ProgressBar.js +1 -1
  67. package/lib/SelectMenu/SelectMenu.d.ts +337 -15
  68. package/lib/SelectMenu/SelectMenuDivider.js +1 -1
  69. package/lib/SelectMenu/SelectMenuFilter.d.ts +1 -1
  70. package/lib/SelectMenu/SelectMenuFilter.js +1 -1
  71. package/lib/SelectMenu/SelectMenuFooter.js +1 -1
  72. package/lib/SelectMenu/SelectMenuHeader.js +2 -2
  73. package/lib/SelectMenu/SelectMenuItem.d.ts +1 -1
  74. package/lib/SelectMenu/SelectMenuItem.js +1 -1
  75. package/lib/SelectMenu/SelectMenuList.js +1 -1
  76. package/lib/SelectMenu/SelectMenuLoadingAnimation.js +1 -1
  77. package/lib/SelectMenu/SelectMenuModal.d.ts +1 -1
  78. package/lib/SelectMenu/SelectMenuModal.js +2 -2
  79. package/lib/SelectMenu/SelectMenuTab.js +1 -1
  80. package/lib/SelectMenu/SelectMenuTabPanel.js +1 -1
  81. package/lib/SideNav.js +5 -5
  82. package/lib/StateLabel.js +1 -1
  83. package/lib/SubNav.js +1 -1
  84. package/lib/TabNav.js +2 -2
  85. package/lib/TextInput.d.ts +6 -6
  86. package/lib/TextInput.js +16 -21
  87. package/lib/TextInputTokens.d.ts +32 -0
  88. package/lib/TextInputTokens.js +241 -0
  89. package/lib/TextInputWithTokens.d.ts +41 -0
  90. package/lib/TextInputWithTokens.js +396 -0
  91. package/lib/Timeline.d.ts +1 -0
  92. package/lib/Timeline.js +19 -16
  93. package/lib/Token/Token.d.ts +7 -0
  94. package/lib/Token/Token.js +69 -0
  95. package/lib/Token/TokenBase.d.ts +16 -0
  96. package/lib/Token/TokenBase.js +76 -0
  97. package/lib/Token/TokenLabel.d.ts +10 -0
  98. package/lib/Token/TokenLabel.js +115 -0
  99. package/lib/Token/TokenProfile.d.ts +7 -0
  100. package/lib/Token/TokenProfile.js +45 -0
  101. package/lib/Token/_AddTokenButton.d.ts +3 -0
  102. package/lib/Token/_AddTokenButton.js +42 -0
  103. package/lib/Token/_RemoveTokenButton.d.ts +3 -0
  104. package/lib/Token/_RemoveTokenButton.js +42 -0
  105. package/lib/Token/_tokenButtonUtils.d.ts +8 -0
  106. package/lib/Token/_tokenButtonUtils.js +42 -0
  107. package/lib/Tooltip.js +1 -1
  108. package/lib/UnderlineNav.js +2 -2
  109. package/lib/hooks/useOverlay.d.ts +2 -1
  110. package/lib/hooks/useOverlay.js +11 -6
  111. package/lib/index.d.ts +0 -1
  112. package/lib/index.js +0 -14
  113. package/lib/theme-preval.d.ts +6 -12
  114. package/lib/theme-preval.js +0 -940
  115. package/lib/utils/testing.d.ts +0 -1854
  116. package/lib/utils/uniqueId.js +0 -1
  117. package/lib-esm/ActionList/Divider.js +1 -1
  118. package/lib-esm/ActionList/Header.js +2 -2
  119. package/lib-esm/ActionList/Item.js +14 -14
  120. package/lib-esm/ActionList/List.js +1 -1
  121. package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +3 -3
  122. package/lib-esm/Autocomplete/Autocomplete.d.ts +36 -0
  123. package/lib-esm/Autocomplete/Autocomplete.js +36 -0
  124. package/lib-esm/Autocomplete/AutocompleteContext.d.ts +13 -0
  125. package/lib-esm/Autocomplete/AutocompleteContext.js +5 -0
  126. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +9 -0
  127. package/lib-esm/Autocomplete/AutocompleteInput.js +109 -0
  128. package/lib-esm/Autocomplete/AutocompleteMenu.d.ts +54 -0
  129. package/lib-esm/Autocomplete/AutocompleteMenu.js +244 -0
  130. package/lib-esm/Autocomplete/index.d.ts +2 -0
  131. package/lib-esm/Autocomplete/index.js +1 -0
  132. package/lib-esm/Avatar.d.ts +0 -4
  133. package/lib-esm/AvatarPair.js +1 -1
  134. package/lib-esm/AvatarStack.js +1 -1
  135. package/lib-esm/Badge/Badge.d.ts +8 -0
  136. package/lib-esm/Badge/Badge.js +44 -0
  137. package/lib-esm/Badge/BadgeState.d.ts +13 -0
  138. package/lib-esm/Badge/BadgeState.js +40 -0
  139. package/lib-esm/Badge/_badgeStyleUtils.d.ts +3 -0
  140. package/lib-esm/Badge/_badgeStyleUtils.js +29 -0
  141. package/lib-esm/BranchName.js +1 -1
  142. package/lib-esm/Breadcrumb.js +2 -2
  143. package/lib-esm/Button/Button.d.ts +1 -0
  144. package/lib-esm/Button/Button.js +1 -1
  145. package/lib-esm/Button/ButtonClose.d.ts +2 -1
  146. package/lib-esm/Button/ButtonClose.js +1 -1
  147. package/lib-esm/Button/ButtonDanger.d.ts +1 -0
  148. package/lib-esm/Button/ButtonInvisible.d.ts +1 -0
  149. package/lib-esm/Button/ButtonInvisible.js +1 -1
  150. package/lib-esm/Button/ButtonOutline.d.ts +1 -0
  151. package/lib-esm/Button/ButtonPrimary.d.ts +1 -0
  152. package/lib-esm/Button/ButtonTableList.js +1 -1
  153. package/lib-esm/CircleBadge.js +1 -1
  154. package/lib-esm/CircleOcticon.d.ts +1 -0
  155. package/lib-esm/CircleOcticon.js +1 -1
  156. package/lib-esm/CounterLabel.js +2 -2
  157. package/lib-esm/Dialog/ConfirmationDialog.js +1 -1
  158. package/lib-esm/Dialog/Dialog.js +8 -8
  159. package/lib-esm/Dialog.d.ts +3 -2
  160. package/lib-esm/Dialog.js +4 -4
  161. package/lib-esm/Dropdown.d.ts +4 -0
  162. package/lib-esm/Dropdown.js +2 -2
  163. package/lib-esm/DropdownMenu/DropdownButton.d.ts +2 -1
  164. package/lib-esm/DropdownStyles.js +6 -6
  165. package/lib-esm/FilterList.d.ts +1 -0
  166. package/lib-esm/FilterList.js +1 -1
  167. package/lib-esm/FilteredActionList/FilteredActionList.js +5 -5
  168. package/lib-esm/Flash.js +1 -1
  169. package/lib-esm/Label.js +2 -2
  170. package/lib-esm/Link.js +1 -1
  171. package/lib-esm/Overlay.d.ts +2 -1
  172. package/lib-esm/Overlay.js +9 -6
  173. package/lib-esm/Pagehead.js +1 -1
  174. package/lib-esm/Pagination/Pagination.js +1 -1
  175. package/lib-esm/Popover.js +1 -1
  176. package/lib-esm/Position.d.ts +4 -4
  177. package/lib-esm/ProgressBar.js +1 -1
  178. package/lib-esm/SelectMenu/SelectMenu.d.ts +337 -15
  179. package/lib-esm/SelectMenu/SelectMenuDivider.js +1 -1
  180. package/lib-esm/SelectMenu/SelectMenuFilter.d.ts +1 -1
  181. package/lib-esm/SelectMenu/SelectMenuFilter.js +1 -1
  182. package/lib-esm/SelectMenu/SelectMenuFooter.js +1 -1
  183. package/lib-esm/SelectMenu/SelectMenuHeader.js +2 -2
  184. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +1 -1
  185. package/lib-esm/SelectMenu/SelectMenuItem.js +1 -1
  186. package/lib-esm/SelectMenu/SelectMenuList.js +1 -1
  187. package/lib-esm/SelectMenu/SelectMenuLoadingAnimation.js +1 -1
  188. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +1 -1
  189. package/lib-esm/SelectMenu/SelectMenuModal.js +2 -2
  190. package/lib-esm/SelectMenu/SelectMenuTab.js +1 -1
  191. package/lib-esm/SelectMenu/SelectMenuTabPanel.js +1 -1
  192. package/lib-esm/SideNav.js +5 -5
  193. package/lib-esm/StateLabel.js +1 -1
  194. package/lib-esm/SubNav.js +1 -1
  195. package/lib-esm/TabNav.js +2 -2
  196. package/lib-esm/TextInput.d.ts +6 -6
  197. package/lib-esm/TextInput.js +16 -22
  198. package/lib-esm/TextInputTokens.d.ts +32 -0
  199. package/lib-esm/TextInputTokens.js +211 -0
  200. package/lib-esm/TextInputWithTokens.d.ts +41 -0
  201. package/lib-esm/TextInputWithTokens.js +361 -0
  202. package/lib-esm/Timeline.d.ts +1 -0
  203. package/lib-esm/Timeline.js +17 -12
  204. package/lib-esm/Token/Token.d.ts +7 -0
  205. package/lib-esm/Token/Token.js +49 -0
  206. package/lib-esm/Token/TokenBase.d.ts +16 -0
  207. package/lib-esm/Token/TokenBase.js +56 -0
  208. package/lib-esm/Token/TokenLabel.d.ts +10 -0
  209. package/lib-esm/Token/TokenLabel.js +99 -0
  210. package/lib-esm/Token/TokenProfile.d.ts +7 -0
  211. package/lib-esm/Token/TokenProfile.js +28 -0
  212. package/lib-esm/Token/_AddTokenButton.d.ts +3 -0
  213. package/lib-esm/Token/_AddTokenButton.js +27 -0
  214. package/lib-esm/Token/_RemoveTokenButton.d.ts +3 -0
  215. package/lib-esm/Token/_RemoveTokenButton.js +27 -0
  216. package/lib-esm/Token/_tokenButtonUtils.d.ts +8 -0
  217. package/lib-esm/Token/_tokenButtonUtils.js +26 -0
  218. package/lib-esm/Tooltip.js +1 -1
  219. package/lib-esm/UnderlineNav.js +2 -2
  220. package/lib-esm/hooks/useOverlay.d.ts +2 -1
  221. package/lib-esm/hooks/useOverlay.js +11 -6
  222. package/lib-esm/index.d.ts +0 -1
  223. package/lib-esm/index.js +1 -2
  224. package/lib-esm/theme-preval.d.ts +6 -12
  225. package/lib-esm/theme-preval.js +0 -940
  226. package/lib-esm/utils/testing.d.ts +0 -1854
  227. package/lib-esm/utils/uniqueId.js +0 -1
  228. package/package.json +7 -6
  229. package/lib/utils/ssr.d.ts +0 -1
  230. package/lib/utils/ssr.js +0 -19
  231. package/lib-esm/utils/ssr.d.ts +0 -1
  232. package/lib-esm/utils/ssr.js +0 -1
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { TokenBaseProps } from './TokenBase';
3
+ interface Props extends TokenBaseProps {
4
+ /**
5
+ * The color that corresponds to the label
6
+ */
7
+ fillColor?: string;
8
+ }
9
+ declare const TokenLabel: React.FC<Props>;
10
+ export default TokenLabel;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+
12
+ var _TokenBase = _interopRequireDefault(require("./TokenBase"));
13
+
14
+ var _RemoveTokenButton = _interopRequireDefault(require("./_RemoveTokenButton"));
15
+
16
+ var _tinycolor = _interopRequireDefault(require("tinycolor2"));
17
+
18
+ var _ThemeProvider = require("../ThemeProvider");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
+
24
+ const colorModeConfig = {
25
+ dark: {
26
+ bgOpacity: 0.18,
27
+ borderThreshold: 0,
28
+ borderOpacity: 0.3,
29
+ lightnessThreshold: 0.6
30
+ },
31
+ light: {
32
+ bgOpacity: 1,
33
+ borderThreshold: 0.96,
34
+ borderOpacity: 1,
35
+ lightnessThreshold: 0.453
36
+ }
37
+ };
38
+ const tokenBorderWidthPx = 1; // TODO: do a nicer `isSelected` style
39
+
40
+ const StyledTokenLabel = (0, _styledComponents.default)(_TokenBase.default).withConfig({
41
+ displayName: "TokenLabel__StyledTokenLabel",
42
+ componentId: "sc-1bdmgzv-0"
43
+ })(["background-color:", ";border-width:", "px;border-style:solid;border-color:", ";box-shadow:", ";color:", ";overflow:hidden;padding-right:", ";position:relative;> ._TokenButton{color:currentColor;transform:translate(", "px,-", "px);}"], props => props.bgColor, tokenBorderWidthPx, props => props.borderColor, props => props.isSelected ? `0 0 0 2px ${props.bgColor}` : undefined, props => props.textColor, props => props.handleRemove ? 0 : undefined, tokenBorderWidthPx, tokenBorderWidthPx); // TODO: make this text truncate
44
+
45
+ const TokenTextContainer = (0, _styledComponents.default)('span').withConfig({
46
+ displayName: "TokenLabel__TokenTextContainer",
47
+ componentId: "sc-1bdmgzv-1"
48
+ })(["white-space:nowrap;z-index:1;"]);
49
+
50
+ const TokenLabel = ({
51
+ fillColor,
52
+ isSelected,
53
+ ...tokenBaseProps
54
+ }) => {
55
+ const {
56
+ handleRemove,
57
+ text,
58
+ as,
59
+ variant
60
+ } = tokenBaseProps;
61
+ const {
62
+ colorScheme
63
+ } = (0, _ThemeProvider.useTheme)(); // const colorScheme = 'dark';
64
+
65
+ const {
66
+ bgOpacity,
67
+ borderOpacity,
68
+ borderThreshold,
69
+ lightnessThreshold
70
+ } = colorModeConfig[colorScheme || 'light'];
71
+ let bgColor = fillColor;
72
+ let borderColor = fillColor;
73
+ let textColor = '#FFF';
74
+ const perceivedLightness = (0, _tinycolor.default)(fillColor).getLuminance();
75
+ const isFillColorLight = perceivedLightness >= lightnessThreshold;
76
+
77
+ if (colorScheme === 'dark') {
78
+ const lightenBy = (perceivedLightness - lightnessThreshold) * 100 * (isFillColorLight ? 1 : 0);
79
+ bgColor = isSelected ? (0, _tinycolor.default)(fillColor).setAlpha(bgOpacity * 1.2).toRgbString() : (0, _tinycolor.default)(fillColor).setAlpha(bgOpacity).toRgbString();
80
+ textColor = isSelected ? (0, _tinycolor.default)(fillColor).lighten(lightenBy + 8).toString() : (0, _tinycolor.default)(fillColor).lighten(lightenBy).toString();
81
+ borderColor = isSelected ? (0, _tinycolor.default)(fillColor).lighten(lightenBy).toRgbString() : (0, _tinycolor.default)(fillColor).lighten(lightenBy).setAlpha(borderOpacity).toRgbString();
82
+ } else {
83
+ const isFillColorDark = perceivedLightness < 0.1;
84
+ borderColor = perceivedLightness >= borderThreshold ? (0, _tinycolor.default)(fillColor).darken(25).toString() : 'transparent';
85
+
86
+ if (isFillColorLight) {
87
+ textColor = '#000';
88
+ }
89
+
90
+ if (isSelected) {
91
+ bgColor = isFillColorDark ? (0, _tinycolor.default)(fillColor).lighten(10).toString() : (0, _tinycolor.default)(fillColor).darken(10).toString();
92
+ }
93
+ }
94
+
95
+ return /*#__PURE__*/_react.default.createElement(StyledTokenLabel, _extends({
96
+ fillColor: fillColor,
97
+ bgColor: bgColor,
98
+ borderColor: borderColor,
99
+ textColor: textColor,
100
+ isSelected: isSelected
101
+ }, tokenBaseProps), /*#__PURE__*/_react.default.createElement(TokenTextContainer, null, text), handleRemove ? /*#__PURE__*/_react.default.createElement(_RemoveTokenButton.default, {
102
+ parentTokenTag: as || 'span',
103
+ tabIndex: -1,
104
+ onClick: handleRemove,
105
+ variant: variant
106
+ }) : null);
107
+ };
108
+
109
+ TokenLabel.displayName = "TokenLabel";
110
+ TokenLabel.defaultProps = {
111
+ fillColor: '#999' // TODO: pick a real color
112
+
113
+ };
114
+ var _default = TokenLabel;
115
+ exports.default = _default;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { TokenBaseProps } from './TokenBase';
3
+ interface Props extends TokenBaseProps {
4
+ avatarSrc: string;
5
+ }
6
+ declare const TokenProfile: React.FC<Props>;
7
+ export default TokenProfile;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+
12
+ var _constants = require("../constants");
13
+
14
+ var _primitives = _interopRequireDefault(require("@primer/primitives"));
15
+
16
+ var _TokenBase = require("./TokenBase");
17
+
18
+ var _Token = _interopRequireDefault(require("./Token"));
19
+
20
+ var _ = require("..");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
+
26
+ const StyledToken = (0, _styledComponents.default)(_Token.default).withConfig({
27
+ displayName: "TokenProfile__StyledToken",
28
+ componentId: "sc-1vf9jhf-0"
29
+ })(["padding-left:", ";"], (0, _constants.get)('space.1')); // ${get('space.1')}
30
+
31
+ const TokenProfile = ({
32
+ avatarSrc,
33
+ variant,
34
+ ...rest
35
+ }) => /*#__PURE__*/_react.default.createElement(StyledToken, _extends({
36
+ leadingVisual: () => /*#__PURE__*/_react.default.createElement(_.Avatar, {
37
+ src: avatarSrc,
38
+ size: _TokenBase.tokenSizes[variant || _TokenBase.defaultTokenSize] - parseInt(_primitives.default.spacing.normal.spacer[1], 10) * 2
39
+ }),
40
+ variant: variant
41
+ }, rest));
42
+
43
+ TokenProfile.displayName = "TokenProfile";
44
+ var _default = TokenProfile;
45
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import { TokenButtonProps } from './_tokenButtonUtils';
2
+ declare const AddTokenButton: import("styled-components").StyledComponent<"span", any, TokenButtonProps, never>;
3
+ export default AddTokenButton;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _octiconsReact = require("@primer/octicons-react");
9
+
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+
12
+ var _TokenBase = require("./TokenBase");
13
+
14
+ var _tokenButtonUtils = require("./_tokenButtonUtils");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ const AddTokenButton = _styledComponents.default.span.attrs(({
19
+ parentTokenTag,
20
+ variant,
21
+ ...rest
22
+ }) => {
23
+ delete rest.children;
24
+ return {
25
+ as: parentTokenTag === 'span' ? 'button' : 'span',
26
+ tabIndex: -1,
27
+ className: '_TokenButton',
28
+ children: /*#__PURE__*/React.createElement(_octiconsReact.PlusIcon, {
29
+ size: (0, _tokenButtonUtils.getTokenButtonIconSize)(variant)
30
+ }) // TODO: figure out how to set `size` using `fontSizes` from Primitives
31
+
32
+ };
33
+ }).withConfig({
34
+ displayName: "_AddTokenButton__AddTokenButton",
35
+ componentId: "elcc0o-0"
36
+ })(["", " ", ""], _tokenButtonUtils.tokenButtonStyles, _tokenButtonUtils.variants);
37
+
38
+ AddTokenButton.defaultProps = {
39
+ variant: _TokenBase.defaultTokenSize
40
+ };
41
+ var _default = AddTokenButton;
42
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import { TokenButtonProps } from './_tokenButtonUtils';
2
+ declare const RemoveTokenButton: import("styled-components").StyledComponent<"span", any, TokenButtonProps, never>;
3
+ export default RemoveTokenButton;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _octiconsReact = require("@primer/octicons-react");
9
+
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+
12
+ var _TokenBase = require("./TokenBase");
13
+
14
+ var _tokenButtonUtils = require("./_tokenButtonUtils");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ const RemoveTokenButton = _styledComponents.default.span.attrs(({
19
+ parentTokenTag,
20
+ variant,
21
+ ...rest
22
+ }) => {
23
+ delete rest.children;
24
+ return {
25
+ as: parentTokenTag === 'span' ? 'button' : 'span',
26
+ tabIndex: -1,
27
+ className: '_TokenButton',
28
+ children: /*#__PURE__*/React.createElement(_octiconsReact.XIcon, {
29
+ size: (0, _tokenButtonUtils.getTokenButtonIconSize)(variant)
30
+ }) // TODO: figure out how to set `size` using `fontSizes` from Primitives
31
+
32
+ };
33
+ }).withConfig({
34
+ displayName: "_RemoveTokenButton__RemoveTokenButton",
35
+ componentId: "sc-14lvcw1-0"
36
+ })(["", " ", ""], _tokenButtonUtils.tokenButtonStyles, _tokenButtonUtils.variants);
37
+
38
+ RemoveTokenButton.defaultProps = {
39
+ variant: _TokenBase.defaultTokenSize
40
+ };
41
+ var _default = RemoveTokenButton;
42
+ exports.default = _default;
@@ -0,0 +1,8 @@
1
+ import { TokenSizeKeys } from "./TokenBase";
2
+ export interface TokenButtonProps {
3
+ parentTokenTag: 'span' | 'button' | 'a';
4
+ variant?: TokenSizeKeys;
5
+ }
6
+ export declare const variants: (...args: any[]) => any;
7
+ export declare const tokenButtonStyles: import("styled-components").FlattenInterpolation<import("styled-components").ThemeProps<any>>;
8
+ export declare const getTokenButtonIconSize: (variant?: TokenSizeKeys | undefined) => number;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getTokenButtonIconSize = exports.tokenButtonStyles = exports.variants = void 0;
7
+
8
+ var _styledComponents = require("styled-components");
9
+
10
+ var _styledSystem = require("styled-system");
11
+
12
+ var _constants = require("../constants");
13
+
14
+ var _TokenBase = require("./TokenBase");
15
+
16
+ const variants = (0, _styledSystem.variant)({
17
+ variants: {
18
+ sm: {
19
+ height: `${_TokenBase.tokenSizes.sm}px`,
20
+ width: `${_TokenBase.tokenSizes.sm}px`
21
+ },
22
+ md: {
23
+ height: `${_TokenBase.tokenSizes.md}px`,
24
+ width: `${_TokenBase.tokenSizes.md}px`
25
+ },
26
+ lg: {
27
+ height: `${_TokenBase.tokenSizes.lg}px`,
28
+ width: `${_TokenBase.tokenSizes.lg}px`
29
+ },
30
+ xl: {
31
+ height: `${_TokenBase.tokenSizes.xl}px`,
32
+ width: `${_TokenBase.tokenSizes.xl}px`
33
+ }
34
+ }
35
+ });
36
+ exports.variants = variants;
37
+ const tokenButtonStyles = (0, _styledComponents.css)(["background-color:transparent;font-family:inherit;cursor:pointer;user-select:none;appearance:none;text-decoration:none;padding:0;align-self:baseline;border:0;border-radius:999px;&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}"], (0, _constants.get)('colors.fade.fg10'), (0, _constants.get)('colors.fade.fg15'));
38
+ exports.tokenButtonStyles = tokenButtonStyles;
39
+
40
+ const getTokenButtonIconSize = variant => _TokenBase.tokenSizes[variant || _TokenBase.defaultTokenSize] * 0.75;
41
+
42
+ exports.getTokenButtonIconSize = getTokenButtonIconSize;
package/lib/Tooltip.js CHANGED
@@ -22,7 +22,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
22
22
  const TooltipBase = _styledComponents.default.span.withConfig({
23
23
  displayName: "Tooltip__TooltipBase",
24
24
  componentId: "kp39nc-0"
25
- })(["position:relative;&::before{position:absolute;z-index:1000001;display:none;width:0px;height:0px;color:", ";pointer-events:none;content:'';border:6px solid transparent;opacity:0;}&::after{position:absolute;z-index:1000000;display:none;padding:0.5em 0.75em;font:normal normal 11px/1.5 ", ";-webkit-font-smoothing:subpixel-antialiased;color:", ";text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:", ";border-radius:", ";opacity:0;}@keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}&:hover,&:active,&:focus{&::before,&::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s;}}&.tooltipped-no-delay:hover,&.tooltipped-no-delay:active,&.tooltipped-no-delay:focus{&::before,&::after{animation-delay:0s;}}&.tooltipped-multiline:hover,&.tooltipped-multiline:active,&.tooltipped-multiline:focus{&::after{display:table-cell;}}&.tooltipped-s,&.tooltipped-se,&.tooltipped-sw{&::after{top:100%;right:50%;margin-top:6px;}&::before{top:auto;right:50%;bottom:-7px;margin-right:-6px;border-bottom-color:", ";}}&.tooltipped-se{&::after{right:auto;left:50%;margin-left:-", ";}}&.tooltipped-sw::after{margin-right:-", ";}&.tooltipped-n,&.tooltipped-ne,&.tooltipped-nw{&::after{right:50%;bottom:100%;margin-bottom:6px;}&::before{top:-7px;right:50%;bottom:auto;margin-right:-6px;border-top-color:", ";}}&.tooltipped-ne{&::after{right:auto;left:50%;margin-left:-", ";}}&.tooltipped-nw::after{margin-right:-", ";}&.tooltipped-s::after,&.tooltipped-n::after{transform:translateX(50%);}&.tooltipped-w{&::after{right:100%;bottom:50%;margin-right:6px;transform:translateY(50%);}&::before{top:50%;bottom:50%;left:-7px;margin-top:-6px;border-left-color:", ";}}&.tooltipped-e{&::after{bottom:50%;left:100%;margin-left:6px;transform:translateY(50%);}&::before{top:50%;right:-7px;bottom:50%;margin-top:-6px;border-right-color:", ";}}&.tooltipped-multiline{&::after{width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:separate;}&.tooltipped-s::after,&.tooltipped-n::after{right:auto;left:50%;transform:translateX(-50%);}&.tooltipped-w::after,&.tooltipped-e::after{right:100%;}}&.tooltipped-align-right-2::after{right:0;margin-right:0;}&.tooltipped-align-right-2::before{right:15px;}&.tooltipped-align-left-2::after{left:0;margin-left:0;}&.tooltipped-align-left-2::before{left:10px;}", ";", ";"], (0, _constants.get)('colors.neutral.emphasisPlus'), (0, _constants.get)('fonts.normal'), (0, _constants.get)('colors.fg.onEmphasis'), (0, _constants.get)('colors.neutral.emphasisPlus'), (0, _constants.get)('radii.1'), (0, _constants.get)('colors.neutral.emphasisPlus'), (0, _constants.get)('space.3'), (0, _constants.get)('space.3'), (0, _constants.get)('colors.neutral.emphasisPlus'), (0, _constants.get)('space.3'), (0, _constants.get)('space.3'), (0, _constants.get)('colors.neutral.emphasisPlus'), (0, _constants.get)('colors.neutral.emphasisPlus'), _constants.COMMON, _sx.default);
25
+ })(["position:relative;&::before{position:absolute;z-index:1000001;display:none;width:0px;height:0px;color:", ";pointer-events:none;content:'';border:6px solid transparent;opacity:0;}&::after{position:absolute;z-index:1000000;display:none;padding:0.5em 0.75em;font:normal normal 11px/1.5 ", ";-webkit-font-smoothing:subpixel-antialiased;color:", ";text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:", ";border-radius:", ";opacity:0;}@keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}&:hover,&:active,&:focus{&::before,&::after{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:0.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0.4s;}}&.tooltipped-no-delay:hover,&.tooltipped-no-delay:active,&.tooltipped-no-delay:focus{&::before,&::after{animation-delay:0s;}}&.tooltipped-multiline:hover,&.tooltipped-multiline:active,&.tooltipped-multiline:focus{&::after{display:table-cell;}}&.tooltipped-s,&.tooltipped-se,&.tooltipped-sw{&::after{top:100%;right:50%;margin-top:6px;}&::before{top:auto;right:50%;bottom:-7px;margin-right:-6px;border-bottom-color:", ";}}&.tooltipped-se{&::after{right:auto;left:50%;margin-left:-", ";}}&.tooltipped-sw::after{margin-right:-", ";}&.tooltipped-n,&.tooltipped-ne,&.tooltipped-nw{&::after{right:50%;bottom:100%;margin-bottom:6px;}&::before{top:-7px;right:50%;bottom:auto;margin-right:-6px;border-top-color:", ";}}&.tooltipped-ne{&::after{right:auto;left:50%;margin-left:-", ";}}&.tooltipped-nw::after{margin-right:-", ";}&.tooltipped-s::after,&.tooltipped-n::after{transform:translateX(50%);}&.tooltipped-w{&::after{right:100%;bottom:50%;margin-right:6px;transform:translateY(50%);}&::before{top:50%;bottom:50%;left:-7px;margin-top:-6px;border-left-color:", ";}}&.tooltipped-e{&::after{bottom:50%;left:100%;margin-left:6px;transform:translateY(50%);}&::before{top:50%;right:-7px;bottom:50%;margin-top:-6px;border-right-color:", ";}}&.tooltipped-multiline{&::after{width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:separate;}&.tooltipped-s::after,&.tooltipped-n::after{right:auto;left:50%;transform:translateX(-50%);}&.tooltipped-w::after,&.tooltipped-e::after{right:100%;}}&.tooltipped-align-right-2::after{right:0;margin-right:0;}&.tooltipped-align-right-2::before{right:15px;}&.tooltipped-align-left-2::after{left:0;margin-left:0;}&.tooltipped-align-left-2::before{left:10px;}", ";", ";"], (0, _constants.get)('colors.tooltip.bg'), (0, _constants.get)('fonts.normal'), (0, _constants.get)('colors.tooltip.text'), (0, _constants.get)('colors.tooltip.bg'), (0, _constants.get)('radii.1'), (0, _constants.get)('colors.tooltip.bg'), (0, _constants.get)('space.3'), (0, _constants.get)('space.3'), (0, _constants.get)('colors.tooltip.bg'), (0, _constants.get)('space.3'), (0, _constants.get)('space.3'), (0, _constants.get)('colors.tooltip.bg'), (0, _constants.get)('colors.tooltip.bg'), _constants.COMMON, _sx.default);
26
26
 
27
27
  function Tooltip({
28
28
  direction = 'n',
@@ -25,7 +25,7 @@ const SELECTED_CLASS = 'selected';
25
25
  const UnderlineNavBase = _styledComponents.default.nav.withConfig({
26
26
  displayName: "UnderlineNav__UnderlineNavBase",
27
27
  componentId: "zrnxqt-0"
28
- })(["display:flex;justify-content:space-between;border-bottom:1px solid ", ";&.UnderlineNav--right{justify-content:flex-end;.UnderlineNav-item{margin-right:0;margin-left:", ";}.UnderlineNav-actions{flex:1 1 auto;}}&.UnderlineNav--full{display:block;}.UnderlineNav-body{display:flex;margin-bottom:-1px;}.UnderlineNav-actions{align-self:center;}", ";", ";"], (0, _constants.get)('colors.border.muted'), (0, _constants.get)('space.3'), _constants.COMMON, _sx.default);
28
+ })(["display:flex;justify-content:space-between;border-bottom:1px solid ", ";&.UnderlineNav--right{justify-content:flex-end;.UnderlineNav-item{margin-right:0;margin-left:", ";}.UnderlineNav-actions{flex:1 1 auto;}}&.UnderlineNav--full{display:block;}.UnderlineNav-body{display:flex;margin-bottom:-1px;}.UnderlineNav-actions{align-self:center;}", ";", ";"], (0, _constants.get)('colors.border.secondary'), (0, _constants.get)('space.3'), _constants.COMMON, _sx.default);
29
29
 
30
30
  function UnderlineNav({
31
31
  actions,
@@ -57,7 +57,7 @@ const UnderlineNavLink = _styledComponents.default.a.attrs(props => ({
57
57
  })).withConfig({
58
58
  displayName: "UnderlineNav__UnderlineNavLink",
59
59
  componentId: "zrnxqt-1"
60
- })(["padding:", " ", ";margin-right:", ";font-size:", ";line-height:", ";color:", ";text-align:center;border-bottom:2px solid transparent;text-decoration:none;&:hover,&:focus{color:", ";text-decoration:none;border-bottom-color:", ";transition:0.2s ease;.UnderlineNav-octicon{color:", ";}}&.selected{color:", ";border-bottom-color:", ";.UnderlineNav-octicon{color:", ";}}", ";", ";"], (0, _constants.get)('space.3'), (0, _constants.get)('space.2'), (0, _constants.get)('space.3'), (0, _constants.get)('fontSizes.1'), (0, _constants.get)('lineHeights.default'), (0, _constants.get)('colors.fg.default'), (0, _constants.get)('colors.fg.default'), (0, _constants.get)('colors.neutral.muted'), (0, _constants.get)('colors.fg.muted'), (0, _constants.get)('colors.fg.default'), (0, _constants.get)('colors.primer.border.active'), (0, _constants.get)('colors.fg.default'), _constants.COMMON, _sx.default);
60
+ })(["padding:", " ", ";margin-right:", ";font-size:", ";line-height:", ";color:", ";text-align:center;border-bottom:2px solid transparent;text-decoration:none;&:hover,&:focus{color:", ";text-decoration:none;border-bottom-color:", ";transition:0.2s ease;.UnderlineNav-octicon{color:", ";}}&.selected{color:", ";border-bottom-color:", ";.UnderlineNav-octicon{color:", ";}}", ";", ";"], (0, _constants.get)('space.3'), (0, _constants.get)('space.2'), (0, _constants.get)('space.3'), (0, _constants.get)('fontSizes.1'), (0, _constants.get)('lineHeights.default'), (0, _constants.get)('colors.underlinenav.text'), (0, _constants.get)('colors.underlinenav.textHover'), (0, _constants.get)('colors.border.tertiary'), (0, _constants.get)('colors.text.tertiary'), (0, _constants.get)('colors.underlinenav.textActive'), (0, _constants.get)('colors.underlinenav.borderActive'), (0, _constants.get)('colors.underlinenav.iconActive'), _constants.COMMON, _sx.default);
61
61
 
62
62
  UnderlineNavLink.displayName = 'UnderlineNav.Link';
63
63
 
@@ -7,8 +7,9 @@ export declare type UseOverlaySettings = {
7
7
  onEscape: (e: KeyboardEvent) => void;
8
8
  onClickOutside: (e: TouchOrMouseEvent) => void;
9
9
  overlayRef?: React.RefObject<HTMLDivElement>;
10
+ preventFocusOnOpen?: boolean;
10
11
  };
11
12
  export declare type OverlayReturnProps = {
12
13
  ref: React.RefObject<HTMLDivElement>;
13
14
  };
14
- export declare const useOverlay: ({ overlayRef: _overlayRef, returnFocusRef, initialFocusRef, onEscape, ignoreClickRefs, onClickOutside }: UseOverlaySettings) => OverlayReturnProps;
15
+ export declare const useOverlay: ({ overlayRef: _overlayRef, returnFocusRef, initialFocusRef, onEscape, ignoreClickRefs, onClickOutside, preventFocusOnOpen }: UseOverlaySettings) => OverlayReturnProps;
@@ -19,14 +19,19 @@ const useOverlay = ({
19
19
  initialFocusRef,
20
20
  onEscape,
21
21
  ignoreClickRefs,
22
- onClickOutside
22
+ onClickOutside,
23
+ preventFocusOnOpen
23
24
  }) => {
24
25
  const overlayRef = (0, _useProvidedRefOrCreate.useProvidedRefOrCreate)(_overlayRef);
25
- (0, _useOpenAndCloseFocus.useOpenAndCloseFocus)({
26
- containerRef: overlayRef,
27
- returnFocusRef,
28
- initialFocusRef
29
- });
26
+
27
+ if (!preventFocusOnOpen) {
28
+ (0, _useOpenAndCloseFocus.useOpenAndCloseFocus)({
29
+ containerRef: overlayRef,
30
+ returnFocusRef,
31
+ initialFocusRef
32
+ });
33
+ }
34
+
30
35
  (0, _useOnOutsideClick.useOnOutsideClick)({
31
36
  containerRef: overlayRef,
32
37
  ignoreClickRefs,
package/lib/index.d.ts CHANGED
@@ -108,4 +108,3 @@ export { default as Truncate } from './Truncate';
108
108
  export type { TruncateProps } from './Truncate';
109
109
  export { default as UnderlineNav } from './UnderlineNav';
110
110
  export type { UnderlineNavProps, UnderlineNavLinkProps } from './UnderlineNav';
111
- export { SSRProvider, useSSRSafeId } from './utils/ssr';
package/lib/index.js CHANGED
@@ -453,18 +453,6 @@ Object.defineProperty(exports, "UnderlineNav", {
453
453
  return _UnderlineNav.default;
454
454
  }
455
455
  });
456
- Object.defineProperty(exports, "SSRProvider", {
457
- enumerable: true,
458
- get: function () {
459
- return _ssr.SSRProvider;
460
- }
461
- });
462
- Object.defineProperty(exports, "useSSRSafeId", {
463
- enumerable: true,
464
- get: function () {
465
- return _ssr.useSSRSafeId;
466
- }
467
- });
468
456
 
469
457
  var _theme = _interopRequireDefault(require("./theme"));
470
458
 
@@ -586,8 +574,6 @@ var _Truncate = _interopRequireDefault(require("./Truncate"));
586
574
 
587
575
  var _UnderlineNav = _interopRequireDefault(require("./UnderlineNav"));
588
576
 
589
- var _ssr = require("./utils/ssr");
590
-
591
577
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
592
578
 
593
579
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -22,10 +22,6 @@ export namespace theme {
22
22
  export { darkDimmedColors as colors };
23
23
  export { darkDimmedShadows as shadows };
24
24
  }
25
- namespace dark_high_contrast {
26
- export { darkHighContrastColors as colors };
27
- export { darkHighContrastShadows as shadows };
28
- }
29
25
  }
30
26
  }
31
27
  declare namespace animation {
@@ -83,21 +79,19 @@ declare const darkDimmedColors: Partial<typeof primitives.colors.dark_dimmed>;
83
79
  * @type Partial<typeof primitives.colors.dark_dimmed>
84
80
  */
85
81
  declare const darkDimmedShadows: Partial<typeof primitives.colors.dark_dimmed>;
86
- /**
87
- * @type Partial<typeof primitives.colors.dark_dimmed>
88
- */
89
- declare const darkHighContrastColors: Partial<typeof primitives.colors.dark_dimmed>;
90
- /**
91
- * @type Partial<typeof primitives.colors.dark_high_contrast>
92
- */
93
- declare const darkHighContrastShadows: Partial<typeof primitives.colors.dark_high_contrast>;
94
82
  import { default as primitives } from "@primer/primitives";
95
83
  declare const light_2: {
96
84
  colors: {};
85
+ /**
86
+ * @type Partial<typeof primitives.colors.light>
87
+ */
97
88
  shadows: {};
98
89
  };
99
90
  declare const dark_1: {
100
91
  colors: {};
92
+ /**
93
+ * @type Partial<typeof primitives.colors.light>
94
+ */
101
95
  shadows: {};
102
96
  };
103
97
  export {};