@primer/components 0.0.0-2021821174731 → 0.0.0-2021821193917

Sign up to get free protection for your applications and to get access to all the features.
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 {};