fui-material 2.1.14 → 2.2.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.
- package/dist/f-ui-kit.es.js +62 -32
- package/dist/f-ui-kit.es.js.map +1 -1
- package/dist/types/function-elements/fBankRound/fBankRound.d.ts +16 -0
- package/dist/types/function-elements/fBankRound/index.d.ts +1 -0
- package/dist/types/function-elements/fFormatRuNumber/fFormatRuNumber.d.ts +29 -0
- package/dist/types/function-elements/fFormatRuNumber/index.d.ts +1 -0
- package/dist/types/function-elements/index.d.ts +2 -0
- package/dist/types/material/FCheckbox/FCheckbox.d.ts +0 -5
- package/dist/types/material/FRadioButton/FRadioButton.d.ts +9 -29
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Выполняет банковское округление числа (округление к ближайшему чётному).
|
|
3
|
+
* Используется для избежания накопления погрешности при арифметических операциях.
|
|
4
|
+
*
|
|
5
|
+
* @param {number} value - Число, которое нужно округлить
|
|
6
|
+
* @param {number} [decimalPlaces=2] - Количество знаков после запятой, до которых округлять
|
|
7
|
+
* @returns {number} Округлённое число по правилам банковского округления
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* fBankRound(12.345, 2); // 12.34 (округление к ближайшему чётному)
|
|
11
|
+
* fBankRound(12.355, 2); // 12.36
|
|
12
|
+
* fBankRound(12.995, 2); // 12.99 (если последняя цифра чётная)
|
|
13
|
+
* fBankRound(12.985, 2); // 12.98
|
|
14
|
+
*/
|
|
15
|
+
declare function fBankRound(value: number, decimalPlaces?: number): number;
|
|
16
|
+
export default fBankRound;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./fBankRound";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Форматирует число в строку с русской локализацией (разделение тысяч, дробная часть и т.д.)
|
|
3
|
+
* Может использовать банковское округление перед форматированием.
|
|
4
|
+
*
|
|
5
|
+
* @param {number} a - Число для форматирования
|
|
6
|
+
* @param {Object} [options] - Опциональные параметры
|
|
7
|
+
* @param {number} [options.maximumFractionDigits] - Максимальное количество знаков после запятой
|
|
8
|
+
* @param {number} [options.minimumFractionDigits] - Минимальное количество знаков после запятой
|
|
9
|
+
* @param {boolean} [options.useBankRound=false] - Использовать ли банковское округление
|
|
10
|
+
* @param {number} [options.bankRoundDecimalPlaces=2] - Количество знаков после запятой для банковского округления
|
|
11
|
+
* @returns {string} Отформатированная строка числа
|
|
12
|
+
*
|
|
13
|
+
* @description
|
|
14
|
+
* Функция сначала проверяет валидность входного числа, затем при необходимости
|
|
15
|
+
* применяет банковское округление, после чего форматирует результат
|
|
16
|
+
* с использованием русской локали и возвращает строку.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* fFormatRuNumber(1234.567); // "1 234,567"
|
|
20
|
+
* fFormatRuNumber(1234.567, { useBankRound: true }); // "1 234,57"
|
|
21
|
+
* fFormatRuNumber(1234.567, { maximumFractionDigits: 2 }); // "1 234,57"
|
|
22
|
+
*/
|
|
23
|
+
declare const fFormatRuNumber: (a: number, options?: {
|
|
24
|
+
maximumFractionDigits?: number;
|
|
25
|
+
minimumFractionDigits?: number;
|
|
26
|
+
useBankRound?: boolean;
|
|
27
|
+
bankRoundDecimalPlaces?: number;
|
|
28
|
+
}) => string;
|
|
29
|
+
export default fFormatRuNumber;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./fFormatRuNumber";
|
|
@@ -11,3 +11,5 @@ export { default as fNotificationDelete } from "./Notification/fNotificationDele
|
|
|
11
11
|
export { default as fConvertFileToBase64 } from "./fConvertFileToBase64";
|
|
12
12
|
export { default as fDownloadFileFromBase64 } from "./fDownloadFileFromBase64";
|
|
13
13
|
export { default as fDownloadBlobFile } from "./fDownloadBlobFile";
|
|
14
|
+
export { default as fBankRound } from "./fBankRound";
|
|
15
|
+
export { default as fFormatRuNumber } from "./fFormatRuNumber";
|
|
@@ -15,11 +15,6 @@ export interface IFCheckbox extends React.InputHTMLAttributes<HTMLInputElement>
|
|
|
15
15
|
* @type {string}
|
|
16
16
|
*/
|
|
17
17
|
className?: string;
|
|
18
|
-
/**
|
|
19
|
-
* Уникальный идентификатор элемента.
|
|
20
|
-
* @type {string}
|
|
21
|
-
*/
|
|
22
|
-
id?: string;
|
|
23
18
|
/**
|
|
24
19
|
* Инлайновые стили для контейнера.
|
|
25
20
|
* @type {React.CSSProperties | undefined}
|
|
@@ -1,45 +1,25 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
1
|
/**
|
|
3
2
|
* Интерфейс пропсов для компонента FRadioButton.
|
|
4
3
|
*
|
|
5
4
|
* @interface IFRadioButton
|
|
5
|
+
* @extends {React.InputHTMLAttributes<HTMLInputElement>}
|
|
6
6
|
*/
|
|
7
|
-
export interface IFRadioButton {
|
|
7
|
+
export interface IFRadioButton extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
8
8
|
/**
|
|
9
9
|
* Дочерний элемент, отображается рядом с радио-кнопкой (например, текст или иконка).
|
|
10
|
-
* @type {React.ReactNode}
|
|
10
|
+
* @type {React.ReactElement | React.ReactNode}
|
|
11
11
|
*/
|
|
12
|
-
label?: React.ReactNode;
|
|
13
|
-
/**
|
|
14
|
-
* Обработчик клика на радио-кнопку.
|
|
15
|
-
* @type {React.MouseEventHandler<HTMLInputElement> | undefined}
|
|
16
|
-
*/
|
|
17
|
-
onClick?: React.MouseEventHandler<HTMLInputElement>;
|
|
12
|
+
label?: React.ReactElement | React.ReactNode;
|
|
18
13
|
/**
|
|
19
14
|
* Дополнительный CSS-класс для внешнего контейнера.
|
|
20
|
-
* @type {string
|
|
15
|
+
* @type {string}
|
|
21
16
|
*/
|
|
22
17
|
className?: string;
|
|
23
|
-
/**
|
|
24
|
-
* Уникальный идентификатор элемента.
|
|
25
|
-
* @type {string | undefined}
|
|
26
|
-
*/
|
|
27
|
-
id?: string;
|
|
28
18
|
/**
|
|
29
19
|
* Инлайновые стили для контейнера.
|
|
30
20
|
* @type {React.CSSProperties | undefined}
|
|
31
21
|
*/
|
|
32
22
|
st?: React.CSSProperties;
|
|
33
|
-
/**
|
|
34
|
-
* Флаг, указывающий, выбрана ли кнопка.
|
|
35
|
-
* @type {boolean | undefined}
|
|
36
|
-
*/
|
|
37
|
-
checked?: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Флаг, указывающий, заблокирована ли кнопка.
|
|
40
|
-
* @type {boolean}
|
|
41
|
-
*/
|
|
42
|
-
disabled?: boolean;
|
|
43
23
|
}
|
|
44
24
|
/**
|
|
45
25
|
* Компонент `FRadioButton` — кастомная радио-кнопка с поддержкой:
|
|
@@ -47,12 +27,14 @@ export interface IFRadioButton {
|
|
|
47
27
|
* - метки (label)
|
|
48
28
|
* - инлайновых стилей
|
|
49
29
|
* - темизации через CSS Modules
|
|
30
|
+
* - всех стандартных атрибутов `<input type="radio">`
|
|
50
31
|
*
|
|
51
32
|
* @component
|
|
52
33
|
* @example
|
|
53
34
|
* <FRadioButton
|
|
54
35
|
* label="Выбрать"
|
|
55
36
|
* checked={isChecked}
|
|
37
|
+
* onChange={handleChange}
|
|
56
38
|
* />
|
|
57
39
|
*
|
|
58
40
|
* @example
|
|
@@ -65,14 +47,12 @@ export interface IFRadioButton {
|
|
|
65
47
|
* />
|
|
66
48
|
*
|
|
67
49
|
* @param {React.ReactNode} [label] - Текст или элемент рядом с радио.
|
|
68
|
-
* @param {Function} [onClick] - Callback при клике.
|
|
69
50
|
* @param {string} [className] - Пользовательский класс для цвета/стилей.
|
|
70
51
|
* @param {string} [id] - ID элемента.
|
|
71
52
|
* @param {React.CSSProperties} [st] - Инлайновые стили.
|
|
72
|
-
* @param {
|
|
73
|
-
* @param {boolean} [disabled=false] - Заблокирована ли радиокнопка.
|
|
53
|
+
* @param {...React.InputHTMLAttributes<HTMLInputElement>} props - Атрибуты HTMLInputElement.
|
|
74
54
|
*
|
|
75
55
|
* @returns {JSX.Element} — Рендерит кастомную радио-кнопку с меткой.
|
|
76
56
|
*/
|
|
77
|
-
declare const FRadioButton:
|
|
57
|
+
declare const FRadioButton: import("react").ForwardRefExoticComponent<IFRadioButton & import("react").RefAttributes<HTMLInputElement>>;
|
|
78
58
|
export default FRadioButton;
|