@plesk/ui-library 3.27.0 → 3.27.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 (46) hide show
  1. package/cjs/components/Dialog/Dialog.js +11 -2
  2. package/cjs/components/Drawer/DrawerProgress.js +15 -1
  3. package/cjs/components/FormFieldPassword/FormFieldPassword.js +24 -214
  4. package/cjs/components/FormFieldPassword/PasswordMeter.js +81 -0
  5. package/cjs/components/FormFieldPassword/estimatePassword.js +203 -0
  6. package/cjs/components/FormFieldPassword/generatePassword.js +21 -0
  7. package/cjs/components/FormFieldPassword/index.js +5 -5
  8. package/cjs/components/Icon/Icon.js +1 -1
  9. package/cjs/components/List/List.js +1 -1
  10. package/cjs/components/ProgressDialog/ProgressDialog.js +2 -1
  11. package/cjs/components/Rating/images/rating.svg +5 -5
  12. package/cjs/index.js +1 -1
  13. package/dist/images/rating.svg +5 -5
  14. package/dist/plesk-ui-library-rtl.css +1 -1
  15. package/dist/plesk-ui-library-rtl.css.map +1 -1
  16. package/dist/plesk-ui-library.css +1 -1
  17. package/dist/plesk-ui-library.css.map +1 -1
  18. package/dist/plesk-ui-library.js +336 -309
  19. package/dist/plesk-ui-library.js.map +1 -1
  20. package/dist/plesk-ui-library.min.js +5 -5
  21. package/dist/plesk-ui-library.min.js.map +1 -1
  22. package/esm/components/Dialog/Dialog.js +11 -2
  23. package/esm/components/Drawer/DrawerProgress.js +16 -2
  24. package/esm/components/FormFieldPassword/FormFieldPassword.js +22 -206
  25. package/esm/components/FormFieldPassword/PasswordMeter.js +61 -0
  26. package/esm/components/FormFieldPassword/estimatePassword.js +187 -0
  27. package/esm/components/FormFieldPassword/generatePassword.js +14 -0
  28. package/esm/components/FormFieldPassword/index.js +3 -2
  29. package/esm/components/Icon/Icon.js +1 -1
  30. package/esm/components/List/List.js +1 -1
  31. package/esm/components/ProgressDialog/ProgressDialog.js +2 -1
  32. package/esm/components/Rating/images/rating.svg +5 -5
  33. package/esm/index.js +1 -1
  34. package/package.json +13 -8
  35. package/styleguide/build/bundle.f38c467d.js +2 -0
  36. package/styleguide/build/{bundle.ff1f903a.js.LICENSE.txt → bundle.f38c467d.js.LICENSE.txt} +0 -0
  37. package/styleguide/images/rating.svg +5 -5
  38. package/styleguide/index.html +2 -2
  39. package/types/package.d.ts +5 -0
  40. package/types/src/components/FormFieldPassword/FormFieldPassword.d.ts +91 -0
  41. package/types/src/components/FormFieldPassword/PasswordMeter.d.ts +9 -0
  42. package/types/src/components/FormFieldPassword/estimatePassword.d.ts +13 -0
  43. package/types/src/components/FormFieldPassword/index.d.ts +2 -0
  44. package/cjs/components/FormFieldPassword/passwordScore.js +0 -131
  45. package/esm/components/FormFieldPassword/passwordScore.js +0 -122
  46. package/styleguide/build/bundle.ff1f903a.js +0 -2
@@ -5753,6 +5753,7 @@ const Dialog = ({
5753
5753
  closable,
5754
5754
  onClose,
5755
5755
  closingConfirmation,
5756
+ canClose,
5756
5757
  ...props
5757
5758
  }) => {
5758
5759
  const [isVisible, setIsVisible] = (0, _react.useState)(isOpen);
@@ -5863,8 +5864,8 @@ const Dialog = ({
5863
5864
  className: (0, _classnames.default)(baseClassName, className),
5864
5865
  isOpen: isVisible,
5865
5866
  onClose: onCloseWithConfirmation,
5866
- canCloseOnBackdropClick: closable,
5867
- canCloseOnEscapePress: closable,
5867
+ canCloseOnBackdropClick: canClose && closable,
5868
+ canCloseOnEscapePress: canClose && closable,
5868
5869
  size: size
5869
5870
  }, props), (title || subtitle || actions) && /*#__PURE__*/_react.default.createElement("header", {
5870
5871
  className: `${baseClassName}__header`
@@ -5887,6 +5888,7 @@ const Dialog = ({
5887
5888
  className: `${baseClassName}__header-actions`
5888
5889
  }, actions, closable && /*#__PURE__*/_react.default.createElement(_Button.default, {
5889
5890
  className: `${baseClassName}__header-close`,
5891
+ disabled: !canClose,
5890
5892
  ghost: true,
5891
5893
  size: "lg",
5892
5894
  icon: "cross-mark",
@@ -5992,6 +5994,12 @@ Dialog.propTypes = {
5992
5994
  */
5993
5995
  closable: _propTypes.default.bool,
5994
5996
 
5997
+ /**
5998
+ * Disable close dialog button
5999
+ * @since 4.0.0
6000
+ */
6001
+ canClose: _propTypes.default.bool,
6002
+
5995
6003
  /**
5996
6004
  * On close event handler. Called immediately after dialog closed by "cancel" button or "Esc" key.
5997
6005
  * @since 0.0.68
@@ -6035,6 +6043,7 @@ Dialog.defaultProps = {
6035
6043
  form: undefined,
6036
6044
  size: 'md',
6037
6045
  closable: true,
6046
+ canClose: true,
6038
6047
  onClose: undefined,
6039
6048
  closingConfirmation: undefined,
6040
6049
  children: undefined,
@@ -6521,6 +6530,20 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
6521
6530
 
6522
6531
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6523
6532
 
6533
+ const renderAdditionalButtons = buttons => {
6534
+ const buttonProcessing = button => {
6535
+ if ( /*#__PURE__*/(0, _react.isValidElement)(button) && button.type === _Button.default) {
6536
+ return /*#__PURE__*/(0, _react.cloneElement)(button, {
6537
+ size: 'lg'
6538
+ });
6539
+ }
6540
+
6541
+ return button;
6542
+ };
6543
+
6544
+ return Array.isArray(buttons) ? buttons.map(buttonProcessing) : buttonProcessing(buttons);
6545
+ };
6546
+
6524
6547
  class DrawerProgress extends _react.Component {
6525
6548
  constructor(...args) {
6526
6549
  super(...args);
@@ -6639,7 +6662,7 @@ class DrawerProgress extends _react.Component {
6639
6662
 
6640
6663
  const footer = hasFooter ? /*#__PURE__*/_react.default.createElement("div", {
6641
6664
  className: `${baseClassName}__footer`
6642
- }, buttons, canCancel && /*#__PURE__*/_react.default.createElement(_Button.default, {
6665
+ }, renderAdditionalButtons(buttons), canCancel && /*#__PURE__*/_react.default.createElement(_Button.default, {
6643
6666
  onClick: this.handleCancel,
6644
6667
  size: "lg"
6645
6668
  }, /*#__PURE__*/_react.default.createElement(_Translate.default, {
@@ -8034,10 +8057,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
8034
8057
 
8035
8058
  /***/ }),
8036
8059
 
8037
- /***/ "./components/FormFieldPassword/FormFieldPassword.js":
8038
- /*!***********************************************************!*\
8039
- !*** ./components/FormFieldPassword/FormFieldPassword.js ***!
8040
- \***********************************************************/
8060
+ /***/ "./components/FormFieldPassword/FormFieldPassword.tsx":
8061
+ /*!************************************************************!*\
8062
+ !*** ./components/FormFieldPassword/FormFieldPassword.tsx ***!
8063
+ \************************************************************/
8041
8064
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8042
8065
 
8043
8066
  "use strict";
@@ -8046,12 +8069,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
8046
8069
  Object.defineProperty(exports, "__esModule", ({
8047
8070
  value: true
8048
8071
  }));
8049
- exports.generatePassword = exports["default"] = void 0;
8072
+ exports["default"] = void 0;
8050
8073
 
8051
8074
  var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8052
8075
 
8053
- var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
8054
-
8055
8076
  var _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ "../node_modules/classnames/index.js"));
8056
8077
 
8057
8078
  var _constants = __webpack_require__(/*! ../../constants */ "./constants.js");
@@ -8062,11 +8083,11 @@ var _FormField = _interopRequireDefault(__webpack_require__(/*! ../FormField */
8062
8083
 
8063
8084
  var _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ "./components/Input/index.tsx"));
8064
8085
 
8065
- var _Popover = _interopRequireDefault(__webpack_require__(/*! ../Popover */ "./components/Popover/index.js"));
8066
-
8067
8086
  var _Translate = _interopRequireDefault(__webpack_require__(/*! ../Translate */ "./components/Translate/index.js"));
8068
8087
 
8069
- var _passwordScore = _interopRequireWildcard(__webpack_require__(/*! ./passwordScore */ "./components/FormFieldPassword/passwordScore.js"));
8088
+ var _PasswordMeter = _interopRequireDefault(__webpack_require__(/*! ./PasswordMeter */ "./components/FormFieldPassword/PasswordMeter.tsx"));
8089
+
8090
+ var _generatePassword = _interopRequireDefault(__webpack_require__(/*! ./generatePassword */ "./components/FormFieldPassword/generatePassword.js"));
8070
8091
 
8071
8092
  var _enUS = _interopRequireDefault(__webpack_require__(/*! ./locale/en-US */ "./components/FormFieldPassword/locale/en-US.js"));
8072
8093
 
@@ -8082,25 +8103,10 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
8082
8103
 
8083
8104
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8084
8105
 
8085
- const symbolClasses = {
8086
- upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
8087
- lower: 'abcdefghijklmnopqrstuvwxyz',
8088
- number: '0123456789',
8089
- special: '!@#$%^&*?_~'
8090
- };
8091
-
8092
- const generatePassword = () => {
8093
- const password = ['upper', 'lower', 'lower', 'lower', 'number', 'number', 'special', 'number', 'upper', 'upper', 'lower', 'lower', 'lower', 'lower', 'lower', 'lower'];
8094
- return password.sort((a, b) => Math.floor(b.length * Math.random()) - Math.floor(a.length * Math.random())).map(symbolClass => symbolClasses[symbolClass][Math.floor(symbolClasses[symbolClass].length * Math.random())]).join('');
8095
- };
8096
8106
  /**
8097
8107
  * `FormFieldPassword` component provides secure way to enter a password.
8098
8108
  * @since 0.0.58
8099
8109
  */
8100
-
8101
-
8102
- exports.generatePassword = generatePassword;
8103
-
8104
8110
  class FormFieldPassword extends _react.Component {
8105
8111
  constructor(...args) {
8106
8112
  super(...args);
@@ -8129,118 +8135,6 @@ class FormFieldPassword extends _react.Component {
8129
8135
  _defineProperty(this, "handleBlur", this.handleClosePasswordMeter);
8130
8136
  }
8131
8137
 
8132
- passwordScore(value) {
8133
- if (!value) {
8134
- return {
8135
- intent: null,
8136
- strength: null,
8137
- unusedRules: []
8138
- };
8139
- }
8140
-
8141
- const {
8142
- passwordScoreRules
8143
- } = this.props;
8144
- const {
8145
- score,
8146
- unusedRules
8147
- } = (0, _passwordScore.default)(value, passwordScoreRules);
8148
- let intent = 'success';
8149
-
8150
- let strength = /*#__PURE__*/_react.default.createElement(_Translate.default, {
8151
- content: "FormFieldPassword.strengthVeryStrong",
8152
- fallback: _enUS.default.strengthVeryStrong
8153
- });
8154
-
8155
- if (score < 16) {
8156
- intent = 'danger';
8157
- strength = /*#__PURE__*/_react.default.createElement(_Translate.default, {
8158
- content: "FormFieldPassword.strengthVeryWeak",
8159
- fallback: _enUS.default.strengthVeryWeak
8160
- });
8161
- } else if (score < 25) {
8162
- intent = 'danger';
8163
- strength = /*#__PURE__*/_react.default.createElement(_Translate.default, {
8164
- content: "FormFieldPassword.strengthWeak",
8165
- fallback: _enUS.default.strengthWeak
8166
- });
8167
- } else if (score < 35) {
8168
- intent = 'warning';
8169
- strength = /*#__PURE__*/_react.default.createElement(_Translate.default, {
8170
- content: "FormFieldPassword.strengthMedium",
8171
- fallback: _enUS.default.strengthMedium
8172
- });
8173
- } else if (score < 45) {
8174
- intent = 'success';
8175
- strength = /*#__PURE__*/_react.default.createElement(_Translate.default, {
8176
- content: "FormFieldPassword.strengthStrong",
8177
- fallback: _enUS.default.strengthStrong
8178
- });
8179
- }
8180
-
8181
- return {
8182
- intent,
8183
- strength,
8184
- unusedRules
8185
- };
8186
- }
8187
-
8188
- renderPasswordMeter(value, target) {
8189
- const {
8190
- passwordMeterVisible
8191
- } = this.state;
8192
- const {
8193
- passwordMeterProps
8194
- } = this.props;
8195
- const {
8196
- intent,
8197
- strength,
8198
- unusedRules
8199
- } = this.passwordScore(value);
8200
- return /*#__PURE__*/_react.default.createElement(_Popover.default, _extends({
8201
- visible: passwordMeterVisible && !!value,
8202
- target: target,
8203
- targetRef: this.targetRef,
8204
- placement: "bottom-right",
8205
- intent: intent,
8206
- canCloseOnOutsideClick: false,
8207
- canCloseOnEscapePress: false,
8208
- onClose: this.handleClosePasswordMeter
8209
- }, passwordMeterProps), /*#__PURE__*/_react.default.createElement(_Translate.default, {
8210
- content: "FormFieldPassword.passwordStrength",
8211
- fallback: _enUS.default.passwordStrength,
8212
- params: {
8213
- strength: /*#__PURE__*/_react.default.createElement("b", null, strength)
8214
- }
8215
- }), /*#__PURE__*/_react.default.createElement("br", null), unusedRules.length ? /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Translate.default, {
8216
- content: "FormFieldPassword.improvePassword",
8217
- fallback: _enUS.default.improvePassword
8218
- }), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("ul", null, unusedRules.slice(0, 3).map(({
8219
- rule
8220
- }, index) => {
8221
- const {
8222
- name
8223
- } = rule;
8224
- let {
8225
- message
8226
- } = rule;
8227
-
8228
- if (name && !message) {
8229
- message = /*#__PURE__*/_react.default.createElement(_Translate.default, {
8230
- content: `FormFieldPassword.${name}`,
8231
- fallback: _enUS.default[name]
8232
- });
8233
- }
8234
-
8235
- return /*#__PURE__*/_react.default.createElement("li", {
8236
- key: name || index.toString()
8237
- }, message);
8238
- }))) : /*#__PURE__*/_react.default.createElement(_Translate.default, {
8239
- content: "FormFieldPassword.yourPasswordIsStrong",
8240
- fallback: _enUS.default.yourPasswordIsStrong
8241
- }));
8242
- }
8243
-
8244
8138
  renderGenerateButton({
8245
8139
  setValue,
8246
8140
  isDisabled
@@ -8251,7 +8145,7 @@ class FormFieldPassword extends _react.Component {
8251
8145
  } = this.props;
8252
8146
  const generateButtonProps = {
8253
8147
  className: `${baseClassName}__button--generate`,
8254
- onClick: () => setValue(generatePassword()),
8148
+ onClick: () => setValue((0, _generatePassword.default)()),
8255
8149
  tooltip: /*#__PURE__*/_react.default.createElement(_Translate.default, {
8256
8150
  content: "FormFieldPassword.generateButtonHint",
8257
8151
  fallback: _enUS.default.generateButtonHint
@@ -8282,12 +8176,15 @@ class FormFieldPassword extends _react.Component {
8282
8176
  hideGenerateButton,
8283
8177
  hidePasswordMeter,
8284
8178
  passwordMeterProps,
8285
- passwordScoreRules,
8286
8179
  size,
8287
8180
  autoFocus,
8288
8181
  autoComplete,
8289
8182
  ...props
8290
8183
  } = this.props;
8184
+ const {
8185
+ visible,
8186
+ passwordMeterVisible
8187
+ } = this.state;
8291
8188
  return /*#__PURE__*/_react.default.createElement(_FormField.default, _extends({
8292
8189
  className: (0, _classnames.default)(baseClassName, className)
8293
8190
  }, props), ({
@@ -8297,18 +8194,19 @@ class FormFieldPassword extends _react.Component {
8297
8194
  setValue,
8298
8195
  isDisabled
8299
8196
  }) => {
8197
+ const value = getValue('');
8198
+
8300
8199
  const input = /*#__PURE__*/_react.default.createElement(_Input.default, {
8301
8200
  id: getId(),
8302
8201
  name: getName(),
8303
- type: this.state.visible ? 'text' : 'password',
8304
- value: getValue(''),
8202
+ type: visible ? 'text' : 'password',
8203
+ value: value,
8305
8204
  onChange: e => {
8306
8205
  setValue(e.target.value);
8307
8206
  this.setState({
8308
8207
  passwordMeterVisible: true
8309
8208
  });
8310
8209
  },
8311
- onFocus: this.handleFocus,
8312
8210
  onBlur: this.handleBlur,
8313
8211
  autoFocus: autoFocus,
8314
8212
  autoComplete: autoComplete,
@@ -8317,8 +8215,8 @@ class FormFieldPassword extends _react.Component {
8317
8215
  suffix: hideShowButton ? null : /*#__PURE__*/_react.default.createElement(_Button.default, {
8318
8216
  className: `${baseClassName}__button--show`,
8319
8217
  onClick: this.handleToggleClick,
8320
- icon: this.state.visible ? 'visible' : 'invisible',
8321
- tooltip: this.state.visible ? /*#__PURE__*/_react.default.createElement(_Translate.default, {
8218
+ icon: visible ? 'visible' : 'invisible',
8219
+ tooltip: visible ? /*#__PURE__*/_react.default.createElement(_Translate.default, {
8322
8220
  content: "FormFieldPassword.hidePassword",
8323
8221
  fallback: _enUS.default.hidePassword
8324
8222
  }) : /*#__PURE__*/_react.default.createElement(_Translate.default, {
@@ -8338,7 +8236,12 @@ class FormFieldPassword extends _react.Component {
8338
8236
  className: (0, _classnames.default)(`${baseClassName}__control`, `${baseClassName}__control--${size}`)
8339
8237
  }, /*#__PURE__*/_react.default.createElement("div", {
8340
8238
  className: (0, _classnames.default)(`${baseClassName}__field`, `${baseClassName}__field--${size}`)
8341
- }, hidePasswordMeter ? input : this.renderPasswordMeter(getValue(), input)), hideGenerateButton ? null : this.renderGenerateButton({
8239
+ }, hidePasswordMeter ? input : /*#__PURE__*/_react.default.createElement(_PasswordMeter.default, _extends({
8240
+ value: value,
8241
+ targetRef: this.targetRef,
8242
+ visible: passwordMeterVisible && value !== '',
8243
+ onClose: this.handleClosePasswordMeter
8244
+ }, passwordMeterProps), input)), hideGenerateButton ? null : this.renderGenerateButton({
8342
8245
  setValue,
8343
8246
  isDisabled
8344
8247
  }));
@@ -8347,98 +8250,28 @@ class FormFieldPassword extends _react.Component {
8347
8250
 
8348
8251
  }
8349
8252
 
8350
- FormFieldPassword.propTypes = {
8351
- /**
8352
- * Is show button hidden?
8353
- * @since 0.0.59
8354
- */
8355
- hideShowButton: _propTypes.default.bool,
8356
-
8357
- /**
8358
- * Is generate button hidden?
8359
- * @since 0.0.59
8360
- */
8361
- hideGenerateButton: _propTypes.default.bool,
8362
-
8363
- /**
8364
- * Is password meter hidden?
8365
- * @since 0.0.59
8366
- */
8367
- hidePasswordMeter: _propTypes.default.bool,
8368
-
8369
- /**
8370
- * Additional props for password meter. . See [Popover](#!/Popover) for more information.
8371
- * @since 1.5.6
8372
- */
8373
- passwordMeterProps: _propTypes.default.object,
8374
-
8375
- /**
8376
- * A set of custom password score rules.
8377
- * @since 3.21.0
8378
- */
8379
- passwordScoreRules: _propTypes.default.arrayOf(_propTypes.default.shape({
8380
- name: _propTypes.default.string,
8381
- message: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element]),
8382
- score: _propTypes.default.func.isRequired
8383
- })),
8384
-
8385
- /**
8386
- * Size of the control
8387
- * @since 1.5.6
8388
- */
8389
- size: _propTypes.default.oneOf(['md', 'lg', 'xl', 'fill']),
8390
-
8391
- /**
8392
- * The browser will automatically focus on the component upon rendering the screen
8393
- * @since 1.9.0
8394
- */
8395
- autoFocus: _propTypes.default.bool,
8396
-
8397
- /**
8398
- * Prevent password autocompletion.
8399
- * @since 2.5.1
8400
- */
8401
- autoComplete: _propTypes.default.oneOf(['new-password']),
8402
-
8403
- /**
8404
- * A render function for customizing the password generation button.
8405
- * @since 3.13.0
8406
- */
8407
- generateButton: _propTypes.default.func,
8408
-
8409
- /**
8410
- * @ignore
8411
- */
8412
- className: _propTypes.default.string,
8413
-
8414
- /**
8415
- * @ignore
8416
- */
8417
- baseClassName: _propTypes.default.string
8418
- };
8419
- FormFieldPassword.defaultProps = {
8253
+ _defineProperty(FormFieldPassword, "defaultProps", {
8420
8254
  hideShowButton: false,
8421
8255
  generateButton: undefined,
8422
8256
  hideGenerateButton: false,
8423
8257
  hidePasswordMeter: false,
8424
8258
  passwordMeterProps: {},
8425
- passwordScoreRules: undefined,
8426
8259
  size: 'md',
8427
8260
  autoFocus: undefined,
8428
8261
  autoComplete: undefined,
8429
8262
  className: undefined,
8430
8263
  baseClassName: `${_constants.CLS_PREFIX}form-field-password`
8431
- };
8432
- FormFieldPassword.PASSWORD_SCORE_RULES = _passwordScore.PASSWORD_SCORE_RULES;
8264
+ });
8265
+
8433
8266
  var _default = FormFieldPassword;
8434
8267
  exports["default"] = _default;
8435
8268
 
8436
8269
  /***/ }),
8437
8270
 
8438
- /***/ "./components/FormFieldPassword/index.js":
8439
- /*!***********************************************!*\
8440
- !*** ./components/FormFieldPassword/index.js ***!
8441
- \***********************************************/
8271
+ /***/ "./components/FormFieldPassword/PasswordMeter.tsx":
8272
+ /*!********************************************************!*\
8273
+ !*** ./components/FormFieldPassword/PasswordMeter.tsx ***!
8274
+ \********************************************************/
8442
8275
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8443
8276
 
8444
8277
  "use strict";
@@ -8447,74 +8280,89 @@ exports["default"] = _default;
8447
8280
  Object.defineProperty(exports, "__esModule", ({
8448
8281
  value: true
8449
8282
  }));
8450
- Object.defineProperty(exports, "default", ({
8451
- enumerable: true,
8452
- get: function () {
8453
- return _FormFieldPassword.default;
8454
- }
8455
- }));
8456
- Object.defineProperty(exports, "generatePassword", ({
8457
- enumerable: true,
8458
- get: function () {
8459
- return _FormFieldPassword.generatePassword;
8460
- }
8461
- }));
8283
+ exports["default"] = void 0;
8284
+
8285
+ var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8462
8286
 
8463
- var _FormFieldPassword = _interopRequireWildcard(__webpack_require__(/*! ./FormFieldPassword */ "./components/FormFieldPassword/FormFieldPassword.js"));
8287
+ var _Popover = _interopRequireDefault(__webpack_require__(/*! ../Popover */ "./components/Popover/index.js"));
8288
+
8289
+ var _Translate = _interopRequireDefault(__webpack_require__(/*! ../Translate */ "./components/Translate/index.js"));
8290
+
8291
+ var _estimatePassword = _interopRequireWildcard(__webpack_require__(/*! ./estimatePassword */ "./components/FormFieldPassword/estimatePassword.tsx"));
8292
+
8293
+ var _enUS = _interopRequireDefault(__webpack_require__(/*! ./locale/en-US */ "./components/FormFieldPassword/locale/en-US.js"));
8294
+
8295
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8464
8296
 
8465
8297
  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); }
8466
8298
 
8467
8299
  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; }
8468
8300
 
8469
- /***/ }),
8470
-
8471
- /***/ "./components/FormFieldPassword/locale/en-US.js":
8472
- /*!******************************************************!*\
8473
- !*** ./components/FormFieldPassword/locale/en-US.js ***!
8474
- \******************************************************/
8475
- /***/ ((__unused_webpack_module, exports) => {
8301
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
8476
8302
 
8477
- "use strict";
8303
+ const strengthIntents = {
8304
+ VeryWeak: 'danger',
8305
+ Weak: 'danger',
8306
+ Medium: 'warning',
8307
+ Strong: 'success',
8308
+ VeryStrong: 'success'
8309
+ };
8478
8310
 
8311
+ const PasswordMeter = ({
8312
+ value,
8313
+ visible,
8314
+ onEstimate,
8315
+ children,
8316
+ ...props
8317
+ }) => {
8318
+ const [result, setResult] = (0, _react.useState)(null);
8319
+ (0, _react.useEffect)(() => {
8320
+ if (!visible) {
8321
+ return;
8322
+ }
8479
8323
 
8480
- Object.defineProperty(exports, "__esModule", ({
8481
- value: true
8482
- }));
8483
- exports["default"] = void 0;
8484
- // Copyright 1999-2017. Plesk International GmbH. All rights reserved.
8485
- var _default = {
8486
- improvePassword: 'To improve your password:',
8487
- passwordTooShort: 'Make the password longer.',
8488
- lettersLowerCase: 'Use at least one lower-case character.',
8489
- lettersUpperCase: 'Use at least one upper-case character.',
8490
- numbers1: 'Use at least one number.',
8491
- numbers3: 'Use at least three numbers.',
8492
- specialChar1: 'Use at least one special character (for example: !, @, #, $, % ,^, &, *, ?, _, ~).',
8493
- specialChar2: 'Use at least two special characters (for example: !, @, #, $, %, ^, &, *, ?, _, ~).',
8494
- comboUpperAndLower: 'Use both upper and lower-case characters.',
8495
- comboLettersAndNumbers: 'Use both numbers and characters.',
8496
- comboLettersNumbersSpecial: 'Use numbers, characters and special characters.',
8497
- yourPasswordIsStrong: 'You can make it even stronger by increasing its length.',
8498
- passwordStrength: 'The password strength is %%strength%%.',
8499
- strengthVeryStrong: 'VERY STRONG',
8500
- strengthStrong: 'STRONG',
8501
- strengthVeryWeak: 'VERY WEAK',
8502
- strengthWeak: 'WEAK',
8503
- strengthMedium: 'MEDIUM',
8504
- hidePassword: 'Hide password',
8505
- showPassword: 'Show password',
8506
- generateButton: 'Generate',
8507
- generateButtonHint: 'Generate a strong password'
8324
+ Promise.resolve(onEstimate ? onEstimate(value, _estimatePassword.default, _estimatePassword.DEFAULT_RULES) : (0, _estimatePassword.default)(value)).then(result => {
8325
+ setResult(result);
8326
+ });
8327
+ }, [visible, value, onEstimate]);
8328
+ return /*#__PURE__*/_react.default.createElement(_Popover.default, _extends({
8329
+ visible: visible && result !== null,
8330
+ target: children,
8331
+ placement: "bottom-right",
8332
+ intent: result ? strengthIntents[result.strength] : undefined,
8333
+ canCloseOnOutsideClick: false,
8334
+ canCloseOnEscapePress: false
8335
+ }, props), result !== null && result !== void 0 && result.strength ? /*#__PURE__*/_react.default.createElement(_Translate.default, {
8336
+ component: "div",
8337
+ content: "FormFieldPassword.passwordStrength",
8338
+ fallback: _enUS.default.passwordStrength,
8339
+ params: {
8340
+ strength: /*#__PURE__*/_react.default.createElement("b", null, /*#__PURE__*/_react.default.createElement(_Translate.default, {
8341
+ content: `FormFieldPassword.strength${result === null || result === void 0 ? void 0 : result.strength}`,
8342
+ fallback: _enUS.default[`strength${result === null || result === void 0 ? void 0 : result.strength}`]
8343
+ }))
8344
+ }
8345
+ }) : null, result !== null && result !== void 0 && result.suggestions.length ? /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Translate.default, {
8346
+ content: "FormFieldPassword.improvePassword",
8347
+ fallback: _enUS.default.improvePassword
8348
+ }), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("ul", null, result.suggestions.slice(0, 3).map((suggestion, index) => /*#__PURE__*/_react.default.createElement("li", {
8349
+ key: index.toString()
8350
+ }, suggestion)))) : /*#__PURE__*/_react.default.createElement(_Translate.default, {
8351
+ content: "FormFieldPassword.yourPasswordIsStrong",
8352
+ fallback: _enUS.default.yourPasswordIsStrong
8353
+ }));
8508
8354
  };
8355
+
8356
+ var _default = PasswordMeter;
8509
8357
  exports["default"] = _default;
8510
8358
 
8511
8359
  /***/ }),
8512
8360
 
8513
- /***/ "./components/FormFieldPassword/passwordScore.js":
8514
- /*!*******************************************************!*\
8515
- !*** ./components/FormFieldPassword/passwordScore.js ***!
8516
- \*******************************************************/
8517
- /***/ ((__unused_webpack_module, exports) => {
8361
+ /***/ "./components/FormFieldPassword/estimatePassword.tsx":
8362
+ /*!***********************************************************!*\
8363
+ !*** ./components/FormFieldPassword/estimatePassword.tsx ***!
8364
+ \***********************************************************/
8365
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8518
8366
 
8519
8367
  "use strict";
8520
8368
 
@@ -8522,32 +8370,23 @@ exports["default"] = _default;
8522
8370
  Object.defineProperty(exports, "__esModule", ({
8523
8371
  value: true
8524
8372
  }));
8525
- exports["default"] = exports.PASSWORD_SCORE_RULES = void 0;
8373
+ exports["default"] = exports.DEFAULT_RULES = void 0;
8526
8374
 
8527
- // Copyright 1999-2021. Plesk International GmbH. All rights reserved.
8528
- const passwordScore = (password, rules = PASSWORD_SCORE_RULES) => {
8529
- const unusedRules = [];
8530
- let score = 0;
8531
- rules.forEach(rule => {
8532
- const mark = rule.score(password);
8533
-
8534
- if (mark < 0) {
8535
- unusedRules.push({
8536
- rule,
8537
- value: -mark
8538
- });
8539
- } else {
8540
- score += mark;
8541
- }
8542
- });
8543
- return {
8544
- score,
8545
- unusedRules
8546
- };
8547
- };
8375
+ var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
8376
+
8377
+ var _Translate = _interopRequireDefault(__webpack_require__(/*! ../Translate */ "./components/Translate/index.js"));
8378
+
8379
+ var _enUS = _interopRequireDefault(__webpack_require__(/*! ./locale/en-US */ "./components/FormFieldPassword/locale/en-US.js"));
8380
+
8381
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8548
8382
 
8549
- const PASSWORD_SCORE_RULES = [{
8383
+ // Copyright 1999-2022. Plesk International GmbH. All rights reserved.
8384
+ const DEFAULT_RULES = [{
8550
8385
  name: 'passwordTooShort',
8386
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
8387
+ content: `FormFieldPassword.passwordTooShort`,
8388
+ fallback: _enUS.default.passwordTooShort
8389
+ }),
8551
8390
 
8552
8391
  score(passwd) {
8553
8392
  return passwd.length < 5 ? -1 : 0;
@@ -8574,6 +8413,10 @@ const PASSWORD_SCORE_RULES = [{
8574
8413
 
8575
8414
  }, {
8576
8415
  name: 'lettersLowerCase',
8416
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
8417
+ content: `FormFieldPassword.lettersLowerCase`,
8418
+ fallback: _enUS.default.lettersLowerCase
8419
+ }),
8577
8420
 
8578
8421
  score(passwd) {
8579
8422
  // [verified] at least one lower case letter
@@ -8582,6 +8425,10 @@ const PASSWORD_SCORE_RULES = [{
8582
8425
 
8583
8426
  }, {
8584
8427
  name: 'lettersUpperCase',
8428
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
8429
+ content: `FormFieldPassword.lettersUpperCase`,
8430
+ fallback: _enUS.default.lettersUpperCase
8431
+ }),
8585
8432
 
8586
8433
  score(passwd) {
8587
8434
  // [verified] at least one upper case letter
@@ -8590,6 +8437,10 @@ const PASSWORD_SCORE_RULES = [{
8590
8437
 
8591
8438
  }, {
8592
8439
  name: 'numbers1',
8440
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
8441
+ content: `FormFieldPassword.numbers1`,
8442
+ fallback: _enUS.default.numbers1
8443
+ }),
8593
8444
 
8594
8445
  score(passwd) {
8595
8446
  // [verified] at least one number
@@ -8598,6 +8449,10 @@ const PASSWORD_SCORE_RULES = [{
8598
8449
 
8599
8450
  }, {
8600
8451
  name: 'numbers3',
8452
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
8453
+ content: `FormFieldPassword.numbers3`,
8454
+ fallback: _enUS.default.numbers3
8455
+ }),
8601
8456
 
8602
8457
  score(passwd) {
8603
8458
  // [verified] at least three numbers
@@ -8606,6 +8461,10 @@ const PASSWORD_SCORE_RULES = [{
8606
8461
 
8607
8462
  }, {
8608
8463
  name: 'specialChar1',
8464
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
8465
+ content: `FormFieldPassword.specialChar1`,
8466
+ fallback: _enUS.default.specialChar1
8467
+ }),
8609
8468
 
8610
8469
  score(passwd) {
8611
8470
  // [verified] at least one special character
@@ -8614,6 +8473,10 @@ const PASSWORD_SCORE_RULES = [{
8614
8473
 
8615
8474
  }, {
8616
8475
  name: 'specialChar2',
8476
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
8477
+ content: `FormFieldPassword.specialChar2`,
8478
+ fallback: _enUS.default.specialChar2
8479
+ }),
8617
8480
 
8618
8481
  score(passwd) {
8619
8482
  // [verified] at least two special characters
@@ -8622,6 +8485,10 @@ const PASSWORD_SCORE_RULES = [{
8622
8485
 
8623
8486
  }, {
8624
8487
  name: 'comboUpperAndLower',
8488
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
8489
+ content: `FormFieldPassword.comboUpperAndLower`,
8490
+ fallback: _enUS.default.comboUpperAndLower
8491
+ }),
8625
8492
 
8626
8493
  score(passwd) {
8627
8494
  // [verified] both upper and lower case
@@ -8630,6 +8497,10 @@ const PASSWORD_SCORE_RULES = [{
8630
8497
 
8631
8498
  }, {
8632
8499
  name: 'comboLettersAndNumbers',
8500
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
8501
+ content: `FormFieldPassword.comboLettersAndNumbers`,
8502
+ fallback: _enUS.default.comboLettersAndNumbers
8503
+ }),
8633
8504
 
8634
8505
  score(passwd) {
8635
8506
  // [verified] both letters and numbers
@@ -8638,6 +8509,10 @@ const PASSWORD_SCORE_RULES = [{
8638
8509
 
8639
8510
  }, {
8640
8511
  name: 'comboLettersNumbersSpecial',
8512
+ suggestion: /*#__PURE__*/_react.default.createElement(_Translate.default, {
8513
+ content: `FormFieldPassword.comboLettersNumbersSpecial`,
8514
+ fallback: _enUS.default.comboLettersNumbersSpecial
8515
+ }),
8641
8516
 
8642
8517
  score(passwd) {
8643
8518
  // [verified] letters, numbers, and special characters
@@ -8645,8 +8520,159 @@ const PASSWORD_SCORE_RULES = [{
8645
8520
  }
8646
8521
 
8647
8522
  }];
8648
- exports.PASSWORD_SCORE_RULES = PASSWORD_SCORE_RULES;
8649
- var _default = passwordScore;
8523
+ exports.DEFAULT_RULES = DEFAULT_RULES;
8524
+
8525
+ var _default = (password, rules = DEFAULT_RULES) => {
8526
+ const suggestions = [];
8527
+ let passwordScore = 0;
8528
+ rules.forEach(({
8529
+ suggestion,
8530
+ score
8531
+ }) => {
8532
+ const ruleScore = score(password);
8533
+
8534
+ if (ruleScore < 0 && suggestion) {
8535
+ suggestions.push(suggestion);
8536
+ } else {
8537
+ passwordScore += ruleScore;
8538
+ }
8539
+ });
8540
+ let strength;
8541
+
8542
+ switch (true) {
8543
+ case passwordScore < 16:
8544
+ strength = 'VeryWeak';
8545
+ break;
8546
+
8547
+ case passwordScore < 25:
8548
+ strength = 'Weak';
8549
+ break;
8550
+
8551
+ case passwordScore < 35:
8552
+ strength = 'Medium';
8553
+ break;
8554
+
8555
+ case passwordScore < 45:
8556
+ strength = 'Strong';
8557
+ break;
8558
+
8559
+ default:
8560
+ strength = 'VeryStrong';
8561
+ break;
8562
+ }
8563
+
8564
+ return {
8565
+ strength,
8566
+ suggestions
8567
+ };
8568
+ };
8569
+
8570
+ exports["default"] = _default;
8571
+
8572
+ /***/ }),
8573
+
8574
+ /***/ "./components/FormFieldPassword/generatePassword.js":
8575
+ /*!**********************************************************!*\
8576
+ !*** ./components/FormFieldPassword/generatePassword.js ***!
8577
+ \**********************************************************/
8578
+ /***/ ((__unused_webpack_module, exports) => {
8579
+
8580
+ "use strict";
8581
+
8582
+
8583
+ Object.defineProperty(exports, "__esModule", ({
8584
+ value: true
8585
+ }));
8586
+ exports["default"] = void 0;
8587
+ // Copyright 1999-2022. Plesk International GmbH. All rights reserved.
8588
+ const symbolClasses = {
8589
+ upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
8590
+ lower: 'abcdefghijklmnopqrstuvwxyz',
8591
+ number: '0123456789',
8592
+ special: '!@#$%^&*?_~'
8593
+ };
8594
+
8595
+ const generatePassword = () => {
8596
+ const password = ['upper', 'upper', 'upper', 'lower', 'lower', 'lower', 'lower', 'lower', 'lower', 'lower', 'lower', 'number', 'number', 'number', 'special', 'special'];
8597
+ return password.sort((a, b) => Math.floor(b.length * Math.random()) - Math.floor(a.length * Math.random())).map(symbolClass => symbolClasses[symbolClass][Math.floor(symbolClasses[symbolClass].length * Math.random())]).join('');
8598
+ };
8599
+
8600
+ var _default = generatePassword;
8601
+ exports["default"] = _default;
8602
+
8603
+ /***/ }),
8604
+
8605
+ /***/ "./components/FormFieldPassword/index.tsx":
8606
+ /*!************************************************!*\
8607
+ !*** ./components/FormFieldPassword/index.tsx ***!
8608
+ \************************************************/
8609
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8610
+
8611
+ "use strict";
8612
+
8613
+
8614
+ Object.defineProperty(exports, "__esModule", ({
8615
+ value: true
8616
+ }));
8617
+ Object.defineProperty(exports, "default", ({
8618
+ enumerable: true,
8619
+ get: function () {
8620
+ return _FormFieldPassword.default;
8621
+ }
8622
+ }));
8623
+ Object.defineProperty(exports, "generatePassword", ({
8624
+ enumerable: true,
8625
+ get: function () {
8626
+ return _generatePassword.default;
8627
+ }
8628
+ }));
8629
+
8630
+ var _FormFieldPassword = _interopRequireDefault(__webpack_require__(/*! ./FormFieldPassword */ "./components/FormFieldPassword/FormFieldPassword.tsx"));
8631
+
8632
+ var _generatePassword = _interopRequireDefault(__webpack_require__(/*! ./generatePassword */ "./components/FormFieldPassword/generatePassword.js"));
8633
+
8634
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8635
+
8636
+ /***/ }),
8637
+
8638
+ /***/ "./components/FormFieldPassword/locale/en-US.js":
8639
+ /*!******************************************************!*\
8640
+ !*** ./components/FormFieldPassword/locale/en-US.js ***!
8641
+ \******************************************************/
8642
+ /***/ ((__unused_webpack_module, exports) => {
8643
+
8644
+ "use strict";
8645
+
8646
+
8647
+ Object.defineProperty(exports, "__esModule", ({
8648
+ value: true
8649
+ }));
8650
+ exports["default"] = void 0;
8651
+ // Copyright 1999-2017. Plesk International GmbH. All rights reserved.
8652
+ var _default = {
8653
+ improvePassword: 'To improve your password:',
8654
+ passwordTooShort: 'Make the password longer.',
8655
+ lettersLowerCase: 'Use at least one lower-case character.',
8656
+ lettersUpperCase: 'Use at least one upper-case character.',
8657
+ numbers1: 'Use at least one number.',
8658
+ numbers3: 'Use at least three numbers.',
8659
+ specialChar1: 'Use at least one special character (for example: !, @, #, $, % ,^, &, *, ?, _, ~).',
8660
+ specialChar2: 'Use at least two special characters (for example: !, @, #, $, %, ^, &, *, ?, _, ~).',
8661
+ comboUpperAndLower: 'Use both upper and lower-case characters.',
8662
+ comboLettersAndNumbers: 'Use both numbers and characters.',
8663
+ comboLettersNumbersSpecial: 'Use numbers, characters and special characters.',
8664
+ yourPasswordIsStrong: 'You can make it even stronger by increasing its length.',
8665
+ passwordStrength: 'The password strength is %%strength%%.',
8666
+ strengthVeryStrong: 'VERY STRONG',
8667
+ strengthStrong: 'STRONG',
8668
+ strengthVeryWeak: 'VERY WEAK',
8669
+ strengthWeak: 'WEAK',
8670
+ strengthMedium: 'MEDIUM',
8671
+ hidePassword: 'Hide password',
8672
+ showPassword: 'Show password',
8673
+ generateButton: 'Generate',
8674
+ generateButtonHint: 'Generate a strong password'
8675
+ };
8650
8676
  exports["default"] = _default;
8651
8677
 
8652
8678
  /***/ }),
@@ -11234,7 +11260,7 @@ const Icon = ({
11234
11260
  }, props), newName ? /*#__PURE__*/_react.default.createElement("svg", {
11235
11261
  focusable: "false"
11236
11262
  }, /*#__PURE__*/_react.default.createElement("use", {
11237
- xlinkHref: getHref(newName, newSize)
11263
+ href: getHref(newName, newSize)
11238
11264
  })) : src && /*#__PURE__*/_react.default.createElement("img", {
11239
11265
  src: src,
11240
11266
  alt: alt
@@ -15049,7 +15075,7 @@ class List extends _react.Component {
15049
15075
  [`${baseClassName}__table--vertical`]: vertical,
15050
15076
  [`${baseClassName}__table--reorderable`]: reorderable
15051
15077
  })
15052
- }, props, reorderableProps), hasTitle && /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", {
15078
+ }, reorderableProps), hasTitle && /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", {
15053
15079
  className: (0, _classnames.default)(`${baseClassName}__table-thead`, {
15054
15080
  [`${baseClassName}__row--expanded`]: this.isAllRowsExpanded(data, this.state.expandedRows)
15055
15081
  })
@@ -19902,7 +19928,8 @@ class ProgressDialog extends _react.Component {
19902
19928
  }, props, {
19903
19929
  isOpen: isOpen,
19904
19930
  onClose: this.handleClose,
19905
- closable: canClose || canCancel
19931
+ closable: canClose || canCancel,
19932
+ canClose: canClose
19906
19933
  }), description && /*#__PURE__*/_react.default.createElement("div", {
19907
19934
  className: `${baseClassName}__description`
19908
19935
  }, description), /*#__PURE__*/_react.default.createElement(_Progress.default, {
@@ -28775,7 +28802,7 @@ var _FormField = _interopRequireDefault(__webpack_require__(/*! ./FormField */ "
28775
28802
 
28776
28803
  var _FormFieldCheckbox = _interopRequireDefault(__webpack_require__(/*! ./FormFieldCheckbox */ "./components/FormFieldCheckbox/index.js"));
28777
28804
 
28778
- var _FormFieldPassword = _interopRequireWildcard(__webpack_require__(/*! ./FormFieldPassword */ "./components/FormFieldPassword/index.js"));
28805
+ var _FormFieldPassword = _interopRequireWildcard(__webpack_require__(/*! ./FormFieldPassword */ "./components/FormFieldPassword/index.tsx"));
28779
28806
 
28780
28807
  Object.keys(_FormFieldPassword).forEach(function (key) {
28781
28808
  if (key === "default" || key === "__esModule") return;
@@ -92252,7 +92279,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
92252
92279
  /***/ ((module) => {
92253
92280
 
92254
92281
  "use strict";
92255
- module.exports = JSON.parse('{"name":"@plesk/ui-library","version":"3.27.0","description":"Plesk UI Library","main":"index.js","module":"esm/index.js","types":"./types/src","sideEffects":["cjs/index.js","esm/index.js","dist/*.js","dist/*.css"],"scripts":{"pretest":"yarn lint","test":"jest --ci --coverage --coverageReporters text-summary","test:vr":"cross-env VISUAL_REGRESSION=true jest","build":"yarn build:types && yarn build:umd && yarn build:esm && yarn build:cjs","build:umd":"webpack --config ./configs/build.config.js","build:esm":"cross-env NODE_ENV=esm node ./scripts/build.js","build:cjs":"cross-env NODE_ENV=cjs node ./scripts/build.js","build:types":"rimraf ./types && tsc --project ./configs/types-generator.config.json","create-svg-sprite":"node ./scripts/create-svg-sprite.js","lint":"yarn lint:es && yarn lint:types && yarn lint:style","lint:es":"eslint --ext js,md,tsx src configs scripts styleguidist","lint:types":"tsc","lint:style":"stylelint \\"src/**/*.less\\"","styleguide":"styleguidist server --config ./configs/styleguide.config.js","styleguide:build":"styleguidist build --config ./configs/styleguide.config.js","create-component":"node scripts/create-component.js","prepublishOnly":"yarn install && yarn test && yarn build && yarn styleguide:build","storybook":"webpack serve --config ./configs/storybook.config.js","postinstall":"node ./scripts/postinstall.js"},"files":["esm","cjs","dist","styleguide","types","/scripts/postinstall.js","/index.js"],"dependencies":{"@babel/runtime":"^7.15.4","@plesk/react-movable":"^2.6.0","@types/classnames":"2.2.7","@types/react":"16.8.13","@types/react-dom":"16.8.4","@types/react-measure":"2.0.8","@types/react-transition-group":"^4.4.4","@types/svg4everybody":"2.1.0","classnames":"^2.3.1","codemirror":"5.48.0","marked":"0.3.19","memoize-one":"^5.1.1","popper.js":"1.14.3","prop-types":"^15.7.2","react-measure":"2.3.0","react-sortable-hoc":"0.6.8","react-transition-group":"^4.4.2","scroll-into-view-if-needed":"^2.2.20","svg4everybody":"2.1.9","use-focus-visible":"^1.0.0"},"devDependencies":{"@babel/core":"^7.15.8","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-runtime":"^7.15.8","@babel/preset-env":"^7.15.8","@babel/preset-react":"^7.14.5","@babel/preset-typescript":"^7.15.0","@plesk/eslint-config":"^1.1.0","@plesk/stylelint-config":"^0.0.6","@types/buble":"^0.19.2","@types/cheerio":"^0.22.30","@types/doctrine":"^0.0.3","@types/enzyme":"^3.10.9","@types/jest":"^23.3.12","@types/webpack-dev-server":"^3.10.1","@typescript-eslint/eslint-plugin":"^2.7.0","@typescript-eslint/parser":"^2.7.0","autoprefixer":"^10.3.7","babel-loader":"^8.2.3","babel-plugin-dynamic-import-node":"^2.3.3","babel-plugin-transform-require-ignore":"^0.1.1","clean-webpack-plugin":"^4.0.0","cross-env":"^5.2.0","css-loader":"^6.4.0","css-minimizer-webpack-plugin":"^3.1.1","enzyme":"^3.11.0","enzyme-adapter-react-16":"^1.15.6","enzyme-to-json":"^3.6.2","eslint-config-prettier":"^6.11.0","eslint-plugin-markdown":"^1.0.2","eslint-plugin-prettier":"^3.1.3","expect-puppeteer":"^4.4.0","fs-extra":"^7.0.0","html-webpack-plugin":"^5.5.0","inquirer":"^3.2.1","jest":"^24.9.0","jest-dev-server":"^4.4.0","jest-image-snapshot":"^4.0.2","less":"^4.1.2","less-loader":"^10.2.0","mini-css-extract-plugin":"^2.4.3","postcss":"^8.3.11","postcss-loader":"^6.2.0","postcss-logical":"^5.0.0","prettier":"^2.0.5","puppeteer-core":"^5.2.1","react":"^16.8.6","react-dom":"^16.8.6","react-styleguidist":"^11.1.7","react-test-renderer":"^16.8.6","rimraf":"^3.0.1","rtlcss":"^3.4.0","style-loader":"^3.3.1","stylelint-config-prettier":"^8.0.1","stylelint-prettier":"^1.1.2","svg-mixer":"^2.3.14","terser-webpack-plugin":"^5.2.4","typescript":"^3.7.2","webpack":"^5.60.0","webpack-cli":"^4.9.1"},"peerDependencies":{"react":"^16.8.6","react-dom":"^16.8.6"},"resolutions":{"@babel/types":"^7.15.6","@types/node":"^12.12.8","**/caniuse-lite":"1.0.30001274"},"browserslist":["last 2 versions",">1%","not op_mini all","not dead","not ie 11"],"author":"Plesk Developers <plesk-dev-leads@plesk.com> (https://www.plesk.com/)","license":"Apache-2.0"}');
92282
+ module.exports = JSON.parse('{"name":"@plesk/ui-library","version":"3.27.3","description":"Plesk UI Library","main":"index.js","module":"esm/index.js","types":"./types/src","sideEffects":["cjs/index.js","esm/index.js","dist/*.js","dist/*.css"],"scripts":{"pretest":"yarn lint","test":"jest --ci --coverage --coverageReporters text-summary","test:vr":"cross-env VISUAL_REGRESSION=true jest","build":"yarn build:types && yarn build:umd && yarn build:esm && yarn build:cjs","build:umd":"webpack --config ./configs/build.config.js","build:esm":"cross-env NODE_ENV=esm node ./scripts/build.js","build:cjs":"cross-env NODE_ENV=cjs node ./scripts/build.js","build:types":"rimraf ./types && tsc --project ./configs/types-generator.config.json","create-svg-sprite":"node ./scripts/create-svg-sprite.js","lint":"yarn lint:es && yarn lint:types && yarn lint:style","lint:es":"eslint --ext js,md,tsx src configs scripts styleguidist","lint:types":"tsc","lint:style":"stylelint \\"src/**/*.less\\"","styleguide":"styleguidist server --config ./configs/styleguide.config.js","styleguide:build":"styleguidist build --config ./configs/styleguide.config.js","create-component":"node scripts/create-component.js","prepublishOnly":"yarn install && yarn test && yarn build && yarn styleguide:build","storybook":"webpack serve --config ./configs/storybook.config.js","postinstall":"node ./scripts/postinstall.js"},"files":["esm","cjs","dist","styleguide","types","/scripts/postinstall.js","/index.js"],"dependencies":{"@babel/runtime":"^7.15.4","@plesk/react-movable":"^2.6.0","@types/classnames":"2.2.7","@types/react":"16.8.13","@types/react-dom":"16.8.4","@types/react-measure":"2.0.8","@types/react-transition-group":"^4.4.4","@types/svg4everybody":"2.1.0","classnames":"^2.3.1","codemirror":"5.48.0","marked":"0.3.19","memoize-one":"^5.1.1","popper.js":"1.14.3","prop-types":"^15.7.2","react-measure":"2.3.0","react-sortable-hoc":"0.6.8","react-transition-group":"^4.4.2","scroll-into-view-if-needed":"^2.2.20","svg4everybody":"2.1.9","use-focus-visible":"^1.0.0"},"devDependencies":{"@babel/core":"^7.15.8","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-runtime":"^7.15.8","@babel/preset-env":"^7.15.8","@babel/preset-react":"^7.14.5","@babel/preset-typescript":"^7.15.0","@plesk/eslint-config":"^1.1.0","@plesk/stylelint-config":"^1.0.0","@types/buble":"^0.19.2","@types/cheerio":"^0.22.30","@types/doctrine":"^0.0.3","@types/enzyme":"^3.10.9","@types/jest":"^23.3.12","@types/webpack-dev-server":"^3.10.1","@typescript-eslint/eslint-plugin":"^2.7.0","@typescript-eslint/parser":"^2.7.0","autoprefixer":"^10.3.7","babel-loader":"^8.2.3","babel-plugin-dynamic-import-node":"^2.3.3","babel-plugin-transform-require-ignore":"^0.1.1","clean-webpack-plugin":"^4.0.0","cross-env":"^5.2.0","css-loader":"^6.4.0","css-minimizer-webpack-plugin":"^3.1.1","enzyme":"^3.11.0","enzyme-adapter-react-16":"^1.15.6","enzyme-to-json":"^3.6.2","eslint-config-prettier":"^6.11.0","eslint-plugin-markdown":"^1.0.2","eslint-plugin-prettier":"^3.1.3","expect-puppeteer":"^4.4.0","fs-extra":"^7.0.0","html-webpack-plugin":"^5.5.0","inquirer":"^3.2.1","jest":"^24.9.0","jest-dev-server":"^4.4.0","jest-image-snapshot":"^4.0.2","less":"^4.1.2","less-loader":"^10.2.0","mini-css-extract-plugin":"^2.4.3","postcss":"^8.4.6","postcss-less":"^6.0.0","postcss-loader":"^6.2.1","postcss-logical":"^5.0.3","prettier":"^2.0.5","puppeteer-core":"^5.2.1","react":"^16.8.6","react-dom":"^16.8.6","react-styleguidist":"^11.1.7","react-test-renderer":"^16.8.6","rimraf":"^3.0.1","rtlcss":"^3.4.0","style-loader":"^3.3.1","stylelint":"^14.3.0","stylelint-config-prettier":"^9.0.3","stylelint-declaration-block-no-ignored-properties":"^2.5.0","stylelint-no-unsupported-browser-features":"^5.0.2","stylelint-prettier":"^2.0.0","stylelint-use-logical-spec":"^3.2.2","svg-mixer":"^2.3.14","terser-webpack-plugin":"^5.2.4","typescript":"^3.7.2","webpack":"^5.60.0","webpack-cli":"^4.9.1"},"peerDependencies":{"react":"^16.8.6","react-dom":"^16.8.6"},"resolutions":{"@babel/types":"^7.15.6","@types/node":"^12.12.8","**/caniuse-lite":"1.0.30001307"},"browserslist":["last 2 versions",">1%","not op_mini all","not dead","not ie 11"],"author":"Plesk Developers <plesk-dev-leads@plesk.com> (https://www.plesk.com/)","license":"Apache-2.0"}');
92256
92283
 
92257
92284
  /***/ }),
92258
92285