@touchpoll/tp-survey 0.0.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.
Files changed (99) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/component/answer/answer.additional/answer.additional.component.mjs +49 -0
  3. package/esm2022/lib/component/answer/answer.additional/directive/additional.answer.caption.position/additional.answer.caption.position.directive.mjs +61 -0
  4. package/esm2022/lib/component/answer/answer.end/answer.end.component.mjs +30 -0
  5. package/esm2022/lib/component/answer/answer.info/answer.info.component.mjs +30 -0
  6. package/esm2022/lib/component/answer/answer.lang/answer.lang.component.mjs +22 -0
  7. package/esm2022/lib/component/answer/answer.master/answer.master.component.mjs +55 -0
  8. package/esm2022/lib/component/answer/answer.ms/answer.ms.component.mjs +106 -0
  9. package/esm2022/lib/component/answer/answer.od/answer.od.component.mjs +39 -0
  10. package/esm2022/lib/component/answer/answer.ol/answer.ol.component.mjs +39 -0
  11. package/esm2022/lib/component/answer/answer.sl/answer.sl.component.mjs +131 -0
  12. package/esm2022/lib/component/answer/answer.sl/pipe/as.form.array/as.form.array.pipe.mjs +17 -0
  13. package/esm2022/lib/component/answer/answer.sl/pipe/as.form.control/as.form.control.pipe.mjs +17 -0
  14. package/esm2022/lib/component/answer/answer.ss/answer.ss.component.mjs +51 -0
  15. package/esm2022/lib/component/answer/container.answer/container.answer.component.mjs +317 -0
  16. package/esm2022/lib/component/answer/container.answer/container.answer.validator.mjs +124 -0
  17. package/esm2022/lib/component/navigation.button/navigation.button.component.mjs +21 -0
  18. package/esm2022/lib/component/question.caption/question.caption.component.mjs +15 -0
  19. package/esm2022/lib/component/survey.play/survey.play.component.mjs +131 -0
  20. package/esm2022/lib/component/survey.question.preview/survey.question.preview.component.mjs +44 -0
  21. package/esm2022/lib/core/tp.servey.quota/tp.survey.quota.mjs +82 -0
  22. package/esm2022/lib/core/tp.survey.answer/tp.survey.answer.mjs +30 -0
  23. package/esm2022/lib/core/tp.survey.core/tp.survey.core.service.mjs +370 -0
  24. package/esm2022/lib/core/tp.survey.interview/tp.survey.interview.service.mjs +70 -0
  25. package/esm2022/lib/core/tp.survey.logic/tp.survey.logic.service.mjs +43 -0
  26. package/esm2022/lib/directive/alternatives.container/alternatives.container.directive.mjs +130 -0
  27. package/esm2022/lib/directive/focus.and.select/focus.and.select.directive.mjs +27 -0
  28. package/esm2022/lib/directive/survey.theme/survey.theme.directive.mjs +53 -0
  29. package/esm2022/lib/directive/update.font.size/update.font.size.directive.mjs +28 -0
  30. package/esm2022/lib/icons/default.icons/default.icons.mjs +15 -0
  31. package/esm2022/lib/icons/default.icons/default.icons.module.mjs +31 -0
  32. package/esm2022/lib/pipe/get.active.language/get.active.language.pipe.mjs +17 -0
  33. package/esm2022/lib/pipe/get.additional.value.by.value/get.additional.value.by.value.pipe.mjs +18 -0
  34. package/esm2022/lib/pipe/key.values/key.values.pipe.mjs +20 -0
  35. package/esm2022/lib/pipe/multi.lang.object.to.html/multi.lang.object.to.html.pipe.mjs +26 -0
  36. package/esm2022/lib/tp.survey.config.mjs +8 -0
  37. package/esm2022/lib/tp.survey.const.mjs +28 -0
  38. package/esm2022/lib/tp.survey.enum.mjs +59 -0
  39. package/esm2022/lib/tp.survey.interface.mjs +2 -0
  40. package/esm2022/lib/tp.survey.method.mjs +5 -0
  41. package/esm2022/lib/tp.survey.module.mjs +27 -0
  42. package/esm2022/lib/tp.survey.type.mjs +2 -0
  43. package/esm2022/public-api.mjs +14 -0
  44. package/esm2022/touchpoll-tp-survey.mjs +5 -0
  45. package/fesm2022/touchpoll-tp-survey.mjs +2210 -0
  46. package/fesm2022/touchpoll-tp-survey.mjs.map +1 -0
  47. package/index.d.ts +5 -0
  48. package/lib/component/answer/answer.additional/answer.additional.component.d.ts +17 -0
  49. package/lib/component/answer/answer.additional/directive/additional.answer.caption.position/additional.answer.caption.position.directive.d.ts +16 -0
  50. package/lib/component/answer/answer.end/answer.end.component.d.ts +6 -0
  51. package/lib/component/answer/answer.info/answer.info.component.d.ts +6 -0
  52. package/lib/component/answer/answer.lang/answer.lang.component.d.ts +9 -0
  53. package/lib/component/answer/answer.master/answer.master.component.d.ts +21 -0
  54. package/lib/component/answer/answer.ms/answer.ms.component.d.ts +21 -0
  55. package/lib/component/answer/answer.od/answer.od.component.d.ts +8 -0
  56. package/lib/component/answer/answer.ol/answer.ol.component.d.ts +7 -0
  57. package/lib/component/answer/answer.sl/answer.sl.component.d.ts +21 -0
  58. package/lib/component/answer/answer.sl/pipe/as.form.array/as.form.array.pipe.d.ts +8 -0
  59. package/lib/component/answer/answer.sl/pipe/as.form.control/as.form.control.pipe.d.ts +8 -0
  60. package/lib/component/answer/answer.ss/answer.ss.component.d.ts +10 -0
  61. package/lib/component/answer/container.answer/container.answer.component.d.ts +36 -0
  62. package/lib/component/answer/container.answer/container.answer.validator.d.ts +10 -0
  63. package/lib/component/navigation.button/navigation.button.component.d.ts +9 -0
  64. package/lib/component/question.caption/question.caption.component.d.ts +8 -0
  65. package/lib/component/survey.play/survey.play.component.d.ts +36 -0
  66. package/lib/component/survey.question.preview/survey.question.preview.component.d.ts +16 -0
  67. package/lib/core/tp.servey.quota/tp.survey.quota.d.ts +12 -0
  68. package/lib/core/tp.survey.answer/tp.survey.answer.d.ts +17 -0
  69. package/lib/core/tp.survey.core/tp.survey.core.service.d.ts +29 -0
  70. package/lib/core/tp.survey.interview/tp.survey.interview.service.d.ts +14 -0
  71. package/lib/core/tp.survey.logic/tp.survey.logic.service.d.ts +12 -0
  72. package/lib/directive/alternatives.container/alternatives.container.directive.d.ts +17 -0
  73. package/lib/directive/focus.and.select/focus.and.select.directive.d.ts +9 -0
  74. package/lib/directive/survey.theme/survey.theme.directive.d.ts +13 -0
  75. package/lib/directive/update.font.size/update.font.size.directive.d.ts +10 -0
  76. package/lib/icons/default.icons/default.icons.d.ts +5 -0
  77. package/lib/icons/default.icons/default.icons.module.d.ts +12 -0
  78. package/lib/pipe/get.active.language/get.active.language.pipe.d.ts +8 -0
  79. package/lib/pipe/get.additional.value.by.value/get.additional.value.by.value.pipe.d.ts +8 -0
  80. package/lib/pipe/key.values/key.values.pipe.d.ts +14 -0
  81. package/lib/pipe/multi.lang.object.to.html/multi.lang.object.to.html.pipe.d.ts +11 -0
  82. package/lib/tp.survey.config.d.ts +11 -0
  83. package/lib/tp.survey.const.d.ts +4 -0
  84. package/lib/tp.survey.enum.d.ts +51 -0
  85. package/lib/tp.survey.interface.d.ts +320 -0
  86. package/lib/tp.survey.method.d.ts +1 -0
  87. package/lib/tp.survey.module.d.ts +10 -0
  88. package/lib/tp.survey.type.d.ts +13 -0
  89. package/package.json +25 -0
  90. package/public-api.d.ts +9 -0
  91. package/styles/platform/component/survey.checkbox.scss +102 -0
  92. package/styles/platform/component/survey.radio.button.scss +34 -0
  93. package/styles/platform/survey.mixins.desktop.scss +146 -0
  94. package/styles/platform/survey.mixins.tablet.scss +132 -0
  95. package/styles/survey.mixins.scss +76 -0
  96. package/styles/survey.themes.scss +56 -0
  97. package/styles/theme/azure.blue.scss +54 -0
  98. package/styles/theme/cyan.orange.scss +54 -0
  99. package/styles/theme/rose.red.scss +54 -0
@@ -0,0 +1,320 @@
1
+ import { AdditionalAnswer, AdditionalAnswerCaptionPosition, AnswerT, LogicObject, SurveyType } from './tp.survey.type';
2
+ import { AdditionalAnswerType, ResultativeStatus, ValidStatus } from './tp.survey.enum';
3
+ import { Answer } from './core/tp.survey.answer/tp.survey.answer';
4
+ export interface AnswerChange {
5
+ guid: number;
6
+ isComplete: boolean;
7
+ answer: AnswerT;
8
+ additionalAnswers: Record<number, AdditionalAnswer>;
9
+ logicVars: LogicObject;
10
+ viewedAlternativeValues: Array<number>;
11
+ viewedSectionGuids: Array<number>;
12
+ alternativeSequenceClicks: Array<[number, number]>;
13
+ }
14
+ export interface IdbBaseParamsLanguage {
15
+ Value: number;
16
+ Caption: string;
17
+ isActive: boolean;
18
+ icon_svg_name: string;
19
+ back_button_caption: string;
20
+ next_button_caption: string;
21
+ }
22
+ export interface IdbBaseParamsRepositoryObject {
23
+ OriginalName: string;
24
+ QuestionaryName: string;
25
+ }
26
+ export interface IdbQuestionaryBaseParams {
27
+ ResultativeScript: string;
28
+ ResultativeScriptUser: string;
29
+ QuotaLimitDestinationQuestionGuid: number;
30
+ LanguageList: Array<IdbBaseParamsLanguage>;
31
+ RepositoryList: Array<IdbBaseParamsRepositoryObject>;
32
+ BaseHeight: number;
33
+ BaseWidth: number;
34
+ AlternativeMaxAnswersCount: number;
35
+ AlternativeMinAnswersCount: number;
36
+ MinInterviewTime: number;
37
+ MinTimeBetweenInterview: number;
38
+ AlternativeColumnCount: number;
39
+ ForceDesktopView: boolean;
40
+ SurveyTheme: string;
41
+ BlockScrollToNavigation: boolean;
42
+ Logo: Array<string>;
43
+ }
44
+ export interface IdbQuestionaryInfo {
45
+ updatetimestamp: Date;
46
+ name: string;
47
+ questionary_guid: number;
48
+ current_wave: number;
49
+ survey_options: IdbSurveyOptions;
50
+ last_update_timestamp?: Date;
51
+ repository_path?: string;
52
+ }
53
+ export interface IdbSurveyOptions {
54
+ attempt_limit: number;
55
+ reload_after_end: boolean;
56
+ save_not_result: boolean;
57
+ stop_after_quotas_full: boolean;
58
+ authorization_facebook: boolean;
59
+ authorization_instagram: boolean;
60
+ authorization_password: boolean;
61
+ available_on_tablet: boolean;
62
+ available_on_web: boolean;
63
+ }
64
+ export interface IdbMultilangObject {
65
+ CaptionHtml: string;
66
+ lang: number;
67
+ _SYS_CaptionHTML: string;
68
+ _SYS_CaptionRTF: string;
69
+ _SYS_htmlPlanText?: string;
70
+ }
71
+ export interface IdbTpBackGround {
72
+ CSSstyle: string;
73
+ Color: string;
74
+ Image: string;
75
+ PosH: string;
76
+ PosV: string;
77
+ Scale: string;
78
+ PercentSize: number;
79
+ }
80
+ export interface IdbAlternative {
81
+ EnableExpression: string;
82
+ EnableExpressionUser: string;
83
+ MultiLangCaptions: Array<IdbMultilangObject>;
84
+ Rotation: boolean;
85
+ SysName: string;
86
+ alias: string;
87
+ Value: number;
88
+ GroupNo: number;
89
+ BackGround: IdbTpBackGround;
90
+ PushBackground: IdbTpBackGround | undefined;
91
+ IsMute: boolean;
92
+ height: number;
93
+ width: number;
94
+ x: number;
95
+ y: number;
96
+ }
97
+ export interface IdbMQSectionItem {
98
+ CaptionPosition: string;
99
+ Alias: string;
100
+ EnableExpression: string;
101
+ IsRequired: boolean;
102
+ ItemType: number;
103
+ ItemValue: number;
104
+ MultiLangCaptions: Array<IdbMultilangObject>;
105
+ AdditionalAnswerlist: Array<any>;
106
+ NumberMaxValue: number;
107
+ NumberMinValue: number;
108
+ NumberOfDecimalPlaces: number;
109
+ SysName: string;
110
+ Weight: number;
111
+ SelectCompactView: boolean;
112
+ SelectAlternativeList: Array<any>;
113
+ SelectColCount: number;
114
+ SelectMaxAnswersCount: number;
115
+ SelectMinAnswersCount: number;
116
+ TextRowsCount: number;
117
+ TextRegularExpression: string;
118
+ Placeholder: string;
119
+ SelectAnswerValues?: Array<any>;
120
+ }
121
+ export interface IdbSection {
122
+ Alias: string;
123
+ SysName: string;
124
+ Rotation: boolean;
125
+ BackGround: IdbTpBackGround;
126
+ SectionNum: number;
127
+ SectionGuid: number;
128
+ RequireAnswer: boolean;
129
+ MQSectionItems: Array<IdbMQSectionItem>;
130
+ CaptionPosition: string;
131
+ RightBackground: IdbTpBackGround;
132
+ EnableExpression: string;
133
+ EnableExpressionUser: string;
134
+ MultiLangCaptions: Array<IdbMultilangObject>;
135
+ RequireAllAnswers: boolean;
136
+ MultiLangRightCaptions: Array<IdbMultilangObject>;
137
+ }
138
+ export interface IdbLogic {
139
+ DestinationQuestionGuid: number;
140
+ LogicText: string;
141
+ LogicTextUser: string;
142
+ }
143
+ export interface IdbRegion {
144
+ Value: number;
145
+ Text: string;
146
+ }
147
+ export interface IdbAdditionalAnswer {
148
+ readonly Value: number;
149
+ readonly SysName: string;
150
+ readonly AnswerType: AdditionalAnswerType;
151
+ MultiLangCaptions: Array<IdbMultilangObject>;
152
+ IsRequired: boolean;
153
+ CaptionPosition: AdditionalAnswerCaptionPosition;
154
+ EnableExpression: string;
155
+ EnableExpressionUser: string;
156
+ VisibleExpression: string;
157
+ VisibleExpressionUser: string;
158
+ TextMultiline: boolean;
159
+ NumberMinValue: number | null;
160
+ NumberMaxValue: number | null;
161
+ }
162
+ export interface IdbQuestion {
163
+ QuestionNum: number;
164
+ QuestionGuid: number;
165
+ MultiLangCaptions: Array<IdbMultilangObject>;
166
+ MultiLangCaptionsHelper: Array<IdbMultilangObject>;
167
+ QuestionType: string;
168
+ Alternativelist: Array<IdbAlternative>;
169
+ Sectionlist: Array<IdbSection>;
170
+ logiclist: Array<IdbLogic>;
171
+ RegionList: Array<IdbRegion>;
172
+ AdditionalAnswerlist: Array<IdbAdditionalAnswer>;
173
+ QuestionBackground: IdbTpBackGround;
174
+ Version: number;
175
+ SysName: string;
176
+ SysNameAlias: string;
177
+ BeforeExpression: string;
178
+ BeforeExpressionUser: string;
179
+ PostScript: string;
180
+ PostScriptUser: string;
181
+ ShowBtnBack: boolean;
182
+ ShowBtnNext: boolean;
183
+ BtnNextExpression: string;
184
+ BtnNextExpressionUser: string;
185
+ CaptionAlias: string;
186
+ AudioControlSec: number;
187
+ MinAnswerTime: number;
188
+ TimeDisplay: number;
189
+ OLMaxCount: number;
190
+ OLMinCount: number;
191
+ OLRegexp: string;
192
+ OLTypeTel: boolean;
193
+ ODMaxValue: number;
194
+ ODMinValue: number;
195
+ AlternativeAutoSize: boolean;
196
+ AlternativeAutoArrange: boolean;
197
+ AlternativeMinAnswersCount: number;
198
+ AlternativeMaxAnswersCount: number;
199
+ AlternativeColumnCount: number;
200
+ AlternativeHorizontalDistance: number;
201
+ AlternativeVerticalDistance: number;
202
+ AlternativeMarginTop: number;
203
+ AlternativeMarginLeft: number;
204
+ AlternativeHeight: number;
205
+ AlternativeWidth: number;
206
+ AlternativeTabletFontSize: number;
207
+ TabletViewAlternativeColumnCount: number;
208
+ MobileViewAlternativeColumnCount: number;
209
+ MultiSelect: boolean;
210
+ RequireAllAnswers: boolean;
211
+ SLSectionMinAnswersCount: number;
212
+ SLSectionMaxAnswersCount: number;
213
+ }
214
+ export interface IdbQuestionaryQuota {
215
+ quota_guid: number;
216
+ over_limit: number;
217
+ count_result_interview_for_this_qouta: number;
218
+ limit: number;
219
+ name: string;
220
+ expression: string;
221
+ }
222
+ export interface IdbQuestionaryQuota2dObject {
223
+ qs: Array<{
224
+ guid: number;
225
+ value: number;
226
+ }>;
227
+ qvg: number;
228
+ exp: string | null;
229
+ }
230
+ export interface IdbQuestionaryQuota2d {
231
+ vls: Array<IdbQuestionaryQuota2dObject>;
232
+ name: string;
233
+ base_guid: number;
234
+ }
235
+ export interface IdbQuestionary {
236
+ BaseParams: IdbQuestionaryBaseParams;
237
+ Info: IdbQuestionaryInfo;
238
+ Questions: Array<IdbQuestion>;
239
+ Quotas: Array<IdbQuestionaryQuota>;
240
+ Quotas2d: Array<IdbQuestionaryQuota2dObject>;
241
+ }
242
+ export interface IQuestionAnswer {
243
+ StartedAt: number;
244
+ FinishedAt: number;
245
+ QuestionGUID: number;
246
+ QuestionVersion: number;
247
+ AnswerValue: any;
248
+ AnswerAdditional: Record<number, AdditionalAnswer>;
249
+ ViewedAlternativeValues: Array<number>;
250
+ ViewedSectionGuids: Array<number>;
251
+ }
252
+ export interface IInterviewAutoSaveData {
253
+ interview_auto_save_id: string;
254
+ answer_list?: Array<IQuestionAnswer>;
255
+ logic_vars?: Array<IInterviewLogicVar>;
256
+ question_guid?: number;
257
+ }
258
+ export interface ICurrentQuestionAnswer {
259
+ question?: Answer;
260
+ sections?: Array<Answer | undefined>;
261
+ }
262
+ export interface IInterviewLogicVar {
263
+ nm: string;
264
+ vl: any;
265
+ }
266
+ export interface IInterviewAdditionalInfo {
267
+ QuestionaryUpdateTimestamp: number | null;
268
+ surveyType?: SurveyType;
269
+ phoneNumber?: string;
270
+ catiInterviewerId?: string;
271
+ referrer?: string;
272
+ trackId?: string;
273
+ interviewAutoSaveId?: string;
274
+ last_autosave_question_guid?: number;
275
+ clientIp?: string;
276
+ clientHeaders?: {
277
+ [key: string]: string;
278
+ };
279
+ [key: string]: any;
280
+ }
281
+ export interface IInterviewData {
282
+ Language: number;
283
+ SpotId: number;
284
+ DeviceId: number;
285
+ DeviceType: number;
286
+ Resultative: ResultativeStatus;
287
+ Valid: ValidStatus;
288
+ Wave: number;
289
+ QuestionaryName: string;
290
+ QuestionaryGuid: number;
291
+ StartedAt: number;
292
+ FinishedAt: number;
293
+ TineZoneBias: number;
294
+ ResultatDirty: boolean;
295
+ Answers: {
296
+ AnsversList: Array<any>;
297
+ };
298
+ additional_info: IInterviewAdditionalInfo;
299
+ ResultQuotaGuids?: Array<{
300
+ base_guid: number;
301
+ result: boolean;
302
+ }>;
303
+ ResultQuota2dGuids?: Array<any>;
304
+ LogicVars: Array<IInterviewLogicVar>;
305
+ UniqueDeviceText?: string;
306
+ SpotGuid?: number;
307
+ }
308
+ export interface IInterviewProgressEventData {
309
+ logicVars: LogicObject;
310
+ answerList: Array<Answer>;
311
+ }
312
+ export interface IInterviewProgressEvent {
313
+ currentNum: number;
314
+ questionsCount: number;
315
+ questionGuid: number;
316
+ interviewData: IInterviewProgressEventData;
317
+ }
318
+ export interface IInterviewStartedEvent {
319
+ questionary: IdbQuestionary;
320
+ }
@@ -0,0 +1 @@
1
+ export declare function executeLogicExpression(expression: string, vars: Record<string, unknown>): Function;
@@ -0,0 +1,10 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import { TpSurveyConfig } from './tp.survey.config';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./icons/default.icons/default.icons.module";
5
+ export declare class TpSurveyModule {
6
+ static forRoot(config: TpSurveyConfig): ModuleWithProviders<TpSurveyModule>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TpSurveyModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TpSurveyModule, never, [typeof i1.DefaultIconsModule], never>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<TpSurveyModule>;
10
+ }
@@ -0,0 +1,13 @@
1
+ export type MissingValueT = -97;
2
+ export type TpSurveyPlatform = 'browser' | 'device';
3
+ export type TpSurveySupportLanguage = 'uk' | 'en';
4
+ export type NavigationButtonDirection = 'back' | 'next';
5
+ export type AdditionalAnswer = number | string | boolean | null | MissingValueT;
6
+ export type AnswerT = number | string | boolean | null | MissingValueT | Array<number> | AnswerSlType;
7
+ export type AdditionalAnswerCaptionPosition = 'bottom' | 'left' | 'right' | 'top';
8
+ export type AnswerSlType = {
9
+ [key: string]: Array<number> | number;
10
+ };
11
+ export type SurveyType = 'CATI' | 'ONLINE';
12
+ export type TpSurveyTheme = 'cyan-orange-light' | 'cyan-orange-dark' | 'rose-red-light' | 'rose-red-dark' | 'azure-blue-light' | 'azure-blue-dark';
13
+ export type LogicObject = Record<string, unknown>;
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@touchpoll/tp-survey",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": ">=17.0.0",
6
+ "@angular/core": ">=17.0.0"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.3.0"
10
+ },
11
+ "sideEffects": false,
12
+ "module": "fesm2022/touchpoll-tp-survey.mjs",
13
+ "typings": "index.d.ts",
14
+ "exports": {
15
+ "./package.json": {
16
+ "default": "./package.json"
17
+ },
18
+ ".": {
19
+ "types": "./index.d.ts",
20
+ "esm2022": "./esm2022/touchpoll-tp-survey.mjs",
21
+ "esm": "./esm2022/touchpoll-tp-survey.mjs",
22
+ "default": "./fesm2022/touchpoll-tp-survey.mjs"
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,9 @@
1
+ export * from './lib/tp.survey.module';
2
+ export * from './lib/component/survey.play/survey.play.component';
3
+ export * from './lib/component/survey.question.preview/survey.question.preview.component';
4
+ export * from './lib/tp.survey.config';
5
+ export * from './lib/tp.survey.const';
6
+ export * from './lib/tp.survey.type';
7
+ export * from './lib/tp.survey.interface';
8
+ export * from './lib/tp.survey.enum';
9
+ export * from './lib/tp.survey.method';
@@ -0,0 +1,102 @@
1
+ @use "sass:map";
2
+
3
+ @mixin link-survey-checkbox($theme) {
4
+
5
+ $custom-colors: map-get($theme, custom-colors);
6
+
7
+ .tp-survey-checkbox{
8
+ --mdc-checkbox-selected-checkmark-color: #fff;
9
+
10
+ &.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__background{
11
+ height: 30px;
12
+ width: 30px;
13
+ top: 5px;
14
+ left: 5px;
15
+ }
16
+
17
+ &.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{
18
+ border: unset;
19
+ background-color: #3c3c46;
20
+ border-radius: 8px;
21
+ }
22
+
23
+ &.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background{
24
+ background-color: map-get($custom-colors, survey-red);
25
+ border-radius: 8px;
26
+ border: none ;
27
+ }
28
+
29
+ .mdc-checkbox .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{
30
+ border: unset;
31
+ background-color: #3c3c46;
32
+ border-radius: 8px;
33
+ opacity: 0.4;
34
+ }
35
+
36
+ &.mat-mdc-checkbox.mat-mdc-checkbox-disabled label {
37
+ opacity: 0.4;
38
+ }
39
+
40
+ &.mat-checkbox-checked.mat-accent .mat-checkbox-background {
41
+ background-color: map-get($custom-colors, survey-red);
42
+ border-radius: 8px;
43
+ }
44
+
45
+ &.mdc-checkbox__checkmark{
46
+ transform: scale(0.7);
47
+ }
48
+
49
+ &.mat-checkbox-layout{
50
+ align-items: center;
51
+ white-space: normal;
52
+ }
53
+ }
54
+
55
+
56
+
57
+ .tp-survey-checkbox-small{
58
+ &.mat-mdc-checkbox .mdc-checkbox {
59
+ padding: 0;
60
+
61
+ .mdc-checkbox__native-control{
62
+ top: 0;
63
+ width: 18px;
64
+ height: 18px;
65
+ }
66
+ }
67
+
68
+ &.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__background{
69
+ height: 18px;
70
+ width: 18px;
71
+ top: 0;
72
+ left: 0;
73
+ }
74
+
75
+ &.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{
76
+ border: unset;
77
+ background-color: #3c3c46;
78
+ border-radius: 8px;
79
+ }
80
+
81
+ &.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background{
82
+ background-color: map-get($custom-colors, survey-red);
83
+ border-radius: 8px;
84
+ border: none ;
85
+ }
86
+
87
+ &.mat-checkbox-checked.mat-accent .mat-checkbox-background {
88
+ background-color: map-get($custom-colors, survey-red);
89
+ border-radius: 8px;
90
+ }
91
+
92
+ &.mdc-checkbox__checkmark{
93
+ transform: scale(0.7);
94
+ }
95
+
96
+ &.mat-checkbox-layout{
97
+ align-items: center;
98
+ white-space: normal;
99
+ }
100
+ }
101
+
102
+ }
@@ -0,0 +1,34 @@
1
+ @use "sass:map";
2
+
3
+ @mixin link-survey-radio-button($theme) {
4
+
5
+ $custom-colors: map-get($theme, custom-colors);
6
+
7
+ .tp-survey-radio-button{
8
+
9
+ &.mat-mdc-radio-button .mdc-form-field{
10
+ color: inherit;
11
+ }
12
+
13
+ //&.mat-mdc-radio-button .mdc-radio .mdc-radio__native-control:enabled+.mdc-radio__background .mdc-radio__outer-circle{
14
+ // border-color: map-get($custom-colors, survey-input-border)
15
+ //}
16
+ &.mat-mdc-radio-button .mdc-radio .mdc-radio__native-control:enabled+.mdc-radio__background .mdc-radio__inner-circle{
17
+ border-color: map-get($custom-colors, survey-red);
18
+ }
19
+
20
+ > .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element {
21
+ background-color: rgba(255, 1, 23, 0.26)
22
+ }
23
+
24
+ .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle{
25
+ transform: scale(.7);
26
+ }
27
+
28
+ .mat-radio-label {
29
+ white-space: normal;
30
+ }
31
+ }
32
+ }
33
+
34
+
@@ -0,0 +1,146 @@
1
+ @use "sass:map";
2
+ @use "component/survey.checkbox" as mixinCheckbox;
3
+ @use "component/survey.radio.button" as mixinRadioButton;
4
+
5
+ @mixin link-desktop($theme) {
6
+ $custom-colors: map-get($theme, custom-colors);
7
+
8
+ //@include mixinCheckbox.link-survey-checkbox($theme);
9
+ //@include mixinRadioButton.link-survey-radio-button($theme);
10
+
11
+ p{
12
+ margin: 0;
13
+ }
14
+
15
+ .container-captions {
16
+ min-height: 75px;
17
+ padding: 20px 0;
18
+ }
19
+
20
+ .navigation-button{
21
+ //color: map-get($custom-colors, survey-desktop-caption-color);
22
+ .navigation-button-label{
23
+ font-size: 1.3em;
24
+ }
25
+ }
26
+
27
+ .alternative-sl{
28
+ .mdc-label{
29
+ display: none;
30
+ }
31
+ }
32
+
33
+
34
+ .container-ms-ss-alternatives{
35
+ display: grid;
36
+ justify-content: center;
37
+ gap: 0.5em;
38
+
39
+ .alternative-ss-ms-caption{
40
+ color: map-get($custom-colors, survey-font);
41
+ font-size: 1.1em;
42
+ }
43
+ }
44
+
45
+ .alternative-sl-caption{
46
+ color: map-get($custom-colors, survey-font);
47
+ }
48
+
49
+ .mobile-view-section-caption{
50
+ border-bottom-color: map-get($custom-colors, survey-caption-delimiter);;
51
+ }
52
+
53
+ //
54
+ //.tp-view-desktop {
55
+ // //width: 100%;
56
+ // //height: 100%;
57
+ // //max-width: 896px;
58
+ // //margin: 0 auto;
59
+ //
60
+ //
61
+ //
62
+ //
63
+ // .mat-mdc-button:not(:disabled) {
64
+ // color: inherit;
65
+ // height: 64px;
66
+ // }
67
+ //
68
+ // //.navigation-button-label{
69
+ // // font-size: 1.6em;
70
+ // //}
71
+ //
72
+ // .QuestionCaptionFont{
73
+ // font-size: 1.2em;
74
+ // line-height: 1.25;
75
+ // color: map-get($custom-colors, survey-desktop-caption-color);
76
+ // width: 100%;
77
+ // text-align: center;
78
+ // }
79
+ //
80
+ // .QuestionCaptionHelperFont{
81
+ // font-size: 1.1em;
82
+ // font-style: italic;
83
+ // color: map-get($custom-colors, survey-caption-helper);
84
+ // }
85
+ //
86
+ // .AlternativeFont{
87
+ // font-size: 1.4em;
88
+ // text-align: left !important;
89
+ // }
90
+ //
91
+ // .mat-radio-label-content{
92
+ // display: inline-flex;
93
+ // }
94
+ //
95
+ // .icon-is-mute{
96
+ // height: 1em;
97
+ // margin: 0.2em;
98
+ // }
99
+ // .icon-is-mute svg path, line{
100
+ // stroke: #9a9a9a;
101
+ // }
102
+ //
103
+ // app-answer-ms .mat-checkbox-label{
104
+ // display: inline-flex;
105
+ // }
106
+ //
107
+ // .ss-ms-alternative-background-image{
108
+ // max-height: 250px;
109
+ // }
110
+ //
111
+ //
112
+ //
113
+ //
114
+ //
115
+ //
116
+ //
117
+ // app-answer-additional{
118
+ //
119
+ // .mdc-text-field .mdc-text-field__input{
120
+ // color: map-get($custom-colors, survey-desktop-input-color);
121
+ // }
122
+ //
123
+ // .mdc-text-field--outlined {
124
+ // //поменяем цвет border
125
+ // .mdc-notched-outline__leading, .mdc-notched-outline__trailing{
126
+ // border-color: map-get($custom-colors, survey-input-border);
127
+ // }
128
+ //
129
+ // //стандартные material input контрлолы сделаем уже.
130
+ // .mat-mdc-form-field-infix{
131
+ // padding-top: 0.5em;
132
+ // padding-bottom: 0.5em;
133
+ // min-height: 36px;
134
+ // }
135
+ //
136
+ //
137
+ // }
138
+ //
139
+ // .answer-caption p{
140
+ // margin: 0;
141
+ // }
142
+ // }
143
+ //
144
+ //}
145
+
146
+ }