@plesk/ui-library 3.45.1 → 3.46.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/cjs/components/FormFieldPassword/PasswordMeter.js +8 -2
- package/cjs/components/FormFieldPassword/index.js +8 -1
- package/cjs/components/FormFieldRadioButtons/FormFieldRadioButtons.js +2 -3
- package/cjs/components/Layout/Layout.js +66 -9
- package/cjs/components/Markdown/Markdown.js +2 -1
- 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 +87 -17
- package/dist/plesk-ui-library.js.map +1 -1
- package/dist/plesk-ui-library.min.js +5 -5
- package/dist/plesk-ui-library.min.js.map +1 -1
- package/esm/components/FormFieldPassword/PasswordMeter.js +6 -1
- package/esm/components/FormFieldPassword/index.js +2 -1
- package/esm/components/FormFieldRadioButtons/FormFieldRadioButtons.js +2 -3
- package/esm/components/Layout/Layout.js +66 -9
- package/esm/components/Markdown/Markdown.js +2 -1
- package/esm/index.js +1 -1
- package/package.json +2 -2
- package/styleguide/build/bundle.19f0a6f2.js +2 -0
- package/styleguide/index.html +2 -2
- package/types/components/FormFieldPassword/PasswordMeter.d.ts +3 -1
- package/types/components/FormFieldPassword/index.d.ts +1 -0
- package/types/components/Layout/Layout.d.ts +10 -0
- package/types/components/Markdown/Markdown.d.ts +7 -1
- package/styleguide/build/bundle.a9dbfec3.js +0 -2
- /package/styleguide/build/{bundle.a9dbfec3.js.LICENSE.txt → bundle.19f0a6f2.js.LICENSE.txt} +0 -0
package/dist/plesk-ui-library.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
exports["PleskUiLibrary"] = factory(require("react"), require("react-dom"));
|
|
8
8
|
else
|
|
9
9
|
root["PleskUiLibrary"] = factory(root["React"], root["ReactDOM"]);
|
|
10
|
-
})(
|
|
10
|
+
})(globalThis, (__WEBPACK_EXTERNAL_MODULE_react__, __WEBPACK_EXTERNAL_MODULE_react_dom__) => {
|
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
|
12
12
|
/******/ var __webpack_modules__ = ({
|
|
13
13
|
|
|
@@ -61321,7 +61321,7 @@ function useFocusVisible() {
|
|
|
61321
61321
|
/***/ ((module) => {
|
|
61322
61322
|
|
|
61323
61323
|
"use strict";
|
|
61324
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@plesk/ui-library","version":"3.
|
|
61324
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@plesk/ui-library","version":"3.46.1","description":"Plesk UI Library","main":"index.js","module":"esm/index.js","types":"./types","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 && yarn format:check","lint:es":"eslint --ext js,md,tsx src configs scripts styleguidist","lint:types":"tsc","lint:style":"stylelint \\"{src,styleguidist}/**/*.(less|css)\\"","format:check":"prettier --check src styleguidist","format":"prettier --write src styleguidist","styleguide":"styleguidist server --config ./configs/styleguide.config.js","styleguide:build":"rimraf ./styleguide && styleguidist build --config ./configs/styleguide.config.js","prepublishOnly":"yarn install && yarn test && yarn build && yarn styleguide:build","storybook":"webpack serve --config ./configs/storybook.config.js --allowed-hosts all","postinstall":"node ./scripts/postinstall.js"},"files":["esm","cjs","dist","styleguide","types","/scripts/postinstall.js","/index.js"],"dependencies":{"@babel/runtime":"^7.27.6","@floating-ui/react-dom":"^2.1.3","@plesk/react-movable":"^2.7.1","classnames":"^2.5.1","codemirror":"5.65.20","marked":"15.0.12","memoize-one":"^6.0.0","popper.js":"1.16.1","prop-types":"^15.8.1","react-measure":"2.5.2","react-sortable-hoc":"2.0.0","react-transition-group":"^4.4.5","scroll-into-view-if-needed":"^3.1.0","svg4everybody":"2.1.9","use-focus-visible":"^1.0.2"},"devDependencies":{"@babel/core":"^7.27.7","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-runtime":"^7.27.4","@babel/preset-env":"^7.27.2","@babel/preset-react":"^7.27.1","@babel/preset-typescript":"^7.27.1","@babel/types":"^7.27.7","@csstools/postcss-logical-float-and-clear":"^3.0.0","@plesk/eslint-config":"^4.0.0","@plesk/stylelint-config":"^3.0.1","@testing-library/dom":"^10.4.0","@testing-library/jest-dom":"^6.6.3","@testing-library/react":"^16.3.0","@testing-library/user-event":"^14.6.1","@types/buble":"^0.20.5","@types/classnames":"2.3.4","@types/codemirror":"^5.60.16","@types/doctrine":"^0.0.9","@types/jest":"^30.0.0","@types/jest-image-snapshot":"^6.4.0","@types/marked":"^6.0.0","@types/node":"^24.0.7","@types/react":"^18.3.8","@types/react-dom":"^18.3.0","@types/react-measure":"2.0.12","@types/react-transition-group":"^4.4.12","@types/svg4everybody":"2.1.5","@types/webpack-env":"^1.18.8","autoprefixer":"^10.4.21","babel-loader":"^10.0.0","babel-plugin-transform-require-ignore":"^0.1.1","cross-env":"^10.0.0","css-loader":"^7.1.2","css-minimizer-webpack-plugin":"^7.0.2","eslint":"^9.30.0","eslint-config-prettier":"^10.1.5","eslint-plugin-markdown":"^5.1.0","html-webpack-plugin":"^5.6.3","jest":"^30.0.3","jest-dev-server":"^11.0.0","jest-environment-jsdom":"^30.0.2","jest-image-snapshot":"^6.5.1","less":"^4.3.0","less-loader":"^12.3.0","mini-css-extract-plugin":"^2.9.2","postcss":"^8.5.6","postcss-less":"^6.0.0","postcss-loader":"^8.1.1","postcss-logical":"^8.1.0","prettier":"^3.6.2","puppeteer-core":"22.15.0","react":"^18.3.1","react-docgen-typescript":"^2.4.0","react-dom":"^18.3.1","react-styleguidist":"^13.1.4","rimraf":"^6.0.1","rtlcss":"^4.3.0","style-loader":"^4.0.0","stylelint":"^16.21.0","stylelint-declaration-block-no-ignored-properties":"^2.8.0","stylelint-no-unsupported-browser-features":"^8.0.4","stylelint-prettier":"^5.0.3","stylelint-use-logical-spec":"^5.0.1","svg-mixer":"^2.3.14","terser-webpack-plugin":"^5.3.14","typescript":"5.9.3","typescript-eslint":"^8.35.0","webpack":"^5.99.9","webpack-cli":"^6.0.1"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"browserslist":["defaults","not op_mini all","not kaios > 0"],"author":"Plesk Developers <plesk-dev-leads@plesk.com> (https://www.plesk.com/)","license":"Apache-2.0"}');
|
|
61325
61325
|
|
|
61326
61326
|
/***/ }),
|
|
61327
61327
|
|
|
@@ -69120,7 +69120,7 @@ var _default = exports["default"] = FormFieldPasswordWrapper;
|
|
|
69120
69120
|
Object.defineProperty(exports, "__esModule", ({
|
|
69121
69121
|
value: true
|
|
69122
69122
|
}));
|
|
69123
|
-
exports["default"] = void 0;
|
|
69123
|
+
exports.setDefaultPasswordEstimateFunction = exports["default"] = void 0;
|
|
69124
69124
|
var _react = __webpack_require__(/*! react */ "react");
|
|
69125
69125
|
var _Popover = _interopRequireDefault(__webpack_require__(/*! ../Popover */ "./components/Popover/index.tsx"));
|
|
69126
69126
|
var _Translate = __webpack_require__(/*! ../Translate */ "./components/Translate/index.tsx");
|
|
@@ -69130,6 +69130,11 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
69130
69130
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
69131
69131
|
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.
|
|
69132
69132
|
|
|
69133
|
+
let defaultEstimateFunction = null;
|
|
69134
|
+
const setDefaultPasswordEstimateFunction = fn => {
|
|
69135
|
+
defaultEstimateFunction = fn;
|
|
69136
|
+
};
|
|
69137
|
+
exports.setDefaultPasswordEstimateFunction = setDefaultPasswordEstimateFunction;
|
|
69133
69138
|
const strengthIntents = {
|
|
69134
69139
|
VeryWeak: 'danger',
|
|
69135
69140
|
Weak: 'danger',
|
|
@@ -69149,7 +69154,8 @@ const PasswordMeter = ({
|
|
|
69149
69154
|
if (!visible) {
|
|
69150
69155
|
return;
|
|
69151
69156
|
}
|
|
69152
|
-
|
|
69157
|
+
const estimateFunction = onEstimate ?? defaultEstimateFunction;
|
|
69158
|
+
Promise.resolve(estimateFunction ? estimateFunction(value, _estimatePassword.default, _estimatePassword.DEFAULT_RULES) : (0, _estimatePassword.default)(value)).then(result => {
|
|
69153
69159
|
setResult(result);
|
|
69154
69160
|
});
|
|
69155
69161
|
}, [visible, value, onEstimate]);
|
|
@@ -69413,8 +69419,15 @@ Object.defineProperty(exports, "generatePassword", ({
|
|
|
69413
69419
|
return _generatePassword.default;
|
|
69414
69420
|
}
|
|
69415
69421
|
}));
|
|
69422
|
+
Object.defineProperty(exports, "setDefaultPasswordEstimateFunction", ({
|
|
69423
|
+
enumerable: true,
|
|
69424
|
+
get: function () {
|
|
69425
|
+
return _PasswordMeter.setDefaultPasswordEstimateFunction;
|
|
69426
|
+
}
|
|
69427
|
+
}));
|
|
69416
69428
|
var _FormFieldPassword = _interopRequireDefault(__webpack_require__(/*! ./FormFieldPassword */ "./components/FormFieldPassword/FormFieldPassword.tsx"));
|
|
69417
69429
|
var _generatePassword = _interopRequireDefault(__webpack_require__(/*! ./generatePassword */ "./components/FormFieldPassword/generatePassword.tsx"));
|
|
69430
|
+
var _PasswordMeter = __webpack_require__(/*! ./PasswordMeter */ "./components/FormFieldPassword/PasswordMeter.tsx");
|
|
69418
69431
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
69419
69432
|
|
|
69420
69433
|
/***/ }),
|
|
@@ -69466,7 +69479,6 @@ const FormFieldRadioButtons = ({
|
|
|
69466
69479
|
className,
|
|
69467
69480
|
options,
|
|
69468
69481
|
autoFocus,
|
|
69469
|
-
label,
|
|
69470
69482
|
...props
|
|
69471
69483
|
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormField.default, {
|
|
69472
69484
|
className: (0, _classnames.default)(baseClassName, className),
|
|
@@ -69483,9 +69495,9 @@ const FormFieldRadioButtons = ({
|
|
|
69483
69495
|
"aria-invalid": !!Object.keys(getErrors() ?? {}).length,
|
|
69484
69496
|
"aria-describedby": getDescriptionLabelId(),
|
|
69485
69497
|
className: `${baseClassName}__fieldset`,
|
|
69486
|
-
children: [label && /*#__PURE__*/(0, _jsxRuntime.jsx)("legend", {
|
|
69498
|
+
children: [props.label && /*#__PURE__*/(0, _jsxRuntime.jsx)("legend", {
|
|
69487
69499
|
className: `${baseClassName}__legend`,
|
|
69488
|
-
children: label
|
|
69500
|
+
children: props.label
|
|
69489
69501
|
}), options.map(({
|
|
69490
69502
|
value,
|
|
69491
69503
|
label,
|
|
@@ -72047,6 +72059,7 @@ var _LocaleProvider = __webpack_require__(/*! ../LocaleProvider */ "./components
|
|
|
72047
72059
|
var _constants = __webpack_require__(/*! ../../constants */ "./constants.js");
|
|
72048
72060
|
__webpack_require__(/*! ../../helpers/base.less */ "./helpers/base.less");
|
|
72049
72061
|
__webpack_require__(/*! ./Layout.less */ "./components/Layout/Layout.less");
|
|
72062
|
+
var _utils = __webpack_require__(/*! ../../utils */ "./utils.tsx");
|
|
72050
72063
|
var _jsxRuntime = __webpack_require__(/*! react/jsx-runtime */ "../node_modules/react/jsx-runtime.js");
|
|
72051
72064
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
72052
72065
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
@@ -72165,6 +72178,17 @@ class Layout extends _react.Component {
|
|
|
72165
72178
|
this.unsubscribeMatchMedia = subscribeMatchMedia('(max-width: 1022px)', this.handleMatchMedia);
|
|
72166
72179
|
this.unsubscribeClickOutside = subscribeClickOutside([this.sidebarRef, this.responsiveSidebarTogglerRef], this.handleClickOutside);
|
|
72167
72180
|
}
|
|
72181
|
+
componentDidUpdate(prevProps) {
|
|
72182
|
+
const isRightSidebarOpen = this.props.rightSidebar && this.props.rightSidebarVisible;
|
|
72183
|
+
const wasRightSidebarOpen = prevProps.rightSidebar && prevProps.rightSidebarVisible;
|
|
72184
|
+
const isMobile = window.matchMedia('(max-width: 780px)').matches;
|
|
72185
|
+
if (!wasRightSidebarOpen && isRightSidebarOpen && isMobile) {
|
|
72186
|
+
(0, _utils.disableDocumentScroll)();
|
|
72187
|
+
}
|
|
72188
|
+
if (wasRightSidebarOpen && !isRightSidebarOpen) {
|
|
72189
|
+
(0, _utils.enableDocumentScroll)();
|
|
72190
|
+
}
|
|
72191
|
+
}
|
|
72168
72192
|
componentWillUnmount() {
|
|
72169
72193
|
this.unsubscribeMatchMedia?.();
|
|
72170
72194
|
this.unsubscribeClickOutside?.();
|
|
@@ -72323,6 +72347,42 @@ class Layout extends _react.Component {
|
|
|
72323
72347
|
})
|
|
72324
72348
|
});
|
|
72325
72349
|
}
|
|
72350
|
+
renderRightSidebar({
|
|
72351
|
+
rightSidebar,
|
|
72352
|
+
rightSidebarVisible
|
|
72353
|
+
}) {
|
|
72354
|
+
if (!rightSidebar) {
|
|
72355
|
+
return null;
|
|
72356
|
+
}
|
|
72357
|
+
const {
|
|
72358
|
+
baseClassName
|
|
72359
|
+
} = this.props;
|
|
72360
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTransitionGroup.CSSTransition, {
|
|
72361
|
+
in: !rightSidebarVisible,
|
|
72362
|
+
timeout: 300,
|
|
72363
|
+
classNames: {
|
|
72364
|
+
enter: `${baseClassName}__right-sidebar--enter`,
|
|
72365
|
+
enterActive: `${baseClassName}__right-sidebar--active-enter`,
|
|
72366
|
+
enterDone: `${baseClassName}__right-sidebar--on`,
|
|
72367
|
+
exit: `${baseClassName}__right-sidebar--exit`,
|
|
72368
|
+
exitActive: `${baseClassName}__right-sidebar--active-exit`,
|
|
72369
|
+
exitDone: `${baseClassName}__right-sidebar--off`
|
|
72370
|
+
},
|
|
72371
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("aside", {
|
|
72372
|
+
className: `${baseClassName}__right-sidebar`,
|
|
72373
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
72374
|
+
className: `${baseClassName}__right-sidebar-inner`,
|
|
72375
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
72376
|
+
className: `${baseClassName}__right-sidebar-content`,
|
|
72377
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
72378
|
+
className: `${baseClassName}__right-sidebar-content-inner`,
|
|
72379
|
+
children: rightSidebar
|
|
72380
|
+
})
|
|
72381
|
+
})
|
|
72382
|
+
})
|
|
72383
|
+
})
|
|
72384
|
+
});
|
|
72385
|
+
}
|
|
72326
72386
|
renderMainContent({
|
|
72327
72387
|
children
|
|
72328
72388
|
}) {
|
|
@@ -72367,6 +72427,8 @@ class Layout extends _react.Component {
|
|
|
72367
72427
|
sidebarType,
|
|
72368
72428
|
sidebarCollapsible,
|
|
72369
72429
|
sidebarCollapsed,
|
|
72430
|
+
rightSidebar,
|
|
72431
|
+
rightSidebarVisible,
|
|
72370
72432
|
translate,
|
|
72371
72433
|
onSidebarToggle,
|
|
72372
72434
|
contentAddon,
|
|
@@ -72394,6 +72456,7 @@ class Layout extends _react.Component {
|
|
|
72394
72456
|
[`${baseClassName}--sidebar`]: sidebar,
|
|
72395
72457
|
[`${baseClassName}--sidebar-type-${sidebarType}`]: sidebarType && sidebar,
|
|
72396
72458
|
[`${baseClassName}--sidebar-collapsed`]: sidebarType === 'collapsed' && isSidebarClosed,
|
|
72459
|
+
[`${baseClassName}--right-sidebar-collapsed`]: !rightSidebar || !rightSidebarVisible,
|
|
72397
72460
|
[`${baseClassName}--sidebar-folded`]: sidebarType === 'folded' && isSidebarClosed
|
|
72398
72461
|
}, className),
|
|
72399
72462
|
...props,
|
|
@@ -72406,15 +72469,21 @@ class Layout extends _react.Component {
|
|
|
72406
72469
|
children: [this.renderSidebar({
|
|
72407
72470
|
sidebar
|
|
72408
72471
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
72409
|
-
className: `${baseClassName}__content`,
|
|
72410
|
-
children: [
|
|
72411
|
-
|
|
72412
|
-
|
|
72413
|
-
|
|
72414
|
-
|
|
72415
|
-
|
|
72416
|
-
|
|
72417
|
-
|
|
72472
|
+
className: `${baseClassName}__content-wrapper`,
|
|
72473
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
72474
|
+
className: `${baseClassName}__content`,
|
|
72475
|
+
children: [this.renderContentAddon({
|
|
72476
|
+
contentAddon
|
|
72477
|
+
}), this.renderContentHeader({
|
|
72478
|
+
contentHeader
|
|
72479
|
+
}), this.renderMainContent({
|
|
72480
|
+
children
|
|
72481
|
+
}), this.renderFooter({
|
|
72482
|
+
footer
|
|
72483
|
+
})]
|
|
72484
|
+
}), this.renderRightSidebar({
|
|
72485
|
+
rightSidebar,
|
|
72486
|
+
rightSidebarVisible
|
|
72418
72487
|
})]
|
|
72419
72488
|
})]
|
|
72420
72489
|
})]
|
|
@@ -74869,13 +74938,14 @@ const Markdown = ({
|
|
|
74869
74938
|
className,
|
|
74870
74939
|
compact = false,
|
|
74871
74940
|
children,
|
|
74941
|
+
parserOptions,
|
|
74872
74942
|
...props
|
|
74873
74943
|
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
74874
74944
|
className: (0, _classnames.default)(baseClassName, {
|
|
74875
74945
|
[`${baseClassName}--compact`]: compact
|
|
74876
74946
|
}, className),
|
|
74877
74947
|
dangerouslySetInnerHTML: {
|
|
74878
|
-
__html: (0, _marked.marked)(children)
|
|
74948
|
+
__html: (0, _marked.marked)(children, parserOptions)
|
|
74879
74949
|
},
|
|
74880
74950
|
...props
|
|
74881
74951
|
});
|