@plesk/ui-library 3.28.0 → 3.28.3

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 (40) hide show
  1. package/cjs/components/AutoClosable/AutoClosable.js +6 -2
  2. package/cjs/components/Button/Button.js +13 -6
  3. package/cjs/components/Form/Form.js +3 -0
  4. package/cjs/components/FormField/FormField.js +8 -1
  5. package/cjs/components/FormFieldText/FormFieldText.js +13 -5
  6. package/cjs/components/InputFile/InputFile.js +4 -2
  7. package/cjs/components/List/List.js +1 -6
  8. package/cjs/components/Overlay/Overlay.js +0 -2
  9. package/cjs/components/Select/Select.js +3 -3
  10. package/cjs/components/index.js +10 -1
  11. package/cjs/index.js +1 -1
  12. package/dist/plesk-ui-library-rtl.css.map +1 -1
  13. package/dist/plesk-ui-library.css.map +1 -1
  14. package/dist/plesk-ui-library.js +61 -28
  15. package/dist/plesk-ui-library.js.map +1 -1
  16. package/dist/plesk-ui-library.min.js +2 -2
  17. package/dist/plesk-ui-library.min.js.map +1 -1
  18. package/esm/components/AutoClosable/AutoClosable.js +6 -2
  19. package/esm/components/Button/Button.js +14 -7
  20. package/esm/components/Form/Form.js +3 -0
  21. package/esm/components/FormField/FormField.js +8 -1
  22. package/esm/components/FormFieldText/FormFieldText.js +13 -5
  23. package/esm/components/InputFile/InputFile.js +4 -2
  24. package/esm/components/List/List.js +1 -6
  25. package/esm/components/Overlay/Overlay.js +0 -2
  26. package/esm/components/Select/Select.js +3 -3
  27. package/esm/components/index.js +2 -1
  28. package/esm/index.js +1 -1
  29. package/package.json +1 -1
  30. package/styleguide/build/bundle.3b7e4d37.js +2 -0
  31. package/styleguide/build/{bundle.24d5b0eb.js.LICENSE.txt → bundle.3b7e4d37.js.LICENSE.txt} +0 -0
  32. package/styleguide/index.html +2 -2
  33. package/types/src/components/Form/Form.d.ts +7 -136
  34. package/types/src/components/Form/FormContext.d.ts +2 -14
  35. package/types/src/components/Form/types.d.ts +125 -0
  36. package/types/src/components/FormFieldPassword/FormFieldPassword.d.ts +2 -2
  37. package/types/src/components/InputFile/InputFile.d.ts +6 -1
  38. package/types/src/components/TextArea/TextArea.d.ts +2 -2
  39. package/types/src/components/index.d.ts +1 -0
  40. package/styleguide/build/bundle.24d5b0eb.js +0 -2
@@ -78,7 +78,9 @@ class AutoClosable extends _react.Component {
78
78
  }
79
79
 
80
80
  componentDidMount() {
81
- document.body.addEventListener('click', this.onOutsideClick);
81
+ document.body.addEventListener('click', this.onOutsideClick, {
82
+ capture: true
83
+ });
82
84
 
83
85
  if (this.context) {
84
86
  this.context.addChild(this);
@@ -86,7 +88,9 @@ class AutoClosable extends _react.Component {
86
88
  }
87
89
 
88
90
  componentWillUnmount() {
89
- document.body.removeEventListener('click', this.onOutsideClick);
91
+ document.body.removeEventListener('click', this.onOutsideClick, {
92
+ capture: true
93
+ });
90
94
 
91
95
  if (this.context) {
92
96
  this.context.removeChild(this);
@@ -95,7 +95,7 @@ const renderCaret = ({
95
95
  */
96
96
 
97
97
 
98
- const Button = ({
98
+ const Button = /*#__PURE__*/(0, _react.forwardRef)(({
99
99
  baseClassName,
100
100
  className,
101
101
  component: Tag,
@@ -113,7 +113,7 @@ const Button = ({
113
113
  arrow,
114
114
  disabled,
115
115
  ...props
116
- }) => {
116
+ }, ref) => {
117
117
  const [selectedState, setSelectedState] = (0, _react.useState)(false);
118
118
 
119
119
  const handleToggle = () => {
@@ -169,6 +169,7 @@ const Button = ({
169
169
  const hasAriaDisabled = Tag === 'button' && disabled && tooltip;
170
170
 
171
171
  let button = /*#__PURE__*/_react.default.createElement(Tag, (0, _extends2.default)({
172
+ ref: ref,
172
173
  className: (0, _classnames.default)(baseClassName, {
173
174
  [`${baseClassName}--${size}`]: size,
174
175
  [`${baseClassName}--${intent}`]: intent && !ghost,
@@ -208,8 +209,8 @@ const Button = ({
208
209
  }
209
210
 
210
211
  return button;
211
- };
212
-
212
+ });
213
+ Button.displayName = 'Button';
213
214
  Button.propTypes = {
214
215
  /**
215
216
  * Button size.
@@ -303,7 +304,12 @@ Button.propTypes = {
303
304
  /**
304
305
  * @ignore
305
306
  */
306
- baseClassName: _propTypes.default.string
307
+ baseClassName: _propTypes.default.string,
308
+
309
+ /**
310
+ * @ignore
311
+ */
312
+ onClick: _propTypes.default.func
307
313
  };
308
314
  Button.defaultProps = {
309
315
  size: undefined,
@@ -321,7 +327,8 @@ Button.defaultProps = {
321
327
  component: 'button',
322
328
  className: undefined,
323
329
  baseClassName: `${_constants.CLS_PREFIX}button`,
324
- arrow: undefined
330
+ arrow: undefined,
331
+ onClick: undefined
325
332
  };
326
333
  var _default = Button;
327
334
  exports.default = _default;
@@ -52,6 +52,9 @@ class Form extends _react.Component {
52
52
  vertical: this.props.vertical || false,
53
53
  requiredFields: [],
54
54
  formContext: {
55
+ getValues: () => {
56
+ return this.state.values;
57
+ },
55
58
  getValue: (name, def) => {
56
59
  if (this.state.values) {
57
60
  return (0, _utils.getIn)(this.state.values, name, def);
@@ -225,7 +225,7 @@ class FormField extends _react.Component {
225
225
  multi
226
226
  } = this.props;
227
227
 
228
- if (!description || multi && this.state.value.length - 1 > index) {
228
+ if (!description || multi && this.fieldApi.getValue().length - 1 > index) {
229
229
  return null;
230
230
  }
231
231
 
@@ -335,6 +335,13 @@ class FormField extends _react.Component {
335
335
  return null;
336
336
  },
337
337
  getName: () => this.props.name,
338
+ getValues: () => {
339
+ if (this.props.form) {
340
+ return this.props.form.getValues();
341
+ }
342
+
343
+ return null;
344
+ },
338
345
  getValue: def => {
339
346
  if (this.props.form && this.props.name) {
340
347
  return this.props.form.getValue(this.props.name, def);
@@ -49,6 +49,7 @@ class FormFieldText extends _react.Component {
49
49
  autoFocus,
50
50
  autoComplete,
51
51
  autoheight,
52
+ inputProps,
52
53
  ...props
53
54
  } = this.props;
54
55
  return /*#__PURE__*/_react.default.createElement(_FormField.default, (0, _extends2.default)({
@@ -61,7 +62,7 @@ class FormFieldText extends _react.Component {
61
62
  getValue,
62
63
  setValue,
63
64
  isDisabled
64
- }) => multiline ? /*#__PURE__*/_react.default.createElement(_TextArea.default, {
65
+ }) => multiline ? /*#__PURE__*/_react.default.createElement(_TextArea.default, (0, _extends2.default)({
65
66
  id: getId(),
66
67
  name: getName(),
67
68
  value: getValue(''),
@@ -73,7 +74,7 @@ class FormFieldText extends _react.Component {
73
74
  autoFocus: autoFocus,
74
75
  autoComplete: autoComplete,
75
76
  autoheight: autoheight
76
- }) : /*#__PURE__*/_react.default.createElement(_Input.default, {
77
+ }, inputProps)) : /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({
77
78
  id: getId(),
78
79
  name: getName(),
79
80
  className: `${baseClassName}__input`,
@@ -84,7 +85,7 @@ class FormFieldText extends _react.Component {
84
85
  placeholder: placeholder,
85
86
  autoFocus: autoFocus,
86
87
  autoComplete: autoComplete
87
- }));
88
+ }, inputProps)));
88
89
  }
89
90
 
90
91
  }
@@ -155,7 +156,13 @@ FormFieldText.propTypes = {
155
156
  * Adjust height automatically when multiline option is set to true.
156
157
  * @since 1.9.0
157
158
  */
158
- autoheight: _propTypes.default.bool
159
+ autoheight: _propTypes.default.bool,
160
+
161
+ /**
162
+ * Props of underlying input element.
163
+ * @since 3.28.1
164
+ */
165
+ inputProps: _propTypes.default.object
159
166
  };
160
167
  FormFieldText.defaultProps = {
161
168
  size: undefined,
@@ -168,7 +175,8 @@ FormFieldText.defaultProps = {
168
175
  multi: undefined,
169
176
  className: undefined,
170
177
  baseClassName: `${_constants.CLS_PREFIX}form-field-text`,
171
- autoheight: false
178
+ autoheight: false,
179
+ inputProps: undefined
172
180
  };
173
181
  var _default = FormFieldText;
174
182
  exports.default = _default;
@@ -29,7 +29,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
29
29
 
30
30
  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; }
31
31
 
32
- // Copyright 1999-2020. Plesk International GmbH. All rights reserved.
32
+ // Copyright 1999-2022. Plesk International GmbH. All rights reserved.
33
33
  const generateId = () => Math.random().toString(36).slice(2);
34
34
  /**
35
35
  * `InputFile` component is used for browsing and choosing a file from the local disk.
@@ -45,6 +45,7 @@ const InputFile = ({
45
45
  disabled = false,
46
46
  locale,
47
47
  testId,
48
+ accept,
48
49
  ...props
49
50
  }) => {
50
51
  const [file, setFile] = (0, _react.useState)();
@@ -102,7 +103,8 @@ const InputFile = ({
102
103
  ref: inputRef,
103
104
  "data-test": testId && `${testId}--file-input`,
104
105
  onFocus: handleFocus,
105
- onBlur: handleBlur
106
+ onBlur: handleBlur,
107
+ accept: accept
106
108
  }), /*#__PURE__*/_react.default.createElement(_Translate.default, {
107
109
  namespace: "InputFile",
108
110
  content: "browseButton",
@@ -892,14 +892,9 @@ class List extends _react.Component {
892
892
 
893
893
  if (totalRows && /*#__PURE__*/(0, _react.isValidElement)(pagination)) {
894
894
  const {
895
- itemsPerPageOptions = _Pagination.ITEMS_PER_PAGE_OPTIONS,
896
- itemsPerPage
895
+ itemsPerPageOptions = _Pagination.ITEMS_PER_PAGE_OPTIONS
897
896
  } = pagination.props;
898
897
 
899
- if (Number.isInteger(itemsPerPage)) {
900
- return totalRows > itemsPerPage;
901
- }
902
-
903
898
  if (Array.isArray(itemsPerPageOptions)) {
904
899
  const numericOptions = itemsPerPageOptions.filter(v => Number(v) === v);
905
900
 
@@ -106,8 +106,6 @@ class Overlay extends _react.Component {
106
106
  isExist: true
107
107
  }, () => {
108
108
  this.prevFocusElement = document.activeElement;
109
- });
110
- setTimeout(() => {
111
109
  this.setState({
112
110
  isOpened: true
113
111
  }, () => {
@@ -195,8 +195,8 @@ const Select = ({
195
195
 
196
196
  if (filterValue) {
197
197
  const lowerFilterValue = filterValue.toLowerCase();
198
- groupFns.push(group => !!group.label && group.label.toLowerCase().indexOf(lowerFilterValue) === 0);
199
- optionFns.push(option => option.label.toLowerCase().indexOf(lowerFilterValue) === 0);
198
+ groupFns.push(group => !!group.label && group.label.toLowerCase().includes(lowerFilterValue));
199
+ optionFns.push(option => option.label.toLowerCase().includes(lowerFilterValue));
200
200
  }
201
201
 
202
202
  if (groupFns.length || optionFns.length) {
@@ -276,7 +276,7 @@ const Select = ({
276
276
 
277
277
  const handleHighlightSearch = query => {
278
278
  const lowerQuery = query.toLowerCase();
279
- const index = options.findIndex(o => !o.disabled && o.label.toLowerCase().indexOf(lowerQuery) === 0);
279
+ const index = options.findIndex(o => !o.disabled && o.label.toLowerCase().includes(lowerQuery));
280
280
 
281
281
  if (index !== -1) {
282
282
  setHighlightedIndex(index);
@@ -89,7 +89,8 @@ var _exportNames = {
89
89
  Tour: true,
90
90
  Translate: true,
91
91
  Link: true,
92
- Skeleton: true
92
+ Skeleton: true,
93
+ PortalContext: true
93
94
  };
94
95
  Object.defineProperty(exports, "Action", {
95
96
  enumerable: true,
@@ -433,6 +434,12 @@ Object.defineProperty(exports, "Popover", {
433
434
  return _Popover.default;
434
435
  }
435
436
  });
437
+ Object.defineProperty(exports, "PortalContext", {
438
+ enumerable: true,
439
+ get: function () {
440
+ return _Layer.PortalContext;
441
+ }
442
+ });
436
443
  Object.defineProperty(exports, "Progress", {
437
444
  enumerable: true,
438
445
  get: function () {
@@ -956,6 +963,8 @@ Object.keys(_Skeleton).forEach(function (key) {
956
963
  });
957
964
  });
958
965
 
966
+ var _Layer = require("./Layer");
967
+
959
968
  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); }
960
969
 
961
970
  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/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.28.0";
57
+ const version = "3.28.3";
58
58
  exports.version = version;
59
59
  (0, _svg4everybody.default)();