valtech-components 4.0.996 → 4.0.997
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/organisms/survey-builder/survey-builder.component.mjs +58 -7
- package/esm2022/lib/components/organisms/survey-builder/survey-builder.i18n.mjs +19 -1
- package/esm2022/lib/components/organisms/survey-builder/types.mjs +1 -1
- package/esm2022/lib/components/organisms/survey-response/survey-response.component.mjs +46 -5
- package/esm2022/lib/services/requests/types.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/valtech-components.mjs +121 -11
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/survey-builder/survey-builder.component.d.ts +5 -0
- package/lib/components/organisms/survey-builder/types.d.ts +2 -1
- package/lib/components/organisms/survey-response/survey-response.component.d.ts +5 -0
- package/lib/services/requests/types.d.ts +9 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
|
@@ -70,7 +70,7 @@ import fixWebmDuration from 'fix-webm-duration';
|
|
|
70
70
|
* Current version of valtech-components.
|
|
71
71
|
* This is automatically updated during the publish process.
|
|
72
72
|
*/
|
|
73
|
-
const VERSION = '4.0.
|
|
73
|
+
const VERSION = '4.0.997';
|
|
74
74
|
|
|
75
75
|
function evaluateValtechAccess(rule, context, features = {}, visitedFeatures = new Set()) {
|
|
76
76
|
if (rule == null)
|
|
@@ -39455,6 +39455,17 @@ class SurveyResponseComponent {
|
|
|
39455
39455
|
this.i18n.lang();
|
|
39456
39456
|
return { variant: 'empty', title: this.t('sentTitle'), description: this.t('sentBody') };
|
|
39457
39457
|
});
|
|
39458
|
+
this.successPresentation = computed(() => {
|
|
39459
|
+
const cfg = this.typeConfig();
|
|
39460
|
+
if (!cfg?.presentation)
|
|
39461
|
+
return null;
|
|
39462
|
+
const title = cfg.presentation.successTitle?.trim() || this.t('sentTitle');
|
|
39463
|
+
const message = cfg.presentation.successMessage?.trim() || this.t('sentBody');
|
|
39464
|
+
const imageUrl = cfg.presentation.successImageUrl?.trim() || '';
|
|
39465
|
+
if (!cfg.presentation.successTitle && !cfg.presentation.successMessage && !imageUrl)
|
|
39466
|
+
return null;
|
|
39467
|
+
return { title, message, imageUrl };
|
|
39468
|
+
});
|
|
39458
39469
|
this.loadErrorState = computed(() => {
|
|
39459
39470
|
this.i18n.lang();
|
|
39460
39471
|
return { variant: 'error', title: this.t('loadErrorTitle'), description: this.t('loadErrorBody') };
|
|
@@ -39658,13 +39669,28 @@ class SurveyResponseComponent {
|
|
|
39658
39669
|
} @else if (alreadyAnswered()) {
|
|
39659
39670
|
<val-empty-state [props]="alreadyAnsweredState()" />
|
|
39660
39671
|
} @else if (sent()) {
|
|
39661
|
-
|
|
39672
|
+
@if (successPresentation(); as success) {
|
|
39673
|
+
<section class="survey-response survey-response__success" aria-live="polite">
|
|
39674
|
+
@if (success.imageUrl) {
|
|
39675
|
+
<img class="survey-response__success-image" [src]="success.imageUrl" [alt]="success.title" />
|
|
39676
|
+
}
|
|
39677
|
+
<val-display [props]="{ content: success.title, size: 'small', color: 'dark' }" />
|
|
39678
|
+
@if (success.message) {
|
|
39679
|
+
<val-title [props]="{ content: success.message, size: 'large', color: '', bold: false }" />
|
|
39680
|
+
}
|
|
39681
|
+
</section>
|
|
39682
|
+
} @else {
|
|
39683
|
+
<val-empty-state [props]="sentState()" />
|
|
39684
|
+
}
|
|
39662
39685
|
} @else {
|
|
39663
39686
|
@if (typeConfig(); as cfg) {
|
|
39664
39687
|
@if (!canRespond()) {
|
|
39665
39688
|
<val-empty-state [props]="loginRequiredState()" />
|
|
39666
39689
|
} @else {
|
|
39667
39690
|
<div class="survey-response">
|
|
39691
|
+
@if (cfg.presentation?.headerImageUrl) {
|
|
39692
|
+
<img class="survey-response__header-image" [src]="cfg.presentation?.headerImageUrl" [alt]="cfg.label" />
|
|
39693
|
+
}
|
|
39668
39694
|
<val-display [props]="{ content: cfg.label, size: 'small', color: 'dark' }" />
|
|
39669
39695
|
@if (cfg.subtitle) {
|
|
39670
39696
|
<val-title [props]="{ content: cfg.subtitle, size: 'large', color: '', bold: false }" />
|
|
@@ -39695,7 +39721,7 @@ class SurveyResponseComponent {
|
|
|
39695
39721
|
}
|
|
39696
39722
|
}
|
|
39697
39723
|
}
|
|
39698
|
-
`, isInline: true, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["preset", "props"] }, { kind: "component", type: EmptyStateComponent, selector: "val-empty-state", inputs: ["props"] }, { kind: "component", type: FormComponent, selector: "val-form", inputs: ["props"], outputs: ["onSubmit", "onValueChange", "onInvalid", "onSelectChange"] }] }); }
|
|
39724
|
+
`, isInline: true, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["preset", "props"] }, { kind: "component", type: EmptyStateComponent, selector: "val-empty-state", inputs: ["props"] }, { kind: "component", type: FormComponent, selector: "val-form", inputs: ["props"], outputs: ["onSubmit", "onValueChange", "onInvalid", "onSelectChange"] }] }); }
|
|
39699
39725
|
}
|
|
39700
39726
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SurveyResponseComponent, decorators: [{
|
|
39701
39727
|
type: Component,
|
|
@@ -39723,13 +39749,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
39723
39749
|
} @else if (alreadyAnswered()) {
|
|
39724
39750
|
<val-empty-state [props]="alreadyAnsweredState()" />
|
|
39725
39751
|
} @else if (sent()) {
|
|
39726
|
-
|
|
39752
|
+
@if (successPresentation(); as success) {
|
|
39753
|
+
<section class="survey-response survey-response__success" aria-live="polite">
|
|
39754
|
+
@if (success.imageUrl) {
|
|
39755
|
+
<img class="survey-response__success-image" [src]="success.imageUrl" [alt]="success.title" />
|
|
39756
|
+
}
|
|
39757
|
+
<val-display [props]="{ content: success.title, size: 'small', color: 'dark' }" />
|
|
39758
|
+
@if (success.message) {
|
|
39759
|
+
<val-title [props]="{ content: success.message, size: 'large', color: '', bold: false }" />
|
|
39760
|
+
}
|
|
39761
|
+
</section>
|
|
39762
|
+
} @else {
|
|
39763
|
+
<val-empty-state [props]="sentState()" />
|
|
39764
|
+
}
|
|
39727
39765
|
} @else {
|
|
39728
39766
|
@if (typeConfig(); as cfg) {
|
|
39729
39767
|
@if (!canRespond()) {
|
|
39730
39768
|
<val-empty-state [props]="loginRequiredState()" />
|
|
39731
39769
|
} @else {
|
|
39732
39770
|
<div class="survey-response">
|
|
39771
|
+
@if (cfg.presentation?.headerImageUrl) {
|
|
39772
|
+
<img class="survey-response__header-image" [src]="cfg.presentation?.headerImageUrl" [alt]="cfg.label" />
|
|
39773
|
+
}
|
|
39733
39774
|
<val-display [props]="{ content: cfg.label, size: 'small', color: 'dark' }" />
|
|
39734
39775
|
@if (cfg.subtitle) {
|
|
39735
39776
|
<val-title [props]="{ content: cfg.subtitle, size: 'large', color: '', bold: false }" />
|
|
@@ -39760,7 +39801,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
39760
39801
|
}
|
|
39761
39802
|
}
|
|
39762
39803
|
}
|
|
39763
|
-
`, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"] }]
|
|
39804
|
+
`, styles: [":host{display:block}.survey-response{display:flex;flex-direction:column;gap:16px}.survey-response__header-image,.survey-response__success-image{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:var(--val-radius-md, 12px)}.survey-response__success{align-items:center;text-align:center}.survey-response__success-image{max-width:320px}.survey-response__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}.survey-response__hint{display:block;margin-top:4px;font-size:.8125rem;color:var(--ion-color-medium, #92949c)}.survey-response__loading{min-height:120px}\n"] }]
|
|
39764
39805
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
39765
39806
|
type: Input
|
|
39766
39807
|
}], submitted: [{
|
|
@@ -40615,6 +40656,15 @@ const SURVEY_BUILDER_I18N = {
|
|
|
40615
40656
|
titlePlaceholder: 'Ej: ¿Qué te pareció el evento?',
|
|
40616
40657
|
subtitleLabel: 'Subtítulo',
|
|
40617
40658
|
subtitlePlaceholder: 'Ej: Ayúdanos a mejorar respondiendo estas preguntas',
|
|
40659
|
+
presentationLabel: 'Presentación',
|
|
40660
|
+
headerImageLabel: 'Imagen inicial',
|
|
40661
|
+
headerImagePlaceholder: 'URL de la imagen que abre la encuesta',
|
|
40662
|
+
successTitleLabel: 'Título de agradecimiento',
|
|
40663
|
+
successTitlePlaceholder: 'Ej: Gracias por responder',
|
|
40664
|
+
successMessageLabel: 'Mensaje de agradecimiento',
|
|
40665
|
+
successMessagePlaceholder: 'Ej: Tu respuesta quedó registrada',
|
|
40666
|
+
successImageLabel: 'Imagen de cierre',
|
|
40667
|
+
successImagePlaceholder: 'URL de la imagen que se muestra al terminar',
|
|
40618
40668
|
questionsLabel: 'Preguntas',
|
|
40619
40669
|
questionLabelPlaceholder: 'Escribe la pregunta',
|
|
40620
40670
|
addQuestion: 'Agregar pregunta',
|
|
@@ -40639,6 +40689,15 @@ const SURVEY_BUILDER_I18N = {
|
|
|
40639
40689
|
titlePlaceholder: 'E.g: How was the event?',
|
|
40640
40690
|
subtitleLabel: 'Subtitle',
|
|
40641
40691
|
subtitlePlaceholder: 'E.g: Help us improve by answering these questions',
|
|
40692
|
+
presentationLabel: 'Presentation',
|
|
40693
|
+
headerImageLabel: 'Opening image',
|
|
40694
|
+
headerImagePlaceholder: 'Image URL shown at the start of the survey',
|
|
40695
|
+
successTitleLabel: 'Thank-you title',
|
|
40696
|
+
successTitlePlaceholder: 'E.g: Thanks for answering',
|
|
40697
|
+
successMessageLabel: 'Thank-you message',
|
|
40698
|
+
successMessagePlaceholder: 'E.g: Your response was recorded',
|
|
40699
|
+
successImageLabel: 'Closing image',
|
|
40700
|
+
successImagePlaceholder: 'Image URL shown after submit',
|
|
40642
40701
|
questionsLabel: 'Questions',
|
|
40643
40702
|
questionLabelPlaceholder: 'Write the question',
|
|
40644
40703
|
addQuestion: 'Add question',
|
|
@@ -40698,6 +40757,10 @@ class SurveyBuilderComponent {
|
|
|
40698
40757
|
this.errors = inject(ValtechErrorService);
|
|
40699
40758
|
this.titleControl = new FormControl('', { nonNullable: true });
|
|
40700
40759
|
this.subtitleControl = new FormControl('', { nonNullable: true });
|
|
40760
|
+
this.headerImageControl = new FormControl('', { nonNullable: true });
|
|
40761
|
+
this.successTitleControl = new FormControl('', { nonNullable: true });
|
|
40762
|
+
this.successMessageControl = new FormControl('', { nonNullable: true });
|
|
40763
|
+
this.successImageControl = new FormControl('', { nonNullable: true });
|
|
40701
40764
|
this.questions = signal([]);
|
|
40702
40765
|
this.editingId = signal('');
|
|
40703
40766
|
this.validationError = signal('');
|
|
@@ -40715,14 +40778,14 @@ class SurveyBuilderComponent {
|
|
|
40715
40778
|
async ngOnInit() {
|
|
40716
40779
|
// Sembrado directo: la app ya tenía la encuesta, no hace falta leerla.
|
|
40717
40780
|
if (this.props.initial) {
|
|
40718
|
-
this.hydrate(this.props.initial.label, this.props.initial.subtitle, this.props.initial.questions);
|
|
40781
|
+
this.hydrate(this.props.initial.label, this.props.initial.subtitle, this.props.initial.questions, this.props.initial.presentation);
|
|
40719
40782
|
return;
|
|
40720
40783
|
}
|
|
40721
40784
|
if (!this.props.typeId)
|
|
40722
40785
|
return;
|
|
40723
40786
|
try {
|
|
40724
40787
|
const cfg = await firstValueFrom(this.requests.getRequestType(this.props.typeId));
|
|
40725
|
-
this.hydrate(cfg.label, cfg.subtitle ?? '', cfg.fieldSchema);
|
|
40788
|
+
this.hydrate(cfg.label, cfg.subtitle ?? '', cfg.fieldSchema, cfg.presentation);
|
|
40726
40789
|
}
|
|
40727
40790
|
catch (err) {
|
|
40728
40791
|
this.errors.handle(err, {
|
|
@@ -40870,9 +40933,10 @@ class SurveyBuilderComponent {
|
|
|
40870
40933
|
}, index));
|
|
40871
40934
|
});
|
|
40872
40935
|
const subtitle = this.subtitleControl.value.trim();
|
|
40936
|
+
const presentation = this.presentationPayload();
|
|
40873
40937
|
// La app guarda: acá solo se valida y se entrega lo escrito.
|
|
40874
40938
|
if (this.props.persist === false) {
|
|
40875
|
-
this.draft.emit({ label: title, subtitle, questions: fieldSchema });
|
|
40939
|
+
this.draft.emit({ label: title, subtitle, presentation, questions: fieldSchema });
|
|
40876
40940
|
return;
|
|
40877
40941
|
}
|
|
40878
40942
|
this.saving.set(true);
|
|
@@ -40885,6 +40949,7 @@ class SurveyBuilderComponent {
|
|
|
40885
40949
|
const payload = {
|
|
40886
40950
|
label: title,
|
|
40887
40951
|
subtitle,
|
|
40952
|
+
presentation,
|
|
40888
40953
|
entityRef: this.props.entityRef,
|
|
40889
40954
|
skipReview: true,
|
|
40890
40955
|
skipSubmitterIdentity: true,
|
|
@@ -40909,11 +40974,24 @@ class SurveyBuilderComponent {
|
|
|
40909
40974
|
});
|
|
40910
40975
|
}
|
|
40911
40976
|
}
|
|
40912
|
-
hydrate(label, subtitle, questions) {
|
|
40977
|
+
hydrate(label, subtitle, questions, presentation) {
|
|
40913
40978
|
this.titleControl.setValue(label ?? '');
|
|
40914
40979
|
this.subtitleControl.setValue(subtitle ?? '');
|
|
40980
|
+
this.headerImageControl.setValue(presentation?.headerImageUrl ?? '');
|
|
40981
|
+
this.successTitleControl.setValue(presentation?.successTitle ?? '');
|
|
40982
|
+
this.successMessageControl.setValue(presentation?.successMessage ?? '');
|
|
40983
|
+
this.successImageControl.setValue(presentation?.successImageUrl ?? '');
|
|
40915
40984
|
this.questions.set([...(questions ?? [])].sort((a, b) => a.order - b.order).map(f => this.rowFromField(f)));
|
|
40916
40985
|
}
|
|
40986
|
+
presentationPayload() {
|
|
40987
|
+
const presentation = {
|
|
40988
|
+
headerImageUrl: this.headerImageControl.value.trim(),
|
|
40989
|
+
successTitle: this.successTitleControl.value.trim(),
|
|
40990
|
+
successMessage: this.successMessageControl.value.trim(),
|
|
40991
|
+
successImageUrl: this.successImageControl.value.trim(),
|
|
40992
|
+
};
|
|
40993
|
+
return Object.values(presentation).some(Boolean) ? presentation : undefined;
|
|
40994
|
+
}
|
|
40917
40995
|
rowFromField(f) {
|
|
40918
40996
|
return {
|
|
40919
40997
|
id: `row-${rowUid++}`,
|
|
@@ -40936,6 +41014,22 @@ class SurveyBuilderComponent {
|
|
|
40936
41014
|
<val-text-input [props]="{ control: subtitleControl, placeholder: t('subtitlePlaceholder') }" />
|
|
40937
41015
|
</val-form-field>
|
|
40938
41016
|
|
|
41017
|
+
<div class="survey-builder__presentation">
|
|
41018
|
+
<span class="survey-builder__questions-label">{{ t('presentationLabel') }}</span>
|
|
41019
|
+
<val-form-field [label]="t('headerImageLabel')">
|
|
41020
|
+
<val-text-input [props]="{ control: headerImageControl, placeholder: t('headerImagePlaceholder') }" />
|
|
41021
|
+
</val-form-field>
|
|
41022
|
+
<val-form-field [label]="t('successTitleLabel')">
|
|
41023
|
+
<val-text-input [props]="{ control: successTitleControl, placeholder: t('successTitlePlaceholder') }" />
|
|
41024
|
+
</val-form-field>
|
|
41025
|
+
<val-form-field [label]="t('successMessageLabel')">
|
|
41026
|
+
<val-text-input [props]="{ control: successMessageControl, placeholder: t('successMessagePlaceholder') }" />
|
|
41027
|
+
</val-form-field>
|
|
41028
|
+
<val-form-field [label]="t('successImageLabel')">
|
|
41029
|
+
<val-text-input [props]="{ control: successImageControl, placeholder: t('successImagePlaceholder') }" />
|
|
41030
|
+
</val-form-field>
|
|
41031
|
+
</div>
|
|
41032
|
+
|
|
40939
41033
|
<div class="survey-builder__questions">
|
|
40940
41034
|
<span class="survey-builder__questions-label">{{ t('questionsLabel') }}</span>
|
|
40941
41035
|
|
|
@@ -41035,7 +41129,7 @@ class SurveyBuilderComponent {
|
|
|
41035
41129
|
(onClick)="save()"
|
|
41036
41130
|
/>
|
|
41037
41131
|
</div>
|
|
41038
|
-
`, isInline: true, styles: [":host{display:block}.survey-builder{display:flex;flex-direction:column;gap:16px}.survey-builder__questions{display:flex;flex-direction:column;gap:12px}.survey-builder__questions-label{font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ion-color-medium, #92949c)}.survey-builder__empty{margin:0;font-size:.875rem;color:var(--ion-color-medium, #92949c)}.survey-builder__row{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:var(--val-radius-md, 12px);background:var(--ion-card-background, var(--ion-background-color, #fff))}.survey-builder__row-head{display:flex;flex-direction:column;gap:8px}.survey-builder__row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.survey-builder__row-text strong{color:var(--ion-text-color, #000);font-size:.9375rem}.survey-builder__row-text span{color:var(--ion-color-medium, #92949c);font-size:.8125rem}.survey-builder__row-actions{display:flex;gap:4px;flex-wrap:wrap}.survey-builder__row-editor{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid var(--ion-border-color, rgba(0, 0, 0, .1))}.survey-builder__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}@media (min-width: 576px){.survey-builder__row-head{flex-direction:row;align-items:flex-start;justify-content:space-between}.survey-builder__row-text{flex:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["preset", "props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: FormFieldComponent, selector: "val-form-field", inputs: ["label"] }, { kind: "component", type: FieldSchemaEditorComponent, selector: "val-field-schema-editor", inputs: ["props"], outputs: ["save", "changed"] }] }); }
|
|
41132
|
+
`, isInline: true, styles: [":host{display:block}.survey-builder{display:flex;flex-direction:column;gap:16px}.survey-builder__questions{display:flex;flex-direction:column;gap:12px}.survey-builder__presentation{display:flex;flex-direction:column;gap:12px;padding-top:4px}.survey-builder__questions-label{font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ion-color-medium, #92949c)}.survey-builder__empty{margin:0;font-size:.875rem;color:var(--ion-color-medium, #92949c)}.survey-builder__row{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:var(--val-radius-md, 12px);background:var(--ion-card-background, var(--ion-background-color, #fff))}.survey-builder__row-head{display:flex;flex-direction:column;gap:8px}.survey-builder__row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.survey-builder__row-text strong{color:var(--ion-text-color, #000);font-size:.9375rem}.survey-builder__row-text span{color:var(--ion-color-medium, #92949c);font-size:.8125rem}.survey-builder__row-actions{display:flex;gap:4px;flex-wrap:wrap}.survey-builder__row-editor{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid var(--ion-border-color, rgba(0, 0, 0, .1))}.survey-builder__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}@media (min-width: 576px){.survey-builder__row-head{flex-direction:row;align-items:flex-start;justify-content:space-between}.survey-builder__row-text{flex:1}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: TextInputComponent, selector: "val-text-input", inputs: ["preset", "props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: FormFieldComponent, selector: "val-form-field", inputs: ["label"] }, { kind: "component", type: FieldSchemaEditorComponent, selector: "val-field-schema-editor", inputs: ["props"], outputs: ["save", "changed"] }] }); }
|
|
41039
41133
|
}
|
|
41040
41134
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SurveyBuilderComponent, decorators: [{
|
|
41041
41135
|
type: Component,
|
|
@@ -41055,6 +41149,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
41055
41149
|
<val-text-input [props]="{ control: subtitleControl, placeholder: t('subtitlePlaceholder') }" />
|
|
41056
41150
|
</val-form-field>
|
|
41057
41151
|
|
|
41152
|
+
<div class="survey-builder__presentation">
|
|
41153
|
+
<span class="survey-builder__questions-label">{{ t('presentationLabel') }}</span>
|
|
41154
|
+
<val-form-field [label]="t('headerImageLabel')">
|
|
41155
|
+
<val-text-input [props]="{ control: headerImageControl, placeholder: t('headerImagePlaceholder') }" />
|
|
41156
|
+
</val-form-field>
|
|
41157
|
+
<val-form-field [label]="t('successTitleLabel')">
|
|
41158
|
+
<val-text-input [props]="{ control: successTitleControl, placeholder: t('successTitlePlaceholder') }" />
|
|
41159
|
+
</val-form-field>
|
|
41160
|
+
<val-form-field [label]="t('successMessageLabel')">
|
|
41161
|
+
<val-text-input [props]="{ control: successMessageControl, placeholder: t('successMessagePlaceholder') }" />
|
|
41162
|
+
</val-form-field>
|
|
41163
|
+
<val-form-field [label]="t('successImageLabel')">
|
|
41164
|
+
<val-text-input [props]="{ control: successImageControl, placeholder: t('successImagePlaceholder') }" />
|
|
41165
|
+
</val-form-field>
|
|
41166
|
+
</div>
|
|
41167
|
+
|
|
41058
41168
|
<div class="survey-builder__questions">
|
|
41059
41169
|
<span class="survey-builder__questions-label">{{ t('questionsLabel') }}</span>
|
|
41060
41170
|
|
|
@@ -41154,7 +41264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
41154
41264
|
(onClick)="save()"
|
|
41155
41265
|
/>
|
|
41156
41266
|
</div>
|
|
41157
|
-
`, styles: [":host{display:block}.survey-builder{display:flex;flex-direction:column;gap:16px}.survey-builder__questions{display:flex;flex-direction:column;gap:12px}.survey-builder__questions-label{font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ion-color-medium, #92949c)}.survey-builder__empty{margin:0;font-size:.875rem;color:var(--ion-color-medium, #92949c)}.survey-builder__row{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:var(--val-radius-md, 12px);background:var(--ion-card-background, var(--ion-background-color, #fff))}.survey-builder__row-head{display:flex;flex-direction:column;gap:8px}.survey-builder__row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.survey-builder__row-text strong{color:var(--ion-text-color, #000);font-size:.9375rem}.survey-builder__row-text span{color:var(--ion-color-medium, #92949c);font-size:.8125rem}.survey-builder__row-actions{display:flex;gap:4px;flex-wrap:wrap}.survey-builder__row-editor{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid var(--ion-border-color, rgba(0, 0, 0, .1))}.survey-builder__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}@media (min-width: 576px){.survey-builder__row-head{flex-direction:row;align-items:flex-start;justify-content:space-between}.survey-builder__row-text{flex:1}}\n"] }]
|
|
41267
|
+
`, styles: [":host{display:block}.survey-builder{display:flex;flex-direction:column;gap:16px}.survey-builder__questions{display:flex;flex-direction:column;gap:12px}.survey-builder__presentation{display:flex;flex-direction:column;gap:12px;padding-top:4px}.survey-builder__questions-label{font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ion-color-medium, #92949c)}.survey-builder__empty{margin:0;font-size:.875rem;color:var(--ion-color-medium, #92949c)}.survey-builder__row{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:var(--val-radius-md, 12px);background:var(--ion-card-background, var(--ion-background-color, #fff))}.survey-builder__row-head{display:flex;flex-direction:column;gap:8px}.survey-builder__row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.survey-builder__row-text strong{color:var(--ion-text-color, #000);font-size:.9375rem}.survey-builder__row-text span{color:var(--ion-color-medium, #92949c);font-size:.8125rem}.survey-builder__row-actions{display:flex;gap:4px;flex-wrap:wrap}.survey-builder__row-editor{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid var(--ion-border-color, rgba(0, 0, 0, .1))}.survey-builder__error{margin:0;color:var(--ion-color-danger);font-size:.875rem;font-weight:700}@media (min-width: 576px){.survey-builder__row-head{flex-direction:row;align-items:flex-start;justify-content:space-between}.survey-builder__row-text{flex:1}}\n"] }]
|
|
41158
41268
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
41159
41269
|
type: Input
|
|
41160
41270
|
}], saved: [{
|