structra-ui 0.2.99 → 0.3.0

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.
@@ -12194,11 +12194,11 @@ class FormGroupComponent {
12194
12194
  this.prevRootFormSubmitted = submitted;
12195
12195
  }
12196
12196
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12197
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormGroupComponent, isStandalone: true, selector: "app-form-group", inputs: { titulo: "titulo", subtitulo: "subtitulo", collapsible: ["collapsible", "collapsible", booleanAttribute], foldable: ["foldable", "foldable", booleanAttribute], collapsed: ["collapsed", "collapsed", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], readOnly: ["readonly", "readOnly", booleanAttribute], dense: ["dense", "dense", booleanAttribute], canMoveUp: ["canMoveUp", "canMoveUp", booleanAttribute], canMoveDown: ["canMoveDown", "canMoveDown", booleanAttribute], showHeader: ["showHeader", "showHeader", booleanAttribute], showChevron: ["showChevron", "showChevron", booleanAttribute], showDivider: ["showDivider", "showDivider", booleanAttribute], variant: "variant", destroyOnCollapse: ["destroyOnCollapse", "destroyOnCollapse", booleanAttribute], skipBodyChildStacking: ["skipBodyChildStacking", "skipBodyChildStacking", booleanAttribute], groupInvalid: ["groupInvalid", "groupInvalid", booleanAttribute], formGroupPath: "formGroupPath", uxSubmittedPass: ["uxSubmittedPass", "uxSubmittedPass", booleanAttribute], size: "size", tamanhoCampoMobile: ["tamanhoCampoMobile", "tamanhoCampoMobile", booleanAttribute] }, outputs: { collapsedChange: "collapsedChange", moveUp: "moveUp", moveDown: "moveDown" }, host: { properties: { "class": "this.hostClass" } }, usesOnChanges: true, ngImport: i0, template: "@if (showHeaderBar) {\n <div\n class=\"form-group__header\"\n [class.form-group__header--single-line]=\"!subtitulo.trim()\"\n [class.form-group__header--interactive]=\"headerIsInteractive\"\n [attr.role]=\"headerIsInteractive ? 'button' : null\"\n [attr.tabindex]=\"headerIsInteractive ? 0 : null\"\n [attr.aria-expanded]=\"headerIsInteractive ? !isCollapsed : null\"\n [attr.aria-disabled]=\"disabled ? true : null\"\n (click)=\"onHeaderClick()\"\n (keydown)=\"onHeaderKeydown($event)\"\n >\n <div\n class=\"form-group__header-main\"\n [class.form-group__header-main--single-line]=\"!subtitulo.trim()\"\n >\n @if (showChevron) {\n <span\n class=\"form-group__chevron\"\n [class.form-group__chevron--locked]=\"!collapsible || !foldable\"\n aria-hidden=\"true\"\n >\n @if (collapsible && foldable && isCollapsed) {\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 320 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n } @else {\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"\n />\n </svg>\n }\n </span>\n }\n <div class=\"form-group__titles\">\n @if (titulo.trim()) {\n <h3 class=\"form-group__title\">{{ titulo }}</h3>\n }\n @if (subtitulo.trim()) {\n <p class=\"form-group__subtitle\">{{ subtitulo }}</p>\n }\n </div>\n </div>\n <div class=\"form-group__header-trailing\">\n <span\n class=\"form-group__invalid-flag\"\n [class.form-group__invalid-flag--visible]=\"invalidFlagVisible\"\n [attr.role]=\"invalidFlagVisible ? 'img' : null\"\n [attr.aria-label]=\"invalidFlagVisible ? 'Existem erros de valida\u00E7\u00E3o neste grupo' : null\"\n [attr.aria-hidden]=\"invalidFlagVisible ? null : 'true'\"\n [attr.title]=\"invalidFlagVisible ? 'Existem erros de valida\u00E7\u00E3o neste grupo' : null\"\n >\n <svg class=\"form-group__icon-svg form-group__icon-svg--warning\" viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"\n />\n </svg>\n </span>\n @if (canMoveUp || canMoveDown) {\n <div class=\"form-group__reorder\" (click)=\"$event.stopPropagation()\">\n @if (canMoveUp) {\n <button\n type=\"button\"\n class=\"form-group__reorder-btn\"\n [disabled]=\"disabled\"\n aria-label=\"Mover grupo para cima\"\n (click)=\"onMoveUpClick($event)\"\n >\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 384 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z\"\n />\n </svg>\n </button>\n }\n @if (canMoveDown) {\n <button\n type=\"button\"\n class=\"form-group__reorder-btn\"\n [disabled]=\"disabled\"\n aria-label=\"Mover grupo para baixo\"\n (click)=\"onMoveDownClick($event)\"\n >\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 384 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </button>\n }\n </div>\n }\n </div>\n </div>\n}\n\n@if (renderBodyInDom) {\n <div\n class=\"form-group__body\"\n [class.form-group__body--collapsed-hidden]=\"bodyVisuallyHidden\"\n [attr.inert]=\"bodyVisuallyHidden ? '' : null\"\n >\n <div\n class=\"form-group__body-stack\"\n [class.form-group__body-stack--neutral]=\"skipBodyChildStacking\"\n >\n <ng-content />\n </div>\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box;margin:0;scroll-margin-top:1.25rem;scroll-margin-bottom:.5rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle){border:1px solid #e8eaed;border-color:var(--app-color-border, #e8eaed);border-radius:12px;background:var(--app-color-elevated-surface, var(--app-color-surface));padding:0;overflow:hidden;transition:box-shadow .28s ease}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible.form-group--collapsed{border-color:#e4e6ea;border-color:var(--app-color-border, #e4e6ea);box-shadow:none}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded{border-color:#e8eaed;box-shadow:0 1px 2px #1628480d,0 4px 18px #0f172a0a}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle) .form-group__header{margin:0;padding:.55rem .2rem;border-radius:0}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle) .form-group__header.form-group__header--single-line{padding:.65rem .2rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header{margin-bottom:0;padding-bottom:.55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{margin-bottom:0;padding:.65rem .2rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible:not(.form-group--dense) .form-group__header{margin-bottom:0;padding:.55rem .2rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible:not(.form-group--dense) .form-group__header.form-group__header--single-line{padding:.65rem .2rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded .form-group__body{padding:.55rem .2rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header{margin-bottom:0;padding-bottom:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{margin-bottom:0;padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible .form-group__header{margin-bottom:0;padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded .form-group__body{padding:.4rem}.form-group__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 0 1rem;padding:.35rem 0;border-radius:8px;outline:none}.form-group__header,.form-group__header *{user-select:none;-webkit-user-select:none;-moz-user-select:none}.form-group__header--interactive{cursor:pointer}.form-group__header--interactive:hover:not([aria-disabled=true]){background:var(--app-color-group-header-hover, rgba(43, 127, 217, .06))}.form-group__header--interactive:focus-visible{box-shadow:0 0 0 2px var(--app-color-focus-ring, rgba(43, 127, 217, .25))}.form-group__header--single-line{align-items:center}.form-group__header-main{display:flex;align-items:flex-start;gap:.5rem;min-width:0;flex:1}.form-group__header-main--single-line{align-items:center}.form-group__header-main--single-line .form-group__title{margin-bottom:0}.form-group__header-main--single-line .form-group__chevron{margin-top:0}.form-group__chevron{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-top:.1rem;flex-shrink:0;color:var(--ui-field-float-prefix-color, #9ca3af);font-size:.75rem}.form-group__icon-svg{display:block;width:1em;height:1em;flex-shrink:0}.form-group__icon-svg--warning{width:1.05em;height:1.05em}.form-group__chevron--locked{color:var(--ui-form-group-chevron-locked, #9aa3ad)}.form-group__titles{min-width:0;flex:1}.form-group__header--single-line .form-group__titles{display:flex;align-items:center}.form-group__title{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}.form-group__subtitle{margin:0;font-size:.85rem;line-height:1.4;color:var(--app-color-text-muted, #525252)}.form-group__header-trailing{display:flex;flex-shrink:0;align-items:flex-start;gap:.35rem}.form-group__header--single-line .form-group__header-trailing{align-items:center}.form-group__header--single-line .form-group__invalid-flag{margin-top:0}.form-group__invalid-flag{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-top:.1rem;font-size:1.05rem;line-height:1;color:var(--app-color-error, #c62828);cursor:inherit;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.92);transition:opacity .22s ease,visibility .22s ease,transform .22s ease}.form-group__invalid-flag--visible{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}.form-group__reorder{display:flex;flex-shrink:0;gap:.25rem;align-items:center}.form-group__reorder-btn{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, #9ca3af);cursor:pointer;transition:background .15s ease,color .15s ease}.form-group__reorder-btn:hover:not(:disabled){background:var(--app-color-hover-bg-strong, rgba(90, 127, 163, .12));color:var(--ui-field-float-label-top-color, #4a6d8c)}.form-group__reorder-btn:disabled{cursor:not-allowed;opacity:.45}.form-group__body{display:flex;flex-direction:column;gap:1.1rem;min-width:0}:host.form-group--collapsible .form-group__body{display:grid;grid-template-rows:1fr;gap:0;overflow:visible;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1),padding .28s cubic-bezier(.22,1,.36,1)}:host.form-group--collapsible:not(.form-group--dense) .form-group__body .form-group__body-stack{gap:1.1rem}:host.form-group--dense.form-group--collapsible .form-group__body .form-group__body-stack{gap:.4rem}:host.form-group--collapsible .form-group__body .form-group__body-stack{min-height:0;overflow:visible}:host.form-group--collapsible.form-group--collapsed .form-group__body{padding:0}:host.form-group--collapsible .form-group__body.form-group__body--collapsed-hidden{display:grid;grid-template-rows:0fr;min-height:0;overflow:hidden;padding:0!important}:host.form-group--collapsible .form-group__body.form-group__body--collapsed-hidden .form-group__body-stack{min-height:0;overflow:hidden}@media(prefers-reduced-motion:reduce){:host.form-group--collapsible .form-group__body{transition:none}}.form-group__body-stack{display:flex;flex-direction:column;gap:inherit;min-width:0;width:100%}.form-group__body-stack--neutral{display:block;gap:unset}:host ::ng-deep .form-group__body-stack:not(.form-group__body-stack--neutral)>*:not(app-form-group){display:flex;flex-direction:column;gap:inherit;min-width:0}:host ::ng-deep .form-group__body-stack:not(.form-group__body-stack--neutral)>app-form-group{display:block;width:100%;min-width:0;box-sizing:border-box}.form-group__body--collapsed-hidden{display:none}:host.form-group--dense .form-group__header{margin-bottom:.65rem;padding-block:.2rem}:host.form-group--dense .form-group__title{font-size:1rem}:host.form-group--dense .form-group__body{gap:.4rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded .form-group__body{padding:.4rem .2rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header{padding:.45rem .2rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.5rem .2rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header{padding:.55rem .2rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{padding:.65rem .2rem}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header{padding:.55rem 0}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.65rem 0}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header{padding:.55rem 0}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{padding:.65rem 0}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded .form-group__body{padding:.55rem 0}:host.form-group--disabled{opacity:.72;pointer-events:none}:host.form-group--disabled .form-group__reorder{pointer-events:none}:host.form-group--outlined{padding:1rem 1rem 1.25rem;border:1px solid var(--ui-field-float-border, #b6cce5);border-radius:var(--ui-field-float-border-radius, 14px);background:var(--app-color-elevated-surface, var(--app-color-surface))}:host.form-group--subtle{padding:.55rem .4rem;border-radius:10px;background:var(--app-color-elevated-surface, var(--app-color-surface))}:host.form-group--subtle:not(.form-group--collapsible) .form-group__header{margin:0 0 .55rem;padding:0}:host.form-group--subtle:not(.form-group--collapsible).form-group--expanded .form-group__body{padding:0}:host.form-group--subtle:not(.form-group--collapsible) .form-group__title{font-size:1.05rem;font-weight:600}:host.form-group--divider:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--default) .form-group__header{border-bottom:1px solid var(--app-color-border, #e5e5e5);padding-bottom:.65rem;margin-bottom:1rem}:host.form-group--typography-sm .form-group__title{font-size:.95rem}:host.form-group--typography-sm .form-group__subtitle{font-size:.78rem}:host.form-group--typography-sm .form-group__chevron{width:1.35rem;height:1.35rem;font-size:.68rem}:host.form-group--dense.form-group--typography-sm .form-group__title{font-size:.92rem}:host.form-group--typography-lg .form-group__title{font-size:1.12rem}:host.form-group--typography-lg .form-group__subtitle{font-size:.9rem}:host.form-group--dense.form-group--typography-lg .form-group__title{font-size:1.08rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12197
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormGroupComponent, isStandalone: true, selector: "app-form-group", inputs: { titulo: "titulo", subtitulo: "subtitulo", collapsible: ["collapsible", "collapsible", booleanAttribute], foldable: ["foldable", "foldable", booleanAttribute], collapsed: ["collapsed", "collapsed", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], readOnly: ["readonly", "readOnly", booleanAttribute], dense: ["dense", "dense", booleanAttribute], canMoveUp: ["canMoveUp", "canMoveUp", booleanAttribute], canMoveDown: ["canMoveDown", "canMoveDown", booleanAttribute], showHeader: ["showHeader", "showHeader", booleanAttribute], showChevron: ["showChevron", "showChevron", booleanAttribute], showDivider: ["showDivider", "showDivider", booleanAttribute], variant: "variant", destroyOnCollapse: ["destroyOnCollapse", "destroyOnCollapse", booleanAttribute], skipBodyChildStacking: ["skipBodyChildStacking", "skipBodyChildStacking", booleanAttribute], groupInvalid: ["groupInvalid", "groupInvalid", booleanAttribute], formGroupPath: "formGroupPath", uxSubmittedPass: ["uxSubmittedPass", "uxSubmittedPass", booleanAttribute], size: "size", tamanhoCampoMobile: ["tamanhoCampoMobile", "tamanhoCampoMobile", booleanAttribute] }, outputs: { collapsedChange: "collapsedChange", moveUp: "moveUp", moveDown: "moveDown" }, host: { properties: { "class": "this.hostClass" } }, usesOnChanges: true, ngImport: i0, template: "@if (showHeaderBar) {\n <div\n class=\"form-group__header\"\n [class.form-group__header--single-line]=\"!subtitulo.trim()\"\n [class.form-group__header--interactive]=\"headerIsInteractive\"\n [attr.role]=\"headerIsInteractive ? 'button' : null\"\n [attr.tabindex]=\"headerIsInteractive ? 0 : null\"\n [attr.aria-expanded]=\"headerIsInteractive ? !isCollapsed : null\"\n [attr.aria-disabled]=\"disabled ? true : null\"\n (click)=\"onHeaderClick()\"\n (keydown)=\"onHeaderKeydown($event)\"\n >\n <div\n class=\"form-group__header-main\"\n [class.form-group__header-main--single-line]=\"!subtitulo.trim()\"\n >\n @if (showChevron) {\n <span\n class=\"form-group__chevron\"\n [class.form-group__chevron--locked]=\"!collapsible || !foldable\"\n aria-hidden=\"true\"\n >\n @if (collapsible && foldable && isCollapsed) {\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 320 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n } @else {\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"\n />\n </svg>\n }\n </span>\n }\n <div class=\"form-group__titles\">\n @if (titulo.trim()) {\n <h3 class=\"form-group__title\">{{ titulo }}</h3>\n }\n @if (subtitulo.trim()) {\n <p class=\"form-group__subtitle\">{{ subtitulo }}</p>\n }\n </div>\n </div>\n <div class=\"form-group__header-trailing\">\n <span\n class=\"form-group__invalid-flag\"\n [class.form-group__invalid-flag--visible]=\"invalidFlagVisible\"\n [attr.role]=\"invalidFlagVisible ? 'img' : null\"\n [attr.aria-label]=\"invalidFlagVisible ? 'Existem erros de valida\u00E7\u00E3o neste grupo' : null\"\n [attr.aria-hidden]=\"invalidFlagVisible ? null : 'true'\"\n [attr.title]=\"invalidFlagVisible ? 'Existem erros de valida\u00E7\u00E3o neste grupo' : null\"\n >\n <svg class=\"form-group__icon-svg form-group__icon-svg--warning\" viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"\n />\n </svg>\n </span>\n @if (canMoveUp || canMoveDown) {\n <div class=\"form-group__reorder\" (click)=\"$event.stopPropagation()\">\n @if (canMoveUp) {\n <button\n type=\"button\"\n class=\"form-group__reorder-btn\"\n [disabled]=\"disabled\"\n aria-label=\"Mover grupo para cima\"\n (click)=\"onMoveUpClick($event)\"\n >\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 384 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z\"\n />\n </svg>\n </button>\n }\n @if (canMoveDown) {\n <button\n type=\"button\"\n class=\"form-group__reorder-btn\"\n [disabled]=\"disabled\"\n aria-label=\"Mover grupo para baixo\"\n (click)=\"onMoveDownClick($event)\"\n >\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 384 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </button>\n }\n </div>\n }\n </div>\n </div>\n}\n\n@if (renderBodyInDom) {\n <div\n class=\"form-group__body\"\n [class.form-group__body--collapsed-hidden]=\"bodyVisuallyHidden\"\n [attr.inert]=\"bodyVisuallyHidden ? '' : null\"\n >\n <div\n class=\"form-group__body-stack\"\n [class.form-group__body-stack--neutral]=\"skipBodyChildStacking\"\n >\n <ng-content />\n </div>\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box;margin:0;scroll-margin-top:1.25rem;scroll-margin-bottom:.5rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle){border:1px solid #e8eaed;border-color:var(--app-color-border, #e8eaed);border-radius:12px;background:var(--app-color-elevated-surface, var(--app-color-surface));padding:0;overflow:hidden;transition:box-shadow .28s ease}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible.form-group--collapsed{border-color:#e4e6ea;border-color:var(--app-color-border, #e4e6ea);box-shadow:none}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded{border-color:#e8eaed;box-shadow:0 1px 2px #1628480d,0 4px 18px #0f172a0a}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle) .form-group__header{margin:0;padding:.55rem;border-radius:0}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle) .form-group__header.form-group__header--single-line{padding:.65rem .55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header{margin-bottom:0;padding-bottom:.55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{margin-bottom:0;padding:.65rem .55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible:not(.form-group--dense) .form-group__header{margin-bottom:0;padding:.55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible:not(.form-group--dense) .form-group__header.form-group__header--single-line{padding:.65rem .55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded .form-group__body{padding:.55rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header{margin-bottom:0;padding-bottom:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{margin-bottom:0;padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible .form-group__header{margin-bottom:0;padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded .form-group__body{padding:.4rem}.form-group__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 0 1rem;padding:.35rem 0;border-radius:8px;outline:none}.form-group__header,.form-group__header *{user-select:none;-webkit-user-select:none;-moz-user-select:none}.form-group__header--interactive{cursor:pointer}.form-group__header--interactive:hover:not([aria-disabled=true]){background:var(--app-color-group-header-hover, rgba(43, 127, 217, .06))}.form-group__header--interactive:focus-visible{box-shadow:0 0 0 2px var(--app-color-focus-ring, rgba(43, 127, 217, .25))}.form-group__header--single-line{align-items:center}.form-group__header-main{display:flex;align-items:flex-start;gap:.5rem;min-width:0;flex:1}.form-group__header-main--single-line{align-items:center}.form-group__header-main--single-line .form-group__title{margin-bottom:0}.form-group__header-main--single-line .form-group__chevron{margin-top:0}.form-group__chevron{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-top:.1rem;flex-shrink:0;color:var(--ui-field-float-prefix-color, #9ca3af);font-size:.75rem}.form-group__icon-svg{display:block;width:1em;height:1em;flex-shrink:0}.form-group__icon-svg--warning{width:1.05em;height:1.05em}.form-group__chevron--locked{color:var(--ui-form-group-chevron-locked, #9aa3ad)}.form-group__titles{min-width:0;flex:1}.form-group__header--single-line .form-group__titles{display:flex;align-items:center}.form-group__title{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}.form-group__subtitle{margin:0;font-size:.85rem;line-height:1.4;color:var(--app-color-text-muted, #525252)}.form-group__header-trailing{display:flex;flex-shrink:0;align-items:flex-start;gap:.35rem}.form-group__header--single-line .form-group__header-trailing{align-items:center}.form-group__header--single-line .form-group__invalid-flag{margin-top:0}.form-group__invalid-flag{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-top:.1rem;font-size:1.05rem;line-height:1;color:var(--app-color-error, #c62828);cursor:inherit;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.92);transition:opacity .22s ease,visibility .22s ease,transform .22s ease}.form-group__invalid-flag--visible{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}.form-group__reorder{display:flex;flex-shrink:0;gap:.25rem;align-items:center}.form-group__reorder-btn{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, #9ca3af);cursor:pointer;transition:background .15s ease,color .15s ease}.form-group__reorder-btn:hover:not(:disabled){background:var(--app-color-hover-bg-strong, rgba(90, 127, 163, .12));color:var(--ui-field-float-label-top-color, #4a6d8c)}.form-group__reorder-btn:disabled{cursor:not-allowed;opacity:.45}.form-group__body{display:flex;flex-direction:column;gap:1.1rem;min-width:0}:host.form-group--collapsible .form-group__body{display:grid;grid-template-rows:1fr;gap:0;overflow:visible;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1),padding .28s cubic-bezier(.22,1,.36,1)}:host.form-group--collapsible:not(.form-group--dense) .form-group__body .form-group__body-stack{gap:1.1rem}:host.form-group--dense.form-group--collapsible .form-group__body .form-group__body-stack{gap:.4rem}:host.form-group--collapsible .form-group__body .form-group__body-stack{min-height:0;overflow:visible}:host.form-group--collapsible.form-group--collapsed .form-group__body{padding:0}:host.form-group--collapsible .form-group__body.form-group__body--collapsed-hidden{display:grid;grid-template-rows:0fr;min-height:0;overflow:hidden;padding:0!important}:host.form-group--collapsible .form-group__body.form-group__body--collapsed-hidden .form-group__body-stack{min-height:0;overflow:hidden}@media(prefers-reduced-motion:reduce){:host.form-group--collapsible .form-group__body{transition:none}}.form-group__body-stack{display:flex;flex-direction:column;gap:inherit;min-width:0;width:100%}.form-group__body-stack--neutral{display:block;gap:unset}:host ::ng-deep .form-group__body-stack:not(.form-group__body-stack--neutral)>*:not(app-form-group){display:flex;flex-direction:column;gap:inherit;min-width:0}:host ::ng-deep .form-group__body-stack:not(.form-group__body-stack--neutral)>app-form-group{display:block;width:100%;min-width:0;box-sizing:border-box}.form-group__body--collapsed-hidden{display:none}:host.form-group--dense .form-group__header{margin-bottom:.65rem;padding-block:.2rem}:host.form-group--dense .form-group__title{font-size:1rem}:host.form-group--dense .form-group__body{gap:.4rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded .form-group__body{padding:.4rem .55rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header{padding:.45rem .55rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.5rem .55rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header{padding:.55rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{padding:.65rem .55rem}:host.form-group--disabled{opacity:.72;pointer-events:none}:host.form-group--disabled .form-group__reorder{pointer-events:none}:host.form-group--outlined{padding:1rem 1rem 1.25rem;border:1px solid var(--ui-field-float-border, #b6cce5);border-radius:var(--ui-field-float-border-radius, 14px);background:var(--app-color-elevated-surface, var(--app-color-surface))}:host.form-group--subtle{padding:.55rem .4rem;border-radius:10px;background:var(--app-color-elevated-surface, var(--app-color-surface))}:host.form-group--subtle:not(.form-group--collapsible) .form-group__header{margin:0 0 .55rem;padding:0}:host.form-group--subtle:not(.form-group--collapsible).form-group--expanded .form-group__body{padding:0}:host.form-group--subtle:not(.form-group--collapsible) .form-group__title{font-size:1.05rem;font-weight:600}:host.form-group--divider:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--default) .form-group__header{border-bottom:1px solid var(--app-color-border, #e5e5e5);padding-bottom:.65rem;margin-bottom:1rem}:host.form-group--typography-sm .form-group__title{font-size:.95rem}:host.form-group--typography-sm .form-group__subtitle{font-size:.78rem}:host.form-group--typography-sm .form-group__chevron{width:1.35rem;height:1.35rem;font-size:.68rem}:host.form-group--dense.form-group--typography-sm .form-group__title{font-size:.92rem}:host.form-group--typography-lg .form-group__title{font-size:1.12rem}:host.form-group--typography-lg .form-group__subtitle{font-size:.9rem}:host.form-group--dense.form-group--typography-lg .form-group__title{font-size:1.08rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12198
12198
  }
12199
12199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormGroupComponent, decorators: [{
12200
12200
  type: Component,
12201
- args: [{ selector: 'app-form-group', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (showHeaderBar) {\n <div\n class=\"form-group__header\"\n [class.form-group__header--single-line]=\"!subtitulo.trim()\"\n [class.form-group__header--interactive]=\"headerIsInteractive\"\n [attr.role]=\"headerIsInteractive ? 'button' : null\"\n [attr.tabindex]=\"headerIsInteractive ? 0 : null\"\n [attr.aria-expanded]=\"headerIsInteractive ? !isCollapsed : null\"\n [attr.aria-disabled]=\"disabled ? true : null\"\n (click)=\"onHeaderClick()\"\n (keydown)=\"onHeaderKeydown($event)\"\n >\n <div\n class=\"form-group__header-main\"\n [class.form-group__header-main--single-line]=\"!subtitulo.trim()\"\n >\n @if (showChevron) {\n <span\n class=\"form-group__chevron\"\n [class.form-group__chevron--locked]=\"!collapsible || !foldable\"\n aria-hidden=\"true\"\n >\n @if (collapsible && foldable && isCollapsed) {\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 320 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n } @else {\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"\n />\n </svg>\n }\n </span>\n }\n <div class=\"form-group__titles\">\n @if (titulo.trim()) {\n <h3 class=\"form-group__title\">{{ titulo }}</h3>\n }\n @if (subtitulo.trim()) {\n <p class=\"form-group__subtitle\">{{ subtitulo }}</p>\n }\n </div>\n </div>\n <div class=\"form-group__header-trailing\">\n <span\n class=\"form-group__invalid-flag\"\n [class.form-group__invalid-flag--visible]=\"invalidFlagVisible\"\n [attr.role]=\"invalidFlagVisible ? 'img' : null\"\n [attr.aria-label]=\"invalidFlagVisible ? 'Existem erros de valida\u00E7\u00E3o neste grupo' : null\"\n [attr.aria-hidden]=\"invalidFlagVisible ? null : 'true'\"\n [attr.title]=\"invalidFlagVisible ? 'Existem erros de valida\u00E7\u00E3o neste grupo' : null\"\n >\n <svg class=\"form-group__icon-svg form-group__icon-svg--warning\" viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"\n />\n </svg>\n </span>\n @if (canMoveUp || canMoveDown) {\n <div class=\"form-group__reorder\" (click)=\"$event.stopPropagation()\">\n @if (canMoveUp) {\n <button\n type=\"button\"\n class=\"form-group__reorder-btn\"\n [disabled]=\"disabled\"\n aria-label=\"Mover grupo para cima\"\n (click)=\"onMoveUpClick($event)\"\n >\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 384 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z\"\n />\n </svg>\n </button>\n }\n @if (canMoveDown) {\n <button\n type=\"button\"\n class=\"form-group__reorder-btn\"\n [disabled]=\"disabled\"\n aria-label=\"Mover grupo para baixo\"\n (click)=\"onMoveDownClick($event)\"\n >\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 384 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </button>\n }\n </div>\n }\n </div>\n </div>\n}\n\n@if (renderBodyInDom) {\n <div\n class=\"form-group__body\"\n [class.form-group__body--collapsed-hidden]=\"bodyVisuallyHidden\"\n [attr.inert]=\"bodyVisuallyHidden ? '' : null\"\n >\n <div\n class=\"form-group__body-stack\"\n [class.form-group__body-stack--neutral]=\"skipBodyChildStacking\"\n >\n <ng-content />\n </div>\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box;margin:0;scroll-margin-top:1.25rem;scroll-margin-bottom:.5rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle){border:1px solid #e8eaed;border-color:var(--app-color-border, #e8eaed);border-radius:12px;background:var(--app-color-elevated-surface, var(--app-color-surface));padding:0;overflow:hidden;transition:box-shadow .28s ease}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible.form-group--collapsed{border-color:#e4e6ea;border-color:var(--app-color-border, #e4e6ea);box-shadow:none}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded{border-color:#e8eaed;box-shadow:0 1px 2px #1628480d,0 4px 18px #0f172a0a}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle) .form-group__header{margin:0;padding:.55rem .2rem;border-radius:0}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle) .form-group__header.form-group__header--single-line{padding:.65rem .2rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header{margin-bottom:0;padding-bottom:.55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{margin-bottom:0;padding:.65rem .2rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible:not(.form-group--dense) .form-group__header{margin-bottom:0;padding:.55rem .2rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible:not(.form-group--dense) .form-group__header.form-group__header--single-line{padding:.65rem .2rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded .form-group__body{padding:.55rem .2rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header{margin-bottom:0;padding-bottom:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{margin-bottom:0;padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible .form-group__header{margin-bottom:0;padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded .form-group__body{padding:.4rem}.form-group__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 0 1rem;padding:.35rem 0;border-radius:8px;outline:none}.form-group__header,.form-group__header *{user-select:none;-webkit-user-select:none;-moz-user-select:none}.form-group__header--interactive{cursor:pointer}.form-group__header--interactive:hover:not([aria-disabled=true]){background:var(--app-color-group-header-hover, rgba(43, 127, 217, .06))}.form-group__header--interactive:focus-visible{box-shadow:0 0 0 2px var(--app-color-focus-ring, rgba(43, 127, 217, .25))}.form-group__header--single-line{align-items:center}.form-group__header-main{display:flex;align-items:flex-start;gap:.5rem;min-width:0;flex:1}.form-group__header-main--single-line{align-items:center}.form-group__header-main--single-line .form-group__title{margin-bottom:0}.form-group__header-main--single-line .form-group__chevron{margin-top:0}.form-group__chevron{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-top:.1rem;flex-shrink:0;color:var(--ui-field-float-prefix-color, #9ca3af);font-size:.75rem}.form-group__icon-svg{display:block;width:1em;height:1em;flex-shrink:0}.form-group__icon-svg--warning{width:1.05em;height:1.05em}.form-group__chevron--locked{color:var(--ui-form-group-chevron-locked, #9aa3ad)}.form-group__titles{min-width:0;flex:1}.form-group__header--single-line .form-group__titles{display:flex;align-items:center}.form-group__title{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}.form-group__subtitle{margin:0;font-size:.85rem;line-height:1.4;color:var(--app-color-text-muted, #525252)}.form-group__header-trailing{display:flex;flex-shrink:0;align-items:flex-start;gap:.35rem}.form-group__header--single-line .form-group__header-trailing{align-items:center}.form-group__header--single-line .form-group__invalid-flag{margin-top:0}.form-group__invalid-flag{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-top:.1rem;font-size:1.05rem;line-height:1;color:var(--app-color-error, #c62828);cursor:inherit;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.92);transition:opacity .22s ease,visibility .22s ease,transform .22s ease}.form-group__invalid-flag--visible{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}.form-group__reorder{display:flex;flex-shrink:0;gap:.25rem;align-items:center}.form-group__reorder-btn{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, #9ca3af);cursor:pointer;transition:background .15s ease,color .15s ease}.form-group__reorder-btn:hover:not(:disabled){background:var(--app-color-hover-bg-strong, rgba(90, 127, 163, .12));color:var(--ui-field-float-label-top-color, #4a6d8c)}.form-group__reorder-btn:disabled{cursor:not-allowed;opacity:.45}.form-group__body{display:flex;flex-direction:column;gap:1.1rem;min-width:0}:host.form-group--collapsible .form-group__body{display:grid;grid-template-rows:1fr;gap:0;overflow:visible;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1),padding .28s cubic-bezier(.22,1,.36,1)}:host.form-group--collapsible:not(.form-group--dense) .form-group__body .form-group__body-stack{gap:1.1rem}:host.form-group--dense.form-group--collapsible .form-group__body .form-group__body-stack{gap:.4rem}:host.form-group--collapsible .form-group__body .form-group__body-stack{min-height:0;overflow:visible}:host.form-group--collapsible.form-group--collapsed .form-group__body{padding:0}:host.form-group--collapsible .form-group__body.form-group__body--collapsed-hidden{display:grid;grid-template-rows:0fr;min-height:0;overflow:hidden;padding:0!important}:host.form-group--collapsible .form-group__body.form-group__body--collapsed-hidden .form-group__body-stack{min-height:0;overflow:hidden}@media(prefers-reduced-motion:reduce){:host.form-group--collapsible .form-group__body{transition:none}}.form-group__body-stack{display:flex;flex-direction:column;gap:inherit;min-width:0;width:100%}.form-group__body-stack--neutral{display:block;gap:unset}:host ::ng-deep .form-group__body-stack:not(.form-group__body-stack--neutral)>*:not(app-form-group){display:flex;flex-direction:column;gap:inherit;min-width:0}:host ::ng-deep .form-group__body-stack:not(.form-group__body-stack--neutral)>app-form-group{display:block;width:100%;min-width:0;box-sizing:border-box}.form-group__body--collapsed-hidden{display:none}:host.form-group--dense .form-group__header{margin-bottom:.65rem;padding-block:.2rem}:host.form-group--dense .form-group__title{font-size:1rem}:host.form-group--dense .form-group__body{gap:.4rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded .form-group__body{padding:.4rem .2rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header{padding:.45rem .2rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.5rem .2rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header{padding:.55rem .2rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{padding:.65rem .2rem}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header{padding:.55rem 0}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.65rem 0}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header{padding:.55rem 0}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{padding:.65rem 0}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded .form-group__body{padding:.55rem 0}:host.form-group--disabled{opacity:.72;pointer-events:none}:host.form-group--disabled .form-group__reorder{pointer-events:none}:host.form-group--outlined{padding:1rem 1rem 1.25rem;border:1px solid var(--ui-field-float-border, #b6cce5);border-radius:var(--ui-field-float-border-radius, 14px);background:var(--app-color-elevated-surface, var(--app-color-surface))}:host.form-group--subtle{padding:.55rem .4rem;border-radius:10px;background:var(--app-color-elevated-surface, var(--app-color-surface))}:host.form-group--subtle:not(.form-group--collapsible) .form-group__header{margin:0 0 .55rem;padding:0}:host.form-group--subtle:not(.form-group--collapsible).form-group--expanded .form-group__body{padding:0}:host.form-group--subtle:not(.form-group--collapsible) .form-group__title{font-size:1.05rem;font-weight:600}:host.form-group--divider:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--default) .form-group__header{border-bottom:1px solid var(--app-color-border, #e5e5e5);padding-bottom:.65rem;margin-bottom:1rem}:host.form-group--typography-sm .form-group__title{font-size:.95rem}:host.form-group--typography-sm .form-group__subtitle{font-size:.78rem}:host.form-group--typography-sm .form-group__chevron{width:1.35rem;height:1.35rem;font-size:.68rem}:host.form-group--dense.form-group--typography-sm .form-group__title{font-size:.92rem}:host.form-group--typography-lg .form-group__title{font-size:1.12rem}:host.form-group--typography-lg .form-group__subtitle{font-size:.9rem}:host.form-group--dense.form-group--typography-lg .form-group__title{font-size:1.08rem}\n"] }]
12201
+ args: [{ selector: 'app-form-group', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (showHeaderBar) {\n <div\n class=\"form-group__header\"\n [class.form-group__header--single-line]=\"!subtitulo.trim()\"\n [class.form-group__header--interactive]=\"headerIsInteractive\"\n [attr.role]=\"headerIsInteractive ? 'button' : null\"\n [attr.tabindex]=\"headerIsInteractive ? 0 : null\"\n [attr.aria-expanded]=\"headerIsInteractive ? !isCollapsed : null\"\n [attr.aria-disabled]=\"disabled ? true : null\"\n (click)=\"onHeaderClick()\"\n (keydown)=\"onHeaderKeydown($event)\"\n >\n <div\n class=\"form-group__header-main\"\n [class.form-group__header-main--single-line]=\"!subtitulo.trim()\"\n >\n @if (showChevron) {\n <span\n class=\"form-group__chevron\"\n [class.form-group__chevron--locked]=\"!collapsible || !foldable\"\n aria-hidden=\"true\"\n >\n @if (collapsible && foldable && isCollapsed) {\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 320 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n } @else {\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"\n />\n </svg>\n }\n </span>\n }\n <div class=\"form-group__titles\">\n @if (titulo.trim()) {\n <h3 class=\"form-group__title\">{{ titulo }}</h3>\n }\n @if (subtitulo.trim()) {\n <p class=\"form-group__subtitle\">{{ subtitulo }}</p>\n }\n </div>\n </div>\n <div class=\"form-group__header-trailing\">\n <span\n class=\"form-group__invalid-flag\"\n [class.form-group__invalid-flag--visible]=\"invalidFlagVisible\"\n [attr.role]=\"invalidFlagVisible ? 'img' : null\"\n [attr.aria-label]=\"invalidFlagVisible ? 'Existem erros de valida\u00E7\u00E3o neste grupo' : null\"\n [attr.aria-hidden]=\"invalidFlagVisible ? null : 'true'\"\n [attr.title]=\"invalidFlagVisible ? 'Existem erros de valida\u00E7\u00E3o neste grupo' : null\"\n >\n <svg class=\"form-group__icon-svg form-group__icon-svg--warning\" viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"\n />\n </svg>\n </span>\n @if (canMoveUp || canMoveDown) {\n <div class=\"form-group__reorder\" (click)=\"$event.stopPropagation()\">\n @if (canMoveUp) {\n <button\n type=\"button\"\n class=\"form-group__reorder-btn\"\n [disabled]=\"disabled\"\n aria-label=\"Mover grupo para cima\"\n (click)=\"onMoveUpClick($event)\"\n >\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 384 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 141.2V448c0 17.7 14.3 32 32 32s32-14.3 32-32V141.2L329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z\"\n />\n </svg>\n </button>\n }\n @if (canMoveDown) {\n <button\n type=\"button\"\n class=\"form-group__reorder-btn\"\n [disabled]=\"disabled\"\n aria-label=\"Mover grupo para baixo\"\n (click)=\"onMoveDownClick($event)\"\n >\n <svg class=\"form-group__icon-svg\" viewBox=\"0 0 384 512\" aria-hidden=\"true\" focusable=\"false\">\n <path\n fill=\"currentColor\"\n d=\"M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </button>\n }\n </div>\n }\n </div>\n </div>\n}\n\n@if (renderBodyInDom) {\n <div\n class=\"form-group__body\"\n [class.form-group__body--collapsed-hidden]=\"bodyVisuallyHidden\"\n [attr.inert]=\"bodyVisuallyHidden ? '' : null\"\n >\n <div\n class=\"form-group__body-stack\"\n [class.form-group__body-stack--neutral]=\"skipBodyChildStacking\"\n >\n <ng-content />\n </div>\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box;margin:0;scroll-margin-top:1.25rem;scroll-margin-bottom:.5rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle){border:1px solid #e8eaed;border-color:var(--app-color-border, #e8eaed);border-radius:12px;background:var(--app-color-elevated-surface, var(--app-color-surface));padding:0;overflow:hidden;transition:box-shadow .28s ease}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible.form-group--collapsed{border-color:#e4e6ea;border-color:var(--app-color-border, #e4e6ea);box-shadow:none}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded{border-color:#e8eaed;box-shadow:0 1px 2px #1628480d,0 4px 18px #0f172a0a}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle) .form-group__header{margin:0;padding:.55rem;border-radius:0}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle) .form-group__header.form-group__header--single-line{padding:.65rem .55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header{margin-bottom:0;padding-bottom:.55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{margin-bottom:0;padding:.65rem .55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible:not(.form-group--dense) .form-group__header{margin-bottom:0;padding:.55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible:not(.form-group--dense) .form-group__header.form-group__header--single-line{padding:.65rem .55rem}:host.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded .form-group__body{padding:.55rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header{margin-bottom:0;padding-bottom:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{margin-bottom:0;padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible .form-group__header{margin-bottom:0;padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.4rem}:host.form-group--dense.form-group--default:not(.form-group--outlined):not(.form-group--subtle).form-group--expanded .form-group__body{padding:.4rem}.form-group__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 0 1rem;padding:.35rem 0;border-radius:8px;outline:none}.form-group__header,.form-group__header *{user-select:none;-webkit-user-select:none;-moz-user-select:none}.form-group__header--interactive{cursor:pointer}.form-group__header--interactive:hover:not([aria-disabled=true]){background:var(--app-color-group-header-hover, rgba(43, 127, 217, .06))}.form-group__header--interactive:focus-visible{box-shadow:0 0 0 2px var(--app-color-focus-ring, rgba(43, 127, 217, .25))}.form-group__header--single-line{align-items:center}.form-group__header-main{display:flex;align-items:flex-start;gap:.5rem;min-width:0;flex:1}.form-group__header-main--single-line{align-items:center}.form-group__header-main--single-line .form-group__title{margin-bottom:0}.form-group__header-main--single-line .form-group__chevron{margin-top:0}.form-group__chevron{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-top:.1rem;flex-shrink:0;color:var(--ui-field-float-prefix-color, #9ca3af);font-size:.75rem}.form-group__icon-svg{display:block;width:1em;height:1em;flex-shrink:0}.form-group__icon-svg--warning{width:1.05em;height:1.05em}.form-group__chevron--locked{color:var(--ui-form-group-chevron-locked, #9aa3ad)}.form-group__titles{min-width:0;flex:1}.form-group__header--single-line .form-group__titles{display:flex;align-items:center}.form-group__title{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}.form-group__subtitle{margin:0;font-size:.85rem;line-height:1.4;color:var(--app-color-text-muted, #525252)}.form-group__header-trailing{display:flex;flex-shrink:0;align-items:flex-start;gap:.35rem}.form-group__header--single-line .form-group__header-trailing{align-items:center}.form-group__header--single-line .form-group__invalid-flag{margin-top:0}.form-group__invalid-flag{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-top:.1rem;font-size:1.05rem;line-height:1;color:var(--app-color-error, #c62828);cursor:inherit;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.92);transition:opacity .22s ease,visibility .22s ease,transform .22s ease}.form-group__invalid-flag--visible{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}.form-group__reorder{display:flex;flex-shrink:0;gap:.25rem;align-items:center}.form-group__reorder-btn{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, #9ca3af);cursor:pointer;transition:background .15s ease,color .15s ease}.form-group__reorder-btn:hover:not(:disabled){background:var(--app-color-hover-bg-strong, rgba(90, 127, 163, .12));color:var(--ui-field-float-label-top-color, #4a6d8c)}.form-group__reorder-btn:disabled{cursor:not-allowed;opacity:.45}.form-group__body{display:flex;flex-direction:column;gap:1.1rem;min-width:0}:host.form-group--collapsible .form-group__body{display:grid;grid-template-rows:1fr;gap:0;overflow:visible;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1),padding .28s cubic-bezier(.22,1,.36,1)}:host.form-group--collapsible:not(.form-group--dense) .form-group__body .form-group__body-stack{gap:1.1rem}:host.form-group--dense.form-group--collapsible .form-group__body .form-group__body-stack{gap:.4rem}:host.form-group--collapsible .form-group__body .form-group__body-stack{min-height:0;overflow:visible}:host.form-group--collapsible.form-group--collapsed .form-group__body{padding:0}:host.form-group--collapsible .form-group__body.form-group__body--collapsed-hidden{display:grid;grid-template-rows:0fr;min-height:0;overflow:hidden;padding:0!important}:host.form-group--collapsible .form-group__body.form-group__body--collapsed-hidden .form-group__body-stack{min-height:0;overflow:hidden}@media(prefers-reduced-motion:reduce){:host.form-group--collapsible .form-group__body{transition:none}}.form-group__body-stack{display:flex;flex-direction:column;gap:inherit;min-width:0;width:100%}.form-group__body-stack--neutral{display:block;gap:unset}:host ::ng-deep .form-group__body-stack:not(.form-group__body-stack--neutral)>*:not(app-form-group){display:flex;flex-direction:column;gap:inherit;min-width:0}:host ::ng-deep .form-group__body-stack:not(.form-group__body-stack--neutral)>app-form-group{display:block;width:100%;min-width:0;box-sizing:border-box}.form-group__body--collapsed-hidden{display:none}:host.form-group--dense .form-group__header{margin-bottom:.65rem;padding-block:.2rem}:host.form-group--dense .form-group__title{font-size:1rem}:host.form-group--dense .form-group__body{gap:.4rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded .form-group__body{padding:.4rem .55rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header{padding:.45rem .55rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.5rem .55rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header{padding:.55rem}:host-context(app-form-section.form-section--panel):host.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded:not(.form-group--collapsible) .form-group__header.form-group__header--single-line{padding:.65rem .55rem}:host.form-group--disabled{opacity:.72;pointer-events:none}:host.form-group--disabled .form-group__reorder{pointer-events:none}:host.form-group--outlined{padding:1rem 1rem 1.25rem;border:1px solid var(--ui-field-float-border, #b6cce5);border-radius:var(--ui-field-float-border-radius, 14px);background:var(--app-color-elevated-surface, var(--app-color-surface))}:host.form-group--subtle{padding:.55rem .4rem;border-radius:10px;background:var(--app-color-elevated-surface, var(--app-color-surface))}:host.form-group--subtle:not(.form-group--collapsible) .form-group__header{margin:0 0 .55rem;padding:0}:host.form-group--subtle:not(.form-group--collapsible).form-group--expanded .form-group__body{padding:0}:host.form-group--subtle:not(.form-group--collapsible) .form-group__title{font-size:1.05rem;font-weight:600}:host.form-group--divider:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--default) .form-group__header{border-bottom:1px solid var(--app-color-border, #e5e5e5);padding-bottom:.65rem;margin-bottom:1rem}:host.form-group--typography-sm .form-group__title{font-size:.95rem}:host.form-group--typography-sm .form-group__subtitle{font-size:.78rem}:host.form-group--typography-sm .form-group__chevron{width:1.35rem;height:1.35rem;font-size:.68rem}:host.form-group--dense.form-group--typography-sm .form-group__title{font-size:.92rem}:host.form-group--typography-lg .form-group__title{font-size:1.12rem}:host.form-group--typography-lg .form-group__subtitle{font-size:.9rem}:host.form-group--dense.form-group--typography-lg .form-group__title{font-size:1.08rem}\n"] }]
12202
12202
  }], ctorParameters: () => [], propDecorators: { titulo: [{
12203
12203
  type: Input,
12204
12204
  args: [{ required: true }]
@@ -12428,11 +12428,11 @@ class FormSectionComponent {
12428
12428
  return this.titulo.trim().length > 0 || this.subtitulo.trim().length > 0;
12429
12429
  }
12430
12430
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12431
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormSectionComponent, isStandalone: true, selector: "app-form-section", inputs: { titulo: "titulo", subtitulo: "subtitulo", dense: ["dense", "dense", booleanAttribute], divider: ["divider", "divider", booleanAttribute], variant: "variant", align: "align", maxWidth: "maxWidth", fullWidth: ["fullWidth", "fullWidth", booleanAttribute], radius: "radius", elevated: ["elevated", "elevated", booleanAttribute], size: "size", tamanhoCampoMobile: ["tamanhoCampoMobile", "tamanhoCampoMobile", booleanAttribute] }, host: { properties: { "class": "this.hostClass", "style.max-width": "this.hostMaxWidth", "style.margin-inline": "this.hostMarginInline" } }, usesOnChanges: true, ngImport: i0, template: "@if (showHeader) {\n<header class=\"form-section__header\">\n @if (titulo.trim()) {\n <h2 class=\"form-section__title\">{{ titulo }}</h2>\n }\n @if (subtitulo.trim()) {\n <p class=\"form-section__subtitle\">{{ subtitulo }}</p>\n }\n</header>\n}\n<div class=\"form-section__content form-section__body\">\n <ng-content />\n</div>", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.form-section{width:100%;min-width:0;box-sizing:border-box;font-family:var(--structra-font-family)}.form-section__header{margin:0 0 .55rem;padding:0}.form-section__title{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}.form-section__subtitle{margin:0;font-size:.85rem;font-weight:var(--form-section-subtitle-weight, var(--structra-body-weight));line-height:1.4;color:var(--app-color-text-muted, #525252)}.form-section__content,.form-section__body{display:flex;flex-direction:column;gap:.4rem;min-width:0;box-sizing:border-box}:host.form-section--align-center .form-section__header{text-align:center}:host.form-section--inline{width:fit-content;max-width:100%}:host.form-section--panel,:host.form-section--card{--form-section-surface-border: var(--app-color-border-subtle, rgba(26, 47, 69, .12));--form-section-surface-bg: var(--app-color-elevated-surface, var(--app-color-surface));--form-section-surface-shadow: 0 .4rem 1.25rem rgba(15, 23, 42, .08);--form-section-surface-padding-x: .2rem;--form-section-surface-padding-y: .4rem;padding:var(--form-section-surface-padding-y) var(--form-section-surface-padding-x);border:1px solid var(--form-section-surface-border);background:var(--form-section-surface-bg);box-shadow:var(--form-section-surface-shadow)}:host.form-section--panel{--form-section-surface-shadow: 0 .15rem .45rem rgba(15, 23, 42, .04);--form-section-surface-padding-y: .75rem}:host.form-section--panel .form-section__header{margin-bottom:.55rem}:host.form-section--panel .form-section__body{gap:.4rem}:host.form-section--card{--form-section-surface-padding-x: .2rem;--form-section-surface-padding-y: .4rem;--form-section-surface-shadow: 0 .35rem 1rem rgba(15, 23, 42, .06)}:host.form-section--card.form-section--elevated{--form-section-surface-shadow: 0 .8rem 2rem -1.1rem rgba(15, 23, 42, .28)}:host.form-section--radius-none{border-radius:0}:host.form-section--radius-sm{border-radius:var(--radius-sm, 8px)}:host.form-section--radius-md{border-radius:var(--radius-md, 12px)}:host.form-section--radius-lg{border-radius:var(--radius-lg, 16px)}:host.form-section--radius-xl{border-radius:var(--radius-xl, 22px)}:host.form-section--dense .form-section__header{margin-bottom:.55rem}:host.form-section--dense .form-section__title{font-size:1rem}:host.form-section--dense .form-section__body{gap:.4rem}:host.form-section--dense.form-section--panel,:host.form-section--dense.form-section--card{--form-section-surface-padding-x: .4rem;--form-section-surface-padding-y: .65rem}:host.form-section--divider{padding-bottom:1.75rem;margin-bottom:1.75rem;border-bottom:1px solid var(--app-color-border, #e5e5e5)}:host.form-section--dense.form-section--divider{padding-bottom:1.25rem;margin-bottom:1.25rem}:host.form-section--typography-sm .form-section__title{font-size:.95rem}:host.form-section--typography-sm .form-section__subtitle{font-size:.82rem}:host.form-section--dense.form-section--typography-sm .form-section__title{font-size:.92rem}:host.form-section--typography-lg .form-section__title{font-size:1.12rem}:host.form-section--typography-lg .form-section__subtitle{font-size:.9rem}:host.form-section--dense.form-section--typography-lg .form-section__title{font-size:1.08rem}:host-context(app-form-group):host.form-section--panel,:host-context(app-form-group):host.form-section--card{--form-section-surface-padding-x: .2rem;--form-section-surface-padding-y: .4rem;--form-section-surface-shadow: none;border-color:transparent;background:transparent}:host-context(app-form-group):host.form-section--panel .form-section__header,:host-context(app-form-group):host.form-section--card .form-section__header{margin-bottom:.55rem}:host.cadastro-fields-base__section.form-section--panel,:host.cadastro-fields-base__section.form-section--card{--form-section-surface-padding-x: 0;--form-section-surface-padding-y: 0;--form-section-surface-shadow: none;padding:0;border:none;background:transparent;box-shadow:none}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--panel,:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--card{--form-section-surface-padding-x: 0;--form-section-surface-padding-y: 0;--form-section-surface-shadow: none;padding:0;border:none;background:transparent;box-shadow:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12431
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormSectionComponent, isStandalone: true, selector: "app-form-section", inputs: { titulo: "titulo", subtitulo: "subtitulo", dense: ["dense", "dense", booleanAttribute], divider: ["divider", "divider", booleanAttribute], variant: "variant", align: "align", maxWidth: "maxWidth", fullWidth: ["fullWidth", "fullWidth", booleanAttribute], radius: "radius", elevated: ["elevated", "elevated", booleanAttribute], size: "size", tamanhoCampoMobile: ["tamanhoCampoMobile", "tamanhoCampoMobile", booleanAttribute] }, host: { properties: { "class": "this.hostClass", "style.max-width": "this.hostMaxWidth", "style.margin-inline": "this.hostMarginInline" } }, usesOnChanges: true, ngImport: i0, template: "@if (showHeader) {\n<header class=\"form-section__header\">\n @if (titulo.trim()) {\n <h2 class=\"form-section__title\">{{ titulo }}</h2>\n }\n @if (subtitulo.trim()) {\n <p class=\"form-section__subtitle\">{{ subtitulo }}</p>\n }\n</header>\n}\n<div class=\"form-section__content form-section__body\">\n <ng-content />\n</div>", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.form-section{width:100%;min-width:0;box-sizing:border-box;font-family:var(--structra-font-family)}.form-section__header{margin:0 0 .55rem;padding:0}.form-section__title{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}.form-section__subtitle{margin:0;font-size:.85rem;font-weight:var(--form-section-subtitle-weight, var(--structra-body-weight));line-height:1.4;color:var(--app-color-text-muted, #525252)}.form-section__content,.form-section__body{display:flex;flex-direction:column;gap:.4rem;min-width:0;box-sizing:border-box}:host.form-section--align-center .form-section__header{text-align:center}:host.form-section--inline{width:fit-content;max-width:100%}:host.form-section--panel,:host.form-section--card{--form-section-surface-border: var(--app-color-border-subtle, rgba(26, 47, 69, .12));--form-section-surface-bg: var(--app-color-elevated-surface, var(--app-color-surface));--form-section-surface-shadow: 0 .4rem 1.25rem rgba(15, 23, 42, .08);--form-section-surface-padding-x: .55rem;--form-section-surface-padding-y: .4rem;padding:var(--form-section-surface-padding-y) var(--form-section-surface-padding-x);border:1px solid var(--form-section-surface-border);background:var(--form-section-surface-bg);box-shadow:var(--form-section-surface-shadow)}:host.form-section--panel{--form-section-surface-shadow: 0 .15rem .45rem rgba(15, 23, 42, .04);--form-section-surface-padding-y: .75rem}:host.form-section--panel .form-section__header{margin-bottom:.55rem}:host.form-section--panel .form-section__body{gap:.4rem}:host.form-section--card{--form-section-surface-padding-x: .55rem;--form-section-surface-padding-y: .4rem;--form-section-surface-shadow: 0 .35rem 1rem rgba(15, 23, 42, .06)}:host.form-section--card.form-section--elevated{--form-section-surface-shadow: 0 .8rem 2rem -1.1rem rgba(15, 23, 42, .28)}:host.form-section--radius-none{border-radius:0}:host.form-section--radius-sm{border-radius:var(--radius-sm, 8px)}:host.form-section--radius-md{border-radius:var(--radius-md, 12px)}:host.form-section--radius-lg{border-radius:var(--radius-lg, 16px)}:host.form-section--radius-xl{border-radius:var(--radius-xl, 22px)}:host.form-section--dense .form-section__header{margin-bottom:.55rem}:host.form-section--dense .form-section__title{font-size:1rem}:host.form-section--dense .form-section__body{gap:.4rem}:host.form-section--dense.form-section--panel,:host.form-section--dense.form-section--card{--form-section-surface-padding-x: .4rem;--form-section-surface-padding-y: .65rem}:host.form-section--divider{padding-bottom:1.75rem;margin-bottom:1.75rem;border-bottom:1px solid var(--app-color-border, #e5e5e5)}:host.form-section--dense.form-section--divider{padding-bottom:1.25rem;margin-bottom:1.25rem}:host.form-section--typography-sm .form-section__title{font-size:.95rem}:host.form-section--typography-sm .form-section__subtitle{font-size:.82rem}:host.form-section--dense.form-section--typography-sm .form-section__title{font-size:.92rem}:host.form-section--typography-lg .form-section__title{font-size:1.12rem}:host.form-section--typography-lg .form-section__subtitle{font-size:.9rem}:host.form-section--dense.form-section--typography-lg .form-section__title{font-size:1.08rem}:host-context(app-form-group):host.form-section--panel,:host-context(app-form-group):host.form-section--card{--form-section-surface-padding-x: .55rem;--form-section-surface-padding-y: .4rem;--form-section-surface-shadow: none;border-color:transparent;background:transparent}:host-context(app-form-group):host.form-section--panel .form-section__header,:host-context(app-form-group):host.form-section--card .form-section__header{margin-bottom:.55rem}:host.cadastro-fields-base__section.form-section--panel,:host.cadastro-fields-base__section.form-section--card{--form-section-surface-padding-x: 0;--form-section-surface-padding-y: 0;--form-section-surface-shadow: none;padding:0;border:none;background:transparent;box-shadow:none}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--panel,:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--card{--form-section-surface-padding-x: 0;--form-section-surface-padding-y: 0;--form-section-surface-shadow: none;padding:0;border:none;background:transparent;box-shadow:none}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--panel .form-section__body,:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--panel .form-section__content,:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--card .form-section__body,:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--card .form-section__content{padding-inline:.55rem;box-sizing:border-box}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12432
12432
  }
12433
12433
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormSectionComponent, decorators: [{
12434
12434
  type: Component,
12435
- args: [{ selector: 'app-form-section', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (showHeader) {\n<header class=\"form-section__header\">\n @if (titulo.trim()) {\n <h2 class=\"form-section__title\">{{ titulo }}</h2>\n }\n @if (subtitulo.trim()) {\n <p class=\"form-section__subtitle\">{{ subtitulo }}</p>\n }\n</header>\n}\n<div class=\"form-section__content form-section__body\">\n <ng-content />\n</div>", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.form-section{width:100%;min-width:0;box-sizing:border-box;font-family:var(--structra-font-family)}.form-section__header{margin:0 0 .55rem;padding:0}.form-section__title{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}.form-section__subtitle{margin:0;font-size:.85rem;font-weight:var(--form-section-subtitle-weight, var(--structra-body-weight));line-height:1.4;color:var(--app-color-text-muted, #525252)}.form-section__content,.form-section__body{display:flex;flex-direction:column;gap:.4rem;min-width:0;box-sizing:border-box}:host.form-section--align-center .form-section__header{text-align:center}:host.form-section--inline{width:fit-content;max-width:100%}:host.form-section--panel,:host.form-section--card{--form-section-surface-border: var(--app-color-border-subtle, rgba(26, 47, 69, .12));--form-section-surface-bg: var(--app-color-elevated-surface, var(--app-color-surface));--form-section-surface-shadow: 0 .4rem 1.25rem rgba(15, 23, 42, .08);--form-section-surface-padding-x: .2rem;--form-section-surface-padding-y: .4rem;padding:var(--form-section-surface-padding-y) var(--form-section-surface-padding-x);border:1px solid var(--form-section-surface-border);background:var(--form-section-surface-bg);box-shadow:var(--form-section-surface-shadow)}:host.form-section--panel{--form-section-surface-shadow: 0 .15rem .45rem rgba(15, 23, 42, .04);--form-section-surface-padding-y: .75rem}:host.form-section--panel .form-section__header{margin-bottom:.55rem}:host.form-section--panel .form-section__body{gap:.4rem}:host.form-section--card{--form-section-surface-padding-x: .2rem;--form-section-surface-padding-y: .4rem;--form-section-surface-shadow: 0 .35rem 1rem rgba(15, 23, 42, .06)}:host.form-section--card.form-section--elevated{--form-section-surface-shadow: 0 .8rem 2rem -1.1rem rgba(15, 23, 42, .28)}:host.form-section--radius-none{border-radius:0}:host.form-section--radius-sm{border-radius:var(--radius-sm, 8px)}:host.form-section--radius-md{border-radius:var(--radius-md, 12px)}:host.form-section--radius-lg{border-radius:var(--radius-lg, 16px)}:host.form-section--radius-xl{border-radius:var(--radius-xl, 22px)}:host.form-section--dense .form-section__header{margin-bottom:.55rem}:host.form-section--dense .form-section__title{font-size:1rem}:host.form-section--dense .form-section__body{gap:.4rem}:host.form-section--dense.form-section--panel,:host.form-section--dense.form-section--card{--form-section-surface-padding-x: .4rem;--form-section-surface-padding-y: .65rem}:host.form-section--divider{padding-bottom:1.75rem;margin-bottom:1.75rem;border-bottom:1px solid var(--app-color-border, #e5e5e5)}:host.form-section--dense.form-section--divider{padding-bottom:1.25rem;margin-bottom:1.25rem}:host.form-section--typography-sm .form-section__title{font-size:.95rem}:host.form-section--typography-sm .form-section__subtitle{font-size:.82rem}:host.form-section--dense.form-section--typography-sm .form-section__title{font-size:.92rem}:host.form-section--typography-lg .form-section__title{font-size:1.12rem}:host.form-section--typography-lg .form-section__subtitle{font-size:.9rem}:host.form-section--dense.form-section--typography-lg .form-section__title{font-size:1.08rem}:host-context(app-form-group):host.form-section--panel,:host-context(app-form-group):host.form-section--card{--form-section-surface-padding-x: .2rem;--form-section-surface-padding-y: .4rem;--form-section-surface-shadow: none;border-color:transparent;background:transparent}:host-context(app-form-group):host.form-section--panel .form-section__header,:host-context(app-form-group):host.form-section--card .form-section__header{margin-bottom:.55rem}:host.cadastro-fields-base__section.form-section--panel,:host.cadastro-fields-base__section.form-section--card{--form-section-surface-padding-x: 0;--form-section-surface-padding-y: 0;--form-section-surface-shadow: none;padding:0;border:none;background:transparent;box-shadow:none}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--panel,:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--card{--form-section-surface-padding-x: 0;--form-section-surface-padding-y: 0;--form-section-surface-shadow: none;padding:0;border:none;background:transparent;box-shadow:none}\n"] }]
12435
+ args: [{ selector: 'app-form-section', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (showHeader) {\n<header class=\"form-section__header\">\n @if (titulo.trim()) {\n <h2 class=\"form-section__title\">{{ titulo }}</h2>\n }\n @if (subtitulo.trim()) {\n <p class=\"form-section__subtitle\">{{ subtitulo }}</p>\n }\n</header>\n}\n<div class=\"form-section__content form-section__body\">\n <ng-content />\n</div>", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.form-section{width:100%;min-width:0;box-sizing:border-box;font-family:var(--structra-font-family)}.form-section__header{margin:0 0 .55rem;padding:0}.form-section__title{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}.form-section__subtitle{margin:0;font-size:.85rem;font-weight:var(--form-section-subtitle-weight, var(--structra-body-weight));line-height:1.4;color:var(--app-color-text-muted, #525252)}.form-section__content,.form-section__body{display:flex;flex-direction:column;gap:.4rem;min-width:0;box-sizing:border-box}:host.form-section--align-center .form-section__header{text-align:center}:host.form-section--inline{width:fit-content;max-width:100%}:host.form-section--panel,:host.form-section--card{--form-section-surface-border: var(--app-color-border-subtle, rgba(26, 47, 69, .12));--form-section-surface-bg: var(--app-color-elevated-surface, var(--app-color-surface));--form-section-surface-shadow: 0 .4rem 1.25rem rgba(15, 23, 42, .08);--form-section-surface-padding-x: .55rem;--form-section-surface-padding-y: .4rem;padding:var(--form-section-surface-padding-y) var(--form-section-surface-padding-x);border:1px solid var(--form-section-surface-border);background:var(--form-section-surface-bg);box-shadow:var(--form-section-surface-shadow)}:host.form-section--panel{--form-section-surface-shadow: 0 .15rem .45rem rgba(15, 23, 42, .04);--form-section-surface-padding-y: .75rem}:host.form-section--panel .form-section__header{margin-bottom:.55rem}:host.form-section--panel .form-section__body{gap:.4rem}:host.form-section--card{--form-section-surface-padding-x: .55rem;--form-section-surface-padding-y: .4rem;--form-section-surface-shadow: 0 .35rem 1rem rgba(15, 23, 42, .06)}:host.form-section--card.form-section--elevated{--form-section-surface-shadow: 0 .8rem 2rem -1.1rem rgba(15, 23, 42, .28)}:host.form-section--radius-none{border-radius:0}:host.form-section--radius-sm{border-radius:var(--radius-sm, 8px)}:host.form-section--radius-md{border-radius:var(--radius-md, 12px)}:host.form-section--radius-lg{border-radius:var(--radius-lg, 16px)}:host.form-section--radius-xl{border-radius:var(--radius-xl, 22px)}:host.form-section--dense .form-section__header{margin-bottom:.55rem}:host.form-section--dense .form-section__title{font-size:1rem}:host.form-section--dense .form-section__body{gap:.4rem}:host.form-section--dense.form-section--panel,:host.form-section--dense.form-section--card{--form-section-surface-padding-x: .4rem;--form-section-surface-padding-y: .65rem}:host.form-section--divider{padding-bottom:1.75rem;margin-bottom:1.75rem;border-bottom:1px solid var(--app-color-border, #e5e5e5)}:host.form-section--dense.form-section--divider{padding-bottom:1.25rem;margin-bottom:1.25rem}:host.form-section--typography-sm .form-section__title{font-size:.95rem}:host.form-section--typography-sm .form-section__subtitle{font-size:.82rem}:host.form-section--dense.form-section--typography-sm .form-section__title{font-size:.92rem}:host.form-section--typography-lg .form-section__title{font-size:1.12rem}:host.form-section--typography-lg .form-section__subtitle{font-size:.9rem}:host.form-section--dense.form-section--typography-lg .form-section__title{font-size:1.08rem}:host-context(app-form-group):host.form-section--panel,:host-context(app-form-group):host.form-section--card{--form-section-surface-padding-x: .55rem;--form-section-surface-padding-y: .4rem;--form-section-surface-shadow: none;border-color:transparent;background:transparent}:host-context(app-form-group):host.form-section--panel .form-section__header,:host-context(app-form-group):host.form-section--card .form-section__header{margin-bottom:.55rem}:host.cadastro-fields-base__section.form-section--panel,:host.cadastro-fields-base__section.form-section--card{--form-section-surface-padding-x: 0;--form-section-surface-padding-y: 0;--form-section-surface-shadow: none;padding:0;border:none;background:transparent;box-shadow:none}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--panel,:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--card{--form-section-surface-padding-x: 0;--form-section-surface-padding-y: 0;--form-section-surface-shadow: none;padding:0;border:none;background:transparent;box-shadow:none}:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--panel .form-section__body,:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--panel .form-section__content,:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--card .form-section__body,:host-context(.cadastro-page-shell__tab-panel):host.cadastro-fields-base__section.form-section--card .form-section__content{padding-inline:.55rem;box-sizing:border-box}\n"] }]
12436
12436
  }], ctorParameters: () => [], propDecorators: { titulo: [{
12437
12437
  type: Input,
12438
12438
  args: [{ required: true }]
@@ -13943,11 +13943,11 @@ class FormTabsComponent {
13943
13943
  }
13944
13944
  }
13945
13945
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13946
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormTabsComponent, isStandalone: true, selector: "app-form-tabs", inputs: { activeKey: "activeKey", keepAlive: ["keepAlive", "keepAlive", booleanAttribute], stretch: ["stretch", "stretch", booleanAttribute], variant: "variant", size: "size", tamanhoCampoMobile: ["tamanhoCampoMobile", "tamanhoCampoMobile", booleanAttribute], tablistAriaLabel: "tablistAriaLabel", validationLinkItems: "validationLinkItems", validationLinkActive: ["validationLinkActive", "validationLinkActive", booleanAttribute] }, outputs: { activeKeyChange: "activeKeyChange" }, queries: [{ propertyName: "tabQuery", predicate: i0.forwardRef(() => FormTabComponent) }], usesOnChanges: true, ngImport: i0, template: "<div [class]=\"hostClass\">\n <div class=\"form-tabs__shell\">\n <div class=\"form-tabs__header-scroll\">\n <div\n class=\"form-tabs__tablist\"\n role=\"tablist\"\n [attr.aria-label]=\"tablistAriaLabel\"\n >\n @for (tab of tabs; track tab.key) {\n <button\n type=\"button\"\n class=\"form-tabs__tab\"\n role=\"tab\"\n [id]=\"headerIdFor(tab.key)\"\n [attr.aria-selected]=\"isSelected(tab.key)\"\n [attr.aria-controls]=\"panelIdFor(tab.key)\"\n [attr.tabindex]=\"isSelected(tab.key) ? 0 : -1\"\n [disabled]=\"tab.disabled\"\n [class.form-tabs__tab--active]=\"isSelected(tab.key)\"\n [class.form-tabs__tab--warn]=\"tab.headerWarning\"\n (click)=\"selectTab(tab.key)\"\n >\n @if (tab.tabIconClass.trim()) {\n <i class=\"form-tabs__tab-icon\" [class]=\"tab.tabIconClass\" aria-hidden=\"true\"></i>\n }\n <span class=\"form-tabs__tab-label\">{{ tab.tabTitle }}</span>\n @if (tab.headerWarning) {\n <span\n class=\"form-tabs__tab-warn-icon\"\n aria-hidden=\"true\"\n title=\"Existem erros nesta se\u00E7\u00E3o\"\n >\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n </span>\n }\n </button>\n }\n </div>\n </div>\n <div class=\"form-tabs__panels\">\n <ng-content select=\"app-form-tab\" />\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;box-sizing:border-box}.form-tabs{display:flex;flex-direction:column;width:100%;box-sizing:border-box}.form-tabs__shell{display:flex;flex-direction:column;gap:0;font-family:var(--structra-font-family);width:100%;padding:.7rem .85rem .85rem;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));border-radius:16px;background:var(--app-color-elevated-surface, var(--app-color-surface));box-sizing:border-box;box-shadow:0 1px 4px var(--app-color-shell-shadow, rgba(26, 47, 69, .05))}.form-tabs__header-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;box-sizing:border-box;padding:.2rem .1rem .55rem}.form-tabs__tablist{display:inline-flex;flex-wrap:nowrap;gap:.5rem;min-width:min-content;box-sizing:border-box}.form-tabs--stretch .form-tabs__tablist{width:100%}.form-tabs--stretch .form-tabs__tab{flex:1 1 0;justify-content:center}.form-tabs__tab-icon{font-size:.95em;line-height:1;opacity:.88}.form-tabs__tab{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;margin:0;padding:.52rem 1rem;border:1px solid var(--app-color-tab-inactive-border, rgba(182, 204, 229, .75));border-radius:11px;background:var(--app-color-tab-inactive-bg, var(--app-color-surface));color:var(--app-color-tab-inactive-text, #51667a);font-size:.94rem;font-weight:var(--tabs-tab-weight, var(--structra-label-weight));font-family:inherit;line-height:1.25;cursor:pointer;white-space:nowrap;user-select:none;-webkit-user-select:none;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.form-tabs__tab:hover:not(:disabled):not(.form-tabs__tab--active){border-color:var(--app-color-tab-hover-border, rgba(43, 127, 217, .42));background:var(--app-color-tab-hover-bg, #eef3f8);color:var(--app-color-text-primary, #3d5266)}.form-tabs__tab:focus,.form-tabs__tab:focus-visible{outline:none}.form-tabs__tab:disabled{opacity:.55;cursor:not-allowed}.form-tabs__tab--active,.form-tabs__tab[aria-selected=true]{border-color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));background:var(--app-color-elevated-surface, var(--app-color-surface));color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));font-weight:var(--tabs-tab-active-weight, var(--structra-title-weight));box-shadow:0 2px 8px var(--app-color-tab-shadow, rgba(43, 127, 217, .14)),0 0 0 1px var(--app-color-primary-muted, rgba(43, 127, 217, .07))}.form-tabs__tab--active .form-tabs__tab-icon,.form-tabs__tab[aria-selected=true] .form-tabs__tab-icon{color:inherit;opacity:1}.form-tabs__tab--active:hover:not(:disabled),.form-tabs__tab[aria-selected=true]:hover:not(:disabled){border-color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));box-shadow:0 3px 10px var(--app-color-tab-shadow, rgba(43, 127, 217, .16)),0 0 0 1px var(--app-color-primary-muted, rgba(43, 127, 217, .08))}.form-tabs__tab-label{max-width:14rem;overflow:hidden;text-overflow:ellipsis}.form-tabs__tab-warn-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ui-field-input-invalid-border, #b91c1c);font-size:.82rem;flex-shrink:0}.form-tabs__panels{position:relative;width:100%;min-width:0;box-sizing:border-box;margin-top:.1rem;padding-top:.75rem;padding-inline:4px;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .06))}:host.cadastro-metadata-page__tabs .form-tabs__shell{padding-inline:.2rem}:host.cadastro-metadata-page__tabs .form-tabs__panels{margin-top:0;padding-top:.4rem;padding-inline:0}.form-tabs--pill .form-tabs__tab{border-radius:999px;padding-inline:1.15rem}.form-tabs--header-size-sm .form-tabs__tab{padding:.36rem .72rem;font-size:.82rem;border-radius:9px;gap:.3rem}.form-tabs--header-size-sm .form-tabs__tab-warn-icon{font-size:.72rem}.form-tabs--header-size-lg .form-tabs__tab{padding:.62rem 1.2rem;font-size:1.02rem}.form-tabs--header-size-lg .form-tabs__tab-warn-icon{font-size:.9rem}.form-tabs--pill.form-tabs--header-size-sm .form-tabs__tab{padding-inline:.88rem}.form-tabs--pill.form-tabs--header-size-lg .form-tabs__tab{padding-inline:1.35rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13946
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormTabsComponent, isStandalone: true, selector: "app-form-tabs", inputs: { activeKey: "activeKey", keepAlive: ["keepAlive", "keepAlive", booleanAttribute], stretch: ["stretch", "stretch", booleanAttribute], variant: "variant", size: "size", tamanhoCampoMobile: ["tamanhoCampoMobile", "tamanhoCampoMobile", booleanAttribute], tablistAriaLabel: "tablistAriaLabel", validationLinkItems: "validationLinkItems", validationLinkActive: ["validationLinkActive", "validationLinkActive", booleanAttribute] }, outputs: { activeKeyChange: "activeKeyChange" }, queries: [{ propertyName: "tabQuery", predicate: i0.forwardRef(() => FormTabComponent) }], usesOnChanges: true, ngImport: i0, template: "<div [class]=\"hostClass\">\n <div class=\"form-tabs__shell\">\n <div class=\"form-tabs__header-scroll\">\n <div\n class=\"form-tabs__tablist\"\n role=\"tablist\"\n [attr.aria-label]=\"tablistAriaLabel\"\n >\n @for (tab of tabs; track tab.key) {\n <button\n type=\"button\"\n class=\"form-tabs__tab\"\n role=\"tab\"\n [id]=\"headerIdFor(tab.key)\"\n [attr.aria-selected]=\"isSelected(tab.key)\"\n [attr.aria-controls]=\"panelIdFor(tab.key)\"\n [attr.tabindex]=\"isSelected(tab.key) ? 0 : -1\"\n [disabled]=\"tab.disabled\"\n [class.form-tabs__tab--active]=\"isSelected(tab.key)\"\n [class.form-tabs__tab--warn]=\"tab.headerWarning\"\n (click)=\"selectTab(tab.key)\"\n >\n @if (tab.tabIconClass.trim()) {\n <i class=\"form-tabs__tab-icon\" [class]=\"tab.tabIconClass\" aria-hidden=\"true\"></i>\n }\n <span class=\"form-tabs__tab-label\">{{ tab.tabTitle }}</span>\n @if (tab.headerWarning) {\n <span\n class=\"form-tabs__tab-warn-icon\"\n aria-hidden=\"true\"\n title=\"Existem erros nesta se\u00E7\u00E3o\"\n >\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n </span>\n }\n </button>\n }\n </div>\n </div>\n <div class=\"form-tabs__panels\">\n <ng-content select=\"app-form-tab\" />\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;box-sizing:border-box}.form-tabs{display:flex;flex-direction:column;width:100%;box-sizing:border-box}.form-tabs__shell{display:flex;flex-direction:column;gap:0;font-family:var(--structra-font-family);width:100%;padding:.7rem .85rem .85rem;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));border-radius:16px;background:var(--app-color-elevated-surface, var(--app-color-surface));box-sizing:border-box;box-shadow:0 1px 4px var(--app-color-shell-shadow, rgba(26, 47, 69, .05))}.form-tabs__header-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;box-sizing:border-box;padding:.2rem .1rem .55rem}.form-tabs__tablist{display:inline-flex;flex-wrap:nowrap;gap:.5rem;min-width:min-content;box-sizing:border-box}.form-tabs--stretch .form-tabs__tablist{width:100%}.form-tabs--stretch .form-tabs__tab{flex:1 1 0;justify-content:center}.form-tabs__tab-icon{font-size:.95em;line-height:1;opacity:.88}.form-tabs__tab{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;margin:0;padding:.52rem 1rem;border:1px solid var(--app-color-tab-inactive-border, rgba(182, 204, 229, .75));border-radius:11px;background:var(--app-color-tab-inactive-bg, var(--app-color-surface));color:var(--app-color-tab-inactive-text, #51667a);font-size:.94rem;font-weight:var(--tabs-tab-weight, var(--structra-label-weight));font-family:inherit;line-height:1.25;cursor:pointer;white-space:nowrap;user-select:none;-webkit-user-select:none;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.form-tabs__tab:hover:not(:disabled):not(.form-tabs__tab--active){border-color:var(--app-color-tab-hover-border, rgba(43, 127, 217, .42));background:var(--app-color-tab-hover-bg, #eef3f8);color:var(--app-color-text-primary, #3d5266)}.form-tabs__tab:focus,.form-tabs__tab:focus-visible{outline:none}.form-tabs__tab:disabled{opacity:.55;cursor:not-allowed}.form-tabs__tab--active,.form-tabs__tab[aria-selected=true]{border-color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));background:var(--app-color-elevated-surface, var(--app-color-surface));color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));font-weight:var(--tabs-tab-active-weight, var(--structra-title-weight));box-shadow:0 2px 8px var(--app-color-tab-shadow, rgba(43, 127, 217, .14)),0 0 0 1px var(--app-color-primary-muted, rgba(43, 127, 217, .07))}.form-tabs__tab--active .form-tabs__tab-icon,.form-tabs__tab[aria-selected=true] .form-tabs__tab-icon{color:inherit;opacity:1}.form-tabs__tab--active:hover:not(:disabled),.form-tabs__tab[aria-selected=true]:hover:not(:disabled){border-color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));box-shadow:0 3px 10px var(--app-color-tab-shadow, rgba(43, 127, 217, .16)),0 0 0 1px var(--app-color-primary-muted, rgba(43, 127, 217, .08))}.form-tabs__tab-label{max-width:14rem;overflow:hidden;text-overflow:ellipsis}.form-tabs__tab-warn-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ui-field-input-invalid-border, #b91c1c);font-size:.82rem;flex-shrink:0}.form-tabs__panels{position:relative;width:100%;min-width:0;box-sizing:border-box;margin-top:.1rem;padding-top:.75rem;padding-inline:4px;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .06))}:host.cadastro-metadata-page__tabs .form-tabs__shell{padding-inline:.55rem}:host.cadastro-metadata-page__tabs .form-tabs__panels{margin-top:0;padding-top:.4rem;padding-inline:0}.form-tabs--pill .form-tabs__tab{border-radius:999px;padding-inline:1.15rem}.form-tabs--header-size-sm .form-tabs__tab{padding:.36rem .72rem;font-size:.82rem;border-radius:9px;gap:.3rem}.form-tabs--header-size-sm .form-tabs__tab-warn-icon{font-size:.72rem}.form-tabs--header-size-lg .form-tabs__tab{padding:.62rem 1.2rem;font-size:1.02rem}.form-tabs--header-size-lg .form-tabs__tab-warn-icon{font-size:.9rem}.form-tabs--pill.form-tabs--header-size-sm .form-tabs__tab{padding-inline:.88rem}.form-tabs--pill.form-tabs--header-size-lg .form-tabs__tab{padding-inline:1.35rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13947
13947
  }
13948
13948
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormTabsComponent, decorators: [{
13949
13949
  type: Component,
13950
- args: [{ selector: 'app-form-tabs', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"hostClass\">\n <div class=\"form-tabs__shell\">\n <div class=\"form-tabs__header-scroll\">\n <div\n class=\"form-tabs__tablist\"\n role=\"tablist\"\n [attr.aria-label]=\"tablistAriaLabel\"\n >\n @for (tab of tabs; track tab.key) {\n <button\n type=\"button\"\n class=\"form-tabs__tab\"\n role=\"tab\"\n [id]=\"headerIdFor(tab.key)\"\n [attr.aria-selected]=\"isSelected(tab.key)\"\n [attr.aria-controls]=\"panelIdFor(tab.key)\"\n [attr.tabindex]=\"isSelected(tab.key) ? 0 : -1\"\n [disabled]=\"tab.disabled\"\n [class.form-tabs__tab--active]=\"isSelected(tab.key)\"\n [class.form-tabs__tab--warn]=\"tab.headerWarning\"\n (click)=\"selectTab(tab.key)\"\n >\n @if (tab.tabIconClass.trim()) {\n <i class=\"form-tabs__tab-icon\" [class]=\"tab.tabIconClass\" aria-hidden=\"true\"></i>\n }\n <span class=\"form-tabs__tab-label\">{{ tab.tabTitle }}</span>\n @if (tab.headerWarning) {\n <span\n class=\"form-tabs__tab-warn-icon\"\n aria-hidden=\"true\"\n title=\"Existem erros nesta se\u00E7\u00E3o\"\n >\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n </span>\n }\n </button>\n }\n </div>\n </div>\n <div class=\"form-tabs__panels\">\n <ng-content select=\"app-form-tab\" />\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;box-sizing:border-box}.form-tabs{display:flex;flex-direction:column;width:100%;box-sizing:border-box}.form-tabs__shell{display:flex;flex-direction:column;gap:0;font-family:var(--structra-font-family);width:100%;padding:.7rem .85rem .85rem;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));border-radius:16px;background:var(--app-color-elevated-surface, var(--app-color-surface));box-sizing:border-box;box-shadow:0 1px 4px var(--app-color-shell-shadow, rgba(26, 47, 69, .05))}.form-tabs__header-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;box-sizing:border-box;padding:.2rem .1rem .55rem}.form-tabs__tablist{display:inline-flex;flex-wrap:nowrap;gap:.5rem;min-width:min-content;box-sizing:border-box}.form-tabs--stretch .form-tabs__tablist{width:100%}.form-tabs--stretch .form-tabs__tab{flex:1 1 0;justify-content:center}.form-tabs__tab-icon{font-size:.95em;line-height:1;opacity:.88}.form-tabs__tab{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;margin:0;padding:.52rem 1rem;border:1px solid var(--app-color-tab-inactive-border, rgba(182, 204, 229, .75));border-radius:11px;background:var(--app-color-tab-inactive-bg, var(--app-color-surface));color:var(--app-color-tab-inactive-text, #51667a);font-size:.94rem;font-weight:var(--tabs-tab-weight, var(--structra-label-weight));font-family:inherit;line-height:1.25;cursor:pointer;white-space:nowrap;user-select:none;-webkit-user-select:none;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.form-tabs__tab:hover:not(:disabled):not(.form-tabs__tab--active){border-color:var(--app-color-tab-hover-border, rgba(43, 127, 217, .42));background:var(--app-color-tab-hover-bg, #eef3f8);color:var(--app-color-text-primary, #3d5266)}.form-tabs__tab:focus,.form-tabs__tab:focus-visible{outline:none}.form-tabs__tab:disabled{opacity:.55;cursor:not-allowed}.form-tabs__tab--active,.form-tabs__tab[aria-selected=true]{border-color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));background:var(--app-color-elevated-surface, var(--app-color-surface));color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));font-weight:var(--tabs-tab-active-weight, var(--structra-title-weight));box-shadow:0 2px 8px var(--app-color-tab-shadow, rgba(43, 127, 217, .14)),0 0 0 1px var(--app-color-primary-muted, rgba(43, 127, 217, .07))}.form-tabs__tab--active .form-tabs__tab-icon,.form-tabs__tab[aria-selected=true] .form-tabs__tab-icon{color:inherit;opacity:1}.form-tabs__tab--active:hover:not(:disabled),.form-tabs__tab[aria-selected=true]:hover:not(:disabled){border-color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));box-shadow:0 3px 10px var(--app-color-tab-shadow, rgba(43, 127, 217, .16)),0 0 0 1px var(--app-color-primary-muted, rgba(43, 127, 217, .08))}.form-tabs__tab-label{max-width:14rem;overflow:hidden;text-overflow:ellipsis}.form-tabs__tab-warn-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ui-field-input-invalid-border, #b91c1c);font-size:.82rem;flex-shrink:0}.form-tabs__panels{position:relative;width:100%;min-width:0;box-sizing:border-box;margin-top:.1rem;padding-top:.75rem;padding-inline:4px;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .06))}:host.cadastro-metadata-page__tabs .form-tabs__shell{padding-inline:.2rem}:host.cadastro-metadata-page__tabs .form-tabs__panels{margin-top:0;padding-top:.4rem;padding-inline:0}.form-tabs--pill .form-tabs__tab{border-radius:999px;padding-inline:1.15rem}.form-tabs--header-size-sm .form-tabs__tab{padding:.36rem .72rem;font-size:.82rem;border-radius:9px;gap:.3rem}.form-tabs--header-size-sm .form-tabs__tab-warn-icon{font-size:.72rem}.form-tabs--header-size-lg .form-tabs__tab{padding:.62rem 1.2rem;font-size:1.02rem}.form-tabs--header-size-lg .form-tabs__tab-warn-icon{font-size:.9rem}.form-tabs--pill.form-tabs--header-size-sm .form-tabs__tab{padding-inline:.88rem}.form-tabs--pill.form-tabs--header-size-lg .form-tabs__tab{padding-inline:1.35rem}\n"] }]
13950
+ args: [{ selector: 'app-form-tabs', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"hostClass\">\n <div class=\"form-tabs__shell\">\n <div class=\"form-tabs__header-scroll\">\n <div\n class=\"form-tabs__tablist\"\n role=\"tablist\"\n [attr.aria-label]=\"tablistAriaLabel\"\n >\n @for (tab of tabs; track tab.key) {\n <button\n type=\"button\"\n class=\"form-tabs__tab\"\n role=\"tab\"\n [id]=\"headerIdFor(tab.key)\"\n [attr.aria-selected]=\"isSelected(tab.key)\"\n [attr.aria-controls]=\"panelIdFor(tab.key)\"\n [attr.tabindex]=\"isSelected(tab.key) ? 0 : -1\"\n [disabled]=\"tab.disabled\"\n [class.form-tabs__tab--active]=\"isSelected(tab.key)\"\n [class.form-tabs__tab--warn]=\"tab.headerWarning\"\n (click)=\"selectTab(tab.key)\"\n >\n @if (tab.tabIconClass.trim()) {\n <i class=\"form-tabs__tab-icon\" [class]=\"tab.tabIconClass\" aria-hidden=\"true\"></i>\n }\n <span class=\"form-tabs__tab-label\">{{ tab.tabTitle }}</span>\n @if (tab.headerWarning) {\n <span\n class=\"form-tabs__tab-warn-icon\"\n aria-hidden=\"true\"\n title=\"Existem erros nesta se\u00E7\u00E3o\"\n >\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n </span>\n }\n </button>\n }\n </div>\n </div>\n <div class=\"form-tabs__panels\">\n <ng-content select=\"app-form-tab\" />\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;box-sizing:border-box}.form-tabs{display:flex;flex-direction:column;width:100%;box-sizing:border-box}.form-tabs__shell{display:flex;flex-direction:column;gap:0;font-family:var(--structra-font-family);width:100%;padding:.7rem .85rem .85rem;border:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .09));border-radius:16px;background:var(--app-color-elevated-surface, var(--app-color-surface));box-sizing:border-box;box-shadow:0 1px 4px var(--app-color-shell-shadow, rgba(26, 47, 69, .05))}.form-tabs__header-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;box-sizing:border-box;padding:.2rem .1rem .55rem}.form-tabs__tablist{display:inline-flex;flex-wrap:nowrap;gap:.5rem;min-width:min-content;box-sizing:border-box}.form-tabs--stretch .form-tabs__tablist{width:100%}.form-tabs--stretch .form-tabs__tab{flex:1 1 0;justify-content:center}.form-tabs__tab-icon{font-size:.95em;line-height:1;opacity:.88}.form-tabs__tab{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;margin:0;padding:.52rem 1rem;border:1px solid var(--app-color-tab-inactive-border, rgba(182, 204, 229, .75));border-radius:11px;background:var(--app-color-tab-inactive-bg, var(--app-color-surface));color:var(--app-color-tab-inactive-text, #51667a);font-size:.94rem;font-weight:var(--tabs-tab-weight, var(--structra-label-weight));font-family:inherit;line-height:1.25;cursor:pointer;white-space:nowrap;user-select:none;-webkit-user-select:none;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.form-tabs__tab:hover:not(:disabled):not(.form-tabs__tab--active){border-color:var(--app-color-tab-hover-border, rgba(43, 127, 217, .42));background:var(--app-color-tab-hover-bg, #eef3f8);color:var(--app-color-text-primary, #3d5266)}.form-tabs__tab:focus,.form-tabs__tab:focus-visible{outline:none}.form-tabs__tab:disabled{opacity:.55;cursor:not-allowed}.form-tabs__tab--active,.form-tabs__tab[aria-selected=true]{border-color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));background:var(--app-color-elevated-surface, var(--app-color-surface));color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));font-weight:var(--tabs-tab-active-weight, var(--structra-title-weight));box-shadow:0 2px 8px var(--app-color-tab-shadow, rgba(43, 127, 217, .14)),0 0 0 1px var(--app-color-primary-muted, rgba(43, 127, 217, .07))}.form-tabs__tab--active .form-tabs__tab-icon,.form-tabs__tab[aria-selected=true] .form-tabs__tab-icon{color:inherit;opacity:1}.form-tabs__tab--active:hover:not(:disabled),.form-tabs__tab[aria-selected=true]:hover:not(:disabled){border-color:var(--app-color-primary, var(--ui-field-float-border-focus, #2b7fd9));box-shadow:0 3px 10px var(--app-color-tab-shadow, rgba(43, 127, 217, .16)),0 0 0 1px var(--app-color-primary-muted, rgba(43, 127, 217, .08))}.form-tabs__tab-label{max-width:14rem;overflow:hidden;text-overflow:ellipsis}.form-tabs__tab-warn-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ui-field-input-invalid-border, #b91c1c);font-size:.82rem;flex-shrink:0}.form-tabs__panels{position:relative;width:100%;min-width:0;box-sizing:border-box;margin-top:.1rem;padding-top:.75rem;padding-inline:4px;border-top:1px solid var(--app-color-border-subtle, rgba(26, 47, 69, .06))}:host.cadastro-metadata-page__tabs .form-tabs__shell{padding-inline:.55rem}:host.cadastro-metadata-page__tabs .form-tabs__panels{margin-top:0;padding-top:.4rem;padding-inline:0}.form-tabs--pill .form-tabs__tab{border-radius:999px;padding-inline:1.15rem}.form-tabs--header-size-sm .form-tabs__tab{padding:.36rem .72rem;font-size:.82rem;border-radius:9px;gap:.3rem}.form-tabs--header-size-sm .form-tabs__tab-warn-icon{font-size:.72rem}.form-tabs--header-size-lg .form-tabs__tab{padding:.62rem 1.2rem;font-size:1.02rem}.form-tabs--header-size-lg .form-tabs__tab-warn-icon{font-size:.9rem}.form-tabs--pill.form-tabs--header-size-sm .form-tabs__tab{padding-inline:.88rem}.form-tabs--pill.form-tabs--header-size-lg .form-tabs__tab{padding-inline:1.35rem}\n"] }]
13951
13951
  }], ctorParameters: () => [], propDecorators: { tabQuery: [{
13952
13952
  type: ContentChildren,
13953
13953
  args: [forwardRef(() => FormTabComponent), { descendants: false }]
@@ -40961,7 +40961,7 @@ class CadastroBasePageComponent {
40961
40961
  });
40962
40962
  }
40963
40963
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CadastroBasePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40964
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: CadastroBasePageComponent, isStandalone: true, selector: "app-cadastro-base-page", inputs: { runtime: { classPropertyName: "runtime", publicName: "runtime", isSignal: true, isRequired: false, transformFunction: null }, cadastroInitError: { classPropertyName: "cadastroInitError", publicName: "cadastroInitError", isSignal: true, isRequired: false, transformFunction: null }, cadastroInitLoading: { classPropertyName: "cadastroInitLoading", publicName: "cadastroInitLoading", isSignal: true, isRequired: false, transformFunction: null }, skeletonPanelMaxWidth: { classPropertyName: "skeletonPanelMaxWidth", publicName: "skeletonPanelMaxWidth", isSignal: true, isRequired: false, transformFunction: null }, toolbarInterno: { classPropertyName: "toolbarInterno", publicName: "toolbarInterno", isSignal: true, isRequired: false, transformFunction: null }, embeddedInReferenciaDialog: { classPropertyName: "embeddedInReferenciaDialog", publicName: "embeddedInReferenciaDialog", isSignal: true, isRequired: false, transformFunction: null }, corpoCentralizado: { classPropertyName: "corpoCentralizado", publicName: "corpoCentralizado", isSignal: true, isRequired: false, transformFunction: null }, cabecalhoPaginaVisivel: { classPropertyName: "cabecalhoPaginaVisivel", publicName: "cabecalhoPaginaVisivel", isSignal: true, isRequired: false, transformFunction: null }, validationUi: { classPropertyName: "validationUi", publicName: "validationUi", isSignal: true, isRequired: false, transformFunction: null }, validationSummaryPinned: { classPropertyName: "validationSummaryPinned", publicName: "validationSummaryPinned", isSignal: true, isRequired: false, transformFunction: null }, headerSecondaryAction: { classPropertyName: "headerSecondaryAction", publicName: "headerSecondaryAction", isSignal: true, isRequired: false, transformFunction: null }, validationSummaryTitle: { classPropertyName: "validationSummaryTitle", publicName: "validationSummaryTitle", isSignal: true, isRequired: false, transformFunction: null }, shellTopbarReserveDuplicar: { classPropertyName: "shellTopbarReserveDuplicar", publicName: "shellTopbarReserveDuplicar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { headerSecondaryActionClick: "headerSecondaryActionClick" }, queries: [{ propertyName: "projectedFormDir", first: true, predicate: FormGroupDirective, descendants: true }, { propertyName: "shellTopbarEndProjectedTpl", first: true, predicate: ["cadastroShellTopbarEnd"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "cadastroShellTopbarReserveTpl", first: true, predicate: ["cadastroShellTopbarReserveTpl"], descendants: true }], ngImport: i0, template: "<div class=\"cadastro-base-page flex min-h-0 w-full min-w-0 flex-1 flex-col gap-3\"\n [class.cadastro-base-page--sem-cabecalho]=\"!cabecalhoPaginaVisivel()\">\n @if (cadastroInitError(); as initErr) {\n <p class=\"cadastro-base-page__init-error\" role=\"alert\">{{ initErr }}</p>\n } @else if (cadastroInitLoading()) {\n <ng-container [ngTemplateOutlet]=\"cadastroLoadingSkeletonTpl\" />\n } @else if (runtime(); as rt) {\n @if (cabecalhoPaginaVisivel()) {\n <header class=\"cadastro-base-page__header shrink-0\">\n <h1 class=\"cadastro-base-page__titulo\">{{ rt.titulo() }}</h1>\n @let sub = rt.subtitulo;\n @if (sub) {\n <p class=\"cadastro-base-page__subtitulo\">{{ sub() }}</p>\n }\n </header>\n }\n\n @if (toolbarInterno() && !embeddedInReferenciaDialog()) {\n <div class=\"cadastro-base-page__toolbar flex shrink-0 flex-wrap items-center gap-2\">\n @if (headerSecondaryActionVisible()) {\n @let headerAction = headerSecondaryAction()!;\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-header-secondary\" variant=\"secondary\"\n [disabled]=\"headerAction.disabled || rt.loading() || rt.salvando() || rt.excluindo()\"\n (click)=\"headerSecondaryActionClick.emit()\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (headerAction.icon?.trim()) {\n <i [class]=\"headerAction.icon!.trim() + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ headerAction.label }}</span>\n </span>\n </app-button>\n }\n @if (rt.exibirToolbarSalvar) {\n <app-button type=\"button\" variant=\"primary\" [disabled]=\"rt.loading() || rt.salvando()\" [loading]=\"rt.salvando()\"\n (click)=\"rt.salvar()\">\n Salvar\n </app-button>\n @if (rt.exibirToolbarNovo && rt.duplicar && rt.podeDuplicar()) {\n <app-button type=\"button\" variant=\"secondary\"\n [disabled]=\"rt.loading() || rt.salvando() || rt.excluindo()\"\n (click)=\"rt.duplicar!()\">\n Duplicar\n </app-button>\n }\n @if (rt.exibirToolbarNovo) {\n <app-button type=\"button\" variant=\"secondary\" [disabled]=\"!rt.podeNovo()\"\n (click)=\"rt.novo()\">\n Novo\n </app-button>\n }\n }\n <app-button type=\"button\" variant=\"secondary\" [disabled]=\"rt.salvando() || rt.excluindo()\"\n (click)=\"rt.cancelar()\">\n Cancelar\n </app-button>\n @if (rt.exibirToolbarExcluir && rt.podeExcluir() && rt.excluir) {\n <app-button type=\"button\" variant=\"danger\" [disabled]=\"rt.salvando() || rt.excluindo()\"\n [loading]=\"rt.excluindo()\" (click)=\"rt.excluir!()\">\n Excluir\n </app-button>\n }\n </div>\n }\n\n @if (rt.loading()) {\n <ng-container [ngTemplateOutlet]=\"cadastroLoadingSkeletonTpl\" />\n } @else {\n <div class=\"cadastro-base-page__body min-h-0 min-w-0 flex-1 flex flex-col gap-3\">\n @if (validationUi(); as vui) {\n @if (vui.fieldValidationSummaryMeta; as summaryMeta) {\n <div class=\"cadastro-base-page__validation-anchor shrink-0\" tabindex=\"-1\">\n <app-validation-summary [title]=\"validationSummaryTitle()\" variant=\"error\"\n [visible]=\"validationSummaryVisible()\" [pinned]=\"validationSummaryPinnedResolved()\"\n [items]=\"validationSummaryItems()\" panelMaxHeight=\"min(32vh, 11rem)\"\n [liveSyncActive]=\"validationSummaryLive()\" [liveSyncRoot]=\"vui.form\" [liveSyncMeta]=\"summaryMeta\"\n [showCloseButton]=\"true\" (itemsLiveChange)=\"onValidationSummaryLiveItems($event)\"\n [beforeItemActivate]=\"vui.beforeSummaryItemActivate ? onValidationSummaryBeforeItemActivate : undefined\"\n (panelClose)=\"onValidationSummaryPanelClose()\" />\n </div>\n }\n }\n <ng-content />\n </div>\n }\n }\n\n <ng-template #cadastroLoadingSkeletonTpl>\n <div class=\"cadastro-base-page__loading\" [class.cadastro-base-page__loading--central]=\"corpoCentralizado()\">\n <div class=\"cadastro-base-page__skeleton\" [class.cadastro-base-page__skeleton--panel]=\"corpoCentralizado()\"\n [style.max-width]=\"skeletonPanelMaxWidthCss()\" aria-busy=\"true\" aria-live=\"polite\" role=\"status\">\n @if (corpoCentralizado()) {\n <div class=\"cadastro-base-page__skeleton-panel-head\">\n <app-skeleton-block width=\"11rem\" height=\"1.15rem\" radius=\"8px\" [animate]=\"true\" />\n <app-skeleton-block class=\"cadastro-base-page__skeleton-panel-sub\" width=\"100%\" height=\"0.85rem\"\n radius=\"6px\" [animate]=\"true\" />\n </div>\n <div class=\"cadastro-base-page__skeleton-fields cadastro-base-page__skeleton-fields--panel\">\n @for (_ of [1, 2, 3, 4]; track _) {\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n }\n </div>\n } @else {\n <app-skeleton-block class=\"cadastro-base-page__skeleton-heading\" width=\"11rem\" height=\"0.95rem\"\n radius=\"6px\" [animate]=\"true\" />\n <div class=\"cadastro-base-page__skeleton-fields\">\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n </div>\n }\n </div>\n </div>\n </ng-template>\n\n <ng-template #cadastroShellTopbarReserveTpl>\n <div class=\"cadastro-base-page__shell-topbar-reserve cadastro-shell-topbar-actions-row pointer-events-none select-none\"\n aria-hidden=\"true\">\n @if (runtime()?.exibirToolbarSalvar !== false) {\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-salvar\" variant=\"success\" size=\"md\"\n [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-floppy-disk cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Salvar</span>\n </span>\n </app-button>\n }\n @if (shellTopbarReserveDuplicarDuringInit()) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-copy cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Duplicar</span>\n </span>\n </app-button>\n }\n @if (runtime()?.exibirToolbarNovo !== false) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-file cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Novo</span>\n </span>\n </app-button>\n }\n @if (shellTopbarReserveExcluirDuringInit()) {\n <app-button type=\"button\" variant=\"danger\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-trash-can cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Excluir</span>\n </span>\n </app-button>\n }\n </div>\n </ng-template>\n\n</div>", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;width:100%;min-width:0;max-width:100%;background:transparent}:host.cadastro-metadata-page__shell{overflow-y:auto;padding:.2rem calc(.2rem + 4px)}@media(max-width:767.98px){:host.cadastro-metadata-page__shell{padding:.2rem calc(.2rem + 4px)}}:host-context(.structra-cadastro-page-host,.structra-form-page-host).cadastro-metadata-page__shell{padding:0;overflow-y:auto}:host-context(.cadastro-metadata-page--embedded-page-shell).cadastro-metadata-page__shell{padding:0;overflow-y:visible}:host-context(.cadastro-metadata-page--referencia-dialog).cadastro-metadata-page__shell{padding-inline:0;padding-block:.25rem .35rem;overflow-y:visible}@media(max-width:767.98px){:host-context(.cadastro-metadata-page--referencia-dialog).cadastro-metadata-page__shell{padding-block:.2rem .35rem}}.cadastro-base-page--sem-cabecalho{gap:.5rem}.cadastro-base-page__titulo{margin:0;font-size:1.35rem;font-weight:700;line-height:1.25;color:var(--app-color-text-primary, #1a2f45)}.cadastro-base-page__subtitulo{margin:.25rem 0 0;font-size:.9rem;line-height:1.4;color:var(--app-color-text-muted, #9ca3af);max-width:48rem}.cadastro-base-page__loading{padding:.5rem 0;width:100%;min-width:0}.cadastro-base-page__loading--central{display:flex;justify-content:center}.cadastro-base-page__skeleton{display:flex;flex-direction:column;gap:1rem;max-width:48rem;width:100%}.cadastro-base-page__skeleton--panel{max-width:720px;margin-inline:auto;padding:1.25rem .75rem;border-radius:.75rem;border:1px solid var(--structra-color-border-muted, rgba(26, 47, 69, .14));background:var(--structra-color-surface-panel, var(--structra-color-surface, #fff));box-shadow:0 1px 3px #1a2f4512;gap:1.25rem}.cadastro-base-page__skeleton-heading{align-self:flex-start}.cadastro-base-page__skeleton-panel-head{display:flex;flex-direction:column;gap:.5rem;width:100%}.cadastro-base-page__skeleton-panel-sub{max-width:min(100%,26rem)}.cadastro-base-page__skeleton-fields{display:flex;flex-direction:column;gap:.65rem}.cadastro-base-page__skeleton-fields--panel{gap:1rem}.cadastro-base-page__validation-anchor{outline:none}.cadastro-base-page__shell-topbar-reserve{visibility:hidden}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar .base-button__native{width:auto;min-width:0;padding-inline:.55rem}@media(min-width:768px){:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar .base-button__native{padding-inline:.65rem}}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native{background:color-mix(in srgb,var(--ui-button-success-bg, var(--app-color-success)) 91%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border, var(--app-color-success)) 89%,#000)}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native:hover:not(:disabled){background:color-mix(in srgb,var(--ui-button-success-bg-hover, var(--app-color-success)) 87%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border-hover, var(--app-color-success)) 85%,#000)}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native:active:not(:disabled){background:color-mix(in srgb,var(--ui-button-success-bg-active, var(--app-color-success)) 83%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border-active, var(--app-color-success)) 81%,#000)}.cadastro-base-page__init-error{margin-inline:auto;max-width:720px;box-sizing:border-box;border-radius:.5rem;border:1px solid #fecaca;background:#fef2f2;padding:.5rem .75rem;font-size:.875rem;line-height:1.4;color:#991b1b}\n", "@charset \"UTF-8\";.cadastro-shell-topbar-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.cadastro-shell-topbar-btn-inner{display:inline-flex;align-items:center;gap:.375rem}.cadastro-shell-topbar-btn-icon{font-size:1.05rem;line-height:1;flex-shrink:0}.cadastro-shell-topbar-btn-label{white-space:nowrap}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native{border-color:var(--ui-button-secondary-border, var(--app-color-border-strong));background:var(--ui-button-secondary-bg, var(--app-color-surface-alt))}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native:hover:not(:disabled){border-color:var(--ui-button-secondary-border-hover, var(--ui-button-secondary-border, var(--app-color-border)));background:var(--ui-button-secondary-bg-hover, var(--app-color-button-secondary-hover-bg))}@media(max-width:767.98px){.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-inner{gap:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "app-button" }, { kind: "component", type: SkeletonBlockComponent, selector: "app-skeleton-block", inputs: ["width", "height", "radius", "animate"] }, { kind: "component", type: SkeletonFieldShellComponent, selector: "app-skeleton-field-shell", inputs: ["variant", "animate", "size", "showLeadingIcon"] }, { kind: "component", type: ValidationSummaryComponent, selector: "app-validation-summary", inputs: ["messages", "items", "title", "visible", "pinned", "autoScrollOnReveal", "unpinnedScrollTick", "variant", "size", "tamanhoCampoMobile", "compact", "panelMaxHeight", "scrollBehavior", "revealScrollBehavior", "beforeItemActivate", "fieldNavigateDeferAfterBeforeMs", "resolveFieldNavigateDeferMs", "showCloseButton", "showListCollapseToggle", "closeButtonLabel", "fieldNavigateHint", "liveSyncActive", "liveSyncRoot", "liveSyncMeta", "liveSyncNgForm", "liveResolveItems", "liveSyncPulse"], outputs: ["itemsLiveChange", "panelClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40964
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: CadastroBasePageComponent, isStandalone: true, selector: "app-cadastro-base-page", inputs: { runtime: { classPropertyName: "runtime", publicName: "runtime", isSignal: true, isRequired: false, transformFunction: null }, cadastroInitError: { classPropertyName: "cadastroInitError", publicName: "cadastroInitError", isSignal: true, isRequired: false, transformFunction: null }, cadastroInitLoading: { classPropertyName: "cadastroInitLoading", publicName: "cadastroInitLoading", isSignal: true, isRequired: false, transformFunction: null }, skeletonPanelMaxWidth: { classPropertyName: "skeletonPanelMaxWidth", publicName: "skeletonPanelMaxWidth", isSignal: true, isRequired: false, transformFunction: null }, toolbarInterno: { classPropertyName: "toolbarInterno", publicName: "toolbarInterno", isSignal: true, isRequired: false, transformFunction: null }, embeddedInReferenciaDialog: { classPropertyName: "embeddedInReferenciaDialog", publicName: "embeddedInReferenciaDialog", isSignal: true, isRequired: false, transformFunction: null }, corpoCentralizado: { classPropertyName: "corpoCentralizado", publicName: "corpoCentralizado", isSignal: true, isRequired: false, transformFunction: null }, cabecalhoPaginaVisivel: { classPropertyName: "cabecalhoPaginaVisivel", publicName: "cabecalhoPaginaVisivel", isSignal: true, isRequired: false, transformFunction: null }, validationUi: { classPropertyName: "validationUi", publicName: "validationUi", isSignal: true, isRequired: false, transformFunction: null }, validationSummaryPinned: { classPropertyName: "validationSummaryPinned", publicName: "validationSummaryPinned", isSignal: true, isRequired: false, transformFunction: null }, headerSecondaryAction: { classPropertyName: "headerSecondaryAction", publicName: "headerSecondaryAction", isSignal: true, isRequired: false, transformFunction: null }, validationSummaryTitle: { classPropertyName: "validationSummaryTitle", publicName: "validationSummaryTitle", isSignal: true, isRequired: false, transformFunction: null }, shellTopbarReserveDuplicar: { classPropertyName: "shellTopbarReserveDuplicar", publicName: "shellTopbarReserveDuplicar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { headerSecondaryActionClick: "headerSecondaryActionClick" }, queries: [{ propertyName: "projectedFormDir", first: true, predicate: FormGroupDirective, descendants: true }, { propertyName: "shellTopbarEndProjectedTpl", first: true, predicate: ["cadastroShellTopbarEnd"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "cadastroShellTopbarReserveTpl", first: true, predicate: ["cadastroShellTopbarReserveTpl"], descendants: true }], ngImport: i0, template: "<div class=\"cadastro-base-page flex min-h-0 w-full min-w-0 flex-1 flex-col gap-3\"\n [class.cadastro-base-page--sem-cabecalho]=\"!cabecalhoPaginaVisivel()\">\n @if (cadastroInitError(); as initErr) {\n <p class=\"cadastro-base-page__init-error\" role=\"alert\">{{ initErr }}</p>\n } @else if (cadastroInitLoading()) {\n <ng-container [ngTemplateOutlet]=\"cadastroLoadingSkeletonTpl\" />\n } @else if (runtime(); as rt) {\n @if (cabecalhoPaginaVisivel()) {\n <header class=\"cadastro-base-page__header shrink-0\">\n <h1 class=\"cadastro-base-page__titulo\">{{ rt.titulo() }}</h1>\n @let sub = rt.subtitulo;\n @if (sub) {\n <p class=\"cadastro-base-page__subtitulo\">{{ sub() }}</p>\n }\n </header>\n }\n\n @if (toolbarInterno() && !embeddedInReferenciaDialog()) {\n <div class=\"cadastro-base-page__toolbar flex shrink-0 flex-wrap items-center gap-2\">\n @if (headerSecondaryActionVisible()) {\n @let headerAction = headerSecondaryAction()!;\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-header-secondary\" variant=\"secondary\"\n [disabled]=\"headerAction.disabled || rt.loading() || rt.salvando() || rt.excluindo()\"\n (click)=\"headerSecondaryActionClick.emit()\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (headerAction.icon?.trim()) {\n <i [class]=\"headerAction.icon!.trim() + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ headerAction.label }}</span>\n </span>\n </app-button>\n }\n @if (rt.exibirToolbarSalvar) {\n <app-button type=\"button\" variant=\"primary\" [disabled]=\"rt.loading() || rt.salvando()\" [loading]=\"rt.salvando()\"\n (click)=\"rt.salvar()\">\n Salvar\n </app-button>\n @if (rt.exibirToolbarNovo && rt.duplicar && rt.podeDuplicar()) {\n <app-button type=\"button\" variant=\"secondary\"\n [disabled]=\"rt.loading() || rt.salvando() || rt.excluindo()\"\n (click)=\"rt.duplicar!()\">\n Duplicar\n </app-button>\n }\n @if (rt.exibirToolbarNovo) {\n <app-button type=\"button\" variant=\"secondary\" [disabled]=\"!rt.podeNovo()\"\n (click)=\"rt.novo()\">\n Novo\n </app-button>\n }\n }\n <app-button type=\"button\" variant=\"secondary\" [disabled]=\"rt.salvando() || rt.excluindo()\"\n (click)=\"rt.cancelar()\">\n Cancelar\n </app-button>\n @if (rt.exibirToolbarExcluir && rt.podeExcluir() && rt.excluir) {\n <app-button type=\"button\" variant=\"danger\" [disabled]=\"rt.salvando() || rt.excluindo()\"\n [loading]=\"rt.excluindo()\" (click)=\"rt.excluir!()\">\n Excluir\n </app-button>\n }\n </div>\n }\n\n @if (rt.loading()) {\n <ng-container [ngTemplateOutlet]=\"cadastroLoadingSkeletonTpl\" />\n } @else {\n <div class=\"cadastro-base-page__body min-h-0 min-w-0 flex-1 flex flex-col gap-3\">\n @if (validationUi(); as vui) {\n @if (vui.fieldValidationSummaryMeta; as summaryMeta) {\n <div class=\"cadastro-base-page__validation-anchor shrink-0\" tabindex=\"-1\">\n <app-validation-summary [title]=\"validationSummaryTitle()\" variant=\"error\"\n [visible]=\"validationSummaryVisible()\" [pinned]=\"validationSummaryPinnedResolved()\"\n [items]=\"validationSummaryItems()\" panelMaxHeight=\"min(32vh, 11rem)\"\n [liveSyncActive]=\"validationSummaryLive()\" [liveSyncRoot]=\"vui.form\" [liveSyncMeta]=\"summaryMeta\"\n [showCloseButton]=\"true\" (itemsLiveChange)=\"onValidationSummaryLiveItems($event)\"\n [beforeItemActivate]=\"vui.beforeSummaryItemActivate ? onValidationSummaryBeforeItemActivate : undefined\"\n (panelClose)=\"onValidationSummaryPanelClose()\" />\n </div>\n }\n }\n <ng-content />\n </div>\n }\n }\n\n <ng-template #cadastroLoadingSkeletonTpl>\n <div class=\"cadastro-base-page__loading\" [class.cadastro-base-page__loading--central]=\"corpoCentralizado()\">\n <div class=\"cadastro-base-page__skeleton\" [class.cadastro-base-page__skeleton--panel]=\"corpoCentralizado()\"\n [style.max-width]=\"skeletonPanelMaxWidthCss()\" aria-busy=\"true\" aria-live=\"polite\" role=\"status\">\n @if (corpoCentralizado()) {\n <div class=\"cadastro-base-page__skeleton-panel-head\">\n <app-skeleton-block width=\"11rem\" height=\"1.15rem\" radius=\"8px\" [animate]=\"true\" />\n <app-skeleton-block class=\"cadastro-base-page__skeleton-panel-sub\" width=\"100%\" height=\"0.85rem\"\n radius=\"6px\" [animate]=\"true\" />\n </div>\n <div class=\"cadastro-base-page__skeleton-fields cadastro-base-page__skeleton-fields--panel\">\n @for (_ of [1, 2, 3, 4]; track _) {\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n }\n </div>\n } @else {\n <app-skeleton-block class=\"cadastro-base-page__skeleton-heading\" width=\"11rem\" height=\"0.95rem\"\n radius=\"6px\" [animate]=\"true\" />\n <div class=\"cadastro-base-page__skeleton-fields\">\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n </div>\n }\n </div>\n </div>\n </ng-template>\n\n <ng-template #cadastroShellTopbarReserveTpl>\n <div class=\"cadastro-base-page__shell-topbar-reserve cadastro-shell-topbar-actions-row pointer-events-none select-none\"\n aria-hidden=\"true\">\n @if (runtime()?.exibirToolbarSalvar !== false) {\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-salvar\" variant=\"success\" size=\"md\"\n [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-floppy-disk cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Salvar</span>\n </span>\n </app-button>\n }\n @if (shellTopbarReserveDuplicarDuringInit()) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-copy cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Duplicar</span>\n </span>\n </app-button>\n }\n @if (runtime()?.exibirToolbarNovo !== false) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-file cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Novo</span>\n </span>\n </app-button>\n }\n @if (shellTopbarReserveExcluirDuringInit()) {\n <app-button type=\"button\" variant=\"danger\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-trash-can cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Excluir</span>\n </span>\n </app-button>\n }\n </div>\n </ng-template>\n\n</div>", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;width:100%;min-width:0;max-width:100%;background:transparent}:host.cadastro-metadata-page__shell{overflow-y:auto;padding:.55rem calc(.55rem + 4px)}@media(max-width:767.98px){:host.cadastro-metadata-page__shell{padding:.55rem calc(.55rem + 4px)}}:host-context(.structra-cadastro-page-host,.structra-form-page-host).cadastro-metadata-page__shell{padding:0;overflow-y:auto}:host-context(.cadastro-metadata-page--embedded-page-shell).cadastro-metadata-page__shell{padding:0;overflow-y:visible}:host-context(.cadastro-metadata-page--referencia-dialog).cadastro-metadata-page__shell{padding-inline:0;padding-block:.25rem .35rem;overflow-y:visible}@media(max-width:767.98px){:host-context(.cadastro-metadata-page--referencia-dialog).cadastro-metadata-page__shell{padding-block:.2rem .35rem}}.cadastro-base-page--sem-cabecalho{gap:.5rem}.cadastro-base-page__titulo{margin:0;font-size:1.35rem;font-weight:700;line-height:1.25;color:var(--app-color-text-primary, #1a2f45)}.cadastro-base-page__subtitulo{margin:.25rem 0 0;font-size:.9rem;line-height:1.4;color:var(--app-color-text-muted, #9ca3af);max-width:48rem}.cadastro-base-page__loading{padding:.5rem 0;width:100%;min-width:0}.cadastro-base-page__loading--central{display:flex;justify-content:center}.cadastro-base-page__skeleton{display:flex;flex-direction:column;gap:1rem;max-width:48rem;width:100%}.cadastro-base-page__skeleton--panel{max-width:720px;margin-inline:auto;padding:1.25rem .75rem;border-radius:.75rem;border:1px solid var(--structra-color-border-muted, rgba(26, 47, 69, .14));background:var(--structra-color-surface-panel, var(--structra-color-surface, #fff));box-shadow:0 1px 3px #1a2f4512;gap:1.25rem}.cadastro-base-page__skeleton-heading{align-self:flex-start}.cadastro-base-page__skeleton-panel-head{display:flex;flex-direction:column;gap:.5rem;width:100%}.cadastro-base-page__skeleton-panel-sub{max-width:min(100%,26rem)}.cadastro-base-page__skeleton-fields{display:flex;flex-direction:column;gap:.65rem}.cadastro-base-page__skeleton-fields--panel{gap:1rem}.cadastro-base-page__validation-anchor{outline:none}.cadastro-base-page__shell-topbar-reserve{visibility:hidden}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar .base-button__native{width:auto;min-width:0;padding-inline:.55rem}@media(min-width:768px){:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar .base-button__native{padding-inline:.65rem}}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native{background:color-mix(in srgb,var(--ui-button-success-bg, var(--app-color-success)) 91%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border, var(--app-color-success)) 89%,#000)}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native:hover:not(:disabled){background:color-mix(in srgb,var(--ui-button-success-bg-hover, var(--app-color-success)) 87%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border-hover, var(--app-color-success)) 85%,#000)}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native:active:not(:disabled){background:color-mix(in srgb,var(--ui-button-success-bg-active, var(--app-color-success)) 83%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border-active, var(--app-color-success)) 81%,#000)}.cadastro-base-page__init-error{margin-inline:auto;max-width:720px;box-sizing:border-box;border-radius:.5rem;border:1px solid #fecaca;background:#fef2f2;padding:.5rem .75rem;font-size:.875rem;line-height:1.4;color:#991b1b}\n", "@charset \"UTF-8\";.cadastro-shell-topbar-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.cadastro-shell-topbar-btn-inner{display:inline-flex;align-items:center;gap:.375rem}.cadastro-shell-topbar-btn-icon{font-size:1.05rem;line-height:1;flex-shrink:0}.cadastro-shell-topbar-btn-label{white-space:nowrap}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native{border-color:var(--ui-button-secondary-border, var(--app-color-border-strong));background:var(--ui-button-secondary-bg, var(--app-color-surface-alt))}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native:hover:not(:disabled){border-color:var(--ui-button-secondary-border-hover, var(--ui-button-secondary-border, var(--app-color-border)));background:var(--ui-button-secondary-bg-hover, var(--app-color-button-secondary-hover-bg))}@media(max-width:767.98px){.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-inner{gap:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "app-button" }, { kind: "component", type: SkeletonBlockComponent, selector: "app-skeleton-block", inputs: ["width", "height", "radius", "animate"] }, { kind: "component", type: SkeletonFieldShellComponent, selector: "app-skeleton-field-shell", inputs: ["variant", "animate", "size", "showLeadingIcon"] }, { kind: "component", type: ValidationSummaryComponent, selector: "app-validation-summary", inputs: ["messages", "items", "title", "visible", "pinned", "autoScrollOnReveal", "unpinnedScrollTick", "variant", "size", "tamanhoCampoMobile", "compact", "panelMaxHeight", "scrollBehavior", "revealScrollBehavior", "beforeItemActivate", "fieldNavigateDeferAfterBeforeMs", "resolveFieldNavigateDeferMs", "showCloseButton", "showListCollapseToggle", "closeButtonLabel", "fieldNavigateHint", "liveSyncActive", "liveSyncRoot", "liveSyncMeta", "liveSyncNgForm", "liveResolveItems", "liveSyncPulse"], outputs: ["itemsLiveChange", "panelClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40965
40965
  }
40966
40966
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CadastroBasePageComponent, decorators: [{
40967
40967
  type: Component,
@@ -40971,7 +40971,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
40971
40971
  SkeletonBlockComponent,
40972
40972
  SkeletonFieldShellComponent,
40973
40973
  ValidationSummaryComponent,
40974
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cadastro-base-page flex min-h-0 w-full min-w-0 flex-1 flex-col gap-3\"\n [class.cadastro-base-page--sem-cabecalho]=\"!cabecalhoPaginaVisivel()\">\n @if (cadastroInitError(); as initErr) {\n <p class=\"cadastro-base-page__init-error\" role=\"alert\">{{ initErr }}</p>\n } @else if (cadastroInitLoading()) {\n <ng-container [ngTemplateOutlet]=\"cadastroLoadingSkeletonTpl\" />\n } @else if (runtime(); as rt) {\n @if (cabecalhoPaginaVisivel()) {\n <header class=\"cadastro-base-page__header shrink-0\">\n <h1 class=\"cadastro-base-page__titulo\">{{ rt.titulo() }}</h1>\n @let sub = rt.subtitulo;\n @if (sub) {\n <p class=\"cadastro-base-page__subtitulo\">{{ sub() }}</p>\n }\n </header>\n }\n\n @if (toolbarInterno() && !embeddedInReferenciaDialog()) {\n <div class=\"cadastro-base-page__toolbar flex shrink-0 flex-wrap items-center gap-2\">\n @if (headerSecondaryActionVisible()) {\n @let headerAction = headerSecondaryAction()!;\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-header-secondary\" variant=\"secondary\"\n [disabled]=\"headerAction.disabled || rt.loading() || rt.salvando() || rt.excluindo()\"\n (click)=\"headerSecondaryActionClick.emit()\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (headerAction.icon?.trim()) {\n <i [class]=\"headerAction.icon!.trim() + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ headerAction.label }}</span>\n </span>\n </app-button>\n }\n @if (rt.exibirToolbarSalvar) {\n <app-button type=\"button\" variant=\"primary\" [disabled]=\"rt.loading() || rt.salvando()\" [loading]=\"rt.salvando()\"\n (click)=\"rt.salvar()\">\n Salvar\n </app-button>\n @if (rt.exibirToolbarNovo && rt.duplicar && rt.podeDuplicar()) {\n <app-button type=\"button\" variant=\"secondary\"\n [disabled]=\"rt.loading() || rt.salvando() || rt.excluindo()\"\n (click)=\"rt.duplicar!()\">\n Duplicar\n </app-button>\n }\n @if (rt.exibirToolbarNovo) {\n <app-button type=\"button\" variant=\"secondary\" [disabled]=\"!rt.podeNovo()\"\n (click)=\"rt.novo()\">\n Novo\n </app-button>\n }\n }\n <app-button type=\"button\" variant=\"secondary\" [disabled]=\"rt.salvando() || rt.excluindo()\"\n (click)=\"rt.cancelar()\">\n Cancelar\n </app-button>\n @if (rt.exibirToolbarExcluir && rt.podeExcluir() && rt.excluir) {\n <app-button type=\"button\" variant=\"danger\" [disabled]=\"rt.salvando() || rt.excluindo()\"\n [loading]=\"rt.excluindo()\" (click)=\"rt.excluir!()\">\n Excluir\n </app-button>\n }\n </div>\n }\n\n @if (rt.loading()) {\n <ng-container [ngTemplateOutlet]=\"cadastroLoadingSkeletonTpl\" />\n } @else {\n <div class=\"cadastro-base-page__body min-h-0 min-w-0 flex-1 flex flex-col gap-3\">\n @if (validationUi(); as vui) {\n @if (vui.fieldValidationSummaryMeta; as summaryMeta) {\n <div class=\"cadastro-base-page__validation-anchor shrink-0\" tabindex=\"-1\">\n <app-validation-summary [title]=\"validationSummaryTitle()\" variant=\"error\"\n [visible]=\"validationSummaryVisible()\" [pinned]=\"validationSummaryPinnedResolved()\"\n [items]=\"validationSummaryItems()\" panelMaxHeight=\"min(32vh, 11rem)\"\n [liveSyncActive]=\"validationSummaryLive()\" [liveSyncRoot]=\"vui.form\" [liveSyncMeta]=\"summaryMeta\"\n [showCloseButton]=\"true\" (itemsLiveChange)=\"onValidationSummaryLiveItems($event)\"\n [beforeItemActivate]=\"vui.beforeSummaryItemActivate ? onValidationSummaryBeforeItemActivate : undefined\"\n (panelClose)=\"onValidationSummaryPanelClose()\" />\n </div>\n }\n }\n <ng-content />\n </div>\n }\n }\n\n <ng-template #cadastroLoadingSkeletonTpl>\n <div class=\"cadastro-base-page__loading\" [class.cadastro-base-page__loading--central]=\"corpoCentralizado()\">\n <div class=\"cadastro-base-page__skeleton\" [class.cadastro-base-page__skeleton--panel]=\"corpoCentralizado()\"\n [style.max-width]=\"skeletonPanelMaxWidthCss()\" aria-busy=\"true\" aria-live=\"polite\" role=\"status\">\n @if (corpoCentralizado()) {\n <div class=\"cadastro-base-page__skeleton-panel-head\">\n <app-skeleton-block width=\"11rem\" height=\"1.15rem\" radius=\"8px\" [animate]=\"true\" />\n <app-skeleton-block class=\"cadastro-base-page__skeleton-panel-sub\" width=\"100%\" height=\"0.85rem\"\n radius=\"6px\" [animate]=\"true\" />\n </div>\n <div class=\"cadastro-base-page__skeleton-fields cadastro-base-page__skeleton-fields--panel\">\n @for (_ of [1, 2, 3, 4]; track _) {\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n }\n </div>\n } @else {\n <app-skeleton-block class=\"cadastro-base-page__skeleton-heading\" width=\"11rem\" height=\"0.95rem\"\n radius=\"6px\" [animate]=\"true\" />\n <div class=\"cadastro-base-page__skeleton-fields\">\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n </div>\n }\n </div>\n </div>\n </ng-template>\n\n <ng-template #cadastroShellTopbarReserveTpl>\n <div class=\"cadastro-base-page__shell-topbar-reserve cadastro-shell-topbar-actions-row pointer-events-none select-none\"\n aria-hidden=\"true\">\n @if (runtime()?.exibirToolbarSalvar !== false) {\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-salvar\" variant=\"success\" size=\"md\"\n [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-floppy-disk cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Salvar</span>\n </span>\n </app-button>\n }\n @if (shellTopbarReserveDuplicarDuringInit()) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-copy cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Duplicar</span>\n </span>\n </app-button>\n }\n @if (runtime()?.exibirToolbarNovo !== false) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-file cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Novo</span>\n </span>\n </app-button>\n }\n @if (shellTopbarReserveExcluirDuringInit()) {\n <app-button type=\"button\" variant=\"danger\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-trash-can cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Excluir</span>\n </span>\n </app-button>\n }\n </div>\n </ng-template>\n\n</div>", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;width:100%;min-width:0;max-width:100%;background:transparent}:host.cadastro-metadata-page__shell{overflow-y:auto;padding:.2rem calc(.2rem + 4px)}@media(max-width:767.98px){:host.cadastro-metadata-page__shell{padding:.2rem calc(.2rem + 4px)}}:host-context(.structra-cadastro-page-host,.structra-form-page-host).cadastro-metadata-page__shell{padding:0;overflow-y:auto}:host-context(.cadastro-metadata-page--embedded-page-shell).cadastro-metadata-page__shell{padding:0;overflow-y:visible}:host-context(.cadastro-metadata-page--referencia-dialog).cadastro-metadata-page__shell{padding-inline:0;padding-block:.25rem .35rem;overflow-y:visible}@media(max-width:767.98px){:host-context(.cadastro-metadata-page--referencia-dialog).cadastro-metadata-page__shell{padding-block:.2rem .35rem}}.cadastro-base-page--sem-cabecalho{gap:.5rem}.cadastro-base-page__titulo{margin:0;font-size:1.35rem;font-weight:700;line-height:1.25;color:var(--app-color-text-primary, #1a2f45)}.cadastro-base-page__subtitulo{margin:.25rem 0 0;font-size:.9rem;line-height:1.4;color:var(--app-color-text-muted, #9ca3af);max-width:48rem}.cadastro-base-page__loading{padding:.5rem 0;width:100%;min-width:0}.cadastro-base-page__loading--central{display:flex;justify-content:center}.cadastro-base-page__skeleton{display:flex;flex-direction:column;gap:1rem;max-width:48rem;width:100%}.cadastro-base-page__skeleton--panel{max-width:720px;margin-inline:auto;padding:1.25rem .75rem;border-radius:.75rem;border:1px solid var(--structra-color-border-muted, rgba(26, 47, 69, .14));background:var(--structra-color-surface-panel, var(--structra-color-surface, #fff));box-shadow:0 1px 3px #1a2f4512;gap:1.25rem}.cadastro-base-page__skeleton-heading{align-self:flex-start}.cadastro-base-page__skeleton-panel-head{display:flex;flex-direction:column;gap:.5rem;width:100%}.cadastro-base-page__skeleton-panel-sub{max-width:min(100%,26rem)}.cadastro-base-page__skeleton-fields{display:flex;flex-direction:column;gap:.65rem}.cadastro-base-page__skeleton-fields--panel{gap:1rem}.cadastro-base-page__validation-anchor{outline:none}.cadastro-base-page__shell-topbar-reserve{visibility:hidden}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar .base-button__native{width:auto;min-width:0;padding-inline:.55rem}@media(min-width:768px){:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar .base-button__native{padding-inline:.65rem}}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native{background:color-mix(in srgb,var(--ui-button-success-bg, var(--app-color-success)) 91%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border, var(--app-color-success)) 89%,#000)}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native:hover:not(:disabled){background:color-mix(in srgb,var(--ui-button-success-bg-hover, var(--app-color-success)) 87%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border-hover, var(--app-color-success)) 85%,#000)}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native:active:not(:disabled){background:color-mix(in srgb,var(--ui-button-success-bg-active, var(--app-color-success)) 83%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border-active, var(--app-color-success)) 81%,#000)}.cadastro-base-page__init-error{margin-inline:auto;max-width:720px;box-sizing:border-box;border-radius:.5rem;border:1px solid #fecaca;background:#fef2f2;padding:.5rem .75rem;font-size:.875rem;line-height:1.4;color:#991b1b}\n", "@charset \"UTF-8\";.cadastro-shell-topbar-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.cadastro-shell-topbar-btn-inner{display:inline-flex;align-items:center;gap:.375rem}.cadastro-shell-topbar-btn-icon{font-size:1.05rem;line-height:1;flex-shrink:0}.cadastro-shell-topbar-btn-label{white-space:nowrap}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native{border-color:var(--ui-button-secondary-border, var(--app-color-border-strong));background:var(--ui-button-secondary-bg, var(--app-color-surface-alt))}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native:hover:not(:disabled){border-color:var(--ui-button-secondary-border-hover, var(--ui-button-secondary-border, var(--app-color-border)));background:var(--ui-button-secondary-bg-hover, var(--app-color-button-secondary-hover-bg))}@media(max-width:767.98px){.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-inner{gap:0}}\n"] }]
40974
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cadastro-base-page flex min-h-0 w-full min-w-0 flex-1 flex-col gap-3\"\n [class.cadastro-base-page--sem-cabecalho]=\"!cabecalhoPaginaVisivel()\">\n @if (cadastroInitError(); as initErr) {\n <p class=\"cadastro-base-page__init-error\" role=\"alert\">{{ initErr }}</p>\n } @else if (cadastroInitLoading()) {\n <ng-container [ngTemplateOutlet]=\"cadastroLoadingSkeletonTpl\" />\n } @else if (runtime(); as rt) {\n @if (cabecalhoPaginaVisivel()) {\n <header class=\"cadastro-base-page__header shrink-0\">\n <h1 class=\"cadastro-base-page__titulo\">{{ rt.titulo() }}</h1>\n @let sub = rt.subtitulo;\n @if (sub) {\n <p class=\"cadastro-base-page__subtitulo\">{{ sub() }}</p>\n }\n </header>\n }\n\n @if (toolbarInterno() && !embeddedInReferenciaDialog()) {\n <div class=\"cadastro-base-page__toolbar flex shrink-0 flex-wrap items-center gap-2\">\n @if (headerSecondaryActionVisible()) {\n @let headerAction = headerSecondaryAction()!;\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-header-secondary\" variant=\"secondary\"\n [disabled]=\"headerAction.disabled || rt.loading() || rt.salvando() || rt.excluindo()\"\n (click)=\"headerSecondaryActionClick.emit()\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (headerAction.icon?.trim()) {\n <i [class]=\"headerAction.icon!.trim() + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ headerAction.label }}</span>\n </span>\n </app-button>\n }\n @if (rt.exibirToolbarSalvar) {\n <app-button type=\"button\" variant=\"primary\" [disabled]=\"rt.loading() || rt.salvando()\" [loading]=\"rt.salvando()\"\n (click)=\"rt.salvar()\">\n Salvar\n </app-button>\n @if (rt.exibirToolbarNovo && rt.duplicar && rt.podeDuplicar()) {\n <app-button type=\"button\" variant=\"secondary\"\n [disabled]=\"rt.loading() || rt.salvando() || rt.excluindo()\"\n (click)=\"rt.duplicar!()\">\n Duplicar\n </app-button>\n }\n @if (rt.exibirToolbarNovo) {\n <app-button type=\"button\" variant=\"secondary\" [disabled]=\"!rt.podeNovo()\"\n (click)=\"rt.novo()\">\n Novo\n </app-button>\n }\n }\n <app-button type=\"button\" variant=\"secondary\" [disabled]=\"rt.salvando() || rt.excluindo()\"\n (click)=\"rt.cancelar()\">\n Cancelar\n </app-button>\n @if (rt.exibirToolbarExcluir && rt.podeExcluir() && rt.excluir) {\n <app-button type=\"button\" variant=\"danger\" [disabled]=\"rt.salvando() || rt.excluindo()\"\n [loading]=\"rt.excluindo()\" (click)=\"rt.excluir!()\">\n Excluir\n </app-button>\n }\n </div>\n }\n\n @if (rt.loading()) {\n <ng-container [ngTemplateOutlet]=\"cadastroLoadingSkeletonTpl\" />\n } @else {\n <div class=\"cadastro-base-page__body min-h-0 min-w-0 flex-1 flex flex-col gap-3\">\n @if (validationUi(); as vui) {\n @if (vui.fieldValidationSummaryMeta; as summaryMeta) {\n <div class=\"cadastro-base-page__validation-anchor shrink-0\" tabindex=\"-1\">\n <app-validation-summary [title]=\"validationSummaryTitle()\" variant=\"error\"\n [visible]=\"validationSummaryVisible()\" [pinned]=\"validationSummaryPinnedResolved()\"\n [items]=\"validationSummaryItems()\" panelMaxHeight=\"min(32vh, 11rem)\"\n [liveSyncActive]=\"validationSummaryLive()\" [liveSyncRoot]=\"vui.form\" [liveSyncMeta]=\"summaryMeta\"\n [showCloseButton]=\"true\" (itemsLiveChange)=\"onValidationSummaryLiveItems($event)\"\n [beforeItemActivate]=\"vui.beforeSummaryItemActivate ? onValidationSummaryBeforeItemActivate : undefined\"\n (panelClose)=\"onValidationSummaryPanelClose()\" />\n </div>\n }\n }\n <ng-content />\n </div>\n }\n }\n\n <ng-template #cadastroLoadingSkeletonTpl>\n <div class=\"cadastro-base-page__loading\" [class.cadastro-base-page__loading--central]=\"corpoCentralizado()\">\n <div class=\"cadastro-base-page__skeleton\" [class.cadastro-base-page__skeleton--panel]=\"corpoCentralizado()\"\n [style.max-width]=\"skeletonPanelMaxWidthCss()\" aria-busy=\"true\" aria-live=\"polite\" role=\"status\">\n @if (corpoCentralizado()) {\n <div class=\"cadastro-base-page__skeleton-panel-head\">\n <app-skeleton-block width=\"11rem\" height=\"1.15rem\" radius=\"8px\" [animate]=\"true\" />\n <app-skeleton-block class=\"cadastro-base-page__skeleton-panel-sub\" width=\"100%\" height=\"0.85rem\"\n radius=\"6px\" [animate]=\"true\" />\n </div>\n <div class=\"cadastro-base-page__skeleton-fields cadastro-base-page__skeleton-fields--panel\">\n @for (_ of [1, 2, 3, 4]; track _) {\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n }\n </div>\n } @else {\n <app-skeleton-block class=\"cadastro-base-page__skeleton-heading\" width=\"11rem\" height=\"0.95rem\"\n radius=\"6px\" [animate]=\"true\" />\n <div class=\"cadastro-base-page__skeleton-fields\">\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n <app-skeleton-field-shell variant=\"text\" size=\"md\" [showLeadingIcon]=\"false\" [animate]=\"true\" />\n </div>\n }\n </div>\n </div>\n </ng-template>\n\n <ng-template #cadastroShellTopbarReserveTpl>\n <div class=\"cadastro-base-page__shell-topbar-reserve cadastro-shell-topbar-actions-row pointer-events-none select-none\"\n aria-hidden=\"true\">\n @if (runtime()?.exibirToolbarSalvar !== false) {\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-salvar\" variant=\"success\" size=\"md\"\n [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-floppy-disk cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Salvar</span>\n </span>\n </app-button>\n }\n @if (shellTopbarReserveDuplicarDuringInit()) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-copy cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Duplicar</span>\n </span>\n </app-button>\n }\n @if (runtime()?.exibirToolbarNovo !== false) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-file cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Novo</span>\n </span>\n </app-button>\n }\n @if (shellTopbarReserveExcluirDuringInit()) {\n <app-button type=\"button\" variant=\"danger\" size=\"md\" [fullWidth]=\"false\" [disabled]=\"true\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-trash-can cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Excluir</span>\n </span>\n </app-button>\n }\n </div>\n </ng-template>\n\n</div>", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;width:100%;min-width:0;max-width:100%;background:transparent}:host.cadastro-metadata-page__shell{overflow-y:auto;padding:.55rem calc(.55rem + 4px)}@media(max-width:767.98px){:host.cadastro-metadata-page__shell{padding:.55rem calc(.55rem + 4px)}}:host-context(.structra-cadastro-page-host,.structra-form-page-host).cadastro-metadata-page__shell{padding:0;overflow-y:auto}:host-context(.cadastro-metadata-page--embedded-page-shell).cadastro-metadata-page__shell{padding:0;overflow-y:visible}:host-context(.cadastro-metadata-page--referencia-dialog).cadastro-metadata-page__shell{padding-inline:0;padding-block:.25rem .35rem;overflow-y:visible}@media(max-width:767.98px){:host-context(.cadastro-metadata-page--referencia-dialog).cadastro-metadata-page__shell{padding-block:.2rem .35rem}}.cadastro-base-page--sem-cabecalho{gap:.5rem}.cadastro-base-page__titulo{margin:0;font-size:1.35rem;font-weight:700;line-height:1.25;color:var(--app-color-text-primary, #1a2f45)}.cadastro-base-page__subtitulo{margin:.25rem 0 0;font-size:.9rem;line-height:1.4;color:var(--app-color-text-muted, #9ca3af);max-width:48rem}.cadastro-base-page__loading{padding:.5rem 0;width:100%;min-width:0}.cadastro-base-page__loading--central{display:flex;justify-content:center}.cadastro-base-page__skeleton{display:flex;flex-direction:column;gap:1rem;max-width:48rem;width:100%}.cadastro-base-page__skeleton--panel{max-width:720px;margin-inline:auto;padding:1.25rem .75rem;border-radius:.75rem;border:1px solid var(--structra-color-border-muted, rgba(26, 47, 69, .14));background:var(--structra-color-surface-panel, var(--structra-color-surface, #fff));box-shadow:0 1px 3px #1a2f4512;gap:1.25rem}.cadastro-base-page__skeleton-heading{align-self:flex-start}.cadastro-base-page__skeleton-panel-head{display:flex;flex-direction:column;gap:.5rem;width:100%}.cadastro-base-page__skeleton-panel-sub{max-width:min(100%,26rem)}.cadastro-base-page__skeleton-fields{display:flex;flex-direction:column;gap:.65rem}.cadastro-base-page__skeleton-fields--panel{gap:1rem}.cadastro-base-page__validation-anchor{outline:none}.cadastro-base-page__shell-topbar-reserve{visibility:hidden}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar .base-button__native{width:auto;min-width:0;padding-inline:.55rem}@media(min-width:768px){:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar .base-button__native{padding-inline:.65rem}}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native{background:color-mix(in srgb,var(--ui-button-success-bg, var(--app-color-success)) 91%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border, var(--app-color-success)) 89%,#000)}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native:hover:not(:disabled){background:color-mix(in srgb,var(--ui-button-success-bg-hover, var(--app-color-success)) 87%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border-hover, var(--app-color-success)) 85%,#000)}:host ::ng-deep app-button.cadastro-shell-topbar-btn-salvar.base-button--success .base-button__native:active:not(:disabled){background:color-mix(in srgb,var(--ui-button-success-bg-active, var(--app-color-success)) 83%,#000);border-color:color-mix(in srgb,var(--ui-button-success-border-active, var(--app-color-success)) 81%,#000)}.cadastro-base-page__init-error{margin-inline:auto;max-width:720px;box-sizing:border-box;border-radius:.5rem;border:1px solid #fecaca;background:#fef2f2;padding:.5rem .75rem;font-size:.875rem;line-height:1.4;color:#991b1b}\n", "@charset \"UTF-8\";.cadastro-shell-topbar-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.cadastro-shell-topbar-btn-inner{display:inline-flex;align-items:center;gap:.375rem}.cadastro-shell-topbar-btn-icon{font-size:1.05rem;line-height:1;flex-shrink:0}.cadastro-shell-topbar-btn-label{white-space:nowrap}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native{border-color:var(--ui-button-secondary-border, var(--app-color-border-strong));background:var(--ui-button-secondary-bg, var(--app-color-surface-alt))}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native:hover:not(:disabled){border-color:var(--ui-button-secondary-border-hover, var(--ui-button-secondary-border, var(--app-color-border)));background:var(--ui-button-secondary-bg-hover, var(--app-color-button-secondary-hover-bg))}@media(max-width:767.98px){.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-inner{gap:0}}\n"] }]
40975
40975
  }], ctorParameters: () => [], propDecorators: { cadastroShellTopbarReserveTpl: [{
40976
40976
  type: ViewChild,
40977
40977
  args: ['cadastroShellTopbarReserveTpl']
@@ -43690,7 +43690,7 @@ class FormCollectionComponent {
43690
43690
  this.cdr.markForCheck();
43691
43691
  }
43692
43692
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormCollectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43693
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormCollectionComponent, isStandalone: true, selector: "app-form-collection", inputs: { rootForm: { classPropertyName: "rootForm", publicName: "rootForm", isSignal: true, isRequired: true, transformFunction: null }, campo: { classPropertyName: "campo", publicName: "campo", isSignal: true, isRequired: true, transformFunction: null }, formArray: { classPropertyName: "formArray", publicName: "formArray", isSignal: true, isRequired: true, transformFunction: null }, modo: { classPropertyName: "modo", publicName: "modo", isSignal: true, isRequired: true, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, redirectReturnUrl: { classPropertyName: "redirectReturnUrl", publicName: "redirectReturnUrl", isSignal: true, isRequired: false, transformFunction: null }, embeddedInDeclarativeSection: { classPropertyName: "embeddedInDeclarativeSection", publicName: "embeddedInDeclarativeSection", isSignal: true, isRequired: false, transformFunction: null }, formGridColumns: { classPropertyName: "formGridColumns", publicName: "formGridColumns", isSignal: true, isRequired: false, transformFunction: null }, searchSelectBindings: { classPropertyName: "searchSelectBindings", publicName: "searchSelectBindings", isSignal: true, isRequired: false, transformFunction: null }, listSelectBindings: { classPropertyName: "listSelectBindings", publicName: "listSelectBindings", isSignal: true, isRequired: false, transformFunction: null }, multiselectBindings: { classPropertyName: "multiselectBindings", publicName: "multiselectBindings", isSignal: true, isRequired: false, transformFunction: null }, cadastroUiRegistry: { classPropertyName: "cadastroUiRegistry", publicName: "cadastroUiRegistry", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "structra-form-collection" }, ngImport: i0, template: "@let c = campo();\n@let desc = (c.description ?? '').trim();\n@let titulo = (c.label ?? '').trim();\n\n<div class=\"structra-form-collection__root w-full min-w-0\"\n [class.structra-form-collection__surface]=\"!collectionEmbuteNoFormGroupPai()\"\n [class.structra-form-collection__surface--card]=\"!collectionEmbuteNoFormGroupPai() && collectionContainerCard()\"\n [class.structra-form-collection__root--embedded]=\"collectionEmbuteNoFormGroupPai()\">\n @if (mostrarCabecalhoColecao()) {\n <header class=\"structra-form-collection__header\">\n @if (titulo !== '') {\n <h3 class=\"structra-form-collection__title\">{{ titulo }}</h3>\n }\n @if (desc !== '') {\n <p class=\"structra-form-collection__description\">{{ desc }}</p>\n }\n </header>\n }\n\n @if (collectionBulkMidiaUploadEnabled()) {\n <div class=\"structra-form-collection__bulk-midia w-full min-w-0\"\n [class.structra-form-collection__bulk-midia--no-preview]=\"!bulkMidiaMostrarPreview()\">\n <app-form-row gap=\"lg\" align=\"start\">\n <app-form-col [xs]=\"12\" [md]=\"bulkMidiaMostrarPreview() ? 6 : 12\"\n class=\"structra-form-collection__bulk-midia-upload min-w-0\">\n @if (bulkMidiaTransportMissing()) {\n <app-alert type=\"warning\"\n message=\"O envio de arquivos n\u00E3o est\u00E1 configurado (token de transporte ausente).\"\n class=\"structra-form-collection__bulk-midia-alert w-full\" />\n }\n @if (bulkMidiaError(); as bmErr) {\n <app-alert type=\"error\" [message]=\"bmErr\" class=\"structra-form-collection__bulk-midia-alert w-full\" />\n }\n <app-file-upload-field [id]=\"bulkMidiaFieldIdUi()\" [label]=\"bulkMidiaUploadLabelUi()\"\n [hint]=\"bulkMidiaUploadHint()\" accept=\"image/*\" acceptLabel=\"Imagens\" [maxSizeMb]=\"12\"\n [multiple]=\"true\" [maxFiles]=\"bulkMidiaMaxFilesForPicker()\" [listMaxVisibleRows]=\"bulkMidiaListMaxVisibleRows()\"\n [disabled]=\"collectionReadOnly() || !bulkMidiaCanStageMoreFiles() || bulkMidiaBusy()\"\n [loading]=\"bulkMidiaBusy()\" [value]=\"bulkMidiaUploadValue()\" [showFileDownload]=\"false\"\n [fileItemRowClickable]=\"true\" [externalErrorMessage]=\"bulkMidiaUrlExternalErrorMessage()\"\n (valueChange)=\"onBulkMidiaValueChange($event)\" (fileItemClick)=\"onBulkMidiaFileItemClick($event)\"\n (fileRejected)=\"onBulkMidiaFileRejected($event)\" />\n </app-form-col>\n @if (bulkMidiaMostrarPreview()) {\n <app-form-col [xs]=\"12\" [md]=\"6\" class=\"structra-form-collection__bulk-midia-preview min-w-0\">\n <app-image-preview-panel title=\"Pr\u00E9-visualiza\u00E7\u00E3o\" [subtitle]=\"bulkMidiaPanelSubtitle()\"\n [file]=\"bulkMidiaPreviewFile()\" emptyText=\"Selecione arquivos ou clique em uma linha da lista.\"\n [rounded]=\"true\" objectFit=\"contain\" />\n </app-form-col>\n }\n </app-form-row>\n </div>\n }\n\n @if (usaResumoValidacaoItens() && itemEditorGroup(); as sumRoot) {\n <app-validation-summary class=\"structra-form-collection__item-validation w-full min-w-0 shrink-0\"\n title=\"Corrija os campos do item:\" variant=\"error\" [visible]=\"itemValidationSummaryVisible()\"\n [pinned]=\"itemValidationSummaryPinned()\" scrollBehavior=\"auto\" [liveSyncActive]=\"true\" [liveSyncRoot]=\"sumRoot\"\n [liveSyncMeta]=\"itemValidationSummaryMeta()\" [liveResolveItems]=\"resolveItemValidationSummaryItems\"\n [liveSyncPulse]=\"itemValidationLivePulse()\" panelMaxHeight=\"min(28vh, 10rem)\" [showCloseButton]=\"true\"\n (panelClose)=\"onItemValidationPanelClose()\" />\n }\n\n @if (itemEditorGroup(); as eg) {\n @if (itemEditorSecoesParaUi().length > 0) {\n <!-- Isola `FormGroupDirective` do rascunho do submit do formul\u00E1rio raiz (evita bordas de erro esp\u00FArias). -->\n <div class=\"structra-form-collection__editor w-full min-w-0 flex flex-col\" [formGroup]=\"eg\">\n <ng-template #camposItemEditorSecao let-sec>\n <div class=\"structra-form-collection__editor-sec cadastro-fields-base__fields w-full min-w-0\"\n [class.cadastro-metadata-form-fields__grid]=\"usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [class.cadastro-metadata-form-fields__stack]=\"!usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [style.--cadastro-grid-tracks]=\"\n usaLayoutEmGrelhaParaItemEditorSecao(sec) ? denominadorTracksParaItemEditorSecao(sec) : null\n \" [style.grid-template-columns]=\"gridTemplateColumnsParaItemEditorViewport(sec)\">\n @for (campoItem of sec.campos; track campoItem.fieldId; let idx = $index) {\n <app-cadastro-field-renderer class=\"min-w-0\" [form]=\"eg\" [campo]=\"campoItem\" [modo]=\"modo()\"\n [loading]=\"loading()\" [claimMetadataAutofocus]=\"false\" [embeddedInDeclarativeSection]=\"true\"\n [redirectReturnUrl]=\"redirectReturnUrl()\"\n [searchSelect]=\"searchSelectBindings()[campoItem.key] ?? null\"\n [listSelect]=\"listSelectBindings()[campoItem.key] ?? null\"\n [multiselect]=\"multiselectBindings()[campoItem.key] ?? null\"\n [formGridColumnsForLayout]=\"colunasGrelhaParaItemEditorSecao(sec)\"\n [listSelectBindingsMap]=\"listSelectBindings()\" [multiselectBindingsMap]=\"multiselectBindings()\"\n [searchSelectBindingsMap]=\"searchSelectBindings()\" [cadastroUiRegistry]=\"cadastroUiRegistry()\"\n [style.grid-column]=\"itemEditorGridColumnSpanParaCampo(sec, campoItem, idx)\" />\n }\n </div>\n </ng-template>\n @for (sec of itemEditorSecoesParaUi(); track sec.key) {\n @if (sec.label.trim() || sec.subtitle.trim() || secaoUsaSuperficieDeclarativa(sec)) {\n @if (secaoUsaFormGroup(sec)) {\n <app-form-group class=\"structra-form-collection__editor-sec-shell cadastro-fields-base__section w-full min-w-0\"\n [titulo]=\"sec.label\" [subtitulo]=\"sec.subtitle\" [collapsible]=\"sec.collapsible\"\n [collapsed]=\"sec.collapsible && sec.initiallyCollapsed\" [foldable]=\"!sec.sectionReadOnly\"\n [variant]=\"formGroupVariantItem(sec)\" [showDivider]=\"false\" [skipBodyChildStacking]=\"true\"\n [formGroupPath]=\"itemEditorSecaoFormGroupPath(sec)\" [groupInvalid]=\"itemEditorSecaoGroupInvalid(sec)\"\n [uxSubmittedPass]=\"false\" (collapsedChange)=\"onItemEditorFormGroupCollapsedChange(sec, $event)\">\n <ng-container *ngTemplateOutlet=\"camposItemEditorSecao; context: { $implicit: sec }\" />\n </app-form-group>\n } @else {\n <app-form-section\n class=\"structra-form-collection__editor-sec-shell cadastro-fields-base__section w-full min-w-0\"\n [divider]=\"false\" [variant]=\"formSectionVariantItem(sec)\" [titulo]=\"sec.label\" [subtitulo]=\"sec.subtitle\">\n <ng-container *ngTemplateOutlet=\"camposItemEditorSecao; context: { $implicit: sec }\" />\n </app-form-section>\n }\n } @else {\n <div class=\"structra-form-collection__editor-sec cadastro-fields-base__fields cadastro-fields-base__fields--flat w-full min-w-0\"\n [class.cadastro-metadata-form-fields__grid]=\"usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [class.cadastro-metadata-form-fields__stack]=\"!usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [style.--cadastro-grid-tracks]=\"\n usaLayoutEmGrelhaParaItemEditorSecao(sec) ? denominadorTracksParaItemEditorSecao(sec) : null\n \" [style.grid-template-columns]=\"gridTemplateColumnsParaItemEditorViewport(sec)\">\n @for (campoItem of sec.campos; track campoItem.fieldId; let idx = $index) {\n <app-cadastro-field-renderer class=\"min-w-0\" [form]=\"eg\" [campo]=\"campoItem\" [modo]=\"modo()\"\n [loading]=\"loading()\" [claimMetadataAutofocus]=\"false\" [redirectReturnUrl]=\"redirectReturnUrl()\"\n [searchSelect]=\"searchSelectBindings()[campoItem.key] ?? null\"\n [listSelect]=\"listSelectBindings()[campoItem.key] ?? null\"\n [multiselect]=\"multiselectBindings()[campoItem.key] ?? null\"\n [formGridColumnsForLayout]=\"colunasGrelhaParaItemEditorSecao(sec)\"\n [listSelectBindingsMap]=\"listSelectBindings()\" [multiselectBindingsMap]=\"multiselectBindings()\"\n [searchSelectBindingsMap]=\"searchSelectBindings()\" [cadastroUiRegistry]=\"cadastroUiRegistry()\"\n [style.grid-column]=\"itemEditorGridColumnSpanParaCampo(sec, campoItem, idx)\" />\n }\n </div>\n }\n }\n </div>\n }\n }\n\n <div class=\"structra-form-collection__toolbar\">\n @if (!collectionReadOnly()) {\n <div class=\"structra-form-collection__toolbar-actions\">\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [loading]=\"bulkMidiaBusy()\"\n [disabled]=\"!podeAdicionar()\" (click)=\"adicionarItem()\"\n [attr.aria-label]=\"toolbarApplyButtonAriaLabel()\">\n <span class=\"structra-form-collection__toolbar-btn-inner\"\n [class.structra-form-collection__toolbar-btn-inner--icon-only]=\"toolbarApplyButtonText() === ''\">\n <i [class]=\"toolbarApplyIconClasses()\" aria-hidden=\"true\"></i>\n @if (toolbarApplyButtonText() !== '') {\n <span>{{ toolbarApplyButtonText() }}</span>\n }\n </span>\n </app-button>\n </div>\n }\n </div>\n\n <div class=\"structra-form-collection__list\"\n [class.structra-form-collection__list--chrome-card]=\"collectionLayoutChrome() === 'card'\"\n [class.structra-form-collection__list--chrome-responsive]=\"collectionLayoutChrome() === 'responsive'\"\n [class.structra-form-collection__list--chrome-plain]=\"collectionLayoutChrome() === 'plain'\">\n @if (!isMobileLayout()) {\n <app-data-grid class=\"structra-form-collection__data-grid\" [rows]=\"gridRowsForAgGrid()\"\n [columns]=\"gridColumns()\" [pagination]=\"true\" [pageSize]=\"agGridPageSize()\"\n [initialPaginationPage]=\"initialAgGridPageZeroBased()\" [suppressPaginationPageSizeSelector]=\"true\"\n [loading]=\"collectionDataGridLoading()\" height=\"min(22rem, 45vh)\" emptyMessage=\"Nenhum item nesta lista.\"\n [highlightedRowMatch]=\"selectedRowArrayIndex()\" highlightMatchField=\"__rowArrayIndex\"\n [showActionsColumn]=\"collectionGridShowActionsColumn()\" [showEditAction]=\"collectionGridShowEditAction()\"\n [showRemoveAction]=\"collectionGridShowRemoveAction()\" [suppressRowClick]=\"true\"\n [inlineCellEditing]=\"collectionGridInlineEditing()\" (edit)=\"onCollectionRowEdit($event)\"\n (remove)=\"onCollectionRowRemove($event)\" (paginationChanged)=\"onDataGridPaginationChanged($event)\" />\n } @else {\n <app-card-list class=\"structra-form-collection__card-list\" [items]=\"gridRows()\" [mapItem]=\"mapCardItemView\"\n [showItemActions]=\"collectionGridShowActionsColumn()\" [showEditAction]=\"collectionGridShowEditAction()\"\n [showRemoveAction]=\"collectionGridShowRemoveAction()\" [cardOpenOnClick]=\"false\"\n [dataMode]=\"mobileCardListDataMode()\" [totalCountRemote]=\"mobileCardListTotalCountRemote()\"\n [hasNextPage]=\"mobileCardListHasNextPage()\" (loadMore)=\"onCardListRemoteLoadMore()\" [showFooter]=\"true\"\n headerPosition=\"header\" [loadingMore]=\"mobileCardListLoadingMore()\" [scrollBatchSize]=\"500\"\n scrollMaxHeight=\"min(22rem, 45vh)\" emptyMessage=\"Nenhum item nesta lista.\" [loading]=\"gridLoading()\"\n (edit)=\"onCollectionRowEdit($event)\" (remove)=\"onCollectionRowRemove($event)\"\n (booleanFieldChange)=\"onCardBooleanFieldChange($event)\" />\n }\n </div>\n @if (mostrarPaginacaoRemota()) {\n @if (pagingEstadoRemoto()?.erro; as erroColecao) {\n <p class=\"text-sm text-red-600 dark:text-red-400\">{{ erroColecao }}</p>\n }\n }\n</div>", styles: ["@charset \"UTF-8\";:host.structra-form-collection{display:block;width:100%;min-width:0}.structra-form-collection__root--embedded{display:block;background:transparent;border:none;padding:0;margin:0;box-shadow:none}.structra-form-collection__surface{width:100%;min-width:0;border:none;border-radius:0;padding:0;background:var(--app-color-elevated-surface, var(--app-color-surface))}.structra-form-collection__surface--card{border:1px solid var(--app-color-border-subtle, var(--structra-border-subtle, rgba(26, 47, 69, .12)));border-radius:var(--structra-radius-md, 8px);padding:.75rem 1rem 1rem;background:var(--app-color-elevated-surface, var(--app-color-surface));box-shadow:0 .15rem .45rem var(--app-color-shell-shadow, rgba(15, 23, 42, .04))}.structra-form-collection__header{margin-bottom:.75rem}.structra-form-collection__bulk-midia{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.structra-form-collection__bulk-midia-alert{margin-bottom:.35rem}.structra-form-collection__bulk-midia-upload,.structra-form-collection__bulk-midia-preview{min-width:0}.structra-form-collection__bulk-midia--no-preview .structra-form-collection__bulk-midia-upload{width:100%;max-width:100%}.structra-form-collection__bulk-midia--no-preview ::ng-deep .file-upload-field__zone{min-height:5.5rem}.structra-form-collection__toolbar{display:flex;width:100%;box-sizing:border-box;justify-content:center;margin-bottom:.75rem}.structra-form-collection__toolbar-actions{display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center}.structra-form-collection__toolbar-btn-inner{display:inline-flex;align-items:center;gap:.35rem}.structra-form-collection__toolbar-btn-inner--icon-only{gap:0}.structra-form-collection__toolbar-icon{font-size:1rem;line-height:1}.structra-form-collection__title{margin:0;font-size:1rem;font-weight:600;color:var(--structra-text-primary, inherit)}.structra-form-collection__item-validation{margin-bottom:.5rem}.structra-form-collection__editor{display:flex;flex-direction:column;gap:.4rem;margin-bottom:0}.structra-form-collection__description{margin:.25rem 0 0;font-size:.875rem;color:var(--structra-text-secondary, var(--app-color-text-secondary, rgba(0, 0, 0, .65)))}.structra-form-collection__list{width:100%;min-width:0}.structra-form-collection__data-grid,.structra-form-collection__card-list{display:block;width:100%;min-width:0}.structra-form-collection__list--chrome-card .structra-form-collection__card-list ::ng-deep .data-card,.structra-form-collection__list--chrome-responsive .structra-form-collection__card-list ::ng-deep .data-card{border-radius:var(--structra-radius-sm, 6px)}\n", "@charset \"UTF-8\";.cadastro-metadata-form-fields__grid{display:grid;grid-template-columns:repeat(var(--cadastro-grid-tracks, 2),minmax(0,1fr));gap:.4rem;align-items:start;justify-items:stretch}@media(max-width:767.98px){.cadastro-metadata-form-fields__grid{grid-template-columns:minmax(0,1fr)}.cadastro-metadata-form-fields__grid>*{grid-column:auto!important}}.cadastro-metadata-form-fields__grid>*{min-width:0}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer:not(.cadastro-field-renderer-host--checkbox-cell){width:100%;min-width:0;justify-self:stretch}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell:not(.cadastro-field-renderer-host--checkbox-cell-full){align-self:center;justify-self:start;margin-top:0;width:max-content;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell-full{grid-column:1/-1;align-self:start;justify-self:stretch;margin-top:0;width:100%;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__stack{display:flex;flex-direction:column;gap:.4rem;align-items:stretch}.cadastro-metadata-form-fields__stack>*{min-width:0}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer:not(.cadastro-field-renderer-host--checkbox-cell){width:100%;min-width:0}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell{align-self:flex-start;width:max-content;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell-full{align-self:stretch;width:100%;max-width:100%}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1$2.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i1.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i0.forwardRef(() => ButtonComponent), selector: "app-button" }, { kind: "component", type: i0.forwardRef(() => AlertComponent), selector: "app-alert", inputs: ["type", "message", "closable", "action"], outputs: ["actionClick"] }, { kind: "component", type: i0.forwardRef(() => DataGridComponent), selector: "app-data-grid", inputs: ["rows", "columns", "pageSize", "loading", "initialPaginationPage", "height", "fitPaginationHeight", "fitPaginationMinEmptyRows", "emptyMessage", "pagination", "paginationPanelPlacement", "paginationStripOnly", "placeholderPagerChromeOnly", "suppressPaginationPageSizeSelector", "showActionsColumn", "showEditAction", "editActionLabel", "editActionIconClass", "showRemoveAction", "showDuplicateAction", "showPrintAction", "printActionLabel", "suppressRowClick", "inlineCellEditing", "highlightedRowMatch", "highlightMatchField", "layoutTelaKey", "layoutGridKey", "gridNavigatePreserve"], outputs: ["edit", "duplicate", "print", "remove", "rowClick", "selectionChange", "paginationChanged"] }, { kind: "component", type: i0.forwardRef(() => CardListComponent), selector: "app-card-list", inputs: ["items", "loading", "loadingMore", "emptyMessage", "variant", "mapItem", "showItemActions", "showEditAction", "editActionLabel", "editActionIconClass", "showRemoveAction", "cardOpenOnClick", "trackByProp", "dataMode", "scrollBatchSize", "scrollLoadThresholdPx", "showFooter", "headerPosition", "scrollMaxHeight", "cardsPerRow", "gridNavigatePreserve", "totalCountRemote", "hasNextPage"], outputs: ["loadMore", "edit", "remove", "booleanFieldChange"] }, { kind: "component", type: i0.forwardRef(() => FormRowComponent), selector: "app-form-row", inputs: ["gap", "align", "justify", "grow", "wrap", "stackOnMobile"] }, { kind: "component", type: i0.forwardRef(() => FormColComponent), selector: "app-form-col", inputs: ["xs", "sm", "md", "lg", "xl", "order", "grow", "gap", "align", "justify"] }, { kind: "component", type: i0.forwardRef(() => FormGroupComponent), selector: "app-form-group", inputs: ["titulo", "subtitulo", "collapsible", "foldable", "collapsed", "disabled", "readonly", "dense", "canMoveUp", "canMoveDown", "showHeader", "showChevron", "showDivider", "variant", "destroyOnCollapse", "skipBodyChildStacking", "groupInvalid", "formGroupPath", "uxSubmittedPass", "size", "tamanhoCampoMobile"], outputs: ["collapsedChange", "moveUp", "moveDown"] }, { kind: "component", type: i0.forwardRef(() => FormSectionComponent), selector: "app-form-section", inputs: ["titulo", "subtitulo", "dense", "divider", "variant", "align", "maxWidth", "fullWidth", "radius", "elevated", "size", "tamanhoCampoMobile"] }, { kind: "component", type: i0.forwardRef(() => FileUploadFieldComponent), selector: "app-file-upload-field", inputs: ["label", "id", "hint", "accept", "acceptLabel", "maxSizeMb", "maxFiles", "listMaxVisibleRows", "disabled", "loading", "autofocus", "multiple", "value", "fileItemRowClickable", "showFileDownload", "externalErrorMessage"], outputs: ["valueChange", "fileRejected", "fileItemClick"] }, { kind: "component", type: i0.forwardRef(() => ImagePreviewPanelComponent), selector: "app-image-preview-panel", inputs: ["title", "subtitle", "imageUrl", "file", "emptyText", "loading", "rounded", "showImageActions", "objectFit"], outputs: ["remove", "change"] }, { kind: "component", type: i0.forwardRef(() => CadastroFieldRendererComponent), selector: "app-cadastro-field-renderer", inputs: ["form", "campo", "modo", "loading", "claimMetadataAutofocus", "redirectReturnUrl", "embeddedInDeclarativeSection", "searchSelect", "listSelect", "multiselect", "formGridColumnsForLayout", "listSelectBindingsMap", "multiselectBindingsMap", "searchSelectBindingsMap", "cadastroUiRegistry"] }, { kind: "component", type: i0.forwardRef(() => ValidationSummaryComponent), selector: "app-validation-summary", inputs: ["messages", "items", "title", "visible", "pinned", "autoScrollOnReveal", "unpinnedScrollTick", "variant", "size", "tamanhoCampoMobile", "compact", "panelMaxHeight", "scrollBehavior", "revealScrollBehavior", "beforeItemActivate", "fieldNavigateDeferAfterBeforeMs", "resolveFieldNavigateDeferMs", "showCloseButton", "showListCollapseToggle", "closeButtonLabel", "fieldNavigateHint", "liveSyncActive", "liveSyncRoot", "liveSyncMeta", "liveSyncNgForm", "liveResolveItems", "liveSyncPulse"], outputs: ["itemsLiveChange", "panelClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43693
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormCollectionComponent, isStandalone: true, selector: "app-form-collection", inputs: { rootForm: { classPropertyName: "rootForm", publicName: "rootForm", isSignal: true, isRequired: true, transformFunction: null }, campo: { classPropertyName: "campo", publicName: "campo", isSignal: true, isRequired: true, transformFunction: null }, formArray: { classPropertyName: "formArray", publicName: "formArray", isSignal: true, isRequired: true, transformFunction: null }, modo: { classPropertyName: "modo", publicName: "modo", isSignal: true, isRequired: true, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, redirectReturnUrl: { classPropertyName: "redirectReturnUrl", publicName: "redirectReturnUrl", isSignal: true, isRequired: false, transformFunction: null }, embeddedInDeclarativeSection: { classPropertyName: "embeddedInDeclarativeSection", publicName: "embeddedInDeclarativeSection", isSignal: true, isRequired: false, transformFunction: null }, formGridColumns: { classPropertyName: "formGridColumns", publicName: "formGridColumns", isSignal: true, isRequired: false, transformFunction: null }, searchSelectBindings: { classPropertyName: "searchSelectBindings", publicName: "searchSelectBindings", isSignal: true, isRequired: false, transformFunction: null }, listSelectBindings: { classPropertyName: "listSelectBindings", publicName: "listSelectBindings", isSignal: true, isRequired: false, transformFunction: null }, multiselectBindings: { classPropertyName: "multiselectBindings", publicName: "multiselectBindings", isSignal: true, isRequired: false, transformFunction: null }, cadastroUiRegistry: { classPropertyName: "cadastroUiRegistry", publicName: "cadastroUiRegistry", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "structra-form-collection" }, ngImport: i0, template: "@let c = campo();\n@let desc = (c.description ?? '').trim();\n@let titulo = (c.label ?? '').trim();\n\n<div class=\"structra-form-collection__root w-full min-w-0\"\n [class.structra-form-collection__surface]=\"!collectionEmbuteNoFormGroupPai()\"\n [class.structra-form-collection__surface--card]=\"!collectionEmbuteNoFormGroupPai() && collectionContainerCard()\"\n [class.structra-form-collection__root--embedded]=\"collectionEmbuteNoFormGroupPai()\">\n @if (mostrarCabecalhoColecao()) {\n <header class=\"structra-form-collection__header\">\n @if (titulo !== '') {\n <h3 class=\"structra-form-collection__title\">{{ titulo }}</h3>\n }\n @if (desc !== '') {\n <p class=\"structra-form-collection__description\">{{ desc }}</p>\n }\n </header>\n }\n\n @if (collectionBulkMidiaUploadEnabled()) {\n <div class=\"structra-form-collection__bulk-midia w-full min-w-0\"\n [class.structra-form-collection__bulk-midia--no-preview]=\"!bulkMidiaMostrarPreview()\">\n <app-form-row gap=\"lg\" align=\"start\">\n <app-form-col [xs]=\"12\" [md]=\"bulkMidiaMostrarPreview() ? 6 : 12\"\n class=\"structra-form-collection__bulk-midia-upload min-w-0\">\n @if (bulkMidiaTransportMissing()) {\n <app-alert type=\"warning\"\n message=\"O envio de arquivos n\u00E3o est\u00E1 configurado (token de transporte ausente).\"\n class=\"structra-form-collection__bulk-midia-alert w-full\" />\n }\n @if (bulkMidiaError(); as bmErr) {\n <app-alert type=\"error\" [message]=\"bmErr\" class=\"structra-form-collection__bulk-midia-alert w-full\" />\n }\n <app-file-upload-field [id]=\"bulkMidiaFieldIdUi()\" [label]=\"bulkMidiaUploadLabelUi()\"\n [hint]=\"bulkMidiaUploadHint()\" accept=\"image/*\" acceptLabel=\"Imagens\" [maxSizeMb]=\"12\"\n [multiple]=\"true\" [maxFiles]=\"bulkMidiaMaxFilesForPicker()\" [listMaxVisibleRows]=\"bulkMidiaListMaxVisibleRows()\"\n [disabled]=\"collectionReadOnly() || !bulkMidiaCanStageMoreFiles() || bulkMidiaBusy()\"\n [loading]=\"bulkMidiaBusy()\" [value]=\"bulkMidiaUploadValue()\" [showFileDownload]=\"false\"\n [fileItemRowClickable]=\"true\" [externalErrorMessage]=\"bulkMidiaUrlExternalErrorMessage()\"\n (valueChange)=\"onBulkMidiaValueChange($event)\" (fileItemClick)=\"onBulkMidiaFileItemClick($event)\"\n (fileRejected)=\"onBulkMidiaFileRejected($event)\" />\n </app-form-col>\n @if (bulkMidiaMostrarPreview()) {\n <app-form-col [xs]=\"12\" [md]=\"6\" class=\"structra-form-collection__bulk-midia-preview min-w-0\">\n <app-image-preview-panel title=\"Pr\u00E9-visualiza\u00E7\u00E3o\" [subtitle]=\"bulkMidiaPanelSubtitle()\"\n [file]=\"bulkMidiaPreviewFile()\" emptyText=\"Selecione arquivos ou clique em uma linha da lista.\"\n [rounded]=\"true\" objectFit=\"contain\" />\n </app-form-col>\n }\n </app-form-row>\n </div>\n }\n\n @if (usaResumoValidacaoItens() && itemEditorGroup(); as sumRoot) {\n <app-validation-summary class=\"structra-form-collection__item-validation w-full min-w-0 shrink-0\"\n title=\"Corrija os campos do item:\" variant=\"error\" [visible]=\"itemValidationSummaryVisible()\"\n [pinned]=\"itemValidationSummaryPinned()\" scrollBehavior=\"auto\" [liveSyncActive]=\"true\" [liveSyncRoot]=\"sumRoot\"\n [liveSyncMeta]=\"itemValidationSummaryMeta()\" [liveResolveItems]=\"resolveItemValidationSummaryItems\"\n [liveSyncPulse]=\"itemValidationLivePulse()\" panelMaxHeight=\"min(28vh, 10rem)\" [showCloseButton]=\"true\"\n (panelClose)=\"onItemValidationPanelClose()\" />\n }\n\n @if (itemEditorGroup(); as eg) {\n @if (itemEditorSecoesParaUi().length > 0) {\n <!-- Isola `FormGroupDirective` do rascunho do submit do formul\u00E1rio raiz (evita bordas de erro esp\u00FArias). -->\n <div class=\"structra-form-collection__editor w-full min-w-0 flex flex-col\" [formGroup]=\"eg\">\n <ng-template #camposItemEditorSecao let-sec>\n <div class=\"structra-form-collection__editor-sec cadastro-fields-base__fields w-full min-w-0\"\n [class.cadastro-metadata-form-fields__grid]=\"usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [class.cadastro-metadata-form-fields__stack]=\"!usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [style.--cadastro-grid-tracks]=\"\n usaLayoutEmGrelhaParaItemEditorSecao(sec) ? denominadorTracksParaItemEditorSecao(sec) : null\n \" [style.grid-template-columns]=\"gridTemplateColumnsParaItemEditorViewport(sec)\">\n @for (campoItem of sec.campos; track campoItem.fieldId; let idx = $index) {\n <app-cadastro-field-renderer class=\"min-w-0\" [form]=\"eg\" [campo]=\"campoItem\" [modo]=\"modo()\"\n [loading]=\"loading()\" [claimMetadataAutofocus]=\"false\" [embeddedInDeclarativeSection]=\"true\"\n [redirectReturnUrl]=\"redirectReturnUrl()\"\n [searchSelect]=\"searchSelectBindings()[campoItem.key] ?? null\"\n [listSelect]=\"listSelectBindings()[campoItem.key] ?? null\"\n [multiselect]=\"multiselectBindings()[campoItem.key] ?? null\"\n [formGridColumnsForLayout]=\"colunasGrelhaParaItemEditorSecao(sec)\"\n [listSelectBindingsMap]=\"listSelectBindings()\" [multiselectBindingsMap]=\"multiselectBindings()\"\n [searchSelectBindingsMap]=\"searchSelectBindings()\" [cadastroUiRegistry]=\"cadastroUiRegistry()\"\n [style.grid-column]=\"itemEditorGridColumnSpanParaCampo(sec, campoItem, idx)\" />\n }\n </div>\n </ng-template>\n @for (sec of itemEditorSecoesParaUi(); track sec.key) {\n @if (sec.label.trim() || sec.subtitle.trim() || secaoUsaSuperficieDeclarativa(sec)) {\n @if (secaoUsaFormGroup(sec)) {\n <app-form-group class=\"structra-form-collection__editor-sec-shell cadastro-fields-base__section w-full min-w-0\"\n [titulo]=\"sec.label\" [subtitulo]=\"sec.subtitle\" [collapsible]=\"sec.collapsible\"\n [collapsed]=\"sec.collapsible && sec.initiallyCollapsed\" [foldable]=\"!sec.sectionReadOnly\"\n [variant]=\"formGroupVariantItem(sec)\" [showDivider]=\"false\" [skipBodyChildStacking]=\"true\"\n [formGroupPath]=\"itemEditorSecaoFormGroupPath(sec)\" [groupInvalid]=\"itemEditorSecaoGroupInvalid(sec)\"\n [uxSubmittedPass]=\"false\" (collapsedChange)=\"onItemEditorFormGroupCollapsedChange(sec, $event)\">\n <ng-container *ngTemplateOutlet=\"camposItemEditorSecao; context: { $implicit: sec }\" />\n </app-form-group>\n } @else {\n <app-form-section\n class=\"structra-form-collection__editor-sec-shell cadastro-fields-base__section w-full min-w-0\"\n [divider]=\"false\" [variant]=\"formSectionVariantItem(sec)\" [titulo]=\"sec.label\" [subtitulo]=\"sec.subtitle\">\n <ng-container *ngTemplateOutlet=\"camposItemEditorSecao; context: { $implicit: sec }\" />\n </app-form-section>\n }\n } @else {\n <div class=\"structra-form-collection__editor-sec cadastro-fields-base__fields cadastro-fields-base__fields--flat w-full min-w-0\"\n [class.cadastro-metadata-form-fields__grid]=\"usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [class.cadastro-metadata-form-fields__stack]=\"!usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [style.--cadastro-grid-tracks]=\"\n usaLayoutEmGrelhaParaItemEditorSecao(sec) ? denominadorTracksParaItemEditorSecao(sec) : null\n \" [style.grid-template-columns]=\"gridTemplateColumnsParaItemEditorViewport(sec)\">\n @for (campoItem of sec.campos; track campoItem.fieldId; let idx = $index) {\n <app-cadastro-field-renderer class=\"min-w-0\" [form]=\"eg\" [campo]=\"campoItem\" [modo]=\"modo()\"\n [loading]=\"loading()\" [claimMetadataAutofocus]=\"false\" [redirectReturnUrl]=\"redirectReturnUrl()\"\n [searchSelect]=\"searchSelectBindings()[campoItem.key] ?? null\"\n [listSelect]=\"listSelectBindings()[campoItem.key] ?? null\"\n [multiselect]=\"multiselectBindings()[campoItem.key] ?? null\"\n [formGridColumnsForLayout]=\"colunasGrelhaParaItemEditorSecao(sec)\"\n [listSelectBindingsMap]=\"listSelectBindings()\" [multiselectBindingsMap]=\"multiselectBindings()\"\n [searchSelectBindingsMap]=\"searchSelectBindings()\" [cadastroUiRegistry]=\"cadastroUiRegistry()\"\n [style.grid-column]=\"itemEditorGridColumnSpanParaCampo(sec, campoItem, idx)\" />\n }\n </div>\n }\n }\n </div>\n }\n }\n\n <div class=\"structra-form-collection__toolbar\">\n @if (!collectionReadOnly()) {\n <div class=\"structra-form-collection__toolbar-actions\">\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [loading]=\"bulkMidiaBusy()\"\n [disabled]=\"!podeAdicionar()\" (click)=\"adicionarItem()\"\n [attr.aria-label]=\"toolbarApplyButtonAriaLabel()\">\n <span class=\"structra-form-collection__toolbar-btn-inner\"\n [class.structra-form-collection__toolbar-btn-inner--icon-only]=\"toolbarApplyButtonText() === ''\">\n <i [class]=\"toolbarApplyIconClasses()\" aria-hidden=\"true\"></i>\n @if (toolbarApplyButtonText() !== '') {\n <span>{{ toolbarApplyButtonText() }}</span>\n }\n </span>\n </app-button>\n </div>\n }\n </div>\n\n <div class=\"structra-form-collection__list\"\n [class.structra-form-collection__list--chrome-card]=\"collectionLayoutChrome() === 'card'\"\n [class.structra-form-collection__list--chrome-responsive]=\"collectionLayoutChrome() === 'responsive'\"\n [class.structra-form-collection__list--chrome-plain]=\"collectionLayoutChrome() === 'plain'\">\n @if (!isMobileLayout()) {\n <app-data-grid class=\"structra-form-collection__data-grid\" [rows]=\"gridRowsForAgGrid()\"\n [columns]=\"gridColumns()\" [pagination]=\"true\" [pageSize]=\"agGridPageSize()\"\n [initialPaginationPage]=\"initialAgGridPageZeroBased()\" [suppressPaginationPageSizeSelector]=\"true\"\n [loading]=\"collectionDataGridLoading()\" height=\"min(22rem, 45vh)\" emptyMessage=\"Nenhum item nesta lista.\"\n [highlightedRowMatch]=\"selectedRowArrayIndex()\" highlightMatchField=\"__rowArrayIndex\"\n [showActionsColumn]=\"collectionGridShowActionsColumn()\" [showEditAction]=\"collectionGridShowEditAction()\"\n [showRemoveAction]=\"collectionGridShowRemoveAction()\" [suppressRowClick]=\"true\"\n [inlineCellEditing]=\"collectionGridInlineEditing()\" (edit)=\"onCollectionRowEdit($event)\"\n (remove)=\"onCollectionRowRemove($event)\" (paginationChanged)=\"onDataGridPaginationChanged($event)\" />\n } @else {\n <app-card-list class=\"structra-form-collection__card-list\" [items]=\"gridRows()\" [mapItem]=\"mapCardItemView\"\n [showItemActions]=\"collectionGridShowActionsColumn()\" [showEditAction]=\"collectionGridShowEditAction()\"\n [showRemoveAction]=\"collectionGridShowRemoveAction()\" [cardOpenOnClick]=\"false\"\n [dataMode]=\"mobileCardListDataMode()\" [totalCountRemote]=\"mobileCardListTotalCountRemote()\"\n [hasNextPage]=\"mobileCardListHasNextPage()\" (loadMore)=\"onCardListRemoteLoadMore()\" [showFooter]=\"true\"\n headerPosition=\"header\" [loadingMore]=\"mobileCardListLoadingMore()\" [scrollBatchSize]=\"500\"\n scrollMaxHeight=\"min(22rem, 45vh)\" emptyMessage=\"Nenhum item nesta lista.\" [loading]=\"gridLoading()\"\n (edit)=\"onCollectionRowEdit($event)\" (remove)=\"onCollectionRowRemove($event)\"\n (booleanFieldChange)=\"onCardBooleanFieldChange($event)\" />\n }\n </div>\n @if (mostrarPaginacaoRemota()) {\n @if (pagingEstadoRemoto()?.erro; as erroColecao) {\n <p class=\"text-sm text-red-600 dark:text-red-400\">{{ erroColecao }}</p>\n }\n }\n</div>", styles: ["@charset \"UTF-8\";:host.structra-form-collection{display:block;width:100%;min-width:0}.structra-form-collection__root--embedded{display:block;background:transparent;border:none;padding:0;margin:0;box-shadow:none}.structra-form-collection__surface{width:100%;min-width:0;border:none;border-radius:0;padding:0;background:var(--app-color-elevated-surface, var(--app-color-surface))}.structra-form-collection__surface--card{border:1px solid var(--app-color-border-subtle, var(--structra-border-subtle, rgba(26, 47, 69, .12)));border-radius:var(--structra-radius-md, 8px);padding:.75rem .55rem 1rem;background:var(--app-color-elevated-surface, var(--app-color-surface));box-shadow:0 .15rem .45rem var(--app-color-shell-shadow, rgba(15, 23, 42, .04))}.structra-form-collection__header{margin-bottom:.75rem}.structra-form-collection__bulk-midia{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.structra-form-collection__bulk-midia-alert{margin-bottom:.35rem}.structra-form-collection__bulk-midia-upload,.structra-form-collection__bulk-midia-preview{min-width:0}.structra-form-collection__bulk-midia--no-preview .structra-form-collection__bulk-midia-upload{width:100%;max-width:100%}.structra-form-collection__bulk-midia--no-preview ::ng-deep .file-upload-field__zone{min-height:5.5rem}.structra-form-collection__toolbar{display:flex;width:100%;box-sizing:border-box;justify-content:center;margin-bottom:.75rem}.structra-form-collection__toolbar-actions{display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center}.structra-form-collection__toolbar-btn-inner{display:inline-flex;align-items:center;gap:.35rem}.structra-form-collection__toolbar-btn-inner--icon-only{gap:0}.structra-form-collection__toolbar-icon{font-size:1rem;line-height:1}.structra-form-collection__title{margin:0;font-size:1rem;font-weight:600;color:var(--structra-text-primary, inherit)}.structra-form-collection__item-validation{margin-bottom:.5rem}.structra-form-collection__editor{display:flex;flex-direction:column;gap:.4rem;margin-bottom:0}.structra-form-collection__description{margin:.25rem 0 0;font-size:.875rem;color:var(--structra-text-secondary, var(--app-color-text-secondary, rgba(0, 0, 0, .65)))}.structra-form-collection__list{width:100%;min-width:0}.structra-form-collection__data-grid,.structra-form-collection__card-list{display:block;width:100%;min-width:0}.structra-form-collection__list--chrome-card .structra-form-collection__card-list ::ng-deep .data-card,.structra-form-collection__list--chrome-responsive .structra-form-collection__card-list ::ng-deep .data-card{border-radius:var(--structra-radius-sm, 6px)}\n", "@charset \"UTF-8\";.cadastro-metadata-form-fields__grid{display:grid;grid-template-columns:repeat(var(--cadastro-grid-tracks, 2),minmax(0,1fr));gap:.4rem;align-items:start;justify-items:stretch}@media(max-width:767.98px){.cadastro-metadata-form-fields__grid{grid-template-columns:minmax(0,1fr)}.cadastro-metadata-form-fields__grid>*{grid-column:auto!important}}.cadastro-metadata-form-fields__grid>*{min-width:0}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer:not(.cadastro-field-renderer-host--checkbox-cell){width:100%;min-width:0;justify-self:stretch}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell:not(.cadastro-field-renderer-host--checkbox-cell-full){align-self:center;justify-self:start;margin-top:0;width:max-content;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell-full{grid-column:1/-1;align-self:start;justify-self:stretch;margin-top:0;width:100%;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__stack{display:flex;flex-direction:column;gap:.4rem;align-items:stretch}.cadastro-metadata-form-fields__stack>*{min-width:0}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer:not(.cadastro-field-renderer-host--checkbox-cell){width:100%;min-width:0}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell{align-self:flex-start;width:max-content;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell-full{align-self:stretch;width:100%;max-width:100%}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1$2.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i1.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i0.forwardRef(() => ButtonComponent), selector: "app-button" }, { kind: "component", type: i0.forwardRef(() => AlertComponent), selector: "app-alert", inputs: ["type", "message", "closable", "action"], outputs: ["actionClick"] }, { kind: "component", type: i0.forwardRef(() => DataGridComponent), selector: "app-data-grid", inputs: ["rows", "columns", "pageSize", "loading", "initialPaginationPage", "height", "fitPaginationHeight", "fitPaginationMinEmptyRows", "emptyMessage", "pagination", "paginationPanelPlacement", "paginationStripOnly", "placeholderPagerChromeOnly", "suppressPaginationPageSizeSelector", "showActionsColumn", "showEditAction", "editActionLabel", "editActionIconClass", "showRemoveAction", "showDuplicateAction", "showPrintAction", "printActionLabel", "suppressRowClick", "inlineCellEditing", "highlightedRowMatch", "highlightMatchField", "layoutTelaKey", "layoutGridKey", "gridNavigatePreserve"], outputs: ["edit", "duplicate", "print", "remove", "rowClick", "selectionChange", "paginationChanged"] }, { kind: "component", type: i0.forwardRef(() => CardListComponent), selector: "app-card-list", inputs: ["items", "loading", "loadingMore", "emptyMessage", "variant", "mapItem", "showItemActions", "showEditAction", "editActionLabel", "editActionIconClass", "showRemoveAction", "cardOpenOnClick", "trackByProp", "dataMode", "scrollBatchSize", "scrollLoadThresholdPx", "showFooter", "headerPosition", "scrollMaxHeight", "cardsPerRow", "gridNavigatePreserve", "totalCountRemote", "hasNextPage"], outputs: ["loadMore", "edit", "remove", "booleanFieldChange"] }, { kind: "component", type: i0.forwardRef(() => FormRowComponent), selector: "app-form-row", inputs: ["gap", "align", "justify", "grow", "wrap", "stackOnMobile"] }, { kind: "component", type: i0.forwardRef(() => FormColComponent), selector: "app-form-col", inputs: ["xs", "sm", "md", "lg", "xl", "order", "grow", "gap", "align", "justify"] }, { kind: "component", type: i0.forwardRef(() => FormGroupComponent), selector: "app-form-group", inputs: ["titulo", "subtitulo", "collapsible", "foldable", "collapsed", "disabled", "readonly", "dense", "canMoveUp", "canMoveDown", "showHeader", "showChevron", "showDivider", "variant", "destroyOnCollapse", "skipBodyChildStacking", "groupInvalid", "formGroupPath", "uxSubmittedPass", "size", "tamanhoCampoMobile"], outputs: ["collapsedChange", "moveUp", "moveDown"] }, { kind: "component", type: i0.forwardRef(() => FormSectionComponent), selector: "app-form-section", inputs: ["titulo", "subtitulo", "dense", "divider", "variant", "align", "maxWidth", "fullWidth", "radius", "elevated", "size", "tamanhoCampoMobile"] }, { kind: "component", type: i0.forwardRef(() => FileUploadFieldComponent), selector: "app-file-upload-field", inputs: ["label", "id", "hint", "accept", "acceptLabel", "maxSizeMb", "maxFiles", "listMaxVisibleRows", "disabled", "loading", "autofocus", "multiple", "value", "fileItemRowClickable", "showFileDownload", "externalErrorMessage"], outputs: ["valueChange", "fileRejected", "fileItemClick"] }, { kind: "component", type: i0.forwardRef(() => ImagePreviewPanelComponent), selector: "app-image-preview-panel", inputs: ["title", "subtitle", "imageUrl", "file", "emptyText", "loading", "rounded", "showImageActions", "objectFit"], outputs: ["remove", "change"] }, { kind: "component", type: i0.forwardRef(() => CadastroFieldRendererComponent), selector: "app-cadastro-field-renderer", inputs: ["form", "campo", "modo", "loading", "claimMetadataAutofocus", "redirectReturnUrl", "embeddedInDeclarativeSection", "searchSelect", "listSelect", "multiselect", "formGridColumnsForLayout", "listSelectBindingsMap", "multiselectBindingsMap", "searchSelectBindingsMap", "cadastroUiRegistry"] }, { kind: "component", type: i0.forwardRef(() => ValidationSummaryComponent), selector: "app-validation-summary", inputs: ["messages", "items", "title", "visible", "pinned", "autoScrollOnReveal", "unpinnedScrollTick", "variant", "size", "tamanhoCampoMobile", "compact", "panelMaxHeight", "scrollBehavior", "revealScrollBehavior", "beforeItemActivate", "fieldNavigateDeferAfterBeforeMs", "resolveFieldNavigateDeferMs", "showCloseButton", "showListCollapseToggle", "closeButtonLabel", "fieldNavigateHint", "liveSyncActive", "liveSyncRoot", "liveSyncMeta", "liveSyncNgForm", "liveResolveItems", "liveSyncPulse"], outputs: ["itemsLiveChange", "panelClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43694
43694
  }
43695
43695
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormCollectionComponent, decorators: [{
43696
43696
  type: Component,
@@ -43711,7 +43711,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
43711
43711
  ValidationSummaryComponent,
43712
43712
  ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
43713
43713
  class: 'structra-form-collection',
43714
- }, template: "@let c = campo();\n@let desc = (c.description ?? '').trim();\n@let titulo = (c.label ?? '').trim();\n\n<div class=\"structra-form-collection__root w-full min-w-0\"\n [class.structra-form-collection__surface]=\"!collectionEmbuteNoFormGroupPai()\"\n [class.structra-form-collection__surface--card]=\"!collectionEmbuteNoFormGroupPai() && collectionContainerCard()\"\n [class.structra-form-collection__root--embedded]=\"collectionEmbuteNoFormGroupPai()\">\n @if (mostrarCabecalhoColecao()) {\n <header class=\"structra-form-collection__header\">\n @if (titulo !== '') {\n <h3 class=\"structra-form-collection__title\">{{ titulo }}</h3>\n }\n @if (desc !== '') {\n <p class=\"structra-form-collection__description\">{{ desc }}</p>\n }\n </header>\n }\n\n @if (collectionBulkMidiaUploadEnabled()) {\n <div class=\"structra-form-collection__bulk-midia w-full min-w-0\"\n [class.structra-form-collection__bulk-midia--no-preview]=\"!bulkMidiaMostrarPreview()\">\n <app-form-row gap=\"lg\" align=\"start\">\n <app-form-col [xs]=\"12\" [md]=\"bulkMidiaMostrarPreview() ? 6 : 12\"\n class=\"structra-form-collection__bulk-midia-upload min-w-0\">\n @if (bulkMidiaTransportMissing()) {\n <app-alert type=\"warning\"\n message=\"O envio de arquivos n\u00E3o est\u00E1 configurado (token de transporte ausente).\"\n class=\"structra-form-collection__bulk-midia-alert w-full\" />\n }\n @if (bulkMidiaError(); as bmErr) {\n <app-alert type=\"error\" [message]=\"bmErr\" class=\"structra-form-collection__bulk-midia-alert w-full\" />\n }\n <app-file-upload-field [id]=\"bulkMidiaFieldIdUi()\" [label]=\"bulkMidiaUploadLabelUi()\"\n [hint]=\"bulkMidiaUploadHint()\" accept=\"image/*\" acceptLabel=\"Imagens\" [maxSizeMb]=\"12\"\n [multiple]=\"true\" [maxFiles]=\"bulkMidiaMaxFilesForPicker()\" [listMaxVisibleRows]=\"bulkMidiaListMaxVisibleRows()\"\n [disabled]=\"collectionReadOnly() || !bulkMidiaCanStageMoreFiles() || bulkMidiaBusy()\"\n [loading]=\"bulkMidiaBusy()\" [value]=\"bulkMidiaUploadValue()\" [showFileDownload]=\"false\"\n [fileItemRowClickable]=\"true\" [externalErrorMessage]=\"bulkMidiaUrlExternalErrorMessage()\"\n (valueChange)=\"onBulkMidiaValueChange($event)\" (fileItemClick)=\"onBulkMidiaFileItemClick($event)\"\n (fileRejected)=\"onBulkMidiaFileRejected($event)\" />\n </app-form-col>\n @if (bulkMidiaMostrarPreview()) {\n <app-form-col [xs]=\"12\" [md]=\"6\" class=\"structra-form-collection__bulk-midia-preview min-w-0\">\n <app-image-preview-panel title=\"Pr\u00E9-visualiza\u00E7\u00E3o\" [subtitle]=\"bulkMidiaPanelSubtitle()\"\n [file]=\"bulkMidiaPreviewFile()\" emptyText=\"Selecione arquivos ou clique em uma linha da lista.\"\n [rounded]=\"true\" objectFit=\"contain\" />\n </app-form-col>\n }\n </app-form-row>\n </div>\n }\n\n @if (usaResumoValidacaoItens() && itemEditorGroup(); as sumRoot) {\n <app-validation-summary class=\"structra-form-collection__item-validation w-full min-w-0 shrink-0\"\n title=\"Corrija os campos do item:\" variant=\"error\" [visible]=\"itemValidationSummaryVisible()\"\n [pinned]=\"itemValidationSummaryPinned()\" scrollBehavior=\"auto\" [liveSyncActive]=\"true\" [liveSyncRoot]=\"sumRoot\"\n [liveSyncMeta]=\"itemValidationSummaryMeta()\" [liveResolveItems]=\"resolveItemValidationSummaryItems\"\n [liveSyncPulse]=\"itemValidationLivePulse()\" panelMaxHeight=\"min(28vh, 10rem)\" [showCloseButton]=\"true\"\n (panelClose)=\"onItemValidationPanelClose()\" />\n }\n\n @if (itemEditorGroup(); as eg) {\n @if (itemEditorSecoesParaUi().length > 0) {\n <!-- Isola `FormGroupDirective` do rascunho do submit do formul\u00E1rio raiz (evita bordas de erro esp\u00FArias). -->\n <div class=\"structra-form-collection__editor w-full min-w-0 flex flex-col\" [formGroup]=\"eg\">\n <ng-template #camposItemEditorSecao let-sec>\n <div class=\"structra-form-collection__editor-sec cadastro-fields-base__fields w-full min-w-0\"\n [class.cadastro-metadata-form-fields__grid]=\"usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [class.cadastro-metadata-form-fields__stack]=\"!usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [style.--cadastro-grid-tracks]=\"\n usaLayoutEmGrelhaParaItemEditorSecao(sec) ? denominadorTracksParaItemEditorSecao(sec) : null\n \" [style.grid-template-columns]=\"gridTemplateColumnsParaItemEditorViewport(sec)\">\n @for (campoItem of sec.campos; track campoItem.fieldId; let idx = $index) {\n <app-cadastro-field-renderer class=\"min-w-0\" [form]=\"eg\" [campo]=\"campoItem\" [modo]=\"modo()\"\n [loading]=\"loading()\" [claimMetadataAutofocus]=\"false\" [embeddedInDeclarativeSection]=\"true\"\n [redirectReturnUrl]=\"redirectReturnUrl()\"\n [searchSelect]=\"searchSelectBindings()[campoItem.key] ?? null\"\n [listSelect]=\"listSelectBindings()[campoItem.key] ?? null\"\n [multiselect]=\"multiselectBindings()[campoItem.key] ?? null\"\n [formGridColumnsForLayout]=\"colunasGrelhaParaItemEditorSecao(sec)\"\n [listSelectBindingsMap]=\"listSelectBindings()\" [multiselectBindingsMap]=\"multiselectBindings()\"\n [searchSelectBindingsMap]=\"searchSelectBindings()\" [cadastroUiRegistry]=\"cadastroUiRegistry()\"\n [style.grid-column]=\"itemEditorGridColumnSpanParaCampo(sec, campoItem, idx)\" />\n }\n </div>\n </ng-template>\n @for (sec of itemEditorSecoesParaUi(); track sec.key) {\n @if (sec.label.trim() || sec.subtitle.trim() || secaoUsaSuperficieDeclarativa(sec)) {\n @if (secaoUsaFormGroup(sec)) {\n <app-form-group class=\"structra-form-collection__editor-sec-shell cadastro-fields-base__section w-full min-w-0\"\n [titulo]=\"sec.label\" [subtitulo]=\"sec.subtitle\" [collapsible]=\"sec.collapsible\"\n [collapsed]=\"sec.collapsible && sec.initiallyCollapsed\" [foldable]=\"!sec.sectionReadOnly\"\n [variant]=\"formGroupVariantItem(sec)\" [showDivider]=\"false\" [skipBodyChildStacking]=\"true\"\n [formGroupPath]=\"itemEditorSecaoFormGroupPath(sec)\" [groupInvalid]=\"itemEditorSecaoGroupInvalid(sec)\"\n [uxSubmittedPass]=\"false\" (collapsedChange)=\"onItemEditorFormGroupCollapsedChange(sec, $event)\">\n <ng-container *ngTemplateOutlet=\"camposItemEditorSecao; context: { $implicit: sec }\" />\n </app-form-group>\n } @else {\n <app-form-section\n class=\"structra-form-collection__editor-sec-shell cadastro-fields-base__section w-full min-w-0\"\n [divider]=\"false\" [variant]=\"formSectionVariantItem(sec)\" [titulo]=\"sec.label\" [subtitulo]=\"sec.subtitle\">\n <ng-container *ngTemplateOutlet=\"camposItemEditorSecao; context: { $implicit: sec }\" />\n </app-form-section>\n }\n } @else {\n <div class=\"structra-form-collection__editor-sec cadastro-fields-base__fields cadastro-fields-base__fields--flat w-full min-w-0\"\n [class.cadastro-metadata-form-fields__grid]=\"usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [class.cadastro-metadata-form-fields__stack]=\"!usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [style.--cadastro-grid-tracks]=\"\n usaLayoutEmGrelhaParaItemEditorSecao(sec) ? denominadorTracksParaItemEditorSecao(sec) : null\n \" [style.grid-template-columns]=\"gridTemplateColumnsParaItemEditorViewport(sec)\">\n @for (campoItem of sec.campos; track campoItem.fieldId; let idx = $index) {\n <app-cadastro-field-renderer class=\"min-w-0\" [form]=\"eg\" [campo]=\"campoItem\" [modo]=\"modo()\"\n [loading]=\"loading()\" [claimMetadataAutofocus]=\"false\" [redirectReturnUrl]=\"redirectReturnUrl()\"\n [searchSelect]=\"searchSelectBindings()[campoItem.key] ?? null\"\n [listSelect]=\"listSelectBindings()[campoItem.key] ?? null\"\n [multiselect]=\"multiselectBindings()[campoItem.key] ?? null\"\n [formGridColumnsForLayout]=\"colunasGrelhaParaItemEditorSecao(sec)\"\n [listSelectBindingsMap]=\"listSelectBindings()\" [multiselectBindingsMap]=\"multiselectBindings()\"\n [searchSelectBindingsMap]=\"searchSelectBindings()\" [cadastroUiRegistry]=\"cadastroUiRegistry()\"\n [style.grid-column]=\"itemEditorGridColumnSpanParaCampo(sec, campoItem, idx)\" />\n }\n </div>\n }\n }\n </div>\n }\n }\n\n <div class=\"structra-form-collection__toolbar\">\n @if (!collectionReadOnly()) {\n <div class=\"structra-form-collection__toolbar-actions\">\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [loading]=\"bulkMidiaBusy()\"\n [disabled]=\"!podeAdicionar()\" (click)=\"adicionarItem()\"\n [attr.aria-label]=\"toolbarApplyButtonAriaLabel()\">\n <span class=\"structra-form-collection__toolbar-btn-inner\"\n [class.structra-form-collection__toolbar-btn-inner--icon-only]=\"toolbarApplyButtonText() === ''\">\n <i [class]=\"toolbarApplyIconClasses()\" aria-hidden=\"true\"></i>\n @if (toolbarApplyButtonText() !== '') {\n <span>{{ toolbarApplyButtonText() }}</span>\n }\n </span>\n </app-button>\n </div>\n }\n </div>\n\n <div class=\"structra-form-collection__list\"\n [class.structra-form-collection__list--chrome-card]=\"collectionLayoutChrome() === 'card'\"\n [class.structra-form-collection__list--chrome-responsive]=\"collectionLayoutChrome() === 'responsive'\"\n [class.structra-form-collection__list--chrome-plain]=\"collectionLayoutChrome() === 'plain'\">\n @if (!isMobileLayout()) {\n <app-data-grid class=\"structra-form-collection__data-grid\" [rows]=\"gridRowsForAgGrid()\"\n [columns]=\"gridColumns()\" [pagination]=\"true\" [pageSize]=\"agGridPageSize()\"\n [initialPaginationPage]=\"initialAgGridPageZeroBased()\" [suppressPaginationPageSizeSelector]=\"true\"\n [loading]=\"collectionDataGridLoading()\" height=\"min(22rem, 45vh)\" emptyMessage=\"Nenhum item nesta lista.\"\n [highlightedRowMatch]=\"selectedRowArrayIndex()\" highlightMatchField=\"__rowArrayIndex\"\n [showActionsColumn]=\"collectionGridShowActionsColumn()\" [showEditAction]=\"collectionGridShowEditAction()\"\n [showRemoveAction]=\"collectionGridShowRemoveAction()\" [suppressRowClick]=\"true\"\n [inlineCellEditing]=\"collectionGridInlineEditing()\" (edit)=\"onCollectionRowEdit($event)\"\n (remove)=\"onCollectionRowRemove($event)\" (paginationChanged)=\"onDataGridPaginationChanged($event)\" />\n } @else {\n <app-card-list class=\"structra-form-collection__card-list\" [items]=\"gridRows()\" [mapItem]=\"mapCardItemView\"\n [showItemActions]=\"collectionGridShowActionsColumn()\" [showEditAction]=\"collectionGridShowEditAction()\"\n [showRemoveAction]=\"collectionGridShowRemoveAction()\" [cardOpenOnClick]=\"false\"\n [dataMode]=\"mobileCardListDataMode()\" [totalCountRemote]=\"mobileCardListTotalCountRemote()\"\n [hasNextPage]=\"mobileCardListHasNextPage()\" (loadMore)=\"onCardListRemoteLoadMore()\" [showFooter]=\"true\"\n headerPosition=\"header\" [loadingMore]=\"mobileCardListLoadingMore()\" [scrollBatchSize]=\"500\"\n scrollMaxHeight=\"min(22rem, 45vh)\" emptyMessage=\"Nenhum item nesta lista.\" [loading]=\"gridLoading()\"\n (edit)=\"onCollectionRowEdit($event)\" (remove)=\"onCollectionRowRemove($event)\"\n (booleanFieldChange)=\"onCardBooleanFieldChange($event)\" />\n }\n </div>\n @if (mostrarPaginacaoRemota()) {\n @if (pagingEstadoRemoto()?.erro; as erroColecao) {\n <p class=\"text-sm text-red-600 dark:text-red-400\">{{ erroColecao }}</p>\n }\n }\n</div>", styles: ["@charset \"UTF-8\";:host.structra-form-collection{display:block;width:100%;min-width:0}.structra-form-collection__root--embedded{display:block;background:transparent;border:none;padding:0;margin:0;box-shadow:none}.structra-form-collection__surface{width:100%;min-width:0;border:none;border-radius:0;padding:0;background:var(--app-color-elevated-surface, var(--app-color-surface))}.structra-form-collection__surface--card{border:1px solid var(--app-color-border-subtle, var(--structra-border-subtle, rgba(26, 47, 69, .12)));border-radius:var(--structra-radius-md, 8px);padding:.75rem 1rem 1rem;background:var(--app-color-elevated-surface, var(--app-color-surface));box-shadow:0 .15rem .45rem var(--app-color-shell-shadow, rgba(15, 23, 42, .04))}.structra-form-collection__header{margin-bottom:.75rem}.structra-form-collection__bulk-midia{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.structra-form-collection__bulk-midia-alert{margin-bottom:.35rem}.structra-form-collection__bulk-midia-upload,.structra-form-collection__bulk-midia-preview{min-width:0}.structra-form-collection__bulk-midia--no-preview .structra-form-collection__bulk-midia-upload{width:100%;max-width:100%}.structra-form-collection__bulk-midia--no-preview ::ng-deep .file-upload-field__zone{min-height:5.5rem}.structra-form-collection__toolbar{display:flex;width:100%;box-sizing:border-box;justify-content:center;margin-bottom:.75rem}.structra-form-collection__toolbar-actions{display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center}.structra-form-collection__toolbar-btn-inner{display:inline-flex;align-items:center;gap:.35rem}.structra-form-collection__toolbar-btn-inner--icon-only{gap:0}.structra-form-collection__toolbar-icon{font-size:1rem;line-height:1}.structra-form-collection__title{margin:0;font-size:1rem;font-weight:600;color:var(--structra-text-primary, inherit)}.structra-form-collection__item-validation{margin-bottom:.5rem}.structra-form-collection__editor{display:flex;flex-direction:column;gap:.4rem;margin-bottom:0}.structra-form-collection__description{margin:.25rem 0 0;font-size:.875rem;color:var(--structra-text-secondary, var(--app-color-text-secondary, rgba(0, 0, 0, .65)))}.structra-form-collection__list{width:100%;min-width:0}.structra-form-collection__data-grid,.structra-form-collection__card-list{display:block;width:100%;min-width:0}.structra-form-collection__list--chrome-card .structra-form-collection__card-list ::ng-deep .data-card,.structra-form-collection__list--chrome-responsive .structra-form-collection__card-list ::ng-deep .data-card{border-radius:var(--structra-radius-sm, 6px)}\n", "@charset \"UTF-8\";.cadastro-metadata-form-fields__grid{display:grid;grid-template-columns:repeat(var(--cadastro-grid-tracks, 2),minmax(0,1fr));gap:.4rem;align-items:start;justify-items:stretch}@media(max-width:767.98px){.cadastro-metadata-form-fields__grid{grid-template-columns:minmax(0,1fr)}.cadastro-metadata-form-fields__grid>*{grid-column:auto!important}}.cadastro-metadata-form-fields__grid>*{min-width:0}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer:not(.cadastro-field-renderer-host--checkbox-cell){width:100%;min-width:0;justify-self:stretch}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell:not(.cadastro-field-renderer-host--checkbox-cell-full){align-self:center;justify-self:start;margin-top:0;width:max-content;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell-full{grid-column:1/-1;align-self:start;justify-self:stretch;margin-top:0;width:100%;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__stack{display:flex;flex-direction:column;gap:.4rem;align-items:stretch}.cadastro-metadata-form-fields__stack>*{min-width:0}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer:not(.cadastro-field-renderer-host--checkbox-cell){width:100%;min-width:0}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell{align-self:flex-start;width:max-content;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell-full{align-self:stretch;width:100%;max-width:100%}\n"] }]
43714
+ }, template: "@let c = campo();\n@let desc = (c.description ?? '').trim();\n@let titulo = (c.label ?? '').trim();\n\n<div class=\"structra-form-collection__root w-full min-w-0\"\n [class.structra-form-collection__surface]=\"!collectionEmbuteNoFormGroupPai()\"\n [class.structra-form-collection__surface--card]=\"!collectionEmbuteNoFormGroupPai() && collectionContainerCard()\"\n [class.structra-form-collection__root--embedded]=\"collectionEmbuteNoFormGroupPai()\">\n @if (mostrarCabecalhoColecao()) {\n <header class=\"structra-form-collection__header\">\n @if (titulo !== '') {\n <h3 class=\"structra-form-collection__title\">{{ titulo }}</h3>\n }\n @if (desc !== '') {\n <p class=\"structra-form-collection__description\">{{ desc }}</p>\n }\n </header>\n }\n\n @if (collectionBulkMidiaUploadEnabled()) {\n <div class=\"structra-form-collection__bulk-midia w-full min-w-0\"\n [class.structra-form-collection__bulk-midia--no-preview]=\"!bulkMidiaMostrarPreview()\">\n <app-form-row gap=\"lg\" align=\"start\">\n <app-form-col [xs]=\"12\" [md]=\"bulkMidiaMostrarPreview() ? 6 : 12\"\n class=\"structra-form-collection__bulk-midia-upload min-w-0\">\n @if (bulkMidiaTransportMissing()) {\n <app-alert type=\"warning\"\n message=\"O envio de arquivos n\u00E3o est\u00E1 configurado (token de transporte ausente).\"\n class=\"structra-form-collection__bulk-midia-alert w-full\" />\n }\n @if (bulkMidiaError(); as bmErr) {\n <app-alert type=\"error\" [message]=\"bmErr\" class=\"structra-form-collection__bulk-midia-alert w-full\" />\n }\n <app-file-upload-field [id]=\"bulkMidiaFieldIdUi()\" [label]=\"bulkMidiaUploadLabelUi()\"\n [hint]=\"bulkMidiaUploadHint()\" accept=\"image/*\" acceptLabel=\"Imagens\" [maxSizeMb]=\"12\"\n [multiple]=\"true\" [maxFiles]=\"bulkMidiaMaxFilesForPicker()\" [listMaxVisibleRows]=\"bulkMidiaListMaxVisibleRows()\"\n [disabled]=\"collectionReadOnly() || !bulkMidiaCanStageMoreFiles() || bulkMidiaBusy()\"\n [loading]=\"bulkMidiaBusy()\" [value]=\"bulkMidiaUploadValue()\" [showFileDownload]=\"false\"\n [fileItemRowClickable]=\"true\" [externalErrorMessage]=\"bulkMidiaUrlExternalErrorMessage()\"\n (valueChange)=\"onBulkMidiaValueChange($event)\" (fileItemClick)=\"onBulkMidiaFileItemClick($event)\"\n (fileRejected)=\"onBulkMidiaFileRejected($event)\" />\n </app-form-col>\n @if (bulkMidiaMostrarPreview()) {\n <app-form-col [xs]=\"12\" [md]=\"6\" class=\"structra-form-collection__bulk-midia-preview min-w-0\">\n <app-image-preview-panel title=\"Pr\u00E9-visualiza\u00E7\u00E3o\" [subtitle]=\"bulkMidiaPanelSubtitle()\"\n [file]=\"bulkMidiaPreviewFile()\" emptyText=\"Selecione arquivos ou clique em uma linha da lista.\"\n [rounded]=\"true\" objectFit=\"contain\" />\n </app-form-col>\n }\n </app-form-row>\n </div>\n }\n\n @if (usaResumoValidacaoItens() && itemEditorGroup(); as sumRoot) {\n <app-validation-summary class=\"structra-form-collection__item-validation w-full min-w-0 shrink-0\"\n title=\"Corrija os campos do item:\" variant=\"error\" [visible]=\"itemValidationSummaryVisible()\"\n [pinned]=\"itemValidationSummaryPinned()\" scrollBehavior=\"auto\" [liveSyncActive]=\"true\" [liveSyncRoot]=\"sumRoot\"\n [liveSyncMeta]=\"itemValidationSummaryMeta()\" [liveResolveItems]=\"resolveItemValidationSummaryItems\"\n [liveSyncPulse]=\"itemValidationLivePulse()\" panelMaxHeight=\"min(28vh, 10rem)\" [showCloseButton]=\"true\"\n (panelClose)=\"onItemValidationPanelClose()\" />\n }\n\n @if (itemEditorGroup(); as eg) {\n @if (itemEditorSecoesParaUi().length > 0) {\n <!-- Isola `FormGroupDirective` do rascunho do submit do formul\u00E1rio raiz (evita bordas de erro esp\u00FArias). -->\n <div class=\"structra-form-collection__editor w-full min-w-0 flex flex-col\" [formGroup]=\"eg\">\n <ng-template #camposItemEditorSecao let-sec>\n <div class=\"structra-form-collection__editor-sec cadastro-fields-base__fields w-full min-w-0\"\n [class.cadastro-metadata-form-fields__grid]=\"usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [class.cadastro-metadata-form-fields__stack]=\"!usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [style.--cadastro-grid-tracks]=\"\n usaLayoutEmGrelhaParaItemEditorSecao(sec) ? denominadorTracksParaItemEditorSecao(sec) : null\n \" [style.grid-template-columns]=\"gridTemplateColumnsParaItemEditorViewport(sec)\">\n @for (campoItem of sec.campos; track campoItem.fieldId; let idx = $index) {\n <app-cadastro-field-renderer class=\"min-w-0\" [form]=\"eg\" [campo]=\"campoItem\" [modo]=\"modo()\"\n [loading]=\"loading()\" [claimMetadataAutofocus]=\"false\" [embeddedInDeclarativeSection]=\"true\"\n [redirectReturnUrl]=\"redirectReturnUrl()\"\n [searchSelect]=\"searchSelectBindings()[campoItem.key] ?? null\"\n [listSelect]=\"listSelectBindings()[campoItem.key] ?? null\"\n [multiselect]=\"multiselectBindings()[campoItem.key] ?? null\"\n [formGridColumnsForLayout]=\"colunasGrelhaParaItemEditorSecao(sec)\"\n [listSelectBindingsMap]=\"listSelectBindings()\" [multiselectBindingsMap]=\"multiselectBindings()\"\n [searchSelectBindingsMap]=\"searchSelectBindings()\" [cadastroUiRegistry]=\"cadastroUiRegistry()\"\n [style.grid-column]=\"itemEditorGridColumnSpanParaCampo(sec, campoItem, idx)\" />\n }\n </div>\n </ng-template>\n @for (sec of itemEditorSecoesParaUi(); track sec.key) {\n @if (sec.label.trim() || sec.subtitle.trim() || secaoUsaSuperficieDeclarativa(sec)) {\n @if (secaoUsaFormGroup(sec)) {\n <app-form-group class=\"structra-form-collection__editor-sec-shell cadastro-fields-base__section w-full min-w-0\"\n [titulo]=\"sec.label\" [subtitulo]=\"sec.subtitle\" [collapsible]=\"sec.collapsible\"\n [collapsed]=\"sec.collapsible && sec.initiallyCollapsed\" [foldable]=\"!sec.sectionReadOnly\"\n [variant]=\"formGroupVariantItem(sec)\" [showDivider]=\"false\" [skipBodyChildStacking]=\"true\"\n [formGroupPath]=\"itemEditorSecaoFormGroupPath(sec)\" [groupInvalid]=\"itemEditorSecaoGroupInvalid(sec)\"\n [uxSubmittedPass]=\"false\" (collapsedChange)=\"onItemEditorFormGroupCollapsedChange(sec, $event)\">\n <ng-container *ngTemplateOutlet=\"camposItemEditorSecao; context: { $implicit: sec }\" />\n </app-form-group>\n } @else {\n <app-form-section\n class=\"structra-form-collection__editor-sec-shell cadastro-fields-base__section w-full min-w-0\"\n [divider]=\"false\" [variant]=\"formSectionVariantItem(sec)\" [titulo]=\"sec.label\" [subtitulo]=\"sec.subtitle\">\n <ng-container *ngTemplateOutlet=\"camposItemEditorSecao; context: { $implicit: sec }\" />\n </app-form-section>\n }\n } @else {\n <div class=\"structra-form-collection__editor-sec cadastro-fields-base__fields cadastro-fields-base__fields--flat w-full min-w-0\"\n [class.cadastro-metadata-form-fields__grid]=\"usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [class.cadastro-metadata-form-fields__stack]=\"!usaLayoutEmGrelhaParaItemEditorSecao(sec)\"\n [style.--cadastro-grid-tracks]=\"\n usaLayoutEmGrelhaParaItemEditorSecao(sec) ? denominadorTracksParaItemEditorSecao(sec) : null\n \" [style.grid-template-columns]=\"gridTemplateColumnsParaItemEditorViewport(sec)\">\n @for (campoItem of sec.campos; track campoItem.fieldId; let idx = $index) {\n <app-cadastro-field-renderer class=\"min-w-0\" [form]=\"eg\" [campo]=\"campoItem\" [modo]=\"modo()\"\n [loading]=\"loading()\" [claimMetadataAutofocus]=\"false\" [redirectReturnUrl]=\"redirectReturnUrl()\"\n [searchSelect]=\"searchSelectBindings()[campoItem.key] ?? null\"\n [listSelect]=\"listSelectBindings()[campoItem.key] ?? null\"\n [multiselect]=\"multiselectBindings()[campoItem.key] ?? null\"\n [formGridColumnsForLayout]=\"colunasGrelhaParaItemEditorSecao(sec)\"\n [listSelectBindingsMap]=\"listSelectBindings()\" [multiselectBindingsMap]=\"multiselectBindings()\"\n [searchSelectBindingsMap]=\"searchSelectBindings()\" [cadastroUiRegistry]=\"cadastroUiRegistry()\"\n [style.grid-column]=\"itemEditorGridColumnSpanParaCampo(sec, campoItem, idx)\" />\n }\n </div>\n }\n }\n </div>\n }\n }\n\n <div class=\"structra-form-collection__toolbar\">\n @if (!collectionReadOnly()) {\n <div class=\"structra-form-collection__toolbar-actions\">\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" [loading]=\"bulkMidiaBusy()\"\n [disabled]=\"!podeAdicionar()\" (click)=\"adicionarItem()\"\n [attr.aria-label]=\"toolbarApplyButtonAriaLabel()\">\n <span class=\"structra-form-collection__toolbar-btn-inner\"\n [class.structra-form-collection__toolbar-btn-inner--icon-only]=\"toolbarApplyButtonText() === ''\">\n <i [class]=\"toolbarApplyIconClasses()\" aria-hidden=\"true\"></i>\n @if (toolbarApplyButtonText() !== '') {\n <span>{{ toolbarApplyButtonText() }}</span>\n }\n </span>\n </app-button>\n </div>\n }\n </div>\n\n <div class=\"structra-form-collection__list\"\n [class.structra-form-collection__list--chrome-card]=\"collectionLayoutChrome() === 'card'\"\n [class.structra-form-collection__list--chrome-responsive]=\"collectionLayoutChrome() === 'responsive'\"\n [class.structra-form-collection__list--chrome-plain]=\"collectionLayoutChrome() === 'plain'\">\n @if (!isMobileLayout()) {\n <app-data-grid class=\"structra-form-collection__data-grid\" [rows]=\"gridRowsForAgGrid()\"\n [columns]=\"gridColumns()\" [pagination]=\"true\" [pageSize]=\"agGridPageSize()\"\n [initialPaginationPage]=\"initialAgGridPageZeroBased()\" [suppressPaginationPageSizeSelector]=\"true\"\n [loading]=\"collectionDataGridLoading()\" height=\"min(22rem, 45vh)\" emptyMessage=\"Nenhum item nesta lista.\"\n [highlightedRowMatch]=\"selectedRowArrayIndex()\" highlightMatchField=\"__rowArrayIndex\"\n [showActionsColumn]=\"collectionGridShowActionsColumn()\" [showEditAction]=\"collectionGridShowEditAction()\"\n [showRemoveAction]=\"collectionGridShowRemoveAction()\" [suppressRowClick]=\"true\"\n [inlineCellEditing]=\"collectionGridInlineEditing()\" (edit)=\"onCollectionRowEdit($event)\"\n (remove)=\"onCollectionRowRemove($event)\" (paginationChanged)=\"onDataGridPaginationChanged($event)\" />\n } @else {\n <app-card-list class=\"structra-form-collection__card-list\" [items]=\"gridRows()\" [mapItem]=\"mapCardItemView\"\n [showItemActions]=\"collectionGridShowActionsColumn()\" [showEditAction]=\"collectionGridShowEditAction()\"\n [showRemoveAction]=\"collectionGridShowRemoveAction()\" [cardOpenOnClick]=\"false\"\n [dataMode]=\"mobileCardListDataMode()\" [totalCountRemote]=\"mobileCardListTotalCountRemote()\"\n [hasNextPage]=\"mobileCardListHasNextPage()\" (loadMore)=\"onCardListRemoteLoadMore()\" [showFooter]=\"true\"\n headerPosition=\"header\" [loadingMore]=\"mobileCardListLoadingMore()\" [scrollBatchSize]=\"500\"\n scrollMaxHeight=\"min(22rem, 45vh)\" emptyMessage=\"Nenhum item nesta lista.\" [loading]=\"gridLoading()\"\n (edit)=\"onCollectionRowEdit($event)\" (remove)=\"onCollectionRowRemove($event)\"\n (booleanFieldChange)=\"onCardBooleanFieldChange($event)\" />\n }\n </div>\n @if (mostrarPaginacaoRemota()) {\n @if (pagingEstadoRemoto()?.erro; as erroColecao) {\n <p class=\"text-sm text-red-600 dark:text-red-400\">{{ erroColecao }}</p>\n }\n }\n</div>", styles: ["@charset \"UTF-8\";:host.structra-form-collection{display:block;width:100%;min-width:0}.structra-form-collection__root--embedded{display:block;background:transparent;border:none;padding:0;margin:0;box-shadow:none}.structra-form-collection__surface{width:100%;min-width:0;border:none;border-radius:0;padding:0;background:var(--app-color-elevated-surface, var(--app-color-surface))}.structra-form-collection__surface--card{border:1px solid var(--app-color-border-subtle, var(--structra-border-subtle, rgba(26, 47, 69, .12)));border-radius:var(--structra-radius-md, 8px);padding:.75rem .55rem 1rem;background:var(--app-color-elevated-surface, var(--app-color-surface));box-shadow:0 .15rem .45rem var(--app-color-shell-shadow, rgba(15, 23, 42, .04))}.structra-form-collection__header{margin-bottom:.75rem}.structra-form-collection__bulk-midia{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.structra-form-collection__bulk-midia-alert{margin-bottom:.35rem}.structra-form-collection__bulk-midia-upload,.structra-form-collection__bulk-midia-preview{min-width:0}.structra-form-collection__bulk-midia--no-preview .structra-form-collection__bulk-midia-upload{width:100%;max-width:100%}.structra-form-collection__bulk-midia--no-preview ::ng-deep .file-upload-field__zone{min-height:5.5rem}.structra-form-collection__toolbar{display:flex;width:100%;box-sizing:border-box;justify-content:center;margin-bottom:.75rem}.structra-form-collection__toolbar-actions{display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center}.structra-form-collection__toolbar-btn-inner{display:inline-flex;align-items:center;gap:.35rem}.structra-form-collection__toolbar-btn-inner--icon-only{gap:0}.structra-form-collection__toolbar-icon{font-size:1rem;line-height:1}.structra-form-collection__title{margin:0;font-size:1rem;font-weight:600;color:var(--structra-text-primary, inherit)}.structra-form-collection__item-validation{margin-bottom:.5rem}.structra-form-collection__editor{display:flex;flex-direction:column;gap:.4rem;margin-bottom:0}.structra-form-collection__description{margin:.25rem 0 0;font-size:.875rem;color:var(--structra-text-secondary, var(--app-color-text-secondary, rgba(0, 0, 0, .65)))}.structra-form-collection__list{width:100%;min-width:0}.structra-form-collection__data-grid,.structra-form-collection__card-list{display:block;width:100%;min-width:0}.structra-form-collection__list--chrome-card .structra-form-collection__card-list ::ng-deep .data-card,.structra-form-collection__list--chrome-responsive .structra-form-collection__card-list ::ng-deep .data-card{border-radius:var(--structra-radius-sm, 6px)}\n", "@charset \"UTF-8\";.cadastro-metadata-form-fields__grid{display:grid;grid-template-columns:repeat(var(--cadastro-grid-tracks, 2),minmax(0,1fr));gap:.4rem;align-items:start;justify-items:stretch}@media(max-width:767.98px){.cadastro-metadata-form-fields__grid{grid-template-columns:minmax(0,1fr)}.cadastro-metadata-form-fields__grid>*{grid-column:auto!important}}.cadastro-metadata-form-fields__grid>*{min-width:0}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer:not(.cadastro-field-renderer-host--checkbox-cell){width:100%;min-width:0;justify-self:stretch}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell:not(.cadastro-field-renderer-host--checkbox-cell-full){align-self:center;justify-self:start;margin-top:0;width:max-content;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__grid>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell-full{grid-column:1/-1;align-self:start;justify-self:stretch;margin-top:0;width:100%;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__stack{display:flex;flex-direction:column;gap:.4rem;align-items:stretch}.cadastro-metadata-form-fields__stack>*{min-width:0}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer:not(.cadastro-field-renderer-host--checkbox-cell){width:100%;min-width:0}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell{align-self:flex-start;width:max-content;max-width:100%;min-width:0;min-height:unset;height:auto}.cadastro-metadata-form-fields__stack>app-cadastro-field-renderer.cadastro-field-renderer-host--checkbox-cell-full{align-self:stretch;width:100%;max-width:100%}\n"] }]
43715
43715
  }], ctorParameters: () => [], propDecorators: { rootForm: [{ type: i0.Input, args: [{ isSignal: true, alias: "rootForm", required: true }] }], campo: [{ type: i0.Input, args: [{ isSignal: true, alias: "campo", required: true }] }], formArray: [{ type: i0.Input, args: [{ isSignal: true, alias: "formArray", required: true }] }], modo: [{ type: i0.Input, args: [{ isSignal: true, alias: "modo", required: true }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], redirectReturnUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "redirectReturnUrl", required: false }] }], embeddedInDeclarativeSection: [{ type: i0.Input, args: [{ isSignal: true, alias: "embeddedInDeclarativeSection", required: false }] }], formGridColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "formGridColumns", required: false }] }], searchSelectBindings: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchSelectBindings", required: false }] }], listSelectBindings: [{ type: i0.Input, args: [{ isSignal: true, alias: "listSelectBindings", required: false }] }], multiselectBindings: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiselectBindings", required: false }] }], cadastroUiRegistry: [{ type: i0.Input, args: [{ isSignal: true, alias: "cadastroUiRegistry", required: false }] }] } });
43716
43716
 
43717
43717
  function itemFieldComponentType(meta) {
@@ -45096,7 +45096,7 @@ class CadastroMetadataPageComponent {
45096
45096
  return o != null && o.trim() !== '' ? o.trim() : (c.runtime.subtitulo?.() ?? '');
45097
45097
  }
45098
45098
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CadastroMetadataPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45099
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: CadastroMetadataPageComponent, isStandalone: true, selector: "app-cadastro-metadata-page", inputs: { entityName: { classPropertyName: "entityName", publicName: "entityName", isSignal: true, isRequired: true, transformFunction: null }, entityLabel: { classPropertyName: "entityLabel", publicName: "entityLabel", isSignal: true, isRequired: true, transformFunction: null }, cadastro: { classPropertyName: "cadastro", publicName: "cadastro", isSignal: true, isRequired: false, transformFunction: null }, initError: { classPropertyName: "initError", publicName: "initError", isSignal: true, isRequired: false, transformFunction: null }, initLoading: { classPropertyName: "initLoading", publicName: "initLoading", isSignal: true, isRequired: false, transformFunction: null }, validationUi: { classPropertyName: "validationUi", publicName: "validationUi", isSignal: true, isRequired: false, transformFunction: null }, searchSelectBindings: { classPropertyName: "searchSelectBindings", publicName: "searchSelectBindings", isSignal: true, isRequired: false, transformFunction: null }, listSelectBindings: { classPropertyName: "listSelectBindings", publicName: "listSelectBindings", isSignal: true, isRequired: false, transformFunction: null }, multiselectBindings: { classPropertyName: "multiselectBindings", publicName: "multiselectBindings", isSignal: true, isRequired: false, transformFunction: null }, metadataCamposReply: { classPropertyName: "metadataCamposReply", publicName: "metadataCamposReply", isSignal: true, isRequired: false, transformFunction: null }, redirectReturnUrl: { classPropertyName: "redirectReturnUrl", publicName: "redirectReturnUrl", isSignal: true, isRequired: false, transformFunction: null }, painelMaxWidthHint: { classPropertyName: "painelMaxWidthHint", publicName: "painelMaxWidthHint", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, corpoCentralizado: { classPropertyName: "corpoCentralizado", publicName: "corpoCentralizado", isSignal: true, isRequired: false, transformFunction: null }, cabecalhoPaginaVisivel: { classPropertyName: "cabecalhoPaginaVisivel", publicName: "cabecalhoPaginaVisivel", isSignal: true, isRequired: false, transformFunction: null }, toolbarInterno: { classPropertyName: "toolbarInterno", publicName: "toolbarInterno", isSignal: true, isRequired: false, transformFunction: null }, embeddedInReferenciaDialog: { classPropertyName: "embeddedInReferenciaDialog", publicName: "embeddedInReferenciaDialog", isSignal: true, isRequired: false, transformFunction: null }, suppressInternalPageTabs: { classPropertyName: "suppressInternalPageTabs", publicName: "suppressInternalPageTabs", isSignal: true, isRequired: false, transformFunction: null }, externalShellTabKey: { classPropertyName: "externalShellTabKey", publicName: "externalShellTabKey", isSignal: true, isRequired: false, transformFunction: null }, embeddedInPageShell: { classPropertyName: "embeddedInPageShell", publicName: "embeddedInPageShell", isSignal: true, isRequired: false, transformFunction: null }, headerSecondaryAction: { classPropertyName: "headerSecondaryAction", publicName: "headerSecondaryAction", isSignal: true, isRequired: false, transformFunction: null }, tituloSection: { classPropertyName: "tituloSection", publicName: "tituloSection", isSignal: true, isRequired: false, transformFunction: null }, subtituloSection: { classPropertyName: "subtituloSection", publicName: "subtituloSection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { salvarSubmit: "salvarSubmit", toolbarButtonClick: "toolbarButtonClick", headerSecondaryActionClick: "headerSecondaryActionClick" }, host: { properties: { "class.cadastro-metadata-page--referencia-dialog": "embeddedInReferenciaDialog()", "class.cadastro-metadata-page--embedded-page-shell": "embeddedInPageShell()" }, classAttribute: "cadastro-metadata-page" }, ngImport: i0, template: "<app-cadastro-base-page class=\"cadastro-metadata-page__shell\" [cadastroInitError]=\"initError()\"\n [cadastroInitLoading]=\"initLoading()\" [runtime]=\"cadastro()?.runtime ?? null\"\n [shellTopbarReserveDuplicar]=\"cadastro()?.duplicateTopbarEnabled === true\"\n [toolbarInterno]=\"toolbarInterno()\"\n [embeddedInReferenciaDialog]=\"embeddedInReferenciaDialog()\"\n [corpoCentralizado]=\"formularioCorpoCentralizado()\" [cabecalhoPaginaVisivel]=\"cabecalhoPaginaVisivel()\"\n [validationUi]=\"validationUi()\" [skeletonPanelMaxWidth]=\"painelMaxWidthCss()\"\n [headerSecondaryAction]=\"headerSecondaryAction()\"\n (headerSecondaryActionClick)=\"headerSecondaryActionClick.emit()\">\n <ng-template #cadastroShellTopbarEnd>\n @if (!embeddedInReferenciaDialog()) {\n @if (cadastro(); as c) {\n <div class=\"cadastro-metadata-page__topbar-actions cadastro-shell-topbar-actions-row flex flex-wrap items-center justify-end gap-2\">\n @if (headerSecondaryActionVisible()) {\n @let headerAction = headerSecondaryAction()!;\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-header-secondary\" variant=\"secondary\" size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"headerAction.disabled || c.runtime.loading() || c.runtime.salvando() || c.runtime.excluindo()\"\n (click)=\"headerSecondaryActionClick.emit()\"\n [attr.aria-label]=\"headerAction.label\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (headerAction.icon?.trim()) {\n <i [class]=\"headerAction.icon!.trim() + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ headerAction.label }}</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarSalvar) {\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-salvar\" variant=\"success\" size=\"md\"\n [fullWidth]=\"false\" [disabled]=\"c.runtime.loading() || c.runtime.salvando()\"\n [loading]=\"c.runtime.salvando()\" (click)=\"c.runtime.salvar()\" [attr.aria-label]=\"'Salvar'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-floppy-disk cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Salvar</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarNovo && c.runtime.duplicar && c.runtime.podeDuplicar()) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"c.runtime.loading() || c.runtime.salvando() || c.runtime.excluindo()\"\n (click)=\"c.runtime.duplicar!()\" [attr.aria-label]=\"'Duplicar'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-copy cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Duplicar</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarNovo) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"!c.runtime.podeNovo()\"\n (click)=\"c.runtime.novo()\" [attr.aria-label]=\"'Novo registro'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-file cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Novo</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarExcluir && c.runtime.podeExcluir() && c.runtime.excluir) {\n <app-button type=\"button\" variant=\"danger\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"c.runtime.salvando() || c.runtime.excluindo()\" [loading]=\"c.runtime.excluindo()\"\n (click)=\"c.runtime.excluir!()\" [attr.aria-label]=\"'Excluir'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-trash-can cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Excluir</span>\n </span>\n </app-button>\n }\n @for (btn of toolbarButtonsEfectivos(); track btn.actionId) {\n @if (toolbarButtonVisible(c, btn)) {\n <app-button type=\"button\" size=\"md\" [fullWidth]=\"false\"\n [variant]=\"toolbarButtonVariant(btn.variant)\"\n [disabled]=\"toolbarButtonDisabled(c, btn)\"\n (click)=\"toolbarButtonClick.emit(btn)\"\n [attr.aria-label]=\"btn.label\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (btn.iconClass.trim()) {\n <i [class]=\"btn.iconClass + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ btn.label }}</span>\n </span>\n </app-button>\n }\n }\n </div>\n }\n }\n </ng-template>\n @if (cadastro(); as c) {\n <form [formGroup]=\"c.form\" (ngSubmit)=\"salvarSubmit.emit()\" novalidate\n class=\"cadastro-metadata-page__form flex w-full flex-col gap-2\"\n [class.mx-auto]=\"formularioCorpoCentralizado()\"\n [style.max-width]=\"formularioPainelMaxWidthCss()\">\n <app-form-section class=\"cadastro-metadata-page__section w-full\" [divider]=\"false\"\n [variant]=\"embeddedInPageShell() ? 'plain' : 'panel'\"\n [titulo]=\"sectionTitulo(c)\" [subtitulo]=\"sectionSubtitulo(c)\">\n <app-cadastro-fields-base [metadata]=\"metadataLayoutParaCampos()\"\n [camposMetadata]=\"camposMetadataCapa(c)\" [form]=\"c.form\" [runtime]=\"c.runtime\"\n [formKey]=\"entityName()\" [cadastroUiRegistry]=\"c.uiRegistry\" [searchSelectBindings]=\"searchSelectBindings()\"\n [listSelectBindings]=\"listSelectBindings()\" [multiselectBindings]=\"multiselectBindings()\"\n [redirectReturnUrl]=\"redirectReturnUrl()\" [formGridColumns]=\"formGridColumnsParaCampos()\"\n [sectionToolbarButtonsByKey]=\"c.sectionToolbarButtonsByKey ?? {}\"\n [sectionToolbarButtonDisabled]=\"c.sectionToolbarButtonDisabled ?? null\"\n (sectionToolbarButtonClick)=\"toolbarButtonClick.emit($event)\" />\n @if (layoutPageTabsOrdenadas().length > 0) {\n <app-form-tabs class=\"cadastro-metadata-page__tabs w-full\" [activeKey]=\"activeCadastroPageTabKey()\"\n (activeKeyChange)=\"onActiveCadastroTabChange($event)\" tablistAriaLabel=\"Sec\u00E7\u00F5es do cadastro\"\n variant=\"default\">\n @for (tab of layoutPageTabsOrdenadas(); track tab.key) {\n <app-form-tab [key]=\"tab.key\" [tabTitle]=\"tab.label\" [tabIconClass]=\"tab.icon\"\n [warning]=\"tabTemAvisoInvalidoVisivel(c, tab.key)\">\n @if (camposMetadataParaTab(c, tab.key).length > 0) {\n <app-cadastro-fields-base [metadata]=\"metadataLayoutParaCampos()\"\n [camposMetadata]=\"camposMetadataParaTab(c, tab.key)\" [form]=\"c.form\" [runtime]=\"c.runtime\"\n [formKey]=\"entityName()\" [cadastroUiRegistry]=\"c.uiRegistry\" [searchSelectBindings]=\"searchSelectBindings()\"\n [listSelectBindings]=\"listSelectBindings()\" [multiselectBindings]=\"multiselectBindings()\"\n [redirectReturnUrl]=\"redirectReturnUrl()\" [formGridColumns]=\"formGridColumnsParaCampos()\"\n [sectionToolbarButtonsByKey]=\"c.sectionToolbarButtonsByKey ?? {}\"\n [sectionToolbarButtonDisabled]=\"c.sectionToolbarButtonDisabled ?? null\"\n (sectionToolbarButtonClick)=\"toolbarButtonClick.emit($event)\" />\n } @else {\n <div class=\"cadastro-metadata-page__tab-empty px-2 py-8 text-center text-sm text-slate-500\">\n Sem conte\u00FAdo nesta sec\u00E7\u00E3o.\n </div>\n }\n </app-form-tab>\n }\n </app-form-tabs>\n }\n </app-form-section>\n </form>\n }\n</app-cadastro-base-page>\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;width:100%;min-width:0;box-sizing:border-box}.cadastro-metadata-page__shell{flex:1 1 0%;min-height:0;width:100%;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow-y:auto}:host.cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{padding-inline:0;padding-block:.25rem .35rem;overflow-y:visible}@media(max-width:767.98px){:host.cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{padding-inline:0;padding-block:.2rem .35rem}}.cadastro-metadata-page__form{display:flex;flex-direction:column;gap:.5rem;box-sizing:border-box;width:100%;margin-inline:auto}:host ::ng-deep .cadastro-metadata-page__section.form-section--panel .form-section__body{gap:.4rem}:host ::ng-deep .cadastro-metadata-page__tabs .form-tab__panel{gap:.4rem}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__shell{padding:0;overflow-y:visible}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__form{width:100%;max-width:none!important;margin-inline:0!important;gap:.4rem}:host.cadastro-metadata-page--embedded-page-shell .cadastro-base-page__body{width:100%;max-width:none;min-width:0}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--plain,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--panel,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--card{width:100%;max-width:none;margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__header{display:none}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__content,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__body{padding:0}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--panel,:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--card{width:100%;max-width:none;margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header{padding:.55rem 0}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.65rem 0}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded .form-group__body{padding:.55rem 0}\n", "@charset \"UTF-8\";.cadastro-shell-topbar-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.cadastro-shell-topbar-btn-inner{display:inline-flex;align-items:center;gap:.375rem}.cadastro-shell-topbar-btn-icon{font-size:1.05rem;line-height:1;flex-shrink:0}.cadastro-shell-topbar-btn-label{white-space:nowrap}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native{border-color:var(--ui-button-secondary-border, var(--app-color-border-strong));background:var(--ui-button-secondary-bg, var(--app-color-surface-alt))}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native:hover:not(:disabled){border-color:var(--ui-button-secondary-border-hover, var(--ui-button-secondary-border, var(--app-color-border)));background:var(--ui-button-secondary-bg-hover, var(--app-color-button-secondary-hover-bg))}@media(max-width:767.98px){.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-inner{gap:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: CadastroBasePageComponent, selector: "app-cadastro-base-page", inputs: ["runtime", "cadastroInitError", "cadastroInitLoading", "skeletonPanelMaxWidth", "toolbarInterno", "embeddedInReferenciaDialog", "corpoCentralizado", "cabecalhoPaginaVisivel", "validationUi", "validationSummaryPinned", "headerSecondaryAction", "validationSummaryTitle", "shellTopbarReserveDuplicar"], outputs: ["headerSecondaryActionClick"] }, { kind: "component", type: ButtonComponent, selector: "app-button" }, { kind: "component", type: FormSectionComponent, selector: "app-form-section", inputs: ["titulo", "subtitulo", "dense", "divider", "variant", "align", "maxWidth", "fullWidth", "radius", "elevated", "size", "tamanhoCampoMobile"] }, { kind: "component", type: FormTabsComponent, selector: "app-form-tabs", inputs: ["activeKey", "keepAlive", "stretch", "variant", "size", "tamanhoCampoMobile", "tablistAriaLabel", "validationLinkItems", "validationLinkActive"], outputs: ["activeKeyChange"] }, { kind: "component", type: FormTabComponent, selector: "app-form-tab", inputs: ["key", "tabTitle", "tabIconClass", "disabled", "warning", "validationLinkFieldIds"] }, { kind: "component", type: CadastroFieldsBaseComponent, selector: "app-cadastro-fields-base", inputs: ["metadata", "camposMetadata", "form", "runtime", "searchSelectBindings", "listSelectBindings", "multiselectBindings", "redirectReturnUrl", "formGridColumns", "cadastroUiRegistry", "formKey", "sectionToolbarButtonsByKey", "sectionToolbarButtonDisabled"], outputs: ["sectionToolbarButtonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45099
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: CadastroMetadataPageComponent, isStandalone: true, selector: "app-cadastro-metadata-page", inputs: { entityName: { classPropertyName: "entityName", publicName: "entityName", isSignal: true, isRequired: true, transformFunction: null }, entityLabel: { classPropertyName: "entityLabel", publicName: "entityLabel", isSignal: true, isRequired: true, transformFunction: null }, cadastro: { classPropertyName: "cadastro", publicName: "cadastro", isSignal: true, isRequired: false, transformFunction: null }, initError: { classPropertyName: "initError", publicName: "initError", isSignal: true, isRequired: false, transformFunction: null }, initLoading: { classPropertyName: "initLoading", publicName: "initLoading", isSignal: true, isRequired: false, transformFunction: null }, validationUi: { classPropertyName: "validationUi", publicName: "validationUi", isSignal: true, isRequired: false, transformFunction: null }, searchSelectBindings: { classPropertyName: "searchSelectBindings", publicName: "searchSelectBindings", isSignal: true, isRequired: false, transformFunction: null }, listSelectBindings: { classPropertyName: "listSelectBindings", publicName: "listSelectBindings", isSignal: true, isRequired: false, transformFunction: null }, multiselectBindings: { classPropertyName: "multiselectBindings", publicName: "multiselectBindings", isSignal: true, isRequired: false, transformFunction: null }, metadataCamposReply: { classPropertyName: "metadataCamposReply", publicName: "metadataCamposReply", isSignal: true, isRequired: false, transformFunction: null }, redirectReturnUrl: { classPropertyName: "redirectReturnUrl", publicName: "redirectReturnUrl", isSignal: true, isRequired: false, transformFunction: null }, painelMaxWidthHint: { classPropertyName: "painelMaxWidthHint", publicName: "painelMaxWidthHint", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, corpoCentralizado: { classPropertyName: "corpoCentralizado", publicName: "corpoCentralizado", isSignal: true, isRequired: false, transformFunction: null }, cabecalhoPaginaVisivel: { classPropertyName: "cabecalhoPaginaVisivel", publicName: "cabecalhoPaginaVisivel", isSignal: true, isRequired: false, transformFunction: null }, toolbarInterno: { classPropertyName: "toolbarInterno", publicName: "toolbarInterno", isSignal: true, isRequired: false, transformFunction: null }, embeddedInReferenciaDialog: { classPropertyName: "embeddedInReferenciaDialog", publicName: "embeddedInReferenciaDialog", isSignal: true, isRequired: false, transformFunction: null }, suppressInternalPageTabs: { classPropertyName: "suppressInternalPageTabs", publicName: "suppressInternalPageTabs", isSignal: true, isRequired: false, transformFunction: null }, externalShellTabKey: { classPropertyName: "externalShellTabKey", publicName: "externalShellTabKey", isSignal: true, isRequired: false, transformFunction: null }, embeddedInPageShell: { classPropertyName: "embeddedInPageShell", publicName: "embeddedInPageShell", isSignal: true, isRequired: false, transformFunction: null }, headerSecondaryAction: { classPropertyName: "headerSecondaryAction", publicName: "headerSecondaryAction", isSignal: true, isRequired: false, transformFunction: null }, tituloSection: { classPropertyName: "tituloSection", publicName: "tituloSection", isSignal: true, isRequired: false, transformFunction: null }, subtituloSection: { classPropertyName: "subtituloSection", publicName: "subtituloSection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { salvarSubmit: "salvarSubmit", toolbarButtonClick: "toolbarButtonClick", headerSecondaryActionClick: "headerSecondaryActionClick" }, host: { properties: { "class.cadastro-metadata-page--referencia-dialog": "embeddedInReferenciaDialog()", "class.cadastro-metadata-page--embedded-page-shell": "embeddedInPageShell()" }, classAttribute: "cadastro-metadata-page" }, ngImport: i0, template: "<app-cadastro-base-page class=\"cadastro-metadata-page__shell\" [cadastroInitError]=\"initError()\"\n [cadastroInitLoading]=\"initLoading()\" [runtime]=\"cadastro()?.runtime ?? null\"\n [shellTopbarReserveDuplicar]=\"cadastro()?.duplicateTopbarEnabled === true\"\n [toolbarInterno]=\"toolbarInterno()\"\n [embeddedInReferenciaDialog]=\"embeddedInReferenciaDialog()\"\n [corpoCentralizado]=\"formularioCorpoCentralizado()\" [cabecalhoPaginaVisivel]=\"cabecalhoPaginaVisivel()\"\n [validationUi]=\"validationUi()\" [skeletonPanelMaxWidth]=\"painelMaxWidthCss()\"\n [headerSecondaryAction]=\"headerSecondaryAction()\"\n (headerSecondaryActionClick)=\"headerSecondaryActionClick.emit()\">\n <ng-template #cadastroShellTopbarEnd>\n @if (!embeddedInReferenciaDialog()) {\n @if (cadastro(); as c) {\n <div class=\"cadastro-metadata-page__topbar-actions cadastro-shell-topbar-actions-row flex flex-wrap items-center justify-end gap-2\">\n @if (headerSecondaryActionVisible()) {\n @let headerAction = headerSecondaryAction()!;\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-header-secondary\" variant=\"secondary\" size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"headerAction.disabled || c.runtime.loading() || c.runtime.salvando() || c.runtime.excluindo()\"\n (click)=\"headerSecondaryActionClick.emit()\"\n [attr.aria-label]=\"headerAction.label\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (headerAction.icon?.trim()) {\n <i [class]=\"headerAction.icon!.trim() + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ headerAction.label }}</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarSalvar) {\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-salvar\" variant=\"success\" size=\"md\"\n [fullWidth]=\"false\" [disabled]=\"c.runtime.loading() || c.runtime.salvando()\"\n [loading]=\"c.runtime.salvando()\" (click)=\"c.runtime.salvar()\" [attr.aria-label]=\"'Salvar'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-floppy-disk cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Salvar</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarNovo && c.runtime.duplicar && c.runtime.podeDuplicar()) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"c.runtime.loading() || c.runtime.salvando() || c.runtime.excluindo()\"\n (click)=\"c.runtime.duplicar!()\" [attr.aria-label]=\"'Duplicar'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-copy cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Duplicar</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarNovo) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"!c.runtime.podeNovo()\"\n (click)=\"c.runtime.novo()\" [attr.aria-label]=\"'Novo registro'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-file cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Novo</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarExcluir && c.runtime.podeExcluir() && c.runtime.excluir) {\n <app-button type=\"button\" variant=\"danger\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"c.runtime.salvando() || c.runtime.excluindo()\" [loading]=\"c.runtime.excluindo()\"\n (click)=\"c.runtime.excluir!()\" [attr.aria-label]=\"'Excluir'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-trash-can cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Excluir</span>\n </span>\n </app-button>\n }\n @for (btn of toolbarButtonsEfectivos(); track btn.actionId) {\n @if (toolbarButtonVisible(c, btn)) {\n <app-button type=\"button\" size=\"md\" [fullWidth]=\"false\"\n [variant]=\"toolbarButtonVariant(btn.variant)\"\n [disabled]=\"toolbarButtonDisabled(c, btn)\"\n (click)=\"toolbarButtonClick.emit(btn)\"\n [attr.aria-label]=\"btn.label\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (btn.iconClass.trim()) {\n <i [class]=\"btn.iconClass + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ btn.label }}</span>\n </span>\n </app-button>\n }\n }\n </div>\n }\n }\n </ng-template>\n @if (cadastro(); as c) {\n <form [formGroup]=\"c.form\" (ngSubmit)=\"salvarSubmit.emit()\" novalidate\n class=\"cadastro-metadata-page__form flex w-full flex-col gap-2\"\n [class.mx-auto]=\"formularioCorpoCentralizado()\"\n [style.max-width]=\"formularioPainelMaxWidthCss()\">\n <app-form-section class=\"cadastro-metadata-page__section w-full\" [divider]=\"false\"\n [variant]=\"embeddedInPageShell() ? 'plain' : 'panel'\"\n [titulo]=\"sectionTitulo(c)\" [subtitulo]=\"sectionSubtitulo(c)\">\n <app-cadastro-fields-base [metadata]=\"metadataLayoutParaCampos()\"\n [camposMetadata]=\"camposMetadataCapa(c)\" [form]=\"c.form\" [runtime]=\"c.runtime\"\n [formKey]=\"entityName()\" [cadastroUiRegistry]=\"c.uiRegistry\" [searchSelectBindings]=\"searchSelectBindings()\"\n [listSelectBindings]=\"listSelectBindings()\" [multiselectBindings]=\"multiselectBindings()\"\n [redirectReturnUrl]=\"redirectReturnUrl()\" [formGridColumns]=\"formGridColumnsParaCampos()\"\n [sectionToolbarButtonsByKey]=\"c.sectionToolbarButtonsByKey ?? {}\"\n [sectionToolbarButtonDisabled]=\"c.sectionToolbarButtonDisabled ?? null\"\n (sectionToolbarButtonClick)=\"toolbarButtonClick.emit($event)\" />\n @if (layoutPageTabsOrdenadas().length > 0) {\n <app-form-tabs class=\"cadastro-metadata-page__tabs w-full\" [activeKey]=\"activeCadastroPageTabKey()\"\n (activeKeyChange)=\"onActiveCadastroTabChange($event)\" tablistAriaLabel=\"Sec\u00E7\u00F5es do cadastro\"\n variant=\"default\">\n @for (tab of layoutPageTabsOrdenadas(); track tab.key) {\n <app-form-tab [key]=\"tab.key\" [tabTitle]=\"tab.label\" [tabIconClass]=\"tab.icon\"\n [warning]=\"tabTemAvisoInvalidoVisivel(c, tab.key)\">\n @if (camposMetadataParaTab(c, tab.key).length > 0) {\n <app-cadastro-fields-base [metadata]=\"metadataLayoutParaCampos()\"\n [camposMetadata]=\"camposMetadataParaTab(c, tab.key)\" [form]=\"c.form\" [runtime]=\"c.runtime\"\n [formKey]=\"entityName()\" [cadastroUiRegistry]=\"c.uiRegistry\" [searchSelectBindings]=\"searchSelectBindings()\"\n [listSelectBindings]=\"listSelectBindings()\" [multiselectBindings]=\"multiselectBindings()\"\n [redirectReturnUrl]=\"redirectReturnUrl()\" [formGridColumns]=\"formGridColumnsParaCampos()\"\n [sectionToolbarButtonsByKey]=\"c.sectionToolbarButtonsByKey ?? {}\"\n [sectionToolbarButtonDisabled]=\"c.sectionToolbarButtonDisabled ?? null\"\n (sectionToolbarButtonClick)=\"toolbarButtonClick.emit($event)\" />\n } @else {\n <div class=\"cadastro-metadata-page__tab-empty px-2 py-8 text-center text-sm text-slate-500\">\n Sem conte\u00FAdo nesta sec\u00E7\u00E3o.\n </div>\n }\n </app-form-tab>\n }\n </app-form-tabs>\n }\n </app-form-section>\n </form>\n }\n</app-cadastro-base-page>\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;width:100%;min-width:0;box-sizing:border-box}.cadastro-metadata-page__shell{flex:1 1 0%;min-height:0;width:100%;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow-y:auto}:host.cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{padding-inline:0;padding-block:.25rem .35rem;overflow-y:visible}@media(max-width:767.98px){:host.cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{padding-inline:0;padding-block:.2rem .35rem}}.cadastro-metadata-page__form{display:flex;flex-direction:column;gap:.5rem;box-sizing:border-box;width:100%;margin-inline:auto}:host ::ng-deep .cadastro-metadata-page__section.form-section--panel .form-section__body{gap:.4rem}:host ::ng-deep .cadastro-metadata-page__tabs .form-tab__panel{gap:.4rem}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__shell{padding:0;overflow-y:visible}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__form{width:100%;max-width:none!important;margin-inline:0!important;gap:.4rem}:host.cadastro-metadata-page--embedded-page-shell .cadastro-base-page__body{width:100%;max-width:none;min-width:0}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--plain,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--panel,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--card{width:100%;max-width:none;margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__header{display:none}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__content,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__body{padding:0}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--panel,:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--card{width:100%;max-width:none;margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--panel .form-section__body,:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--panel .form-section__content,:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--card .form-section__body,:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--card .form-section__content{padding-inline:.55rem;box-sizing:border-box}\n", "@charset \"UTF-8\";.cadastro-shell-topbar-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.cadastro-shell-topbar-btn-inner{display:inline-flex;align-items:center;gap:.375rem}.cadastro-shell-topbar-btn-icon{font-size:1.05rem;line-height:1;flex-shrink:0}.cadastro-shell-topbar-btn-label{white-space:nowrap}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native{border-color:var(--ui-button-secondary-border, var(--app-color-border-strong));background:var(--ui-button-secondary-bg, var(--app-color-surface-alt))}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native:hover:not(:disabled){border-color:var(--ui-button-secondary-border-hover, var(--ui-button-secondary-border, var(--app-color-border)));background:var(--ui-button-secondary-bg-hover, var(--app-color-button-secondary-hover-bg))}@media(max-width:767.98px){.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-inner{gap:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: CadastroBasePageComponent, selector: "app-cadastro-base-page", inputs: ["runtime", "cadastroInitError", "cadastroInitLoading", "skeletonPanelMaxWidth", "toolbarInterno", "embeddedInReferenciaDialog", "corpoCentralizado", "cabecalhoPaginaVisivel", "validationUi", "validationSummaryPinned", "headerSecondaryAction", "validationSummaryTitle", "shellTopbarReserveDuplicar"], outputs: ["headerSecondaryActionClick"] }, { kind: "component", type: ButtonComponent, selector: "app-button" }, { kind: "component", type: FormSectionComponent, selector: "app-form-section", inputs: ["titulo", "subtitulo", "dense", "divider", "variant", "align", "maxWidth", "fullWidth", "radius", "elevated", "size", "tamanhoCampoMobile"] }, { kind: "component", type: FormTabsComponent, selector: "app-form-tabs", inputs: ["activeKey", "keepAlive", "stretch", "variant", "size", "tamanhoCampoMobile", "tablistAriaLabel", "validationLinkItems", "validationLinkActive"], outputs: ["activeKeyChange"] }, { kind: "component", type: FormTabComponent, selector: "app-form-tab", inputs: ["key", "tabTitle", "tabIconClass", "disabled", "warning", "validationLinkFieldIds"] }, { kind: "component", type: CadastroFieldsBaseComponent, selector: "app-cadastro-fields-base", inputs: ["metadata", "camposMetadata", "form", "runtime", "searchSelectBindings", "listSelectBindings", "multiselectBindings", "redirectReturnUrl", "formGridColumns", "cadastroUiRegistry", "formKey", "sectionToolbarButtonsByKey", "sectionToolbarButtonDisabled"], outputs: ["sectionToolbarButtonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45100
45100
  }
45101
45101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CadastroMetadataPageComponent, decorators: [{
45102
45102
  type: Component,
@@ -45113,7 +45113,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
45113
45113
  class: 'cadastro-metadata-page',
45114
45114
  '[class.cadastro-metadata-page--referencia-dialog]': 'embeddedInReferenciaDialog()',
45115
45115
  '[class.cadastro-metadata-page--embedded-page-shell]': 'embeddedInPageShell()',
45116
- }, template: "<app-cadastro-base-page class=\"cadastro-metadata-page__shell\" [cadastroInitError]=\"initError()\"\n [cadastroInitLoading]=\"initLoading()\" [runtime]=\"cadastro()?.runtime ?? null\"\n [shellTopbarReserveDuplicar]=\"cadastro()?.duplicateTopbarEnabled === true\"\n [toolbarInterno]=\"toolbarInterno()\"\n [embeddedInReferenciaDialog]=\"embeddedInReferenciaDialog()\"\n [corpoCentralizado]=\"formularioCorpoCentralizado()\" [cabecalhoPaginaVisivel]=\"cabecalhoPaginaVisivel()\"\n [validationUi]=\"validationUi()\" [skeletonPanelMaxWidth]=\"painelMaxWidthCss()\"\n [headerSecondaryAction]=\"headerSecondaryAction()\"\n (headerSecondaryActionClick)=\"headerSecondaryActionClick.emit()\">\n <ng-template #cadastroShellTopbarEnd>\n @if (!embeddedInReferenciaDialog()) {\n @if (cadastro(); as c) {\n <div class=\"cadastro-metadata-page__topbar-actions cadastro-shell-topbar-actions-row flex flex-wrap items-center justify-end gap-2\">\n @if (headerSecondaryActionVisible()) {\n @let headerAction = headerSecondaryAction()!;\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-header-secondary\" variant=\"secondary\" size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"headerAction.disabled || c.runtime.loading() || c.runtime.salvando() || c.runtime.excluindo()\"\n (click)=\"headerSecondaryActionClick.emit()\"\n [attr.aria-label]=\"headerAction.label\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (headerAction.icon?.trim()) {\n <i [class]=\"headerAction.icon!.trim() + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ headerAction.label }}</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarSalvar) {\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-salvar\" variant=\"success\" size=\"md\"\n [fullWidth]=\"false\" [disabled]=\"c.runtime.loading() || c.runtime.salvando()\"\n [loading]=\"c.runtime.salvando()\" (click)=\"c.runtime.salvar()\" [attr.aria-label]=\"'Salvar'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-floppy-disk cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Salvar</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarNovo && c.runtime.duplicar && c.runtime.podeDuplicar()) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"c.runtime.loading() || c.runtime.salvando() || c.runtime.excluindo()\"\n (click)=\"c.runtime.duplicar!()\" [attr.aria-label]=\"'Duplicar'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-copy cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Duplicar</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarNovo) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"!c.runtime.podeNovo()\"\n (click)=\"c.runtime.novo()\" [attr.aria-label]=\"'Novo registro'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-file cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Novo</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarExcluir && c.runtime.podeExcluir() && c.runtime.excluir) {\n <app-button type=\"button\" variant=\"danger\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"c.runtime.salvando() || c.runtime.excluindo()\" [loading]=\"c.runtime.excluindo()\"\n (click)=\"c.runtime.excluir!()\" [attr.aria-label]=\"'Excluir'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-trash-can cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Excluir</span>\n </span>\n </app-button>\n }\n @for (btn of toolbarButtonsEfectivos(); track btn.actionId) {\n @if (toolbarButtonVisible(c, btn)) {\n <app-button type=\"button\" size=\"md\" [fullWidth]=\"false\"\n [variant]=\"toolbarButtonVariant(btn.variant)\"\n [disabled]=\"toolbarButtonDisabled(c, btn)\"\n (click)=\"toolbarButtonClick.emit(btn)\"\n [attr.aria-label]=\"btn.label\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (btn.iconClass.trim()) {\n <i [class]=\"btn.iconClass + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ btn.label }}</span>\n </span>\n </app-button>\n }\n }\n </div>\n }\n }\n </ng-template>\n @if (cadastro(); as c) {\n <form [formGroup]=\"c.form\" (ngSubmit)=\"salvarSubmit.emit()\" novalidate\n class=\"cadastro-metadata-page__form flex w-full flex-col gap-2\"\n [class.mx-auto]=\"formularioCorpoCentralizado()\"\n [style.max-width]=\"formularioPainelMaxWidthCss()\">\n <app-form-section class=\"cadastro-metadata-page__section w-full\" [divider]=\"false\"\n [variant]=\"embeddedInPageShell() ? 'plain' : 'panel'\"\n [titulo]=\"sectionTitulo(c)\" [subtitulo]=\"sectionSubtitulo(c)\">\n <app-cadastro-fields-base [metadata]=\"metadataLayoutParaCampos()\"\n [camposMetadata]=\"camposMetadataCapa(c)\" [form]=\"c.form\" [runtime]=\"c.runtime\"\n [formKey]=\"entityName()\" [cadastroUiRegistry]=\"c.uiRegistry\" [searchSelectBindings]=\"searchSelectBindings()\"\n [listSelectBindings]=\"listSelectBindings()\" [multiselectBindings]=\"multiselectBindings()\"\n [redirectReturnUrl]=\"redirectReturnUrl()\" [formGridColumns]=\"formGridColumnsParaCampos()\"\n [sectionToolbarButtonsByKey]=\"c.sectionToolbarButtonsByKey ?? {}\"\n [sectionToolbarButtonDisabled]=\"c.sectionToolbarButtonDisabled ?? null\"\n (sectionToolbarButtonClick)=\"toolbarButtonClick.emit($event)\" />\n @if (layoutPageTabsOrdenadas().length > 0) {\n <app-form-tabs class=\"cadastro-metadata-page__tabs w-full\" [activeKey]=\"activeCadastroPageTabKey()\"\n (activeKeyChange)=\"onActiveCadastroTabChange($event)\" tablistAriaLabel=\"Sec\u00E7\u00F5es do cadastro\"\n variant=\"default\">\n @for (tab of layoutPageTabsOrdenadas(); track tab.key) {\n <app-form-tab [key]=\"tab.key\" [tabTitle]=\"tab.label\" [tabIconClass]=\"tab.icon\"\n [warning]=\"tabTemAvisoInvalidoVisivel(c, tab.key)\">\n @if (camposMetadataParaTab(c, tab.key).length > 0) {\n <app-cadastro-fields-base [metadata]=\"metadataLayoutParaCampos()\"\n [camposMetadata]=\"camposMetadataParaTab(c, tab.key)\" [form]=\"c.form\" [runtime]=\"c.runtime\"\n [formKey]=\"entityName()\" [cadastroUiRegistry]=\"c.uiRegistry\" [searchSelectBindings]=\"searchSelectBindings()\"\n [listSelectBindings]=\"listSelectBindings()\" [multiselectBindings]=\"multiselectBindings()\"\n [redirectReturnUrl]=\"redirectReturnUrl()\" [formGridColumns]=\"formGridColumnsParaCampos()\"\n [sectionToolbarButtonsByKey]=\"c.sectionToolbarButtonsByKey ?? {}\"\n [sectionToolbarButtonDisabled]=\"c.sectionToolbarButtonDisabled ?? null\"\n (sectionToolbarButtonClick)=\"toolbarButtonClick.emit($event)\" />\n } @else {\n <div class=\"cadastro-metadata-page__tab-empty px-2 py-8 text-center text-sm text-slate-500\">\n Sem conte\u00FAdo nesta sec\u00E7\u00E3o.\n </div>\n }\n </app-form-tab>\n }\n </app-form-tabs>\n }\n </app-form-section>\n </form>\n }\n</app-cadastro-base-page>\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;width:100%;min-width:0;box-sizing:border-box}.cadastro-metadata-page__shell{flex:1 1 0%;min-height:0;width:100%;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow-y:auto}:host.cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{padding-inline:0;padding-block:.25rem .35rem;overflow-y:visible}@media(max-width:767.98px){:host.cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{padding-inline:0;padding-block:.2rem .35rem}}.cadastro-metadata-page__form{display:flex;flex-direction:column;gap:.5rem;box-sizing:border-box;width:100%;margin-inline:auto}:host ::ng-deep .cadastro-metadata-page__section.form-section--panel .form-section__body{gap:.4rem}:host ::ng-deep .cadastro-metadata-page__tabs .form-tab__panel{gap:.4rem}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__shell{padding:0;overflow-y:visible}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__form{width:100%;max-width:none!important;margin-inline:0!important;gap:.4rem}:host.cadastro-metadata-page--embedded-page-shell .cadastro-base-page__body{width:100%;max-width:none;min-width:0}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--plain,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--panel,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--card{width:100%;max-width:none;margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__header{display:none}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__content,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__body{padding:0}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--panel,:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--card{width:100%;max-width:none;margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header{padding:.55rem 0}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--collapsible .form-group__header.form-group__header--single-line{padding:.65rem 0}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-group--default:not(.form-group--outlined):not(.form-group--subtle):not(.form-group--dense).form-group--expanded .form-group__body{padding:.55rem 0}\n", "@charset \"UTF-8\";.cadastro-shell-topbar-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.cadastro-shell-topbar-btn-inner{display:inline-flex;align-items:center;gap:.375rem}.cadastro-shell-topbar-btn-icon{font-size:1.05rem;line-height:1;flex-shrink:0}.cadastro-shell-topbar-btn-label{white-space:nowrap}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native{border-color:var(--ui-button-secondary-border, var(--app-color-border-strong));background:var(--ui-button-secondary-bg, var(--app-color-surface-alt))}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native:hover:not(:disabled){border-color:var(--ui-button-secondary-border-hover, var(--ui-button-secondary-border, var(--app-color-border)));background:var(--ui-button-secondary-bg-hover, var(--app-color-button-secondary-hover-bg))}@media(max-width:767.98px){.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-inner{gap:0}}\n"] }]
45116
+ }, template: "<app-cadastro-base-page class=\"cadastro-metadata-page__shell\" [cadastroInitError]=\"initError()\"\n [cadastroInitLoading]=\"initLoading()\" [runtime]=\"cadastro()?.runtime ?? null\"\n [shellTopbarReserveDuplicar]=\"cadastro()?.duplicateTopbarEnabled === true\"\n [toolbarInterno]=\"toolbarInterno()\"\n [embeddedInReferenciaDialog]=\"embeddedInReferenciaDialog()\"\n [corpoCentralizado]=\"formularioCorpoCentralizado()\" [cabecalhoPaginaVisivel]=\"cabecalhoPaginaVisivel()\"\n [validationUi]=\"validationUi()\" [skeletonPanelMaxWidth]=\"painelMaxWidthCss()\"\n [headerSecondaryAction]=\"headerSecondaryAction()\"\n (headerSecondaryActionClick)=\"headerSecondaryActionClick.emit()\">\n <ng-template #cadastroShellTopbarEnd>\n @if (!embeddedInReferenciaDialog()) {\n @if (cadastro(); as c) {\n <div class=\"cadastro-metadata-page__topbar-actions cadastro-shell-topbar-actions-row flex flex-wrap items-center justify-end gap-2\">\n @if (headerSecondaryActionVisible()) {\n @let headerAction = headerSecondaryAction()!;\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-header-secondary\" variant=\"secondary\" size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"headerAction.disabled || c.runtime.loading() || c.runtime.salvando() || c.runtime.excluindo()\"\n (click)=\"headerSecondaryActionClick.emit()\"\n [attr.aria-label]=\"headerAction.label\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (headerAction.icon?.trim()) {\n <i [class]=\"headerAction.icon!.trim() + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ headerAction.label }}</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarSalvar) {\n <app-button type=\"button\" class=\"cadastro-shell-topbar-btn-salvar\" variant=\"success\" size=\"md\"\n [fullWidth]=\"false\" [disabled]=\"c.runtime.loading() || c.runtime.salvando()\"\n [loading]=\"c.runtime.salvando()\" (click)=\"c.runtime.salvar()\" [attr.aria-label]=\"'Salvar'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-floppy-disk cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Salvar</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarNovo && c.runtime.duplicar && c.runtime.podeDuplicar()) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"c.runtime.loading() || c.runtime.salvando() || c.runtime.excluindo()\"\n (click)=\"c.runtime.duplicar!()\" [attr.aria-label]=\"'Duplicar'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-copy cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Duplicar</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarNovo) {\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"!c.runtime.podeNovo()\"\n (click)=\"c.runtime.novo()\" [attr.aria-label]=\"'Novo registro'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-file cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Novo</span>\n </span>\n </app-button>\n }\n @if (c.runtime.exibirToolbarExcluir && c.runtime.podeExcluir() && c.runtime.excluir) {\n <app-button type=\"button\" variant=\"danger\" size=\"md\" [fullWidth]=\"false\"\n [disabled]=\"c.runtime.salvando() || c.runtime.excluindo()\" [loading]=\"c.runtime.excluindo()\"\n (click)=\"c.runtime.excluir!()\" [attr.aria-label]=\"'Excluir'\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n <i class=\"fa-solid fa-trash-can cadastro-shell-topbar-btn-icon\" aria-hidden=\"true\"></i>\n <span class=\"cadastro-shell-topbar-btn-label\">Excluir</span>\n </span>\n </app-button>\n }\n @for (btn of toolbarButtonsEfectivos(); track btn.actionId) {\n @if (toolbarButtonVisible(c, btn)) {\n <app-button type=\"button\" size=\"md\" [fullWidth]=\"false\"\n [variant]=\"toolbarButtonVariant(btn.variant)\"\n [disabled]=\"toolbarButtonDisabled(c, btn)\"\n (click)=\"toolbarButtonClick.emit(btn)\"\n [attr.aria-label]=\"btn.label\">\n <span class=\"cadastro-shell-topbar-btn-inner\">\n @if (btn.iconClass.trim()) {\n <i [class]=\"btn.iconClass + ' cadastro-shell-topbar-btn-icon'\" aria-hidden=\"true\"></i>\n }\n <span class=\"cadastro-shell-topbar-btn-label\">{{ btn.label }}</span>\n </span>\n </app-button>\n }\n }\n </div>\n }\n }\n </ng-template>\n @if (cadastro(); as c) {\n <form [formGroup]=\"c.form\" (ngSubmit)=\"salvarSubmit.emit()\" novalidate\n class=\"cadastro-metadata-page__form flex w-full flex-col gap-2\"\n [class.mx-auto]=\"formularioCorpoCentralizado()\"\n [style.max-width]=\"formularioPainelMaxWidthCss()\">\n <app-form-section class=\"cadastro-metadata-page__section w-full\" [divider]=\"false\"\n [variant]=\"embeddedInPageShell() ? 'plain' : 'panel'\"\n [titulo]=\"sectionTitulo(c)\" [subtitulo]=\"sectionSubtitulo(c)\">\n <app-cadastro-fields-base [metadata]=\"metadataLayoutParaCampos()\"\n [camposMetadata]=\"camposMetadataCapa(c)\" [form]=\"c.form\" [runtime]=\"c.runtime\"\n [formKey]=\"entityName()\" [cadastroUiRegistry]=\"c.uiRegistry\" [searchSelectBindings]=\"searchSelectBindings()\"\n [listSelectBindings]=\"listSelectBindings()\" [multiselectBindings]=\"multiselectBindings()\"\n [redirectReturnUrl]=\"redirectReturnUrl()\" [formGridColumns]=\"formGridColumnsParaCampos()\"\n [sectionToolbarButtonsByKey]=\"c.sectionToolbarButtonsByKey ?? {}\"\n [sectionToolbarButtonDisabled]=\"c.sectionToolbarButtonDisabled ?? null\"\n (sectionToolbarButtonClick)=\"toolbarButtonClick.emit($event)\" />\n @if (layoutPageTabsOrdenadas().length > 0) {\n <app-form-tabs class=\"cadastro-metadata-page__tabs w-full\" [activeKey]=\"activeCadastroPageTabKey()\"\n (activeKeyChange)=\"onActiveCadastroTabChange($event)\" tablistAriaLabel=\"Sec\u00E7\u00F5es do cadastro\"\n variant=\"default\">\n @for (tab of layoutPageTabsOrdenadas(); track tab.key) {\n <app-form-tab [key]=\"tab.key\" [tabTitle]=\"tab.label\" [tabIconClass]=\"tab.icon\"\n [warning]=\"tabTemAvisoInvalidoVisivel(c, tab.key)\">\n @if (camposMetadataParaTab(c, tab.key).length > 0) {\n <app-cadastro-fields-base [metadata]=\"metadataLayoutParaCampos()\"\n [camposMetadata]=\"camposMetadataParaTab(c, tab.key)\" [form]=\"c.form\" [runtime]=\"c.runtime\"\n [formKey]=\"entityName()\" [cadastroUiRegistry]=\"c.uiRegistry\" [searchSelectBindings]=\"searchSelectBindings()\"\n [listSelectBindings]=\"listSelectBindings()\" [multiselectBindings]=\"multiselectBindings()\"\n [redirectReturnUrl]=\"redirectReturnUrl()\" [formGridColumns]=\"formGridColumnsParaCampos()\"\n [sectionToolbarButtonsByKey]=\"c.sectionToolbarButtonsByKey ?? {}\"\n [sectionToolbarButtonDisabled]=\"c.sectionToolbarButtonDisabled ?? null\"\n (sectionToolbarButtonClick)=\"toolbarButtonClick.emit($event)\" />\n } @else {\n <div class=\"cadastro-metadata-page__tab-empty px-2 py-8 text-center text-sm text-slate-500\">\n Sem conte\u00FAdo nesta sec\u00E7\u00E3o.\n </div>\n }\n </app-form-tab>\n }\n </app-form-tabs>\n }\n </app-form-section>\n </form>\n }\n</app-cadastro-base-page>\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;flex:1 1 0%;min-height:0;width:100%;min-width:0;box-sizing:border-box}.cadastro-metadata-page__shell{flex:1 1 0%;min-height:0;width:100%;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow-y:auto}:host.cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{padding-inline:0;padding-block:.25rem .35rem;overflow-y:visible}@media(max-width:767.98px){:host.cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{padding-inline:0;padding-block:.2rem .35rem}}.cadastro-metadata-page__form{display:flex;flex-direction:column;gap:.5rem;box-sizing:border-box;width:100%;margin-inline:auto}:host ::ng-deep .cadastro-metadata-page__section.form-section--panel .form-section__body{gap:.4rem}:host ::ng-deep .cadastro-metadata-page__tabs .form-tab__panel{gap:.4rem}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__shell{padding:0;overflow-y:visible}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__form{width:100%;max-width:none!important;margin-inline:0!important;gap:.4rem}:host.cadastro-metadata-page--embedded-page-shell .cadastro-base-page__body{width:100%;max-width:none;min-width:0}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--plain,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--panel,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section.form-section--card{width:100%;max-width:none;margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__header{display:none}:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__content,:host.cadastro-metadata-page--embedded-page-shell .cadastro-metadata-page__section .form-section__body{padding:0}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--panel,:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--card{width:100%;max-width:none;margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--panel .form-section__body,:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--panel .form-section__content,:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--card .form-section__body,:host.cadastro-metadata-page--embedded-page-shell ::ng-deep .cadastro-fields-base__section.form-section--card .form-section__content{padding-inline:.55rem;box-sizing:border-box}\n", "@charset \"UTF-8\";.cadastro-shell-topbar-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.cadastro-shell-topbar-btn-inner{display:inline-flex;align-items:center;gap:.375rem}.cadastro-shell-topbar-btn-icon{font-size:1.05rem;line-height:1;flex-shrink:0}.cadastro-shell-topbar-btn-label{white-space:nowrap}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native{border-color:var(--ui-button-secondary-border, var(--app-color-border-strong));background:var(--ui-button-secondary-bg, var(--app-color-surface-alt))}:host ::ng-deep app-button.cadastro-shell-topbar-btn-header-secondary.base-button--secondary .base-button__native:hover:not(:disabled){border-color:var(--ui-button-secondary-border-hover, var(--ui-button-secondary-border, var(--app-color-border)));background:var(--ui-button-secondary-bg-hover, var(--app-color-button-secondary-hover-bg))}@media(max-width:767.98px){.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cadastro-shell-topbar-actions-row .cadastro-shell-topbar-btn-inner{gap:0}}\n"] }]
45117
45117
  }], ctorParameters: () => [], propDecorators: { entityName: [{ type: i0.Input, args: [{ isSignal: true, alias: "entityName", required: true }] }], entityLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "entityLabel", required: true }] }], cadastro: [{ type: i0.Input, args: [{ isSignal: true, alias: "cadastro", required: false }] }], initError: [{ type: i0.Input, args: [{ isSignal: true, alias: "initError", required: false }] }], initLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "initLoading", required: false }] }], validationUi: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationUi", required: false }] }], searchSelectBindings: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchSelectBindings", required: false }] }], listSelectBindings: [{ type: i0.Input, args: [{ isSignal: true, alias: "listSelectBindings", required: false }] }], multiselectBindings: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiselectBindings", required: false }] }], metadataCamposReply: [{ type: i0.Input, args: [{ isSignal: true, alias: "metadataCamposReply", required: false }] }], redirectReturnUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "redirectReturnUrl", required: false }] }], painelMaxWidthHint: [{ type: i0.Input, args: [{ isSignal: true, alias: "painelMaxWidthHint", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], corpoCentralizado: [{ type: i0.Input, args: [{ isSignal: true, alias: "corpoCentralizado", required: false }] }], cabecalhoPaginaVisivel: [{ type: i0.Input, args: [{ isSignal: true, alias: "cabecalhoPaginaVisivel", required: false }] }], toolbarInterno: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolbarInterno", required: false }] }], embeddedInReferenciaDialog: [{ type: i0.Input, args: [{ isSignal: true, alias: "embeddedInReferenciaDialog", required: false }] }], suppressInternalPageTabs: [{ type: i0.Input, args: [{ isSignal: true, alias: "suppressInternalPageTabs", required: false }] }], externalShellTabKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "externalShellTabKey", required: false }] }], embeddedInPageShell: [{ type: i0.Input, args: [{ isSignal: true, alias: "embeddedInPageShell", required: false }] }], salvarSubmit: [{ type: i0.Output, args: ["salvarSubmit"] }], toolbarButtonClick: [{ type: i0.Output, args: ["toolbarButtonClick"] }], headerSecondaryAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerSecondaryAction", required: false }] }], headerSecondaryActionClick: [{ type: i0.Output, args: ["headerSecondaryActionClick"] }], tituloSection: [{ type: i0.Input, args: [{ isSignal: true, alias: "tituloSection", required: false }] }], subtituloSection: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtituloSection", required: false }] }] } });
45118
45118
 
45119
45119
  function resolveStructraPageInputExpression(expression, ctx) {
@@ -45343,7 +45343,7 @@ class CadastroMetadataPageShellLayoutComponent {
45343
45343
  }
45344
45344
  }
45345
45345
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CadastroMetadataPageShellLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45346
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: CadastroMetadataPageShellLayoutComponent, isStandalone: true, selector: "app-cadastro-metadata-page-shell-layout", inputs: { runtime: { classPropertyName: "runtime", publicName: "runtime", isSignal: true, isRequired: true, transformFunction: null }, scrollContainer: { classPropertyName: "scrollContainer", publicName: "scrollContainer", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "cadastro-metadata-page-shell-layout" }, ngImport: i0, template: "@if (overlayVisible()) {\n <div class=\"cadastro-page-shell__overlay\" role=\"status\" aria-live=\"polite\">\n <app-structra-page-component-outlet\n [tag]=\"overlayTag()\"\n [inputBindings]=\"overlayInputs()\"\n [inputContext]=\"inputContext()\"\n />\n </div>\n}\n\n<app-form-tabs\n class=\"cadastro-page-shell__tabs\"\n [activeKey]=\"activeTabKey()\"\n (activeKeyChange)=\"onTabChange($event)\"\n [keepAlive]=\"tabsKeepAlive()\"\n tablistAriaLabel=\"Se\u00E7\u00F5es da p\u00E1gina\"\n>\n @for (tab of pageTabs(); track tab.key) {\n <app-form-tab [key]=\"tab.key\" [tabTitle]=\"tab.label\" [tabIconClass]=\"tab.icon\">\n <div class=\"cadastro-page-shell__tab-panel\">\n @if (componentsForRegion('tab:' + tab.key).length > 0) {\n @for (component of componentsForRegion('tab:' + tab.key); track component.tag) {\n <app-structra-page-component-outlet\n [tag]=\"component.tag\"\n [inputBindings]=\"component.inputs ?? null\"\n [inputContext]=\"inputContext()\"\n />\n }\n } @else {\n <app-cadastro-metadata-page\n [entityName]=\"entityNameEfectivo()\"\n [entityLabel]=\"entityLabelEfectivo()\"\n [cadastro]=\"runtime().cadastro\"\n [initError]=\"runtime().initError\"\n [initLoading]=\"runtime().initLoading\"\n [validationUi]=\"runtime().validationUi\"\n [searchSelectBindings]=\"runtime().vm.searchSelectBindings\"\n [listSelectBindings]=\"runtime().vm.listSelectBindings\"\n [multiselectBindings]=\"runtime().vm.multiselectBindings\"\n [metadataCamposReply]=\"runtime().metadataCamposReply ?? null\"\n [redirectReturnUrl]=\"runtime().vm.redirectReturnUrl\"\n [painelMaxWidthHint]=\"runtime().painelMaxWidthHint\"\n [maxWidth]=\"runtime().maxWidth ?? null\"\n [corpoCentralizado]=\"runtime().corpoCentralizado ?? true\"\n [cabecalhoPaginaVisivel]=\"runtime().cabecalhoPaginaVisivel ?? false\"\n [toolbarInterno]=\"runtime().toolbarInterno ?? false\"\n [embeddedInReferenciaDialog]=\"runtime().embeddedInReferenciaDialog ?? false\"\n [headerSecondaryAction]=\"runtime().headerSecondaryAction ?? null\"\n [externalShellTabKey]=\"tab.key\"\n [suppressInternalPageTabs]=\"true\"\n [embeddedInPageShell]=\"true\"\n (salvarSubmit)=\"runtime().onSalvarSubmit()\"\n (toolbarButtonClick)=\"runtime().onToolbarButtonClick?.($event)\"\n (headerSecondaryActionClick)=\"runtime().onHeaderSecondaryActionClick?.()\"\n />\n }\n\n @if (actionsForRegion('tab:' + tab.key + ':footer').length > 0) {\n @if (!paginaCarregada()) {\n <div\n class=\"cadastro-page-shell__footer cadastro-page-shell__footer--skeleton\"\n aria-busy=\"true\"\n aria-live=\"polite\"\n >\n @for (acao of actionsForRegion('tab:' + tab.key + ':footer'); track acao.id) {\n <span\n class=\"cadastro-page-shell__footer-skeleton\"\n [class.cadastro-page-shell__footer-skeleton--primary]=\"acao.variant === 'success'\"\n ></span>\n }\n </div>\n } @else {\n <footer class=\"cadastro-page-shell__footer\" [attr.aria-label]=\"'A\u00E7\u00F5es \u2014 ' + tab.label\">\n @for (acao of actionsForRegion('tab:' + tab.key + ':footer'); track acao.id) {\n <app-button\n type=\"button\"\n [variant]=\"actionVariant(acao.variant)\"\n size=\"md\"\n [label]=\"acao.label\"\n [loading]=\"actionLoading(acao.id)\"\n [readonly]=\"actionReadonly(acao.id)\"\n [disabled]=\"actionDisabled(acao.id)\"\n (click)=\"onAction(acao.id)\"\n >\n @if (acao.iconClass) {\n <i [class]=\"acao.iconClass\" data-base-button-leading aria-hidden=\"true\"></i>\n }\n </app-button>\n }\n </footer>\n }\n }\n </div>\n </app-form-tab>\n }\n</app-form-tabs>\n\n@for (component of componentsForRegion('after-tabs'); track component.tag) {\n <app-structra-page-component-outlet\n [tag]=\"component.tag\"\n [inputBindings]=\"component.inputs ?? null\"\n [inputContext]=\"inputContext()\"\n />\n}\n\n@if (!runtime().embeddedInReferenciaDialog) {\n <structra-back-to-top-button\n class=\"cadastro-back-to-top\"\n [enabled]=\"usarBotaoVoltarTopo()\"\n [scrollContainer]=\"scrollContainer()\"\n />\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;width:100%;min-width:0;overflow:hidden;box-sizing:border-box}.cadastro-page-shell__overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cadastro-page-shell__tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;height:100%;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__shell{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;padding:.45rem .2rem .5rem;box-sizing:border-box}@media(min-width:768px){:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__shell{padding:.5rem .2rem .55rem}}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__header-scroll{flex:0 0 auto;position:sticky;top:0;z-index:10;background:var(--app-color-elevated-surface, var(--app-color-surface))}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__panels{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-inline:2px;box-sizing:border-box}@media(min-width:768px){:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__panels{padding-inline:4px}}.cadastro-page-shell__tab-panel{display:flex;flex-direction:column;gap:.4rem;width:100%;min-width:0;min-height:min-content;padding:.75rem .2rem 1rem}@media(max-width:767.98px){.cadastro-page-shell__tab-panel{padding:.55rem .2rem .8rem}}.cadastro-page-shell__tab-panel{border:1px solid var(--app-color-border, #c5ced8);border-radius:var(--radius-md, 12px);background:var(--app-color-elevated-surface, var(--app-color-surface));box-shadow:0 .15rem .45rem var(--app-color-shell-shadow, rgba(15, 23, 42, .04));box-sizing:border-box;overflow:visible}:host ::ng-deep .cadastro-page-shell__tab-panel>app-cadastro-metadata-page,:host ::ng-deep .cadastro-page-shell__tab-panel>app-structra-page-component-outlet{display:flex;flex-direction:column;width:100%;min-width:0}:host ::ng-deep .cadastro-page-shell__tab-panel :where(.structra-cadastro-page-host,.structra-form-page-host){padding:0;overflow:visible}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__header{position:static;margin:0 0 .55rem;padding:0;border:none;background:transparent}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__titulo{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__subtitulo{margin:0;font-size:.85rem;line-height:1.4;color:var(--app-color-text-secondary, #6b7280);max-width:none}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-page__form,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__body{width:100%;max-width:none;margin-inline:0}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-fields-base__fields,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-form-fields__grid,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-form-fields__stack{width:100%;max-width:none}.cadastro-page-shell__tab-panel:has(>app-structra-page-component-outlet)>.cadastro-page-shell__footer,.cadastro-page-shell__tab-panel:has(>app-structra-page-component-outlet)>.cadastro-page-shell__footer--skeleton{display:none}:host>app-structra-page-component-outlet{flex:0 0 auto}.cadastro-back-to-top{flex:0 0 auto}.cadastro-page-shell__footer{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;padding-top:.5rem}.cadastro-page-shell__footer--skeleton{min-height:2.5rem}.cadastro-page-shell__footer-skeleton{display:inline-block;width:7.5rem;height:2.5rem;border-radius:.5rem;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:cadastro-page-shell-skeleton 1.2s ease-in-out infinite}.cadastro-page-shell__footer-skeleton--primary{width:9rem}@keyframes cadastro-page-shell-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}\n"], dependencies: [{ kind: "component", type: CadastroMetadataPageComponent, selector: "app-cadastro-metadata-page", inputs: ["entityName", "entityLabel", "cadastro", "initError", "initLoading", "validationUi", "searchSelectBindings", "listSelectBindings", "multiselectBindings", "metadataCamposReply", "redirectReturnUrl", "painelMaxWidthHint", "maxWidth", "corpoCentralizado", "cabecalhoPaginaVisivel", "toolbarInterno", "embeddedInReferenciaDialog", "suppressInternalPageTabs", "externalShellTabKey", "embeddedInPageShell", "headerSecondaryAction", "tituloSection", "subtituloSection"], outputs: ["salvarSubmit", "toolbarButtonClick", "headerSecondaryActionClick"] }, { kind: "component", type: FormTabsComponent, selector: "app-form-tabs", inputs: ["activeKey", "keepAlive", "stretch", "variant", "size", "tamanhoCampoMobile", "tablistAriaLabel", "validationLinkItems", "validationLinkActive"], outputs: ["activeKeyChange"] }, { kind: "component", type: FormTabComponent, selector: "app-form-tab", inputs: ["key", "tabTitle", "tabIconClass", "disabled", "warning", "validationLinkFieldIds"] }, { kind: "component", type: ButtonComponent, selector: "app-button" }, { kind: "component", type: StructraPageComponentOutletComponent, selector: "app-structra-page-component-outlet", inputs: ["tag", "inputBindings", "inputContext"] }, { kind: "component", type: StructraBackToTopButtonComponent, selector: "structra-back-to-top-button", inputs: ["enabled", "threshold", "scrollContainer", "ariaLabel", "position", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45346
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: CadastroMetadataPageShellLayoutComponent, isStandalone: true, selector: "app-cadastro-metadata-page-shell-layout", inputs: { runtime: { classPropertyName: "runtime", publicName: "runtime", isSignal: true, isRequired: true, transformFunction: null }, scrollContainer: { classPropertyName: "scrollContainer", publicName: "scrollContainer", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "cadastro-metadata-page-shell-layout" }, ngImport: i0, template: "@if (overlayVisible()) {\n <div class=\"cadastro-page-shell__overlay\" role=\"status\" aria-live=\"polite\">\n <app-structra-page-component-outlet\n [tag]=\"overlayTag()\"\n [inputBindings]=\"overlayInputs()\"\n [inputContext]=\"inputContext()\"\n />\n </div>\n}\n\n<app-form-tabs\n class=\"cadastro-page-shell__tabs\"\n [activeKey]=\"activeTabKey()\"\n (activeKeyChange)=\"onTabChange($event)\"\n [keepAlive]=\"tabsKeepAlive()\"\n tablistAriaLabel=\"Se\u00E7\u00F5es da p\u00E1gina\"\n>\n @for (tab of pageTabs(); track tab.key) {\n <app-form-tab [key]=\"tab.key\" [tabTitle]=\"tab.label\" [tabIconClass]=\"tab.icon\">\n <div class=\"cadastro-page-shell__tab-panel\">\n @if (componentsForRegion('tab:' + tab.key).length > 0) {\n @for (component of componentsForRegion('tab:' + tab.key); track component.tag) {\n <app-structra-page-component-outlet\n [tag]=\"component.tag\"\n [inputBindings]=\"component.inputs ?? null\"\n [inputContext]=\"inputContext()\"\n />\n }\n } @else {\n <app-cadastro-metadata-page\n [entityName]=\"entityNameEfectivo()\"\n [entityLabel]=\"entityLabelEfectivo()\"\n [cadastro]=\"runtime().cadastro\"\n [initError]=\"runtime().initError\"\n [initLoading]=\"runtime().initLoading\"\n [validationUi]=\"runtime().validationUi\"\n [searchSelectBindings]=\"runtime().vm.searchSelectBindings\"\n [listSelectBindings]=\"runtime().vm.listSelectBindings\"\n [multiselectBindings]=\"runtime().vm.multiselectBindings\"\n [metadataCamposReply]=\"runtime().metadataCamposReply ?? null\"\n [redirectReturnUrl]=\"runtime().vm.redirectReturnUrl\"\n [painelMaxWidthHint]=\"runtime().painelMaxWidthHint\"\n [maxWidth]=\"runtime().maxWidth ?? null\"\n [corpoCentralizado]=\"runtime().corpoCentralizado ?? true\"\n [cabecalhoPaginaVisivel]=\"runtime().cabecalhoPaginaVisivel ?? false\"\n [toolbarInterno]=\"runtime().toolbarInterno ?? false\"\n [embeddedInReferenciaDialog]=\"runtime().embeddedInReferenciaDialog ?? false\"\n [headerSecondaryAction]=\"runtime().headerSecondaryAction ?? null\"\n [externalShellTabKey]=\"tab.key\"\n [suppressInternalPageTabs]=\"true\"\n [embeddedInPageShell]=\"true\"\n (salvarSubmit)=\"runtime().onSalvarSubmit()\"\n (toolbarButtonClick)=\"runtime().onToolbarButtonClick?.($event)\"\n (headerSecondaryActionClick)=\"runtime().onHeaderSecondaryActionClick?.()\"\n />\n }\n\n @if (actionsForRegion('tab:' + tab.key + ':footer').length > 0) {\n @if (!paginaCarregada()) {\n <div\n class=\"cadastro-page-shell__footer cadastro-page-shell__footer--skeleton\"\n aria-busy=\"true\"\n aria-live=\"polite\"\n >\n @for (acao of actionsForRegion('tab:' + tab.key + ':footer'); track acao.id) {\n <span\n class=\"cadastro-page-shell__footer-skeleton\"\n [class.cadastro-page-shell__footer-skeleton--primary]=\"acao.variant === 'success'\"\n ></span>\n }\n </div>\n } @else {\n <footer class=\"cadastro-page-shell__footer\" [attr.aria-label]=\"'A\u00E7\u00F5es \u2014 ' + tab.label\">\n @for (acao of actionsForRegion('tab:' + tab.key + ':footer'); track acao.id) {\n <app-button\n type=\"button\"\n [variant]=\"actionVariant(acao.variant)\"\n size=\"md\"\n [label]=\"acao.label\"\n [loading]=\"actionLoading(acao.id)\"\n [readonly]=\"actionReadonly(acao.id)\"\n [disabled]=\"actionDisabled(acao.id)\"\n (click)=\"onAction(acao.id)\"\n >\n @if (acao.iconClass) {\n <i [class]=\"acao.iconClass\" data-base-button-leading aria-hidden=\"true\"></i>\n }\n </app-button>\n }\n </footer>\n }\n }\n </div>\n </app-form-tab>\n }\n</app-form-tabs>\n\n@for (component of componentsForRegion('after-tabs'); track component.tag) {\n <app-structra-page-component-outlet\n [tag]=\"component.tag\"\n [inputBindings]=\"component.inputs ?? null\"\n [inputContext]=\"inputContext()\"\n />\n}\n\n@if (!runtime().embeddedInReferenciaDialog) {\n <structra-back-to-top-button\n class=\"cadastro-back-to-top\"\n [enabled]=\"usarBotaoVoltarTopo()\"\n [scrollContainer]=\"scrollContainer()\"\n />\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;width:100%;min-width:0;overflow:hidden;box-sizing:border-box}.cadastro-page-shell__overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cadastro-page-shell__tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;height:100%;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__shell{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;padding:.45rem .55rem .5rem;box-sizing:border-box}@media(min-width:768px){:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__shell{padding:.5rem .55rem .55rem}}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__header-scroll{flex:0 0 auto;position:sticky;top:0;z-index:10;background:var(--app-color-elevated-surface, var(--app-color-surface))}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__panels{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-inline:2px;box-sizing:border-box}@media(min-width:768px){:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__panels{padding-inline:4px}}.cadastro-page-shell__tab-panel{display:flex;flex-direction:column;gap:.4rem;width:100%;min-width:0;min-height:min-content;padding:.75rem 0 1rem}@media(max-width:767.98px){.cadastro-page-shell__tab-panel{padding:.55rem 0 .8rem}}.cadastro-page-shell__tab-panel{border:1px solid var(--app-color-border, #c5ced8);border-radius:var(--radius-md, 12px);background:var(--app-color-elevated-surface, var(--app-color-surface));box-shadow:0 .15rem .45rem var(--app-color-shell-shadow, rgba(15, 23, 42, .04));box-sizing:border-box;overflow:visible}:host ::ng-deep .cadastro-page-shell__tab-panel>app-cadastro-metadata-page,:host ::ng-deep .cadastro-page-shell__tab-panel>app-structra-page-component-outlet{display:flex;flex-direction:column;width:100%;min-width:0}:host ::ng-deep .cadastro-page-shell__tab-panel :where(.structra-cadastro-page-host,.structra-form-page-host){padding:0;overflow:visible}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__header{position:static;margin:0 0 .55rem;padding:0;border:none;background:transparent}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__titulo{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__subtitulo{margin:0;font-size:.85rem;line-height:1.4;color:var(--app-color-text-secondary, #6b7280);max-width:none}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-page__form,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__body{width:100%;max-width:none;margin-inline:0}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-fields-base__fields,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-form-fields__grid,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-form-fields__stack{width:100%;max-width:none}.cadastro-page-shell__tab-panel:has(>app-structra-page-component-outlet)>.cadastro-page-shell__footer,.cadastro-page-shell__tab-panel:has(>app-structra-page-component-outlet)>.cadastro-page-shell__footer--skeleton{display:none}:host>app-structra-page-component-outlet{flex:0 0 auto}.cadastro-back-to-top{flex:0 0 auto}.cadastro-page-shell__footer{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;padding-top:.5rem}.cadastro-page-shell__footer--skeleton{min-height:2.5rem}.cadastro-page-shell__footer-skeleton{display:inline-block;width:7.5rem;height:2.5rem;border-radius:.5rem;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:cadastro-page-shell-skeleton 1.2s ease-in-out infinite}.cadastro-page-shell__footer-skeleton--primary{width:9rem}@keyframes cadastro-page-shell-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}\n"], dependencies: [{ kind: "component", type: CadastroMetadataPageComponent, selector: "app-cadastro-metadata-page", inputs: ["entityName", "entityLabel", "cadastro", "initError", "initLoading", "validationUi", "searchSelectBindings", "listSelectBindings", "multiselectBindings", "metadataCamposReply", "redirectReturnUrl", "painelMaxWidthHint", "maxWidth", "corpoCentralizado", "cabecalhoPaginaVisivel", "toolbarInterno", "embeddedInReferenciaDialog", "suppressInternalPageTabs", "externalShellTabKey", "embeddedInPageShell", "headerSecondaryAction", "tituloSection", "subtituloSection"], outputs: ["salvarSubmit", "toolbarButtonClick", "headerSecondaryActionClick"] }, { kind: "component", type: FormTabsComponent, selector: "app-form-tabs", inputs: ["activeKey", "keepAlive", "stretch", "variant", "size", "tamanhoCampoMobile", "tablistAriaLabel", "validationLinkItems", "validationLinkActive"], outputs: ["activeKeyChange"] }, { kind: "component", type: FormTabComponent, selector: "app-form-tab", inputs: ["key", "tabTitle", "tabIconClass", "disabled", "warning", "validationLinkFieldIds"] }, { kind: "component", type: ButtonComponent, selector: "app-button" }, { kind: "component", type: StructraPageComponentOutletComponent, selector: "app-structra-page-component-outlet", inputs: ["tag", "inputBindings", "inputContext"] }, { kind: "component", type: StructraBackToTopButtonComponent, selector: "structra-back-to-top-button", inputs: ["enabled", "threshold", "scrollContainer", "ariaLabel", "position", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45347
45347
  }
45348
45348
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CadastroMetadataPageShellLayoutComponent, decorators: [{
45349
45349
  type: Component,
@@ -45356,7 +45356,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
45356
45356
  StructraBackToTopButtonComponent,
45357
45357
  ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
45358
45358
  class: 'cadastro-metadata-page-shell-layout',
45359
- }, template: "@if (overlayVisible()) {\n <div class=\"cadastro-page-shell__overlay\" role=\"status\" aria-live=\"polite\">\n <app-structra-page-component-outlet\n [tag]=\"overlayTag()\"\n [inputBindings]=\"overlayInputs()\"\n [inputContext]=\"inputContext()\"\n />\n </div>\n}\n\n<app-form-tabs\n class=\"cadastro-page-shell__tabs\"\n [activeKey]=\"activeTabKey()\"\n (activeKeyChange)=\"onTabChange($event)\"\n [keepAlive]=\"tabsKeepAlive()\"\n tablistAriaLabel=\"Se\u00E7\u00F5es da p\u00E1gina\"\n>\n @for (tab of pageTabs(); track tab.key) {\n <app-form-tab [key]=\"tab.key\" [tabTitle]=\"tab.label\" [tabIconClass]=\"tab.icon\">\n <div class=\"cadastro-page-shell__tab-panel\">\n @if (componentsForRegion('tab:' + tab.key).length > 0) {\n @for (component of componentsForRegion('tab:' + tab.key); track component.tag) {\n <app-structra-page-component-outlet\n [tag]=\"component.tag\"\n [inputBindings]=\"component.inputs ?? null\"\n [inputContext]=\"inputContext()\"\n />\n }\n } @else {\n <app-cadastro-metadata-page\n [entityName]=\"entityNameEfectivo()\"\n [entityLabel]=\"entityLabelEfectivo()\"\n [cadastro]=\"runtime().cadastro\"\n [initError]=\"runtime().initError\"\n [initLoading]=\"runtime().initLoading\"\n [validationUi]=\"runtime().validationUi\"\n [searchSelectBindings]=\"runtime().vm.searchSelectBindings\"\n [listSelectBindings]=\"runtime().vm.listSelectBindings\"\n [multiselectBindings]=\"runtime().vm.multiselectBindings\"\n [metadataCamposReply]=\"runtime().metadataCamposReply ?? null\"\n [redirectReturnUrl]=\"runtime().vm.redirectReturnUrl\"\n [painelMaxWidthHint]=\"runtime().painelMaxWidthHint\"\n [maxWidth]=\"runtime().maxWidth ?? null\"\n [corpoCentralizado]=\"runtime().corpoCentralizado ?? true\"\n [cabecalhoPaginaVisivel]=\"runtime().cabecalhoPaginaVisivel ?? false\"\n [toolbarInterno]=\"runtime().toolbarInterno ?? false\"\n [embeddedInReferenciaDialog]=\"runtime().embeddedInReferenciaDialog ?? false\"\n [headerSecondaryAction]=\"runtime().headerSecondaryAction ?? null\"\n [externalShellTabKey]=\"tab.key\"\n [suppressInternalPageTabs]=\"true\"\n [embeddedInPageShell]=\"true\"\n (salvarSubmit)=\"runtime().onSalvarSubmit()\"\n (toolbarButtonClick)=\"runtime().onToolbarButtonClick?.($event)\"\n (headerSecondaryActionClick)=\"runtime().onHeaderSecondaryActionClick?.()\"\n />\n }\n\n @if (actionsForRegion('tab:' + tab.key + ':footer').length > 0) {\n @if (!paginaCarregada()) {\n <div\n class=\"cadastro-page-shell__footer cadastro-page-shell__footer--skeleton\"\n aria-busy=\"true\"\n aria-live=\"polite\"\n >\n @for (acao of actionsForRegion('tab:' + tab.key + ':footer'); track acao.id) {\n <span\n class=\"cadastro-page-shell__footer-skeleton\"\n [class.cadastro-page-shell__footer-skeleton--primary]=\"acao.variant === 'success'\"\n ></span>\n }\n </div>\n } @else {\n <footer class=\"cadastro-page-shell__footer\" [attr.aria-label]=\"'A\u00E7\u00F5es \u2014 ' + tab.label\">\n @for (acao of actionsForRegion('tab:' + tab.key + ':footer'); track acao.id) {\n <app-button\n type=\"button\"\n [variant]=\"actionVariant(acao.variant)\"\n size=\"md\"\n [label]=\"acao.label\"\n [loading]=\"actionLoading(acao.id)\"\n [readonly]=\"actionReadonly(acao.id)\"\n [disabled]=\"actionDisabled(acao.id)\"\n (click)=\"onAction(acao.id)\"\n >\n @if (acao.iconClass) {\n <i [class]=\"acao.iconClass\" data-base-button-leading aria-hidden=\"true\"></i>\n }\n </app-button>\n }\n </footer>\n }\n }\n </div>\n </app-form-tab>\n }\n</app-form-tabs>\n\n@for (component of componentsForRegion('after-tabs'); track component.tag) {\n <app-structra-page-component-outlet\n [tag]=\"component.tag\"\n [inputBindings]=\"component.inputs ?? null\"\n [inputContext]=\"inputContext()\"\n />\n}\n\n@if (!runtime().embeddedInReferenciaDialog) {\n <structra-back-to-top-button\n class=\"cadastro-back-to-top\"\n [enabled]=\"usarBotaoVoltarTopo()\"\n [scrollContainer]=\"scrollContainer()\"\n />\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;width:100%;min-width:0;overflow:hidden;box-sizing:border-box}.cadastro-page-shell__overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cadastro-page-shell__tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;height:100%;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__shell{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;padding:.45rem .2rem .5rem;box-sizing:border-box}@media(min-width:768px){:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__shell{padding:.5rem .2rem .55rem}}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__header-scroll{flex:0 0 auto;position:sticky;top:0;z-index:10;background:var(--app-color-elevated-surface, var(--app-color-surface))}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__panels{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-inline:2px;box-sizing:border-box}@media(min-width:768px){:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__panels{padding-inline:4px}}.cadastro-page-shell__tab-panel{display:flex;flex-direction:column;gap:.4rem;width:100%;min-width:0;min-height:min-content;padding:.75rem .2rem 1rem}@media(max-width:767.98px){.cadastro-page-shell__tab-panel{padding:.55rem .2rem .8rem}}.cadastro-page-shell__tab-panel{border:1px solid var(--app-color-border, #c5ced8);border-radius:var(--radius-md, 12px);background:var(--app-color-elevated-surface, var(--app-color-surface));box-shadow:0 .15rem .45rem var(--app-color-shell-shadow, rgba(15, 23, 42, .04));box-sizing:border-box;overflow:visible}:host ::ng-deep .cadastro-page-shell__tab-panel>app-cadastro-metadata-page,:host ::ng-deep .cadastro-page-shell__tab-panel>app-structra-page-component-outlet{display:flex;flex-direction:column;width:100%;min-width:0}:host ::ng-deep .cadastro-page-shell__tab-panel :where(.structra-cadastro-page-host,.structra-form-page-host){padding:0;overflow:visible}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__header{position:static;margin:0 0 .55rem;padding:0;border:none;background:transparent}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__titulo{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__subtitulo{margin:0;font-size:.85rem;line-height:1.4;color:var(--app-color-text-secondary, #6b7280);max-width:none}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-page__form,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__body{width:100%;max-width:none;margin-inline:0}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-fields-base__fields,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-form-fields__grid,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-form-fields__stack{width:100%;max-width:none}.cadastro-page-shell__tab-panel:has(>app-structra-page-component-outlet)>.cadastro-page-shell__footer,.cadastro-page-shell__tab-panel:has(>app-structra-page-component-outlet)>.cadastro-page-shell__footer--skeleton{display:none}:host>app-structra-page-component-outlet{flex:0 0 auto}.cadastro-back-to-top{flex:0 0 auto}.cadastro-page-shell__footer{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;padding-top:.5rem}.cadastro-page-shell__footer--skeleton{min-height:2.5rem}.cadastro-page-shell__footer-skeleton{display:inline-block;width:7.5rem;height:2.5rem;border-radius:.5rem;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:cadastro-page-shell-skeleton 1.2s ease-in-out infinite}.cadastro-page-shell__footer-skeleton--primary{width:9rem}@keyframes cadastro-page-shell-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}\n"] }]
45359
+ }, template: "@if (overlayVisible()) {\n <div class=\"cadastro-page-shell__overlay\" role=\"status\" aria-live=\"polite\">\n <app-structra-page-component-outlet\n [tag]=\"overlayTag()\"\n [inputBindings]=\"overlayInputs()\"\n [inputContext]=\"inputContext()\"\n />\n </div>\n}\n\n<app-form-tabs\n class=\"cadastro-page-shell__tabs\"\n [activeKey]=\"activeTabKey()\"\n (activeKeyChange)=\"onTabChange($event)\"\n [keepAlive]=\"tabsKeepAlive()\"\n tablistAriaLabel=\"Se\u00E7\u00F5es da p\u00E1gina\"\n>\n @for (tab of pageTabs(); track tab.key) {\n <app-form-tab [key]=\"tab.key\" [tabTitle]=\"tab.label\" [tabIconClass]=\"tab.icon\">\n <div class=\"cadastro-page-shell__tab-panel\">\n @if (componentsForRegion('tab:' + tab.key).length > 0) {\n @for (component of componentsForRegion('tab:' + tab.key); track component.tag) {\n <app-structra-page-component-outlet\n [tag]=\"component.tag\"\n [inputBindings]=\"component.inputs ?? null\"\n [inputContext]=\"inputContext()\"\n />\n }\n } @else {\n <app-cadastro-metadata-page\n [entityName]=\"entityNameEfectivo()\"\n [entityLabel]=\"entityLabelEfectivo()\"\n [cadastro]=\"runtime().cadastro\"\n [initError]=\"runtime().initError\"\n [initLoading]=\"runtime().initLoading\"\n [validationUi]=\"runtime().validationUi\"\n [searchSelectBindings]=\"runtime().vm.searchSelectBindings\"\n [listSelectBindings]=\"runtime().vm.listSelectBindings\"\n [multiselectBindings]=\"runtime().vm.multiselectBindings\"\n [metadataCamposReply]=\"runtime().metadataCamposReply ?? null\"\n [redirectReturnUrl]=\"runtime().vm.redirectReturnUrl\"\n [painelMaxWidthHint]=\"runtime().painelMaxWidthHint\"\n [maxWidth]=\"runtime().maxWidth ?? null\"\n [corpoCentralizado]=\"runtime().corpoCentralizado ?? true\"\n [cabecalhoPaginaVisivel]=\"runtime().cabecalhoPaginaVisivel ?? false\"\n [toolbarInterno]=\"runtime().toolbarInterno ?? false\"\n [embeddedInReferenciaDialog]=\"runtime().embeddedInReferenciaDialog ?? false\"\n [headerSecondaryAction]=\"runtime().headerSecondaryAction ?? null\"\n [externalShellTabKey]=\"tab.key\"\n [suppressInternalPageTabs]=\"true\"\n [embeddedInPageShell]=\"true\"\n (salvarSubmit)=\"runtime().onSalvarSubmit()\"\n (toolbarButtonClick)=\"runtime().onToolbarButtonClick?.($event)\"\n (headerSecondaryActionClick)=\"runtime().onHeaderSecondaryActionClick?.()\"\n />\n }\n\n @if (actionsForRegion('tab:' + tab.key + ':footer').length > 0) {\n @if (!paginaCarregada()) {\n <div\n class=\"cadastro-page-shell__footer cadastro-page-shell__footer--skeleton\"\n aria-busy=\"true\"\n aria-live=\"polite\"\n >\n @for (acao of actionsForRegion('tab:' + tab.key + ':footer'); track acao.id) {\n <span\n class=\"cadastro-page-shell__footer-skeleton\"\n [class.cadastro-page-shell__footer-skeleton--primary]=\"acao.variant === 'success'\"\n ></span>\n }\n </div>\n } @else {\n <footer class=\"cadastro-page-shell__footer\" [attr.aria-label]=\"'A\u00E7\u00F5es \u2014 ' + tab.label\">\n @for (acao of actionsForRegion('tab:' + tab.key + ':footer'); track acao.id) {\n <app-button\n type=\"button\"\n [variant]=\"actionVariant(acao.variant)\"\n size=\"md\"\n [label]=\"acao.label\"\n [loading]=\"actionLoading(acao.id)\"\n [readonly]=\"actionReadonly(acao.id)\"\n [disabled]=\"actionDisabled(acao.id)\"\n (click)=\"onAction(acao.id)\"\n >\n @if (acao.iconClass) {\n <i [class]=\"acao.iconClass\" data-base-button-leading aria-hidden=\"true\"></i>\n }\n </app-button>\n }\n </footer>\n }\n }\n </div>\n </app-form-tab>\n }\n</app-form-tabs>\n\n@for (component of componentsForRegion('after-tabs'); track component.tag) {\n <app-structra-page-component-outlet\n [tag]=\"component.tag\"\n [inputBindings]=\"component.inputs ?? null\"\n [inputContext]=\"inputContext()\"\n />\n}\n\n@if (!runtime().embeddedInReferenciaDialog) {\n <structra-back-to-top-button\n class=\"cadastro-back-to-top\"\n [enabled]=\"usarBotaoVoltarTopo()\"\n [scrollContainer]=\"scrollContainer()\"\n />\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;width:100%;min-width:0;overflow:hidden;box-sizing:border-box}.cadastro-page-shell__overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cadastro-page-shell__tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;height:100%;overflow:hidden}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__shell{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;padding:.45rem .55rem .5rem;box-sizing:border-box}@media(min-width:768px){:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__shell{padding:.5rem .55rem .55rem}}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__header-scroll{flex:0 0 auto;position:sticky;top:0;z-index:10;background:var(--app-color-elevated-surface, var(--app-color-surface))}:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__panels{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-inline:2px;box-sizing:border-box}@media(min-width:768px){:host ::ng-deep app-form-tabs.cadastro-page-shell__tabs .form-tabs__panels{padding-inline:4px}}.cadastro-page-shell__tab-panel{display:flex;flex-direction:column;gap:.4rem;width:100%;min-width:0;min-height:min-content;padding:.75rem 0 1rem}@media(max-width:767.98px){.cadastro-page-shell__tab-panel{padding:.55rem 0 .8rem}}.cadastro-page-shell__tab-panel{border:1px solid var(--app-color-border, #c5ced8);border-radius:var(--radius-md, 12px);background:var(--app-color-elevated-surface, var(--app-color-surface));box-shadow:0 .15rem .45rem var(--app-color-shell-shadow, rgba(15, 23, 42, .04));box-sizing:border-box;overflow:visible}:host ::ng-deep .cadastro-page-shell__tab-panel>app-cadastro-metadata-page,:host ::ng-deep .cadastro-page-shell__tab-panel>app-structra-page-component-outlet{display:flex;flex-direction:column;width:100%;min-width:0}:host ::ng-deep .cadastro-page-shell__tab-panel :where(.structra-cadastro-page-host,.structra-form-page-host){padding:0;overflow:visible}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__header{position:static;margin:0 0 .55rem;padding:0;border:none;background:transparent}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__titulo{margin:0 0 .2rem;font-size:1.05rem;font-weight:600;line-height:1.35;color:var(--app-color-text-primary, #1a2f45)}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__subtitulo{margin:0;font-size:.85rem;line-height:1.4;color:var(--app-color-text-secondary, #6b7280);max-width:none}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-page__form,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-base-page__body{width:100%;max-width:none;margin-inline:0}:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-fields-base__fields,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-form-fields__grid,:host ::ng-deep .cadastro-page-shell__tab-panel .cadastro-metadata-form-fields__stack{width:100%;max-width:none}.cadastro-page-shell__tab-panel:has(>app-structra-page-component-outlet)>.cadastro-page-shell__footer,.cadastro-page-shell__tab-panel:has(>app-structra-page-component-outlet)>.cadastro-page-shell__footer--skeleton{display:none}:host>app-structra-page-component-outlet{flex:0 0 auto}.cadastro-back-to-top{flex:0 0 auto}.cadastro-page-shell__footer{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;padding-top:.5rem}.cadastro-page-shell__footer--skeleton{min-height:2.5rem}.cadastro-page-shell__footer-skeleton{display:inline-block;width:7.5rem;height:2.5rem;border-radius:.5rem;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:cadastro-page-shell-skeleton 1.2s ease-in-out infinite}.cadastro-page-shell__footer-skeleton--primary{width:9rem}@keyframes cadastro-page-shell-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}\n"] }]
45360
45360
  }], propDecorators: { runtime: [{ type: i0.Input, args: [{ isSignal: true, alias: "runtime", required: true }] }], scrollContainer: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollContainer", required: false }] }] } });
45361
45361
 
45362
45362
  /**
@@ -45817,7 +45817,7 @@ class CadastroReferenciaDialogHostComponent {
45817
45817
  this.childInjector = null;
45818
45818
  }
45819
45819
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CadastroReferenciaDialogHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45820
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: CadastroReferenciaDialogHostComponent, isStandalone: true, selector: "app-cadastro-referencia-dialog-host", ngImport: i0, template: "<app-dialog\n class=\"cadastro-referencia-dialog app-dialog--dense-chrome\"\n [open]=\"dialogAberto()\"\n (openChange)=\"onDialogOpenChange($event)\"\n [title]=\"''\"\n [size]=\"DialogSize.Lg\"\n [showCloseButton]=\"true\"\n [allowOverlayDismiss]=\"true\"\n [ariaLabel]=\"tituloDialog()\">\n @if (dialogAberto()) {\n @if (dialogPageState(); as st) {\n @if (st.initError(); as initErr) {\n <div class=\"cadastro-referencia-dialog__body cadastro-referencia-dialog__body--error min-h-[12rem] w-full px-4 py-8\"\n role=\"alert\">\n <p class=\"text-sm text-red-600 text-center\">{{ initErr }}</p>\n </div>\n } @else if (shellRuntime(); as rt) {\n <div class=\"cadastro-referencia-dialog__body min-h-0 min-w-0 w-full flex flex-col\">\n <app-cadastro-metadata-shell-page class=\"cadastro-referencia-dialog__shell min-h-0 min-w-0 flex-1\" [runtime]=\"rt\" />\n </div>\n <div appDialogFooter class=\"cadastro-referencia-dialog__footer\">\n <div class=\"cadastro-referencia-dialog__footer-start\">\n @if (rt.cadastro?.runtime?.podeExcluir() && rt.cadastro?.runtime?.excluir) {\n <app-button\n type=\"button\"\n variant=\"danger\"\n size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"rt.cadastro?.runtime?.salvando() || rt.cadastro?.runtime?.excluindo()\"\n [loading]=\"rt.cadastro?.runtime?.excluindo() ?? false\"\n (click)=\"excluirDialog()\">\n Excluir\n </app-button>\n }\n </div>\n <div class=\"cadastro-referencia-dialog__footer-end\">\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" (click)=\"cancelarDialog()\">\n Cancelar\n </app-button>\n <app-button\n type=\"button\"\n variant=\"success\"\n size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"(rt.cadastro?.runtime?.loading() ?? false) || (rt.cadastro?.runtime?.salvando() ?? false)\"\n [loading]=\"rt.cadastro?.runtime?.salvando() ?? false\"\n (click)=\"salvarDialog()\">\n Salvar\n </app-button>\n </div>\n </div>\n }\n } @else {\n <div class=\"cadastro-referencia-dialog__body cadastro-referencia-dialog__body--loading min-h-[12rem] w-full px-4 py-6\">\n <app-cadastro-form-loading-skeleton [corpoCentralizado]=\"true\" panelMaxWidth=\"100%\" [fieldCount]=\"4\" />\n </div>\n }\n }\n</app-dialog>\n", styles: ["@charset \"UTF-8\";:host{display:contents}:host ::ng-deep app-dialog.cadastro-referencia-dialog{--cadastro-referencia-dialog-footer-pad-inline: .2rem}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-header--close-only{border-bottom:none;padding-block:var(--app-dialog-dense-gutter, .35rem);padding-inline:var(--cadastro-referencia-dialog-footer-pad-inline)}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-body{padding-inline:0;padding-block:var(--app-dialog-dense-gutter, .35rem)}:host ::ng-deep app-dialog.cadastro-referencia-dialog app-cadastro-base-page.cadastro-metadata-page__shell,:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page__shell{padding-inline:0!important;padding-block:.25rem 0!important}:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__section.form-section--panel{--form-section-surface-padding-y: .65rem;--form-section-surface-padding-x: .2rem}:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{overflow:visible;overflow-y:visible}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-footer{justify-content:stretch;padding-block-start:0!important;padding-block-end:var(--app-dialog-dense-gutter, .35rem)!important;padding-inline:var(--cadastro-referencia-dialog-footer-pad-inline)!important}.cadastro-referencia-dialog__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;box-sizing:border-box;padding-top:.4rem}.cadastro-referencia-dialog__footer-start{display:flex;justify-content:flex-start}.cadastro-referencia-dialog__footer-end{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.cadastro-referencia-dialog__body{min-height:0;min-width:0;overflow:visible}\n"], dependencies: [{ kind: "component", type: AppDialogComponent, selector: "app-dialog", inputs: ["animateSizeChanges", "open", "title", "description", "ariaLabel", "size", "headerTypography", "tamanhoCampoMobile", "scrollBodyOnly", "allowOverlayDismiss", "showCloseButton"], outputs: ["openChange"] }, { kind: "directive", type: DialogFooterDirective, selector: "[appDialogFooter]" }, { kind: "component", type: ButtonComponent, selector: "app-button" }, { kind: "component", type: CadastroMetadataShellPageComponent, selector: "app-cadastro-metadata-shell-page", inputs: ["runtime"] }, { kind: "component", type: CadastroFormLoadingSkeletonComponent, selector: "app-cadastro-form-loading-skeleton", inputs: ["corpoCentralizado", "panelMaxWidth", "fieldCount"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45820
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: CadastroReferenciaDialogHostComponent, isStandalone: true, selector: "app-cadastro-referencia-dialog-host", ngImport: i0, template: "<app-dialog\n class=\"cadastro-referencia-dialog app-dialog--dense-chrome\"\n [open]=\"dialogAberto()\"\n (openChange)=\"onDialogOpenChange($event)\"\n [title]=\"''\"\n [size]=\"DialogSize.Lg\"\n [showCloseButton]=\"true\"\n [allowOverlayDismiss]=\"true\"\n [ariaLabel]=\"tituloDialog()\">\n @if (dialogAberto()) {\n @if (dialogPageState(); as st) {\n @if (st.initError(); as initErr) {\n <div class=\"cadastro-referencia-dialog__body cadastro-referencia-dialog__body--error min-h-[12rem] w-full px-4 py-8\"\n role=\"alert\">\n <p class=\"text-sm text-red-600 text-center\">{{ initErr }}</p>\n </div>\n } @else if (shellRuntime(); as rt) {\n <div class=\"cadastro-referencia-dialog__body min-h-0 min-w-0 w-full flex flex-col\">\n <app-cadastro-metadata-shell-page class=\"cadastro-referencia-dialog__shell min-h-0 min-w-0 flex-1\" [runtime]=\"rt\" />\n </div>\n <div appDialogFooter class=\"cadastro-referencia-dialog__footer\">\n <div class=\"cadastro-referencia-dialog__footer-start\">\n @if (rt.cadastro?.runtime?.podeExcluir() && rt.cadastro?.runtime?.excluir) {\n <app-button\n type=\"button\"\n variant=\"danger\"\n size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"rt.cadastro?.runtime?.salvando() || rt.cadastro?.runtime?.excluindo()\"\n [loading]=\"rt.cadastro?.runtime?.excluindo() ?? false\"\n (click)=\"excluirDialog()\">\n Excluir\n </app-button>\n }\n </div>\n <div class=\"cadastro-referencia-dialog__footer-end\">\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" (click)=\"cancelarDialog()\">\n Cancelar\n </app-button>\n <app-button\n type=\"button\"\n variant=\"success\"\n size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"(rt.cadastro?.runtime?.loading() ?? false) || (rt.cadastro?.runtime?.salvando() ?? false)\"\n [loading]=\"rt.cadastro?.runtime?.salvando() ?? false\"\n (click)=\"salvarDialog()\">\n Salvar\n </app-button>\n </div>\n </div>\n }\n } @else {\n <div class=\"cadastro-referencia-dialog__body cadastro-referencia-dialog__body--loading min-h-[12rem] w-full px-4 py-6\">\n <app-cadastro-form-loading-skeleton [corpoCentralizado]=\"true\" panelMaxWidth=\"100%\" [fieldCount]=\"4\" />\n </div>\n }\n }\n</app-dialog>\n", styles: ["@charset \"UTF-8\";:host{display:contents}:host ::ng-deep app-dialog.cadastro-referencia-dialog{--cadastro-referencia-dialog-footer-pad-inline: .55rem}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-header--close-only{border-bottom:none;padding-block:var(--app-dialog-dense-gutter, .35rem);padding-inline:var(--cadastro-referencia-dialog-footer-pad-inline)}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-body{padding-inline:0;padding-block:var(--app-dialog-dense-gutter, .35rem)}:host ::ng-deep app-dialog.cadastro-referencia-dialog app-cadastro-base-page.cadastro-metadata-page__shell,:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page__shell{padding-inline:0!important;padding-block:.25rem 0!important}:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__section.form-section--panel{--form-section-surface-padding-y: .65rem;--form-section-surface-padding-x: .55rem}:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{overflow:visible;overflow-y:visible}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-footer{justify-content:stretch;padding-block-start:0!important;padding-block-end:var(--app-dialog-dense-gutter, .35rem)!important;padding-inline:var(--cadastro-referencia-dialog-footer-pad-inline)!important}.cadastro-referencia-dialog__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;box-sizing:border-box;padding-top:.4rem}.cadastro-referencia-dialog__footer-start{display:flex;justify-content:flex-start}.cadastro-referencia-dialog__footer-end{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.cadastro-referencia-dialog__body{min-height:0;min-width:0;overflow:visible}\n"], dependencies: [{ kind: "component", type: AppDialogComponent, selector: "app-dialog", inputs: ["animateSizeChanges", "open", "title", "description", "ariaLabel", "size", "headerTypography", "tamanhoCampoMobile", "scrollBodyOnly", "allowOverlayDismiss", "showCloseButton"], outputs: ["openChange"] }, { kind: "directive", type: DialogFooterDirective, selector: "[appDialogFooter]" }, { kind: "component", type: ButtonComponent, selector: "app-button" }, { kind: "component", type: CadastroMetadataShellPageComponent, selector: "app-cadastro-metadata-shell-page", inputs: ["runtime"] }, { kind: "component", type: CadastroFormLoadingSkeletonComponent, selector: "app-cadastro-form-loading-skeleton", inputs: ["corpoCentralizado", "panelMaxWidth", "fieldCount"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45821
45821
  }
45822
45822
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CadastroReferenciaDialogHostComponent, decorators: [{
45823
45823
  type: Component,
@@ -45827,7 +45827,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
45827
45827
  ButtonComponent,
45828
45828
  CadastroMetadataShellPageComponent,
45829
45829
  CadastroFormLoadingSkeletonComponent,
45830
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-dialog\n class=\"cadastro-referencia-dialog app-dialog--dense-chrome\"\n [open]=\"dialogAberto()\"\n (openChange)=\"onDialogOpenChange($event)\"\n [title]=\"''\"\n [size]=\"DialogSize.Lg\"\n [showCloseButton]=\"true\"\n [allowOverlayDismiss]=\"true\"\n [ariaLabel]=\"tituloDialog()\">\n @if (dialogAberto()) {\n @if (dialogPageState(); as st) {\n @if (st.initError(); as initErr) {\n <div class=\"cadastro-referencia-dialog__body cadastro-referencia-dialog__body--error min-h-[12rem] w-full px-4 py-8\"\n role=\"alert\">\n <p class=\"text-sm text-red-600 text-center\">{{ initErr }}</p>\n </div>\n } @else if (shellRuntime(); as rt) {\n <div class=\"cadastro-referencia-dialog__body min-h-0 min-w-0 w-full flex flex-col\">\n <app-cadastro-metadata-shell-page class=\"cadastro-referencia-dialog__shell min-h-0 min-w-0 flex-1\" [runtime]=\"rt\" />\n </div>\n <div appDialogFooter class=\"cadastro-referencia-dialog__footer\">\n <div class=\"cadastro-referencia-dialog__footer-start\">\n @if (rt.cadastro?.runtime?.podeExcluir() && rt.cadastro?.runtime?.excluir) {\n <app-button\n type=\"button\"\n variant=\"danger\"\n size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"rt.cadastro?.runtime?.salvando() || rt.cadastro?.runtime?.excluindo()\"\n [loading]=\"rt.cadastro?.runtime?.excluindo() ?? false\"\n (click)=\"excluirDialog()\">\n Excluir\n </app-button>\n }\n </div>\n <div class=\"cadastro-referencia-dialog__footer-end\">\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" (click)=\"cancelarDialog()\">\n Cancelar\n </app-button>\n <app-button\n type=\"button\"\n variant=\"success\"\n size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"(rt.cadastro?.runtime?.loading() ?? false) || (rt.cadastro?.runtime?.salvando() ?? false)\"\n [loading]=\"rt.cadastro?.runtime?.salvando() ?? false\"\n (click)=\"salvarDialog()\">\n Salvar\n </app-button>\n </div>\n </div>\n }\n } @else {\n <div class=\"cadastro-referencia-dialog__body cadastro-referencia-dialog__body--loading min-h-[12rem] w-full px-4 py-6\">\n <app-cadastro-form-loading-skeleton [corpoCentralizado]=\"true\" panelMaxWidth=\"100%\" [fieldCount]=\"4\" />\n </div>\n }\n }\n</app-dialog>\n", styles: ["@charset \"UTF-8\";:host{display:contents}:host ::ng-deep app-dialog.cadastro-referencia-dialog{--cadastro-referencia-dialog-footer-pad-inline: .2rem}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-header--close-only{border-bottom:none;padding-block:var(--app-dialog-dense-gutter, .35rem);padding-inline:var(--cadastro-referencia-dialog-footer-pad-inline)}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-body{padding-inline:0;padding-block:var(--app-dialog-dense-gutter, .35rem)}:host ::ng-deep app-dialog.cadastro-referencia-dialog app-cadastro-base-page.cadastro-metadata-page__shell,:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page__shell{padding-inline:0!important;padding-block:.25rem 0!important}:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__section.form-section--panel{--form-section-surface-padding-y: .65rem;--form-section-surface-padding-x: .2rem}:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{overflow:visible;overflow-y:visible}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-footer{justify-content:stretch;padding-block-start:0!important;padding-block-end:var(--app-dialog-dense-gutter, .35rem)!important;padding-inline:var(--cadastro-referencia-dialog-footer-pad-inline)!important}.cadastro-referencia-dialog__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;box-sizing:border-box;padding-top:.4rem}.cadastro-referencia-dialog__footer-start{display:flex;justify-content:flex-start}.cadastro-referencia-dialog__footer-end{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.cadastro-referencia-dialog__body{min-height:0;min-width:0;overflow:visible}\n"] }]
45830
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-dialog\n class=\"cadastro-referencia-dialog app-dialog--dense-chrome\"\n [open]=\"dialogAberto()\"\n (openChange)=\"onDialogOpenChange($event)\"\n [title]=\"''\"\n [size]=\"DialogSize.Lg\"\n [showCloseButton]=\"true\"\n [allowOverlayDismiss]=\"true\"\n [ariaLabel]=\"tituloDialog()\">\n @if (dialogAberto()) {\n @if (dialogPageState(); as st) {\n @if (st.initError(); as initErr) {\n <div class=\"cadastro-referencia-dialog__body cadastro-referencia-dialog__body--error min-h-[12rem] w-full px-4 py-8\"\n role=\"alert\">\n <p class=\"text-sm text-red-600 text-center\">{{ initErr }}</p>\n </div>\n } @else if (shellRuntime(); as rt) {\n <div class=\"cadastro-referencia-dialog__body min-h-0 min-w-0 w-full flex flex-col\">\n <app-cadastro-metadata-shell-page class=\"cadastro-referencia-dialog__shell min-h-0 min-w-0 flex-1\" [runtime]=\"rt\" />\n </div>\n <div appDialogFooter class=\"cadastro-referencia-dialog__footer\">\n <div class=\"cadastro-referencia-dialog__footer-start\">\n @if (rt.cadastro?.runtime?.podeExcluir() && rt.cadastro?.runtime?.excluir) {\n <app-button\n type=\"button\"\n variant=\"danger\"\n size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"rt.cadastro?.runtime?.salvando() || rt.cadastro?.runtime?.excluindo()\"\n [loading]=\"rt.cadastro?.runtime?.excluindo() ?? false\"\n (click)=\"excluirDialog()\">\n Excluir\n </app-button>\n }\n </div>\n <div class=\"cadastro-referencia-dialog__footer-end\">\n <app-button type=\"button\" variant=\"secondary\" size=\"md\" [fullWidth]=\"false\" (click)=\"cancelarDialog()\">\n Cancelar\n </app-button>\n <app-button\n type=\"button\"\n variant=\"success\"\n size=\"md\"\n [fullWidth]=\"false\"\n [disabled]=\"(rt.cadastro?.runtime?.loading() ?? false) || (rt.cadastro?.runtime?.salvando() ?? false)\"\n [loading]=\"rt.cadastro?.runtime?.salvando() ?? false\"\n (click)=\"salvarDialog()\">\n Salvar\n </app-button>\n </div>\n </div>\n }\n } @else {\n <div class=\"cadastro-referencia-dialog__body cadastro-referencia-dialog__body--loading min-h-[12rem] w-full px-4 py-6\">\n <app-cadastro-form-loading-skeleton [corpoCentralizado]=\"true\" panelMaxWidth=\"100%\" [fieldCount]=\"4\" />\n </div>\n }\n }\n</app-dialog>\n", styles: ["@charset \"UTF-8\";:host{display:contents}:host ::ng-deep app-dialog.cadastro-referencia-dialog{--cadastro-referencia-dialog-footer-pad-inline: .55rem}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-header--close-only{border-bottom:none;padding-block:var(--app-dialog-dense-gutter, .35rem);padding-inline:var(--cadastro-referencia-dialog-footer-pad-inline)}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-body{padding-inline:0;padding-block:var(--app-dialog-dense-gutter, .35rem)}:host ::ng-deep app-dialog.cadastro-referencia-dialog app-cadastro-base-page.cadastro-metadata-page__shell,:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page__shell{padding-inline:0!important;padding-block:.25rem 0!important}:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__section.form-section--panel{--form-section-surface-padding-y: .65rem;--form-section-surface-padding-x: .55rem}:host ::ng-deep app-dialog.cadastro-referencia-dialog .cadastro-metadata-page--referencia-dialog .cadastro-metadata-page__shell{overflow:visible;overflow-y:visible}:host ::ng-deep app-dialog.cadastro-referencia-dialog .app-dialog-footer{justify-content:stretch;padding-block-start:0!important;padding-block-end:var(--app-dialog-dense-gutter, .35rem)!important;padding-inline:var(--cadastro-referencia-dialog-footer-pad-inline)!important}.cadastro-referencia-dialog__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;box-sizing:border-box;padding-top:.4rem}.cadastro-referencia-dialog__footer-start{display:flex;justify-content:flex-start}.cadastro-referencia-dialog__footer-end{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.cadastro-referencia-dialog__body{min-height:0;min-width:0;overflow:visible}\n"] }]
45831
45831
  }], ctorParameters: () => [] });
45832
45832
 
45833
45833
  let dialogHostAttached = false;