{"_id":"@abeyjs/view","_rev":"9-411e942a4638ad88eaa54fdd6f48709a","name":"@abeyjs/view","dist-tags":{"latest":"0.1.8"},"versions":{"0.1.0":{"name":"@abeyjs/view","version":"0.1.0","license":"MIT","_id":"@abeyjs/view@0.1.0","maintainers":[{"name":"abeyjs","email":"abeyjs98@gmail.com"}],"dist":{"shasum":"06b083fee36a5ce5c00c8e0d80c3152376322f21","tarball":"https://registry.npmjs.org/@abeyjs/view/-/view-0.1.0.tgz","fileCount":203,"integrity":"sha512-aluncvUoMy9lAdAsLZzFB82UY82KVi8Av/RoIHBvpED6kJX3t6ySh0sI8EB0mU/WBhOzAOyKQFWXZayv/gEhKA==","signatures":[{"sig":"MEUCIQCk+2OxhCUqpE2VYivqkUigPDuRL+dkR3GTPOSjz43c4QIgSu1mn77zvSiwmBQIbnNMBpoP2S71AwKoBIg+hNzHJ+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468036},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev/vite-logger":{"types":"./dist/dev/abey-vite-logger.d.ts","import":"./dist/dev/abey-vite-logger.js"},"./theme/omega-default.css":"./theme/omega-default.css"},"gitHead":"24fe5ea792f5be4e8facf7c820025f89265c1467","scripts":{"build":"tsc -p tsconfig.json"},"_npmUser":{"name":"abeyjs","email":"abeyjs98@gmail.com"},"_npmVersion":"10.8.2","description":"AbeyJs **view layer**: native **DOM** bindings, routed **shells**, **`@AbeyComponent`** web components wired to **`OmegaRuntime`**, data-driven **list/form** mounting (delegating form implementation to **`@abeyjs/uikit`**), declarative hero pages, **lazy*","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@abeyjs/core":"0.1.0","@abeyjs/state":"0.1.0","@abeyjs/uikit":"0.1.0","@abeyjs/runtime":"0.1.0","@abeyjs/validation":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.24.0"},"peerDependencies":{"zod":"^3.24.0"},"_npmOperationalInternal":{"tmp":"tmp/view_0.1.0_1777685042766_0.5866011849200619","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@abeyjs/view","version":"0.1.1","license":"MIT","_id":"@abeyjs/view@0.1.1","maintainers":[{"name":"abeyjs","email":"abeyjs98@gmail.com"}],"dist":{"shasum":"50f21ba8c30b0438a0fd8e1a8614727ddd2d9de8","tarball":"https://registry.npmjs.org/@abeyjs/view/-/view-0.1.1.tgz","fileCount":211,"integrity":"sha512-LPwgEAty84xjfRB0yzlvXfwxgSc8N/yogvZweFwjemj7QWnl+ZMqjPmHTMiCQLDsDMkmzuvx7VNwE/io5wJkwQ==","signatures":[{"sig":"MEUCIQCWLT/BylwQnLBl0+P8sBERMlpSKFb62U/SyiTESPFj+AIgNu85TXTsWqzDvNOwgnQPdJkS9lMoRAWNmoCf2jzlHzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633085},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev/vite-logger":{"types":"./dist/dev/abey-vite-logger.d.ts","import":"./dist/dev/abey-vite-logger.js"},"./theme/omega-default.css":"./theme/omega-default.css"},"gitHead":"8e89473e70d292931fe54ab9e184c613a03528d3","scripts":{"build":"tsc -p tsconfig.json"},"_npmUser":{"name":"abeyjs","email":"abeyjs98@gmail.com"},"_npmVersion":"10.8.2","description":"AbeyJs **view layer**: native **DOM** bindings, routed **shells**, **`@AbeyComponent`** web components wired to **`OmegaRuntime`**, data-driven **list/form** mounting (delegating form implementation to **`@abeyjs/uikit`**), declarative hero pages, **lazy*","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@abeyjs/core":"0.1.0","@abeyjs/state":"0.1.0","@abeyjs/uikit":"0.1.0","@abeyjs/runtime":"0.1.0","@abeyjs/validation":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.24.0"},"peerDependencies":{"zod":"^3.24.0"},"_npmOperationalInternal":{"tmp":"tmp/view_0.1.1_1777734149609_0.4406661096360007","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@abeyjs/view","version":"0.1.2","license":"MIT","_id":"@abeyjs/view@0.1.2","maintainers":[{"name":"abeyjs","email":"abeyjs98@gmail.com"}],"dist":{"shasum":"260e3f1a1dde3ca9cbc6f9190f43a1e8a8792658","tarball":"https://registry.npmjs.org/@abeyjs/view/-/view-0.1.2.tgz","fileCount":87,"integrity":"sha512-Y9Q0miSHgvSzWgFUlHVcxNMLvxl7Psqjd7Qb7CPPzwzQLo0TVNYE+MOZ6LgKvI7/OrmszLnr7I/7UYCWZZsWeA==","signatures":[{"sig":"MEUCIQDbXTIM1u2kvaO6mqnjpOsuQBTsxfvqBiheeK2OBxz9egIgAoBL5qv7pxey7QpgACQYD8HcGXNHnT8WreiFW1s2s8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329670},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev/vite-logger":{"types":"./dist/dev/abey-vite-logger.d.ts","import":"./dist/dev/abey-vite-logger.js"},"./theme/omega-default.css":"./theme/omega-default.css"},"gitHead":"8e89473e70d292931fe54ab9e184c613a03528d3","scripts":{"build":"tsc -p tsconfig.json"},"_npmUser":{"name":"abeyjs","email":"abeyjs98@gmail.com"},"_npmVersion":"10.8.2","description":"AbeyJs **view layer**: native **DOM** bindings, routed **shells**, **`@AbeyComponent`** web components wired to **`OmegaRuntime`**, data-driven **list/form** mounting (delegating form implementation to **`@abeyjs/uikit`**), declarative hero pages, **lazy*","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@abeyjs/core":"0.1.1","@abeyjs/state":"0.1.1","@abeyjs/uikit":"0.1.1","@abeyjs/runtime":"0.1.1","@abeyjs/validation":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.24.0"},"peerDependencies":{"zod":"^3.24.0"},"_npmOperationalInternal":{"tmp":"tmp/view_0.1.2_1777736150822_0.3631199338328335","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@abeyjs/view","version":"0.1.3","license":"MIT","_id":"@abeyjs/view@0.1.3","maintainers":[{"name":"abeyjs","email":"abeyjs98@gmail.com"}],"bin":{"abey-sync-spa-paths":"bin/abey-sync-spa-paths.js"},"dist":{"shasum":"dd6a49aec03488511f88c043a1b32307ae4a20a0","tarball":"https://registry.npmjs.org/@abeyjs/view/-/view-0.1.3.tgz","fileCount":129,"integrity":"sha512-Gtvmg7GMF1WEcfjop+4F1Ne3xhGgFHI36LlnSukmHluvcZwpowpDCm2mgep1ssX2oEuNU1ghjZHEsCQxKsvMxA==","signatures":[{"sig":"MEQCICHIaNNCDzp4Wo9cuTxVfATPQ+5Kq7TxtwEr0DJJPguSAiBu8X69/jk4By/i5x1wk5FPX+FszUMfwkdeMBe3ADnj7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":452005},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme/*":"./theme/*","./package.json":"./package.json","./dev/vite-logger":{"types":"./dist/dev/abey-vite-logger.d.ts","import":"./dist/dev/abey-vite-logger.js"},"./form/entity-form-values":{"types":"./src/form/entity-form-values.ts","import":"./src/form/entity-form-values.ts"},"./dev/vite-docs-static-site":{"types":"./dist/dev/vite-docs-static-site.d.ts","import":"./dist/dev/vite-docs-static-site.js"},"./dom/define-abey-component":{"types":"./dist/dom/define-abey-component.d.ts","import":"./dist/dom/define-abey-component.js"},"./dev/spa-fallback-paths-ast":{"types":"./dist/dev/spa-fallback-paths-ast.d.ts","import":"./dist/dev/spa-fallback-paths-ast.js"},"./dev/vite-malformed-uri-guard":{"types":"./dist/dev/vite-malformed-uri-guard.d.ts","import":"./dist/dev/vite-malformed-uri-guard.js"},"./dev/sync-spa-html-fallback-paths":{"types":"./dist/dev/sync-spa-html-fallback-paths.d.ts","import":"./dist/dev/sync-spa-html-fallback-paths.js"}},"gitHead":"7bc92eb51592bb29e6b8d02cf20496cf23a3476b","scripts":{"build":"npm run clean && tsc -p tsconfig.json","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"_npmUser":{"name":"abeyjs","email":"abeyjs98@gmail.com"},"_npmVersion":"8.19.4","description":"AbeyJs **view layer**: native **DOM** bindings, routed **shells**, **`@AbeyComponent`** web components wired to **`OmegaRuntime`**, data-driven **list/form** mounting (form controls live in **`@abeyjs/uikit`**), declarative hero pages, **lazy** route fact","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"typescript":"^5.7.0","@abeyjs/core":"0.1.1","@abeyjs/state":"0.1.1","@abeyjs/uikit":"0.1.1","@abeyjs/runtime":"0.1.1","@abeyjs/validation":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.24.0"},"peerDependencies":{"zod":"^3.24.0","vite":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/view_0.1.3_1778320736180_0.7598807765151814","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@abeyjs/view","version":"0.1.4","license":"MIT","_id":"@abeyjs/view@0.1.4","maintainers":[{"name":"abeyjs","email":"abeyjs98@gmail.com"}],"bin":{"abey-sync-spa-paths":"bin/abey-sync-spa-paths.js"},"dist":{"shasum":"5a906262337af41474a16900b824882a92ffd4c0","tarball":"https://registry.npmjs.org/@abeyjs/view/-/view-0.1.4.tgz","fileCount":129,"integrity":"sha512-ycvgVmzQjKmiESMzaN/8+e9KvvwLU3yoIW/BqZ9ijtnWfyv/DM3XTvknCOK2cszQR/Y3+IEzX0w/rP+wecu+kQ==","signatures":[{"sig":"MEUCIAodGjoV+kMgV1WsUyVxjaUnAinnwOjqWwaddgc/YVF2AiEAiaW8G7mCHGwFxhNGlXAJn6xHwGvFXZr+10IFvgfldB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":452005},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme/*":"./theme/*","./package.json":"./package.json","./dev/vite-logger":{"types":"./dist/dev/abey-vite-logger.d.ts","import":"./dist/dev/abey-vite-logger.js"},"./form/entity-form-values":{"types":"./src/form/entity-form-values.ts","import":"./src/form/entity-form-values.ts"},"./dev/vite-docs-static-site":{"types":"./dist/dev/vite-docs-static-site.d.ts","import":"./dist/dev/vite-docs-static-site.js"},"./dom/define-abey-component":{"types":"./dist/dom/define-abey-component.d.ts","import":"./dist/dom/define-abey-component.js"},"./dev/spa-fallback-paths-ast":{"types":"./dist/dev/spa-fallback-paths-ast.d.ts","import":"./dist/dev/spa-fallback-paths-ast.js"},"./dev/vite-malformed-uri-guard":{"types":"./dist/dev/vite-malformed-uri-guard.d.ts","import":"./dist/dev/vite-malformed-uri-guard.js"},"./dev/sync-spa-html-fallback-paths":{"types":"./dist/dev/sync-spa-html-fallback-paths.d.ts","import":"./dist/dev/sync-spa-html-fallback-paths.js"}},"gitHead":"7bc92eb51592bb29e6b8d02cf20496cf23a3476b","scripts":{"build":"npm run clean && tsc -p tsconfig.json","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"_npmUser":{"name":"abeyjs","email":"abeyjs98@gmail.com"},"_npmVersion":"8.19.4","description":"AbeyJs **view layer**: native **DOM** bindings, routed **shells**, **`@AbeyComponent`** web components wired to **`OmegaRuntime`**, data-driven **list/form** mounting (form controls live in **`@abeyjs/uikit`**), declarative hero pages, **lazy** route fact","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"typescript":"^5.7.0","@abeyjs/core":"0.1.1","@abeyjs/state":"0.1.1","@abeyjs/uikit":"0.1.3","@abeyjs/runtime":"0.1.2","@abeyjs/validation":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.24.0"},"peerDependencies":{"zod":"^3.24.0","vite":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/view_0.1.4_1778321679145_0.7446771532304435","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@abeyjs/view","version":"0.1.5","license":"MIT","_id":"@abeyjs/view@0.1.5","maintainers":[{"name":"abeyjs","email":"abeyjs98@gmail.com"}],"bin":{"abey-sync-spa-paths":"bin/abey-sync-spa-paths.js"},"dist":{"shasum":"8c2e7f6f2ff78c2a95b33ec37dd4a4bda274cbda","tarball":"https://registry.npmjs.org/@abeyjs/view/-/view-0.1.5.tgz","fileCount":129,"integrity":"sha512-8JJy3g2dit5lmO7ukBJmZAbuQc98q3/7BuhyeJ3zwUn9SatY0I5y4eYIY6Sy18Wv7/MA3BKcxQIT/JmjiJ1t0w==","signatures":[{"sig":"MEYCIQD2GNSa1U1sg9rBJJBxhRuh9XCyCtqruyMOEcrfrsGUkAIhAPkZqS38aXd/oHsdbalCz5WYasCqv5nNR3aG2xNP87Af","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":452005},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme/*":"./theme/*","./package.json":"./package.json","./dev/vite-logger":{"types":"./dist/dev/abey-vite-logger.d.ts","import":"./dist/dev/abey-vite-logger.js"},"./form/entity-form-values":{"types":"./src/form/entity-form-values.ts","import":"./src/form/entity-form-values.ts"},"./dev/vite-docs-static-site":{"types":"./dist/dev/vite-docs-static-site.d.ts","import":"./dist/dev/vite-docs-static-site.js"},"./dom/define-abey-component":{"types":"./dist/dom/define-abey-component.d.ts","import":"./dist/dom/define-abey-component.js"},"./dev/spa-fallback-paths-ast":{"types":"./dist/dev/spa-fallback-paths-ast.d.ts","import":"./dist/dev/spa-fallback-paths-ast.js"},"./dev/vite-malformed-uri-guard":{"types":"./dist/dev/vite-malformed-uri-guard.d.ts","import":"./dist/dev/vite-malformed-uri-guard.js"},"./dev/sync-spa-html-fallback-paths":{"types":"./dist/dev/sync-spa-html-fallback-paths.d.ts","import":"./dist/dev/sync-spa-html-fallback-paths.js"}},"gitHead":"d15df27ba89a4f817bb9b74ee6db55bc4abfcfe4","scripts":{"build":"npm run clean && tsc -p tsconfig.json","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"_npmUser":{"name":"abeyjs","email":"abeyjs98@gmail.com"},"_npmVersion":"8.19.4","description":"AbeyJs **view layer**: native **DOM** bindings, routed **shells**, **`@AbeyComponent`** web components wired to **`OmegaRuntime`**, data-driven **list/form** mounting (form controls live in **`@abeyjs/uikit`**), declarative hero pages, **lazy** route fact","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"typescript":"^5.7.0","@abeyjs/core":"0.1.1","@abeyjs/state":"0.1.1","@abeyjs/uikit":"0.1.4","@abeyjs/runtime":"0.1.2","@abeyjs/validation":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.24.0"},"peerDependencies":{"zod":"^3.24.0","vite":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/view_0.1.5_1778323658813_0.877585593401703","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@abeyjs/view","version":"0.1.6","license":"MIT","_id":"@abeyjs/view@0.1.6","maintainers":[{"name":"abeyjs","email":"abeyjs98@gmail.com"}],"bin":{"abey-sync-spa-paths":"bin/abey-sync-spa-paths.js"},"dist":{"shasum":"f84974369b3ac12aed1ce47dbef651c95a9758ca","tarball":"https://registry.npmjs.org/@abeyjs/view/-/view-0.1.6.tgz","fileCount":121,"integrity":"sha512-z8OwZAkikpZUo2IKQthN9Nq5OL2+vu5E290tEX6IlMmRe1VHTBP60Ijr4COdqApGRYr3/fAXsFesMKrADXHyqw==","signatures":[{"sig":"MEYCIQCMCORZkmeJVFZj7SBfk0NAH/mBZ3TDhmSTv5iJUJ4uFgIhAIx8BfoU9R3L1XdJt5oHQO7QJdKHBbv/a8xGgzfi8bhg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":418562},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme/*":"./theme/*","./package.json":"./package.json","./dev/vite-logger":{"types":"./dist/dev/abey-vite-logger.d.ts","import":"./dist/dev/abey-vite-logger.js"},"./form/entity-form-values":{"types":"./src/form/entity-form-values.ts","import":"./src/form/entity-form-values.ts"},"./dev/vite-docs-static-site":{"types":"./dist/dev/vite-docs-static-site.d.ts","import":"./dist/dev/vite-docs-static-site.js"},"./dom/define-abey-component":{"types":"./dist/dom/define-abey-component.d.ts","import":"./dist/dom/define-abey-component.js"},"./dev/spa-fallback-paths-ast":{"types":"./dist/dev/spa-fallback-paths-ast.d.ts","import":"./dist/dev/spa-fallback-paths-ast.js"},"./dev/vite-malformed-uri-guard":{"types":"./dist/dev/vite-malformed-uri-guard.d.ts","import":"./dist/dev/vite-malformed-uri-guard.js"},"./dev/sync-spa-html-fallback-paths":{"types":"./dist/dev/sync-spa-html-fallback-paths.d.ts","import":"./dist/dev/sync-spa-html-fallback-paths.js"}},"gitHead":"cbb1d3a215f893ebfdad8fe7ea649122de675c2e","scripts":{"build":"npm run clean && tsc -p tsconfig.json","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"_npmUser":{"name":"abeyjs","email":"abeyjs98@gmail.com"},"_npmVersion":"8.19.4","description":"AbeyJs **view layer**: native **DOM** bindings, routed **shells**, **`@AbeyComponent`** web components wired to **`OmegaRuntime`**, data-driven **list/form** mounting (form controls live in **`@abeyjs/uikit`**), declarative hero pages, **lazy** route fact","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"typescript":"^5.7.0","@abeyjs/core":"0.1.1","@abeyjs/state":"0.1.1","@abeyjs/uikit":"0.1.5","@abeyjs/runtime":"^0.1.3","@abeyjs/validation":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.24.0"},"peerDependencies":{"zod":"^3.24.0","vite":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/view_0.1.6_1778324751715_0.5523331970915972","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@abeyjs/view","version":"0.1.7","license":"MIT","_id":"@abeyjs/view@0.1.7","maintainers":[{"name":"abeyjs","email":"abeyjs98@gmail.com"}],"bin":{"abey-sync-spa-paths":"bin/abey-sync-spa-paths.js","abey-generate-routes":"bin/abey-generate-routes.js"},"dist":{"shasum":"0c3d220d2167bf2bea112a3ee97956423a0e5bc6","tarball":"https://registry.npmjs.org/@abeyjs/view/-/view-0.1.7.tgz","fileCount":128,"integrity":"sha512-QvjCcbT/HcdkkxhxevhY60Q6PrundLFBZ2pzoWEzvKeApHVk6x6M0Oth/vV98nR2l8UaszYRW0ngiJlJPZ6S+w==","signatures":[{"sig":"MEYCIQD566FIcHIfWC5UZWiVhbosgdC9i1yGfHDVlUd56HwNQgIhAJ69EL3Ow382q84OPyTX7GWfXxXSArul/buQ+Iq70aOn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":432156},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme/*":"./theme/*","./package.json":"./package.json","./dev/vite-logger":{"types":"./dist/dev/abey-vite-logger.d.ts","import":"./dist/dev/abey-vite-logger.js"},"./dev/abey-route-plugin":{"types":"./dist/dev/abey-route-plugin.d.ts","import":"./dist/dev/abey-route-plugin.js"},"./form/entity-form-values":{"types":"./src/form/entity-form-values.ts","import":"./src/form/entity-form-values.ts"},"./dev/vite-docs-static-site":{"types":"./dist/dev/vite-docs-static-site.d.ts","import":"./dist/dev/vite-docs-static-site.js"},"./dom/define-abey-component":{"types":"./dist/dom/define-abey-component.d.ts","import":"./dist/dom/define-abey-component.js"},"./dev/spa-fallback-paths-ast":{"types":"./dist/dev/spa-fallback-paths-ast.d.ts","import":"./dist/dev/spa-fallback-paths-ast.js"},"./dev/vite-malformed-uri-guard":{"types":"./dist/dev/vite-malformed-uri-guard.d.ts","import":"./dist/dev/vite-malformed-uri-guard.js"},"./dev/sync-spa-html-fallback-paths":{"types":"./dist/dev/sync-spa-html-fallback-paths.d.ts","import":"./dist/dev/sync-spa-html-fallback-paths.js"}},"gitHead":"425428144da76c8e959165f2a0b45b9acf1f2fb5","scripts":{"build":"npm run clean && tsc -p tsconfig.json","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"_npmUser":{"name":"abeyjs","email":"abeyjs98@gmail.com"},"_npmVersion":"8.19.4","description":"AbeyJs **view layer**: native **DOM** bindings, routed **shells**, **`@AbeyComponent`** web components wired to **`OmegaRuntime`**, data-driven **list/form** mounting (form controls live in **`@abeyjs/uikit`**), declarative hero pages, **lazy** route fact","directories":{},"sideEffects":false,"_nodeVersion":"22.20.0","dependencies":{"typescript":"^5.7.0","@abeyjs/core":"0.1.1","@abeyjs/state":"0.1.1","@abeyjs/uikit":"0.1.5","@abeyjs/runtime":"^0.1.4","@abeyjs/validation":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.24.0"},"peerDependencies":{"zod":"^3.24.0","vite":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/view_0.1.7_1778385821274_0.9314468642785025","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@abeyjs/view","version":"0.1.8","license":"MIT","publishConfig":{"access":"public"},"type":"module","sideEffects":false,"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{"./package.json":"./package.json",".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dev/vite-logger":{"types":"./dist/dev/abey-vite-logger.d.ts","import":"./dist/dev/abey-vite-logger.js"},"./dev/vite-malformed-uri-guard":{"types":"./dist/dev/vite-malformed-uri-guard.d.ts","import":"./dist/dev/vite-malformed-uri-guard.js"},"./dev/vite-docs-static-site":{"types":"./dist/dev/vite-docs-static-site.d.ts","import":"./dist/dev/vite-docs-static-site.js"},"./dev/sync-spa-html-fallback-paths":{"types":"./dist/dev/sync-spa-html-fallback-paths.d.ts","import":"./dist/dev/sync-spa-html-fallback-paths.js"},"./dev/spa-fallback-paths-ast":{"types":"./dist/dev/spa-fallback-paths-ast.d.ts","import":"./dist/dev/spa-fallback-paths-ast.js"},"./dom/define-abey-component":{"types":"./dist/dom/define-abey-component.d.ts","import":"./dist/dom/define-abey-component.js"},"./form/entity-form-values":{"types":"./src/form/entity-form-values.ts","import":"./src/form/entity-form-values.ts"},"./theme/*":"./theme/*","./dev/abey-route-plugin":{"types":"./dist/dev/abey-route-plugin.d.ts","import":"./dist/dev/abey-route-plugin.js"}},"bin":{"abey-sync-spa-paths":"bin/abey-sync-spa-paths.js","abey-generate-routes":"bin/abey-generate-routes.js"},"scripts":{"clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","build":"npm run clean && tsc -p tsconfig.json"},"peerDependencies":{"vite":"^5.0.0 || ^6.0.0","zod":"^3.24.0"},"devDependencies":{"zod":"^3.24.0"},"dependencies":{"@abeyjs/core":"0.1.1","@abeyjs/runtime":"^0.1.4","@abeyjs/state":"0.1.1","@abeyjs/uikit":"0.1.6","@abeyjs/validation":"0.1.1","typescript":"^5.7.0"},"gitHead":"5f7077cabd66315db5b4628e13125592caaa28ad","description":"AbeyJs **view layer**: native **DOM** bindings, routed **shells**, **`@AbeyComponent`** web components wired to **`OmegaRuntime`**, data-driven **list/form** mounting (form controls live in **`@abeyjs/uikit`**), declarative hero pages, **lazy** route fact","_id":"@abeyjs/view@0.1.8","_nodeVersion":"22.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-EhGlApTXdE0J3VF1o6ozmHt9DtUAHDgQMpnPjqHqmiBMdtdszDvLTleROrMHuCtqfuvN6hohjqhuVHZpOiWsjQ==","shasum":"c80dec0e93bba79e19c41f584930af429e8a2eb4","tarball":"https://registry.npmjs.org/@abeyjs/view/-/view-0.1.8.tgz","fileCount":128,"unpackedSize":432156,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFzkn069EqjH2CRyCXUG+S7sSlBzPqU0JuGMSe14U5cqAiBy7CF5v5XZ2gAaAhqJcnMDf96x9F2zB2y2YYWN6JyiEg=="}]},"_npmUser":{"name":"abeyjs","email":"abeyjs98@gmail.com"},"directories":{},"maintainers":[{"name":"abeyjs","email":"abeyjs98@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/view_0.1.8_1778386629251_0.30613832569399557"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-02T01:24:02.692Z","modified":"2026-05-10T04:17:09.679Z","0.1.0":"2026-05-02T01:24:02.915Z","0.1.1":"2026-05-02T15:02:29.788Z","0.1.2":"2026-05-02T15:35:50.949Z","0.1.3":"2026-05-09T09:58:56.312Z","0.1.4":"2026-05-09T10:14:39.293Z","0.1.5":"2026-05-09T10:47:38.999Z","0.1.6":"2026-05-09T11:05:51.875Z","0.1.7":"2026-05-10T04:03:41.482Z","0.1.8":"2026-05-10T04:17:09.425Z"},"license":"MIT","description":"AbeyJs **view layer**: native **DOM** bindings, routed **shells**, **`@AbeyComponent`** web components wired to **`OmegaRuntime`**, data-driven **list/form** mounting (form controls live in **`@abeyjs/uikit`**), declarative hero pages, **lazy** route fact","maintainers":[{"name":"abeyjs","email":"abeyjs98@gmail.com"}],"readme":"# `@abeyjs/view`\r\n\r\nAbeyJs **view layer**: native **DOM** bindings, routed **shells**, **`@AbeyComponent`** web components wired to **`OmegaRuntime`**, data-driven **list/form** mounting (form controls live in **`@abeyjs/uikit`**), declarative hero pages, **lazy** route factories, lightweight **signals**, DOM **dependency injection**, and **safe HTML** helpers.\r\n\r\nNo React/VDOM — **`StateCell`** + incremental updates, or compiler-generated **`mount`** from **`.view.html`** (pipeline in **`@abeyjs/compiler`**).\r\n\r\n---\r\n\r\n## Install\r\n\r\n```bash\r\nnpm install @abeyjs/view\r\n```\r\n\r\n**Peers (your app supplies them):** **`vite`** (^5 or ^6) if you import **Vite-only** subpaths; **`zod`** (^3.24+).\r\n\r\n**Runtime deps (bundled transitively via this package):** **`@abeyjs/core`**, **`@abeyjs/runtime`**, **`@abeyjs/state`**, **`@abeyjs/uikit`**, **`@abeyjs/validation`**.\r\n\r\n---\r\n\r\n## Package exports\r\n\r\n| Subpath | Purpose |\r\n|---------|---------|\r\n| **`@abeyjs/view`** | Main API — **`src/index.ts`**. Routing, bootstrap, **`@AbeyComponent`**, mount helpers, safe HTML, etc. |\r\n| **`@abeyjs/view/package.json`** | Resolvable package root (CLI **`require.resolve`** / wrappers). |\r\n| **`@abeyjs/view/theme/omega-default.css`** | Default shell / layout CSS variables (static asset; import once in **`main`**). |\r\n\r\n### Vite-only (Node / `vite.config`; not shipped in typical browser bundles)\r\n\r\n| Subpath | Purpose |\r\n|---------|---------|\r\n| **`@abeyjs/view/dev/vite-logger`** | **`createAbeyViteLogger()`** — tags logs as **`[abeyJs]`** instead of **`[vite]`** for skim-friendly dev output. |\r\n| **`@abeyjs/view/dev/vite-malformed-uri-guard`** | **`abeyViteMalformedUriGuard({ locale? })`** — answers **400** for illegal **`%`** sequences **before** Vite’s static middleware throws (**`URI malformed`** noise). CLI templates enable this by default. |\r\n| **`@abeyjs/view/dev/vite-docs-static-site`** | Static SPA hosting helpers (GitHub Pages–style **`base`** + **`dist/<path>/index.html`** duplicates). See [Vite: static docs / GitHub Pages](#vite-static-docs--github-pages) below. |\r\n| **`@abeyjs/view/dev/sync-spa-html-fallback-paths`** | **`syncSpaHtmlFallbackPaths({ … })`** — writes a TS module listing route path strings from **`pageRoute` / `componentRoute`** sources via AST scanning. Use with a JSON config instead of bespoke scripts. |\r\n| **`@abeyjs/view/dev/spa-fallback-paths-ast`** | Lower-level AST helpers used by **`sync-spa-html-fallback-paths`**; import only if you integrate custom tooling. |\r\n\r\n### CLI (**`bin`**)\r\n\r\n| Command | Purpose |\r\n|---------|---------|\r\n| **`abey-sync-spa-paths`** | **`abey-sync-spa-paths --config abey-spa-paths.config.json`** — generates the path list module (usually **`vite-doc-spa-paths.ts`**). Point **`package.json`** **`prebuild`** at this so CI never misses a route. |\r\n\r\n---\r\n\r\n## Vite: static docs / GitHub Pages\r\n\r\nFor an SPA deployed to a host **without SPA fallback** at the edge (classic **GitHub Pages**):\r\n\r\n1. **Path list from source** — Run **`abey-sync-spa-paths`** against a small JSON config that lists TS files declaring **`navChildren`**, **`pageRoute`/`componentRoute`**, or **`getUtilsRoutes()`**–style literals. Output: **`export const DOC_SPA_HTML_FALLBACK_PATHS = [\"/guides/foo\", …] as const`**.\r\n2. **Duplicate shell HTML after build** — In **`vite.config.ts`**, add **`abeyViteSpaHtmlFallbackDirs({ paths: DOC_SPA_HTML_FALLBACK_PATHS })`** from **`@abeyjs/view/dev/vite-docs-static-site`**. It runs in **`writeBundle`** and emits **`dist/<pathname>/index.html`** copies of the root **`index.html`** so deep links load the app shell.\r\n3. **Subpath `base`** — **`abeyViteDeployBase()`** reads **`DOCS_SITE_BASE`** (for example **`/<RepoSlug>/`**) into Vite **`base`**.\r\n\r\nOptional on the **same module**:\r\n\r\n- **`resolveAbeyDocsCanonicalOrigin(mode, loadEnv(...), { devFallbackOrigin })`** — canonical URL (**no trailing slash**) for **`%DOC_SITE_ORIGIN%`** in **`index.html`**; required in **`production`** if env is empty.\r\n- **`abeyViteCanonicalSitePlugin({ getOrigin, jsonLd: { siteName, description, inLanguage } })`** — replaces the placeholder + injects **WebSite** JSON-LD.\r\n\r\nReference implementation: monorepo **`docs/web`** (`vite.config.ts`, **`abey-spa-paths.config.json`**, **`docs/web/README.md`**).\r\n\r\n---\r\n\r\n## Bootstrap & shell\r\n\r\n- **`bootstrapOmegaApp(root, config)`** (`bootstrap/omega-bootstrap.ts`) — Optional **auth** gaps for **public paths**, **`mountRoutedApp`**, **`resolveBootstrapRuntime(createOmega)`**, **`exposeBootstrapRuntime`**. Exposes **`globalThis.__abeyRuntime`** (and **`globalThis.__abeyDi.channel`** when absent) so **`abey-table`**, **`abey-widget`**, **`@AbeyComponent`** (default **`runtimepath` → **`__abeyRuntime`**), and **`getBootstrapRuntime()`** work without per-app glue. **`registerAbeyJsUi()`** remains explicit (defines **`abey-*`** elements). Router publishes **`omega/nav:changed`** on navigation (**`source: abey-router`**).\r\n\r\n- **`mountRoutedApp` / `mountAppShell`** — Admin / landing / **blank** shell, sidebar + **`main.abey-outlet`**, **`PathRouter`** with **`history`**. Admin (**`variant: \"admin\"`**) defaults to dark chrome (**`appearance: \"dark\"`**); use **`appearance: \"light\"`** or the app-bar toggle; **`ABEY_SHELL_APPEARANCE_STORAGE_KEY`** + **`persistAppearance`** (**default `true`**) persists theme.\r\n\r\n- **`createPathRouter`**, **`normalizePathname`** — Coordinate with **`setPath`** from **`@abeyjs/runtime`** for intent-aligned URLs.\r\n\r\n---\r\n\r\n## Routing primitives\r\n\r\n**`AppRoute`** (`shell/app-routes.ts`) — path (supports <strong><code>:id</code></strong>), **`mount(outlet, params)`**, nav metadata (<strong><code>order</code></strong>, <strong><code>navIconFa</code></strong>).\r\n\r\n- **`pageRoute`** + **`buildPageView` / `createPageViewElement`** — Declarative **`PageViewSpec`** pages (**`PageRouteNav`**).\r\n- **`componentRoute`** — **`ComponentRouteNav`** + **`ComponentRouteSpec`**; use **`satisfies`** on **`routes.ts`** for literal path types.\r\n- **`lazyViewMount(importFn, exportName)`** — **`import()`** + loading affordance; teardown forwards inner **`dispose`**.\r\n\r\n**`firstNavPath`**, **`matchAppRoute`** — Table-driven matching.\r\n\r\nOptional **`navChildren`** (**`AppRouteNavChild[]`**, recursive **`children`**) — Sidebar groups; **every leaf path** must still exist on a concrete **`AppRoute`** so **`matchAppRoute`** resolves the view.\r\n\r\n**Pathname deploy base** (**`import.meta.env.BASE_URL`** / Vite **`base`**): **`hrefUnderPathnameBase`**, **`pathIsUnderPathnameBase`**, **`rewriteRootAbsoluteAnchorsForPathnameBase`**, **`installPathnameBaseAnchorClickGuard`** (`router/pathname-base-nav.ts`) fix **`<a href=\"/…\">`** and in-app navigations under **`/<repo>/`**.\r\n\r\nSidebars from HTTP: **`fetchSidebarNav`**, **`buildRoutesFromApi`** (`shell/nav-from-api.ts`).\r\n\r\n---\r\n\r\n## `@AbeyComponent` & OM templates\r\n\r\n- **`AbeyComponent`**, **`defineAbeyComponent`**, **`AbeyComponentElement`** — **`template`**, optional **`stylesHrefs`** (**`<link>`** URLs: Vite **`?url`** / **`new URL(..., import.meta.url)`**), optional **`stylesText`** (e.g. **`import sheet from \"./x.css?inline\"`** into shadow **`style`**). Do **not** put **`?inline`** blobs in **`stylesHrefs`** (**`URI malformed`** / bad requests). Reactive **`state`** drives **`bindAbeyTemplate`**.\r\n\r\n- **`componentRoute`** + **`load()`** leaves outlet empty unless **`showLoading: true`** (shows localized loading chrome during chunk fetch).\r\n\r\n- **`mountModuleStyles`**, **`withModuleStyles`** — Co-located CSS for OM modules.\r\n\r\n- **`AbeyJsViewElement`** / **`registerAbeyJsView`** — Older **`{{path}}`** interpolation + **`abeyjs-for`**. Prefer the compiler OM path for shipped screens.\r\n\r\n- **`registerAbeyJsUi()`** — Registers **`abey-*`** from **`@abeyjs/uikit`**, **`abey-widget`**, **`abey-provide`**. Run once early in **`main.ts`**.\r\n\r\n- **`defineAbeyUxView`** — UX-shell composition API (**`define-abey-ux-view.ts`**).\r\n\r\n---\r\n\r\n## Data-driven views (`view-types.ts`)\r\n\r\nTypes **`ListViewDef`**, **`ListSlice`**, **`FormViewDef`**, **`FormSlice`**, **`ViewField`**, etc.\r\n\r\nMount helpers (`dom/`):\r\n\r\n- **`mountFormView`**, **`createOmegaFormSurface`**, **`mountIntentButton`** — Thin forwards to **`@abeyjs/uikit`** (same ergonomics).\r\n\r\n- **`mountListView`**, **`mountListViewSync`**, **`mountSignalList`** — Tables/lists on **`StateCell`** slices.\r\n\r\n- **`mountBoundText`**, textual templates.\r\n\r\n- **`bindActions`**, **`bindAbeyTemplate`** — Delegated intents / OM partials.\r\n\r\n- **`mountInterpolatedTemplate`**, **`mountReactiveTemplate`**, **`createTemplateView`** — String/HTML shells with reactive holes.\r\n\r\n- **`mountTracePanel`** — Dev HTTP/event strip (**`OmegaRuntime`**).\r\n\r\n- **`mountLifecycle`** — **`onDestroy`**-style wrapping.\r\n\r\n**`blocks-screen.ts`** — **`screen`**, **`mountScreenView`**, **`dataTable`**, toolbar **search/select**, etc.\r\n\r\n---\r\n\r\n## DI (`di/`)\r\n\r\n**`inject` / `tryInject`** — Sync token reads from runtime container.\r\n\r\n**`injectFromDom` / `tryInjectFromDom`**, **`AbeyProvideElement`**, **`AbeyUxViewMeta.providers`** — DOM-scoped wiring for **`@AbeyComponent`**. Tokens: **`dom-di-tokens`** (**`DOM_CHANNEL_TOKEN`**, etc.).\r\n\r\n---\r\n\r\n## State (`state/signal.ts`)\r\n\r\nSmall **signal** API (**`signal`**, **`computed`**, **`readonlySignal`**) alongside **`StateCell`** — for fine-grained dependency edges.\r\n\r\n**`applyViewTheme`**, **`ABEYJS_VIEW_BASE_CLASS`** (**`view-theme.ts`**) — Shared theme hints for OM surfaces.\r\n\r\n---\r\n\r\n## Security\r\n\r\nNever assign raw API/HTML strings to **`innerHTML`** for untrusted data. Prefer **`textContent`** or **`setSanitizedHtml`**, **`configureSanitize`**, **`AbeyJs.sanitize`** (**`safe-html.ts`**).\r\n\r\nProduct-oriented write-up (Spanish/English mix in upstream repo): **`docs/security-omegax.md`** at monorepo root.\r\n\r\n---\r\n\r\n## Build (maintainers)\r\n\r\n```bash\r\nnpm run build -w @abeyjs/view\r\n```\r\n\r\nProduces **`dist/`** + declaration files consumed by **`exports`** map in **`package.json`**.\r\n","readmeFilename":"README.md"}