@snabcentr/client-ui 4.9.2 → 4.10.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.
- package/esm2022/pages/frequently-asked-questions/sc-faq-query-params.mjs +9 -0
- package/esm2022/pages/frequently-asked-questions/sc-get-faq-group-query-params.mjs +13 -0
- package/esm2022/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.mjs +46 -17
- package/esm2022/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.mjs +31 -31
- package/esm2022/pages/index.mjs +3 -1
- package/esm2022/pagination/index.mjs +2 -0
- package/esm2022/pagination/sc-pagination-links/sc-pagination-links.component.mjs +98 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/snabcentr-client-ui.mjs +181 -43
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/pages/frequently-asked-questions/sc-faq-query-params.d.ts +8 -0
- package/pages/frequently-asked-questions/sc-get-faq-group-query-params.d.ts +10 -0
- package/pages/frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component.d.ts +23 -4
- package/pages/frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component.d.ts +16 -14
- package/pages/index.d.ts +2 -0
- package/pagination/index.d.ts +1 -0
- package/pagination/sc-pagination-links/sc-pagination-links.component.d.ts +60 -0
- package/public-api.d.ts +1 -0
- package/release_notes.tmp +2 -4
- package/styles/tailwind/tailwind.scss +0 -4
package/package.json
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Наименование query-параметра идентификатора группы часто задаваемых вопросов.
|
|
3
|
+
*/
|
|
4
|
+
export declare const SC_FAQ_GROUP_QUERY_PARAM = "group";
|
|
5
|
+
/**
|
|
6
|
+
* Наименование query-параметра номера страницы пагинации часто задаваемых вопросов.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SC_FAQ_PAGE_QUERY_PARAM = "page";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Params } from '@angular/router';
|
|
2
|
+
import { ScFaqGroup } from '@snabcentr/client-core';
|
|
3
|
+
/**
|
|
4
|
+
* Возвращает query-параметры ссылки на группу часто задаваемых вопросов.
|
|
5
|
+
*
|
|
6
|
+
* При смене группы пагинация сбрасывается на первую страницу.
|
|
7
|
+
*
|
|
8
|
+
* @param group Группа вопросов.
|
|
9
|
+
*/
|
|
10
|
+
export declare const scGetFaqGroupQueryParams: (group: ScFaqGroup) => Params;
|
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
import { InputSignal
|
|
1
|
+
import { InputSignal } from '@angular/core';
|
|
2
2
|
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { Params } from '@angular/router';
|
|
3
4
|
import { ScFaqGroup } from '@snabcentr/client-core';
|
|
4
5
|
import { Observable } from 'rxjs';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
/**
|
|
7
8
|
* Компонент выбора группы часто задаваемых вопросов.
|
|
9
|
+
*
|
|
10
|
+
* TODO: [TAIGA:5]: Заменить legacy tui-select и tuiItemsHandlersProvider на актуальные аналоги.
|
|
8
11
|
*/
|
|
9
12
|
export declare class ScFrequentlyAskedQuestionsGroupSelectorComponent {
|
|
13
|
+
/**
|
|
14
|
+
* Сервис маршрутизации.
|
|
15
|
+
*/
|
|
16
|
+
private readonly router;
|
|
17
|
+
/**
|
|
18
|
+
* Активный маршрут.
|
|
19
|
+
*/
|
|
20
|
+
private readonly route;
|
|
10
21
|
/**
|
|
11
22
|
* {@link Observable} списка группы часто задаваемых вопросов.
|
|
12
23
|
*/
|
|
@@ -16,13 +27,21 @@ export declare class ScFrequentlyAskedQuestionsGroupSelectorComponent {
|
|
|
16
27
|
*/
|
|
17
28
|
protected readonly groupControl: FormControl<ScFaqGroup | null>;
|
|
18
29
|
/**
|
|
19
|
-
* {@link
|
|
30
|
+
* {@link InputSignal} идентификатора выбранной группы.
|
|
20
31
|
*/
|
|
21
|
-
readonly
|
|
32
|
+
readonly selectedGroupId: InputSignal<number | null>;
|
|
22
33
|
/**
|
|
23
34
|
* Формат отображения. 'list' - в виде списка, 'select' в виде выпадающего списка.
|
|
24
35
|
*/
|
|
25
36
|
readonly viewMode: InputSignal<'list' | 'select'>;
|
|
37
|
+
/**
|
|
38
|
+
* Возвращает query-параметры ссылки на группу вопросов.
|
|
39
|
+
*/
|
|
40
|
+
protected readonly getGroupQueryParams: (group: ScFaqGroup) => Params;
|
|
41
|
+
/**
|
|
42
|
+
* Инициализирует экземпляр класса {@link ScFrequentlyAskedQuestionsGroupSelectorComponent}.
|
|
43
|
+
*/
|
|
44
|
+
constructor();
|
|
26
45
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScFrequentlyAskedQuestionsGroupSelectorComponent, never>;
|
|
27
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScFrequentlyAskedQuestionsGroupSelectorComponent, "sc-frequently-asked-questions-group-selector", never, { "
|
|
46
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScFrequentlyAskedQuestionsGroupSelectorComponent, "sc-frequently-asked-questions-group-selector", never, { "selectedGroupId": { "alias": "selectedGroupId"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
28
47
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OutputEmitterRef } from '@angular/core';
|
|
2
2
|
import { ScFaqItem, ScFrequentlyAskedQuestionsService } from '@snabcentr/client-core';
|
|
3
|
-
import { Observable
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
6
6
|
* Компонент часто задаваемых вопросов с возможностью выбора группы вопросов.
|
|
@@ -26,6 +26,14 @@ export declare class ScFrequentlyAskedQuestionsWithGroupsComponent {
|
|
|
26
26
|
* Сервис маршрутизации.
|
|
27
27
|
*/
|
|
28
28
|
private readonly router;
|
|
29
|
+
/**
|
|
30
|
+
* Активный маршрут.
|
|
31
|
+
*/
|
|
32
|
+
private readonly route;
|
|
33
|
+
/**
|
|
34
|
+
* Признак, что приложение запущено на сервере.
|
|
35
|
+
*/
|
|
36
|
+
private readonly isServer;
|
|
29
37
|
/**
|
|
30
38
|
* Индекс первой страницы.
|
|
31
39
|
*/
|
|
@@ -39,13 +47,15 @@ export declare class ScFrequentlyAskedQuestionsWithGroupsComponent {
|
|
|
39
47
|
*/
|
|
40
48
|
private readonly perPage$;
|
|
41
49
|
/**
|
|
42
|
-
* {@link
|
|
50
|
+
* {@link Observable} изменения номера страницы пагинации из query-параметров.
|
|
43
51
|
*/
|
|
44
52
|
private readonly page$;
|
|
45
53
|
/**
|
|
46
|
-
* {@link
|
|
54
|
+
* {@link Observable} изменения идентификатора выбранной группы.
|
|
55
|
+
*
|
|
56
|
+
* Идентификатор берётся из query-параметров, а если параметр не задан - используется первая группа списка.
|
|
47
57
|
*/
|
|
48
|
-
protected readonly groupId$:
|
|
58
|
+
protected readonly groupId$: Observable<number | null>;
|
|
49
59
|
/**
|
|
50
60
|
* Сигнал нажатия на кнопку "Задать вопрос".
|
|
51
61
|
*/
|
|
@@ -75,17 +85,9 @@ export declare class ScFrequentlyAskedQuestionsWithGroupsComponent {
|
|
|
75
85
|
*/
|
|
76
86
|
protected readonly viewMode$: Observable<'list' | 'select'>;
|
|
77
87
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* @param pageIndex Индекс страницы.
|
|
81
|
-
*/
|
|
82
|
-
protected paginationChange(pageIndex: number): void;
|
|
83
|
-
/**
|
|
84
|
-
* Устанавливает идентификатор группы.
|
|
85
|
-
*
|
|
86
|
-
* @param id Идентификатор группы.
|
|
88
|
+
* Наименование query-параметра номера страницы пагинации.
|
|
87
89
|
*/
|
|
88
|
-
protected
|
|
90
|
+
protected readonly pageQueryParam: string;
|
|
89
91
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScFrequentlyAskedQuestionsWithGroupsComponent, never>;
|
|
90
92
|
static ɵcmp: i0.ɵɵComponentDeclaration<ScFrequentlyAskedQuestionsWithGroupsComponent, "sc-frequently-asked-questions-with-groups", never, {}, { "clickSendQuestion": "clickSendQuestion"; }, never, never, true, never>;
|
|
91
93
|
}
|
package/pages/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
export * from './frequently-asked-questions/sc-faq-query-params';
|
|
1
2
|
export * from './frequently-asked-questions/sc-frequently-asked-questions.component';
|
|
3
|
+
export * from './frequently-asked-questions/sc-get-faq-group-query-params';
|
|
2
4
|
export * from './frequently-asked-questions-group-selector/sc-frequently-asked-questions-group-selector.component';
|
|
3
5
|
export * from './frequently-asked-questions-with-groups/sc-frequently-asked-questions-with-groups.component';
|
|
4
6
|
export * from './personal-data-processing-policy/sc-personal-data-processing-policy.component';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sc-pagination-links/sc-pagination-links.component';
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { InputSignal, Signal } from '@angular/core';
|
|
2
|
+
import { Params } from '@angular/router';
|
|
3
|
+
import { TuiSpinIcons } from '@taiga-ui/core';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Компонент пагинации, в котором страницы являются ссылками с номером страницы в query-параметрах.
|
|
8
|
+
*
|
|
9
|
+
* Ссылки позволяют переходить между страницами при отключенном JavaScript и корректно работают при SSR.
|
|
10
|
+
* Внешний вид повторяет tui-pagination из @taiga-ui/kit.
|
|
11
|
+
*
|
|
12
|
+
* TODO: [TAIGA:5]: Проверить, появилась ли в tui-pagination поддержка ссылок, и заменить компонент на неё.
|
|
13
|
+
*/
|
|
14
|
+
export declare class ScPaginationLinksComponent {
|
|
15
|
+
/**
|
|
16
|
+
* Иконки стрелок переключения страниц.
|
|
17
|
+
*/
|
|
18
|
+
protected readonly icons: TuiSpinIcons;
|
|
19
|
+
/**
|
|
20
|
+
* {@link Observable} подписей стрелок переключения страниц.
|
|
21
|
+
*/
|
|
22
|
+
protected readonly texts$: Observable<readonly [previousPage: string, nextPage: string]>;
|
|
23
|
+
/**
|
|
24
|
+
* {@link InputSignal} общего количества страниц.
|
|
25
|
+
*/
|
|
26
|
+
readonly length: InputSignal<number>;
|
|
27
|
+
/**
|
|
28
|
+
* {@link InputSignal} номера текущей страницы, начиная с единицы.
|
|
29
|
+
*/
|
|
30
|
+
readonly index: InputSignal<number>;
|
|
31
|
+
/**
|
|
32
|
+
* {@link InputSignal} наименования query-параметра, в котором хранится номер страницы.
|
|
33
|
+
*/
|
|
34
|
+
readonly queryParam: InputSignal<string>;
|
|
35
|
+
/**
|
|
36
|
+
* {@link InputSignal} количества страниц, отображаемых по обе стороны от текущей.
|
|
37
|
+
*/
|
|
38
|
+
readonly activePadding: InputSignal<number>;
|
|
39
|
+
/**
|
|
40
|
+
* {@link InputSignal} количества страниц, отображаемых по краям.
|
|
41
|
+
*/
|
|
42
|
+
readonly sidePadding: InputSignal<number>;
|
|
43
|
+
/**
|
|
44
|
+
* {@link Signal} номеров отображаемых страниц, где `null` - разделитель пропущенных страниц.
|
|
45
|
+
*
|
|
46
|
+
* Состав страниц рассчитывается так же, как в tui-pagination: количество отображаемых элементов постоянно,
|
|
47
|
+
* а окно вокруг текущей страницы расширяется у краёв списка.
|
|
48
|
+
*/
|
|
49
|
+
protected readonly pages: Signal<Array<number | null>>;
|
|
50
|
+
/**
|
|
51
|
+
* Возвращает query-параметры ссылки на страницу.
|
|
52
|
+
*
|
|
53
|
+
* Для первой страницы параметр удаляется, чтобы её адрес совпадал с адресом страницы без пагинации.
|
|
54
|
+
*
|
|
55
|
+
* @param page Номер страницы.
|
|
56
|
+
*/
|
|
57
|
+
protected getPageQueryParams(page: number): Params;
|
|
58
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScPaginationLinksComponent, never>;
|
|
59
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScPaginationLinksComponent, "sc-pagination-links", never, { "length": { "alias": "length"; "required": true; "isSignal": true; }; "index": { "alias": "index"; "required": true; "isSignal": true; }; "queryParam": { "alias": "queryParam"; "required": false; "isSignal": true; }; "activePadding": { "alias": "activePadding"; "required": false; "isSignal": true; }; "sidePadding": { "alias": "sidePadding"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
60
|
+
}
|
package/public-api.d.ts
CHANGED
package/release_notes.tmp
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
## 4.
|
|
1
|
+
## 4.10.3 (2026-08-05)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
- [#13635: В списке брендов добавлена поддержка webp](web_soft/libs/angular/snabcentr-client-ui-lib@01b15220817d06f9f7f7674f889d94b0c21668bc) ([merge request](web_soft/libs/angular/snabcentr-client-ui-lib!432))
|
|
3
|
+
No changes.
|
|
6
4
|
|