@plesk/ui-library 3.27.4 → 3.28.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/cjs/components/Form/Form.js +4 -2
- package/cjs/components/FormFieldPassword/estimatePassword.js +19 -10
- package/cjs/components/Skeleton/Skeleton.js +49 -0
- package/cjs/components/Skeleton/Skeleton.stories.js +26 -0
- package/cjs/components/Skeleton/SkeletonTabs.js +41 -0
- package/cjs/components/Skeleton/SkeletonTabs.stories.js +17 -0
- package/cjs/components/Skeleton/SkeletonText.js +45 -0
- package/cjs/components/Skeleton/SkeletonText.stories.js +35 -0
- package/cjs/components/Skeleton/index.js +31 -0
- package/cjs/components/index.js +22 -1
- package/cjs/components/utils.js +6 -2
- package/cjs/index.js +1 -1
- package/dist/plesk-ui-library-rtl.css +1 -1
- package/dist/plesk-ui-library-rtl.css.map +1 -1
- package/dist/plesk-ui-library.css +1 -1
- package/dist/plesk-ui-library.css.map +1 -1
- package/dist/plesk-ui-library.js +295 -14
- package/dist/plesk-ui-library.js.map +1 -1
- package/dist/plesk-ui-library.min.js +3 -3
- package/dist/plesk-ui-library.min.js.map +1 -1
- package/esm/components/Form/Form.js +4 -2
- package/esm/components/FormFieldPassword/estimatePassword.js +19 -10
- package/esm/components/Skeleton/Skeleton.js +34 -0
- package/esm/components/Skeleton/Skeleton.stories.js +10 -0
- package/esm/components/Skeleton/SkeletonTabs.js +26 -0
- package/esm/components/Skeleton/SkeletonTabs.stories.js +4 -0
- package/esm/components/Skeleton/SkeletonText.js +30 -0
- package/esm/components/Skeleton/SkeletonText.stories.js +16 -0
- package/esm/components/Skeleton/index.js +4 -0
- package/esm/components/index.js +3 -1
- package/esm/components/utils.js +2 -1
- package/esm/index.js +1 -1
- package/package.json +1 -1
- package/styleguide/build/bundle.24d5b0eb.js +2 -0
- package/styleguide/build/{bundle.5df0ee96.js.LICENSE.txt → bundle.24d5b0eb.js.LICENSE.txt} +0 -0
- package/styleguide/index.html +2 -2
- package/types/src/components/Skeleton/Skeleton.d.ts +49 -0
- package/types/src/components/Skeleton/Skeleton.stories.d.ts +12 -0
- package/types/src/components/Skeleton/SkeletonTabs.d.ts +23 -0
- package/types/src/components/Skeleton/SkeletonTabs.stories.d.ts +6 -0
- package/types/src/components/Skeleton/SkeletonText.d.ts +34 -0
- package/types/src/components/Skeleton/SkeletonText.stories.d.ts +38 -0
- package/types/src/components/Skeleton/index.d.ts +3 -0
- package/types/src/components/index.d.ts +2 -0
- package/types/src/components/utils.d.ts +1 -0
- package/styleguide/build/bundle.5df0ee96.js +0 -2
|
@@ -267,9 +267,11 @@ class Form extends _react.Component {
|
|
|
267
267
|
let field;
|
|
268
268
|
let fieldErrors;
|
|
269
269
|
Object.keys(this.fields).every(name => {
|
|
270
|
-
|
|
270
|
+
const foundError = (0, _utils.getIn)(errors, name);
|
|
271
|
+
|
|
272
|
+
if (foundError && typeof foundError === 'object' && Object.keys(foundError).length > 0) {
|
|
271
273
|
field = this.fields[name];
|
|
272
|
-
fieldErrors =
|
|
274
|
+
fieldErrors = foundError;
|
|
273
275
|
return false;
|
|
274
276
|
}
|
|
275
277
|
|
|
@@ -14,6 +14,12 @@ var _Translate = _interopRequireDefault(require("../Translate"));
|
|
|
14
14
|
var _enUS = _interopRequireDefault(require("./locale/en-US"));
|
|
15
15
|
|
|
16
16
|
// Copyright 1999-2022. Plesk International GmbH. All rights reserved.
|
|
17
|
+
const EXCLUSIONS = {
|
|
18
|
+
numbers1: 'numbers3',
|
|
19
|
+
specialChar1: 'specialChar2',
|
|
20
|
+
lettersLowerCase: 'comboUpperAndLower',
|
|
21
|
+
lettersUpperCase: 'comboUpperAndLower'
|
|
22
|
+
};
|
|
17
23
|
const DEFAULT_RULES = [{
|
|
18
24
|
name: 'passwordTooShort',
|
|
19
25
|
suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
|
|
@@ -156,18 +162,21 @@ const DEFAULT_RULES = [{
|
|
|
156
162
|
exports.DEFAULT_RULES = DEFAULT_RULES;
|
|
157
163
|
|
|
158
164
|
var _default = (password, rules = DEFAULT_RULES) => {
|
|
159
|
-
const suggestions = [];
|
|
160
165
|
let passwordScore = 0;
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
if (ruleScore < 0 && suggestion) {
|
|
168
|
-
suggestions.push(suggestion);
|
|
169
|
-
} else {
|
|
166
|
+
const suggestions = [];
|
|
167
|
+
const skippedRules = new Set();
|
|
168
|
+
rules.forEach(rule => {
|
|
169
|
+
const ruleScore = rule.score(password);
|
|
170
|
+
|
|
171
|
+
if (ruleScore >= 0) {
|
|
170
172
|
passwordScore += ruleScore;
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
skippedRules.add(EXCLUSIONS[rule.name]);
|
|
177
|
+
|
|
178
|
+
if (!skippedRules.has(rule.name) && rule.suggestion) {
|
|
179
|
+
suggestions.push(rule.suggestion);
|
|
171
180
|
}
|
|
172
181
|
});
|
|
173
182
|
let strength;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
16
|
+
var _utils = require("../utils");
|
|
17
|
+
|
|
18
|
+
var _constants = require("../../constants");
|
|
19
|
+
|
|
20
|
+
// Copyright 1999-2022. Plesk International GmbH. All rights reserved.
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* `Skeleton` (or content-placeholder) is placeholder preview of content before the data gets loaded to reduce load-time frustration.
|
|
24
|
+
* Skeleton is used for non-text components, images, media-objects, etc.
|
|
25
|
+
* @since 3.28.0
|
|
26
|
+
*/
|
|
27
|
+
const Skeleton = ({
|
|
28
|
+
width,
|
|
29
|
+
maxWidth,
|
|
30
|
+
height,
|
|
31
|
+
style,
|
|
32
|
+
component: Tag = 'span',
|
|
33
|
+
className,
|
|
34
|
+
baseClassName = `${_constants.CLS_PREFIX}skeleton`,
|
|
35
|
+
...props
|
|
36
|
+
}) => {
|
|
37
|
+
const finalStyle = { ...style,
|
|
38
|
+
width: (0, _utils.normalizeSize)(width),
|
|
39
|
+
maxWidth: (0, _utils.normalizeSize)(maxWidth),
|
|
40
|
+
height: (0, _utils.normalizeSize)(height)
|
|
41
|
+
};
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement(Tag, (0, _extends2.default)({
|
|
43
|
+
className: (0, _classnames.default)(baseClassName, className),
|
|
44
|
+
style: finalStyle
|
|
45
|
+
}, props));
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var _default = Skeleton;
|
|
49
|
+
exports.default = _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.CustomSize = exports.Basic = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _Skeleton = _interopRequireDefault(require("./Skeleton"));
|
|
13
|
+
|
|
14
|
+
// Copyright 1999-2022. Plesk International GmbH. All rights reserved.
|
|
15
|
+
const Basic = args => /*#__PURE__*/_react.default.createElement(_Skeleton.default, args);
|
|
16
|
+
|
|
17
|
+
exports.Basic = Basic;
|
|
18
|
+
Basic.args = {};
|
|
19
|
+
|
|
20
|
+
const CustomSize = args => /*#__PURE__*/_react.default.createElement(Basic, args);
|
|
21
|
+
|
|
22
|
+
exports.CustomSize = CustomSize;
|
|
23
|
+
CustomSize.args = {
|
|
24
|
+
width: 200,
|
|
25
|
+
height: 100
|
|
26
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
16
|
+
var _SkeletonText = _interopRequireDefault(require("./SkeletonText"));
|
|
17
|
+
|
|
18
|
+
var _constants = require("../../constants");
|
|
19
|
+
|
|
20
|
+
// Copyright 1999-2022. Plesk International GmbH. All rights reserved.
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Skeleton for tabs component
|
|
24
|
+
* @since `3.28.0
|
|
25
|
+
*/
|
|
26
|
+
const SkeletonTabs = ({
|
|
27
|
+
count = 3,
|
|
28
|
+
className,
|
|
29
|
+
baseClassName = `${_constants.CLS_PREFIX}skeleton-tabs`,
|
|
30
|
+
...props
|
|
31
|
+
}) => /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
32
|
+
className: (0, _classnames.default)(baseClassName, className)
|
|
33
|
+
}, props), /*#__PURE__*/_react.default.createElement(_SkeletonText.default, {
|
|
34
|
+
lineProps: {
|
|
35
|
+
maxWidth: 100
|
|
36
|
+
},
|
|
37
|
+
lines: count
|
|
38
|
+
}));
|
|
39
|
+
|
|
40
|
+
var _default = SkeletonTabs;
|
|
41
|
+
exports.default = _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Basic = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _SkeletonTabs = _interopRequireDefault(require("./SkeletonTabs"));
|
|
13
|
+
|
|
14
|
+
// Copyright 1999-2022. Plesk International GmbH. All rights reserved.
|
|
15
|
+
const Basic = args => /*#__PURE__*/_react.default.createElement(_SkeletonTabs.default, args);
|
|
16
|
+
|
|
17
|
+
exports.Basic = Basic;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
16
|
+
var _Skeleton = _interopRequireDefault(require("./Skeleton"));
|
|
17
|
+
|
|
18
|
+
var _constants = require("../../constants");
|
|
19
|
+
|
|
20
|
+
// Copyright 1999-2022. Plesk International GmbH. All rights reserved.
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Skeleton for text-containing components. Is can be used inside Paragraph, as title, or single text
|
|
24
|
+
* @since 3.28.0
|
|
25
|
+
*/
|
|
26
|
+
const SkeletonText = ({
|
|
27
|
+
lines = 3,
|
|
28
|
+
component: Tag = 'span',
|
|
29
|
+
className,
|
|
30
|
+
baseClassName = `${_constants.CLS_PREFIX}skeleton-text`,
|
|
31
|
+
lineProps = {},
|
|
32
|
+
...props
|
|
33
|
+
}) => /*#__PURE__*/_react.default.createElement(Tag, (0, _extends2.default)({
|
|
34
|
+
className: (0, _classnames.default)(baseClassName, className)
|
|
35
|
+
}, props), Array.from({
|
|
36
|
+
length: lines
|
|
37
|
+
}).map((_, key) => /*#__PURE__*/_react.default.createElement(_Skeleton.default // eslint-disable-next-line react/no-array-index-key
|
|
38
|
+
, (0, _extends2.default)({
|
|
39
|
+
key: key
|
|
40
|
+
}, lineProps, {
|
|
41
|
+
className: (0, _classnames.default)(`${baseClassName}__line`, lineProps === null || lineProps === void 0 ? void 0 : lineProps.className)
|
|
42
|
+
}))));
|
|
43
|
+
|
|
44
|
+
var _default = SkeletonText;
|
|
45
|
+
exports.default = _default;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.LinesCount = exports.Custom = exports.Basic = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _SkeletonText = _interopRequireDefault(require("./SkeletonText"));
|
|
13
|
+
|
|
14
|
+
// Copyright 1999-2022. Plesk International GmbH. All rights reserved.
|
|
15
|
+
const Basic = args => /*#__PURE__*/_react.default.createElement(_SkeletonText.default, args);
|
|
16
|
+
|
|
17
|
+
exports.Basic = Basic;
|
|
18
|
+
Basic.args = {};
|
|
19
|
+
|
|
20
|
+
const LinesCount = args => /*#__PURE__*/_react.default.createElement(Basic, args);
|
|
21
|
+
|
|
22
|
+
exports.LinesCount = LinesCount;
|
|
23
|
+
LinesCount.args = {
|
|
24
|
+
lines: 5
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const Custom = args => /*#__PURE__*/_react.default.createElement(Basic, args);
|
|
28
|
+
|
|
29
|
+
exports.Custom = Custom;
|
|
30
|
+
Custom.args = {
|
|
31
|
+
lines: 5,
|
|
32
|
+
lineProps: {
|
|
33
|
+
width: 200
|
|
34
|
+
}
|
|
35
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "SkeletonTabs", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () {
|
|
11
|
+
return _SkeletonTabs.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "SkeletonText", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () {
|
|
17
|
+
return _SkeletonText.default;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "default", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function () {
|
|
23
|
+
return _Skeleton.default;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
var _Skeleton = _interopRequireDefault(require("./Skeleton"));
|
|
28
|
+
|
|
29
|
+
var _SkeletonText = _interopRequireDefault(require("./SkeletonText"));
|
|
30
|
+
|
|
31
|
+
var _SkeletonTabs = _interopRequireDefault(require("./SkeletonTabs"));
|
package/cjs/components/index.js
CHANGED
|
@@ -88,7 +88,8 @@ var _exportNames = {
|
|
|
88
88
|
Tooltip: true,
|
|
89
89
|
Tour: true,
|
|
90
90
|
Translate: true,
|
|
91
|
-
Link: true
|
|
91
|
+
Link: true,
|
|
92
|
+
Skeleton: true
|
|
92
93
|
};
|
|
93
94
|
Object.defineProperty(exports, "Action", {
|
|
94
95
|
enumerable: true,
|
|
@@ -492,6 +493,12 @@ Object.defineProperty(exports, "Select", {
|
|
|
492
493
|
return _Select.default;
|
|
493
494
|
}
|
|
494
495
|
});
|
|
496
|
+
Object.defineProperty(exports, "Skeleton", {
|
|
497
|
+
enumerable: true,
|
|
498
|
+
get: function () {
|
|
499
|
+
return _Skeleton.default;
|
|
500
|
+
}
|
|
501
|
+
});
|
|
495
502
|
Object.defineProperty(exports, "SplitButton", {
|
|
496
503
|
enumerable: true,
|
|
497
504
|
get: function () {
|
|
@@ -935,6 +942,20 @@ var _Translate = _interopRequireDefault(require("./Translate"));
|
|
|
935
942
|
|
|
936
943
|
var _Link = _interopRequireDefault(require("./Link"));
|
|
937
944
|
|
|
945
|
+
var _Skeleton = _interopRequireWildcard(require("./Skeleton"));
|
|
946
|
+
|
|
947
|
+
Object.keys(_Skeleton).forEach(function (key) {
|
|
948
|
+
if (key === "default" || key === "__esModule") return;
|
|
949
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
950
|
+
if (key in exports && exports[key] === _Skeleton[key]) return;
|
|
951
|
+
Object.defineProperty(exports, key, {
|
|
952
|
+
enumerable: true,
|
|
953
|
+
get: function () {
|
|
954
|
+
return _Skeleton[key];
|
|
955
|
+
}
|
|
956
|
+
});
|
|
957
|
+
});
|
|
958
|
+
|
|
938
959
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
939
960
|
|
|
940
961
|
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; }
|
package/cjs/components/utils.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.wrapFunction = exports.scrollIntoView = exports.safeInvoke = exports.mergeRefs = exports.isClickable = exports.createProxyProps = exports.createFocusManager = exports.EventEmitter = void 0;
|
|
8
|
+
exports.wrapFunction = exports.scrollIntoView = exports.safeInvoke = exports.normalizeSize = exports.mergeRefs = exports.isClickable = exports.createProxyProps = exports.createFocusManager = exports.EventEmitter = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
@@ -257,4 +257,8 @@ const mergeRefs = (...refs) => value => {
|
|
|
257
257
|
});
|
|
258
258
|
};
|
|
259
259
|
|
|
260
|
-
exports.mergeRefs = mergeRefs;
|
|
260
|
+
exports.mergeRefs = mergeRefs;
|
|
261
|
+
|
|
262
|
+
const normalizeSize = value => String(Number(value)) === String(value) ? `${value}px` : value;
|
|
263
|
+
|
|
264
|
+
exports.normalizeSize = normalizeSize;
|
package/cjs/index.js
CHANGED