{"_id":"@bluepadel/bluepadel-brand","name":"@bluepadel/bluepadel-brand","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@bluepadel/bluepadel-brand","version":"0.1.0","description":"BluePadel brand tokens, Tailwind preset, and logo assets — single source of truth for the BluePadel visual identity.","type":"module","license":"MIT","private":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","sideEffects":["**/*.css"],"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./tailwind.preset":{"types":"./dist/tailwind.preset.d.ts","import":"./dist/tailwind.preset.js","require":"./dist/tailwind.preset.cjs"},"./variables.css":"./dist/variables.css","./reset.css":"./dist/reset.css","./assets/*":"./assets/*"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/bluepadel/bluepadel-brand.git"},"scripts":{"build":"tsup","lint":"eslint .","typecheck":"tsc --noEmit","test":"vitest run","sync-in":"bash scripts/sync-from-cowork.sh","gen:android":"npm run build && node scripts/generate-android.mjs","ci":"npm run lint && npm run typecheck && npm run build && npm run test"},"devDependencies":{"@types/node":"^22.10.0","eslint":"^9.17.0","tailwindcss":"^3.4.0","tsup":"^8.3.5","typescript":"~5.6.3","typescript-eslint":"^8.19.1","vitest":"^2.1.8"},"peerDependencies":{"tailwindcss":">=3.4.0"},"peerDependenciesMeta":{"tailwindcss":{"optional":true}},"_id":"@bluepadel/bluepadel-brand@0.1.0","gitHead":"217efb61a77f85b1831705441dfa6aa094beefa8","bugs":{"url":"https://github.com/bluepadel/bluepadel-brand/issues"},"homepage":"https://github.com/bluepadel/bluepadel-brand#readme","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-wizU0XJJTDHVOxDqJVgJYYoxEhoF+KHed7iLLWqn0bwgilebOyaEvJFjMynoommSMwiaIWZJSwc4oxcyqW5eww==","shasum":"2274388826f1efb441d46adffc5438758a5ea29b","tarball":"https://registry.npmjs.org/@bluepadel/bluepadel-brand/-/bluepadel-brand-0.1.0.tgz","fileCount":24,"unpackedSize":325502,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCO7YO7OY0PtDcJnQjDl4mGsM0Dt3/iGEzC8bvqYWuyyAIgfrMnGUHMl3ouLy3Gl8tJA8V6Y4RwInWme/5xcM8NwMs="}]},"_npmUser":{"name":"wardsi","email":"simon@wardandpartners.co.za"},"directories":{},"maintainers":[{"name":"wardsi","email":"simon@wardandpartners.co.za"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bluepadel-brand_0.1.0_1785575618579_0.5293007458332619"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-01T09:13:38.455Z","0.1.0":"2026-08-01T09:13:38.759Z","modified":"2026-08-01T09:13:38.961Z"},"maintainers":[{"name":"wardsi","email":"simon@wardandpartners.co.za"}],"description":"BluePadel brand tokens, Tailwind preset, and logo assets — single source of truth for the BluePadel visual identity.","homepage":"https://github.com/bluepadel/bluepadel-brand#readme","repository":{"type":"git","url":"git+https://github.com/bluepadel/bluepadel-brand.git"},"bugs":{"url":"https://github.com/bluepadel/bluepadel-brand/issues"},"license":"MIT","readme":"# @bluepadel/bluepadel-brand\n\nSingle source of truth for the **BluePadel** visual identity — design tokens,\na Tailwind preset, and logo assets. v0.1.0 is **tokens-only** (no React\ncomponents); component libraries consume these tokens.\n\n## Token architecture (three layers)\n\n1. **Primitives** — raw palette/type/spacing/radius/shadow (`src/tokens/*`,\n   `--bp-blue-800`, …). The only place hex values live.\n2. **Semantic** — intent aliases of the primitives (`--bp-color-surface`,\n   `--bp-color-text-muted`, …) in `src/css/variables.css`. **Apps reference these.**\n3. **Component** — per-component tokens, defined in each consuming app, that\n   reference the semantic layer.\n\nTheme = re-point the semantic aliases. Dark theme ships as `[data-theme=\"dark\"]`\n(architecture proven; light-only is the current shipped theme).\n\n## Install\n\nPublished to the public npm registry — no auth required.\n\n```bash\nnpm install @bluepadel/bluepadel-brand\n```\n\n## Use\n\n```ts\n// 1. tokens / Tailwind preset\nimport bluepadel from \"@bluepadel/bluepadel-brand/tailwind.preset\";\n// tailwind.config.ts:  export default { presets: [bluepadel], content: [...] }\n```\n\n```ts\n// 2. the CSS variables + reset (e.g. in main.tsx)\nimport \"@bluepadel/bluepadel-brand/variables.css\";\nimport \"@bluepadel/bluepadel-brand/reset.css\";\n```\n\n```ts\n// 3. raw tokens in TS when needed\nimport { palette, semantic } from \"@bluepadel/bluepadel-brand\";\n```\n\nAfter importing, prefer themeable utilities: `bg-surface`, `text-muted`,\n`border`, `bg-primary text-on-accent`, `text-danger-fg bg-danger-bg`, etc.\n\n## Develop\n\n```bash\nnpm install\nnpm run ci   # lint + typecheck + build (tsup → dist) + test\n```\n\nPublish is automated: push a `vX.Y.Z` tag (or run the `publish` workflow\nmanually) → builds + publishes to the public npm registry. Requires the\n`NPM_TOKEN` repo secret (an npmjs **Automation** token for the `@bluepadel` org).\n","readmeFilename":"README.md","_rev":"1-9ad395d0d4543b146c92c4dce7d333a1"}