{"_id":"@abidibo/react-expression-editor","_rev":"9-f43c49912cfac2971259620a8bd139a3","name":"@abidibo/react-expression-editor","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.1":{"name":"@abidibo/react-expression-editor","version":"1.0.1","author":{"name":"abidibo"},"license":"MIT","_id":"@abidibo/react-expression-editor@1.0.1","maintainers":[{"name":"abidibo","email":"abidibo@gmail.com"}],"homepage":"https://github.com/abidibo/react-expression-editor#readme","bugs":{"url":"https://github.com/abidibo/react-expression-editor/issues"},"dist":{"shasum":"c9887627e942488d438382c41d27bb9066554e4a","tarball":"https://registry.npmjs.org/@abidibo/react-expression-editor/-/react-expression-editor-1.0.1.tgz","fileCount":23,"integrity":"sha512-fI+r4wnxWCe7eFe7Wz0DP+JAxckJtC9+FA1VE9/P8Paj4VfiGfm+W6P6I7kq6Qn7hFdok5lH6aq24at4i62mZg==","signatures":[{"sig":"MEYCIQDM8wtlDiYQDaHD6K1AuXmNOcF359Jd6mCD0yw4E/YZcAIhAKCblXX58wtCe4CVoBgMuGiGhlCMHNvF4PbUs5bt6xqg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152468},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./style":"./dist/index.esm.css"},"gitHead":"fb42f125144d43b89af2fc14337a4cd3c0e3daf2","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/changelog",{"changelogFile":"CHANGELOG.md"}],["@semantic-release/git",{"assets":["CHANGELOG.md"]}],"@semantic-release/npm"],"branches":["main"]},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","prebuild":"npm run clean","postbuild":"npm run copy-files","storybook":"storybook dev -p 6006","copy-files":"copyfiles -u 1 src/**/*.module.css dist/","build-storybook":"storybook build -o docs"},"_npmUser":{"name":"abidibo","email":"abidibo@gmail.com"},"repository":{"url":"git+https://github.com/abidibo/react-expression-editor.git","type":"git"},"_npmVersion":"10.9.4","description":"A react component for wrting logical expressions","directories":{"test":"tests"},"_nodeVersion":"20.19.5","dependencies":{"vite":"^6.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","rimraf":"^6.0.1","rollup":"^4.40.0","globals":"^15.14.0","prettier":"^3.4.2","copyfiles":"^2.4.1","storybook":"^9.0.8","@eslint/js":"^9.18.0","tinyglobby":"^0.2.13","typescript":"^5.7.3","@types/react":"^18.0.0","@emotion/react":"^11.14.0","@emotion/styled":"^11.14.0","@types/react-dom":"^18.0.0","semantic-release":"^24.2.2","typescript-eslint":"^8.20.0","@semantic-release/git":"^10.0.1","@storybook/addon-docs":"^9.0.8","@storybook/react-vite":"^9.0.8","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-commonjs":"^28.0.3","eslint-plugin-storybook":"9.0.8","@chromatic-com/storybook":"^4.0.0","@rollup/plugin-typescript":"^12.1.2","eslint-plugin-react-hooks":"^5.1.0","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"^6.0.3","@storybook/addon-onboarding":"^9.0.8","eslint-plugin-react-refresh":"^0.4.18","rollup-plugin-peer-deps-external":"^2.2.4","@trivago/prettier-plugin-sort-imports":"^5.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-expression-editor_1.0.1_1764234481685_0.3880482071520208","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@abidibo/react-expression-editor","version":"1.1.0","author":{"name":"abidibo"},"license":"MIT","_id":"@abidibo/react-expression-editor@1.1.0","maintainers":[{"name":"abidibo","email":"abidibo@gmail.com"}],"homepage":"https://github.com/abidibo/react-expression-editor#readme","bugs":{"url":"https://github.com/abidibo/react-expression-editor/issues"},"dist":{"shasum":"be771d51b3f92e1e189bb24ce427fc8accbf1981","tarball":"https://registry.npmjs.org/@abidibo/react-expression-editor/-/react-expression-editor-1.1.0.tgz","fileCount":23,"integrity":"sha512-uky/ch2y1KEjXxb8QcWJ6ud3OrObop9pUxxfqSuDrQRjUHeTtMwCCTQRfjOgR2vo+YFQVPI8kwn/X/2kx2yadQ==","signatures":[{"sig":"MEYCIQDHqht/6Jyj1AGGiKkvN+u8Xe8D+0z0oALRlWWIZcDZnQIhAMk7VeJ2lDmPG8+TnvR4b1OoUcqZoLjeI0AwGQdiJTM0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163671},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./style":"./dist/index.esm.css"},"gitHead":"bfe00db76e5eebeb2874583e5a9a835c8ed02c61","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/changelog",{"changelogFile":"CHANGELOG.md"}],["@semantic-release/git",{"assets":["CHANGELOG.md"]}],"@semantic-release/npm"],"branches":["main"]},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","prebuild":"npm run clean","postbuild":"npm run copy-files","storybook":"storybook dev -p 6006","copy-files":"copyfiles -u 1 src/**/*.module.css dist/","build-storybook":"storybook build -o docs"},"_npmUser":{"name":"abidibo","email":"abidibo@gmail.com"},"repository":{"url":"git+https://github.com/abidibo/react-expression-editor.git","type":"git"},"_npmVersion":"10.9.4","description":"A react component for wrting logical expressions","directories":{"test":"tests"},"_nodeVersion":"20.19.5","dependencies":{"vite":"^6.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","rimraf":"^6.0.1","rollup":"^4.40.0","globals":"^15.14.0","prettier":"^3.4.2","copyfiles":"^2.4.1","storybook":"^9.0.8","@eslint/js":"^9.18.0","tinyglobby":"^0.2.13","typescript":"^5.7.3","@types/react":"^18.0.0","@emotion/react":"^11.14.0","@emotion/styled":"^11.14.0","@types/react-dom":"^18.0.0","semantic-release":"^24.2.2","typescript-eslint":"^8.20.0","@semantic-release/git":"^10.0.1","@storybook/addon-docs":"^9.0.8","@storybook/react-vite":"^9.0.8","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-commonjs":"^28.0.3","eslint-plugin-storybook":"9.0.8","@chromatic-com/storybook":"^4.0.0","@rollup/plugin-typescript":"^12.1.2","eslint-plugin-react-hooks":"^5.1.0","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"^6.0.3","@storybook/addon-onboarding":"^9.0.8","eslint-plugin-react-refresh":"^0.4.18","rollup-plugin-peer-deps-external":"^2.2.4","@trivago/prettier-plugin-sort-imports":"^5.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-expression-editor_1.1.0_1764330629862_0.16855795066103663","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@abidibo/react-expression-editor","version":"1.1.1","author":{"name":"abidibo"},"license":"MIT","_id":"@abidibo/react-expression-editor@1.1.1","maintainers":[{"name":"abidibo","email":"abidibo@gmail.com"}],"homepage":"https://github.com/abidibo/react-expression-editor#readme","bugs":{"url":"https://github.com/abidibo/react-expression-editor/issues"},"dist":{"shasum":"051c50c25e7721d7eb38d759386531a3027d7ad9","tarball":"https://registry.npmjs.org/@abidibo/react-expression-editor/-/react-expression-editor-1.1.1.tgz","fileCount":23,"integrity":"sha512-l07ASvnggqZmtthGactS3QG8wSEU9lvSr4QS3/arXiudfj1RpyXRJeKCk67h+GzyvSDxgbff9xm/07EpbFJkDQ==","signatures":[{"sig":"MEUCIQCAySq/aAiESIKhvGuxJdQa4nehHc+AErDYTLdytY+xkAIgBxM3osBNBR0kJRAYLF77WR4tlaVNP7yu0NmxRxb+dYk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163933},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./style":"./dist/index.esm.css"},"gitHead":"4ac986d44a6c35d1dea7188ceccf2394e875e8f3","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/changelog",{"changelogFile":"CHANGELOG.md"}],["@semantic-release/git",{"assets":["CHANGELOG.md"]}],"@semantic-release/npm"],"branches":["main"]},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","prebuild":"npm run clean","postbuild":"npm run copy-files","storybook":"storybook dev -p 6006","copy-files":"copyfiles -u 1 src/**/*.module.css dist/","build-storybook":"storybook build -o docs"},"_npmUser":{"name":"abidibo","email":"abidibo@gmail.com"},"repository":{"url":"git+https://github.com/abidibo/react-expression-editor.git","type":"git"},"_npmVersion":"10.9.4","description":"A react component for wrting logical expressions","directories":{"test":"tests"},"_nodeVersion":"20.19.5","dependencies":{"vite":"^6.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","rimraf":"^6.0.1","rollup":"^4.40.0","globals":"^15.14.0","prettier":"^3.4.2","copyfiles":"^2.4.1","storybook":"^9.0.8","@eslint/js":"^9.18.0","tinyglobby":"^0.2.13","typescript":"^5.7.3","@types/react":"^18.0.0","@emotion/react":"^11.14.0","@emotion/styled":"^11.14.0","@types/react-dom":"^18.0.0","semantic-release":"^24.2.2","typescript-eslint":"^8.20.0","@semantic-release/git":"^10.0.1","@storybook/addon-docs":"^9.0.8","@storybook/react-vite":"^9.0.8","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-commonjs":"^28.0.3","eslint-plugin-storybook":"9.0.8","@chromatic-com/storybook":"^4.0.0","@rollup/plugin-typescript":"^12.1.2","eslint-plugin-react-hooks":"^5.1.0","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"^6.0.3","@storybook/addon-onboarding":"^9.0.8","eslint-plugin-react-refresh":"^0.4.18","rollup-plugin-peer-deps-external":"^2.2.4","@trivago/prettier-plugin-sort-imports":"^5.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-expression-editor_1.1.1_1764333021548_0.587595436416116","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@abidibo/react-expression-editor","version":"1.1.2","author":{"name":"abidibo"},"license":"MIT","_id":"@abidibo/react-expression-editor@1.1.2","maintainers":[{"name":"abidibo","email":"abidibo@gmail.com"}],"homepage":"https://github.com/abidibo/react-expression-editor#readme","bugs":{"url":"https://github.com/abidibo/react-expression-editor/issues"},"dist":{"shasum":"6db80dac69fdff5dfd881f08875bfa83adf23e9a","tarball":"https://registry.npmjs.org/@abidibo/react-expression-editor/-/react-expression-editor-1.1.2.tgz","fileCount":23,"integrity":"sha512-HoDpfXWcT5+CFtXhjP6mEgmq9nDqa2GH97pTYVRKX3gLRq8B4D0YggoRRj9RVK9AOd6uTE0VNKCzGKZZXEy3cA==","signatures":[{"sig":"MEUCIQCGgtQJKT8VU8A80hJp78F+H7fIPAXYATWwXJs1p14+fgIgb3RlSHCQdyA6JXpdRUNG3AygWyjw9yNS/3r2Uq+ZLic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165720},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","exports":{".":{"style":"./dist/index.esm.css","types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./dist/index.esm.css":"./dist/index.esm.css"},"gitHead":"6a980e4fc42227e479f705e8ac0ef307249aaac0","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/changelog",{"changelogFile":"CHANGELOG.md"}],["@semantic-release/git",{"assets":["CHANGELOG.md"]}],"@semantic-release/npm"],"branches":["main"]},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","prebuild":"npm run clean","postbuild":"npm run copy-files","storybook":"storybook dev -p 6006","copy-files":"copyfiles -u 1 src/**/*.module.css dist/","build-storybook":"storybook build -o docs"},"_npmUser":{"name":"abidibo","email":"abidibo@gmail.com"},"repository":{"url":"git+https://github.com/abidibo/react-expression-editor.git","type":"git"},"_npmVersion":"10.9.4","description":"A react component for wrting logical expressions","directories":{"test":"tests"},"_nodeVersion":"20.19.5","dependencies":{"vite":"^6.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","rimraf":"^6.0.1","rollup":"^4.40.0","globals":"^15.14.0","prettier":"^3.4.2","copyfiles":"^2.4.1","storybook":"^9.0.8","@eslint/js":"^9.18.0","tinyglobby":"^0.2.13","typescript":"^5.7.3","@types/react":"^18.0.0","@emotion/react":"^11.14.0","@emotion/styled":"^11.14.0","@types/react-dom":"^18.0.0","semantic-release":"^24.2.2","typescript-eslint":"^8.20.0","@semantic-release/git":"^10.0.1","@storybook/addon-docs":"^9.0.8","@storybook/react-vite":"^9.0.8","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-commonjs":"^28.0.3","eslint-plugin-storybook":"9.0.8","@chromatic-com/storybook":"^4.0.0","@rollup/plugin-typescript":"^12.1.2","eslint-plugin-react-hooks":"^5.1.0","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"^6.0.3","@storybook/addon-onboarding":"^9.0.8","eslint-plugin-react-refresh":"^0.4.18","rollup-plugin-peer-deps-external":"^2.2.4","@trivago/prettier-plugin-sort-imports":"^5.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-expression-editor_1.1.2_1764338162609_0.4458259382974188","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@abidibo/react-expression-editor","version":"1.1.3","author":{"name":"abidibo"},"license":"MIT","_id":"@abidibo/react-expression-editor@1.1.3","maintainers":[{"name":"abidibo","email":"abidibo@gmail.com"}],"homepage":"https://github.com/abidibo/react-expression-editor#readme","bugs":{"url":"https://github.com/abidibo/react-expression-editor/issues"},"dist":{"shasum":"f3f73353068c7497cf7eeb7542e892821aac9c0a","tarball":"https://registry.npmjs.org/@abidibo/react-expression-editor/-/react-expression-editor-1.1.3.tgz","fileCount":23,"integrity":"sha512-UQryiJkS8+2pasPZPxw3h3QcUV0MgEEGz1B5GUYNxwAxO4k+32bk/S/ZE6JK/FcIvfSv57VcFNHkMTt/NT5HEQ==","signatures":[{"sig":"MEUCID4zXpmV2OMwzxjh4hsj3bK5aLdZLSr3ziLO//PsZuCHAiEAiDZlJzkkNPH9E9q+LIfZx68XrcrFSrCQCOqtEaK0skQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166002},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","exports":{".":{"style":"./dist/index.esm.css","types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./dist/index.esm.css":"./dist/index.esm.css"},"gitHead":"e675eb220033d1b11d0161ec494b060376b52857","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/changelog",{"changelogFile":"CHANGELOG.md"}],["@semantic-release/git",{"assets":["CHANGELOG.md"]}],"@semantic-release/npm"],"branches":["main"]},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","prebuild":"npm run clean","postbuild":"npm run copy-files","storybook":"storybook dev -p 6006","copy-files":"copyfiles -u 1 src/**/*.module.css dist/","build-storybook":"storybook build -o docs"},"_npmUser":{"name":"abidibo","email":"abidibo@gmail.com"},"repository":{"url":"git+https://github.com/abidibo/react-expression-editor.git","type":"git"},"_npmVersion":"10.9.4","description":"A react component for wrting logical expressions","directories":{"test":"tests"},"_nodeVersion":"20.19.5","dependencies":{"vite":"^6.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","rimraf":"^6.0.1","rollup":"^4.40.0","globals":"^15.14.0","prettier":"^3.4.2","copyfiles":"^2.4.1","storybook":"^9.0.8","@eslint/js":"^9.18.0","tinyglobby":"^0.2.13","typescript":"^5.7.3","@types/react":"^18.0.0","@emotion/react":"^11.14.0","@emotion/styled":"^11.14.0","@types/react-dom":"^18.0.0","semantic-release":"^24.2.2","typescript-eslint":"^8.20.0","@semantic-release/git":"^10.0.1","@storybook/addon-docs":"^9.0.8","@storybook/react-vite":"^9.0.8","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-commonjs":"^28.0.3","eslint-plugin-storybook":"9.0.8","@chromatic-com/storybook":"^4.0.0","@rollup/plugin-typescript":"^12.1.2","eslint-plugin-react-hooks":"^5.1.0","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"^6.0.3","@storybook/addon-onboarding":"^9.0.8","eslint-plugin-react-refresh":"^0.4.18","rollup-plugin-peer-deps-external":"^2.2.4","@trivago/prettier-plugin-sort-imports":"^5.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-expression-editor_1.1.3_1764345429311_0.27807121716763716","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@abidibo/react-expression-editor","version":"1.2.0","author":{"name":"abidibo"},"license":"MIT","_id":"@abidibo/react-expression-editor@1.2.0","maintainers":[{"name":"abidibo","email":"abidibo@gmail.com"}],"homepage":"https://github.com/abidibo/react-expression-editor#readme","bugs":{"url":"https://github.com/abidibo/react-expression-editor/issues"},"dist":{"shasum":"f701cda15d1003ee034ffc2fc6b3703d45acff73","tarball":"https://registry.npmjs.org/@abidibo/react-expression-editor/-/react-expression-editor-1.2.0.tgz","fileCount":23,"integrity":"sha512-EsY0CBoeMWTDf0TxWKCS/e0LNrKzy+/96TEyjNdzIw25XFR0ZQpBP6cGSx9bl70TyRnbErKDYOSK716hFyb06A==","signatures":[{"sig":"MEQCICE3RdYU+VQbEPjzCWiLvYvkLB6/R43hjCEQH3M9nk/JAiACdH59WXAmJWbLo/LA6xjxaSbFtGmgujL/sZIx8DP7bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167528},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","exports":{".":{"style":"./dist/index.esm.css","types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./dist/index.esm.css":"./dist/index.esm.css"},"gitHead":"891b7d3a3ecd1012e03da284c6777fe9746f7259","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/changelog",{"changelogFile":"CHANGELOG.md"}],["@semantic-release/git",{"assets":["CHANGELOG.md"]}],"@semantic-release/npm"],"branches":["main"]},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","prebuild":"npm run clean","postbuild":"npm run copy-files","storybook":"storybook dev -p 6006","copy-files":"copyfiles -u 1 src/**/*.module.css dist/","build-storybook":"storybook build -o docs"},"_npmUser":{"name":"abidibo","email":"abidibo@gmail.com"},"repository":{"url":"git+https://github.com/abidibo/react-expression-editor.git","type":"git"},"_npmVersion":"10.9.4","description":"A react component for wrting logical expressions","directories":{"test":"tests"},"_nodeVersion":"20.19.5","dependencies":{"vite":"^6.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","rimraf":"^6.0.1","rollup":"^4.40.0","globals":"^15.14.0","prettier":"^3.4.2","copyfiles":"^2.4.1","storybook":"^9.0.8","@eslint/js":"^9.18.0","tinyglobby":"^0.2.13","typescript":"^5.7.3","@types/react":"^18.0.0","@emotion/react":"^11.14.0","@emotion/styled":"^11.14.0","@types/react-dom":"^18.0.0","semantic-release":"^24.2.2","typescript-eslint":"^8.20.0","@semantic-release/git":"^10.0.1","@storybook/addon-docs":"^9.0.8","@storybook/react-vite":"^9.0.8","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-commonjs":"^28.0.3","eslint-plugin-storybook":"9.0.8","@chromatic-com/storybook":"^4.0.0","@rollup/plugin-typescript":"^12.1.2","eslint-plugin-react-hooks":"^5.1.0","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"^6.0.3","@storybook/addon-onboarding":"^9.0.8","eslint-plugin-react-refresh":"^0.4.18","rollup-plugin-peer-deps-external":"^2.2.4","@trivago/prettier-plugin-sort-imports":"^5.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-expression-editor_1.2.0_1764577640355_0.1711036053286561","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@abidibo/react-expression-editor","version":"1.2.1","author":{"name":"abidibo"},"license":"MIT","_id":"@abidibo/react-expression-editor@1.2.1","maintainers":[{"name":"abidibo","email":"abidibo@gmail.com"}],"homepage":"https://github.com/abidibo/react-expression-editor#readme","bugs":{"url":"https://github.com/abidibo/react-expression-editor/issues"},"dist":{"shasum":"97c8dff6226c9ee8345945e6bf6785d3c604f1ce","tarball":"https://registry.npmjs.org/@abidibo/react-expression-editor/-/react-expression-editor-1.2.1.tgz","fileCount":23,"integrity":"sha512-GZpG0RENftCDUNu1nkVK5INjAbumcrSkQkoxdF8znAhp8OCrep/Y1k5Quuog6L+Pat7V6vSZI4CFBzG/ToabgA==","signatures":[{"sig":"MEUCIQCKwSj5TTi/hT0BY+QmEq2B3qI7JLbGAnigclzg+DSVcgIgJWBYdiHrLyu2swYmkOLTJFgC8i2qV/XOssIu3VsJqrU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167714},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","exports":{".":{"style":"./dist/index.esm.css","types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./dist/index.esm.css":"./dist/index.esm.css"},"gitHead":"6037cf07a0b6abc9470f99405cfc51e280d168da","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/changelog",{"changelogFile":"CHANGELOG.md"}],["@semantic-release/git",{"assets":["CHANGELOG.md"]}],"@semantic-release/npm"],"branches":["main"]},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","prebuild":"npm run clean","postbuild":"npm run copy-files","storybook":"storybook dev -p 6006","copy-files":"copyfiles -u 1 src/**/*.module.css dist/","build-storybook":"storybook build -o docs"},"_npmUser":{"name":"abidibo","email":"abidibo@gmail.com"},"repository":{"url":"git+https://github.com/abidibo/react-expression-editor.git","type":"git"},"_npmVersion":"10.9.4","description":"A react component for wrting logical expressions","directories":{"test":"tests"},"_nodeVersion":"20.19.5","dependencies":{"vite":"^6.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","rimraf":"^6.0.1","rollup":"^4.40.0","globals":"^15.14.0","prettier":"^3.4.2","copyfiles":"^2.4.1","storybook":"^9.0.8","@eslint/js":"^9.18.0","tinyglobby":"^0.2.13","typescript":"^5.7.3","@types/react":"^18.0.0","@emotion/react":"^11.14.0","@emotion/styled":"^11.14.0","@types/react-dom":"^18.0.0","semantic-release":"^24.2.2","typescript-eslint":"^8.20.0","@semantic-release/git":"^10.0.1","@storybook/addon-docs":"^9.0.8","@storybook/react-vite":"^9.0.8","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-commonjs":"^28.0.3","eslint-plugin-storybook":"9.0.8","@chromatic-com/storybook":"^4.0.0","@rollup/plugin-typescript":"^12.1.2","eslint-plugin-react-hooks":"^5.1.0","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"^6.0.3","@storybook/addon-onboarding":"^9.0.8","eslint-plugin-react-refresh":"^0.4.18","rollup-plugin-peer-deps-external":"^2.2.4","@trivago/prettier-plugin-sort-imports":"^5.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-expression-editor_1.2.1_1764578743187_0.5339849542781485","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@abidibo/react-expression-editor","version":"1.2.2","author":{"name":"abidibo"},"license":"MIT","_id":"@abidibo/react-expression-editor@1.2.2","maintainers":[{"name":"abidibo","email":"abidibo@gmail.com"}],"homepage":"https://github.com/abidibo/react-expression-editor#readme","bugs":{"url":"https://github.com/abidibo/react-expression-editor/issues"},"dist":{"shasum":"871132a327796f92c7515d5f644f3056bf0fce00","tarball":"https://registry.npmjs.org/@abidibo/react-expression-editor/-/react-expression-editor-1.2.2.tgz","fileCount":23,"integrity":"sha512-jXqAKF572N9namGedXJfOBUOcvTWw9qiFO7yiL4hPCk+Ge4hzo/mrjBIOMqv2iXhY+4pQLuMQThk7rCqwa2CJg==","signatures":[{"sig":"MEUCIB/5m3LHBpFiMyTyr/MLbPOc3nwXz7pLlHpkHVoxqlwrAiEA/vgGEuG96tr6NUA1nyof2WlH6JN/U6K38+G6kNbwHs4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168032},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","exports":{".":{"style":"./dist/index.esm.css","types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./dist/index.esm.css":"./dist/index.esm.css"},"gitHead":"5c4408a2a15bd312c95a4cc89c1556f747f76105","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/changelog",{"changelogFile":"CHANGELOG.md"}],["@semantic-release/git",{"assets":["CHANGELOG.md"]}],"@semantic-release/npm"],"branches":["main"]},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","clean":"rimraf dist","prebuild":"npm run clean","postbuild":"npm run copy-files","storybook":"storybook dev -p 6006","copy-files":"copyfiles -u 1 src/**/*.module.css dist/","build-storybook":"storybook build -o docs"},"_npmUser":{"name":"abidibo","email":"abidibo@gmail.com"},"repository":{"url":"git+https://github.com/abidibo/react-expression-editor.git","type":"git"},"_npmVersion":"10.9.4","description":"A react component for wrting logical expressions","directories":{"test":"tests"},"_nodeVersion":"20.19.5","dependencies":{"vite":"^6.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","rimraf":"^6.0.1","rollup":"^4.40.0","globals":"^15.14.0","prettier":"^3.4.2","copyfiles":"^2.4.1","storybook":"^9.0.8","@eslint/js":"^9.18.0","tinyglobby":"^0.2.13","typescript":"^5.7.3","@types/react":"^18.0.0","@emotion/react":"^11.14.0","@emotion/styled":"^11.14.0","@types/react-dom":"^18.0.0","semantic-release":"^24.2.2","typescript-eslint":"^8.20.0","@semantic-release/git":"^10.0.1","@storybook/addon-docs":"^9.0.8","@storybook/react-vite":"^9.0.8","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-commonjs":"^28.0.3","eslint-plugin-storybook":"9.0.8","@chromatic-com/storybook":"^4.0.0","@rollup/plugin-typescript":"^12.1.2","eslint-plugin-react-hooks":"^5.1.0","@rollup/plugin-node-resolve":"^16.0.1","@semantic-release/changelog":"^6.0.3","@storybook/addon-onboarding":"^9.0.8","eslint-plugin-react-refresh":"^0.4.18","rollup-plugin-peer-deps-external":"^2.2.4","@trivago/prettier-plugin-sort-imports":"^5.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-expression-editor_1.2.2_1764579503276_0.2185313940310749","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@abidibo/react-expression-editor","version":"1.3.0","publishConfig":{"access":"public"},"description":"A react component for wrting logical expressions","repository":{"type":"git","url":"git+https://github.com/abidibo/react-expression-editor.git"},"bugs":{"url":"https://github.com/abidibo/react-expression-editor/issues"},"main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/types/index.d.ts","type":"module","directories":{"test":"tests"},"exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js","types":"./dist/types/index.d.ts","style":"./dist/index.esm.css"},"./dist/index.esm.css":"./dist/index.esm.css"},"scripts":{"clean":"rimraf dist","prebuild":"npm run clean","build":"rollup -c","postbuild":"npm run copy-files","copy-files":"copyfiles -u 1 src/**/*.module.css dist/","test":"echo \"Error: no test specified\" && exit 1","storybook":"storybook dev -p 6006","build-storybook":"storybook build -o docs"},"release":{"branches":["main"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/changelog",{"changelogFile":"CHANGELOG.md"}],["@semantic-release/git",{"assets":["CHANGELOG.md"]}],"@semantic-release/npm"]},"author":{"name":"abidibo"},"license":"MIT","devDependencies":{"@chromatic-com/storybook":"^4.0.0","@emotion/react":"^11.14.0","@emotion/styled":"^11.14.0","@eslint/js":"^9.18.0","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-node-resolve":"^16.0.1","@rollup/plugin-typescript":"^12.1.2","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@storybook/addon-docs":"^9.0.8","@storybook/addon-onboarding":"^9.0.8","@storybook/react-vite":"^9.0.8","@trivago/prettier-plugin-sort-imports":"^5.2.1","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","copyfiles":"^2.4.1","eslint":"^9.18.0","eslint-plugin-react-hooks":"^5.1.0","eslint-plugin-react-refresh":"^0.4.18","eslint-plugin-storybook":"9.0.8","globals":"^15.14.0","prettier":"^3.4.2","rimraf":"^6.0.1","rollup":"^4.40.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-postcss":"^4.0.2","semantic-release":"^24.2.2","storybook":"^9.0.8","tinyglobby":"^0.2.13","typescript":"^5.7.3","typescript-eslint":"^8.20.0"},"dependencies":{"vite":"^6.1.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_id":"@abidibo/react-expression-editor@1.3.0","gitHead":"47394d981968c80f5e005c73deb7c2fa4cab314f","homepage":"https://github.com/abidibo/react-expression-editor#readme","_nodeVersion":"20.19.5","_npmVersion":"10.9.4","dist":{"integrity":"sha512-79fTy1L1unlIOrPUM77oZ9coZQ3COwRH8GZ6feyuLLIzg9GBP/BjC5G+0mEwCYrp2Pc18SsWOI0Laf9XkLwqgA==","shasum":"3b12aa94d2ac536d0c9b61de1748dd8218e5a591","tarball":"https://registry.npmjs.org/@abidibo/react-expression-editor/-/react-expression-editor-1.3.0.tgz","fileCount":23,"unpackedSize":170671,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH7xIPmYJCNeb4cPIDhSzC8FJQTo0o2iqn2plLrbaADqAiEAo1h+kjF27m28mQ+xJ6j2MnZVP4JrA2LLiEGGgbUbpxE="}]},"_npmUser":{"name":"abidibo","email":"abidibo@gmail.com"},"maintainers":[{"name":"abidibo","email":"abidibo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-expression-editor_1.3.0_1764596403007_0.5432828346582876"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-27T09:08:01.622Z","modified":"2025-12-01T13:40:03.391Z","1.0.1":"2025-11-27T09:08:01.872Z","1.1.0":"2025-11-28T11:50:30.092Z","1.1.1":"2025-11-28T12:30:21.795Z","1.1.2":"2025-11-28T13:56:02.828Z","1.1.3":"2025-11-28T15:57:09.555Z","1.2.0":"2025-12-01T08:27:20.562Z","1.2.1":"2025-12-01T08:45:43.373Z","1.2.2":"2025-12-01T08:58:23.476Z","1.3.0":"2025-12-01T13:40:03.189Z"},"bugs":{"url":"https://github.com/abidibo/react-expression-editor/issues"},"author":{"name":"abidibo"},"license":"MIT","homepage":"https://github.com/abidibo/react-expression-editor#readme","repository":{"type":"git","url":"git+https://github.com/abidibo/react-expression-editor.git"},"description":"A react component for wrting logical expressions","maintainers":[{"name":"abidibo","email":"abidibo@gmail.com"}],"readme":"# React Expression Editor\n\nThis is a React component which provides a controlled editor for writing logical expressions like\n\n```\n(myVar == 3 || (myVar2 >= 4 && !myVar3)) && myVar4 != 6 && myVar5 == true\n```\n\n[Try the Demo](https://abidibo.github.io/react-expression-editor)\n\nIt provides:\n\n- semantic highlighting and validation\n- auto-completion\n- custom styling\n\nAutocomplete:\n\n- it activates automatically when the user types a character\n- it can be manually activated with tab even if no characters have been typed\n- it can be manually deactivated with escape\n- navigate the suggestions with arrow keys, accept with enter, and cancel with escape\n\nAvailable operators:\n\n| Operator | Description              | Type   |\n| -------- | ------------------------ | ------ |\n| `==`     | equal                    | Binary |\n| `!=`     | not equal                | Binary |\n| `>`      | greater than             | Binary |\n| `<`      | less than                | Binary |\n| `>=`     | greater than or equal to | Binary |\n| `<=`     | less than or equal to    | Binary |\n| `&&`     | and                      | Binary |\n| `\\|\\|`   | or                       | Binary |\n| `!`      | not                      | Unary  |\n| `+`      | addition                 | Binary |\n| `-`      | subtraction              | Binary |\n| `*`      | multiplication           | Binary |\n| `/`      | division                 | Binary |\n\n## Getting Started\n\nInstall the package:\n\n```\nnpm install @abidibo/react-expression-editor\n```\n\nUse it\n\n```jsx\nimport { ExpressionEditor, Operator } from '@abidibo/react-expression-editor'\n// if you don't provide custom classes\nimport '@abidibo/react-expression-editor/dist/index.esm.css'\n\nfunction App() {\n  const [expression, setExpression] = useState('')\n  const allowedVariables = ['myVar', 'myVar2', 'myVar3', 'myVar4']\n  // all allowed if empty or undefined\n  const allowedOperators = [Operator.AND, Operator.OR, Operator.NOT]\n  return (\n    <div>\n      <ExpressionEditor\n        value={expression}\n        onChange={setExpression}\n        variables={allowedVariables}\n        operators={allowedOperators}\n        constraintVariables\n      />\n    </div>\n  )\n}\n```\n\n## Props\n\nThe component accepts the following props:\n\n| Name                  | Type                                     | Default Value | Description                                                                            |\n| --------------------- | ---------------------------------------- | ------------- | -------------------------------------------------------------------------------------- |\n| `value`               | `string`                                 |               | The expression (Required)                                                              |\n| `onChange`            | `function`                               |               | A function to call when the expression changes (Required)                              |\n| `variables`           | `string[]`                               | []            | An array of variable names that can be used in the expression                          |\n| `operators`           | `Operator[]`                             | []            | An array of operators that can be used in the expression (all if empty)                |\n| `maxSuggestions`      | `number`                                 | 10            | The maximum number of suggestions to show                                              |\n| `constraintVariables` | `boolean`                                | false         | If true, the expression will be validated against the allowed variables                |\n| `showValidationText`  | `boolean`                                | false         | If true, a validation message is always shown under the editor                         |\n| `classes`             | `EditorClasses`                          |               | A set of classes to apply to the editor and other elements to customize the appearance |\n| `onValidationChange`  | `(validation: ValidationResult) => void` |               | A function to call when the validation changes                                         |\n\n```ts\nenum Operator {\n  AND = '&&',\n  OR = '||',\n  NOT = '!',\n  GT = '>',\n  GTE = '>=',\n  LT = '<',\n  LTE = '<=',\n  EQ = '==',\n  NEQ = '!=',\n  PLUS = '+',\n  MINUS = '-',\n  MUL = '*',\n  DIV = '/',\n}\n\ntype EditorClasses = {\n  root?: string // The outer wrapper\n  editor?: string // The contentEditable area\n  validation?: string // The validation error message\n  menu?: string // The autocomplete dropdown ul\n  menuItem?: string // The li items\n  menuItemActive?: string // The highlighted li item\n\n  // Token Highlighting slots\n  tokenVar?: string // Variables\n  tokenBinaryOp?: string // Binary operators (&&, ||)\n  tokenUnaryOp?: string // Unary operators (!)\n  tokenValue?: string // Numbers\n  tokenUnknown?: string // Errors\n  tokenError?: string // Errors\n}\n\ninterface ValidationResult {\n  isValid: boolean\n  error: string | null\n  errorToken?: Token\n  errorTokenIndex?: number\n  errorCharPosition?: number\n  state?: MachineState\n}\n\nenum MachineState {\n  EXPECT_OPERAND = 'expect operand',\n  EXPECT_OPERATOR = 'expect operator',\n}\n\ninterface Token {\n  type: TokenType\n  value: string\n  start: number\n  end: number\n}\n\nexport enum TokenType {\n  VAR = 'variable',\n  VALUE = 'value',\n  UNARY_OP = 'unary operator',\n  BINARY_OP = 'binary operator',\n  OPEN_P = 'open parenthesis',\n  CLOSE_P = 'close parenthesis',\n  SPACE = 'space',\n  UNKNOWN = 'unknown',\n}\n```\n\n## Development\n\nAfter cloning the repository and install dependencies (`yarn install`), you can run the following commands:\n\n| Command          | Description           |\n| ---------------- | --------------------- |\n| `yarn clean`     | Clean the dist folder |\n| `yarn build`     | Build the library     |\n| `yarn storybook` | Run storybook         |\n\nIn order to start developing just run the storybook, then make changes to code and the storybook will be updated.\n","readmeFilename":"README.md"}