@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,70 @@
1
+ import { Answer } from '../tp.survey.answer/tp.survey.answer';
2
+ import { MISSING_VALUE } from '../../tp.survey.const';
3
+ import { Injectable } from '@angular/core';
4
+ import * as i0 from "@angular/core";
5
+ export class TpSurveyInterviewService {
6
+ constructor() {
7
+ this.#answerList = [];
8
+ this.startedAt = 0;
9
+ }
10
+ #answerList;
11
+ createAnswer(guid, version) {
12
+ //ишем ответ с таким же номером как и в вопросе
13
+ let answer = this.findAnswerByGuid(guid);
14
+ //если ответа с таким номером вопроса нет, создадим
15
+ if (!answer) {
16
+ answer = new Answer(guid, version);
17
+ this.#answerList.push(answer);
18
+ }
19
+ //вернём то, что создали или то что нашли
20
+ return answer;
21
+ }
22
+ findAnswerByGuid(guid) {
23
+ return this.#answerList.find(a => a.QuestionGUID === guid);
24
+ }
25
+ questionIsComplete(guid) {
26
+ const answer = this.findAnswerByGuid(guid);
27
+ return !answer ? false : answer.answerIsComplete;
28
+ }
29
+ getAnswerList() {
30
+ return this.#answerList;
31
+ }
32
+ overrideAnswers(answers) {
33
+ //не будем трогать вопросы которые = -97
34
+ answers.filter(answer => answer.AnswerValue !== MISSING_VALUE).forEach(oldAnswer => {
35
+ const newAnswer = this.#answerList.find(aa => aa.QuestionGUID === oldAnswer.QuestionGUID);
36
+ if (!!newAnswer) {
37
+ //вернём основной ответ
38
+ newAnswer.AnswerValue = oldAnswer.AnswerValue;
39
+ newAnswer.StartedAt = oldAnswer.StartedAt;
40
+ newAnswer.FinishedAt = oldAnswer.FinishedAt;
41
+ //С дополнительными ответами сложнее, они помечены readonly. Поэтому сначала удалим, потом добавим
42
+ for (const prop of Object.getOwnPropertyNames(newAnswer.AnswerAdditional)) {
43
+ // delete newAnswer.AnswerAdditional[prop];
44
+ }
45
+ //добавляем старые значения
46
+ // for (const [key, value] of Object.entries(oldAnswer.AnswerAdditional)) {
47
+ // newAnswer.AnswerAdditional[key] = value;
48
+ // }
49
+ //
50
+ // if (Array.isArray(oldAnswer['AlternativeSequenceClicks'])) {
51
+ // newAnswer['AlternativeSequenceClicks'] = Array.from(oldAnswer['AlternativeSequenceClicks']);
52
+ // }
53
+ //То же самое с ViewedAlternativeValues и ViewedSectionGuids. Т.к. они readonly сначала удалим, потом добавим
54
+ newAnswer.ViewedAlternativeValues.length = 0;
55
+ oldAnswer.ViewedAlternativeValues.forEach(oa => newAnswer.ViewedAlternativeValues.push(oa));
56
+ newAnswer.ViewedSectionGuids.length = 0;
57
+ oldAnswer.ViewedSectionGuids.forEach(oa => newAnswer.ViewedSectionGuids.push(oa));
58
+ }
59
+ });
60
+ }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TpSurveyInterviewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TpSurveyInterviewService, providedIn: 'root' }); }
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TpSurveyInterviewService, decorators: [{
65
+ type: Injectable,
66
+ args: [{
67
+ providedIn: 'root'
68
+ }]
69
+ }] });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAuc3VydmV5LmludGVydmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHAuc3VydmV5L3NyYy9saWIvY29yZS90cC5zdXJ2ZXkuaW50ZXJ2aWV3L3RwLnN1cnZleS5pbnRlcnZpZXcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFFNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBTXpDLE1BQU0sT0FBTyx3QkFBd0I7SUFIckM7UUFJRSxnQkFBVyxHQUFtQixFQUFFLENBQUM7UUFDakMsY0FBUyxHQUFXLENBQUMsQ0FBQztLQThEdkI7SUEvREMsV0FBVyxDQUFzQjtJQUdqQyxZQUFZLENBQUMsSUFBWSxFQUFFLE9BQWU7UUFDeEMsK0NBQStDO1FBQy9DLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QyxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QseUNBQXlDO1FBQ3pDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFZO1FBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUNuRCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQStCO1FBQzdDLHdDQUF3QztRQUN4QyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsS0FBSyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDakYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxRixJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDaEIsdUJBQXVCO2dCQUN2QixTQUFTLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUM7Z0JBRTlDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztnQkFDMUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO2dCQUU1QyxrR0FBa0c7Z0JBQ2xHLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7b0JBRTFFLDJDQUEyQztnQkFDN0MsQ0FBQztnQkFDRCwyQkFBMkI7Z0JBQzNCLDJFQUEyRTtnQkFDM0UsNkNBQTZDO2dCQUM3QyxJQUFJO2dCQUNKLEVBQUU7Z0JBQ0YsK0RBQStEO2dCQUMvRCxpR0FBaUc7Z0JBQ2pHLElBQUk7Z0JBRUosNkdBQTZHO2dCQUM3RyxTQUFTLENBQUMsdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDN0MsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFFNUYsU0FBUyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ3hDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEYsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EvRFUsd0JBQXdCO2tIQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTs7MkZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5zd2VyfSBmcm9tICcuLi90cC5zdXJ2ZXkuYW5zd2VyL3RwLnN1cnZleS5hbnN3ZXInO1xyXG5pbXBvcnQge0lRdWVzdGlvbkFuc3dlcn0gZnJvbSAnLi4vLi4vdHAuc3VydmV5LmludGVyZmFjZSc7XHJcbmltcG9ydCB7TUlTU0lOR19WQUxVRX0gZnJvbSAnLi4vLi4vdHAuc3VydmV5LmNvbnN0JztcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcFN1cnZleUNvcmVTZXJ2aWNlfSBmcm9tICcuLi90cC5zdXJ2ZXkuY29yZS90cC5zdXJ2ZXkuY29yZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRwU3VydmV5SW50ZXJ2aWV3U2VydmljZSB7XHJcbiAgI2Fuc3dlckxpc3Q6IEFycmF5PEFuc3dlcj4gID0gW107XHJcbiAgc3RhcnRlZEF0OiBudW1iZXIgPSAwO1xyXG5cclxuICBjcmVhdGVBbnN3ZXIoZ3VpZDogbnVtYmVyLCB2ZXJzaW9uOiBudW1iZXIpOiBBbnN3ZXIge1xyXG4gICAgLy/QuNGI0LXQvCDQvtGC0LLQtdGCINGBINGC0LDQutC40Lwg0LbQtSDQvdC+0LzQtdGA0L7QvCDQutCw0Log0Lgg0LIg0LLQvtC/0YDQvtGB0LVcclxuICAgIGxldCBhbnN3ZXIgPSB0aGlzLmZpbmRBbnN3ZXJCeUd1aWQoZ3VpZCk7XHJcblxyXG4gICAgLy/QtdGB0LvQuCDQvtGC0LLQtdGC0LAg0YEg0YLQsNC60LjQvCDQvdC+0LzQtdGA0L7QvCDQstC+0L/RgNC+0YHQsCDQvdC10YIsINGB0L7Qt9C00LDQtNC40LxcclxuICAgIGlmICghYW5zd2VyKSB7XHJcbiAgICAgIGFuc3dlciA9IG5ldyBBbnN3ZXIoZ3VpZCwgdmVyc2lvbilcclxuICAgICAgdGhpcy4jYW5zd2VyTGlzdC5wdXNoKGFuc3dlcik7XHJcbiAgICB9XHJcbiAgICAvL9Cy0LXRgNC90ZHQvCDRgtC+LCDRh9GC0L4g0YHQvtC30LTQsNC70Lgg0LjQu9C4INGC0L4g0YfRgtC+INC90LDRiNC70LhcclxuICAgIHJldHVybiBhbnN3ZXI7XHJcbiAgfVxyXG5cclxuICBmaW5kQW5zd2VyQnlHdWlkKGd1aWQ6IG51bWJlcik6IEFuc3dlciB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy4jYW5zd2VyTGlzdC5maW5kKGEgPT4gYS5RdWVzdGlvbkdVSUQgPT09IGd1aWQpO1xyXG4gIH1cclxuXHJcbiAgcXVlc3Rpb25Jc0NvbXBsZXRlKGd1aWQ6IG51bWJlcik6IGJvb2xlYW57XHJcbiAgICBjb25zdCBhbnN3ZXIgPSB0aGlzLmZpbmRBbnN3ZXJCeUd1aWQoZ3VpZCk7XHJcbiAgICByZXR1cm4gIWFuc3dlciA/IGZhbHNlIDogYW5zd2VyLmFuc3dlcklzQ29tcGxldGU7XHJcbiAgfVxyXG5cclxuICBnZXRBbnN3ZXJMaXN0KCk6IEFycmF5PEFuc3dlcj57XHJcbiAgICByZXR1cm4gdGhpcy4jYW5zd2VyTGlzdDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlQW5zd2VycyhhbnN3ZXJzOiBBcnJheTxJUXVlc3Rpb25BbnN3ZXI+KTogdm9pZHtcclxuICAgIC8v0L3QtSDQsdGD0LTQtdC8INGC0YDQvtCz0LDRgtGMINCy0L7Qv9GA0L7RgdGLINC60L7RgtC+0YDRi9C1ID0gLTk3XHJcbiAgICBhbnN3ZXJzLmZpbHRlcihhbnN3ZXIgPT4gYW5zd2VyLkFuc3dlclZhbHVlICE9PSBNSVNTSU5HX1ZBTFVFKS5mb3JFYWNoKG9sZEFuc3dlciA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0Fuc3dlciA9IHRoaXMuI2Fuc3dlckxpc3QuZmluZChhYSA9PiBhYS5RdWVzdGlvbkdVSUQgPT09IG9sZEFuc3dlci5RdWVzdGlvbkdVSUQpO1xyXG4gICAgICBpZiAoISFuZXdBbnN3ZXIpIHtcclxuICAgICAgICAvL9Cy0LXRgNC90ZHQvCDQvtGB0L3QvtCy0L3QvtC5INC+0YLQstC10YJcclxuICAgICAgICBuZXdBbnN3ZXIuQW5zd2VyVmFsdWUgPSBvbGRBbnN3ZXIuQW5zd2VyVmFsdWU7XHJcblxyXG4gICAgICAgIG5ld0Fuc3dlci5TdGFydGVkQXQgPSBvbGRBbnN3ZXIuU3RhcnRlZEF0O1xyXG4gICAgICAgIG5ld0Fuc3dlci5GaW5pc2hlZEF0ID0gb2xkQW5zd2VyLkZpbmlzaGVkQXQ7XHJcblxyXG4gICAgICAgIC8v0KEg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQvNC4INC+0YLQstC10YLQsNC80Lgg0YHQu9C+0LbQvdC10LUsINC+0L3QuCDQv9C+0LzQtdGH0LXQvdGLIHJlYWRvbmx5LiDQn9C+0Y3RgtC+0LzRgyDRgdC90LDRh9Cw0LvQsCDRg9C00LDQu9C40LwsINC/0L7RgtC+0Lwg0LTQvtCx0LDQstC40LxcclxuICAgICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMobmV3QW5zd2VyLkFuc3dlckFkZGl0aW9uYWwpKSB7XHJcblxyXG4gICAgICAgICAgLy8gZGVsZXRlIG5ld0Fuc3dlci5BbnN3ZXJBZGRpdGlvbmFsW3Byb3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL9C00L7QsdCw0LLQu9GP0LXQvCDRgdGC0LDRgNGL0LUg0LfQvdCw0YfQtdC90LjRj1xyXG4gICAgICAgIC8vIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9sZEFuc3dlci5BbnN3ZXJBZGRpdGlvbmFsKSkge1xyXG4gICAgICAgIC8vICAgbmV3QW5zd2VyLkFuc3dlckFkZGl0aW9uYWxba2V5XSA9IHZhbHVlO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vIGlmIChBcnJheS5pc0FycmF5KG9sZEFuc3dlclsnQWx0ZXJuYXRpdmVTZXF1ZW5jZUNsaWNrcyddKSkge1xyXG4gICAgICAgIC8vICAgbmV3QW5zd2VyWydBbHRlcm5hdGl2ZVNlcXVlbmNlQ2xpY2tzJ10gPSBBcnJheS5mcm9tKG9sZEFuc3dlclsnQWx0ZXJuYXRpdmVTZXF1ZW5jZUNsaWNrcyddKTtcclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIC8v0KLQviDQttC1INGB0LDQvNC+0LUg0YEgVmlld2VkQWx0ZXJuYXRpdmVWYWx1ZXMg0LggVmlld2VkU2VjdGlvbkd1aWRzLiDQoi7Qui4g0L7QvdC4IHJlYWRvbmx5INGB0L3QsNGH0LDQu9CwINGD0LTQsNC70LjQvCwg0L/QvtGC0L7QvCDQtNC+0LHQsNCy0LjQvFxyXG4gICAgICAgIG5ld0Fuc3dlci5WaWV3ZWRBbHRlcm5hdGl2ZVZhbHVlcy5sZW5ndGggPSAwO1xyXG4gICAgICAgIG9sZEFuc3dlci5WaWV3ZWRBbHRlcm5hdGl2ZVZhbHVlcy5mb3JFYWNoKG9hID0+IG5ld0Fuc3dlci5WaWV3ZWRBbHRlcm5hdGl2ZVZhbHVlcy5wdXNoKG9hKSk7XHJcblxyXG4gICAgICAgIG5ld0Fuc3dlci5WaWV3ZWRTZWN0aW9uR3VpZHMubGVuZ3RoID0gMDtcclxuICAgICAgICBvbGRBbnN3ZXIuVmlld2VkU2VjdGlvbkd1aWRzLmZvckVhY2gob2EgPT4gbmV3QW5zd2VyLlZpZXdlZFNlY3Rpb25HdWlkcy5wdXNoKG9hKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,43 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { LOGIC_FUNC_TEXT } from '../../tp.survey.const';
3
+ import * as i0 from "@angular/core";
4
+ export class TpSurveyLogicService {
5
+ #vars = Object.create(null);
6
+ get vars() {
7
+ return this.#vars;
8
+ }
9
+ setLogicValue(varName, value) {
10
+ this.#vars[varName] = value;
11
+ }
12
+ getLogicVars() {
13
+ return { ...this.#vars };
14
+ }
15
+ executeLogic(expression) {
16
+ try {
17
+ return !expression ? true : new Function(`${LOGIC_FUNC_TEXT} return ${expression}`).call(this.#vars);
18
+ }
19
+ catch (e) {
20
+ return false;
21
+ }
22
+ }
23
+ executePostScript(expression) {
24
+ try {
25
+ if (!expression) {
26
+ return;
27
+ }
28
+ new Function(`${LOGIC_FUNC_TEXT} ${expression}`).call(this.#vars);
29
+ }
30
+ catch (e) {
31
+ console.log(e);
32
+ }
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TpSurveyLogicService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TpSurveyLogicService, providedIn: 'root' }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TpSurveyLogicService, decorators: [{
38
+ type: Injectable,
39
+ args: [{
40
+ providedIn: 'root'
41
+ }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAuc3VydmV5LmxvZ2ljLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cC5zdXJ2ZXkvc3JjL2xpYi9jb3JlL3RwLnN1cnZleS5sb2dpYy90cC5zdXJ2ZXkubG9naWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNdEQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixLQUFLLEdBQWdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZSxFQUFFLEtBQVU7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFrQjtRQUM3QixJQUFJLENBQUM7WUFDSCxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLElBQUksUUFBUSxDQUFDLEdBQUcsZUFBZSxXQUFXLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxVQUFrQjtRQUNsQyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsVUFBVSxFQUFHLENBQUM7Z0JBQ2pCLE9BQU87WUFDVCxDQUFDO1lBQ0QsSUFBSSxRQUFRLENBQUMsR0FBRyxlQUFlLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQzs4R0FoQ1Usb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TE9HSUNfRlVOQ19URVhUfSBmcm9tICcuLi8uLi90cC5zdXJ2ZXkuY29uc3QnO1xyXG5pbXBvcnQge0xvZ2ljT2JqZWN0fSBmcm9tICcuLi8uLi90cC5zdXJ2ZXkudHlwZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcFN1cnZleUxvZ2ljU2VydmljZSB7XHJcbiAgI3ZhcnM6IExvZ2ljT2JqZWN0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcclxuXHJcbiAgZ2V0IHZhcnMoKTogb2JqZWN0IHtcclxuICAgIHJldHVybiB0aGlzLiN2YXJzO1xyXG4gIH1cclxuXHJcbiAgc2V0TG9naWNWYWx1ZSh2YXJOYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuI3ZhcnNbdmFyTmFtZV0gPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldExvZ2ljVmFycygpOiBMb2dpY09iamVjdHtcclxuICAgIHJldHVybiB7Li4udGhpcy4jdmFyc307XHJcbiAgfVxyXG5cclxuICBleGVjdXRlTG9naWMoZXhwcmVzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICB0cnkge1xyXG4gICAgICByZXR1cm4gIWV4cHJlc3Npb24gPyB0cnVlIDogIG5ldyBGdW5jdGlvbihgJHtMT0dJQ19GVU5DX1RFWFR9IHJldHVybiAke2V4cHJlc3Npb259YCkuY2FsbCh0aGlzLiN2YXJzKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZVBvc3RTY3JpcHQoZXhwcmVzc2lvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoIWV4cHJlc3Npb24gKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIG5ldyBGdW5jdGlvbihgJHtMT0dJQ19GVU5DX1RFWFR9ICR7ZXhwcmVzc2lvbn1gKS5jYWxsKHRoaXMuI3ZhcnMpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,130 @@
1
+ import { ContentChildren, DestroyRef, Directive, effect, ElementRef, inject, input } from '@angular/core';
2
+ import { ViewModel } from '../../tp.survey.enum';
3
+ import { BASE_HEIGHT, BASE_WIDTH } from '../../tp.survey.const';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
+ import { map } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/layout";
8
+ export class AlternativesContainerDirective {
9
+ #destroyRef;
10
+ constructor(_renderer, elementRef, _breakpointObserver) {
11
+ this._renderer = _renderer;
12
+ this.elementRef = elementRef;
13
+ this._breakpointObserver = _breakpointObserver;
14
+ this.question = input.required({ alias: 'tpSurveyAlternativesContainer' });
15
+ this.viewModel = input.required({ alias: 'containerViewModel' });
16
+ this.#destroyRef = inject(DestroyRef);
17
+ effect(() => {
18
+ if (this.viewModel() === ViewModel.vmTablet) {
19
+ this.#updateTabletLayout();
20
+ }
21
+ else {
22
+ this.#updateDesktopLayout();
23
+ }
24
+ });
25
+ }
26
+ #updateDesktopLayout() {
27
+ this._breakpointObserver.observe(["(max-width: 480px)"]).pipe(map((result) => result.matches), takeUntilDestroyed(this.#destroyRef)).subscribe((isMobile) => {
28
+ let columnCount;
29
+ if (isMobile) {
30
+ columnCount = this.question().MobileViewAlternativeColumnCount || 1; //if 0 will be 1
31
+ }
32
+ else {
33
+ columnCount = this.question().AlternativeColumnCount || 1; //if 0 will be 1
34
+ }
35
+ this._renderer.setStyle(this.elementRef.nativeElement, 'grid-template-columns', `repeat(${columnCount}, 10fr)`);
36
+ });
37
+ }
38
+ #updateTabletLayout() {
39
+ if (!this.alternatives) {
40
+ return;
41
+ }
42
+ if (this.viewModel() === ViewModel.vmTablet) {
43
+ const question = this.question();
44
+ const transformToPer = (newVal, containerSideSize) => newVal * 100 / containerSideSize; // превращает размер px в %
45
+ const containerWidthFull = this.elementRef.nativeElement.offsetWidth;
46
+ const containerHeightFull = this.elementRef.nativeElement.offsetHeight;
47
+ const alternativeColumnCount = question.TabletViewAlternativeColumnCount ?? 1;
48
+ const horizontalRatio = containerWidthFull / BASE_WIDTH;
49
+ const verticalRatio = containerHeightFull / BASE_HEIGHT;
50
+ const maxAlternativeWidth = containerWidthFull * 0.7; // для авторазмера установим максимальный размер альтернативы в 70% от доступной длинны контейнера
51
+ const alternativesCount = Math.max(this.alternatives.length, 1);
52
+ const horizontalDistance = question.AlternativeHorizontalDistance ?? 10 * horizontalRatio;
53
+ const verticalDistance = (question.AlternativeVerticalDistance ?? 10) * verticalRatio;
54
+ const marginTop = question.AlternativeMarginTop ?? 10 * verticalRatio;
55
+ const marginLeft = (question.AlternativeMarginLeft ?? 0) * horizontalRatio;
56
+ const columnCount = alternativeColumnCount > alternativesCount ? alternativesCount : alternativeColumnCount;
57
+ const rowCount = Math.round(alternativesCount / columnCount);
58
+ const defaultHorizontalPadding = 10 * horizontalRatio;
59
+ let width = 0;
60
+ let height = 0;
61
+ if (question.AlternativeAutoSize ?? true) { // если авторазмер, то высоту и ширину считаем автоматом
62
+ const marginsWidth = horizontalDistance * (columnCount - 1) + defaultHorizontalPadding * 2;
63
+ width = Math.min((containerWidthFull - marginsWidth) / columnCount, maxAlternativeWidth);
64
+ height = this.alternatives.reduce((maxHeight, alt) => {
65
+ const altWidthPercent = transformToPer(width, containerWidthFull);
66
+ this._renderer.setStyle(alt.nativeElement, 'width', `${altWidthPercent}%`);
67
+ return Math.max(maxHeight, alt.nativeElement.clientHeight);
68
+ }, 0);
69
+ }
70
+ else { // если авторазмер отключён, размеры берём из настроек
71
+ width = question.AlternativeWidth ?? 300;
72
+ height = question.AlternativeHeight ?? 50;
73
+ }
74
+ const deltaVertical = containerHeightFull - height * rowCount - verticalDistance * (rowCount - 1);
75
+ const deltaHorizontal = (containerWidthFull - width * columnCount - horizontalDistance * (columnCount - 1)) / 2 - defaultHorizontalPadding;
76
+ let rowNum = -1;
77
+ let colNum = 0;
78
+ this.alternatives.forEach((alt, index) => {
79
+ let left = 0;
80
+ let top = 0;
81
+ if (question.AlternativeAutoArrange) {
82
+ const isNewRow = (index) % columnCount === 0;
83
+ if (isNewRow) {
84
+ rowNum++;
85
+ colNum = 0;
86
+ }
87
+ left = marginLeft + colNum * width + colNum * horizontalDistance + deltaHorizontal + defaultHorizontalPadding;
88
+ top = marginTop + rowNum * height + rowNum * verticalDistance + deltaVertical / 2;
89
+ colNum++;
90
+ }
91
+ else {
92
+ const altObj = question.Alternativelist[index];
93
+ if (!!altObj) {
94
+ left = altObj.x;
95
+ top = altObj.y;
96
+ if (!question.AlternativeAutoSize) {
97
+ width = altObj.width > 0 ? altObj.width : question.AlternativeWidth;
98
+ height = altObj.height > 0 ? altObj.height : question.AlternativeHeight;
99
+ }
100
+ }
101
+ }
102
+ this._renderer.setStyle(alt.nativeElement, 'width', `${transformToPer(width, containerWidthFull)}%`);
103
+ this._renderer.setStyle(alt.nativeElement, 'height', `${transformToPer(height, containerHeightFull)}%`);
104
+ this._renderer.setStyle(alt.nativeElement, 'left', `${transformToPer(left, containerWidthFull)}%`);
105
+ this._renderer.setStyle(alt.nativeElement, 'top', `${transformToPer(top, containerHeightFull)}%`);
106
+ });
107
+ }
108
+ else {
109
+ this.alternatives.forEach((alt) => {
110
+ this._renderer.setStyle(alt.nativeElement, 'width', ``);
111
+ this._renderer.setStyle(alt.nativeElement, 'height', ``);
112
+ this._renderer.setStyle(alt.nativeElement, 'left', ``);
113
+ this._renderer.setStyle(alt.nativeElement, 'top', ``);
114
+ });
115
+ }
116
+ }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AlternativesContainerDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Directive }); }
118
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.6", type: AlternativesContainerDirective, isStandalone: true, selector: "[tpSurveyAlternativesContainer]", inputs: { question: { classPropertyName: "question", publicName: "tpSurveyAlternativesContainer", isSignal: true, isRequired: true, transformFunction: null }, viewModel: { classPropertyName: "viewModel", publicName: "containerViewModel", isSignal: true, isRequired: true, transformFunction: null } }, queries: [{ propertyName: "alternatives", predicate: ["tablet_alt"], read: ElementRef }], ngImport: i0 }); }
119
+ }
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AlternativesContainerDirective, decorators: [{
121
+ type: Directive,
122
+ args: [{
123
+ selector: '[tpSurveyAlternativesContainer]',
124
+ standalone: true
125
+ }]
126
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.BreakpointObserver }], propDecorators: { alternatives: [{
127
+ type: ContentChildren,
128
+ args: ['tablet_alt', { read: ElementRef }]
129
+ }] } });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWx0ZXJuYXRpdmVzLmNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cC5zdXJ2ZXkvc3JjL2xpYi9kaXJlY3RpdmUvYWx0ZXJuYXRpdmVzLmNvbnRhaW5lci9hbHRlcm5hdGl2ZXMuY29udGFpbmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUU5SCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7OztBQU1uQyxNQUFNLE9BQU8sOEJBQThCO0lBSWhDLFdBQVcsQ0FBc0I7SUFDMUMsWUFBNkIsU0FBb0IsRUFBa0IsVUFBc0IsRUFBVSxtQkFBdUM7UUFBN0csY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFrQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUoxSSxhQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBZSxFQUFDLEtBQUssRUFBRSwrQkFBK0IsRUFBQyxDQUFDLENBQUM7UUFDbEYsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQVksRUFBQyxLQUFLLEVBQUUsb0JBQW9CLEVBQUMsQ0FBQyxDQUFDO1FBRTVELGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJ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QztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUcsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs4R0FySFUsOEJBQThCO2tHQUE5Qiw4QkFBOEIsMmJBR0gsVUFBVTs7MkZBSHJDLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7d0lBSW9ELFlBQVk7c0JBQTlELGVBQWU7dUJBQUMsWUFBWSxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29udGVudENoaWxkcmVuLCBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIGVmZmVjdCwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgUXVlcnlMaXN0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0lkYlF1ZXN0aW9ufSBmcm9tICcuLi8uLi90cC5zdXJ2ZXkuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtWaWV3TW9kZWx9IGZyb20gJy4uLy4uL3RwLnN1cnZleS5lbnVtJztcclxuaW1wb3J0IHtCQVNFX0hFSUdIVCwgQkFTRV9XSURUSH0gZnJvbSAnLi4vLi4vdHAuc3VydmV5LmNvbnN0JztcclxuaW1wb3J0IHtCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRTdGF0ZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0cFN1cnZleUFsdGVybmF0aXZlc0NvbnRhaW5lcl0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFsdGVybmF0aXZlc0NvbnRhaW5lckRpcmVjdGl2ZSB7XHJcbiAgcXVlc3Rpb24gPSBpbnB1dC5yZXF1aXJlZDxJZGJRdWVzdGlvbj4oIHthbGlhczogJ3RwU3VydmV5QWx0ZXJuYXRpdmVzQ29udGFpbmVyJ30pO1xyXG4gIHZpZXdNb2RlbCA9IGlucHV0LnJlcXVpcmVkPFZpZXdNb2RlbD4oe2FsaWFzOiAnY29udGFpbmVyVmlld01vZGVsJ30pO1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oJ3RhYmxldF9hbHQnLCB7cmVhZDogRWxlbWVudFJlZn0pIGFsdGVybmF0aXZlczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiB8IHVuZGVmaW5lZDtcclxuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyLHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIpIHtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnZpZXdNb2RlbCgpID09PSBWaWV3TW9kZWwudm1UYWJsZXQpIHtcclxuICAgICAgICB0aGlzLiN1cGRhdGVUYWJsZXRMYXlvdXQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLiN1cGRhdGVEZXNrdG9wTGF5b3V0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAjdXBkYXRlRGVza3RvcExheW91dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2JyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFtcIihtYXgtd2lkdGg6IDQ4MHB4KVwiXSkucGlwZShcclxuICAgICBtYXAoKHJlc3VsdDogQnJlYWtwb2ludFN0YXRlKSA9PiByZXN1bHQubWF0Y2hlcyksXHJcbiAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXHJcbiAgICApLnN1YnNjcmliZSgoaXNNb2JpbGU6IGJvb2xlYW4pID0+IHtcclxuICAgICAgbGV0IGNvbHVtbkNvdW50OiBudW1iZXI7XHJcbiAgICAgIGlmIChpc01vYmlsZSkge1xyXG4gICAgICAgIGNvbHVtbkNvdW50ID0gdGhpcy5xdWVzdGlvbigpLk1vYmlsZVZpZXdBbHRlcm5hdGl2ZUNvbHVtbkNvdW50IHx8IDE7IC8vaWYgMCB3aWxsIGJlIDFcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb2x1bW5Db3VudCA9IHRoaXMucXVlc3Rpb24oKS5BbHRlcm5hdGl2ZUNvbHVtbkNvdW50IHx8IDE7IC8vaWYgMCB3aWxsIGJlIDFcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycsIGByZXBlYXQoJHtjb2x1bW5Db3VudH0sIDEwZnIpYCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgXHJcbiAgI3VwZGF0ZVRhYmxldExheW91dCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5hbHRlcm5hdGl2ZXMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZiAodGhpcy52aWV3TW9kZWwoKSA9PT0gVmlld01vZGVsLnZtVGFibGV0KSB7XHJcbiAgICAgIGNvbnN0IHF1ZXN0aW9uID0gIHRoaXMucXVlc3Rpb24oKTtcclxuICAgICAgY29uc3QgdHJhbnNmb3JtVG9QZXIgPSAobmV3VmFsOiBudW1iZXIsIGNvbnRhaW5lclNpZGVTaXplOiBudW1iZXIpOiBudW1iZXIgPT4gIG5ld1ZhbCAqIDEwMCAvIGNvbnRhaW5lclNpZGVTaXplOyAgLy8g0L/RgNC10LLRgNCw0YnQsNC10YIg0YDQsNC30LzQtdGAIHB4INCyICVcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoRnVsbCAgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgICAgY29uc3QgY29udGFpbmVySGVpZ2h0RnVsbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IGFsdGVybmF0aXZlQ29sdW1uQ291bnQgPSBxdWVzdGlvbi5UYWJsZXRWaWV3QWx0ZXJuYXRpdmVDb2x1bW5Db3VudCA/PyAxO1xyXG4gICAgICBcclxuICAgICAgY29uc3QgaG9yaXpvbnRhbFJhdGlvID0gY29udGFpbmVyV2lkdGhGdWxsICAvIEJBU0VfV0lEVEg7XHJcbiAgICAgIGNvbnN0IHZlcnRpY2FsUmF0aW8gICA9IGNvbnRhaW5lckhlaWdodEZ1bGwgLyBCQVNFX0hFSUdIVDtcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IG1heEFsdGVybmF0aXZlV2lkdGg6IG51bWJlciA9IGNvbnRhaW5lcldpZHRoRnVsbCAqIDAuNzsgLy8g0LTQu9GPINCw0LLRgtC+0YDQsNC30LzQtdGA0LAg0YPRgdGC0LDQvdC+0LLQuNC8INC80LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstGLINCyIDcwJSDQvtGCINC00L7RgdGC0YPQv9C90L7QuSDQtNC70LjQvdC90Ysg0LrQvtC90YLQtdC50L3QtdGA0LBcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IGFsdGVybmF0aXZlc0NvdW50ID0gTWF0aC5tYXgodGhpcy5hbHRlcm5hdGl2ZXMubGVuZ3RoLCAxKTtcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IGhvcml6b250YWxEaXN0YW5jZSA9IHF1ZXN0aW9uLkFsdGVybmF0aXZlSG9yaXpvbnRhbERpc3RhbmNlID8/IDEwICogaG9yaXpvbnRhbFJhdGlvO1xyXG4gICAgICBjb25zdCB2ZXJ0aWNhbERpc3RhbmNlID0gKHF1ZXN0aW9uLkFsdGVybmF0aXZlVmVydGljYWxEaXN0YW5jZSA/PyAxMCkgKiB2ZXJ0aWNhbFJhdGlvO1xyXG4gICAgICBjb25zdCBtYXJnaW5Ub3AgPSBxdWVzdGlvbi5BbHRlcm5hdGl2ZU1hcmdpblRvcCA/PyAxMCAqIHZlcnRpY2FsUmF0aW87XHJcbiAgICAgIGNvbnN0IG1hcmdpbkxlZnQgPSAgKHF1ZXN0aW9uLkFsdGVybmF0aXZlTWFyZ2luTGVmdCA/PyAwKSAqIGhvcml6b250YWxSYXRpbztcclxuICAgICAgY29uc3QgY29sdW1uQ291bnQ6IG51bWJlciA9IGFsdGVybmF0aXZlQ29sdW1uQ291bnQgPiBhbHRlcm5hdGl2ZXNDb3VudCA/IGFsdGVybmF0aXZlc0NvdW50IDogYWx0ZXJuYXRpdmVDb2x1bW5Db3VudDtcclxuICAgICAgY29uc3Qgcm93Q291bnQ6IG51bWJlciA9IE1hdGgucm91bmQoYWx0ZXJuYXRpdmVzQ291bnQgLyBjb2x1bW5Db3VudCk7XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCBkZWZhdWx0SG9yaXpvbnRhbFBhZGRpbmcgPSAxMCAqIGhvcml6b250YWxSYXRpbztcclxuICAgICAgXHJcbiAgICAgIGxldCB3aWR0aCA9IDA7XHJcbiAgICAgIGxldCBoZWlnaHQgPSAwO1xyXG4gICAgICBcclxuICAgICAgaWYgKHF1ZXN0aW9uLkFsdGVybmF0aXZlQXV0b1NpemUgPz8gdHJ1ZSkgeyAgIC8vINC10YHQu9C4INCw0LLRgtC+0YDQsNC30LzQtdGALCDRgtC+INCy0YvRgdC+0YLRgyDQuCDRiNC40YDQuNC90YMg0YHRh9C40YLQsNC10Lwg0LDQstGC0L7QvNCw0YLQvtC8XHJcbiAgICAgICAgY29uc3QgbWFyZ2luc1dpZHRoID0gaG9yaXpvbnRhbERpc3RhbmNlICAqIChjb2x1bW5Db3VudCAtIDEpICsgZGVmYXVsdEhvcml6b250YWxQYWRkaW5nICogMjtcclxuICAgICAgICB3aWR0aCAgPSBNYXRoLm1pbigoY29udGFpbmVyV2lkdGhGdWxsIC0gbWFyZ2luc1dpZHRoKSAvIGNvbHVtbkNvdW50LCBtYXhBbHRlcm5hdGl2ZVdpZHRoKTtcclxuICAgICAgICBoZWlnaHQgPSB0aGlzLmFsdGVybmF0aXZlcy5yZWR1Y2UoKG1heEhlaWdodCwgYWx0KSA9PiB7IC8vINGD0LfQvdCw0LXQvCDQvNCw0LrRgdC40LzQsNC70YzQvdGD0Y4g0LLRi9GB0L7RgtGDINCw0LvRjNGC0LXRgNC90LDRgtC40LLRi1xyXG4gICAgICAgICAgY29uc3QgYWx0V2lkdGhQZXJjZW50ID0gdHJhbnNmb3JtVG9QZXIod2lkdGgsIGNvbnRhaW5lcldpZHRoRnVsbCk7XHJcbiAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShhbHQubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7YWx0V2lkdGhQZXJjZW50fSVgKTtcclxuICAgICAgICAgIHJldHVybiBNYXRoLm1heChtYXhIZWlnaHQsIGFsdC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCkgO1xyXG4gICAgICAgIH0sIDApO1xyXG4gICAgICB9IGVsc2UgeyAvLyDQtdGB0LvQuCDQsNCy0YLQvtGA0LDQt9C80LXRgCDQvtGC0LrQu9GO0YfRkdC9LCDRgNCw0LfQvNC10YDRiyDQsdC10YDRkdC8INC40Lcg0L3QsNGB0YLRgNC+0LXQulxyXG4gICAgICAgIHdpZHRoICA9IHF1ZXN0aW9uLkFsdGVybmF0aXZlV2lkdGggPz8gMzAwO1xyXG4gICAgICAgIGhlaWdodCA9IHF1ZXN0aW9uLkFsdGVybmF0aXZlSGVpZ2h0ID8/IDUwO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCBkZWx0YVZlcnRpY2FsICAgPSBjb250YWluZXJIZWlnaHRGdWxsIC0gaGVpZ2h0ICogcm93Q291bnQgICAgLSB2ZXJ0aWNhbERpc3RhbmNlICAgKiAocm93Q291bnQgICAgLSAxKTtcclxuICAgICAgY29uc3QgZGVsdGFIb3Jpem9udGFsID0gKGNvbnRhaW5lcldpZHRoRnVsbCAgLSB3aWR0aCAgKiBjb2x1bW5Db3VudCAtIGhvcml6b250YWxEaXN0YW5jZSAqIChjb2x1bW5Db3VudCAtIDEpKSAvIDIgLSBkZWZhdWx0SG9yaXpvbnRhbFBhZGRpbmc7XHJcbiAgICAgIGxldCByb3dOdW0gPSAtMTtcclxuICAgICAgbGV0IGNvbE51bSA9IDA7XHJcbiAgICAgIFxyXG4gICAgICB0aGlzLmFsdGVybmF0aXZlcy5mb3JFYWNoKChhbHQsIGluZGV4KSAgPT4ge1xyXG4gICAgICAgIGxldCBsZWZ0ID0gMDtcclxuICAgICAgICBsZXQgdG9wID0gMDtcclxuICAgICAgICBpZiAocXVlc3Rpb24uQWx0ZXJuYXRpdmVBdXRvQXJyYW5nZSkge1xyXG4gICAgICAgICAgY29uc3QgaXNOZXdSb3cgPSAoaW5kZXgpICUgIGNvbHVtbkNvdW50ICA9PT0gMDtcclxuICAgICAgICAgIGlmIChpc05ld1Jvdykge1xyXG4gICAgICAgICAgICByb3dOdW0rKztcclxuICAgICAgICAgICAgY29sTnVtID0gMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxlZnQgPSBtYXJnaW5MZWZ0ICsgY29sTnVtICogd2lkdGggICsgY29sTnVtICogaG9yaXpvbnRhbERpc3RhbmNlICsgZGVsdGFIb3Jpem9udGFsICsgZGVmYXVsdEhvcml6b250YWxQYWRkaW5nIDtcclxuICAgICAgICAgIHRvcCAgPSBtYXJnaW5Ub3AgICsgcm93TnVtICogaGVpZ2h0ICsgcm93TnVtICogdmVydGljYWxEaXN0YW5jZSArIGRlbHRhVmVydGljYWwgLyAyIDtcclxuICAgICAgICAgIGNvbE51bSsrO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBhbHRPYmogPSBxdWVzdGlvbi5BbHRlcm5hdGl2ZWxpc3RbaW5kZXhdO1xyXG4gICAgICAgICAgaWYgKCEhYWx0T2JqKSB7XHJcbiAgICAgICAgICAgIGxlZnQgPSBhbHRPYmoueDtcclxuICAgICAgICAgICAgdG9wICA9IGFsdE9iai55O1xyXG4gICAgICAgICAgICBpZiAoIXF1ZXN0aW9uLkFsdGVybmF0aXZlQXV0b1NpemUpIHtcclxuICAgICAgICAgICAgICB3aWR0aCAgPSBhbHRPYmoud2lkdGggID4gMCA/IGFsdE9iai53aWR0aCA6IHF1ZXN0aW9uLkFsdGVybmF0aXZlV2lkdGg7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0ID0gYWx0T2JqLmhlaWdodCA+IDAgPyBhbHRPYmouaGVpZ2h0IDogcXVlc3Rpb24uQWx0ZXJuYXRpdmVIZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoYWx0Lm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RyYW5zZm9ybVRvUGVyKHdpZHRoLCBjb250YWluZXJXaWR0aEZ1bGwpfSVgKTtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShhbHQubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke3RyYW5zZm9ybVRvUGVyKGhlaWdodCwgY29udGFpbmVySGVpZ2h0RnVsbCl9JWApO1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGFsdC5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIGAke3RyYW5zZm9ybVRvUGVyKGxlZnQsIGNvbnRhaW5lcldpZHRoRnVsbCl9JWApO1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGFsdC5uYXRpdmVFbGVtZW50LCAndG9wJywgYCR7dHJhbnNmb3JtVG9QZXIodG9wLCBjb250YWluZXJIZWlnaHRGdWxsKX0lYCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hbHRlcm5hdGl2ZXMuZm9yRWFjaCgoYWx0KSAgPT4ge1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGFsdC5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgYCk7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoYWx0Lm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgYCk7XHJcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoYWx0Lm5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYGApO1xyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKGFsdC5uYXRpdmVFbGVtZW50LCAndG9wJywgYGApO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FocusAndSelectDirective {
4
+ constructor(el) {
5
+ this.el = el;
6
+ if (!el.nativeElement['focus']) {
7
+ throw new Error('Element does not accept focus.');
8
+ }
9
+ }
10
+ ngOnInit() {
11
+ const input = this.el.nativeElement;
12
+ if ('focus' in input) {
13
+ input.focus();
14
+ input.select();
15
+ }
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FocusAndSelectDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
18
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: FocusAndSelectDirective, isStandalone: true, selector: "[tpSurveyFocusAndSelect]", ngImport: i0 }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FocusAndSelectDirective, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ selector: '[tpSurveyFocusAndSelect]',
24
+ standalone: true
25
+ }]
26
+ }], ctorParameters: () => [{ type: i0.ElementRef }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMuYW5kLnNlbGVjdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cC5zdXJ2ZXkvc3JjL2xpYi9kaXJlY3RpdmUvZm9jdXMuYW5kLnNlbGVjdC9mb2N1cy5hbmQuc2VsZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7QUFNNUQsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNoQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEtBQUssR0FBcUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFpQyxDQUFDO1FBQzFFLElBQUksT0FBTyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3JCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQzs4R0FiVSx1QkFBdUI7a0dBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFKbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RwU3VydmV5Rm9jdXNBbmRTZWxlY3RdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb2N1c0FuZFNlbGVjdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICBpZiAoIWVsLm5hdGl2ZUVsZW1lbnRbJ2ZvY3VzJ10pIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbGVtZW50IGRvZXMgbm90IGFjY2VwdCBmb2N1cy4nKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbnB1dDogSFRNTElucHV0RWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgaWYgKCdmb2N1cycgaW4gaW5wdXQpIHtcclxuICAgICAgaW5wdXQuZm9jdXMoKTtcclxuICAgICAgaW5wdXQuc2VsZWN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,53 @@
1
+ import { Directive, HostBinding, input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SurveyThemeDirective {
4
+ constructor() {
5
+ this.theme = input('cyan-orange-light', { alias: 'tpSurveyTheme' });
6
+ }
7
+ get classCyanOrangeLight() {
8
+ return this.theme() === 'cyan-orange-light';
9
+ }
10
+ get classCyanOrangeDark() {
11
+ return this.theme() === 'cyan-orange-dark';
12
+ }
13
+ get classRoseRedLight() {
14
+ return this.theme() === 'rose-red-light';
15
+ }
16
+ get classRoseRedDark() {
17
+ return this.theme() === 'rose-red-dark';
18
+ }
19
+ get classAzureBlueLight() {
20
+ return this.theme() === 'azure-blue-light';
21
+ }
22
+ get classAzureBlueDark() {
23
+ return this.theme() === 'azure-blue-dark';
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: SurveyThemeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.6", type: SurveyThemeDirective, isStandalone: true, selector: "[tpSurveyTheme]", inputs: { theme: { classPropertyName: "theme", publicName: "tpSurveyTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.survey-theme-cyan-orange-light": "this.classCyanOrangeLight", "class.survey-theme-cyan-orange-dark": "this.classCyanOrangeDark", "class.survey-theme-rose-red-light": "this.classRoseRedLight", "class.survey-theme-rose-red-dark": "this.classRoseRedDark", "class.survey-theme-azure-blue-light": "this.classAzureBlueLight", "class.survey-theme-azure-blue-dark": "this.classAzureBlueDark" } }, ngImport: i0 }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: SurveyThemeDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[tpSurveyTheme]',
32
+ standalone: true
33
+ }]
34
+ }], propDecorators: { classCyanOrangeLight: [{
35
+ type: HostBinding,
36
+ args: ["class.survey-theme-cyan-orange-light"]
37
+ }], classCyanOrangeDark: [{
38
+ type: HostBinding,
39
+ args: ["class.survey-theme-cyan-orange-dark"]
40
+ }], classRoseRedLight: [{
41
+ type: HostBinding,
42
+ args: ["class.survey-theme-rose-red-light"]
43
+ }], classRoseRedDark: [{
44
+ type: HostBinding,
45
+ args: ["class.survey-theme-rose-red-dark"]
46
+ }], classAzureBlueLight: [{
47
+ type: HostBinding,
48
+ args: ["class.survey-theme-azure-blue-light"]
49
+ }], classAzureBlueDark: [{
50
+ type: HostBinding,
51
+ args: ["class.survey-theme-azure-blue-dark"]
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LnRoZW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RwLnN1cnZleS9zcmMvbGliL2RpcmVjdGl2ZS9zdXJ2ZXkudGhlbWUvc3VydmV5LnRoZW1lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBTzVELE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFLRSxVQUFLLEdBQUcsS0FBSyxDQUFnQixtQkFBbUIsRUFBQyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO0tBdUI1RTtJQXRCQyxJQUFnRSxvQkFBb0I7UUFDbEYsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssbUJBQW1CLENBQUM7SUFDOUMsQ0FBQztJQUNELElBQStELG1CQUFtQjtRQUNoRixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxrQkFBa0IsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBNkQsaUJBQWlCO1FBQzVFLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUE0RCxnQkFBZ0I7UUFDMUUsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssZUFBZSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUErRCxtQkFBbUI7UUFDaEYsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssa0JBQWtCLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQThELGtCQUFrQjtRQUM5RSxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxpQkFBaUIsQ0FBQztJQUM1QyxDQUFDOzhHQXZCVSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBR2lFLG9CQUFvQjtzQkFBbkYsV0FBVzt1QkFBQyxzQ0FBc0M7Z0JBR1ksbUJBQW1CO3NCQUFqRixXQUFXO3VCQUFDLHFDQUFxQztnQkFJVyxpQkFBaUI7c0JBQTdFLFdBQVc7dUJBQUMsbUNBQW1DO2dCQUlZLGdCQUFnQjtzQkFBM0UsV0FBVzt1QkFBQyxrQ0FBa0M7Z0JBSWdCLG1CQUFtQjtzQkFBakYsV0FBVzt1QkFBQyxxQ0FBcUM7Z0JBSVksa0JBQWtCO3NCQUEvRSxXQUFXO3VCQUFDLG9DQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0QmluZGluZywgaW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RwU3VydmV5VGhlbWV9IGZyb20gJy4uLy4uL3RwLnN1cnZleS50eXBlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RwU3VydmV5VGhlbWVdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdXJ2ZXlUaGVtZURpcmVjdGl2ZSB7XHJcbiAgdGhlbWUgPSBpbnB1dDxUcFN1cnZleVRoZW1lPignY3lhbi1vcmFuZ2UtbGlnaHQnLHthbGlhczogJ3RwU3VydmV5VGhlbWUnfSk7XHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3Muc3VydmV5LXRoZW1lLWN5YW4tb3JhbmdlLWxpZ2h0XCIpIHB1YmxpYyBnZXQgY2xhc3NDeWFuT3JhbmdlTGlnaHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50aGVtZSgpID09PSAnY3lhbi1vcmFuZ2UtbGlnaHQnO1xyXG4gIH1cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5zdXJ2ZXktdGhlbWUtY3lhbi1vcmFuZ2UtZGFya1wiKSBwdWJsaWMgZ2V0IGNsYXNzQ3lhbk9yYW5nZURhcmsoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50aGVtZSgpID09PSAnY3lhbi1vcmFuZ2UtZGFyayc7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5zdXJ2ZXktdGhlbWUtcm9zZS1yZWQtbGlnaHRcIikgcHVibGljIGdldCBjbGFzc1Jvc2VSZWRMaWdodCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRoZW1lKCkgPT09ICdyb3NlLXJlZC1saWdodCc7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5zdXJ2ZXktdGhlbWUtcm9zZS1yZWQtZGFya1wiKSBwdWJsaWMgZ2V0IGNsYXNzUm9zZVJlZERhcmsoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50aGVtZSgpID09PSAncm9zZS1yZWQtZGFyayc7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5zdXJ2ZXktdGhlbWUtYXp1cmUtYmx1ZS1saWdodFwiKSBwdWJsaWMgZ2V0IGNsYXNzQXp1cmVCbHVlTGlnaHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50aGVtZSgpID09PSAnYXp1cmUtYmx1ZS1saWdodCc7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5zdXJ2ZXktdGhlbWUtYXp1cmUtYmx1ZS1kYXJrXCIpIHB1YmxpYyBnZXQgY2xhc3NBenVyZUJsdWVEYXJrKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGhlbWUoKSA9PT0gJ2F6dXJlLWJsdWUtZGFyayc7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { Directive, effect, input } from '@angular/core';
2
+ import { ViewModel } from '../../tp.survey.enum';
3
+ import { BASE_HEIGHT, BASE_WIDTH } from '../../tp.survey.const';
4
+ import * as i0 from "@angular/core";
5
+ export class UpdateFontSizeDirective {
6
+ constructor(_element) {
7
+ this._element = _element;
8
+ this.viewModel = input.required({ alias: 'tpSurveyUpdateFontSize' });
9
+ effect(() => {
10
+ if (this.viewModel() === ViewModel.vmTablet) {
11
+ const containerWidth = this._element.nativeElement.clientWidth;
12
+ const containerHeight = this._element.nativeElement.clientHeight;
13
+ const proportion = Math.min(containerWidth / BASE_WIDTH, containerHeight / BASE_HEIGHT);
14
+ Array.from(this._element.nativeElement.children).forEach((el) => el.style.fontSize = `${proportion * 100}%`);
15
+ }
16
+ });
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: UpdateFontSizeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.6", type: UpdateFontSizeDirective, isStandalone: true, selector: "[tpSurveyUpdateFontSize]", inputs: { viewModel: { classPropertyName: "viewModel", publicName: "tpSurveyUpdateFontSize", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: UpdateFontSizeDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[tpSurveyUpdateFontSize]',
25
+ standalone: true
26
+ }]
27
+ }], ctorParameters: () => [{ type: i0.ElementRef }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmZvbnQuc2l6ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cC5zdXJ2ZXkvc3JjL2xpYi9kaXJlY3RpdmUvdXBkYXRlLmZvbnQuc2l6ZS91cGRhdGUuZm9udC5zaXplLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBYyxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBTTlELE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFBNkIsUUFBb0I7UUFBcEIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQURqRCxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBYSxFQUFDLEtBQUssRUFBRSx3QkFBd0IsRUFBQyxDQUFDLENBQUM7UUFFeEUsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO2dCQUMvRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7Z0JBQ2pFLE1BQU0sVUFBVSxHQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLFVBQVUsRUFBRSxlQUFlLEdBQUcsV0FBVyxDQUFFLENBQUM7Z0JBQ2pHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFHLEVBQUUsQ0FBRSxFQUFrQixDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsR0FBRyxVQUFVLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNqSSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQVhVLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGlucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtWaWV3TW9kZWx9IGZyb20gJy4uLy4uL3RwLnN1cnZleS5lbnVtJztcclxuaW1wb3J0IHtCQVNFX0hFSUdIVCwgQkFTRV9XSURUSH0gZnJvbSAnLi4vLi4vdHAuc3VydmV5LmNvbnN0JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RwU3VydmV5VXBkYXRlRm9udFNpemVdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGRhdGVGb250U2l6ZURpcmVjdGl2ZXtcclxuICB2aWV3TW9kZWwgPSBpbnB1dC5yZXF1aXJlZDxWaWV3TW9kZWw+KCB7YWxpYXM6ICd0cFN1cnZleVVwZGF0ZUZvbnRTaXplJ30pO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnZpZXdNb2RlbCgpID09PSBWaWV3TW9kZWwudm1UYWJsZXQpIHtcclxuICAgICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcclxuICAgICAgICBjb25zdCBjb250YWluZXJIZWlnaHQgPSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgIGNvbnN0IHByb3BvcnRpb246IG51bWJlciA9IE1hdGgubWluKGNvbnRhaW5lcldpZHRoIC8gQkFTRV9XSURUSCwgY29udGFpbmVySGVpZ2h0IC8gQkFTRV9IRUlHSFQgKTtcclxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jaGlsZHJlbikuZm9yRWFjaCgoZWwpICA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmZvbnRTaXplID0gYCR7cHJvcG9ydGlvbiAqIDEwMH0lYCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -0,0 +1,15 @@
1
+ export const defaultIcons = {
2
+ 'iconButtonNext': `
3
+ <path d="M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"/>
4
+ `,
5
+ 'iconButtonBack': `
6
+ <path d="M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"/>
7
+ `,
8
+ 'iconIsMute': `
9
+ <path d="M7.6,4H4A3,3,0,0,0,1,7H1a3,3,0,0,0,3,3H7.6a7.9,7.9,0,0,1,3.9,1L15,13V1L11.4,3A7.9,7.9,0,0,1,7.6,4Z" fill="none" stroke="#444" stroke-linejoin="round" stroke-width="2"/>
10
+ <path d="M6,10v2.9a4,4,0,0,0,.3,1.5L7,17" fill="none" stroke="#444" stroke-linejoin="round" stroke-width="4"/>
11
+ <path d="M15,4h.1A1.9,1.9,0,0,1,17,5.9V8.1A1.9,1.9,0,0,1,15.1,10H15a0,0,0,0,1,0,0V4A0,0,0,0,1,15,4Z" fill="none" stroke="#444" stroke-linejoin="round" stroke-width="2"/>
12
+ <line x1="1" y1="1" x2="17" y2="17" fill="none" stroke="#444" stroke-linejoin="round" stroke-width="2"/>
13
+ `,
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5pY29ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RwLnN1cnZleS9zcmMvbGliL2ljb25zL2RlZmF1bHQuaWNvbnMvZGVmYXVsdC5pY29ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsZ0JBQWdCLEVBQUU7O0dBRWpCO0lBQ0QsZ0JBQWdCLEVBQUU7O0dBRWpCO0lBQ0QsWUFBWSxFQUFFOzs7OztHQUtiO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBkZWZhdWx0SWNvbnMgPSB7XHJcbiAgJ2ljb25CdXR0b25OZXh0JzogYFxyXG4gIDxwYXRoIGQ9XCJNOC41OSAxNi41OUwxMy4xNyAxMiA4LjU5IDcuNDEgMTAgNmw2IDYtNiA2LTEuNDEtMS40MXpcIi8+XHJcbiAgYCxcclxuICAnaWNvbkJ1dHRvbkJhY2snOiBgXHJcbiAgPHBhdGggZD1cIk0xNS40MSAxNi41OUwxMC44MyAxMmw0LjU4LTQuNTlMMTQgNmwtNiA2IDYgNiAxLjQxLTEuNDF6XCIvPlxyXG4gIGAsXHJcbiAgJ2ljb25Jc011dGUnOiBgXHJcbiAgPHBhdGggZD1cIk03LjYsNEg0QTMsMywwLDAsMCwxLDdIMWEzLDMsMCwwLDAsMywzSDcuNmE3LjksNy45LDAsMCwxLDMuOSwxTDE1LDEzVjFMMTEuNCwzQTcuOSw3LjksMCwwLDEsNy42LDRaXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjNDQ0XCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIvPlxyXG4gIDxwYXRoIGQ9XCJNNiwxMHYyLjlhNCw0LDAsMCwwLC4zLDEuNUw3LDE3XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjNDQ0XCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCI0XCIvPlxyXG4gIDxwYXRoIGQ9XCJNMTUsNGguMUExLjksMS45LDAsMCwxLDE3LDUuOVY4LjFBMS45LDEuOSwwLDAsMSwxNS4xLDEwSDE1YTAsMCwwLDAsMSwwLDBWNEEwLDAsMCwwLDEsMTUsNFpcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiM0NDRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIi8+XHJcbiAgPGxpbmUgeDE9XCIxXCIgeTE9XCIxXCIgeDI9XCIxN1wiIHkyPVwiMTdcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiM0NDRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIi8+XHJcbiAgYCxcclxufVxyXG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Inject, NgModule, PLATFORM_ID } from '@angular/core';
2
+ import { isPlatformServer } from '@angular/common';
3
+ import { defaultIcons } from './default.icons';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/platform-browser";
6
+ import * as i2 from "@angular/material/icon";
7
+ export class DefaultIconsModule {
8
+ constructor(domSanitizer, matIconRegistry, platformId) {
9
+ this.domSanitizer = domSanitizer;
10
+ this.matIconRegistry = matIconRegistry;
11
+ this.platformId = platformId;
12
+ for (const [name, svgText] of Object.entries(defaultIcons)) {
13
+ const iconText = `<svg viewBox="0 0 24 24">${isPlatformServer(this.platformId) ? '' : svgText}</svg>`;
14
+ this.matIconRegistry.addSvgIconLiteral(name, this.domSanitizer.bypassSecurityTrustHtml(iconText));
15
+ }
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: DefaultIconsModule, deps: [{ token: i1.DomSanitizer }, { token: i2.MatIconRegistry }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: DefaultIconsModule }); }
19
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: DefaultIconsModule }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: DefaultIconsModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ declarations: [],
25
+ imports: [],
26
+ }]
27
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i2.MatIconRegistry }, { type: undefined, decorators: [{
28
+ type: Inject,
29
+ args: [PLATFORM_ID]
30
+ }] }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5pY29ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cC5zdXJ2ZXkvc3JjL2xpYi9pY29ucy9kZWZhdWx0Lmljb25zL2RlZmF1bHQuaWNvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFNN0MsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUFvQixZQUEwQixFQUFVLGVBQWdDLEVBQStCLFVBQWtCO1FBQXJILGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQStCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdkksS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUMzRCxNQUFNLFFBQVEsR0FBWSw0QkFBNEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDO1lBQy9HLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNwRyxDQUFDO0lBQ0gsQ0FBQzs4R0FOVSxrQkFBa0IsNkVBQ3FFLFdBQVc7K0dBRGxHLGtCQUFrQjsrR0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUo5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtpQkFDWjs7MEJBRTRGLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBOZ01vZHVsZSwgUExBVEZPUk1fSUR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2lzUGxhdGZvcm1TZXJ2ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtNYXRJY29uUmVnaXN0cnl9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQge2RlZmF1bHRJY29uc30gZnJvbSAnLi9kZWZhdWx0Lmljb25zJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBpbXBvcnRzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRJY29uc01vZHVsZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBtYXRJY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSwgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmcpIHtcclxuICAgIGZvciAoY29uc3QgW25hbWUsIHN2Z1RleHRdIG9mIE9iamVjdC5lbnRyaWVzKGRlZmF1bHRJY29ucykpIHtcclxuICAgICAgY29uc3QgaWNvblRleHQ6IHN0cmluZyA9ICBgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+JHtpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkgPyAnJyA6IHN2Z1RleHR9PC9zdmc+YDtcclxuICAgICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwobmFtZSwgdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaWNvblRleHQpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,17 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class GetActiveLanguagePipe {
4
+ transform(languageList, languageId) {
5
+ return Array.isArray(languageList) ? languageList.find(langObj => langObj.Value === languageId && langObj.isActive) : undefined;
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: GetActiveLanguagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: GetActiveLanguagePipe, isStandalone: true, name: "getActiveLanguage" }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: GetActiveLanguagePipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: 'getActiveLanguage',
14
+ standalone: true
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmFjdGl2ZS5sYW5ndWFnZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHAuc3VydmV5L3NyYy9saWIvcGlwZS9nZXQuYWN0aXZlLmxhbmd1YWdlL2dldC5hY3RpdmUubGFuZ3VhZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFPbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxTQUFTLENBQUMsWUFBMkMsRUFBRSxVQUFtQjtRQUN4RSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFVBQVUsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNsSSxDQUFDOzhHQUpVLHFCQUFxQjs0R0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUpqQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxtQkFBbUI7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWRiQmFzZVBhcmFtc0xhbmd1YWdlfSBmcm9tICcuLi8uLi90cC5zdXJ2ZXkuaW50ZXJmYWNlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZ2V0QWN0aXZlTGFuZ3VhZ2UnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEdldEFjdGl2ZUxhbmd1YWdlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0obGFuZ3VhZ2VMaXN0PzogQXJyYXk8SWRiQmFzZVBhcmFtc0xhbmd1YWdlPiwgbGFuZ3VhZ2VJZD86IG51bWJlcik6IElkYkJhc2VQYXJhbXNMYW5ndWFnZSB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShsYW5ndWFnZUxpc3QpID8gbGFuZ3VhZ2VMaXN0LmZpbmQobGFuZ09iaiA9PiBsYW5nT2JqLlZhbHVlID09PSBsYW5ndWFnZUlkICYmIGxhbmdPYmouaXNBY3RpdmUpIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,18 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class GetAdditionalValueByValuePipe {
4
+ transform(value, additionalAnswerList) {
5
+ const val = (typeof value === 'string') ? Number(value) : value;
6
+ return additionalAnswerList.find(aa => aa.Value === val);
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: GetAdditionalValueByValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: GetAdditionalValueByValuePipe, isStandalone: true, name: "getAdditionalValueByValue" }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: GetAdditionalValueByValuePipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ name: 'getAdditionalValueByValue',
15
+ standalone: true
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmFkZGl0aW9uYWwudmFsdWUuYnkudmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RwLnN1cnZleS9zcmMvbGliL3BpcGUvZ2V0LmFkZGl0aW9uYWwudmFsdWUuYnkudmFsdWUvZ2V0LmFkZGl0aW9uYWwudmFsdWUuYnkudmFsdWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFPbEQsTUFBTSxPQUFPLDZCQUE2QjtJQUV4QyxTQUFTLENBQUMsS0FBc0IsRUFBRSxvQkFBZ0Q7UUFDaEYsTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDL0QsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7OEdBTFUsNkJBQTZCOzRHQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBSnpDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLDJCQUEyQjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJZGJBZGRpdGlvbmFsQW5zd2VyfSBmcm9tICcuLi8uLi90cC5zdXJ2ZXkuaW50ZXJmYWNlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZ2V0QWRkaXRpb25hbFZhbHVlQnlWYWx1ZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2V0QWRkaXRpb25hbFZhbHVlQnlWYWx1ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGFkZGl0aW9uYWxBbnN3ZXJMaXN0OiBBcnJheTxJZGJBZGRpdGlvbmFsQW5zd2VyPik6IElkYkFkZGl0aW9uYWxBbnN3ZXIgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgdmFsID0gKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpID8gTnVtYmVyKHZhbHVlKTogdmFsdWU7XHJcbiAgICByZXR1cm4gYWRkaXRpb25hbEFuc3dlckxpc3QuZmluZChhYSA9PiBhYS5WYWx1ZSA9PT0gdmFsKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class KeyValuesPipe {
4
+ transform(controls) {
5
+ return Object.entries(controls).map(([key, control]) => ({
6
+ name: key,
7
+ control: control,
8
+ }));
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: KeyValuesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: KeyValuesPipe, isStandalone: true, name: "keyValues" }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: KeyValuesPipe, decorators: [{
14
+ type: Pipe,
15
+ args: [{
16
+ name: 'keyValues',
17
+ standalone: true
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LnZhbHVlcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHAuc3VydmV5L3NyYy9saWIvcGlwZS9rZXkudmFsdWVzL2tleS52YWx1ZXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFRbEQsTUFBTSxPQUFPLGFBQWE7SUFFeEIsU0FBUyxDQUFDLFFBQXVFO1FBQy9FLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUEsQ0FBQztZQUN0RCxJQUFJLEVBQUUsR0FBRztZQUNULE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs4R0FQVSxhQUFhOzRHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBSnpCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7QWRkaXRpb25hbEFuc3dlcn0gZnJvbSAnLi4vLi4vdHAuc3VydmV5LnR5cGUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdrZXlWYWx1ZXMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEtleVZhbHVlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKGNvbnRyb2xzOiBGb3JtR3JvdXA8e1trZXk6IHN0cmluZ106IEFic3RyYWN0Q29udHJvbDxBZGRpdGlvbmFsQW5zd2VyPn0+KTogQXJyYXk8e25hbWU6IHN0cmluZywgY29udHJvbDogRm9ybUNvbnRyb2w8QWRkaXRpb25hbEFuc3dlcj59PiB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoY29udHJvbHMpLm1hcCgoW2tleSwgY29udHJvbF0pID0+KHtcclxuICAgICAgbmFtZToga2V5LFxyXG4gICAgICBjb250cm9sOiBjb250cm9sLFxyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,26 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/platform-browser";
4
+ export class MultiLangObjectToHtmlPipe {
5
+ constructor(_sanitizer) {
6
+ this._sanitizer = _sanitizer;
7
+ }
8
+ transform(caption, language) {
9
+ if (!Array.isArray(caption)) {
10
+ return '';
11
+ }
12
+ const langObj = caption.find(capt => capt.lang === language);
13
+ const text = langObj?._SYS_CaptionHTML ?? langObj?.CaptionHtml ?? '';
14
+ return this._sanitizer.bypassSecurityTrustHtml(text);
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: MultiLangObjectToHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
17
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: MultiLangObjectToHtmlPipe, isStandalone: true, name: "multiLangObjectToHtml" }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: MultiLangObjectToHtmlPipe, decorators: [{
20
+ type: Pipe,
21
+ args: [{
22
+ name: 'multiLangObjectToHtml',
23
+ standalone: true
24
+ }]
25
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGkubGFuZy5vYmplY3QudG8uaHRtbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHAuc3VydmV5L3NyYy9saWIvcGlwZS9tdWx0aS5sYW5nLm9iamVjdC50by5odG1sL211bHRpLmxhbmcub2JqZWN0LnRvLmh0bWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7O0FBUWxELE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFBNkIsVUFBd0I7UUFBeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztJQUNyRCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWtDLEVBQUUsUUFBZ0I7UUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPLEVBQUUsQ0FBQTtRQUNYLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztRQUM3RCxNQUFNLElBQUksR0FBSSxPQUFPLEVBQUUsZ0JBQWdCLElBQUksT0FBTyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDdEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OEdBYlUseUJBQXlCOzRHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSnJDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVIdG1sfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtJZGJNdWx0aWxhbmdPYmplY3R9IGZyb20gJy4uLy4uL3RwLnN1cnZleS5pbnRlcmZhY2UnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdtdWx0aUxhbmdPYmplY3RUb0h0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpTGFuZ09iamVjdFRvSHRtbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xyXG4gIH1cclxuICBcclxuICB0cmFuc2Zvcm0oY2FwdGlvbjogQXJyYXk8SWRiTXVsdGlsYW5nT2JqZWN0PiwgbGFuZ3VhZ2U6IG51bWJlcik6IFNhZmVIdG1sIHtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheShjYXB0aW9uKSkge1xyXG4gICAgICByZXR1cm4gJydcclxuICAgIH1cclxuICAgIFxyXG4gICAgY29uc3QgbGFuZ09iaiA9IGNhcHRpb24uZmluZChjYXB0ID0+IGNhcHQubGFuZyA9PT0gbGFuZ3VhZ2UpO1xyXG4gICAgY29uc3QgdGV4dCAgPSBsYW5nT2JqPy5fU1lTX0NhcHRpb25IVE1MID8/IGxhbmdPYmo/LkNhcHRpb25IdG1sID8/ICcnO1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0ZXh0KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * A DI token for the survey service.
4
+ *
5
+ * @publicApi
6
+ */
7
+ export const TP_SURVEY_CONFIGURATION = new InjectionToken('__TOUCHPOLL_SURVEY_CONFIGURATION_TOKEN__');
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHAuc3VydmV5LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RwLnN1cnZleS9zcmMvbGliL3RwLnN1cnZleS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVc3Qzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQWlCLDBDQUEwQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcFN1cnZleVBsYXRmb3JtfSBmcm9tICcuL3RwLnN1cnZleS50eXBlJztcclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcFN1cnZleUNvbmZpZyB7XHJcbiAgdHBQbGF0Zm9ybTogVHBTdXJ2ZXlQbGF0Zm9ybTtcclxufVxyXG5cclxuXHJcblxyXG4vKipcclxuICogQSBESSB0b2tlbiBmb3IgdGhlIHN1cnZleSBzZXJ2aWNlLlxyXG4gKlxyXG4gKiBAcHVibGljQXBpXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgVFBfU1VSVkVZX0NPTkZJR1VSQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48VHBTdXJ2ZXlDb25maWc+KCdfX1RPVUNIUE9MTF9TVVJWRVlfQ09ORklHVVJBVElPTl9UT0tFTl9fJylcclxuIl19