@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.
Files changed (46) hide show
  1. package/cjs/components/Form/Form.js +4 -2
  2. package/cjs/components/FormFieldPassword/estimatePassword.js +19 -10
  3. package/cjs/components/Skeleton/Skeleton.js +49 -0
  4. package/cjs/components/Skeleton/Skeleton.stories.js +26 -0
  5. package/cjs/components/Skeleton/SkeletonTabs.js +41 -0
  6. package/cjs/components/Skeleton/SkeletonTabs.stories.js +17 -0
  7. package/cjs/components/Skeleton/SkeletonText.js +45 -0
  8. package/cjs/components/Skeleton/SkeletonText.stories.js +35 -0
  9. package/cjs/components/Skeleton/index.js +31 -0
  10. package/cjs/components/index.js +22 -1
  11. package/cjs/components/utils.js +6 -2
  12. package/cjs/index.js +1 -1
  13. package/dist/plesk-ui-library-rtl.css +1 -1
  14. package/dist/plesk-ui-library-rtl.css.map +1 -1
  15. package/dist/plesk-ui-library.css +1 -1
  16. package/dist/plesk-ui-library.css.map +1 -1
  17. package/dist/plesk-ui-library.js +295 -14
  18. package/dist/plesk-ui-library.js.map +1 -1
  19. package/dist/plesk-ui-library.min.js +3 -3
  20. package/dist/plesk-ui-library.min.js.map +1 -1
  21. package/esm/components/Form/Form.js +4 -2
  22. package/esm/components/FormFieldPassword/estimatePassword.js +19 -10
  23. package/esm/components/Skeleton/Skeleton.js +34 -0
  24. package/esm/components/Skeleton/Skeleton.stories.js +10 -0
  25. package/esm/components/Skeleton/SkeletonTabs.js +26 -0
  26. package/esm/components/Skeleton/SkeletonTabs.stories.js +4 -0
  27. package/esm/components/Skeleton/SkeletonText.js +30 -0
  28. package/esm/components/Skeleton/SkeletonText.stories.js +16 -0
  29. package/esm/components/Skeleton/index.js +4 -0
  30. package/esm/components/index.js +3 -1
  31. package/esm/components/utils.js +2 -1
  32. package/esm/index.js +1 -1
  33. package/package.json +1 -1
  34. package/styleguide/build/bundle.24d5b0eb.js +2 -0
  35. package/styleguide/build/{bundle.5df0ee96.js.LICENSE.txt → bundle.24d5b0eb.js.LICENSE.txt} +0 -0
  36. package/styleguide/index.html +2 -2
  37. package/types/src/components/Skeleton/Skeleton.d.ts +49 -0
  38. package/types/src/components/Skeleton/Skeleton.stories.d.ts +12 -0
  39. package/types/src/components/Skeleton/SkeletonTabs.d.ts +23 -0
  40. package/types/src/components/Skeleton/SkeletonTabs.stories.d.ts +6 -0
  41. package/types/src/components/Skeleton/SkeletonText.d.ts +34 -0
  42. package/types/src/components/Skeleton/SkeletonText.stories.d.ts +38 -0
  43. package/types/src/components/Skeleton/index.d.ts +3 -0
  44. package/types/src/components/index.d.ts +2 -0
  45. package/types/src/components/utils.d.ts +1 -0
  46. 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
- if (errors && errors[name] && typeof errors[name] === 'object' && Object.keys(errors[name]).length > 0) {
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 = errors[name];
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
- rules.forEach(({
162
- suggestion,
163
- score
164
- }) => {
165
- const ruleScore = score(password);
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"));
@@ -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; }
@@ -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
@@ -54,6 +54,6 @@ Object.keys(_components).forEach(function (key) {
54
54
  });
55
55
  });
56
56
  // Copyright 1999-2018. Plesk International GmbH. All rights reserved.
57
- const version = "3.27.4";
57
+ const version = "3.28.0";
58
58
  exports.version = version;
59
59
  (0, _svg4everybody.default)();