structra-ui 0.1.49 → 0.1.51
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/fesm2022/structra-ui.mjs +76 -44
- package/fesm2022/structra-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/structra-ui.d.ts +36 -9
package/fesm2022/structra-ui.mjs
CHANGED
|
@@ -240,6 +240,9 @@ var BaseButtonType;
|
|
|
240
240
|
BaseButtonType["Submit"] = "submit";
|
|
241
241
|
BaseButtonType["Reset"] = "reset";
|
|
242
242
|
})(BaseButtonType || (BaseButtonType = {}));
|
|
243
|
+
/**
|
|
244
|
+
* Base do botão; **não** exposta no barrel público `buttons`. Use `ButtonComponent` (`app-button`).
|
|
245
|
+
*/
|
|
243
246
|
class BaseButtonComponent {
|
|
244
247
|
constructor() {
|
|
245
248
|
/** `submit` envia o `<form>` ancestral; use `button` para ações sem submit. */
|
|
@@ -293,7 +296,7 @@ class BaseButtonComponent {
|
|
|
293
296
|
}
|
|
294
297
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseButtonComponent, decorators: [{
|
|
295
298
|
type: Component,
|
|
296
|
-
args: [{ selector: 'app-base-button', imports: [SkeletonBlockComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!loading) {\r\n<button\r\n #nativeBtn\r\n class=\"base-button__native\"\r\n [attr.type]=\"type\"\r\n [disabled]=\"disabled || readonly\"\r\n [attr.aria-readonly]=\"readonly ? true : null\"\r\n>\r\n <ng-content />\r\n</button>\r\n} @else {\r\n<div class=\"base-button__native base-button__native--skeleton\" role=\"status\" aria-live=\"polite\" aria-busy=\"true\"\r\n aria-label=\"A carregar\">\r\n <app-skeleton-block width=\"40%\" height=\"0.7rem\" radius=\"8px\" />\r\n</div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;width:fit-content;max-width:100%;box-sizing:border-box;vertical-align:middle}.base-button__native{-webkit-appearance:none;appearance:none;display:flex;width:auto;min-width:5rem;align-items:center;justify-content:center;text-align:center;gap:.5rem;min-height:2.5rem;padding:.5rem 1.25rem;margin:0;border:1px solid transparent;border-radius:var(--ui-field-float-border-radius, 14px);font:inherit;font-size:.9375rem;font-weight:600;line-height:1.25;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease}:host(.base-button--full-width){display:block;width:auto;min-width:0;max-width:100%;box-sizing:border-box}:host(.base-button--full-width) .base-button__native{width:100%;min-width:0}.base-button__native:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ui-field-float-focus-ring, rgba(43, 127, 217, .35))}:host(.base-button--primary) .base-button__native{color:var(--app-color-primary-contrast, #ffffff);background:var(--ui-field-float-border-focus, #2b7fd9);border-color:var(--ui-field-float-border-focus, #2b7fd9)}:host(.base-button--primary) .base-button__native:hover:not(:disabled){filter:brightness(.95)}:host(.base-button--secondary) .base-button__native{color:var(--ui-field-float-label-top-color, #4a6d8c);background:var(--ui-field-float-bg, #f3f7fb);border-color:var(--ui-field-float-border, #b6cce5)}:host(.base-button--secondary) .base-button__native:hover:not(:disabled){background:var(--app-color-button-secondary-hover-bg, #e8f0fa)}:host(.base-button--ghost) .base-button__native{color:var(--app-color-text-primary, #1a2f45);background:transparent;border-color:transparent;min-width:0;min-height:2.25rem;padding:.35rem .5rem;border-radius:8px;font-size:.95rem;font-weight:600;justify-content:flex-start;gap:.45rem}:host(.base-button--ghost) .base-button__native:hover:not(:disabled){color:var(--app-color-nav-link);background:color-mix(in srgb,var(--app-color-primary) 6%,transparent)}:host(.base-button--disabled:not(.base-button--readonly)) .base-button__native,.base-button__native:disabled:not([aria-readonly=true]){cursor:not-allowed;opacity:var(--ui-field-input-disabled-opacity, .65)}:host(.base-button--readonly) .base-button__native{cursor:default;opacity:1;color:var(--ui-field-readonly-button-text, #37474f);background:var(--ui-field-readonly-button-bg, #cfd8dc);border-color:var(--ui-field-readonly-button-border, #90a4ae)}:host(.base-button--readonly) .base-button__native:hover:not(:disabled){filter:brightness(.97)}:host(.base-button--readonly) .base-button__native:focus-visible{box-shadow:0 0 0 3px var(--ui-field-readonly-button-focus-ring, rgba(96, 125, 139, .35))}.base-button__native--skeleton{pointer-events:none;cursor:default}:host(.base-button--primary.base-button--loading) .base-button__native--skeleton{color:transparent;background:color-mix(in srgb,var(--ui-field-float-border-focus, #2b7fd9) 82%,#ffffff);border-color:color-mix(in srgb,var(--ui-field-float-border-focus, #2b7fd9) 82%,#ffffff)}:host(.base-button--secondary.base-button--loading) .base-button__native--skeleton{background:var(--ui-field-float-bg, #f3f7fb);border-color:var(--ui-field-float-border, #b6cce5)}:host(.base-button--ghost.base-button--loading) .base-button__native--skeleton{color:transparent;background:color-mix(in srgb,var(--app-color-text-primary, #1a2f45) 8%,transparent);border-color:transparent}\n"] }]
|
|
299
|
+
args: [{ selector: 'app-base-button', standalone: true, imports: [SkeletonBlockComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!loading) {\r\n<button\r\n #nativeBtn\r\n class=\"base-button__native\"\r\n [attr.type]=\"type\"\r\n [disabled]=\"disabled || readonly\"\r\n [attr.aria-readonly]=\"readonly ? true : null\"\r\n>\r\n <ng-content />\r\n</button>\r\n} @else {\r\n<div class=\"base-button__native base-button__native--skeleton\" role=\"status\" aria-live=\"polite\" aria-busy=\"true\"\r\n aria-label=\"A carregar\">\r\n <app-skeleton-block width=\"40%\" height=\"0.7rem\" radius=\"8px\" />\r\n</div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;width:fit-content;max-width:100%;box-sizing:border-box;vertical-align:middle}.base-button__native{-webkit-appearance:none;appearance:none;display:flex;width:auto;min-width:5rem;align-items:center;justify-content:center;text-align:center;gap:.5rem;min-height:2.5rem;padding:.5rem 1.25rem;margin:0;border:1px solid transparent;border-radius:var(--ui-field-float-border-radius, 14px);font:inherit;font-size:.9375rem;font-weight:600;line-height:1.25;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease}:host(.base-button--full-width){display:block;width:auto;min-width:0;max-width:100%;box-sizing:border-box}:host(.base-button--full-width) .base-button__native{width:100%;min-width:0}.base-button__native:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ui-field-float-focus-ring, rgba(43, 127, 217, .35))}:host(.base-button--primary) .base-button__native{color:var(--app-color-primary-contrast, #ffffff);background:var(--ui-field-float-border-focus, #2b7fd9);border-color:var(--ui-field-float-border-focus, #2b7fd9)}:host(.base-button--primary) .base-button__native:hover:not(:disabled){filter:brightness(.95)}:host(.base-button--secondary) .base-button__native{color:var(--ui-field-float-label-top-color, #4a6d8c);background:var(--ui-field-float-bg, #f3f7fb);border-color:var(--ui-field-float-border, #b6cce5)}:host(.base-button--secondary) .base-button__native:hover:not(:disabled){background:var(--app-color-button-secondary-hover-bg, #e8f0fa)}:host(.base-button--ghost) .base-button__native{color:var(--app-color-text-primary, #1a2f45);background:transparent;border-color:transparent;min-width:0;min-height:2.25rem;padding:.35rem .5rem;border-radius:8px;font-size:.95rem;font-weight:600;justify-content:flex-start;gap:.45rem}:host(.base-button--ghost) .base-button__native:hover:not(:disabled){color:var(--app-color-nav-link);background:color-mix(in srgb,var(--app-color-primary) 6%,transparent)}:host(.base-button--disabled:not(.base-button--readonly)) .base-button__native,.base-button__native:disabled:not([aria-readonly=true]){cursor:not-allowed;opacity:var(--ui-field-input-disabled-opacity, .65)}:host(.base-button--readonly) .base-button__native{cursor:default;opacity:1;color:var(--ui-field-readonly-button-text, #37474f);background:var(--ui-field-readonly-button-bg, #cfd8dc);border-color:var(--ui-field-readonly-button-border, #90a4ae)}:host(.base-button--readonly) .base-button__native:hover:not(:disabled){filter:brightness(.97)}:host(.base-button--readonly) .base-button__native:focus-visible{box-shadow:0 0 0 3px var(--ui-field-readonly-button-focus-ring, rgba(96, 125, 139, .35))}.base-button__native--skeleton{pointer-events:none;cursor:default}:host(.base-button--primary.base-button--loading) .base-button__native--skeleton{color:transparent;background:color-mix(in srgb,var(--ui-field-float-border-focus, #2b7fd9) 82%,#ffffff);border-color:color-mix(in srgb,var(--ui-field-float-border-focus, #2b7fd9) 82%,#ffffff)}:host(.base-button--secondary.base-button--loading) .base-button__native--skeleton{background:var(--ui-field-float-bg, #f3f7fb);border-color:var(--ui-field-float-border, #b6cce5)}:host(.base-button--ghost.base-button--loading) .base-button__native--skeleton{color:transparent;background:color-mix(in srgb,var(--app-color-text-primary, #1a2f45) 8%,transparent);border-color:transparent}\n"] }]
|
|
297
300
|
}], propDecorators: { nativeBtn: [{
|
|
298
301
|
type: ViewChild,
|
|
299
302
|
args: ['nativeBtn', { read: ElementRef }]
|
|
@@ -321,6 +324,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
321
324
|
args: ['class']
|
|
322
325
|
}] } });
|
|
323
326
|
|
|
327
|
+
/**
|
|
328
|
+
* Botão público da library (`app-button`). Comportamento e API iguais a {@link BaseButtonComponent};
|
|
329
|
+
* use sempre este componente em templates — a base permanece interna ao pacote.
|
|
330
|
+
*/
|
|
331
|
+
class ButtonComponent extends BaseButtonComponent {
|
|
332
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
333
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ButtonComponent, isStandalone: true, selector: "app-button", usesInheritance: true, ngImport: i0, template: "@if (!loading) {\r\n<button\r\n #nativeBtn\r\n class=\"base-button__native\"\r\n [attr.type]=\"type\"\r\n [disabled]=\"disabled || readonly\"\r\n [attr.aria-readonly]=\"readonly ? true : null\"\r\n>\r\n <ng-content />\r\n</button>\r\n} @else {\r\n<div class=\"base-button__native base-button__native--skeleton\" role=\"status\" aria-live=\"polite\" aria-busy=\"true\"\r\n aria-label=\"A carregar\">\r\n <app-skeleton-block width=\"40%\" height=\"0.7rem\" radius=\"8px\" />\r\n</div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;width:fit-content;max-width:100%;box-sizing:border-box;vertical-align:middle}.base-button__native{-webkit-appearance:none;appearance:none;display:flex;width:auto;min-width:5rem;align-items:center;justify-content:center;text-align:center;gap:.5rem;min-height:2.5rem;padding:.5rem 1.25rem;margin:0;border:1px solid transparent;border-radius:var(--ui-field-float-border-radius, 14px);font:inherit;font-size:.9375rem;font-weight:600;line-height:1.25;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease}:host(.base-button--full-width){display:block;width:auto;min-width:0;max-width:100%;box-sizing:border-box}:host(.base-button--full-width) .base-button__native{width:100%;min-width:0}.base-button__native:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ui-field-float-focus-ring, rgba(43, 127, 217, .35))}:host(.base-button--primary) .base-button__native{color:var(--app-color-primary-contrast, #ffffff);background:var(--ui-field-float-border-focus, #2b7fd9);border-color:var(--ui-field-float-border-focus, #2b7fd9)}:host(.base-button--primary) .base-button__native:hover:not(:disabled){filter:brightness(.95)}:host(.base-button--secondary) .base-button__native{color:var(--ui-field-float-label-top-color, #4a6d8c);background:var(--ui-field-float-bg, #f3f7fb);border-color:var(--ui-field-float-border, #b6cce5)}:host(.base-button--secondary) .base-button__native:hover:not(:disabled){background:var(--app-color-button-secondary-hover-bg, #e8f0fa)}:host(.base-button--ghost) .base-button__native{color:var(--app-color-text-primary, #1a2f45);background:transparent;border-color:transparent;min-width:0;min-height:2.25rem;padding:.35rem .5rem;border-radius:8px;font-size:.95rem;font-weight:600;justify-content:flex-start;gap:.45rem}:host(.base-button--ghost) .base-button__native:hover:not(:disabled){color:var(--app-color-nav-link);background:color-mix(in srgb,var(--app-color-primary) 6%,transparent)}:host(.base-button--disabled:not(.base-button--readonly)) .base-button__native,.base-button__native:disabled:not([aria-readonly=true]){cursor:not-allowed;opacity:var(--ui-field-input-disabled-opacity, .65)}:host(.base-button--readonly) .base-button__native{cursor:default;opacity:1;color:var(--ui-field-readonly-button-text, #37474f);background:var(--ui-field-readonly-button-bg, #cfd8dc);border-color:var(--ui-field-readonly-button-border, #90a4ae)}:host(.base-button--readonly) .base-button__native:hover:not(:disabled){filter:brightness(.97)}:host(.base-button--readonly) .base-button__native:focus-visible{box-shadow:0 0 0 3px var(--ui-field-readonly-button-focus-ring, rgba(96, 125, 139, .35))}.base-button__native--skeleton{pointer-events:none;cursor:default}:host(.base-button--primary.base-button--loading) .base-button__native--skeleton{color:transparent;background:color-mix(in srgb,var(--ui-field-float-border-focus, #2b7fd9) 82%,#ffffff);border-color:color-mix(in srgb,var(--ui-field-float-border-focus, #2b7fd9) 82%,#ffffff)}:host(.base-button--secondary.base-button--loading) .base-button__native--skeleton{background:var(--ui-field-float-bg, #f3f7fb);border-color:var(--ui-field-float-border, #b6cce5)}:host(.base-button--ghost.base-button--loading) .base-button__native--skeleton{color:transparent;background:color-mix(in srgb,var(--app-color-text-primary, #1a2f45) 8%,transparent);border-color:transparent}\n"], dependencies: [{ kind: "component", type: SkeletonBlockComponent, selector: "app-skeleton-block", inputs: ["width", "height", "radius", "animate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
334
|
+
}
|
|
335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
336
|
+
type: Component,
|
|
337
|
+
args: [{ selector: 'app-button', standalone: true, imports: [SkeletonBlockComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!loading) {\r\n<button\r\n #nativeBtn\r\n class=\"base-button__native\"\r\n [attr.type]=\"type\"\r\n [disabled]=\"disabled || readonly\"\r\n [attr.aria-readonly]=\"readonly ? true : null\"\r\n>\r\n <ng-content />\r\n</button>\r\n} @else {\r\n<div class=\"base-button__native base-button__native--skeleton\" role=\"status\" aria-live=\"polite\" aria-busy=\"true\"\r\n aria-label=\"A carregar\">\r\n <app-skeleton-block width=\"40%\" height=\"0.7rem\" radius=\"8px\" />\r\n</div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;width:fit-content;max-width:100%;box-sizing:border-box;vertical-align:middle}.base-button__native{-webkit-appearance:none;appearance:none;display:flex;width:auto;min-width:5rem;align-items:center;justify-content:center;text-align:center;gap:.5rem;min-height:2.5rem;padding:.5rem 1.25rem;margin:0;border:1px solid transparent;border-radius:var(--ui-field-float-border-radius, 14px);font:inherit;font-size:.9375rem;font-weight:600;line-height:1.25;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease}:host(.base-button--full-width){display:block;width:auto;min-width:0;max-width:100%;box-sizing:border-box}:host(.base-button--full-width) .base-button__native{width:100%;min-width:0}.base-button__native:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ui-field-float-focus-ring, rgba(43, 127, 217, .35))}:host(.base-button--primary) .base-button__native{color:var(--app-color-primary-contrast, #ffffff);background:var(--ui-field-float-border-focus, #2b7fd9);border-color:var(--ui-field-float-border-focus, #2b7fd9)}:host(.base-button--primary) .base-button__native:hover:not(:disabled){filter:brightness(.95)}:host(.base-button--secondary) .base-button__native{color:var(--ui-field-float-label-top-color, #4a6d8c);background:var(--ui-field-float-bg, #f3f7fb);border-color:var(--ui-field-float-border, #b6cce5)}:host(.base-button--secondary) .base-button__native:hover:not(:disabled){background:var(--app-color-button-secondary-hover-bg, #e8f0fa)}:host(.base-button--ghost) .base-button__native{color:var(--app-color-text-primary, #1a2f45);background:transparent;border-color:transparent;min-width:0;min-height:2.25rem;padding:.35rem .5rem;border-radius:8px;font-size:.95rem;font-weight:600;justify-content:flex-start;gap:.45rem}:host(.base-button--ghost) .base-button__native:hover:not(:disabled){color:var(--app-color-nav-link);background:color-mix(in srgb,var(--app-color-primary) 6%,transparent)}:host(.base-button--disabled:not(.base-button--readonly)) .base-button__native,.base-button__native:disabled:not([aria-readonly=true]){cursor:not-allowed;opacity:var(--ui-field-input-disabled-opacity, .65)}:host(.base-button--readonly) .base-button__native{cursor:default;opacity:1;color:var(--ui-field-readonly-button-text, #37474f);background:var(--ui-field-readonly-button-bg, #cfd8dc);border-color:var(--ui-field-readonly-button-border, #90a4ae)}:host(.base-button--readonly) .base-button__native:hover:not(:disabled){filter:brightness(.97)}:host(.base-button--readonly) .base-button__native:focus-visible{box-shadow:0 0 0 3px var(--ui-field-readonly-button-focus-ring, rgba(96, 125, 139, .35))}.base-button__native--skeleton{pointer-events:none;cursor:default}:host(.base-button--primary.base-button--loading) .base-button__native--skeleton{color:transparent;background:color-mix(in srgb,var(--ui-field-float-border-focus, #2b7fd9) 82%,#ffffff);border-color:color-mix(in srgb,var(--ui-field-float-border-focus, #2b7fd9) 82%,#ffffff)}:host(.base-button--secondary.base-button--loading) .base-button__native--skeleton{background:var(--ui-field-float-bg, #f3f7fb);border-color:var(--ui-field-float-border, #b6cce5)}:host(.base-button--ghost.base-button--loading) .base-button__native--skeleton{color:transparent;background:color-mix(in srgb,var(--app-color-text-primary, #1a2f45) 8%,transparent);border-color:transparent}\n"] }]
|
|
338
|
+
}] });
|
|
339
|
+
|
|
324
340
|
let fieldControlAutoId = 0;
|
|
325
341
|
/**
|
|
326
342
|
* Diretiva base abstrata: CVA, valor interno, disabled, touched e inputs comuns.
|
|
@@ -353,10 +369,10 @@ class BaseFieldDirective {
|
|
|
353
369
|
this.clearable = true;
|
|
354
370
|
this.clearAriaLabel = 'Limpar campo';
|
|
355
371
|
/**
|
|
356
|
-
* Se `true`, o
|
|
357
|
-
*
|
|
372
|
+
* Se `true`, o atributo HTML fica `autocomplete="on"` (sugestões do browser).
|
|
373
|
+
* `false` → `autocomplete="off"`. Padrão `true`.
|
|
358
374
|
*/
|
|
359
|
-
this.autocomplete =
|
|
375
|
+
this.autocomplete = true;
|
|
360
376
|
/** Placeholder de carregamento no `app-base-field` (skeleton). */
|
|
361
377
|
this.loading = false;
|
|
362
378
|
/**
|
|
@@ -492,7 +508,7 @@ class BaseFieldDirective {
|
|
|
492
508
|
this.cdr.markForCheck();
|
|
493
509
|
}
|
|
494
510
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
495
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.2.9", type: BaseFieldDirective, isStandalone: true, inputs: { id: "id", name: "name", label: "label", placeholder: "placeholder", errorMessage: "errorMessage", showErrorMessage: "showErrorMessage", required: "required", showRequiredMark: "showRequiredMark", readonly: "readonly", showPrefixIcon: "showPrefixIcon", prefixIcon: "prefixIcon", iconLeft: "iconLeft", clearable: "clearable", clearAriaLabel: "clearAriaLabel", autocomplete: "autocomplete", loading: ["loading", "loading", booleanAttribute], mostrarMenuContexto: ["mostrarMenuContexto", "mostrarMenuContexto", booleanAttribute], contextMenuItems: "contextMenuItems", contextMenuId: "contextMenuId" }, outputs: { contextMenuSelect: "contextMenuSelect" }, ngImport: i0 }); }
|
|
511
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.2.9", type: BaseFieldDirective, isStandalone: true, inputs: { id: "id", name: "name", label: "label", placeholder: "placeholder", errorMessage: "errorMessage", showErrorMessage: "showErrorMessage", required: "required", showRequiredMark: "showRequiredMark", readonly: "readonly", showPrefixIcon: "showPrefixIcon", prefixIcon: "prefixIcon", iconLeft: "iconLeft", clearable: "clearable", clearAriaLabel: "clearAriaLabel", autocomplete: ["autocomplete", "autocomplete", booleanAttribute], loading: ["loading", "loading", booleanAttribute], mostrarMenuContexto: ["mostrarMenuContexto", "mostrarMenuContexto", booleanAttribute], contextMenuItems: "contextMenuItems", contextMenuId: "contextMenuId" }, outputs: { contextMenuSelect: "contextMenuSelect" }, ngImport: i0 }); }
|
|
496
512
|
}
|
|
497
513
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseFieldDirective, decorators: [{
|
|
498
514
|
type: Directive
|
|
@@ -526,7 +542,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
526
542
|
}], clearAriaLabel: [{
|
|
527
543
|
type: Input
|
|
528
544
|
}], autocomplete: [{
|
|
529
|
-
type: Input
|
|
545
|
+
type: Input,
|
|
546
|
+
args: [{ transform: booleanAttribute }]
|
|
530
547
|
}], loading: [{
|
|
531
548
|
type: Input,
|
|
532
549
|
args: [{ transform: booleanAttribute }]
|
|
@@ -541,15 +558,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
541
558
|
type: Output
|
|
542
559
|
}] } });
|
|
543
560
|
|
|
561
|
+
/** Identificadores de paleta suportados pela library (uso em `AppThemeService.setTheme`). */
|
|
562
|
+
var AppTheme;
|
|
563
|
+
(function (AppTheme) {
|
|
564
|
+
AppTheme["Blue"] = "blue";
|
|
565
|
+
AppTheme["Green"] = "green";
|
|
566
|
+
AppTheme["Purple"] = "purple";
|
|
567
|
+
AppTheme["Orange"] = "orange";
|
|
568
|
+
AppTheme["White"] = "white";
|
|
569
|
+
AppTheme["Gray"] = "gray";
|
|
570
|
+
AppTheme["Sepia"] = "sepia";
|
|
571
|
+
AppTheme["Black"] = "black";
|
|
572
|
+
})(AppTheme || (AppTheme = {}));
|
|
544
573
|
const APP_THEME_IDS = [
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
574
|
+
AppTheme.Blue,
|
|
575
|
+
AppTheme.Green,
|
|
576
|
+
AppTheme.Purple,
|
|
577
|
+
AppTheme.Orange,
|
|
578
|
+
AppTheme.White,
|
|
579
|
+
AppTheme.Gray,
|
|
580
|
+
AppTheme.Sepia,
|
|
581
|
+
AppTheme.Black,
|
|
553
582
|
];
|
|
554
583
|
/**
|
|
555
584
|
* Estado global do tema da library: **sempre** `.app-library-theme` + `theme-*` juntos.
|
|
@@ -557,7 +586,7 @@ const APP_THEME_IDS = [
|
|
|
557
586
|
*/
|
|
558
587
|
class AppThemeService {
|
|
559
588
|
constructor() {
|
|
560
|
-
this.activeId = signal(
|
|
589
|
+
this.activeId = signal(AppTheme.Black, ...(ngDevMode ? [{ debugName: "activeId" }] : /* istanbul ignore next */ []));
|
|
561
590
|
/** Identificador do tema activo (`blue`, `green`, …). */
|
|
562
591
|
this.activeThemeId = this.activeId.asReadonly();
|
|
563
592
|
/**
|
|
@@ -566,9 +595,9 @@ class AppThemeService {
|
|
|
566
595
|
this.themeClassList = computed(() => ['app-library-theme', `theme-${this.activeId()}`], ...(ngDevMode ? [{ debugName: "themeClassList" }] : /* istanbul ignore next */ []));
|
|
567
596
|
/**
|
|
568
597
|
* As duas classes numa string — útil para `[class]`, `[ngClass]` com string, ou hosts HTML.
|
|
569
|
-
* Ex.: `<div [ngClass]="libTheme.
|
|
598
|
+
* Ex.: `<div [ngClass]="libTheme.getTheme()">` aplica paleta completa no consumidor.
|
|
570
599
|
*/
|
|
571
|
-
this.
|
|
600
|
+
this.getTheme = computed(() => this.themeClassList().join(' '), ...(ngDevMode ? [{ debugName: "getTheme" }] : /* istanbul ignore next */ []));
|
|
572
601
|
/** Mapa para `[ngClass]` com chaves dinâmicas (painéis overlay). */
|
|
573
602
|
this.themeClassMap = computed(() => {
|
|
574
603
|
const [base, token] = this.themeClassList();
|
|
@@ -576,14 +605,14 @@ class AppThemeService {
|
|
|
576
605
|
}, ...(ngDevMode ? [{ debugName: "themeClassMap" }] : /* istanbul ignore next */ []));
|
|
577
606
|
/** Lista fixa de temas suportados pela library. */
|
|
578
607
|
this.themeOptions = [
|
|
579
|
-
{ id:
|
|
580
|
-
{ id:
|
|
581
|
-
{ id:
|
|
582
|
-
{ id:
|
|
583
|
-
{ id:
|
|
584
|
-
{ id:
|
|
585
|
-
{ id:
|
|
586
|
-
{ id:
|
|
608
|
+
{ id: AppTheme.Blue, label: 'Azul' },
|
|
609
|
+
{ id: AppTheme.Green, label: 'Verde' },
|
|
610
|
+
{ id: AppTheme.Purple, label: 'Roxo' },
|
|
611
|
+
{ id: AppTheme.Orange, label: 'Laranja' },
|
|
612
|
+
{ id: AppTheme.White, label: 'Branco' },
|
|
613
|
+
{ id: AppTheme.Gray, label: 'Cinza' },
|
|
614
|
+
{ id: AppTheme.Sepia, label: 'Sépia' },
|
|
615
|
+
{ id: AppTheme.Black, label: 'Preto' },
|
|
587
616
|
];
|
|
588
617
|
}
|
|
589
618
|
setTheme(id) {
|
|
@@ -1433,11 +1462,11 @@ class BaseFieldComponent {
|
|
|
1433
1462
|
this.contextMenuSelect.emit(id);
|
|
1434
1463
|
}
|
|
1435
1464
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1436
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: BaseFieldComponent, isStandalone: true, selector: "app-base-field", inputs: { label: "label", errorMessage: "errorMessage", required: "required", showRequiredMark: "showRequiredMark", invalid: "invalid", filled: "filled", disabled: "disabled", readonly: "readonly", inputId: "inputId", errorId: "errorId", showPrefixIcon: "showPrefixIcon", prefixIcon: "prefixIcon", clearable: "clearable", clearAriaLabel: "clearAriaLabel", showSuffixSlot: "showSuffixSlot", valueAlignEnd: "valueAlignEnd", loading: ["loading", "loading", booleanAttribute], skeletonVariant: "skeletonVariant", mostrarMenuContexto: ["mostrarMenuContexto", "mostrarMenuContexto", booleanAttribute], contextMenuItems: "contextMenuItems", contextMenuId: "contextMenuId" }, outputs: { clear: "clear", contextMenuSelect: "contextMenuSelect" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"base-field\" [class.base-field--invalid]=\"invalid\" [class.base-field--filled]=\"filled\"\n [class.base-field--disabled]=\"disabled\" [class.base-field--readonly]=\"readonly\"\n [class.base-field--loading]=\"loading\" [attr.aria-busy]=\"loading ? true : null\"\n [attr.aria-label]=\"loading && showFloatTpl ? label : null\">\n <div class=\"base-field__box\">\n <div class=\"base-field__prefix\">\n @if (!loading) {\n <ng-content select=\"[appFieldPrefix]\" />\n }\n @if (showFaTpl) {\n <i [attr.class]=\"prefixIconClassTpl + (loading ? ' base-field__prefix-icon--loading-dim' : '')\"\n aria-hidden=\"true\"></i>\n }\n </div>\n\n <div class=\"base-field__field\">\n @if (showFloatTpl && !loading) {\n <label class=\"base-field__float-label\" [attr.for]=\"inputId || null\">\n {{ label }}\n @if (required && showRequiredMark) {\n <span class=\"base-field__required\" aria-hidden=\"true\">*</span>\n }\n </label>\n }\n\n <div class=\"base-field__control\" [class.base-field__control--value-end]=\"valueAlignEnd\">\n @if (!loading) {\n <ng-content />\n } @else {\n <app-skeleton-field-shell [variant]=\"skeletonVariant\" [showLeadingIcon]=\"!showFaTpl\" />\n }\n </div>\n </div>\n\n @if (showSuffixTpl) {\n <div class=\"base-field__suffix\" [class.base-field__suffix--loading]=\"loading\">\n @if (!loading) {\n @if (showCtxMenuTpl) {\n <app-dropdown-menu\n class=\"base-field__ctx-dropdown\"\n [items]=\"contextMenuItems\"\n [minWidthPx]=\"200\"\n [matchTriggerWidth]=\"false\"\n [menuId]=\"resolvedContextMenuId\"\n (itemSelect)=\"onContextMenuItemSelect($event)\"\n >\n <button type=\"button\" class=\"base-field__ctx-trigger\" aria-label=\"Mais op\u00E7\u00F5es\" tabindex=\"-1\">\n <i class=\"fa-solid fa-ellipsis\" aria-hidden=\"true\"></i>\n </button>\n </app-dropdown-menu>\n }\n @if (showSuffixSlot) {\n <ng-content select=\"[appFieldSuffix]\" />\n }\n @if (showClearTpl) {\n <button type=\"button\" class=\"base-field__clear\" tabindex=\"-1\" [attr.aria-label]=\"clearAriaLabel\"\n (click)=\"onClearClick()\">\n <span class=\"base-field__clear-x\" aria-hidden=\"true\">×</span>\n </button>\n }\n } @else if (loading && showSuffixSlot) {\n <span class=\"base-field__suffix-reserve\" aria-hidden=\"true\"></span>\n }\n </div>\n }\n </div>\n\n @if (!loading && showErrorTpl) {\n <p class=\"base-field__error\" [id]=\"errorId || null\" role=\"alert\">\n {{ errorMessage }}\n </p>\n }\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;box-sizing:border-box}.base-field{display:flex;flex-direction:column;gap:.35rem;width:100%;max-width:100%;box-sizing:border-box}.base-field--loading .base-field__box{pointer-events:none}.base-field--loading .base-field__field{justify-content:center}.base-field--loading .base-field__control{display:flex;align-items:center;width:100%;min-height:0}.base-field__box{display:flex;align-items:stretch;width:100%;min-width:0;border:1px solid var(--ui-field-float-border);border-radius:var(--ui-field-float-border-radius);background:var(--ui-field-float-bg);transition:border-color .1s ease,box-shadow .1s ease;contain:layout}.base-field:not(.base-field--invalid):not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-float-border-focus);box-shadow:0 0 0 3px var(--ui-field-float-focus-ring)}.base-field--readonly:not(.base-field--disabled) .base-field__box{background:var(--ui-field-readonly-bg);border-color:var(--ui-field-readonly-border)}.base-field--readonly:not(.base-field--disabled):not(.base-field--invalid) .base-field__box:focus-within{border-color:var(--ui-field-readonly-border-focus);box-shadow:0 0 0 3px var(--ui-field-readonly-focus-ring)}.base-field--invalid .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--readonly.base-field--invalid:not(.base-field--disabled) .base-field__box{background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--invalid:not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--disabled .base-field__box{opacity:var(--ui-field-input-disabled-opacity)}.base-field__prefix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-left:.75rem;color:var(--ui-field-float-prefix-color);user-select:none;-webkit-user-select:none}.base-field__prefix:empty{display:none}.base-field__prefix-icon{font-style:normal;font-size:1rem;line-height:1;color:var(--ui-field-float-prefix-color)}.base-field__prefix-icon--loading-dim{opacity:.34;pointer-events:none}.base-field__suffix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-right:.4rem;padding-left:.1rem}.base-field__ctx-dropdown{display:inline-flex;flex-shrink:0;align-items:center;max-width:100%}.base-field__ctx-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__ctx-trigger:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__ctx-trigger:focus,.base-field__ctx-trigger:focus-visible{outline:none}.base-field__clear{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__clear:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__clear:focus,.base-field__clear:focus-visible{outline:none}.base-field__clear-x{font-size:1.35rem;line-height:1;font-weight:300}.base-field--invalid .base-field__prefix,.base-field--invalid .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__prefix-icon:before{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__suffix,.base-field--invalid .base-field__clear,.base-field--invalid .base-field__ctx-trigger{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__clear:hover,.base-field--invalid .base-field__ctx-trigger:hover{background:var(--app-color-error-bg-subtle, rgba(185, 28, 28, .12));color:var(--ui-field-float-label-invalid-color)}.base-field__field{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;contain:layout style}.base-field__float-label{position:absolute;left:.75rem;right:.75rem;top:.45rem;transform:translate3d(0,calc((1.8rem + 1.35em)/2 - .45rem - .6em),0) scale(1);transform-origin:left top;font-size:1rem;font-weight:400;line-height:1.2;color:var(--ui-field-float-label-color);pointer-events:none;user-select:none;-webkit-user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .11s cubic-bezier(.4,0,.2,1),color .11s ease}@media(prefers-reduced-motion:reduce){.base-field__float-label{transition:none}}.base-field__box:focus-within .base-field__float-label,.base-field--filled .base-field__float-label{transform:translateZ(0) scale(.75);font-weight:500;color:var(--ui-field-float-label-top-color)}.base-field--invalid .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--filled .base-field__float-label,.base-field--invalid .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field__required{color:var(--ui-field-required-mark-color);margin-left:.15rem}.base-field--invalid .base-field__required{color:var(--ui-field-float-label-invalid-color)}.base-field__control{display:block;width:100%;min-width:0}.base-field__suffix-reserve{display:block;flex-shrink:0;width:2rem;height:2rem;margin:0 .1rem;box-sizing:border-box}.base-field__control--value-end :where(input){text-align:right}.base-field--readonly:not(.base-field--disabled) .base-field__float-label{color:var(--ui-field-readonly-label-color)}.base-field--readonly.base-field--filled .base-field__float-label,.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-readonly-label-top-color)}.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-readonly-prefix-color)}.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea){color:var(--ui-field-readonly-input-text)}.base-field--invalid.base-field--readonly .base-field__float-label,.base-field--invalid.base-field--readonly.base-field--filled .base-field__float-label,.base-field--invalid.base-field--readonly .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field__error{margin:0;padding-left:.15rem;font-size:.75rem;color:var(--ui-field-error-text-color);user-select:none;-webkit-user-select:none}\n"], dependencies: [{ kind: "component", type: SkeletonFieldShellComponent, selector: "app-skeleton-field-shell", inputs: ["variant", "animate", "showLeadingIcon"] }, { kind: "component", type: DropdownMenuComponent, selector: "app-dropdown-menu", inputs: ["items", "placement", "minWidthPx", "matchTriggerWidth", "menuId"], outputs: ["itemSelect", "openChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1465
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: BaseFieldComponent, isStandalone: true, selector: "app-base-field", inputs: { label: "label", errorMessage: "errorMessage", required: "required", showRequiredMark: "showRequiredMark", invalid: "invalid", filled: "filled", disabled: "disabled", readonly: "readonly", inputId: "inputId", errorId: "errorId", showPrefixIcon: "showPrefixIcon", prefixIcon: "prefixIcon", clearable: "clearable", clearAriaLabel: "clearAriaLabel", showSuffixSlot: "showSuffixSlot", valueAlignEnd: "valueAlignEnd", loading: ["loading", "loading", booleanAttribute], skeletonVariant: "skeletonVariant", mostrarMenuContexto: ["mostrarMenuContexto", "mostrarMenuContexto", booleanAttribute], contextMenuItems: "contextMenuItems", contextMenuId: "contextMenuId" }, outputs: { clear: "clear", contextMenuSelect: "contextMenuSelect" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"base-field\" [class.base-field--invalid]=\"invalid\" [class.base-field--filled]=\"filled\"\n [class.base-field--disabled]=\"disabled\" [class.base-field--readonly]=\"readonly\"\n [class.base-field--loading]=\"loading\" [attr.aria-busy]=\"loading ? true : null\"\n [attr.aria-label]=\"loading && showFloatTpl ? label : null\">\n <div class=\"base-field__box\">\n <div class=\"base-field__prefix\">\n @if (!loading) {\n <ng-content select=\"[appFieldPrefix]\" />\n }\n @if (showFaTpl) {\n <i [attr.class]=\"prefixIconClassTpl + (loading ? ' base-field__prefix-icon--loading-dim' : '')\"\n aria-hidden=\"true\"></i>\n }\n </div>\n\n <div class=\"base-field__field\">\n @if (showFloatTpl && !loading) {\n <label class=\"base-field__float-label\" [attr.for]=\"inputId || null\">\n {{ label }}\n @if (required && showRequiredMark) {\n <span class=\"base-field__required\" aria-hidden=\"true\">*</span>\n }\n </label>\n }\n\n <div class=\"base-field__control\" [class.base-field__control--value-end]=\"valueAlignEnd\">\n @if (!loading) {\n <ng-content />\n } @else {\n <app-skeleton-field-shell [variant]=\"skeletonVariant\" [showLeadingIcon]=\"!showFaTpl\" />\n }\n </div>\n </div>\n\n @if (showSuffixTpl) {\n <div class=\"base-field__suffix\" [class.base-field__suffix--loading]=\"loading\">\n @if (!loading) {\n @if (showCtxMenuTpl) {\n <app-dropdown-menu\n class=\"base-field__ctx-dropdown\"\n [items]=\"contextMenuItems\"\n [minWidthPx]=\"200\"\n [matchTriggerWidth]=\"false\"\n [menuId]=\"resolvedContextMenuId\"\n (itemSelect)=\"onContextMenuItemSelect($event)\"\n >\n <button type=\"button\" class=\"base-field__ctx-trigger\" aria-label=\"Mais op\u00E7\u00F5es\" tabindex=\"-1\">\n <i class=\"fa-solid fa-ellipsis\" aria-hidden=\"true\"></i>\n </button>\n </app-dropdown-menu>\n }\n @if (showSuffixSlot) {\n <ng-content select=\"[appFieldSuffix]\" />\n }\n @if (showClearTpl) {\n <button type=\"button\" class=\"base-field__clear\" tabindex=\"-1\" [attr.aria-label]=\"clearAriaLabel\"\n (click)=\"onClearClick()\">\n <span class=\"base-field__clear-x\" aria-hidden=\"true\">×</span>\n </button>\n }\n } @else if (loading && showSuffixSlot) {\n <span class=\"base-field__suffix-reserve\" aria-hidden=\"true\"></span>\n }\n </div>\n }\n </div>\n\n @if (!loading && showErrorTpl) {\n <p class=\"base-field__error\" [id]=\"errorId || null\" role=\"alert\">\n {{ errorMessage }}\n </p>\n }\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;box-sizing:border-box}.base-field{display:flex;flex-direction:column;gap:.35rem;width:100%;max-width:100%;box-sizing:border-box}.base-field--loading .base-field__box{pointer-events:none}.base-field--loading .base-field__field{justify-content:center}.base-field--loading .base-field__control{display:flex;align-items:center;width:100%;min-height:0}.base-field__box{display:flex;align-items:stretch;width:100%;min-width:0;border:1px solid var(--ui-field-float-border);border-radius:var(--ui-field-float-border-radius);background:var(--ui-field-float-bg);transition:border-color .1s ease,box-shadow .1s ease;contain:layout}.base-field:not(.base-field--invalid):not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-float-border-focus);box-shadow:0 0 0 3px var(--ui-field-float-focus-ring)}.base-field--readonly:not(.base-field--disabled) .base-field__box{background:var(--ui-field-readonly-bg);border-color:var(--ui-field-readonly-border)}.base-field--readonly:not(.base-field--disabled):not(.base-field--invalid) .base-field__box:focus-within{border-color:var(--ui-field-readonly-border-focus);box-shadow:0 0 0 3px var(--ui-field-readonly-focus-ring)}.base-field--invalid .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--readonly.base-field--invalid:not(.base-field--disabled) .base-field__box{background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--invalid:not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--disabled .base-field__box{opacity:var(--ui-field-input-disabled-opacity)}.base-field__prefix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-left:.75rem;color:var(--ui-field-float-prefix-color);user-select:none;-webkit-user-select:none}.base-field__prefix:empty{display:none}.base-field__prefix-icon{font-style:normal;font-size:1rem;line-height:1;color:var(--ui-field-float-prefix-color)}.base-field__prefix-icon--loading-dim{opacity:.34;pointer-events:none}.base-field__suffix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-right:.4rem;padding-left:.1rem}.base-field__ctx-dropdown{display:inline-flex;flex-shrink:0;align-items:center;max-width:100%}.base-field__ctx-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__ctx-trigger:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__ctx-trigger:focus,.base-field__ctx-trigger:focus-visible{outline:none}.base-field__clear{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__clear:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__clear:focus,.base-field__clear:focus-visible{outline:none}.base-field__clear-x{font-size:1.35rem;line-height:1;font-weight:300}.base-field--invalid .base-field__prefix,.base-field--invalid .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__prefix-icon:before{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__suffix,.base-field--invalid .base-field__clear,.base-field--invalid .base-field__ctx-trigger{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__clear:hover,.base-field--invalid .base-field__ctx-trigger:hover{background:var(--app-color-error-bg-subtle, rgba(185, 28, 28, .12));color:var(--ui-field-float-label-invalid-color)}.base-field__field{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;contain:layout style}.base-field__float-label{position:absolute;left:.75rem;right:.75rem;top:.45rem;transform:translate3d(0,calc((1.8rem + 1.35em)/2 - .45rem - .6em),0) scale(1);transform-origin:left top;font-size:1rem;font-weight:400;line-height:1.2;color:var(--ui-field-float-label-color);pointer-events:none;user-select:none;-webkit-user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .11s cubic-bezier(.4,0,.2,1),color .11s ease}@media(prefers-reduced-motion:reduce){.base-field__float-label{transition:none}}.base-field__box:focus-within .base-field__float-label,.base-field--filled .base-field__float-label{transform:translateZ(0) scale(.75);font-weight:500;color:var(--ui-field-float-label-top-color)}.base-field--invalid .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--filled .base-field__float-label,.base-field--invalid .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field__required{color:var(--ui-field-required-mark-color);margin-left:.15rem}.base-field--invalid .base-field__required{color:var(--ui-field-float-label-invalid-color)}.base-field__control{display:block;width:100%;min-width:0}.base-field__suffix-reserve{display:block;flex-shrink:0;width:2rem;height:2rem;margin:0 .1rem;box-sizing:border-box}.base-field__control--value-end :where(input){text-align:right}.base-field--readonly:not(.base-field--disabled) .base-field__float-label{color:var(--ui-field-readonly-label-color)}.base-field--readonly.base-field--filled .base-field__float-label,.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-readonly-label-top-color)}.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-readonly-prefix-color)}.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea){color:var(--ui-field-readonly-input-text)}.base-field--invalid.base-field--readonly .base-field__float-label,.base-field--invalid.base-field--readonly.base-field--filled .base-field__float-label,.base-field--invalid.base-field--readonly .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field__error{margin:0;padding-left:.15rem;font-size:.75rem;color:var(--ui-field-error-text-color);user-select:none;-webkit-user-select:none}.base-field__control :where(input,textarea):-webkit-autofill,.base-field__control :where(input,textarea):-webkit-autofill:hover,.base-field__control :where(input,textarea):-webkit-autofill:focus,.base-field__control :where(input,textarea):-webkit-autofill:active{-webkit-text-fill-color:var(--ui-field-float-input-text);caret-color:var(--ui-field-float-input-text);box-shadow:0 0 0 1000px var(--ui-field-float-bg) inset;transition:background-color 50000s ease-in-out 0s}.base-field--invalid:not(.base-field--readonly) .base-field__control :where(input,textarea):-webkit-autofill,.base-field--invalid:not(.base-field--readonly) .base-field__control :where(input,textarea):-webkit-autofill:hover,.base-field--invalid:not(.base-field--readonly) .base-field__control :where(input,textarea):-webkit-autofill:focus,.base-field--invalid:not(.base-field--readonly) .base-field__control :where(input,textarea):-webkit-autofill:active{-webkit-text-fill-color:var(--ui-field-float-input-text);box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset}.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea):-webkit-autofill,.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea):-webkit-autofill:hover,.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea):-webkit-autofill:focus,.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea):-webkit-autofill:active{-webkit-text-fill-color:var(--ui-field-readonly-input-text);box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset}\n"], dependencies: [{ kind: "component", type: SkeletonFieldShellComponent, selector: "app-skeleton-field-shell", inputs: ["variant", "animate", "showLeadingIcon"] }, { kind: "component", type: DropdownMenuComponent, selector: "app-dropdown-menu", inputs: ["items", "placement", "minWidthPx", "matchTriggerWidth", "menuId"], outputs: ["itemSelect", "openChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1437
1466
|
}
|
|
1438
1467
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseFieldComponent, decorators: [{
|
|
1439
1468
|
type: Component,
|
|
1440
|
-
args: [{ selector: 'app-base-field', imports: [SkeletonFieldShellComponent, DropdownMenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"base-field\" [class.base-field--invalid]=\"invalid\" [class.base-field--filled]=\"filled\"\n [class.base-field--disabled]=\"disabled\" [class.base-field--readonly]=\"readonly\"\n [class.base-field--loading]=\"loading\" [attr.aria-busy]=\"loading ? true : null\"\n [attr.aria-label]=\"loading && showFloatTpl ? label : null\">\n <div class=\"base-field__box\">\n <div class=\"base-field__prefix\">\n @if (!loading) {\n <ng-content select=\"[appFieldPrefix]\" />\n }\n @if (showFaTpl) {\n <i [attr.class]=\"prefixIconClassTpl + (loading ? ' base-field__prefix-icon--loading-dim' : '')\"\n aria-hidden=\"true\"></i>\n }\n </div>\n\n <div class=\"base-field__field\">\n @if (showFloatTpl && !loading) {\n <label class=\"base-field__float-label\" [attr.for]=\"inputId || null\">\n {{ label }}\n @if (required && showRequiredMark) {\n <span class=\"base-field__required\" aria-hidden=\"true\">*</span>\n }\n </label>\n }\n\n <div class=\"base-field__control\" [class.base-field__control--value-end]=\"valueAlignEnd\">\n @if (!loading) {\n <ng-content />\n } @else {\n <app-skeleton-field-shell [variant]=\"skeletonVariant\" [showLeadingIcon]=\"!showFaTpl\" />\n }\n </div>\n </div>\n\n @if (showSuffixTpl) {\n <div class=\"base-field__suffix\" [class.base-field__suffix--loading]=\"loading\">\n @if (!loading) {\n @if (showCtxMenuTpl) {\n <app-dropdown-menu\n class=\"base-field__ctx-dropdown\"\n [items]=\"contextMenuItems\"\n [minWidthPx]=\"200\"\n [matchTriggerWidth]=\"false\"\n [menuId]=\"resolvedContextMenuId\"\n (itemSelect)=\"onContextMenuItemSelect($event)\"\n >\n <button type=\"button\" class=\"base-field__ctx-trigger\" aria-label=\"Mais op\u00E7\u00F5es\" tabindex=\"-1\">\n <i class=\"fa-solid fa-ellipsis\" aria-hidden=\"true\"></i>\n </button>\n </app-dropdown-menu>\n }\n @if (showSuffixSlot) {\n <ng-content select=\"[appFieldSuffix]\" />\n }\n @if (showClearTpl) {\n <button type=\"button\" class=\"base-field__clear\" tabindex=\"-1\" [attr.aria-label]=\"clearAriaLabel\"\n (click)=\"onClearClick()\">\n <span class=\"base-field__clear-x\" aria-hidden=\"true\">×</span>\n </button>\n }\n } @else if (loading && showSuffixSlot) {\n <span class=\"base-field__suffix-reserve\" aria-hidden=\"true\"></span>\n }\n </div>\n }\n </div>\n\n @if (!loading && showErrorTpl) {\n <p class=\"base-field__error\" [id]=\"errorId || null\" role=\"alert\">\n {{ errorMessage }}\n </p>\n }\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;box-sizing:border-box}.base-field{display:flex;flex-direction:column;gap:.35rem;width:100%;max-width:100%;box-sizing:border-box}.base-field--loading .base-field__box{pointer-events:none}.base-field--loading .base-field__field{justify-content:center}.base-field--loading .base-field__control{display:flex;align-items:center;width:100%;min-height:0}.base-field__box{display:flex;align-items:stretch;width:100%;min-width:0;border:1px solid var(--ui-field-float-border);border-radius:var(--ui-field-float-border-radius);background:var(--ui-field-float-bg);transition:border-color .1s ease,box-shadow .1s ease;contain:layout}.base-field:not(.base-field--invalid):not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-float-border-focus);box-shadow:0 0 0 3px var(--ui-field-float-focus-ring)}.base-field--readonly:not(.base-field--disabled) .base-field__box{background:var(--ui-field-readonly-bg);border-color:var(--ui-field-readonly-border)}.base-field--readonly:not(.base-field--disabled):not(.base-field--invalid) .base-field__box:focus-within{border-color:var(--ui-field-readonly-border-focus);box-shadow:0 0 0 3px var(--ui-field-readonly-focus-ring)}.base-field--invalid .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--readonly.base-field--invalid:not(.base-field--disabled) .base-field__box{background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--invalid:not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--disabled .base-field__box{opacity:var(--ui-field-input-disabled-opacity)}.base-field__prefix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-left:.75rem;color:var(--ui-field-float-prefix-color);user-select:none;-webkit-user-select:none}.base-field__prefix:empty{display:none}.base-field__prefix-icon{font-style:normal;font-size:1rem;line-height:1;color:var(--ui-field-float-prefix-color)}.base-field__prefix-icon--loading-dim{opacity:.34;pointer-events:none}.base-field__suffix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-right:.4rem;padding-left:.1rem}.base-field__ctx-dropdown{display:inline-flex;flex-shrink:0;align-items:center;max-width:100%}.base-field__ctx-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__ctx-trigger:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__ctx-trigger:focus,.base-field__ctx-trigger:focus-visible{outline:none}.base-field__clear{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__clear:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__clear:focus,.base-field__clear:focus-visible{outline:none}.base-field__clear-x{font-size:1.35rem;line-height:1;font-weight:300}.base-field--invalid .base-field__prefix,.base-field--invalid .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__prefix-icon:before{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__suffix,.base-field--invalid .base-field__clear,.base-field--invalid .base-field__ctx-trigger{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__clear:hover,.base-field--invalid .base-field__ctx-trigger:hover{background:var(--app-color-error-bg-subtle, rgba(185, 28, 28, .12));color:var(--ui-field-float-label-invalid-color)}.base-field__field{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;contain:layout style}.base-field__float-label{position:absolute;left:.75rem;right:.75rem;top:.45rem;transform:translate3d(0,calc((1.8rem + 1.35em)/2 - .45rem - .6em),0) scale(1);transform-origin:left top;font-size:1rem;font-weight:400;line-height:1.2;color:var(--ui-field-float-label-color);pointer-events:none;user-select:none;-webkit-user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .11s cubic-bezier(.4,0,.2,1),color .11s ease}@media(prefers-reduced-motion:reduce){.base-field__float-label{transition:none}}.base-field__box:focus-within .base-field__float-label,.base-field--filled .base-field__float-label{transform:translateZ(0) scale(.75);font-weight:500;color:var(--ui-field-float-label-top-color)}.base-field--invalid .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--filled .base-field__float-label,.base-field--invalid .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field__required{color:var(--ui-field-required-mark-color);margin-left:.15rem}.base-field--invalid .base-field__required{color:var(--ui-field-float-label-invalid-color)}.base-field__control{display:block;width:100%;min-width:0}.base-field__suffix-reserve{display:block;flex-shrink:0;width:2rem;height:2rem;margin:0 .1rem;box-sizing:border-box}.base-field__control--value-end :where(input){text-align:right}.base-field--readonly:not(.base-field--disabled) .base-field__float-label{color:var(--ui-field-readonly-label-color)}.base-field--readonly.base-field--filled .base-field__float-label,.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-readonly-label-top-color)}.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-readonly-prefix-color)}.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea){color:var(--ui-field-readonly-input-text)}.base-field--invalid.base-field--readonly .base-field__float-label,.base-field--invalid.base-field--readonly.base-field--filled .base-field__float-label,.base-field--invalid.base-field--readonly .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field__error{margin:0;padding-left:.15rem;font-size:.75rem;color:var(--ui-field-error-text-color);user-select:none;-webkit-user-select:none}\n"] }]
|
|
1469
|
+
args: [{ selector: 'app-base-field', imports: [SkeletonFieldShellComponent, DropdownMenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"base-field\" [class.base-field--invalid]=\"invalid\" [class.base-field--filled]=\"filled\"\n [class.base-field--disabled]=\"disabled\" [class.base-field--readonly]=\"readonly\"\n [class.base-field--loading]=\"loading\" [attr.aria-busy]=\"loading ? true : null\"\n [attr.aria-label]=\"loading && showFloatTpl ? label : null\">\n <div class=\"base-field__box\">\n <div class=\"base-field__prefix\">\n @if (!loading) {\n <ng-content select=\"[appFieldPrefix]\" />\n }\n @if (showFaTpl) {\n <i [attr.class]=\"prefixIconClassTpl + (loading ? ' base-field__prefix-icon--loading-dim' : '')\"\n aria-hidden=\"true\"></i>\n }\n </div>\n\n <div class=\"base-field__field\">\n @if (showFloatTpl && !loading) {\n <label class=\"base-field__float-label\" [attr.for]=\"inputId || null\">\n {{ label }}\n @if (required && showRequiredMark) {\n <span class=\"base-field__required\" aria-hidden=\"true\">*</span>\n }\n </label>\n }\n\n <div class=\"base-field__control\" [class.base-field__control--value-end]=\"valueAlignEnd\">\n @if (!loading) {\n <ng-content />\n } @else {\n <app-skeleton-field-shell [variant]=\"skeletonVariant\" [showLeadingIcon]=\"!showFaTpl\" />\n }\n </div>\n </div>\n\n @if (showSuffixTpl) {\n <div class=\"base-field__suffix\" [class.base-field__suffix--loading]=\"loading\">\n @if (!loading) {\n @if (showCtxMenuTpl) {\n <app-dropdown-menu\n class=\"base-field__ctx-dropdown\"\n [items]=\"contextMenuItems\"\n [minWidthPx]=\"200\"\n [matchTriggerWidth]=\"false\"\n [menuId]=\"resolvedContextMenuId\"\n (itemSelect)=\"onContextMenuItemSelect($event)\"\n >\n <button type=\"button\" class=\"base-field__ctx-trigger\" aria-label=\"Mais op\u00E7\u00F5es\" tabindex=\"-1\">\n <i class=\"fa-solid fa-ellipsis\" aria-hidden=\"true\"></i>\n </button>\n </app-dropdown-menu>\n }\n @if (showSuffixSlot) {\n <ng-content select=\"[appFieldSuffix]\" />\n }\n @if (showClearTpl) {\n <button type=\"button\" class=\"base-field__clear\" tabindex=\"-1\" [attr.aria-label]=\"clearAriaLabel\"\n (click)=\"onClearClick()\">\n <span class=\"base-field__clear-x\" aria-hidden=\"true\">×</span>\n </button>\n }\n } @else if (loading && showSuffixSlot) {\n <span class=\"base-field__suffix-reserve\" aria-hidden=\"true\"></span>\n }\n </div>\n }\n </div>\n\n @if (!loading && showErrorTpl) {\n <p class=\"base-field__error\" [id]=\"errorId || null\" role=\"alert\">\n {{ errorMessage }}\n </p>\n }\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;box-sizing:border-box}.base-field{display:flex;flex-direction:column;gap:.35rem;width:100%;max-width:100%;box-sizing:border-box}.base-field--loading .base-field__box{pointer-events:none}.base-field--loading .base-field__field{justify-content:center}.base-field--loading .base-field__control{display:flex;align-items:center;width:100%;min-height:0}.base-field__box{display:flex;align-items:stretch;width:100%;min-width:0;border:1px solid var(--ui-field-float-border);border-radius:var(--ui-field-float-border-radius);background:var(--ui-field-float-bg);transition:border-color .1s ease,box-shadow .1s ease;contain:layout}.base-field:not(.base-field--invalid):not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-float-border-focus);box-shadow:0 0 0 3px var(--ui-field-float-focus-ring)}.base-field--readonly:not(.base-field--disabled) .base-field__box{background:var(--ui-field-readonly-bg);border-color:var(--ui-field-readonly-border)}.base-field--readonly:not(.base-field--disabled):not(.base-field--invalid) .base-field__box:focus-within{border-color:var(--ui-field-readonly-border-focus);box-shadow:0 0 0 3px var(--ui-field-readonly-focus-ring)}.base-field--invalid .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--readonly.base-field--invalid:not(.base-field--disabled) .base-field__box{background:var(--ui-field-invalid-input-bg, #fef2f2)}.base-field--invalid:not(.base-field--disabled):not(.base-field--readonly) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within{border-color:var(--ui-field-input-invalid-border);box-shadow:0 0 0 3px var(--ui-field-input-invalid-focus-halo)}.base-field--disabled .base-field__box{opacity:var(--ui-field-input-disabled-opacity)}.base-field__prefix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-left:.75rem;color:var(--ui-field-float-prefix-color);user-select:none;-webkit-user-select:none}.base-field__prefix:empty{display:none}.base-field__prefix-icon{font-style:normal;font-size:1rem;line-height:1;color:var(--ui-field-float-prefix-color)}.base-field__prefix-icon--loading-dim{opacity:.34;pointer-events:none}.base-field__suffix{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding-right:.4rem;padding-left:.1rem}.base-field__ctx-dropdown{display:inline-flex;flex-shrink:0;align-items:center;max-width:100%}.base-field__ctx-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__ctx-trigger:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__ctx-trigger:focus,.base-field__ctx-trigger:focus-visible{outline:none}.base-field__clear{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,color .15s ease}.base-field__clear:hover{background:var(--app-color-prefix-hover-bg, rgba(90, 127, 163, .15));color:var(--ui-field-float-label-top-color)}.base-field__clear:focus,.base-field__clear:focus-visible{outline:none}.base-field__clear-x{font-size:1.35rem;line-height:1;font-weight:300}.base-field--invalid .base-field__prefix,.base-field--invalid .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__prefix-icon:before{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__suffix,.base-field--invalid .base-field__clear,.base-field--invalid .base-field__ctx-trigger{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid .base-field__clear:hover,.base-field--invalid .base-field__ctx-trigger:hover{background:var(--app-color-error-bg-subtle, rgba(185, 28, 28, .12));color:var(--ui-field-float-label-invalid-color)}.base-field__field{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;contain:layout style}.base-field__float-label{position:absolute;left:.75rem;right:.75rem;top:.45rem;transform:translate3d(0,calc((1.8rem + 1.35em)/2 - .45rem - .6em),0) scale(1);transform-origin:left top;font-size:1rem;font-weight:400;line-height:1.2;color:var(--ui-field-float-label-color);pointer-events:none;user-select:none;-webkit-user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .11s cubic-bezier(.4,0,.2,1),color .11s ease}@media(prefers-reduced-motion:reduce){.base-field__float-label{transition:none}}.base-field__box:focus-within .base-field__float-label,.base-field--filled .base-field__float-label{transform:translateZ(0) scale(.75);font-weight:500;color:var(--ui-field-float-label-top-color)}.base-field--invalid .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--filled .base-field__float-label,.base-field--invalid .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field__required{color:var(--ui-field-required-mark-color);margin-left:.15rem}.base-field--invalid .base-field__required{color:var(--ui-field-float-label-invalid-color)}.base-field__control{display:block;width:100%;min-width:0}.base-field__suffix-reserve{display:block;flex-shrink:0;width:2rem;height:2rem;margin:0 .1rem;box-sizing:border-box}.base-field__control--value-end :where(input){text-align:right}.base-field--readonly:not(.base-field--disabled) .base-field__float-label{color:var(--ui-field-readonly-label-color)}.base-field--readonly.base-field--filled .base-field__float-label,.base-field--readonly:not(.base-field--disabled) .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-readonly-label-top-color)}.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-readonly-prefix-color)}.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea){color:var(--ui-field-readonly-input-text)}.base-field--invalid.base-field--readonly .base-field__float-label,.base-field--invalid.base-field--readonly.base-field--filled .base-field__float-label,.base-field--invalid.base-field--readonly .base-field__box:focus-within .base-field__float-label{color:var(--ui-field-float-label-invalid-color)}.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix,.base-field--invalid.base-field--readonly:not(.base-field--disabled) .base-field__prefix-icon{color:var(--ui-field-float-label-invalid-color)}.base-field__error{margin:0;padding-left:.15rem;font-size:.75rem;color:var(--ui-field-error-text-color);user-select:none;-webkit-user-select:none}.base-field__control :where(input,textarea):-webkit-autofill,.base-field__control :where(input,textarea):-webkit-autofill:hover,.base-field__control :where(input,textarea):-webkit-autofill:focus,.base-field__control :where(input,textarea):-webkit-autofill:active{-webkit-text-fill-color:var(--ui-field-float-input-text);caret-color:var(--ui-field-float-input-text);box-shadow:0 0 0 1000px var(--ui-field-float-bg) inset;transition:background-color 50000s ease-in-out 0s}.base-field--invalid:not(.base-field--readonly) .base-field__control :where(input,textarea):-webkit-autofill,.base-field--invalid:not(.base-field--readonly) .base-field__control :where(input,textarea):-webkit-autofill:hover,.base-field--invalid:not(.base-field--readonly) .base-field__control :where(input,textarea):-webkit-autofill:focus,.base-field--invalid:not(.base-field--readonly) .base-field__control :where(input,textarea):-webkit-autofill:active{-webkit-text-fill-color:var(--ui-field-float-input-text);box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset}.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea):-webkit-autofill,.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea):-webkit-autofill:hover,.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea):-webkit-autofill:focus,.base-field--readonly:not(.base-field--disabled) .base-field__control :where(input,textarea):-webkit-autofill:active{-webkit-text-fill-color:var(--ui-field-readonly-input-text);box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset}\n"] }]
|
|
1441
1470
|
}], propDecorators: { label: [{
|
|
1442
1471
|
type: Input
|
|
1443
1472
|
}], errorMessage: [{
|
|
@@ -1700,7 +1729,10 @@ class PasswordFieldComponent extends NgControlFieldDirective {
|
|
|
1700
1729
|
/** Por defeito `false`: o botão de limpar compete com o toggle de visibilidade. */
|
|
1701
1730
|
this.clearable = false;
|
|
1702
1731
|
this.maxLength = 500;
|
|
1703
|
-
/**
|
|
1732
|
+
/**
|
|
1733
|
+
* Com o input `autocomplete` da base a `true`, define o atributo HTML
|
|
1734
|
+
* (`current-password` / `new-password`). Com `autocomplete` a `false`, aplica-se `off`.
|
|
1735
|
+
*/
|
|
1704
1736
|
this.autoComplete = 'current-password';
|
|
1705
1737
|
/** `false` = caracteres ocultos (ícone olho aberto para revelar). */
|
|
1706
1738
|
this.passwordVisible = false;
|
|
@@ -1795,7 +1827,7 @@ class PasswordFieldComponent extends NgControlFieldDirective {
|
|
|
1795
1827
|
useExisting: forwardRef(() => PasswordFieldComponent),
|
|
1796
1828
|
multi: true,
|
|
1797
1829
|
},
|
|
1798
|
-
], usesInheritance: true, ngImport: i0, template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\" [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\"\n [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\" [clearAriaLabel]=\"clearAriaLabel\" [showSuffixSlot]=\"true\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"password-field__input\" [type]=\"inputTypeUi\" [id]=\"controlId\" [attr.name]=\"name || null\"\n [attr.placeholder]=\"''\" [attr.autocomplete]=\"autoComplete\" [attr.maxlength]=\"maxLength > 0 ? maxLength : null\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [required]=\"uiRequiredEffective\" [attr.aria-invalid]=\"uiInvalid\"\n [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\" (input)=\"onNativeInput($event)\"\n (blur)=\"onBlur()\" />\n <button type=\"button\" appFieldSuffix class=\"password-field__toggle\" tabindex=\"-1\"\n [disabled]=\"disabled || readonly\" [attr.aria-label]=\"toggleAriaLabelUi\" [attr.aria-pressed]=\"passwordVisible\"\n (click)=\"togglePasswordVisible($event)\">\n <i [class]=\"toggleIconClassUi\" aria-hidden=\"true\"></i>\n </button>\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.password-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.password-field__input::placeholder{color:transparent}.password-field__input:focus,.password-field__input:focus-visible{outline:none}.password-field__input--invalid:not(:disabled)::placeholder{color:transparent}.password-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}.password-field__toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;transition:background .15s ease,color .15s ease}.password-field__toggle:hover:not(:disabled){background:#5a7fa326;color:var(--ui-field-float-label-top-color)}.password-field__toggle:focus,.password-field__toggle:focus-visible{outline:none}.password-field__toggle:disabled{cursor:not-allowed;opacity:var(--ui-field-input-disabled-opacity)}.password-field__toggle i{font-size:.95rem;line-height:1}:host.password-field--invalid .password-field__toggle{color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:hover:not(:disabled){background:#b91c1c1f;color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:focus,:host.password-field--invalid .password-field__toggle:focus-visible{outline:none}\n"], dependencies: [{ kind: "component", type: BaseFieldComponent, selector: "app-base-field", inputs: ["label", "errorMessage", "required", "showRequiredMark", "invalid", "filled", "disabled", "readonly", "inputId", "errorId", "showPrefixIcon", "prefixIcon", "clearable", "clearAriaLabel", "showSuffixSlot", "valueAlignEnd", "loading", "skeletonVariant", "mostrarMenuContexto", "contextMenuItems", "contextMenuId"], outputs: ["clear", "contextMenuSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1830
|
+
], usesInheritance: true, ngImport: i0, template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\" [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\"\n [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\" [clearAriaLabel]=\"clearAriaLabel\" [showSuffixSlot]=\"true\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"password-field__input\" [type]=\"inputTypeUi\" [id]=\"controlId\" [attr.name]=\"name || null\"\n [attr.placeholder]=\"''\" [attr.autocomplete]=\"autocomplete ? autoComplete : 'off'\" [attr.maxlength]=\"maxLength > 0 ? maxLength : null\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [required]=\"uiRequiredEffective\" [attr.aria-invalid]=\"uiInvalid\"\n [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\" (input)=\"onNativeInput($event)\"\n (blur)=\"onBlur()\" />\n <button type=\"button\" appFieldSuffix class=\"password-field__toggle\" tabindex=\"-1\"\n [disabled]=\"disabled || readonly\" [attr.aria-label]=\"toggleAriaLabelUi\" [attr.aria-pressed]=\"passwordVisible\"\n (click)=\"togglePasswordVisible($event)\">\n <i [class]=\"toggleIconClassUi\" aria-hidden=\"true\"></i>\n </button>\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.password-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.password-field__input::placeholder{color:transparent}.password-field__input:focus,.password-field__input:focus-visible{outline:none}.password-field__input--invalid:not(:disabled)::placeholder{color:transparent}.password-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}.password-field__toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;transition:background .15s ease,color .15s ease}.password-field__toggle:hover:not(:disabled){background:#5a7fa326;color:var(--ui-field-float-label-top-color)}.password-field__toggle:focus,.password-field__toggle:focus-visible{outline:none}.password-field__toggle:disabled{cursor:not-allowed;opacity:var(--ui-field-input-disabled-opacity)}.password-field__toggle i{font-size:.95rem;line-height:1}:host.password-field--invalid .password-field__toggle{color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:hover:not(:disabled){background:#b91c1c1f;color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:focus,:host.password-field--invalid .password-field__toggle:focus-visible{outline:none}\n"], dependencies: [{ kind: "component", type: BaseFieldComponent, selector: "app-base-field", inputs: ["label", "errorMessage", "required", "showRequiredMark", "invalid", "filled", "disabled", "readonly", "inputId", "errorId", "showPrefixIcon", "prefixIcon", "clearable", "clearAriaLabel", "showSuffixSlot", "valueAlignEnd", "loading", "skeletonVariant", "mostrarMenuContexto", "contextMenuItems", "contextMenuId"], outputs: ["clear", "contextMenuSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1799
1831
|
}
|
|
1800
1832
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: PasswordFieldComponent, decorators: [{
|
|
1801
1833
|
type: Component,
|
|
@@ -1805,7 +1837,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
1805
1837
|
useExisting: forwardRef(() => PasswordFieldComponent),
|
|
1806
1838
|
multi: true,
|
|
1807
1839
|
},
|
|
1808
|
-
], template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\" [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\"\n [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\" [clearAriaLabel]=\"clearAriaLabel\" [showSuffixSlot]=\"true\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"password-field__input\" [type]=\"inputTypeUi\" [id]=\"controlId\" [attr.name]=\"name || null\"\n [attr.placeholder]=\"''\" [attr.autocomplete]=\"autoComplete\" [attr.maxlength]=\"maxLength > 0 ? maxLength : null\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [required]=\"uiRequiredEffective\" [attr.aria-invalid]=\"uiInvalid\"\n [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\" (input)=\"onNativeInput($event)\"\n (blur)=\"onBlur()\" />\n <button type=\"button\" appFieldSuffix class=\"password-field__toggle\" tabindex=\"-1\"\n [disabled]=\"disabled || readonly\" [attr.aria-label]=\"toggleAriaLabelUi\" [attr.aria-pressed]=\"passwordVisible\"\n (click)=\"togglePasswordVisible($event)\">\n <i [class]=\"toggleIconClassUi\" aria-hidden=\"true\"></i>\n </button>\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.password-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.password-field__input::placeholder{color:transparent}.password-field__input:focus,.password-field__input:focus-visible{outline:none}.password-field__input--invalid:not(:disabled)::placeholder{color:transparent}.password-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}.password-field__toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;transition:background .15s ease,color .15s ease}.password-field__toggle:hover:not(:disabled){background:#5a7fa326;color:var(--ui-field-float-label-top-color)}.password-field__toggle:focus,.password-field__toggle:focus-visible{outline:none}.password-field__toggle:disabled{cursor:not-allowed;opacity:var(--ui-field-input-disabled-opacity)}.password-field__toggle i{font-size:.95rem;line-height:1}:host.password-field--invalid .password-field__toggle{color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:hover:not(:disabled){background:#b91c1c1f;color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:focus,:host.password-field--invalid .password-field__toggle:focus-visible{outline:none}\n"] }]
|
|
1840
|
+
], template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\" [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\"\n [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\" [clearAriaLabel]=\"clearAriaLabel\" [showSuffixSlot]=\"true\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"password-field__input\" [type]=\"inputTypeUi\" [id]=\"controlId\" [attr.name]=\"name || null\"\n [attr.placeholder]=\"''\" [attr.autocomplete]=\"autocomplete ? autoComplete : 'off'\" [attr.maxlength]=\"maxLength > 0 ? maxLength : null\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [required]=\"uiRequiredEffective\" [attr.aria-invalid]=\"uiInvalid\"\n [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\" (input)=\"onNativeInput($event)\"\n (blur)=\"onBlur()\" />\n <button type=\"button\" appFieldSuffix class=\"password-field__toggle\" tabindex=\"-1\"\n [disabled]=\"disabled || readonly\" [attr.aria-label]=\"toggleAriaLabelUi\" [attr.aria-pressed]=\"passwordVisible\"\n (click)=\"togglePasswordVisible($event)\">\n <i [class]=\"toggleIconClassUi\" aria-hidden=\"true\"></i>\n </button>\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.password-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.password-field__input::placeholder{color:transparent}.password-field__input:focus,.password-field__input:focus-visible{outline:none}.password-field__input--invalid:not(:disabled)::placeholder{color:transparent}.password-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}.password-field__toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;transition:background .15s ease,color .15s ease}.password-field__toggle:hover:not(:disabled){background:#5a7fa326;color:var(--ui-field-float-label-top-color)}.password-field__toggle:focus,.password-field__toggle:focus-visible{outline:none}.password-field__toggle:disabled{cursor:not-allowed;opacity:var(--ui-field-input-disabled-opacity)}.password-field__toggle i{font-size:.95rem;line-height:1}:host.password-field--invalid .password-field__toggle{color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:hover:not(:disabled){background:#b91c1c1f;color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:focus,:host.password-field--invalid .password-field__toggle:focus-visible{outline:none}\n"] }]
|
|
1809
1841
|
}], propDecorators: { hostInvalidClass: [{
|
|
1810
1842
|
type: HostBinding,
|
|
1811
1843
|
args: ['class.password-field--invalid']
|
|
@@ -2126,7 +2158,7 @@ class IntegerFieldComponent extends NgControlFieldDirective {
|
|
|
2126
2158
|
useExisting: forwardRef(() => IntegerFieldComponent),
|
|
2127
2159
|
multi: true,
|
|
2128
2160
|
},
|
|
2129
|
-
], usesInheritance: true, ngImport: i0, template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\"\n [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\" [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\"\n [clearAriaLabel]=\"clearAriaLabel\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"integer-field__input\" type=\"text\" inputmode=\"numeric\" [id]=\"controlId\"\n [attr.name]=\"name || null\" [attr.placeholder]=\"''\" [disabled]=\"disabled\" [readonly]=\"readonly\" [required]=\"uiRequiredEffective\"\n [attr.aria-invalid]=\"uiInvalid\" [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\"\n (beforeinput)=\"onBeforeInput($event)\" (input)=\"onNativeInput($event)\" (blur)=\"onBlur()\" />\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.integer-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integer-field__input::placeholder{color:transparent}.integer-field__input:focus,.integer-field__input:focus-visible{outline:none}.integer-field__input--invalid:not(:disabled)::placeholder{color:transparent}.integer-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: BaseFieldComponent, selector: "app-base-field", inputs: ["label", "errorMessage", "required", "showRequiredMark", "invalid", "filled", "disabled", "readonly", "inputId", "errorId", "showPrefixIcon", "prefixIcon", "clearable", "clearAriaLabel", "showSuffixSlot", "valueAlignEnd", "loading", "skeletonVariant", "mostrarMenuContexto", "contextMenuItems", "contextMenuId"], outputs: ["clear", "contextMenuSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2161
|
+
], usesInheritance: true, ngImport: i0, template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\"\n [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\" [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\"\n [clearAriaLabel]=\"clearAriaLabel\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"integer-field__input\" type=\"text\" inputmode=\"numeric\" [id]=\"controlId\"\n [attr.name]=\"name || null\" [attr.placeholder]=\"''\" [attr.autocomplete]=\"autocompleteAttr\" [disabled]=\"disabled\" [readonly]=\"readonly\" [required]=\"uiRequiredEffective\"\n [attr.aria-invalid]=\"uiInvalid\" [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\"\n (beforeinput)=\"onBeforeInput($event)\" (input)=\"onNativeInput($event)\" (blur)=\"onBlur()\" />\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.integer-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integer-field__input::placeholder{color:transparent}.integer-field__input:focus,.integer-field__input:focus-visible{outline:none}.integer-field__input--invalid:not(:disabled)::placeholder{color:transparent}.integer-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: BaseFieldComponent, selector: "app-base-field", inputs: ["label", "errorMessage", "required", "showRequiredMark", "invalid", "filled", "disabled", "readonly", "inputId", "errorId", "showPrefixIcon", "prefixIcon", "clearable", "clearAriaLabel", "showSuffixSlot", "valueAlignEnd", "loading", "skeletonVariant", "mostrarMenuContexto", "contextMenuItems", "contextMenuId"], outputs: ["clear", "contextMenuSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2130
2162
|
}
|
|
2131
2163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: IntegerFieldComponent, decorators: [{
|
|
2132
2164
|
type: Component,
|
|
@@ -2136,7 +2168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
2136
2168
|
useExisting: forwardRef(() => IntegerFieldComponent),
|
|
2137
2169
|
multi: true,
|
|
2138
2170
|
},
|
|
2139
|
-
], template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\"\n [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\" [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\"\n [clearAriaLabel]=\"clearAriaLabel\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"integer-field__input\" type=\"text\" inputmode=\"numeric\" [id]=\"controlId\"\n [attr.name]=\"name || null\" [attr.placeholder]=\"''\" [disabled]=\"disabled\" [readonly]=\"readonly\" [required]=\"uiRequiredEffective\"\n [attr.aria-invalid]=\"uiInvalid\" [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\"\n (beforeinput)=\"onBeforeInput($event)\" (input)=\"onNativeInput($event)\" (blur)=\"onBlur()\" />\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.integer-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integer-field__input::placeholder{color:transparent}.integer-field__input:focus,.integer-field__input:focus-visible{outline:none}.integer-field__input--invalid:not(:disabled)::placeholder{color:transparent}.integer-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}\n"] }]
|
|
2171
|
+
], template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\"\n [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\" [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\"\n [clearAriaLabel]=\"clearAriaLabel\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"integer-field__input\" type=\"text\" inputmode=\"numeric\" [id]=\"controlId\"\n [attr.name]=\"name || null\" [attr.placeholder]=\"''\" [attr.autocomplete]=\"autocompleteAttr\" [disabled]=\"disabled\" [readonly]=\"readonly\" [required]=\"uiRequiredEffective\"\n [attr.aria-invalid]=\"uiInvalid\" [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\"\n (beforeinput)=\"onBeforeInput($event)\" (input)=\"onNativeInput($event)\" (blur)=\"onBlur()\" />\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.integer-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integer-field__input::placeholder{color:transparent}.integer-field__input:focus,.integer-field__input:focus-visible{outline:none}.integer-field__input--invalid:not(:disabled)::placeholder{color:transparent}.integer-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}\n"] }]
|
|
2140
2172
|
}], propDecorators: { max: [{
|
|
2141
2173
|
type: Input,
|
|
2142
2174
|
args: [{ transform: numberAttribute }]
|
|
@@ -5051,11 +5083,11 @@ class LayoutStackComponent {
|
|
|
5051
5083
|
return parts.join(' ');
|
|
5052
5084
|
}
|
|
5053
5085
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: LayoutStackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5054
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", type: LayoutStackComponent, isStandalone: true, selector: "app-layout-stack", inputs: { align: "align", direction: "direction", itemAlign: "itemAlign", stackOnMobile: ["stackOnMobile", "stackOnMobile", booleanAttribute], stackDivider: ["stackDivider", "stackDivider", booleanAttribute], stackFill: ["stackFill", "stackFill", booleanAttribute] }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"layout-stack__track\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.layout-stack__track{display:flex;flex-wrap:wrap;width:100%;min-width:0;box-sizing:border-box;align-items:
|
|
5086
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", type: LayoutStackComponent, isStandalone: true, selector: "app-layout-stack", inputs: { align: "align", direction: "direction", itemAlign: "itemAlign", stackOnMobile: ["stackOnMobile", "stackOnMobile", booleanAttribute], stackDivider: ["stackDivider", "stackDivider", booleanAttribute], stackFill: ["stackFill", "stackFill", booleanAttribute] }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"layout-stack__track\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.layout-stack__track{display:flex;flex-wrap:wrap;width:100%;min-width:0;box-sizing:border-box;align-items:flex-start;gap:.5rem .75rem;padding-top:.25rem}:host(.layout-stack--dir-column) .layout-stack__track{flex-direction:column;flex-wrap:nowrap;align-items:stretch}:host(.layout-stack--align-start) .layout-stack__track{justify-content:flex-start}:host(.layout-stack--align-center) .layout-stack__track{justify-content:center}:host(.layout-stack--align-end) .layout-stack__track{justify-content:flex-end}:host(.layout-stack--align-space-between) .layout-stack__track{justify-content:space-between}:host(.layout-stack--divider){margin-top:.25rem;padding-top:1rem;border-top:1px solid var(--ui-layout-stack-divider-color, #e8eaed)}:host:not(.layout-stack--fill) .layout-stack__track{align-items:center}:host:not(.layout-stack--fill) ::ng-deep .layout-stack__track>*{flex:0 0 auto;min-width:0;max-width:100%}:host(.layout-stack--items-stretch) .layout-stack__track{align-items:stretch}:host(.layout-stack--items-start) .layout-stack__track{align-items:flex-start}:host(.layout-stack--items-center) .layout-stack__track{align-items:center}:host(.layout-stack--items-end) .layout-stack__track{align-items:flex-end}:host(.layout-stack--fill:not(.layout-stack--align-space-between)) .layout-stack__track{flex-wrap:nowrap}:host(.layout-stack--fill.layout-stack--align-space-between) .layout-stack__track{flex-wrap:nowrap}:host(.layout-stack--fill) ::ng-deep .layout-stack__track>*{flex:1 1 0;min-width:0;max-width:100%;min-height:0;align-self:auto}:host(.layout-stack--fill.layout-stack--dir-column) ::ng-deep .layout-stack__track>*{flex:0 0 auto;min-height:min-content;min-width:0;width:100%;max-width:100%;align-self:stretch}:host(.layout-stack--fill) ::ng-deep .layout-stack__track>.base-button:not(.base-button--full-width){flex:0 0 auto;align-self:center}@media(max-width:39.98rem){:host(.layout-stack--stack-mobile) .layout-stack__track{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.45rem .6rem}:host(.layout-stack--stack-mobile.layout-stack--fill) ::ng-deep .layout-stack__track>*{flex:0 0 auto;min-height:min-content;min-width:0;width:100%;max-width:100%;align-self:stretch}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5055
5087
|
}
|
|
5056
5088
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: LayoutStackComponent, decorators: [{
|
|
5057
5089
|
type: Component,
|
|
5058
|
-
args: [{ selector: 'app-layout-stack', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-stack__track\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.layout-stack__track{display:flex;flex-wrap:wrap;width:100%;min-width:0;box-sizing:border-box;align-items:
|
|
5090
|
+
args: [{ selector: 'app-layout-stack', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-stack__track\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.layout-stack__track{display:flex;flex-wrap:wrap;width:100%;min-width:0;box-sizing:border-box;align-items:flex-start;gap:.5rem .75rem;padding-top:.25rem}:host(.layout-stack--dir-column) .layout-stack__track{flex-direction:column;flex-wrap:nowrap;align-items:stretch}:host(.layout-stack--align-start) .layout-stack__track{justify-content:flex-start}:host(.layout-stack--align-center) .layout-stack__track{justify-content:center}:host(.layout-stack--align-end) .layout-stack__track{justify-content:flex-end}:host(.layout-stack--align-space-between) .layout-stack__track{justify-content:space-between}:host(.layout-stack--divider){margin-top:.25rem;padding-top:1rem;border-top:1px solid var(--ui-layout-stack-divider-color, #e8eaed)}:host:not(.layout-stack--fill) .layout-stack__track{align-items:center}:host:not(.layout-stack--fill) ::ng-deep .layout-stack__track>*{flex:0 0 auto;min-width:0;max-width:100%}:host(.layout-stack--items-stretch) .layout-stack__track{align-items:stretch}:host(.layout-stack--items-start) .layout-stack__track{align-items:flex-start}:host(.layout-stack--items-center) .layout-stack__track{align-items:center}:host(.layout-stack--items-end) .layout-stack__track{align-items:flex-end}:host(.layout-stack--fill:not(.layout-stack--align-space-between)) .layout-stack__track{flex-wrap:nowrap}:host(.layout-stack--fill.layout-stack--align-space-between) .layout-stack__track{flex-wrap:nowrap}:host(.layout-stack--fill) ::ng-deep .layout-stack__track>*{flex:1 1 0;min-width:0;max-width:100%;min-height:0;align-self:auto}:host(.layout-stack--fill.layout-stack--dir-column) ::ng-deep .layout-stack__track>*{flex:0 0 auto;min-height:min-content;min-width:0;width:100%;max-width:100%;align-self:stretch}:host(.layout-stack--fill) ::ng-deep .layout-stack__track>.base-button:not(.base-button--full-width){flex:0 0 auto;align-self:center}@media(max-width:39.98rem){:host(.layout-stack--stack-mobile) .layout-stack__track{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.45rem .6rem}:host(.layout-stack--stack-mobile.layout-stack--fill) ::ng-deep .layout-stack__track>*{flex:0 0 auto;min-height:min-content;min-width:0;width:100%;max-width:100%;align-self:stretch}}\n"] }]
|
|
5059
5091
|
}], propDecorators: { align: [{
|
|
5060
5092
|
type: Input
|
|
5061
5093
|
}], direction: [{
|
|
@@ -5207,11 +5239,11 @@ class FormColComponent {
|
|
|
5207
5239
|
return Math.min(12, Math.max(1, Math.round(n)));
|
|
5208
5240
|
}
|
|
5209
5241
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormColComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5210
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", type: FormColComponent, isStandalone: true, selector: "app-form-col", inputs: { xs: ["xs", "xs", numberAttribute], sm: "sm", md: "md", lg: "lg", xl: "xl", order: ["order", "order", numberAttribute], grow: ["grow", "grow", booleanAttribute], gap: "gap", align: "align", justify: "justify" }, host: { properties: { "class": "this.hostClass", "attr.style": "this.hostVars" } }, ngImport: i0, template: "<div class=\"form-col__inner\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;min-width:0;box-sizing:border-box;grid-column:span var(--form-col-xs, 12)}.form-col__inner{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;min-width:0;min-height:0;box-sizing:border-box}:host(.form-col--gap-xs) .form-col__inner{gap:.35rem}:host(.form-col--gap-sm) .form-col__inner{gap:.5rem}:host(.form-col--gap-md) .form-col__inner{gap:.75rem}:host(.form-col--gap-lg) .form-col__inner{gap:1rem}:host(.form-col--align-start) .form-col__inner{align-items:flex-start}:host(.form-col--align-center) .form-col__inner{align-items:center}:host(.form-col--align-end) .form-col__inner{align-items:flex-end}:host(.form-col--align-stretch) .form-col__inner{align-items:stretch}:host(.form-col--justify-start) .form-col__inner{justify-content:flex-start}:host(.form-col--justify-center) .form-col__inner{justify-content:center}:host(.form-col--justify-end) .form-col__inner{justify-content:flex-end}:host(.form-col--justify-between) .form-col__inner{justify-content:space-between}@media(min-width:40rem){:host{grid-column:span var(--form-col-sm, var(--form-col-xs, 12))}}@media(min-width:48rem){:host{grid-column:span var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))}}@media(min-width:64rem){:host{grid-column:span var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12))))}}@media(min-width:80rem){:host{grid-column:span var(--form-col-xl, var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))))}}:host.form-col--grow{min-width:0;grid-column:auto/-1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5242
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", type: FormColComponent, isStandalone: true, selector: "app-form-col", inputs: { xs: ["xs", "xs", numberAttribute], sm: "sm", md: "md", lg: "lg", xl: "xl", order: ["order", "order", numberAttribute], grow: ["grow", "grow", booleanAttribute], gap: "gap", align: "align", justify: "justify" }, host: { properties: { "class": "this.hostClass", "attr.style": "this.hostVars" } }, ngImport: i0, template: "<div class=\"form-col__inner\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;min-width:0;box-sizing:border-box;align-self:start;width:100%;max-width:100%;grid-column:span var(--form-col-xs, 12)}.form-col__inner{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;min-width:0;min-height:0;box-sizing:border-box}:host(.form-col--gap-xs) .form-col__inner{gap:.35rem}:host(.form-col--gap-sm) .form-col__inner{gap:.5rem}:host(.form-col--gap-md) .form-col__inner{gap:.75rem}:host(.form-col--gap-lg) .form-col__inner{gap:1rem}:host(.form-col--align-start) .form-col__inner{align-items:flex-start}:host(.form-col--align-center) .form-col__inner{align-items:center}:host(.form-col--align-end) .form-col__inner{align-items:flex-end}:host(.form-col--align-stretch) .form-col__inner{align-items:stretch}:host(.form-col--justify-start) .form-col__inner{justify-content:flex-start}:host(.form-col--justify-center) .form-col__inner{justify-content:center}:host(.form-col--justify-end) .form-col__inner{justify-content:flex-end}:host(.form-col--justify-between) .form-col__inner{justify-content:space-between}@media(min-width:40rem){:host{grid-column:span var(--form-col-sm, var(--form-col-xs, 12))}}@media(min-width:48rem){:host{grid-column:span var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))}}@media(min-width:64rem){:host{grid-column:span var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12))))}}@media(min-width:80rem){:host{grid-column:span var(--form-col-xl, var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))))}}:host.form-col--grow{min-width:0;grid-column:auto/-1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5211
5243
|
}
|
|
5212
5244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormColComponent, decorators: [{
|
|
5213
5245
|
type: Component,
|
|
5214
|
-
args: [{ selector: 'app-form-col', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-col__inner\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;min-width:0;box-sizing:border-box;grid-column:span var(--form-col-xs, 12)}.form-col__inner{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;min-width:0;min-height:0;box-sizing:border-box}:host(.form-col--gap-xs) .form-col__inner{gap:.35rem}:host(.form-col--gap-sm) .form-col__inner{gap:.5rem}:host(.form-col--gap-md) .form-col__inner{gap:.75rem}:host(.form-col--gap-lg) .form-col__inner{gap:1rem}:host(.form-col--align-start) .form-col__inner{align-items:flex-start}:host(.form-col--align-center) .form-col__inner{align-items:center}:host(.form-col--align-end) .form-col__inner{align-items:flex-end}:host(.form-col--align-stretch) .form-col__inner{align-items:stretch}:host(.form-col--justify-start) .form-col__inner{justify-content:flex-start}:host(.form-col--justify-center) .form-col__inner{justify-content:center}:host(.form-col--justify-end) .form-col__inner{justify-content:flex-end}:host(.form-col--justify-between) .form-col__inner{justify-content:space-between}@media(min-width:40rem){:host{grid-column:span var(--form-col-sm, var(--form-col-xs, 12))}}@media(min-width:48rem){:host{grid-column:span var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))}}@media(min-width:64rem){:host{grid-column:span var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12))))}}@media(min-width:80rem){:host{grid-column:span var(--form-col-xl, var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))))}}:host.form-col--grow{min-width:0;grid-column:auto/-1}\n"] }]
|
|
5246
|
+
args: [{ selector: 'app-form-col', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-col__inner\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;min-width:0;box-sizing:border-box;align-self:start;width:100%;max-width:100%;grid-column:span var(--form-col-xs, 12)}.form-col__inner{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;min-width:0;min-height:0;box-sizing:border-box}:host(.form-col--gap-xs) .form-col__inner{gap:.35rem}:host(.form-col--gap-sm) .form-col__inner{gap:.5rem}:host(.form-col--gap-md) .form-col__inner{gap:.75rem}:host(.form-col--gap-lg) .form-col__inner{gap:1rem}:host(.form-col--align-start) .form-col__inner{align-items:flex-start}:host(.form-col--align-center) .form-col__inner{align-items:center}:host(.form-col--align-end) .form-col__inner{align-items:flex-end}:host(.form-col--align-stretch) .form-col__inner{align-items:stretch}:host(.form-col--justify-start) .form-col__inner{justify-content:flex-start}:host(.form-col--justify-center) .form-col__inner{justify-content:center}:host(.form-col--justify-end) .form-col__inner{justify-content:flex-end}:host(.form-col--justify-between) .form-col__inner{justify-content:space-between}@media(min-width:40rem){:host{grid-column:span var(--form-col-sm, var(--form-col-xs, 12))}}@media(min-width:48rem){:host{grid-column:span var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))}}@media(min-width:64rem){:host{grid-column:span var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12))))}}@media(min-width:80rem){:host{grid-column:span var(--form-col-xl, var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))))}}:host.form-col--grow{min-width:0;grid-column:auto/-1}\n"] }]
|
|
5215
5247
|
}], propDecorators: { xs: [{
|
|
5216
5248
|
type: Input,
|
|
5217
5249
|
args: [{ transform: numberAttribute }]
|
|
@@ -7524,7 +7556,7 @@ class AppDialogComponent {
|
|
|
7524
7556
|
* valores de `:root` (azul); alinhamos ao CDK Dialog (`libDialogPanelClasses`).
|
|
7525
7557
|
*/
|
|
7526
7558
|
get hostThemeClasses() {
|
|
7527
|
-
return this.appTheme.
|
|
7559
|
+
return this.appTheme.getTheme();
|
|
7528
7560
|
}
|
|
7529
7561
|
ngOnInit() {
|
|
7530
7562
|
this.stripHostNativeTitle();
|
|
@@ -7692,11 +7724,11 @@ class ConfirmDialogComponent {
|
|
|
7692
7724
|
this.ref.close(false);
|
|
7693
7725
|
}
|
|
7694
7726
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ConfirmDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7695
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: ConfirmDialogComponent, isStandalone: true, selector: "app-confirm-dialog", viewQueries: [{ propertyName: "cancelBtn", first: true, predicate: ["cancelBtn"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"confirm-dialog\"\r\n role=\"alertdialog\"\r\n aria-modal=\"true\"\r\n [attr.aria-labelledby]=\"titleId\"\r\n [attr.aria-describedby]=\"descId\"\r\n>\r\n <header class=\"confirm-dialog__header\">\r\n <h2 class=\"confirm-dialog__title\" [id]=\"titleId\">{{ data.title }}</h2>\r\n </header>\r\n\r\n <div class=\"confirm-dialog__body\">\r\n <p class=\"confirm-dialog__message\" [id]=\"descId\">{{ data.message }}</p>\r\n </div>\r\n\r\n <footer class=\"confirm-dialog__footer\">\r\n <app-
|
|
7727
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: ConfirmDialogComponent, isStandalone: true, selector: "app-confirm-dialog", viewQueries: [{ propertyName: "cancelBtn", first: true, predicate: ["cancelBtn"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"confirm-dialog\"\r\n role=\"alertdialog\"\r\n aria-modal=\"true\"\r\n [attr.aria-labelledby]=\"titleId\"\r\n [attr.aria-describedby]=\"descId\"\r\n>\r\n <header class=\"confirm-dialog__header\">\r\n <h2 class=\"confirm-dialog__title\" [id]=\"titleId\">{{ data.title }}</h2>\r\n </header>\r\n\r\n <div class=\"confirm-dialog__body\">\r\n <p class=\"confirm-dialog__message\" [id]=\"descId\">{{ data.message }}</p>\r\n </div>\r\n\r\n <footer class=\"confirm-dialog__footer\">\r\n <app-button\r\n #cancelBtn\r\n [type]=\"BaseButtonType.Button\"\r\n [variant]=\"BaseButtonVariant.Secondary\"\r\n [fullWidth]=\"false\"\r\n (click)=\"onCancel()\"\r\n >\r\n {{ data.cancelLabel ?? 'Cancelar' }}\r\n </app-button>\r\n <app-button\r\n [type]=\"BaseButtonType.Button\"\r\n [variant]=\"BaseButtonVariant.Primary\"\r\n [fullWidth]=\"false\"\r\n [class.confirm-dialog__confirm--danger]=\"data.variant === 'danger'\"\r\n (click)=\"onConfirm()\"\r\n >\r\n {{ data.confirmLabel ?? 'Confirmar' }}\r\n </app-button>\r\n </footer>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.confirm-dialog{box-sizing:border-box;display:flex;flex-direction:column;min-width:0;max-width:100%;min-height:0;overflow:hidden}.confirm-dialog__header{flex:0 0 auto;padding:1rem 1rem .65rem;border-bottom:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09))}.confirm-dialog__title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.3;color:var(--app-color-text-primary, #1a2f45)}.confirm-dialog__body{flex:1 1 auto;min-height:0;padding:1rem;overflow:auto}.confirm-dialog__message{margin:0;font-size:.9rem;line-height:1.5;color:var(--app-color-text-secondary, #5a7fa3)}.confirm-dialog__footer{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;padding:.65rem 1rem 1rem;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09))}:host ::ng-deep app-button.confirm-dialog__confirm--danger.base-button--primary .base-button__native{border-color:var(--app-color-error-border, #dc2626);background:var(--app-color-error, #b91c1c);color:var(--app-color-error-contrast, #fff)}:host ::ng-deep app-button.confirm-dialog__confirm--danger.base-button--primary .base-button__native:hover:not(:disabled){filter:brightness(.95)}:host ::ng-deep app-button.confirm-dialog__confirm--danger.base-button--primary .base-button__native:focus-visible{outline:none;box-shadow:0 0 0 3px var(--app-color-error-focus-ring, rgba(220, 38, 38, .35))}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "app-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7696
7728
|
}
|
|
7697
7729
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
7698
7730
|
type: Component,
|
|
7699
|
-
args: [{ selector: 'app-confirm-dialog', imports: [
|
|
7731
|
+
args: [{ selector: 'app-confirm-dialog', imports: [ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"confirm-dialog\"\r\n role=\"alertdialog\"\r\n aria-modal=\"true\"\r\n [attr.aria-labelledby]=\"titleId\"\r\n [attr.aria-describedby]=\"descId\"\r\n>\r\n <header class=\"confirm-dialog__header\">\r\n <h2 class=\"confirm-dialog__title\" [id]=\"titleId\">{{ data.title }}</h2>\r\n </header>\r\n\r\n <div class=\"confirm-dialog__body\">\r\n <p class=\"confirm-dialog__message\" [id]=\"descId\">{{ data.message }}</p>\r\n </div>\r\n\r\n <footer class=\"confirm-dialog__footer\">\r\n <app-button\r\n #cancelBtn\r\n [type]=\"BaseButtonType.Button\"\r\n [variant]=\"BaseButtonVariant.Secondary\"\r\n [fullWidth]=\"false\"\r\n (click)=\"onCancel()\"\r\n >\r\n {{ data.cancelLabel ?? 'Cancelar' }}\r\n </app-button>\r\n <app-button\r\n [type]=\"BaseButtonType.Button\"\r\n [variant]=\"BaseButtonVariant.Primary\"\r\n [fullWidth]=\"false\"\r\n [class.confirm-dialog__confirm--danger]=\"data.variant === 'danger'\"\r\n (click)=\"onConfirm()\"\r\n >\r\n {{ data.confirmLabel ?? 'Confirmar' }}\r\n </app-button>\r\n </footer>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.confirm-dialog{box-sizing:border-box;display:flex;flex-direction:column;min-width:0;max-width:100%;min-height:0;overflow:hidden}.confirm-dialog__header{flex:0 0 auto;padding:1rem 1rem .65rem;border-bottom:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09))}.confirm-dialog__title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.3;color:var(--app-color-text-primary, #1a2f45)}.confirm-dialog__body{flex:1 1 auto;min-height:0;padding:1rem;overflow:auto}.confirm-dialog__message{margin:0;font-size:.9rem;line-height:1.5;color:var(--app-color-text-secondary, #5a7fa3)}.confirm-dialog__footer{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;padding:.65rem 1rem 1rem;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09))}:host ::ng-deep app-button.confirm-dialog__confirm--danger.base-button--primary .base-button__native{border-color:var(--app-color-error-border, #dc2626);background:var(--app-color-error, #b91c1c);color:var(--app-color-error-contrast, #fff)}:host ::ng-deep app-button.confirm-dialog__confirm--danger.base-button--primary .base-button__native:hover:not(:disabled){filter:brightness(.95)}:host ::ng-deep app-button.confirm-dialog__confirm--danger.base-button--primary .base-button__native:focus-visible{outline:none;box-shadow:0 0 0 3px var(--app-color-error-focus-ring, rgba(220, 38, 38, .35))}\n"] }]
|
|
7700
7732
|
}], propDecorators: { cancelBtn: [{
|
|
7701
7733
|
type: ViewChild,
|
|
7702
7734
|
args: ['cancelBtn']
|
|
@@ -7855,7 +7887,7 @@ class ToastHostComponent {
|
|
|
7855
7887
|
this.toastService.runAction(id);
|
|
7856
7888
|
}
|
|
7857
7889
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ToastHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7858
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ToastHostComponent, isStandalone: true, selector: "app-toast-host", ngImport: i0, template: "@if (topToasts().length > 0) {\r\n <div\r\n class=\"toast-host toast-host--top app-library-theme\"\r\n [ngClass]=\"theme.
|
|
7890
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ToastHostComponent, isStandalone: true, selector: "app-toast-host", ngImport: i0, template: "@if (topToasts().length > 0) {\r\n <div\r\n class=\"toast-host toast-host--top app-library-theme\"\r\n [ngClass]=\"theme.getTheme()\"\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions text\"\r\n >\r\n @for (t of topToasts(); track t.id) {\r\n <div\r\n [ngClass]=\"['toast-host__item', 'toast-host__item--' + t.type]\"\r\n @toastAnimTop\r\n role=\"status\"\r\n >\r\n <div class=\"toast-host__body\">\r\n @if (t.title) {\r\n <p class=\"toast-host__title\">{{ t.title }}</p>\r\n }\r\n <p class=\"toast-host__message\">{{ t.message }}</p>\r\n @if (t.actionLabel) {\r\n <button type=\"button\" class=\"toast-host__action\" (click)=\"action(t.id)\">\r\n {{ t.actionLabel }}\r\n </button>\r\n }\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"toast-host__close\"\r\n [attr.aria-label]=\"'Fechar notifica\u00E7\u00E3o'\"\r\n (click)=\"dismiss(t.id)\"\r\n >\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n}\r\n@if (bottomToasts().length > 0) {\r\n <div\r\n class=\"toast-host toast-host--bottom app-library-theme\"\r\n [ngClass]=\"theme.getTheme()\"\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions text\"\r\n >\r\n @for (t of bottomToasts(); track t.id) {\r\n <div\r\n [ngClass]=\"['toast-host__item', 'toast-host__item--' + t.type]\"\r\n @toastAnimBottom\r\n role=\"status\"\r\n >\r\n <div class=\"toast-host__body\">\r\n @if (t.title) {\r\n <p class=\"toast-host__title\">{{ t.title }}</p>\r\n }\r\n <p class=\"toast-host__message\">{{ t.message }}</p>\r\n @if (t.actionLabel) {\r\n <button type=\"button\" class=\"toast-host__action\" (click)=\"action(t.id)\">\r\n {{ t.actionLabel }}\r\n </button>\r\n }\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"toast-host__close\"\r\n [attr.aria-label]=\"'Fechar notifica\u00E7\u00E3o'\"\r\n (click)=\"dismiss(t.id)\"\r\n >\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: [":host{display:contents}.toast-host{position:fixed;right:0;z-index:var(--app-z-toast, 1300);display:flex;align-items:flex-end;gap:.6rem;box-sizing:border-box;pointer-events:none;max-width:100vw}.toast-host--top{top:0;flex-direction:column;padding:max(.85rem,env(safe-area-inset-top)) max(.85rem,env(safe-area-inset-right)) max(.85rem,env(safe-area-inset-bottom)) max(.85rem,env(safe-area-inset-left))}.toast-host--bottom{bottom:0;top:auto;flex-direction:column-reverse;padding:max(.85rem,env(safe-area-inset-top)) max(.85rem,env(safe-area-inset-right)) max(.85rem,env(safe-area-inset-bottom)) max(.85rem,env(safe-area-inset-left))}.toast-host__item{pointer-events:auto;display:flex;align-items:flex-start;gap:.6rem;width:min(25rem,100vw - 1.7rem);max-width:100%;box-sizing:border-box;border-radius:12px;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .1));background:var(--app-color-surface, #fff);box-shadow:0 4px 8px -2px #0000000f,0 14px 32px -8px #1a2f4524;padding:.85rem .65rem .85rem .95rem;border-left-width:5px;border-left-style:solid}.toast-host__item--success{border-left-color:var(--app-color-success, #15803d)}.toast-host__item--error{border-left-color:var(--app-color-error-border, #dc2626)}.toast-host__item--warning{border-left-color:var(--app-color-warning, #c2410c)}.toast-host__item--info{border-left-color:var(--app-color-info, #1d4ed8)}.toast-host__body{flex:1 1 auto;min-width:0}.toast-host__title{margin:0 0 .3rem;font-size:.9rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45);letter-spacing:.01em}.toast-host__message{margin:0;font-size:.92rem;line-height:1.5;color:var(--app-color-text-secondary, #5a7fa3);word-break:break-word}.toast-host__action{margin:.5rem 0 0;padding:0;border:none;background:none;font:inherit;font-size:.86rem;font-weight:600;color:var(--app-color-primary, #2b7fd9);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.toast-host__action:focus-visible{outline:2px solid var(--app-color-focus-ring-strong, rgba(43, 127, 217, .45));outline-offset:2px;border-radius:4px}.toast-host__close{flex:0 0 auto;width:1.85rem;height:1.85rem;margin:-.05rem 0 0;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--app-color-text-muted, #6b8299);font-size:1.25rem;line-height:1;cursor:pointer}.toast-host__close:hover{background:var(--app-color-hover-bg, rgba(43, 127, 217, .08));color:var(--app-color-text-primary, #1a2f45)}.toast-host__close:focus-visible{outline:2px solid var(--app-color-focus-ring-strong, rgba(43, 127, 217, .45));outline-offset:2px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
|
7859
7891
|
trigger('toastAnimTop', [
|
|
7860
7892
|
transition(':enter', [
|
|
7861
7893
|
style({ opacity: 0, transform: 'translateX(110%)' }),
|
|
@@ -7897,7 +7929,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7897
7929
|
animate('180ms ease-in', style({ opacity: 0, transform: 'translateY(120%)' })),
|
|
7898
7930
|
]),
|
|
7899
7931
|
]),
|
|
7900
|
-
], template: "@if (topToasts().length > 0) {\r\n <div\r\n class=\"toast-host toast-host--top app-library-theme\"\r\n [ngClass]=\"theme.
|
|
7932
|
+
], template: "@if (topToasts().length > 0) {\r\n <div\r\n class=\"toast-host toast-host--top app-library-theme\"\r\n [ngClass]=\"theme.getTheme()\"\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions text\"\r\n >\r\n @for (t of topToasts(); track t.id) {\r\n <div\r\n [ngClass]=\"['toast-host__item', 'toast-host__item--' + t.type]\"\r\n @toastAnimTop\r\n role=\"status\"\r\n >\r\n <div class=\"toast-host__body\">\r\n @if (t.title) {\r\n <p class=\"toast-host__title\">{{ t.title }}</p>\r\n }\r\n <p class=\"toast-host__message\">{{ t.message }}</p>\r\n @if (t.actionLabel) {\r\n <button type=\"button\" class=\"toast-host__action\" (click)=\"action(t.id)\">\r\n {{ t.actionLabel }}\r\n </button>\r\n }\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"toast-host__close\"\r\n [attr.aria-label]=\"'Fechar notifica\u00E7\u00E3o'\"\r\n (click)=\"dismiss(t.id)\"\r\n >\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n}\r\n@if (bottomToasts().length > 0) {\r\n <div\r\n class=\"toast-host toast-host--bottom app-library-theme\"\r\n [ngClass]=\"theme.getTheme()\"\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions text\"\r\n >\r\n @for (t of bottomToasts(); track t.id) {\r\n <div\r\n [ngClass]=\"['toast-host__item', 'toast-host__item--' + t.type]\"\r\n @toastAnimBottom\r\n role=\"status\"\r\n >\r\n <div class=\"toast-host__body\">\r\n @if (t.title) {\r\n <p class=\"toast-host__title\">{{ t.title }}</p>\r\n }\r\n <p class=\"toast-host__message\">{{ t.message }}</p>\r\n @if (t.actionLabel) {\r\n <button type=\"button\" class=\"toast-host__action\" (click)=\"action(t.id)\">\r\n {{ t.actionLabel }}\r\n </button>\r\n }\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"toast-host__close\"\r\n [attr.aria-label]=\"'Fechar notifica\u00E7\u00E3o'\"\r\n (click)=\"dismiss(t.id)\"\r\n >\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: [":host{display:contents}.toast-host{position:fixed;right:0;z-index:var(--app-z-toast, 1300);display:flex;align-items:flex-end;gap:.6rem;box-sizing:border-box;pointer-events:none;max-width:100vw}.toast-host--top{top:0;flex-direction:column;padding:max(.85rem,env(safe-area-inset-top)) max(.85rem,env(safe-area-inset-right)) max(.85rem,env(safe-area-inset-bottom)) max(.85rem,env(safe-area-inset-left))}.toast-host--bottom{bottom:0;top:auto;flex-direction:column-reverse;padding:max(.85rem,env(safe-area-inset-top)) max(.85rem,env(safe-area-inset-right)) max(.85rem,env(safe-area-inset-bottom)) max(.85rem,env(safe-area-inset-left))}.toast-host__item{pointer-events:auto;display:flex;align-items:flex-start;gap:.6rem;width:min(25rem,100vw - 1.7rem);max-width:100%;box-sizing:border-box;border-radius:12px;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .1));background:var(--app-color-surface, #fff);box-shadow:0 4px 8px -2px #0000000f,0 14px 32px -8px #1a2f4524;padding:.85rem .65rem .85rem .95rem;border-left-width:5px;border-left-style:solid}.toast-host__item--success{border-left-color:var(--app-color-success, #15803d)}.toast-host__item--error{border-left-color:var(--app-color-error-border, #dc2626)}.toast-host__item--warning{border-left-color:var(--app-color-warning, #c2410c)}.toast-host__item--info{border-left-color:var(--app-color-info, #1d4ed8)}.toast-host__body{flex:1 1 auto;min-width:0}.toast-host__title{margin:0 0 .3rem;font-size:.9rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45);letter-spacing:.01em}.toast-host__message{margin:0;font-size:.92rem;line-height:1.5;color:var(--app-color-text-secondary, #5a7fa3);word-break:break-word}.toast-host__action{margin:.5rem 0 0;padding:0;border:none;background:none;font:inherit;font-size:.86rem;font-weight:600;color:var(--app-color-primary, #2b7fd9);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.toast-host__action:focus-visible{outline:2px solid var(--app-color-focus-ring-strong, rgba(43, 127, 217, .45));outline-offset:2px;border-radius:4px}.toast-host__close{flex:0 0 auto;width:1.85rem;height:1.85rem;margin:-.05rem 0 0;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--app-color-text-muted, #6b8299);font-size:1.25rem;line-height:1;cursor:pointer}.toast-host__close:hover{background:var(--app-color-hover-bg, rgba(43, 127, 217, .08));color:var(--app-color-text-primary, #1a2f45)}.toast-host__close:focus-visible{outline:2px solid var(--app-color-focus-ring-strong, rgba(43, 127, 217, .45));outline-offset:2px}\n"] }]
|
|
7901
7933
|
}] });
|
|
7902
7934
|
|
|
7903
7935
|
const DEFAULT_MESSAGE = 'A carregar…';
|
|
@@ -8776,7 +8808,7 @@ class AppShellComponent {
|
|
|
8776
8808
|
this.DrawerSize = DrawerSize;
|
|
8777
8809
|
}
|
|
8778
8810
|
get hostThemeClasses() {
|
|
8779
|
-
return this.theme.
|
|
8811
|
+
return this.theme.getTheme();
|
|
8780
8812
|
}
|
|
8781
8813
|
/** Conteúdo lateral (obrigatório): `<ng-template appShellSidebar>...</ng-template>`. */
|
|
8782
8814
|
get sidebarTemplate() {
|
|
@@ -8857,7 +8889,7 @@ class AppSidebarComponent {
|
|
|
8857
8889
|
* herdarem a paleta activa (útil fora da demo ou sem antepassado tematizado).
|
|
8858
8890
|
*/
|
|
8859
8891
|
get hostThemeClasses() {
|
|
8860
|
-
return this.theme.
|
|
8892
|
+
return this.theme.getTheme();
|
|
8861
8893
|
}
|
|
8862
8894
|
constructor() {
|
|
8863
8895
|
this.theme = inject(AppThemeService);
|
|
@@ -9074,5 +9106,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
9074
9106
|
* Generated bundle index. Do not edit.
|
|
9075
9107
|
*/
|
|
9076
9108
|
|
|
9077
|
-
export { ADAPTIVE_DATA_VIEW_MOBILE_QUERY, APP_SIDEBAR_LABEL_REVEAL_LAG_MS, APP_SIDEBAR_LAYOUT_DURATION_MS, APP_SIDEBAR_NAV_REVEAL_TOTAL_MS, APP_THEME_IDS, ActionMenuComponent, AdaptiveDataViewComponent, AnchoredOverlayComponent, AppBreadcrumbComponent, AppDialogComponent, AppLibLightBlockScrollStrategy, AppShellComponent, AppShellSidebarTemplateDirective, AppShellSidebarToggleComponent, AppSidebarComponent, AppSidebarToolbarDirective, AppThemeService, AppTopbarComponent, AppUserMenuComponent, BR_ESTADOS_NOME_SIGLA,
|
|
9109
|
+
export { ADAPTIVE_DATA_VIEW_MOBILE_QUERY, APP_SIDEBAR_LABEL_REVEAL_LAG_MS, APP_SIDEBAR_LAYOUT_DURATION_MS, APP_SIDEBAR_NAV_REVEAL_TOTAL_MS, APP_THEME_IDS, ActionMenuComponent, AdaptiveDataViewComponent, AnchoredOverlayComponent, AppBreadcrumbComponent, AppDialogComponent, AppLibLightBlockScrollStrategy, AppShellComponent, AppShellSidebarTemplateDirective, AppShellSidebarToggleComponent, AppSidebarComponent, AppSidebarToolbarDirective, AppTheme, AppThemeService, AppTopbarComponent, AppUserMenuComponent, BR_ESTADOS_NOME_SIGLA, BaseButtonType, BaseButtonVariant, BaseFieldComponent, BaseFieldDirective, BooleanFieldDirective, ButtonComponent, CardListComponent, CepFieldComponent, CheckboxFieldComponent, ConfirmDialogComponent, ConfirmDialogService, ContextMenuComponent, CpfCnpjFieldComponent, DashboardSectionComponent, DataCardComponent, DataGridComponent, DataListComponent, DataToolbarComponent, DateFieldComponent, DecimalFieldComponent, DetailsFieldComponent, DetailsViewComponent, DialogFooterDirective, DrawerComponent, DrawerSide, DrawerSize, DropdownBaseComponent, DropdownMenuComponent, DropdownMultiOptionFieldBase, DropdownOptionFieldBase, DropdownSearchFieldComponent, EmptyStateComponent, FormActionsAlign, FormActionsComponent, FormColComponent, FormGroupComponent, FormGroupVariant, FormLayoutGap, FormRowAlign, FormRowComponent, FormRowJustify, FormSectionComponent, FormTabComponent, FormTabsComponent, InputMaskFieldComponent, IntegerFieldComponent, LAYOUT_STACK_SIDE_BY_SIDE, LAYOUT_STACK_STACKED, LayoutStackAlign, LayoutStackComponent, LayoutStackDirection, LayoutStackItemAlign, LibDialogSize, ListItemComponent, LoadingDialogComponent, LoadingDialogService, MaskedTextFieldBase, MenuDividerComponent, MenuDropdownPlacement, MenuGroupComponent, MenuListComponent, MultiselectFieldComponent, NgControlFieldDirective, OverlayPlacement, PasswordFieldComponent, PhoneFieldComponent, PopoverBodyTemplateDirective, PopoverComponent, PopoverFooterTemplateDirective, PopoverTriggerDirective, STRUCTRA_UI, SelectFieldComponent, SkeletonBlockComponent, SkeletonCardComponent, SkeletonFieldShellComponent, SkeletonListComponent, SkeletonTableComponent, SkeletonTextComponent, StatCardComponent, StatusBadgeComponent, SwitchFieldComponent, TableEmptyStateComponent, TableToolbarComponent, TextFieldComponent, TextareaFieldComponent, ToastHostComponent, ToastService, TooltipComponent, TooltipPanelTemplateDirective, ValidationSummaryComponent, anchoredOverlayPositions, applyPickedCalendarDate, buildDecimalBrDisplay, buildDecimalBrParseString, buildEmptyStateOverlayHtml, caretIndexFromIntegerDigitCount, caretIndexFromSemantic, cepMaskCompleteValidator, cpfCnpjMaskCompleteValidator, escapeHtml, extractDecimalBrParts, fixedDigitsMaskCompleteValidator, formatDateTimePtBr, formatDecimalBr, formatIntegerThousandsBr, formatMaskDigits, formatUiFieldDateValue, libDialogPanelClasses, mapEstadosToOptions, maskDigitCount, normalizeFormDateValue, parseDecimalBr, parseIntegerString, parseUiFieldDateValue, phoneBrMaskCompleteValidator, resolveControlAtPath, sanitizeDecimalBrInput, sanitizeIntegerDigits, sectionHasVisibleInvalid, semanticCaretAt, semanticIntegerDigitCountLeft, stripToDigits, subscribeMarkForCheckOnInvalidUiRefresh, subtreeHasVisibleInvalid };
|
|
9078
9110
|
//# sourceMappingURL=structra-ui.mjs.map
|