@primer/components 0.0.0-2021116181214 → 0.0.0-2021116201150

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 (143) hide show
  1. package/dist/browser.esm.js +2 -2
  2. package/dist/browser.esm.js.map +1 -1
  3. package/dist/browser.umd.js +2 -2
  4. package/dist/browser.umd.js.map +1 -1
  5. package/lib/ActionList2/Item.js +6 -4
  6. package/lib/ActionList2/List.js +2 -2
  7. package/lib/ActionList2/{ActionListContainerContext.d.ts → MenuContext.d.ts} +3 -3
  8. package/lib/ActionList2/{ActionListContainerContext.js → MenuContext.js} +3 -3
  9. package/lib/ActionList2/Selection.js +4 -4
  10. package/lib/ActionMenu2.d.ts +9 -13
  11. package/lib/ActionMenu2.js +29 -63
  12. package/lib/Autocomplete/AutocompleteMenu.js +13 -6
  13. package/lib/Checkbox.d.ts +1 -1
  14. package/lib/hooks/index.d.ts +0 -1
  15. package/lib/hooks/index.js +1 -9
  16. package/lib/index.d.ts +0 -6
  17. package/lib/index.js +0 -46
  18. package/lib-esm/ActionList2/Item.js +6 -4
  19. package/lib-esm/ActionList2/List.js +2 -2
  20. package/lib-esm/ActionList2/{ActionListContainerContext.d.ts → MenuContext.d.ts} +3 -3
  21. package/lib-esm/ActionList2/{ActionListContainerContext.js → MenuContext.js} +1 -1
  22. package/lib-esm/ActionList2/Selection.js +4 -4
  23. package/lib-esm/ActionMenu2.d.ts +9 -13
  24. package/lib-esm/ActionMenu2.js +27 -60
  25. package/lib-esm/Autocomplete/AutocompleteMenu.js +13 -3
  26. package/lib-esm/Checkbox.d.ts +1 -1
  27. package/lib-esm/hooks/index.d.ts +0 -1
  28. package/lib-esm/hooks/index.js +1 -2
  29. package/lib-esm/index.d.ts +0 -6
  30. package/lib-esm/index.js +0 -5
  31. package/package.json +2 -2
  32. package/lib/CheckboxInputField.d.ts +0 -11
  33. package/lib/CheckboxInputField.js +0 -73
  34. package/lib/ChoiceFieldset/ChoiceFieldCaption.d.ts +0 -3
  35. package/lib/ChoiceFieldset/ChoiceFieldCaption.js +0 -35
  36. package/lib/ChoiceFieldset/ChoiceFieldLabel.d.ts +0 -3
  37. package/lib/ChoiceFieldset/ChoiceFieldLabel.js +0 -35
  38. package/lib/ChoiceFieldset/ChoiceFieldset.d.ts +0 -65
  39. package/lib/ChoiceFieldset/ChoiceFieldset.js +0 -95
  40. package/lib/ChoiceFieldset/ChoiceFieldsetDescription.d.ts +0 -3
  41. package/lib/ChoiceFieldset/ChoiceFieldsetDescription.js +0 -29
  42. package/lib/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +0 -9
  43. package/lib/ChoiceFieldset/ChoiceFieldsetLegend.js +0 -44
  44. package/lib/ChoiceFieldset/ChoiceFieldsetList.d.ts +0 -9
  45. package/lib/ChoiceFieldset/ChoiceFieldsetList.js +0 -69
  46. package/lib/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +0 -19
  47. package/lib/ChoiceFieldset/ChoiceFieldsetListContext.js +0 -15
  48. package/lib/ChoiceFieldset/ChoiceFieldsetListItem.d.ts +0 -25
  49. package/lib/ChoiceFieldset/ChoiceFieldsetListItem.js +0 -75
  50. package/lib/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +0 -6
  51. package/lib/ChoiceFieldset/ChoiceFieldsetValidation.js +0 -17
  52. package/lib/ChoiceFieldset/index.d.ts +0 -3
  53. package/lib/ChoiceFieldset/index.js +0 -23
  54. package/lib/Radio.d.ts +0 -38
  55. package/lib/Radio.js +0 -55
  56. package/lib/RadioInputField.d.ts +0 -10
  57. package/lib/RadioInputField.js +0 -74
  58. package/lib/TextInputField.d.ts +0 -583
  59. package/lib/TextInputField.js +0 -66
  60. package/lib/_InputCaption.d.ts +0 -13
  61. package/lib/_InputCaption.js +0 -27
  62. package/lib/_InputField/InputField.d.ts +0 -39
  63. package/lib/_InputField/InputField.js +0 -90
  64. package/lib/_InputField/InputFieldCaption.d.ts +0 -3
  65. package/lib/_InputField/InputFieldCaption.js +0 -30
  66. package/lib/_InputField/InputFieldLabel.d.ts +0 -9
  67. package/lib/_InputField/InputFieldLabel.js +0 -34
  68. package/lib/_InputField/InputFieldValidation.d.ts +0 -6
  69. package/lib/_InputField/InputFieldValidation.js +0 -17
  70. package/lib/_InputField/ToggleInputField.d.ts +0 -13
  71. package/lib/_InputField/ToggleInputField.js +0 -71
  72. package/lib/_InputField/ToggleInputLeadingVisual.d.ts +0 -3
  73. package/lib/_InputField/ToggleInputLeadingVisual.js +0 -22
  74. package/lib/_InputField/ValidationAnimationContainer.d.ts +0 -6
  75. package/lib/_InputField/ValidationAnimationContainer.js +0 -48
  76. package/lib/_InputField/index.d.ts +0 -1
  77. package/lib/_InputField/index.js +0 -15
  78. package/lib/_InputField/slots.d.ts +0 -13
  79. package/lib/_InputField/slots.js +0 -17
  80. package/lib/_InputLabel.d.ts +0 -8
  81. package/lib/_InputLabel.js +0 -44
  82. package/lib/_InputValidation.d.ts +0 -8
  83. package/lib/_InputValidation.js +0 -56
  84. package/lib/_VisuallyHidden.d.ts +0 -6
  85. package/lib/_VisuallyHidden.js +0 -39
  86. package/lib/utils/types/FormValidationStatus.d.ts +0 -1
  87. package/lib/utils/types/FormValidationStatus.js +0 -1
  88. package/lib-esm/CheckboxInputField.d.ts +0 -11
  89. package/lib-esm/CheckboxInputField.js +0 -56
  90. package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.d.ts +0 -3
  91. package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.js +0 -20
  92. package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.d.ts +0 -3
  93. package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.js +0 -20
  94. package/lib-esm/ChoiceFieldset/ChoiceFieldset.d.ts +0 -65
  95. package/lib-esm/ChoiceFieldset/ChoiceFieldset.js +0 -72
  96. package/lib-esm/ChoiceFieldset/ChoiceFieldsetDescription.d.ts +0 -3
  97. package/lib-esm/ChoiceFieldset/ChoiceFieldsetDescription.js +0 -17
  98. package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +0 -9
  99. package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.js +0 -31
  100. package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.d.ts +0 -9
  101. package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.js +0 -52
  102. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +0 -19
  103. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.js +0 -5
  104. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListItem.d.ts +0 -25
  105. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListItem.js +0 -51
  106. package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +0 -6
  107. package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.js +0 -7
  108. package/lib-esm/ChoiceFieldset/index.d.ts +0 -3
  109. package/lib-esm/ChoiceFieldset/index.js +0 -2
  110. package/lib-esm/Radio.d.ts +0 -38
  111. package/lib-esm/Radio.js +0 -40
  112. package/lib-esm/RadioInputField.d.ts +0 -10
  113. package/lib-esm/RadioInputField.js +0 -56
  114. package/lib-esm/TextInputField.d.ts +0 -583
  115. package/lib-esm/TextInputField.js +0 -50
  116. package/lib-esm/_InputCaption.d.ts +0 -13
  117. package/lib-esm/_InputCaption.js +0 -16
  118. package/lib-esm/_InputField/InputField.d.ts +0 -39
  119. package/lib-esm/_InputField/InputField.js +0 -70
  120. package/lib-esm/_InputField/InputFieldCaption.d.ts +0 -3
  121. package/lib-esm/_InputField/InputFieldCaption.js +0 -18
  122. package/lib-esm/_InputField/InputFieldLabel.d.ts +0 -9
  123. package/lib-esm/_InputField/InputFieldLabel.js +0 -22
  124. package/lib-esm/_InputField/InputFieldValidation.d.ts +0 -6
  125. package/lib-esm/_InputField/InputFieldValidation.js +0 -7
  126. package/lib-esm/_InputField/ToggleInputField.d.ts +0 -13
  127. package/lib-esm/_InputField/ToggleInputField.js +0 -54
  128. package/lib-esm/_InputField/ToggleInputLeadingVisual.d.ts +0 -3
  129. package/lib-esm/_InputField/ToggleInputLeadingVisual.js +0 -11
  130. package/lib-esm/_InputField/ValidationAnimationContainer.d.ts +0 -6
  131. package/lib-esm/_InputField/ValidationAnimationContainer.js +0 -33
  132. package/lib-esm/_InputField/index.d.ts +0 -1
  133. package/lib-esm/_InputField/index.js +0 -1
  134. package/lib-esm/_InputField/slots.d.ts +0 -13
  135. package/lib-esm/_InputField/slots.js +0 -5
  136. package/lib-esm/_InputLabel.d.ts +0 -8
  137. package/lib-esm/_InputLabel.js +0 -32
  138. package/lib-esm/_InputValidation.d.ts +0 -8
  139. package/lib-esm/_InputValidation.js +0 -43
  140. package/lib-esm/_VisuallyHidden.d.ts +0 -6
  141. package/lib-esm/_VisuallyHidden.js +0 -26
  142. package/lib-esm/utils/types/FormValidationStatus.d.ts +0 -1
  143. package/lib-esm/utils/types/FormValidationStatus.js +0 -1
@@ -21,7 +21,7 @@ var _createSlots = _interopRequireDefault(require("../utils/create-slots"));
21
21
 
22
22
  var _List = require("./List");
23
23
 
24
- var _ActionListContainerContext = require("./ActionListContainerContext");
24
+ var _MenuContext = require("./MenuContext");
25
25
 
26
26
  var _Selection = require("./Selection");
27
27
 
@@ -96,7 +96,7 @@ const Item = /*#__PURE__*/_react.default.forwardRef(({
96
96
  const {
97
97
  itemRole,
98
98
  afterSelect
99
- } = _react.default.useContext(_ActionListContainerContext.ActionListContainerContext);
99
+ } = _react.default.useContext(_MenuContext.MenuContext);
100
100
 
101
101
  const {
102
102
  theme
@@ -171,20 +171,22 @@ const Item = /*#__PURE__*/_react.default.forwardRef(({
171
171
  };
172
172
 
173
173
  const clickHandler = _react.default.useCallback(event => {
174
+ if (typeof onSelect !== 'function') return;
174
175
  if (disabled) return;
175
176
 
176
177
  if (!event.defaultPrevented) {
177
- if (typeof onSelect === 'function') onSelect(event); // if this Item is inside a Menu, close the Menu
178
+ onSelect(event); // if this Item is inside a Menu, close the Menu
178
179
 
179
180
  if (typeof afterSelect === 'function') afterSelect();
180
181
  }
181
182
  }, [onSelect, disabled, afterSelect]);
182
183
 
183
184
  const keyPressHandler = _react.default.useCallback(event => {
185
+ if (typeof onSelect !== 'function') return;
184
186
  if (disabled) return;
185
187
 
186
188
  if (!event.defaultPrevented && [' ', 'Enter'].includes(event.key)) {
187
- if (typeof onSelect === 'function') onSelect(event); // if this Item is inside a Menu, close the Menu
189
+ onSelect(event); // if this Item is inside a Menu, close the Menu
188
190
 
189
191
  if (typeof afterSelect === 'function') afterSelect();
190
192
  }
@@ -11,7 +11,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
11
 
12
12
  var _sx = _interopRequireWildcard(require("../sx"));
13
13
 
14
- var _ActionListContainerContext = require("./ActionListContainerContext");
14
+ var _MenuContext = require("./MenuContext");
15
15
 
16
16
  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
17
 
@@ -48,7 +48,7 @@ const List = /*#__PURE__*/_react.default.forwardRef(({
48
48
 
49
49
  const {
50
50
  listRole
51
- } = _react.default.useContext(_ActionListContainerContext.ActionListContainerContext);
51
+ } = _react.default.useContext(_MenuContext.MenuContext);
52
52
 
53
53
  return /*#__PURE__*/_react.default.createElement(ListBox, _extends({
54
54
  sx: (0, _sx.merge)(styles, sxProp),
@@ -1,10 +1,10 @@
1
1
  /** This context can be used by components that compose ActionList inside a Menu */
2
2
  import React from 'react';
3
3
  declare type ContextProps = {
4
- container?: string;
4
+ parent?: string;
5
5
  listRole?: string;
6
6
  itemRole?: string;
7
- afterSelect?: Function;
7
+ afterSelect?: () => void;
8
8
  };
9
- export declare const ActionListContainerContext: React.Context<ContextProps>;
9
+ export declare const MenuContext: React.Context<ContextProps>;
10
10
  export {};
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ActionListContainerContext = void 0;
6
+ exports.MenuContext = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
 
12
12
  /** This context can be used by components that compose ActionList inside a Menu */
13
- const ActionListContainerContext = /*#__PURE__*/_react.default.createContext({});
13
+ const MenuContext = /*#__PURE__*/_react.default.createContext({});
14
14
 
15
- exports.ActionListContainerContext = ActionListContainerContext;
15
+ exports.MenuContext = MenuContext;
@@ -13,7 +13,7 @@ var _List = require("./List");
13
13
 
14
14
  var _Group = require("./Group");
15
15
 
16
- var _ActionListContainerContext = require("./ActionListContainerContext");
16
+ var _MenuContext = require("./MenuContext");
17
17
 
18
18
  var _Visuals = require("./Visuals");
19
19
 
@@ -31,8 +31,8 @@ const Selection = ({
31
31
  } = _react.default.useContext(_Group.GroupContext);
32
32
 
33
33
  const {
34
- container
35
- } = _react.default.useContext(_ActionListContainerContext.ActionListContainerContext);
34
+ parent
35
+ } = _react.default.useContext(_MenuContext.MenuContext);
36
36
  /** selectionVariant in Group can override the selectionVariant in List root */
37
37
 
38
38
 
@@ -44,7 +44,7 @@ const Selection = ({
44
44
  return null;
45
45
  }
46
46
 
47
- if (container === 'ActionMenu') {
47
+ if (parent === 'ActionMenu') {
48
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
49
  return null;
50
50
  }
@@ -1,12 +1,10 @@
1
1
  import { ButtonProps } from './Button';
2
2
  import React from 'react';
3
- import { AnchoredOverlayProps } from './AnchoredOverlay';
4
3
  import { OverlayProps } from './Overlay';
5
- declare type MenuContextProps = Pick<AnchoredOverlayProps, 'anchorRef' | 'renderAnchor' | 'open' | 'onOpen' | 'onClose'>;
6
- export declare const MenuContext: React.Context<MenuContextProps>;
7
- export declare type ActionMenuProps = {
4
+ import { AnchoredOverlayWrapperAnchorProps } from './AnchoredOverlay/AnchoredOverlay';
5
+ declare type ActionMenuBaseProps = {
8
6
  /**
9
- * Recommended: `ActionMenu.Button` or `ActionMenu.Anchor` with `ActionMenu.Overlay`
7
+ * Recommended: `ActionMenu.Button` or `ActionMenu.Anchor` with ActionList`
10
8
  */
11
9
  children: React.ReactElement[] | React.ReactElement;
12
10
  /**
@@ -17,18 +15,17 @@ export declare type ActionMenuProps = {
17
15
  * If defined, will control the open/closed state of the overlay. Must be used in conjuction with `open`.
18
16
  */
19
17
  onOpenChange?: (s: boolean) => void;
20
- } & Pick<AnchoredOverlayProps, 'anchorRef'>;
18
+ /**
19
+ * Props to be spread on the internal `Overlay` component.
20
+ */
21
+ overlayProps?: Partial<OverlayProps>;
22
+ };
23
+ export declare type ActionMenuProps = ActionMenuBaseProps & AnchoredOverlayWrapperAnchorProps;
21
24
  export declare type MenuAnchorProps = {
22
25
  children: React.ReactElement;
23
26
  };
24
27
  /** this component is syntactical sugar 🍭 */
25
28
  export declare type MenuButtonProps = ButtonProps;
26
- declare type MenuOverlayProps = Partial<OverlayProps> & {
27
- /**
28
- * Recommended: `ActionList`
29
- */
30
- children: React.ReactElement[] | React.ReactElement;
31
- };
32
29
  export declare const ActionMenu: React.FC<ActionMenuProps> & {
33
30
  Button: React.ForwardRefExoticComponent<Pick<{
34
31
  color?: string | undefined;
@@ -311,7 +308,6 @@ export declare const ActionMenu: React.FC<ActionMenuProps> & {
311
308
  variant?: "small" | "medium" | "large" | undefined;
312
309
  }> & React.RefAttributes<React.RefObject<HTMLElement> | undefined>>;
313
310
  Anchor: React.ForwardRefExoticComponent<MenuAnchorProps & React.RefAttributes<React.RefObject<HTMLElement> | undefined>>;
314
- Overlay: React.FC<MenuOverlayProps>;
315
311
  Divider: React.FC<import("./sx").SxProp>;
316
312
  };
317
313
  export {};
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ActionMenu = exports.MenuContext = void 0;
6
+ exports.ActionMenu = void 0;
7
7
 
8
8
  var _Button = _interopRequireDefault(require("./Button"));
9
9
 
@@ -11,60 +11,59 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _AnchoredOverlay = require("./AnchoredOverlay");
13
13
 
14
+ var _useProvidedStateOrCreate = require("./hooks/useProvidedStateOrCreate");
15
+
14
16
  var _hooks = require("./hooks");
15
17
 
16
18
  var _Divider = require("./ActionList2/Divider");
17
19
 
18
- var _ActionListContainerContext = require("./ActionList2/ActionListContainerContext");
20
+ var _MenuContext = require("./ActionList2/MenuContext");
19
21
 
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
- const MenuContext = /*#__PURE__*/_react.default.createContext({
23
- renderAnchor: null,
24
- open: false
25
- });
26
-
27
- exports.MenuContext = MenuContext;
28
-
29
- const Menu = ({
24
+ const ActionMenuBase = ({
30
25
  anchorRef: externalAnchorRef,
31
26
  open,
32
27
  onOpenChange,
28
+ overlayProps,
33
29
  children
34
30
  }) => {
35
- const [combinedOpenState, setCombinedOpenState] = (0, _hooks.useProvidedStateOrCreate)(open, onOpenChange, false);
31
+ const [combinedOpenState, setCombinedOpenState] = (0, _useProvidedStateOrCreate.useProvidedStateOrCreate)(open, onOpenChange, false);
32
+ const anchorRef = (0, _hooks.useProvidedRefOrCreate)(externalAnchorRef);
36
33
 
37
34
  const onOpen = _react.default.useCallback(() => setCombinedOpenState(true), [setCombinedOpenState]);
38
35
 
39
36
  const onClose = _react.default.useCallback(() => setCombinedOpenState(false), [setCombinedOpenState]);
40
37
 
41
- const anchorRef = (0, _hooks.useProvidedRefOrCreate)(externalAnchorRef);
42
- let renderAnchor = null; // 🚨 Hack for good API!
43
- // we strip out Anchor from children and pass it to AnchoredOverlay to render
44
- // with additional props for accessibility
38
+ let renderAnchor = null;
39
+ const contents = [];
45
40
 
46
- const contents = _react.default.Children.map(children, child => {
41
+ _react.default.Children.map(children, child => {
47
42
  if (child.type === MenuButton || child.type === Anchor) {
48
43
  renderAnchor = anchorProps => /*#__PURE__*/_react.default.cloneElement(child, anchorProps);
49
-
50
- return null;
44
+ } else {
45
+ contents.push(child);
51
46
  }
52
-
53
- return child;
54
47
  });
55
48
 
56
- return /*#__PURE__*/_react.default.createElement(MenuContext.Provider, {
49
+ return /*#__PURE__*/_react.default.createElement(_AnchoredOverlay.AnchoredOverlay, {
50
+ renderAnchor: renderAnchor,
51
+ anchorRef: anchorRef,
52
+ open: combinedOpenState,
53
+ onOpen: onOpen,
54
+ onClose: onClose,
55
+ overlayProps: overlayProps
56
+ }, /*#__PURE__*/_react.default.createElement(_MenuContext.MenuContext.Provider, {
57
57
  value: {
58
- anchorRef,
59
- renderAnchor,
60
- open: combinedOpenState,
61
- onOpen,
62
- onClose
58
+ parent: 'ActionMenu',
59
+ listRole: 'menu',
60
+ itemRole: 'menuitem',
61
+ afterSelect: onClose
63
62
  }
64
- }, contents);
63
+ }, contents));
65
64
  };
66
65
 
67
- Menu.displayName = "Menu";
66
+ ActionMenuBase.displayName = "ActionMenuBase";
68
67
 
69
68
  const Anchor = /*#__PURE__*/_react.default.forwardRef(({
70
69
  children,
@@ -83,43 +82,10 @@ const MenuButton = /*#__PURE__*/_react.default.forwardRef((props, anchorRef) =>
83
82
  }, /*#__PURE__*/_react.default.createElement(_Button.default, props));
84
83
  });
85
84
 
86
- const Overlay = ({
87
- children,
88
- ...overlayProps
89
- }) => {
90
- // we typecast anchorRef as required instead of optional
91
- // because we know that we're setting it in context in Menu
92
- const {
93
- anchorRef,
94
- renderAnchor,
95
- open,
96
- onOpen,
97
- onClose
98
- } = _react.default.useContext(MenuContext);
99
-
100
- return /*#__PURE__*/_react.default.createElement(_AnchoredOverlay.AnchoredOverlay, {
101
- anchorRef: anchorRef,
102
- renderAnchor: renderAnchor,
103
- open: open,
104
- onOpen: onOpen,
105
- onClose: onClose,
106
- overlayProps: overlayProps
107
- }, /*#__PURE__*/_react.default.createElement(_ActionListContainerContext.ActionListContainerContext.Provider, {
108
- value: {
109
- container: 'ActionMenu',
110
- listRole: 'menu',
111
- itemRole: 'menuitem',
112
- afterSelect: onClose
113
- }
114
- }, children));
115
- };
116
-
117
- Overlay.displayName = "Overlay";
118
- Menu.displayName = 'ActionMenu';
119
- const ActionMenu = Object.assign(Menu, {
85
+ ActionMenuBase.displayName = 'ActionMenu';
86
+ const ActionMenu = Object.assign(ActionMenuBase, {
120
87
  Button: MenuButton,
121
88
  Anchor,
122
- Overlay,
123
89
  Divider: _Divider.Divider
124
90
  });
125
91
  exports.ActionMenu = ActionMenu;
@@ -21,10 +21,6 @@ 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
-
28
24
  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); }
29
25
 
30
26
  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; }
@@ -186,8 +182,19 @@ function AutocompleteMenu(props) {
186
182
  setSelectedItemLength(selectedItemIds.length);
187
183
  }
188
184
  }, [selectedItemIds, setSelectedItemLength]);
189
- return /*#__PURE__*/_react.default.createElement(_VisuallyHidden.default, {
190
- isVisible: showMenu
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
+ } : {}
191
198
  }, loading ? /*#__PURE__*/_react.default.createElement(_.Box, {
192
199
  p: 3,
193
200
  display: "flex",
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> | "validationStatus" | "indeterminate"> & React.RefAttributes<HTMLInputElement>>;
28
+ declare const Checkbox: React.ForwardRefExoticComponent<Pick<CheckboxProps, "sx" | keyof React.InputHTMLAttributes<HTMLInputElement> | "indeterminate" | "validationStatus"> & React.RefAttributes<HTMLInputElement>>;
29
29
  export default Checkbox;
@@ -9,4 +9,3 @@ export { useAnchoredPosition } from './useAnchoredPosition';
9
9
  export { useOverlay } from './useOverlay';
10
10
  export type { UseOverlaySettings } from './useOverlay';
11
11
  export { useRenderForcingRef } from './useRenderForcingRef';
12
- export { useProvidedStateOrCreate } from './useProvidedStateOrCreate';
@@ -45,12 +45,6 @@ Object.defineProperty(exports, "useRenderForcingRef", {
45
45
  return _useRenderForcingRef.useRenderForcingRef;
46
46
  }
47
47
  });
48
- Object.defineProperty(exports, "useProvidedStateOrCreate", {
49
- enumerable: true,
50
- get: function () {
51
- return _useProvidedStateOrCreate.useProvidedStateOrCreate;
52
- }
53
- });
54
48
 
55
49
  var _useOnOutsideClick = require("./useOnOutsideClick");
56
50
 
@@ -64,6 +58,4 @@ var _useAnchoredPosition = require("./useAnchoredPosition");
64
58
 
65
59
  var _useOverlay = require("./useOverlay");
66
60
 
67
- var _useRenderForcingRef = require("./useRenderForcingRef");
68
-
69
- var _useProvidedStateOrCreate = require("./useProvidedStateOrCreate");
61
+ var _useRenderForcingRef = require("./useRenderForcingRef");
package/lib/index.d.ts CHANGED
@@ -21,8 +21,6 @@ export { useOpenAndCloseFocus } from './hooks/useOpenAndCloseFocus';
21
21
  export { useOnEscapePress } from './hooks/useOnEscapePress';
22
22
  export { useOverlay } from './hooks/useOverlay';
23
23
  export { useConfirm } from './Dialog/ConfirmationDialog';
24
- export { default as Radio } from './Radio';
25
- export type { RadioProps } from './Radio';
26
24
  export { ActionList } from './ActionList';
27
25
  export { ActionMenu } from './ActionMenu';
28
26
  export type { ActionMenuProps } from './ActionMenu';
@@ -48,8 +46,6 @@ export { default as CircleBadge } from './CircleBadge';
48
46
  export type { CircleBadgeProps, CircleBadgeIconProps } from './CircleBadge';
49
47
  export { default as CircleOcticon } from './CircleOcticon';
50
48
  export type { CircleOcticonProps } from './CircleOcticon';
51
- export { default as CheckboxInputField } from './CheckboxInputField';
52
- export { default as ChoiceFieldset, Item } from './ChoiceFieldset';
53
49
  export { default as CounterLabel } from './CounterLabel';
54
50
  export type { CounterLabelProps } from './CounterLabel';
55
51
  export { default as Details } from './Details';
@@ -90,7 +86,6 @@ export { default as Popover } from './Popover';
90
86
  export type { PopoverProps, PopoverContentProps } from './Popover';
91
87
  export { default as ProgressBar } from './ProgressBar';
92
88
  export type { ProgressBarProps } from './ProgressBar';
93
- export { default as RadioInputField } from './RadioInputField';
94
89
  export { default as SelectMenu } from './SelectMenu';
95
90
  export type { SelectMenuProps, SelectMenuDividerProps, SelectMenuFilterProps, SelectMenuFooterProps, SelectMenuItemProps, SelectMenuListProps, SelectMenuModalProps, SelectMenuTabsProps, SelectMenuHeaderProps, SelectMenuTabProps, SelectMenuTabPanelProps, SelectMenuLoadingAnimationProps } from './SelectMenu';
96
91
  export { default as SideNav } from './SideNav';
@@ -107,7 +102,6 @@ export { default as TabNav } from './TabNav';
107
102
  export type { TabNavProps, TabNavLinkProps } from './TabNav';
108
103
  export { default as TextInput } from './TextInput';
109
104
  export type { TextInputProps } from './TextInput';
110
- export { default as TextInputField } from './TextInputField';
111
105
  export { default as TextInputWithTokens } from './TextInputWithTokens';
112
106
  export type { TextInputWithTokensProps } from './TextInputWithTokens';
113
107
  export { default as Text } from './Text';
package/lib/index.js CHANGED
@@ -141,12 +141,6 @@ Object.defineProperty(exports, "ConfirmationDialog", {
141
141
  return _ConfirmationDialog.ConfirmationDialog;
142
142
  }
143
143
  });
144
- Object.defineProperty(exports, "Radio", {
145
- enumerable: true,
146
- get: function () {
147
- return _Radio.default;
148
- }
149
- });
150
144
  Object.defineProperty(exports, "ActionList", {
151
145
  enumerable: true,
152
146
  get: function () {
@@ -273,24 +267,6 @@ Object.defineProperty(exports, "CircleOcticon", {
273
267
  return _CircleOcticon.default;
274
268
  }
275
269
  });
276
- Object.defineProperty(exports, "CheckboxInputField", {
277
- enumerable: true,
278
- get: function () {
279
- return _CheckboxInputField.default;
280
- }
281
- });
282
- Object.defineProperty(exports, "ChoiceFieldset", {
283
- enumerable: true,
284
- get: function () {
285
- return _ChoiceFieldset.default;
286
- }
287
- });
288
- Object.defineProperty(exports, "Item", {
289
- enumerable: true,
290
- get: function () {
291
- return _ChoiceFieldset.Item;
292
- }
293
- });
294
270
  Object.defineProperty(exports, "CounterLabel", {
295
271
  enumerable: true,
296
272
  get: function () {
@@ -417,12 +393,6 @@ Object.defineProperty(exports, "ProgressBar", {
417
393
  return _ProgressBar.default;
418
394
  }
419
395
  });
420
- Object.defineProperty(exports, "RadioInputField", {
421
- enumerable: true,
422
- get: function () {
423
- return _RadioInputField.default;
424
- }
425
- });
426
396
  Object.defineProperty(exports, "SelectMenu", {
427
397
  enumerable: true,
428
398
  get: function () {
@@ -471,12 +441,6 @@ Object.defineProperty(exports, "TextInput", {
471
441
  return _TextInput.default;
472
442
  }
473
443
  });
474
- Object.defineProperty(exports, "TextInputField", {
475
- enumerable: true,
476
- get: function () {
477
- return _TextInputField.default;
478
- }
479
- });
480
444
  Object.defineProperty(exports, "TextInputWithTokens", {
481
445
  enumerable: true,
482
446
  get: function () {
@@ -582,8 +546,6 @@ var _useOverlay = require("./hooks/useOverlay");
582
546
 
583
547
  var _ConfirmationDialog = require("./Dialog/ConfirmationDialog");
584
548
 
585
- var _Radio = _interopRequireDefault(require("./Radio"));
586
-
587
549
  var _ActionList = require("./ActionList");
588
550
 
589
551
  var _ActionMenu = require("./ActionMenu");
@@ -610,10 +572,6 @@ var _CircleBadge = _interopRequireDefault(require("./CircleBadge"));
610
572
 
611
573
  var _CircleOcticon = _interopRequireDefault(require("./CircleOcticon"));
612
574
 
613
- var _CheckboxInputField = _interopRequireDefault(require("./CheckboxInputField"));
614
-
615
- var _ChoiceFieldset = _interopRequireWildcard(require("./ChoiceFieldset"));
616
-
617
575
  var _CounterLabel = _interopRequireDefault(require("./CounterLabel"));
618
576
 
619
577
  var _Details = _interopRequireDefault(require("./Details"));
@@ -654,8 +612,6 @@ var _Popover = _interopRequireDefault(require("./Popover"));
654
612
 
655
613
  var _ProgressBar = _interopRequireDefault(require("./ProgressBar"));
656
614
 
657
- var _RadioInputField = _interopRequireDefault(require("./RadioInputField"));
658
-
659
615
  var _SelectMenu = _interopRequireDefault(require("./SelectMenu"));
660
616
 
661
617
  var _SideNav = _interopRequireDefault(require("./SideNav"));
@@ -672,8 +628,6 @@ var _TabNav = _interopRequireDefault(require("./TabNav"));
672
628
 
673
629
  var _TextInput = _interopRequireDefault(require("./TextInput"));
674
630
 
675
- var _TextInputField = _interopRequireDefault(require("./TextInputField"));
676
-
677
631
  var _TextInputWithTokens = _interopRequireDefault(require("./TextInputWithTokens"));
678
632
 
679
633
  var _Text = _interopRequireDefault(require("./Text"));
@@ -8,7 +8,7 @@ import Box from '../Box';
8
8
  import sx, { merge } from '../sx';
9
9
  import createSlots from '../utils/create-slots';
10
10
  import { ListContext } from './List';
11
- import { ActionListContainerContext } from './ActionListContainerContext';
11
+ import { MenuContext } from './MenuContext';
12
12
  import { Selection } from './Selection';
13
13
  export const getVariantStyles = (variant, disabled) => {
14
14
  if (disabled) {
@@ -66,7 +66,7 @@ export const Item = /*#__PURE__*/React.forwardRef(({
66
66
  const {
67
67
  itemRole,
68
68
  afterSelect
69
- } = React.useContext(ActionListContainerContext);
69
+ } = React.useContext(MenuContext);
70
70
  const {
71
71
  theme
72
72
  } = useTheme();
@@ -139,19 +139,21 @@ export const Item = /*#__PURE__*/React.forwardRef(({
139
139
  }
140
140
  };
141
141
  const clickHandler = React.useCallback(event => {
142
+ if (typeof onSelect !== 'function') return;
142
143
  if (disabled) return;
143
144
 
144
145
  if (!event.defaultPrevented) {
145
- if (typeof onSelect === 'function') onSelect(event); // if this Item is inside a Menu, close the Menu
146
+ onSelect(event); // if this Item is inside a Menu, close the Menu
146
147
 
147
148
  if (typeof afterSelect === 'function') afterSelect();
148
149
  }
149
150
  }, [onSelect, disabled, afterSelect]);
150
151
  const keyPressHandler = React.useCallback(event => {
152
+ if (typeof onSelect !== 'function') return;
151
153
  if (disabled) return;
152
154
 
153
155
  if (!event.defaultPrevented && [' ', 'Enter'].includes(event.key)) {
154
- if (typeof onSelect === 'function') onSelect(event); // if this Item is inside a Menu, close the Menu
156
+ onSelect(event); // if this Item is inside a Menu, close the Menu
155
157
 
156
158
  if (typeof afterSelect === 'function') afterSelect();
157
159
  }
@@ -3,7 +3,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
3
3
  import React from 'react';
4
4
  import styled from 'styled-components';
5
5
  import sx, { merge } from '../sx';
6
- import { ActionListContainerContext } from './ActionListContainerContext';
6
+ import { MenuContext } from './MenuContext';
7
7
  export const ListContext = /*#__PURE__*/React.createContext({});
8
8
  const ListBox = styled.ul.withConfig({
9
9
  displayName: "List__ListBox",
@@ -27,7 +27,7 @@ export const List = /*#__PURE__*/React.forwardRef(({
27
27
 
28
28
  const {
29
29
  listRole
30
- } = React.useContext(ActionListContainerContext);
30
+ } = React.useContext(MenuContext);
31
31
  return /*#__PURE__*/React.createElement(ListBox, _extends({
32
32
  sx: merge(styles, sxProp),
33
33
  role: role || listRole
@@ -1,10 +1,10 @@
1
1
  /** This context can be used by components that compose ActionList inside a Menu */
2
2
  import React from 'react';
3
3
  declare type ContextProps = {
4
- container?: string;
4
+ parent?: string;
5
5
  listRole?: string;
6
6
  itemRole?: string;
7
- afterSelect?: Function;
7
+ afterSelect?: () => void;
8
8
  };
9
- export declare const ActionListContainerContext: React.Context<ContextProps>;
9
+ export declare const MenuContext: React.Context<ContextProps>;
10
10
  export {};
@@ -1,3 +1,3 @@
1
1
  /** This context can be used by components that compose ActionList inside a Menu */
2
2
  import React from 'react';
3
- export const ActionListContainerContext = /*#__PURE__*/React.createContext({});
3
+ export const MenuContext = /*#__PURE__*/React.createContext({});
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { CheckIcon } from '@primer/octicons-react';
3
3
  import { ListContext } from './List';
4
4
  import { GroupContext } from './Group';
5
- import { ActionListContainerContext } from './ActionListContainerContext';
5
+ import { MenuContext } from './MenuContext';
6
6
  import { LeadingVisualContainer } from './Visuals';
7
7
  export const Selection = ({
8
8
  selected
@@ -14,8 +14,8 @@ export const Selection = ({
14
14
  selectionVariant: groupSelectionVariant
15
15
  } = React.useContext(GroupContext);
16
16
  const {
17
- container
18
- } = React.useContext(ActionListContainerContext);
17
+ parent
18
+ } = React.useContext(MenuContext);
19
19
  /** selectionVariant in Group can override the selectionVariant in List root */
20
20
 
21
21
  const selectionVariant = typeof groupSelectionVariant !== 'undefined' ? groupSelectionVariant : listSelectionVariant; // if selectionVariant is not set on List, don't show selection
@@ -26,7 +26,7 @@ export const Selection = ({
26
26
  return null;
27
27
  }
28
28
 
29
- if (container === 'ActionMenu') {
29
+ if (parent === 'ActionMenu') {
30
30
  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');
31
31
  return null;
32
32
  }