@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.
- package/lib/cjs/components/ArrayField/ArrayField.js +21 -22
- package/lib/cjs/components/ArrayField/ArrayField.stories.js +48 -26
- package/lib/cjs/components/CheckboxField/CheckboxField.js +11 -39
- package/lib/cjs/components/CheckboxField/CheckboxField.stories.js +24 -32
- package/lib/cjs/components/ColorField/ColorField.js +27 -20
- package/lib/cjs/components/ColorField/ColorField.stories.js +28 -8
- package/lib/cjs/components/ComboBox/ComboBoxInput.js +31 -39
- package/lib/cjs/components/ComboBoxField/ComboBoxField.js +30 -55
- package/lib/cjs/components/ComboBoxField/ComboBoxField.stories.js +65 -45
- package/lib/cjs/components/FileInputField/FileInputField.js +33 -27
- package/lib/cjs/components/FileInputField/FileInputField.stories.js +27 -7
- package/lib/cjs/components/FileInputField/FileSelect.js +41 -10
- package/lib/cjs/components/ImageUploadField/ImageUploadField.js +35 -15
- package/lib/cjs/components/ImageUploadField/ImageUploadField.stories.js +34 -14
- package/lib/cjs/components/LinkSelectField/LinkSelectField.js +18 -20
- package/lib/cjs/components/LinkSelectField/LinkSelectField.stories.js +71 -53
- package/lib/cjs/components/Messages/Message.js +23 -7
- package/lib/cjs/components/Messages/Messages.test.js +25 -70
- package/lib/cjs/components/MultivaluesField/MultivaluesField.js +21 -12
- package/lib/cjs/components/MultivaluesField/MultivaluesField.stories.js +26 -6
- package/lib/cjs/components/NumberField/NumberField.js +15 -13
- package/lib/cjs/components/NumberField/NumberField.stories.js +25 -5
- package/lib/cjs/components/PasswordField/PasswordField.js +15 -27
- package/lib/cjs/components/PasswordField/PasswordField.stories.js +6 -4
- package/lib/cjs/components/RadioGroupField/RadioGroupField.js +17 -34
- package/lib/cjs/components/RadioGroupField/RadioGroupField.stories.js +25 -30
- package/lib/cjs/components/SearchField/SearchField.js +36 -55
- package/lib/cjs/components/SearchField/SearchField.stories.js +35 -24
- package/lib/cjs/components/SelectField/SelectField.js +27 -7
- package/lib/cjs/components/SelectField/SelectField.stories.js +73 -53
- package/lib/cjs/components/SelectFieldBase/SelectFieldBase.js +37 -25
- package/lib/cjs/components/SwitchField/SwitchField.js +43 -62
- package/lib/cjs/components/SwitchField/SwitchField.stories.js +26 -26
- package/lib/cjs/components/TextAreaField/TextAreaField.js +16 -20
- package/lib/cjs/components/TextAreaField/TextAreaField.stories.js +29 -11
- package/lib/cjs/components/TextField/TextField.js +11 -15
- package/lib/cjs/components/TextField/TextField.stories.js +30 -10
- package/lib/cjs/hooks/useField/useField.js +9 -21
- package/lib/cjs/recipes/LogoTabs.stories.js +50 -47
- package/lib/cjs/recipes/RadioButtonsWithLinks.stories.js +2 -1
- package/lib/cjs/utils/devUtils/props/ariaAttributes.js +116 -0
- package/lib/cjs/utils/devUtils/props/ariaAttributes.test.js +65 -0
- package/lib/components/ArrayField/ArrayField.js +16 -14
- package/lib/components/ArrayField/ArrayField.stories.js +17 -3
- package/lib/components/CheckboxField/CheckboxField.js +6 -32
- package/lib/components/CheckboxField/CheckboxField.stories.js +17 -32
- package/lib/components/ColorField/ColorField.js +22 -16
- package/lib/components/ColorField/ColorField.stories.js +18 -3
- package/lib/components/ComboBox/ComboBoxInput.js +24 -32
- package/lib/components/ComboBoxField/ComboBoxField.js +25 -51
- package/lib/components/ComboBoxField/ComboBoxField.stories.js +17 -3
- package/lib/components/FileInputField/FileInputField.js +29 -24
- package/lib/components/FileInputField/FileInputField.stories.js +18 -3
- package/lib/components/FileInputField/FileSelect.js +32 -10
- package/lib/components/ImageUploadField/ImageUploadField.js +23 -8
- package/lib/components/ImageUploadField/ImageUploadField.stories.js +18 -3
- package/lib/components/LinkSelectField/LinkSelectField.js +12 -11
- package/lib/components/LinkSelectField/LinkSelectField.stories.js +17 -4
- package/lib/components/Messages/Message.js +22 -6
- package/lib/components/Messages/Messages.test.js +25 -67
- package/lib/components/MultivaluesField/MultivaluesField.js +16 -9
- package/lib/components/MultivaluesField/MultivaluesField.stories.js +18 -3
- package/lib/components/NumberField/NumberField.js +5 -4
- package/lib/components/NumberField/NumberField.stories.js +17 -2
- package/lib/components/PasswordField/PasswordField.js +5 -11
- package/lib/components/PasswordField/PasswordField.stories.js +4 -3
- package/lib/components/RadioGroupField/RadioGroupField.js +12 -28
- package/lib/components/RadioGroupField/RadioGroupField.stories.js +17 -27
- package/lib/components/SearchField/SearchField.js +28 -48
- package/lib/components/SearchField/SearchField.stories.js +20 -14
- package/lib/components/SelectField/SelectField.js +18 -3
- package/lib/components/SelectField/SelectField.stories.js +18 -4
- package/lib/components/SelectFieldBase/SelectFieldBase.js +33 -25
- package/lib/components/SwitchField/SwitchField.js +40 -57
- package/lib/components/SwitchField/SwitchField.stories.js +18 -23
- package/lib/components/TextAreaField/TextAreaField.js +7 -9
- package/lib/components/TextAreaField/TextAreaField.stories.js +19 -5
- package/lib/components/TextField/TextField.js +4 -6
- package/lib/components/TextField/TextField.stories.js +19 -4
- package/lib/hooks/useField/useField.js +6 -16
- package/lib/recipes/LogoTabs.stories.js +50 -48
- package/lib/recipes/RadioButtonsWithLinks.stories.js +2 -1
- package/lib/utils/devUtils/props/ariaAttributes.js +85 -0
- package/lib/utils/devUtils/props/ariaAttributes.test.js +50 -0
- package/package.json +1 -1
@@ -16,7 +16,7 @@ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/ins
|
|
16
16
|
|
17
17
|
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
18
18
|
|
19
|
-
var _Object$
|
19
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
20
20
|
|
21
21
|
_Object$defineProperty(exports, "__esModule", {
|
22
22
|
value: true
|
@@ -24,12 +24,6 @@ _Object$defineProperty(exports, "__esModule", {
|
|
24
24
|
|
25
25
|
exports["default"] = void 0;
|
26
26
|
|
27
|
-
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
28
|
-
|
29
|
-
var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/entries"));
|
30
|
-
|
31
|
-
var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
|
32
|
-
|
33
27
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
34
28
|
|
35
29
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
@@ -50,6 +44,8 @@ var _focus = require("@react-aria/focus");
|
|
50
44
|
|
51
45
|
var _utils = require("@react-aria/utils");
|
52
46
|
|
47
|
+
var _ariaAttributes = require("../../utils/devUtils/props/ariaAttributes");
|
48
|
+
|
53
49
|
var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
|
54
50
|
|
55
51
|
var _hooks = require("../../hooks");
|
@@ -58,9 +54,9 @@ var _constants = require("../../components/Label/constants");
|
|
58
54
|
|
59
55
|
var _excluded = ["autocomplete", "autoComplete", "autoCorrect", "children", "className", "containerProps", "controlProps", "defaultText", "defaultValue", "direction", "disabledKeys", "hasAutoFocus", "hasNoStatusIndicator", "helperText", "hintText", "id", "isDefaultSelected", "isDisabled", "isReadOnly", "isRequired", "isSelected", "label", "labelMode", "labelProps", "maxLength", "name", "onBlur", "onChange", "onClear", "onFocus", "onFocusChange", "onLoadMore", "onOpenChange", "onSelectionChange", "placeholder", "role", "selectedKey", "spellCheck", "status", "statusClasses", "type", "value"];
|
60
56
|
|
61
|
-
function ownKeys(object, enumerableOnly) { var keys = _Object$
|
57
|
+
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; }
|
62
58
|
|
63
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var
|
59
|
+
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) { (0, _defineProperty2["default"])(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; }
|
64
60
|
|
65
61
|
/**
|
66
62
|
* Generates the necessary props to be used in field components.
|
@@ -68,8 +64,6 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
68
64
|
* @returns {{}} Prop objects to be spread into field components.
|
69
65
|
*/
|
70
66
|
var useField = function useField() {
|
71
|
-
var _context;
|
72
|
-
|
73
67
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
74
68
|
var autocomplete = props.autocomplete,
|
75
69
|
autoComplete = props.autoComplete,
|
@@ -174,14 +168,10 @@ var useField = function useField() {
|
|
174
168
|
}, "is-".concat(status), true), statusClasses)),
|
175
169
|
classNames = _useStatusClasses.classNames;
|
176
170
|
|
177
|
-
var
|
178
|
-
|
179
|
-
|
180
|
-
val = _ref2[1];
|
171
|
+
var _getAriaAttributeProp = (0, _ariaAttributes.getAriaAttributeProps)(others),
|
172
|
+
ariaProps = _getAriaAttributeProp.ariaProps,
|
173
|
+
nonAriaProps = _getAriaAttributeProp.nonAriaProps; // Handle focus within and value state for the container. These are needed for float labels.
|
181
174
|
|
182
|
-
if (key.match(/^aria-.*/)) return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2["default"])({}, key, val));
|
183
|
-
return _objectSpread({}, acc);
|
184
|
-
}, {}); // Handle focus within and value state for the container. These are needed for float labels.
|
185
175
|
|
186
176
|
var _useFocusWithin = (0, _interactions.useFocusWithin)({
|
187
177
|
onFocusWithinChange: setFocusWithin
|
@@ -203,9 +193,7 @@ var useField = function useField() {
|
|
203
193
|
}),
|
204
194
|
containerClasses = _useStatusClasses2.classNames;
|
205
195
|
|
206
|
-
var
|
207
|
-
|
208
|
-
var fieldContainerProps = _objectSpread(_objectSpread(_objectSpread({}, nonAriaOthers), (0, _utils.mergeProps)(containerProps, focusWithinProps)), {}, {
|
196
|
+
var fieldContainerProps = _objectSpread(_objectSpread(_objectSpread({}, nonAriaProps), (0, _utils.mergeProps)(containerProps, focusWithinProps)), {}, {
|
209
197
|
className: containerClasses,
|
210
198
|
sx: _objectSpread({
|
211
199
|
position: 'relative'
|
@@ -117,41 +117,52 @@ var GoogleLogo = function GoogleLogo(props) {
|
|
117
117
|
})));
|
118
118
|
};
|
119
119
|
|
120
|
-
var
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
justifyContent: 'space-between'
|
126
|
-
}
|
127
|
-
};
|
128
|
-
|
129
|
-
var tabStyling = _objectSpread(_objectSpread({}, _tabs.tab), {}, {
|
130
|
-
alignSelf: 'center',
|
131
|
-
'& > svg': {
|
132
|
-
borderWidth: 1,
|
133
|
-
borderStyle: 'dashed',
|
134
|
-
borderColor: 'neutral.70',
|
135
|
-
borderRadius: 4,
|
136
|
-
bg: 'white',
|
137
|
-
outline: '5px solid white'
|
120
|
+
var sx = {
|
121
|
+
container: {
|
122
|
+
display: 'inline-flex !important',
|
123
|
+
position: 'relative',
|
124
|
+
width: '500px'
|
138
125
|
},
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
borderRadius: 4,
|
144
|
-
bg: 'white',
|
145
|
-
outline: '5px solid white'
|
126
|
+
separator: {
|
127
|
+
position: 'absolute',
|
128
|
+
top: '25%',
|
129
|
+
backgroundColor: 'accent.70'
|
146
130
|
},
|
147
|
-
|
148
|
-
|
149
|
-
|
131
|
+
logoTabsStyling: {
|
132
|
+
display: 'inline-flex !important',
|
133
|
+
'& > div': {
|
134
|
+
borderStyle: 'none',
|
135
|
+
borderBottomWidth: '0px !important',
|
136
|
+
justifyContent: 'space-between'
|
137
|
+
}
|
150
138
|
},
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
139
|
+
tabStyling: _objectSpread(_objectSpread({}, _tabs.tab), {}, {
|
140
|
+
alignSelf: 'center',
|
141
|
+
'& > svg': {
|
142
|
+
borderWidth: 1,
|
143
|
+
borderStyle: 'dashed',
|
144
|
+
borderColor: 'neutral.70',
|
145
|
+
borderRadius: 4,
|
146
|
+
bg: 'white',
|
147
|
+
outline: '5px solid white'
|
148
|
+
},
|
149
|
+
'&.is-selected > svg': {
|
150
|
+
borderWidth: 1,
|
151
|
+
borderStyle: 'solid',
|
152
|
+
borderColor: 'active',
|
153
|
+
borderRadius: 4,
|
154
|
+
bg: 'white',
|
155
|
+
outline: '5px solid white'
|
156
|
+
},
|
157
|
+
// we only want the change the color of icon svgs to active not company logos
|
158
|
+
'&.is-selected > .mdi-icon > path': {
|
159
|
+
fill: 'active'
|
160
|
+
},
|
161
|
+
'& > [role="presentation"]': {
|
162
|
+
height: '0px'
|
163
|
+
}
|
164
|
+
})
|
165
|
+
};
|
155
166
|
|
156
167
|
var LogoTabs = function LogoTabs() {
|
157
168
|
var _useState = (0, _react.useState)('tab1'),
|
@@ -165,19 +176,11 @@ var LogoTabs = function LogoTabs() {
|
|
165
176
|
setShowMiddleTabs = _useState4[1];
|
166
177
|
|
167
178
|
return (0, _react2.jsx)(_index.Box, {
|
168
|
-
sx:
|
169
|
-
display: 'inline-flex !important',
|
170
|
-
position: 'relative',
|
171
|
-
width: '500px'
|
172
|
-
}
|
179
|
+
sx: sx.container
|
173
180
|
}, (0, _react2.jsx)(_index.Separator, {
|
174
|
-
sx:
|
175
|
-
position: 'absolute',
|
176
|
-
top: '25%'
|
177
|
-
},
|
178
|
-
bg: "accent.70"
|
181
|
+
sx: sx.separator
|
179
182
|
}), (0, _react2.jsx)(_index.Tabs, {
|
180
|
-
sx: logoTabsStyling,
|
183
|
+
sx: sx.logoTabsStyling,
|
181
184
|
selectedKey: currentTab,
|
182
185
|
onSelectionChange: setCurrentTab,
|
183
186
|
onClick: setShowMiddleTabs
|
@@ -193,7 +196,7 @@ var LogoTabs = function LogoTabs() {
|
|
193
196
|
color: "#eb4c15",
|
194
197
|
p: "sm"
|
195
198
|
}),
|
196
|
-
sx: tabStyling
|
199
|
+
sx: sx.tabStyling
|
197
200
|
}, (0, _react2.jsx)(_index.Text, null, "This is content for the source tab")), (showMiddleTabs || currentTab !== 'tab1') && (0, _react2.jsx)(_index.Tab, {
|
198
201
|
key: "tab2",
|
199
202
|
title: (0, _react2.jsx)(_index.Text, {
|
@@ -206,7 +209,7 @@ var LogoTabs = function LogoTabs() {
|
|
206
209
|
color: "accent.20",
|
207
210
|
p: "xs"
|
208
211
|
}),
|
209
|
-
sx: tabStyling
|
212
|
+
sx: sx.tabStyling
|
210
213
|
}, (0, _react2.jsx)(_index.Text, null, "This is content for the custom filter tab")), (showMiddleTabs || currentTab !== 'tab1') && (0, _react2.jsx)(_index.Tab, {
|
211
214
|
key: "tab3",
|
212
215
|
title: (0, _react2.jsx)(_index.Text, {
|
@@ -219,7 +222,7 @@ var LogoTabs = function LogoTabs() {
|
|
219
222
|
color: "accent.20",
|
220
223
|
p: "xs"
|
221
224
|
}),
|
222
|
-
sx: tabStyling
|
225
|
+
sx: sx.tabStyling
|
223
226
|
}, (0, _react2.jsx)(_index.Text, null, "This is content for attribute mapping tab")), (0, _react2.jsx)(_index.Tab, {
|
224
227
|
key: "tab4",
|
225
228
|
title: (0, _react2.jsx)(_index.Text, {
|
@@ -231,7 +234,7 @@ var LogoTabs = function LogoTabs() {
|
|
231
234
|
size: 65,
|
232
235
|
p: "sm"
|
233
236
|
}),
|
234
|
-
sx: tabStyling
|
237
|
+
sx: sx.tabStyling
|
235
238
|
}, (0, _react2.jsx)(_index.Text, null, "This is content for the target tab"))));
|
236
239
|
};
|
237
240
|
|
@@ -110,7 +110,8 @@ var Default = function Default() {
|
|
110
110
|
fontWeight: 2
|
111
111
|
}
|
112
112
|
}, "Permissions"), (0, _react2.jsx)(_index.IconButton, {
|
113
|
-
onPress: onPress
|
113
|
+
onPress: onPress,
|
114
|
+
"aria-label": "close icon button"
|
114
115
|
}, (0, _react2.jsx)(_index.Icon, {
|
115
116
|
icon: _CloseIcon["default"]
|
116
117
|
}))), (0, _react2.jsx)(_index.Box, null, (0, _react2.jsx)(_index.Text, {
|
@@ -0,0 +1,116 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
8
|
+
|
9
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
10
|
+
|
11
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
12
|
+
|
13
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
14
|
+
|
15
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
16
|
+
|
17
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
18
|
+
|
19
|
+
var _Object$keys2 = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
20
|
+
|
21
|
+
_Object$defineProperty(exports, "__esModule", {
|
22
|
+
value: true
|
23
|
+
});
|
24
|
+
|
25
|
+
exports.getAriaAttributeProps = exports.ariaAttributesBasePropTypes = exports.ariaAttributeBaseDocSettings = exports.ariaAttributeBaseArgTypes = void 0;
|
26
|
+
|
27
|
+
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
28
|
+
|
29
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
30
|
+
|
31
|
+
var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/entries"));
|
32
|
+
|
33
|
+
var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
|
34
|
+
|
35
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
36
|
+
|
37
|
+
var _omit = _interopRequireDefault(require("lodash/omit"));
|
38
|
+
|
39
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
40
|
+
|
41
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(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; }
|
42
|
+
|
43
|
+
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) { (0, _defineProperty2["default"])(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; }
|
44
|
+
|
45
|
+
var descriptions = {
|
46
|
+
ariaControls: 'Identifies the element (or elements) whose contents or presence are controlled by the current element.',
|
47
|
+
ariaDescribedby: 'Identifies the element (or elements) that describes the object.',
|
48
|
+
ariaDetails: 'Identifies the element (or elements) that provide a detailed, extended description for the object.',
|
49
|
+
ariaErrormessage: 'Identifies the element that provides an error message for the object.',
|
50
|
+
ariaLabel: 'Defines a string value that labels the current element.',
|
51
|
+
ariaLabelledby: 'Identifies the element (or elements) that labels the current element.'
|
52
|
+
};
|
53
|
+
var ariaAttributeBaseDocSettings = {
|
54
|
+
type: {
|
55
|
+
summary: 'string'
|
56
|
+
},
|
57
|
+
control: {
|
58
|
+
type: 'text'
|
59
|
+
},
|
60
|
+
table: {
|
61
|
+
category: 'Aria Attributes'
|
62
|
+
}
|
63
|
+
};
|
64
|
+
exports.ariaAttributeBaseDocSettings = ariaAttributeBaseDocSettings;
|
65
|
+
var ariaAttributeBaseArgTypes = {
|
66
|
+
'aria-controls': _objectSpread({
|
67
|
+
description: descriptions.ariaControls
|
68
|
+
}, ariaAttributeBaseDocSettings),
|
69
|
+
'aria-describedby': _objectSpread({
|
70
|
+
description: descriptions.ariaDescribedby
|
71
|
+
}, ariaAttributeBaseDocSettings),
|
72
|
+
'aria-details': _objectSpread({
|
73
|
+
description: descriptions.ariaDetails
|
74
|
+
}, ariaAttributeBaseDocSettings),
|
75
|
+
'aria-errormessage': _objectSpread({
|
76
|
+
description: descriptions.ariaErrormessage
|
77
|
+
}, ariaAttributeBaseDocSettings),
|
78
|
+
'aria-label': _objectSpread({
|
79
|
+
description: descriptions.ariaLabel
|
80
|
+
}, ariaAttributeBaseDocSettings),
|
81
|
+
'aria-labelledby': _objectSpread({
|
82
|
+
description: descriptions.ariaLabelledby
|
83
|
+
}, ariaAttributeBaseDocSettings)
|
84
|
+
};
|
85
|
+
exports.ariaAttributeBaseArgTypes = ariaAttributeBaseArgTypes;
|
86
|
+
var ariaAttributesBasePropTypes = {
|
87
|
+
'aria-controls': _propTypes["default"].string,
|
88
|
+
'aria-describedby': _propTypes["default"].string,
|
89
|
+
'aria-details': _propTypes["default"].string,
|
90
|
+
'aria-errormessage': _propTypes["default"].string,
|
91
|
+
'aria-label': _propTypes["default"].string,
|
92
|
+
'aria-labelledby': _propTypes["default"].string
|
93
|
+
};
|
94
|
+
exports.ariaAttributesBasePropTypes = ariaAttributesBasePropTypes;
|
95
|
+
|
96
|
+
var getAriaAttributeProps = function getAriaAttributeProps(props) {
|
97
|
+
var _context;
|
98
|
+
|
99
|
+
var ariaProps = (0, _reduce["default"])(_context = (0, _entries["default"])(props)).call(_context, function (acc, _ref) {
|
100
|
+
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
101
|
+
key = _ref2[0],
|
102
|
+
val = _ref2[1];
|
103
|
+
|
104
|
+
if (key.match(/^aria-.*/)) return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2["default"])({}, key, val));
|
105
|
+
return _objectSpread({}, acc);
|
106
|
+
}, {});
|
107
|
+
|
108
|
+
var nonAriaProps = _objectSpread({}, (0, _omit["default"])(props, (0, _keys["default"])(ariaProps)));
|
109
|
+
|
110
|
+
return {
|
111
|
+
ariaProps: ariaProps,
|
112
|
+
nonAriaProps: nonAriaProps
|
113
|
+
};
|
114
|
+
};
|
115
|
+
|
116
|
+
exports.getAriaAttributeProps = getAriaAttributeProps;
|
@@ -0,0 +1,65 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
|
7
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
8
|
+
|
9
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
10
|
+
|
11
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
12
|
+
|
13
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
14
|
+
|
15
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
16
|
+
|
17
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
18
|
+
|
19
|
+
var _Object$keys2 = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
20
|
+
|
21
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
22
|
+
|
23
|
+
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
24
|
+
|
25
|
+
var _ariaAttributes = require("./ariaAttributes");
|
26
|
+
|
27
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(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; }
|
28
|
+
|
29
|
+
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) { (0, _defineProperty2["default"])(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; }
|
30
|
+
|
31
|
+
describe('getAriaAttributeProps', function () {
|
32
|
+
var subject = function subject(props) {
|
33
|
+
return (0, _ariaAttributes.getAriaAttributeProps)(props);
|
34
|
+
};
|
35
|
+
|
36
|
+
var propsWithNoAriaAttributes = {
|
37
|
+
propOne: 'prop1',
|
38
|
+
propTwo: 'prop2'
|
39
|
+
};
|
40
|
+
describe('when there are 2 props and no aria attributes', function () {
|
41
|
+
it('returns an object with empty ariaProps and 2 nonAriaProps', function () {
|
42
|
+
var _subject = subject(propsWithNoAriaAttributes),
|
43
|
+
ariaProps = _subject.ariaProps,
|
44
|
+
nonAriaProps = _subject.nonAriaProps;
|
45
|
+
|
46
|
+
expect((0, _keys["default"])(nonAriaProps).length).toBe(2);
|
47
|
+
expect((0, _keys["default"])(ariaProps).length).toBe(0);
|
48
|
+
});
|
49
|
+
});
|
50
|
+
describe('when there is an aria-label and an aria-labelledby in the props', function () {
|
51
|
+
it('returns an object with ariaProps containing aria-label and aria-labelledby', function () {
|
52
|
+
var propsWithAriaAttributes = _objectSpread({
|
53
|
+
'aria-labelledby': 'test labelledby',
|
54
|
+
'aria-label': 'test label'
|
55
|
+
}, propsWithNoAriaAttributes);
|
56
|
+
|
57
|
+
var _subject2 = subject(propsWithAriaAttributes),
|
58
|
+
ariaProps = _subject2.ariaProps,
|
59
|
+
nonAriaProps = _subject2.nonAriaProps;
|
60
|
+
|
61
|
+
expect((0, _keys["default"])(nonAriaProps).length).toBe(2);
|
62
|
+
expect((0, _keys["default"])(ariaProps).length).toBe(2);
|
63
|
+
});
|
64
|
+
});
|
65
|
+
});
|
@@ -21,18 +21,15 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
|
|
21
21
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
22
22
|
|
23
23
|
import React, { useCallback, useState } from 'react';
|
24
|
-
import
|
24
|
+
import { useLabel } from '@react-aria/label';
|
25
25
|
import { mergeProps } from '@react-aria/utils';
|
26
|
+
import PropTypes from 'prop-types';
|
26
27
|
import { v4 as uuid } from 'uuid';
|
27
|
-
import {
|
28
|
-
import
|
29
|
-
import Button from '../Button';
|
30
|
-
import FieldHelperText from '../FieldHelperText';
|
31
|
-
import Text from '../Text';
|
32
|
-
import Label from '../Label';
|
33
|
-
import statuses from '../../utils/devUtils/constants/statuses';
|
34
|
-
import isValidPositiveInt from '../../utils/devUtils/props/isValidPositiveInt';
|
28
|
+
import { Box, Button, FieldHelperText, Label, Text } from '../../';
|
29
|
+
import { ariaAttributesBasePropTypes, getAriaAttributeProps } from '../../utils/devUtils/props/ariaAttributes';
|
35
30
|
import ArrayFieldItem from './ArrayFieldItem';
|
31
|
+
import isValidPositiveInt from '../../utils/devUtils/props/isValidPositiveInt';
|
32
|
+
import statuses from '../../utils/devUtils/constants/statuses';
|
36
33
|
/**
|
37
34
|
* Displays array collections providing useful functions and
|
38
35
|
* optimizations for arrays.
|
@@ -133,12 +130,17 @@ var ArrayField = function ArrayField(props) {
|
|
133
130
|
raLabelProps = _useLabel.labelProps;
|
134
131
|
|
135
132
|
var isLimitReached = !!maxSize && (value || fieldValues).length >= maxSize;
|
136
|
-
|
133
|
+
|
134
|
+
var _getAriaAttributeProp = getAriaAttributeProps(others),
|
135
|
+
ariaProps = _getAriaAttributeProp.ariaProps,
|
136
|
+
nonAriaProps = _getAriaAttributeProp.nonAriaProps;
|
137
|
+
|
138
|
+
return ___EmotionJSX(Box, nonAriaProps, ___EmotionJSX(Label, _extends({}, raLabelProps, mergeProps(labelProps, raLabelProps, {
|
137
139
|
children: label
|
138
|
-
}))), ___EmotionJSX(Box, {
|
140
|
+
}))), ___EmotionJSX(Box, _extends({
|
139
141
|
as: "ul",
|
140
142
|
pl: "0"
|
141
|
-
}, _mapInstanceProperty(_context2 = value || fieldValues).call(_context2, function (_ref2) {
|
143
|
+
}, ariaProps), _mapInstanceProperty(_context2 = value || fieldValues).call(_context2, function (_ref2) {
|
142
144
|
var id = _ref2.id,
|
143
145
|
onComponentRender = _ref2.onComponentRender,
|
144
146
|
fieldValue = _ref2.fieldValue,
|
@@ -173,7 +175,7 @@ var ArrayField = function ArrayField(props) {
|
|
173
175
|
}, addButtonLabel)));
|
174
176
|
};
|
175
177
|
|
176
|
-
ArrayField.propTypes = {
|
178
|
+
ArrayField.propTypes = _objectSpread({
|
177
179
|
/** Label for add button */
|
178
180
|
addButtonLabel: PropTypes.string,
|
179
181
|
|
@@ -218,7 +220,7 @@ ArrayField.propTypes = {
|
|
218
220
|
|
219
221
|
/** Text to display when the maximum number of items is reached */
|
220
222
|
maxSizeText: PropTypes.node
|
221
|
-
};
|
223
|
+
}, ariaAttributesBasePropTypes);
|
222
224
|
ArrayField.defaultProps = {
|
223
225
|
addButtonLabel: '+ Add'
|
224
226
|
};
|
@@ -1,11 +1,25 @@
|
|
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 _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
|
7
|
+
import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
|
1
8
|
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
2
9
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
3
10
|
import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
|
4
11
|
import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
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 _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; }
|
17
|
+
|
5
18
|
import React from 'react';
|
6
19
|
import { OverlayProvider } from '@react-aria/overlays';
|
7
20
|
import { v4 as uuid } from 'uuid';
|
8
|
-
import { ArrayField, ArrayFieldDeleteButton, Item, SelectField, TextField } from '../../
|
21
|
+
import { ArrayField, ArrayFieldDeleteButton, Item, SelectField, TextField } from '../../';
|
22
|
+
import { ariaAttributeBaseArgTypes } from '../../utils/devUtils/props/ariaAttributes';
|
9
23
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
10
24
|
export default {
|
11
25
|
title: 'Form/ArrayField',
|
@@ -20,7 +34,7 @@ export default {
|
|
20
34
|
}
|
21
35
|
}
|
22
36
|
},
|
23
|
-
argTypes: {
|
37
|
+
argTypes: _objectSpread({
|
24
38
|
label: {
|
25
39
|
defaultValue: 'Array field label',
|
26
40
|
control: {
|
@@ -49,7 +63,7 @@ export default {
|
|
49
63
|
type: 'text'
|
50
64
|
}
|
51
65
|
}
|
52
|
-
}
|
66
|
+
}, ariaAttributeBaseArgTypes)
|
53
67
|
};
|
54
68
|
var defaultData = [{
|
55
69
|
id: uuid(),
|
@@ -15,15 +15,13 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
|
|
15
15
|
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; }
|
16
16
|
|
17
17
|
import React, { forwardRef, useRef, useImperativeHandle } from 'react';
|
18
|
-
import PropTypes from 'prop-types';
|
19
|
-
import { useToggleState } from '@react-stately/toggle';
|
20
18
|
import { useCheckbox } from '@react-aria/checkbox';
|
19
|
+
import { useToggleState } from '@react-stately/toggle';
|
20
|
+
import PropTypes from 'prop-types';
|
21
|
+
import { Box, Checkbox, FieldHelperText, Label } from '../../';
|
22
|
+
import { ariaAttributesBasePropTypes } from '../../utils/devUtils/props/ariaAttributes';
|
21
23
|
import { useField, usePropWarning } from '../../hooks';
|
22
24
|
import statuses from '../../utils/devUtils/constants/statuses';
|
23
|
-
import Box from '../Box';
|
24
|
-
import Checkbox from '../Checkbox';
|
25
|
-
import FieldHelperText from '../FieldHelperText';
|
26
|
-
import Label from '../Label';
|
27
25
|
/**
|
28
26
|
* Combines a checkbox, label, and helper text for a complete, form-ready solution.
|
29
27
|
*
|
@@ -77,7 +75,7 @@ var CheckboxField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
77
75
|
}
|
78
76
|
}, helperText));
|
79
77
|
});
|
80
|
-
CheckboxField.propTypes = {
|
78
|
+
CheckboxField.propTypes = _objectSpread({
|
81
79
|
/** Whether the element should receive focus on render. */
|
82
80
|
hasAutoFocus: PropTypes.bool,
|
83
81
|
|
@@ -141,30 +139,6 @@ CheckboxField.propTypes = {
|
|
141
139
|
/** Handler that is called when a key is released. */
|
142
140
|
onKeyUp: PropTypes.func,
|
143
141
|
|
144
|
-
/**
|
145
|
-
* Identifies the element (or elements) whose contents or presence are controlled by the current
|
146
|
-
* element.
|
147
|
-
*/
|
148
|
-
'aria-controls': PropTypes.string,
|
149
|
-
|
150
|
-
/** Defines a string value that labels the current element. */
|
151
|
-
'aria-label': PropTypes.string,
|
152
|
-
|
153
|
-
/** Identifies the element (or elements) that labels the current element. */
|
154
|
-
'aria-labelledby': PropTypes.string,
|
155
|
-
|
156
|
-
/** Identifies the element (or elements) that describes the object. */
|
157
|
-
'aria-describedby': PropTypes.string,
|
158
|
-
|
159
|
-
/**
|
160
|
-
* Identifies the element (or elements) that provide a detailed, extended description for the
|
161
|
-
* object.
|
162
|
-
*/
|
163
|
-
'aria-details': PropTypes.string,
|
164
|
-
|
165
|
-
/** Identifies the element that provides an error message for the object. */
|
166
|
-
'aria-errormessage': PropTypes.string,
|
167
|
-
|
168
142
|
/** Props object that is spread directly into the root (top-level) element. */
|
169
143
|
containerProps: PropTypes.shape({}),
|
170
144
|
|
@@ -173,6 +147,6 @@ CheckboxField.propTypes = {
|
|
173
147
|
|
174
148
|
/** Props object that is spread directly into the label element. */
|
175
149
|
labelProps: PropTypes.shape({})
|
176
|
-
};
|
150
|
+
}, ariaAttributesBasePropTypes);
|
177
151
|
CheckboxField.displayName = 'CheckboxField';
|
178
152
|
export default CheckboxField;
|