@pingux/astro 1.28.2-alpha.1 → 1.29.0-alpha.0

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 (85) hide show
  1. package/lib/cjs/components/ArrayField/ArrayField.js +21 -22
  2. package/lib/cjs/components/ArrayField/ArrayField.stories.js +48 -26
  3. package/lib/cjs/components/CheckboxField/CheckboxField.js +11 -39
  4. package/lib/cjs/components/CheckboxField/CheckboxField.stories.js +24 -32
  5. package/lib/cjs/components/ColorField/ColorField.js +27 -20
  6. package/lib/cjs/components/ColorField/ColorField.stories.js +28 -8
  7. package/lib/cjs/components/ComboBox/ComboBoxInput.js +31 -39
  8. package/lib/cjs/components/ComboBoxField/ComboBoxField.js +30 -55
  9. package/lib/cjs/components/ComboBoxField/ComboBoxField.stories.js +65 -45
  10. package/lib/cjs/components/FileInputField/FileInputField.js +33 -27
  11. package/lib/cjs/components/FileInputField/FileInputField.stories.js +27 -7
  12. package/lib/cjs/components/FileInputField/FileSelect.js +41 -10
  13. package/lib/cjs/components/ImageUploadField/ImageUploadField.js +35 -15
  14. package/lib/cjs/components/ImageUploadField/ImageUploadField.stories.js +34 -14
  15. package/lib/cjs/components/LinkSelectField/LinkSelectField.js +18 -20
  16. package/lib/cjs/components/LinkSelectField/LinkSelectField.stories.js +71 -53
  17. package/lib/cjs/components/Messages/Message.js +23 -7
  18. package/lib/cjs/components/Messages/Messages.test.js +25 -70
  19. package/lib/cjs/components/MultivaluesField/MultivaluesField.js +21 -12
  20. package/lib/cjs/components/MultivaluesField/MultivaluesField.stories.js +26 -6
  21. package/lib/cjs/components/NumberField/NumberField.js +15 -13
  22. package/lib/cjs/components/NumberField/NumberField.stories.js +25 -5
  23. package/lib/cjs/components/PasswordField/PasswordField.js +15 -27
  24. package/lib/cjs/components/PasswordField/PasswordField.stories.js +6 -4
  25. package/lib/cjs/components/RadioGroupField/RadioGroupField.js +17 -34
  26. package/lib/cjs/components/RadioGroupField/RadioGroupField.stories.js +25 -30
  27. package/lib/cjs/components/SearchField/SearchField.js +36 -55
  28. package/lib/cjs/components/SearchField/SearchField.stories.js +35 -24
  29. package/lib/cjs/components/SelectField/SelectField.js +27 -7
  30. package/lib/cjs/components/SelectField/SelectField.stories.js +73 -53
  31. package/lib/cjs/components/SelectFieldBase/SelectFieldBase.js +37 -25
  32. package/lib/cjs/components/SwitchField/SwitchField.js +43 -62
  33. package/lib/cjs/components/SwitchField/SwitchField.stories.js +26 -26
  34. package/lib/cjs/components/TextAreaField/TextAreaField.js +16 -20
  35. package/lib/cjs/components/TextAreaField/TextAreaField.stories.js +29 -11
  36. package/lib/cjs/components/TextField/TextField.js +11 -15
  37. package/lib/cjs/components/TextField/TextField.stories.js +30 -10
  38. package/lib/cjs/hooks/useField/useField.js +9 -21
  39. package/lib/cjs/recipes/LogoTabs.stories.js +50 -47
  40. package/lib/cjs/recipes/RadioButtonsWithLinks.stories.js +2 -1
  41. package/lib/cjs/utils/devUtils/props/ariaAttributes.js +116 -0
  42. package/lib/cjs/utils/devUtils/props/ariaAttributes.test.js +65 -0
  43. package/lib/components/ArrayField/ArrayField.js +16 -14
  44. package/lib/components/ArrayField/ArrayField.stories.js +17 -3
  45. package/lib/components/CheckboxField/CheckboxField.js +6 -32
  46. package/lib/components/CheckboxField/CheckboxField.stories.js +17 -32
  47. package/lib/components/ColorField/ColorField.js +22 -16
  48. package/lib/components/ColorField/ColorField.stories.js +18 -3
  49. package/lib/components/ComboBox/ComboBoxInput.js +24 -32
  50. package/lib/components/ComboBoxField/ComboBoxField.js +25 -51
  51. package/lib/components/ComboBoxField/ComboBoxField.stories.js +17 -3
  52. package/lib/components/FileInputField/FileInputField.js +29 -24
  53. package/lib/components/FileInputField/FileInputField.stories.js +18 -3
  54. package/lib/components/FileInputField/FileSelect.js +32 -10
  55. package/lib/components/ImageUploadField/ImageUploadField.js +23 -8
  56. package/lib/components/ImageUploadField/ImageUploadField.stories.js +18 -3
  57. package/lib/components/LinkSelectField/LinkSelectField.js +12 -11
  58. package/lib/components/LinkSelectField/LinkSelectField.stories.js +17 -4
  59. package/lib/components/Messages/Message.js +22 -6
  60. package/lib/components/Messages/Messages.test.js +25 -67
  61. package/lib/components/MultivaluesField/MultivaluesField.js +16 -9
  62. package/lib/components/MultivaluesField/MultivaluesField.stories.js +18 -3
  63. package/lib/components/NumberField/NumberField.js +5 -4
  64. package/lib/components/NumberField/NumberField.stories.js +17 -2
  65. package/lib/components/PasswordField/PasswordField.js +5 -11
  66. package/lib/components/PasswordField/PasswordField.stories.js +4 -3
  67. package/lib/components/RadioGroupField/RadioGroupField.js +12 -28
  68. package/lib/components/RadioGroupField/RadioGroupField.stories.js +17 -27
  69. package/lib/components/SearchField/SearchField.js +28 -48
  70. package/lib/components/SearchField/SearchField.stories.js +20 -14
  71. package/lib/components/SelectField/SelectField.js +18 -3
  72. package/lib/components/SelectField/SelectField.stories.js +18 -4
  73. package/lib/components/SelectFieldBase/SelectFieldBase.js +33 -25
  74. package/lib/components/SwitchField/SwitchField.js +40 -57
  75. package/lib/components/SwitchField/SwitchField.stories.js +18 -23
  76. package/lib/components/TextAreaField/TextAreaField.js +7 -9
  77. package/lib/components/TextAreaField/TextAreaField.stories.js +19 -5
  78. package/lib/components/TextField/TextField.js +4 -6
  79. package/lib/components/TextField/TextField.stories.js +19 -4
  80. package/lib/hooks/useField/useField.js +6 -16
  81. package/lib/recipes/LogoTabs.stories.js +50 -48
  82. package/lib/recipes/RadioButtonsWithLinks.stories.js +2 -1
  83. package/lib/utils/devUtils/props/ariaAttributes.js +85 -0
  84. package/lib/utils/devUtils/props/ariaAttributes.test.js +50 -0
  85. package/package.json +1 -1
@@ -9,6 +9,8 @@ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
9
9
  import _Object$values from "@babel/runtime-corejs3/core-js-stable/object/values";
10
10
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
11
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
12
+ import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
13
+ var _excluded = ["columnStyleProps", "defaultText", "fieldContainerProps", "fieldControlProps", "fieldLabelProps", "helperText", "isLoadingInitial", "label", "labelMode", "name", "overlay", "placeholder", "slots", "state", "status", "trigger", "triggerProps", "triggerRef", "valueProps"];
12
14
 
13
15
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
16
 
@@ -18,6 +20,7 @@ import React, { forwardRef } from 'react';
18
20
  import PropTypes from 'prop-types';
19
21
  import { HiddenSelect } from '@react-aria/select';
20
22
  import MenuDown from 'mdi-react/MenuDownIcon';
23
+ import { ariaAttributesBasePropTypes, getAriaAttributeProps } from '../../utils/devUtils/props/ariaAttributes';
21
24
  import statuses from '../../utils/devUtils/constants/statuses';
22
25
  import Box from '../Box';
23
26
  import Button from '../Button';
@@ -36,39 +39,44 @@ import Text from '../Text';
36
39
  */
37
40
 
38
41
  import { jsx as ___EmotionJSX } from "@emotion/react";
39
- var SelectFieldBase = /*#__PURE__*/forwardRef(function (props, ref) {
40
- var defaultText = props.defaultText,
41
- helperText = props.helperText,
42
- label = props.label,
43
- name = props.name,
44
- placeholder = props.placeholder,
45
- status = props.status,
46
- slots = props.slots,
47
- columnStyleProps = props.columnStyleProps,
48
- fieldContainerProps = props.fieldContainerProps,
49
- fieldControlProps = props.fieldControlProps,
50
- fieldLabelProps = props.fieldLabelProps,
51
- isLoadingInitial = props.isLoadingInitial,
52
- overlay = props.overlay,
53
- state = props.state,
54
- trigger = props.trigger,
55
- triggerProps = props.triggerProps,
56
- triggerRef = props.triggerRef,
57
- valueProps = props.valueProps;
42
+ var SelectFieldBase = /*#__PURE__*/forwardRef(function (_ref, ref) {
43
+ var columnStyleProps = _ref.columnStyleProps,
44
+ defaultText = _ref.defaultText,
45
+ fieldContainerProps = _ref.fieldContainerProps,
46
+ fieldControlProps = _ref.fieldControlProps,
47
+ fieldLabelProps = _ref.fieldLabelProps,
48
+ helperText = _ref.helperText,
49
+ isLoadingInitial = _ref.isLoadingInitial,
50
+ label = _ref.label,
51
+ labelMode = _ref.labelMode,
52
+ name = _ref.name,
53
+ overlay = _ref.overlay,
54
+ placeholder = _ref.placeholder,
55
+ slots = _ref.slots,
56
+ state = _ref.state,
57
+ status = _ref.status,
58
+ trigger = _ref.trigger,
59
+ triggerProps = _ref.triggerProps,
60
+ triggerRef = _ref.triggerRef,
61
+ valueProps = _ref.valueProps,
62
+ others = _objectWithoutProperties(_ref, _excluded);
63
+
64
+ var _getAriaAttributeProp = getAriaAttributeProps(others),
65
+ ariaProps = _getAriaAttributeProp.ariaProps;
58
66
 
59
67
  var defaultTrigger = ___EmotionJSX(Box, {
60
68
  className: fieldControlProps.className,
61
69
  variant: "forms.input.container"
62
70
  }, ___EmotionJSX(Button, _extends({
71
+ className: fieldControlProps.className,
63
72
  ref: triggerRef,
64
- variant: "forms.select",
65
- className: fieldControlProps.className
66
- }, triggerProps), ___EmotionJSX(Box, _extends({
73
+ variant: "forms.select"
74
+ }, triggerProps, ariaProps), ___EmotionJSX(Box, _extends({
67
75
  as: "span",
68
76
  variant: "forms.select.currentValue"
69
77
  }, valueProps), state.selectedItem ? state.selectedItem.rendered : ___EmotionJSX(Text, {
70
78
  variant: "placeholder"
71
- }, props.labelMode === modes.FLOAT ? '' : placeholder || defaultText)), isLoadingInitial && ___EmotionJSX(Loader, {
79
+ }, labelMode === modes.FLOAT ? '' : placeholder || defaultText)), isLoadingInitial && ___EmotionJSX(Loader, {
72
80
  variant: "loader.withinInput"
73
81
  }), ___EmotionJSX(Box, {
74
82
  as: "span",
@@ -96,7 +104,7 @@ var SelectFieldBase = /*#__PURE__*/forwardRef(function (props, ref) {
96
104
  status: status
97
105
  }, helperText));
98
106
  });
99
- SelectFieldBase.propTypes = {
107
+ SelectFieldBase.propTypes = _objectSpread({
100
108
  /** Default text rendered if no option is selected. Deprecated. */
101
109
  defaultText: PropTypes.string,
102
110
 
@@ -165,5 +173,5 @@ SelectFieldBase.propTypes = {
165
173
 
166
174
  /** Props for the element representing the selected value. */
167
175
  valueProps: PropTypes.shape({})
168
- };
176
+ }, ariaAttributesBasePropTypes);
169
177
  export default SelectFieldBase;
@@ -10,7 +10,7 @@ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
10
  import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
11
11
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
12
12
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
13
- var _excluded = ["label", "helperText", "isDefaultSelected", "isSelected", "onChange", "value", "name", "id", "isDisabled", "isReadOnly", "isRequired", "hasAutoFocus", "onFocus", "onBlur", "onFocusChange", "onKeyDown", "onKeyUp", "status", "aria-label", "aria-labelledby", "aria-describedby", "aria-details", "controlProps"];
13
+ var _excluded = ["label", "helperText", "isDefaultSelected", "isSelected", "onChange", "value", "name", "id", "isDisabled", "isReadOnly", "isRequired", "hasAutoFocus", "onFocus", "onBlur", "onFocusChange", "onKeyDown", "onKeyUp", "status", "controlProps"];
14
14
 
15
15
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
16
 
@@ -22,12 +22,10 @@ import omit from 'lodash/omit';
22
22
  import { useToggleState } from '@react-stately/toggle';
23
23
  import { useSwitch } from '@react-aria/switch';
24
24
  import { usePress } from '@react-aria/interactions';
25
+ import { Box, FieldHelperText, Label, Switch } from '../../';
26
+ import { ariaAttributesBasePropTypes } from '../../utils/devUtils/props/ariaAttributes';
25
27
  import { useField, usePropWarning } from '../../hooks';
26
28
  import statuses from '../../utils/devUtils/constants/statuses';
27
- import Box from '../Box';
28
- import FieldHelperText from '../FieldHelperText';
29
- import Label from '../Label';
30
- import Switch from '../Switch';
31
29
  /**
32
30
  * Combines a switch, label, and helper text for a complete, form-ready solution.
33
31
  *
@@ -55,10 +53,6 @@ var SwitchField = /*#__PURE__*/forwardRef(function (props, ref) {
55
53
  onKeyDown = props.onKeyDown,
56
54
  onKeyUp = props.onKeyUp,
57
55
  status = props.status,
58
- ariaLabel = props['aria-label'],
59
- ariaLabelledby = props['aria-labelledby'],
60
- ariaDescribedby = props['aria-describedby'],
61
- ariaDetails = props['aria-details'],
62
56
  controlProps = props.controlProps,
63
57
  others = _objectWithoutProperties(props, _excluded);
64
58
 
@@ -98,18 +92,31 @@ var SwitchField = /*#__PURE__*/forwardRef(function (props, ref) {
98
92
  fieldControlProps = _useField.fieldControlProps,
99
93
  fieldLabelProps = _useField.fieldLabelProps;
100
94
 
95
+ var unhandledAriaProps = {
96
+ 'aria-controls': others['aria-controls'],
97
+ 'aria-errormessage': others['aria-errormessage']
98
+ };
101
99
  return ___EmotionJSX(Box, fieldContainerProps, ___EmotionJSX(Label, _extends({
102
100
  variant: "forms.switch.label"
103
- }, fieldLabelProps), ___EmotionJSX(Switch, {
101
+ }, fieldLabelProps), ___EmotionJSX(Switch, _extends({
104
102
  ref: switchRef,
105
103
  inputProps: fieldControlProps
106
- }), label), helperText && ___EmotionJSX(FieldHelperText, {
104
+ }, unhandledAriaProps)), label), helperText && ___EmotionJSX(FieldHelperText, {
107
105
  status: status
108
106
  }, helperText));
109
107
  });
110
- SwitchField.propTypes = {
111
- /** The rendered label for the field. */
112
- label: PropTypes.node,
108
+ SwitchField.propTypes = _objectSpread({
109
+ /** A list of class names to apply to the input element. */
110
+ className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
111
+
112
+ /** Props object that is spread directly into the root (top-level) element. */
113
+ containerProps: PropTypes.shape({}),
114
+
115
+ /** Props object that is spread directly into the input element. */
116
+ controlProps: PropTypes.shape({}),
117
+
118
+ /** Whether the element should receive focus on render. */
119
+ hasAutoFocus: PropTypes.bool,
113
120
 
114
121
  /** Text rendered below the input. */
115
122
  helperText: PropTypes.node,
@@ -123,21 +130,6 @@ SwitchField.propTypes = {
123
130
  /** Whether the element should be selected (uncontrolled). */
124
131
  isDefaultSelected: PropTypes.bool,
125
132
 
126
- /** Whether the element should be selected (controlled). */
127
- isSelected: PropTypes.bool,
128
-
129
- /** The name of the input element, used when submitting an HTML form. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefname). */
130
- name: PropTypes.string,
131
-
132
- /** Handler that is called when the element's selection state changes. */
133
- onChange: PropTypes.func,
134
-
135
- /** The value of the input element, used when submitting an HTML form. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefvalue). */
136
- value: PropTypes.string,
137
-
138
- /** A list of class names to apply to the input element. */
139
- className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
140
-
141
133
  /** Whether the field is disabled. */
142
134
  isDisabled: PropTypes.bool,
143
135
 
@@ -147,15 +139,27 @@ SwitchField.propTypes = {
147
139
  /** Whether user input is required on the input before form submission. */
148
140
  isRequired: PropTypes.bool,
149
141
 
150
- /** Whether the element should receive focus on render. */
151
- hasAutoFocus: PropTypes.bool,
142
+ /** Whether the element should be selected (controlled). */
143
+ isSelected: PropTypes.bool,
152
144
 
153
- /** Handler that is called when the element receives focus. */
154
- onFocus: PropTypes.func,
145
+ /** The rendered label for the field. */
146
+ label: PropTypes.node,
147
+
148
+ /** Props object that is spread directly into the label element. */
149
+ labelProps: PropTypes.shape({}),
150
+
151
+ /** The name of the input element, used when submitting an HTML form. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefname). */
152
+ name: PropTypes.string,
155
153
 
156
154
  /** Handler that is called when the element loses focus. */
157
155
  onBlur: PropTypes.func,
158
156
 
157
+ /** Handler that is called when the element's selection state changes. */
158
+ onChange: PropTypes.func,
159
+
160
+ /** Handler that is called when the element receives focus. */
161
+ onFocus: PropTypes.func,
162
+
159
163
  /** Handler that is called when the element's focus status changes. */
160
164
  onFocusChange: PropTypes.func,
161
165
 
@@ -168,30 +172,9 @@ SwitchField.propTypes = {
168
172
  /** Determines the textarea status indicator and helper text styling. */
169
173
  status: PropTypes.oneOf(_Object$values(statuses)),
170
174
 
171
- /** Defines a string value that labels the current element. */
172
- 'aria-label': PropTypes.string,
173
-
174
- /** Identifies the element (or elements) that labels the current element. */
175
- 'aria-labelledby': PropTypes.string,
176
-
177
- /** Identifies the element (or elements) that describes the object. */
178
- 'aria-describedby': PropTypes.string,
179
-
180
- /**
181
- * Identifies the element (or elements) that provide a detailed, extended description for the
182
- * object.
183
- */
184
- 'aria-details': PropTypes.string,
185
-
186
- /** Props object that is spread directly into the root (top-level) element. */
187
- containerProps: PropTypes.shape({}),
188
-
189
- /** Props object that is spread directly into the input element. */
190
- controlProps: PropTypes.shape({}),
191
-
192
- /** Props object that is spread directly into the label element. */
193
- labelProps: PropTypes.shape({})
194
- };
175
+ /** The value of the input element, used when submitting an HTML form. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefvalue). */
176
+ value: PropTypes.string
177
+ }, ariaAttributesBasePropTypes);
195
178
  SwitchField.defaultProps = {
196
179
  isDisabled: false,
197
180
  isReadOnly: false,
@@ -1,14 +1,29 @@
1
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
2
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
3
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
4
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
5
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
6
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
7
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
8
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
1
9
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
10
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
11
+
12
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
+
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
15
+
2
16
  import React, { useState } from 'react';
3
17
  import { Pressable } from '@react-aria/interactions';
4
18
  import SwitchField from '.';
5
- import statuses from '../../utils/devUtils/constants/statuses';
19
+ import { ariaAttributeBaseArgTypes } from '../../utils/devUtils/props/ariaAttributes';
6
20
  import { Tooltip, TooltipTrigger } from '../../index';
21
+ import statuses from '../../utils/devUtils/constants/statuses';
7
22
  import { jsx as ___EmotionJSX } from "@emotion/react";
8
23
  export default {
9
24
  title: 'Form/SwitchField',
10
25
  component: SwitchField,
11
- argTypes: {
26
+ argTypes: _objectSpread({
12
27
  label: {
13
28
  control: {
14
29
  type: 'text'
@@ -46,32 +61,12 @@ export default {
46
61
  labelProps: {},
47
62
  controlProps: {},
48
63
  id: {},
49
- 'aria-label': {
50
- control: {
51
- type: 'text'
52
- }
53
- },
54
- 'aria-labelledby': {
55
- control: {
56
- type: 'text'
57
- }
58
- },
59
- 'aria-describedby': {
60
- control: {
61
- type: 'text'
62
- }
63
- },
64
- 'aria-details': {
65
- control: {
66
- type: 'text'
67
- }
68
- },
69
64
  isSelected: {
70
65
  control: {
71
66
  type: 'none'
72
67
  }
73
68
  }
74
- }
69
+ }, ariaAttributeBaseArgTypes)
75
70
  };
76
71
  export var Default = function Default(args) {
77
72
  return ___EmotionJSX(SwitchField, args);
@@ -17,12 +17,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
17
17
  import React, { forwardRef, useRef, useImperativeHandle, useEffect, useCallback } from 'react';
18
18
  import PropTypes from 'prop-types';
19
19
  import { useLayoutEffect, useResizeObserver } from '@react-aria/utils';
20
+ import { Box, FieldHelperText, Label, TextArea } from '../../';
21
+ import { ariaAttributesBasePropTypes } from '../../utils/devUtils/props/ariaAttributes';
20
22
  import { useColumnStyles, useField, useLabelHeight, usePropWarning } from '../../hooks';
21
23
  import statuses from '../../utils/devUtils/constants/statuses';
22
- import Box from '../Box';
23
- import FieldHelperText from '../FieldHelperText';
24
- import Label from '../Label';
25
- import TextArea from '../TextArea';
26
24
  /**
27
25
  * Combines a textarea, label, and helper text for a complete, form-ready solution.
28
26
  */
@@ -45,12 +43,12 @@ var TextAreaField = /*#__PURE__*/forwardRef(function (props, ref) {
45
43
  fieldControlProps = _useField.fieldControlProps,
46
44
  fieldLabelProps = _useField.fieldLabelProps;
47
45
 
48
- var textAreaRef = useRef();
49
- var labelRef = useRef();
50
- var labelWrapperRef = useRef();
51
46
  var containerRef = useRef();
52
47
  var inputContainerRef = useRef();
48
+ var labelRef = useRef();
49
+ var labelWrapperRef = useRef();
53
50
  var slotContainer = useRef();
51
+ var textAreaRef = useRef();
54
52
  usePropWarning(props, 'disabled', 'isDisabled');
55
53
  /* istanbul ignore next */
56
54
 
@@ -144,7 +142,7 @@ var TextAreaField = /*#__PURE__*/forwardRef(function (props, ref) {
144
142
  status: status
145
143
  }, helperText));
146
144
  });
147
- TextAreaField.propTypes = {
145
+ TextAreaField.propTypes = _objectSpread({
148
146
  /** The rendered label for the field. */
149
147
  label: PropTypes.node,
150
148
 
@@ -245,7 +243,7 @@ TextAreaField.propTypes = {
245
243
  /** The given node will be inserted into the field container. */
246
244
  inContainer: PropTypes.node
247
245
  })
248
- };
246
+ }, ariaAttributesBasePropTypes);
249
247
  TextAreaField.defaultProps = {
250
248
  hasAutoFocus: false,
251
249
  isDisabled: false,
@@ -1,18 +1,32 @@
1
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
2
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
3
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
4
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
5
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
6
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
7
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
8
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
1
9
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
2
10
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
3
11
  import _Object$values from "@babel/runtime-corejs3/core-js-stable/object/values";
12
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
13
+
14
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
+
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
17
+
4
18
  import React, { useState } from 'react';
5
19
  import SearchIcon from 'mdi-react/SearchIcon';
6
20
  import TextAreaField from '.';
7
- import Box from '../Box';
8
- import Icon from '../Icon';
9
- import statuses from '../../utils/devUtils/constants/statuses';
21
+ import { Box, Icon } from '../../';
22
+ import { ariaAttributeBaseArgTypes } from '../../utils/devUtils/props/ariaAttributes';
10
23
  import { modes as labelModes } from '../Label/constants';
24
+ import statuses from '../../utils/devUtils/constants/statuses';
11
25
  import { jsx as ___EmotionJSX } from "@emotion/react";
12
26
  export default {
13
27
  title: 'Form/TextAreaField',
14
28
  component: TextAreaField,
15
- argTypes: {
29
+ argTypes: _objectSpread({
16
30
  label: {
17
31
  control: {
18
32
  type: 'text'
@@ -63,7 +77,7 @@ export default {
63
77
  type: 'none'
64
78
  }
65
79
  }
66
- }
80
+ }, ariaAttributeBaseArgTypes)
67
81
  };
68
82
 
69
83
  var IconSlot = ___EmotionJSX(Box, {
@@ -16,12 +16,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
16
16
 
17
17
  import React, { forwardRef, useRef, useImperativeHandle } from 'react';
18
18
  import PropTypes from 'prop-types';
19
+ import { Box, FieldHelperText, Input, Label } from '../../';
20
+ import { ariaAttributesBasePropTypes } from '../../utils/devUtils/props/ariaAttributes';
19
21
  import { useField, useLabelHeight, usePropWarning } from '../../hooks';
20
22
  import statuses from '../../utils/devUtils/constants/statuses';
21
- import Box from '../Box';
22
- import FieldHelperText from '../FieldHelperText';
23
- import Input from '../Input';
24
- import Label from '../Label';
25
23
  import useColumnStyles from '../../hooks/useColumnStyles';
26
24
  /**
27
25
  * Combines a text input, label, and helper text for a complete, form-ready solution.
@@ -75,7 +73,7 @@ var TextField = /*#__PURE__*/forwardRef(function (props, ref) {
75
73
  status: status
76
74
  }, helperText));
77
75
  });
78
- TextField.propTypes = {
76
+ TextField.propTypes = _objectSpread({
79
77
  /** The rendered label for the field. */
80
78
  label: PropTypes.node,
81
79
 
@@ -174,7 +172,7 @@ TextField.propTypes = {
174
172
 
175
173
  /** Props object that is spread directly into the input wrapper element. */
176
174
  wrapperProps: PropTypes.shape({})
177
- };
175
+ }, ariaAttributesBasePropTypes);
178
176
  TextField.defaultProps = {
179
177
  hasAutoFocus: false,
180
178
  isDisabled: false,
@@ -1,21 +1,36 @@
1
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
2
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
3
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
4
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
5
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
6
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
7
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
8
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
1
9
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
2
10
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
3
11
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
4
12
  import _Object$values from "@babel/runtime-corejs3/core-js-stable/object/values";
13
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
5
14
  var _excluded = ["variant"];
15
+
16
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
+
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
19
+
6
20
  import React, { useState } from 'react';
7
21
  import isEmpty from 'lodash/isEmpty';
8
22
  import TextField from '.';
23
+ import { Box } from '../../';
24
+ import { ariaAttributeBaseArgTypes } from '../../utils/devUtils/props/ariaAttributes';
9
25
  import { modes as labelModes } from '../Label/constants';
26
+ import CopyButton from '../CopyText/CopyButton';
10
27
  import statuses from '../../utils/devUtils/constants/statuses.js';
11
- import Box from '../Box';
12
28
  import useCopyToClipboard from '../../hooks/useCopyToClipboard';
13
- import CopyButton from '../CopyText/CopyButton';
14
29
  import { jsx as ___EmotionJSX } from "@emotion/react";
15
30
  export default {
16
31
  title: 'Form/TextField',
17
32
  component: TextField,
18
- argTypes: {
33
+ argTypes: _objectSpread({
19
34
  labelMode: {
20
35
  control: {
21
36
  type: 'select',
@@ -35,7 +50,7 @@ export default {
35
50
  },
36
51
  defaultValue: statuses.DEFAULT
37
52
  }
38
- }
53
+ }, ariaAttributeBaseArgTypes)
39
54
  };
40
55
  export var Default = function Default(_ref) {
41
56
  var variant = _ref.variant,
@@ -6,8 +6,6 @@ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-sta
6
6
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
7
7
  import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
8
8
  import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
9
- import _Object$entries from "@babel/runtime-corejs3/core-js-stable/object/entries";
10
- import _reduceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/reduce";
11
9
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
12
10
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
13
11
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
@@ -15,7 +13,7 @@ var _excluded = ["autocomplete", "autoComplete", "autoCorrect", "children", "cla
15
13
 
16
14
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
15
 
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
19
17
 
20
18
  import { useEffect, useState } from 'react';
21
19
  import omit from 'lodash/omit';
@@ -24,6 +22,7 @@ import { useLabel } from '@react-aria/label';
24
22
  import { useFocusWithin } from '@react-aria/interactions';
25
23
  import { useFocusRing } from '@react-aria/focus';
26
24
  import { mergeProps } from '@react-aria/utils';
25
+ import { getAriaAttributeProps } from '../../utils/devUtils/props/ariaAttributes';
27
26
  import statuses from '../../utils/devUtils/constants/statuses';
28
27
  import { useStatusClasses } from '../../hooks';
29
28
  import { modes as labelModes } from '../../components/Label/constants';
@@ -34,8 +33,6 @@ import { modes as labelModes } from '../../components/Label/constants';
34
33
  */
35
34
 
36
35
  var useField = function useField() {
37
- var _context;
38
-
39
36
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
40
37
 
41
38
  var autocomplete = props.autocomplete,
@@ -142,14 +139,9 @@ var useField = function useField() {
142
139
  }, "is-".concat(status), true), statusClasses)),
143
140
  classNames = _useStatusClasses.classNames;
144
141
 
145
- var ariaProps = _reduceInstanceProperty(_context = _Object$entries(others)).call(_context, function (acc, _ref) {
146
- var _ref2 = _slicedToArray(_ref, 2),
147
- key = _ref2[0],
148
- val = _ref2[1];
149
-
150
- if (key.match(/^aria-.*/)) return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, val));
151
- return _objectSpread({}, acc);
152
- }, {}); // Handle focus within and value state for the container. These are needed for float labels.
142
+ var _getAriaAttributeProp = getAriaAttributeProps(others),
143
+ ariaProps = _getAriaAttributeProp.ariaProps,
144
+ nonAriaProps = _getAriaAttributeProp.nonAriaProps; // Handle focus within and value state for the container. These are needed for float labels.
153
145
 
154
146
 
155
147
  var _useFocusWithin = useFocusWithin({
@@ -172,9 +164,7 @@ var useField = function useField() {
172
164
  }),
173
165
  containerClasses = _useStatusClasses2.classNames;
174
166
 
175
- var nonAriaOthers = _objectSpread({}, omit(others, _Object$keys(ariaProps)));
176
-
177
- var fieldContainerProps = _objectSpread(_objectSpread(_objectSpread({}, nonAriaOthers), mergeProps(containerProps, focusWithinProps)), {}, {
167
+ var fieldContainerProps = _objectSpread(_objectSpread(_objectSpread({}, nonAriaProps), mergeProps(containerProps, focusWithinProps)), {}, {
178
168
  className: containerClasses,
179
169
  sx: _objectSpread({
180
170
  position: 'relative'