@intelex-ia/sdk 0.6.1 → 0.7.0
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 +406 -310
- package/dist/client.d.ts +25 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +31 -2
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/react.d.ts +244 -21
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +393 -21
- package/dist/react.js.map +1 -1
- package/dist/types.d.ts +45 -21
- package/dist/types.d.ts.map +1 -1
- package/package.json +64 -64
package/dist/react.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* A camada de inteligência, venha aninhada (o que a Content API manda em
|
|
4
|
+
* `full`) ou na raiz (payload antigo). UMA regra, usada pelos três
|
|
5
|
+
* consumidores do SDK, porque três leituras diferentes foi o que deixou o
|
|
6
|
+
* `autoriaDoArtigo` certo e os outros dois quebrados por meses.
|
|
7
|
+
*/
|
|
8
|
+
export function inteligenciaDoArtigo(article) {
|
|
9
|
+
return article.intelligence ?? article;
|
|
10
|
+
}
|
|
2
11
|
/**
|
|
3
12
|
* Renderiza um `<script type="application/ld+json">` com o schema JSON-LD do
|
|
4
13
|
* artigo. Pode ser colocado em qualquer lugar do `<body>` — o Google lê tanto
|
|
@@ -10,23 +19,19 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
10
19
|
*
|
|
11
20
|
* @example
|
|
12
21
|
* // app/blog/[slug]/page.tsx
|
|
13
|
-
* import { ArticleJsonLd } from "@intelex-ia/sdk/react";
|
|
22
|
+
* import { ArticleJsonLd, ArticleBody } from "@intelex-ia/sdk/react";
|
|
14
23
|
* export default async function Page({ params }) {
|
|
15
24
|
* const { article } = await client.getArticleBySlug(params.slug);
|
|
16
25
|
* return (
|
|
17
26
|
* <>
|
|
18
27
|
* <ArticleJsonLd article={article} />
|
|
19
|
-
* <article
|
|
28
|
+
* <ArticleBody article={article} />
|
|
20
29
|
* </>
|
|
21
30
|
* );
|
|
22
31
|
* }
|
|
23
32
|
*/
|
|
24
33
|
export function ArticleJsonLd({ article, }) {
|
|
25
|
-
|
|
26
|
-
// a raiz, este componente devolvia null em TODO artigo real e o site ia ao ar
|
|
27
|
-
// sem dados estruturados — sem erro nenhum, porque "sem schema" é uma saída
|
|
28
|
-
// legítima (site cancelado). Mesma correção que `autoriaDoArtigo` já tinha.
|
|
29
|
-
const schema = article.intelligence?.schemaJson ?? article.schemaJson;
|
|
34
|
+
const schema = inteligenciaDoArtigo(article).schemaJson;
|
|
30
35
|
if (!schema)
|
|
31
36
|
return null;
|
|
32
37
|
return (_jsx("script", { type: "application/ld+json",
|
|
@@ -52,18 +57,20 @@ export function ArticleJsonLd({ article, }) {
|
|
|
52
57
|
* painel) entram em `other` como `name=value` ou `property=value`.
|
|
53
58
|
*/
|
|
54
59
|
export function articleToMetadata(article) {
|
|
55
|
-
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const
|
|
60
|
+
const intel = inteligenciaDoArtigo(article);
|
|
61
|
+
// 🚨 `metaTitle` NÃO passa pela guarda de acento e de capitalização que o
|
|
62
|
+
// `title` tem (e que hoje cobre 2 dos pontos de escrita). Ler o campo certo
|
|
63
|
+
// é correção, e a guarda do `metaTitle` é trabalho à parte, no lado de quem
|
|
64
|
+
// GRAVA: é ele quem vira o `<title>` da página e a base do slug.
|
|
65
|
+
const title = intel.metaTitle ?? article.title ?? undefined;
|
|
66
|
+
const description = intel.metaDescription ?? undefined;
|
|
61
67
|
const image = article.featuredImageUrl ?? undefined;
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
68
|
+
const keywords = [
|
|
69
|
+
...(intel.keyword ? [intel.keyword] : []),
|
|
70
|
+
...(intel.keywordSynonyms ?? []),
|
|
71
|
+
].filter(Boolean);
|
|
65
72
|
const other = {};
|
|
66
|
-
for (const tag of
|
|
73
|
+
for (const tag of intel.customMetaTags ?? []) {
|
|
67
74
|
if (tag?.content == null)
|
|
68
75
|
continue;
|
|
69
76
|
if (tag.property)
|
|
@@ -119,7 +126,7 @@ const texto = (v) => typeof v === "string" && v.trim() ? v.trim() : null;
|
|
|
119
126
|
* que esta função existe para impedir.
|
|
120
127
|
*/
|
|
121
128
|
export function autoriaDoArtigo(article, opts) {
|
|
122
|
-
const schema = article.
|
|
129
|
+
const schema = inteligenciaDoArtigo(article).schemaJson;
|
|
123
130
|
const nos = [];
|
|
124
131
|
if (ehNo(schema)) {
|
|
125
132
|
const grafo = schema["@graph"];
|
|
@@ -194,12 +201,27 @@ function linhaDeRevisao(a, empresa) {
|
|
|
194
201
|
: `Revisado pela equipe ${empresa?.trim() || a.autor.replace(/^Equipe Editorial\s*/, "") || "editorial"}`;
|
|
195
202
|
return `${quem} · ${SELO_IA}`;
|
|
196
203
|
}
|
|
197
|
-
/**
|
|
204
|
+
/**
|
|
205
|
+
* "21/10/2026" no fuso de Brasília. Vazio quando a data não presta.
|
|
206
|
+
*
|
|
207
|
+
* O fuso é FIXO de propósito. A Content API entrega `publishedAt` em ISO UTC e
|
|
208
|
+
* estes componentes rodam no servidor: `toLocaleDateString` sem `timeZone`
|
|
209
|
+
* formata no fuso do RUNTIME, então em container UTC um artigo publicado às
|
|
210
|
+
* 20:30 de Brasília aparecia com a data do dia seguinte para todo leitor. E
|
|
211
|
+
* dentro de árvore marcada com "use client" o servidor escreveria um dia e o
|
|
212
|
+
* cliente outro, que é mismatch de hidratação.
|
|
213
|
+
*
|
|
214
|
+
* Brasília e não o fuso do leitor porque a data é editorial, do cliente: todo
|
|
215
|
+
* site da carteira publica no Brasil, e a mesma data precisa valer no schema,
|
|
216
|
+
* na assinatura e na tela.
|
|
217
|
+
*/
|
|
198
218
|
function dataPtBr(iso) {
|
|
199
219
|
if (!iso)
|
|
200
220
|
return "";
|
|
201
221
|
const d = new Date(iso);
|
|
202
|
-
|
|
222
|
+
if (Number.isNaN(d.getTime()))
|
|
223
|
+
return "";
|
|
224
|
+
return new Intl.DateTimeFormat("pt-BR", { timeZone: "America/Sao_Paulo" }).format(d);
|
|
203
225
|
}
|
|
204
226
|
/** ~200 palavras por minuto, o mesmo arredondamento do resto do grupo. */
|
|
205
227
|
function tempoDeLeitura(words) {
|
|
@@ -326,7 +348,11 @@ export function corpoDoArtigo(article) {
|
|
|
326
348
|
const html = faqEmAcordeao(semAssinatura);
|
|
327
349
|
// `<div class="authority-signature" …>` até o `</div>` que o fecha, contando
|
|
328
350
|
// os aninhados — o bloco tem divs dentro (avatar, textos).
|
|
329
|
-
|
|
351
|
+
// Aspas simples contam: quem escolhe a aspa neste caminho é o modelo. A saída
|
|
352
|
+
// crua do Gemini é gravada em `articles.contentHtml` sem normalizar, e daqui
|
|
353
|
+
// até o SDK (Content API e `plain-serializer`) é regex, sem parser de HTML.
|
|
354
|
+
// Os cinco detectores irmãos do repositório já aceitam as duas.
|
|
355
|
+
const abre = /<div[^>]*class=["'][^"']*authority-signature[^"']*["'][^>]*>/i;
|
|
330
356
|
const m = abre.exec(html);
|
|
331
357
|
if (!m)
|
|
332
358
|
return html;
|
|
@@ -344,4 +370,350 @@ export function corpoDoArtigo(article) {
|
|
|
344
370
|
// seria pior que remover.
|
|
345
371
|
return html.slice(0, m.index).trim();
|
|
346
372
|
}
|
|
373
|
+
/** Classe do contêiner que rola, posta por `envolverTabelas`. */
|
|
374
|
+
export const CLASSE_TABELA_ROLANTE = "tabela-rolante";
|
|
375
|
+
/**
|
|
376
|
+
* Embrulha cada `<table>` num contêiner que rola de lado.
|
|
377
|
+
*
|
|
378
|
+
* Por que existe, com os números: o navegador IGNORA `overflow-x` em caixa de
|
|
379
|
+
* tabela, então uma tabela com `display:table` e muitas colunas estoura a
|
|
380
|
+
* coluna de leitura e faz a PÁGINA INTEIRA rolar de lado. Medido a 375px, com
|
|
381
|
+
* uma tabela de 8 colunas: `scrollWidth` 494 contra `clientWidth` 375.
|
|
382
|
+
*
|
|
383
|
+
* A saída anterior era `display:block` na própria tabela, que prende a rolagem
|
|
384
|
+
* ali dentro. Funciona para a tabela larga e cobra da estreita: com
|
|
385
|
+
* `display:block` a tabela deixa de gerar caixa de tabela, o navegador cria
|
|
386
|
+
* uma ANÔNIMA dimensionada pelo conteúdo, e a tabela de duas colunas sai
|
|
387
|
+
* encolhida e encostada na esquerda (`<th>` a 55px dentro de um bloco de
|
|
388
|
+
* 800px) em vez de ocupar a coluna.
|
|
389
|
+
*
|
|
390
|
+
* Com o contêiner, as duas ficam certas: a rolagem é dele, e a tabela volta a
|
|
391
|
+
* `display:table` com `width:100%`.
|
|
392
|
+
*
|
|
393
|
+
* Idempotente: tabela já embrulhada passa intacta. Só embrulha quando a folha
|
|
394
|
+
* vai junto (`comFolha`), porque é ela que traz a regra do contêiner. Com
|
|
395
|
+
* `comFolha={false}` o site veste por conta, e um div novo no meio do corpo
|
|
396
|
+
* quebraria seletor de filho direto (`.artigo > table`) que ele já tenha.
|
|
397
|
+
*/
|
|
398
|
+
export function envolverTabelas(html) {
|
|
399
|
+
if (!html || !/<table\b/i.test(html))
|
|
400
|
+
return html;
|
|
401
|
+
const tag = /<\/?table\b[^>]*>/gi;
|
|
402
|
+
let saida = "";
|
|
403
|
+
let cursor = 0;
|
|
404
|
+
let inicio = -1;
|
|
405
|
+
let nivel = 0;
|
|
406
|
+
let t;
|
|
407
|
+
while ((t = tag.exec(html)) !== null) {
|
|
408
|
+
if (t[0].startsWith("</")) {
|
|
409
|
+
if (nivel === 0)
|
|
410
|
+
continue; // fechamento órfão: HTML que não entendemos
|
|
411
|
+
if (--nivel > 0)
|
|
412
|
+
continue;
|
|
413
|
+
const fim = t.index + t[0].length;
|
|
414
|
+
const antes = html.slice(cursor, inicio);
|
|
415
|
+
// Já embrulhada? O div de abertura vem imediatamente antes.
|
|
416
|
+
const jaTem = /class\s*=\s*["'][^"']*\btabela-rolante\b[^"']*["'][^>]*>\s*$/i.test(antes);
|
|
417
|
+
saida += antes;
|
|
418
|
+
saida += jaTem
|
|
419
|
+
? html.slice(inicio, fim)
|
|
420
|
+
: `<div class="${CLASSE_TABELA_ROLANTE}">${html.slice(inicio, fim)}</div>`;
|
|
421
|
+
cursor = fim;
|
|
422
|
+
continue;
|
|
423
|
+
}
|
|
424
|
+
if (t[0].endsWith("/>"))
|
|
425
|
+
continue;
|
|
426
|
+
if (nivel++ === 0)
|
|
427
|
+
inicio = t.index;
|
|
428
|
+
}
|
|
429
|
+
// Tabela sem fechamento: devolve o resto como está, sem inventar div.
|
|
430
|
+
return saida + html.slice(cursor);
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* A folha que devolve ao corpo do artigo o que o preflight do Tailwind tira.
|
|
434
|
+
*
|
|
435
|
+
* ── POR QUE O SDK PASSA A TRAZER CSS, SENDO QUE ELE NÃO TRAZIA ───────────
|
|
436
|
+
*
|
|
437
|
+
* A regra "o SDK não traz CSS, as classes são ganchos para o site vestir" está
|
|
438
|
+
* certa para a BARRA e para a ASSINATURA: elas são cromo, e cada site tem o
|
|
439
|
+
* seu. Para o CORPO ela não serve, e o preço disso já foi medido.
|
|
440
|
+
*
|
|
441
|
+
* O `contentHtml` chega como HTML semântico PELADO: `<h2>`, `<ul>`, `<table>`,
|
|
442
|
+
* sem classe. No WordPress funciona, porque o tema veste por tag. Num site
|
|
443
|
+
* Tailwind não: o `@tailwind base` já zerou `list-style`, zerou tamanho e peso
|
|
444
|
+
* dos seis títulos e deixou a tabela sem borda. Injetar isso numa div sem
|
|
445
|
+
* folha não dá "sem estilo", dá PIOR que sem estilo: título do tamanho do
|
|
446
|
+
* texto, lista sem marcador, tabela invisível.
|
|
447
|
+
*
|
|
448
|
+
* Foi o que quebrou o blog da Parceria por semanas, com o wrapper
|
|
449
|
+
* `prose prose-slate article-content`: o `prose` sem o `@tailwindcss/typography`
|
|
450
|
+
* instalado e o `article-content` sem uma regra sequer. E a varredura de
|
|
451
|
+
* 21/10/2026 achou o mesmo buraco na vitrine de onde os sites são clonados.
|
|
452
|
+
*
|
|
453
|
+
* Enquanto vestir o corpo depender de alguém lembrar, alguém vai esquecer.
|
|
454
|
+
*
|
|
455
|
+
* ── A ESPECIFICIDADE É O CONTRATO, E ELA NÃO É UNIFORME ─────────────────
|
|
456
|
+
*
|
|
457
|
+
* A folha tem dois tetos, e a diferença entre eles é a diferença entre
|
|
458
|
+
* funcionar e fingir que funciona.
|
|
459
|
+
*
|
|
460
|
+
* O preflight do Tailwind zera as coisas com SELETOR DE TIPO: `h1..h6
|
|
461
|
+
* {font-size:inherit;font-weight:inherit}`, `ol,ul,menu{list-style:none;
|
|
462
|
+
* margin:0;padding:0}`, `blockquote,…,p,pre{margin:0}`, `a{color:inherit;
|
|
463
|
+
* text-decoration:inherit}`, `hr{height:0;border-top-width:1px}`. Tudo isso
|
|
464
|
+
* vale 0,0,1, e está igual no 3.4 e no 4.x (conferido nos dois preflights em
|
|
465
|
+
* disco). Regra 0,0,0 PERDE de 0,0,1 em qualquer ordem: vir depois no
|
|
466
|
+
* documento só desempata quando a especificidade é a MESMA. Uma folha inteira
|
|
467
|
+
* dentro de `:where()` não devolve nenhum desses cinco: devolve só a borda da
|
|
468
|
+
* tabela, que o preflight tira pelo `*`.
|
|
469
|
+
*
|
|
470
|
+
* Então: onde a regra DISPUTA com o preflight, o elemento sai do `:where()` e
|
|
471
|
+
* entra num `:is()`, que carrega a especificidade do argumento mais específico
|
|
472
|
+
* e deixa a regra em 0,0,1. Empata com o reset, ganha pela ordem, e continua
|
|
473
|
+
* perdendo de qualquer regra do site escrita por classe (0,1,1). Onde o
|
|
474
|
+
* preflight não encosta, caso da tabela, do código, da imagem e dos nossos
|
|
475
|
+
* blocos, fica 0,0,0 e qualquer coisa do site ganha.
|
|
476
|
+
*
|
|
477
|
+
* O teto é 0,0,1, e é teste, não comentário: `corpo-do-artigo.test.ts` calcula
|
|
478
|
+
* a especificidade de cada seletor e reprova id, classe solta e atributo.
|
|
479
|
+
*
|
|
480
|
+
* ── O `<style>` FICA NO CORPO DE PROPÓSITO ──────────────────────────────
|
|
481
|
+
*
|
|
482
|
+
* Nada de `precedence` para o React 19 içar ao `<head>`: o empate em 0,0,1 com
|
|
483
|
+
* o preflight é decidido pela ORDEM, e ficar no corpo é o que garante vir
|
|
484
|
+
* depois da folha do site. Içado, a posição passa a depender de onde o React
|
|
485
|
+
* insere, e o conserto viraria sorteio.
|
|
486
|
+
*
|
|
487
|
+
* ── O QUE A FOLHA AINDA ATROPELA, DITO SEM RODEIO ───────────────────────
|
|
488
|
+
*
|
|
489
|
+
* Em Tailwind v4 o site emite tudo dentro de `@layer`, e camada é decidida
|
|
490
|
+
* ANTES de especificidade: estilo de autor fora de camada ganha de estilo em
|
|
491
|
+
* camada, por específico que seja. Esta folha é fora de camada. Logo, em site
|
|
492
|
+
* v4 cujo corpo é vestido pelo `@tailwindcss/typography` (o `prose` de
|
|
493
|
+
* verdade, instalado) ou por utilitário no wrapper, ela ganha de quem fez
|
|
494
|
+
* certo. A saída é `comFolha={false}`, e é o único caso conhecido.
|
|
495
|
+
*
|
|
496
|
+
* Emitir dentro de `@layer base` consertaria o v4 e QUEBRARIA o v3, onde não
|
|
497
|
+
* há camada nenhuma e regra em camada perde de toda regra fora dela, o
|
|
498
|
+
* preflight incluído. Entre as duas, a folha serve o caso que está quebrado.
|
|
499
|
+
*
|
|
500
|
+
* Nenhuma cor nossa e nenhuma fonte nossa, e nenhum tamanho de corpo: nada
|
|
501
|
+
* disso o preflight tira, e tamanho de texto é escolha da marca. O que não
|
|
502
|
+
* herda sai em variável para o site discordar sem tocar aqui.
|
|
503
|
+
*
|
|
504
|
+
* RECONCILIADA com a folha que está no ar nos 20 sites (medida em 23/10/2026
|
|
505
|
+
* no CSS compilado), que era melhor em três coisas e agora estão aqui:
|
|
506
|
+
*
|
|
507
|
+
* - LÊ o token da marca do site: `--primary`, `--accent` e `--border`, cada
|
|
508
|
+
* um com queda para o que a folha fazia antes (`inherit`, `currentColor`).
|
|
509
|
+
* Site que declara o token como trio de HSL (o jeito do shadcn) cai na
|
|
510
|
+
* queda e fica igual a antes, nunca pior: medido nos três casos;
|
|
511
|
+
* - fonte de título pela variável `--ia-fonte-titulo`, que por padrão herda;
|
|
512
|
+
* - FAQ em acordeão: marcador do navegador escondido, triângulo próprio e
|
|
513
|
+
* giro no estado aberto.
|
|
514
|
+
*
|
|
515
|
+
* 🚨 Variável NUNCA dentro de atalho. `border:1px solid var(--ia-cor-borda)`
|
|
516
|
+
* num site de token em trio de HSL derruba o atalho INTEIRO, e a borda da
|
|
517
|
+
* tabela foi a 0px, pior do que sem token. Em longhand só a cor cai, e cai em
|
|
518
|
+
* `currentColor`. Medido em 26/10/2026, e tem teste.
|
|
519
|
+
*
|
|
520
|
+
* Três coisas da folha do ar ficaram FORA, de propósito:
|
|
521
|
+
*
|
|
522
|
+
* - `.ia-pagina`, a casca da página: o `<ArticleBody>` nunca a renderiza,
|
|
523
|
+
* então seria CSS morto embarcado em todo site. Quem quiser leva por
|
|
524
|
+
* `folhaParaSite()`, na folha do próprio site;
|
|
525
|
+
* - `font-size` no wrapper: o preflight não tira tamanho de div, e tamanho
|
|
526
|
+
* de corpo é escolha da marca (tem teste);
|
|
527
|
+
* - zerar margem do primeiro e do último filho: `:first-child` vale 0,1,0
|
|
528
|
+
* por especificação, e não cabe no teto de 0,0,1 desta folha. A do ar
|
|
529
|
+
* pode, porque é CSS do próprio site e vive em 0,1,1.
|
|
530
|
+
*/
|
|
531
|
+
/** O gancho que a folha veste e que o `<ArticleBody>` põe na div. Um literal só. */
|
|
532
|
+
export const CLASSE_DO_CORPO = "ia-artigo";
|
|
533
|
+
/** Prefixo de toda regra: 0,0,0, para o escopo não somar especificidade. */
|
|
534
|
+
const C = `:where(.${CLASSE_DO_CORPO})`;
|
|
535
|
+
export const CSS_CORPO_DO_ARTIGO = `
|
|
536
|
+
${C}{--ia-cor-titulo:var(--primary,inherit);--ia-cor-destaque:var(--accent,currentColor);--ia-cor-borda:var(--border,currentColor);--ia-cor-superficie:transparent;--ia-fonte-titulo:inherit;line-height:1.75}
|
|
537
|
+
${C} :is(h2,h3,h4,h5,h6){font-family:var(--ia-fonte-titulo);color:var(--ia-cor-titulo);font-weight:700;line-height:1.25;text-wrap:balance}
|
|
538
|
+
${C} :is(h2){font-size:clamp(1.5rem,1.2rem + 1.2vw,1.875rem);margin:2.75rem 0 1rem}
|
|
539
|
+
${C} :is(h3){font-size:clamp(1.25rem,1.1rem + 0.6vw,1.375rem);margin:2rem 0 .75rem}
|
|
540
|
+
${C} :is(h4){font-size:1.125rem;margin:1.5rem 0 .5rem}
|
|
541
|
+
${C} :is(h5,h6){font-size:1rem;margin:1.25rem 0 .5rem}
|
|
542
|
+
${C} :where(h2[id],h3[id],h4[id]){scroll-margin-top:6rem}
|
|
543
|
+
${C} :is(p){margin:0 0 1.125rem}
|
|
544
|
+
${C} :where(strong,b){font-weight:700}
|
|
545
|
+
${C} :where(em,i){font-style:italic}
|
|
546
|
+
${C} :is(ul){list-style:disc outside;margin:0 0 1.125rem;padding:0 0 0 1.5rem}
|
|
547
|
+
${C} :is(ol){list-style:decimal outside;margin:0 0 1.125rem;padding:0 0 0 1.5rem}
|
|
548
|
+
${C} :where(li){margin:0 0 .5rem}
|
|
549
|
+
${C} :where(li) > :is(ul,ol){margin:.5rem 0 0}
|
|
550
|
+
${C} :is(a){color:var(--ia-cor-destaque);text-decoration:underline;text-underline-offset:2px}
|
|
551
|
+
${C} :where(table){border-collapse:collapse;margin:0 0 1.5rem;font-size:.9375rem;display:block;overflow-x:auto}
|
|
552
|
+
${C} :where(.tabela-rolante){overflow-x:auto;margin:0 0 1.5rem;max-width:100%}
|
|
553
|
+
${C} :where(.tabela-rolante) > :where(table){display:table;width:100%;margin:0}
|
|
554
|
+
${C} :where(th,td){border-width:1px;border-style:solid;border-color:var(--ia-cor-borda);padding:.625rem .75rem;text-align:left;vertical-align:top}
|
|
555
|
+
${C} :where(th){font-weight:600;background-color:var(--ia-cor-superficie)}
|
|
556
|
+
${C} :is(blockquote){border-left-width:4px;border-left-style:solid;border-left-color:var(--ia-cor-destaque);margin:0 0 1.5rem;padding:.75rem 1.25rem;font-style:italic}
|
|
557
|
+
${C} :is(hr){border:0;border-top-width:1px;border-top-style:solid;border-top-color:var(--ia-cor-borda);margin:2rem 0}
|
|
558
|
+
${C} :where(img){max-width:100%;height:auto;border-radius:.75rem;margin:1.5rem 0}
|
|
559
|
+
${C} :is(figure){margin:1.5rem 0}
|
|
560
|
+
${C} :where(figcaption){font-size:.875rem;opacity:.75;margin-top:.5rem}
|
|
561
|
+
${C} :is(code){font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em;background-color:var(--ia-cor-superficie);border-width:1px;border-style:solid;border-color:var(--ia-cor-borda);border-radius:.25rem;padding:.1em .35em}
|
|
562
|
+
${C} :is(pre){background-color:var(--ia-cor-superficie);border-width:1px;border-style:solid;border-color:var(--ia-cor-borda);border-radius:.5rem;padding:1rem;overflow-x:auto;margin:0 0 1.5rem}
|
|
563
|
+
${C} :where(pre) :is(code){background:none;border:0;padding:0}
|
|
564
|
+
${C} :where(details){border-width:1px;border-style:solid;border-color:var(--ia-cor-borda);border-radius:.5rem;padding:.75rem 1.125rem;margin:0 0 .625rem}
|
|
565
|
+
${C} :where(details) + :where(details){margin-top:.5rem}
|
|
566
|
+
${C} :where(summary){cursor:pointer;font-weight:600;color:var(--ia-cor-titulo);list-style:none;display:flex;gap:.625rem;align-items:baseline}
|
|
567
|
+
${C} :where(summary)::-webkit-details-marker{display:none}
|
|
568
|
+
${C} :where(summary)::before{content:"";flex:0 0 auto;width:0;height:0;border-left:.375rem solid;border-top:.3125rem solid transparent;border-bottom:.3125rem solid transparent;transition:transform .15s ease;transform-origin:.2em 50%}
|
|
569
|
+
${C} :where(details[open]) > :where(summary)::before{transform:rotate(90deg)}
|
|
570
|
+
${C} :where(details) :is(p){margin:.75rem 0 0}
|
|
571
|
+
${C} :where(.bloco){border-radius:12px;padding:18px 22px;margin:0 0 24px}
|
|
572
|
+
${C} :where(.bloco-dica){background:#EEF4FF;border:1px solid #C9D8F7;color:#1E293B}
|
|
573
|
+
${C} :where(.bloco-atencao){background:#FFF4E5;border:1px solid #F5D9A8;color:#4A3209}
|
|
574
|
+
${C} :where(.cta-banner,.cta-image-banner){margin:2.5rem 0;border-radius:.625rem;overflow:hidden}
|
|
575
|
+
${C} :where(.cta-image-banner) :is(a){display:block;line-height:0;text-decoration:none}
|
|
576
|
+
${C} :where(.cta-image-banner) :where(img){display:block;width:100%;height:auto;margin:0;border-radius:0}
|
|
577
|
+
${C} :where(.cta-banner) :is(a){text-decoration:none}
|
|
578
|
+
@media (max-width:640px){${C} :where(table){font-size:.875rem}}
|
|
579
|
+
`.trim();
|
|
580
|
+
/** Fecha o parêntese aberto em `i`, contando os aninhados. */
|
|
581
|
+
function fechaParenteses(s, i) {
|
|
582
|
+
let nivel = 0;
|
|
583
|
+
for (let j = i; j < s.length; j++) {
|
|
584
|
+
if (s[j] === "(")
|
|
585
|
+
nivel++;
|
|
586
|
+
else if (s[j] === ")" && --nivel === 0)
|
|
587
|
+
return j;
|
|
588
|
+
}
|
|
589
|
+
return -1;
|
|
590
|
+
}
|
|
591
|
+
/** Separa por vírgula de TOPO, ignorando vírgula dentro de parêntese. */
|
|
592
|
+
function porVirgulaDeTopo(s) {
|
|
593
|
+
const partes = [];
|
|
594
|
+
let nivel = 0;
|
|
595
|
+
let atual = "";
|
|
596
|
+
for (const ch of s) {
|
|
597
|
+
if (ch === "(")
|
|
598
|
+
nivel++;
|
|
599
|
+
else if (ch === ")")
|
|
600
|
+
nivel--;
|
|
601
|
+
if (ch === "," && nivel === 0) {
|
|
602
|
+
partes.push(atual);
|
|
603
|
+
atual = "";
|
|
604
|
+
}
|
|
605
|
+
else
|
|
606
|
+
atual += ch;
|
|
607
|
+
}
|
|
608
|
+
partes.push(atual);
|
|
609
|
+
return partes.map((p) => p.trim()).filter(Boolean);
|
|
610
|
+
}
|
|
611
|
+
/**
|
|
612
|
+
* Expande `:is(a,b)` e `:where(a,b)` no produto cartesiano do seletor.
|
|
613
|
+
*
|
|
614
|
+
* Tem que ser produto, não split de vírgula: `li > :is(ul,ol)` vale
|
|
615
|
+
* "lista dentro de item", e virou `li > ul, ol` numa primeira versão, ou seja
|
|
616
|
+
* um `ol` SOLTO que tirava a margem de baixo de toda lista numerada do artigo.
|
|
617
|
+
*/
|
|
618
|
+
function expandirListas(sel) {
|
|
619
|
+
const m = /:(?:is|where)\(/i.exec(sel);
|
|
620
|
+
if (!m)
|
|
621
|
+
return [sel.trim()];
|
|
622
|
+
const abre = m.index + m[0].length - 1;
|
|
623
|
+
const fim = fechaParenteses(sel, abre);
|
|
624
|
+
if (fim === -1)
|
|
625
|
+
return [sel.trim()];
|
|
626
|
+
const antes = sel.slice(0, m.index);
|
|
627
|
+
const depois = sel.slice(fim + 1);
|
|
628
|
+
return porVirgulaDeTopo(sel.slice(abre + 1, fim)).flatMap((p) => expandirListas(antes + p + depois));
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* A mesma folha, reescrita para o CSS do PRÓPRIO site, numa classe dele.
|
|
632
|
+
*
|
|
633
|
+
* Para que serve: o site cliente pinado numa versão antiga do SDK não tem o
|
|
634
|
+
* `<ArticleBody>`, e esperar a publicação deixaria o artigo no ar quebrado. Com
|
|
635
|
+
* isto, a folha vai para o CSS do site agora, gerada da MESMA fonte, em vez de
|
|
636
|
+
* alguém reescrever as trinta e cinco regras à mão em cada repositório.
|
|
637
|
+
*
|
|
638
|
+
* O seletor sai por CLASSE, 0,1,1, então ganha do reset de tipo em qualquer
|
|
639
|
+
* versão do Tailwind, com ou sem camada. E quando o site migrar para o
|
|
640
|
+
* `<ArticleBody>`, nada conflita: 0,1,1 continua ganhando do 0,0,1 do SDK.
|
|
641
|
+
*
|
|
642
|
+
* @example
|
|
643
|
+
* folhaParaSite([".article-prose"])
|
|
644
|
+
* folhaParaSite([".blog-content", ".article-content"]) // duas classes
|
|
645
|
+
*/
|
|
646
|
+
export function folhaParaSite(classes) {
|
|
647
|
+
const alvos = classes.map((c) => c.trim()).filter(Boolean);
|
|
648
|
+
if (alvos.length === 0)
|
|
649
|
+
throw new Error("folhaParaSite: nenhuma classe");
|
|
650
|
+
const escopo = `:where(.${CLASSE_DO_CORPO})`;
|
|
651
|
+
/** Uma regra de uma linha, com o escopo trocado pelas classes do site. */
|
|
652
|
+
const reescrever = (regra) => {
|
|
653
|
+
const i = regra.indexOf("{");
|
|
654
|
+
if (i === -1)
|
|
655
|
+
return null;
|
|
656
|
+
const sel = regra.slice(0, i).trim();
|
|
657
|
+
const corpo = regra.slice(i);
|
|
658
|
+
if (!sel.startsWith(escopo))
|
|
659
|
+
return null;
|
|
660
|
+
const resto = sel.slice(escopo.length).trim();
|
|
661
|
+
const expandidos = resto ? expandirListas(resto) : [""];
|
|
662
|
+
const finais = alvos.flatMap((a) => expandidos.map((e) => (e ? `${a} ${e}` : a)));
|
|
663
|
+
return `${finais.join(", ")}${corpo}`;
|
|
664
|
+
};
|
|
665
|
+
const linhas = [];
|
|
666
|
+
for (const linha of CSS_CORPO_DO_ARTIGO.split("\n")) {
|
|
667
|
+
// Regra dentro de `@media`: reescreve o que está DENTRO e devolve a
|
|
668
|
+
// envoltória. Sem isto a regra sumia calada, e a folha do site saía com
|
|
669
|
+
// uma regra menos que a do SDK (o teste de paridade é quem pega).
|
|
670
|
+
const media = /^(@media[^{]*\{)(.*)\}$/.exec(linha.trim());
|
|
671
|
+
if (media) {
|
|
672
|
+
const dentro = reescrever(media[2]);
|
|
673
|
+
if (dentro)
|
|
674
|
+
linhas.push(`${media[1]}${dentro}}`);
|
|
675
|
+
continue;
|
|
676
|
+
}
|
|
677
|
+
const reescrita = reescrever(linha);
|
|
678
|
+
if (reescrita)
|
|
679
|
+
linhas.push(reescrita);
|
|
680
|
+
}
|
|
681
|
+
return linhas.join("\n");
|
|
682
|
+
}
|
|
683
|
+
/**
|
|
684
|
+
* O corpo do artigo, vestido.
|
|
685
|
+
*
|
|
686
|
+
* Existe para que vestir o corpo deixe de depender de alguém lembrar. Antes
|
|
687
|
+
* dele o caminho era: o instalador escrevia a folha e AVISAVA, e quem adaptava
|
|
688
|
+
* o blog tinha de importar e pôr a classe. Quem pulasse não via defeito nenhum
|
|
689
|
+
* até o cliente ver a parede de texto.
|
|
690
|
+
*
|
|
691
|
+
* Faz duas coisas que ninguém precisa repetir:
|
|
692
|
+
*
|
|
693
|
+
* 1. tira a assinatura que já vem dentro do `contentHtml` (`corpoDoArtigo`),
|
|
694
|
+
* para ela não sair duas vezes quando a página usa `<AuthorSignature>`;
|
|
695
|
+
* 2. injeta a folha estrutural, escopada no gancho que ele mesmo põe;
|
|
696
|
+
* 3. embrulha cada tabela num contêiner que rola (`envolverTabelas`), porque
|
|
697
|
+
* navegador ignora `overflow-x` em caixa de tabela e sem isso a tabela
|
|
698
|
+
* larga faz a PÁGINA rolar de lado no celular.
|
|
699
|
+
*
|
|
700
|
+
* O gancho e a folha são um par, e o par é fechado AQUI: a div sempre carrega
|
|
701
|
+
* `ia-artigo`, e o que o site passar em `className` entra ao lado. Era o furo
|
|
702
|
+
* da primeira versão, onde `className` SUBSTITUÍA o gancho: o site que
|
|
703
|
+
* passasse o wrapper dele (`prose prose-slate article-content`, que é o valor
|
|
704
|
+
* literal do blog que quebrou) recebia a folha na página e nenhuma regra
|
|
705
|
+
* casando, ou seja o defeito de origem com 3 KB de CSS por cima para fingir
|
|
706
|
+
* que estava resolvido.
|
|
707
|
+
*
|
|
708
|
+
* @example
|
|
709
|
+
* <h1>{article.title}</h1>
|
|
710
|
+
* <AuthorBar article={article} empresa="Acme" />
|
|
711
|
+
* <ArticleBody article={article} />
|
|
712
|
+
* <AuthorSignature article={article} empresa="Acme" />
|
|
713
|
+
*/
|
|
714
|
+
export function ArticleBody({ article, className, comFolha = true, }) {
|
|
715
|
+
return (_jsxs(_Fragment, { children: [comFolha ? _jsx("style", { dangerouslySetInnerHTML: { __html: CSS_CORPO_DO_ARTIGO } }) : null, _jsx("div", { className: [CLASSE_DO_CORPO, className].filter(Boolean).join(" "), dangerouslySetInnerHTML: {
|
|
716
|
+
__html: comFolha ? envolverTabelas(corpoDoArtigo(article)) : corpoDoArtigo(article),
|
|
717
|
+
} })] }));
|
|
718
|
+
}
|
|
347
719
|
//# sourceMappingURL=react.js.map
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":";AAkBA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,GAGR;IACC,8EAA8E;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,CACL,iBACE,IAAI,EAAC,qBAAqB;QAC1B,mEAAmE;QACnE,2CAA2C;QAC3C,uBAAuB,EAAE;YACvB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SAC/B,GACD,CACH,CAAC;AACJ,CAAC;AA0CD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA6B;IAE7B,4EAA4E;IAC5E,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IAC/E,MAAM,WAAW,GAAG,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,IAAI,SAAS,CAAC;IAChF,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,IAAI,SAAS,CAAC;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;IACvE,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE/E,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QACrE,IAAI,GAAG,EAAE,OAAO,IAAI,IAAI;YAAE,SAAS;QACnC,IAAI,GAAG,CAAC,QAAQ;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;aAC/C,IAAI,GAAG,CAAC,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IACnD,CAAC;IAED,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,SAAS,EAAE;YACT,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C;QACD,OAAO,EAAE;YACP,IAAI,EAAE,qBAAqB;YAC3B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAKD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,8BAA8B,CAAC;AAatD,MAAM,IAAI,GAAG,CAAC,CAAU,EAAgC,EAAE,CACxD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3D,MAAM,KAAK,GAAG,CAAC,CAAU,EAAiB,EAAE,CAC1C,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAEtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA+F,EAC/F,IAA2B;IAE3B,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IACtE,MAAM,GAAG,GAA8B,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;;YACrD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,oEAAoE;IACpE,oEAAoE;IACpE,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;YACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,UAAU,GAAkB,IAAI,CAAC;IAErC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU;YAAE,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;QAE7D,mDAAmD;QACnD,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;QACpB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,cAAc;YAAE,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAE1F,0EAA0E;QAC1E,yEAAyE;QACzE,mDAAmD;QACnD,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;YACvC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,IAAI,IAAI,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACjF,OAAO;QACP,UAAU;QACV,WAAW,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,EAA2B;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,IAAI,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACtD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,wDAAwD;AACxD,SAAS,cAAc,CAAC,CAAkB,EAAE,OAAgB;IAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO;QACpB,CAAC,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE;QAC7B,CAAC,CAAC,wBAAwB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;IAC5G,OAAO,GAAG,IAAI,MAAM,OAAO,EAAE,CAAC;AAChC,CAAC;AAcD,uEAAuE;AACvE,SAAS,QAAQ,CAAC,GAA8B;IAC9C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,0EAA0E;AAC1E,SAAS,cAAc,CAAC,KAAgC;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC;QAC3C,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,iBAAiB;QAC1D,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,OAAO,EACP,OAAO,EACP,SAAS,GAAG,UAAU,GACP;IACf,MAAM,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACxE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,aACvB,qCAAa,CAAC,CAAC,KAAK,IAAU,EAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAM,SAAS,EAAE,GAAG,SAAS,UAAU,+BAAY,CAAC,CAAC,OAAO,IAAQ,CAAC,CAAC,CAAC,IAAI,EACvF,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAE,GAAG,SAAS,OAAO,YAAG,IAAI,GAAQ,CAAC,CAAC,CAAC,IAAI,IAC9D,CACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,EACP,OAAO,EACP,SAAS,GAAG,eAAe,EAC3B,SAAS,EACT,UAAU,GACK;IACf,MAAM,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,yEAAyE;IACzE,wEAAwE;IACxE,sCAAsC;IACtC,OAAO,CACL,8BACE,mBAAS,SAAS,EAAE,GAAG,SAAS,IAAI,SAAS,SAAS,gBAAa,eAAe,aAChF,aAAG,SAAS,EAAE,GAAG,SAAS,OAAO,6BAAe,CAAC,CAAC,KAAK,IAAK,EAC3D,SAAS,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,GAAG,SAAS,MAAM,YAAG,SAAS,GAAK,CAAC,CAAC,CAAC,IAAI,IAC7D,EACV,mBAAS,SAAS,EAAE,GAAG,SAAS,IAAI,SAAS,UAAU,gBAAa,cAAc,aAC/E,WAAW,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,GAAG,SAAS,OAAO,YAAG,WAAW,GAAK,CAAC,CAAC,CAAC,IAAI,EAC1E,YAAG,SAAS,EAAE,GAAG,SAAS,QAAQ,YAAG,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,GAAK,EACnE,UAAU,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,GAAG,SAAS,MAAM,YAAG,UAAU,GAAK,CAAC,CAAC,CAAC,IAAI,IAC/D,IACT,CACJ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,GACV,oFAAoF,CAAC;AAEvF,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,oDAAoD,CAAC;IACjE,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,SAAS;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CACR,0BAA0B,MAAM,aAAa,QAAQ,aAAa,QAAQ,YAAY,CACvF,CAAC;IACJ,CAAC;IACD,kFAAkF;IAClF,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAwC;IACpE,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,wEAAwE;IACxE,EAAE;IACF,yDAAyD;IACzD,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,+DAA+D;IAC/D,EAAE;IACF,4DAA4D;IAC5D,MAAM,aAAa,GAAG,KAAK;SACxB,OAAO,CAAC,0EAA0E,EAAE,EAAE,CAAC;SACvF,IAAI,EAAE,CAAC;IACV,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAC1C,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,IAAI,GAAG,uDAAuD,CAAC;IACrE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,GAAG,mBAAmB,CAAC;IAChC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9F,CAAC;IACD,2EAA2E;IAC3E,0BAA0B;IAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -34,29 +34,37 @@ export interface ArticleListItem {
|
|
|
34
34
|
metaTitle?: string | null;
|
|
35
35
|
/** Só presente em modo "full". */
|
|
36
36
|
metaDescription?: string | null;
|
|
37
|
+
/** Autoria no padrão SSO. Só em artigo de site com estrutura v1. */
|
|
38
|
+
autoria?: Autoria | null;
|
|
37
39
|
}
|
|
38
40
|
/**
|
|
39
|
-
*
|
|
41
|
+
* Autoria do artigo no padrão de 29/09/2026 ("padrão SSO"), para o site montar
|
|
42
|
+
* a barra do autor sem inventar nada.
|
|
40
43
|
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* `<ArticleJsonLd>` não renderizar NADA e o `articleToMetadata` devolver o
|
|
45
|
-
* artigo sem description — silenciosamente, porque os dois degradam para "sem
|
|
46
|
-
* schema" e "sem meta" em vez de falhar.
|
|
44
|
+
* Quem assina é a equipe editorial do cliente, nunca uma pessoa: texto feito
|
|
45
|
+
* com apoio de IA assinado por alguém é o que os Termos do Google proíbem
|
|
46
|
+
* desde 30/07/2026. O profissional que revisou aparece como REVISOR.
|
|
47
47
|
*
|
|
48
|
-
*
|
|
48
|
+
* Só vem em artigo de site com estrutura v1. `revisor` é `null` antes da
|
|
49
|
+
* revisão humana — e nesse caso o artigo nem publica.
|
|
50
|
+
*
|
|
51
|
+
* 🚨 O SELO NÃO VAI NA BARRA. "Apoio de IA · Revisão humana" fecha a linha do
|
|
52
|
+
* revisor na ASSINATURA, no fim do artigo, e ela já vem dentro do
|
|
53
|
+
* `contentHtml`, montada na aprovação. Repetir no topo duplicaria.
|
|
49
54
|
*/
|
|
50
|
-
export interface
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
export interface Autoria {
|
|
56
|
+
/** "Equipe Editorial <empresa>". `null` se a empresa não tem nome cadastrado. */
|
|
57
|
+
autor: string | null;
|
|
58
|
+
/** O profissional responsável. `null` antes da revisão humana. */
|
|
59
|
+
revisor: {
|
|
60
|
+
nome: string;
|
|
61
|
+
cargo: string | null;
|
|
62
|
+
registro: string | null;
|
|
63
|
+
} | null;
|
|
64
|
+
/** ISO 8601 da revisão humana. */
|
|
65
|
+
revisadoEm: string | null;
|
|
66
|
+
/** Sempre "Apoio de IA · Revisão humana". Já presente no `contentHtml`. */
|
|
67
|
+
selo: string;
|
|
60
68
|
}
|
|
61
69
|
/**
|
|
62
70
|
* Artigo completo (GET /v1/articles/:slug). Tipo unificado — em modo "plain"
|
|
@@ -85,9 +93,8 @@ export interface Article {
|
|
|
85
93
|
tagNames?: string[] | null;
|
|
86
94
|
words?: number | null;
|
|
87
95
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* quebrar quem já os usava.
|
|
96
|
+
* Inteligência (SEO), que no modo `full` vem AQUI, aninhada. É a forma que a
|
|
97
|
+
* Content API manda, e a que o `inteligenciaDoArtigo()` do `/react` lê.
|
|
91
98
|
*/
|
|
92
99
|
intelligence?: ArticleIntelligence | null;
|
|
93
100
|
metaTitle?: string | null;
|
|
@@ -101,6 +108,23 @@ export interface Article {
|
|
|
101
108
|
customMetaTags?: CustomMetaTag[] | null;
|
|
102
109
|
seoScore?: number | null;
|
|
103
110
|
publishedAt?: string | null;
|
|
111
|
+
/** Autoria no padrão SSO. Só em artigo de site com estrutura v1. */
|
|
112
|
+
autoria?: Autoria | null;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* A camada proprietária de SEO do artigo, como a Content API a entrega no modo
|
|
116
|
+
* `full`: aninhada em `article.intelligence`.
|
|
117
|
+
*/
|
|
118
|
+
export interface ArticleIntelligence {
|
|
119
|
+
metaTitle?: string | null;
|
|
120
|
+
metaDescription?: string | null;
|
|
121
|
+
keyword?: string | null;
|
|
122
|
+
keywordSynonyms?: string[] | null;
|
|
123
|
+
additionalKeywords?: string[] | null;
|
|
124
|
+
/** JSON-LD do artigo: objeto com `@graph`, ou array. */
|
|
125
|
+
schemaJson?: unknown | null;
|
|
126
|
+
customMetaTags?: CustomMetaTag[] | null;
|
|
127
|
+
seoScore?: number | null;
|
|
104
128
|
}
|
|
105
129
|
/** Resposta de erro padrão (HTTP 4xx/5xx). */
|
|
106
130
|
export interface ErrorResponse {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpC,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|