structra-ui 0.2.14 → 0.2.15

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.
@@ -683,11 +683,11 @@ class SkeletonFieldShellComponent {
683
683
  this.showLeadingIcon = true;
684
684
  }
685
685
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SkeletonFieldShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
686
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SkeletonFieldShellComponent, isStandalone: true, selector: "app-skeleton-field-shell", inputs: { variant: "variant", animate: ["animate", "animate", booleanAttribute], showLeadingIcon: ["showLeadingIcon", "showLeadingIcon", booleanAttribute] }, ngImport: i0, template: "<div\r\n class=\"skeleton-field-shell\"\r\n [class.skeleton-field-shell--bar-only]=\"!showLeadingIcon\"\r\n [class.skeleton-field-shell--textarea]=\"variant === 'textarea'\"\r\n aria-hidden=\"true\"\r\n>\r\n @if (showLeadingIcon) {\r\n <app-skeleton-block class=\"skeleton-field-shell__prefix\" width=\"1.35em\" height=\"1.35em\" radius=\"8px\"\r\n [animate]=\"animate\" />\r\n }\r\n @if (variant === 'textarea') {\r\n <div class=\"skeleton-field-shell__lines\">\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"72%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"92%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"58%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n </div>\r\n } @else {\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"72%\" height=\"1.35em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0}.skeleton-field-shell{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.35rem;width:100%;min-width:0;min-height:calc(1.8rem + 1.35em);margin:0;padding:0 .75rem;box-sizing:border-box}.skeleton-field-shell--bar-only{gap:0}.skeleton-field-shell__prefix{flex:0 0 auto}.skeleton-field-shell__value{flex:1 1 auto;min-width:0}.skeleton-field-shell app-skeleton-block.skeleton-field-shell__value{display:block;width:100%}.skeleton-field-shell__lines{display:flex;flex-direction:column;justify-content:center;gap:.45rem;flex:1 1 auto;align-self:stretch;min-width:0;width:100%}.skeleton-field-shell--textarea{align-items:flex-start;padding-top:.55rem;padding-bottom:.45rem}\n"], dependencies: [{ kind: "component", type: SkeletonBlockComponent, selector: "app-skeleton-block", inputs: ["width", "height", "radius", "animate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
686
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SkeletonFieldShellComponent, isStandalone: true, selector: "app-skeleton-field-shell", inputs: { variant: "variant", animate: ["animate", "animate", booleanAttribute], showLeadingIcon: ["showLeadingIcon", "showLeadingIcon", booleanAttribute] }, ngImport: i0, template: "<div\r\n class=\"skeleton-field-shell\"\r\n [class.skeleton-field-shell--bar-only]=\"!showLeadingIcon\"\r\n [class.skeleton-field-shell--textarea]=\"variant === 'textarea'\"\r\n aria-hidden=\"true\"\r\n>\r\n @if (showLeadingIcon) {\r\n <app-skeleton-block class=\"skeleton-field-shell__prefix\" width=\"1.35em\" height=\"1.35em\" radius=\"8px\"\r\n [animate]=\"animate\" />\r\n }\r\n @if (variant === 'textarea') {\r\n <div class=\"skeleton-field-shell__lines\">\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"72%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"92%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"58%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n </div>\r\n } @else {\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"72%\" height=\"1.35em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.skeleton-field-shell{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:.35rem;width:100%;min-width:0;min-height:calc(1.8rem + 1.35em);margin:0;padding:0 .75rem;box-sizing:border-box}.skeleton-field-shell:not(.skeleton-field-shell--textarea){align-items:center}.skeleton-field-shell--bar-only{gap:0}.skeleton-field-shell__prefix{flex:0 0 auto}.skeleton-field-shell__value{flex:1 1 auto;min-width:0}.skeleton-field-shell app-skeleton-block.skeleton-field-shell__value{display:block;width:100%}.skeleton-field-shell__lines{display:flex;flex-direction:column;justify-content:center;gap:.45rem;flex:1 1 auto;align-self:stretch;min-width:0;width:100%}.skeleton-field-shell--textarea{align-items:flex-start;min-height:calc(1.8rem + 4.05em);padding-top:1.35rem;padding-bottom:.45rem}\n"], dependencies: [{ kind: "component", type: SkeletonBlockComponent, selector: "app-skeleton-block", inputs: ["width", "height", "radius", "animate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
687
687
  }
688
688
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SkeletonFieldShellComponent, decorators: [{
689
689
  type: Component,
690
- args: [{ selector: 'app-skeleton-field-shell', imports: [SkeletonBlockComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"skeleton-field-shell\"\r\n [class.skeleton-field-shell--bar-only]=\"!showLeadingIcon\"\r\n [class.skeleton-field-shell--textarea]=\"variant === 'textarea'\"\r\n aria-hidden=\"true\"\r\n>\r\n @if (showLeadingIcon) {\r\n <app-skeleton-block class=\"skeleton-field-shell__prefix\" width=\"1.35em\" height=\"1.35em\" radius=\"8px\"\r\n [animate]=\"animate\" />\r\n }\r\n @if (variant === 'textarea') {\r\n <div class=\"skeleton-field-shell__lines\">\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"72%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"92%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"58%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n </div>\r\n } @else {\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"72%\" height=\"1.35em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0}.skeleton-field-shell{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.35rem;width:100%;min-width:0;min-height:calc(1.8rem + 1.35em);margin:0;padding:0 .75rem;box-sizing:border-box}.skeleton-field-shell--bar-only{gap:0}.skeleton-field-shell__prefix{flex:0 0 auto}.skeleton-field-shell__value{flex:1 1 auto;min-width:0}.skeleton-field-shell app-skeleton-block.skeleton-field-shell__value{display:block;width:100%}.skeleton-field-shell__lines{display:flex;flex-direction:column;justify-content:center;gap:.45rem;flex:1 1 auto;align-self:stretch;min-width:0;width:100%}.skeleton-field-shell--textarea{align-items:flex-start;padding-top:.55rem;padding-bottom:.45rem}\n"] }]
690
+ args: [{ selector: 'app-skeleton-field-shell', imports: [SkeletonBlockComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"skeleton-field-shell\"\r\n [class.skeleton-field-shell--bar-only]=\"!showLeadingIcon\"\r\n [class.skeleton-field-shell--textarea]=\"variant === 'textarea'\"\r\n aria-hidden=\"true\"\r\n>\r\n @if (showLeadingIcon) {\r\n <app-skeleton-block class=\"skeleton-field-shell__prefix\" width=\"1.35em\" height=\"1.35em\" radius=\"8px\"\r\n [animate]=\"animate\" />\r\n }\r\n @if (variant === 'textarea') {\r\n <div class=\"skeleton-field-shell__lines\">\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"72%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"92%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"58%\" height=\"1.05em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n </div>\r\n } @else {\r\n <app-skeleton-block class=\"skeleton-field-shell__value\" width=\"72%\" height=\"1.35em\" radius=\"6px\"\r\n [animate]=\"animate\" />\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.skeleton-field-shell{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:.35rem;width:100%;min-width:0;min-height:calc(1.8rem + 1.35em);margin:0;padding:0 .75rem;box-sizing:border-box}.skeleton-field-shell:not(.skeleton-field-shell--textarea){align-items:center}.skeleton-field-shell--bar-only{gap:0}.skeleton-field-shell__prefix{flex:0 0 auto}.skeleton-field-shell__value{flex:1 1 auto;min-width:0}.skeleton-field-shell app-skeleton-block.skeleton-field-shell__value{display:block;width:100%}.skeleton-field-shell__lines{display:flex;flex-direction:column;justify-content:center;gap:.45rem;flex:1 1 auto;align-self:stretch;min-width:0;width:100%}.skeleton-field-shell--textarea{align-items:flex-start;min-height:calc(1.8rem + 4.05em);padding-top:1.35rem;padding-bottom:.45rem}\n"] }]
691
691
  }], propDecorators: { variant: [{
692
692
  type: Input
693
693
  }], animate: [{
@@ -1695,11 +1695,11 @@ class BaseFieldComponent {
1695
1695
  this.contextMenuSelect.emit(id);
1696
1696
  }
1697
1697
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1698
- 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", invalidThemed: ["invalidThemed", "invalidThemed", booleanAttribute], 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\"\n [class.base-field--invalid-themed]=\"invalid && invalidThemed\" [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\">&times;</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);overflow:hidden;background:var(--field-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):not(:focus-within):hover .base-field__box{border-color:var(--ui-field-float-border-hover);box-shadow:none}.base-field--readonly:not(.base-field--disabled):not(.base-field--invalid):not(:focus-within):hover .base-field__box{border-color:var(--ui-field-readonly-border-hover);box-shadow:none}.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:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--field-background, var(--ui-field-float-bg))}.base-field--readonly.base-field--invalid:not(.base-field--disabled):not(.base-field--invalid-themed) .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--ui-field-readonly-bg)}.base-field--invalid.base-field--invalid-themed .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;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:grid;grid-auto-flow:column;grid-auto-columns:auto;column-gap:.125rem;align-content:center;justify-content:end;justify-items:center;flex-shrink:0;padding-right:.4rem;padding-left:.1rem;min-height:0;align-self:stretch}.base-field__ctx-dropdown{display:inline-flex;flex-shrink:0;align-items:center;max-width:100%}.base-field__ctx-trigger{display:inline-grid;place-items: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:inline-grid;place-items:center;width:2rem;height:2rem;min-width:2rem;min-height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;line-height:0;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{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:1.2rem;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:var(--field-float-label-rest-weight, var(--structra-body-weight));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:var(--field-label-weight, var(--structra-label-weight));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;font-weight:var(--field-helper-weight, var(--structra-body-weight));color:var(--ui-field-error-text-color);user-select:none;-webkit-user-select:none}@supports (-webkit-appearance: none){.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;transition:background-color 50000s ease 0s!important}.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;transition:background-color 50000s ease 0s!important}.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-readonly-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;transition:background-color 50000s ease 0s!important}}.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;background-color:var(--field-background, var(--ui-field-float-bg))!important;transition:background-color 50000s ease 0s!important}.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;background-color:var(--ui-field-invalid-input-bg, #fef2f2)!important;transition:background-color 50000s ease 0s!important}.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-readonly-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;background-color:var(--ui-field-readonly-bg)!important;transition:background-color 50000s ease 0s!important}\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 }); }
1698
+ 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", invalidThemed: ["invalidThemed", "invalidThemed", booleanAttribute], 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\"\n [class.base-field--invalid-themed]=\"invalid && invalidThemed\" [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 [class.base-field__control--textarea-skeleton]=\"loading && skeletonVariant === 'textarea'\">\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\">&times;</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:flex-start}.base-field--loading .base-field__control{display:block;width:100%;min-width:0;min-height:calc(1.8rem + 1.35em)}.base-field--loading .base-field__control--textarea-skeleton{min-height:calc(1.8rem + 4.05em)}.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);overflow:hidden;background:var(--field-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):not(:focus-within):hover .base-field__box{border-color:var(--ui-field-float-border-hover);box-shadow:none}.base-field--readonly:not(.base-field--disabled):not(.base-field--invalid):not(:focus-within):hover .base-field__box{border-color:var(--ui-field-readonly-border-hover);box-shadow:none}.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:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--field-background, var(--ui-field-float-bg))}.base-field--readonly.base-field--invalid:not(.base-field--disabled):not(.base-field--invalid-themed) .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--ui-field-readonly-bg)}.base-field--invalid.base-field--invalid-themed .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;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:grid;grid-auto-flow:column;grid-auto-columns:auto;column-gap:.125rem;align-content:center;justify-content:end;justify-items:center;flex-shrink:0;padding-right:.4rem;padding-left:.1rem;min-height:0;align-self:stretch}.base-field__ctx-dropdown{display:inline-flex;flex-shrink:0;align-items:center;max-width:100%}.base-field__ctx-trigger{display:inline-grid;place-items: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:inline-grid;place-items:center;width:2rem;height:2rem;min-width:2rem;min-height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;line-height:0;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{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:1.2rem;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:var(--field-float-label-rest-weight, var(--structra-body-weight));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:var(--field-label-weight, var(--structra-label-weight));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;font-weight:var(--field-helper-weight, var(--structra-body-weight));color:var(--ui-field-error-text-color);user-select:none;-webkit-user-select:none}@supports (-webkit-appearance: none){.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;transition:background-color 50000s ease 0s!important}.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;transition:background-color 50000s ease 0s!important}.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-readonly-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;transition:background-color 50000s ease 0s!important}}.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;background-color:var(--field-background, var(--ui-field-float-bg))!important;transition:background-color 50000s ease 0s!important}.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;background-color:var(--ui-field-invalid-input-bg, #fef2f2)!important;transition:background-color 50000s ease 0s!important}.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-readonly-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;background-color:var(--ui-field-readonly-bg)!important;transition:background-color 50000s ease 0s!important}\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 }); }
1699
1699
  }
1700
1700
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseFieldComponent, decorators: [{
1701
1701
  type: Component,
1702
- args: [{ selector: 'app-base-field', imports: [SkeletonFieldShellComponent, DropdownMenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"base-field\" [class.base-field--invalid]=\"invalid\"\n [class.base-field--invalid-themed]=\"invalid && invalidThemed\" [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\">&times;</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);overflow:hidden;background:var(--field-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):not(:focus-within):hover .base-field__box{border-color:var(--ui-field-float-border-hover);box-shadow:none}.base-field--readonly:not(.base-field--disabled):not(.base-field--invalid):not(:focus-within):hover .base-field__box{border-color:var(--ui-field-readonly-border-hover);box-shadow:none}.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:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--field-background, var(--ui-field-float-bg))}.base-field--readonly.base-field--invalid:not(.base-field--disabled):not(.base-field--invalid-themed) .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--ui-field-readonly-bg)}.base-field--invalid.base-field--invalid-themed .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;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:grid;grid-auto-flow:column;grid-auto-columns:auto;column-gap:.125rem;align-content:center;justify-content:end;justify-items:center;flex-shrink:0;padding-right:.4rem;padding-left:.1rem;min-height:0;align-self:stretch}.base-field__ctx-dropdown{display:inline-flex;flex-shrink:0;align-items:center;max-width:100%}.base-field__ctx-trigger{display:inline-grid;place-items: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:inline-grid;place-items:center;width:2rem;height:2rem;min-width:2rem;min-height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;line-height:0;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{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:1.2rem;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:var(--field-float-label-rest-weight, var(--structra-body-weight));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:var(--field-label-weight, var(--structra-label-weight));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;font-weight:var(--field-helper-weight, var(--structra-body-weight));color:var(--ui-field-error-text-color);user-select:none;-webkit-user-select:none}@supports (-webkit-appearance: none){.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;transition:background-color 50000s ease 0s!important}.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;transition:background-color 50000s ease 0s!important}.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-readonly-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;transition:background-color 50000s ease 0s!important}}.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;background-color:var(--field-background, var(--ui-field-float-bg))!important;transition:background-color 50000s ease 0s!important}.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;background-color:var(--ui-field-invalid-input-bg, #fef2f2)!important;transition:background-color 50000s ease 0s!important}.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-readonly-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;background-color:var(--ui-field-readonly-bg)!important;transition:background-color 50000s ease 0s!important}\n"] }]
1702
+ args: [{ selector: 'app-base-field', imports: [SkeletonFieldShellComponent, DropdownMenuComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"base-field\" [class.base-field--invalid]=\"invalid\"\n [class.base-field--invalid-themed]=\"invalid && invalidThemed\" [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 [class.base-field__control--textarea-skeleton]=\"loading && skeletonVariant === 'textarea'\">\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\">&times;</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:flex-start}.base-field--loading .base-field__control{display:block;width:100%;min-width:0;min-height:calc(1.8rem + 1.35em)}.base-field--loading .base-field__control--textarea-skeleton{min-height:calc(1.8rem + 4.05em)}.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);overflow:hidden;background:var(--field-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):not(:focus-within):hover .base-field__box{border-color:var(--ui-field-float-border-hover);box-shadow:none}.base-field--readonly:not(.base-field--disabled):not(.base-field--invalid):not(:focus-within):hover .base-field__box{border-color:var(--ui-field-readonly-border-hover);box-shadow:none}.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:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--field-background, var(--ui-field-float-bg))}.base-field--readonly.base-field--invalid:not(.base-field--disabled):not(.base-field--invalid-themed) .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;background:var(--ui-field-readonly-bg)}.base-field--invalid.base-field--invalid-themed .base-field__box{border-color:var(--ui-field-input-invalid-border);box-shadow:none;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:grid;grid-auto-flow:column;grid-auto-columns:auto;column-gap:.125rem;align-content:center;justify-content:end;justify-items:center;flex-shrink:0;padding-right:.4rem;padding-left:.1rem;min-height:0;align-self:stretch}.base-field__ctx-dropdown{display:inline-flex;flex-shrink:0;align-items:center;max-width:100%}.base-field__ctx-trigger{display:inline-grid;place-items: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:inline-grid;place-items:center;width:2rem;height:2rem;min-width:2rem;min-height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;line-height:0;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{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:1.2rem;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:var(--field-float-label-rest-weight, var(--structra-body-weight));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:var(--field-label-weight, var(--structra-label-weight));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;font-weight:var(--field-helper-weight, var(--structra-body-weight));color:var(--ui-field-error-text-color);user-select:none;-webkit-user-select:none}@supports (-webkit-appearance: none){.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;transition:background-color 50000s ease 0s!important}.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;transition:background-color 50000s ease 0s!important}.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:hover,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:active,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):-webkit-autofill:focus-visible{-webkit-text-fill-color:var(--ui-field-readonly-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;transition:background-color 50000s ease 0s!important}}.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--invalid:not(.base-field--invalid-themed):not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;box-shadow:0 0 0 1000px var(--field-background, var(--ui-field-float-bg)) inset!important;background-color:var(--field-background, var(--ui-field-float-bg))!important;transition:background-color 50000s ease 0s!important}.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--invalid.base-field--invalid-themed:not(.base-field--readonly) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-float-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;box-shadow:0 0 0 1000px var(--ui-field-invalid-input-bg, #fef2f2) inset!important;background-color:var(--ui-field-invalid-input-bg, #fef2f2)!important;transition:background-color 50000s ease 0s!important}.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill:hover,.base-field--readonly:not(.base-field--disabled) .base-field__control ::ng-deep :where(input,textarea):autofill:focus{-webkit-text-fill-color:var(--ui-field-readonly-input-text)!important;-webkit-box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;box-shadow:0 0 0 1000px var(--ui-field-readonly-bg) inset!important;background-color:var(--ui-field-readonly-bg)!important;transition:background-color 50000s ease 0s!important}\n"] }]
1703
1703
  }], propDecorators: { label: [{
1704
1704
  type: Input
1705
1705
  }], errorMessage: [{