{"_id":"@bimetal/kanban-headless","_rev":"11-5fee67685ebf50747b7641fd458e6917","name":"@bimetal/kanban-headless","dist-tags":{"next":"1.0.0-rc.3","latest":"0.38.0"},"versions":{"0.29.0":{"name":"@bimetal/kanban-headless","version":"0.29.0","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"author":{"name":"Andreas Biederbeck"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@bimetal/kanban-headless@0.29.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"335762056f76252acaa1057dcc747440ab0a1764","tarball":"https://registry.npmjs.org/@bimetal/kanban-headless/-/kanban-headless-0.29.0.tgz","fileCount":20,"integrity":"sha512-P7K+CfXs/HdP/RtuPHiG/uxp5WUS+Su7ZIjgy7esa7igu6r9DJf0Xj76gs0M/9JZW6xMNn9zVdISft7ds0mDhQ==","signatures":[{"sig":"MEQCIHBRlKUZp5l9JkafSWMKh+jol58FHqUzoBCPDauplOSLAiARsjDzRyNWgJZokbZxRd0yw6zgD7pAtpyhX2OiJdywgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120379},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"186d8761ec5cd0a33f6ea349beb975099167fbc9","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"@bimetal/kanban-data":"^0.29.0","@bimetal/headless-core":"^0.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/kanban-headless_0.29.0_1784138937109_0.4422252487507723","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"@bimetal/kanban-headless","version":"0.30.0","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"author":{"name":"Andreas Biederbeck"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@bimetal/kanban-headless@0.30.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"dc69e851bf6051822b17220e829977e57c767a33","tarball":"https://registry.npmjs.org/@bimetal/kanban-headless/-/kanban-headless-0.30.0.tgz","fileCount":20,"integrity":"sha512-s1qmOHhuVXSr11yMsSQNVhfWMx8he8h/j1qg74Dpf4zJotD6Jxi67yquz1cTYq76Ct8BvcBIPhmm+6CEmfYfwQ==","signatures":[{"sig":"MEUCIDjFcn0QmPQl6axEnwGTJA7ZZJbjtANmbA3XnVf3sCGxAiEA+Gtxb9OzoSyuUrg2sPnLgwfpjEmnGVprX93ubRXyC54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121907},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"51dea0f01db49be01780bf4692853f6882cc98f2","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"@bimetal/kanban-data":"^0.30.0","@bimetal/headless-core":"^0.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/kanban-headless_0.30.0_1784223808948_0.5317966393295745","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"@bimetal/kanban-headless","version":"0.32.0","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"author":{"name":"Andreas Biederbeck"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@bimetal/kanban-headless@0.32.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"17bdebfc80435da0cb87558ee5da11823c1bfbe0","tarball":"https://registry.npmjs.org/@bimetal/kanban-headless/-/kanban-headless-0.32.0.tgz","fileCount":20,"integrity":"sha512-ecpRcZy7KwfNd4RoftC9aHMH9623YxBe/oDpF72rJ+NWPlN3EQGfFjnIul+RkXg8CTX6Sfnpo9eXSeBpKpRUug==","signatures":[{"sig":"MEYCIQD1CWjC078d1USl7STR4bSiQ79qxeNBpCZPeUNlEBDl8QIhAOvQsUIxNpE23EqngnCn1BwxtT7iFKuFxi+cFeLVssQX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125989},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4dd8f4baf3c73447e7bec4a54c815b414c6bcba1","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"@bimetal/kanban-data":"^0.32.0","@bimetal/headless-core":"^0.32.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/kanban-headless_0.32.0_1784451038833_0.8022882121959523","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"@bimetal/kanban-headless","version":"0.34.0","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"author":{"name":"Andreas Biederbeck"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@bimetal/kanban-headless@0.34.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"c6e4cbb08e73d157c7f2d783f54fb6260bdb6a74","tarball":"https://registry.npmjs.org/@bimetal/kanban-headless/-/kanban-headless-0.34.0.tgz","fileCount":20,"integrity":"sha512-hX9fyaLfMLi5yPB2rTg6kSsheUyqidxaJQ8ZiFnvMZfjGwH9K1nZqLZOJsVk5rzwmeyz/9kt27ruF99e6yC75A==","signatures":[{"sig":"MEUCIQDP2heF0CK/yaVQqOWrUSYA1A/MQPpHkolwzF3GuIEeJQIgbvKN5B26wSWd76CSw7qPNvKLgPwB/NMk/gTeLAPmG+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126148},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0ab9c94645e5187e22508816ff6bf33a13c0ce35","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"@bimetal/kanban-data":"^0.34.0","@bimetal/headless-core":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/kanban-headless_0.34.0_1784529313673_0.680797560894832","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.1":{"name":"@bimetal/kanban-headless","version":"1.0.0-rc.1","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"author":{"name":"Andreas Biederbeck"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@bimetal/kanban-headless@1.0.0-rc.1","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"8ca73044611838a983b9679e026a3380426d1ab9","tarball":"https://registry.npmjs.org/@bimetal/kanban-headless/-/kanban-headless-1.0.0-rc.1.tgz","fileCount":20,"integrity":"sha512-A3LvoRtvcIhxRqVfFy/p02p7qwcMUT/d/uMPTSyYukc3kp5urHTBGHQNpb2uvGvieWZtqsbobL7xLK8ZE2IjvQ==","signatures":[{"sig":"MEYCIQDaOnyB1Prv7U/lzvZoV7GFsbt7MYPELPZD2+6sISADEwIhAJE/fUFxVrDN1Rwh46l9CqDdqUNF51hDljfJzTAKBLii","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131444},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"906ba734fbbbc028d11051bfcc7577242eba2139","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"@bimetal/kanban-data":"^1.0.0-rc.1","@bimetal/headless-core":"^1.0.0-rc.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/kanban-headless_1.0.0-rc.1_1784739086801_0.6745657972926851","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.2":{"name":"@bimetal/kanban-headless","version":"1.0.0-rc.2","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/kanban-headless@1.0.0-rc.2","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"5637c9bfb850ecdcfffcadfa655ad45a8eefcf73","tarball":"https://registry.npmjs.org/@bimetal/kanban-headless/-/kanban-headless-1.0.0-rc.2.tgz","fileCount":20,"integrity":"sha512-PNYCZQDNCUJ+aEm5i7cj++A5HrKpH4MZSXs9FnvhxEahKGDXM1Qzd+2EiR1FBX5dhrsftszav/o/1KARAPQFFQ==","signatures":[{"sig":"MEQCICAKliTg3HTt26qfhBlI/0o19NZ8qOgWyqHWNplcXxYdAiAkOBMaAl4TxnOeV5tla/AWWsr17ZB8S4yEfOmpFTh+gQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138059},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"913c01472f17bffe76658f9e6c760838c0e238b2","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"@bimetal/kanban-data":"^1.0.0-rc.2","@bimetal/headless-core":"^1.0.0-rc.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/kanban-headless_1.0.0-rc.2_1784833889594_0.3188312896368166","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.3":{"name":"@bimetal/kanban-headless","version":"1.0.0-rc.3","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/kanban-headless@1.0.0-rc.3","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"9762cbe677fcb85236931dc8a04f3ecc51bc0c79","tarball":"https://registry.npmjs.org/@bimetal/kanban-headless/-/kanban-headless-1.0.0-rc.3.tgz","fileCount":20,"integrity":"sha512-+0P9tLWU+WzXq6sjsTfKkTtVY7oFYL/1CBPlRflySH4tsO7+/AWQu8jTU7dNmxRwd+sioyfSwm03u25wlfjbFQ==","signatures":[{"sig":"MEUCIQDDXZX9zhnxM2wXUBtFcS6rSdohf5eh+jJBtY9ma8yv+QIgenKdw8C2LR3XsNh3ig1GqYfUoL/8ZdGfJztq9rgLcOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138991},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"869ba9953a91ee395a35ae56bceb98f63acf1a70","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"@bimetal/kanban-data":"^1.0.0-rc.3","@bimetal/headless-core":"^1.0.0-rc.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/kanban-headless_1.0.0-rc.3_1785017784730_0.2729376260548617","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"@bimetal/kanban-headless","version":"0.35.0","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/kanban-headless@0.35.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"edda709e1fdf80339f26fe1ed2ee65671605a0fe","tarball":"https://registry.npmjs.org/@bimetal/kanban-headless/-/kanban-headless-0.35.0.tgz","fileCount":20,"integrity":"sha512-qj1gN/Gj4/ovk7WyHpAcIO83BZ0n8nQjwgXWod1+rlC92d7vplp55Z9rJDvnTDd3ahxl6wH3mliVxghCpmb3LA==","signatures":[{"sig":"MEYCIQD35fvcjFKhUBKXBKgXF5V0+SGQE/jYIt0JOKamVM6HqQIhALdhWsZOZa2Ep+WG/1Qumx3EdQXumOjdLGD0av7FXtgm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138979},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"879bd4f41496ec870dbfac92a8228bf93226f256","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"@bimetal/kanban-data":"^0.35.0","@bimetal/headless-core":"^0.35.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/kanban-headless_0.35.0_1785078656682_0.7517871723735976","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"@bimetal/kanban-headless","version":"0.36.0","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/kanban-headless@0.36.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"a31cccd3133a0d72dc935b602698dab61a813f89","tarball":"https://registry.npmjs.org/@bimetal/kanban-headless/-/kanban-headless-0.36.0.tgz","fileCount":20,"integrity":"sha512-nDh2Ar3Bdj4gK2qXzXonvR2MxMBCeMwxv1wnETyEPwmEmYvlW+mnfM/NEgdJE662fmT7vmg8dwm5L9b08lWF2A==","signatures":[{"sig":"MEUCIQD/0zdqQJKubog83k4SebVKJ5k8BwR/VJqNL16BmACf/gIgRggr18vOzwGtVMI3U3Y36jQH8O51vrCDMSsTZ6LCIEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA4l1NXG6LePkoPYbrCPk2PPFG7mj4/A1pT5g2l6hPMKAiAC7eKb5YMtA8xCDEDTB4jCWp7YcyKCmoegtXbfGXxoDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163764},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c398884cce8cfe7004bcd7523398ebaf63c5452c","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"@bimetal/kanban-data":"^0.36.0","@bimetal/headless-core":"^0.36.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/kanban-headless_0.36.0_1788079219796_0.992765373457595","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"@bimetal/kanban-headless","version":"0.37.0","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/kanban-headless@0.37.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"9a6d686e8912c4052e0707b442c4cca5fff89df6","tarball":"https://registry.npmjs.org/@bimetal/kanban-headless/-/kanban-headless-0.37.0.tgz","fileCount":20,"integrity":"sha512-tTadVZ4uaF3yJOFnB2Pacn8G25Bs/AeS9xnpZAvqyMPmM8AyUGr3Y7WfyrAKNmEMIAHOpxWwyxrvVZKaNRVg9A==","signatures":[{"sig":"MEQCICoARZ53XAEdJlhY+rdfB+knoAbLwqO9VEZNGvzdf4zVAiAgJKLpg0tBTZt/kQ5krdsWhG9n0yh/vp8kdIy8sfzEgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDKiT84M0/xf+x8/X0ffwY3HKiab/sBVHKYKeO2qRS4lwIhAP5QaIV4r5tPC+WtjHs5krSKpmPkqa9Ns5wmXrCh1Ov7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169403},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7c443deff9a8b0a534c68757c83f5a6b0794e018","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"@bimetal/kanban-data":"^0.37.0","@bimetal/headless-core":"^0.37.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.1","vitest":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/kanban-headless_0.37.0_1789245169195_0.8812229130885183","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"_id":"@bimetal/kanban-headless@0.38.0","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"ad6ada3a875f52d399eab3ebf5f1da6b787dc172","tarball":"https://registry.npmjs.org/@bimetal/kanban-headless/-/kanban-headless-0.38.0.tgz","fileCount":20,"integrity":"sha512-gPqvWejsEcCmclSKmAsUdAbl/gvf25HjNa7AaaWRYFa22F1xIvX+xv4rUfiI97o5GJc+09+c3zlESJJFuHeNlg==","signatures":[{"sig":"MEQCIGZx8qLFEOcOp/QG4nJVPhpumrCwM7XjeLj93ZXHrIIYAiBbo69vWWNstd/r8rzzzCrfp9d2UhEp/Rg7S7qicb4krQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCIcPrCYbiDJ9iqub4VvwI4Bb5nULl6e0jSYIJ5u9hKnAIgLMvi2a17+76Cko7YIMYVsqEeptBmIb5fYsDQ7WFqkyg="}],"unpackedSize":178025},"main":"./dist/index.js","name":"@bimetal/kanban-headless","type":"module","types":"./dist/index.d.ts","author":{"name":"Andreas Biederbeck"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"91d1c50b022e17a1df17d4a9cad9f2e1bec329dd","license":"Apache-2.0","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"version":"0.38.0","_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"homepage":"https://github.com/bimetal/bimetal#readme","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"_npmVersion":"11.17.0","description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","directories":{},"maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{"@bimetal/kanban-data":"^0.38.0","@bimetal/headless-core":"^0.38.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.1","vitest":"^5.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kanban-headless_0.38.0_1791052369913_0.6342849827512815"}}},"time":{"created":"2026-07-15T18:08:56.964Z","modified":"2026-10-03T18:32:50.169Z","0.29.0":"2026-07-15T18:08:57.235Z","0.30.0":"2026-07-16T17:43:29.119Z","0.32.0":"2026-07-19T08:50:38.997Z","0.34.0":"2026-07-20T06:35:13.809Z","1.0.0-rc.1":"2026-07-22T16:51:26.942Z","1.0.0-rc.2":"2026-07-23T19:11:29.738Z","1.0.0-rc.3":"2026-07-25T22:16:24.923Z","0.35.0":"2026-07-26T15:10:56.833Z","0.36.0":"2026-08-30T08:40:19.871Z","0.37.0":"2026-09-12T20:32:49.291Z","0.38.0":"2026-10-03T18:32:49.999Z"},"bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","homepage":"https://github.com/bimetal/bimetal#readme","keywords":["kanban","headless","controller","framework-agnostic","drag-drop","wip-limit"],"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/kanban/kanban-headless"},"description":"Canonical, framework-agnostic kanban controller (createKanbanController) on @bimetal/headless-core. Owns all board-interaction semantics — drag/drop, dialog, filter, WIP-error-as-state, undo. Instance #2 of the component family; frameworks bind it as pure","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"readme":"# @bimetal/kanban-headless\n\nThe canonical, framework-agnostic **kanban controller** — instance #2 of the\nBIMETAL component family. Built on `@bimetal/headless-core` exactly like the\ncalendar controller, so it shares the identity-stable `getSnapshot`/`subscribe`\ncontract and errors-as-state surface; framework bindings are pure bindings.\n\n`createKanbanController({ store, boardId, config })` owns every board\ninteraction decision:\n\n- **Dialog** — `openCreateCard` / `openEditCard` / `saveCard` / `deleteCard`.\n- **Drag/drop** — `dropCard(cardId, toColumnId, toIndex)` / `reorderCard`,\n  with `startDrag` / `updateDragPreview` / `endDrag` for live previews.\n- **WIP-error-as-state** — a rejected create/move (WIP limit) surfaces as\n  `snapshot.lastAction` (a toast) and never throws into the binding.\n- **Undo** — `undo()` reverts the whole board one step; `Ctrl/Cmd+Z` via\n  `handleKeydown`.\n- **Filter / selection** — `setFilter`, `selectCard` / `clearSelection`.\n- **Activation** — a card click (not the click trailing a drag) and `Enter` go\n  through `activateCard`: it selects the card (`onSelectionChange` fires), then\n  calls the optional `onCardActivate(cardId)` hook. With the hook set, or with\n  `config.cardDialog: false`, the built-in edit dialog does not open — for a\n  host that shows the card in its own detail view (master-detail).\n- **Locks** — `config.readOnly` locks everything, moving included.\n  `config.lockStructure` (columns: add, rename, reorder, delete, WIP) and\n  `config.lockCardContent` (cards: create, edit, delete) lock finer and keep\n  moving cards by pointer and keyboard; undo/redo are off under any lock. The\n  snapshot carries `canEditStructure` / `canEditCards` / `undoRedoAvailable`,\n  and the bindings hide their affordances by these.\n\nThe cut line is identical to the calendar controller: DOM measurement and\nlistener registration belong to the framework; every `if` belongs here.\n","readmeFilename":"README.md"}