@primer/components 0.0.0-2021111193153 → 0.0.0-202111121740

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 (171) hide show
  1. package/CHANGELOG.md +2 -12
  2. package/dist/browser.esm.js +605 -587
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +222 -204
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList2/Divider.d.ts +2 -3
  7. package/lib/ActionList2/Divider.js +5 -10
  8. package/lib/ActionList2/Item.js +5 -21
  9. package/lib/ActionList2/List.js +1 -11
  10. package/lib/ActionList2/Selection.js +0 -11
  11. package/lib/ActionList2/index.d.ts +2 -1
  12. package/lib/Autocomplete/AutocompleteMenu.js +6 -13
  13. package/lib/Avatar.d.ts +2 -1
  14. package/lib/Avatar.js +1 -1
  15. package/lib/BranchName.d.ts +2 -1
  16. package/lib/BranchName.js +1 -1
  17. package/lib/Checkbox.d.ts +1 -1
  18. package/lib/CheckboxInputField.d.ts +11 -0
  19. package/lib/CheckboxInputField.js +73 -0
  20. package/lib/ChoiceFieldset/ChoiceFieldCaption.d.ts +3 -0
  21. package/lib/ChoiceFieldset/ChoiceFieldCaption.js +35 -0
  22. package/lib/ChoiceFieldset/ChoiceFieldLabel.d.ts +3 -0
  23. package/lib/ChoiceFieldset/ChoiceFieldLabel.js +35 -0
  24. package/lib/ChoiceFieldset/ChoiceFieldset.d.ts +63 -0
  25. package/lib/ChoiceFieldset/ChoiceFieldset.js +95 -0
  26. package/lib/ChoiceFieldset/ChoiceFieldsetDescription.d.ts +3 -0
  27. package/lib/ChoiceFieldset/ChoiceFieldsetDescription.js +29 -0
  28. package/lib/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +6 -0
  29. package/lib/ChoiceFieldset/ChoiceFieldsetLegend.js +44 -0
  30. package/lib/ChoiceFieldset/ChoiceFieldsetList.d.ts +6 -0
  31. package/lib/ChoiceFieldset/ChoiceFieldsetList.js +80 -0
  32. package/lib/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +18 -0
  33. package/lib/ChoiceFieldset/ChoiceFieldsetListContext.js +15 -0
  34. package/lib/ChoiceFieldset/ChoiceFieldsetListItem.d.ts +25 -0
  35. package/lib/ChoiceFieldset/ChoiceFieldsetListItem.js +74 -0
  36. package/lib/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +6 -0
  37. package/lib/ChoiceFieldset/ChoiceFieldsetValidation.js +17 -0
  38. package/lib/ChoiceFieldset/index.d.ts +3 -0
  39. package/lib/ChoiceFieldset/index.js +23 -0
  40. package/lib/Details.d.ts +2 -1
  41. package/lib/Details.js +3 -1
  42. package/lib/Dropdown.d.ts +66 -2
  43. package/lib/Heading.d.ts +2 -1
  44. package/lib/Heading.js +6 -1
  45. package/lib/ProgressBar.d.ts +11 -16
  46. package/lib/ProgressBar.js +10 -6
  47. package/lib/RadioInputField.d.ts +9 -0
  48. package/lib/RadioInputField.js +82 -0
  49. package/lib/Spinner.d.ts +2 -1
  50. package/lib/Spinner.js +3 -1
  51. package/lib/TextInputField.d.ts +581 -0
  52. package/lib/TextInputField.js +66 -0
  53. package/lib/_InputCaption.d.ts +13 -0
  54. package/lib/_InputCaption.js +27 -0
  55. package/lib/_InputField/InputField.d.ts +39 -0
  56. package/lib/_InputField/InputField.js +90 -0
  57. package/lib/_InputField/InputFieldCaption.d.ts +3 -0
  58. package/lib/_InputField/InputFieldCaption.js +30 -0
  59. package/lib/_InputField/InputFieldLabel.d.ts +9 -0
  60. package/lib/_InputField/InputFieldLabel.js +34 -0
  61. package/lib/_InputField/InputFieldValidation.d.ts +6 -0
  62. package/lib/{ActionList2/MenuContext.js → _InputField/InputFieldValidation.js} +6 -4
  63. package/lib/_InputField/ToggleInputField.d.ts +13 -0
  64. package/lib/_InputField/ToggleInputField.js +71 -0
  65. package/lib/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
  66. package/lib/_InputField/ToggleInputLeadingVisual.js +22 -0
  67. package/lib/_InputField/ValidationAnimationContainer.d.ts +6 -0
  68. package/lib/_InputField/ValidationAnimationContainer.js +48 -0
  69. package/lib/_InputField/index.d.ts +1 -0
  70. package/lib/_InputField/index.js +15 -0
  71. package/lib/_InputField/slots.d.ts +13 -0
  72. package/lib/_InputField/slots.js +17 -0
  73. package/lib/_InputLabel.d.ts +8 -0
  74. package/lib/_InputLabel.js +44 -0
  75. package/lib/_InputValidation.d.ts +8 -0
  76. package/lib/_InputValidation.js +56 -0
  77. package/lib/_VisuallyHidden.d.ts +6 -0
  78. package/lib/_VisuallyHidden.js +39 -0
  79. package/lib/drafts.d.ts +0 -1
  80. package/lib/drafts.js +0 -13
  81. package/lib/index.d.ts +4 -0
  82. package/lib/index.js +38 -0
  83. package/lib/utils/types/FormValidationStatus.d.ts +1 -0
  84. package/lib/utils/types/FormValidationStatus.js +1 -0
  85. package/lib-esm/ActionList2/Divider.d.ts +2 -3
  86. package/lib-esm/ActionList2/Divider.js +5 -8
  87. package/lib-esm/ActionList2/Item.js +5 -19
  88. package/lib-esm/ActionList2/List.js +1 -9
  89. package/lib-esm/ActionList2/Selection.js +0 -9
  90. package/lib-esm/ActionList2/index.d.ts +2 -1
  91. package/lib-esm/Autocomplete/AutocompleteMenu.js +3 -13
  92. package/lib-esm/Avatar.d.ts +2 -1
  93. package/lib-esm/Avatar.js +2 -2
  94. package/lib-esm/BranchName.d.ts +2 -1
  95. package/lib-esm/BranchName.js +2 -2
  96. package/lib-esm/Checkbox.d.ts +1 -1
  97. package/lib-esm/CheckboxInputField.d.ts +11 -0
  98. package/lib-esm/CheckboxInputField.js +56 -0
  99. package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.d.ts +3 -0
  100. package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.js +20 -0
  101. package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.d.ts +3 -0
  102. package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.js +20 -0
  103. package/lib-esm/ChoiceFieldset/ChoiceFieldset.d.ts +63 -0
  104. package/lib-esm/ChoiceFieldset/ChoiceFieldset.js +72 -0
  105. package/lib-esm/ChoiceFieldset/ChoiceFieldsetDescription.d.ts +3 -0
  106. package/lib-esm/ChoiceFieldset/ChoiceFieldsetDescription.js +17 -0
  107. package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +6 -0
  108. package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.js +31 -0
  109. package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.d.ts +6 -0
  110. package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.js +63 -0
  111. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +18 -0
  112. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.js +5 -0
  113. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListItem.d.ts +25 -0
  114. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListItem.js +50 -0
  115. package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +6 -0
  116. package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.js +7 -0
  117. package/lib-esm/ChoiceFieldset/index.d.ts +3 -0
  118. package/lib-esm/ChoiceFieldset/index.js +2 -0
  119. package/lib-esm/Details.d.ts +2 -1
  120. package/lib-esm/Details.js +2 -1
  121. package/lib-esm/Dropdown.d.ts +66 -2
  122. package/lib-esm/Heading.d.ts +2 -1
  123. package/lib-esm/Heading.js +6 -2
  124. package/lib-esm/ProgressBar.d.ts +11 -16
  125. package/lib-esm/ProgressBar.js +11 -7
  126. package/lib-esm/RadioInputField.d.ts +9 -0
  127. package/lib-esm/RadioInputField.js +65 -0
  128. package/lib-esm/Spinner.d.ts +2 -1
  129. package/lib-esm/Spinner.js +2 -1
  130. package/lib-esm/TextInputField.d.ts +581 -0
  131. package/lib-esm/TextInputField.js +50 -0
  132. package/lib-esm/_InputCaption.d.ts +13 -0
  133. package/lib-esm/_InputCaption.js +16 -0
  134. package/lib-esm/_InputField/InputField.d.ts +39 -0
  135. package/lib-esm/_InputField/InputField.js +70 -0
  136. package/lib-esm/_InputField/InputFieldCaption.d.ts +3 -0
  137. package/lib-esm/_InputField/InputFieldCaption.js +18 -0
  138. package/lib-esm/_InputField/InputFieldLabel.d.ts +9 -0
  139. package/lib-esm/_InputField/InputFieldLabel.js +22 -0
  140. package/lib-esm/_InputField/InputFieldValidation.d.ts +6 -0
  141. package/lib-esm/_InputField/InputFieldValidation.js +7 -0
  142. package/lib-esm/_InputField/ToggleInputField.d.ts +13 -0
  143. package/lib-esm/_InputField/ToggleInputField.js +54 -0
  144. package/lib-esm/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
  145. package/lib-esm/_InputField/ToggleInputLeadingVisual.js +11 -0
  146. package/lib-esm/_InputField/ValidationAnimationContainer.d.ts +6 -0
  147. package/lib-esm/_InputField/ValidationAnimationContainer.js +33 -0
  148. package/lib-esm/_InputField/index.d.ts +1 -0
  149. package/lib-esm/_InputField/index.js +1 -0
  150. package/lib-esm/_InputField/slots.d.ts +13 -0
  151. package/lib-esm/_InputField/slots.js +5 -0
  152. package/lib-esm/_InputLabel.d.ts +8 -0
  153. package/lib-esm/_InputLabel.js +32 -0
  154. package/lib-esm/_InputValidation.d.ts +8 -0
  155. package/lib-esm/_InputValidation.js +43 -0
  156. package/lib-esm/_VisuallyHidden.d.ts +6 -0
  157. package/lib-esm/_VisuallyHidden.js +26 -0
  158. package/lib-esm/drafts.d.ts +0 -1
  159. package/lib-esm/drafts.js +1 -2
  160. package/lib-esm/index.d.ts +4 -0
  161. package/lib-esm/index.js +4 -0
  162. package/lib-esm/utils/types/FormValidationStatus.d.ts +1 -0
  163. package/lib-esm/utils/types/FormValidationStatus.js +1 -0
  164. package/package.json +2 -2
  165. package/lib/ActionList2/MenuContext.d.ts +0 -10
  166. package/lib/ActionMenu2.d.ts +0 -310
  167. package/lib/ActionMenu2.js +0 -91
  168. package/lib-esm/ActionList2/MenuContext.d.ts +0 -10
  169. package/lib-esm/ActionList2/MenuContext.js +0 -3
  170. package/lib-esm/ActionMenu2.d.ts +0 -310
  171. package/lib-esm/ActionMenu2.js +0 -67
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { SxProp } from '../sx';
1
+ /// <reference types="react" />
3
2
  /**
4
3
  * Visually separates `Item`s or `Group`s in an `ActionList`.
5
4
  */
6
- export declare const Divider: React.FC<SxProp>;
5
+ export declare function Divider(): JSX.Element;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Divider = void 0;
6
+ exports.Divider = Divider;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -11,30 +11,25 @@ var _Box = _interopRequireDefault(require("../Box"));
11
11
 
12
12
  var _constants = require("../constants");
13
13
 
14
- var _sx = require("../sx");
15
-
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
15
 
18
16
  /**
19
17
  * Visually separates `Item`s or `Group`s in an `ActionList`.
20
18
  */
21
- const Divider = ({
22
- sx = {}
23
- }) => {
19
+ function Divider() {
24
20
  return /*#__PURE__*/_react.default.createElement(_Box.default, {
25
21
  as: "li",
26
22
  role: "separator",
27
- sx: (0, _sx.merge)({
23
+ sx: {
28
24
  height: 1,
29
25
  backgroundColor: 'actionListItem.inlineDivider',
30
26
  marginTop: theme => `calc(${(0, _constants.get)('space.2')(theme)} - 1px)`,
31
27
  marginBottom: 2,
32
28
  listStyle: 'none' // hide the ::marker inserted by browser's stylesheet
33
29
 
34
- }, sx),
30
+ },
35
31
  "data-component": "ActionList.Divider"
36
32
  });
37
- };
33
+ }
38
34
 
39
- exports.Divider = Divider;
40
35
  Divider.displayName = "Divider";
@@ -21,8 +21,6 @@ var _createSlots = _interopRequireDefault(require("../utils/create-slots"));
21
21
 
22
22
  var _List = require("./List");
23
23
 
24
- var _MenuContext = require("./MenuContext");
25
-
26
24
  var _Selection = require("./Selection");
27
25
 
28
26
  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); }
@@ -84,7 +82,6 @@ const Item = /*#__PURE__*/_react.default.forwardRef(({
84
82
  onSelect,
85
83
  sx: sxProp = {},
86
84
  id,
87
- role,
88
85
  _PrivateItemWrapper,
89
86
  ...props
90
87
  }, forwardedRef) => {
@@ -93,11 +90,6 @@ const Item = /*#__PURE__*/_react.default.forwardRef(({
93
90
  showDividers
94
91
  } = _react.default.useContext(_List.ListContext);
95
92
 
96
- const {
97
- itemRole,
98
- afterSelect
99
- } = _react.default.useContext(_MenuContext.MenuContext);
100
-
101
93
  const {
102
94
  theme
103
95
  } = (0, _ThemeProvider.useTheme)();
@@ -173,24 +165,17 @@ const Item = /*#__PURE__*/_react.default.forwardRef(({
173
165
  const clickHandler = _react.default.useCallback(event => {
174
166
  if (typeof onSelect !== 'function') return;
175
167
  if (disabled) return;
176
-
177
- if (!event.defaultPrevented) {
178
- onSelect(event); // if this Item is inside a Menu, close the Menu
179
-
180
- if (typeof afterSelect === 'function') afterSelect();
181
- }
182
- }, [onSelect, disabled, afterSelect]);
168
+ if (!event.defaultPrevented) onSelect(event);
169
+ }, [onSelect, disabled]);
183
170
 
184
171
  const keyPressHandler = _react.default.useCallback(event => {
185
172
  if (typeof onSelect !== 'function') return;
186
173
  if (disabled) return;
187
174
 
188
175
  if (!event.defaultPrevented && [' ', 'Enter'].includes(event.key)) {
189
- onSelect(event); // if this Item is inside a Menu, close the Menu
190
-
191
- if (typeof afterSelect === 'function') afterSelect();
176
+ onSelect(event);
192
177
  }
193
- }, [onSelect, disabled, afterSelect]); // use props.id if provided, otherwise generate one.
178
+ }, [onSelect, disabled]); // use props.id if provided, otherwise generate one.
194
179
 
195
180
 
196
181
  const labelId = (0, _ssr.useSSRSafeId)(id);
@@ -213,8 +198,7 @@ const Item = /*#__PURE__*/_react.default.forwardRef(({
213
198
  "aria-disabled": disabled ? true : undefined,
214
199
  tabIndex: disabled || _PrivateItemWrapper ? undefined : 0,
215
200
  "aria-labelledby": `${labelId} ${slots.InlineDescription ? inlineDescriptionId : ''}`,
216
- "aria-describedby": slots.BlockDescription ? blockDescriptionId : undefined,
217
- role: role || itemRole
201
+ "aria-describedby": slots.BlockDescription ? blockDescriptionId : undefined
218
202
  }, props), /*#__PURE__*/_react.default.createElement(ItemWrapper, null, /*#__PURE__*/_react.default.createElement(_Selection.Selection, {
219
203
  selected: selected
220
204
  }), slots.LeadingVisual, /*#__PURE__*/_react.default.createElement(_Box.default, {
@@ -11,8 +11,6 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
11
 
12
12
  var _sx = _interopRequireWildcard(require("../sx"));
13
13
 
14
- var _MenuContext = require("./MenuContext");
15
-
16
14
  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); }
17
15
 
18
16
  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; }
@@ -34,7 +32,6 @@ const List = /*#__PURE__*/_react.default.forwardRef(({
34
32
  variant = 'inset',
35
33
  selectionVariant,
36
34
  showDividers = false,
37
- role,
38
35
  sx: sxProp = {},
39
36
  ...props
40
37
  }, forwardedRef) => {
@@ -44,15 +41,8 @@ const List = /*#__PURE__*/_react.default.forwardRef(({
44
41
  // reset ul styles
45
42
  paddingY: variant === 'inset' ? 2 : 0
46
43
  };
47
- /** if list is inside a Menu, it will get a role from the Menu */
48
-
49
- const {
50
- listRole
51
- } = _react.default.useContext(_MenuContext.MenuContext);
52
-
53
44
  return /*#__PURE__*/_react.default.createElement(ListBox, _extends({
54
- sx: (0, _sx.merge)(styles, sxProp),
55
- role: role || listRole
45
+ sx: (0, _sx.merge)(styles, sxProp)
56
46
  }, props, {
57
47
  ref: forwardedRef
58
48
  }), /*#__PURE__*/_react.default.createElement(ListContext.Provider, {
@@ -13,8 +13,6 @@ var _List = require("./List");
13
13
 
14
14
  var _Group = require("./Group");
15
15
 
16
- var _MenuContext = require("./MenuContext");
17
-
18
16
  var _Visuals = require("./Visuals");
19
17
 
20
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -29,10 +27,6 @@ const Selection = ({
29
27
  const {
30
28
  selectionVariant: groupSelectionVariant
31
29
  } = _react.default.useContext(_Group.GroupContext);
32
-
33
- const {
34
- parent
35
- } = _react.default.useContext(_MenuContext.MenuContext);
36
30
  /** selectionVariant in Group can override the selectionVariant in List root */
37
31
 
38
32
 
@@ -44,11 +38,6 @@ const Selection = ({
44
38
  return null;
45
39
  }
46
40
 
47
- if (parent === 'ActionMenu') {
48
- throw new Error('ActionList cannot have a selectionVariant inside ActionMenu, please use DropdownMenu or SelectPanel instead. More information: https://primer.style/design/components/action-list#application');
49
- return null;
50
- }
51
-
52
41
  if (selectionVariant === 'single') {
53
42
  return /*#__PURE__*/_react.default.createElement(_Visuals.LeadingVisualContainer, null, selected && /*#__PURE__*/_react.default.createElement(_octiconsReact.CheckIcon, null));
54
43
  }
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { Divider } from './Divider';
2
3
  export type { ListProps as ActionListProps } from './List';
3
4
  export type { GroupProps } from './Group';
4
5
  export type { ItemProps } from './Item';
@@ -25,7 +26,7 @@ export declare const ActionList: import("@radix-ui/react-polymorphic").ForwardRe
25
26
  referrerPolicy?: import("react").HTMLAttributeReferrerPolicy | undefined;
26
27
  }>;
27
28
  /** Visually separates `Item`s or `Group`s in an `ActionList`. */
28
- Divider: import("react").FC<import("../sx").SxProp>;
29
+ Divider: typeof Divider;
29
30
  /** Secondary text which provides additional information about an `Item`. */
30
31
  Description: import("react").FC<import("./Description").DescriptionProps>;
31
32
  /** Icon (or similar) positioned before `Item` text. */
@@ -21,6 +21,10 @@ var _uniqueId = require("../utils/uniqueId");
21
21
 
22
22
  var _scrollIntoViewingArea = require("../behaviors/scrollIntoViewingArea");
23
23
 
24
+ var _VisuallyHidden = _interopRequireDefault(require("../_VisuallyHidden"));
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
24
28
  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); }
25
29
 
26
30
  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; }
@@ -182,19 +186,8 @@ function AutocompleteMenu(props) {
182
186
  setSelectedItemLength(selectedItemIds.length);
183
187
  }
184
188
  }, [selectedItemIds, setSelectedItemLength]);
185
- return /*#__PURE__*/_react.default.createElement(_.Box, {
186
- sx: !showMenu ? {
187
- // visually hides this label for sighted users
188
- position: 'absolute',
189
- width: '1px',
190
- height: '1px',
191
- padding: '0',
192
- margin: '-1px',
193
- overflow: 'hidden',
194
- clip: 'rect(0, 0, 0, 0)',
195
- whiteSpace: 'nowrap',
196
- borderWidth: '0'
197
- } : {}
189
+ return /*#__PURE__*/_react.default.createElement(_VisuallyHidden.default, {
190
+ isVisible: showMenu
198
191
  }, loading ? /*#__PURE__*/_react.default.createElement(_.Box, {
199
192
  p: 3,
200
193
  display: "flex",
package/lib/Avatar.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { SystemCommonProps } from './constants';
1
2
  import { SxProp } from './sx';
2
3
  import { ComponentProps } from './utils/types';
3
4
  declare const Avatar: import("styled-components").StyledComponent<"img", any, {
@@ -9,6 +10,6 @@ declare const Avatar: import("styled-components").StyledComponent<"img", any, {
9
10
  src: string;
10
11
  /** Provide alt text when the Avatar is used without the user's name next to it. */
11
12
  alt?: string | undefined;
12
- } & SxProp, never>;
13
+ } & SystemCommonProps & SxProp, never>;
13
14
  export declare type AvatarProps = ComponentProps<typeof Avatar>;
14
15
  export default Avatar;
package/lib/Avatar.js CHANGED
@@ -30,7 +30,7 @@ const Avatar = _styledComponents.default.img.attrs(props => ({
30
30
  })).withConfig({
31
31
  displayName: "Avatar",
32
32
  componentId: "sc-1waaaky-0"
33
- })(["display:inline-block;overflow:hidden;line-height:", ";vertical-align:middle;border-radius:", ";", ""], (0, _constants.get)('lineHeights.condensedUltra'), props => getBorderRadius(props), _sx.default);
33
+ })(["display:inline-block;overflow:hidden;line-height:", ";vertical-align:middle;border-radius:", ";", ";", ""], (0, _constants.get)('lineHeights.condensedUltra'), props => getBorderRadius(props), _constants.COMMON, _sx.default);
34
34
 
35
35
  Avatar.defaultProps = {
36
36
  size: 20,
@@ -1,5 +1,6 @@
1
+ import { SystemCommonProps } from './constants';
1
2
  import { SxProp } from './sx';
2
3
  import { ComponentProps } from './utils/types';
3
- declare const BranchName: import("styled-components").StyledComponent<"a", any, SxProp, never>;
4
+ declare const BranchName: import("styled-components").StyledComponent<"a", any, SystemCommonProps & SxProp, never>;
4
5
  export declare type BranchNameProps = ComponentProps<typeof BranchName>;
5
6
  export default BranchName;
package/lib/BranchName.js CHANGED
@@ -16,7 +16,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
16
16
  const BranchName = _styledComponents.default.a.withConfig({
17
17
  displayName: "BranchName",
18
18
  componentId: "sc-167ouzm-0"
19
- })(["display:inline-block;padding:2px 6px;font-size:", ";font-family:", ";color:", ";background-color:", ";border-radius:", ";", ";"], (0, _constants.get)('fontSizes.0'), (0, _constants.get)('fonts.mono'), (0, _constants.get)('colors.fg.muted'), (0, _constants.get)('colors.accent.subtle'), (0, _constants.get)('radii.2'), _sx.default);
19
+ })(["display:inline-block;padding:2px 6px;font-size:", ";font-family:", ";color:", ";background-color:", ";border-radius:", ";", ";", ";"], (0, _constants.get)('fontSizes.0'), (0, _constants.get)('fonts.mono'), (0, _constants.get)('colors.fg.muted'), (0, _constants.get)('colors.accent.subtle'), (0, _constants.get)('radii.2'), _constants.COMMON, _sx.default);
20
20
 
21
21
  var _default = BranchName;
22
22
  exports.default = _default;
package/lib/Checkbox.d.ts CHANGED
@@ -25,5 +25,5 @@ export declare type CheckboxProps = {
25
25
  /**
26
26
  * An accessible, native checkbox component
27
27
  */
28
- declare const Checkbox: React.ForwardRefExoticComponent<Pick<CheckboxProps, "sx" | keyof React.InputHTMLAttributes<HTMLInputElement> | "indeterminate" | "validationStatus"> & React.RefAttributes<HTMLInputElement>>;
28
+ declare const Checkbox: React.ForwardRefExoticComponent<Pick<CheckboxProps, "sx" | keyof React.InputHTMLAttributes<HTMLInputElement> | "validationStatus" | "indeterminate"> & React.RefAttributes<HTMLInputElement>>;
29
29
  export default Checkbox;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { ToggleInputFieldProps } from './_InputField/ToggleInputField';
3
+ declare const _default: React.FC<ToggleInputFieldProps> & {
4
+ Input: React.FC<React.HTMLProps<HTMLInputElement> & {
5
+ ref?: React.Ref<HTMLInputElement> | undefined;
6
+ }>;
7
+ Caption: React.FC<{}>;
8
+ Label: React.FC<import("./_InputField/InputFieldLabel").Props>;
9
+ LeadingVisual: React.FC<{}>;
10
+ };
11
+ export default _default;
@@ -0,0 +1,73 @@
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 _ = require(".");
11
+
12
+ var _InputField = _interopRequireDefault(require("./_InputField/InputField"));
13
+
14
+ var _slots = require("./_InputField/slots");
15
+
16
+ var _ToggleInputField = _interopRequireDefault(require("./_InputField/ToggleInputField"));
17
+
18
+ var _ToggleInputLeadingVisual = _interopRequireDefault(require("./_InputField/ToggleInputLeadingVisual"));
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 Input = ({
25
+ id: idProp,
26
+ required: requiredProp,
27
+ disabled: disabledProp,
28
+ ...rest
29
+ }) => {
30
+ if (idProp) {
31
+ // eslint-disable-next-line no-console
32
+ console.warn("instead of passing the 'id' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
33
+ }
34
+
35
+ if (disabledProp) {
36
+ // eslint-disable-next-line no-console
37
+ console.warn("instead of passing the 'disabled' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
38
+ }
39
+
40
+ if (requiredProp) {
41
+ // eslint-disable-next-line no-console
42
+ console.warn("instead of passing the 'required' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
43
+ }
44
+
45
+ return /*#__PURE__*/_react.default.createElement(_slots.Slot, {
46
+ name: "Input"
47
+ }, ({
48
+ disabled,
49
+ id,
50
+ required,
51
+ captionId
52
+ }) => /*#__PURE__*/_react.default.createElement(_.Checkbox, _extends({
53
+ "aria-describedby": captionId,
54
+ id: id,
55
+ required: required,
56
+ disabled: disabled
57
+ }, rest)));
58
+ };
59
+
60
+ Input.displayName = "Input";
61
+
62
+ const CheckboxInputField = props => /*#__PURE__*/_react.default.createElement(_ToggleInputField.default, props);
63
+
64
+ CheckboxInputField.displayName = "CheckboxInputField";
65
+
66
+ var _default = Object.assign(CheckboxInputField, {
67
+ Input,
68
+ Caption: _InputField.default.Caption,
69
+ Label: _InputField.default.Label,
70
+ LeadingVisual: _ToggleInputLeadingVisual.default
71
+ });
72
+
73
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ChoiceFieldCaption: React.FC;
3
+ export default ChoiceFieldCaption;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _ChoiceFieldsetListContext = _interopRequireDefault(require("./ChoiceFieldsetListContext"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ 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); }
15
+
16
+ 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; }
17
+
18
+ const ChoiceFieldCaption = ({
19
+ children
20
+ }) => {
21
+ const choiceFieldsetListContext = (0, _react.useContext)(_ChoiceFieldsetListContext.default);
22
+
23
+ if (choiceFieldsetListContext === null) {
24
+ throw new Error('ChoiceFieldsetListContext returned null');
25
+ }
26
+
27
+ const {
28
+ fieldComponent: FieldComponent
29
+ } = choiceFieldsetListContext;
30
+ return /*#__PURE__*/_react.default.createElement(FieldComponent.Caption, null, children);
31
+ };
32
+
33
+ ChoiceFieldCaption.displayName = "ChoiceFieldCaption";
34
+ var _default = ChoiceFieldCaption;
35
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ChoiceFieldLabel: React.FC;
3
+ export default ChoiceFieldLabel;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _ChoiceFieldsetListContext = _interopRequireDefault(require("./ChoiceFieldsetListContext"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ 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); }
15
+
16
+ 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; }
17
+
18
+ const ChoiceFieldLabel = ({
19
+ children
20
+ }) => {
21
+ const choiceFieldsetListContext = (0, _react.useContext)(_ChoiceFieldsetListContext.default);
22
+
23
+ if (choiceFieldsetListContext === null) {
24
+ throw new Error('ChoiceFieldsetListContext returned null');
25
+ }
26
+
27
+ const {
28
+ fieldComponent: FieldComponent
29
+ } = choiceFieldsetListContext;
30
+ return /*#__PURE__*/_react.default.createElement(FieldComponent.Label, null, children);
31
+ };
32
+
33
+ ChoiceFieldLabel.displayName = "ChoiceFieldLabel";
34
+ var _default = ChoiceFieldLabel;
35
+ exports.default = _default;
@@ -0,0 +1,63 @@
1
+ import React, { ComponentProps } from 'react';
2
+ import { FormValidationStatus } from '../utils/types/FormValidationStatus';
3
+ export interface ChoiceFieldsetProps<T = Record<string, FormValidationStatus>> {
4
+ children?: React.ReactNode;
5
+ /**
6
+ * Whether the fieldset is ready for user input
7
+ */
8
+ disabled?: boolean;
9
+ /**
10
+ * The unique identifier for this fieldset. Used to associate the validation text and caption text with the fieldset
11
+ */
12
+ id?: string;
13
+ /**
14
+ * The unique identifier used to associate the inputs with eachother
15
+ */
16
+ name?: string;
17
+ /**
18
+ * The callback that is called when a user toggles a choice on or off
19
+ */
20
+ onSelect?: (selectedValues?: string[]) => void;
21
+ /**
22
+ * The selected values
23
+ */
24
+ selected?: string[];
25
+ /**
26
+ * Whether this field must have a value for the user to complete their task
27
+ */
28
+ required?: boolean;
29
+ /**
30
+ * A map of validation statuses and their associated validation keys. When one of the validation keys is passed to the `validationResult` prop,
31
+ * the associated validation message will be rendered in the correct style
32
+ */
33
+ validationMap?: T;
34
+ /**
35
+ * The key of the validation message to show
36
+ */
37
+ validationResult?: keyof T;
38
+ }
39
+ export interface ChoiceFieldsetContext extends ChoiceFieldsetProps {
40
+ validationMessageId: string;
41
+ }
42
+ declare const Slot: React.FC<{
43
+ name: "Description" | "ChoiceList" | "Legend" | "Validation";
44
+ children: React.ReactNode;
45
+ }>;
46
+ export { Slot };
47
+ declare const ChoiceFieldset: <T extends Record<string, FormValidationStatus>>({ children, disabled, id, name, onSelect, required, selected, validationMap, validationResult }: ChoiceFieldsetProps<T>) => JSX.Element;
48
+ export declare type InputFieldComponentProps = ComponentProps<typeof ChoiceFieldset>;
49
+ export type { ChoiceFieldsetListProps } from './ChoiceFieldsetList';
50
+ export type { ChoiceFieldsetLegendProps } from './ChoiceFieldsetLegend';
51
+ export type { ChoiceFieldProps } from './ChoiceFieldsetListItem';
52
+ declare const _default: (<T extends Record<string, FormValidationStatus>>({ children, disabled, id, name, onSelect, required, selected, validationMap, validationResult }: ChoiceFieldsetProps<T>) => JSX.Element) & {
53
+ Description: React.FC<{}>;
54
+ Item: React.FC<import("./ChoiceFieldsetListItem").ChoiceFieldProps> & {
55
+ Caption: React.FC<{}>;
56
+ Label: React.FC<{}>;
57
+ LeadingVisual: React.FC<{}>;
58
+ };
59
+ Legend: React.FC<import("./ChoiceFieldsetLegend").ChoiceFieldsetLegendProps>;
60
+ List: React.FC<import("./ChoiceFieldsetList").ChoiceFieldsetListProps>;
61
+ Validation: React.FC<import("./ChoiceFieldsetValidation").ChoiceFieldsetValidationProps>;
62
+ };
63
+ export default _default;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.Slot = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _ = require("..");
11
+
12
+ var _createSlots = _interopRequireDefault(require("../utils/create-slots"));
13
+
14
+ var _uniqueId = require("../utils/uniqueId");
15
+
16
+ var _ValidationAnimationContainer = _interopRequireDefault(require("../_InputField/ValidationAnimationContainer"));
17
+
18
+ var _InputValidation = _interopRequireDefault(require("../_InputValidation"));
19
+
20
+ var _ChoiceFieldsetListItem = _interopRequireDefault(require("./ChoiceFieldsetListItem"));
21
+
22
+ var _ChoiceFieldsetDescription = _interopRequireDefault(require("./ChoiceFieldsetDescription"));
23
+
24
+ var _ChoiceFieldsetLegend = _interopRequireDefault(require("./ChoiceFieldsetLegend"));
25
+
26
+ var _ChoiceFieldsetList = _interopRequireDefault(require("./ChoiceFieldsetList"));
27
+
28
+ var _ChoiceFieldsetValidation = _interopRequireDefault(require("./ChoiceFieldsetValidation"));
29
+
30
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
+
32
+ const {
33
+ Slots,
34
+ Slot
35
+ } = (0, _createSlots.default)(['Description', 'ChoiceList', 'Legend', 'Validation']);
36
+ exports.Slot = Slot;
37
+
38
+ const ChoiceFieldset = ({
39
+ children,
40
+ disabled,
41
+ id,
42
+ name,
43
+ onSelect,
44
+ required,
45
+ selected,
46
+ validationMap,
47
+ validationResult
48
+ }) => {
49
+ var _React$Children$map;
50
+
51
+ const fieldsetId = id || (0, _uniqueId.uniqueId)();
52
+ const validationChildren = (_React$Children$map = _react.default.Children.map(children, child => /*#__PURE__*/_react.default.isValidElement(child) && child.type === _ChoiceFieldsetValidation.default ? child : null)) === null || _React$Children$map === void 0 ? void 0 : _React$Children$map.filter(Boolean);
53
+ const validationChildToRender = validationChildren === null || validationChildren === void 0 ? void 0 : validationChildren.find(child => child.props.validationKey === validationResult);
54
+ const validationMessageId = validationChildToRender ? `${fieldsetId}-validationMsg` : undefined;
55
+ return /*#__PURE__*/_react.default.createElement(Slots, {
56
+ context: {
57
+ disabled,
58
+ name,
59
+ onSelect,
60
+ required,
61
+ selected,
62
+ validationMessageId
63
+ }
64
+ }, slots => {
65
+ const isLegendVisible = /*#__PURE__*/_react.default.isValidElement(slots.Legend) && slots.Legend.props.isVisible;
66
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_.Box, {
67
+ as: "fieldset",
68
+ border: "none",
69
+ margin: 0,
70
+ padding: 0,
71
+ "aria-describedby": [validationMessageId].filter(Boolean).join(' ')
72
+ }, _react.default.Children.toArray(children).filter(child => /*#__PURE__*/_react.default.isValidElement(child) && child.type !== _ChoiceFieldsetValidation.default), /*#__PURE__*/_react.default.createElement(_.Box, {
73
+ mb: isLegendVisible ? 3 : undefined
74
+ }, slots.Legend, slots.Description), slots.ChoiceList), validationChildToRender && /*#__PURE__*/_react.default.createElement(_.Box, {
75
+ mt: 3
76
+ }, validationMap && validationResult && validationMessageId && /*#__PURE__*/_react.default.createElement(_ValidationAnimationContainer.default, {
77
+ show: true
78
+ }, /*#__PURE__*/_react.default.createElement(_InputValidation.default, {
79
+ validationStatus: validationMap[validationResult],
80
+ id: validationMessageId
81
+ }, validationChildToRender))));
82
+ });
83
+ };
84
+
85
+ ChoiceFieldset.displayName = "ChoiceFieldset";
86
+
87
+ var _default = Object.assign(ChoiceFieldset, {
88
+ Description: _ChoiceFieldsetDescription.default,
89
+ Item: _ChoiceFieldsetListItem.default,
90
+ Legend: _ChoiceFieldsetLegend.default,
91
+ List: _ChoiceFieldsetList.default,
92
+ Validation: _ChoiceFieldsetValidation.default
93
+ });
94
+
95
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ChoiceFieldsetDescription: React.FC;
3
+ export default ChoiceFieldsetDescription;
@@ -0,0 +1,29 @@
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 _ = require("..");
11
+
12
+ var _ChoiceFieldset = require("./ChoiceFieldset");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ const ChoiceFieldsetDescription = ({
17
+ children
18
+ }) => /*#__PURE__*/_react.default.createElement(_ChoiceFieldset.Slot, {
19
+ name: "Description"
20
+ }, ({
21
+ disabled
22
+ }) => /*#__PURE__*/_react.default.createElement(_.Text, {
23
+ color: disabled ? 'fg.muted' : 'fg.default',
24
+ fontSize: 1
25
+ }, children));
26
+
27
+ ChoiceFieldsetDescription.displayName = "ChoiceFieldsetDescription";
28
+ var _default = ChoiceFieldsetDescription;
29
+ exports.default = _default;