@atlaskit/form 15.0.0 → 15.1.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/CHANGELOG.md +20 -0
- package/dist/cjs/field.js +3 -1
- package/dist/cjs/form.js +1 -1
- package/dist/es2019/field.js +3 -1
- package/dist/es2019/form.js +1 -1
- package/dist/esm/field.js +3 -1
- package/dist/esm/form.js +1 -1
- package/package.json +13 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @atlaskit/form
|
|
2
2
|
|
|
3
|
+
## 15.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`8b640226a78b9`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8b640226a78b9) -
|
|
8
|
+
[ux] Improved focusing behavior on submit for fields with errors
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
|
|
14
|
+
## 15.0.1
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- [`1f2184e410650`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/1f2184e410650) -
|
|
19
|
+
Updates internal useEffect depenedency array to include isRequired. This fixes an issue where
|
|
20
|
+
validation was not rerun when the prop was dynamically updated.
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
|
|
3
23
|
## 15.0.0
|
|
4
24
|
|
|
5
25
|
### Major Changes
|
package/dist/cjs/field.js
CHANGED
|
@@ -14,6 +14,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
14
14
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
15
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
16
|
var _useId = require("@atlaskit/ds-lib/use-id");
|
|
17
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
17
18
|
var _fieldIdContext = require("./field-id-context");
|
|
18
19
|
var _form = require("./form");
|
|
19
20
|
var _label = require("./label");
|
|
@@ -121,6 +122,7 @@ function Field(props) {
|
|
|
121
122
|
state = _useState2[0],
|
|
122
123
|
setState = _useState2[1];
|
|
123
124
|
var latestStateRef = usePreviousRef(state);
|
|
125
|
+
var isRequiredDependency = (0, _platformFeatureFlags.fg)('platform_dst_form_fix_isrequired_effect') ? props.isRequired : undefined;
|
|
124
126
|
(0, _react.useEffect)(function () {
|
|
125
127
|
function fieldStateToMeta() {
|
|
126
128
|
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -229,7 +231,7 @@ function Field(props) {
|
|
|
229
231
|
}
|
|
230
232
|
});
|
|
231
233
|
return unregister;
|
|
232
|
-
}, [latestPropsRef, latestStateRef, registerField, props.name, isDefaultValueChanged]);
|
|
234
|
+
}, [latestPropsRef, latestStateRef, registerField, props.name, isRequiredDependency, isDefaultValueChanged]);
|
|
233
235
|
var uid = (0, _useId.useId)();
|
|
234
236
|
var fieldId = (0, _react.useMemo)(function () {
|
|
235
237
|
return props.id ? props.id : "".concat(props.name, "-").concat(uid);
|
package/dist/cjs/form.js
CHANGED
|
@@ -82,7 +82,7 @@ var FormBase = function FormBase(props, ref) {
|
|
|
82
82
|
});
|
|
83
83
|
(0, _finalFormFocus.default)(function () {
|
|
84
84
|
return formRef.current ? Array.from(formRef.current.querySelectorAll('input')) : [];
|
|
85
|
-
},
|
|
85
|
+
}, _utils.getFirstErrorField)(finalForm);
|
|
86
86
|
return finalForm;
|
|
87
87
|
}),
|
|
88
88
|
_useState2 = (0, _slicedToArray2.default)(_useState, 1),
|
package/dist/es2019/field.js
CHANGED
|
@@ -3,6 +3,7 @@ import "./field.compiled.css";
|
|
|
3
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
4
4
|
import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
5
5
|
import { useId } from '@atlaskit/ds-lib/use-id';
|
|
6
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
7
|
import { FieldId } from './field-id-context';
|
|
7
8
|
import { FormContext, IsDisabledContext } from './form';
|
|
8
9
|
import { Label } from './label';
|
|
@@ -104,6 +105,7 @@ export default function Field(props) {
|
|
|
104
105
|
}
|
|
105
106
|
});
|
|
106
107
|
const latestStateRef = usePreviousRef(state);
|
|
108
|
+
const isRequiredDependency = fg('platform_dst_form_fix_isrequired_effect') ? props.isRequired : undefined;
|
|
107
109
|
useEffect(() => {
|
|
108
110
|
function fieldStateToMeta(value = {}) {
|
|
109
111
|
return {
|
|
@@ -211,7 +213,7 @@ export default function Field(props) {
|
|
|
211
213
|
}
|
|
212
214
|
});
|
|
213
215
|
return unregister;
|
|
214
|
-
}, [latestPropsRef, latestStateRef, registerField, props.name, isDefaultValueChanged]);
|
|
216
|
+
}, [latestPropsRef, latestStateRef, registerField, props.name, isRequiredDependency, isDefaultValueChanged]);
|
|
215
217
|
const uid = useId();
|
|
216
218
|
const fieldId = useMemo(() => {
|
|
217
219
|
return props.id ? props.id : `${props.name}-${uid}`;
|
package/dist/es2019/form.js
CHANGED
|
@@ -62,7 +62,7 @@ const FormBase = (props, ref) => {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
});
|
|
65
|
-
createDecorator(() => formRef.current ? Array.from(formRef.current.querySelectorAll('input')) : [],
|
|
65
|
+
createDecorator(() => formRef.current ? Array.from(formRef.current.querySelectorAll('input')) : [], getFirstErrorField)(finalForm);
|
|
66
66
|
return finalForm;
|
|
67
67
|
});
|
|
68
68
|
const [state, setState] = useState({
|
package/dist/esm/field.js
CHANGED
|
@@ -8,6 +8,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
8
8
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9
9
|
import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
10
10
|
import { useId } from '@atlaskit/ds-lib/use-id';
|
|
11
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
11
12
|
import { FieldId } from './field-id-context';
|
|
12
13
|
import { FormContext, IsDisabledContext } from './form';
|
|
13
14
|
import { Label } from './label';
|
|
@@ -112,6 +113,7 @@ export default function Field(props) {
|
|
|
112
113
|
state = _useState2[0],
|
|
113
114
|
setState = _useState2[1];
|
|
114
115
|
var latestStateRef = usePreviousRef(state);
|
|
116
|
+
var isRequiredDependency = fg('platform_dst_form_fix_isrequired_effect') ? props.isRequired : undefined;
|
|
115
117
|
useEffect(function () {
|
|
116
118
|
function fieldStateToMeta() {
|
|
117
119
|
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -220,7 +222,7 @@ export default function Field(props) {
|
|
|
220
222
|
}
|
|
221
223
|
});
|
|
222
224
|
return unregister;
|
|
223
|
-
}, [latestPropsRef, latestStateRef, registerField, props.name, isDefaultValueChanged]);
|
|
225
|
+
}, [latestPropsRef, latestStateRef, registerField, props.name, isRequiredDependency, isDefaultValueChanged]);
|
|
224
226
|
var uid = useId();
|
|
225
227
|
var fieldId = useMemo(function () {
|
|
226
228
|
return props.id ? props.id : "".concat(props.name, "-").concat(uid);
|
package/dist/esm/form.js
CHANGED
|
@@ -73,7 +73,7 @@ var FormBase = function FormBase(props, ref) {
|
|
|
73
73
|
});
|
|
74
74
|
createDecorator(function () {
|
|
75
75
|
return formRef.current ? Array.from(formRef.current.querySelectorAll('input')) : [];
|
|
76
|
-
},
|
|
76
|
+
}, getFirstErrorField)(finalForm);
|
|
77
77
|
return finalForm;
|
|
78
78
|
}),
|
|
79
79
|
_useState2 = _slicedToArray(_useState, 1),
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/form",
|
|
3
|
-
"version": "15.
|
|
4
|
-
"description": "A form allows
|
|
3
|
+
"version": "15.1.0",
|
|
4
|
+
"description": "A form allows people to input information.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
7
7
|
},
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@atlaskit/css": "^0.
|
|
28
|
+
"@atlaskit/css": "^0.18.0",
|
|
29
29
|
"@atlaskit/ds-lib": "^5.3.0",
|
|
30
30
|
"@atlaskit/heading": "^5.2.0",
|
|
31
|
-
"@atlaskit/icon": "^29.
|
|
31
|
+
"@atlaskit/icon": "^29.3.0",
|
|
32
32
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
33
33
|
"@atlaskit/primitives": "^16.4.0",
|
|
34
|
-
"@atlaskit/tokens": "^8.
|
|
34
|
+
"@atlaskit/tokens": "^8.6.0",
|
|
35
35
|
"@atlaskit/visually-hidden": "^3.0.0",
|
|
36
36
|
"@babel/runtime": "^7.0.0",
|
|
37
37
|
"@compiled/react": "^0.18.6",
|
|
@@ -47,23 +47,24 @@
|
|
|
47
47
|
"@af/integration-testing": "workspace:^",
|
|
48
48
|
"@af/visual-regression": "workspace:^",
|
|
49
49
|
"@atlaskit/banner": "^14.0.0",
|
|
50
|
-
"@atlaskit/button": "^23.
|
|
50
|
+
"@atlaskit/button": "^23.8.0",
|
|
51
51
|
"@atlaskit/checkbox": "^17.2.0",
|
|
52
52
|
"@atlaskit/codemod-utils": "^4.2.0",
|
|
53
53
|
"@atlaskit/datetime-picker": "^17.2.0",
|
|
54
54
|
"@atlaskit/docs": "^11.2.0",
|
|
55
55
|
"@atlaskit/link": "^3.2.0",
|
|
56
|
-
"@atlaskit/lozenge": "^13.
|
|
57
|
-
"@atlaskit/modal-dialog": "^14.
|
|
56
|
+
"@atlaskit/lozenge": "^13.2.0",
|
|
57
|
+
"@atlaskit/modal-dialog": "^14.9.0",
|
|
58
58
|
"@atlaskit/radio": "^8.3.0",
|
|
59
59
|
"@atlaskit/range": "^9.3.0",
|
|
60
|
-
"@atlaskit/section-message": "^8.
|
|
61
|
-
"@atlaskit/select": "^21.
|
|
60
|
+
"@atlaskit/section-message": "^8.11.0",
|
|
61
|
+
"@atlaskit/select": "^21.6.0",
|
|
62
62
|
"@atlaskit/textarea": "^8.2.0",
|
|
63
63
|
"@atlaskit/textfield": "^8.2.0",
|
|
64
64
|
"@atlaskit/toggle": "^15.2.0",
|
|
65
65
|
"@atlassian/feature-flags-test-utils": "^1.0.0",
|
|
66
66
|
"@atlassian/ssr-tests": "workspace:^",
|
|
67
|
+
"@atlassian/testing-library": "^0.4.0",
|
|
67
68
|
"@testing-library/react": "^13.4.0",
|
|
68
69
|
"@testing-library/react-hooks": "^8.0.1",
|
|
69
70
|
"@testing-library/user-event": "^14.4.3",
|
|
@@ -112,10 +113,10 @@
|
|
|
112
113
|
"platform_dst_form_screenreader_message_fix": {
|
|
113
114
|
"type": "boolean"
|
|
114
115
|
},
|
|
115
|
-
"platform-form-field-
|
|
116
|
+
"platform-form-reset-field-state": {
|
|
116
117
|
"type": "boolean"
|
|
117
118
|
},
|
|
118
|
-
"
|
|
119
|
+
"platform_dst_form_fix_isrequired_effect": {
|
|
119
120
|
"type": "boolean"
|
|
120
121
|
}
|
|
121
122
|
}
|