@viasoftbr/shared-ui 0.0.2 → 0.0.4
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 +89 -106
- package/dist/components/main/Header.d.ts +1 -0
- package/dist/components.cjs +53411 -0
- package/dist/components.js +780 -2709
- package/dist/context/AuthContext.d.ts +1 -0
- package/dist/context/SharedUiProvider.d.ts +7 -0
- package/dist/context/index.d.ts +2 -1
- package/dist/context.cjs +3078 -0
- package/dist/context.js +39 -472
- package/dist/hooks.cjs +3182 -0
- package/dist/hooks.js +22 -1322
- package/dist/i18n.cjs +3277 -0
- package/dist/i18n.js +2 -87
- package/dist/index.cjs +53787 -0
- package/dist/index.js +821 -2939
- package/dist/package.json +111 -0
- package/dist/services/api.d.ts +0 -1
- package/dist/services.cjs +3271 -0
- package/dist/services.js +1 -3
- package/dist/types.cjs +34 -0
- package/package.json +36 -11
package/README.md
CHANGED
|
@@ -2,149 +2,132 @@
|
|
|
2
2
|
|
|
3
3
|
Biblioteca de componentes, hooks e serviços compartilhados para plugins XCOS.
|
|
4
4
|
|
|
5
|
+
Este repositório empacota um conjunto de componentes React, hooks, serviços e recursos de i18n em `dist/` para consumo por outros pacotes (monorepo) ou via npm.
|
|
6
|
+
|
|
7
|
+
**Versão do pacote:** `@viasoftbr/shared-ui` (veja `package.json` para a versão atual).
|
|
8
|
+
|
|
5
9
|
## 📦 Instalação
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
Instalação via npm (registro público):
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# npm
|
|
15
|
+
npm install @viasoftbr/shared-ui
|
|
16
|
+
|
|
17
|
+
# pnpm
|
|
18
|
+
pnpm add @viasoftbr/shared-ui
|
|
19
|
+
|
|
20
|
+
# yarn
|
|
21
|
+
yarn add @viasoftbr/shared-ui
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Instalação no monorepo (workspace pnpm):
|
|
8
25
|
|
|
9
26
|
```bash
|
|
10
|
-
#
|
|
27
|
+
# a partir do diretório do seu pacote consumidor
|
|
11
28
|
pnpm add @viasoftbr/shared-ui --workspace
|
|
12
29
|
```
|
|
13
30
|
|
|
14
|
-
|
|
31
|
+
Instalação local (desenvolvimento):
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# criar pacote .tgz e instalar no projeto consumidor
|
|
35
|
+
npm run build
|
|
36
|
+
npm pack
|
|
37
|
+
# no projeto consumidor
|
|
38
|
+
npm install ../path/to/viasoftbr-shared-ui-0.0.2.tgz
|
|
39
|
+
|
|
40
|
+
# ou usar link para desenvolvimento iterativo
|
|
41
|
+
# no shared-ui
|
|
42
|
+
npm run build
|
|
43
|
+
npm link
|
|
44
|
+
# no projeto consumidor
|
|
45
|
+
npm link @viasoftbr/shared-ui
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Instalação direta do GitHub (não recomendado sem `dist/` commitado):
|
|
15
49
|
|
|
16
50
|
```json
|
|
17
51
|
{
|
|
18
52
|
"dependencies": {
|
|
19
|
-
"@viasoftbr/shared-
|
|
53
|
+
"@viasoftbr/shared-ui": "git+https://github.com/viasoftbr/shared-ui.git"
|
|
20
54
|
}
|
|
21
55
|
}
|
|
22
56
|
```
|
|
23
57
|
|
|
24
|
-
|
|
58
|
+
> Observação: se instalar diretamente do Git, prefira ter a pasta `dist/` com os artefatos comitados OU adicionar um script `prepare` que execute o build na instalação.
|
|
25
59
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
```typescript
|
|
29
|
-
import {
|
|
30
|
-
// Components
|
|
31
|
-
InputField,
|
|
32
|
-
SelectField,
|
|
33
|
-
SwitchField,
|
|
34
|
-
Section,
|
|
35
|
-
Alert,
|
|
36
|
-
Button,
|
|
37
|
-
PageHeader,
|
|
38
|
-
ActionBar,
|
|
39
|
-
Loading,
|
|
40
|
-
|
|
41
|
-
// Hooks
|
|
42
|
-
useSettings,
|
|
43
|
-
useExpandedSections,
|
|
44
|
-
useDebounce,
|
|
45
|
-
|
|
46
|
-
# @viasoftbr/shared-ui
|
|
47
|
-
|
|
48
|
-
Biblioteca compartilhada de componentes React, hooks, utilitários e i18n usada por plugins e micro-frontends Viasoft.
|
|
49
|
-
|
|
50
|
-
Este repositório fornece um pacote ESM (TypeScript) empacotado em `dist/` e pensado para consumo por outros pacotes dentro do monorepo ou publicamente.
|
|
51
|
-
|
|
52
|
-
## 📦 Instalação
|
|
53
|
-
|
|
54
|
-
Recomendado (monorepo pnpm):
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
# do diretório do seu plugin ou pacote que consome esta lib
|
|
58
|
-
pnpm add @viasoftbr/shared-ui --workspace
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Ou, em um `package.json` local dentro do monorepo:
|
|
62
|
-
|
|
63
|
-
```json
|
|
64
|
-
{
|
|
65
|
-
"dependencies": {
|
|
66
|
-
"@viasoftbr/shared-ui": "workspace:*"
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
> Observação: o pacote é publicado como `@viasoftbr/shared-ui` (veja `package.json`).
|
|
72
|
-
|
|
73
|
-
## 🚀 Uso
|
|
74
|
-
|
|
75
|
-
Importação direta de componentes / hooks / utilitários:
|
|
76
|
-
|
|
77
|
-
```ts
|
|
78
|
-
import { InputField, SelectField, useSettings } from '@viasoftbr/shared-ui';
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Exportações adicionais (deep imports) estão disponíveis conforme declarado em `package.json`:
|
|
82
|
-
|
|
83
|
-
```ts
|
|
84
|
-
import i18n from '@viasoftbr/shared-ui/i18n';
|
|
85
|
-
import jsmpegBundle from '@viasoftbr/shared-ui/jsmpeg';
|
|
86
|
-
import locale from '@viasoftbr/shared-ui/locales/pt/translation.json';
|
|
87
|
-
```
|
|
60
|
+
## 🚀 Uso
|
|
88
61
|
|
|
89
|
-
|
|
62
|
+
Importação principal:
|
|
90
63
|
|
|
91
|
-
|
|
92
|
-
|
|
64
|
+
```ts
|
|
65
|
+
import { InputField, SelectField, useSettings } from '@viasoftbr/shared-ui';
|
|
66
|
+
```
|
|
93
67
|
|
|
94
|
-
|
|
95
|
-
label="Opção"
|
|
96
|
-
value={selected}
|
|
97
|
-
onChange={setSelected}
|
|
98
|
-
options={[{ value: 'a', label: 'A' }, { value: 'b', label: 'B' }]}
|
|
99
|
-
/>
|
|
100
|
-
```
|
|
68
|
+
Deep imports (subpaths) disponíveis conforme `exports` no `package.json`:
|
|
101
69
|
|
|
102
|
-
|
|
70
|
+
```ts
|
|
71
|
+
import i18n from '@viasoftbr/shared-ui/i18n';
|
|
72
|
+
import jsmpegBundle from '@viasoftbr/shared-ui/jsmpeg';
|
|
73
|
+
import localePt from '@viasoftbr/shared-ui/locales/pt/translation.json';
|
|
74
|
+
```
|
|
103
75
|
|
|
104
|
-
|
|
76
|
+
Exemplo (React):
|
|
105
77
|
|
|
106
|
-
|
|
78
|
+
```tsx
|
|
79
|
+
import React from 'react';
|
|
80
|
+
import { InputField } from '@viasoftbr/shared-ui';
|
|
107
81
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
82
|
+
export function Example() {
|
|
83
|
+
const [value, setValue] = React.useState('');
|
|
84
|
+
return <InputField label="Nome" value={value} onChange={setValue} />;
|
|
85
|
+
}
|
|
86
|
+
```
|
|
111
87
|
|
|
112
|
-
|
|
88
|
+
## 📦 Publicação no npm
|
|
113
89
|
|
|
114
|
-
|
|
90
|
+
Passos básicos para publicar (usuário com permissão no escopo `@viasoftbr`):
|
|
115
91
|
|
|
116
|
-
|
|
92
|
+
```bash
|
|
93
|
+
# instalar dependências
|
|
94
|
+
pnpm install
|
|
117
95
|
|
|
118
|
-
|
|
96
|
+
# gerar build e declarações
|
|
97
|
+
pnpm run build
|
|
119
98
|
|
|
120
|
-
|
|
99
|
+
# atualizar versão (opcional)
|
|
100
|
+
npm version patch
|
|
121
101
|
|
|
122
|
-
|
|
102
|
+
# publicar
|
|
103
|
+
npm publish --access public
|
|
104
|
+
```
|
|
123
105
|
|
|
124
|
-
|
|
106
|
+
Recomendações:
|
|
107
|
+
- Garanta que `dist/` e os `.d.ts` foram gerados antes de publicar.
|
|
108
|
+
- Atualize a versão no `package.json` antes do `npm publish`.
|
|
125
109
|
|
|
126
|
-
|
|
127
|
-
2. Rode o build em modo watch: `pnpm run dev`
|
|
128
|
-
3. Edite os arquivos em `src/` e verifique o output em `dist/`.
|
|
129
|
-
4. Para checar tipos: `pnpm run typecheck`.
|
|
110
|
+
## ⚠️ Peer dependencies
|
|
130
111
|
|
|
131
|
-
|
|
112
|
+
Este pacote declara `react` como peer dependency (`^19.0.0`). O projeto consumidor deve fornecer uma versão compatível do React.
|
|
132
113
|
|
|
133
|
-
|
|
114
|
+
## 🛠 Scripts de desenvolvimento
|
|
134
115
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
116
|
+
- `pnpm run build` — Empacota a lib em `dist/` (usa `scripts/build.js`).
|
|
117
|
+
- `pnpm run dev` — Mesma build em modo watch.
|
|
118
|
+
- `pnpm run typecheck` — Roda `tsc --noEmit` para validação de tipos.
|
|
138
119
|
|
|
139
|
-
|
|
120
|
+
## 💡 i18n e assets
|
|
140
121
|
|
|
141
|
-
|
|
122
|
+
O pacote inclui traduções em `locales/` e expõe um helper `i18n` em `@viasoftbr/shared-ui/i18n`. O bundle do player `jsmpeg.vu.min.js` é exposto em `@viasoftbr/shared-ui/jsmpeg`.
|
|
142
123
|
|
|
143
|
-
|
|
124
|
+
## Desenvolvimento
|
|
144
125
|
|
|
145
|
-
|
|
146
|
-
|
|
126
|
+
1. Instale dependências: `pnpm install`
|
|
127
|
+
2. Rode o build em modo watch: `pnpm run dev`
|
|
128
|
+
3. Edite arquivos em `src/` e verifique o output em `dist/`.
|
|
129
|
+
4. Para checar tipos: `pnpm run typecheck`.
|
|
147
130
|
|
|
148
|
-
|
|
131
|
+
---
|
|
149
132
|
|
|
150
|
-
|
|
133
|
+
Se quiser, adapto este README com exemplos reais retirados dos componentes presentes em `src/components/` ou adiciono um `prepare` script para facilitar instalação direta do Git.
|