{"_id":"@carbon-labs/primitives","_rev":"6-32aa7c0222b4c6827712762372312a64","name":"@carbon-labs/primitives","dist-tags":{"latest":"0.6.0"},"versions":{"0.2.0":{"name":"@carbon-labs/primitives","version":"0.2.0","license":"Apache-2.0","_id":"@carbon-labs/primitives@0.2.0","maintainers":[{"name":"carbon-design-system","email":"carbon@us.ibm.com"},{"name":"tay1orjones","email":"taylor.jones826@gmail.com"},{"name":"carbon-bot","email":"carbondesignsystem@gmail.com"},{"name":"ibmdesign","email":"ibmdesign@us.ibm.com"},{"name":"jeffreychew","email":"jeff.chew@gmail.com"}],"homepage":"https://github.com/carbon-design-system/carbon-labs#readme","bugs":{"url":"https://github.com/carbon-design-system/carbon-labs/issues"},"dist":{"shasum":"d3ac7773a22128718a7107000f588aabcc921fe1","tarball":"https://registry.npmjs.org/@carbon-labs/primitives/-/primitives-0.2.0.tgz","fileCount":39,"integrity":"sha512-AF87IE06c+oMrbOBkaCQGJzfDbrKDUBzwtx0GvcTr4TOf810QpAI0rz/g/KRZ9shnI07hKmQV0Q7x54SfHQ19Q==","signatures":[{"sig":"MEQCIGgKUZuFh3NWQexk8oWss2jFBVrMX+lcwM//PzosWpUzAiArhblEqmsiC2WagZI0ofclehlmDZMsbJeYy+f126oTbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carbon-labs%2fprimitives@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":238962},"main":"./es/index.js","type":"module","types":"./es/index.d.ts","module":"./es/index.js","exports":{".":{"types":"./es/index.d.ts","import":"./es/index.js","default":"./es/index.js"},"./es/*":{"types":"./es/*.d.ts","import":"./es/*","default":"./es/*"},"./date-picker":{"types":"./es/date-picker/index.d.ts","import":"./es/date-picker/index.js","default":"./es/date-picker/index.js"}},"gitHead":"a90f7c900917a4a25e61fe92a80a564f81cdaa50","scripts":{"test":"echo \"No tests yet\" && exit 0","build":"bash scripts/build.sh","clean":"rimraf es"},"_npmUser":{"name":"carbon-bot","email":"carbondesignsystem@gmail.com"},"repository":{"url":"git+https://github.com/carbon-design-system/carbon-labs.git","type":"git","directory":"packages/primitives"},"_npmVersion":"lerna/9.0.3/node@v22.22.0+x64 (linux)","description":"Framework-agnostic primitives for Carbon Labs components","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"xstate":"^5.18.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","typescript":"^5.7.2","@types/node":"^20.17.10"},"_npmOperationalInternal":{"tmp":"tmp/primitives_0.2.0_1776179752420_0.17387429041653402","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@carbon-labs/primitives","version":"0.3.0","license":"Apache-2.0","_id":"@carbon-labs/primitives@0.3.0","maintainers":[{"name":"carbon-design-system","email":"carbon@us.ibm.com"},{"name":"tay1orjones","email":"taylor.jones826@gmail.com"},{"name":"carbon-bot","email":"carbondesignsystem@gmail.com"},{"name":"ibmdesign","email":"ibmdesign@us.ibm.com"},{"name":"jeffreychew","email":"jeff.chew@gmail.com"}],"homepage":"https://github.com/carbon-design-system/carbon-labs#readme","bugs":{"url":"https://github.com/carbon-design-system/carbon-labs/issues"},"dist":{"shasum":"4bddcdc207485381546605a94c2cc81a2e4cf6ca","tarball":"https://registry.npmjs.org/@carbon-labs/primitives/-/primitives-0.3.0.tgz","fileCount":39,"integrity":"sha512-xY+ZUNNCyCWgkYnE3O137HOrMYSuiDVMM4A3FOV/UMTdDG6YkIRMFRiKrcJP8rlhCU5WnkiQJcvf9mFhg8/dBQ==","signatures":[{"sig":"MEUCICxo5D1i91b44W6Wh646M5G2PAG/Z34thaChufE3Yvq3AiEAoOmzF5HvC/OQHjf/ML4fiCV3SMCLvyg+NeoYKdSryG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carbon-labs%2fprimitives@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":237674},"main":"./es/index.js","type":"module","types":"./es/index.d.ts","module":"./es/index.js","exports":{".":{"types":"./es/index.d.ts","import":"./es/index.js","default":"./es/index.js"},"./es/*":{"types":"./es/*.d.ts","import":"./es/*","default":"./es/*"},"./date-picker":{"types":"./es/date-picker/index.d.ts","import":"./es/date-picker/index.js","default":"./es/date-picker/index.js"}},"gitHead":"a498cea2527d9c499e0e4ced278488a1521bfdad","scripts":{"test":"echo \"No tests yet\" && exit 0","build":"bash scripts/build.sh","clean":"rimraf es"},"_npmUser":{"name":"carbon-bot","email":"carbondesignsystem@gmail.com"},"repository":{"url":"git+https://github.com/carbon-design-system/carbon-labs.git","type":"git","directory":"packages/primitives"},"_npmVersion":"lerna/9.0.3/node@v22.22.2+x64 (linux)","description":"Framework-agnostic primitives for Carbon Labs components","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"xstate":"^5.18.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.1","typescript":"^5.7.2","@types/node":"^20.17.10"},"_npmOperationalInternal":{"tmp":"tmp/primitives_0.3.0_1778581878308_0.5401563021824349","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@carbon-labs/primitives","version":"0.4.0","license":"Apache-2.0","_id":"@carbon-labs/primitives@0.4.0","maintainers":[{"name":"carbon-design-system","email":"carbon@us.ibm.com"},{"name":"tay1orjones","email":"taylor.jones826@gmail.com"},{"name":"carbon-bot","email":"carbondesignsystem@gmail.com"},{"name":"ibmdesign","email":"ibmdesign@us.ibm.com"},{"name":"jeffreychew","email":"jeff.chew@gmail.com"}],"homepage":"https://github.com/carbon-design-system/carbon-labs#readme","bugs":{"url":"https://github.com/carbon-design-system/carbon-labs/issues"},"dist":{"shasum":"59e45993643c3c09bb5a44a5158ba18094c2a2dd","tarball":"https://registry.npmjs.org/@carbon-labs/primitives/-/primitives-0.4.0.tgz","fileCount":39,"integrity":"sha512-ZujLmtkMh4nUj5SUTou6mAquFr2ZRSjCtrIdcGyiaobJCjR3AGpqU5F3GNKpatGUs5YvxzVfJwWL99TbyAu++g==","signatures":[{"sig":"MEUCIAuEagqmIzlSnRIXcDQfRopq5Xn20tZepo0Ldel3LODgAiEAqgVhy3uZYKrneWyWauYpS+m6cmcVUyOXx2C+2eAm9GY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carbon-labs%2fprimitives@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":237674},"main":"./es/index.js","type":"module","types":"./es/index.d.ts","module":"./es/index.js","exports":{".":{"types":"./es/index.d.ts","import":"./es/index.js","default":"./es/index.js"},"./es/*":{"types":"./es/*.d.ts","import":"./es/*","default":"./es/*"},"./date-picker":{"types":"./es/date-picker/index.d.ts","import":"./es/date-picker/index.js","default":"./es/date-picker/index.js"}},"gitHead":"aedc07fc6803a73f49614346a610480087d6116f","scripts":{"test":"echo \"No tests yet\" && exit 0","build":"bash scripts/build.sh","clean":"rimraf es"},"_npmUser":{"name":"carbon-bot","email":"carbondesignsystem@gmail.com"},"repository":{"url":"git+https://github.com/carbon-design-system/carbon-labs.git","type":"git","directory":"packages/primitives"},"_npmVersion":"lerna/9.0.3/node@v22.22.2+x64 (linux)","description":"Framework-agnostic primitives for Carbon Labs components","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"xstate":"^5.18.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.1.3","typescript":"^5.7.2","@types/node":"^20.17.10"},"_npmOperationalInternal":{"tmp":"tmp/primitives_0.4.0_1778719369395_0.8991563948121073","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@carbon-labs/primitives","version":"0.5.0","license":"Apache-2.0","_id":"@carbon-labs/primitives@0.5.0","maintainers":[{"name":"carbon-design-system","email":"carbon@us.ibm.com"},{"name":"tay1orjones","email":"taylor.jones826@gmail.com"},{"name":"carbon-bot","email":"carbondesignsystem@gmail.com"},{"name":"ibmdesign","email":"ibmdesign@us.ibm.com"},{"name":"jeffreychew","email":"jeff.chew@gmail.com"}],"homepage":"https://github.com/carbon-design-system/carbon-labs#readme","bugs":{"url":"https://github.com/carbon-design-system/carbon-labs/issues"},"dist":{"shasum":"fc1e5edfaf28adde7dd7e0585e54ef3d08214c98","tarball":"https://registry.npmjs.org/@carbon-labs/primitives/-/primitives-0.5.0.tgz","fileCount":40,"integrity":"sha512-pIzxRCowSQjTIhIuuzxlAJDUIXNYh510fl8eJhSSk5erRNXvz61baUoGjBzRd1RaqERWdn66PpgbxEioRYNnBg==","signatures":[{"sig":"MEUCIQCzEgU4Fy9sYOALZbWgbC5l86Jodm4T5xDAaJd/TfpxeAIgM1ri8JSMwmmmKMwKs+ebmE1Mj/s7VBFS4Larl4xC2R0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carbon-labs%2fprimitives@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":254524},"main":"./es/index.js","type":"module","types":"./es/index.d.ts","module":"./es/index.js","exports":{".":{"types":"./es/index.d.ts","import":"./es/index.js","default":"./es/index.js"},"./es/*":{"types":"./es/*.d.ts","import":"./es/*","default":"./es/*"},"./date-picker":{"types":"./es/date-picker/index.d.ts","import":"./es/date-picker/index.js","default":"./es/date-picker/index.js"}},"gitHead":"d479369806a9d59d480a0ebaeb6171c28e2db6fb","scripts":{"test":"vitest run","build":"bash scripts/build.sh","clean":"rimraf es","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"carbon-bot","email":"carbondesignsystem@gmail.com"},"repository":{"url":"git+https://github.com/carbon-design-system/carbon-labs.git","type":"git","directory":"packages/primitives"},"_npmVersion":"lerna/9.0.7/node@v22.22.3+x64 (linux)","description":"Framework-agnostic primitives for Carbon Labs components","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"xstate":"^5.18.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rimraf":"^6.1.3","vitest":"^3.0.0","typescript":"^5.7.2","@types/node":"^20.17.10","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/primitives_0.5.0_1784137549052_0.8212082078742529","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"_id":"@carbon-labs/primitives@0.6.0","bugs":{"url":"https://github.com/carbon-design-system/carbon-labs/issues"},"dist":{"shasum":"ff774b59388e0600c2944303edc4769073a67d48","tarball":"https://registry.npmjs.org/@carbon-labs/primitives/-/primitives-0.6.0.tgz","fileCount":40,"integrity":"sha512-WydEpOMJ5uLVo7r0ZoK+8vnbXQjFxhIXfs+5Lhik4i66ywmPo6aq5B1p8bWj3CoYU4nn4YnnyVKXzS2/ikT7Hg==","signatures":[{"sig":"MEUCIQCxo73q2nv7u8TH9ZMxz1KcZO5GTRkoEvMG3LB2UQ19+wIgEHk8Q5Q5ikeioiiGU/RhB2CZOloT4QP0qQSOhmChZ/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAiCRBYEsGktdiLJFtDaeHRGEh3VY7PcrHp0FNmeFHU8AiEAwbt6XADg/GN9Di/uQiH5zu6xtIXFnOPBdXby8HOLmzU="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carbon-labs%2fprimitives@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":254524},"main":"./es/index.js","name":"@carbon-labs/primitives","type":"module","types":"./es/index.d.ts","module":"./es/index.js","exports":{".":{"types":"./es/index.d.ts","import":"./es/index.js","default":"./es/index.js"},"./es/*":{"types":"./es/*.d.ts","import":"./es/*","default":"./es/*"},"./date-picker":{"types":"./es/date-picker/index.d.ts","import":"./es/date-picker/index.js","default":"./es/date-picker/index.js"}},"gitHead":"80ff0a4d9a462d7b545a249cfce834a76b4cbdf4","license":"Apache-2.0","scripts":{"test":"vitest run","build":"bash scripts/build.sh","clean":"rimraf es","test:watch":"vitest","test:coverage":"vitest run --coverage"},"version":"0.6.0","_npmUser":{"name":"carbon-bot","email":"carbondesignsystem@gmail.com"},"homepage":"https://github.com/carbon-design-system/carbon-labs#readme","repository":{"url":"git+https://github.com/carbon-design-system/carbon-labs.git","type":"git","directory":"packages/primitives"},"_npmVersion":"lerna/9.0.7/node@v22.23.2+x64 (linux)","description":"Framework-agnostic primitives for Carbon Labs components","directories":{},"maintainers":[{"name":"carbon-design-system","email":"carbon@us.ibm.com"},{"name":"carbon-bot","email":"carbondesignsystem@gmail.com"},{"name":"ibmdesign","email":"ibmdesign@us.ibm.com"},{"name":"jeffreychew","email":"jeff.chew@gmail.com"}],"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"xstate":"^5.18.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.0.0","rimraf":"^6.1.3","vitest":"^4.0.0","typescript":"^5.7.2","@types/node":"^20.17.10","@vitest/coverage-v8":"^3.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/primitives_0.6.0_1789757409825_0.37972215210500604"}}},"time":{"created":"2026-04-14T15:15:52.256Z","modified":"2026-09-18T18:50:11.117Z","0.2.0":"2026-04-14T15:15:52.587Z","0.3.0":"2026-05-12T10:31:18.472Z","0.4.0":"2026-05-14T00:42:49.550Z","0.5.0":"2026-07-15T17:45:49.184Z","0.6.0":"2026-09-18T18:50:09.925Z"},"bugs":{"url":"https://github.com/carbon-design-system/carbon-labs/issues"},"license":"Apache-2.0","homepage":"https://github.com/carbon-design-system/carbon-labs#readme","repository":{"url":"git+https://github.com/carbon-design-system/carbon-labs.git","type":"git","directory":"packages/primitives"},"description":"Framework-agnostic primitives for Carbon Labs components","maintainers":[{"name":"carbon-design-system","email":"carbon@us.ibm.com"},{"name":"carbon-bot","email":"carbondesignsystem@gmail.com"},{"name":"ibmdesign","email":"ibmdesign@us.ibm.com"},{"name":"jeffreychew","email":"jeff.chew@gmail.com"}],"readme":"# @carbon-labs/primitives\n\nFramework-agnostic primitives for Carbon Labs components.\n\n## Overview\n\nThis package contains shared, framework-agnostic logic that can be used across\ndifferent Carbon Labs implementations (Web Components, React, Vue, etc.). It\nincludes state machines, utilities, and other reusable primitives.\n\n## Installation\n\n```bash\nnpm install @carbon-labs/primitives\n# or\nyarn add @carbon-labs/primitives\n```\n\n## Primitives\n\n### Date Picker State Machine\n\nA comprehensive state machine for managing date picker behavior, including:\n\n- Single and range date selection\n- Calendar navigation\n- Keyboard interactions\n- Input validation\n- Accessibility features\n\n#### Usage\n\n```typescript\nimport { DatePickerStateMachine } from '@carbon-labs/primitives/date-picker';\n\n// Create a new state machine instance\nconst machine = new DatePickerStateMachine({\n  mode: 'single',\n  value: '',\n  minDate: '2024-01-01',\n  maxDate: '2024-12-31',\n});\n\n// Subscribe to state changes\nmachine.subscribe((transition) => {\n  console.log('State changed:', transition);\n});\n\n// Send events\nmachine.send('CALENDAR_OPEN');\nmachine.send('DATE_SELECT', { date: { year: 2024, month: 3, day: 15 } });\n```\n\n#### API\n\nSee the [Date Picker documentation](./src/date-picker/README.md) for detailed\nAPI information.\n\n## Framework Integration\n\n### Web Components\n\n```typescript\nimport { DatePickerStateMachine } from '@carbon-labs/primitives/date-picker';\n\nclass MyDatePicker extends HTMLElement {\n  private machine: DatePickerStateMachine;\n\n  constructor() {\n    super();\n    this.machine = new DatePickerStateMachine({\n      mode: 'single',\n    });\n  }\n}\n```\n\n### React\n\n```typescript\nimport { useMemo } from 'react';\nimport { DatePickerStateMachine } from '@carbon-labs/primitives/date-picker';\n\nfunction useDatePicker(config) {\n  const machine = useMemo(() => new DatePickerStateMachine(config), [config]);\n\n  // Use machine in your component\n  return machine;\n}\n```\n\n## Development\n\n### Building\n\n```bash\nyarn build\n```\n\n### Testing\n\n```bash\nyarn test\n```\n\n## Contributing\n\nSee the main [Carbon Labs contributing guide](../../CONTRIBUTING.md).\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}