@primer/components 0.0.0-2021927202224 → 0.0.0-2021927203020

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 (74) hide show
  1. package/CHANGELOG.md +1 -23
  2. package/dist/browser.esm.js +53 -54
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +50 -51
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Item.d.ts +0 -6
  7. package/lib/ActionList/Item.js +1 -5
  8. package/lib/AnchoredOverlay/AnchoredOverlay.d.ts +4 -2
  9. package/lib/Autocomplete/Autocomplete.d.ts +4 -2
  10. package/lib/Autocomplete/AutocompleteInput.d.ts +4 -2
  11. package/lib/Breadcrumbs.d.ts +7 -8
  12. package/lib/Breadcrumbs.js +12 -7
  13. package/lib/DatePicker/DatePicker.d.ts +48 -0
  14. package/lib/DatePicker/DatePicker.js +104 -0
  15. package/lib/DatePicker/DatePickerAnchor.d.ts +5 -0
  16. package/lib/DatePicker/DatePickerAnchor.js +182 -0
  17. package/lib/DatePicker/DatePickerOverlay.d.ts +3 -0
  18. package/lib/DatePicker/DatePickerOverlay.js +48 -0
  19. package/lib/DatePicker/DatePickerPanel.d.ts +2 -0
  20. package/lib/DatePicker/DatePickerPanel.js +126 -0
  21. package/lib/DatePicker/Day.d.ts +14 -0
  22. package/lib/DatePicker/Day.js +190 -0
  23. package/lib/DatePicker/Month.d.ts +9 -0
  24. package/lib/DatePicker/Month.js +120 -0
  25. package/lib/DatePicker/index.d.ts +2 -0
  26. package/lib/DatePicker/index.js +13 -0
  27. package/lib/DatePicker/useDatePicker.d.ts +88 -0
  28. package/lib/DatePicker/useDatePicker.js +433 -0
  29. package/lib/SelectMenu/SelectMenu.d.ts +4 -2
  30. package/lib/TextInputWithTokens.d.ts +4 -6
  31. package/lib/TextInputWithTokens.js +29 -102
  32. package/lib/Token/Token.js +2 -13
  33. package/lib/Token/TokenBase.js +4 -0
  34. package/lib/Token/_RemoveTokenButton.js +2 -15
  35. package/lib/_TextInputWrapper.js +1 -1
  36. package/lib/hooks/useDebounce.d.ts +2 -0
  37. package/lib/hooks/useDebounce.js +24 -0
  38. package/lib/theme-preval.js +2 -2
  39. package/lib/utils/testing.d.ts +1 -1
  40. package/lib-esm/ActionList/Item.d.ts +0 -6
  41. package/lib-esm/ActionList/Item.js +1 -5
  42. package/lib-esm/AnchoredOverlay/AnchoredOverlay.d.ts +4 -2
  43. package/lib-esm/Autocomplete/Autocomplete.d.ts +4 -2
  44. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +4 -2
  45. package/lib-esm/Breadcrumbs.d.ts +7 -8
  46. package/lib-esm/Breadcrumbs.js +13 -8
  47. package/lib-esm/DatePicker/DatePicker.d.ts +48 -0
  48. package/lib-esm/DatePicker/DatePicker.js +87 -0
  49. package/lib-esm/DatePicker/DatePickerAnchor.d.ts +5 -0
  50. package/lib-esm/DatePicker/DatePickerAnchor.js +155 -0
  51. package/lib-esm/DatePicker/DatePickerOverlay.d.ts +3 -0
  52. package/lib-esm/DatePicker/DatePickerOverlay.js +29 -0
  53. package/lib-esm/DatePicker/DatePickerPanel.d.ts +2 -0
  54. package/lib-esm/DatePicker/DatePickerPanel.js +100 -0
  55. package/lib-esm/DatePicker/Day.d.ts +14 -0
  56. package/lib-esm/DatePicker/Day.js +167 -0
  57. package/lib-esm/DatePicker/Month.d.ts +9 -0
  58. package/lib-esm/DatePicker/Month.js +96 -0
  59. package/lib-esm/DatePicker/index.d.ts +2 -0
  60. package/lib-esm/DatePicker/index.js +1 -0
  61. package/lib-esm/DatePicker/useDatePicker.d.ts +88 -0
  62. package/lib-esm/DatePicker/useDatePicker.js +403 -0
  63. package/lib-esm/SelectMenu/SelectMenu.d.ts +4 -2
  64. package/lib-esm/TextInputWithTokens.d.ts +4 -6
  65. package/lib-esm/TextInputWithTokens.js +30 -101
  66. package/lib-esm/Token/Token.js +2 -13
  67. package/lib-esm/Token/TokenBase.js +4 -0
  68. package/lib-esm/Token/_RemoveTokenButton.js +2 -11
  69. package/lib-esm/_TextInputWrapper.js +1 -1
  70. package/lib-esm/hooks/useDebounce.d.ts +2 -0
  71. package/lib-esm/hooks/useDebounce.js +16 -0
  72. package/lib-esm/theme-preval.js +2 -2
  73. package/lib-esm/utils/testing.d.ts +1 -1
  74. package/package.json +14 -13
@@ -9,17 +9,9 @@ import Token from './Token/Token';
9
9
  import { useProvidedRefOrCreate } from './hooks';
10
10
  import UnstyledTextInput from './_UnstyledTextInput';
11
11
  import TextInputWrapper from './_TextInputWrapper';
12
- import Box from './Box';
13
- import Text from './Text';
14
- import { isFocusable } from './utils/iterateFocusableElements'; // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
-
16
- const overflowCountFontSizeMap = {
17
- small: 0,
18
- medium: 1,
19
- large: 1,
20
- extralarge: 2
21
- }; // using forwardRef is important so that other components (ex. Autocomplete) can use the ref
12
+ import Box from './Box'; // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
13
 
14
+ // using forwardRef is important so that other components (ex. Autocomplete) can use the ref
23
15
  function TextInputWithTokensInnerComponent({
24
16
  icon: IconComponent,
25
17
  contrast,
@@ -39,11 +31,9 @@ function TextInputWithTokensInnerComponent({
39
31
  minWidth: minWidthProp,
40
32
  maxWidth: maxWidthProp,
41
33
  variant: variantProp,
42
- visibleTokenCount,
43
34
  ...rest
44
35
  }, externalRef) {
45
36
  const {
46
- onBlur,
47
37
  onFocus,
48
38
  onKeyDown,
49
39
  ...inputPropsRest
@@ -52,7 +42,6 @@ function TextInputWithTokensInnerComponent({
52
42
  const localInputRef = useRef(null);
53
43
  const combinedInputRef = useCombinedRefs(localInputRef, ref);
54
44
  const [selectedTokenIndex, setSelectedTokenIndex] = useState();
55
- const [tokensAreTruncated, setTokensAreTruncated] = useState(Boolean(visibleTokenCount));
56
45
  const {
57
46
  containerRef
58
47
  } = useFocusZone({
@@ -87,25 +76,14 @@ function TextInputWithTokensInnerComponent({
87
76
  }, [selectedTokenIndex]);
88
77
 
89
78
  const handleTokenRemove = tokenId => {
90
- onTokenRemove(tokenId); // HACK: wait a tick for the the token node to be removed from the DOM
91
-
92
- setTimeout(() => {
93
- var _containerRef$current2, _containerRef$current3;
94
-
95
- const nextElementToFocus = (_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.children[selectedTokenIndex || 0]; // when removing the first token by keying "Backspace" or "Delete",
96
- // `nextFocusableElement` is the div that wraps the input
79
+ onTokenRemove(tokenId);
97
80
 
98
- const firstFocusable = nextElementToFocus && isFocusable(nextElementToFocus) ? nextElementToFocus : Array.from(((_containerRef$current3 = containerRef.current) === null || _containerRef$current3 === void 0 ? void 0 : _containerRef$current3.children) || []).find(el => isFocusable(el));
81
+ if (selectedTokenIndex) {
82
+ var _containerRef$current2;
99
83
 
100
- if (firstFocusable) {
101
- firstFocusable.focus();
102
- } else {
103
- var _ref$current;
104
-
105
- // if there are no tokens left, focus the input
106
- (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
107
- }
108
- }, 0);
84
+ const nextElementToFocus = (_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.children[selectedTokenIndex];
85
+ nextElementToFocus.focus();
86
+ }
109
87
  };
110
88
 
111
89
  const handleTokenFocus = tokenIndex => () => {
@@ -113,55 +91,30 @@ function TextInputWithTokensInnerComponent({
113
91
  };
114
92
 
115
93
  const handleTokenBlur = () => {
116
- setSelectedTokenIndex(undefined); // HACK: wait a tick and check the focused element before hiding truncated tokens
117
- // this prevents the tokens from hiding when the user is moving focus between tokens,
118
- // but still hides the tokens when the user blurs the token by tabbing out or clicking somewhere else on the page
119
-
120
- setTimeout(() => {
121
- var _containerRef$current4;
122
-
123
- if (!((_containerRef$current4 = containerRef.current) !== null && _containerRef$current4 !== void 0 && _containerRef$current4.contains(document.activeElement)) && visibleTokenCount) {
124
- setTokensAreTruncated(true);
125
- }
126
- }, 0);
94
+ setSelectedTokenIndex(undefined);
127
95
  };
128
96
 
129
- const handleTokenKeyUp = event => {
130
- if (event.key === 'Escape') {
131
- var _ref$current2;
97
+ const handleTokenKeyUp = e => {
98
+ if (e.key === 'Escape') {
99
+ var _ref$current;
132
100
 
133
- (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.focus();
101
+ (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
134
102
  }
135
103
  };
136
104
 
137
- const handleInputFocus = event => {
138
- onFocus && onFocus(event);
105
+ const handleInputFocus = e => {
106
+ onFocus && onFocus(e);
139
107
  setSelectedTokenIndex(undefined);
140
- visibleTokenCount && setTokensAreTruncated(false);
141
- };
142
-
143
- const handleInputBlur = event => {
144
- onBlur && onBlur(event); // HACK: wait a tick and check the focused element before hiding truncated tokens
145
- // this prevents the tokens from hiding when the user is moving focus from the input to a token,
146
- // but still hides the tokens when the user blurs the input by tabbing out or clicking somewhere else on the page
147
-
148
- setTimeout(() => {
149
- var _containerRef$current5;
150
-
151
- if (!((_containerRef$current5 = containerRef.current) !== null && _containerRef$current5 !== void 0 && _containerRef$current5.contains(document.activeElement)) && visibleTokenCount) {
152
- setTokensAreTruncated(true);
153
- }
154
- }, 0);
155
108
  };
156
109
 
157
110
  const handleInputKeyDown = e => {
158
- var _ref$current3;
111
+ var _ref$current2;
159
112
 
160
113
  if (onKeyDown) {
161
114
  onKeyDown(e);
162
115
  }
163
116
 
164
- if ((_ref$current3 = ref.current) !== null && _ref$current3 !== void 0 && _ref$current3.value) {
117
+ if ((_ref$current2 = ref.current) !== null && _ref$current2 !== void 0 && _ref$current2.value) {
165
118
  return;
166
119
  }
167
120
 
@@ -182,24 +135,13 @@ function TextInputWithTokensInnerComponent({
182
135
 
183
136
 
184
137
  setTimeout(() => {
185
- var _ref$current4;
138
+ var _ref$current3;
186
139
 
187
- (_ref$current4 = ref.current) === null || _ref$current4 === void 0 ? void 0 : _ref$current4.select();
140
+ (_ref$current3 = ref.current) === null || _ref$current3 === void 0 ? void 0 : _ref$current3.select();
188
141
  }, 0);
189
142
  }
190
143
  };
191
144
 
192
- const focusInput = () => {
193
- var _combinedInputRef$cur;
194
-
195
- (_combinedInputRef$cur = combinedInputRef.current) === null || _combinedInputRef$cur === void 0 ? void 0 : _combinedInputRef$cur.focus();
196
- };
197
-
198
- const preventTokenClickPropagation = event => {
199
- event.stopPropagation();
200
- };
201
-
202
- const visibleTokens = tokensAreTruncated ? tokens.slice(0, visibleTokenCount) : tokens;
203
145
  return /*#__PURE__*/React.createElement(TextInputWrapper, {
204
146
  block: block,
205
147
  className: className,
@@ -211,8 +153,15 @@ function TextInputWithTokensInnerComponent({
211
153
  minWidth: minWidthProp,
212
154
  maxWidth: maxWidthProp,
213
155
  variant: variantProp,
214
- onClick: focusInput,
215
- sx: { ...(block ? {
156
+ ref: containerRef,
157
+ sx: {
158
+ alignItems: 'center',
159
+ flexWrap: preventTokenWrapping ? 'nowrap' : 'wrap',
160
+ gap: '0.25rem',
161
+ '> *': {
162
+ flexShrink: 0
163
+ },
164
+ ...(block ? {
216
165
  display: 'flex',
217
166
  width: '100%'
218
167
  } : {}),
@@ -225,21 +174,6 @@ function TextInputWithTokensInnerComponent({
225
174
  } : {}),
226
175
  ...sxProp
227
176
  }
228
- }, /*#__PURE__*/React.createElement(Box, {
229
- ref: containerRef,
230
- display: "flex",
231
- sx: {
232
- alignItems: 'center',
233
- flexWrap: preventTokenWrapping ? 'nowrap' : 'wrap',
234
- marginLeft: '-0.25rem',
235
- marginBottom: '-0.25rem',
236
- flexGrow: 1,
237
- '> *': {
238
- flexShrink: 0,
239
- marginLeft: '0.25rem',
240
- marginBottom: '0.25rem'
241
- }
242
- }
243
177
  }, /*#__PURE__*/React.createElement(Box, {
244
178
  sx: {
245
179
  order: 1,
@@ -251,13 +185,12 @@ function TextInputWithTokensInnerComponent({
251
185
  ref: combinedInputRef,
252
186
  disabled: disabled,
253
187
  onFocus: handleInputFocus,
254
- onBlur: handleInputBlur,
255
188
  onKeyDown: handleInputKeyDown,
256
189
  type: "text",
257
190
  sx: {
258
191
  height: '100%'
259
192
  }
260
- }, inputPropsRest))), TokenComponent ? visibleTokens.map(({
193
+ }, inputPropsRest))), tokens.length && TokenComponent ? tokens.map(({
261
194
  id,
262
195
  ...tokenRest
263
196
  }, i) => /*#__PURE__*/React.createElement(TokenComponent, _extends({
@@ -265,7 +198,6 @@ function TextInputWithTokensInnerComponent({
265
198
  onFocus: handleTokenFocus(i),
266
199
  onBlur: handleTokenBlur,
267
200
  onKeyUp: handleTokenKeyUp,
268
- onClick: preventTokenClickPropagation,
269
201
  isSelected: selectedTokenIndex === i,
270
202
  onRemove: () => {
271
203
  handleTokenRemove(id);
@@ -273,10 +205,7 @@ function TextInputWithTokensInnerComponent({
273
205
  hideRemoveButton: hideTokenRemoveButtons,
274
206
  size: size,
275
207
  tabIndex: 0
276
- }, tokenRest))) : null, tokensAreTruncated ? /*#__PURE__*/React.createElement(Text, {
277
- color: "fg.muted",
278
- fontSize: size && overflowCountFontSizeMap[size]
279
- }, "+", tokens.length - visibleTokens.length) : null));
208
+ }, tokenRest))) : null);
280
209
  }
281
210
 
282
211
  TextInputWithTokensInnerComponent.displayName = "TextInputWithTokensInnerComponent";
@@ -19,16 +19,7 @@ const DefaultTokenStyled = styled(TokenBase).withConfig({
19
19
  const LeadingVisualContainer = styled('span').withConfig({
20
20
  displayName: "Token__LeadingVisualContainer",
21
21
  componentId: "sc-1dg52pw-1"
22
- })(["flex-shrink:0;line-height:0;", ""], props => {
23
- switch (props.size) {
24
- case 'large':
25
- case 'extralarge':
26
- return css(["margin-right:", ";"], get('space.2'));
27
-
28
- default:
29
- return css(["margin-right:", ";"], get('space.1'));
30
- }
31
- });
22
+ })(["flex-shrink:0;line-height:0;"]);
32
23
  const Token = /*#__PURE__*/forwardRef((props, forwardedRef) => {
33
24
  const {
34
25
  as,
@@ -63,9 +54,7 @@ const Token = /*#__PURE__*/forwardRef((props, forwardedRef) => {
63
54
  isTokenInteractive: isTokenInteractive(props)
64
55
  }, !hasMultipleActionTargets ? interactiveTokenProps : {}, rest, {
65
56
  ref: forwardedRef
66
- }), LeadingVisual ? /*#__PURE__*/React.createElement(LeadingVisualContainer, {
67
- size: size
68
- }, /*#__PURE__*/React.createElement(LeadingVisual, null)) : null, /*#__PURE__*/React.createElement(TokenTextContainer, hasMultipleActionTargets ? interactiveTokenProps : {}, text), !hideRemoveButton && onRemove ? /*#__PURE__*/React.createElement(RemoveTokenButton, {
57
+ }), LeadingVisual ? /*#__PURE__*/React.createElement(LeadingVisualContainer, null, /*#__PURE__*/React.createElement(LeadingVisual, null)) : null, /*#__PURE__*/React.createElement(TokenTextContainer, hasMultipleActionTargets ? interactiveTokenProps : {}, text), !hideRemoveButton && onRemove ? /*#__PURE__*/React.createElement(RemoveTokenButton, {
69
58
  borderOffset: tokenBorderWidthPx,
70
59
  onClick: onRemoveClick,
71
60
  size: size,
@@ -20,6 +20,7 @@ const variants = variant({
20
20
  variants: {
21
21
  small: {
22
22
  fontSize: 0,
23
+ gap: 1,
23
24
  height: tokenSizes.small,
24
25
  // without setting lineHeight to match height, the "x" appears vertically mis-aligned
25
26
  lineHeight: tokenSizes.small,
@@ -32,6 +33,7 @@ const variants = variant({
32
33
  },
33
34
  medium: {
34
35
  fontSize: 0,
36
+ gap: 1,
35
37
  height: tokenSizes.medium,
36
38
  lineHeight: tokenSizes.medium,
37
39
  paddingLeft: 2,
@@ -41,6 +43,7 @@ const variants = variant({
41
43
  },
42
44
  large: {
43
45
  fontSize: 0,
46
+ gap: 2,
44
47
  height: tokenSizes.large,
45
48
  lineHeight: tokenSizes.large,
46
49
  paddingLeft: 2,
@@ -50,6 +53,7 @@ const variants = variant({
50
53
  },
51
54
  extralarge: {
52
55
  fontSize: 1,
56
+ gap: 2,
53
57
  height: tokenSizes.extralarge,
54
58
  lineHeight: tokenSizes.extralarge,
55
59
  paddingLeft: 3,
@@ -2,7 +2,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
2
2
 
3
3
  import React from 'react';
4
4
  import { XIcon } from '@primer/octicons-react';
5
- import styled, { css } from 'styled-components';
5
+ import styled from 'styled-components';
6
6
  import { variant } from 'styled-system';
7
7
  import { get } from '../constants';
8
8
  import sx from '../sx';
@@ -34,16 +34,7 @@ const getTokenButtonIconSize = size => parseInt(tokenSizes[size || defaultTokenS
34
34
  const StyledTokenButton = styled.span.withConfig({
35
35
  displayName: "_RemoveTokenButton__StyledTokenButton",
36
36
  componentId: "sc-14lvcw1-0"
37
- })(["background-color:transparent;font-family:inherit;color:currentColor;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;user-select:none;appearance:none;text-decoration:none;padding:0;transform:", ";align-self:baseline;border:0;border-radius:999px;", " &:hover,&:focus{background-color:", ";}&:active{background-color:", ";}", " ", ""], props => `translate(${props.borderOffset}px, -${props.borderOffset}px)`, props => {
38
- switch (props.size) {
39
- case 'large':
40
- case 'extralarge':
41
- return css(["margin-left:", ";"], get('space.2'));
42
-
43
- default:
44
- return css(["margin-left:", ";"], get('space.1'));
45
- }
46
- }, get('colors.neutral.muted'), get('colors.neutral.subtle'), variants, sx);
37
+ })(["background-color:transparent;font-family:inherit;color:currentColor;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;user-select:none;appearance:none;text-decoration:none;padding:0;transform:", ";align-self:baseline;border:0;border-radius:999px;&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}", " ", ""], props => `translate(${props.borderOffset}px, -${props.borderOffset}px)`, get('colors.neutral.muted'), get('colors.neutral.subtle'), variants, sx);
47
38
 
48
39
  const RemoveTokenButton = ({
49
40
  'aria-label': ariaLabel,
@@ -21,7 +21,7 @@ const sizeVariants = variant({
21
21
  const TextInputWrapper = styled.span.withConfig({
22
22
  displayName: "_TextInputWrapper__TextInputWrapper",
23
23
  componentId: "sc-5vfcis-0"
24
- })(["display:inline-flex;align-items:stretch;min-height:34px;font-size:", ";line-height:20px;color:", ";vertical-align:middle;background-repeat:no-repeat;background-position:right 8px center;border:1px solid ", ";border-radius:", ";outline:none;box-shadow:", ";cursor:text;", " .TextInput-icon{align-self:center;color:", ";margin:0 ", ";flex-shrink:0;}&:focus-within{border-color:", ";box-shadow:", ";}", " ", " ", " @media (min-width:", "){font-size:", ";}", " ", " ", " ", " ", ";"], get('fontSizes.1'), get('colors.fg.default'), get('colors.border.default'), get('radii.2'), get('shadows.primer.shadow.inset'), props => {
24
+ })(["display:inline-flex;align-items:stretch;min-height:34px;font-size:", ";line-height:20px;color:", ";vertical-align:middle;background-repeat:no-repeat;background-position:right 8px center;border:1px solid ", ";border-radius:", ";outline:none;box-shadow:", ";", " .TextInput-icon{align-self:center;color:", ";margin:0 ", ";flex-shrink:0;}&:focus-within{border-color:", ";box-shadow:", ";}", " ", " ", " @media (min-width:", "){font-size:", ";}", " ", " ", " ", " ", ";"], get('fontSizes.1'), get('colors.fg.default'), get('colors.border.default'), get('radii.2'), get('shadows.primer.shadow.inset'), props => {
25
25
  if (props.hasIcon) {
26
26
  return css(["padding:0;"]);
27
27
  } else {
@@ -0,0 +1,2 @@
1
+ declare function useDebounce<T>(value: T, delay: number): T;
2
+ export default useDebounce;
@@ -0,0 +1,16 @@
1
+ import { useEffect, useState } from 'react';
2
+
3
+ function useDebounce(value, delay) {
4
+ const [debouncedValue, setDebouncedValue] = useState(value);
5
+ useEffect(() => {
6
+ const handler = setTimeout(() => {
7
+ setDebouncedValue(value);
8
+ }, delay);
9
+ return () => {
10
+ clearTimeout(handler);
11
+ };
12
+ }, [value, delay]);
13
+ return debouncedValue;
14
+ }
15
+
16
+ export default useDebounce;
@@ -515,7 +515,7 @@ module.exports = {
515
515
  }
516
516
  }
517
517
  },
518
- "light_protanopia": {
518
+ "light_colorblind": {
519
519
  "colors": {
520
520
  "canvasDefaultTransparent": "rgba(255,255,255,0)",
521
521
  "marketingIcon": {
@@ -2456,7 +2456,7 @@ module.exports = {
2456
2456
  }
2457
2457
  }
2458
2458
  },
2459
- "dark_protanopia": {
2459
+ "dark_colorblind": {
2460
2460
  "colors": {
2461
2461
  "canvasDefaultTransparent": "rgba(13,17,23,0)",
2462
2462
  "marketingIcon": {
@@ -53,7 +53,7 @@ export declare function render(component: React.ReactElement, theme?: {
53
53
  xlarge: string;
54
54
  };
55
55
  space: string[];
56
- colorSchemes: Record<"light" | "light_protanopia" | "dark" | "dark_dimmed" | "dark_high_contrast" | "dark_protanopia", Record<"colors" | "shadows", Partial<{
56
+ colorSchemes: Record<"light" | "light_colorblind" | "dark" | "dark_dimmed" | "dark_high_contrast" | "dark_colorblind", Record<"colors" | "shadows", Partial<{
57
57
  canvasDefaultTransparent: string;
58
58
  marketingIcon: {
59
59
  primary: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/components",
3
- "version": "0.0.0-2021927202224",
3
+ "version": "0.0.0-2021927203020",
4
4
  "description": "Primer react components",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -43,20 +43,16 @@
43
43
  "author": "GitHub, Inc.",
44
44
  "license": "MIT",
45
45
  "dependencies": {
46
- "@primer/octicons-react": "^13.0.0",
47
- "@primer/primitives": "5.1.0",
46
+ "@primer/octicons-react": "^16.1.0",
47
+ "@primer/primitives": "6.0.0",
48
48
  "@radix-ui/react-polymorphic": "0.0.14",
49
49
  "@react-aria/ssr": "3.1.0",
50
50
  "@styled-system/css": "5.1.5",
51
51
  "@styled-system/props": "5.1.5",
52
52
  "@styled-system/theme-get": "5.1.2",
53
- "@types/history": "4.7.8",
54
- "@types/styled-components": "5.1.11",
55
- "@types/styled-system": "5.1.12",
56
- "@types/styled-system__css": "5.0.16",
57
- "@types/styled-system__theme-get": "5.0.1",
58
53
  "classnames": "2.3.1",
59
54
  "color2k": "1.2.4",
55
+ "date-fns": "2.25.0",
60
56
  "deepmerge": "4.2.2",
61
57
  "focus-visible": "5.2.0",
62
58
  "styled-system": "5.1.5"
@@ -76,15 +72,20 @@
76
72
  "@rollup/plugin-commonjs": "19.0.2",
77
73
  "@rollup/plugin-node-resolve": "13.0.5",
78
74
  "@size-limit/preset-big-lib": "5.0.2",
79
- "@storybook/addon-a11y": "6.3.12",
80
- "@storybook/addon-actions": "^6.3.12",
81
- "@storybook/addon-essentials": "6.3.12",
82
- "@storybook/addon-links": "^6.3.12",
83
- "@storybook/react": "6.3.12",
75
+ "@storybook/addon-a11y": "6.3.4",
76
+ "@storybook/addon-actions": "^6.2.9",
77
+ "@storybook/addon-essentials": "6.2.9",
78
+ "@storybook/addon-links": "^6.2.9",
79
+ "@storybook/react": "6.3.8",
84
80
  "@testing-library/dom": "7.31.2",
85
81
  "@testing-library/react": "11.2.7",
86
82
  "@testing-library/react-hooks": "7.0.2",
87
83
  "@testing-library/user-event": "13.1.9",
84
+ "@types/history": "4.7.9",
85
+ "@types/styled-components": "5.1.15",
86
+ "@types/styled-system": "5.1.13",
87
+ "@types/styled-system__css": "5.0.16",
88
+ "@types/styled-system__theme-get": "5.0.1",
88
89
  "@types/chroma-js": "2.1.3",
89
90
  "@types/enzyme": "3.10.9",
90
91
  "@types/jest": "26.0.23",