valtech-components 4.0.105 → 4.0.106
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/form-field/form-field.component.mjs +17 -8
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +17 -8
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/form-field/form-field.component.d.ts +14 -5
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -5,20 +5,29 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
* Primitivo de campo de formulario: label (estilo val-form) + contenido proyectado.
|
|
6
6
|
*
|
|
7
7
|
* Usar cuando necesitás un campo fuera de val-form pero con el mismo estilo:
|
|
8
|
-
*
|
|
8
|
+
* image-picker, date-picker, selectores custom, chips, etc.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* </val-form-field>
|
|
10
|
+
* NOTA: para ion-input / ion-textarea NO usar ng-content projection — el Shadow DOM
|
|
11
|
+
* de Ionic no responde al grid del host. Usá en cambio un `<div class="pf-field">`
|
|
12
|
+
* plano en el template con `<p class="pf-label">` + ion-input directo.
|
|
14
13
|
*
|
|
14
|
+
* ```html
|
|
15
15
|
* <val-form-field label="Imagen">
|
|
16
16
|
* <app-image-picker ... />
|
|
17
17
|
* </val-form-field>
|
|
18
|
+
*
|
|
19
|
+
* <!-- Para ion-input: NO val-form-field, usar div plano -->
|
|
20
|
+
* <div class="pf-field">
|
|
21
|
+
* <p class="pf-label">Nombre</p>
|
|
22
|
+
* <ion-input fill="outline" ... />
|
|
23
|
+
* </div>
|
|
18
24
|
* ```
|
|
19
25
|
*
|
|
20
26
|
* El label usa el mismo val-title que val-form (size=small, color=dark, bold=false).
|
|
21
27
|
* El spacing entre campos se controla con --val-form-field-gap (default 0.5rem).
|
|
28
|
+
* El padding horizontal se hereda vía --val-form-field-padding (default 0).
|
|
29
|
+
* Setearlo en el contenedor padre para consistencia sin override en cada campo:
|
|
30
|
+
* `.my-card { --val-form-field-padding: 0 16px; }`
|
|
22
31
|
*/
|
|
23
32
|
export class FormFieldComponent {
|
|
24
33
|
constructor() {
|
|
@@ -38,7 +47,7 @@ export class FormFieldComponent {
|
|
|
38
47
|
</div>
|
|
39
48
|
}
|
|
40
49
|
<ng-content />
|
|
41
|
-
`, isInline: true, styles: [":host{display:grid;grid-template-columns:1fr;width:100%;box-sizing:border-box;margin:var(--val-form-field-gap, .5rem) 0}.vff-label{margin-bottom:.25rem}.vff-label ::ng-deep p{margin:0}\n"], dependencies: [{ kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }] }); }
|
|
50
|
+
`, isInline: true, styles: [":host{display:grid;grid-template-columns:1fr;width:100%;box-sizing:border-box;margin:var(--val-form-field-gap, .5rem) 0;padding:var(--val-form-field-padding, 0)}.vff-label{margin-bottom:.25rem}.vff-label ::ng-deep p{margin:0}\n"], dependencies: [{ kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }] }); }
|
|
42
51
|
}
|
|
43
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
44
53
|
type: Component,
|
|
@@ -49,6 +58,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
49
58
|
</div>
|
|
50
59
|
}
|
|
51
60
|
<ng-content />
|
|
52
|
-
`, styles: [":host{display:grid;grid-template-columns:1fr;width:100%;box-sizing:border-box;margin:var(--val-form-field-gap, .5rem) 0}.vff-label{margin-bottom:.25rem}.vff-label ::ng-deep p{margin:0}\n"] }]
|
|
61
|
+
`, styles: [":host{display:grid;grid-template-columns:1fr;width:100%;box-sizing:border-box;margin:var(--val-form-field-gap, .5rem) 0;padding:var(--val-form-field-padding, 0)}.vff-label{margin-bottom:.25rem}.vff-label ::ng-deep p{margin:0}\n"] }]
|
|
53
62
|
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFbkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQXNDSCxNQUFNLE9BQU8sa0JBQWtCO0lBckMvQjtRQXNDRSxVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNwQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQixJQUFJLEVBQUUsT0FBZ0I7WUFDdEIsS0FBSyxFQUFFLE1BQWU7WUFDdEIsSUFBSSxFQUFFLEtBQUs7U0FDWixDQUFDLENBQUMsQ0FBQztLQUNMOytHQVRZLGtCQUFrQjttR0FBbEIsa0JBQWtCLDhNQWpDbkI7Ozs7Ozs7R0FPVCw2U0FSUyxjQUFjOzs0RkFrQ2Isa0JBQWtCO2tCQXJDOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxjQUFjLENBQUMsWUFDZjs7Ozs7OztHQU9UIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcblxuLyoqXG4gKiBQcmltaXRpdm8gZGUgY2FtcG8gZGUgZm9ybXVsYXJpbzogbGFiZWwgKGVzdGlsbyB2YWwtZm9ybSkgKyBjb250ZW5pZG8gcHJveWVjdGFkby5cbiAqXG4gKiBVc2FyIGN1YW5kbyBuZWNlc2l0w6FzIHVuIGNhbXBvIGZ1ZXJhIGRlIHZhbC1mb3JtIHBlcm8gY29uIGVsIG1pc21vIGVzdGlsbzpcbiAqIGltYWdlLXBpY2tlciwgZGF0ZS1waWNrZXIsIHNlbGVjdG9yZXMgY3VzdG9tLCBjaGlwcywgZXRjLlxuICpcbiAqIE5PVEE6IHBhcmEgaW9uLWlucHV0IC8gaW9uLXRleHRhcmVhIE5PIHVzYXIgbmctY29udGVudCBwcm9qZWN0aW9uIOKAlCBlbCBTaGFkb3cgRE9NXG4gKiBkZSBJb25pYyBubyByZXNwb25kZSBhbCBncmlkIGRlbCBob3N0LiBVc8OhIGVuIGNhbWJpbyB1biBgPGRpdiBjbGFzcz1cInBmLWZpZWxkXCI+YFxuICogcGxhbm8gZW4gZWwgdGVtcGxhdGUgY29uIGA8cCBjbGFzcz1cInBmLWxhYmVsXCI+YCArIGlvbi1pbnB1dCBkaXJlY3RvLlxuICpcbiAqIGBgYGh0bWxcbiAqIDx2YWwtZm9ybS1maWVsZCBsYWJlbD1cIkltYWdlblwiPlxuICogICA8YXBwLWltYWdlLXBpY2tlciAuLi4gLz5cbiAqIDwvdmFsLWZvcm0tZmllbGQ+XG4gKlxuICogPCEtLSBQYXJhIGlvbi1pbnB1dDogTk8gdmFsLWZvcm0tZmllbGQsIHVzYXIgZGl2IHBsYW5vIC0tPlxuICogPGRpdiBjbGFzcz1cInBmLWZpZWxkXCI+XG4gKiAgIDxwIGNsYXNzPVwicGYtbGFiZWxcIj5Ob21icmU8L3A+XG4gKiAgIDxpb24taW5wdXQgZmlsbD1cIm91dGxpbmVcIiAuLi4gLz5cbiAqIDwvZGl2PlxuICogYGBgXG4gKlxuICogRWwgbGFiZWwgdXNhIGVsIG1pc21vIHZhbC10aXRsZSBxdWUgdmFsLWZvcm0gKHNpemU9c21hbGwsIGNvbG9yPWRhcmssIGJvbGQ9ZmFsc2UpLlxuICogRWwgc3BhY2luZyBlbnRyZSBjYW1wb3Mgc2UgY29udHJvbGEgY29uIC0tdmFsLWZvcm0tZmllbGQtZ2FwIChkZWZhdWx0IDAuNXJlbSkuXG4gKiBFbCBwYWRkaW5nIGhvcml6b250YWwgc2UgaGVyZWRhIHbDrWEgLS12YWwtZm9ybS1maWVsZC1wYWRkaW5nIChkZWZhdWx0IDApLlxuICogU2V0ZWFybG8gZW4gZWwgY29udGVuZWRvciBwYWRyZSBwYXJhIGNvbnNpc3RlbmNpYSBzaW4gb3ZlcnJpZGUgZW4gY2FkYSBjYW1wbzpcbiAqICAgYC5teS1jYXJkIHsgLS12YWwtZm9ybS1maWVsZC1wYWRkaW5nOiAwIDE2cHg7IH1gXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1mb3JtLWZpZWxkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1RpdGxlQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGxhYmVsKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJ2ZmYtbGFiZWxcIj5cbiAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwidGl0bGVQcm9wcygpXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8bmctY29udGVudCAvPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAvKlxuICAgICAgICogR3JpZCBkZSAxIGNvbHVtbmE6IGxvcyBoaWpvcyBkaXJlY3RvcyAobGFiZWwgZGl2ICsgbmctY29udGVudCBwcm9qZWN0ZWQpXG4gICAgICAgKiBzb24gZ3JpZCBpdGVtcyBjb24ganVzdGlmeS1zZWxmOnN0cmV0Y2ggcG9yIGRlZmVjdG8g4oaSIGxsZW5hbiAxMDAlIGRlIGFuY2hvLlxuICAgICAgICogRXZpdGEgZWwgcHJvYmxlbWEgZGUgZmxleC1ncm93OjAgcXVlIElvbmljIGFwbGljYSBhIGlvbi1pbnB1dCBwb3IgZGVmYXVsdC5cbiAgICAgICAqL1xuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tdmFsLWZvcm0tZmllbGQtZ2FwLCAwLjVyZW0pIDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXZhbC1mb3JtLWZpZWxkLXBhZGRpbmcsIDApO1xuICAgICAgfVxuICAgICAgLnZmZi1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB9XG4gICAgICAvKiB2YWwtdGl0bGUgcmVuZGVyaXphIDxwIGNsYXNzPVwic21hbGxcIj4gY29uIG1hcmdpbiBicm93c2VyIOKAlCB6ZXJvZWFybG8gKi9cbiAgICAgIC52ZmYtbGFiZWwgOjpuZy1kZWVwIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkQ29tcG9uZW50IHtcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCcnKTtcblxuICByZWFkb25seSB0aXRsZVByb3BzID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICBjb250ZW50OiB0aGlzLmxhYmVsKCksXG4gICAgc2l6ZTogJ3NtYWxsJyBhcyBjb25zdCxcbiAgICBjb2xvcjogJ2RhcmsnIGFzIGNvbnN0LFxuICAgIGJvbGQ6IGZhbHNlLFxuICB9KSk7XG59XG4iXX0=
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '4.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.106';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4xMDYnO1xuIl19
|
|
@@ -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.106';
|
|
60
60
|
|
|
61
61
|
// Control de estado de refresco (singleton a nivel de módulo)
|
|
62
62
|
let isRefreshing = false;
|
|
@@ -69161,20 +69161,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
69161
69161
|
* Primitivo de campo de formulario: label (estilo val-form) + contenido proyectado.
|
|
69162
69162
|
*
|
|
69163
69163
|
* Usar cuando necesitás un campo fuera de val-form pero con el mismo estilo:
|
|
69164
|
-
*
|
|
69164
|
+
* image-picker, date-picker, selectores custom, chips, etc.
|
|
69165
69165
|
*
|
|
69166
|
-
*
|
|
69167
|
-
*
|
|
69168
|
-
*
|
|
69169
|
-
* </val-form-field>
|
|
69166
|
+
* NOTA: para ion-input / ion-textarea NO usar ng-content projection — el Shadow DOM
|
|
69167
|
+
* de Ionic no responde al grid del host. Usá en cambio un `<div class="pf-field">`
|
|
69168
|
+
* plano en el template con `<p class="pf-label">` + ion-input directo.
|
|
69170
69169
|
*
|
|
69170
|
+
* ```html
|
|
69171
69171
|
* <val-form-field label="Imagen">
|
|
69172
69172
|
* <app-image-picker ... />
|
|
69173
69173
|
* </val-form-field>
|
|
69174
|
+
*
|
|
69175
|
+
* <!-- Para ion-input: NO val-form-field, usar div plano -->
|
|
69176
|
+
* <div class="pf-field">
|
|
69177
|
+
* <p class="pf-label">Nombre</p>
|
|
69178
|
+
* <ion-input fill="outline" ... />
|
|
69179
|
+
* </div>
|
|
69174
69180
|
* ```
|
|
69175
69181
|
*
|
|
69176
69182
|
* El label usa el mismo val-title que val-form (size=small, color=dark, bold=false).
|
|
69177
69183
|
* El spacing entre campos se controla con --val-form-field-gap (default 0.5rem).
|
|
69184
|
+
* El padding horizontal se hereda vía --val-form-field-padding (default 0).
|
|
69185
|
+
* Setearlo en el contenedor padre para consistencia sin override en cada campo:
|
|
69186
|
+
* `.my-card { --val-form-field-padding: 0 16px; }`
|
|
69178
69187
|
*/
|
|
69179
69188
|
class FormFieldComponent {
|
|
69180
69189
|
constructor() {
|
|
@@ -69194,7 +69203,7 @@ class FormFieldComponent {
|
|
|
69194
69203
|
</div>
|
|
69195
69204
|
}
|
|
69196
69205
|
<ng-content />
|
|
69197
|
-
`, isInline: true, styles: [":host{display:grid;grid-template-columns:1fr;width:100%;box-sizing:border-box;margin:var(--val-form-field-gap, .5rem) 0}.vff-label{margin-bottom:.25rem}.vff-label ::ng-deep p{margin:0}\n"], dependencies: [{ kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }] }); }
|
|
69206
|
+
`, isInline: true, styles: [":host{display:grid;grid-template-columns:1fr;width:100%;box-sizing:border-box;margin:var(--val-form-field-gap, .5rem) 0;padding:var(--val-form-field-padding, 0)}.vff-label{margin-bottom:.25rem}.vff-label ::ng-deep p{margin:0}\n"], dependencies: [{ kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }] }); }
|
|
69198
69207
|
}
|
|
69199
69208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
69200
69209
|
type: Component,
|
|
@@ -69205,7 +69214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
69205
69214
|
</div>
|
|
69206
69215
|
}
|
|
69207
69216
|
<ng-content />
|
|
69208
|
-
`, styles: [":host{display:grid;grid-template-columns:1fr;width:100%;box-sizing:border-box;margin:var(--val-form-field-gap, .5rem) 0}.vff-label{margin-bottom:.25rem}.vff-label ::ng-deep p{margin:0}\n"] }]
|
|
69217
|
+
`, styles: [":host{display:grid;grid-template-columns:1fr;width:100%;box-sizing:border-box;margin:var(--val-form-field-gap, .5rem) 0;padding:var(--val-form-field-padding, 0)}.vff-label{margin-bottom:.25rem}.vff-label ::ng-deep p{margin:0}\n"] }]
|
|
69209
69218
|
}] });
|
|
69210
69219
|
|
|
69211
69220
|
/*
|