@praxisui/tabs 9.0.0-beta.9 → 9.0.0-beta.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@praxisui/tabs",
3
- "version": "9.0.0-beta.9",
3
+ "version": "9.0.0-beta.90",
4
4
  "description": "Configurable tabs (group and nav) for Praxis UI with metadata-driven content and runtime editor.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
7
7
  "@angular/core": "^21.0.0",
8
8
  "@angular/material": "^21.0.0",
9
9
  "@angular/cdk": "^21.0.0",
10
- "@praxisui/core": "^9.0.0-beta.9",
11
- "@praxisui/dynamic-fields": "^9.0.0-beta.9",
12
- "@praxisui/settings-panel": "^9.0.0-beta.9",
10
+ "@praxisui/core": "^9.0.0-beta.90",
11
+ "@praxisui/dynamic-fields": "^9.0.0-beta.90",
12
+ "@praxisui/settings-panel": "^9.0.0-beta.90",
13
13
  "@angular/forms": "^21.0.0",
14
14
  "@angular/router": "^21.0.0",
15
- "@praxisui/ai": "^9.0.0-beta.9",
15
+ "@praxisui/ai": "^9.0.0-beta.90",
16
16
  "rxjs": "~7.8.0"
17
17
  },
18
18
  "dependencies": {
@@ -27,6 +27,7 @@
27
27
  "keywords": [
28
28
  "angular",
29
29
  "praxisui",
30
+ "praxis",
30
31
  "tabs",
31
32
  "navigation",
32
33
  "material",
@@ -42,7 +43,10 @@
42
43
  ".": {
43
44
  "types": "./types/praxisui-tabs.d.ts",
44
45
  "default": "./fesm2022/praxisui-tabs.mjs"
46
+ },
47
+ "./ai/component-registry.json": {
48
+ "default": "./ai/component-registry.json"
45
49
  }
46
50
  },
47
51
  "type": "module"
48
- }
52
+ }
@@ -22,8 +22,8 @@ source_of_truth:
22
22
  - "projects/praxis-tabs/src/lib/praxis-tabs.ts"
23
23
  - "projects/praxis-tabs/src/lib/quick-setup/tabs-quick-setup.component.ts"
24
24
  - "projects/praxis-tabs/src/lib/ai/tabs-ai-capabilities.ts"
25
- source_of_truth_last_verified: "2026-03-05"
26
- last_updated: "2026-03-05"
25
+ source_of_truth_last_verified: "2026-06-24"
26
+ last_updated: "2026-06-24"
27
27
  toc: true
28
28
  sidebar: true
29
29
  tags:
@@ -90,9 +90,11 @@ Este documento e a referencia canonica da API JSON de praxis-tabs-config-editor.
90
90
  | `accessibility.highContrast/reduceMotion` | not-specified | not-specified | n/a | Active | Preservado da documentação anterior. |
91
91
  | `accessibility.ariaLabels/keyboardNavigation` | not-specified | not-specified | n/a | Declared-only | Preservado no contrato JSON, sem superficie ativa na UI. |
92
92
  | `group.*` | not-specified | not-specified | n/a | Partial | Preservado da documentação anterior. |
93
+ | `group.renderBody` | boolean | no | true | Active | Quando `false`, o group mode renderiza apenas o header de abas; o conteudo ativo fica sob controle externo do host. |
93
94
  | `tabs[]` | not-specified | not-specified | n/a | Active | Preservado da documentação anterior. |
94
95
  | `tabs[].content` | not-specified | not-specified | n/a | Partial | Preservado da documentação anterior. |
95
96
  | `nav.*` | not-specified | not-specified | n/a | Active | Preservado da documentação anterior. |
97
+ | `nav.renderBody` | boolean | no | true | Active | Quando `false`, o nav mode renderiza apenas o header de links; o conteudo ativo fica sob controle externo do host. |
96
98
  | `nav.links[]` | not-specified | not-specified | n/a | Active | Preservado da documentação anterior. |
97
99
 
98
100
  ### Supported legacy paths
@@ -493,11 +495,13 @@ Risco conhecido:
493
495
  | `group.disablePagination` | Active | guia Grupo |
494
496
  | `group.disableRipple` | Active | guia Grupo |
495
497
  | `group.preserveContent` | Active | guia Grupo |
498
+ | `group.renderBody` | Active | guia Grupo |
496
499
  | `group.stretchTabs` | Active | guia Grupo |
497
500
  | `nav.selectedIndex` | Active | guia Navegacao |
498
501
  | `nav.animationDuration` | Active | guia Navegacao |
499
502
  | `nav.ariaLabel` | Active | guia Navegacao |
500
503
  | `nav.ariaLabelledby` | Active | guia Navegacao |
504
+ | `nav.renderBody` | Active | guia Navegacao |
501
505
  | `nav.color` | Active | guia Navegacao |
502
506
  | `nav.backgroundColor` | Active | guia Navegacao |
503
507
  | `nav.fitInkBarToContent` | Active | guia Navegacao |
@@ -98,6 +98,8 @@ interface TabGroupMetadata {
98
98
  fitInkBarToContent?: boolean;
99
99
  headerPosition?: 'above' | 'below';
100
100
  preserveContent?: boolean;
101
+ /** Quando false, renderiza apenas o header de abas; o conteudo fica sob controle externo do host. */
102
+ renderBody?: boolean;
101
103
  selectedIndex?: number;
102
104
  stretchTabs?: boolean;
103
105
  backgroundColor?: 'primary' | 'accent' | 'warn' | undefined;
@@ -127,6 +129,8 @@ interface TabNavMetadata {
127
129
  disablePagination?: boolean;
128
130
  disableRipple?: boolean;
129
131
  fitInkBarToContent?: boolean;
132
+ /** Quando false, renderiza apenas o header de nav; o conteudo fica sob controle externo do host. */
133
+ renderBody?: boolean;
130
134
  selectedIndex?: number;
131
135
  stretchTabs?: boolean;
132
136
  links: TabLinkMetadata[];
@@ -276,6 +280,8 @@ declare class PraxisTabs implements OnInit, OnChanges, OnDestroy {
276
280
  applyConfigFromAdapter(next: TabsMetadata): void;
277
281
  private isLazy;
278
282
  protected groupContentReady(index: number): boolean;
283
+ protected shouldRenderGroupBody(): boolean;
284
+ protected shouldRenderNavBody(): boolean;
279
285
  protected navContentReady(index: number): boolean;
280
286
  protected isEmptyGlobal(): boolean;
281
287
  protected trackVisibleNavLink(index: number, entry: {