@praxisui/core 1.0.0-beta.3 → 1.0.0-beta.30
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/README.md +58 -0
- package/fesm2022/praxisui-core.mjs +346 -47
- package/fesm2022/praxisui-core.mjs.map +1 -1
- package/index.d.ts +299 -5
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
> Biblioteca central com interfaces e serviços fundamentais para o Praxis UI Workspace
|
|
4
4
|
|
|
5
|
+
## 🔰 Exemplos / Quickstart
|
|
6
|
+
|
|
7
|
+
Para ver esta biblioteca em funcionamento em uma aplicação completa, utilize o projeto de exemplo (Quickstart):
|
|
8
|
+
|
|
9
|
+
- Repositório: https://github.com/codexrodrigues/praxis-ui-quickstart
|
|
10
|
+
- O Quickstart demonstra a integração das bibliotecas `@praxisui/*` em um app Angular, incluindo instalação, configuração e uso em telas reais.
|
|
11
|
+
|
|
5
12
|
## 🌟 Visão Geral
|
|
6
13
|
|
|
7
14
|
A biblioteca `@praxisui/core` é o núcleo do Praxis UI Workspace, fornecendo interfaces robustas, serviços base e utilitários essenciais para todas as outras bibliotecas do ecossistema. Com a arquitetura unificada, oferece uma experiência de desenvolvimento consistente e type-safe.
|
|
@@ -35,6 +42,9 @@ A biblioteca `@praxisui/core` é o núcleo do Praxis UI Workspace, fornecendo in
|
|
|
35
42
|
npm install @praxisui/core
|
|
36
43
|
```
|
|
37
44
|
|
|
45
|
+
Exemplo completo (app de referência)
|
|
46
|
+
- Quickstart: https://github.com/codexrodrigues/praxis-ui-quickstart
|
|
47
|
+
|
|
38
48
|
### Peer dependencies (Angular v20)
|
|
39
49
|
|
|
40
50
|
- `@angular/core` `^20.0.0`
|
|
@@ -105,6 +115,54 @@ Observação: os IDs de widgets usados na página devem estar registrados via `C
|
|
|
105
115
|
[`public-api.ts`](https://github.com/codexrodrigues/praxis/blob/main/frontend-libs/praxis-ui-workspace/projects/praxis-core/src/public-api.ts)
|
|
106
116
|
para a lista consolidada de serviços, tokens, modelos e utilitários disponíveis para importação.
|
|
107
117
|
|
|
118
|
+
## 🔎 Schema Viewer (para Showcases)
|
|
119
|
+
|
|
120
|
+
Para exibir os metadados e schemas usados por um exemplo (ex.: na aba “Schema” de um showcase), use o componente `SchemaViewerComponent` e (opcionalmente) injete o contexto via `SCHEMA_VIEWER_CONTEXT`.
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
import { Component, Provider } from '@angular/core';
|
|
124
|
+
import { PraxisTabs, TabsMetadata } from '@praxisui/tabs';
|
|
125
|
+
import { SchemaViewerComponent, SCHEMA_VIEWER_CONTEXT } from '@praxisui/core';
|
|
126
|
+
|
|
127
|
+
@Component({
|
|
128
|
+
standalone: true,
|
|
129
|
+
selector: 'app-tabs-showcase',
|
|
130
|
+
imports: [PraxisTabs, SchemaViewerComponent],
|
|
131
|
+
template: `
|
|
132
|
+
<!-- Aba Preview -->
|
|
133
|
+
<praxis-tabs [config]="tabs"></praxis-tabs>
|
|
134
|
+
|
|
135
|
+
<!-- Aba Schema -->
|
|
136
|
+
<praxis-schema-viewer [context]="schemaCtx"></praxis-schema-viewer>
|
|
137
|
+
`,
|
|
138
|
+
providers: [
|
|
139
|
+
{
|
|
140
|
+
provide: SCHEMA_VIEWER_CONTEXT,
|
|
141
|
+
useFactory: () => ({
|
|
142
|
+
componentId: 'praxis-tabs',
|
|
143
|
+
title: 'Tabs — Schema & Metadata',
|
|
144
|
+
rawConfig: {
|
|
145
|
+
group: { alignTabs: 'center', dynamicHeight: true },
|
|
146
|
+
tabs: [ { id: 't1', textLabel: 'Dados', content: [] } ],
|
|
147
|
+
} satisfies TabsMetadata,
|
|
148
|
+
}),
|
|
149
|
+
} as Provider,
|
|
150
|
+
],
|
|
151
|
+
})
|
|
152
|
+
export class TabsShowcaseComponent {
|
|
153
|
+
tabs: TabsMetadata = { group: { dynamicHeight: true }, tabs: [] };
|
|
154
|
+
schemaCtx = {
|
|
155
|
+
componentId: 'praxis-tabs',
|
|
156
|
+
rawConfig: this.tabs,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Campos opcionais do contexto (`SchemaViewerContext`):
|
|
162
|
+
- `rawConfig` (JSON usado pelo exemplo), `effectiveConfig` (se houver merge de defaults);
|
|
163
|
+
- `backendSchema` (OpenAPI/JSON Schema) e `schemaMeta` (path/operation/schemaType/schemaHash);
|
|
164
|
+
- `normalizedFields` (se já normalizado; caso contrário, o componente aplica `SchemaNormalizerService`).
|
|
165
|
+
|
|
108
166
|
## 🧩 Compatibilidade
|
|
109
167
|
|
|
110
168
|
- `@praxisui/core` `1.0.0-beta.x` → Angular `20.x`
|