{"_id":"@1doc/1ds-tokens","_rev":"5-af631678435bea278ca7ddcaa88efb00","name":"@1doc/1ds-tokens","dist-tags":{"latest":"0.4.3"},"versions":{"0.0.1":{"name":"@1doc/1ds-tokens","version":"0.0.1","_id":"@1doc/1ds-tokens@0.0.1","maintainers":[{"name":"1doc-tecnologia","email":"tecnologia@1doc.com.br"}],"dist":{"shasum":"3f34d50524dfd0ef3678f640da2cbd603d9cd090","tarball":"https://registry.npmjs.org/@1doc/1ds-tokens/-/1ds-tokens-0.0.1.tgz","fileCount":28,"integrity":"sha512-3o4jRPe0mrek7luvFASmZEKGXm0rFlcVO7bA/7kneuzdgjB4uWNiGsb+B+a7AdMjXFMkhZszOyge3UAA07BiTw==","signatures":[{"sig":"MEUCIQDFVXjpTpiRCIDYRtZbg4JxQIX/FZUFR4PpQn0zPglRAQIgeIwhj7x+0A7peaJnY1iYF0Z51m0NAFsbYyK8hzFAeaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84611},"main":"dist/js/index.js","_from":"file:1doc-1ds-tokens-0.0.1.tgz","types":"dist/js/index.d.ts","module":"dist/js/index.js","scripts":{"build":"node build.js","clean":"rm -rf dist"},"_npmUser":{"name":"1doc-tecnologia","email":"tecnologia@1doc.com.br"},"_resolved":"/tmp/c4714de2576a96c7ed69d65f23e73382/1doc-1ds-tokens-0.0.1.tgz","_integrity":"sha512-3o4jRPe0mrek7luvFASmZEKGXm0rFlcVO7bA/7kneuzdgjB4uWNiGsb+B+a7AdMjXFMkhZszOyge3UAA07BiTw==","_npmVersion":"10.8.2","description":"Este pacote contém os Design Tokens do 1ds Design System.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"style-dictionary":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/1ds-tokens_0.0.1_1774541810339_0.2641474793635965","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@1doc/1ds-tokens","version":"0.1.0","_id":"@1doc/1ds-tokens@0.1.0","maintainers":[{"name":"1doc-tecnologia","email":"tecnologia@1doc.com.br"}],"dist":{"shasum":"4d10c0b7b50054144da99a1e3e420818308c1bb9","tarball":"https://registry.npmjs.org/@1doc/1ds-tokens/-/1ds-tokens-0.1.0.tgz","fileCount":29,"integrity":"sha512-vz/6twTBM36XHv94w06fSyLDHf2G0o29M22qEfx9IQS0csvsAn3VRJpeGKUhKFqUglfKtJBu03UIGzps5UD7Sg==","signatures":[{"sig":"MEUCIQDVIxrp1QE4N27KpB12G/qx09lSs2WyNeCECDO/yqTvWgIgLsTqfWyKYO3GjZ+SdnNeo1yALlrHJYtFMdFGAl4OfKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84679},"main":"dist/js/index.js","_from":"file:1doc-1ds-tokens-0.1.0.tgz","types":"dist/js/index.d.ts","module":"dist/js/index.js","scripts":{"build":"node build.js","clean":"rm -rf dist"},"_npmUser":{"name":"1doc-tecnologia","email":"tecnologia@1doc.com.br"},"_resolved":"/tmp/6ec00a2a918fb85b9aa06471011f0514/1doc-1ds-tokens-0.1.0.tgz","_integrity":"sha512-vz/6twTBM36XHv94w06fSyLDHf2G0o29M22qEfx9IQS0csvsAn3VRJpeGKUhKFqUglfKtJBu03UIGzps5UD7Sg==","_npmVersion":"10.8.2","description":"Este pacote contém os Design Tokens do 1ds Design System.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"style-dictionary":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/1ds-tokens_0.1.0_1776867075985_0.9318157937944369","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@1doc/1ds-tokens","version":"0.4.1","_id":"@1doc/1ds-tokens@0.4.1","maintainers":[{"name":"1doc-tecnologia","email":"tecnologia@1doc.com.br"}],"dist":{"shasum":"b28c9a2fd880a04cf5cbbaee96be8bc83cee2e71","tarball":"https://registry.npmjs.org/@1doc/1ds-tokens/-/1ds-tokens-0.4.1.tgz","fileCount":33,"integrity":"sha512-+GgL6W3JnI74+mLHq4LXUxRwWW2/W5rDG57JuMQp/E/hV+bDkZc4CZf+24eei6lMp8ZZ6vSzP4lOVDWDTcg9nw==","signatures":[{"sig":"MEUCIAejNrrx6AjL78hzo0dwbC7TgJPVcOzhf1lqC/auSE7vAiEAlHqimdZp+e4QNd7mDY/JLNr7ygpD+9IHVlM5XxI8DAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDhWAsY6ulK6W2iKY8nKhZ8lqAnYf02z747l+2tMX60LAIgNDNOD0ZPTFMO2bOdLE4Gn7RrAyw6idASad1w3v+IX1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94876},"main":"dist/js/index.js","_from":"file:1doc-1ds-tokens-0.4.1.tgz","types":"dist/js/index.d.ts","module":"dist/js/index.js","exports":{".":{"types":"./dist/js/index.d.ts","default":"./dist/js/index.js"},"./css/*":"./dist/css/*","./dist/*":"./dist/*","./package.json":"./package.json"},"scripts":{"build":"node build.js","clean":"rm -rf dist"},"_npmUser":{"name":"1doc-tecnologia","email":"tecnologia@1doc.com.br"},"_resolved":"/tmp/ea819d6ee16407f8270ee14396cf79a2/1doc-1ds-tokens-0.4.1.tgz","_integrity":"sha512-+GgL6W3JnI74+mLHq4LXUxRwWW2/W5rDG57JuMQp/E/hV+bDkZc4CZf+24eei6lMp8ZZ6vSzP4lOVDWDTcg9nw==","_npmVersion":"10.8.2","description":"Este pacote contém os Design Tokens do 1ds Design System.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"style-dictionary":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/1ds-tokens_0.4.1_1790269241969_0.6963735832076101","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@1doc/1ds-tokens","version":"0.4.2","_id":"@1doc/1ds-tokens@0.4.2","maintainers":[{"name":"1doc-tecnologia","email":"tecnologia@1doc.com.br"}],"dist":{"shasum":"6a2be61e98a0c032304fa11cedc0b1df2984ec3a","tarball":"https://registry.npmjs.org/@1doc/1ds-tokens/-/1ds-tokens-0.4.2.tgz","fileCount":50,"integrity":"sha512-1StOSHoPX4aOO16ScGGbpn67VI05O450RChm3+ipyoSBcAS4ZlbFvjq3wR8tMjYN8lZNejXxR4A6OL8uynPM7w==","signatures":[{"sig":"MEQCIEGfYn1xlxKeH9BZcL+evs64uhQoQNtnB93fFxIf3KsuAiALU+MNGmCEx6xBeboXZiyAxZO066DBFxzaEw8EbCwgwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIANC028SYhEJaGjnE9CKU8MafgOVsIiMq/kSB9BPZX4yAiAQfXCfKvyVkYSeMHVQZCDZOeuRNPEtlEFuUbynFa9Ukw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156438},"main":"dist/js/index.js","_from":"file:1doc-1ds-tokens-0.4.2.tgz","types":"dist/js/index.d.ts","module":"dist/js/index.js","exports":{".":{"types":"./dist/js/index.d.ts","default":"./dist/js/index.js"},"./css/*":"./dist/css/*","./dist/*":"./dist/*","./package.json":"./package.json"},"scripts":{"build":"node build.js","clean":"rm -rf dist"},"_npmUser":{"name":"1doc-tecnologia","email":"tecnologia@1doc.com.br"},"_resolved":"/tmp/24234fec29fa8a9207d09d2919f21179/1doc-1ds-tokens-0.4.2.tgz","_integrity":"sha512-1StOSHoPX4aOO16ScGGbpn67VI05O450RChm3+ipyoSBcAS4ZlbFvjq3wR8tMjYN8lZNejXxR4A6OL8uynPM7w==","_npmVersion":"10.8.2","description":"Este pacote contém os Design Tokens do 1ds Design System.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"style-dictionary":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/1ds-tokens_0.4.2_1790459634145_0.20749683653066464","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"_id":"@1doc/1ds-tokens@0.4.3","dist":{"shasum":"6b506bc2cf6b22b9c2b6d752e89f304edb8297b0","tarball":"https://registry.npmjs.org/@1doc/1ds-tokens/-/1ds-tokens-0.4.3.tgz","fileCount":50,"integrity":"sha512-0oUvEoo2wI7h9uxp5OomY8BemLqc7tvPifR2B0B5UhLP7dqieojjEJfkKJzy4ruPns3gDf8nHIYmywNw9kIoNQ==","signatures":[{"sig":"MEUCIQCY6GQIshe2hOgRURIQDAd/55T0ZR0uEr6TsYZVrGbItQIgTZjfuHGwg3e/+HXqvPDsXMADWWoHAMPSt+BjJzh+eB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIETpwVE+T5lMQ4hNMTYKXnuINxCAhJd8Cvb9FhqnXUyMAiEAsNsbkbpj1ZtwdHja0vZ+JGBm/afQntt920oTwHcPAmQ="}],"unpackedSize":159700},"main":"dist/js/index.js","name":"@1doc/1ds-tokens","_from":"file:1doc-1ds-tokens-0.4.3.tgz","types":"dist/js/index.d.ts","module":"dist/js/index.js","exports":{".":{"types":"./dist/js/index.d.ts","default":"./dist/js/index.js"},"./css/*":"./dist/css/*","./dist/*":"./dist/*","./package.json":"./package.json"},"scripts":{"build":"node build.js","clean":"rm -rf dist"},"version":"0.4.3","_npmUser":{"name":"1doc-tecnologia","email":"tecnologia@1doc.com.br"},"_resolved":"/tmp/9e3c35e6b0044f9800ee9192a7688c4f/1doc-1ds-tokens-0.4.3.tgz","_integrity":"sha512-0oUvEoo2wI7h9uxp5OomY8BemLqc7tvPifR2B0B5UhLP7dqieojjEJfkKJzy4ruPns3gDf8nHIYmywNw9kIoNQ==","_npmVersion":"10.8.2","description":"Este pacote contém os Design Tokens do 1ds Design System.","directories":{},"maintainers":[{"name":"1doc-tecnologia","email":"tecnologia@1doc.com.br"}],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"style-dictionary":"^4.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/1ds-tokens_0.4.3_1790548953459_0.9427441455087353"}}},"time":{"created":"2026-03-26T16:16:50.245Z","modified":"2026-09-27T22:42:33.778Z","0.0.1":"2026-03-26T16:16:50.551Z","0.1.0":"2026-04-22T14:11:16.201Z","0.4.1":"2026-09-24T17:00:42.057Z","0.4.2":"2026-09-26T21:53:54.249Z","0.4.3":"2026-09-27T22:42:33.531Z"},"description":"Este pacote contém os Design Tokens do 1ds Design System.","maintainers":[{"name":"1doc-tecnologia","email":"tecnologia@1doc.com.br"}],"readme":"# @1doc/1ds-tokens\n\nEste pacote contém os Design Tokens do 1ds Design System.\n\n## Instalação\n\n```bash\npnpm add @1doc/1ds-tokens\n```\n\n## Como usar\n\nOs tokens são expostos principalmente como Variáveis CSS. Importe os arquivos CSS necessários no ponto de entrada da sua aplicação (Root ou main.js/ts).\n\n```javascript\nimport \"@1doc/1ds-tokens/css/primitives.css\";\nimport \"@1doc/1ds-tokens/css/semantic.css\";\nimport \"@1doc/1ds-tokens/css/theme-1doc.css\"; // tema da marca — 12 disponíveis + alto contraste, ver abaixo\n```\n\nOs caminhos `dist/css/...` continuam funcionando; prefira os subpaths\nestáveis `css/...`.\n\n## Estrutura de Arquivos\n\n```\npackages/tokens/\n├── src/\n│   ├── primitives/\n│   │   └── colors.json       # Cores base (não mudam)\n│   ├── semantic/\n│   │   └── base.json          # Tokens semânticos (referências)\n│   └── themes/\n│       ├── 1doc.json          # Tema padrão azul (+ 1doc-dark.json)\n│       ├── 1ds-red.json       # + 1ds-red-dark.json\n│       ├── 1ds-green.json     # + 1ds-green-dark.json\n│       ├── 1ds-orange.json    # + 1ds-orange-dark.json\n│       ├── 1ds-yellow.json    # + 1ds-yellow-dark.json\n│       ├── 1ds-purple.json    # + 1ds-purple-dark.json → 6 marcas × light/dark = 12 temas\n│       └── 1doc-high-contrast.json # Alto contraste (acessibilidade), fora da matriz\n├── dist/\n│   └── css/\n│       ├── primitives.css     # :root com cores primitivas\n│       ├── semantic.css       # :root com tokens semânticos\n│       ├── theme-1doc.css     # :root, [data-theme=\"1doc\"]\n│       ├── theme-1ds-red.css  # [data-theme=\"1ds-red\"]\n│       ├── ...\n```\n\n## Como funciona a cascata CSS\n\nO sistema de temas utiliza uma arquitetura em 3 camadas:\n\n1. **`primitives.css`**: Define as cores brutas (hex) em `:root`.\n   - Ex: `--umds-primitive-blue-pure: #0058DB;`\n2. **`theme-*.css`**: Define as 25 variáveis de _tema_ (`--umds-theme-*`), escopadas por `data-theme` (no dist os valores chegam como hex resolvidos no build).\n   - Ex: `[data-theme=\"1doc\"] { --umds-theme-primary-pure: #0058DB; }`\n   - Apenas `theme-1doc.css` também define `:root` (default sem atributo). Os 12 CSS podem ser carregados juntos sem conflito — a troca via `data-theme` é atômica.\n3. **`semantic.css`**: Define os tokens _semânticos_ que seu app deve usar, apontando para as variáveis de tema.\n   - Ex: `:root { --umds-semantic-color-primary-pure: var(--umds-theme-primary-pure); }`\n\n> **Importante:** Sempre utilize os tokens **semânticos** (`--umds-semantic-*`) no seu CSS. Nunca use primitivos ou temas diretamente.\n\n## Alto contraste\n\n`theme-1doc-high-contrast.css` / `data-theme=\"1doc-high-contrast\"` é um tema de\nacessibilidade para quem precisa de contraste máximo (baixa visão, telas sob sol,\nfotofobia com fundo preto). Não é uma marca: fica fora da matriz 6 × light/dark.\n\n| Papel | Cor | Contraste sobre o preto |\n| --- | --- | --- |\n| Fundo (`background-white`, `neutral-light-pure`) | `#000000` | — |\n| Texto (`neutral-dark-pure`/`down`) | `#FFFFFF` | 21:1 |\n| Interativo: link, botão, foco, selecionado (`primary-pure`) | `#FFFF00` | 19,6:1 |\n| Texto sobre o amarelo cheio (`neutral-light-pure`) | `#000000` | 19,6:1 |\n| Borda de campo (`neutral-light-down`) | `#FFFFFF` | 21:1 |\n| Divisória e borda de card (`neutral-light-medium`) | `#5A5A5A` | 3,05:1 |\n| Sucesso (`feedback-positive-pure`) | `#33FF99` | 15,9:1 |\n| Erro (`feedback-negative-pure`) | `#FF7A8F` | 8,4:1 |\n| Aviso (`feedback-info-pure`, laranja como nos demais temas) | `#FFA340` | 10,6:1 |\n| IA (`ai-pure`) | `#E699FF` | 10,4:1 |\n\nTodo texto passa WCAG AAA (7:1) e toda fronteira de componente passa 3:1. A\núnica concessão é `neutral-light-medium`: ele é ao mesmo tempo divisória (precisa\nde 3:1 contra o preto) e fundo de hover com texto branco (6,9:1 — AA, não AAA).\nNenhum cinza atende as duas coisas; a fronteira venceu.\n\n**O DS não troca de tema sozinho.** Quem decide é o produto — em geral por um\ncontrole explícito (o botão \"Alto contraste\" do cabeçalho) e, opcionalmente,\nseguindo a preferência do sistema operacional:\n\n```ts\nimport { setTheme } from \"@1doc/1ds-react\"; // ou @1doc/1ds-vue\n\nconst mais = window.matchMedia(\"(prefers-contrast: more)\");\nconst aplicar = () => setTheme(mais.matches ? \"1doc-high-contrast\" : \"1doc\");\naplicar();\nmais.addEventListener(\"change\", aplicar);\n```\n\nRespeite a escolha manual do usuário acima da preferência do sistema — se ele\ndesligou o alto contraste no cabeçalho, não religue no próximo `change`.\n\n`forced-colors: active` (Modo de Alto Contraste do Windows) é outra coisa: o\nnavegador substitui as cores do site pelas do sistema e ignora os tokens. Não\naplique este tema nesse caso — ele não teria efeito.\n\n## Criando um Novo Tema\n\n### Consumidor do pacote (white-label — API pública)\n\nVocê NÃO precisa tocar neste pacote: o contrato de tema são as **25 variáveis\n`--umds-theme-*`** (mesmo conjunto nos 12 temas oficiais). Crie um CSS no seu\napp, carregado após o `semantic.css`:\n\n```css\n/* acme-theme.css */\n[data-theme=\"acme\"] {\n  --umds-theme-primary-dark: #7a1fa2;\n  --umds-theme-primary-pure: #9c27b0;\n  --umds-theme-primary-medium: #ce93d8;\n  --umds-theme-primary-light: #f3e5f5;\n  /* ...demais tokens de tema (neutros/feedback) — o mínimo para a cor de\n     marca são os 4 primary-*; copie um theme-*.css do dist como base */\n}\n[data-theme=\"acme-dark\"] { /* inversão dark — mesmos 25 tokens */ }\n```\n\nE registre no utilitário de tema do pacote de componentes para validação e\npersistência funcionarem: `registerTheme(\"acme\")` (ver README do\n`@1doc/1ds-react`).\n\n### Mantenedor do Design System (tema oficial novo)\n\n1. Crie um arquivo JSON em `src/themes/meu-tema.json` seguindo a estrutura dos existentes.\n2. Adicione a configuração no `config.js`.\n3. Rode `pnpm build` dentro da pasta de tokens.\n\n## Troubleshooting\n\n### Tema não está mudando\n\n1. Verifique se todos os arquivos CSS estão importados (primitives, semantic e o tema desejado).\n2. Verifique se o atributo `data-theme` está sendo aplicado corretamente no elemento `<html>` ou no container raiz.\n3. Use o DevTools para inspecionar se as variáveis css (`--umds-semantic-*`) estão mudando de valor.\n\n### Desenvolvimento\n\nOs tokens estão definidos em `src/**/*.json`. O Style Dictionary é usado para transformá-los.\n\n```bash\npnpm build\n```\n","readmeFilename":"README.md"}