@plesk/ui-library 3.36.0 → 3.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/cjs/components/Card/helpers.js +0 -1
  2. package/cjs/components/Carousel/Carousel.js +182 -77
  3. package/cjs/components/ComboBox/ComboBoxOption.js +2 -1
  4. package/cjs/components/Drawer/DrawerProgress.js +1 -1
  5. package/cjs/components/List/List.js +102 -314
  6. package/cjs/components/List/ListAction.js +0 -1
  7. package/cjs/components/Panel/Panel.js +61 -98
  8. package/cjs/components/Select/SelectControl.js +4 -0
  9. package/cjs/components/Select/SelectOption.js +2 -1
  10. package/cjs/components/Toaster/Toaster.js +3 -3
  11. package/cjs/components/Toolbar/ToolbarMenu.js +0 -1
  12. package/cjs/components/index.js +42 -22
  13. package/cjs/index.js +1 -1
  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 +574 -678
  19. package/dist/plesk-ui-library.js.map +1 -1
  20. package/dist/plesk-ui-library.min.js +10 -10
  21. package/dist/plesk-ui-library.min.js.map +1 -1
  22. package/esm/components/Card/helpers.js +0 -1
  23. package/esm/components/Carousel/Carousel.js +183 -78
  24. package/esm/components/ComboBox/ComboBoxOption.js +2 -1
  25. package/esm/components/Drawer/DrawerProgress.js +1 -1
  26. package/esm/components/List/List.js +102 -314
  27. package/esm/components/List/ListAction.js +0 -1
  28. package/esm/components/Panel/Panel.js +62 -99
  29. package/esm/components/Select/SelectControl.js +4 -0
  30. package/esm/components/Select/SelectOption.js +2 -1
  31. package/esm/components/Toaster/Toaster.js +3 -3
  32. package/esm/components/Toolbar/ToolbarMenu.js +0 -1
  33. package/esm/components/index.js +2 -4
  34. package/esm/index.js +1 -1
  35. package/package.json +41 -41
  36. package/styleguide/build/bundle.c3d05006.js +2 -0
  37. package/styleguide/index.html +2 -2
  38. package/types/src/components/Action/Action.d.ts +1 -1
  39. package/types/src/components/Action/index.d.ts +1 -0
  40. package/types/src/components/Alert/Alert.d.ts +1 -1
  41. package/types/src/components/Alert/index.d.ts +1 -0
  42. package/types/src/components/AutoClosable/AutoClosable.d.ts +1 -1
  43. package/types/src/components/AutoClosable/index.d.ts +1 -0
  44. package/types/src/components/AuxiliaryActions/AuxiliaryActions.d.ts +1 -1
  45. package/types/src/components/AuxiliaryActions/index.d.ts +1 -0
  46. package/types/src/components/Badge/Badge.d.ts +1 -1
  47. package/types/src/components/Badge/index.d.ts +1 -0
  48. package/types/src/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  49. package/types/src/components/Breadcrumbs/index.d.ts +1 -0
  50. package/types/src/components/Button/ButtonContext.d.ts +1 -0
  51. package/types/src/components/ButtonGroup/ButtonGroup.d.ts +1 -1
  52. package/types/src/components/ButtonGroup/index.d.ts +1 -0
  53. package/types/src/components/Carousel/Carousel.d.ts +43 -8
  54. package/types/src/components/Checkbox/Checkbox.d.ts +1 -1
  55. package/types/src/components/Checkbox/index.d.ts +1 -0
  56. package/types/src/components/ComboBox/ComboBox.d.ts +1 -1
  57. package/types/src/components/ComboBox/ComboBoxOption.d.ts +1 -1
  58. package/types/src/components/ComboBox/index.d.ts +2 -0
  59. package/types/src/components/ConsoleOutput/ConsoleOutput.d.ts +1 -1
  60. package/types/src/components/ConsoleOutput/index.d.ts +1 -0
  61. package/types/src/components/ContentLoader/ContentLoader.d.ts +1 -1
  62. package/types/src/components/ContentLoader/index.d.ts +1 -0
  63. package/types/src/components/Cuttable/Cuttable.d.ts +1 -1
  64. package/types/src/components/Cuttable/index.d.ts +1 -0
  65. package/types/src/components/DistractionFreeModeContext/DistractionFreeModeContext.d.ts +1 -0
  66. package/types/src/components/Drawer/DrawerProgress.d.ts +1 -1
  67. package/types/src/components/Form/DisabledContext.d.ts +1 -0
  68. package/types/src/components/Form/FormContext.d.ts +1 -0
  69. package/types/src/components/Form/ScrollableElementFormContext.d.ts +1 -0
  70. package/types/src/components/List/List.d.ts +637 -0
  71. package/types/src/components/List/ListAction.d.ts +21 -18
  72. package/types/src/components/List/ListActionsDivider.d.ts +1 -1
  73. package/types/src/components/List/ListEmptyView.d.ts +1 -1
  74. package/types/src/components/List/index.d.ts +12 -0
  75. package/types/src/components/OnDarkContext/OnDarkContext.d.ts +1 -0
  76. package/types/src/components/Pagination/Pagination.d.ts +1 -1
  77. package/types/src/components/Pagination/index.d.ts +1 -0
  78. package/types/src/components/Panel/Panel.d.ts +4 -21
  79. package/types/src/components/Panel/index.d.ts +1 -0
  80. package/types/src/components/Radio/Radio.d.ts +4 -6
  81. package/types/src/components/Radio/index.d.ts +1 -0
  82. package/types/src/components/ResponsiveContext/ResponsiveContext.d.ts +1 -0
  83. package/types/src/components/Section/Section.d.ts +1 -1
  84. package/types/src/components/Toolbar/RegistryContext.d.ts +1 -0
  85. package/types/src/components/Translate/Translate.d.ts +4 -3
  86. package/types/src/components/Translate/index.d.ts +1 -1
  87. package/types/src/components/VerticalContext/VerticalContext.d.ts +1 -0
  88. package/types/src/components/index.d.ts +17 -4
  89. package/styleguide/build/bundle.2c956ff2.js +0 -2
  90. /package/styleguide/build/{bundle.2c956ff2.js.LICENSE.txt → bundle.c3d05006.js.LICENSE.txt} +0 -0
@@ -8,7 +8,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
8
8
  * It accepts the props of [Button](#!/Button) and [MenuItem](#!/MenuItem) components.
9
9
  * @since 3.3.0
10
10
  */
11
-
12
11
  const ListAction = _ref => {
13
12
  let {
14
13
  primary,
@@ -1,10 +1,9 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
1
  // Copyright 1999-2023. Plesk International GmbH. All rights reserved.
3
2
 
4
- import { Component, createRef } from 'react';
3
+ import { useRef, useState } from 'react';
4
+ import { CSSTransition } from 'react-transition-group';
5
5
  import classNames from 'classnames';
6
6
  import { CLS_PREFIX } from '../../constants';
7
- import { CSSTransition } from 'react-transition-group';
8
7
  import { isLikeText } from '../Translate';
9
8
  import Heading from '../Heading';
10
9
  import Button from '../Button';
@@ -15,103 +14,67 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
15
14
  * `Panel` component is used for visually grouping some content.
16
15
  * @since 0.0.35
17
16
  */
18
- class Panel extends Component {
19
- constructor(props) {
20
- super(props);
21
- _defineProperty(this, "handleToggle", e => {
22
- if (isClickable(e)) {
23
- return;
24
- }
25
- this.setState(_ref => {
26
- let {
27
- collapsed
28
- } = _ref;
29
- return {
30
- collapsed: !collapsed
31
- };
32
- }, () => {
33
- if (this.props.onToggle) {
34
- this.props.onToggle(this.state.collapsed);
35
- }
36
- });
37
- });
38
- const _collapsed2 = this.props.collapsible && this.props.collapsed || false;
39
- // eslint-disable-next-line react/state-in-constructor
40
- this.state = {
41
- collapsed: _collapsed2,
42
- prevPropsCollapsed: _collapsed2
43
- };
44
- }
45
- static getDerivedStateFromProps(props, state) {
46
- if (props.collapsed !== state.prevPropsCollapsed) {
47
- return {
48
- collapsed: props.collapsed,
49
- prevPropsCollapsed: props.collapsed
50
- };
17
+ const Panel = _ref => {
18
+ let {
19
+ baseClassName = `${CLS_PREFIX}panel`,
20
+ className,
21
+ title,
22
+ collapsible = false,
23
+ collapsed: externalCollapsed,
24
+ onToggle,
25
+ children,
26
+ extra,
27
+ ...props
28
+ } = _ref;
29
+ const rootRef = useRef(null);
30
+ const isControlled = externalCollapsed !== undefined;
31
+ const [internalCollapsed, setInternalCollapsed] = useState(false);
32
+ const collapsed = isControlled ? externalCollapsed : internalCollapsed;
33
+ const handleToggle = e => {
34
+ if (!collapsible || isClickable(e)) return;
35
+ if (!isControlled) {
36
+ setInternalCollapsed(!collapsed);
51
37
  }
52
- return null;
53
- }
54
- render() {
55
- const {
56
- baseClassName,
57
- className,
58
- title,
59
- collapsible,
60
- collapsed: _collapsed,
61
- onToggle,
62
- children,
63
- extra,
64
- ...props
65
- } = this.props;
66
- const {
67
- collapsed
68
- } = this.state;
69
- const handleToggle = collapsible ? this.handleToggle : undefined;
70
- const rootRef = /*#__PURE__*/createRef();
71
- return /*#__PURE__*/_jsx(CSSTransition, {
72
- classNames: `${baseClassName}-`,
73
- in: !collapsed,
74
- timeout: 300,
75
- nodeRef: rootRef,
76
- children: /*#__PURE__*/_jsxs("div", {
77
- className: classNames(baseClassName, {
78
- [`${baseClassName}--collapsible`]: collapsible,
79
- [`${baseClassName}--collapsed`]: collapsed,
80
- [`${baseClassName}--expanded`]: !collapsed
81
- }, className),
82
- ...props,
83
- ref: rootRef,
84
- children: [title && /*#__PURE__*/_jsxs("div", {
85
- className: `${baseClassName}__header`,
86
- onClick: handleToggle,
87
- children: [isLikeText(title) ? /*#__PURE__*/_jsx(Heading, {
88
- component: "div",
89
- level: 4,
90
- className: `${baseClassName}__title`,
91
- children: title
92
- }) : title, (extra || collapsible) && /*#__PURE__*/_jsxs("div", {
93
- className: `${baseClassName}__extra`,
94
- children: [extra, collapsible && /*#__PURE__*/_jsx(Button, {
95
- ghost: true,
96
- className: `${baseClassName}__control-button`,
97
- icon: {
98
- name: 'chevron-up',
99
- flipVertical: collapsed
100
- },
101
- onClick: handleToggle
102
- })]
38
+ onToggle?.(!collapsed);
39
+ };
40
+ return /*#__PURE__*/_jsx(CSSTransition, {
41
+ classNames: `${baseClassName}-`,
42
+ in: !collapsed,
43
+ timeout: 300,
44
+ nodeRef: rootRef,
45
+ children: /*#__PURE__*/_jsxs("div", {
46
+ className: classNames(baseClassName, {
47
+ [`${baseClassName}--collapsible`]: collapsible,
48
+ [`${baseClassName}--collapsed`]: collapsed,
49
+ [`${baseClassName}--expanded`]: !collapsed
50
+ }, className),
51
+ ...props,
52
+ ref: rootRef,
53
+ children: [title && /*#__PURE__*/_jsxs("div", {
54
+ className: `${baseClassName}__header`,
55
+ onClick: handleToggle,
56
+ children: [isLikeText(title) ? /*#__PURE__*/_jsx(Heading, {
57
+ component: "div",
58
+ level: 4,
59
+ className: `${baseClassName}__title`,
60
+ children: title
61
+ }) : title, (extra || collapsible) && /*#__PURE__*/_jsxs("div", {
62
+ className: `${baseClassName}__extra`,
63
+ children: [extra, collapsible && /*#__PURE__*/_jsx(Button, {
64
+ ghost: true,
65
+ className: `${baseClassName}__control-button`,
66
+ icon: {
67
+ name: 'chevron-up',
68
+ flipVertical: collapsed
69
+ },
70
+ onClick: handleToggle
103
71
  })]
104
- }), /*#__PURE__*/_jsx("div", {
105
- className: `${baseClassName}__content`,
106
- children: children
107
72
  })]
108
- })
109
- });
110
- }
111
- }
112
- _defineProperty(Panel, "defaultProps", {
113
- collapsible: false,
114
- collapsed: false,
115
- baseClassName: `${CLS_PREFIX}panel`
116
- });
73
+ }), /*#__PURE__*/_jsx("div", {
74
+ className: `${baseClassName}__content`,
75
+ children: children
76
+ })]
77
+ })
78
+ });
79
+ };
117
80
  export default Panel;
@@ -182,6 +182,10 @@ const SelectControl = /*#__PURE__*/forwardRef(function SelectControl(_ref, ref)
182
182
  onKeyDown: handleKeyDown,
183
183
  onFocus: handleFocus,
184
184
  onBlur: handleBlur,
185
+ onClick: e => {
186
+ // ignore click which was received by clicking on a label with "for" attribute
187
+ if (e.detail === 0) e.stopPropagation();
188
+ },
185
189
  readOnly: !searchable,
186
190
  disabled: disabled,
187
191
  ref: inputRef,
@@ -4,7 +4,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  /**
5
5
  * `SelectOption` is a part of [SelectOptionGroup](#!/SelectOptionGroup) component.
6
6
  * @since 2.3.0
7
- */ // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
+ */
8
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
9
  const SelectOption = _props => {
9
10
  // styleguidist doesn't show Props & Methods if component renders nothing
10
11
  // eslint-disable-next-line no-constant-condition
@@ -1,5 +1,5 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- var _class;
2
+ var _Toaster;
3
3
  // Copyright 1999-2023. Plesk International GmbH. All rights reserved.
4
4
 
5
5
  import { render } from 'react-dom';
@@ -185,7 +185,7 @@ export default class Toaster extends Component {
185
185
  });
186
186
  }
187
187
  }
188
- _class = Toaster;
188
+ _Toaster = Toaster;
189
189
  // eslint-disable-next-line react/sort-comp
190
190
  _defineProperty(Toaster, "defaultProps", {
191
191
  position: 'top-end',
@@ -196,7 +196,7 @@ _defineProperty(Toaster, "create", function () {
196
196
  let container = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;
197
197
  const containerElement = document.createElement('div');
198
198
  container.appendChild(containerElement);
199
- return render( /*#__PURE__*/_jsx(_class, {
199
+ return render( /*#__PURE__*/_jsx(_Toaster, {
200
200
  ...props
201
201
  }), containerElement);
202
202
  });
@@ -37,7 +37,6 @@ const toMenuItem = (child, isLast, onItemClick) => {
37
37
  });
38
38
  /* eslint-enable react/prop-types */
39
39
  }
40
-
41
40
  case ToolbarGroup:
42
41
  {
43
42
  const {
@@ -16,8 +16,7 @@ export { default as Checkbox } from './Checkbox';
16
16
  export { default as Radio } from './Radio';
17
17
  export { default as CodeEditor } from './CodeEditor';
18
18
  export { default as Columns, Column } from './Columns';
19
- export { default as ComboBox } from './ComboBox';
20
- export * from './ComboBox';
19
+ export { default as ComboBox, ComboBoxOption } from './ComboBox';
21
20
  export { default as ConsoleOutput } from './ConsoleOutput';
22
21
  export { default as ContentLoader } from './ContentLoader';
23
22
  export { default as Cuttable } from './Cuttable';
@@ -53,8 +52,7 @@ export { default as ItemLink } from './ItemLink';
53
52
  export { default as ItemList } from './ItemList';
54
53
  export { default as Label } from './Label';
55
54
  export { default as Layout } from './Layout';
56
- export { default as List } from './List';
57
- export * from './List';
55
+ export { default as List, ListActions, ListAction, ListOperation, ListEmptyView, ListActionsDivider } from './List';
58
56
  export { default as LocaleProvider } from './LocaleProvider';
59
57
  export * from './LocaleProvider';
60
58
  export { default as Markdown } from './Markdown';
package/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // Copyright 1999-2023. Plesk International GmbH. All rights reserved.
2
2
  import svg4everybody from 'svg4everybody';
3
- const version = "3.36.0";
3
+ const version = "3.37.0";
4
4
  export * from './publicPath';
5
5
  export { version };
6
6
  export * from './utils';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plesk/ui-library",
3
- "version": "3.36.0",
3
+ "version": "3.37.0",
4
4
  "description": "Plesk UI Library",
5
5
  "main": "index.js",
6
6
  "module": "esm/index.js",
@@ -43,9 +43,9 @@
43
43
  "/index.js"
44
44
  ],
45
45
  "dependencies": {
46
- "@babel/runtime": "^7.23.2",
46
+ "@babel/runtime": "^7.23.9",
47
47
  "@plesk/react-movable": "^2.7.1",
48
- "classnames": "^2.3.2",
48
+ "classnames": "^2.5.1",
49
49
  "codemirror": "5.58.2",
50
50
  "marked": "4.2.12",
51
51
  "memoize-one": "^5.2.1",
@@ -59,77 +59,77 @@
59
59
  "use-focus-visible": "^1.0.2"
60
60
  },
61
61
  "devDependencies": {
62
- "@babel/core": "^7.23.2",
62
+ "@babel/core": "^7.23.9",
63
63
  "@babel/plugin-proposal-class-properties": "^7.18.6",
64
64
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
65
- "@babel/plugin-transform-runtime": "^7.23.2",
66
- "@babel/preset-env": "^7.23.2",
67
- "@babel/preset-react": "^7.22.15",
68
- "@babel/preset-typescript": "^7.23.2",
69
- "@babel/types": "^7.23.0",
65
+ "@babel/plugin-transform-runtime": "^7.23.9",
66
+ "@babel/preset-env": "^7.23.9",
67
+ "@babel/preset-react": "^7.23.3",
68
+ "@babel/preset-typescript": "^7.23.3",
69
+ "@babel/types": "^7.23.9",
70
70
  "@csstools/postcss-logical-float-and-clear": "^1.0.1",
71
71
  "@plesk/eslint-config": "^3.0.0",
72
72
  "@plesk/stylelint-config": "^2.0.0",
73
- "@testing-library/dom": "^9.3.3",
74
- "@testing-library/jest-dom": "^6.1.4",
75
- "@testing-library/react": "^14.0.0",
76
- "@testing-library/user-event": "^14.5.1",
77
- "@types/buble": "^0.20.4",
73
+ "@testing-library/dom": "^9.3.4",
74
+ "@testing-library/jest-dom": "^6.4.2",
75
+ "@testing-library/react": "^14.2.1",
76
+ "@testing-library/user-event": "^14.5.2",
77
+ "@types/buble": "^0.20.5",
78
78
  "@types/classnames": "2.3.1",
79
- "@types/codemirror": "^5.60.12",
79
+ "@types/codemirror": "^5.60.15",
80
80
  "@types/doctrine": "^0.0.5",
81
- "@types/jest": "^29.5.7",
82
- "@types/jest-image-snapshot": "^6.2.2",
81
+ "@types/jest": "^29.5.12",
82
+ "@types/jest-image-snapshot": "^6.4.0",
83
83
  "@types/marked": "^4.3.2",
84
- "@types/node": "^16.18.60",
85
- "@types/react": "^18.2.35",
86
- "@types/react-dom": "^18.2.14",
84
+ "@types/node": "^16.18.80",
85
+ "@types/react": "^18.2.55",
86
+ "@types/react-dom": "^18.2.19",
87
87
  "@types/react-measure": "2.0.9",
88
- "@types/react-transition-group": "^4.4.8",
88
+ "@types/react-transition-group": "^4.4.10",
89
89
  "@types/svg4everybody": "2.1.2",
90
- "@types/webpack-env": "^1.18.3",
91
- "@typescript-eslint/eslint-plugin": "^6.9.1",
92
- "@typescript-eslint/parser": "^6.9.1",
93
- "autoprefixer": "^10.4.16",
90
+ "@types/webpack-env": "^1.18.4",
91
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
92
+ "@typescript-eslint/parser": "^6.21.0",
93
+ "autoprefixer": "^10.4.17",
94
94
  "babel-loader": "^8.3.0",
95
95
  "babel-plugin-transform-require-ignore": "^0.1.1",
96
96
  "clean-webpack-plugin": "^4.0.0",
97
97
  "cross-env": "^7.0.3",
98
- "css-loader": "^6.8.1",
98
+ "css-loader": "^6.10.0",
99
99
  "css-minimizer-webpack-plugin": "^5.0.1",
100
- "eslint": "^8.53.0",
100
+ "eslint": "^8.56.0",
101
101
  "eslint-config-prettier": "^8.10.0",
102
102
  "eslint-plugin-markdown": "^3.0.1",
103
- "html-webpack-plugin": "^5.5.3",
103
+ "html-webpack-plugin": "^5.6.0",
104
104
  "jest": "^29.7.0",
105
- "jest-dev-server": "^9.0.1",
105
+ "jest-dev-server": "^9.0.2",
106
106
  "jest-environment-jsdom": "^29.7.0",
107
- "jest-image-snapshot": "^6.2.0",
107
+ "jest-image-snapshot": "^6.4.0",
108
108
  "less": "^4.2.0",
109
- "less-loader": "^11.1.3",
110
- "mini-css-extract-plugin": "^2.7.6",
111
- "postcss": "^8.4.31",
109
+ "less-loader": "^11.1.4",
110
+ "mini-css-extract-plugin": "^2.8.0",
111
+ "postcss": "^8.4.35",
112
112
  "postcss-less": "^6.0.0",
113
- "postcss-loader": "^7.3.3",
113
+ "postcss-loader": "^7.3.4",
114
114
  "postcss-logical": "^6.2.0",
115
115
  "prettier": "^2.8.8",
116
- "puppeteer-core": "20.4.0",
116
+ "puppeteer-core": "21.7.0",
117
117
  "react": "^18.2.0",
118
118
  "react-docgen-typescript": "^2.2.2",
119
119
  "react-dom": "^18.2.0",
120
- "react-styleguidist": "^13.1.1",
120
+ "react-styleguidist": "^13.1.2",
121
121
  "rimraf": "^5.0.5",
122
122
  "rtlcss": "^4.1.1",
123
- "style-loader": "^3.3.3",
123
+ "style-loader": "^3.3.4",
124
124
  "stylelint": "^15.11.0",
125
- "stylelint-declaration-block-no-ignored-properties": "^2.7.0",
125
+ "stylelint-declaration-block-no-ignored-properties": "^2.8.0",
126
126
  "stylelint-no-unsupported-browser-features": "^6.1.0",
127
127
  "stylelint-prettier": "^3.0.0",
128
- "stylelint-use-logical-spec": "^5.0.0",
128
+ "stylelint-use-logical-spec": "^5.0.1",
129
129
  "svg-mixer": "^2.3.14",
130
- "terser-webpack-plugin": "^5.3.9",
130
+ "terser-webpack-plugin": "^5.3.10",
131
131
  "typescript": "5.2.2",
132
- "webpack": "^5.89.0",
132
+ "webpack": "^5.90.1",
133
133
  "webpack-cli": "^5.1.4"
134
134
  },
135
135
  "peerDependencies": {