@atlaskit/form 8.8.2 → 8.8.4
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 +21 -0
- package/dist/cjs/checkbox-field.js +15 -29
- package/dist/cjs/entry-points/checkbox-field.js +0 -2
- package/dist/cjs/entry-points/field.js +0 -2
- package/dist/cjs/entry-points/fieldset.js +0 -2
- package/dist/cjs/entry-points/form-footer.js +0 -2
- package/dist/cjs/entry-points/form-header.js +0 -2
- package/dist/cjs/entry-points/form-section.js +0 -2
- package/dist/cjs/entry-points/form.js +0 -2
- package/dist/cjs/entry-points/label.js +0 -2
- package/dist/cjs/entry-points/messages.js +0 -1
- package/dist/cjs/entry-points/range-field.js +0 -2
- package/dist/cjs/field.js +49 -85
- package/dist/cjs/fieldset.js +27 -23
- package/dist/cjs/form-footer.js +4 -6
- package/dist/cjs/form-header.js +9 -23
- package/dist/cjs/form-section.js +9 -21
- package/dist/cjs/form.js +40 -63
- package/dist/cjs/index.js +0 -11
- package/dist/cjs/label.js +29 -23
- package/dist/cjs/messages.js +54 -55
- package/dist/cjs/range-field.js +8 -19
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/checkbox-field.js +6 -5
- package/dist/es2019/field.js +16 -31
- package/dist/es2019/fieldset.js +21 -12
- package/dist/es2019/form-footer.js +2 -1
- package/dist/es2019/form-header.js +6 -10
- package/dist/es2019/form-section.js +5 -9
- package/dist/es2019/form.js +4 -11
- package/dist/es2019/index.js +2 -1
- package/dist/es2019/label.js +22 -11
- package/dist/es2019/messages.js +47 -31
- package/dist/es2019/range-field.js +2 -4
- package/dist/es2019/version.json +1 -1
- package/dist/esm/checkbox-field.js +15 -22
- package/dist/esm/field.js +49 -73
- package/dist/esm/fieldset.js +27 -18
- package/dist/esm/form-footer.js +4 -3
- package/dist/esm/form-header.js +9 -15
- package/dist/esm/form-section.js +8 -14
- package/dist/esm/form.js +40 -53
- package/dist/esm/index.js +2 -1
- package/dist/esm/label.js +29 -18
- package/dist/esm/messages.js +53 -38
- package/dist/esm/range-field.js +8 -15
- package/dist/esm/version.json +1 -1
- package/dist/types/messages.d.ts +11 -7
- package/package.json +5 -4
- package/report.api.md +27 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @atlaskit/form
|
|
2
2
|
|
|
3
|
+
## 8.8.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 8.8.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`1b8e257525f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1b8e257525f) - [ux] Message content now preserves whitespace between elements.
|
|
14
|
+
- [`ea1ad1d867f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ea1ad1d867f) - Message typings have been corrected, removing a number of props. These props existed only in the type and had no effect when used.
|
|
15
|
+
|
|
16
|
+
The props which were removed from the typings are:
|
|
17
|
+
|
|
18
|
+
- `error`
|
|
19
|
+
- `fieldId`
|
|
20
|
+
- `valid`
|
|
21
|
+
|
|
22
|
+
- [`b96e69cdf36`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b96e69cdf36) - [ux] DSP-6625: Updated Form label text color token to match the design.
|
|
23
|
+
|
|
3
24
|
## 8.8.2
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
|
@@ -1,40 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.default = void 0;
|
|
11
|
-
|
|
12
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
|
-
|
|
18
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
|
-
|
|
20
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
14
|
var _field = _interopRequireDefault(require("./field"));
|
|
23
|
-
|
|
24
15
|
var _excluded = ["children", "defaultIsChecked", "value"],
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
_excluded2 = ["value"],
|
|
17
|
+
_excluded3 = ["fieldProps"],
|
|
18
|
+
_excluded4 = ["value"],
|
|
19
|
+
_excluded5 = ["fieldProps"];
|
|
30
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
-
|
|
32
21
|
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; }
|
|
33
|
-
|
|
34
22
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
35
|
-
|
|
36
23
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
|
-
|
|
38
24
|
/**
|
|
39
25
|
* __Checkbox field__
|
|
40
26
|
*
|
|
@@ -46,11 +32,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
46
32
|
*/
|
|
47
33
|
var CheckboxField = function CheckboxField(props) {
|
|
48
34
|
var children = props.children,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
35
|
+
_props$defaultIsCheck = props.defaultIsChecked,
|
|
36
|
+
defaultIsChecked = _props$defaultIsCheck === void 0 ? false : _props$defaultIsCheck,
|
|
37
|
+
value = props.value,
|
|
38
|
+
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
53
39
|
|
|
40
|
+
// Maintains a memoised list of the default values
|
|
54
41
|
var defaultValue = (0, _react.useCallback)(function () {
|
|
55
42
|
var currentValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
56
43
|
return defaultIsChecked && value !== undefined ? [].concat((0, _toConsumableArray2.default)(currentValue), [value]) : currentValue;
|
|
@@ -64,9 +51,9 @@ var CheckboxField = function CheckboxField(props) {
|
|
|
64
51
|
}
|
|
65
52
|
}), function (_ref) {
|
|
66
53
|
var _ref$fieldProps = _ref.fieldProps,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
54
|
+
fieldValue = _ref$fieldProps.value,
|
|
55
|
+
otherFieldProps = (0, _objectWithoutProperties2.default)(_ref$fieldProps, _excluded2),
|
|
56
|
+
others = (0, _objectWithoutProperties2.default)(_ref, _excluded3);
|
|
70
57
|
return children(_objectSpread({
|
|
71
58
|
fieldProps: _objectSpread(_objectSpread({}, otherFieldProps), {}, {
|
|
72
59
|
isChecked: !!fieldValue.find(function (v) {
|
|
@@ -82,9 +69,9 @@ var CheckboxField = function CheckboxField(props) {
|
|
|
82
69
|
}
|
|
83
70
|
}), function (_ref2) {
|
|
84
71
|
var _ref2$fieldProps = _ref2.fieldProps,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
72
|
+
fieldValue = _ref2$fieldProps.value,
|
|
73
|
+
otherFieldProps = (0, _objectWithoutProperties2.default)(_ref2$fieldProps, _excluded4),
|
|
74
|
+
others = (0, _objectWithoutProperties2.default)(_ref2, _excluded5);
|
|
88
75
|
return children(_objectSpread({
|
|
89
76
|
fieldProps: _objectSpread(_objectSpread({}, otherFieldProps), {}, {
|
|
90
77
|
isChecked: fieldValue,
|
|
@@ -93,7 +80,6 @@ var CheckboxField = function CheckboxField(props) {
|
|
|
93
80
|
}, others));
|
|
94
81
|
});
|
|
95
82
|
};
|
|
96
|
-
|
|
97
83
|
CheckboxField.defaultProps = {
|
|
98
84
|
defaultIsChecked: false
|
|
99
85
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "CheckboxField", {
|
|
|
11
10
|
return _checkboxField.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _checkboxField = _interopRequireDefault(require("../checkbox-field"));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "default", {
|
|
|
11
10
|
return _field.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _field = _interopRequireDefault(require("../field"));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "Fieldset", {
|
|
|
11
10
|
return _fieldset.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _fieldset = _interopRequireDefault(require("../fieldset"));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "FormFooter", {
|
|
|
11
10
|
return _formFooter.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _formFooter = _interopRequireDefault(require("../form-footer"));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "FormHeader", {
|
|
|
11
10
|
return _formHeader.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _formHeader = _interopRequireDefault(require("../form-header"));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "FormSection", {
|
|
|
11
10
|
return _formSection.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _formSection = _interopRequireDefault(require("../form-section"));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "default", {
|
|
|
11
10
|
return _form.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _form = _interopRequireDefault(require("../form"));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "Label", {
|
|
|
11
10
|
return _label.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _label = _interopRequireDefault(require("../label"));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -11,5 +10,4 @@ Object.defineProperty(exports, "RangeField", {
|
|
|
11
10
|
return _rangeField.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
15
13
|
var _rangeField = _interopRequireDefault(require("../range-field"));
|
package/dist/cjs/field.js
CHANGED
|
@@ -1,39 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.FieldId = void 0;
|
|
9
8
|
exports.default = Field;
|
|
10
|
-
|
|
11
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
|
|
13
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
14
|
-
|
|
15
11
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
16
|
-
|
|
17
12
|
var _react = require("react");
|
|
18
|
-
|
|
19
13
|
var _react2 = require("@emotion/react");
|
|
20
|
-
|
|
21
14
|
var _reactUid = require("react-uid");
|
|
22
|
-
|
|
23
15
|
var _tinyInvariant = _interopRequireDefault(require("tiny-invariant"));
|
|
24
|
-
|
|
25
16
|
var _colors = require("@atlaskit/theme/colors");
|
|
26
|
-
|
|
27
17
|
var _constants = require("@atlaskit/theme/constants");
|
|
28
|
-
|
|
29
18
|
var _form = require("./form");
|
|
30
|
-
|
|
31
19
|
var _label = _interopRequireDefault(require("./label"));
|
|
32
|
-
|
|
33
20
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
34
|
-
|
|
35
21
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
36
|
-
|
|
37
22
|
var gridSize = (0, _constants.gridSize)();
|
|
38
23
|
var fontFamily = (0, _constants.fontFamily)();
|
|
39
24
|
var fieldWrapperStyles = (0, _react2.css)({
|
|
@@ -44,15 +29,12 @@ var requiredIndicatorStyles = (0, _react2.css)({
|
|
|
44
29
|
color: "var(--ds-text-danger, ".concat(_colors.R400, ")"),
|
|
45
30
|
fontFamily: fontFamily
|
|
46
31
|
});
|
|
47
|
-
|
|
48
32
|
function isEvent(event) {
|
|
49
33
|
return Boolean(event && event.target);
|
|
50
34
|
}
|
|
51
|
-
|
|
52
35
|
function isFunction(x) {
|
|
53
36
|
return typeof x === 'function';
|
|
54
37
|
}
|
|
55
|
-
|
|
56
38
|
/**
|
|
57
39
|
* __Field id__
|
|
58
40
|
*
|
|
@@ -60,99 +42,89 @@ function isFunction(x) {
|
|
|
60
42
|
*/
|
|
61
43
|
var FieldId = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
62
44
|
exports.FieldId = FieldId;
|
|
63
|
-
|
|
64
45
|
function usePreviousRef(current) {
|
|
65
|
-
var ref = (0, _react.useRef)(current);
|
|
46
|
+
var ref = (0, _react.useRef)(current);
|
|
66
47
|
|
|
48
|
+
// will be updated on the next render
|
|
67
49
|
(0, _react.useEffect)(function () {
|
|
68
50
|
ref.current = current;
|
|
69
|
-
});
|
|
51
|
+
});
|
|
70
52
|
|
|
53
|
+
// return the existing current (pre render)
|
|
71
54
|
return ref;
|
|
72
55
|
}
|
|
73
|
-
|
|
74
56
|
function isShallowEqual(previousValue, currentValue) {
|
|
75
57
|
if (previousValue === currentValue) {
|
|
76
58
|
return true;
|
|
77
|
-
}
|
|
78
|
-
|
|
59
|
+
}
|
|
79
60
|
|
|
61
|
+
// not checking functions
|
|
80
62
|
if (typeof previousValue === 'function' && typeof currentValue === 'function') {
|
|
81
63
|
return true;
|
|
82
64
|
}
|
|
83
|
-
|
|
84
65
|
if (Array.isArray(previousValue) && Array.isArray(currentValue)) {
|
|
85
66
|
return JSON.stringify(previousValue) === JSON.stringify(currentValue);
|
|
86
67
|
}
|
|
87
|
-
|
|
88
68
|
if ((0, _typeof2.default)(previousValue) === 'object' && (0, _typeof2.default)(currentValue) === 'object') {
|
|
89
69
|
return JSON.stringify(previousValue) === JSON.stringify(currentValue);
|
|
90
70
|
}
|
|
91
|
-
|
|
92
71
|
return false;
|
|
93
72
|
}
|
|
94
|
-
|
|
95
73
|
function Field(props) {
|
|
96
74
|
var _getCurrentValue;
|
|
97
|
-
|
|
98
75
|
var _useContext = (0, _react.useContext)(_form.FormContext),
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
76
|
+
registerField = _useContext.registerField,
|
|
77
|
+
getCurrentValue = _useContext.getCurrentValue;
|
|
102
78
|
var isDisabled = (0, _react.useContext)(_form.IsDisabledContext) || props.isDisabled || false;
|
|
103
79
|
var defaultValue = isFunction(props.defaultValue) ? props.defaultValue() : props.defaultValue;
|
|
104
80
|
var latestPropsRef = usePreviousRef(props);
|
|
81
|
+
|
|
105
82
|
/**
|
|
106
83
|
* HACK: defaultValue can potentially be an array or object which cannot be
|
|
107
84
|
* passed directly into a `useEffect` dependency array, since it will trigger
|
|
108
85
|
* the hook every time.
|
|
109
86
|
*/
|
|
110
|
-
|
|
111
87
|
var isDefaultValueChanged = !isShallowEqual(latestPropsRef.current.defaultValue, props.defaultValue);
|
|
112
|
-
|
|
113
88
|
var _useState = (0, _react.useState)({
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
},
|
|
132
|
-
error: undefined,
|
|
133
|
-
valid: false,
|
|
134
|
-
meta: {
|
|
135
|
-
dirty: false,
|
|
136
|
-
dirtySinceLastSubmit: false,
|
|
137
|
-
touched: false,
|
|
138
|
-
valid: false,
|
|
139
|
-
validating: false,
|
|
140
|
-
submitting: false,
|
|
141
|
-
submitFailed: false,
|
|
89
|
+
fieldProps: {
|
|
90
|
+
onChange: function onChange() {},
|
|
91
|
+
onBlur: function onBlur() {},
|
|
92
|
+
onFocus: function onFocus() {},
|
|
93
|
+
/* Previously, defaultValue was being set as undefined in Field.defaultProps, which
|
|
94
|
+
* effectively made it an optional prop to external consumers of Field. However the
|
|
95
|
+
* prop types defined defaultValue as required, so inside the component it was not
|
|
96
|
+
* valid for defaultValue to be undefined. We need to suppress the error
|
|
97
|
+
* after changing defaultValue to explictly be an optional prop.
|
|
98
|
+
* If default value has changed we are using new default value.
|
|
99
|
+
* Otherwise we need to check if we already have value for this field
|
|
100
|
+
* (because we are using changing key prop to re-run field level validation, and that
|
|
101
|
+
* cause the component re-mounting) to not override the actual value with the default value.
|
|
102
|
+
*/
|
|
103
|
+
// @ts-ignore
|
|
104
|
+
value: isDefaultValueChanged ? defaultValue : (_getCurrentValue = getCurrentValue(props.name)) !== null && _getCurrentValue !== void 0 ? _getCurrentValue : defaultValue
|
|
105
|
+
},
|
|
142
106
|
error: undefined,
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
107
|
+
valid: false,
|
|
108
|
+
meta: {
|
|
109
|
+
dirty: false,
|
|
110
|
+
dirtySinceLastSubmit: false,
|
|
111
|
+
touched: false,
|
|
112
|
+
valid: false,
|
|
113
|
+
validating: false,
|
|
114
|
+
submitting: false,
|
|
115
|
+
submitFailed: false,
|
|
116
|
+
error: undefined,
|
|
117
|
+
submitError: undefined
|
|
118
|
+
}
|
|
119
|
+
}),
|
|
120
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
121
|
+
state = _useState2[0],
|
|
122
|
+
setState = _useState2[1];
|
|
150
123
|
var latestStateRef = usePreviousRef(state);
|
|
151
124
|
(0, _react.useEffect)(function () {
|
|
152
125
|
if (process.env.NODE_ENV !== 'production' && !process.env.CI) {
|
|
153
126
|
(0, _tinyInvariant.default)(latestPropsRef.current.name, '@atlaskit/form: Field components have a required name prop');
|
|
154
127
|
}
|
|
155
|
-
|
|
156
128
|
function fieldStateToMeta() {
|
|
157
129
|
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
158
130
|
return {
|
|
@@ -167,7 +139,6 @@ function Field(props) {
|
|
|
167
139
|
validating: !!value.validating
|
|
168
140
|
};
|
|
169
141
|
}
|
|
170
|
-
|
|
171
142
|
var unregister = registerField(latestPropsRef.current.name,
|
|
172
143
|
/**
|
|
173
144
|
* Similar as for setting initial state value.
|
|
@@ -178,45 +149,42 @@ function Field(props) {
|
|
|
178
149
|
* the key prop to re-run validation.
|
|
179
150
|
*/
|
|
180
151
|
// @ts-ignore
|
|
181
|
-
isDefaultValueChanged ||
|
|
152
|
+
isDefaultValueChanged ||
|
|
153
|
+
// @ts-ignore
|
|
182
154
|
isFunction(latestPropsRef.current.defaultValue) ? latestPropsRef.current.defaultValue : latestStateRef.current.fieldProps.value, function (fieldState) {
|
|
183
155
|
/**
|
|
184
156
|
* Do not update dirtySinceLastSubmit until submission has finished.
|
|
185
157
|
*/
|
|
186
158
|
var modifiedDirtySinceLastSubmit = fieldState.submitting ? latestStateRef.current.meta.dirtySinceLastSubmit : fieldState.dirtySinceLastSubmit;
|
|
159
|
+
|
|
187
160
|
/**
|
|
188
161
|
* Do not update submitFailed until submission has finished.
|
|
189
162
|
*/
|
|
190
|
-
|
|
191
163
|
var modifiedSubmitFailed = fieldState.submitting ? latestStateRef.current.meta.submitFailed : fieldState.submitFailed;
|
|
164
|
+
|
|
192
165
|
/**
|
|
193
166
|
* Do not use submitError if the value has changed.
|
|
194
167
|
*/
|
|
195
|
-
|
|
196
168
|
var modifiedSubmitError = modifiedDirtySinceLastSubmit && latestPropsRef.current.validate ? undefined : fieldState.submitError;
|
|
197
169
|
var modifiedError = modifiedSubmitError || (fieldState.touched || fieldState.dirty) && fieldState.error;
|
|
170
|
+
|
|
198
171
|
/**
|
|
199
172
|
* If there has been a submit error, then use logic in modifiedError to determine validity,
|
|
200
173
|
* so we can determine when there is a submit error which we do not want to display
|
|
201
174
|
* because the value has been changed.
|
|
202
175
|
*/
|
|
203
|
-
|
|
204
176
|
var modifiedValid = modifiedSubmitFailed ? modifiedError === undefined : fieldState.valid;
|
|
205
|
-
|
|
206
177
|
function getTransform(eventOrValue, currentValue) {
|
|
207
178
|
if (latestPropsRef.current.transform) {
|
|
208
179
|
return latestPropsRef.current.transform(eventOrValue, currentValue);
|
|
209
180
|
}
|
|
210
|
-
|
|
211
181
|
if (isEvent(eventOrValue)) {
|
|
212
182
|
var currentTarget = eventOrValue.currentTarget;
|
|
213
|
-
|
|
214
183
|
if (currentTarget.type === 'checkbox') {
|
|
215
184
|
//@ts-expect-error TODO Fix legit TypeScript 3.9.6 improved inference error
|
|
216
185
|
if (currentTarget.checked) {
|
|
217
186
|
return currentTarget.value || true;
|
|
218
187
|
}
|
|
219
|
-
|
|
220
188
|
return currentTarget.value ? undefined : false;
|
|
221
189
|
} else if (currentTarget) {
|
|
222
190
|
return currentTarget.value;
|
|
@@ -225,7 +193,6 @@ function Field(props) {
|
|
|
225
193
|
return eventOrValue;
|
|
226
194
|
}
|
|
227
195
|
}
|
|
228
|
-
|
|
229
196
|
setState({
|
|
230
197
|
fieldProps: {
|
|
231
198
|
onChange: function onChange(e) {
|
|
@@ -236,7 +203,6 @@ function Field(props) {
|
|
|
236
203
|
value: fieldState.value
|
|
237
204
|
},
|
|
238
205
|
error: modifiedError || undefined,
|
|
239
|
-
|
|
240
206
|
/**
|
|
241
207
|
* The following parameters are optionally typed in final-form to indicate that not all parameters need
|
|
242
208
|
* to be subscribed to. We cast them as booleans (using || false), since this is what they are semantically.
|
|
@@ -259,7 +225,6 @@ function Field(props) {
|
|
|
259
225
|
getValidator: function getValidator() {
|
|
260
226
|
return function validate(value, formState, fieldState) {
|
|
261
227
|
var supplied = latestPropsRef.current.validate;
|
|
262
|
-
|
|
263
228
|
if (supplied && fieldState) {
|
|
264
229
|
return supplied(value, formState, fieldStateToMeta(fieldState));
|
|
265
230
|
}
|
|
@@ -268,13 +233,13 @@ function Field(props) {
|
|
|
268
233
|
});
|
|
269
234
|
return unregister;
|
|
270
235
|
}, [latestPropsRef, latestStateRef, registerField, props.name, isDefaultValueChanged]);
|
|
271
|
-
var fieldId = (0, _react.useMemo)(
|
|
236
|
+
var fieldId = (0, _react.useMemo)(
|
|
237
|
+
// eslint-disable-next-line @repo/internal/react/disallow-unstable-values
|
|
272
238
|
function () {
|
|
273
239
|
return props.id ? props.id : "".concat(props.name, "-").concat((0, _reactUid.uid)({
|
|
274
240
|
id: props.name
|
|
275
241
|
}));
|
|
276
242
|
}, [props.id, props.name]);
|
|
277
|
-
|
|
278
243
|
var extendedFieldProps = _objectSpread(_objectSpread({}, state.fieldProps), {}, {
|
|
279
244
|
name: props.name,
|
|
280
245
|
isDisabled: isDisabled,
|
|
@@ -284,7 +249,6 @@ function Field(props) {
|
|
|
284
249
|
'aria-labelledby': "".concat(fieldId, "-label ").concat(fieldId, "-helper ").concat(fieldId, "-valid ").concat(fieldId, "-error"),
|
|
285
250
|
id: fieldId
|
|
286
251
|
});
|
|
287
|
-
|
|
288
252
|
return (0, _react2.jsx)("div", {
|
|
289
253
|
css: fieldWrapperStyles
|
|
290
254
|
}, props.label && (0, _react2.jsx)(_label.default, {
|
package/dist/cjs/fieldset.js
CHANGED
|
@@ -4,16 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = require("@emotion/react");
|
|
9
|
-
|
|
8
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
10
9
|
var _components = require("@atlaskit/theme/components");
|
|
11
|
-
|
|
12
10
|
var _constants = require("@atlaskit/theme/constants");
|
|
13
|
-
|
|
14
11
|
var _typography = require("@atlaskit/theme/typography");
|
|
15
|
-
|
|
16
12
|
/** @jsx jsx */
|
|
13
|
+
|
|
17
14
|
var fontFamily = (0, _constants.fontFamily)();
|
|
18
15
|
var gridSize = (0, _constants.gridSize)();
|
|
19
16
|
var fieldsetLabelStyles = (0, _react.css)({
|
|
@@ -24,30 +21,40 @@ var fieldsetLabelStyles = (0, _react.css)({
|
|
|
24
21
|
});
|
|
25
22
|
var fieldSetStyles = (0, _react.css)({
|
|
26
23
|
marginTop: "".concat(gridSize, "px")
|
|
27
|
-
});
|
|
24
|
+
});
|
|
28
25
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
/**
|
|
27
|
+
* TODO: Address duplication with packages/design-system/form/src/label.tsx
|
|
28
|
+
* in https://product-fabric.atlassian.net/browse/DSP-7731
|
|
29
|
+
*/
|
|
30
|
+
var getFieldsetLabelDynamicStyles = function getFieldsetLabelDynamicStyles(mode) {
|
|
31
|
+
return (0, _react.css)([(0, _typography.h200)({
|
|
32
|
+
theme: {
|
|
33
|
+
mode: mode
|
|
34
|
+
}
|
|
35
|
+
}), {
|
|
36
|
+
color: "var(--ds-text-subtle, ".concat((0, _colors.subtleHeading)({
|
|
37
|
+
theme: {
|
|
38
|
+
mode: mode
|
|
39
|
+
}
|
|
40
|
+
}), ")")
|
|
41
|
+
}]);
|
|
42
|
+
};
|
|
34
43
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
mode: 'dark'
|
|
38
|
-
}
|
|
39
|
-
}));
|
|
44
|
+
// eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
|
|
45
|
+
var lightH200Styles = getFieldsetLabelDynamicStyles('light');
|
|
40
46
|
|
|
47
|
+
// eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage
|
|
48
|
+
var darkH200Styles = getFieldsetLabelDynamicStyles('dark');
|
|
41
49
|
var FieldsetLabel = function FieldsetLabel(_ref) {
|
|
42
50
|
var children = _ref.children;
|
|
43
|
-
|
|
44
51
|
var _useGlobalTheme = (0, _components.useGlobalTheme)(),
|
|
45
|
-
|
|
46
|
-
|
|
52
|
+
mode = _useGlobalTheme.mode;
|
|
47
53
|
return (0, _react.jsx)("label", {
|
|
48
54
|
css: [mode === 'light' ? lightH200Styles : darkH200Styles, fieldsetLabelStyles]
|
|
49
55
|
}, children);
|
|
50
56
|
};
|
|
57
|
+
|
|
51
58
|
/**
|
|
52
59
|
* __Fieldset__
|
|
53
60
|
*
|
|
@@ -58,15 +65,12 @@ var FieldsetLabel = function FieldsetLabel(_ref) {
|
|
|
58
65
|
* - [Code](https://atlaskit.atlassian.com/packages/design-system/form/docs/fields)
|
|
59
66
|
* - [Usage](https://atlaskit.atlassian.com/packages/design-system/form/docs/fields)
|
|
60
67
|
*/
|
|
61
|
-
|
|
62
|
-
|
|
63
68
|
var Fieldset = function Fieldset(_ref2) {
|
|
64
69
|
var children = _ref2.children,
|
|
65
|
-
|
|
70
|
+
legend = _ref2.legend;
|
|
66
71
|
return (0, _react.jsx)("fieldset", {
|
|
67
72
|
css: fieldSetStyles
|
|
68
73
|
}, legend && (0, _react.jsx)("legend", null, (0, _react.jsx)(FieldsetLabel, null, legend)), children);
|
|
69
74
|
};
|
|
70
|
-
|
|
71
75
|
var _default = Fieldset;
|
|
72
76
|
exports.default = _default;
|