@plesk/ui-library 3.35.8 → 3.35.9

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 (79) hide show
  1. package/cjs/components/Action/Action.js +2 -2
  2. package/cjs/components/Card/Card.js +2 -2
  3. package/cjs/components/Card/helpers.js +1 -0
  4. package/cjs/components/CardList/CardList.js +2 -2
  5. package/cjs/components/CardList/CardListToolbar.js +2 -2
  6. package/cjs/components/CodeEditor/CodeEditor.js +25 -85
  7. package/cjs/components/CodeEditor/CodeMirror.js +1 -4
  8. package/cjs/components/Columns/Columns.js +2 -2
  9. package/cjs/components/ComboBox/ComboBox.js +2 -2
  10. package/cjs/components/ComboBoxDropdown/ComboBoxDropdown.js +2 -2
  11. package/cjs/components/ComboBoxDropdown/index.js +2 -2
  12. package/cjs/components/Dialog/Dialog.js +2 -2
  13. package/cjs/components/Drawer/DrawerProgress.js +2 -2
  14. package/cjs/components/Dropdown/index.js +2 -2
  15. package/cjs/components/Figure/index.js +2 -2
  16. package/cjs/components/Form/Form.js +2 -2
  17. package/cjs/components/Form/index.js +2 -2
  18. package/cjs/components/FormField/FormField.js +47 -167
  19. package/cjs/components/FormField/index.js +2 -2
  20. package/cjs/components/FormFieldPassword/PasswordMeter.js +2 -2
  21. package/cjs/components/FormFieldRadioButtons/FormFieldRadioButtons.js +2 -2
  22. package/cjs/components/Heading/Heading.js +2 -2
  23. package/cjs/components/Icon/index.js +2 -2
  24. package/cjs/components/Icon/utils.js +2 -2
  25. package/cjs/components/Item/Item.js +2 -2
  26. package/cjs/components/ItemList/ItemList.js +3 -3
  27. package/cjs/components/Layer/index.js +2 -2
  28. package/cjs/components/List/List.js +5 -2
  29. package/cjs/components/LocaleProvider/index.js +2 -2
  30. package/cjs/components/Media/Media.js +2 -2
  31. package/cjs/components/Menu/MenuBaseItem.js +2 -2
  32. package/cjs/components/Pagination/index.js +2 -2
  33. package/cjs/components/Popper/index.js +2 -2
  34. package/cjs/components/ProgressStep/ProgressStep.js +2 -2
  35. package/cjs/components/ProgressStep/index.js +2 -2
  36. package/cjs/components/Section/Section.js +2 -2
  37. package/cjs/components/Section/index.js +2 -2
  38. package/cjs/components/SegmentedControl/SegmentedControl.js +2 -2
  39. package/cjs/components/SegmentedControl/index.js +2 -2
  40. package/cjs/components/Select/Select.js +2 -2
  41. package/cjs/components/SplitButton/index.js +2 -2
  42. package/cjs/components/Subnav/index.js +2 -2
  43. package/cjs/components/Tabs/SearchBar.js +2 -2
  44. package/cjs/components/Tabs/Tabs.js +2 -2
  45. package/cjs/components/Toast/index.js +2 -2
  46. package/cjs/components/Toolbar/Toolbar.js +2 -2
  47. package/cjs/components/Toolbar/ToolbarGroup.js +2 -2
  48. package/cjs/components/Toolbar/ToolbarMenu.js +2 -2
  49. package/cjs/components/VerticalContext/index.js +2 -2
  50. package/cjs/components/index.js +2 -2
  51. package/cjs/index.js +1 -1
  52. package/dist/plesk-ui-library-rtl.css +1 -1
  53. package/dist/plesk-ui-library-rtl.css.map +1 -1
  54. package/dist/plesk-ui-library.css +1 -1
  55. package/dist/plesk-ui-library.css.map +1 -1
  56. package/dist/plesk-ui-library.js +202 -381
  57. package/dist/plesk-ui-library.js.map +1 -1
  58. package/dist/plesk-ui-library.min.js +6 -6
  59. package/dist/plesk-ui-library.min.js.map +1 -1
  60. package/esm/components/Card/helpers.js +1 -0
  61. package/esm/components/CodeEditor/CodeEditor.js +23 -83
  62. package/esm/components/CodeEditor/CodeMirror.js +0 -3
  63. package/esm/components/FormField/FormField.js +48 -167
  64. package/esm/components/ItemList/ItemList.js +1 -1
  65. package/esm/components/List/List.js +3 -0
  66. package/esm/index.js +1 -1
  67. package/package.json +21 -19
  68. package/styleguide/build/bundle.6dff330b.js +2 -0
  69. package/styleguide/index.html +2 -2
  70. package/types/src/components/CodeEditor/CodeEditor.d.ts +188 -0
  71. package/types/src/components/CodeEditor/CodeMirror.d.ts +9 -0
  72. package/types/src/components/CodeEditor/index.d.ts +2 -0
  73. package/types/src/components/FormField/FormField.d.ts +158 -0
  74. package/types/src/components/FormField/index.d.ts +3 -0
  75. package/types/src/components/FormFieldSelect/FormFieldSelect.d.ts +1 -1
  76. package/types/src/components/ItemList/ItemList.d.ts +3 -3
  77. package/types/src/components/index.d.ts +2 -0
  78. package/styleguide/build/bundle.50841a29.js +0 -2
  79. /package/styleguide/build/{bundle.50841a29.js.LICENSE.txt → bundle.6dff330b.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.35.8</title>
7
+ <title>Plesk UI Library 3.35.9</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.50841a29.js"></script>
29
+ <script src="build/bundle.6dff330b.js"></script>
30
30
  </body>
31
31
  </html>
@@ -0,0 +1,188 @@
1
+ import { Component } from 'react';
2
+ import CM, { Editor, EditorChange, EditorConfiguration, ModeSpec, ModeSpecOptions, ScrollInfo } from 'codemirror';
3
+ import './CodeEditor.less';
4
+ type ExtendedEditorConfiguration = EditorConfiguration & {
5
+ enterMode?: string;
6
+ tabMode?: string;
7
+ };
8
+ export interface CodeEditorProps {
9
+ /**
10
+ * The mode to use. When not given, this will default to the first mode that was loaded.
11
+ * @since 0.0.61
12
+ */
13
+ mode?: string | ModeSpec<ModeSpecOptions> | null;
14
+ /**
15
+ * CodeEditor can detect mode by file name. Will be ignored if you set mode property.
16
+ * @since 0.0.61
17
+ */
18
+ fileName?: string;
19
+ /**
20
+ * Content of the `CodeEditor`.
21
+ * @since 0.0.61
22
+ */
23
+ children?: string;
24
+ /**
25
+ * Set read only.
26
+ * @since 0.0.61
27
+ */
28
+ readOnly?: boolean | string;
29
+ /**
30
+ * Set autofocus.
31
+ * @since 0.0.61
32
+ */
33
+ autofocus?: boolean;
34
+ /**
35
+ * onInit event handler.
36
+ * @since 0.0.61
37
+ */
38
+ onInit?: (el: HTMLElement) => void;
39
+ /**
40
+ * onChange event handler.
41
+ * @since 0.0.61
42
+ */
43
+ onChange?: (content: string) => void;
44
+ /**
45
+ * onSave event handler.
46
+ * @since 0.0.61
47
+ */
48
+ onSave?: () => void;
49
+ /**
50
+ * See all supported options in [CodeMirror](https://codemirror.net/doc/manual.html#config) documentation.
51
+ * @since 0.0.61
52
+ */
53
+ options?: ExtendedEditorConfiguration;
54
+ /**
55
+ * Set scroll position.
56
+ * @since 1.12.4
57
+ */
58
+ scrollPosition?: {
59
+ top: number;
60
+ left: number;
61
+ };
62
+ /**
63
+ * onScroll event handler.
64
+ * @since 1.12.4
65
+ */
66
+ onScroll?: (scrollInfo: ScrollInfo) => void;
67
+ /**
68
+ * @ignore
69
+ */
70
+ className?: string;
71
+ /**
72
+ * @ignore
73
+ */
74
+ baseClassName?: string;
75
+ }
76
+ type CodeEditorState = {
77
+ lineSeparator: string;
78
+ content?: string;
79
+ options: ExtendedEditorConfiguration;
80
+ };
81
+ /**
82
+ * `CodeEditor` component is used for editing text as code with proper color highlighting according to selected programming language.
83
+ * @since 0.0.61
84
+ */
85
+ declare class CodeEditor extends Component<CodeEditorProps, CodeEditorState> {
86
+ static defaultProps: {
87
+ mode: string;
88
+ fileName: string;
89
+ children: string;
90
+ readOnly: boolean;
91
+ autofocus: boolean;
92
+ onInit: null;
93
+ onChange: null;
94
+ onSave: null;
95
+ options: null;
96
+ className: null;
97
+ baseClassName: string;
98
+ scrollPosition: undefined;
99
+ onScroll: undefined;
100
+ };
101
+ state: CodeEditorState;
102
+ static getDerivedStateFromProps({ readOnly, autofocus, options }: CodeEditorProps, state: CodeEditorState): {
103
+ options: {
104
+ autofocus: boolean | undefined;
105
+ readOnly: string | boolean | undefined;
106
+ value?: string | CM.Doc | undefined;
107
+ mode?: string | CM.ModeSpec<CM.ModeSpecOptions> | undefined;
108
+ lineSeparator?: string | null | undefined;
109
+ theme?: string | undefined;
110
+ indentUnit?: number | undefined;
111
+ smartIndent?: boolean | undefined;
112
+ tabSize?: number | undefined;
113
+ indentWithTabs?: boolean | undefined;
114
+ electricChars?: boolean | undefined;
115
+ specialChars?: RegExp | undefined;
116
+ specialCharPlaceholder?: ((char: string) => HTMLElement) | undefined;
117
+ direction?: "ltr" | "rtl" | undefined;
118
+ rtlMoveVisually?: boolean | undefined;
119
+ keyMap?: string | undefined;
120
+ extraKeys?: string | CM.KeyMap | undefined;
121
+ configureMouse?: ((cm: CM.Editor, repeat: "double" | "single" | "triple", event: Event) => CM.MouseSelectionConfiguration) | undefined;
122
+ lineWrapping?: boolean | undefined;
123
+ lineNumbers?: boolean | undefined;
124
+ firstLineNumber?: number | undefined;
125
+ lineNumberFormatter?: ((line: number) => string) | undefined;
126
+ gutters?: (string | {
127
+ className: string;
128
+ style?: string | undefined;
129
+ })[] | undefined;
130
+ fixedGutter?: boolean | undefined;
131
+ scrollbarStyle?: keyof CM.ScrollbarModels | undefined;
132
+ coverGutterNextToScrollbar?: boolean | undefined;
133
+ inputStyle?: CM.InputStyle | undefined;
134
+ screenReaderLabel?: string | undefined;
135
+ showCursorWhenSelecting?: boolean | undefined;
136
+ lineWiseCopyCut?: boolean | undefined;
137
+ pasteLinesPerSelection?: boolean | undefined;
138
+ selectionsMayTouch?: boolean | undefined;
139
+ undoDepth?: number | undefined;
140
+ historyEventDelay?: number | undefined;
141
+ tabindex?: number | undefined;
142
+ phrases?: {
143
+ [s: string]: unknown;
144
+ } | undefined;
145
+ dragDrop?: boolean | undefined;
146
+ allowDropFileTypes?: string[] | null | undefined;
147
+ onDragEvent?: ((instance: CM.Editor, event: DragEvent) => boolean) | undefined;
148
+ onKeyEvent?: ((instance: CM.Editor, event: KeyboardEvent) => boolean) | undefined;
149
+ cursorBlinkRate?: number | undefined;
150
+ cursorScrollMargin?: number | undefined;
151
+ cursorHeight?: number | undefined;
152
+ resetSelectionOnContextMenu?: boolean | undefined;
153
+ workTime?: number | undefined;
154
+ workDelay?: number | undefined;
155
+ pollInterval?: number | undefined;
156
+ flattenSpans?: boolean | undefined;
157
+ addModeClass?: boolean | undefined;
158
+ maxHighlightLength?: number | undefined;
159
+ viewportMargin?: number | undefined;
160
+ spellcheck?: boolean | undefined;
161
+ autocorrect?: boolean | undefined;
162
+ autocapitalize?: boolean | undefined;
163
+ matchBrackets?: boolean | CM.MatchBrackets | undefined;
164
+ matchTags?: boolean | CM.MatchTags | undefined;
165
+ search?: {
166
+ bottom: boolean;
167
+ } | undefined;
168
+ autoRefresh?: boolean | {
169
+ delay: number;
170
+ } | undefined;
171
+ enterMode?: string | undefined;
172
+ tabMode?: string | undefined;
173
+ };
174
+ };
175
+ componentDidMount(): void;
176
+ componentDidUpdate(prevProps: CodeEditorProps): void;
177
+ componentWillUnmount(): void;
178
+ private readonly textareaNode;
179
+ private CodeMirror?;
180
+ private codeMirror?;
181
+ handleScroll: () => void;
182
+ findModeByFileName(fileName: string): string | null;
183
+ updateMode({ mode, fileName }: Pick<CodeEditorProps, 'mode' | 'fileName'>): void;
184
+ getLineSeparator(content?: string): string;
185
+ handleChange: (doc: Editor, changes: EditorChange) => void;
186
+ render(): import("react/jsx-runtime").JSX.Element;
187
+ }
188
+ export default CodeEditor;
@@ -0,0 +1,9 @@
1
+ import CodeMirror from 'codemirror';
2
+ import 'codemirror/addon/edit/matchbrackets';
3
+ import 'codemirror/addon/edit/matchtags';
4
+ import 'codemirror/mode/meta';
5
+ import 'codemirror/addon/dialog/dialog.js';
6
+ import 'codemirror/addon/search/searchcursor.js';
7
+ import 'codemirror/addon/search/search.js';
8
+ import 'codemirror/addon/display/autorefresh';
9
+ export { CodeMirror };
@@ -0,0 +1,2 @@
1
+ export { default } from './CodeEditor';
2
+ export type { CodeEditorProps } from './CodeEditor';
@@ -0,0 +1,158 @@
1
+ import { ReactNode } from 'react';
2
+ import type { FormContextProps, FormErrors, FormValues } from '../Form/types';
3
+ import './FormField.less';
4
+ export declare const BASE_FORM_FIELD_CLASS_NAME: string;
5
+ export type FormFieldApi = {
6
+ getValues: () => Readonly<FormValues> | null | undefined;
7
+ getId: () => string | undefined;
8
+ getName: () => string | undefined;
9
+ getValue: <T>(def?: T) => any | T;
10
+ setValue: (value: any) => void;
11
+ isDisabled: () => boolean;
12
+ getFullDescription: () => ReactNode;
13
+ getRequiredMark: () => ReactNode;
14
+ getErrors: () => FormErrors | undefined;
15
+ getSeparator?: () => ReactNode;
16
+ };
17
+ export interface FormFieldProps {
18
+ /**
19
+ * Field name.
20
+ * @since 0.0.54
21
+ */
22
+ name?: string;
23
+ /**
24
+ * Field ID.
25
+ * @since 0.0.59
26
+ */
27
+ id?: string;
28
+ /**
29
+ * Field value.
30
+ * @deprecated Use [Form](#!/Form) values.
31
+ * @since 0.0.57
32
+ */
33
+ value?: any;
34
+ /**
35
+ * A callback function, can be executed when the value is changing.
36
+ * @since 0.4.1
37
+ */
38
+ onChange?: (value: any) => void;
39
+ /**
40
+ * Field label.
41
+ * @since 0.0.54
42
+ */
43
+ label?: ReactNode;
44
+ /**
45
+ * Field description.
46
+ * @since 0.0.57
47
+ */
48
+ description?: ReactNode;
49
+ /**
50
+ * Show long descriptions in popover after clicking on "( i )" icon
51
+ * @since 3.14.0
52
+ */
53
+ fullDescription?: ReactNode;
54
+ /**
55
+ * Field errors.
56
+ * @deprecated Use [Form](#!/Form) errors.
57
+ * @since 0.0.57
58
+ */
59
+ errors?: FormErrors;
60
+ /**
61
+ * Indicates whether field is required.
62
+ * @since 0.0.54
63
+ */
64
+ required?: boolean;
65
+ /**
66
+ * Content of the `FormField`.
67
+ * @since 0.0.54
68
+ */
69
+ children?: ((props: FormFieldApi) => ReactNode) | ReactNode;
70
+ /**
71
+ * If 'true', a field will be multiple. You can also limit the number of fields with a value like { max: 5 }.
72
+ * @since 1.12.0
73
+ */
74
+ multi?: boolean | {
75
+ max: number;
76
+ };
77
+ /**
78
+ * @ignore Disabled state of multiple field.
79
+ */
80
+ disabled?: boolean;
81
+ /**
82
+ * Localization messages
83
+ * @since 1.12.0
84
+ */
85
+ locale?: {
86
+ addMode: ReactNode;
87
+ remove: ReactNode;
88
+ };
89
+ /**
90
+ * Callback which called for all values. If it returns 'true' a pseudo-link 'Add more' will be disabled
91
+ * @ignore
92
+ * @deprecated
93
+ */
94
+ addMoreValidator?: () => void;
95
+ /**
96
+ * A callback function, can be executed when the row is removed.
97
+ * @since 1.12.0
98
+ */
99
+ onRemoveRow?: (index: number) => void;
100
+ /**
101
+ * @ignore
102
+ */
103
+ className?: string;
104
+ /**
105
+ * @ignore
106
+ */
107
+ baseClassName?: string;
108
+ /**
109
+ * @ignore
110
+ */
111
+ form?: FormContextProps;
112
+ /**
113
+ * Vertical or horizontal field view.
114
+ * If it is not defined explicitly, the vertical mode will use from Form or Section components.
115
+ * @since 3.13.0
116
+ */
117
+ vertical?: boolean;
118
+ /**
119
+ * @ignore
120
+ */
121
+ scrollableElement?: HTMLElement | null;
122
+ }
123
+ /**
124
+ * `FormField` component is used for showing of parameter values in Form or
125
+ * for entering of user data with any form elements.
126
+ *
127
+ * For the most cases the following form elements can be used:
128
+ * * [FormFieldText](#!/FormFieldText) for entering text,
129
+ * * [FormFieldSelect](#!/FormFieldSelect), [FormFieldCheckbox](#!/FormFieldCheckbox),
130
+ * [FormFieldRadioButtons](#!/FormFieldRadioButtons) for selecting options.
131
+ */
132
+ declare const FormFieldWrapper: {
133
+ (props: FormFieldProps): import("react/jsx-runtime").JSX.Element;
134
+ displayName: string;
135
+ defaultProps: {
136
+ id: undefined;
137
+ name: undefined;
138
+ value: undefined;
139
+ onChange: null;
140
+ label: undefined;
141
+ description: undefined;
142
+ errors: {};
143
+ required: boolean;
144
+ children: undefined;
145
+ multi: undefined;
146
+ disabled: undefined;
147
+ locale: undefined;
148
+ addMoreValidator: undefined;
149
+ onRemoveRow: null;
150
+ fullDescription: undefined;
151
+ className: undefined;
152
+ baseClassName: string;
153
+ form: undefined;
154
+ vertical: undefined;
155
+ scrollableElement: undefined;
156
+ };
157
+ };
158
+ export default FormFieldWrapper;
@@ -0,0 +1,3 @@
1
+ export { default } from './FormField';
2
+ export { BASE_FORM_FIELD_CLASS_NAME } from './FormField';
3
+ export type { FormFieldProps, FormFieldApi } from './FormField';
@@ -2,7 +2,7 @@ import { FunctionComponent, ComponentProps } from 'react';
2
2
  import Select from '../Select';
3
3
  import './FormFieldSelect.less';
4
4
  type SelectProps = ComponentProps<typeof Select>;
5
- export type FormFieldSelectProps = Omit<SelectProps, 'value' | 'defaultValue' | 'onChange'>;
5
+ export type FormFieldSelectProps = Omit<SelectProps, 'value' | 'defaultValue' | 'onChange' | 'form'>;
6
6
  /**
7
7
  * `FormFieldSelect` componentis is used for making a choice among a set of related options.
8
8
  * See description of `Select` for [the full list of properties](#!/Select) of this component.
@@ -1,5 +1,5 @@
1
- import { Component, ComponentProps, ReactElement, MouseEvent, ReactNode } from 'react';
2
- import Grid from '../Grid';
1
+ import { GridProps } from '../Grid';
2
+ import { Component, ReactElement, MouseEvent, ReactNode } from 'react';
3
3
  import '../Item/Item.less';
4
4
  import './ItemList.less';
5
5
  type ItemValue = string | number;
@@ -73,7 +73,7 @@ type ItemListProps = {
73
73
  * @ignore
74
74
  */
75
75
  baseClassName?: string;
76
- } & Pick<ComponentProps<typeof Grid>, 'gap'>;
76
+ } & Omit<GridProps, 'children'>;
77
77
  type ItemListState = {
78
78
  ReorderableGrid: null | any;
79
79
  ReorderableGridCol: null | any;
@@ -15,6 +15,7 @@ export type { CarouselProps } from './Carousel';
15
15
  export { default as Checkbox } from './Checkbox';
16
16
  export { default as Radio } from './Radio';
17
17
  export { default as CodeEditor } from './CodeEditor';
18
+ export type { CodeEditorProps } from './CodeEditor';
18
19
  export { default as Columns, Column } from './Columns';
19
20
  export type { ColumnsProps, ColumnProps } from './Columns';
20
21
  export { default as ComboBox } from './ComboBox';
@@ -38,6 +39,7 @@ export { default as Form } from './Form';
38
39
  export type { FormProps, FormValues, FormInstanceHandles } from './Form';
39
40
  export * from './Form';
40
41
  export { default as FormField } from './FormField';
42
+ export type { FormFieldProps, FormFieldApi } from './FormField';
41
43
  export { default as FormFieldCheckbox } from './FormFieldCheckbox';
42
44
  export type { FormFieldCheckboxProps } from './FormFieldCheckbox';
43
45
  export { default as FormFieldPassword } from './FormFieldPassword';