@snabcentr/vue-ui-lib 3.4.13 → 3.5.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.
@@ -2,7 +2,7 @@ import { IDebounced, IPlaceholder } from '../../properties';
2
2
  /**
3
3
  * Компонент числового поля ввода с устранением дребезга.
4
4
  */
5
- declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<import('../../properties').IValue<number | null | undefined> & import('../../properties').IClearable & IDebounced & IPlaceholder & {
5
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<import('../../properties').IValue<number | null> & import('../../properties').IClearable & IDebounced & IPlaceholder & {
6
6
  /**
7
7
  * Минимальное значение.
8
8
  */
@@ -19,13 +19,23 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
19
19
  * Функция валидации значений поля ввода.
20
20
  */
21
21
  validator?: ((value: number) => boolean) | undefined;
22
+ /**
23
+ * Функция парсинга строки в число (например, для замены запятой на точку).
24
+ */
25
+ parse?: (value: string) => number | null;
26
+ /**
27
+ * Показывать кнопки +/-.
28
+ */
29
+ showButton?: boolean;
22
30
  }, {
23
31
  focus: () => void | undefined;
24
32
  blur: () => void | undefined;
25
33
  select: () => void | undefined;
26
34
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
27
- "update:value": (value: number | null | undefined, ...additionalParams: any[]) => any;
28
- }, string, import('vue').PublicProps, Readonly<import('../../properties').IValue<number | null | undefined> & import('../../properties').IClearable & IDebounced & IPlaceholder & {
35
+ input: (inputEvent: Event) => any;
36
+ keydown: (keyboardEvent: KeyboardEvent) => any;
37
+ "update:value": (value: number | null, ...additionalParams: any[]) => any;
38
+ }, string, import('vue').PublicProps, Readonly<import('../../properties').IValue<number | null> & import('../../properties').IClearable & IDebounced & IPlaceholder & {
29
39
  /**
30
40
  * Минимальное значение.
31
41
  */
@@ -42,16 +52,28 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
42
52
  * Функция валидации значений поля ввода.
43
53
  */
44
54
  validator?: ((value: number) => boolean) | undefined;
55
+ /**
56
+ * Функция парсинга строки в число (например, для замены запятой на точку).
57
+ */
58
+ parse?: (value: string) => number | null;
59
+ /**
60
+ * Показывать кнопки +/-.
61
+ */
62
+ showButton?: boolean;
45
63
  }> & Readonly<{
46
- "onUpdate:value"?: ((value: number | null | undefined, ...additionalParams: any[]) => any) | undefined;
64
+ onInput?: ((inputEvent: Event) => any) | undefined;
65
+ onKeydown?: ((keyboardEvent: KeyboardEvent) => any) | undefined;
66
+ "onUpdate:value"?: ((value: number | null, ...additionalParams: any[]) => any) | undefined;
47
67
  }>, {
48
- value: number | null | undefined;
68
+ value: number | null;
49
69
  placeholder: string;
50
70
  clearable: boolean;
51
71
  validator: (value: number) => boolean;
52
72
  min: number;
53
73
  max: number;
54
74
  step: number;
75
+ showButton: boolean;
76
+ parse: (value: string) => number | null;
55
77
  debounceTime: number;
56
78
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
57
79
  inputReference: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
@@ -1,2 +1,3 @@
1
1
  export * from './content-helper';
2
+ export * from './input-helper';
2
3
  export * from './select-option-helper';
@@ -0,0 +1,31 @@
1
+ import { IFormValidationResult } from '@snabcentr/common-lib';
2
+ /**
3
+ * Обработчик события keydown для ограничения ввода только целыми числами.
4
+ * Разрешает ввод цифр 0-9 и основных управляющих клавиш.
5
+ *
6
+ * @param event Событие клавиатуры.
7
+ * @param allowNegative Разрешить ввод отрицательных чисел (по умолчанию false).
8
+ */
9
+ export declare const handleIntegerInput: (event: KeyboardEvent, allowNegative?: boolean) => void;
10
+ /**
11
+ * Обработчик события keydown для ограничения ввода числами с плавающей точкой.
12
+ * Разрешает ввод цифр, точки или запятой и основных управляющих клавиш.
13
+ *
14
+ * @param event Событие клавиатуры.
15
+ * @param decimalSeparator Разделитель дробной части (по умолчанию '.').
16
+ * @param allowNegative Разрешить ввод отрицательных чисел (по умолчанию false).
17
+ */
18
+ export declare const handleFloatInput: (event: KeyboardEvent, decimalSeparator?: "." | ",", allowNegative?: boolean) => void;
19
+ /**
20
+ * Парсит строку в число заменяя запятую на точку.
21
+ *
22
+ * @param value Строка для парсинга.
23
+ */
24
+ export declare const parse: (value: string | null) => number | null;
25
+ /**
26
+ * Сбрасывает результаты валидации поля.
27
+ *
28
+ * @param validation Результаты валидации.
29
+ * @param field Название поля для сброса.
30
+ */
31
+ export declare const resetInputValidation: (validation: IFormValidationResult, field: string) => void;
@@ -0,0 +1,41 @@
1
+ import { FormItemRule } from 'naive-ui';
2
+ /**
3
+ * Класс валидаторов числовых полей.
4
+ * Предоставляет статические методы для создания правил валидации форм.
5
+ */
6
+ export declare const NumericValidators: {
7
+ /**
8
+ * Требует, чтобы поле было заполнено.
9
+ */
10
+ required: FormItemRule;
11
+ /**
12
+ * Проверяет минимальное значение.
13
+ *
14
+ * @param min Минимальное значение.
15
+ */
16
+ min(min: number): FormItemRule;
17
+ /**
18
+ * Проверяет максимальное значение.
19
+ *
20
+ * @param max Максимальное значение.
21
+ */
22
+ max(max?: number): FormItemRule;
23
+ /**
24
+ * Проверяет кратность значения.
25
+ *
26
+ * @param step Шаг/кратность значения.
27
+ */
28
+ step(step: number): FormItemRule;
29
+ };
30
+ /**
31
+ * Класс валидаторов полей.
32
+ * Предоставляет статические методы для создания правил валидации полей форм.
33
+ */
34
+ export declare const Validators: {
35
+ /**
36
+ * Выводит сообщение об ошибке серверной валидации.
37
+ *
38
+ * @param serverValidation Сообщение об ошибке серверной валидации.
39
+ */
40
+ serverValidation(serverValidation?: string): FormItemRule;
41
+ };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "keywords": [],
5
5
  "author": "Sergey S. Smirnov <dev@snabcentr.com>",
6
6
  "type": "module",
7
- "version": "3.4.13",
7
+ "version": "3.5.1",
8
8
  "license": "ISC",
9
9
  "scripts": {
10
10
  "dev": "vite",