{"_id":"@akhildesai20/sprout-ui","_rev":"2-7460642eaf38bf1800fd969e761035d5","name":"@akhildesai20/sprout-ui","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@akhildesai20/sprout-ui","version":"0.1.0","keywords":["ui","css","library","sustainable","lightweight","zero-dependency"],"license":"MIT","_id":"@akhildesai20/sprout-ui@0.1.0","maintainers":[{"name":"akhildesai20","email":"akhil.desai20@gmail.com"}],"homepage":"https://github.com/akhildesai20/Sprout-UI#readme","bugs":{"url":"https://github.com/akhildesai20/Sprout-UI/issues"},"dist":{"shasum":"fb2847d897d1a8f789533a48b24fe1e649112432","tarball":"https://registry.npmjs.org/@akhildesai20/sprout-ui/-/sprout-ui-0.1.0.tgz","fileCount":7,"integrity":"sha512-kF7y17yO2uuLBQXUAeVfdfDtl+k/x66XjHSwZFh8+1LSQ2ykmIgdHEJIoRXpOD+3nzpgEDqMcxvS4/i2F7TfKw==","signatures":[{"sig":"MEUCIHKasuXps4Tw7kvoGyvV4XZZgmFoFcuUpG6JCy0lJlorAiEAk8yBjxzYHLICDorcZOUhi+nHhdVM33fYiEEnf58LB5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97567},"main":"dist/sprout.bundle.js","type":"module","style":"dist/sprout.min.css","module":"dist/sprout.min.js","exports":{".":{"import":"./dist/sprout.min.js","require":"./dist/sprout.bundle.js"},"./css":"./dist/sprout.min.css"},"gitHead":"e6ee48ce5c4acbccc9ec3ad598563f1a147ddb90","scripts":{"dev":"browser-sync start --server --files 'src/*.css, src/*.js, demo/*.html'","build":"npm run build:css && npm run build:js && npm run build:bundle","build:js":"terser src/sprout.js -o dist/sprout.min.js --compress --mangle","docs:dev":"vitepress dev docs","build:css":"lightningcss --minify src/sprout.css -o dist/sprout.min.css","docs:build":"vitepress build docs","build:bundle":"node scripts/bundle.js","docs:preview":"vitepress preview docs"},"_npmUser":{"name":"akhildesai20","email":"akhil.desai20@gmail.com"},"repository":{"url":"git+https://github.com/akhildesai20/Sprout-UI.git","type":"git"},"_npmVersion":"11.4.2","description":"Ultra-lightweight, sustainable, zero-dependency UI library","directories":{},"_nodeVersion":"23.5.0","_hasShrinkwrap":false,"devDependencies":{"terser":"^5.46.0","vitepress":"^1.6.4","browser-sync":"^3.0.2","lightningcss-cli":"^1.31.1"},"_npmOperationalInternal":{"tmp":"tmp/sprout-ui_0.1.0_1772972558020_0.7099809039144807","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@akhildesai20/sprout-ui","version":"0.1.1","description":"Ultra-lightweight, sustainable, zero-dependency UI library","keywords":["ui","css","library","sustainable","lightweight","zero-dependency"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/akhildesai20/Sprout-UI.git"},"homepage":"https://github.com/akhildesai20/Sprout-UI#readme","bugs":{"url":"https://github.com/akhildesai20/Sprout-UI/issues"},"type":"module","main":"dist/sprout.bundle.js","module":"dist/sprout.min.js","style":"dist/sprout.min.css","exports":{".":{"import":"./dist/sprout.min.js","require":"./dist/sprout.bundle.js"},"./css":"./dist/sprout.min.css"},"scripts":{"build:css":"lightningcss --minify src/sprout.css -o dist/sprout.min.css","build:js":"terser src/sprout.js -o dist/sprout.min.js --compress --mangle","build:bundle":"node scripts/bundle.js","build":"npm run build:css && npm run build:js && npm run build:bundle","dev":"browser-sync start --server --files 'src/*.css, src/*.js, demo/*.html'","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","docs:preview":"vitepress preview docs"},"devDependencies":{"browser-sync":"^3.0.2","lightningcss-cli":"^1.31.1","terser":"^5.46.0","vitepress":"^1.6.4"},"_id":"@akhildesai20/sprout-ui@0.1.1","gitHead":"9f6105f84dd1d0ad24baf992285d2cc3f934b501","_nodeVersion":"23.5.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-FseO3HVT27XEwAD/egWd96mDaRfjbeBGJr6hwxhOsypJEgw6tSM4aCWBdsLvkPJUa193Um+X56E7POWS5F5rGQ==","shasum":"efbb8e486e76c085fcad56bd0dff574438630c13","tarball":"https://registry.npmjs.org/@akhildesai20/sprout-ui/-/sprout-ui-0.1.1.tgz","fileCount":7,"unpackedSize":98303,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC+XIiJ0AHubT5+cmcqZI740vhxBUXHhTMw30fnmkhlUQIhAPufK/MHjBNeKLF0798BeL0Zg3ulbZKDQVYkjHEI1dD3"}]},"_npmUser":{"name":"akhildesai20","email":"akhil.desai20@gmail.com"},"directories":{},"maintainers":[{"name":"akhildesai20","email":"akhil.desai20@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sprout-ui_0.1.1_1772975275567_0.9467599221235861"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-08T12:22:37.943Z","modified":"2026-03-08T13:07:55.846Z","0.1.0":"2026-03-08T12:22:38.178Z","0.1.1":"2026-03-08T13:07:55.735Z"},"bugs":{"url":"https://github.com/akhildesai20/Sprout-UI/issues"},"license":"MIT","homepage":"https://github.com/akhildesai20/Sprout-UI#readme","keywords":["ui","css","library","sustainable","lightweight","zero-dependency"],"repository":{"type":"git","url":"git+https://github.com/akhildesai20/Sprout-UI.git"},"description":"Ultra-lightweight, sustainable, zero-dependency UI library","maintainers":[{"name":"akhildesai20","email":"akhil.desai20@gmail.com"}],"readme":"# Sprout UI\n\nUltra-lightweight, sustainable, zero-dependency UI library for the web. Use the built CSS and JS in any project for a complete, accessible UI system. Semantic HTML first; minimal JavaScript.\n\n## Goals\n\n- **Lightweight** — Small footprint. No framework dependency.\n- **Sustainable** — System fonts, minimal effects, dark default, reduced-motion respected.\n- **Semantic-first** — Real HTML elements and ARIA; variants via single classes.\n- **Minimal JS** — Theme, modal, toasts, tabs, dropdown; most behaviour is CSS or native.\n\n## Status\n\n- **GitHub:** [akhildesai20/Sprout-UI](https://github.com/akhildesai20/Sprout-UI) — repo is public.\n- **npm:** Published as [@akhildesai20/sprout-ui](https://www.npmjs.com/package/@akhildesai20/sprout-ui). Current version: **0.1.1**. Install from npm, use CDN, or clone the repo and use the built files in `dist/`.\n\n## Installation\n\n```bash\nnpm install @akhildesai20/sprout-ui\n```\n\n## Usage\n\n### Plain HTML (script tag)\n\nLink the CSS and load the bundle. The bundle injects styles and runs the JS; `window.Sprout` is set and components auto-initialize.\n\n```html\n<!DOCTYPE html>\n<html lang=\"en\" data-theme=\"dark\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>My app</title>\n  <link rel=\"stylesheet\" href=\"node_modules/@akhildesai20/sprout-ui/dist/sprout.min.css\">\n</head>\n<body>\n  <button>Click me</button>\n  <script src=\"node_modules/@akhildesai20/sprout-ui/dist/sprout.bundle.js\"></script>\n</body>\n</html>\n```\n\nOr use the bundle only (it includes the CSS):\n\n```html\n<script src=\"node_modules/@akhildesai20/sprout-ui/dist/sprout.bundle.js\"></script>\n```\n\nIn a built app, point the paths to your bundled or copied assets (e.g. `dist/sprout.min.css`, `dist/sprout.bundle.js`). If you clone the repo instead of using npm, use the files in the repo’s `dist/` folder the same way.\n\n### Plain HTML via CDN\n\nThe package is available on jsDelivr and unpkg. Use the version you need (e.g. `0.1.0` or `latest`).\n\n**jsDelivr:**\n\n```html\n<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/@akhildesai20/sprout-ui@0.1.0/dist/sprout.min.css\">\n<script src=\"https://cdn.jsdelivr.net/npm/@akhildesai20/sprout-ui@0.1.0/dist/sprout.bundle.js\"></script>\n```\n\n**unpkg:**\n\n```html\n<link rel=\"stylesheet\" href=\"https://unpkg.com/@akhildesai20/sprout-ui@0.1.0/dist/sprout.min.css\">\n<script src=\"https://unpkg.com/@akhildesai20/sprout-ui@0.1.0/dist/sprout.bundle.js\"></script>\n```\n\nReplace the version in the URL with the one you need (e.g. `0.1.1`) or use `latest` (not recommended for production).\n\n### ESM / bundler (Vite, Rollup, etc.)\n\nAfter installing the package:\n\n```js\nimport \"@akhildesai20/sprout-ui/css\";\nimport Sprout from \"@akhildesai20/sprout-ui\";\n\nSprout.init();\n```\n\nOr with explicit paths:\n\n```js\nimport \"@akhildesai20/sprout-ui/dist/sprout.min.css\";\nimport Sprout from \"@akhildesai20/sprout-ui\";\n\nSprout.init();\n```\n\nAfter `Sprout.init()`, modals, toasts, tabs, dropdowns, and other components work. You can also use `window.Sprout` (e.g. `Sprout.toast('Hello')`) when the script runs in the browser.\n\n## Links\n\n- **GitHub:** [akhildesai20/Sprout-UI](https://github.com/akhildesai20/Sprout-UI)\n- **npm:** [@akhildesai20/sprout-ui](https://www.npmjs.com/package/@akhildesai20/sprout-ui)\n\n**What’s included:** One CSS file and one JS file (or a single bundle). Design tokens, typography, layout primitives, forms, feedback, navigation, data display, overlays. Docs and benchmarks live in the repo.\n\n## Project structure\n\n| Path | Purpose |\n|------|--------|\n| `src/` | Source: `sprout.css`, `sprout.js`. Single source of truth. |\n| `dist/` | Built assets (min CSS, min JS, single bundle). Tracked so clone-and-run works. |\n| `docs/` | VitePress documentation site (guides, components, tokens, reference). |\n| `benchmarks/` | Benchmark pages and results template (Lighthouse, DevTools). |\n| `scripts/` | Build and scoping scripts (`bundle.js`, `scope-sprout-css.js`). |\n| `demo/` | Kitchen-sink demo (`demo/index.html`). |\n| `package.json` | Scripts and metadata. |\n| `SPROUT.md` | Design and behaviour spec (for contributors and AI). |\n| `tests/install/` | Smoke tests: `plain-html.html` (bundle), `esm.html` (ESM). Serve repo root and open these to verify install. |\n\n## Local development\n\n```bash\nnpm install\nnpm run build\n```\n\n- **Demo:** `npm run dev` — serves repo root; open the URL and go to `/demo/`.\n- **Docs:** `npm run docs:dev` — runs VitePress; open the URL shown.\n- **Benchmarks:** After `npm run build`, serve the repo root (e.g. `npx serve .`) and open `/benchmarks/baseline.html`, `sprout-components.html`, `sprout-interactions.html`. See `benchmarks/README.md` for how to run and record results.\n\nGenerated files: `dist/*` from `npm run build`; `docs/.vitepress/theme/sprout-scoped.css` from `node scripts/scope-sprout-css.js` (run after changing `src/sprout.css`). See `CONTRIBUTING.md` for details.\n\nSet `data-theme=\"dark\" | \"light\" | \"high-contrast\"` on `<html>` to pick a theme, or omit for OS preference.\n\n## Components (overview)\n\n| Area | Examples |\n|------|----------|\n| Buttons | `<button>`, classes: `outline`, `ghost`, `danger`, `success`, `sm`, `lg` |\n| Forms | Input, textarea, select, checkbox, radio, toggle, range, fieldset |\n| Feedback | Alerts (`role=\"alert\"`), badges, progress, meter, spinner, skeleton |\n| Data | Cards, stats, avatars, table, code block, divider |\n| Navigation | Navbar, breadcrumb, pagination, sidebar |\n| Overlays | Modal (`data-modal`), `<sp-dropdown>`, `<sp-tabs>`, toasts, tooltip |\n\nFull reference is in the docs (run `npm run docs:dev`).\n\n## Customizing\n\nOverride design tokens in your CSS after Sprout:\n\n```css\n:root {\n  --sp-primary: #your-color;\n  --sp-radius-md: 8px;\n}\n```\n\n## For AI assistants\n\nIf you use Cursor, Copilot, Claude, etc., with this repo:\n\n- **Spec:** `SPROUT.md` defines design, naming, and behaviour.\n- **Source:** `src/sprout.css`, `src/sprout.js`. Do not edit generated files (`dist/*`, `docs/.vitepress/theme/sprout-scoped.css`) by hand; change source and rebuild/regenerate.\n- **Conventions:** Semantic HTML first; single-class variants; tokens prefixed `--sp-`; `<sp-tabs>`, `<sp-dropdown>` for tabs and dropdowns; toasts via `Sprout.toast()`; modal via `data-modal=\"id\"`.\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","readmeFilename":"README.md"}