{"_id":"@aetherstack/patterns","_rev":"3-290186224a6cfd101413f68e1ca14bb3","name":"@aetherstack/patterns","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@aetherstack/patterns","version":"0.1.0","license":"MIT","_id":"@aetherstack/patterns@0.1.0","maintainers":[{"name":"bogdan.m","email":"liviu.bogdan.martinescu@gmail.com"}],"dist":{"shasum":"e24ee338fb3b712670470ebe6b019f1790985055","tarball":"https://registry.npmjs.org/@aetherstack/patterns/-/patterns-0.1.0.tgz","fileCount":164,"integrity":"sha512-+u/qYfqRWgTt2uqDhQkrtY3ALGTrF8PBcz/seabJkpp0Edj6awHQ9ViQJsvMMoJXGCO868eCyuchEcHAlHlJGw==","signatures":[{"sig":"MEUCIFJ33dR6r5vjR704XRG5+OfR0v4YlHNoh0/7SdWf2WHaAiEAsFJsW4lS9I5eXANXNujQNJ2cez2Y+Fqaai3sz1ApDrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":612820},"main":"./dist/index.js","_from":"file:aetherstack-patterns-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bogdan.m","email":"liviu.bogdan.martinescu@gmail.com"},"_resolved":"/private/var/folders/pj/gx3ryyb97_q4sp3922jcd4v80000gn/T/d7ff44eabf358fa19c7bb4b672061605/aetherstack-patterns-0.1.0.tgz","_integrity":"sha512-+u/qYfqRWgTt2uqDhQkrtY3ALGTrF8PBcz/seabJkpp0Edj6awHQ9ViQJsvMMoJXGCO868eCyuchEcHAlHlJGw==","_npmVersion":"11.12.1","description":"Aether UI patterns — higher-level compositions of UI primitives (forms, nav, data displays)","directories":{},"_nodeVersion":"25.9.0","dependencies":{"cmdk":"^1.1.1","lucide-react":"^0.441.0","@aetherstack/ui":"0.1.0","@aetherstack/utils":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","jsdom":"^29.1.0","vitest":"^1.6.0","typescript":"^5.4.5","@types/react":"^18.3.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1","@aetherstack/tailwind-config":"0.0.1","@aetherstack/typescript-config":"0.0.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/patterns_0.1.0_1777541874228_0.5727741365418821","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aetherstack/patterns","version":"0.1.1","license":"MIT","_id":"@aetherstack/patterns@0.1.1","maintainers":[{"name":"bogdan.m","email":"liviu.bogdan.martinescu@gmail.com"}],"dist":{"shasum":"5d06f36c0fec863cf6ff3dd6410ff2d9aa0335e3","tarball":"https://registry.npmjs.org/@aetherstack/patterns/-/patterns-0.1.1.tgz","fileCount":164,"integrity":"sha512-I4t3HZUsfW4NTBlYuTNX7eDpzSZoYwDW1WZtYMpvAhy2uPOTZOqpxXlYZ/J3IB/1mdPqnFzexLlbAsz/F8iUJw==","signatures":[{"sig":"MEYCIQDaF3GaR/CuZS+vj7yqYESgHNfyYpfnxkKNjOEGkiapaAIhAOZBsAo0H/ehuQCySx15mbsY1kyYbMdlCuArftdULABe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624297},"main":"./dist/index.js","_from":"file:aetherstack-patterns-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"bogdan.m","email":"liviu.bogdan.martinescu@gmail.com"},"_resolved":"/tmp/46722bb6349a57491c2227da7fb034b4/aetherstack-patterns-0.1.1.tgz","_integrity":"sha512-I4t3HZUsfW4NTBlYuTNX7eDpzSZoYwDW1WZtYMpvAhy2uPOTZOqpxXlYZ/J3IB/1mdPqnFzexLlbAsz/F8iUJw==","_npmVersion":"10.8.2","description":"Aether UI patterns — higher-level compositions of UI primitives (forms, nav, data displays)","directories":{},"_nodeVersion":"20.20.2","dependencies":{"cmdk":"^1.1.1","lucide-react":"^0.441.0","@aetherstack/ui":"0.2.0","@aetherstack/utils":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","jsdom":"^29.1.0","vitest":"^1.6.0","typescript":"^5.4.5","@types/react":"^18.3.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1","@aetherstack/tailwind-config":"0.0.1","@aetherstack/typescript-config":"0.0.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/patterns_0.1.1_1777583120870_0.3840348520208985","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aetherstack/patterns","version":"0.3.0","description":"Aether UI patterns — higher-level compositions of UI primitives (forms, nav, data displays)","license":"MIT","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js","types":"./dist/index.d.ts"}},"dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","cmdk":"^1.1.1","lucide-react":"^0.441.0","next-themes":"^0.4.6","@aetherstack/ui":"0.4.0","@aetherstack/utils":"0.1.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"devDependencies":{"@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/react":"^18.3.1","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.7.0","jsdom":"^29.1.0","tsup":"^8.0.2","typescript":"^5.4.5","vitest":"^1.6.0","@aetherstack/tailwind-config":"0.0.1","@aetherstack/typescript-config":"0.0.1"},"scripts":{"build":"tsup","typecheck":"tsc --noEmit","test":"vitest run"},"module":"./dist/index.mjs","_id":"@aetherstack/patterns@0.3.0","_integrity":"sha512-KVjfD1BZSOtN0ujaKaBOg1DB4amveqlOxxBFlclGopfRL1CcPZRKIzNe+w7a74HUA781wm2HiDzvyOlyO4s9/w==","_resolved":"/tmp/da8dcbefc0f99a6f93efa9430e6481b7/aetherstack-patterns-0.3.0.tgz","_from":"file:aetherstack-patterns-0.3.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-KVjfD1BZSOtN0ujaKaBOg1DB4amveqlOxxBFlclGopfRL1CcPZRKIzNe+w7a74HUA781wm2HiDzvyOlyO4s9/w==","shasum":"fef9b23b847f5dbee87eb5b7dff990b6e06fcf72","tarball":"https://registry.npmjs.org/@aetherstack/patterns/-/patterns-0.3.0.tgz","fileCount":189,"unpackedSize":1121178,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCm4otkydPMmhtFXRbSRK1yPrgLTe9yvON7xNfpAu6lRwIgZh+MEXTfc1AlFZeHWK78Z6RF0IKucjPbL2DwdQC4epk="}]},"_npmUser":{"name":"bogdan.m","email":"liviu.bogdan.martinescu@gmail.com"},"directories":{},"maintainers":[{"name":"bogdan.m","email":"liviu.bogdan.martinescu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/patterns_0.3.0_1777757652061_0.5997511538750777"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-30T09:37:54.169Z","modified":"2026-05-02T21:34:12.627Z","0.1.0":"2026-04-30T09:37:54.375Z","0.1.1":"2026-04-30T21:05:21.029Z","0.3.0":"2026-05-02T21:34:12.215Z"},"license":"MIT","description":"Aether UI patterns — higher-level compositions of UI primitives (forms, nav, data displays)","maintainers":[{"name":"bogdan.m","email":"liviu.bogdan.martinescu@gmail.com"}],"readme":"# @aetherstack/patterns\n\n> Aether UI — 20 higher-level UI patterns built on `@aetherstack/ui` primitives.\n\nPart of the [Aetherstack](https://aether-ui.dev) design system monorepo.\n\n## What this is\n\n`@aetherstack/patterns` provides product-level UI compositions that combine multiple primitives into common SaaS interface elements: forms, data tables, navigation, stat displays, command palettes, and more.\n\n## Install\n\n```bash\npnpm add @aetherstack/patterns @aetherstack/ui @aetherstack/utils\n```\n\n**Peer dependencies:**\n\n```bash\npnpm add react react-dom tailwindcss\n```\n\n## Usage\n\n```tsx\nimport { DataTable, StatGroup, StatItem } from \"@aetherstack/patterns\"\n\nconst columns = [\n  { key: \"name\", header: \"Name\", sortable: true },\n  { key: \"email\", header: \"Email\" },\n]\n\nexport function UsersPage() {\n  return (\n    <>\n      <StatGroup cols={3}>\n        <StatItem label=\"Total users\" value=\"1,284\" delta={12} />\n        <StatItem label=\"Active\" value=\"847\" delta={-3} />\n        <StatItem label=\"New this week\" value=\"38\" delta={21} />\n      </StatGroup>\n      <DataTable columns={columns} data={users} searchable searchKeys={[\"name\", \"email\"]} />\n    </>\n  )\n}\n```\n\n## Patterns (20)\n\n**Data display:** DataTable, StatGroup, MetricCard  \n**Commands:** CommandPalette  \n**Navigation:** PageHeader, Breadcrumb, SectionHeader, SettingsSection, SidebarNav  \n**Forms:** FormField  \n**State:** EmptyState, LoadingState, ErrorState  \n**Activity:** ActivityFeed  \n**Task management:** Stepper, Kanban  \n**File handling:** FileDropzone  \n**Styling:** ColorPicker  \n**Filtering:** TableToolbar, FilterToolbar  \n\n## CLI-first workflow\n\n```bash\nnpx aether-ui add data-table\nnpx aether-ui add command-palette\n```\n\nSee [aether-ui.dev/patterns](https://aether-ui.dev/patterns).\n\n## License\n\nMIT — see [LICENSE](../../LICENSE)\n","readmeFilename":"README.md"}