{"_id":"@dreco/yesh-ui","_rev":"4-cc7d8ca5924e8d400ed9364959e3409a","name":"@dreco/yesh-ui","dist-tags":{"alpha":"0.1.0-alpha.3","latest":"0.1.0-alpha.8"},"versions":{"0.1.0-alpha.3":{"name":"@dreco/yesh-ui","version":"0.1.0-alpha.3","keywords":["angular","design-system","component-library","ui","accessibility","signals","design-tokens","theming"],"author":{"name":"Yesh UI contributors"},"license":"MIT","_id":"@dreco/yesh-ui@0.1.0-alpha.3","maintainers":[{"name":"dreco","email":"andrelopes.code@gmail.com"}],"homepage":"https://github.com/andrelopes-code/yesh-ui#readme","bugs":{"url":"https://github.com/andrelopes-code/yesh-ui/issues"},"bin":{"yesh":"bin/yesh.mjs"},"dist":{"shasum":"51916c19ddd9127255000680b370eb572dde666e","tarball":"https://registry.npmjs.org/@dreco/yesh-ui/-/yesh-ui-0.1.0-alpha.3.tgz","fileCount":710,"integrity":"sha512-9Zne2oiIrTRfZY6BhtmXWdFmSAzv8MIMUURyfM9thl+MgiKnxDkxpaja2gfPjjUm1wIgpPU1fjLalD1P3GF7eg==","signatures":[{"sig":"MEQCIDTFmzisSWM5IVjTt1YXZyTE1HziQyPBqAxPONpOhJC/AiAjki2AFAIwuhuenmzESaUAkmjZD6RpD6eEZIYChTUeEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11786161},"module":"esm2022/dreco-yesh-ui.mjs","ng-add":{"save":"dependencies"},"engines":{"node":">=18.13.0"},"exports":{".":{"esm":"./esm2022/dreco-yesh-ui.mjs","types":"./index.d.ts","default":"./esm2022/dreco-yesh-ui.mjs","esm2022":"./esm2022/dreco-yesh-ui.mjs"},"./chart":{"esm":"./esm2022/chart/dreco-yesh-ui-chart.mjs","types":"./chart/index.d.ts","default":"./esm2022/chart/dreco-yesh-ui-chart.mjs","esm2022":"./esm2022/chart/dreco-yesh-ui-chart.mjs"},"./agent/*":{"default":"./agent/*"},"./testing":{"esm":"./esm2022/testing/dreco-yesh-ui-testing.mjs","types":"./testing/index.d.ts","default":"./esm2022/testing/dreco-yesh-ui-testing.mjs","esm2022":"./esm2022/testing/dreco-yesh-ui-testing.mjs"},"./llms.txt":{"default":"./llms.txt"},"./markdown":{"esm":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs","types":"./markdown/index.d.ts","default":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs","esm2022":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs"},"./styles/*":{"default":"./styles/*"},"./fields-br":{"esm":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs","types":"./fields-br/index.d.ts","default":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs","esm2022":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs"},"./i18n/pt-BR":{"esm":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs","types":"./i18n/pt-BR/index.d.ts","default":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs","esm2022":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs"},"./package.json":{"default":"./package.json"},"./schematics/*":{"default":"./schematics/*"},"./table-export-xlsx":{"esm":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs","types":"./table-export-xlsx/index.d.ts","default":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs","esm2022":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs"}},"gitHead":"caacf52ec3c95ebb65a7915be7ef04fbbd5abd22","typings":"index.d.ts","_npmUser":{"name":"dreco","email":"andrelopes.code@gmail.com"},"repository":{"url":"git+https://github.com/andrelopes-code/yesh-ui.git","type":"git","directory":"packages/yesh-ui"},"schematics":"./schematics/collection.json","_npmVersion":"10.8.2","description":"Angular design system: 78 accessible, themeable component families. Signal-based, SSR-safe, zero non-Angular runtime dependencies in core.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"tslib":"^2.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"rxjs":"^7.8.0","xlsx":"^0.18.0","marked":"^15.0.0","echarts":"^6.0.0","@angular/cdk":">=17.3.0 <23.0.0","@angular/core":">=17.3.0 <23.0.0","@angular/forms":">=17.3.0 <23.0.0","@angular/common":">=17.3.0 <23.0.0","@angular/router":">=17.3.0 <23.0.0"},"peerDependenciesMeta":{"xlsx":{"optional":true},"marked":{"optional":true},"echarts":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yesh-ui_0.1.0-alpha.3_1787243140309_0.07057446437059567","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.4":{"name":"@dreco/yesh-ui","version":"0.1.0-alpha.4","keywords":["angular","design-system","component-library","ui","accessibility","signals","design-tokens","theming"],"author":{"name":"Yesh UI contributors"},"license":"MIT","_id":"@dreco/yesh-ui@0.1.0-alpha.4","maintainers":[{"name":"dreco","email":"andrelopes.code@gmail.com"}],"homepage":"https://github.com/andrelopes-code/yesh-ui#readme","bugs":{"url":"https://github.com/andrelopes-code/yesh-ui/issues"},"bin":{"yesh":"bin/yesh.mjs"},"dist":{"shasum":"e84e31cba11a502136cc2df4de2f92718b91836c","tarball":"https://registry.npmjs.org/@dreco/yesh-ui/-/yesh-ui-0.1.0-alpha.4.tgz","fileCount":727,"integrity":"sha512-BUCw7QOG8I6gnC757j9cVUDM/VexPZbGxo4io3Q3a2bu/hLMofJbKBTV0KJ++kwW09khn+2y09b5r9I+I5Qjmg==","signatures":[{"sig":"MEUCIQC3m6j0z1bODgWyZec+pLWngIT0bImghOhuwitDqtD79QIgUKR+3Llp8wgf/Crn5HJLEOvxBKdEfU4rApcxIEbc8Ek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11848098},"module":"esm2022/dreco-yesh-ui.mjs","ng-add":{"save":"dependencies"},"engines":{"node":">=18.13.0"},"exports":{".":{"esm":"./esm2022/dreco-yesh-ui.mjs","types":"./index.d.ts","default":"./esm2022/dreco-yesh-ui.mjs","esm2022":"./esm2022/dreco-yesh-ui.mjs"},"./chart":{"esm":"./esm2022/chart/dreco-yesh-ui-chart.mjs","types":"./chart/index.d.ts","default":"./esm2022/chart/dreco-yesh-ui-chart.mjs","esm2022":"./esm2022/chart/dreco-yesh-ui-chart.mjs"},"./agent/*":{"default":"./agent/*"},"./testing":{"esm":"./esm2022/testing/dreco-yesh-ui-testing.mjs","types":"./testing/index.d.ts","default":"./esm2022/testing/dreco-yesh-ui-testing.mjs","esm2022":"./esm2022/testing/dreco-yesh-ui-testing.mjs"},"./llms.txt":{"default":"./llms.txt"},"./markdown":{"esm":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs","types":"./markdown/index.d.ts","default":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs","esm2022":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs"},"./skills/*":{"default":"./skills/*"},"./styles/*":{"default":"./styles/*"},"./fields-br":{"esm":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs","types":"./fields-br/index.d.ts","default":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs","esm2022":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs"},"./i18n/pt-BR":{"esm":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs","types":"./i18n/pt-BR/index.d.ts","default":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs","esm2022":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs"},"./package.json":{"default":"./package.json"},"./schematics/*":{"default":"./schematics/*"},"./table-export-xlsx":{"esm":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs","types":"./table-export-xlsx/index.d.ts","default":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs","esm2022":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs"}},"gitHead":"5547476ef52dfb1dcdaea9de3e72b7c23dbd8a0c","typings":"index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb5c457d-d770-4d77-8761-ea796201e2cf"}},"repository":{"url":"git+https://github.com/andrelopes-code/yesh-ui.git","type":"git","directory":"packages/yesh-ui"},"schematics":"./schematics/collection.json","_npmVersion":"12.0.2","description":"Angular design system: 78 accessible, themeable component families. Signal-based, SSR-safe, zero non-Angular runtime dependencies in core.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"tslib":"^2.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"rxjs":"^7.8.0","xlsx":"^0.18.0","marked":"^15.0.0","echarts":"^6.0.0","@angular/cdk":">=17.3.0 <23.0.0","@angular/core":">=17.3.0 <23.0.0","@angular/forms":">=17.3.0 <23.0.0","@angular/common":">=17.3.0 <23.0.0","@angular/router":">=17.3.0 <23.0.0"},"peerDependenciesMeta":{"xlsx":{"optional":true},"marked":{"optional":true},"echarts":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yesh-ui_0.1.0-alpha.4_1787312919552_0.2514333887830287","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.5":{"name":"@dreco/yesh-ui","version":"0.1.0-alpha.5","keywords":["angular","design-system","component-library","ui","accessibility","signals","design-tokens","theming"],"author":{"name":"Yesh UI contributors"},"license":"MIT","_id":"@dreco/yesh-ui@0.1.0-alpha.5","maintainers":[{"name":"dreco","email":"andrelopes.code@gmail.com"}],"homepage":"https://github.com/andrelopes-code/yesh-ui#readme","bugs":{"url":"https://github.com/andrelopes-code/yesh-ui/issues"},"bin":{"yesh":"bin/yesh.mjs"},"dist":{"shasum":"057298c71128f38a396da10e9ce9137426730d52","tarball":"https://registry.npmjs.org/@dreco/yesh-ui/-/yesh-ui-0.1.0-alpha.5.tgz","fileCount":727,"integrity":"sha512-skS6jXlngQvMcdUOOo22Z3y77Q8nSSZ06cKQ+OvWpNjaNSnxGBPWSkN1ceA8tHLtt9JFVA6LpDC3adU6ix3CFQ==","signatures":[{"sig":"MEQCIA02+Disf1gIVEEYgvC9ItcLQm26/fbnsFZM3yXVO4rtAiAqubi8Gk/wxJ3sMG9oLjMATj1PF+6NDoInaHbj/gi45A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11860226},"module":"esm2022/dreco-yesh-ui.mjs","ng-add":{"save":"dependencies"},"engines":{"node":">=18.13.0"},"exports":{".":{"esm":"./esm2022/dreco-yesh-ui.mjs","types":"./index.d.ts","default":"./esm2022/dreco-yesh-ui.mjs","esm2022":"./esm2022/dreco-yesh-ui.mjs"},"./chart":{"esm":"./esm2022/chart/dreco-yesh-ui-chart.mjs","types":"./chart/index.d.ts","default":"./esm2022/chart/dreco-yesh-ui-chart.mjs","esm2022":"./esm2022/chart/dreco-yesh-ui-chart.mjs"},"./agent/*":{"default":"./agent/*"},"./testing":{"esm":"./esm2022/testing/dreco-yesh-ui-testing.mjs","types":"./testing/index.d.ts","default":"./esm2022/testing/dreco-yesh-ui-testing.mjs","esm2022":"./esm2022/testing/dreco-yesh-ui-testing.mjs"},"./llms.txt":{"default":"./llms.txt"},"./markdown":{"esm":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs","types":"./markdown/index.d.ts","default":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs","esm2022":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs"},"./skills/*":{"default":"./skills/*"},"./styles/*":{"default":"./styles/*"},"./fields-br":{"esm":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs","types":"./fields-br/index.d.ts","default":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs","esm2022":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs"},"./i18n/pt-BR":{"esm":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs","types":"./i18n/pt-BR/index.d.ts","default":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs","esm2022":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs"},"./package.json":{"default":"./package.json"},"./schematics/*":{"default":"./schematics/*"},"./table-export-xlsx":{"esm":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs","types":"./table-export-xlsx/index.d.ts","default":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs","esm2022":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs"}},"gitHead":"be581cf73f5fc0b8aedcd74c37de143001ad7a0e","typings":"index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb5c457d-d770-4d77-8761-ea796201e2cf"}},"repository":{"url":"git+https://github.com/andrelopes-code/yesh-ui.git","type":"git","directory":"packages/yesh-ui"},"schematics":"./schematics/collection.json","_npmVersion":"12.0.2","description":"Angular design system: 78 accessible, themeable component families. Signal-based, SSR-safe, zero non-Angular runtime dependencies in core.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"tslib":"^2.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"rxjs":"^7.8.0","xlsx":"^0.18.0","marked":"^15.0.0","echarts":"^6.0.0","@angular/cdk":">=17.3.0 <23.0.0","@angular/core":">=17.3.0 <23.0.0","@angular/forms":">=17.3.0 <23.0.0","@angular/common":">=17.3.0 <23.0.0","@angular/router":">=17.3.0 <23.0.0"},"peerDependenciesMeta":{"xlsx":{"optional":true},"marked":{"optional":true},"echarts":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/yesh-ui_0.1.0-alpha.5_1787333004999_0.8952346852652124","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.8":{"name":"@dreco/yesh-ui","version":"0.1.0-alpha.8","description":"Angular design system: 78 accessible, themeable component families. Signal-based, SSR-safe, zero non-Angular runtime dependencies in core.","keywords":["angular","design-system","component-library","ui","accessibility","signals","design-tokens","theming"],"license":"MIT","author":{"name":"Yesh UI contributors"},"homepage":"https://github.com/andrelopes-code/yesh-ui#readme","repository":{"type":"git","url":"git+https://github.com/andrelopes-code/yesh-ui.git","directory":"packages/yesh-ui"},"bugs":{"url":"https://github.com/andrelopes-code/yesh-ui/issues"},"engines":{"node":">=18.13.0"},"sideEffects":false,"publishConfig":{"access":"public"},"peerDependencies":{"@angular/cdk":">=17.3.0 <23.0.0","@angular/common":">=17.3.0 <23.0.0","@angular/core":">=17.3.0 <23.0.0","@angular/forms":">=17.3.0 <23.0.0","@angular/router":">=17.3.0 <23.0.0","echarts":"^6.0.0","marked":"^15.0.0","rxjs":"^7.8.0","xlsx":"^0.18.0"},"peerDependenciesMeta":{"echarts":{"optional":true},"marked":{"optional":true},"xlsx":{"optional":true}},"dependencies":{"tslib":"^2.6.0"},"bin":{"yesh":"bin/yesh.mjs"},"schematics":"./schematics/collection.json","ng-add":{"save":"dependencies"},"module":"esm2022/dreco-yesh-ui.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2022":"./esm2022/dreco-yesh-ui.mjs","esm":"./esm2022/dreco-yesh-ui.mjs","default":"./esm2022/dreco-yesh-ui.mjs"},"./chart":{"types":"./chart/index.d.ts","esm2022":"./esm2022/chart/dreco-yesh-ui-chart.mjs","esm":"./esm2022/chart/dreco-yesh-ui-chart.mjs","default":"./esm2022/chart/dreco-yesh-ui-chart.mjs"},"./fields-br":{"types":"./fields-br/index.d.ts","esm2022":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs","esm":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs","default":"./esm2022/fields-br/dreco-yesh-ui-fields-br.mjs"},"./markdown":{"types":"./markdown/index.d.ts","esm2022":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs","esm":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs","default":"./esm2022/markdown/dreco-yesh-ui-markdown.mjs"},"./table-export-xlsx":{"types":"./table-export-xlsx/index.d.ts","esm2022":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs","esm":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs","default":"./esm2022/table-export-xlsx/dreco-yesh-ui-table-export-xlsx.mjs"},"./testing":{"types":"./testing/index.d.ts","esm2022":"./esm2022/testing/dreco-yesh-ui-testing.mjs","esm":"./esm2022/testing/dreco-yesh-ui-testing.mjs","default":"./esm2022/testing/dreco-yesh-ui-testing.mjs"},"./i18n/pt-BR":{"types":"./i18n/pt-BR/index.d.ts","esm2022":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs","esm":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs","default":"./esm2022/i18n/pt-BR/dreco-yesh-ui-i18n-pt-BR.mjs"},"./styles/*":{"default":"./styles/*"},"./schematics/*":{"default":"./schematics/*"},"./agent/*":{"default":"./agent/*"},"./skills/*":{"default":"./skills/*"},"./llms.txt":{"default":"./llms.txt"}},"gitHead":"f71bf3077b4f1f419a4caff7b6a37358ea98d18e","_id":"@dreco/yesh-ui@0.1.0-alpha.8","_nodeVersion":"24.19.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-FjeBp+Dpe8Y31aqBHToNGpnFKR4q8REetRGb41yOlXFFLq2hEYWtD47UwgBzWRQwJiBwgNxdwD5X8wmiP82GTw==","shasum":"7adcffa254f7de556e58e9fbeeb50d09de05c854","tarball":"https://registry.npmjs.org/@dreco/yesh-ui/-/yesh-ui-0.1.0-alpha.8.tgz","fileCount":756,"unpackedSize":12345241,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAMPfzMaDIzx8dpZg8PALAFcuuWT6OA0D4Y72bqxKa38AiAoEYwGAfeDZXts6YoQPlzTeJM50xYJGlS+Lh49l40W/w=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:eb5c457d-d770-4d77-8761-ea796201e2cf"}},"directories":{},"maintainers":[{"name":"dreco","email":"andrelopes.code@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/yesh-ui_0.1.0-alpha.8_1787586250433_0.3902189489459016"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-20T16:25:40.105Z","modified":"2026-08-24T15:44:10.829Z","0.1.0-alpha.3":"2026-08-20T16:25:40.577Z","0.1.0-alpha.4":"2026-08-21T11:48:39.810Z","0.1.0-alpha.5":"2026-08-21T17:23:25.225Z","0.1.0-alpha.8":"2026-08-24T15:44:10.683Z"},"bugs":{"url":"https://github.com/andrelopes-code/yesh-ui/issues"},"author":{"name":"Yesh UI contributors"},"license":"MIT","homepage":"https://github.com/andrelopes-code/yesh-ui#readme","keywords":["angular","design-system","component-library","ui","accessibility","signals","design-tokens","theming"],"repository":{"type":"git","url":"git+https://github.com/andrelopes-code/yesh-ui.git","directory":"packages/yesh-ui"},"description":"Angular design system: 78 accessible, themeable component families. Signal-based, SSR-safe, zero non-Angular runtime dependencies in core.","maintainers":[{"name":"dreco","email":"andrelopes.code@gmail.com"}],"readme":"# Yesh UI\n\nAn Angular design system: 78 component families, signal-based throughout, with\n**no runtime dependency outside Angular itself**.\n\n```bash\nnpm install @dreco/yesh-ui\n```\n\n```ts\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { provideYesh } from '@dreco/yesh-ui';\n\nbootstrapApplication(App, { providers: [provideYesh()] });\n```\n\n```jsonc\n// angular.json\n\"styles\": [\"node_modules/@dreco/yesh-ui/styles/yesh.css\"]\n```\n\n```html\n<!-- index.html — the typeface is the one thing the package does not ship -->\n<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin />\n<link\n  href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap\"\n  rel=\"stylesheet\"\n/>\n```\n\nThat is the whole setup. Icons, formatting and English copy are built in;\nnothing else to install, nothing else to register.\n\n**The typeface is a requirement, not a suggestion.** `--yesh-font-sans`\ndefaults to `'Inter'` and `--yesh-font-mono` to `'JetBrains Mono'`, and the\npackage ships neither — there is no `@font-face` inside it, by design: a design\nsystem that bundles fonts imposes a download on every consumer and a licence on\nevery fork. Load them yourself, from a CDN as above or self-hosted, or repoint\nthe two tokens at a family you already serve (see `docs/theming.md`).\n\nWeights 400, 500, 600 and 700 all have to be present. The system distinguishes\nregular from `--yesh-font-weight-medium` (500) and `-semibold` (600), and a\nfamily that lacks them makes the browser round 500 down to regular and 600 up to\nbold — the hierarchy collapses without a single error anywhere.\n\n## What is in the box\n\n`yesh-table` with server- or client-side data, filtering, column management\nand export · `yesh-combobox`, `yesh-select`, `yesh-transfer`,\n`yesh-tree` · date, time and range pickers · form fields with a shared\nlabel/hint/error shell · dialogs, drawers, toasts, popovers and tours · page\nshell, headers, empty and error states · and the primitives underneath them.\n\n## Design principles\n\n**The core depends on nothing but Angular.** Every capability that would need a\nthird-party library enters through a provider instead, with an official adapter\npublished as a secondary entry point. An application that never renders a chart\nnever installs a charting library.\n\n| Capability  | Seam                   | Adapter                            | Dependency |\n| ----------- | ---------------------- | ---------------------------------- | ---------- |\n| Icons       | `withIcons()`          | built in                           | —          |\n| Markdown    | `withMarkdownParser()` | `@dreco/yesh-ui/markdown`          | `marked`   |\n| Charts      | entry point            | `@dreco/yesh-ui/chart`             | `echarts`  |\n| XLSX export | adapter registry       | `@dreco/yesh-ui/table-export-xlsx` | `xlsx`     |\n| Input masks | built in               | —                                  | —          |\n\n**Anything `Intl` knows is derived, not translated.** Month and weekday names,\ncollation, decimal separators, date field order and the first day of the week\ncome from the locale. A message pack only carries what is genuinely a matter of\nwording.\n\n**It does not restyle what it does not own.** Dropping Yesh into an existing\napplication leaves the rest of the page alone. See [docs/interop.md](https://github.com/andrelopes-code/yesh-ui/blob/main/docs/interop.md).\n\n## Configuration\n\n`provideYesh()` takes composable features. Every one is optional.\n\n```ts\nimport {\n  provideYesh,\n  withBrandColors,\n  withDensity,\n  withIcons,\n  withLocale,\n  withMarkdownParser,\n  withMessages,\n  withOverlay,\n  withTheme,\n  YESH_BUILTIN_ICONS,\n} from '@dreco/yesh-ui';\nimport { ptBR } from '@dreco/yesh-ui/i18n/pt-BR';\nimport { markedParser } from '@dreco/yesh-ui/markdown';\n\nprovideYesh(\n  withBrandColors({ primary: '#0B6E4F', neutral: '#5B6472' }),\n  withTheme('system'),\n  withDensity('compact'),\n  withLocale(ptBR),\n  withMessages({ common: { confirm: 'Ship it' } }),\n  withOverlay({ zIndexBase: 2000 }),\n  withIcons({ ...YESH_BUILTIN_ICONS, rocket: [['path', { d: 'M4.5 16.5…' }]] }),\n  withMarkdownParser(markedParser),\n);\n```\n\nFeatures set the initial state; `YeshAppearanceService` changes any\nappearance axis afterwards — theme, brand, density, reduced motion — as\nsignals with setters, no rebuild and no re-bootstrap:\n\n```ts\nconst appearance = inject(YeshAppearanceService);\nappearance.toggleTheme();\nappearance.setDensity('comfortable');\nappearance.applyBrandColors({ primary: tenant.primary }, { name: 'tenant' });\n```\n\n## Localisation\n\nEnglish is built in and is the fallback for everything.\n\n```ts\nimport { ptBR } from '@dreco/yesh-ui/i18n/pt-BR';\nprovideYesh(withLocale(ptBR));\n```\n\nA locale id alone already goes a long way — this gives German dates, numbers,\ncollation, calendar and CSV delimiter, with the wording still English:\n\n```ts\nprovideYesh(withLocale({ id: 'de-DE' }));\n```\n\nA pack may translate any subset; whatever it leaves out falls back, so a\nhalf-finished translation renders rather than crashing. `YeshI18nService`\nswitches locale at runtime, and the change propagates through the signal graph\nwithout a subscription.\n\n## Theming\n\nTokens are CSS custom properties, so a theme is a stylesheet, not a rebuild:\n\n```css\n[data-yesh-brand='midnight'] {\n  --yesh-primary-600: #4f46e5;\n  --yesh-neutral-900: #0b1020;\n}\n```\n\nEach colour family is a numeric ramp (50–900); role aliases such as\n`--yesh-primary-hover` point at steps of it, and surfaces derive from the\nneutral ramp. Redefining the ramp re-points everything that derives from it —\nwhich is why a whole brand is a handful of seed colours, whether generated by\n`npx @dreco/yesh-ui brand`, passed to `withBrandColors()`, or applied per tenant at\nruntime. Density is a document or region attribute (`[data-yesh-density]`),\nand the overlay z-index band shifts as a unit through `withOverlay()`. See\n[docs/theming.md](https://github.com/andrelopes-code/yesh-ui/blob/main/docs/theming.md).\n\n## Entry points\n\n| Import                             | Contents                                | Optional peer |\n| ---------------------------------- | --------------------------------------- | ------------- |\n| `@dreco/yesh-ui`                   | everything below the line               | —             |\n| `@dreco/yesh-ui/chart`             | `yesh-chart`                            | `echarts`     |\n| `@dreco/yesh-ui/markdown`          | GitHub Flavored Markdown parser         | `marked`      |\n| `@dreco/yesh-ui/table-export-xlsx` | XLSX export adapter                     | `xlsx`        |\n| `@dreco/yesh-ui/fields-br`         | CPF, CNPJ, CEP, phone, validators       | —             |\n| `@dreco/yesh-ui/i18n/pt-BR`        | Brazilian Portuguese pack               | —             |\n| `@dreco/yesh-ui/testing`           | `TestBed` providers, message resolution | —             |\n\n## Testing against Yesh\n\n`@dreco/yesh-ui/testing` configures the library the way the application does, with\nmotion off so the first tick is the settled state:\n\n```ts\nimport { provideYeshTesting, yeshMessages } from '@dreco/yesh-ui/testing';\nimport { withLocale } from '@dreco/yesh-ui';\nimport { ptBR } from '@dreco/yesh-ui/i18n/pt-BR';\n\nTestBed.configureTestingModule({\n  providers: [provideYeshTesting(withLocale(ptBR))],\n});\n\n// Assert against the resolved message rather than restating the copy.\nexpect(button.getAttribute('aria-label')).toBe(yeshMessages(ptBR).common.close);\n```\n\n## Angular support\n\n**Angular 17.3 through 22**, from one published artifact, verified on every\npull request by linking and type-checking the packed tarball against each end\nand the middle of the range.\n\nThe mechanism, and the cost it imposes on the library's own internals, are in\n[SUPPORT.md](https://github.com/andrelopes-code/yesh-ui/blob/main/SUPPORT.md).\n\n## Documentation\n\n- [Theming](https://github.com/andrelopes-code/yesh-ui/blob/main/docs/theming.md) — tokens, brands, light and dark\n- [Accessibility](https://github.com/andrelopes-code/yesh-ui/blob/main/docs/accessibility.md) — what is checked, and what is not\n- [Interoperability](https://github.com/andrelopes-code/yesh-ui/blob/main/docs/interop.md) — running alongside another UI library\n- [Support policy](https://github.com/andrelopes-code/yesh-ui/blob/main/SUPPORT.md) — versions, deprecation, verification\n- `etc/*.api.md` — the recorded public surface, one file per entry point\n\n## Licence\n\nMIT. Icon geometry is derived from [Lucide](https://lucide.dev) (ISC); the\nnotice travels with the generated file.\n","readmeFilename":"README.md"}