@primer/components 0.0.0-20211030161952 → 0.0.0-20211030173748

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 (126) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/dist/browser.esm.js +605 -591
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +212 -198
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/Autocomplete/AutocompleteMenu.js +6 -13
  7. package/lib/Checkbox.d.ts +1 -1
  8. package/lib/CheckboxInputField.d.ts +11 -0
  9. package/lib/CheckboxInputField.js +73 -0
  10. package/lib/ChoiceFieldset/ChoiceField.d.ts +22 -0
  11. package/lib/ChoiceFieldset/ChoiceField.js +58 -0
  12. package/lib/ChoiceFieldset/ChoiceFieldCaption.d.ts +3 -0
  13. package/lib/ChoiceFieldset/ChoiceFieldCaption.js +35 -0
  14. package/lib/ChoiceFieldset/ChoiceFieldInput.d.ts +13 -0
  15. package/lib/ChoiceFieldset/ChoiceFieldInput.js +43 -0
  16. package/lib/ChoiceFieldset/ChoiceFieldLabel.d.ts +3 -0
  17. package/lib/ChoiceFieldset/ChoiceFieldLabel.js +35 -0
  18. package/lib/ChoiceFieldset/ChoiceFieldset.d.ts +57 -0
  19. package/lib/ChoiceFieldset/ChoiceFieldset.js +95 -0
  20. package/lib/ChoiceFieldset/ChoiceFieldsetCaption.d.ts +3 -0
  21. package/lib/ChoiceFieldset/ChoiceFieldsetCaption.js +28 -0
  22. package/lib/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +6 -0
  23. package/lib/ChoiceFieldset/ChoiceFieldsetLegend.js +41 -0
  24. package/lib/ChoiceFieldset/ChoiceFieldsetList.d.ts +6 -0
  25. package/lib/ChoiceFieldset/ChoiceFieldsetList.js +85 -0
  26. package/lib/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +17 -0
  27. package/lib/ChoiceFieldset/ChoiceFieldsetListContext.js +15 -0
  28. package/lib/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +6 -0
  29. package/lib/ChoiceFieldset/ChoiceFieldsetValidation.js +17 -0
  30. package/lib/ChoiceFieldset/index.d.ts +3 -0
  31. package/lib/ChoiceFieldset/index.js +23 -0
  32. package/lib/RadioInputField.d.ts +9 -0
  33. package/lib/RadioInputField.js +82 -0
  34. package/lib/TextInputField.d.ts +581 -0
  35. package/lib/TextInputField.js +66 -0
  36. package/lib/_InputCaption.d.ts +13 -0
  37. package/lib/_InputCaption.js +27 -0
  38. package/lib/_InputField/InputField.d.ts +39 -0
  39. package/lib/_InputField/InputField.js +90 -0
  40. package/lib/_InputField/InputFieldCaption.d.ts +3 -0
  41. package/lib/_InputField/InputFieldCaption.js +30 -0
  42. package/lib/_InputField/InputFieldLabel.d.ts +9 -0
  43. package/lib/_InputField/InputFieldLabel.js +34 -0
  44. package/lib/_InputField/InputFieldValidation.d.ts +6 -0
  45. package/lib/_InputField/InputFieldValidation.js +17 -0
  46. package/lib/_InputField/ToggleInputField.d.ts +13 -0
  47. package/lib/_InputField/ToggleInputField.js +71 -0
  48. package/lib/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
  49. package/lib/_InputField/ToggleInputLeadingVisual.js +22 -0
  50. package/lib/_InputField/ValidationAnimationContainer.d.ts +6 -0
  51. package/lib/_InputField/ValidationAnimationContainer.js +48 -0
  52. package/lib/_InputField/index.d.ts +1 -0
  53. package/lib/_InputField/index.js +15 -0
  54. package/lib/_InputField/slots.d.ts +13 -0
  55. package/lib/_InputField/slots.js +17 -0
  56. package/lib/_InputLabel.d.ts +8 -0
  57. package/lib/_InputLabel.js +44 -0
  58. package/lib/_InputValidation.d.ts +8 -0
  59. package/lib/_InputValidation.js +56 -0
  60. package/lib/_VisuallyHidden.d.ts +6 -0
  61. package/lib/_VisuallyHidden.js +39 -0
  62. package/lib/index.d.ts +4 -0
  63. package/lib/index.js +38 -0
  64. package/lib/utils/types/FormValidationStatus.d.ts +1 -0
  65. package/lib/utils/types/FormValidationStatus.js +1 -0
  66. package/lib-esm/Autocomplete/AutocompleteMenu.js +3 -13
  67. package/lib-esm/Checkbox.d.ts +1 -1
  68. package/lib-esm/CheckboxInputField.d.ts +11 -0
  69. package/lib-esm/CheckboxInputField.js +56 -0
  70. package/lib-esm/ChoiceFieldset/ChoiceField.d.ts +22 -0
  71. package/lib-esm/ChoiceFieldset/ChoiceField.js +36 -0
  72. package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.d.ts +3 -0
  73. package/lib-esm/ChoiceFieldset/ChoiceFieldCaption.js +20 -0
  74. package/lib-esm/ChoiceFieldset/ChoiceFieldInput.d.ts +13 -0
  75. package/lib-esm/ChoiceFieldset/ChoiceFieldInput.js +28 -0
  76. package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.d.ts +3 -0
  77. package/lib-esm/ChoiceFieldset/ChoiceFieldLabel.js +20 -0
  78. package/lib-esm/ChoiceFieldset/ChoiceFieldset.d.ts +57 -0
  79. package/lib-esm/ChoiceFieldset/ChoiceFieldset.js +72 -0
  80. package/lib-esm/ChoiceFieldset/ChoiceFieldsetCaption.d.ts +3 -0
  81. package/lib-esm/ChoiceFieldset/ChoiceFieldsetCaption.js +16 -0
  82. package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.d.ts +6 -0
  83. package/lib-esm/ChoiceFieldset/ChoiceFieldsetLegend.js +28 -0
  84. package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.d.ts +6 -0
  85. package/lib-esm/ChoiceFieldset/ChoiceFieldsetList.js +68 -0
  86. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.d.ts +17 -0
  87. package/lib-esm/ChoiceFieldset/ChoiceFieldsetListContext.js +5 -0
  88. package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.d.ts +6 -0
  89. package/lib-esm/ChoiceFieldset/ChoiceFieldsetValidation.js +7 -0
  90. package/lib-esm/ChoiceFieldset/index.d.ts +3 -0
  91. package/lib-esm/ChoiceFieldset/index.js +2 -0
  92. package/lib-esm/RadioInputField.d.ts +9 -0
  93. package/lib-esm/RadioInputField.js +65 -0
  94. package/lib-esm/TextInputField.d.ts +581 -0
  95. package/lib-esm/TextInputField.js +50 -0
  96. package/lib-esm/_InputCaption.d.ts +13 -0
  97. package/lib-esm/_InputCaption.js +16 -0
  98. package/lib-esm/_InputField/InputField.d.ts +39 -0
  99. package/lib-esm/_InputField/InputField.js +70 -0
  100. package/lib-esm/_InputField/InputFieldCaption.d.ts +3 -0
  101. package/lib-esm/_InputField/InputFieldCaption.js +18 -0
  102. package/lib-esm/_InputField/InputFieldLabel.d.ts +9 -0
  103. package/lib-esm/_InputField/InputFieldLabel.js +22 -0
  104. package/lib-esm/_InputField/InputFieldValidation.d.ts +6 -0
  105. package/lib-esm/_InputField/InputFieldValidation.js +7 -0
  106. package/lib-esm/_InputField/ToggleInputField.d.ts +13 -0
  107. package/lib-esm/_InputField/ToggleInputField.js +54 -0
  108. package/lib-esm/_InputField/ToggleInputLeadingVisual.d.ts +3 -0
  109. package/lib-esm/_InputField/ToggleInputLeadingVisual.js +11 -0
  110. package/lib-esm/_InputField/ValidationAnimationContainer.d.ts +6 -0
  111. package/lib-esm/_InputField/ValidationAnimationContainer.js +33 -0
  112. package/lib-esm/_InputField/index.d.ts +1 -0
  113. package/lib-esm/_InputField/index.js +1 -0
  114. package/lib-esm/_InputField/slots.d.ts +13 -0
  115. package/lib-esm/_InputField/slots.js +5 -0
  116. package/lib-esm/_InputLabel.d.ts +8 -0
  117. package/lib-esm/_InputLabel.js +32 -0
  118. package/lib-esm/_InputValidation.d.ts +8 -0
  119. package/lib-esm/_InputValidation.js +43 -0
  120. package/lib-esm/_VisuallyHidden.d.ts +6 -0
  121. package/lib-esm/_VisuallyHidden.js +26 -0
  122. package/lib-esm/index.d.ts +4 -0
  123. package/lib-esm/index.js +4 -0
  124. package/lib-esm/utils/types/FormValidationStatus.d.ts +1 -0
  125. package/lib-esm/utils/types/FormValidationStatus.js +1 -0
  126. package/package.json +2 -2
@@ -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/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,22 @@
1
+ import React from 'react';
2
+ import { ComponentProps } from '../utils/types';
3
+ export interface ChoiceFieldProps {
4
+ /**
5
+ * Whether the field is ready for user input
6
+ */
7
+ disabled?: boolean;
8
+ /**
9
+ * The unique identifier for this field. Used to associate the label, validation text, and caption text
10
+ */
11
+ id?: string;
12
+ }
13
+ declare const ChoiceField: React.FC<ChoiceFieldProps>;
14
+ export declare type ChoiceFieldComponentProps = ComponentProps<typeof ChoiceField>;
15
+ export type { ChoiceFieldInputProps } from './ChoiceFieldInput';
16
+ declare const _default: React.FC<ChoiceFieldProps> & {
17
+ Caption: React.FC<{}>;
18
+ Input: React.FC<import("./ChoiceFieldInput").ChoiceFieldInputProps>;
19
+ Label: React.FC<{}>;
20
+ LeadingVisual: React.FC<{}>;
21
+ };
22
+ export default _default;
@@ -0,0 +1,58 @@
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 _uniqueId = require("../utils/uniqueId");
11
+
12
+ var _ToggleInputLeadingVisual = _interopRequireDefault(require("../_InputField/ToggleInputLeadingVisual"));
13
+
14
+ var _ChoiceFieldCaption = _interopRequireDefault(require("./ChoiceFieldCaption"));
15
+
16
+ var _ChoiceFieldInput = _interopRequireDefault(require("./ChoiceFieldInput"));
17
+
18
+ var _ChoiceFieldLabel = _interopRequireDefault(require("./ChoiceFieldLabel"));
19
+
20
+ var _ChoiceFieldsetListContext = _interopRequireDefault(require("./ChoiceFieldsetListContext"));
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
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); }
25
+
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; }
27
+
28
+ const ChoiceField = ({
29
+ children,
30
+ id,
31
+ disabled
32
+ }) => {
33
+ const choiceFieldsetListContext = (0, _react.useContext)(_ChoiceFieldsetListContext.default);
34
+
35
+ if (choiceFieldsetListContext === null) {
36
+ throw new Error('ChoiceFieldsetListContext returned null');
37
+ }
38
+
39
+ const {
40
+ fieldComponent: FieldComponent
41
+ } = choiceFieldsetListContext;
42
+ const fieldId = id || (0, _uniqueId.uniqueId)();
43
+ return /*#__PURE__*/_react.default.createElement(FieldComponent, {
44
+ id: fieldId,
45
+ disabled: disabled
46
+ }, children);
47
+ };
48
+
49
+ ChoiceField.displayName = "ChoiceField";
50
+
51
+ var _default = Object.assign(ChoiceField, {
52
+ Caption: _ChoiceFieldCaption.default,
53
+ Input: _ChoiceFieldInput.default,
54
+ Label: _ChoiceFieldLabel.default,
55
+ LeadingVisual: _ToggleInputLeadingVisual.default
56
+ });
57
+
58
+ 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,13 @@
1
+ import React from 'react';
2
+ export interface ChoiceFieldInputProps {
3
+ /**
4
+ * The value that is being toggled on
5
+ */
6
+ value: string;
7
+ /**
8
+ * Whether the input is toggled on
9
+ */
10
+ checked?: boolean;
11
+ }
12
+ declare const ChoiceFieldInput: React.FC<ChoiceFieldInputProps>;
13
+ export default ChoiceFieldInput;
@@ -0,0 +1,43 @@
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 ChoiceFieldInput = ({
19
+ checked,
20
+ value
21
+ }) => {
22
+ const choiceFieldsetListContext = (0, _react.useContext)(_ChoiceFieldsetListContext.default);
23
+
24
+ if (choiceFieldsetListContext === null) {
25
+ throw new Error('ChoiceFieldsetListContext returned null');
26
+ }
27
+
28
+ const {
29
+ name,
30
+ onChange,
31
+ fieldComponent: FieldComponent
32
+ } = choiceFieldsetListContext;
33
+ return /*#__PURE__*/_react.default.createElement(FieldComponent.Input, {
34
+ checked: checked,
35
+ value: value,
36
+ name: name,
37
+ onChange: onChange
38
+ });
39
+ };
40
+
41
+ ChoiceFieldInput.displayName = "ChoiceFieldInput";
42
+ var _default = ChoiceFieldInput;
43
+ 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,57 @@
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
+ * The unique identifier for this fieldset. Used to associate the validation text and caption text with the fieldset
7
+ */
8
+ id?: string;
9
+ /**
10
+ * The unique identifier used to associate the inputs with eachother
11
+ */
12
+ name?: string;
13
+ /**
14
+ * The callback that is called when a user toggles a choice on or off
15
+ */
16
+ onSelect?: (selectedValues?: string[]) => void;
17
+ /**
18
+ * Whether this field must have a value for the user to complete their task
19
+ */
20
+ required?: boolean;
21
+ /**
22
+ * A map of validation statuses and their associated validation keys. When one of the validation keys is passed to the `validationResult` prop,
23
+ * the associated validation message will be rendered in the correct style
24
+ */
25
+ validationMap?: T;
26
+ /**
27
+ * The key of the validation message to show
28
+ */
29
+ validationResult?: keyof T;
30
+ }
31
+ export interface ChoiceFieldsetContext extends ChoiceFieldsetProps {
32
+ captionId: string;
33
+ validationMessageId: string;
34
+ }
35
+ declare const Slot: React.FC<{
36
+ name: "Caption" | "ChoiceList" | "Legend" | "Validation";
37
+ children: React.ReactNode;
38
+ }>;
39
+ export { Slot };
40
+ declare const ChoiceFieldset: <T extends Record<string, FormValidationStatus>>({ children, id, name, onSelect, required, validationMap, validationResult }: ChoiceFieldsetProps<T>) => JSX.Element;
41
+ export declare type InputFieldComponentProps = ComponentProps<typeof ChoiceFieldset>;
42
+ export type { ChoiceFieldsetListProps } from './ChoiceFieldsetList';
43
+ export type { ChoiceFieldsetLegendProps } from './ChoiceFieldsetLegend';
44
+ export type { ChoiceFieldProps } from './ChoiceField';
45
+ declare const _default: (<T extends Record<string, FormValidationStatus>>({ children, id, name, onSelect, required, validationMap, validationResult }: ChoiceFieldsetProps<T>) => JSX.Element) & {
46
+ ChoiceField: React.FC<import("./ChoiceField").ChoiceFieldProps> & {
47
+ Caption: React.FC<{}>;
48
+ Input: React.FC<import("./ChoiceFieldInput").ChoiceFieldInputProps>;
49
+ Label: React.FC<{}>;
50
+ LeadingVisual: React.FC<{}>;
51
+ };
52
+ Caption: React.FC<{}>;
53
+ Legend: React.FC<import("./ChoiceFieldsetLegend").ChoiceFieldsetLegendProps>;
54
+ List: React.FC<import("./ChoiceFieldsetList").ChoiceFieldsetListProps>;
55
+ Validation: React.FC<import("./ChoiceFieldsetValidation").ChoiceFieldsetValidationProps>;
56
+ };
57
+ 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 _ChoiceField = _interopRequireDefault(require("./ChoiceField"));
21
+
22
+ var _ChoiceFieldsetCaption = _interopRequireDefault(require("./ChoiceFieldsetCaption"));
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)(['Caption', 'ChoiceList', 'Legend', 'Validation']);
36
+ exports.Slot = Slot;
37
+
38
+ const ChoiceFieldset = ({
39
+ children,
40
+ id,
41
+ name,
42
+ onSelect,
43
+ required,
44
+ validationMap,
45
+ validationResult
46
+ }) => {
47
+ var _React$Children$map;
48
+
49
+ const fieldsetId = id || (0, _uniqueId.uniqueId)();
50
+ 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);
51
+ const validationChildToRender = validationChildren === null || validationChildren === void 0 ? void 0 : validationChildren.find(child => child.props.validationKey === validationResult);
52
+ const captionId = `${fieldsetId}-caption`;
53
+ const validationMessageId = validationChildToRender ? `${fieldsetId}-validationMsg` : undefined;
54
+ return /*#__PURE__*/_react.default.createElement(Slots, {
55
+ context: {
56
+ captionId,
57
+ name,
58
+ onSelect,
59
+ required,
60
+ validationMessageId
61
+ }
62
+ }, slots => {
63
+ const isLegendVisible = /*#__PURE__*/_react.default.isValidElement(slots.Legend) && slots.Legend.props.isVisible;
64
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_.Box, {
65
+ as: "fieldset",
66
+ border: "none",
67
+ margin: 0,
68
+ padding: 0,
69
+ "aria-describedby": [validationMessageId, captionId].filter(Boolean).join(' ')
70
+ }, _react.default.Children.toArray(children).filter(child => /*#__PURE__*/_react.default.isValidElement(child) && child.type !== _ChoiceFieldsetValidation.default), /*#__PURE__*/_react.default.createElement(_.Box, {
71
+ mb: isLegendVisible ? 3 : undefined
72
+ }, slots.Legend), slots.ChoiceList), (validationChildToRender || slots.Caption) && /*#__PURE__*/_react.default.createElement(_.Box, {
73
+ mt: 3
74
+ }, validationChildToRender && validationMap && validationResult && validationMessageId && /*#__PURE__*/_react.default.createElement(_ValidationAnimationContainer.default, {
75
+ show: true
76
+ }, /*#__PURE__*/_react.default.createElement(_InputValidation.default, {
77
+ validationStatus: validationMap[validationResult],
78
+ id: validationMessageId
79
+ }, validationChildToRender)), /*#__PURE__*/_react.default.createElement(_.Box, {
80
+ mt: validationChildToRender ? 1 : undefined
81
+ }, slots.Caption)));
82
+ });
83
+ };
84
+
85
+ ChoiceFieldset.displayName = "ChoiceFieldset";
86
+
87
+ var _default = Object.assign(ChoiceFieldset, {
88
+ ChoiceField: _ChoiceField.default,
89
+ Caption: _ChoiceFieldsetCaption.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 ChoiceFieldsetCaption: React.FC;
3
+ export default ChoiceFieldsetCaption;
@@ -0,0 +1,28 @@
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 _InputCaption = _interopRequireDefault(require("../_InputCaption"));
11
+
12
+ var _ChoiceFieldset = require("./ChoiceFieldset");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ const ChoiceFieldsetCaption = ({
17
+ children
18
+ }) => /*#__PURE__*/_react.default.createElement(_ChoiceFieldset.Slot, {
19
+ name: "Caption"
20
+ }, ({
21
+ captionId
22
+ }) => /*#__PURE__*/_react.default.createElement(_InputCaption.default, {
23
+ id: captionId
24
+ }, children));
25
+
26
+ ChoiceFieldsetCaption.displayName = "ChoiceFieldsetCaption";
27
+ var _default = ChoiceFieldsetCaption;
28
+ exports.default = _default;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface ChoiceFieldsetLegendProps {
3
+ visuallyHidden?: boolean;
4
+ }
5
+ declare const ChoiceFieldsetLegend: React.FC<ChoiceFieldsetLegendProps>;
6
+ export default ChoiceFieldsetLegend;
@@ -0,0 +1,41 @@
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 _VisuallyHidden = _interopRequireDefault(require("../_VisuallyHidden"));
13
+
14
+ var _ChoiceFieldset = require("./ChoiceFieldset");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ const ChoiceFieldsetLegend = ({
19
+ children,
20
+ visuallyHidden
21
+ }) => /*#__PURE__*/_react.default.createElement(_ChoiceFieldset.Slot, {
22
+ name: "Legend"
23
+ }, ({
24
+ required
25
+ }) => /*#__PURE__*/_react.default.createElement(_VisuallyHidden.default, {
26
+ isVisible: !visuallyHidden,
27
+ title: required ? 'required field' : undefined,
28
+ sx: {
29
+ fontSize: 2,
30
+ padding: 0
31
+ }
32
+ }, required ? /*#__PURE__*/_react.default.createElement(_.Box, {
33
+ display: "flex",
34
+ as: "span"
35
+ }, /*#__PURE__*/_react.default.createElement(_.Box, {
36
+ mr: 1
37
+ }, children), /*#__PURE__*/_react.default.createElement("span", null, "*")) : children));
38
+
39
+ ChoiceFieldsetLegend.displayName = "ChoiceFieldsetLegend";
40
+ var _default = ChoiceFieldsetLegend;
41
+ exports.default = _default;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export interface ChoiceFieldsetListProps {
3
+ selectionVariant?: 'single' | 'multiple';
4
+ }
5
+ declare const ChoiceFieldsetList: React.FC<ChoiceFieldsetListProps>;
6
+ export default ChoiceFieldsetList;