@snabcentr/vue-ui-lib 4.25.0 → 4.25.3

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.
@@ -1,4 +1,4 @@
1
- import { OrderItem } from '@snabcentr/common-lib';
1
+ import { OrderItemBase } from '@snabcentr/common-lib';
2
2
  /**
3
3
  * Компонент отображения наименования позиции заказа в таблице.
4
4
  */
@@ -6,11 +6,30 @@ declare const _default: import('vue').DefineComponent<{
6
6
  /**
7
7
  * Данные о позиции заказа.
8
8
  */
9
- item: OrderItem<undefined, string | number>;
9
+ item: OrderItemBase<undefined, string | number>;
10
+ /**
11
+ * Признак отображения артикула товара.
12
+ */
13
+ showCode?: boolean;
14
+ /**
15
+ * Признак неактивной позиции. Если не задан, позиция считается неактивной, когда она удалена или заменена другой.
16
+ */
17
+ inactive?: boolean;
10
18
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
11
19
  /**
12
20
  * Данные о позиции заказа.
13
21
  */
14
- item: OrderItem<undefined, string | number>;
15
- }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
22
+ item: OrderItemBase<undefined, string | number>;
23
+ /**
24
+ * Признак отображения артикула товара.
25
+ */
26
+ showCode?: boolean;
27
+ /**
28
+ * Признак неактивной позиции. Если не задан, позиция считается неактивной, когда она удалена или заменена другой.
29
+ */
30
+ inactive?: boolean;
31
+ }> & Readonly<{}>, {
32
+ showCode: boolean;
33
+ inactive: boolean;
34
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
16
35
  export default _default;
@@ -26,6 +26,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
26
26
  * по завершении ввода, и на каждый введённый символ запрос не уходит.
27
27
  */
28
28
  updateQuantityOnInput?: boolean;
29
+ /**
30
+ * Признак неактивной позиции (удалённой или заменённой): такая позиция приглушается и зачёркивается.
31
+ */
32
+ inactive?: boolean;
29
33
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
30
34
  /**
31
35
  * Данные о продукте в заказе.
@@ -48,8 +52,13 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
48
52
  * по завершении ввода, и на каждый введённый символ запрос не уходит.
49
53
  */
50
54
  updateQuantityOnInput?: boolean;
55
+ /**
56
+ * Признак неактивной позиции (удалённой или заменённой): такая позиция приглушается и зачёркивается.
57
+ */
58
+ inactive?: boolean;
51
59
  }> & Readonly<{}>, {
52
60
  eventEmitter: Emitter<IOrderEmits>;
61
+ inactive: boolean;
53
62
  allowEdit: boolean;
54
63
  updateQuantityOnInput: boolean;
55
64
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>, {
@@ -3,6 +3,7 @@ export * from './content-helper';
3
3
  export * from './file-helper';
4
4
  export * from './entity-name-helper';
5
5
  export * from './input-helper';
6
+ export * from './number-helper';
6
7
  export * from './pagination-items-prefix';
7
8
  export * from './select-option-helper';
8
9
  export * from './validators';
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Класс-помощник для работы с дробными числами: округление с учётом погрешности дробной арифметики и форматирование сумм.
3
+ */
4
+ export declare class NumberHelper {
5
+ /**
6
+ * Количество знаков после запятой в денежных суммах.
7
+ */
8
+ static readonly moneyFractionDigits = 2;
9
+ /**
10
+ * Количество знаков после запятой в процентах изменения цены.
11
+ */
12
+ static readonly percentFractionDigits = 5;
13
+ /**
14
+ * Наибольшее количество знаков после запятой в проценте на экране.
15
+ */
16
+ static readonly percentDisplayFractionDigits = 2;
17
+ /**
18
+ * Наибольшее количество знаков после запятой в площади, м².
19
+ */
20
+ static readonly areaFractionDigits = 4;
21
+ /**
22
+ * Количество знаков после запятой в географических координатах.
23
+ */
24
+ static readonly coordinateFractionDigits = 6;
25
+ /**
26
+ * Количество значащих цифр, до которого обрезается погрешность дробной арифметики.
27
+ */
28
+ static readonly significantDigits = 12;
29
+ /**
30
+ * Допустимая погрешность сравнения дробных чисел.
31
+ */
32
+ static readonly epsilon = 0.000001;
33
+ /**
34
+ * Форматтер денежных сумм.
35
+ */
36
+ private static readonly moneyFormatter;
37
+ /**
38
+ * Форматтер площади.
39
+ */
40
+ private static readonly areaFormatter;
41
+ /**
42
+ * Возвращает количество знаков после запятой в указанном числе.
43
+ *
44
+ * @param value Число, для которого нужно определить количество знаков после запятой.
45
+ */
46
+ static getDecimalsCount(value: number): number;
47
+ /**
48
+ * Возвращает число без погрешности дробной арифметики: 2.9999999999999996 превращается в 3, 0.30000000000000004 в 0.3.
49
+ *
50
+ * @param value Число с возможной погрешностью.
51
+ */
52
+ static normalize(value: number): number;
53
+ /**
54
+ * Возвращает произведение значения на шаг, округлённое до точности шага. Убирает погрешность дробной арифметики.
55
+ *
56
+ * @param value Множитель, обычно количество.
57
+ * @param step Шаг с нужной точностью, например длина одного отрезка.
58
+ */
59
+ static multiplyByStep(value: number, step: number): number;
60
+ /**
61
+ * Возвращает частное от деления значения на шаг без погрешности дробной арифметики.
62
+ *
63
+ * @param value Делимое, обычно длина.
64
+ * @param step Шаг.
65
+ */
66
+ static divideByStep(value: number, step: number): number;
67
+ /**
68
+ * Возвращает признак того, что значение кратно шагу с учётом погрешности дробной арифметики.
69
+ *
70
+ * @param value Значение.
71
+ * @param step Шаг.
72
+ */
73
+ static isMultipleOf(value: number, step: number): boolean;
74
+ /**
75
+ * Возвращает признак того, что первое число меньше второго или равно ему с учётом погрешности дробной арифметики.
76
+ *
77
+ * @param value Первое число.
78
+ * @param other Второе число.
79
+ */
80
+ static isLessOrEqual(value: number, other: number): boolean;
81
+ /**
82
+ * Возвращает географическую координату, округлённую до точности хранения.
83
+ *
84
+ * @param value Координата.
85
+ */
86
+ static roundCoordinate(value: number): number;
87
+ /**
88
+ * Возвращает денежную сумму, округлённую до копеек.
89
+ *
90
+ * @param value Денежная сумма.
91
+ */
92
+ static roundMoney(value: number): number;
93
+ /**
94
+ * Возвращает денежную сумму, округлённую до копеек в меньшую сторону.
95
+ *
96
+ * @param value Денежная сумма.
97
+ */
98
+ static floorMoney(value: number): number;
99
+ /**
100
+ * Возвращает процент, округлённый до указанного количества знаков после запятой.
101
+ *
102
+ * @param value Процент.
103
+ * @param fractionDigits Количество знаков после запятой, по умолчанию {@link NumberHelper.percentFractionDigits}.
104
+ */
105
+ static roundPercent(value: number, fractionDigits?: number): number;
106
+ /**
107
+ * Возвращает денежную сумму в виде строки с разделителями разрядов и не менее чем двумя знаками после запятой.
108
+ *
109
+ * @param value Денежная сумма.
110
+ * @param precision Точность валюты суммы, если она больше двух знаков после запятой.
111
+ */
112
+ static formatMoney(value: number, precision?: number): string;
113
+ /**
114
+ * Возвращает процент в виде строки с запятой и не более чем указанным количеством знаков после запятой, без незначащих нулей.
115
+ *
116
+ * @param value Процент.
117
+ * @param fractionDigits Наибольшее количество знаков после запятой, по умолчанию {@link NumberHelper.percentDisplayFractionDigits}.
118
+ */
119
+ static formatPercent(value: number, fractionDigits?: number): string;
120
+ /**
121
+ * Возвращает площадь в виде строки с разделителями разрядов и не более чем четырьмя знаками после запятой.
122
+ *
123
+ * @param value Площадь, м².
124
+ */
125
+ static formatArea(value: number): string;
126
+ }
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": "4.25.0",
7
+ "version": "4.25.3",
8
8
  "license": "ISC",
9
9
  "scripts": {
10
10
  "dev": "vite",