{"_id":"habame","_rev":"41-ce86b6514d10e6ffcec4fddf6175b4c9","name":"habame","dist-tags":{"latest":"1.0.41"},"versions":{"1.0.0":{"name":"habame","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.0","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"9f6d3c225e5433eeff987f62c9b797fb015b77e3","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.0.tgz","fileCount":69,"integrity":"sha512-NqVRZ5TtbNssFu3v9HPr5duW9qcbBjjXNngWLhDKJ5nO9g6Klcb00QNBa0RtXGZ6Dww7anO+ql5DT6FDNh/3mA==","signatures":[{"sig":"MEYCIQCNjHDGMgOts8Wp4Bq5xWO5nClb1FHSi5Cg0ldPKou9sQIhAOC9XXkcrehgLDkcxbqAy8LGYk/apgpR/zXG62O6FG7Y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":400517},"main":"index.js","gitHead":"12aac1f87ecdf83a0cd5403aac503060b9b9da2a","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.0_1724670869142_0.31698066606042397","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"habame","version":"1.0.1","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.1","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"b11c3ae28520afe28f7fdea767c28506013eaff6","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.1.tgz","fileCount":69,"integrity":"sha512-rJ8QPfP2L3Je4qg1SlgvZyIrXXcsi/zphXWYVlghe64Mu7fmnL4L37NFwS+c1eG1vhEDik/tF82L0h1s8TQz6w==","signatures":[{"sig":"MEQCIQDUCIflbS4kXpKIDsC3/LSkqZNUzW/qzoqEb5Lj8gtf0QIfAujsytDjcG1SIln/IfdgkxVJdhXhdzQq66lUbVE3DA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":401055},"main":"src/main.js","gitHead":"5461563b9927a5d78ac98976d3dce97893522b42","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.1_1724866346128_0.09778867668501001","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"habame","version":"1.0.2","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.2","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"9e73948583e8d98ed774f9c509878a821de7deb4","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.2.tgz","fileCount":69,"integrity":"sha512-TLyH6+0pxmvcOT8lbaxzH538ADq8vPrWIkas2HDaQz4IWzM2I02KRJqxSRfDaTm2cWHl9bL2mv4RO6WQAe5xzA==","signatures":[{"sig":"MEUCIQDz6L+BWFDXs7D/hLjOHuiRcKW0HIsa6gLDXeDdsaAlgQIgTvLrL4Lm6xkAFfzsw3Nt6KLWXOR/q/d4zn24sG0h4A4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":401280},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.2_1725428593351_0.09545744223798436","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"habame","version":"1.0.3","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.3","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"b24af136e913e5fa3db92e49984523bcdda465f9","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.3.tgz","fileCount":69,"integrity":"sha512-sA4dUCFVLElIrye+aE+Yr/bFoyhJ8LCw19zRB8SXq1Y0JW7Tx0klTXtjz9yg9QSYUFAEb10ehlhr8QQaC2qdwg==","signatures":[{"sig":"MEUCIEIu4QjOjWTxZMVbK0Lo2UuPuR7yGTqcfuUPYOuue4kjAiEAuQwc98kYZ91776ARoNxwjq5b5fFkTEFobxCSiKGmbrQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":401575},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.3_1725428709709_0.8835793631106306","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"habame","version":"1.0.4","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.4","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"14ea12f6daea38fe023e4be791b86e248cf18f3a","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.4.tgz","fileCount":69,"integrity":"sha512-/NTOR2XpzSNo1ACTlWuHT9inqFtwgHr5pDFxTSa4khWDJ0WcTzDx5WhNNhVNELEaEo9vEtBURA3QX2RAx2Qk4w==","signatures":[{"sig":"MEQCIDWEFzGb5Jb7zvOvCjGQStYCaIcWN5Z3G3iOSwCqLcRaAiB+HbGFQoXjA3iLtx5R/pRyP7UYthKk1oPTYslJm0986Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":410659},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.4_1726470834815_0.18903813895886112","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"habame","version":"1.0.5","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.5","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"b77ff05f660826173743819cdd412807beb67cdd","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.5.tgz","fileCount":69,"integrity":"sha512-nJ8R5v3x5CKmhzFXbMH11lsbhP/6M53InmohiVmvA5mNirJ7Lge6SaT0//LwOFurN77SMqVWIRFoNKJV14O26Q==","signatures":[{"sig":"MEUCIQDOfEiD3g6yvGZw2Xn0klq60KKh/jLlbja0hQ5EErB0ZwIgR4Tg9hqA5yAf7uBoSvK9QllMrKBy8c7uuD/aNED0BOg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":410635},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.5_1726471164591_0.603988905235427","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"habame","version":"1.0.6","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.6","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"6cac17666c4cafba0cb8dcb36f2eb94a8abd438f","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.6.tgz","fileCount":69,"integrity":"sha512-dXzfJlCozF3jnxRYaIK9vmi0CY+plauDjfw1p4HQRMFKqIj/7kZyI4jktH/fV+mVYK0dexXhrNwWwy5BvWIk5A==","signatures":[{"sig":"MEUCIQCOhXR8StA5T3nOXCEODpxYAXgXqlE65wqnRPbjqA/DaAIgMXB1qAlkVEqX3Q1AREP9bGvPOvtAopz9vWq5xxMGH28=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":410610},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.6_1726471715373_0.47500549387658997","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"habame","version":"1.0.7","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.7","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"7c0e3d4bdee825e6b78b0d8bb13c8238d1052483","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.7.tgz","fileCount":69,"integrity":"sha512-RIIVMFTmpQEc1CpcpbaWtLQt4vk0u+/2hymjsm+Wt/YLs7T/WSRgC1O0DO1toxlxPOuFgkzgZafML7QX7qkpWg==","signatures":[{"sig":"MEUCIQCdurXxbFYO1bA2MaY2v33o5TMlqXrXXWcxDBOUNH6AvAIgZ0Egqb336puF8SsbZAh2oBHQ+lLOczkSqhkHXfTbrq8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":410591},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.7_1726473540717_0.4769920286158882","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"habame","version":"1.0.8","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.8","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"419d30dc0e8e5b68667e3d523596b847a79c2e19","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.8.tgz","fileCount":69,"integrity":"sha512-ahR2zypDVCDcLdHeJeYeWTsxr19z8R5iWcGth3vtPf6NdLgcpSxwVkNAjkgftLQDk8m2DToxhDLA/VmEA8Hsew==","signatures":[{"sig":"MEYCIQCnw+sn1w/gVuNU6l2xpE4oKHZhk+rNQruUWJH8iN05ugIhAJATPeuZP+znqy/WZJOH95x6SAVPW5lmlq1mzsEsOLIw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":410577},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.8_1726473772318_0.4106328532705865","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"habame","version":"1.0.9","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.9","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"87222cd82876db3827e9fc0377e153d1215c67c2","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.9.tgz","fileCount":69,"integrity":"sha512-+39zUUf7xacX/nz3dDrZzEO0p6p62bj9GgWQkzINUN6URlNcJZ9zMZHGOuzY6cRG0WUbJRsJWSD9E+sEC8r5Cw==","signatures":[{"sig":"MEUCIQChq0xtwZNzM/TUAlY1fx4PaVHjqkcqzOhVPvHWNOvaDwIgPPk2A/GaIOouhHySpr8wgkAgc1yeFcXGU6e1JeACn9c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":409890},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.9_1726561187947_0.18330863527611507","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"habame","version":"1.0.10","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.10","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"0e75833e8e64c96e79450676644b9ef593f5cd0f","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.10.tgz","fileCount":69,"integrity":"sha512-6kkCjDDcP3pFilnj1cRj9ftPERt2dce2mv78KlHjbP7z0BQdsjgmfJfcyGdK/rdrKyCZoFkupFE51fbgaIdadg==","signatures":[{"sig":"MEYCIQDnL/OGQqNRVlZsYmVA/Z2iP5fIXYJF9J9ApIlygkSMlgIhAN7dtx7mXmtTlW1l0uhgTF5gbcAoSkupS9DAGB8txBzR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":410481},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.10_1726561529579_0.7149032997349329","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"habame","version":"1.0.11","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.11","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"22430c296b02f6d7626c4a50b1e3ed785c0d280b","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.11.tgz","fileCount":69,"integrity":"sha512-pvgqXLJyVv65PshGLjmY5ihgTsn+TFMk080mYkFS1pPoDh3oXzL+XUYY6+Hr8xWTS3Z/0vKhwvVKRyyMFI4FAA==","signatures":[{"sig":"MEQCIAGz/UqJ0lfjynJtYbrMysyWvIYtMFK57mbi8Ce2ca5kAiBnPdaOvy9MZoLVy9ZA6389RfVTrJh12kq3gS0ZXqbLaw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":417030},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.11_1727332795413_0.15394708846411165","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"habame","version":"1.0.12","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.12","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"d9aef684a11fe4c39d88c3d753791370e5b37ce4","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.12.tgz","fileCount":69,"integrity":"sha512-hNf+Bf9x1ixG+YKvKw5l8g376yhhrUlnqSKmh6/umNeQ66L5ItAkbrTimj0qvvga5vSKGrzRq7sgt4krableHQ==","signatures":[{"sig":"MEQCIEJbhtDqnUo0Wc5pmHhkSWwWRFtuOwjKS3pAq3v2k1IsAiBLAQ0FamLhUwlYoKzx1N/vCGBDbdllteDDTa+yrouIPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418157},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.12_1727591509170_0.529600707219269","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"habame","version":"1.0.13","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.13","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"8e90aceaac366544599df3fe4abb6c266434483e","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.13.tgz","fileCount":69,"integrity":"sha512-Cg92GZ2Ueatg75LSx+Hesqior0dTFyShd+qYVafwc/zhmRLUFhpcnKcnsrAvdXNsV4VfFiVkUWWyF7S+jZLhuw==","signatures":[{"sig":"MEQCIDtXrRPCw4DvN5miEuBv5kW85XfPP9K4w26ij1YlUgJvAiAmLK2MqmFJScceDy9ZC78le9j9hEapp4d4yuccolxq3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418181},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.13_1727591753290_0.7190945163850053","host":"s3://npm-registry-packages"}},"1.0.14":{"name":"habame","version":"1.0.14","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.14","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"6a06eca775e5a30a3a2662c04da9a59e311e1753","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.14.tgz","fileCount":69,"integrity":"sha512-VgpoJ6LM/uqDPPcKzjx9m/3kGKgpGnWIBZU/O1X27WX81utL2+P56I+haSU9QC04kX+yBMGUakYYjsCnlgJOOg==","signatures":[{"sig":"MEUCIQCkLjDpYB9z6msx2/fO+6tb1/PBE0Z/4OqX2AvJ9s8WXAIgZuXDa3HNekjsyPm8ZZshvlkARAE8P2TWgo0Xx/9RfBc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418181},"main":"src/main.js","gitHead":"fdcedc411dfccad5aa64162f03ff96475c09a38f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.14_1731708054760_0.45381410181479476","host":"s3://npm-registry-packages"}},"1.0.15":{"name":"habame","version":"1.0.15","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.15","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"74acb44879ae96493a4ea14a4d96afbec8d88195","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.15.tgz","fileCount":69,"integrity":"sha512-kk8b2N75a4rLp8/P67eyLb9B3v2Q1DTz4UX3/S1fY7Mop65WSUrSd/eJyvm2rysaiYj/7DPOz2+XWcsYhrlKtQ==","signatures":[{"sig":"MEUCICevhuXo+n6SkcWOJ1CkEHuse5CPA7n6YRJDo+6sn9KOAiEAlpjQ2S0J9v7u1Hz4yM7RQWPPvMSLpBAEShnOGRk34XI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":421590},"main":"src/main.js","gitHead":"ebcb54273f141c8ba19e87c93a126e162aa93352","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.15_1731864425346_0.10057663140387407","host":"s3://npm-registry-packages"}},"1.0.16":{"name":"habame","version":"1.0.16","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.16","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"b636ce137f80b4845b62e344196a4002d00d2c0b","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.16.tgz","fileCount":69,"integrity":"sha512-XIW1QXWG8AWGqhxH55kBWhK/8H9D2yc4kjwYSvdZcr4xgpscddYLKUjIMZoA6qdnOcaujch9wpzs3hO2oIVnNg==","signatures":[{"sig":"MEYCIQC1Y468WBzTtKxc6+/5eYkS87ef8UmCAl+NjmkCNhZ7JgIhALfC91LRktNiJvTeo9d+Rsf6xyXIt+89qv629cemSFGy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":421849},"main":"src/main.js","gitHead":"555809e4ce6f18696f5bf35b3197a1d29365bade","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.16_1731906298111_0.028246118492990746","host":"s3://npm-registry-packages"}},"1.0.17":{"name":"habame","version":"1.0.17","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.17","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"3e72f7919110d3f81be4a8d44df7dc6748b4b4e6","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.17.tgz","fileCount":69,"integrity":"sha512-QVKMfIQuhGXU90yao0OpwwxBC0r3QOHsZB9exgbaHitY4caWoyt8NKjZO3rW3h8CTxpXs49SIsooP/bIkojCJg==","signatures":[{"sig":"MEQCIEFD36Qg5ttZGF88+m4DtIlXXddBezwZDGCxJdC63zP9AiAz/1ULgp6GLm5H/Az2/yqVSjqrkBrHiBbkQwV8mwvNZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":422198},"main":"src/main.js","gitHead":"555809e4ce6f18696f5bf35b3197a1d29365bade","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.17_1731906679760_0.34669646507564966","host":"s3://npm-registry-packages"}},"1.0.18":{"name":"habame","version":"1.0.18","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.18","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"179d7e9ecac149ef827fed24815b3d30160dac6d","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.18.tgz","fileCount":69,"integrity":"sha512-+WoW6SEY4S0ZwiQCKOEc6j4utoYneSt1Q53Cr0Sw6lGrd8hs9QZCdSHMACj0oq0yF/O21IQ4h8gzsn9J1Wc6Qg==","signatures":[{"sig":"MEQCICPNnE4xosHMK9yInNTnS8Ym8AXSEsJWH1UreX0b8etEAiAittkZhFcjo7mqJLEZQhdZ5LUmbdzJNN9LUN99HXcNSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":422199},"main":"src/main.js","gitHead":"5c922d5ea77f8f12ee3fffc793909f98a90f5f58","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.18_1731906999347_0.0649495643655611","host":"s3://npm-registry-packages"}},"1.0.19":{"name":"habame","version":"1.0.19","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.19","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"3b7e6d61ad696001903449744311e97ef7459823","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.19.tgz","fileCount":69,"integrity":"sha512-iIz9/IjZOtiUxfwoN7pss24HShaUCEE9xUX5gZTcHyaFXUa409YgaLt6rtuw8y+8by9gBi83Wc4BshkyXa7dIg==","signatures":[{"sig":"MEUCIQCa1G9xZ9EPUUWbB9ASuNMk9fUj9TPJ5qfSe/2wy70ZFwIgGXX4HzORavQ5+u7woxM0RGpf2cGveXMgwvOSU0qnQoc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":422245},"main":"src/main.js","gitHead":"d61b087b68b1b7f60cb54d311dbc49363a3f3b22","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.19_1731907259791_0.0664725885384101","host":"s3://npm-registry-packages"}},"1.0.20":{"name":"habame","version":"1.0.20","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.20","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"24f46f77b8a985b648c3305943f38753e5869090","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.20.tgz","fileCount":69,"integrity":"sha512-Qk1atRIkePV23PxFQjsPizqllm58Gd4SSx0g7xsB+fAxVF4xZfVQRTp+CuIIHxPythvFLwuF0+LC+oXoMsjE1w==","signatures":[{"sig":"MEYCIQDVC97YFhpPq4dipBhfH2esxAgfdom/HwskGY1PEt5QogIhANnll00PxKiGJZcDw7rmLRnu/y+ik0lWVOH/gMHlccMU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":424271},"main":"src/main.js","gitHead":"d61b087b68b1b7f60cb54d311dbc49363a3f3b22","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.20_1731926794177_0.9455547700635234","host":"s3://npm-registry-packages"}},"1.0.21":{"name":"habame","version":"1.0.21","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.21","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"dace0ac30ec727f5ccb274bf303fdaee831e2021","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.21.tgz","fileCount":69,"integrity":"sha512-Rb/0gHROxk51vDhpL2X4Cov2a0yCRNUeL8DvnKQVn0LPTrSwJStHZjzVDOPv1eqbtyaljoROC+ZaKV2oZgR/qA==","signatures":[{"sig":"MEQCIDP9GH5DhFM8YC0EtvRxh1LM8I0jO0UhGpo2aiSAyvYtAiAjkJEynQMaePAwewa3LpknveZA03U7NcH/88Al+01jwQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":424878},"main":"src/main.js","gitHead":"d61b087b68b1b7f60cb54d311dbc49363a3f3b22","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.21_1731932813230_0.20771129471194438","host":"s3://npm-registry-packages"}},"1.0.22":{"name":"habame","version":"1.0.22","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.22","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"1d1d658021b6d48d1bb088abb3299749f73d96bd","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.22.tgz","fileCount":69,"integrity":"sha512-4S4Y2s/wfxDDqcfwmN+WAcwio4qL141FpXo7RjQ081Efd0pRDiYfcNZP2JR3Gg5N/aEGeCxoZU4d2wxmBb2C1Q==","signatures":[{"sig":"MEUCIQDU6aczHO+8+iRg5dmOYUUQdhva/OyE2WhteuWrHJLSPgIgQaQT682XRL0F5alxmpzRSFUzCK1bi+hPvW1XiX3iN+8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":424868},"main":"src/main.js","gitHead":"d61b087b68b1b7f60cb54d311dbc49363a3f3b22","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.22_1731933711298_0.15478187142663935","host":"s3://npm-registry-packages"}},"1.0.23":{"name":"habame","version":"1.0.23","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.23","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"1dad2095b4dd228ecc8941b6ba19e2761e736e93","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.23.tgz","fileCount":69,"integrity":"sha512-Sdmccs0Y5cTOkbtpXv3uDThgfR6gRzS2guEUwmLEF2r6N5SMHz4pzgo14zNZGGdqgwtoauAseORKidpxduxa/A==","signatures":[{"sig":"MEUCIQDKgNWRnoQ2vM3acoJ90RzXBSD1txLi4W4d/F2naEOPCwIgFNiN0QNVcVJ3V/QLJh49O9V7xWD5dC4iGFtmYx+oMNA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":424883},"main":"src/main.js","gitHead":"d61b087b68b1b7f60cb54d311dbc49363a3f3b22","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.23_1731934145850_0.6552446494966575","host":"s3://npm-registry-packages"}},"1.0.24":{"name":"habame","version":"1.0.24","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.24","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"a62391c226224ba77c73792bca4a0fba2f7b524a","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.24.tgz","fileCount":70,"integrity":"sha512-Wx6qtdlCxKdk37Exh5BbMQjJpowM/XZ/zC4sFtkSSzIjVTC/eP2Rmk0K3znlx7NOUsZwzOs4o9aMolIKqbLycg==","signatures":[{"sig":"MEYCIQCeCvZwAKWF7Dy5QZGjeo8ltT0tGtNxtmdVAOCYtszAdgIhALLpysfAi8l/c4X2rp4PYOTD4Djw9f+4qTddbBKZjPf5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":410124},"main":"src/main.js","gitHead":"9c52c883d5ff8627c346b1d6c49f466d4be3726f","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.0","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.24_1732527234651_0.5739274083280725","host":"s3://npm-registry-packages"}},"1.0.25":{"name":"habame","version":"1.0.25","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.25","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"7d698a372f20b3516e9f528513e7a127feb195cc","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.25.tgz","fileCount":70,"integrity":"sha512-ywPQ88HKqpv/CZqpGdwwmwGSWTLsHJlsL/Olo48SARU86SfohYaqep4fkxX0weNu/IuXl/vmwIHvJQJ/EfPYMw==","signatures":[{"sig":"MEUCIDdfXziqmJ1uc8kxNdvk6/ghKfEjX5yKzic9vO9R9wjaAiEA2CEVSGRI1dNqp+Hs2InQ5Wep3rcFERD2siTWJv1r4RM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":413212},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.25_1732828668515_0.12050746231487408","host":"s3://npm-registry-packages"}},"1.0.26":{"name":"habame","version":"1.0.26","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.26","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"3da7b661bdbf2d78c61c02b67ff822d5af0bfa8b","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.26.tgz","fileCount":70,"integrity":"sha512-VhnORMysi7m10ESp/oSX5WF4TgkYzhxsoCLkhZANKbOadB/Nh6wc7U5YkAVB/m3Q8AjS+3zPhHd91AImmL7aZA==","signatures":[{"sig":"MEUCIQC7KOh5lONmMo9ueIjpu/FxmpFEnWe/2b5Vn4FeURyCdgIgJjzKH4Sg04O632EcsT7Z1YvFlEkc5koX4TekwPam9+g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":413978},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.26_1732884174746_0.5850012113963146","host":"s3://npm-registry-packages"}},"1.0.27":{"name":"habame","version":"1.0.27","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.27","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"cd2747a0bdcd60635910c78d11d84df8f2fa7657","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.27.tgz","fileCount":70,"integrity":"sha512-FMZF8GMyi0epr4DkQmo1dGgAd/3tI3W0maGZO+L1txmi2qHX9AcDVSmwbhRrfY6fks+79/VxJLqS4g167pBlVA==","signatures":[{"sig":"MEQCICZiCNzBJJI3ooOCQ2qXeRFqTC7Zjq/Yje52PSZJ5mlaAiB0nb9a4jUtTPzUWT40ilfHfjcpsNfGguWOjw7I1t4OfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414230},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.27_1733202550281_0.0011113242928684208","host":"s3://npm-registry-packages"}},"1.0.28":{"name":"habame","version":"1.0.28","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.28","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"7f321b28a46fdccaafb75ce0e47551c6960b49d4","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.28.tgz","fileCount":70,"integrity":"sha512-bivvhotFiJlVodFO4CeeQJZw3x69dsO3aaw4jNnVfZBGTTaR8cBSnkMOTteWiVQfEODB3Kh8tQe/5tlCNRcEmw==","signatures":[{"sig":"MEUCIQCyZe7ABmP+U1m7wWP3QNZcVnvK2ov6s92sV4tCWxYSHQIgVt24+VcYw7rD37YuvNwemtDigBQGhSr+PENY5pe0CC8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414230},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.28_1733205039409_0.544447309145462","host":"s3://npm-registry-packages"}},"1.0.29":{"name":"habame","version":"1.0.29","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.29","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"5e980c0cfb12d07077481c4fd06f34ad74bdbb99","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.29.tgz","fileCount":70,"integrity":"sha512-hnp5+T57viP6tY+HoEW6wGX1lxwvdxmZt/+PKI9HHX/OaZynOVMxhRLTYoNyYZukeaFXuFW4z3mtT0QpqrzM5g==","signatures":[{"sig":"MEQCIGeOwsANMIN1id/GPUbW/BjLmzL2dSg+oZXqIVpvUtO8AiBHm0mDvVKg6Y5Sw6mb3jAKltbVNZOYG5ftMi20bJMD6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":414261},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.29_1733206105382_0.8056872491275093","host":"s3://npm-registry-packages"}},"1.0.30":{"name":"habame","version":"1.0.30","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.30","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"cfd01928211bea534d8272e94cc160e02d74a218","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.30.tgz","fileCount":70,"integrity":"sha512-K6XE/Mb6wpcLKDU3JVakUeFHsE403INPFBE5KKMXEir390CgjAxpyxb6HuB1n//rUJ9MuuZO35Eu/Rn+YpXM8g==","signatures":[{"sig":"MEYCIQDDVBFbZk/w1CSKx+hMg/YEn+TSd8nxL+WDfsbzBEWJdgIhAKsXkTVJCY3a2tzobNkYibclhs7zDuOEDlGUeXmQaIUt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415296},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.30_1733289857554_0.16455298423742204","host":"s3://npm-registry-packages"}},"1.0.31":{"name":"habame","version":"1.0.31","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.31","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"e1f3e5af8eb11bb6c38829208de28c7bcb170e4f","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.31.tgz","fileCount":70,"integrity":"sha512-7U7ZzApXiqeIQEj2xT8Karg/dg+CTtGMLDpodNsNRKUmigFmvq1QUr515Whg0ttAA1rZwA9qIGZm9QKsv1tEbw==","signatures":[{"sig":"MEQCIHUs1jO4LPSoOtI1HExI3yfGmrwPnvDRgUljxXwAE0b1AiA5tXQ7Dzym4pTkDDNW1G+pRhJMxq3/gLwJzr5FH4nbWg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":415607},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.31_1733290470624_0.6451696744093565","host":"s3://npm-registry-packages"}},"1.0.32":{"name":"habame","version":"1.0.32","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.32","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"7291131fe710bc9d99b8974f866604f902a49465","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.32.tgz","fileCount":70,"integrity":"sha512-vQaEjqpw2R9SF2/MmS4zBy0kgZPfkMFZKo7m7+OCckvYl17njuawNStKLVZ1mSUhbqqMZCSGtslM60Kvy2Ftgg==","signatures":[{"sig":"MEUCIHWvCN9uY/vbj7904GRdYu0+R5QdoSoTt8FfPHmy+2zTAiEA/gp36QlGhH0/Un2yHGQRxXkf/1lCV9VZhKSJtw7l3/c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":416631},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.32_1733366894177_0.015511132354152357","host":"s3://npm-registry-packages"}},"1.0.33":{"name":"habame","version":"1.0.33","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.33","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"bb178de7f6b80c53f4967861af6b68664d462be0","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.33.tgz","fileCount":70,"integrity":"sha512-CILF8hLeU7liAN2WyiqV1OclV99RssHxbnRDvldR41vGDW3cpVDUC/3JW0+a3ZHYKglJrPJv8XoAL78vZHjUMg==","signatures":[{"sig":"MEUCIQCYp4UG2ceAVEJFjNJ/mSZm/SkPMxEJDWFFYrynroxWZwIgTt6CaN/OuzFOD7dAhFEEt+YIkE07ex0oJTi73jK+TUY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":416304},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.33_1733367274993_0.46753769843394655","host":"s3://npm-registry-packages"}},"1.0.34":{"name":"habame","version":"1.0.34","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.34","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"7410a176ec38fde9bdcabc730ae9f51fbf2cf86f","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.34.tgz","fileCount":70,"integrity":"sha512-j3IVoIzWHcglr/IDyRijJ9ZFNDFRur93LuMShu53pAxjYuHaRMfEyXXi5vj30/06LetrNk2F5dYpLSIrtoyiVQ==","signatures":[{"sig":"MEYCIQCxNvj9jgu94o/QVVLh/gxwE7tgydS+FsIQTdW6qut32AIhAIxcWZ2PRGbeaQZRTQw+QaYgKJIvj9DFHvRoLW58SB2Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":416258},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.34_1733368243675_0.7184903745848039","host":"s3://npm-registry-packages"}},"1.0.35":{"name":"habame","version":"1.0.35","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.35","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"53732311fb62216f446374aa61642b57790623f7","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.35.tgz","fileCount":70,"integrity":"sha512-1SrNJD81j7YC2xFQM8upaAMAv5xIXVFQznmjw7lD4pem01mOlf5fTi2j0ZONF1nQ9vD6nYzrgudfW1oj4xkKbw==","signatures":[{"sig":"MEYCIQDwNv9GIxGbfLdvaWeUyh03Gf/rrT/Tayr0VnIKcTUOcAIhAO1/IhP2J5yyi/saqiLrVxSTRMWgpNmer8kHouLJCzH5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":417767},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.35_1733370212615_0.1574272194468287","host":"s3://npm-registry-packages"}},"1.0.36":{"name":"habame","version":"1.0.36","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.36","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"40a67d05453922a6ff00f1b258a935ee51aa8b45","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.36.tgz","fileCount":70,"integrity":"sha512-Et9WpD879G45JMrblMutqCS7rjAFVSShDmgJvvczWavAY4DZLVkBwUKzMyvGkM2f8K+m0i4q813ik6l/Bpswbw==","signatures":[{"sig":"MEUCIHwcGETHFK2Ez6E0oKcdGku+hfgl07NXRO4OBeQsh9tZAiEA8O8RU7azCBu5NBARULxGEZ7tJPXhrOVtX2EKqZMALxg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418266},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.36_1733407779135_0.41647344657115015","host":"s3://npm-registry-packages"}},"1.0.37":{"name":"habame","version":"1.0.37","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.37","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"a5262f730f3e43b442f5ed393a238996bc675e91","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.37.tgz","fileCount":70,"integrity":"sha512-fUa1MnvXEpexImi0ULDNsn6nLaaSg+dPzhYJbEgqFMJQ4tUPUmvGJl3iHSUzQxfgkB+7TF0ClpRAIa+q0IVODg==","signatures":[{"sig":"MEUCIQDQyLAdlY7RZM8UrNQckGeh6CfJ36+5YAs2k+bjRA3+1QIgKocJxbm9GqdSLqszKKMwo0opexSg+Q45Qx4a4V1+km4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418873},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.37_1733408053574_0.03869197890838305","host":"s3://npm-registry-packages"}},"1.0.38":{"name":"habame","version":"1.0.38","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.38","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"f686d3748ce33a640a22eb6e66d67f4bfee2b2b6","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.38.tgz","fileCount":70,"integrity":"sha512-oDfejW8a76o+f9bQRhXmv2YgOHOB62UzVc72W8Z9MdbUFvd+G0Ahpubqnr2J7N9+mIrbxMSIIGUscaM6cC5n+A==","signatures":[{"sig":"MEUCIQCEBYVBv7EbcJ3BxqIyuXhLEMm6VgTITDXKVcTtHLcuBQIgWDW9KIGCblxRiQfhZrlCgRj9U8b7FxH9m4jY5+Tpxdw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":418873},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.3","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.38_1733408205408_0.9650823460547915","host":"s3://npm-registry-packages"}},"1.0.39":{"name":"habame","version":"1.0.39","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.39","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"f8d818e485b920e3f3354ecae618a4bffee12798","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.39.tgz","fileCount":70,"integrity":"sha512-17gUJW7nisY82fRo7yVa+0FmCZ+IvNayK+PGmcE7CKXq2I7HRfyHrlsDMnfQ1ORNRJN4csQeyqC1Hr578c3EOQ==","signatures":[{"sig":"MEUCIQDsi3JdjmWC63uNoYhuNUF+NbwTzpp+Qel/2M9GU/sd5gIgTlTX2XlaOr7IDGVdjbdABSExFyzu4JCXOgASXgdqBYw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":419202},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@babel/core":"^7.26.0","@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.6","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.39_1733869816185_0.7042823000448508","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"habame","version":"1.0.40","keywords":[],"author":"","license":"ISC","_id":"habame@1.0.40","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"dist":{"shasum":"9a32cb5b1fb5d3f397bc25f8bf676fb124244ea9","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.40.tgz","fileCount":70,"integrity":"sha512-+bBougQus+prlx5iC9BBMDI2BDe/IsyTJ3DbTsbt60cLLhXBC6UxJHUo1xwibYi6z4/JJDn2I9pHph71iTj5JQ==","signatures":[{"sig":"MEYCIQD06M2MamZE8/9o4762atIQmMtnFYMqYTWq9JJLUIAWngIhAMFlJvUMmBfXJ56s+P+BxlVRNhMbv4s31G2pXrTAlpU6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":419869},"main":"src/main.js","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","scripts":{"push":"npm run build && npm publish","test":"echo \"Error: no test specified\" && exit 1","build":"rollup --config","build:dev":"ENV=dev rollup --config","eslint:check":"npx eslint -c .eslintrc.js src/"},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"_npmVersion":"10.8.1","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","directories":{},"_nodeVersion":"20.16.0","dependencies":{"@babel/core":"^7.26.0","@rollup/plugin-babel":"^6.0.4","habame-chimera-engine":"^1.0.6","@rollup/plugin-node-resolve":"^15.3.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.55.0","rollup":"^4.3.0","eslint-plugin-jsdoc":"^46.9.1","@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4"},"_npmOperationalInternal":{"tmp":"tmp/habame_1.0.40_1733869867831_0.38640696915150463","host":"s3://npm-registry-packages-npm-production"}},"1.0.41":{"name":"habame","version":"1.0.41","description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","main":"src/main.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","eslint:check":"npx eslint -c .eslintrc.js src/","push":"npm run build && npm publish","build":"rollup --config","build:dev":"ENV=dev rollup --config"},"keywords":[],"author":"","license":"ISC","devDependencies":{"@rollup/plugin-alias":"^5.0.1","@rollup/plugin-terser":"^0.4.4","eslint":"^8.55.0","eslint-plugin-jsdoc":"^46.9.1","rollup":"^4.3.0"},"dependencies":{"@babel/core":"^7.26.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-node-resolve":"^15.3.0","habame-chimera-engine":"^1.0.6"},"_id":"habame@1.0.41","gitHead":"123806301f5c4d40d70c24a3cde048aecbded8c5","_nodeVersion":"20.16.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-BARoo5+jELMkxBIvBAKvo2rJ9QiE9GDIhh37juTxcPCweTNLi/RZshITztNx0MXnN+iSjnPfZYl6qGxqNxaBsQ==","shasum":"7c17ecb8f506c6ee0a6d01edaf577c0260618404","tarball":"https://registry.npmjs.org/habame/-/habame-1.0.41.tgz","fileCount":70,"unpackedSize":419866,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICvjm/g31cqULKCEwynyxQO70SWewuFiAFL9W579piIiAiAk4aFRc/majCQWzG+5EFMSW5GEEQ1BnlrI4IKSEmBUiw=="}]},"_npmUser":{"name":"habame","email":"habame@miridoo.net"},"directories":{},"maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/habame_1.0.41_1733870948240_0.6161921387846219"},"_hasShrinkwrap":false}},"time":{"created":"2024-08-26T11:14:29.141Z","modified":"2024-12-10T22:49:08.589Z","1.0.0":"2024-08-26T11:14:29.316Z","1.0.1":"2024-08-28T17:32:26.391Z","1.0.2":"2024-09-04T05:43:13.599Z","1.0.3":"2024-09-04T05:45:09.841Z","1.0.4":"2024-09-16T07:13:55.052Z","1.0.5":"2024-09-16T07:19:24.768Z","1.0.6":"2024-09-16T07:28:35.642Z","1.0.7":"2024-09-16T07:59:00.850Z","1.0.8":"2024-09-16T08:02:52.583Z","1.0.9":"2024-09-17T08:19:48.235Z","1.0.10":"2024-09-17T08:25:29.715Z","1.0.11":"2024-09-26T06:39:55.704Z","1.0.12":"2024-09-29T06:31:49.366Z","1.0.13":"2024-09-29T06:35:53.469Z","1.0.14":"2024-11-15T22:00:55.056Z","1.0.15":"2024-11-17T17:27:05.562Z","1.0.16":"2024-11-18T05:04:58.333Z","1.0.17":"2024-11-18T05:11:20.006Z","1.0.18":"2024-11-18T05:16:39.528Z","1.0.19":"2024-11-18T05:21:00.003Z","1.0.20":"2024-11-18T10:46:34.322Z","1.0.21":"2024-11-18T12:26:53.491Z","1.0.22":"2024-11-18T12:41:51.591Z","1.0.23":"2024-11-18T12:49:06.041Z","1.0.24":"2024-11-25T09:33:54.860Z","1.0.25":"2024-11-28T21:17:48.746Z","1.0.26":"2024-11-29T12:42:54.951Z","1.0.27":"2024-12-03T05:09:10.472Z","1.0.28":"2024-12-03T05:50:39.592Z","1.0.29":"2024-12-03T06:08:25.590Z","1.0.30":"2024-12-04T05:24:17.714Z","1.0.31":"2024-12-04T05:34:30.859Z","1.0.32":"2024-12-05T02:48:14.403Z","1.0.33":"2024-12-05T02:54:35.184Z","1.0.34":"2024-12-05T03:10:43.855Z","1.0.35":"2024-12-05T03:43:32.781Z","1.0.36":"2024-12-05T14:09:39.329Z","1.0.37":"2024-12-05T14:14:13.815Z","1.0.38":"2024-12-05T14:16:45.577Z","1.0.39":"2024-12-10T22:30:16.371Z","1.0.40":"2024-12-10T22:31:08.041Z","1.0.41":"2024-12-10T22:49:08.409Z"},"license":"ISC","keywords":[],"description":"Il faut mettre enplace un framework assez solide pour remplacer react, vue ou encore angular","maintainers":[{"name":"habame","email":"habame@miridoo.net"}],"readme":"## Habame\r\n\r\n`Habame` is a frontend javascript framework to build user interface\r\n\r\n\r\n### Create a component\r\n\r\n\r\n```js\r\n\r\nconst App = Habame.createComponent('App', function() {\r\n    // Define your component states, actions, event and others here\r\n}, `<div>Welcome to Habame</div>`);\r\n\r\n```\r\n\r\n\r\n### Render a component\r\n```js\r\nconst root = Habame.createRoot(document.getElementById('app'));\r\nroot.render(App);\r\n// or\r\nroot.render('App'); \r\n```\r\n\r\n\r\n### Create an action and call it\r\n\r\n```js\r\n\r\nconst App = Habame.createComponent('App', function({ Actions }) {\r\n\r\n    Actions.callMeWithEvent = function($event) {\r\n        alert('Hello '+ $event.target.getAttribute('name') +'!');\r\n    };\r\n\r\n    Actions.callMeWithValue = function(name) {\r\n        alert('Hello '+ name +' !');\r\n    };\r\n},\r\n`\r\n    <div>\r\n        <div><button events.click=\"callMeWithEvent\" name = \"Afeinclan\" >Call me!</button></div>\r\n        <br/>\r\n        <div><button events.click=\"callMeWithValue($event.target.getAttribute('name'))\" name = \"PrinceMo\" >Hey dude!</button></div>\r\n        <br/>\r\n        <div><button events.click=\"callMeWithEvent($event)\" name = \"Sarkodie\" >Finish here!</button></div>\r\n    </div>\r\n`);\r\n```\r\n\r\n### Create and update state in component\r\n\r\n\r\n```js\r\n\r\nconst App = Habame.createComponent('App', function({ State, Actions }) {\r\n    State.init({ value: 0, square: 0 });\r\n\r\n    Actions.setValue = function(event) {\r\n        State.value = Number(event.target.value);\r\n        State.square = State.value * State.value;\r\n    };\r\n}, \r\n`\r\n    <div>\r\n        <div>\r\n            <input type=\"number\" events.input=\"setValue\" />\r\n        </div>\r\n        <br/>\r\n        <div>The square of {{ value }} is {{ square }}</div>\r\n    </div>\r\n`);\r\n\r\n```\r\n\r\n### Work with props\r\nby default props are send to component but it doesn't affect the component state\r\n\r\n```js\r\nconst App = Habame.createComponent('App', function({ State, Actions }) {\r\n    State.init({ nbClick: 0 });\r\n\r\n    Actions.clickMe = function() {\r\n        State.nbClick++;\r\n    }\r\n},\r\n`\r\n    <div>\r\n        <NbClick props.count = \"nbClick\" />\r\n        <button events.click = \"clickMe\" >Click</button>\r\n    </div>\r\n`);\r\n\r\n\r\nconst root = Habame.createRoot(document.getElementById('app'));\r\nroot.render(App);\r\n```\r\n\r\n- In this case, count will empty and will never update\r\n```js\r\n    Habame.createComponent('NbClick', function() {}, `<div >You click {{ count }} time.s</div>`);\r\n```\r\n\r\n- Will show the first value captured, but will never update the state when the props will be update\r\n```js \r\n    Habame.createComponent('NbClick', function({ State, Props }) {\r\n        State.add('count', Props.count);\r\n    }, `<div >You click {{ count }} time.s</div>`);\r\n```\r\n\r\n- Chose the moment you want to update your component state\r\n```js \r\n    Habame.createComponent('NbClick', function({ State, Props }) {\r\n        State.add('count', Props.count);\r\n        Props.onUpdate('count', (value) => {\r\n            if(value % 2 === 0) {\r\n                State.count = value;\r\n            }\r\n        });\r\n\r\n    }, `<div >You click {{ count }} time.s</div>`);\r\n```\r\n\r\n-  Full Synchronisation with props, will automatically add and update your state when the props will be updated\r\n```js\r\n    Habame.createComponent('NbClick', function({ State, Props }) {\r\n        State.useProps(Props);\r\n        // State.useProps(Props, ['count']); // chose only props to synchronise automatically\r\n    }, `<div >You click {{ count }} time.s</div>`);\r\n```\r\n\r\n\r\n### Events\r\nuse HbEvent to make a communication between parent and child component \r\n\r\n```js\r\nHabame.createComponent('CustomCountButton', function({ HbEvent, Actions }) {\r\n\r\n    const onClick = HbEvent.create('onClick');\r\n\r\n    Actions.emitTheClick = function() {\r\n        onClick.emit();\r\n    };\r\n\r\n},\r\n`\r\n    <button events.click=\"emitTheClick\" >Click me!</button>\r\n`);\r\n\r\nconst App = Habame.createComponent('App', function({ State, Actions }) {\r\n\r\n    State.init({\r\n        count: 0\r\n    });\r\n\r\n    Actions.eventFromChild = function() {\r\n        State.count++;\r\n    };\r\n\r\n},\r\n`\r\n    <div>\r\n        {{ count }} nb click\r\n        <br/><br/>\r\n        <CustomCountButton events.onClick=\"eventFromChild\" />\r\n    </div>\r\n`);\r\n```\r\n\r\n### Element Reference\r\n\r\nReference will allow you to get element from view (html element or component)\r\n\r\n- get html element\r\n```js\r\n\r\nconst App = Habame.createComponent('App', function({ State, Actions, Refs }) {\r\n    State.init({ value: 0, square: 0 });\r\n\r\n    Actions.calculate = function() {\r\n        const target = Refs.input.target();\r\n        State.value = Number(target.value);\r\n        State.square = State.value * State.value;\r\n    };\r\n},\r\n`\r\n    <div>\r\n        <div>\r\n            <input type=\"number\" ref=\"input\" /> <button events.click=\"calculate\">Calculate</button>\r\n        </div>\r\n        <br/>\r\n        <div>The square of {{ value }} is {{ square }}</div>\r\n    </div>\r\n`);\r\n\r\n```\r\n- get component\r\nIn this case, you could call the public function of component if available\r\n\r\n```js \r\nHabame.createComponent('SwitchButton', function({ State }) {\r\n\r\n    State.init({ isOn: false });\r\n\r\n    return { // public functions for parent component\r\n        toggle: () => {\r\n            State.isOn = !State.isOn;\r\n        }\r\n    };\r\n},\r\n`\r\n    <div >{{ isOn ? 'Button is on' : 'Button is off' }}</div>\r\n`);\r\n\r\nconst App = Habame.createComponent('App', function({ Actions, Refs }) {\r\n\r\n    Actions.togglePlayer = function() {\r\n        const switchButton = Refs.switchButton.target();\r\n        switchButton.toggle();\r\n    };\r\n\r\n},\r\n`\r\n    <div>\r\n        <SwitchButton ref=\"switchButton\" />\r\n        <br/>\r\n        <div>\r\n            <button events.click = 'togglePlayer' >Toggle</button>\r\n        </div>\r\n    </div>\r\n`);\r\n```\r\n\r\n- collection of ref\r\n collection of ref work only for loop context, `ref` and `repeat` must be define the same tag\r\n\r\n```js\r\nconst App = Habame.createComponent('App', function({ Actions, Refs }) {\r\n\r\n    Actions.togglePlayer = function() {\r\n        Refs.switchButton.each((button) => {\r\n            button.target().toggle();\r\n        });\r\n    };\r\n\r\n},\r\n`\r\n    <div>\r\n        <SwitchButton ref=\"switchButton\" repeat=\"element in 1..3\" />\r\n        <br/>\r\n        <div>\r\n            <button events.click = 'togglePlayer' >Toggle</button>\r\n        </div>\r\n    </div>\r\n`);\r\n```\r\n\r\n### Work with Loop \r\n- use repeat with `in` or `as` `Start..NbElements`\r\n```js\r\nconst App = Habame.createComponent('App', function() {},\r\n`\r\n    <div>\r\n        <div repeat=\"index in 5..3\" >\r\n            the index is {{ index }}\r\n        </div>\r\n        <br/>\r\n        <div repeat=\"index, value in 5..3\" >\r\n            the value at  {{ index }} is {{ value}}\r\n        </div>\r\n        <br/>\r\n        <div repeat=\"5..3 as (index, value)\" >\r\n            the value at  {{ index }} is {{ value}}\r\n        </div>\r\n        <br/>\r\n        <div repeat=\"5..3 as value\" >\r\n            the value at  {{ index }} is {{ value}} <!-- index will be automatically available -->\r\n        </div>\r\n    </div>\r\n`);\r\n```\r\n\r\n- use repeat with `in` or `as` and `iterable`\r\n  - `index in iterable`\r\n  - `(index, value) in iterable`\r\n  - `iterable as value`\r\n  - `iterable as (index, value)`\r\n\r\n```js\r\nconst App = Habame.createComponent('App', function({ State, Actions, Refs }) {\r\n    State.add('products', []);\r\n\r\n    Actions.addProduct = function() {\r\n        const target = Refs.input.target();\r\n        State.products.push(target.value);\r\n        target.value = '';\r\n        target.focus();\r\n    };\r\n},\r\n`\r\n    <div>\r\n        <ul>\r\n            <li repeat=\"products as product\" >\r\n                {{ product }}\r\n            </li>\r\n        </ul>\r\n        <br/>\r\n        <input type=\"text\" ref=\"input\" /> <button events.click = \"addProduct\" >Add +</button>\r\n    </div>\r\n`);\r\n```\r\n\r\n### If control structure\r\nwill allow you to easly show or display component or html element\r\n\r\n```js\r\nconst App = Habame.createComponent('App', function({ State, Actions }) {\r\n    State.add('pill', '');\r\n\r\n    Actions.chosePill = function($event) {\r\n        State.pill = $event.target.value;\r\n    };\r\n\r\n},\r\n`\r\n    <div>\r\n        <div>Chose your pill</div>\r\n        <div>\r\n            <label >\r\n                <input type=\"radio\" name=\"pill\" value=\"blue\" events.change=\"chosePill\" />\r\n                <span>Blue</span>\r\n            </label>\r\n            <label >\r\n                <input type=\"radio\" name=\"pill\" value=\"red\" events.change=\"chosePill\"  />\r\n                <span>Red</span>\r\n            </label>\r\n            <div if=\"pill === 'red'\">Welcome into the matrix</div>\r\n            <div elseif=\"pill === 'blue'\">Welcome into the reality</div>\r\n            <div else=\"\" >You have to do your choice</div>\r\n        </div>\r\n    </div>\r\n`);\r\n```\r\n\r\n### Create a service\r\n\r\n```js\r\nHabame.createService('ProductService', function(State) {\r\n    State.add('productList', []);\r\n\r\n    this.addProduct = function(name, price) {\r\n        State.productList.push({ name, price });\r\n    };\r\n\r\n}, { isUniqueInstance: true }); // use isUniqueInstance to share the same instance of service among applicaton component\r\n\r\nHabame.createComponent('ProductForm', function({ Actions, Refs }) {\r\n    const productService = Habame.Services.ProductService;\r\n\r\n    Actions.addProduct = function() {\r\n        const nameInput = Refs.name.target();\r\n        const priceInput = Refs.price.target();\r\n        productService.addProduct(nameInput.value, priceInput.value);\r\n        nameInput.value = '';\r\n        priceInput.value = '';\r\n        nameInput.focus();\r\n    };\r\n},\r\n`\r\n    <input type=\"text\" ref=\"name\" placeholder=\"Name\" />  <input type=\"text\" ref=\"price\" placeholder=\"Price\" /> <button events.click = \"addProduct\" >Add +</button>\r\n`);\r\n\r\nconst App = Habame.createComponent('App', function({ State }) {\r\n    State.useService(Habame.Services.productService); // will sync your component state with all service states\r\n    // State.useService(Habame.Services.productService, ['productList']); // will sync your component state with only required service states\r\n},\r\n`\r\n<div>\r\n    <ul>\r\n        <li repeat=\"productList as product\" >\r\n            {{ product.name }} <strong>{{ product.price}}$</strong>\r\n        </li>\r\n    </ul>\r\n    <br/>\r\n    <ProductForm />\r\n</div>\r\n`);\r\n```\r\n\r\n### Create a directive\r\n```js\r\nHabame.createDirective('validator', function({ element, attribute, attrs }) {\r\n    const errorContainer = document.createElement('div');\r\n\r\n    element.addEventListener('input', function() {\r\n        const isCorrectValue = (new RegExp(attribute.value())).test(element.value);\r\n        errorContainer.innerHTML = isCorrectValue ? '' : 'Error';\r\n    });\r\n\r\n    this.created = function() {\r\n        const nextElement = element.nextSibling;\r\n        if(nextElement) {\r\n            element.parentNode.insertBefore(errorContainer, nextElement);\r\n            return;\r\n        }\r\n        element.parentNode.appendChild(errorContainer);\r\n    };\r\n\r\n});\r\n\r\nconst App = Habame.createComponent('App', function() { },\r\n`\r\n<div>\r\n    <form events.prevent.submit=\"\" >\r\n        <input type=\"text\" directives.validator=\"'[0-9]+'}}\" />\r\n    </form>\r\n</div>\r\n`);\r\n```\r\n\r\n### create a view engine\r\n\r\nSome time we repeat the same code to display, present or do something. In case you don't want to create a component\r\nyou could just add a view engine to add or edit something specific before the view compilation.\r\n\r\n**Note :** `the view engine is only an interpret, nothing more `\r\n\r\n```js\r\nHabame.addViewEngine('formInput', function(sourceCode) {\r\n    return sourceCode.replace(/@formTextInput/ig, '<input type=\"text\" class=\"my-custom-form-input\" placeholder=\"Simple text\" />')\r\n        .replace(/@formPasswordInput\\b/ig, '<input type=\"password\" class=\"my-custom-form-input\" placeholder=\"Password\" />');\r\n});\r\n\r\nconst App = Habame.createComponent('App', function() { },\r\n`\r\n    <form>\r\n        <div>@formTextInput</div>\r\n        <br/>\r\n        <div>@formPasswordInput</div>\r\n    </form>\r\n`, { engines: ['formInput']});\r\n\r\n\r\nconst root = Habame.createRoot(document.getElementById('app'));\r\nroot.render(App);\r\n```\r\n\r\n### Create a model with mutators\r\nthis will allow you to create model to manage your data and make it compatible with state, only methods define as mutators will be overridden.\r\n\r\n```js\r\nconst User = function () {\r\n\r\n    this.lastname = '';\r\n    this.firstname = '';\r\n\r\n    this.setFullName = (firstname, lastname) => {\r\n        this.lastname = lastname;\r\n        this.firstname = firstname;\r\n    };\r\n};\r\n\r\nUser.prototype.MUTATORS = ['setFullName'];\r\n\r\n\r\nconst App = Habame.createComponent('App', function({ State, Actions }) {\r\n\r\n    State.add('user', new User());\r\n\r\n    Actions.changeToJhon = function() {\r\n        State.user.setFullName('Jhon', 'do');\r\n    };\r\n\r\n\r\n},\r\n`\r\n <div if=\"user.lastname\" >hello {{ user.lastname }} {{ user.firstname }}</div>\r\n <button events.click = 'changeToJhon' >Change to Jhon do</button>\r\n`);\r\n```\r\n\r\n\r\n### Use App to make communication between component\r\n`App` is the instance of you rootApp which contain his own event handler and state handler\r\n\r\n```js\r\nHabame.createComponent('MyComponent', function({ App }) {\r\n    \r\n    const appEvent = App.getEvent(); // will return the app HbEvent\r\n    const state = App.getState(); // will return the app State\r\n    \r\n}, ``);\r\n```\r\n\r\nexample with app event\r\n\r\n```js\r\nHabame.createComponent('Notifications', function({ App, State }) {\r\n\r\n    State.init({ notifications: [] });\r\n\r\n    App.getEvent().addEventListener('push-notification', function(notification) {\r\n        State.notifications.push(notification);\r\n\r\n        setTimeout(() => {\r\n            State.notifications.shift();\r\n        }, 3000);\r\n    });\r\n\r\n},\r\n`\r\n    <div class=\"notifications-container\" >\r\n        <div class=\"notification-container\" repeat=\"notifications as notification\" >\r\n            {{ notification.message }}\r\n        </div>\r\n    </div>\r\n`);\r\n\r\n\r\nconst App = Habame.createComponent('App', function({ App, State, Actions }) {\r\n\r\n    State.init({\r\n        count: 0\r\n    });\r\n    let countNotifications = 0;\r\n\r\n    Actions.sendNotification = function() {\r\n        App.getEvent().emit('push-notification', [{ message: 'Add new notification ' + (++countNotifications) }]);\r\n    };\r\n\r\n},\r\n`\r\n    <div>\r\n        <Notifications />\r\n        <br/><br/>\r\n        <button events.click=\"sendNotification\" >Send notification</button>\r\n    </div>\r\n`);\r\n```","readmeFilename":"readme.md"}