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 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
- [![npm version](https://img.shields.io/badge/npm-2.9.7-blue)](https://www.npmjs.com/package/xertica-ui)
5
+ [![npm version](https://img.shields.io/badge/npm-2.9.8-blue)](https://www.npmjs.com/package/xertica-ui)
6
6
  [![license](https://img.shields.io/badge/license-proprietary-red)](./LICENSE)
7
7
 
8
8
  ---
@@ -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/query-client/auth machinery the full system scaffold needs (the
366
- * landing page itself has no dependency on any of it).
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 disableDarkMode={true}` : '';
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
- <XerticaProvider
382
- useCustomTokens={true}${availableLanguagesProp}${disableDarkModeProp}
383
- >
384
- <LandingPage />
385
- </XerticaProvider>
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
- disableDarkMode={true}` : "";
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
- <XerticaProvider
913
- useCustomTokens={true}${availableLanguagesProp}${disableDarkModeProp}
914
- >
915
- <LandingPage />
916
- </XerticaProvider>
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xertica-ui",
3
- "version": "2.9.7",
3
+ "version": "2.9.8",
4
4
  "description": "Xertica UI — Enterprise-grade React design system with Tailwind CSS v4, Radix UI, and AI-first documentation.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs.js",
@@ -93,3 +93,8 @@
93
93
  /* Gradients */
94
94
  --image-gradient-diagonal: var(--gradient-diagonal);
95
95
  }
96
+
97
+ /* Ensure the root element fills the screen height, allowing container-level scrolling */
98
+ #root {
99
+ height: 100%;
100
+ }
@@ -6,6 +6,7 @@
6
6
  "moduleResolution": "bundler",
7
7
  "allowSyntheticDefaultImports": true,
8
8
  "strict": true,
9
+ "skipLibCheck": true,
9
10
  "composite": true
10
11
  },
11
12
  "include": ["vite.config.ts"]