{"_id":"@aeon-ui/primitives","name":"@aeon-ui/primitives","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aeon-ui/primitives","version":"0.1.0","description":"XState machines for Aeon UI primitives","license":"MIT","repository":{"type":"git","url":"git+https://github.com/GenericCPU/aeon-ui.git","directory":"packages/primitives"},"publishConfig":{"access":"public"},"keywords":["aeon-ui","xstate","statechart","machines"],"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./machines/*":{"types":"./dist/machines/*.d.ts","import":"./dist/machines/*.js"}},"dependencies":{"xstate":"^5.19.2","@aeon-ui/core":"0.1.0"},"devDependencies":{"tsup":"^8.4.0","typescript":"^5.8.3","vitest":"^4.1.8"},"scripts":{"build":"tsup src/index.ts src/machines/*.ts --format esm --dts --clean","typecheck":"tsc --noEmit","test":"vitest run"},"_id":"@aeon-ui/primitives@0.1.0","bugs":{"url":"https://github.com/GenericCPU/aeon-ui/issues"},"homepage":"https://github.com/GenericCPU/aeon-ui#readme","_integrity":"sha512-KH/9o0C97g8lyiOlU5q27ScKtI1p/b5OO6OGmd19D8wO5cvr4AAB40nCCqgfPoSBQ4ltX8LSw8SBaxHWGeo/9A==","_resolved":"/private/var/folders/wk/mtltqfc92hs4vf24ph9vhvc40000gn/T/a2c884d7924d17d2580960072679237a/aeon-ui-primitives-0.1.0.tgz","_from":"file:aeon-ui-primitives-0.1.0.tgz","_nodeVersion":"22.22.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-KH/9o0C97g8lyiOlU5q27ScKtI1p/b5OO6OGmd19D8wO5cvr4AAB40nCCqgfPoSBQ4ltX8LSw8SBaxHWGeo/9A==","shasum":"10d223d731338d4be38b9578182e132fc6dcc78e","tarball":"https://registry.npmjs.org/@aeon-ui/primitives/-/primitives-0.1.0.tgz","fileCount":35,"unpackedSize":34352,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBoZEFdXFH0w8OHFLoZ1SGo4p3geMj6HVwE3SpCAYEL3AiALuXpVU+/0bZYcb6wSLD3kMHyDKxP5FdNh+Q5VRMk2mQ=="}]},"_npmUser":{"name":"bgcryderman","email":"brandongcryderman@gmail.com"},"directories":{},"maintainers":[{"name":"bgcryderman","email":"brandongcryderman@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/primitives_0.1.0_1780612459706_0.055100930359043065"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-04T22:34:19.547Z","0.1.0":"2026-06-04T22:34:19.915Z","modified":"2026-06-04T22:34:20.166Z"},"maintainers":[{"name":"bgcryderman","email":"brandongcryderman@gmail.com"}],"description":"XState machines for Aeon UI primitives","homepage":"https://github.com/GenericCPU/aeon-ui#readme","keywords":["aeon-ui","xstate","statechart","machines"],"repository":{"type":"git","url":"git+https://github.com/GenericCPU/aeon-ui.git","directory":"packages/primitives"},"bugs":{"url":"https://github.com/GenericCPU/aeon-ui/issues"},"license":"MIT","readme":"# @aeon-ui/primitives\n\n**XState v5 machines** — behavior only, no DOM.\n\nAgents: [docs/MACHINES.md](../../docs/MACHINES.md) lists every machine and events.\n\n## Install\n\n```bash\npnpm add @aeon-ui/primitives\n```\n\nPair with `@aeon-ui/react` (`useAeonMachine`) or your own XState bindings.\n\n## Exported machines\n\n| Export | File | Use |\n|--------|------|-----|\n| `toggleMachine` | `machines/toggle.ts` | Switch, Checkbox |\n| `dialogMachine` | `machines/dialog.ts` | Dialog |\n| `tabsMachine` | `machines/tabs.ts` | Tabs |\n| `accordionMachine` | `machines/accordion.ts` | Accordion |\n| `createAsyncMachine` | `machines/async.ts` | Async regions |\n| `asyncMachine` | default instance | |\n| `buttonLifecycleMachine` | `machines/button.ts` | App/demo — not wired inside headless Button |\n| `fieldMachine` | `machines/field.ts` | Field (parallel) |\n| `popoverMachine` | `machines/popover.ts` | Menu, Popover, Select |\n| `toastMachine` | `machines/toast.ts` | Toast item |\n\n## Helpers\n\n```ts\nimport { ASYNC_LIFECYCLE_STATES, isEmptyAsyncData, createAsyncMachine } from '@aeon-ui/primitives'\n```\n\n## Async example\n\n```ts\nconst machine = createAsyncMachine<User[]>()\n// send: FETCH | RESOLVE | REJECT | RESET | STALE | REFRESH\n```\n\n## Extend\n\n1. Add `src/machines/<name>.ts`\n2. Export from `src/index.ts`\n3. Wire in `@aeon-ui/react`\n4. Update `apps/demo/src/aeonDiagrams.ts`\n5. [docs/COMPONENT_CHECKLIST.md](../../docs/COMPONENT_CHECKLIST.md)\n\n## Related\n\n- [STATES.md](../../STATES.md)\n- [packages/react/README.md](../react/README.md)\n","readmeFilename":"README.md","_rev":"1-8a1d04b196c5258c277ee8c7f9b7316e"}