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.
@@ -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 | undefined}
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 {boolean} [checked] - Состояние радиокнопки.
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: FC<IFRadioButton>;
57
+ declare const FRadioButton: import("react").ForwardRefExoticComponent<IFRadioButton & import("react").RefAttributes<HTMLInputElement>>;
78
58
  export default FRadioButton;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fui-material",
3
- "version": "2.1.14",
3
+ "version": "2.2.1",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",