fui-material 2.2.2 → 2.2.4
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 +46 -2
- package/dist/f-ui-kit.es.js.map +1 -1
- package/dist/types/function-elements/fConvertDate/fConvertDate.d.ts +60 -0
- package/dist/types/function-elements/fConvertDate/index.d.ts +1 -0
- package/dist/types/function-elements/fFormatRuNumber/fFormatRuNumber.d.ts +6 -7
- package/dist/types/function-elements/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
type FormatOption = "iso" | "ru" | "ru-datetime" | "date" | "time" | "custom";
|
|
2
|
+
interface ConvertDateOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Стандартные форматы:
|
|
5
|
+
* - "iso" → YYYY-MM-DD
|
|
6
|
+
* - "ru" → DD.MM.YYYY
|
|
7
|
+
* - "ru-datetime" → DD.MM.YYYY HH:MM:SS
|
|
8
|
+
* - "time" → HH:MM:SS
|
|
9
|
+
* - "date" → объект Date
|
|
10
|
+
* - "custom" → использовать `customOptions`
|
|
11
|
+
*/
|
|
12
|
+
format?: FormatOption;
|
|
13
|
+
/** Локаль для кастомного формата (по умолчанию "ru-RU") */
|
|
14
|
+
locale?: string;
|
|
15
|
+
/** Опции для Intl.DateTimeFormat при `format: "custom"` */
|
|
16
|
+
customOptions?: Intl.DateTimeFormatOptions;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Универсальный конвертер даты и времени.
|
|
20
|
+
*
|
|
21
|
+
* Поддерживает строки, числа (timestamp), Date, null и undefined.
|
|
22
|
+
* Может возвращать дату в ISO, русскую дату, русскую дату с временем,
|
|
23
|
+
* только время, объект Date или кастомный формат через Intl.DateTimeFormat.
|
|
24
|
+
*
|
|
25
|
+
* @param input - Дата в виде строки, числа, Date, null или undefined
|
|
26
|
+
* @param options - Настройки форматирования
|
|
27
|
+
*
|
|
28
|
+
* @returns Отформатированная дата/время или '' / undefined для пустых значений
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* // ISO формат
|
|
32
|
+
* convertDate("2025-10-02T15:30:45", { format: "iso" });
|
|
33
|
+
* // "2025-10-02"
|
|
34
|
+
*
|
|
35
|
+
* // Русская дата
|
|
36
|
+
* convertDate("2025-10-02T15:30:45", { format: "ru" });
|
|
37
|
+
* // "02.10.2025"
|
|
38
|
+
*
|
|
39
|
+
* // Русская дата и время
|
|
40
|
+
* convertDate("2025-10-02T15:30:45", { format: "ru-datetime" });
|
|
41
|
+
* // "02.10.2025 15:30:45"
|
|
42
|
+
*
|
|
43
|
+
* // Только время
|
|
44
|
+
* convertDate(new Date(), { format: "time" });
|
|
45
|
+
* // "14:30:05"
|
|
46
|
+
*
|
|
47
|
+
* // Объект Date
|
|
48
|
+
* convertDate(1696262400000, { format: "date" });
|
|
49
|
+
* // Date object
|
|
50
|
+
*
|
|
51
|
+
* // Кастомный формат
|
|
52
|
+
* convertDate(new Date(), {
|
|
53
|
+
* format: "custom",
|
|
54
|
+
* locale: "en-US",
|
|
55
|
+
* customOptions: { weekday: "long", month: "long", day: "numeric", year: "numeric" }
|
|
56
|
+
* });
|
|
57
|
+
* // "Thursday, October 2, 2025"
|
|
58
|
+
*/
|
|
59
|
+
declare function fConvertDate(input: string | number | Date | null | undefined, options?: ConvertDateOptions): string | Date | undefined;
|
|
60
|
+
export default fConvertDate;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./fConvertDate";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Форматирует число в строку с русской локализацией (разделение тысяч, дробная часть и т.д.)
|
|
3
3
|
* Может использовать банковское округление перед форматированием.
|
|
4
|
+
* По флагу может вернуть число вместо строки.
|
|
4
5
|
*
|
|
5
6
|
* @param {number} a - Число для форматирования
|
|
6
7
|
* @param {Object} [options] - Опциональные параметры
|
|
@@ -8,22 +9,20 @@
|
|
|
8
9
|
* @param {number} [options.minimumFractionDigits] - Минимальное количество знаков после запятой
|
|
9
10
|
* @param {boolean} [options.useBankRound=false] - Использовать ли банковское округление
|
|
10
11
|
* @param {number} [options.bankRoundDecimalPlaces=2] - Количество знаков после запятой для банковского округления
|
|
11
|
-
* @
|
|
12
|
-
*
|
|
13
|
-
* @description
|
|
14
|
-
* Функция сначала проверяет валидность входного числа, затем при необходимости
|
|
15
|
-
* применяет банковское округление, после чего форматирует результат
|
|
16
|
-
* с использованием русской локали и возвращает строку.
|
|
12
|
+
* @param {boolean} [options.returnNumber=false] - Вернуть ли число вместо строки
|
|
13
|
+
* @returns {string|number} Отформатированная строка числа или число
|
|
17
14
|
*
|
|
18
15
|
* @example
|
|
19
16
|
* fFormatRuNumber(1234.567); // "1 234,567"
|
|
20
17
|
* fFormatRuNumber(1234.567, { useBankRound: true }); // "1 234,57"
|
|
21
18
|
* fFormatRuNumber(1234.567, { maximumFractionDigits: 2 }); // "1 234,57"
|
|
19
|
+
* fFormatRuNumber(1234.567, { useBankRound: true, returnNumber: true }); // 1234.57
|
|
22
20
|
*/
|
|
23
21
|
declare const fFormatRuNumber: (a: number, options?: {
|
|
24
22
|
maximumFractionDigits?: number;
|
|
25
23
|
minimumFractionDigits?: number;
|
|
26
24
|
useBankRound?: boolean;
|
|
27
25
|
bankRoundDecimalPlaces?: number;
|
|
28
|
-
|
|
26
|
+
returnNumber?: boolean;
|
|
27
|
+
}) => string | number;
|
|
29
28
|
export default fFormatRuNumber;
|
|
@@ -13,3 +13,4 @@ export { default as fDownloadFileFromBase64 } from "./fDownloadFileFromBase64";
|
|
|
13
13
|
export { default as fDownloadBlobFile } from "./fDownloadBlobFile";
|
|
14
14
|
export { default as fBankRound } from "./fBankRound";
|
|
15
15
|
export { default as fFormatRuNumber } from "./fFormatRuNumber";
|
|
16
|
+
export { default as fConvertDate } from "./fConvertDate";
|