@snabcentr/client-ui 3.9.4 → 3.10.0
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/feedback/feedback-form/sc-feedback-form.component.mjs +267 -0
- package/esm2022/feedback/gratitude/sc-gratitude.component.mjs +32 -0
- package/esm2022/feedback/index.mjs +3 -0
- package/esm2022/providers/index.mjs +2 -1
- package/esm2022/providers/sc-max-files-in-form-input.mjs +6 -0
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/samples/index.mjs +1 -2
- package/esm2022/samples/sc-sample.module.mjs +5 -6
- package/feedback/feedback-form/sc-feedback-form.component.d.ts +123 -0
- package/feedback/gratitude/sc-gratitude.component.d.ts +20 -0
- package/feedback/index.d.ts +2 -0
- package/fesm2022/snabcentr-client-ui.mjs +317 -140
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/providers/index.d.ts +1 -0
- package/providers/sc-max-files-in-form-input.d.ts +5 -0
- package/public-api.d.ts +1 -0
- package/release_notes.tmp +3 -3
- package/samples/index.d.ts +0 -1
- package/samples/sc-sample.module.d.ts +10 -11
- package/styles/tailwind/tailwind.scss +26 -0
- package/esm2022/samples/ask-to-sample-form/sc-ask-to-sample-form.component.mjs +0 -117
- package/samples/ask-to-sample-form/sc-ask-to-sample-form.component.d.ts +0 -52
@@ -0,0 +1,123 @@
|
|
1
|
+
import { InputSignal, OutputEmitterRef } from '@angular/core';
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
3
|
+
import { ScFeedbackForm, ScISuggestionType, ScUploadedFile } from '@snabcentr/client-core';
|
4
|
+
import { TuiDialogContext } from '@taiga-ui/core';
|
5
|
+
import { TuiFileLike } from '@taiga-ui/kit';
|
6
|
+
import { Observable, Subject } from 'rxjs';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
/**
|
9
|
+
* Компонент формы обратной связи.
|
10
|
+
*/
|
11
|
+
export declare class ScFeedbackFormComponent {
|
12
|
+
/**
|
13
|
+
* Условное название блока где расположена ссылка.
|
14
|
+
*/
|
15
|
+
readonly formSlag: InputSignal<keyof typeof ScFeedbackForm>;
|
16
|
+
/**
|
17
|
+
* Событие нажатия на кнопку договора оферты.
|
18
|
+
*/
|
19
|
+
readonly onClickOffer: OutputEmitterRef<void>;
|
20
|
+
/**
|
21
|
+
* Событие успешной отправки формы.
|
22
|
+
*/
|
23
|
+
readonly onSendSuccess: OutputEmitterRef<void>;
|
24
|
+
/**
|
25
|
+
* Сервис обратной связи.
|
26
|
+
*/
|
27
|
+
private readonly feedbackService;
|
28
|
+
/**
|
29
|
+
* Сервис конвертации данных.
|
30
|
+
*/
|
31
|
+
private readonly convertersService;
|
32
|
+
/**
|
33
|
+
* Максимальное количество файлов, отправляемых в форме.
|
34
|
+
*/
|
35
|
+
private readonly maxFilesInForm;
|
36
|
+
/**
|
37
|
+
* Сервис данных о пользователе.
|
38
|
+
*/
|
39
|
+
private readonly user$;
|
40
|
+
/**
|
41
|
+
* Контекст диалогового окна, в котором открыт компонент.
|
42
|
+
*/
|
43
|
+
protected readonly context: TuiDialogContext<void, {
|
44
|
+
onClickOfferHandler: () => void;
|
45
|
+
formSlag: keyof typeof ScFeedbackForm;
|
46
|
+
}> | null;
|
47
|
+
/**
|
48
|
+
* Поле ввода для recaptcha.
|
49
|
+
*/
|
50
|
+
protected readonly recaptchaControl: FormControl<string | null>;
|
51
|
+
/**
|
52
|
+
* Группа полей ввода для формы «Пожелания и предложения по улучшению сайта».
|
53
|
+
*/
|
54
|
+
protected readonly form: FormGroup<{
|
55
|
+
name: FormControl<string | null>;
|
56
|
+
phone: FormControl<string | null>;
|
57
|
+
email: FormControl<string | null>;
|
58
|
+
message: FormControl<string | null>;
|
59
|
+
files: FormControl<ScUploadedFile[] | null>;
|
60
|
+
}>;
|
61
|
+
/**
|
62
|
+
* Перечисление типов подсказок.
|
63
|
+
*/
|
64
|
+
protected readonly suggestionType: typeof ScISuggestionType;
|
65
|
+
/**
|
66
|
+
* {@link Subject} события отправки формы.
|
67
|
+
*/
|
68
|
+
protected readonly onSubmit: Subject<void>;
|
69
|
+
/**
|
70
|
+
* {@link Observable} запроса на отправку данных.
|
71
|
+
*/
|
72
|
+
protected readonly request$: Observable<undefined | null>;
|
73
|
+
/**
|
74
|
+
* {@link Observable} изменения состояния загрузки данных.
|
75
|
+
*/
|
76
|
+
protected readonly loading$: Observable<boolean>;
|
77
|
+
/**
|
78
|
+
* Управляет состоянием загруженных файлов.
|
79
|
+
*/
|
80
|
+
protected readonly loadedFile: FormControl<TuiFileLike[] | null>;
|
81
|
+
/**
|
82
|
+
* Observable, который отслеживает, приняты ли файлы в соответствии с требованиями по типу размеру и т.д.
|
83
|
+
*/
|
84
|
+
protected readonly accepted$: Observable<File[]>;
|
85
|
+
/**
|
86
|
+
* Список файлов, которые были отклонены при загрузке.
|
87
|
+
*/
|
88
|
+
protected rejected: readonly File[];
|
89
|
+
/**
|
90
|
+
* Инициализирует экземпляр класса {@link ScFeedbackFormComponent}.
|
91
|
+
*/
|
92
|
+
constructor();
|
93
|
+
/**
|
94
|
+
* Обрабатывает отклоненные файлы.
|
95
|
+
*
|
96
|
+
* @param files Список файлов, которые были отклонены.
|
97
|
+
*/
|
98
|
+
protected onReject(files: readonly File[]): void;
|
99
|
+
/**
|
100
|
+
* Удаляет файл из списка загруженных и отклоненных файлов.
|
101
|
+
*
|
102
|
+
* @param file Файл, который нужно удалить.
|
103
|
+
*/
|
104
|
+
protected onRemove(file: File): void;
|
105
|
+
/**
|
106
|
+
* Загружает файл в форму обратной связи.
|
107
|
+
*
|
108
|
+
* @param files Набор файлов.
|
109
|
+
*/
|
110
|
+
private onUploadFile;
|
111
|
+
/**
|
112
|
+
* Проверяет количество файлов загруженных пользователем.
|
113
|
+
*
|
114
|
+
* @param maxLength максимальное допустимое количество файлов для отправки.
|
115
|
+
*/
|
116
|
+
private maxFilesLength;
|
117
|
+
/**
|
118
|
+
* Выполняет очистку полей формы.
|
119
|
+
*/
|
120
|
+
private resetForm;
|
121
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScFeedbackFormComponent, never>;
|
122
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScFeedbackFormComponent, "sc-feedback-form", never, { "formSlag": { "alias": "formSlag"; "required": true; "isSignal": true; }; }, { "onClickOffer": "onClickOffer"; "onSendSuccess": "onSendSuccess"; }, never, never, true, never>;
|
123
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { TuiDialogContext } from '@taiga-ui/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
/**
|
4
|
+
* Компонент «Спасибо!».
|
5
|
+
*/
|
6
|
+
export declare class ScGratitudeComponent {
|
7
|
+
/**
|
8
|
+
* Контекст диалогового окна, в котором открыт компонент.
|
9
|
+
*/
|
10
|
+
protected readonly context: TuiDialogContext<void, {
|
11
|
+
autoClose: number;
|
12
|
+
subTitle: string;
|
13
|
+
}> | null;
|
14
|
+
/**
|
15
|
+
* Инициализирует экземпляр класса {@link ScGratitudeComponent}.
|
16
|
+
*/
|
17
|
+
constructor();
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScGratitudeComponent, never>;
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScGratitudeComponent, "sc-gratitude", never, {}, {}, never, never, true, never>;
|
20
|
+
}
|