fui-material 2.7.16 → 2.7.18

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.
@@ -38,45 +38,26 @@ export interface IfNotification {
38
38
  */
39
39
  id?: string;
40
40
  }
41
+ /**
42
+ * Плавно закрывает элемент уведомления с анимацией исчезания и удаляет его из DOM.
43
+ * При отсутствии других уведомлений удаляет общий контейнер #block-notification из DOM.
44
+ *
45
+ * @param {HTMLElement} el - Корневой элемент уведомления
46
+ */
47
+ export declare const dismissNotificationElement: (el: HTMLElement) => void;
41
48
  /**
42
49
  * Отображает модальное уведомление в правом верхнем углу экрана.
43
50
  *
44
51
  * Уведомление имеет поддержку:
45
52
  * - различных типов (info, error, success, warning),
46
53
  * - кнопки закрытия,
47
- * - автоматического закрытия через заданное время,
48
- * - прогресс-бара при наличии `timeSecClose`.
54
+ * - автоматического закрытия через заданное время с паузой при наведении курсора,
55
+ * - плавного прогресс-бара при наличии `timeSecClose`,
56
+ * - автоматического управления DOM: контейнер создается только при наличии уведомлений и удаляется, когда их нет.
49
57
  *
50
58
  * @function fNotification
51
- * @param {string} [title] - Заголовок уведомления.
52
- * @param {string} body - Текст уведомления (поддерживает переносы строк через `\n`).
53
- * @param {'info' | 'error' | 'success' | 'warning'} [variant='info'] - Тип уведомления.
54
- * @param {number} [timeSecClose] - Время автозакрытия уведомления в секундах.
55
- * @param {boolean} [buttonClose=false] - Флаг, показывающий кнопку закрытия.
56
- * @param {string} [id] - Уникальный идентификатор уведомления.
57
- *
59
+ * @param {IfNotification} options - Параметры уведомления
58
60
  * @returns {Promise<string>} Промис, возвращающий CSS-селектор созданного уведомления.
59
- * Например: `"#f-function-block-notification-abc123"`.
60
- *
61
- * @example
62
- * // Пример простого уведомления
63
- * fNotification({
64
- * title: 'Успех',
65
- * body: 'Данные успешно сохранены.',
66
- * variant: 'success'
67
- * });
68
- *
69
- * @example
70
- * // Уведомление с автозакрытием и кнопкой закрытия
71
- * fNotification({
72
- * title: 'Ошибка',
73
- * body: 'Проверьте соединение\\nНе удалось загрузить данные',
74
- * variant: 'error',
75
- * timeSecClose: 5,
76
- * buttonClose: true
77
- * }).then((id) => {
78
- * console.log('Уведомление показано:', id);
79
- * });
80
61
  */
81
62
  declare const fNotification: ({ title, body, variant, timeSecClose, buttonClose, id, }: IfNotification) => Promise<string>;
82
63
  export default fNotification;
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Удаляет уведомление из DOM с анимацией скрытия.
3
- * После удаления проверяет контейнер #block-notification и удаляет его, если он пуст.
2
+ * Плавно удаляет уведомление из DOM с анимацией скрытия.
3
+ * После завершения анимации проверяет контейнер #block-notification и удаляет его, если он пуст.
4
4
  *
5
- * @param {string} id - CSS-селектор уведомления (например, `"#notification-123"`)
5
+ * @param {string} id - CSS-селектор или идентификатор уведомления (например, `"#f-function-block-notification-123"` или `"f-function-block-notification-123"`)
6
6
  * @returns {void}
7
7
  */
8
8
  declare const fNotificationDelete: (id: string) => void;
@@ -21,28 +21,14 @@ export interface IfAlert {
21
21
  variant: 'info' | 'error' | 'success' | 'warning';
22
22
  }
23
23
  /**
24
- * Отображает модальное окно уведомления поверх текущей страницы.
24
+ * Отображает модальное окно уведомления поверх текущей страницы с плавными анимациями.
25
25
  *
26
- * Уведомление добавляется через `insertAdjacentHTML` в `<body>`, имеет анимацию появления,
27
- * и может быть закрыто нажатием на кнопку "Закрыть".
26
+ * Уведомление добавляется в `<body>` только на время отображения,
27
+ * имеет плавную анимацию появления и исчезновения, и полностью удаляется из DOM при закрытии.
28
28
  *
29
29
  * @function fAlert
30
- * @param {string} [title] - Заголовок уведомления.
31
- * @param {string} [body] - Текст уведомления (поддерживает переносы строк через `\n`).
32
- * @param {'info' | 'error' | 'success' | 'warning'} [variant='info'] - Тип уведомления.
33
- *
34
- * @example
35
- * fAlert({
36
- * title: 'Успех',
37
- * body: 'Данные успешно сохранены.',
38
- * variant: 'success'
39
- * });
40
- *
41
- * @example
42
- * fAlert({
43
- * body: 'Ошибка сети\\nПроверьте соединение',
44
- * variant: 'error'
45
- * });
30
+ * @param {IfAlert} options - Параметры уведомления
31
+ * @returns {Promise<void>} Промис, разрешающийся при закрытии окна
46
32
  */
47
- declare const fAlert: ({ title, body, variant }: IfAlert) => void;
33
+ declare const fAlert: ({ title, body, variant }: IfAlert) => Promise<void>;
48
34
  export default fAlert;
@@ -15,30 +15,14 @@ export interface IfConfirm {
15
15
  body: string;
16
16
  }
17
17
  /**
18
- * Отображает модальное окно подтверждения поверх текущей страницы.
18
+ * Отображает модальное окно подтверждения поверх текущей страницы с плавными анимациями.
19
19
  *
20
- * Функция добавляет HTML-элемент в `<body>`, отображая диалоговое окно с вопросом,
21
- * двумя кнопками (`Ок` и `Отменить`) и возвращает промис, который разрешается
22
- * значением `true` (при нажатии "Ок" или клавиши Enter) или `false` (при нажатии "Отменить").
20
+ * Функция динамически добавляет HTML-элемент в `<body>`, отображая диалоговое окно с вопросом
21
+ * и двумя кнопками (`Ок` и `Отменить`). После закрытия элемент полностью удаляется из DOM.
23
22
  *
24
23
  * @function fConfirm
25
- * @param {string} [title] - Заголовок окна подтверждения.
26
- * @param {string} [body] - Текст сообщения, который будет отображен в теле окна.
27
- *
28
- * @returns {Promise<boolean>} Промис, который возвращает:
29
- * - `true` — если пользователь нажал "Ок" или Enter.
30
- * - `false` — если пользователь нажал "Отменить".
31
- *
32
- * @example
33
- * const result = await fConfirm({
34
- * title: 'Подтвердите действие',
35
- * body: 'Вы действительно хотите удалить запись?'
36
- * });
37
- * if (result) {
38
- * console.log('Пользователь согласился');
39
- * } else {
40
- * console.log('Пользователь отменил действие');
41
- * }
24
+ * @param {IfConfirm} options - Заголовок и текст подтверждения
25
+ * @returns {Promise<boolean>} Промис, возвращающий `true` (при "Ок" / Enter) или `false` (при "Отменить" / Escape / клик вне окна)
42
26
  */
43
27
  declare const fConfirm: ({ title, body }: IfConfirm) => Promise<boolean>;
44
28
  export default fConfirm;
@@ -26,33 +26,14 @@ export interface IfPrompt {
26
26
  */
27
27
  export declare function getValue(element: HTMLInputElement | null): string | null;
28
28
  /**
29
- * Отображает модальное окно с полем ввода и кнопками "Ок" и "Отменить".
29
+ * Отображает модальное окно с полем ввода и кнопками "Ок" и "Отменить" с плавными анимациями.
30
30
  *
31
- * Функция возвращает промис, который разрешается:
32
- * - строкой с введённым текстом (если пользователь нажал "Ок"),
33
- * - `null` (если пользователь нажал "Отменить").
34
- *
35
- * Уведомление добавляется через `insertAdjacentHTML` в `<body>`.
31
+ * Функция динамически монтирует диалог в `<body>`, автоматически фокусирует поле ввода,
32
+ * а после закрытия плавно анимирует исчезновение и полностью удаляет узел из DOM.
36
33
  *
37
34
  * @function fPrompt
38
- * @param {string} [title] - Заголовок окна.
39
- * @param {string} [body] - Текст подсказки над полем ввода.
40
- *
41
- * @returns {Promise<string | null>} Промис, который возвращает:
42
- * - Введённую строку при нажатии "Ок".
43
- * - `null` при нажатии "Отменить".
44
- *
45
- * @example
46
- * const result = await fPrompt({
47
- * title: 'Введите имя',
48
- * body: 'Как вас зовут?'
49
- * });
50
- *
51
- * if (result !== null) {
52
- * console.log('Пользователь ввёл:', result);
53
- * } else {
54
- * console.log('Пользователь отменил ввод');
55
- * }
35
+ * @param {IfPrompt} options - Заголовок и текст подсказки
36
+ * @returns {Promise<string | null>} Промис, возвращающий строку с введённым текстом или `null` при отмене
56
37
  */
57
38
  declare const fPrompt: ({ title, body }: IfPrompt) => Promise<string | null>;
58
39
  export default fPrompt;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fui-material",
3
- "version": "2.7.16",
3
+ "version": "2.7.18",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",