{"_id":"@appos.space/view-builders","_rev":"4-3cca0d3fac91fe704d602bb4d2d8c89e","name":"@appos.space/view-builders","dist-tags":{"latest":"3.0.2"},"versions":{"2.4.0":{"name":"@appos.space/view-builders","version":"2.4.0","keywords":["appos","plugin","viewdescriptor","ui","builders"],"author":{"name":"InstantlyEasy"},"license":"MIT","_id":"@appos.space/view-builders@2.4.0","maintainers":[{"name":"timmytown","email":"dan@dan.ac"}],"homepage":"https://github.com/appos/plugin-sdk#readme","bugs":{"url":"https://github.com/appos/plugin-sdk/issues"},"dist":{"shasum":"837a316cd6f66c8093b51b617ce4a8db95d11869","tarball":"https://registry.npmjs.org/@appos.space/view-builders/-/view-builders-2.4.0.tgz","fileCount":27,"integrity":"sha512-QisVYy3G7yuivuBQ00+SzzZCFUxwnU2H2mt9II+bLpN4BA0KtMHQOdQ05kgzkshyoq+l7nrKENzr1dy8+tSLuQ==","signatures":[{"sig":"MEUCIQC+1VmRdiI2h8NoPw3WK94sF8VP9dwi53nb93EY6fvq1gIgREB5g6pYJX3GRHaA6oWQ97vMTDRuNjnWOOSntnmDsfY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21026},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5ca64e48a6f0dad6f336281c984ef836c32de069","scripts":{"test":"tsc --project tsconfig.test.json && node --test test-dist/__tests__/*.test.js","build":"tsc --project tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"timmytown","email":"dan@dan.ac"},"repository":{"url":"git+https://github.com/appos/plugin-sdk.git","type":"git","directory":"packages/view-builders"},"_npmVersion":"11.9.0","description":"Typed ViewDescriptor builder helpers for AppOS plugins","directories":{},"_nodeVersion":"25.6.1","dependencies":{"@appos.space/plugin-types":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/view-builders_2.4.0_1775827886046_0.6645043347147319","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@appos.space/view-builders","version":"3.0.0","keywords":["appos","plugin","viewdescriptor","ui","builders"],"author":{"name":"InstantlyEasy"},"license":"MIT","_id":"@appos.space/view-builders@3.0.0","maintainers":[{"name":"timmytown","email":"dan@dan.ac"}],"homepage":"https://github.com/appos/plugin-sdk#readme","bugs":{"url":"https://github.com/appos/plugin-sdk/issues"},"dist":{"shasum":"73b9a0cd710bc3c911567a3699114fc2f34d1e3d","tarball":"https://registry.npmjs.org/@appos.space/view-builders/-/view-builders-3.0.0.tgz","fileCount":27,"integrity":"sha512-8ypcL8zh+xanew0/3frx4tqKRdphYM297GMDbV7AeV1Z/m0JAs1yAkwm1FfLcIK4ZGypxSbBkhXbFGnYNRRCPQ==","signatures":[{"sig":"MEUCIQCBgZF3fFGyRO7v2DAk9hqEMubS+BOgcMVvY/4ygW5/DgIgCyK1C2oSKLOgne5DzeWeTdQmZ7t4Aj82SPrgTzJesuU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21062},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"c96d9a399831e151111ab877d38f559eaf4bc555","scripts":{"test":"tsc --project tsconfig.test.json && node --test test-dist/__tests__/*.test.js","build":"tsc --project tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"timmytown","email":"dan@dan.ac"},"repository":{"url":"git+https://github.com/appos/plugin-sdk.git","type":"git","directory":"packages/view-builders"},"_npmVersion":"10.9.7","description":"Typed ViewDescriptor builder helpers for AppOS plugins","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@appos.space/plugin-types":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/view-builders_3.0.0_1785202276724_0.47911571360277794","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@appos.space/view-builders","version":"3.0.1","keywords":["appos","plugin","viewdescriptor","ui","builders"],"author":{"name":"InstantlyEasy"},"license":"MIT","_id":"@appos.space/view-builders@3.0.1","maintainers":[{"name":"timmytown","email":"dan@dan.ac"}],"homepage":"https://github.com/appos/plugin-sdk#readme","bugs":{"url":"https://github.com/appos/plugin-sdk/issues"},"dist":{"shasum":"e8485700562dd897a2070f7fef54f93d296aea9c","tarball":"https://registry.npmjs.org/@appos.space/view-builders/-/view-builders-3.0.1.tgz","fileCount":27,"integrity":"sha512-OScl8oJIOq4+WD9r9sq6lIRxW/uaJ/LtEl8F90aw+EoKP3rWi/KCsXzhtxefhHsEKwBXEJLSdSoKRWs8e1hzKw==","signatures":[{"sig":"MEUCIQDUNqYvbph+8+RP0E5bS/TtlLQ3Qrk/bvGPwnGTMT+UxwIgOaofbD/P4Y1BkLmCbbYDKUARcaAwWUBpyHuIZ5EHqZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21062},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"22dae9affc93148e4f0c6d76a20201c310c933a8","scripts":{"test":"tsc --project tsconfig.test.json && node --test test-dist/__tests__/*.test.js","build":"tsc --project tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"timmytown","email":"dan@dan.ac"},"repository":{"url":"git+https://github.com/appos/plugin-sdk.git","type":"git","directory":"packages/view-builders"},"_npmVersion":"10.9.7","description":"Typed ViewDescriptor builder helpers for AppOS plugins","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@appos.space/plugin-types":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/view-builders_3.0.1_1786664184299_0.9034637062215864","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@appos.space/view-builders","version":"3.0.2","description":"Typed ViewDescriptor builder helpers for AppOS plugins","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"publishConfig":{"access":"public"},"scripts":{"build":"tsc --project tsconfig.json","test":"tsc --project tsconfig.test.json && node --test test-dist/__tests__/*.test.js","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/appos/plugin-sdk.git","directory":"packages/view-builders"},"keywords":["appos","plugin","viewdescriptor","ui","builders"],"license":"MIT","author":{"name":"InstantlyEasy"},"dependencies":{"@appos.space/plugin-types":"*"},"devDependencies":{"typescript":"^5.4.0"},"_id":"@appos.space/view-builders@3.0.2","gitHead":"beb3e5b4e81cf99929a50f8a1000691b4836d006","bugs":{"url":"https://github.com/appos/plugin-sdk/issues"},"homepage":"https://github.com/appos/plugin-sdk#readme","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-dvymdWHviF5KWqf97vJvz3RWwjzbRA8bhdSVeloW/7IR+Fd37zNtt9ecPt8z6fCGPdq6mJATIlthsNY6HeZ57A==","shasum":"4869bb5e837769b6692f3d6ec7378428f593b429","tarball":"https://registry.npmjs.org/@appos.space/view-builders/-/view-builders-3.0.2.tgz","fileCount":27,"unpackedSize":21062,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFAXSOYdtOiBpYX2Vrc/a7MRTNRDTMZM8Xe5XqI40AkUAiEA0B+VaOlmx1nJv9YaMgMrNPHGQj3f5JtkbsB7W50a3dU="}]},"_npmUser":{"name":"timmytown","email":"dan@dan.ac"},"directories":{},"maintainers":[{"name":"timmytown","email":"dan@dan.ac"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/view-builders_3.0.2_1786679235898_0.8387566050960837"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-10T13:31:25.921Z","modified":"2026-08-14T03:47:16.204Z","2.4.0":"2026-04-10T13:31:26.178Z","3.0.0":"2026-07-28T01:31:16.872Z","3.0.1":"2026-08-13T23:36:24.468Z","3.0.2":"2026-08-14T03:47:16.051Z"},"bugs":{"url":"https://github.com/appos/plugin-sdk/issues"},"author":{"name":"InstantlyEasy"},"license":"MIT","homepage":"https://github.com/appos/plugin-sdk#readme","keywords":["appos","plugin","viewdescriptor","ui","builders"],"repository":{"type":"git","url":"git+https://github.com/appos/plugin-sdk.git","directory":"packages/view-builders"},"description":"Typed ViewDescriptor builder helpers for AppOS plugins","maintainers":[{"name":"timmytown","email":"dan@dan.ac"}],"readme":"# @appos.space/view-builders\n\nTyped builder helpers for `ViewDescriptor` — the declarative UI format for\nAppOS plugins.\n\nProduces plain object literals, so it's **zero runtime overhead** and fully\ntree-shakeable. Use it to get autocomplete, type checking, and readable code\ninstead of hand-writing nested object trees.\n\n## Install\n\n```bash\nnpm install @appos.space/view-builders\n```\n\n## Usage\n\n```ts\nimport {\n  vstack,\n  hstack,\n  section,\n  listItem,\n  text,\n  button,\n  badge,\n} from \"@appos.space/view-builders\";\n\nconst view = vstack([\n  section(\"Files\", { icon: \"doc.on.doc\", badge: \"3\" }, [\n    listItem(\"readme.md\", { icon: \"doc\", action: \"open:readme\" }),\n    listItem(\"package.json\", { icon: \"shippingbox\", action: \"open:pkg\" }),\n  ]),\n  hstack([\n    button(\"Add\", { action: \"add-file\", style: \"primary\" }),\n    button(\"Refresh\", { action: \"refresh\" }),\n  ]),\n]);\n```\n\nEach helper returns a plain `ViewDescriptor` object, so you can mix calls with\nraw literals freely, and the result ships with no runtime dependency on this\npackage.\n\n## What's included\n\n| Category | Helpers |\n|---|---|\n| Containers | `vstack`, `hstack`, `scroll`, `list`, `grid`, `section` |\n| Content | `text`, `label`, `image`, `badge`, `button`, `listItem` |\n| Primitives | `divider`, `spacer`, `textField`, `progress`, `remoteImage` |\n| Menus | `menuAction`, `menuDivider`, `encodeMenuActions` |\n\n## Types\n\nDepends on [`@appos.space/plugin-types`](https://www.npmjs.com/package/@appos.space/plugin-types)\nfor `ViewDescriptor` and related types.\n\n## License\n\nMIT © InstantlyEasy\n","readmeFilename":"README.md"}