@primer/components 0.0.0-202111613730 → 0.0.0-2021116163027

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 (97) 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/{MenuContext.d.ts → ActionListContainerContext.d.ts} +3 -3
  6. package/lib/ActionList2/{MenuContext.js → ActionListContainerContext.js} +3 -3
  7. package/lib/ActionList2/Item.js +4 -6
  8. package/lib/ActionList2/List.js +2 -2
  9. package/lib/ActionList2/Selection.js +4 -4
  10. package/lib/ActionMenu2.d.ts +13 -9
  11. package/lib/ActionMenu2.js +63 -29
  12. package/lib/Autocomplete/AutocompleteMenu.js +6 -13
  13. package/lib/CheckboxInputField.d.ts +10 -0
  14. package/lib/CheckboxInputField.js +73 -0
  15. package/lib/RadioInputField.d.ts +8 -0
  16. package/lib/RadioInputField.js +82 -0
  17. package/lib/TextInputField.d.ts +583 -0
  18. package/lib/TextInputField.js +66 -0
  19. package/lib/_InputCaption.d.ts +13 -0
  20. package/lib/_InputCaption.js +26 -0
  21. package/lib/_InputField/InputField.d.ts +39 -0
  22. package/lib/_InputField/InputField.js +90 -0
  23. package/lib/_InputField/InputFieldCaption.d.ts +3 -0
  24. package/lib/_InputField/InputFieldCaption.js +30 -0
  25. package/lib/_InputField/InputFieldLabel.d.ts +9 -0
  26. package/lib/_InputField/InputFieldLabel.js +34 -0
  27. package/lib/_InputField/InputFieldValidation.d.ts +6 -0
  28. package/lib/_InputField/InputFieldValidation.js +17 -0
  29. package/lib/_InputField/ToggleInputField.d.ts +13 -0
  30. package/lib/_InputField/ToggleInputField.js +71 -0
  31. package/lib/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
  32. package/lib/_InputField/ToggleInputLeadingVisual.js +22 -0
  33. package/lib/_InputField/ValidationAnimationContainer.d.ts +6 -0
  34. package/lib/_InputField/ValidationAnimationContainer.js +48 -0
  35. package/lib/_InputField/index.d.ts +1 -0
  36. package/lib/_InputField/index.js +15 -0
  37. package/lib/_InputField/slots.d.ts +13 -0
  38. package/lib/_InputField/slots.js +17 -0
  39. package/lib/_InputLabel.d.ts +8 -0
  40. package/lib/_InputLabel.js +44 -0
  41. package/lib/_InputValidation.d.ts +8 -0
  42. package/lib/_InputValidation.js +56 -0
  43. package/lib/_VisuallyHidden.d.ts +6 -0
  44. package/lib/_VisuallyHidden.js +39 -0
  45. package/lib/hooks/index.d.ts +1 -0
  46. package/lib/hooks/index.js +9 -1
  47. package/lib/index.d.ts +3 -0
  48. package/lib/index.js +24 -0
  49. package/lib/utils/types/FormValidationStatus.d.ts +1 -0
  50. package/lib/utils/types/FormValidationStatus.js +1 -0
  51. package/lib-esm/ActionList2/{MenuContext.d.ts → ActionListContainerContext.d.ts} +3 -3
  52. package/lib-esm/ActionList2/{MenuContext.js → ActionListContainerContext.js} +1 -1
  53. package/lib-esm/ActionList2/Item.js +4 -6
  54. package/lib-esm/ActionList2/List.js +2 -2
  55. package/lib-esm/ActionList2/Selection.js +4 -4
  56. package/lib-esm/ActionMenu2.d.ts +13 -9
  57. package/lib-esm/ActionMenu2.js +60 -27
  58. package/lib-esm/Autocomplete/AutocompleteMenu.js +3 -13
  59. package/lib-esm/CheckboxInputField.d.ts +10 -0
  60. package/lib-esm/CheckboxInputField.js +56 -0
  61. package/lib-esm/RadioInputField.d.ts +8 -0
  62. package/lib-esm/RadioInputField.js +65 -0
  63. package/lib-esm/TextInputField.d.ts +583 -0
  64. package/lib-esm/TextInputField.js +50 -0
  65. package/lib-esm/_InputCaption.d.ts +13 -0
  66. package/lib-esm/_InputCaption.js +15 -0
  67. package/lib-esm/_InputField/InputField.d.ts +39 -0
  68. package/lib-esm/_InputField/InputField.js +70 -0
  69. package/lib-esm/_InputField/InputFieldCaption.d.ts +3 -0
  70. package/lib-esm/_InputField/InputFieldCaption.js +18 -0
  71. package/lib-esm/_InputField/InputFieldLabel.d.ts +9 -0
  72. package/lib-esm/_InputField/InputFieldLabel.js +22 -0
  73. package/lib-esm/_InputField/InputFieldValidation.d.ts +6 -0
  74. package/lib-esm/_InputField/InputFieldValidation.js +7 -0
  75. package/lib-esm/_InputField/ToggleInputField.d.ts +13 -0
  76. package/lib-esm/_InputField/ToggleInputField.js +54 -0
  77. package/lib-esm/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
  78. package/lib-esm/_InputField/ToggleInputLeadingVisual.js +11 -0
  79. package/lib-esm/_InputField/ValidationAnimationContainer.d.ts +6 -0
  80. package/lib-esm/_InputField/ValidationAnimationContainer.js +33 -0
  81. package/lib-esm/_InputField/index.d.ts +1 -0
  82. package/lib-esm/_InputField/index.js +1 -0
  83. package/lib-esm/_InputField/slots.d.ts +13 -0
  84. package/lib-esm/_InputField/slots.js +5 -0
  85. package/lib-esm/_InputLabel.d.ts +8 -0
  86. package/lib-esm/_InputLabel.js +32 -0
  87. package/lib-esm/_InputValidation.d.ts +8 -0
  88. package/lib-esm/_InputValidation.js +43 -0
  89. package/lib-esm/_VisuallyHidden.d.ts +6 -0
  90. package/lib-esm/_VisuallyHidden.js +26 -0
  91. package/lib-esm/hooks/index.d.ts +1 -0
  92. package/lib-esm/hooks/index.js +2 -1
  93. package/lib-esm/index.d.ts +3 -0
  94. package/lib-esm/index.js +3 -0
  95. package/lib-esm/utils/types/FormValidationStatus.d.ts +1 -0
  96. package/lib-esm/utils/types/FormValidationStatus.js +1 -0
  97. package/package.json +2 -2
@@ -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
- parent?: string;
4
+ container?: string;
5
5
  listRole?: string;
6
6
  itemRole?: string;
7
- afterSelect?: () => void;
7
+ afterSelect?: Function;
8
8
  };
9
- export declare const MenuContext: React.Context<ContextProps>;
9
+ export declare const ActionListContainerContext: React.Context<ContextProps>;
10
10
  export {};
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.MenuContext = void 0;
6
+ exports.ActionListContainerContext = 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 MenuContext = /*#__PURE__*/_react.default.createContext({});
13
+ const ActionListContainerContext = /*#__PURE__*/_react.default.createContext({});
14
14
 
15
- exports.MenuContext = MenuContext;
15
+ exports.ActionListContainerContext = ActionListContainerContext;
@@ -21,7 +21,7 @@ var _createSlots = _interopRequireDefault(require("../utils/create-slots"));
21
21
 
22
22
  var _List = require("./List");
23
23
 
24
- var _MenuContext = require("./MenuContext");
24
+ var _ActionListContainerContext = require("./ActionListContainerContext");
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(_MenuContext.MenuContext);
99
+ } = _react.default.useContext(_ActionListContainerContext.ActionListContainerContext);
100
100
 
101
101
  const {
102
102
  theme
@@ -171,22 +171,20 @@ const Item = /*#__PURE__*/_react.default.forwardRef(({
171
171
  };
172
172
 
173
173
  const clickHandler = _react.default.useCallback(event => {
174
- if (typeof onSelect !== 'function') return;
175
174
  if (disabled) return;
176
175
 
177
176
  if (!event.defaultPrevented) {
178
- onSelect(event); // if this Item is inside a Menu, close the Menu
177
+ if (typeof onSelect === 'function') onSelect(event); // if this Item is inside a Menu, close the Menu
179
178
 
180
179
  if (typeof afterSelect === 'function') afterSelect();
181
180
  }
182
181
  }, [onSelect, disabled, afterSelect]);
183
182
 
184
183
  const keyPressHandler = _react.default.useCallback(event => {
185
- if (typeof onSelect !== 'function') return;
186
184
  if (disabled) return;
187
185
 
188
186
  if (!event.defaultPrevented && [' ', 'Enter'].includes(event.key)) {
189
- onSelect(event); // if this Item is inside a Menu, close the Menu
187
+ if (typeof onSelect === 'function') onSelect(event); // if this Item is inside a Menu, close the Menu
190
188
 
191
189
  if (typeof afterSelect === 'function') afterSelect();
192
190
  }
@@ -11,7 +11,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
11
 
12
12
  var _sx = _interopRequireWildcard(require("../sx"));
13
13
 
14
- var _MenuContext = require("./MenuContext");
14
+ var _ActionListContainerContext = require("./ActionListContainerContext");
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(_MenuContext.MenuContext);
51
+ } = _react.default.useContext(_ActionListContainerContext.ActionListContainerContext);
52
52
 
53
53
  return /*#__PURE__*/_react.default.createElement(ListBox, _extends({
54
54
  sx: (0, _sx.merge)(styles, sxProp),
@@ -13,7 +13,7 @@ var _List = require("./List");
13
13
 
14
14
  var _Group = require("./Group");
15
15
 
16
- var _MenuContext = require("./MenuContext");
16
+ var _ActionListContainerContext = require("./ActionListContainerContext");
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
- parent
35
- } = _react.default.useContext(_MenuContext.MenuContext);
34
+ container
35
+ } = _react.default.useContext(_ActionListContainerContext.ActionListContainerContext);
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 (parent === 'ActionMenu') {
47
+ if (container === '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,10 +1,12 @@
1
1
  import { ButtonProps } from './Button';
2
2
  import React from 'react';
3
+ import { AnchoredOverlayProps } from './AnchoredOverlay';
3
4
  import { OverlayProps } from './Overlay';
4
- import { AnchoredOverlayWrapperAnchorProps } from './AnchoredOverlay/AnchoredOverlay';
5
- declare type ActionMenuBaseProps = {
5
+ declare type MenuContextProps = Pick<AnchoredOverlayProps, 'anchorRef' | 'renderAnchor' | 'open' | 'onOpen' | 'onClose'>;
6
+ export declare const MenuContext: React.Context<MenuContextProps>;
7
+ export declare type ActionMenuProps = {
6
8
  /**
7
- * Recommended: `ActionMenu.Button` or `ActionMenu.Anchor` with ActionList`
9
+ * Recommended: `ActionMenu.Button` or `ActionMenu.Anchor` with `ActionMenu.Overlay`
8
10
  */
9
11
  children: React.ReactElement[] | React.ReactElement;
10
12
  /**
@@ -15,17 +17,18 @@ declare type ActionMenuBaseProps = {
15
17
  * If defined, will control the open/closed state of the overlay. Must be used in conjuction with `open`.
16
18
  */
17
19
  onOpenChange?: (s: boolean) => void;
18
- /**
19
- * Props to be spread on the internal `Overlay` component.
20
- */
21
- overlayProps?: Partial<OverlayProps>;
22
- };
23
- export declare type ActionMenuProps = ActionMenuBaseProps & AnchoredOverlayWrapperAnchorProps;
20
+ } & Pick<AnchoredOverlayProps, 'anchorRef'>;
24
21
  export declare type MenuAnchorProps = {
25
22
  children: React.ReactElement;
26
23
  };
27
24
  /** this component is syntactical sugar 🍭 */
28
25
  export declare type MenuButtonProps = ButtonProps;
26
+ declare type MenuOverlayProps = Partial<OverlayProps> & {
27
+ /**
28
+ * Recommended: `ActionList`
29
+ */
30
+ children: React.ReactElement[] | React.ReactElement;
31
+ };
29
32
  export declare const ActionMenu: React.FC<ActionMenuProps> & {
30
33
  Button: React.ForwardRefExoticComponent<Pick<{
31
34
  color?: string | undefined;
@@ -308,6 +311,7 @@ export declare const ActionMenu: React.FC<ActionMenuProps> & {
308
311
  variant?: "small" | "medium" | "large" | undefined;
309
312
  }> & React.RefAttributes<React.RefObject<HTMLElement> | undefined>>;
310
313
  Anchor: React.ForwardRefExoticComponent<MenuAnchorProps & React.RefAttributes<React.RefObject<HTMLElement> | undefined>>;
314
+ Overlay: React.FC<MenuOverlayProps>;
311
315
  Divider: React.FC<import("./sx").SxProp>;
312
316
  };
313
317
  export {};
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ActionMenu = void 0;
6
+ exports.ActionMenu = exports.MenuContext = void 0;
7
7
 
8
8
  var _Button = _interopRequireDefault(require("./Button"));
9
9
 
@@ -11,59 +11,60 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _AnchoredOverlay = require("./AnchoredOverlay");
13
13
 
14
- var _useProvidedStateOrCreate = require("./hooks/useProvidedStateOrCreate");
15
-
16
14
  var _hooks = require("./hooks");
17
15
 
18
16
  var _Divider = require("./ActionList2/Divider");
19
17
 
20
- var _MenuContext = require("./ActionList2/MenuContext");
18
+ var _ActionListContainerContext = require("./ActionList2/ActionListContainerContext");
21
19
 
22
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
21
 
24
- const ActionMenuBase = ({
22
+ const MenuContext = /*#__PURE__*/_react.default.createContext({
23
+ renderAnchor: null,
24
+ open: false
25
+ });
26
+
27
+ exports.MenuContext = MenuContext;
28
+
29
+ const Menu = ({
25
30
  anchorRef: externalAnchorRef,
26
31
  open,
27
32
  onOpenChange,
28
- overlayProps,
29
33
  children
30
34
  }) => {
31
- const [combinedOpenState, setCombinedOpenState] = (0, _useProvidedStateOrCreate.useProvidedStateOrCreate)(open, onOpenChange, false);
32
- const anchorRef = (0, _hooks.useProvidedRefOrCreate)(externalAnchorRef);
35
+ const [combinedOpenState, setCombinedOpenState] = (0, _hooks.useProvidedStateOrCreate)(open, onOpenChange, false);
33
36
 
34
37
  const onOpen = _react.default.useCallback(() => setCombinedOpenState(true), [setCombinedOpenState]);
35
38
 
36
39
  const onClose = _react.default.useCallback(() => setCombinedOpenState(false), [setCombinedOpenState]);
37
40
 
38
- let renderAnchor = null;
39
- const contents = [];
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
40
45
 
41
- _react.default.Children.map(children, child => {
46
+ const contents = _react.default.Children.map(children, child => {
42
47
  if (child.type === MenuButton || child.type === Anchor) {
43
48
  renderAnchor = anchorProps => /*#__PURE__*/_react.default.cloneElement(child, anchorProps);
44
- } else {
45
- contents.push(child);
49
+
50
+ return null;
46
51
  }
52
+
53
+ return child;
47
54
  });
48
55
 
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, {
56
+ return /*#__PURE__*/_react.default.createElement(MenuContext.Provider, {
57
57
  value: {
58
- parent: 'ActionMenu',
59
- listRole: 'menu',
60
- itemRole: 'menuitem',
61
- afterSelect: onClose
58
+ anchorRef,
59
+ renderAnchor,
60
+ open: combinedOpenState,
61
+ onOpen,
62
+ onClose
62
63
  }
63
- }, contents));
64
+ }, contents);
64
65
  };
65
66
 
66
- ActionMenuBase.displayName = "ActionMenuBase";
67
+ Menu.displayName = "Menu";
67
68
 
68
69
  const Anchor = /*#__PURE__*/_react.default.forwardRef(({
69
70
  children,
@@ -82,10 +83,43 @@ const MenuButton = /*#__PURE__*/_react.default.forwardRef((props, anchorRef) =>
82
83
  }, /*#__PURE__*/_react.default.createElement(_Button.default, props));
83
84
  });
84
85
 
85
- ActionMenuBase.displayName = 'ActionMenu';
86
- const ActionMenu = Object.assign(ActionMenuBase, {
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, {
87
120
  Button: MenuButton,
88
121
  Anchor,
122
+ Overlay,
89
123
  Divider: _Divider.Divider
90
124
  });
91
125
  exports.ActionMenu = ActionMenu;
@@ -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",
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ declare const _default: React.FC<import("./_InputField/ToggleInputField").Props> & {
3
+ Input: React.FC<Omit<React.HTMLProps<HTMLInputElement>, "ref"> & {
4
+ ref?: React.Ref<HTMLInputElement> | undefined;
5
+ }>;
6
+ Caption: React.FC<{}>;
7
+ Label: React.FC<import("./_InputField/InputFieldLabel").Props>;
8
+ LeadingVisual: React.FC<{}>;
9
+ };
10
+ 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,8 @@
1
+ import React from 'react';
2
+ declare const _default: React.FC<import("./_InputField/ToggleInputField").Props> & {
3
+ Input: React.FC<React.HTMLProps<HTMLInputElement>>;
4
+ Caption: React.FC<{}>;
5
+ Label: React.FC<import("./_InputField/InputFieldLabel").Props>;
6
+ LeadingVisual: React.FC<{}>;
7
+ };
8
+ export default _default;
@@ -0,0 +1,82 @@
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 _InputField = _interopRequireDefault(require("./_InputField/InputField"));
11
+
12
+ var _slots = require("./_InputField/slots");
13
+
14
+ var _ToggleInputField = _interopRequireDefault(require("./_InputField/ToggleInputField"));
15
+
16
+ var _ToggleInputLeadingVisual = _interopRequireDefault(require("./_InputField/ToggleInputLeadingVisual"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ 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); }
21
+
22
+ // TODO: use Primer's checkbox input once it's available
23
+ // https://github.com/github/primer/issues/489
24
+ const RadioInput = props => {
25
+ return /*#__PURE__*/_react.default.createElement("input", _extends({
26
+ type: "radio"
27
+ }, props));
28
+ };
29
+
30
+ RadioInput.displayName = "RadioInput";
31
+
32
+ // pulling out `id`, `disabled`, and `required` because those should come from the parent TextInputField component
33
+ const Input = ({
34
+ id: idProp,
35
+ required: requiredProp,
36
+ disabled: disabledProp,
37
+ ...rest
38
+ }) => {
39
+ if (idProp) {
40
+ // eslint-disable-next-line no-console
41
+ console.warn("instead of passing the 'id' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
42
+ }
43
+
44
+ if (disabledProp) {
45
+ // eslint-disable-next-line no-console
46
+ console.warn("instead of passing the 'disabled' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
47
+ }
48
+
49
+ if (requiredProp) {
50
+ // eslint-disable-next-line no-console
51
+ console.warn("instead of passing the 'required' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
52
+ }
53
+
54
+ return /*#__PURE__*/_react.default.createElement(_slots.Slot, {
55
+ name: "Input"
56
+ }, ({
57
+ disabled,
58
+ id,
59
+ required,
60
+ captionId
61
+ }) => /*#__PURE__*/_react.default.createElement(RadioInput, _extends({
62
+ "aria-describedby": captionId,
63
+ id: id,
64
+ required: required,
65
+ disabled: disabled
66
+ }, rest)));
67
+ };
68
+
69
+ Input.displayName = "Input";
70
+
71
+ const RadioInputField = props => /*#__PURE__*/_react.default.createElement(_ToggleInputField.default, props);
72
+
73
+ RadioInputField.displayName = "RadioInputField";
74
+
75
+ var _default = Object.assign(RadioInputField, {
76
+ Input,
77
+ Caption: _InputField.default.Caption,
78
+ Label: _InputField.default.Label,
79
+ LeadingVisual: _ToggleInputLeadingVisual.default
80
+ });
81
+
82
+ exports.default = _default;