{"_id":"@campaign-buddy/form-generator","_rev":"7-6b33d23801ba9699ac2e127c3a26a727","name":"@campaign-buddy/form-generator","dist-tags":{"latest":"3.1.0"},"versions":{"1.0.0":{"name":"@campaign-buddy/form-generator","version":"1.0.0","author":{"name":"Joseph Stewart"},"license":"MIT","_id":"@campaign-buddy/form-generator@1.0.0","maintainers":[{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"}],"dist":{"shasum":"9aa9e8d24de0e175f83e05e4613753f571abbf4b","tarball":"https://registry.npmjs.org/@campaign-buddy/form-generator/-/form-generator-1.0.0.tgz","fileCount":13,"integrity":"sha512-61AqtK1TWp4jyzXf3nT1nxv5X8skAxEmazajwN4Mc59/HTk44KbKenWobOadBTEM16lLZ0Kdr9TgtcMEHWleHg==","signatures":[{"sig":"MEQCIGhsh1VQVape5Mkoc8k5sPsTNNMT4iDVT/NpYPfFNEtQAiAbVExezBA5yW2cKo+xCzTSrOcTi5ZAhV8c8SPs3cQ2zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkKM4VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqd0g/+O0KrQSXsg16RyVTMyp/a8MdPwQfKQI13IzcIB9AEju4Qmkq/\r\n6bW+wKMHRIUih6fkBojDINkJzzHkSY2yuW54FB1zoZH1tBKTrZhOu8iA3ERA\r\n+paFUEhxrRueuemc7Zc2cmRGjSLJjgLb0MKfsXk/zUJuSPzWFCggdORsmoGH\r\nowHquISFsAubHjBFjk829WFBOs0OFYtHXAyrL8moyhDML7a+I6W0m9i/P9cX\r\nWXLAUcG5RPXf+Sib1ZpNUwe7sAxQ6n5+hwiM0ZqC1Ou9yG2Ics2Tc7y/fMjN\r\ndNlnnL9PZZ0aoQaFM88CrHRrqPioJmFfG9ydYfBqRIkCVfMIQr99ql7dYgno\r\nXalMw1oI8wRnTyNQ7d6Q59sRKlamP6C7M9Hm6yfV0b5cA97/Tu0tl6VVd5xX\r\nmthzsrbUptNprWjwAlK6YGwkwOm4qiRJT1SJo9YRzfE74kvn8p4pdbztwnSH\r\nCeRp2COgQXIkYBPFRtBbwyjwJrVlCGdAAzzwg5VzBvvr6HFVkW5Kw450YnPL\r\ncZK53ZQ0upicwdiLJXNpbxvSLv8M1B53J5F+sZbRLvrEcNBwTQXSveynz9Xh\r\ngu88nG7t5DbY4rRFpOXmsdGEj364Hl4TRPwkogGF+lAqRSLS/+Wgbi+27kDA\r\nOnkBf6/AK09skkMyy7akdLPDL1ZVsBD70lI=\r\n=eHy1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/src/index","types":"./dist/src/index.d.ts","gitHead":"38ce438d19c64248504e52baf130577dc9292058","scripts":{"test":"jest","build":"tsc -b","add-local":"node ../../tools/addLocal","storybook":"cross-env STORYBOOK_PACKAGE_SCOPE=form-generator yarn --cwd ../../ storybook","remove-local":"node ../../tools/removeLocal"},"_npmUser":{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"},"_npmVersion":"7.24.2","description":"`@campaign-buddy/form-generator` is responsible for generating UI for json schemas created using `@campaign-buddy/json-schema-core`'s game system definition API with a high level of interface customizability.","directories":{},"_nodeVersion":"18.15.0","dependencies":{"yjs":"^13.5.51","cuid":"^2.1.8","lib0":"^0.2.73","microdiff":"^1.3.0","lodash.clonedeep":"^4.5.0","@syncedstore/core":"^0.4.3","@syncedstore/react":"^0.4.3","@campaign-buddy/smart-context":"*","@campaign-buddy/frontend-types":"*","@campaign-buddy/object-navigator":"*","@campaign-buddy/form-generator-core":"*"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.9","y-webrtc":"^10.2.5","typescript":"^4.2.4","@types/lodash":"^4.14.168","@types/hash-sum":"^1.0.0","styled-components":"^5.3.3","@types/json-schema":"^7.0.7","@types/lodash.isequal":"^4.5.5","@campaign-buddy/core-ui":"*","@types/lodash.clonedeep":"^4.5.6","@campaign-buddy/json-schema-core":"*"},"peerDependencies":{"react":"^18.0.9","styled-components":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/form-generator_1.0.0_1680395797123_0.6233192374676435","host":"s3://npm-registry-packages"}},"2.1.2":{"name":"@campaign-buddy/form-generator","version":"2.1.2","author":{"name":"Joseph Stewart"},"license":"MIT","_id":"@campaign-buddy/form-generator@2.1.2","maintainers":[{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"}],"dist":{"shasum":"adaa89d5cf85dbe54fc0e72d2063d6bfbdb947bf","tarball":"https://registry.npmjs.org/@campaign-buddy/form-generator/-/form-generator-2.1.2.tgz","fileCount":13,"integrity":"sha512-RGRUV+UN2BqgSmG0rDV1YXEBDAQLNQO4m9QjJQHgiSo+9i38MgO11zPDYgzI0L3ERSaiUKWM8Atrmbu0ZaXKVw==","signatures":[{"sig":"MEQCIB2MesbcigujcwJZxL5p+Ej8KcE3r1Hw6QX4XJq0/+g/AiBCEHt0YQ0CH+6con8YjWOSKrO8ztjOTXvf5jSVI2O8hg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72272,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOO4hACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrw4A//eWTDM8qyGXafm4pnsNYScT0Vd41bW8rCvJ6l1km8+rSQ6qLJ\r\n5XfAwZ1mNaYeZAXTfufaQhnMcHAdlfd3nLFtM8nFuq9wy5h77HVR1F6WzNCd\r\n1nL1tPbENbgrNZ5gLOPlTQ872Gg01ktMVArnxuFy+yS2b+3jKEOKcyCNaYB9\r\nny4js8F8PH8I3M1oq1fSc6OSEwlXvBvSq4vlWJkHl56XhisGEHp10E7dLlWR\r\nXT2L5aQLljCWCijrANh9qkJqOAxaHBxiD/77PfCAOA9YvE8TJ1zHMuRDi+p7\r\nLtPRkuZZLAvC+iHc/CpP3HJMtP5ZGGaWZpJNhUw4sJvxEeNQGfERTNfznWut\r\n6FsFthxp2pxmzqjObnv/ak2PA2mU270d6TAwUAvcJ7tvN4E/gengaXkEZahV\r\nMsyuw68INPz1QOiZvFqx4gwOEk9DwQVtPz38PQz1Q/VZc60QfpWDLtqXs+NA\r\nOzxLiqJPiNz2t+unwVZm39ZMSZCM30vdrhgviPqHO6jmplq6+mP04AJQB85u\r\nsr4FOV8OdcT0yMrH7Ncnr1cbZKBE6prpq0yS2xWuX8DqY7Y7PYUUVDejrG47\r\n2twpSo/CQz2/7RHeLcc5WpmMN1vpL7MdWaeHw9t0qnmsQ3YjR7hUZjzOVJXy\r\n3LO/wp5LB1ljNYUoBSIn4F1fwzYQvWlg2RU=\r\n=0Fux\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/src/index","types":"./dist/src/index.d.ts","gitHead":"5ae69a10cf7f3443d260ac65fb31220676476428","scripts":{"test":"jest","build":"tsc -b","add-local":"node ../../tools/addLocal","storybook":"cross-env STORYBOOK_PACKAGE_SCOPE=form-generator yarn --cwd ../../ storybook","remove-local":"node ../../tools/removeLocal"},"_npmUser":{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"},"_npmVersion":"lerna/6.6.1/node@v18.15.0+x64 (linux)","description":"`@campaign-buddy/form-generator` is responsible for generating UI for json schemas created using `@campaign-buddy/json-schema-core`'s game system definition API with a high level of interface customizability.","directories":{},"_nodeVersion":"18.15.0","dependencies":{"yjs":"^13.5.51","cuid":"^2.1.8","lib0":"^0.2.73","microdiff":"^1.3.0","lodash.clonedeep":"^4.5.0","@syncedstore/core":"^0.4.3","@syncedstore/react":"^0.4.3","@campaign-buddy/smart-context":"^2.1.2","@campaign-buddy/frontend-types":"^2.1.2","@campaign-buddy/object-navigator":"^2.1.2","@campaign-buddy/form-generator-core":"^2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.9","y-webrtc":"^10.2.5","typescript":"^4.2.4","@types/lodash":"^4.14.168","@types/hash-sum":"^1.0.0","styled-components":"^5.3.3","@types/json-schema":"^7.0.7","@types/lodash.isequal":"^4.5.5","@campaign-buddy/core-ui":"^2.1.2","@types/lodash.clonedeep":"^4.5.6","@campaign-buddy/json-schema-core":"^2.1.2"},"peerDependencies":{"react":"^18.0.9","styled-components":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/form-generator_2.1.2_1681452577482_0.16649942230185188","host":"s3://npm-registry-packages"}},"2.1.4":{"name":"@campaign-buddy/form-generator","version":"2.1.4","author":{"name":"Joseph Stewart"},"license":"MIT","_id":"@campaign-buddy/form-generator@2.1.4","maintainers":[{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"}],"dist":{"shasum":"d4ef4cc455a85fefbd1a7b30d6c4e9ffbc2f883d","tarball":"https://registry.npmjs.org/@campaign-buddy/form-generator/-/form-generator-2.1.4.tgz","fileCount":13,"integrity":"sha512-gOJAp2RUXrU5LOkAkn1HNvDWq/EIXSzr1VCs+GWm6wgrOw3OYGpACT+UrE7Iqk3f4yzFXkcmCX+UjUCQlagZNw==","signatures":[{"sig":"MEYCIQCjy5NWGc2poTnb44ZmmNk0b5lTvQ6VdtlxQ3fROH7iQAIhAJ8L0Uej7sAftNtMuHihs3La2cTiEkZT4lUUw4I2nmqh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOkI0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKlw//XTbH78ICNxkdsHunRnYid0KqQIuYq17YccIHvmMO0l66jIxo\r\nUr7stcFNlRgugmAtzlE1cjEibSJjOmQJhmrGORkJukT2xxjHIPkBuqhKWFmv\r\nEFvvbVVXzupNm2H0jSCTru4H04/QDnW+ONMkUJ2o1i6UurS0Z0vWNf6JD6Zf\r\n4LlnWs6lWy98UM74rLhljxZyxk9RkGH097hHCag4GzM1IJ8NUdlgjwSuV6T8\r\nuUNapKqHlcru/Dxr3e8waywckn6sn04HR16Bm0WFQU69Bvl6zaZF+snmFCwN\r\nIS4nMWb1xo/PHTTADtVfVzlj+TjG3oojmdTCNXHDYrKFJprTnaFTgxBDzKj+\r\n0Ryg1wED+iLIpdyq1AL5TQhi2tWPB0y3YdKQsHdKUkERjo2u+Fi8BHnJawt2\r\nEMg/XO80OszEf8a5Z+89eTzkAMfPwezmZ+SPAUO39j5iBKVwhBaTcMWteFM6\r\nn6u4HXBMnnfpH/IC/L4Wyixcivc0XifdMAQ3EYLW8pv3ZJbf8aa+xyqHS1kH\r\nCuuIhRb84og0vzHXLal4DxkTFNksn7CZdvyPsKVpp/jve/7o427Cd9rzU0m0\r\n/dTkJONZsQG9z73dx1+h4IvPNTmNHIzvwO0lzVs9wM5JM6GUNmO6vgFmdFcC\r\nwjfu8pMBgrJ+V4XiliZQoS5fKfdzS7veESQ=\r\n=Wc8s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/src/index","types":"./dist/src/index.d.ts","gitHead":"63f36e819c3326781abf7d0ec520566dcc7d49a0","scripts":{"test":"jest","build":"tsc -b","add-local":"node ../../tools/addLocal","storybook":"cross-env STORYBOOK_PACKAGE_SCOPE=form-generator yarn --cwd ../../ storybook","remove-local":"node ../../tools/removeLocal"},"_npmUser":{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"},"_npmVersion":"lerna/6.6.1/node@v18.15.0+x64 (linux)","description":"`@campaign-buddy/form-generator` is responsible for generating UI for json schemas created using `@campaign-buddy/json-schema-core`'s game system definition API with a high level of interface customizability.","directories":{},"_nodeVersion":"18.15.0","dependencies":{"yjs":"^13.5.51","cuid":"^2.1.8","lib0":"^0.2.73","microdiff":"^1.3.0","lodash.clonedeep":"^4.5.0","@syncedstore/core":"^0.4.3","@syncedstore/react":"^0.4.3","@campaign-buddy/smart-context":"^2.1.4","@campaign-buddy/frontend-types":"^2.1.4","@campaign-buddy/object-navigator":"^2.1.4","@campaign-buddy/form-generator-core":"^2.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.9","y-webrtc":"^10.2.5","typescript":"^4.2.4","@types/lodash":"^4.14.168","@types/hash-sum":"^1.0.0","styled-components":"^5.3.3","@types/json-schema":"^7.0.7","@types/lodash.isequal":"^4.5.5","@campaign-buddy/core-ui":"^2.1.4","@types/lodash.clonedeep":"^4.5.6","@campaign-buddy/json-schema-core":"^2.1.4"},"peerDependencies":{"react":"^18.0.9","styled-components":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/form-generator_2.1.4_1681539636637_0.8445236686887656","host":"s3://npm-registry-packages"}},"2.1.5":{"name":"@campaign-buddy/form-generator","version":"2.1.5","author":{"name":"Joseph Stewart"},"license":"MIT","_id":"@campaign-buddy/form-generator@2.1.5","maintainers":[{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"}],"dist":{"shasum":"3405fd60d0d7bf682d7e27cede3589b98d710a07","tarball":"https://registry.npmjs.org/@campaign-buddy/form-generator/-/form-generator-2.1.5.tgz","fileCount":13,"integrity":"sha512-7Iy1p4hf5JtCiUkkUFGwGH8b26tMa5rU/MIspPRjwQHoNhxuI8IAopMY1wl4blBT3UqZZ5HXGMGVwTLiHFa9WA==","signatures":[{"sig":"MEUCIGe6uEo3wO1lG4olOS3QlK5CfzWfto5eGkUVBJPglw5rAiEAmIUkanivo7yuVfEJ4FV4BE1Onz9iUkOknLvywopD8Ck=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOkW7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKUQ/8Cq1z2zlCrBAddNRJCLzBoW1D7ttEJbziSKZYukLUCZCDjrGy\r\nDCtUzINFYKcuvDcvM6NX6qNiGBoUy2Pcf7ctqqJ7+pHdSM+HZn2Ca1X6FkRK\r\nn8lSiqZKQJ1/AbYz+P3k/T+nCuD93YzZgD1dGR+xGYhJeYWpDaMZvi+w2jua\r\noCfG1tNS7UiiWLvuya0efCRRR4DdKeA2n4rLKSNK7VOrQQbDkqVkNLIA8x0A\r\nDdyrLc0BwYby7Evd6UOIOAZZi+nZbn6s6xvVdzqmzoyTRKIJd60/WNrtj++N\r\nY379IrNZwTp64uaQlQyp2WdfEXzPOxAJZsNE4mgpzGdPO/zShJZMl/H+4USE\r\nevU2eHd8VGHMsCkLl4wV+fxbo1iiVEMnhrJcao5Fiz6Ixi1rMdlpkudv52n7\r\nWSbBZMvD83/ffDZSeQmhuWQpMxKLlvoPfdQEzFK9vVXm3pA+UqbEJGEY4ZTo\r\nBx9xQC1Fl8Ct47PJxS/kjzdWuH+gvaAeusixzDJvTkDL49LuwEK6oSNNiJel\r\nb2oafrOnqd6t4ZPI0z/p5n6DKEAWSf1Cuxu+ts4bVnOMMo6gkh5e0XWHNRm/\r\nseQjLMCvaQfTyBs94UXQupxpFgbaRxk2oNzMWYD8iGAeZDzB1EtWT5Nsa7qB\r\nlowy/8o/Sk/1kwiK//6Apd7aBIDwDW49Fa8=\r\n=rqZf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/src/index","types":"./dist/src/index.d.ts","gitHead":"97b6f1ffde64804631dbb3d13638b2908d6e8bff","scripts":{"test":"jest","build":"tsc -b","add-local":"node ../../tools/addLocal","storybook":"cross-env STORYBOOK_PACKAGE_SCOPE=form-generator yarn --cwd ../../ storybook","remove-local":"node ../../tools/removeLocal"},"_npmUser":{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"},"_npmVersion":"lerna/6.6.1/node@v18.15.0+x64 (linux)","description":"`@campaign-buddy/form-generator` is responsible for generating UI for json schemas created using `@campaign-buddy/json-schema-core`'s game system definition API with a high level of interface customizability.","directories":{},"_nodeVersion":"18.15.0","dependencies":{"yjs":"^13.5.51","cuid":"^2.1.8","lib0":"^0.2.73","microdiff":"^1.3.0","lodash.clonedeep":"^4.5.0","@syncedstore/core":"^0.4.3","@syncedstore/react":"^0.4.3","@campaign-buddy/smart-context":"^2.1.5","@campaign-buddy/frontend-types":"^2.1.5","@campaign-buddy/object-navigator":"^2.1.5","@campaign-buddy/form-generator-core":"^2.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.9","y-webrtc":"^10.2.5","typescript":"^4.2.4","@types/lodash":"^4.14.168","@types/hash-sum":"^1.0.0","styled-components":"^5.3.3","@types/json-schema":"^7.0.7","@types/lodash.isequal":"^4.5.5","@campaign-buddy/core-ui":"^2.1.5","@types/lodash.clonedeep":"^4.5.6","@campaign-buddy/json-schema-core":"^2.1.5"},"peerDependencies":{"react":"^18.0.9","styled-components":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/form-generator_2.1.5_1681540539312_0.49920475580271906","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"@campaign-buddy/form-generator","version":"3.0.1","author":{"name":"Joseph Stewart"},"license":"MIT","_id":"@campaign-buddy/form-generator@3.0.1","maintainers":[{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"}],"dist":{"shasum":"59a0de871c68052e410c88792691a2f0dead7866","tarball":"https://registry.npmjs.org/@campaign-buddy/form-generator/-/form-generator-3.0.1.tgz","fileCount":13,"integrity":"sha512-hAZghARJmhH/QcwpKxaZxxxOrjJ02lGxnX7WRdpd1F7QMIvdqxNI5osTZsT8Sd8H4+CYFGpr2hviS6SfG0P16A==","signatures":[{"sig":"MEUCIFbOmyrFp/OReTCgp+h4BmhEKUfWuM9y+3fNxm6Gm6ihAiEAkAA7QYcehY785e5Ex62rkuP32maCP53M1cX8vKtjtOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79343},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","module":"dist/src/index.js","gitHead":"d3273d9e8ebeb8ed5f5d320c16b3a7e767fe8206","scripts":{"build":"tsc -b","add-local":"node ../../tools/addLocal","storybook":"cross-env STORYBOOK_PACKAGE_SCOPE=form-generator yarn --cwd ../../ storybook","remove-local":"node ../../tools/removeLocal"},"_npmUser":{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"},"_npmVersion":"lerna/6.6.1/node@v22.16.0+x64 (linux)","description":"`@campaign-buddy/form-generator` is responsible for generating UI for json schemas created using `@campaign-buddy/json-schema-core`'s game system definition API with a high level of interface customizability.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"yjs":"^13.5.51","cuid":"^2.1.8","lib0":"^0.2.73","microdiff":"^1.3.0","lodash.clonedeep":"^4.5.0","@syncedstore/core":"^0.4.3","@syncedstore/react":"^0.4.3","@campaign-buddy/smart-context":"^3.0.1","@campaign-buddy/frontend-types":"^3.0.1","@campaign-buddy/object-navigator":"^3.0.1","@campaign-buddy/form-generator-core":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.9","y-webrtc":"^10.2.5","typescript":"^5.8.3","@types/lodash":"^4.14.168","@types/hash-sum":"^1.0.0","styled-components":"^5.3.3","@types/json-schema":"^7.0.7","@types/lodash.isequal":"^4.5.5","@campaign-buddy/core-ui":"^3.0.1","@types/lodash.clonedeep":"^4.5.6","@campaign-buddy/json-schema-core":"^3.0.1"},"peerDependencies":{"react":"^18.0.9","styled-components":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/form-generator_3.0.1_1748933449249_0.1577829348133708","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@campaign-buddy/form-generator","version":"3.0.2","author":{"name":"Joseph Stewart"},"license":"MIT","_id":"@campaign-buddy/form-generator@3.0.2","maintainers":[{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"}],"dist":{"shasum":"b179e9f1731b348fa6e6426d027afa9d3a47f79e","tarball":"https://registry.npmjs.org/@campaign-buddy/form-generator/-/form-generator-3.0.2.tgz","fileCount":13,"integrity":"sha512-gKEo/DWSRtOlob/z2huSLo+s+CEI6M6499a/iW5D9WSGsKm4c/MackWHuZQA7QWIkURfKN9kIK3PexALOqyl+w==","signatures":[{"sig":"MEUCICtbjl3Vfddp9ZkrJCwHwjWXDmG+DexmL2fLvHVDELuMAiEA9O35co4/pbh0C+gs3y++a/+wR2helzcJHj88LuuSmuw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79343},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","module":"dist/src/index.js","gitHead":"e0cc5e3b0015c6607856df2d7f46dc859456c0b1","scripts":{"build":"tsc -b","add-local":"node ../../tools/addLocal","storybook":"cross-env STORYBOOK_PACKAGE_SCOPE=form-generator yarn --cwd ../../ storybook","remove-local":"node ../../tools/removeLocal"},"_npmUser":{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"},"_npmVersion":"lerna/6.6.1/node@v22.16.0+x64 (linux)","description":"`@campaign-buddy/form-generator` is responsible for generating UI for json schemas created using `@campaign-buddy/json-schema-core`'s game system definition API with a high level of interface customizability.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"yjs":"^13.5.51","cuid":"^2.1.8","lib0":"^0.2.73","microdiff":"^1.3.0","lodash.clonedeep":"^4.5.0","@syncedstore/core":"^0.4.3","@syncedstore/react":"^0.4.3","@campaign-buddy/smart-context":"^3.0.1","@campaign-buddy/frontend-types":"^3.0.1","@campaign-buddy/object-navigator":"^3.0.1","@campaign-buddy/form-generator-core":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.9","y-webrtc":"^10.2.5","typescript":"^5.8.3","@types/lodash":"^4.14.168","@types/hash-sum":"^1.0.0","styled-components":"^5.3.3","@types/json-schema":"^7.0.7","@types/lodash.isequal":"^4.5.5","@campaign-buddy/core-ui":"^3.0.2","@types/lodash.clonedeep":"^4.5.6","@campaign-buddy/json-schema-core":"^3.0.1"},"peerDependencies":{"react":"^18.0.9","styled-components":"^5.3.3"},"_npmOperationalInternal":{"tmp":"tmp/form-generator_3.0.2_1748933858041_0.9553842250056142","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@campaign-buddy/form-generator","publishConfig":{"access":"public"},"version":"3.1.0","author":{"name":"Joseph Stewart"},"license":"MIT","dependencies":{"@campaign-buddy/form-generator-core":"^3.1.0","@campaign-buddy/frontend-types":"^3.0.1","@campaign-buddy/object-navigator":"^3.0.1","@campaign-buddy/smart-context":"^3.1.0","@syncedstore/core":"^0.4.3","@syncedstore/react":"^0.4.3","cuid":"^2.1.8","lib0":"^0.2.73","lodash.clonedeep":"^4.5.0","microdiff":"^1.3.0","yjs":"^13.5.51"},"devDependencies":{"@campaign-buddy/core-ui":"^3.1.0","@campaign-buddy/json-schema-core":"^3.0.1","@types/hash-sum":"^1.0.0","@types/json-schema":"^7.0.7","@types/lodash":"^4.14.168","@types/lodash.clonedeep":"^4.5.6","@types/lodash.isequal":"^4.5.5","react":"^18.0.9","styled-components":"^5.3.3","typescript":"^5.8.3","y-webrtc":"^10.2.5"},"type":"module","main":"dist/src/index.js","module":"dist/src/index.js","types":"dist/src/index.d.ts","scripts":{"build":"tsc -b","add-local":"node ../../tools/addLocal","remove-local":"node ../../tools/removeLocal","storybook":"cross-env STORYBOOK_PACKAGE_SCOPE=form-generator yarn --cwd ../../ storybook"},"peerDependencies":{"react":"^18.0.9","styled-components":"^5.3.3"},"gitHead":"0be2eb4505807188362e0f104e40f103b9bc8552","description":"`@campaign-buddy/form-generator` is responsible for generating UI for json schemas created using `@campaign-buddy/json-schema-core`'s game system definition API with a high level of interface customizability.","_id":"@campaign-buddy/form-generator@3.1.0","_nodeVersion":"22.18.0","_npmVersion":"lerna/6.6.1/node@v22.18.0+x64 (linux)","dist":{"integrity":"sha512-4nMtvQ1DKpLev6vXbcCiHQH5l18Xu/QlHM4rrxkTK62zx1z/BPcUH+zb0eGnAzasDnRus3EPNPesKMxrA4AiEg==","shasum":"6e328190b3ef9ed0285cddef63ab115c1187ceef","tarball":"https://registry.npmjs.org/@campaign-buddy/form-generator/-/form-generator-3.1.0.tgz","fileCount":13,"unpackedSize":79343,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCv9X4SUUVWP4JUIDBzhpsHWjJRyQHC425VfJXewVzGJAIhAMJt1vxJp+aO8Yj+VWWmFgn0WOqGjVdJs5On1EfE0tnm"}]},"_npmUser":{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"},"directories":{},"maintainers":[{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/form-generator_3.1.0_1756748112743_0.6646477666205626"},"_hasShrinkwrap":false}},"time":{"created":"2023-04-02T00:36:37.059Z","modified":"2025-09-01T17:35:13.155Z","1.0.0":"2023-04-02T00:36:37.319Z","2.1.2":"2023-04-14T06:09:37.665Z","2.1.4":"2023-04-15T06:20:36.858Z","2.1.5":"2023-04-15T06:35:39.533Z","3.0.1":"2025-06-03T06:50:49.420Z","3.0.2":"2025-06-03T06:57:38.215Z","3.1.0":"2025-09-01T17:35:12.934Z"},"author":{"name":"Joseph Stewart"},"license":"MIT","description":"`@campaign-buddy/form-generator` is responsible for generating UI for json schemas created using `@campaign-buddy/json-schema-core`'s game system definition API with a high level of interface customizability.","maintainers":[{"name":"josephdangerstewart","email":"josephlikescode@gmail.com"}],"readme":"# form-generator\n\n`@campaign-buddy/form-generator` is responsible for generating UI for json schemas created using `@campaign-buddy/json-schema-core`'s game system definition API with a high level of interface customizability.\n\n## Key Concepts\n\n### Widgets\n\nWidgets are the form components that are responsible for mutating some field of the form data. They may mutate primitive data (e.g. strings, numbers, booleans) or they may mutate complex data (e.g. rich text, entity pickers, stats). Widgets are implemented outside of the form generator package and the form generator package does not provide default widgets. Widgets are given props that conform to [`WidgetProps`](./src/FormGeneratorProps.ts#L22) (the linked interface has comments on all of the props describing what they are and when they're supplied if they're optional).\n\n> Note: `entityApi` may be undefined if the end-consumer of `FormGenerator` does not provide it. It is an optional prop to `FormGenerator`.\n\nThe widget for a particular field is determined by either the `$uiWidget` property in the fields schema or it is inferred from the field's `type` in the schema. Consumers of this package **must** define widgets for primitive fields (string, boolean, number, array).\n\n### Aggregates\n\nFields in a schema may define _aggregates_, which is a hybrid javascript/json-path-ex expression denoting that a particular field has a derived value. The value may be derived from a base input value (collected from the user via a Widget) or from other values in the form data or from a combination of the both. Widgets will receive both the base value and the aggregated value for a field. The base value is the user inputted value for the field and the aggregated value is the \"display\" value for a field.\n\n> Note: Other places in campaign buddy that deal with aggregated fields will treat the aggregated value as the \"true\" value.\n\nWidgets should respect aggregated values when possible, although it may not always be. By convention, there are three ways for a widget to handle aggregated fields.\n\n**Aggregated value overrides base value**\n\nMost of the time, this is the preferred option. The widget should display the aggregated value as the true value. If the field is editable (e.g. the base value of the field is part of the aggregate) then, the base value should be editable in a popover when the aggregated value is clicked or focused.\n\n**Aggregated value combines with base value**\n\nIn the case of array fields, the aggregated value can be merged with the base value to display the \"true\" value (e.g. in the case of the multi-entity picker). It should not be possible to \"unselect\" aggregated values in a list.\n\n**Ignore them aggregated value completely**\n\nThe first way is to just ignore any aggregates. This option should be avoided when possible but sometimes it doesn't make sense for a particular field to be aggregated (such as the rich text field).\n\n> Warning: This approach may cause inconsistency in how data is displayed in other places in campaign buddy if the field _does_ have an aggregate that is ignored by a widget. If a widget ignores aggregations, then [the relevant type in `@campaign-buddy/json-schema-core`](../json-schema-core/src/jsonSchemaTypes.ts) should be updated to disallow aggregates in the schema.\n","readmeFilename":"README.md"}