@plesk/ui-library 3.42.0 → 3.43.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 (69) hide show
  1. package/cjs/components/CodeEditor/CodeEditor.js +1 -2
  2. package/cjs/components/Icon/constants.js +0 -1
  3. package/cjs/components/List/List.js +6 -3
  4. package/cjs/components/Tabs/FakeTabs.js +58 -0
  5. package/cjs/components/Tabs/Tab.js +0 -1
  6. package/cjs/components/Tabs/TabClose.js +35 -0
  7. package/cjs/components/Tabs/TabIcon.js +22 -0
  8. package/cjs/components/Tabs/TabLabel.js +34 -0
  9. package/cjs/components/Tabs/TabList.js +120 -0
  10. package/cjs/components/Tabs/TabListItem.js +75 -0
  11. package/cjs/components/Tabs/Tabs.js +98 -537
  12. package/cjs/components/Tabs/useActive.js +19 -0
  13. package/cjs/components/Tabs/useWidths.js +102 -0
  14. package/cjs/components/Toaster/PanelView.js +15 -13
  15. package/cjs/components/Toolbar/ToolbarMenu.js +0 -1
  16. package/cjs/components/Toolbar/index.js +1 -8
  17. package/cjs/components/index.js +0 -7
  18. package/cjs/index.js +1 -1
  19. package/dist/plesk-ui-library-rtl.css +1 -1
  20. package/dist/plesk-ui-library-rtl.css.map +1 -1
  21. package/dist/plesk-ui-library.css +1 -1
  22. package/dist/plesk-ui-library.css.map +1 -1
  23. package/dist/plesk-ui-library.js +668 -608
  24. package/dist/plesk-ui-library.js.map +1 -1
  25. package/dist/plesk-ui-library.min.js +5 -5
  26. package/dist/plesk-ui-library.min.js.map +1 -1
  27. package/esm/components/CodeEditor/CodeEditor.js +1 -2
  28. package/esm/components/Icon/constants.js +0 -1
  29. package/esm/components/List/List.js +6 -3
  30. package/esm/components/Tabs/FakeTabs.js +51 -0
  31. package/esm/components/Tabs/Tab.js +0 -1
  32. package/esm/components/Tabs/TabClose.js +28 -0
  33. package/esm/components/Tabs/TabIcon.js +14 -0
  34. package/esm/components/Tabs/TabLabel.js +27 -0
  35. package/esm/components/Tabs/TabList.js +111 -0
  36. package/esm/components/Tabs/TabListItem.js +68 -0
  37. package/esm/components/Tabs/Tabs.js +100 -537
  38. package/esm/components/Tabs/useActive.js +12 -0
  39. package/esm/components/Tabs/useWidths.js +95 -0
  40. package/esm/components/Toaster/PanelView.js +15 -13
  41. package/esm/components/Toolbar/ToolbarMenu.js +0 -1
  42. package/esm/components/Toolbar/index.js +1 -2
  43. package/esm/components/index.js +1 -1
  44. package/esm/index.js +1 -1
  45. package/package.json +9 -10
  46. package/styleguide/build/bundle.ef040f7a.js +2 -0
  47. package/styleguide/index.html +2 -2
  48. package/types/components/Carousel/Carousel.d.ts +1 -1
  49. package/types/components/Label/Label.d.ts +1 -1
  50. package/types/components/List/List.d.ts +8 -2
  51. package/types/components/Tabs/FakeTabs.d.ts +9 -0
  52. package/types/components/Tabs/SearchBar.d.ts +3 -3
  53. package/types/components/Tabs/TabClose.d.ts +9 -0
  54. package/types/components/Tabs/TabIcon.d.ts +7 -0
  55. package/types/components/Tabs/TabLabel.d.ts +9 -0
  56. package/types/components/Tabs/TabList.d.ts +14 -0
  57. package/types/components/Tabs/TabListItem.d.ts +12 -0
  58. package/types/components/Tabs/Tabs.d.ts +2 -52
  59. package/types/components/Tabs/useActive.d.ts +1 -0
  60. package/types/components/Tabs/useWidths.d.ts +16 -0
  61. package/types/components/Toolbar/index.d.ts +0 -1
  62. package/types/components/index.d.ts +1 -1
  63. package/types/utils/types/ComponentProps.d.ts +1 -1
  64. package/types/utils/types/PolymorphicComponent.d.ts +2 -2
  65. package/cjs/components/Toolbar/ToolbarBetaProvider.js +0 -23
  66. package/esm/components/Toolbar/ToolbarBetaProvider.js +0 -16
  67. package/styleguide/build/bundle.7ac8a2af.js +0 -2
  68. package/types/components/Toolbar/ToolbarBetaProvider.d.ts +0 -5
  69. /package/styleguide/build/{bundle.7ac8a2af.js.LICENSE.txt → bundle.ef040f7a.js.LICENSE.txt} +0 -0
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
7
- <title>Plesk UI Library 3.42.0</title>
7
+ <title>Plesk UI Library 3.43.0</title>
8
8
  <meta name="msapplication-TileColor" content="#da532c">
9
9
  <meta name="theme-color" content="#ffffff">
10
10
  <link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
@@ -26,6 +26,6 @@
26
26
  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KWST26V"
27
27
  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
28
28
  <!-- End Google Tag Manager (noscript) -->
29
- <script src="build/bundle.7ac8a2af.js"></script>
29
+ <script src="build/bundle.ef040f7a.js"></script>
30
30
  </body>
31
31
  </html>
@@ -35,7 +35,7 @@ export interface CarouselProps {
35
35
  /**
36
36
  * Callback called on change slides
37
37
  */
38
- onSlide?: (current: number) => {};
38
+ onSlide?: (current: number) => void;
39
39
  /**
40
40
  * @ignore
41
41
  */
@@ -52,5 +52,5 @@ export type LabelProps<T extends ElementType> = BaseLabelProps<T> & Omit<Compone
52
52
  * `Label` component is used for showing multiple characteristics or attributes of an object.
53
53
  * @since 0.0.42
54
54
  */
55
- declare const Label: <T extends ElementType = "button" | "span">({ baseClassName, children, className, component, icon, intent, view, size, caps, ...props }: LabelProps<T>) => import("react/jsx-runtime").JSX.Element;
55
+ declare const Label: <T extends ElementType = "span" | "button">({ baseClassName, children, className, component, icon, intent, view, size, caps, ...props }: LabelProps<T>) => import("react/jsx-runtime").JSX.Element;
56
56
  export default Label;
@@ -274,6 +274,11 @@ export interface ListProps<T extends ListData> {
274
274
  * @since 3.18.0
275
275
  */
276
276
  reorderable?: boolean;
277
+ /**
278
+ * Enable or disable auto-expand children when list contains only one element.
279
+ * @since 3.44.12
280
+ */
281
+ autoExpandSingleItem?: boolean;
277
282
  /**
278
283
  * Reorder end handler.
279
284
  * @since 3.18.0
@@ -348,9 +353,10 @@ declare class List<T extends ListData> extends Component<ListProps<T>, ListState
348
353
  rowProps: undefined;
349
354
  reorderable: boolean;
350
355
  onReorderEnd: undefined;
356
+ autoExpandSingleItem: boolean;
351
357
  };
352
358
  state: ListState<T>;
353
- static getDerivedStateFromProps<T extends ListData>({ sortColumn, sortDirection, selection, expandedRows, notExpandableRows, renderRowBody, data, pagination, vertical, rowKey, totalRows, filtered, }: Readonly<ListProps<T>>, { prevSortColumn, prevSortDirection, prevData, prevSelection, prevPagination, prevExpandedRows, ...state }: ListState<T>): ListState<T>;
359
+ static getDerivedStateFromProps<T extends ListData>({ sortColumn, sortDirection, selection, expandedRows, notExpandableRows, renderRowBody, data, pagination, vertical, rowKey, totalRows, filtered, autoExpandSingleItem, }: Readonly<ListProps<T>>, { prevSortColumn, prevSortDirection, prevData, prevSelection, prevPagination, prevExpandedRows, ...state }: ListState<T>): ListState<T>;
354
360
  componentDidMount(): void;
355
361
  componentDidUpdate(prevProps: ListProps<T>): void;
356
362
  needScroll: boolean;
@@ -371,7 +377,7 @@ declare class List<T extends ListData> extends Component<ListProps<T>, ListState
371
377
  isRowLoading: (row: ListRowData<T>) => boolean;
372
378
  getRowTitle: (row: ListRowData<T>) => any;
373
379
  getRowProps: (row: ListRowData<T>) => {
374
- [x: `data-${string}`]: any;
380
+ [p: `data-${string}`]: any;
375
381
  defaultChecked?: boolean | undefined;
376
382
  defaultValue?: string | number | readonly string[] | undefined;
377
383
  suppressContentEditableWarning?: boolean | undefined;
@@ -0,0 +1,9 @@
1
+ import { ReactElement } from 'react';
2
+ import { TabProps } from './Tab';
3
+ interface FakeTabsProps {
4
+ children: ReactElement<TabProps> | ReactElement<TabProps>[];
5
+ onResize: () => void;
6
+ baseClassName: string;
7
+ }
8
+ declare const FakeTabs: ({ children, onResize, baseClassName }: FakeTabsProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default FakeTabs;
@@ -1,4 +1,4 @@
1
- import { ReactElement } from 'react';
1
+ import { CSSProperties, ReactElement } from 'react';
2
2
  import { InputProps } from '../Input';
3
3
  import { MenuProps } from '../Menu';
4
4
  import './SearchBar.less';
@@ -15,12 +15,12 @@ interface SearchBarBaseProps {
15
15
  * Maximum width of SearchBar
16
16
  * @since 0.1.0
17
17
  */
18
- maxWidth?: number;
18
+ maxWidth?: CSSProperties['maxWidth'];
19
19
  /**
20
20
  * Minimum width of SearchBar
21
21
  * @since 0.1.0
22
22
  */
23
- minWidth?: number;
23
+ minWidth?: CSSProperties['minWidth'];
24
24
  /**
25
25
  * Should disable input and show spinner or not.
26
26
  * @since 0.1.0
@@ -0,0 +1,9 @@
1
+ import { MouseEvent } from 'react';
2
+ import { TabMode } from './TabList';
3
+ interface TabCloseProps {
4
+ tabMode: TabMode;
5
+ onClose?: (e: MouseEvent) => void;
6
+ baseClassName: string;
7
+ }
8
+ declare const TabClose: ({ tabMode, onClose, baseClassName }: TabCloseProps) => import("react/jsx-runtime").JSX.Element | null;
9
+ export default TabClose;
@@ -0,0 +1,7 @@
1
+ import { TabProps } from './Tab';
2
+ interface TabIconProps {
3
+ icon: TabProps['icon'];
4
+ baseClassName: string;
5
+ }
6
+ declare const TabIcon: ({ icon, baseClassName }: TabIconProps) => any;
7
+ export default TabIcon;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ import { TabMode } from './TabList';
3
+ interface TabLabelProps {
4
+ label: ReactNode;
5
+ tabMode: TabMode;
6
+ baseClassName: string;
7
+ }
8
+ declare const TabLabel: ({ label, tabMode, baseClassName }: TabLabelProps) => import("react/jsx-runtime").JSX.Element | null;
9
+ export default TabLabel;
@@ -0,0 +1,14 @@
1
+ import { ReactElement, RefObject } from 'react';
2
+ import { TabProps } from './Tab';
3
+ export type TabMode = 'menu-item' | 'tab';
4
+ interface TabListProps {
5
+ children: ReactElement<TabProps> | ReactElement<TabProps>[];
6
+ tabListRef: RefObject<HTMLUListElement>;
7
+ active: number;
8
+ onTabClick: (active: number) => void;
9
+ visibleLength: number;
10
+ monospacedWidth?: number;
11
+ baseClassName: string;
12
+ }
13
+ declare const TabList: ({ children, tabListRef, active, onTabClick, visibleLength, monospacedWidth, baseClassName, }: TabListProps) => import("react/jsx-runtime").JSX.Element | null;
14
+ export default TabList;
@@ -0,0 +1,12 @@
1
+ import { ReactElement } from 'react';
2
+ import { TabProps } from './Tab';
3
+ interface TabListItemProps {
4
+ tab: ReactElement<TabProps>;
5
+ selected?: boolean;
6
+ onClick?: () => void;
7
+ monospacedWidth?: number;
8
+ baseClassName: string;
9
+ isFake?: boolean;
10
+ }
11
+ declare const TabListItem: ({ tab, selected, onClick, monospacedWidth, baseClassName, isFake, }: TabListItemProps) => import("react/jsx-runtime").JSX.Element;
12
+ export default TabListItem;
@@ -1,5 +1,4 @@
1
- import { Component, ReactElement, ReactNode } from 'react';
2
- import { BoundingRect, ContentRect } from 'react-measure';
1
+ import { ReactElement } from 'react';
3
2
  import { TabProps } from './Tab';
4
3
  import '../../helpers/base.less';
5
4
  import { SearchBarProps } from './SearchBar';
@@ -51,21 +50,6 @@ export interface TabsProps {
51
50
  */
52
51
  baseClassName?: string;
53
52
  }
54
- interface TabsState {
55
- active: number;
56
- prevActive?: number;
57
- collapsedLength: number;
58
- compact: boolean;
59
- searching: boolean;
60
- monospacedWidth: number;
61
- }
62
- interface Widths {
63
- tabs: number[];
64
- more: number;
65
- container: number;
66
- margin: number;
67
- }
68
- type TabMode = 'menu-item' | 'tab';
69
53
  /**
70
54
  * `Tabs` component is a content area with a group of individual [Tab](#!/Tab) elements, each displaying different content
71
55
  * in the same screen area. `Tabs` are used when you have too much content to display in one place at the same time, so
@@ -73,39 +57,5 @@ type TabMode = 'menu-item' | 'tab';
73
57
  * group name and a navigation button.
74
58
  * @since 0.0.35
75
59
  */
76
- declare class Tabs extends Component<TabsProps, TabsState> {
77
- static defaultProps: {
78
- baseClassName: string;
79
- };
80
- state: {
81
- active: number;
82
- collapsedLength: number;
83
- compact: boolean;
84
- searching: boolean;
85
- monospacedWidth: number;
86
- };
87
- static getDerivedStateFromProps(props: Readonly<TabsProps>, state: TabsState): Partial<TabsState>;
88
- componentDidUpdate(): void;
89
- widths: Widths | undefined;
90
- addon: BoundingRect | undefined;
91
- tabsnavRef: HTMLElement | undefined;
92
- moreTabsRef: HTMLElement | null;
93
- checkAdaptive: () => void;
94
- onClick(active: number): void;
95
- handleStartSearching: () => void;
96
- handleCancelSearching: () => void;
97
- handleResize: () => void;
98
- handleAddonResize: (contentRect: ContentRect) => void;
99
- renderTabLabel(tabMode: TabMode, label: ReactNode): import("react/jsx-runtime").JSX.Element | null;
100
- renderTabClose(tabMode: TabMode, onClose?: TabProps['onClose']): import("react/jsx-runtime").JSX.Element | null;
101
- renderFakeTabs(): import("react/jsx-runtime").JSX.Element | null;
102
- renderTabItem: (tab: ReactElement<TabProps>, index: number, tabMode: TabMode) => import("react/jsx-runtime").JSX.Element | null;
103
- createTabItems(): {
104
- visibleItems: ReactElement<any, string | import("react").JSXElementConstructor<any>>[];
105
- hiddenItems: ReactElement<any, string | import("react").JSXElementConstructor<any>>[];
106
- };
107
- renderTabList(): import("react/jsx-runtime").JSX.Element | null;
108
- renderSearchBar(searchProps: SearchBarProps): import("react/jsx-runtime").JSX.Element | null;
109
- render(): import("react/jsx-runtime").JSX.Element | null;
110
- }
60
+ declare const Tabs: ({ baseClassName, className, addon, placeholder, children, active: externalActive, addonMinWidth, monospaced, search, ...props }: TabsProps) => import("react/jsx-runtime").JSX.Element | null;
111
61
  export default Tabs;
@@ -0,0 +1 @@
1
+ export declare const useActive: (externalActive: number | undefined) => readonly [number, import("react").Dispatch<import("react").SetStateAction<number>>];
@@ -0,0 +1,16 @@
1
+ import { RefObject } from 'react';
2
+ type UseWidthsOptions = {
3
+ tabNavRef: RefObject<HTMLDivElement>;
4
+ tabListRef: RefObject<HTMLUListElement>;
5
+ fakeAddonRef: RefObject<HTMLDivElement>;
6
+ baseClassName: string;
7
+ monospaced?: boolean;
8
+ childrenCount: number;
9
+ };
10
+ export declare const useWidths: ({ tabNavRef, tabListRef, fakeAddonRef, baseClassName, monospaced, childrenCount, }: UseWidthsOptions) => {
11
+ recalculateWidths: () => void;
12
+ monospacedWidth: number | undefined;
13
+ compact: boolean;
14
+ visibleLength: number;
15
+ };
16
+ export {};
@@ -4,4 +4,3 @@ export { default as ToolbarGroup } from './ToolbarGroup';
4
4
  export type { ToolbarGroupProps } from './ToolbarGroup';
5
5
  export { default as ToolbarExpander } from './ToolbarExpander';
6
6
  export type { ToolbarExpanderProps } from './ToolbarExpander';
7
- export { default as ToolbarBetaProvider } from './ToolbarBetaProvider';
@@ -154,7 +154,7 @@ export { default as Text } from './Text';
154
154
  export type { TextProps } from './Text';
155
155
  export { default as Toaster } from './Toaster';
156
156
  export type { ToasterProps } from './Toaster';
157
- export { default as Toolbar, ToolbarGroup, ToolbarExpander, ToolbarBetaProvider } from './Toolbar';
157
+ export { default as Toolbar, ToolbarGroup, ToolbarExpander } from './Toolbar';
158
158
  export type { ToolbarProps, ToolbarGroupProps, ToolbarExpanderProps } from './Toolbar';
159
159
  export { default as Tooltip } from './Tooltip';
160
160
  export type { TooltipProps } from './Tooltip';
@@ -1,2 +1,2 @@
1
1
  import { DataAttributes } from './DataAttributes';
2
- export type ComponentProps<Props, ExtendedProps = {}> = Props & Omit<ExtendedProps, keyof Props> & DataAttributes;
2
+ export type ComponentProps<Props, ExtendedProps = object> = Props & Omit<ExtendedProps, keyof Props> & DataAttributes;
@@ -3,9 +3,9 @@ type ComponentProp<C extends ElementType> = {
3
3
  component?: C;
4
4
  };
5
5
  type PropsToOmit<C extends ElementType, P> = keyof (ComponentProp<C> & P);
6
- export type PolymorphicComponentProps<C extends ElementType, Props = {}> = Props & ComponentProp<C> & Omit<ComponentPropsWithoutRef<C>, PropsToOmit<C, Props>>;
6
+ export type PolymorphicComponentProps<C extends ElementType, Props> = Props & ComponentProp<C> & Omit<ComponentPropsWithoutRef<C>, PropsToOmit<C, Props>>;
7
7
  type PolymorphicRef<C extends ElementType> = ComponentPropsWithRef<C>['ref'];
8
- export type PolymorphicComponentPropsWithRef<C extends ElementType, Props = {}> = PolymorphicComponentProps<C, Props> & {
8
+ export type PolymorphicComponentPropsWithRef<C extends ElementType, Props> = PolymorphicComponentProps<C, Props> & {
9
9
  ref?: PolymorphicRef<C>;
10
10
  };
11
11
  export {};
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useToolbarBetaContext = exports.default = void 0;
7
- var _react = require("react");
8
- var _jsxRuntime = require("react/jsx-runtime");
9
- // Copyright 1999-2025. WebPros International GmbH. All rights reserved.
10
-
11
- const ToolbarBetaContext = /*#__PURE__*/(0, _react.createContext)(false);
12
- const useToolbarBetaContext = () => (0, _react.useContext)(ToolbarBetaContext);
13
- exports.useToolbarBetaContext = useToolbarBetaContext;
14
- const ToolbarBetaProvider = _ref => {
15
- let {
16
- children
17
- } = _ref;
18
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(ToolbarBetaContext.Provider, {
19
- value: true,
20
- children: children
21
- });
22
- };
23
- var _default = exports.default = ToolbarBetaProvider;
@@ -1,16 +0,0 @@
1
- // Copyright 1999-2025. WebPros International GmbH. All rights reserved.
2
-
3
- import { createContext, useContext } from 'react';
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- const ToolbarBetaContext = /*#__PURE__*/createContext(false);
6
- export const useToolbarBetaContext = () => useContext(ToolbarBetaContext);
7
- const ToolbarBetaProvider = _ref => {
8
- let {
9
- children
10
- } = _ref;
11
- return /*#__PURE__*/_jsx(ToolbarBetaContext.Provider, {
12
- value: true,
13
- children: children
14
- });
15
- };
16
- export default ToolbarBetaProvider;