@plesk/ui-library 3.28.3 → 3.29.1
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/README.md +15 -0
- package/cjs/components/ContentLoader/IconsLoader.js +31 -23
- package/cjs/components/FormField/FormField.js +1 -1
- package/cjs/components/Toast/Toast.js +23 -8
- package/cjs/components/Toaster/Toaster.js +4 -6
- 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 +58 -37
- package/dist/plesk-ui-library.js.map +1 -1
- package/dist/plesk-ui-library.min.js +2 -2
- package/dist/plesk-ui-library.min.js.map +1 -1
- package/esm/components/ContentLoader/IconsLoader.js +31 -23
- package/esm/components/FormField/FormField.js +1 -1
- package/esm/components/Toast/Toast.js +21 -8
- package/esm/components/Toaster/Toaster.js +4 -5
- package/esm/index.js +1 -1
- package/package.json +2 -2
- package/styleguide/build/bundle.73fec982.js +2 -0
- package/styleguide/build/{bundle.3b7e4d37.js.LICENSE.txt → bundle.73fec982.js.LICENSE.txt} +0 -0
- package/styleguide/index.html +2 -2
- package/types/src/components/ContentLoader/IconsLoader.d.ts +6 -4
- package/types/src/components/Toast/Toast.d.ts +9 -0
- package/types/src/components/Toaster/Toaster.d.ts +2 -0
- package/styleguide/build/bundle.3b7e4d37.js +0 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
// Copyright 1999-
|
|
2
|
+
// Copyright 1999-2022. Plesk International GmbH. All rights reserved.
|
|
3
3
|
import React, { useEffect, useRef, useState } from 'react';
|
|
4
4
|
import classNames from 'classnames';
|
|
5
5
|
import Icon from '../Icon';
|
|
6
6
|
import { CLS_PREFIX } from '../../constants';
|
|
7
7
|
const DEFAULT_ICONS = ['clock', 'emoticon-smile', 'rocket', 'sand-clock', 'sleep', 'web', 'star'];
|
|
8
8
|
|
|
9
|
-
const
|
|
9
|
+
const useIconCursor = (icons, initialCursor, isSync) => {
|
|
10
10
|
const targetRef = useRef(null);
|
|
11
11
|
const [cursor, setCursor] = useState(initialCursor);
|
|
12
12
|
useEffect(() => {
|
|
@@ -28,50 +28,58 @@ const useIcon = (icons, initialCursor, isSync) => {
|
|
|
28
28
|
}
|
|
29
29
|
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
30
30
|
}, [icons]);
|
|
31
|
-
return
|
|
32
|
-
name: icons[cursor],
|
|
33
|
-
targetRef
|
|
34
|
-
};
|
|
31
|
+
return [icons[cursor], targetRef];
|
|
35
32
|
};
|
|
36
33
|
|
|
37
34
|
const IconsLoader = ({
|
|
38
35
|
baseClassName = `${CLS_PREFIX}icons-loader`,
|
|
39
36
|
className,
|
|
40
37
|
icons,
|
|
38
|
+
size,
|
|
39
|
+
style,
|
|
41
40
|
...props
|
|
42
41
|
}) => {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
var _icons;
|
|
43
|
+
|
|
44
|
+
const syncRef = useRef('icon1');
|
|
45
|
+
|
|
46
|
+
if (!((_icons = icons) !== null && _icons !== void 0 && _icons.length)) {
|
|
47
|
+
icons = DEFAULT_ICONS;
|
|
48
|
+
} else if (icons.length === 1) {
|
|
49
|
+
icons = [icons[0], icons[0]];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const [icon1, icon1Ref] = useIconCursor(icons, 0, () => {
|
|
53
|
+
if (syncRef.current === 'icon1') {
|
|
54
|
+
syncRef.current = 'icon2';
|
|
48
55
|
return true;
|
|
49
56
|
}
|
|
50
57
|
|
|
51
58
|
return false;
|
|
52
59
|
});
|
|
53
|
-
const icon2 =
|
|
54
|
-
if (syncRef.current ===
|
|
55
|
-
syncRef.current
|
|
60
|
+
const [icon2, icon2Ref] = useIconCursor(icons, 1, () => {
|
|
61
|
+
if (syncRef.current === 'icon2') {
|
|
62
|
+
syncRef.current = 'icon1';
|
|
56
63
|
return true;
|
|
57
64
|
}
|
|
58
65
|
|
|
59
66
|
return false;
|
|
60
67
|
});
|
|
61
68
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
62
|
-
className: classNames(baseClassName, className)
|
|
69
|
+
className: classNames(baseClassName, className),
|
|
70
|
+
style: { ...style,
|
|
71
|
+
['--icons-loader-size']: size ? size : undefined
|
|
72
|
+
}
|
|
63
73
|
}, props), /*#__PURE__*/React.createElement("div", {
|
|
64
74
|
className: classNames(`${baseClassName}__icon`, `${baseClassName}__icon--1`),
|
|
65
|
-
ref:
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
size: "64"
|
|
75
|
+
ref: icon1Ref
|
|
76
|
+
}, Icon.create(icon1, {
|
|
77
|
+
size: size ? size : '64'
|
|
69
78
|
})), /*#__PURE__*/React.createElement("div", {
|
|
70
79
|
className: classNames(`${baseClassName}__icon`, `${baseClassName}__icon--2`),
|
|
71
|
-
ref:
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
size: "64"
|
|
80
|
+
ref: icon2Ref
|
|
81
|
+
}, Icon.create(icon2, {
|
|
82
|
+
size: size ? size : '64'
|
|
75
83
|
})));
|
|
76
84
|
};
|
|
77
85
|
|
|
@@ -199,7 +199,7 @@ class FormField extends Component {
|
|
|
199
199
|
multi
|
|
200
200
|
} = this.props;
|
|
201
201
|
|
|
202
|
-
if (!description || multi && this.fieldApi.getValue().length - 1 > index) {
|
|
202
|
+
if (!description || multi && getArrayHelper(this.fieldApi.getValue()).length - 1 > index) {
|
|
203
203
|
return null;
|
|
204
204
|
}
|
|
205
205
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
// Copyright 1999-
|
|
3
|
+
// Copyright 1999-2022. Plesk International GmbH. All rights reserved.
|
|
4
4
|
import React, { Component } from 'react';
|
|
5
5
|
import classNames from 'classnames';
|
|
6
6
|
import { CLS_PREFIX } from '../../constants';
|
|
7
7
|
import Icon from '../Icon';
|
|
8
8
|
import Button from '../Button';
|
|
9
9
|
import { intentIconMap } from '../intentIconMap';
|
|
10
|
+
import OnDarkContext from '../OnDarkContext';
|
|
10
11
|
const AUTOCLOSE_TIMEOUT = 6000;
|
|
11
12
|
export default class Toast extends Component {
|
|
12
13
|
constructor(...args) {
|
|
@@ -51,6 +52,10 @@ export default class Toast extends Component {
|
|
|
51
52
|
className,
|
|
52
53
|
message,
|
|
53
54
|
intent,
|
|
55
|
+
accent,
|
|
56
|
+
icon = intent && /*#__PURE__*/React.createElement(Icon, {
|
|
57
|
+
name: intentIconMap[intent]
|
|
58
|
+
}),
|
|
54
59
|
onClose,
|
|
55
60
|
closable = true,
|
|
56
61
|
autoClosable,
|
|
@@ -58,18 +63,18 @@ export default class Toast extends Component {
|
|
|
58
63
|
innerRef,
|
|
59
64
|
...props
|
|
60
65
|
} = this.props;
|
|
61
|
-
|
|
66
|
+
const result = /*#__PURE__*/React.createElement("div", _extends({
|
|
62
67
|
tabIndex: 0,
|
|
63
|
-
className: classNames(baseClassName, intent && `${baseClassName}--${intent}`, className)
|
|
68
|
+
className: classNames(baseClassName, intent && `${baseClassName}--${intent}`, accent && `${baseClassName}--accent`, className)
|
|
64
69
|
}, props, {
|
|
65
70
|
ref: innerRef
|
|
66
|
-
}),
|
|
71
|
+
}), icon ? /*#__PURE__*/React.createElement("div", {
|
|
67
72
|
className: `${baseClassName}__icon`
|
|
68
|
-
},
|
|
69
|
-
|
|
70
|
-
})) : null, /*#__PURE__*/React.createElement("
|
|
73
|
+
}, Icon.create(icon, {
|
|
74
|
+
intent
|
|
75
|
+
})) : null, /*#__PURE__*/React.createElement("div", {
|
|
71
76
|
className: `${baseClassName}__content`
|
|
72
|
-
}, message), closable ? /*#__PURE__*/React.createElement("
|
|
77
|
+
}, message), closable ? /*#__PURE__*/React.createElement("div", {
|
|
73
78
|
className: `${baseClassName}__action`
|
|
74
79
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
75
80
|
ghost: true,
|
|
@@ -80,6 +85,14 @@ export default class Toast extends Component {
|
|
|
80
85
|
className: `${baseClassName}__close`,
|
|
81
86
|
onClick: onClose
|
|
82
87
|
})) : null);
|
|
88
|
+
|
|
89
|
+
if (accent) {
|
|
90
|
+
return result;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return /*#__PURE__*/React.createElement(OnDarkContext.Provider, {
|
|
94
|
+
value: true
|
|
95
|
+
}, result);
|
|
83
96
|
}
|
|
84
97
|
|
|
85
98
|
}
|
|
@@ -8,7 +8,6 @@ import classNames from 'classnames';
|
|
|
8
8
|
import { CLS_PREFIX, Z_INDEX_TOASTER } from '../../constants';
|
|
9
9
|
import Toast from '../Toast';
|
|
10
10
|
import Layer from '../Layer';
|
|
11
|
-
import OnDarkContext from '../OnDarkContext';
|
|
12
11
|
let toastId = 0;
|
|
13
12
|
|
|
14
13
|
/**
|
|
@@ -44,6 +43,8 @@ export default class Toaster extends Component {
|
|
|
44
43
|
* Add a new toast
|
|
45
44
|
*
|
|
46
45
|
* `intent` - Visual intent color to apply to component. (Type: `oneOf` 'info', 'success', 'warning', 'danger'. *Required*.)<br>
|
|
46
|
+
* `accent` - Contrast (light) version of the component. (Type: `boolean`. Default: 'undefined'.)<br>
|
|
47
|
+
* `icon` - Name of icon or [Icon](#!/Icon) component. (Type: `oneOfType` 'string', 'object', 'element'. Default: `undefined`.)<br>
|
|
47
48
|
* `message` - Message to display in the body of the toast. (Type: `any`. Default: `undefined`.)<br>
|
|
48
49
|
* `onClose` - onClose handler. (Type: `func`. Default: `undefined`.)<br>
|
|
49
50
|
* `closable` - Show close control (cross mark). (Type: `boolean`. Default: `true`.)<br>
|
|
@@ -133,9 +134,7 @@ export default class Toaster extends Component {
|
|
|
133
134
|
stack.reverse();
|
|
134
135
|
}
|
|
135
136
|
|
|
136
|
-
return /*#__PURE__*/React.createElement(
|
|
137
|
-
value: true
|
|
138
|
-
}, /*#__PURE__*/React.createElement(Layer, {
|
|
137
|
+
return /*#__PURE__*/React.createElement(Layer, {
|
|
139
138
|
level: Z_INDEX_TOASTER
|
|
140
139
|
}, /*#__PURE__*/React.createElement("div", _extends({
|
|
141
140
|
className: classNames(baseClassName, {
|
|
@@ -181,7 +180,7 @@ export default class Toaster extends Component {
|
|
|
181
180
|
},
|
|
182
181
|
innerRef: toastRef
|
|
183
182
|
})));
|
|
184
|
-
}))))
|
|
183
|
+
}))));
|
|
185
184
|
}
|
|
186
185
|
|
|
187
186
|
}
|
package/esm/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plesk/ui-library",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.29.1",
|
|
4
4
|
"description": "Plesk UI Library",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
"resolutions": {
|
|
138
138
|
"@babel/types": "^7.15.6",
|
|
139
139
|
"@types/node": "^12.12.8",
|
|
140
|
-
"**/caniuse-lite": "1.0.
|
|
140
|
+
"**/caniuse-lite": "1.0.30001390"
|
|
141
141
|
},
|
|
142
142
|
"browserslist": [
|
|
143
143
|
"last 2 versions",
|