xertica-ui 2.9.7 → 2.9.8
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/CHANGELOG.md +10 -0
- package/README.md +1 -1
- package/bin/language-config.ts +17 -9
- package/dist/cli.js +12 -7
- package/package.json +1 -1
- package/templates/src/styles/index.css +5 -0
- package/templates/tsconfig.node.json +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,16 @@ Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
+
## [2.9.8] — 2026-07-14
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- **Projeto gerado pelo scaffold "Web page" não compilava — erros de tipo de bibliotecas de terceiros** — `tsconfig.node.json` não tinha `skipLibCheck`, então o type-check processava as definições de tipo de dependências transitivas usadas internamente pelo Vite (`d3-array`, `prismjs`, etc.), e qualquer inconsistência nelas quebrava a compilação do projeto gerado, mesmo sem nenhum erro real no código do usuário. Corrigido adicionando `"skipLibCheck": true` a `templates/tsconfig.node.json`, usado tanto pelo scaffold "Web page" quanto pelo "Full system".
|
|
19
|
+
- **Tela em branco no scaffold "Web page" — `Error: No QueryClient set, use QueryClientProvider to set one`** — o `App.tsx` gerado por `generateLandingAppTsx` (`bin/language-config.ts`) renderizava `<LandingPage>` direto dentro de `<XerticaProvider>`, sem `QueryClientProvider`, partindo do pressuposto de que a landing page não dependia de React Query. Só que `XerticaProvider` monta `LanguageProvider` internamente, e este chama `useQueryClient()` para invalidar queries traduzíveis na troca de idioma — sem um `QueryClientProvider` acima na árvore, o app quebra no primeiro render. Corrigido envolvendo o `App.tsx` gerado em `<QueryClientProvider client={queryClient}>` (com `queryClient = new QueryClient()`), o mesmo padrão que o scaffold "Full system" (`generateAppTsx`) já usava.
|
|
20
|
+
- **Scroll não funcionava no scaffold "Web page"** — o CSS da própria lib (`styles/xertica/base.css`) define `html, body { height: 100%; overflow: hidden; }`, delegando o scroll a um container interno com altura própria resolvida. Como o `#root` gerado pelo Vite não tinha altura definida, a `LandingPage` (que usa `h-full overflow-y-auto`) não tinha em relação a que altura calcular seu próprio limite de scroll. Corrigido adicionando `#root { height: 100%; }` a `templates/src/styles/index.css`.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
14
24
|
## [2.9.7] — 2026-07-14
|
|
15
25
|
|
|
16
26
|
### Fixed
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> **Enterprise-grade React design system** built on Tailwind CSS v4, Radix UI, and Lucide Icons — with a robust AI-first documentation layer for precise LLM-driven composition and autonomous agent interaction.
|
|
4
4
|
|
|
5
|
-
[](https://www.npmjs.com/package/xertica-ui)
|
|
6
6
|
[](./LICENSE)
|
|
7
7
|
|
|
8
8
|
---
|
package/bin/language-config.ts
CHANGED
|
@@ -362,27 +362,35 @@ export default function App() {
|
|
|
362
362
|
/**
|
|
363
363
|
* Generate the App.tsx source for a minimal "web page" project — renders the
|
|
364
364
|
* marketing `LandingPage` directly under `XerticaProvider`, with none of the
|
|
365
|
-
* router/
|
|
366
|
-
*
|
|
365
|
+
* router/auth machinery the full system scaffold needs. `QueryClientProvider`
|
|
366
|
+
* is still required, though: `XerticaProvider` mounts `LanguageProvider`
|
|
367
|
+
* internally, which calls `useQueryClient()` to invalidate translated queries
|
|
368
|
+
* on language change — without a provider above it, the app throws "No
|
|
369
|
+
* QueryClient set" at render time.
|
|
367
370
|
*/
|
|
368
371
|
export function generateLandingAppTsx(
|
|
369
372
|
selectedCodes: string[],
|
|
370
373
|
disableDarkMode: boolean = false
|
|
371
374
|
): string {
|
|
372
|
-
const disableDarkModeProp = disableDarkMode ? `\n
|
|
373
|
-
const availableLanguagesProp = buildAvailableLanguagesProp(selectedCodes, '
|
|
375
|
+
const disableDarkModeProp = disableDarkMode ? `\n disableDarkMode={true}` : '';
|
|
376
|
+
const availableLanguagesProp = buildAvailableLanguagesProp(selectedCodes, ' ');
|
|
374
377
|
|
|
375
378
|
return `import React from 'react';
|
|
379
|
+
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
376
380
|
import { XerticaProvider } from 'xertica-ui/brand';
|
|
377
381
|
import { LandingPage } from '../pages/LandingPage';
|
|
378
382
|
|
|
383
|
+
const queryClient = new QueryClient();
|
|
384
|
+
|
|
379
385
|
export default function App() {
|
|
380
386
|
return (
|
|
381
|
-
<
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
387
|
+
<QueryClientProvider client={queryClient}>
|
|
388
|
+
<XerticaProvider
|
|
389
|
+
useCustomTokens={true}${availableLanguagesProp}${disableDarkModeProp}
|
|
390
|
+
>
|
|
391
|
+
<LandingPage />
|
|
392
|
+
</XerticaProvider>
|
|
393
|
+
</QueryClientProvider>
|
|
386
394
|
);
|
|
387
395
|
}
|
|
388
396
|
`;
|
package/dist/cli.js
CHANGED
|
@@ -901,19 +901,24 @@ export default function App() {
|
|
|
901
901
|
}
|
|
902
902
|
function generateLandingAppTsx(selectedCodes, disableDarkMode = false) {
|
|
903
903
|
const disableDarkModeProp = disableDarkMode ? `
|
|
904
|
-
|
|
905
|
-
const availableLanguagesProp = buildAvailableLanguagesProp(selectedCodes, "
|
|
904
|
+
disableDarkMode={true}` : "";
|
|
905
|
+
const availableLanguagesProp = buildAvailableLanguagesProp(selectedCodes, " ");
|
|
906
906
|
return `import React from 'react';
|
|
907
|
+
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
907
908
|
import { XerticaProvider } from 'xertica-ui/brand';
|
|
908
909
|
import { LandingPage } from '../pages/LandingPage';
|
|
909
910
|
|
|
911
|
+
const queryClient = new QueryClient();
|
|
912
|
+
|
|
910
913
|
export default function App() {
|
|
911
914
|
return (
|
|
912
|
-
<
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
915
|
+
<QueryClientProvider client={queryClient}>
|
|
916
|
+
<XerticaProvider
|
|
917
|
+
useCustomTokens={true}${availableLanguagesProp}${disableDarkModeProp}
|
|
918
|
+
>
|
|
919
|
+
<LandingPage />
|
|
920
|
+
</XerticaProvider>
|
|
921
|
+
</QueryClientProvider>
|
|
917
922
|
);
|
|
918
923
|
}
|
|
919
924
|
`;
|
package/package.json
CHANGED