structra-ui 0.1.43 → 0.1.45

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.
@@ -4919,14 +4919,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
4919
4919
  args: ['keydown', ['$event']]
4920
4920
  }] } });
4921
4921
 
4922
- /** Espaçamento horizontal/vertical entre itens da linha. */
4923
- var FormRowGap;
4924
- (function (FormRowGap) {
4925
- FormRowGap["Xs"] = "xs";
4926
- FormRowGap["Sm"] = "sm";
4927
- FormRowGap["Md"] = "md";
4928
- FormRowGap["Lg"] = "lg";
4929
- })(FormRowGap || (FormRowGap = {}));
4922
+ /** Espaçamento entre itens da linha ou da pilha dentro de uma coluna. */
4923
+ var FormLayoutGap;
4924
+ (function (FormLayoutGap) {
4925
+ FormLayoutGap["Xs"] = "xs";
4926
+ FormLayoutGap["Sm"] = "sm";
4927
+ FormLayoutGap["Md"] = "md";
4928
+ FormLayoutGap["Lg"] = "lg";
4929
+ })(FormLayoutGap || (FormLayoutGap = {}));
4930
4930
  /** Alinhamento no eixo cruzado (itens da linha). */
4931
4931
  var FormRowAlign;
4932
4932
  (function (FormRowAlign) {
@@ -5073,53 +5073,89 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
5073
5073
 
5074
5074
  /**
5075
5075
  * Coluna no sistema de 12 trilhos da {@link FormRowComponent}.
5076
- * Em viewports menores que `sm`, usa `xs` (por defeito largura total).
5076
+ * Breakpoints (min-width): sm 40rem, md 48rem, lg 64rem, xl 80rem.
5077
+ * Valores omitidos (ex.: só `xs` e `md`) propagam-se a partir do maior definido — ex.: `md` preenche `sm` quando `sm` não está definido.
5077
5078
  */
5078
5079
  class FormColComponent {
5079
5080
  constructor() {
5080
5081
  /** Colunas ocupadas em < `sm` (por defeito 12 = linha inteira). */
5081
5082
  this.xs = 12;
5082
- /** Quando `true`, a coluna pode crescer para ocupar espaço livre na linha (flex futuro / composição). */
5083
+ /** Quando `true`, a coluna preenche o espaço horizontal restante na grelha (`auto / -1`). */
5083
5084
  this.grow = false;
5085
+ /** Espaço entre elementos projectados na mesma coluna (pilha vertical). */
5086
+ this.gap = FormLayoutGap.Md;
5087
+ this.align = FormRowAlign.Stretch;
5088
+ /** No eixo vertical da pilha (`justify-content`). */
5089
+ this.justify = FormRowJustify.Start;
5084
5090
  }
5085
5091
  get hostClass() {
5086
- return ['form-col', this.grow ? 'form-col--grow' : ''].filter(Boolean).join(' ');
5092
+ const parts = [
5093
+ 'form-col',
5094
+ `form-col--gap-${this.gap}`,
5095
+ `form-col--align-${this.align}`,
5096
+ `form-col--justify-${this.justify}`,
5097
+ ];
5098
+ if (this.grow) {
5099
+ parts.push('form-col--grow');
5100
+ }
5101
+ return parts.join(' ');
5087
5102
  }
5088
5103
  get hostVars() {
5089
- const sm = this.normalizeOptionalSpan(this.sm, this.xs);
5090
- const md = this.normalizeOptionalSpan(this.md, sm);
5091
- const lg = this.normalizeOptionalSpan(this.lg, md);
5092
- const xl = this.normalizeOptionalSpan(this.xl, lg);
5104
+ const { xs, sm, md, lg, xl } = this.resolvedSpans();
5093
5105
  const parts = [
5094
- `--form-col-xs:${this.clampSpan(this.xs)}`,
5095
- `--form-col-sm:${this.clampSpan(sm)}`,
5096
- `--form-col-md:${this.clampSpan(md)}`,
5097
- `--form-col-lg:${this.clampSpan(lg)}`,
5098
- `--form-col-xl:${this.clampSpan(xl)}`,
5106
+ `--form-col-xs:${xs}`,
5107
+ `--form-col-sm:${sm}`,
5108
+ `--form-col-md:${md}`,
5109
+ `--form-col-lg:${lg}`,
5110
+ `--form-col-xl:${xl}`,
5099
5111
  ];
5100
5112
  if (this.order != null && !Number.isNaN(this.order)) {
5101
5113
  parts.push(`order:${this.order}`);
5102
5114
  }
5103
5115
  return parts.join(';');
5104
5116
  }
5117
+ /**
5118
+ * Cada patamar herda do próximo **maior** explicitamente definido quando o intermédio falta
5119
+ * (ex.: só `xs` + `md` → `sm` usa `md`, evitando faixa 40–48rem presa em `xs`).
5120
+ */
5121
+ resolvedSpans() {
5122
+ const xs = this.clampSpan(this.xs);
5123
+ const smIn = this.optionalSpan(this.sm);
5124
+ const mdIn = this.optionalSpan(this.md);
5125
+ const lgIn = this.optionalSpan(this.lg);
5126
+ const xlIn = this.optionalSpan(this.xl);
5127
+ const sm = this.clampSpan(this.firstDefined(smIn, mdIn, lgIn, xlIn, xs));
5128
+ const md = this.clampSpan(this.firstDefined(mdIn, lgIn, xlIn, sm, xs));
5129
+ const lg = this.clampSpan(this.firstDefined(lgIn, xlIn, md, sm, xs));
5130
+ const xl = this.clampSpan(this.firstDefined(xlIn, lg, md, sm, xs));
5131
+ return { xs, sm, md, lg, xl };
5132
+ }
5133
+ optionalSpan(v) {
5134
+ if (v == null || !Number.isFinite(v)) {
5135
+ return undefined;
5136
+ }
5137
+ return this.clampSpan(v);
5138
+ }
5139
+ firstDefined(...candidates) {
5140
+ for (const c of candidates) {
5141
+ if (c != null && Number.isFinite(c)) {
5142
+ return c;
5143
+ }
5144
+ }
5145
+ return 12;
5146
+ }
5105
5147
  clampSpan(n) {
5106
5148
  if (!Number.isFinite(n) || n < 1) {
5107
5149
  return 12;
5108
5150
  }
5109
5151
  return Math.min(12, Math.max(1, Math.round(n)));
5110
5152
  }
5111
- normalizeOptionalSpan(value, fallback) {
5112
- if (value == null || !Number.isFinite(value)) {
5113
- return fallback;
5114
- }
5115
- return this.clampSpan(value);
5116
- }
5117
5153
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormColComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", type: FormColComponent, isStandalone: true, selector: "app-form-col", inputs: { xs: ["xs", "xs", numberAttribute], sm: "sm", md: "md", lg: "lg", xl: "xl", order: ["order", "order", numberAttribute], grow: ["grow", "grow", booleanAttribute] }, host: { properties: { "class": "this.hostClass", "attr.style": "this.hostVars" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [":host{display:block;min-width:0;box-sizing:border-box;grid-column:span var(--form-col-xs, 12)}:host.form-col--grow{min-width:0}@media(min-width:40rem){:host{grid-column:span var(--form-col-sm, var(--form-col-xs, 12))}}@media(min-width:48rem){:host{grid-column:span var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))}}@media(min-width:64rem){:host{grid-column:span var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12))))}}@media(min-width:80rem){:host{grid-column:span var(--form-col-xl, var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))))}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", type: FormColComponent, isStandalone: true, selector: "app-form-col", inputs: { xs: ["xs", "xs", numberAttribute], sm: "sm", md: "md", lg: "lg", xl: "xl", order: ["order", "order", numberAttribute], grow: ["grow", "grow", booleanAttribute], gap: "gap", align: "align", justify: "justify" }, host: { properties: { "class": "this.hostClass", "attr.style": "this.hostVars" } }, ngImport: i0, template: "<div class=\"form-col__inner\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;min-width:0;box-sizing:border-box;grid-column:span var(--form-col-xs, 12)}.form-col__inner{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;min-width:0;min-height:0;box-sizing:border-box}:host(.form-col--gap-xs) .form-col__inner{gap:.35rem}:host(.form-col--gap-sm) .form-col__inner{gap:.5rem}:host(.form-col--gap-md) .form-col__inner{gap:.75rem}:host(.form-col--gap-lg) .form-col__inner{gap:1rem}:host(.form-col--align-start) .form-col__inner{align-items:flex-start}:host(.form-col--align-center) .form-col__inner{align-items:center}:host(.form-col--align-end) .form-col__inner{align-items:flex-end}:host(.form-col--align-stretch) .form-col__inner{align-items:stretch}:host(.form-col--justify-start) .form-col__inner{justify-content:flex-start}:host(.form-col--justify-center) .form-col__inner{justify-content:center}:host(.form-col--justify-end) .form-col__inner{justify-content:flex-end}:host(.form-col--justify-between) .form-col__inner{justify-content:space-between}@media(min-width:40rem){:host{grid-column:span var(--form-col-sm, var(--form-col-xs, 12))}}@media(min-width:48rem){:host{grid-column:span var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))}}@media(min-width:64rem){:host{grid-column:span var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12))))}}@media(min-width:80rem){:host{grid-column:span var(--form-col-xl, var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))))}}:host.form-col--grow{min-width:0;grid-column:auto/-1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5119
5155
  }
5120
5156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormColComponent, decorators: [{
5121
5157
  type: Component,
5122
- args: [{ selector: 'app-form-col', standalone: true, template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;min-width:0;box-sizing:border-box;grid-column:span var(--form-col-xs, 12)}:host.form-col--grow{min-width:0}@media(min-width:40rem){:host{grid-column:span var(--form-col-sm, var(--form-col-xs, 12))}}@media(min-width:48rem){:host{grid-column:span var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))}}@media(min-width:64rem){:host{grid-column:span var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12))))}}@media(min-width:80rem){:host{grid-column:span var(--form-col-xl, var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))))}}\n"] }]
5158
+ args: [{ selector: 'app-form-col', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-col__inner\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;min-width:0;box-sizing:border-box;grid-column:span var(--form-col-xs, 12)}.form-col__inner{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;min-width:0;min-height:0;box-sizing:border-box}:host(.form-col--gap-xs) .form-col__inner{gap:.35rem}:host(.form-col--gap-sm) .form-col__inner{gap:.5rem}:host(.form-col--gap-md) .form-col__inner{gap:.75rem}:host(.form-col--gap-lg) .form-col__inner{gap:1rem}:host(.form-col--align-start) .form-col__inner{align-items:flex-start}:host(.form-col--align-center) .form-col__inner{align-items:center}:host(.form-col--align-end) .form-col__inner{align-items:flex-end}:host(.form-col--align-stretch) .form-col__inner{align-items:stretch}:host(.form-col--justify-start) .form-col__inner{justify-content:flex-start}:host(.form-col--justify-center) .form-col__inner{justify-content:center}:host(.form-col--justify-end) .form-col__inner{justify-content:flex-end}:host(.form-col--justify-between) .form-col__inner{justify-content:space-between}@media(min-width:40rem){:host{grid-column:span var(--form-col-sm, var(--form-col-xs, 12))}}@media(min-width:48rem){:host{grid-column:span var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))}}@media(min-width:64rem){:host{grid-column:span var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12))))}}@media(min-width:80rem){:host{grid-column:span var(--form-col-xl, var(--form-col-lg, var(--form-col-md, var(--form-col-sm, var(--form-col-xs, 12)))))}}:host.form-col--grow{min-width:0;grid-column:auto/-1}\n"] }]
5123
5159
  }], propDecorators: { xs: [{
5124
5160
  type: Input,
5125
5161
  args: [{ transform: numberAttribute }]
@@ -5137,6 +5173,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
5137
5173
  }], grow: [{
5138
5174
  type: Input,
5139
5175
  args: [{ transform: booleanAttribute }]
5176
+ }], gap: [{
5177
+ type: Input
5178
+ }], align: [{
5179
+ type: Input
5180
+ }], justify: [{
5181
+ type: Input
5140
5182
  }], hostClass: [{
5141
5183
  type: HostBinding,
5142
5184
  args: ['class']
@@ -5610,11 +5652,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
5610
5652
  args: ['class']
5611
5653
  }] } });
5612
5654
 
5655
+ /**
5656
+ * Grelha de formulário: com `app-form-col` usa 12 trilhos; **sem** `app-form-col`, os filhos
5657
+ * directos repartem a largura em colunas iguais (comportamento por omissão).
5658
+ */
5613
5659
  class FormRowComponent {
5614
5660
  constructor() {
5615
- this.gap = FormRowGap.Md;
5661
+ this.gap = FormLayoutGap.Md;
5616
5662
  this.align = FormRowAlign.Stretch;
5617
5663
  this.justify = FormRowJustify.Start;
5664
+ /**
5665
+ * Quando `true`, cada filho que **não** é `app-form-col` ocupa uma linha inteira da grelha
5666
+ * (`grid-column: 1 / -1`). Sem `grow`, campos soltos já dividem a linha em partes iguais.
5667
+ */
5668
+ this.grow = false;
5618
5669
  this.wrap = true;
5619
5670
  this.stackOnMobile = true;
5620
5671
  }
@@ -5625,6 +5676,9 @@ class FormRowComponent {
5625
5676
  `form-row--align-${this.align}`,
5626
5677
  `form-row--justify-${this.justify}`,
5627
5678
  ];
5679
+ if (this.grow) {
5680
+ parts.push('form-row--grow');
5681
+ }
5628
5682
  if (this.wrap) {
5629
5683
  parts.push('form-row--wrap');
5630
5684
  }
@@ -5634,17 +5688,20 @@ class FormRowComponent {
5634
5688
  return parts.join(' ');
5635
5689
  }
5636
5690
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5637
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", type: FormRowComponent, isStandalone: true, selector: "app-form-row", inputs: { gap: "gap", align: "align", justify: "justify", wrap: ["wrap", "wrap", booleanAttribute], stackOnMobile: ["stackOnMobile", "stackOnMobile", booleanAttribute] }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"form-row__grid\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.form-row__grid{display:grid;width:100%;min-width:0;box-sizing:border-box;grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}:host(.form-row--gap-xs) .form-row__grid{gap:.35rem .5rem}:host(.form-row--gap-sm) .form-row__grid{gap:.5rem .75rem}:host(.form-row--gap-md) .form-row__grid{gap:.75rem 1.25rem}:host(.form-row--gap-lg) .form-row__grid{gap:1rem 1.5rem}:host(.form-row--align-start) .form-row__grid{align-items:start}:host(.form-row--align-center) .form-row__grid{align-items:center}:host(.form-row--align-end) .form-row__grid{align-items:end}:host(.form-row--align-stretch) .form-row__grid{align-items:stretch}:host(.form-row--justify-start) .form-row__grid{justify-items:stretch;justify-content:start}:host(.form-row--justify-center) .form-row__grid{justify-content:center}:host(.form-row--justify-end) .form-row__grid{justify-content:end}:host(.form-row--justify-between) .form-row__grid{justify-content:space-between}@media(max-width:39.98rem){:host(.form-row--stack-mobile) .form-row__grid{grid-template-columns:1fr}:host(.form-row--stack-mobile) .form-row__grid ::ng-deep>app-form-col{grid-column:1/-1!important}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5691
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.9", type: FormRowComponent, isStandalone: true, selector: "app-form-row", inputs: { gap: "gap", align: "align", justify: "justify", grow: ["grow", "grow", booleanAttribute], wrap: ["wrap", "wrap", booleanAttribute], stackOnMobile: ["stackOnMobile", "stackOnMobile", booleanAttribute] }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<div class=\"form-row__grid\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.form-row__grid{display:grid;width:100%;min-width:0;box-sizing:border-box;grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}.form-row__grid:not(:has(>app-form-col)){grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.form-row__grid:not(:has(>app-form-col))>*{min-width:0}:host(.form-row--gap-xs) .form-row__grid{gap:.35rem .5rem}:host(.form-row--gap-sm) .form-row__grid{gap:.5rem .75rem}:host(.form-row--gap-md) .form-row__grid{gap:.75rem 1.25rem}:host(.form-row--gap-lg) .form-row__grid{gap:1rem 1.5rem}:host(.form-row--grow) .form-row__grid>:not(app-form-col){min-width:0;grid-column:1/-1}:host(.form-row--align-start) .form-row__grid{align-items:start}:host(.form-row--align-center) .form-row__grid{align-items:center}:host(.form-row--align-end) .form-row__grid{align-items:end}:host(.form-row--align-stretch) .form-row__grid{align-items:stretch}:host(.form-row--justify-start) .form-row__grid{justify-items:stretch;justify-content:start}:host(.form-row--justify-center) .form-row__grid{justify-content:center}:host(.form-row--justify-end) .form-row__grid{justify-content:end}:host(.form-row--justify-between) .form-row__grid{justify-content:space-between}@media(max-width:39.98rem){:host(.form-row--stack-mobile) .form-row__grid{grid-template-columns:1fr}:host(.form-row--stack-mobile) .form-row__grid ::ng-deep>app-form-col{grid-column:1/-1!important}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5638
5692
  }
5639
5693
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormRowComponent, decorators: [{
5640
5694
  type: Component,
5641
- args: [{ selector: 'app-form-row', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-row__grid\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.form-row__grid{display:grid;width:100%;min-width:0;box-sizing:border-box;grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}:host(.form-row--gap-xs) .form-row__grid{gap:.35rem .5rem}:host(.form-row--gap-sm) .form-row__grid{gap:.5rem .75rem}:host(.form-row--gap-md) .form-row__grid{gap:.75rem 1.25rem}:host(.form-row--gap-lg) .form-row__grid{gap:1rem 1.5rem}:host(.form-row--align-start) .form-row__grid{align-items:start}:host(.form-row--align-center) .form-row__grid{align-items:center}:host(.form-row--align-end) .form-row__grid{align-items:end}:host(.form-row--align-stretch) .form-row__grid{align-items:stretch}:host(.form-row--justify-start) .form-row__grid{justify-items:stretch;justify-content:start}:host(.form-row--justify-center) .form-row__grid{justify-content:center}:host(.form-row--justify-end) .form-row__grid{justify-content:end}:host(.form-row--justify-between) .form-row__grid{justify-content:space-between}@media(max-width:39.98rem){:host(.form-row--stack-mobile) .form-row__grid{grid-template-columns:1fr}:host(.form-row--stack-mobile) .form-row__grid ::ng-deep>app-form-col{grid-column:1/-1!important}}\n"] }]
5695
+ args: [{ selector: 'app-form-row', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-row__grid\">\r\n <ng-content />\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:block;width:100%;min-width:0;box-sizing:border-box}.form-row__grid{display:grid;width:100%;min-width:0;box-sizing:border-box;grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}.form-row__grid:not(:has(>app-form-col)){grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.form-row__grid:not(:has(>app-form-col))>*{min-width:0}:host(.form-row--gap-xs) .form-row__grid{gap:.35rem .5rem}:host(.form-row--gap-sm) .form-row__grid{gap:.5rem .75rem}:host(.form-row--gap-md) .form-row__grid{gap:.75rem 1.25rem}:host(.form-row--gap-lg) .form-row__grid{gap:1rem 1.5rem}:host(.form-row--grow) .form-row__grid>:not(app-form-col){min-width:0;grid-column:1/-1}:host(.form-row--align-start) .form-row__grid{align-items:start}:host(.form-row--align-center) .form-row__grid{align-items:center}:host(.form-row--align-end) .form-row__grid{align-items:end}:host(.form-row--align-stretch) .form-row__grid{align-items:stretch}:host(.form-row--justify-start) .form-row__grid{justify-items:stretch;justify-content:start}:host(.form-row--justify-center) .form-row__grid{justify-content:center}:host(.form-row--justify-end) .form-row__grid{justify-content:end}:host(.form-row--justify-between) .form-row__grid{justify-content:space-between}@media(max-width:39.98rem){:host(.form-row--stack-mobile) .form-row__grid{grid-template-columns:1fr}:host(.form-row--stack-mobile) .form-row__grid ::ng-deep>app-form-col{grid-column:1/-1!important}}\n"] }]
5642
5696
  }], propDecorators: { gap: [{
5643
5697
  type: Input
5644
5698
  }], align: [{
5645
5699
  type: Input
5646
5700
  }], justify: [{
5647
5701
  type: Input
5702
+ }], grow: [{
5703
+ type: Input,
5704
+ args: [{ transform: booleanAttribute }]
5648
5705
  }], wrap: [{
5649
5706
  type: Input,
5650
5707
  args: [{ transform: booleanAttribute }]
@@ -8961,5 +9018,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
8961
9018
  * Generated bundle index. Do not edit.
8962
9019
  */
8963
9020
 
8964
- export { ADAPTIVE_DATA_VIEW_MOBILE_QUERY, APP_SIDEBAR_LABEL_REVEAL_LAG_MS, APP_SIDEBAR_LAYOUT_DURATION_MS, APP_SIDEBAR_NAV_REVEAL_TOTAL_MS, APP_THEME_IDS, ActionMenuComponent, AdaptiveDataViewComponent, AnchoredOverlayComponent, AppBreadcrumbComponent, AppDialogComponent, AppLibLightBlockScrollStrategy, AppShellComponent, AppShellSidebarTemplateDirective, AppShellSidebarToggleComponent, AppSidebarComponent, AppSidebarToolbarDirective, AppThemeService, AppTopbarComponent, AppUserMenuComponent, BR_ESTADOS_NOME_SIGLA, BaseButtonComponent, BaseButtonType, BaseButtonVariant, BaseFieldComponent, BaseFieldDirective, BooleanFieldDirective, CardListComponent, CepFieldComponent, CheckboxFieldComponent, ConfirmDialogComponent, ConfirmDialogService, ContextMenuComponent, CpfCnpjFieldComponent, DashboardSectionComponent, DataCardComponent, DataGridComponent, DataListComponent, DataToolbarComponent, DateFieldComponent, DecimalFieldComponent, DetailsFieldComponent, DetailsViewComponent, DialogFooterDirective, DrawerComponent, DrawerSide, DrawerSize, DropdownBaseComponent, DropdownMenuComponent, DropdownMultiOptionFieldBase, DropdownOptionFieldBase, DropdownSearchFieldComponent, EmptyStateComponent, FormActionsAlign, FormActionsComponent, FormColComponent, FormGroupComponent, FormGroupVariant, FormRowAlign, FormRowComponent, FormRowGap, FormRowJustify, FormSectionComponent, FormTabComponent, FormTabsComponent, InputMaskFieldComponent, IntegerFieldComponent, LayoutStackAlign, LayoutStackComponent, LibDialogSize, ListItemComponent, LoadingDialogComponent, LoadingDialogService, MaskedTextFieldBase, MenuDividerComponent, MenuDropdownPlacement, MenuGroupComponent, MenuListComponent, MultiselectFieldComponent, NgControlFieldDirective, OverlayPlacement, PasswordFieldComponent, PhoneFieldComponent, PopoverBodyTemplateDirective, PopoverComponent, PopoverFooterTemplateDirective, PopoverTriggerDirective, STRUCTRA_UI, SelectFieldComponent, SkeletonBlockComponent, SkeletonCardComponent, SkeletonFieldShellComponent, SkeletonListComponent, SkeletonTableComponent, SkeletonTextComponent, StatCardComponent, StatusBadgeComponent, SwitchFieldComponent, TableEmptyStateComponent, TableToolbarComponent, TextFieldComponent, TextareaFieldComponent, ToastHostComponent, ToastService, TooltipComponent, TooltipPanelTemplateDirective, ValidationSummaryComponent, anchoredOverlayPositions, applyPickedCalendarDate, buildDecimalBrDisplay, buildDecimalBrParseString, buildEmptyStateOverlayHtml, caretIndexFromIntegerDigitCount, caretIndexFromSemantic, cepMaskCompleteValidator, cpfCnpjMaskCompleteValidator, escapeHtml, extractDecimalBrParts, fixedDigitsMaskCompleteValidator, formatDateTimePtBr, formatDecimalBr, formatIntegerThousandsBr, formatMaskDigits, formatUiFieldDateValue, libDialogPanelClasses, mapEstadosToOptions, maskDigitCount, normalizeFormDateValue, parseDecimalBr, parseIntegerString, parseUiFieldDateValue, phoneBrMaskCompleteValidator, resolveControlAtPath, sanitizeDecimalBrInput, sanitizeIntegerDigits, sectionHasVisibleInvalid, semanticCaretAt, semanticIntegerDigitCountLeft, stripToDigits, subscribeMarkForCheckOnInvalidUiRefresh, subtreeHasVisibleInvalid };
9021
+ export { ADAPTIVE_DATA_VIEW_MOBILE_QUERY, APP_SIDEBAR_LABEL_REVEAL_LAG_MS, APP_SIDEBAR_LAYOUT_DURATION_MS, APP_SIDEBAR_NAV_REVEAL_TOTAL_MS, APP_THEME_IDS, ActionMenuComponent, AdaptiveDataViewComponent, AnchoredOverlayComponent, AppBreadcrumbComponent, AppDialogComponent, AppLibLightBlockScrollStrategy, AppShellComponent, AppShellSidebarTemplateDirective, AppShellSidebarToggleComponent, AppSidebarComponent, AppSidebarToolbarDirective, AppThemeService, AppTopbarComponent, AppUserMenuComponent, BR_ESTADOS_NOME_SIGLA, BaseButtonComponent, BaseButtonType, BaseButtonVariant, BaseFieldComponent, BaseFieldDirective, BooleanFieldDirective, CardListComponent, CepFieldComponent, CheckboxFieldComponent, ConfirmDialogComponent, ConfirmDialogService, ContextMenuComponent, CpfCnpjFieldComponent, DashboardSectionComponent, DataCardComponent, DataGridComponent, DataListComponent, DataToolbarComponent, DateFieldComponent, DecimalFieldComponent, DetailsFieldComponent, DetailsViewComponent, DialogFooterDirective, DrawerComponent, DrawerSide, DrawerSize, DropdownBaseComponent, DropdownMenuComponent, DropdownMultiOptionFieldBase, DropdownOptionFieldBase, DropdownSearchFieldComponent, EmptyStateComponent, FormActionsAlign, FormActionsComponent, FormColComponent, FormGroupComponent, FormGroupVariant, FormLayoutGap, FormRowAlign, FormRowComponent, FormRowJustify, FormSectionComponent, FormTabComponent, FormTabsComponent, InputMaskFieldComponent, IntegerFieldComponent, LayoutStackAlign, LayoutStackComponent, LibDialogSize, ListItemComponent, LoadingDialogComponent, LoadingDialogService, MaskedTextFieldBase, MenuDividerComponent, MenuDropdownPlacement, MenuGroupComponent, MenuListComponent, MultiselectFieldComponent, NgControlFieldDirective, OverlayPlacement, PasswordFieldComponent, PhoneFieldComponent, PopoverBodyTemplateDirective, PopoverComponent, PopoverFooterTemplateDirective, PopoverTriggerDirective, STRUCTRA_UI, SelectFieldComponent, SkeletonBlockComponent, SkeletonCardComponent, SkeletonFieldShellComponent, SkeletonListComponent, SkeletonTableComponent, SkeletonTextComponent, StatCardComponent, StatusBadgeComponent, SwitchFieldComponent, TableEmptyStateComponent, TableToolbarComponent, TextFieldComponent, TextareaFieldComponent, ToastHostComponent, ToastService, TooltipComponent, TooltipPanelTemplateDirective, ValidationSummaryComponent, anchoredOverlayPositions, applyPickedCalendarDate, buildDecimalBrDisplay, buildDecimalBrParseString, buildEmptyStateOverlayHtml, caretIndexFromIntegerDigitCount, caretIndexFromSemantic, cepMaskCompleteValidator, cpfCnpjMaskCompleteValidator, escapeHtml, extractDecimalBrParts, fixedDigitsMaskCompleteValidator, formatDateTimePtBr, formatDecimalBr, formatIntegerThousandsBr, formatMaskDigits, formatUiFieldDateValue, libDialogPanelClasses, mapEstadosToOptions, maskDigitCount, normalizeFormDateValue, parseDecimalBr, parseIntegerString, parseUiFieldDateValue, phoneBrMaskCompleteValidator, resolveControlAtPath, sanitizeDecimalBrInput, sanitizeIntegerDigits, sectionHasVisibleInvalid, semanticCaretAt, semanticIntegerDigitCountLeft, stripToDigits, subscribeMarkForCheckOnInvalidUiRefresh, subtreeHasVisibleInvalid };
8965
9022
  //# sourceMappingURL=structra-ui.mjs.map