valtech-components 4.0.76 → 4.0.79
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/molecules/feedback-form/feedback-form.component.mjs +19 -6
- package/esm2022/lib/components/molecules/feedback-form/types.mjs +1 -1
- package/esm2022/lib/services/i18n/default-content.mjs +7 -3
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +25 -8
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/feedback-form/types.d.ts +6 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -56,7 +56,7 @@ import { BrowserMultiFormatReader } from '@zxing/browser';
|
|
|
56
56
|
* Current version of valtech-components.
|
|
57
57
|
* This is automatically updated during the publish process.
|
|
58
58
|
*/
|
|
59
|
-
const VERSION = '4.0.
|
|
59
|
+
const VERSION = '4.0.79';
|
|
60
60
|
|
|
61
61
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
62
62
|
let isRefreshing = false;
|
|
@@ -7079,7 +7079,9 @@ const VALTECH_DEFAULT_CONTENT = {
|
|
|
7079
7079
|
titlePlaceholder: 'Describe brevemente...',
|
|
7080
7080
|
titleValidation: 'El título debe tener entre 5 y 200 caracteres',
|
|
7081
7081
|
descriptionPlaceholder: 'Proporciona más detalles...',
|
|
7082
|
-
descriptionValidation: 'La descripción
|
|
7082
|
+
descriptionValidation: 'La descripción es demasiado larga',
|
|
7083
|
+
formTitle: 'Enviar feedback',
|
|
7084
|
+
formSubtitle: 'Cuéntanos qué piensas. Errores, sugerencias y mejoras.',
|
|
7083
7085
|
// Componentes - Búsqueda/Grid
|
|
7084
7086
|
searchNumber: 'Buscar número...',
|
|
7085
7087
|
selected: 'seleccionado/s',
|
|
@@ -7231,7 +7233,9 @@ const VALTECH_DEFAULT_CONTENT = {
|
|
|
7231
7233
|
titlePlaceholder: 'Describe briefly...',
|
|
7232
7234
|
titleValidation: 'Title must be between 5 and 200 characters',
|
|
7233
7235
|
descriptionPlaceholder: 'Provide more details...',
|
|
7234
|
-
descriptionValidation: 'Description
|
|
7236
|
+
descriptionValidation: 'Description is too long',
|
|
7237
|
+
formTitle: 'Send feedback',
|
|
7238
|
+
formSubtitle: 'Tell us what you think. Bugs, suggestions and improvements.',
|
|
7235
7239
|
// Components - Search/Grid
|
|
7236
7240
|
searchNumber: 'Search number...',
|
|
7237
7241
|
selected: 'selected',
|
|
@@ -64250,8 +64254,8 @@ class FeedbackFormComponent {
|
|
|
64250
64254
|
placeholder: this.props.descriptionPlaceholder ?? this.i18n.t('descriptionPlaceholder'),
|
|
64251
64255
|
type: InputType.TEXTAREA,
|
|
64252
64256
|
order: 3,
|
|
64253
|
-
range: { min: 10, max:
|
|
64254
|
-
validators: [Validators.required, Validators.minLength(10), Validators.maxLength(
|
|
64257
|
+
range: { min: 10, max: 2000 },
|
|
64258
|
+
validators: [Validators.required, Validators.minLength(10), Validators.maxLength(2000)],
|
|
64255
64259
|
errors: {
|
|
64256
64260
|
required: this.i18n.t('descriptionValidation'),
|
|
64257
64261
|
minlength: this.i18n.t('descriptionValidation'),
|
|
@@ -64264,7 +64268,8 @@ class FeedbackFormComponent {
|
|
|
64264
64268
|
sections: [{ name: '', order: 0, fields }],
|
|
64265
64269
|
actions: {
|
|
64266
64270
|
type: 'submit',
|
|
64267
|
-
color: '
|
|
64271
|
+
color: 'dark',
|
|
64272
|
+
shape: 'round',
|
|
64268
64273
|
text: this.props.submitButtonText ?? this.i18n.t('submit'),
|
|
64269
64274
|
state: ComponentStates.ENABLED,
|
|
64270
64275
|
expand: 'block',
|
|
@@ -64309,6 +64314,12 @@ class FeedbackFormComponent {
|
|
|
64309
64314
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedbackFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64310
64315
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FeedbackFormComponent, isStandalone: true, selector: "val-feedback-form", inputs: { props: "props" }, outputs: { onSubmit: "onSubmit", onCancel: "onCancel" }, ngImport: i0, template: `
|
|
64311
64316
|
<div class="feedback-form-wrapper" [class.compact]="props.compact" [ngClass]="props.cssClass">
|
|
64317
|
+
@if (props.showTitle) {
|
|
64318
|
+
<div class="form-header">
|
|
64319
|
+
<h2 class="form-title">{{ props.pageTitle || i18n.t('formTitle') }}</h2>
|
|
64320
|
+
<p class="form-subtitle">{{ props.pageSubtitle || i18n.t('formSubtitle') }}</p>
|
|
64321
|
+
</div>
|
|
64322
|
+
}
|
|
64312
64323
|
<val-form [props]="formProps" (onSubmit)="handleFormSubmit($event)">
|
|
64313
64324
|
@if (props.showAttachments !== false) {
|
|
64314
64325
|
<val-attachment-uploader
|
|
@@ -64338,12 +64349,18 @@ class FeedbackFormComponent {
|
|
|
64338
64349
|
</ion-button>
|
|
64339
64350
|
}
|
|
64340
64351
|
</div>
|
|
64341
|
-
`, isInline: true, styles: [".feedback-form-wrapper{display:flex;flex-direction:column;gap:8px;&.compact{gap:4px}}.feedback-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin-top:8px;&.error{background-color:var(--ion-color-danger-tint);color:var(--ion-color-danger-shade)}&.success{background-color:var(--ion-color-success-tint);color:var(--ion-color-success-shade)}ion-icon{font-size:20px}}.cancel-button{margin-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FormComponent, selector: "val-form", inputs: ["props"], outputs: ["onSubmit", "onInvalid", "onSelectChange"] }, { kind: "component", type: AttachmentUploaderComponent, selector: "val-attachment-uploader", inputs: ["props"], outputs: ["attachmentsChange"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
64352
|
+
`, isInline: true, styles: [".feedback-form-wrapper{display:flex;flex-direction:column;gap:8px;&.compact{gap:4px}}.form-header{margin-bottom:8px}.form-title{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--ion-text-color)}.form-subtitle{font-size:1rem;font-weight:700;margin:0;color:var(--ion-text-color)}.feedback-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin-top:8px;&.error{background-color:var(--ion-color-danger-tint);color:var(--ion-color-danger-shade)}&.success{background-color:var(--ion-color-success-tint);color:var(--ion-color-success-shade)}ion-icon{font-size:20px}}.cancel-button{margin-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FormComponent, selector: "val-form", inputs: ["props"], outputs: ["onSubmit", "onInvalid", "onSelectChange"] }, { kind: "component", type: AttachmentUploaderComponent, selector: "val-attachment-uploader", inputs: ["props"], outputs: ["attachmentsChange"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
|
|
64342
64353
|
}
|
|
64343
64354
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FeedbackFormComponent, decorators: [{
|
|
64344
64355
|
type: Component,
|
|
64345
64356
|
args: [{ selector: 'val-feedback-form', standalone: true, imports: [CommonModule, FormComponent, AttachmentUploaderComponent, IonButton, IonIcon], template: `
|
|
64346
64357
|
<div class="feedback-form-wrapper" [class.compact]="props.compact" [ngClass]="props.cssClass">
|
|
64358
|
+
@if (props.showTitle) {
|
|
64359
|
+
<div class="form-header">
|
|
64360
|
+
<h2 class="form-title">{{ props.pageTitle || i18n.t('formTitle') }}</h2>
|
|
64361
|
+
<p class="form-subtitle">{{ props.pageSubtitle || i18n.t('formSubtitle') }}</p>
|
|
64362
|
+
</div>
|
|
64363
|
+
}
|
|
64347
64364
|
<val-form [props]="formProps" (onSubmit)="handleFormSubmit($event)">
|
|
64348
64365
|
@if (props.showAttachments !== false) {
|
|
64349
64366
|
<val-attachment-uploader
|
|
@@ -64373,7 +64390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
64373
64390
|
</ion-button>
|
|
64374
64391
|
}
|
|
64375
64392
|
</div>
|
|
64376
|
-
`, styles: [".feedback-form-wrapper{display:flex;flex-direction:column;gap:8px;&.compact{gap:4px}}.feedback-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin-top:8px;&.error{background-color:var(--ion-color-danger-tint);color:var(--ion-color-danger-shade)}&.success{background-color:var(--ion-color-success-tint);color:var(--ion-color-success-shade)}ion-icon{font-size:20px}}.cancel-button{margin-top:8px}\n"] }]
|
|
64393
|
+
`, styles: [".feedback-form-wrapper{display:flex;flex-direction:column;gap:8px;&.compact{gap:4px}}.form-header{margin-bottom:8px}.form-title{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--ion-text-color)}.form-subtitle{font-size:1rem;font-weight:700;margin:0;color:var(--ion-text-color)}.feedback-alert{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin-top:8px;&.error{background-color:var(--ion-color-danger-tint);color:var(--ion-color-danger-shade)}&.success{background-color:var(--ion-color-success-tint);color:var(--ion-color-success-shade)}ion-icon{font-size:20px}}.cancel-button{margin-top:8px}\n"] }]
|
|
64377
64394
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
64378
64395
|
type: Input
|
|
64379
64396
|
}], onSubmit: [{
|