{"_id":"@yurikilian/lex4","_rev":"33-392997740005aa68aa686648e271e54f","name":"@yurikilian/lex4","dist-tags":{"latest":"1.13.3"},"versions":{"0.1.0":{"name":"@yurikilian/lex4","version":"0.1.0","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@0.1.0","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"f95328bd7f81bc29ca69ba1112142cb5c71cf859","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-0.1.0.tgz","fileCount":117,"integrity":"sha512-FIBC9PIS2yFVo6ePUcJR5wwktQvR0zVUaf76/fiTEYvR4Sp3ZZ56UQrDops7RkeYsNxVZRvau7eE/tPdero9FQ==","signatures":[{"sig":"MEUCIQDmXLop7S72ve9NK42U1B6vSd2Ey4z/g5nWWYbc9td8mQIgcO5FxW5gqYis/4mXiACnCNpWZpH2lZKMBEL9tVHiQhY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":893090},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/939e6fc802c43806e0cade49a0029290/yurikilian-lex4-0.1.0.tgz","_integrity":"sha512-FIBC9PIS2yFVo6ePUcJR5wwktQvR0zVUaf76/fiTEYvR4Sp3ZZ56UQrDops7RkeYsNxVZRvau7eE/tPdero9FQ==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_0.1.0_1776088814196_0.7179161727456786","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@yurikilian/lex4","version":"0.1.1","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@0.1.1","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"931adccce079013109c0af4a279f3a65a488643f","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-0.1.1.tgz","fileCount":118,"integrity":"sha512-hiW5oN070lyF36uh/fCtyziy6PVV6ceLihRY43be/2qG/kGXqn1KdhklUh/Hq8Qvhf+1ldBAe3uKrcJCETSSJg==","signatures":[{"sig":"MEQCIFE6WDZUbAvAy9suO2w9RKinhZxjPvSg3enRkryBxTgQAiAWdffJ1e7dg02nadiTaf+2fhYUKJUHZM+qBtr4+Z9Htg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":906188},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/0f6eeab6e5d67858161edba2587846ec/yurikilian-lex4-0.1.1.tgz","_integrity":"sha512-hiW5oN070lyF36uh/fCtyziy6PVV6ceLihRY43be/2qG/kGXqn1KdhklUh/Hq8Qvhf+1ldBAe3uKrcJCETSSJg==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_0.1.1_1776089388958_0.9491997142381097","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@yurikilian/lex4","version":"0.1.2","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@0.1.2","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"c4f276975f2b19677dd8b1473a04ca0b882f0b79","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-0.1.2.tgz","fileCount":118,"integrity":"sha512-zSzZr8hiRUqE9iPvzGIcvia/gi/7Vw95zcYqnPIyO59/0OrYKPET/SReKeTRqXwxWJkh1EhwuH0aFrIEfFmfyg==","signatures":[{"sig":"MEYCIQDRV7MWoa6ew/34U6ofy7dNomVxe52sB6cdrZfXDFq+DAIhAJZXUFyJADiyesqYCf71ZgRQ/F1q332gYoDnFKKan+LI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":906573},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/aa9677d4a9a5cd9b5266fbe732db028d/yurikilian-lex4-0.1.2.tgz","_integrity":"sha512-zSzZr8hiRUqE9iPvzGIcvia/gi/7Vw95zcYqnPIyO59/0OrYKPET/SReKeTRqXwxWJkh1EhwuH0aFrIEfFmfyg==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_0.1.2_1776105156155_0.8983774499700368","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@yurikilian/lex4","version":"0.2.0","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@0.2.0","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"cedc0f8530685320f0e736d8c5d1876abb67863c","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-0.2.0.tgz","fileCount":170,"integrity":"sha512-4UcYeuD8Sqzdv1rY4WKtxJmao1CQ9/xKQcHxjQhRuxA2xj6gqLSzvI0Urufrz5hhA7Yzq8s3PwvHtzfn4EomPw==","signatures":[{"sig":"MEUCIQCWkKmCm1WlpJzK55JXCb/bnlJNzteh6dQjBmw85kLkVAIgfPRN4y5gxZdwDN/FrNt7eeqcTXPNRsopfEL2SDliQOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1211082},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/6090c7df6af989b0f15b1ad68e66a2c4/yurikilian-lex4-0.2.0.tgz","_integrity":"sha512-4UcYeuD8Sqzdv1rY4WKtxJmao1CQ9/xKQcHxjQhRuxA2xj6gqLSzvI0Urufrz5hhA7Yzq8s3PwvHtzfn4EomPw==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_0.2.0_1776166864919_0.4128885440465164","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@yurikilian/lex4","version":"0.2.1","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@0.2.1","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"ee3eebec541bcae8989076693e045fdc4f98cc36","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-0.2.1.tgz","fileCount":170,"integrity":"sha512-Y4GqQ7cGO2xckP+Fo8G7rCjWFYTrUQun5UzVJskmUR0hyVMe7AMY8HFDTHmm+IPhYMLcejsJto1HRvQTKJoQgQ==","signatures":[{"sig":"MEQCIDFUkwGgYbULMLOgp0nGDiaA4P4x8yJCXDAejZbDVk28AiBcko60XT6r1Uxx0XucXLkaGs1HeSstD6KXPl3/dWCbIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1212371},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/299fd6d7489cab5874053f76a99b6667/yurikilian-lex4-0.2.1.tgz","_integrity":"sha512-Y4GqQ7cGO2xckP+Fo8G7rCjWFYTrUQun5UzVJskmUR0hyVMe7AMY8HFDTHmm+IPhYMLcejsJto1HRvQTKJoQgQ==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_0.2.1_1776189763142_0.41040115192166815","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@yurikilian/lex4","version":"0.2.2","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@0.2.2","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"408bf0cbc1d178bc78905e4a0af8e69c8654cc7a","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-0.2.2.tgz","fileCount":172,"integrity":"sha512-OqPNHyttr91UEayBJa0v5y5AJ7aWO9y7y+bEI1jY0oInIi9s7ok/5jpBuHzegHHcIar0JOToP9kfAFuCjCFwmg==","signatures":[{"sig":"MEQCIAuxi7mpHxXbzVTl3TP2YxNBO9O3NShMxysYiz4iz32XAiAYh/jTjiAV8n5u0h2CT6wfb2VKvBakKEJeU4Sqjalj4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1250298},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-0.2.2.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/151cbe9d36e34497673e215424cd753a/yurikilian-lex4-0.2.2.tgz","_integrity":"sha512-OqPNHyttr91UEayBJa0v5y5AJ7aWO9y7y+bEI1jY0oInIi9s7ok/5jpBuHzegHHcIar0JOToP9kfAFuCjCFwmg==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_0.2.2_1776194360776_0.12688633760138446","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@yurikilian/lex4","version":"0.3.1","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@0.3.1","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"08b5aa96a8d1029e1434b0faf26f53b79ba69074","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-0.3.1.tgz","fileCount":174,"integrity":"sha512-Zx4rGYgvDrXRrLzMbq6wXdf1JSJghM5WCZZv8esYuVxlo2R7getzYJov6gFNw+4g70T7JsnKg303O7oNrCmbLw==","signatures":[{"sig":"MEYCIQDjjDpKqmHNs+W86X/PocGIktLVxL6dOhqkUTBrQRbWeAIhAOdAxg82mLELCCRRqi3Mwm25CO1dAZihpYryJw0U/YGU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1343507},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-0.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/e6875d7161edcfd082c2bdc861c0d0f2/yurikilian-lex4-0.3.1.tgz","_integrity":"sha512-Zx4rGYgvDrXRrLzMbq6wXdf1JSJghM5WCZZv8esYuVxlo2R7getzYJov6gFNw+4g70T7JsnKg303O7oNrCmbLw==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_0.3.1_1776267907020_0.9862547612815591","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@yurikilian/lex4","version":"0.3.2","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@0.3.2","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"6ffab7c0a47866071bea3b9a6179456af44f5dc2","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-0.3.2.tgz","fileCount":174,"integrity":"sha512-AiNXSydJv2v16lc4heSM8XVBwa9A9WcnL9lmIrMShfGXipsfSajneiHDiz+CoiJqoCu3KfvRRNCNRwy2zUWn6Q==","signatures":[{"sig":"MEUCIAF5hZCWx9wZ4dHQGOfJirEgppNqBIDhAdYbPSeSeMsoAiEAnYVhucC1klGAwCYxCr3JFGqIcejtdp8F55S+87R6Gys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1335801},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-0.3.2.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/bcb0990609b4699c8b53e04558da2542/yurikilian-lex4-0.3.2.tgz","_integrity":"sha512-AiNXSydJv2v16lc4heSM8XVBwa9A9WcnL9lmIrMShfGXipsfSajneiHDiz+CoiJqoCu3KfvRRNCNRwy2zUWn6Q==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_0.3.2_1776278784424_0.12546642912492567","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@yurikilian/lex4","version":"1.0.1","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.0.1","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"32a92524bf5d81e6158d4b2c25177989606232df","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.0.1.tgz","fileCount":174,"integrity":"sha512-2oPIcMUg/slm2Br7nQqsO5s/XjToFuWADYETnQfuH7rb6suY5X9IpJMgj4ZBbecXuxNXv6osHa1JHcxCQie0nQ==","signatures":[{"sig":"MEUCIQCfaG5naOsQz34qPyP0PZ66ZdgtUnohSPZ2y78W+aieegIgEPRowQ5nVn0Nf+AhpHYO1UKkRam1T4rA1pwAyF5xFzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1337533},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/4b41341b9e52647aa11c8e2e281ea00f/yurikilian-lex4-1.0.1.tgz","_integrity":"sha512-2oPIcMUg/slm2Br7nQqsO5s/XjToFuWADYETnQfuH7rb6suY5X9IpJMgj4ZBbecXuxNXv6osHa1JHcxCQie0nQ==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.0.1_1776333277019_0.14393235383210046","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@yurikilian/lex4","version":"1.1.1","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.1.1","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"89552d601f12852089455e557e57cb8d46f33c02","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.1.1.tgz","fileCount":174,"integrity":"sha512-rgMxQYc7INwaokyk4GXCFgt7XBAJGI62CBCaAM43g7K+lEPsvXNLcYk1xvLtnT0F4q/1bLYF/kxWGsOeS31iTA==","signatures":[{"sig":"MEUCIQDE0jIlr40yudiwRZyauGH2izNvHOfNCO0So+09O+9OFwIgW6NQlKbj2z2GdxYo99cMZQMuG4gxft8d0IdV9oHSXFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1341470},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/45d438cf547b23954360d8295045c275/yurikilian-lex4-1.1.1.tgz","_integrity":"sha512-rgMxQYc7INwaokyk4GXCFgt7XBAJGI62CBCaAM43g7K+lEPsvXNLcYk1xvLtnT0F4q/1bLYF/kxWGsOeS31iTA==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.1.1_1776509416759_0.4548547892691712","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@yurikilian/lex4","version":"1.2.0","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.2.0","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"c7069d6b9ea58543109def4fc278cf2ca7c46130","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.2.0.tgz","fileCount":174,"integrity":"sha512-Ob0V1gs059Ogb8Z6WOx6z0Qgi1LWGoP8VRvauYI7kAjZlRCXy0PeWmz/hPoOAv59VqTX3juD4wOZoMl8JGNzwg==","signatures":[{"sig":"MEUCIBUv3TsblrKio0J98b9TbmfPhp/6IEW5bN89ZS/sSWciAiEA4cw5arW9jjJLB8CbpiNu+ky7tFMvAwByXGWKlEhgvPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1341228},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/da3cde98c0ca6ae250c34c230ffbce04/yurikilian-lex4-1.2.0.tgz","_integrity":"sha512-Ob0V1gs059Ogb8Z6WOx6z0Qgi1LWGoP8VRvauYI7kAjZlRCXy0PeWmz/hPoOAv59VqTX3juD4wOZoMl8JGNzwg==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.2.0_1776513998289_0.8303215686202494","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@yurikilian/lex4","version":"1.4.0","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.4.0","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"69d24a481aa7539378b150faafe2e4aaa5dda618","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.4.0.tgz","fileCount":176,"integrity":"sha512-SWf2LbIfCZlaJez8EwmOczmsm+uPTjt5asx5fQYFh4ihQzo4woFKIj8YgVttif5hujenNmSC1rRqs09uYJspWg==","signatures":[{"sig":"MEYCIQCPaSAPIrB4VL8RrktzNO9h91lSpQgPj6tm4fqpGQ6msgIhAPMP/c48ToYg7MTRQuNQloC0oL5y6MrPhBtbCuy4Ve8r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1382293},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/5b9ed8e9539084c2f11b3e4f2841744c/yurikilian-lex4-1.4.0.tgz","_integrity":"sha512-SWf2LbIfCZlaJez8EwmOczmsm+uPTjt5asx5fQYFh4ihQzo4woFKIj8YgVttif5hujenNmSC1rRqs09uYJspWg==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.4.0_1776595825506_0.9153644334218314","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@yurikilian/lex4","version":"1.4.1","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.4.1","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"5a72992ad8e216284b3959105269a9e65f388ce5","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.4.1.tgz","fileCount":176,"integrity":"sha512-sdXLPPegLdStRZLz0/YoTA5/vEYv8jJ7kLoltG1ijSGuIWHDpr2cR+99yKwrIA+YRmiaFFstZc3mkFC9/SA76Q==","signatures":[{"sig":"MEQCIDtit2gCVSebWGC60c+bZhmIFDgZ+MZQK13OYR/oYiIWAiB363dKsQVAEGrGgDEYhPCVMmfAQI7TAh7n6MjIhoLLFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1387267},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.4.1.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/12ad04f13d066ee69cdf56f2e8564176/yurikilian-lex4-1.4.1.tgz","_integrity":"sha512-sdXLPPegLdStRZLz0/YoTA5/vEYv8jJ7kLoltG1ijSGuIWHDpr2cR+99yKwrIA+YRmiaFFstZc3mkFC9/SA76Q==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.4.1_1777491929555_0.8011700771543024","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@yurikilian/lex4","version":"1.5.1","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.5.1","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"2949f21b298d10144419fb876a5b7a763273c4c5","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.5.1.tgz","fileCount":186,"integrity":"sha512-YonwWPkNXeziLnBxe5CdhfCYzCQTPqgHJAAs/+QYfNTcSOecL3UdB5bzR4dG8Q8BmBEKC68uGQmwB+TdY2460Q==","signatures":[{"sig":"MEUCIHnkQJA0Ay0JfsIHcHa1gWBNDJl3vqulaCeA6zHZHAmCAiEAgPh7w4IoNtanfThjK5v18iDIrWryAG5wLnQiQgSmbso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1510312},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.5.1.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/370907b1cc15273d9bf7f0a3f82be4b0/yurikilian-lex4-1.5.1.tgz","_integrity":"sha512-YonwWPkNXeziLnBxe5CdhfCYzCQTPqgHJAAs/+QYfNTcSOecL3UdB5bzR4dG8Q8BmBEKC68uGQmwB+TdY2460Q==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.5.1_1777892154252_0.43815385520023664","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@yurikilian/lex4","version":"1.5.2","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.5.2","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"2a40923efa147fa83024a8bcf2526c275ca06980","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.5.2.tgz","fileCount":188,"integrity":"sha512-8eYHMqm5kDnp1tVjUCKgcvcb/Fa5MTUJ+YYvDLFmvIB0vpiLbJE2yqR68Gry+UQUe70x0d0sxKz9zBa5y7jn+Q==","signatures":[{"sig":"MEUCIAlMy5J70/V7ILT1ZU9T34SMj/GdupAjeM9pA3WGnpsrAiEA2/4fj59T/TgsMMzcCvs+9Qofdp6cSfrVHhxX2RbsQQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1532182},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.5.2.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/023be096d2862c7c43ccb6a12398c1f9/yurikilian-lex4-1.5.2.tgz","_integrity":"sha512-8eYHMqm5kDnp1tVjUCKgcvcb/Fa5MTUJ+YYvDLFmvIB0vpiLbJE2yqR68Gry+UQUe70x0d0sxKz9zBa5y7jn+Q==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.5.2_1777896912015_0.06580027179652315","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"@yurikilian/lex4","version":"1.5.3","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.5.3","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"06b42c2582154d911750843753278b8606c6ea53","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.5.3.tgz","fileCount":188,"integrity":"sha512-9C8at7xYBYdiu8iVX2LhgdIk4dqwRt1EVtKCsSFrMzWFDIfaM6INe3zDulY2OHtX7+0HQPLlCn6ktDgY1OATeQ==","signatures":[{"sig":"MEUCIQC3fKwWb/uty7E8/vVxMKdfgM7F7Ij7iB0dwBz9x3xkZAIgJOmkuJXxc0wirNbZ2/vl8v6HUcca9IuK0NwVOdZdkXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1536865},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.5.3.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/170be6536be54a8db162ccffa83df6c1/yurikilian-lex4-1.5.3.tgz","_integrity":"sha512-9C8at7xYBYdiu8iVX2LhgdIk4dqwRt1EVtKCsSFrMzWFDIfaM6INe3zDulY2OHtX7+0HQPLlCn6ktDgY1OATeQ==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.5.3_1777906022930_0.07976352522200059","host":"s3://npm-registry-packages-npm-production"}},"1.5.4":{"name":"@yurikilian/lex4","version":"1.5.4","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.5.4","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"79537d95c64a019e53e4d4f2cb0af4ec7b1378d1","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.5.4.tgz","fileCount":188,"integrity":"sha512-LURfTaAi2NfyFgVNKZakRNgrUSvSMm/6vlFTtS8RqBZyWUc0+uvIlLs2k1wbYBwhHxtFuGcvwctFcFsHiufVmQ==","signatures":[{"sig":"MEUCIQDtNrrFTy1jFRzHlcFMti8fGCwtkEF4veuytrBgHBILUwIgaLUVVQWe+EApfsD9Uz5NjgGJMTy2daviCtpGNK6Y2Ko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1542053},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.5.4.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/698e8eb592bd2142cb3d709909824242/yurikilian-lex4-1.5.4.tgz","_integrity":"sha512-LURfTaAi2NfyFgVNKZakRNgrUSvSMm/6vlFTtS8RqBZyWUc0+uvIlLs2k1wbYBwhHxtFuGcvwctFcFsHiufVmQ==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.5.4_1777907154891_0.03172707428800625","host":"s3://npm-registry-packages-npm-production"}},"1.5.5":{"name":"@yurikilian/lex4","version":"1.5.5","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.5.5","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"f97d1eab4629642f819256f80f5542f8b89718fb","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.5.5.tgz","fileCount":188,"integrity":"sha512-BkTbJLk8XiDSDLZfCAbeJOoiqOHeCZEWsxaHwiGvuv6MX0VQrIUuBaRf3y5yW0lpYj+RK/6/eppM31trx2RkVA==","signatures":[{"sig":"MEUCIQCo9WMZ81aeWFnmkZCWyxZHJ5nnpZgI0lhVv6saJLzubwIgLofi3VzkcCX+uG5xQYnfocaScHOK18qfUWtgwQXPd3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543375},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.5.5.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/035bc92ba5c690f64398bbf054d66a10/yurikilian-lex4-1.5.5.tgz","_integrity":"sha512-BkTbJLk8XiDSDLZfCAbeJOoiqOHeCZEWsxaHwiGvuv6MX0VQrIUuBaRf3y5yW0lpYj+RK/6/eppM31trx2RkVA==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.5.5_1777908122890_0.716730139658033","host":"s3://npm-registry-packages-npm-production"}},"1.5.6":{"name":"@yurikilian/lex4","version":"1.5.6","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.5.6","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"14877be2a53c8a56da66b3b935ab33d068f6066a","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.5.6.tgz","fileCount":188,"integrity":"sha512-XQ+tynicNo4vLIwvz3l6qSuA5LNBiSp6/K+xNQ40YpSNfuEe/g0d1kBo6O0lygcGWJDfzFjGkQQDYjG0BtMMyQ==","signatures":[{"sig":"MEQCICWxjbcg+rCkPLu7A/3u5yF5EnVlXiRkCxtubEcQNzeGAiA7toCGCIoDCAeTXIqEOTKL0IvLvacDYjw4CPDNPa9yPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543498},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.5.6.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/667f1b5da0e2e8359e07f5c0b5d8aaef/yurikilian-lex4-1.5.6.tgz","_integrity":"sha512-XQ+tynicNo4vLIwvz3l6qSuA5LNBiSp6/K+xNQ40YpSNfuEe/g0d1kBo6O0lygcGWJDfzFjGkQQDYjG0BtMMyQ==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.5.6_1777908882171_0.16283109671388218","host":"s3://npm-registry-packages-npm-production"}},"1.5.7":{"name":"@yurikilian/lex4","version":"1.5.7","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.5.7","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"f73d7d8d0d4e5419969ec9a2aec6817f524b5ab1","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.5.7.tgz","fileCount":188,"integrity":"sha512-Sjm7RTjeuQj5N88694yegpoAocIi1rFIhgtBrdsEQ+4bW3ptiSvjlBere4DYEvzTh//khOAmMy1PyFIeU34x+g==","signatures":[{"sig":"MEYCIQCWOkCIwo+kswCzL9rWUA0TOgcAIrBmCPh8NWmep21jfwIhAIcbow6ZQ80poOugtp4MmCiIpekG/6rOIzwI5VQkY0pa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543494},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.5.7.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/3d5582f32bef94c68a2211cda1099590/yurikilian-lex4-1.5.7.tgz","_integrity":"sha512-Sjm7RTjeuQj5N88694yegpoAocIi1rFIhgtBrdsEQ+4bW3ptiSvjlBere4DYEvzTh//khOAmMy1PyFIeU34x+g==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.5.7_1777917512700_0.8007722173406431","host":"s3://npm-registry-packages-npm-production"}},"1.5.8":{"name":"@yurikilian/lex4","version":"1.5.8","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.5.8","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"739dffada9652946f659ab57a101a572643292e9","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.5.8.tgz","fileCount":188,"integrity":"sha512-5b7c1F/MsENpTNGSi8tNV9I/dioz8evkHu0+XxiOfL+Zp3yHDIpdcxL2JrgipulHbak7BQ6hRRXkQIWpo163cg==","signatures":[{"sig":"MEYCIQCGimWuAg8D+B8Vc+un5hUsbpzfwPpYl4t3dmQlSQlXHQIhAJ8Pu0wgFTB5SoPD/pjhzWYMgIDd3+u9wvU7a1nwQNgY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543496},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.5.8.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/d84c62987059a70f670562bb5ac17b02/yurikilian-lex4-1.5.8.tgz","_integrity":"sha512-5b7c1F/MsENpTNGSi8tNV9I/dioz8evkHu0+XxiOfL+Zp3yHDIpdcxL2JrgipulHbak7BQ6hRRXkQIWpo163cg==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.5.8_1777918159609_0.9196476618221072","host":"s3://npm-registry-packages-npm-production"}},"1.5.9":{"name":"@yurikilian/lex4","version":"1.5.9","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.5.9","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"6736cbdf6b306094ded353c9a54b6aed94408111","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.5.9.tgz","fileCount":188,"integrity":"sha512-wGuVvnK7yvVL4/5aBAMIFQuLdVIyh/UcLduxW897Txj5siMsieumLBto725IuQWSTbo6C3el0N8Ev1hfYdwfrg==","signatures":[{"sig":"MEUCIFDMjEEKZ+JikqWELVS415iCFaolfktQi8/wzyzlI1XmAiEAqwEEnGRoOPs7qC+GwonYU7OfYS4Hi/zUoRtS+yLFycA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1546339},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.5.9.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/2386e55cb5f3adc91afda9471c2b11b1/yurikilian-lex4-1.5.9.tgz","_integrity":"sha512-wGuVvnK7yvVL4/5aBAMIFQuLdVIyh/UcLduxW897Txj5siMsieumLBto725IuQWSTbo6C3el0N8Ev1hfYdwfrg==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.5.9_1777919144538_0.14639255492198577","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@yurikilian/lex4","version":"1.6.0","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.6.0","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"30d0b9da82c328927a8b4d85c6d10df56d049c83","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.6.0.tgz","fileCount":190,"integrity":"sha512-llCn2Zsl4FZ5yhmUSEKQvCowvS4e02nE2627KjLDdiwxJXxLSGTRmgPHYK9OuUl+hDRyaVWRjfNFnAqvS8v9uw==","signatures":[{"sig":"MEUCIQDsOZl7rKqg3qe0IDW3gvgM9nFq+TsSb2sLtv4uR/5isAIgD+PhZxc+iTWA+Hg9Qy0HiKff+ajnp5RRDX1+zPrhwn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1560519},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/7b885a0ad23fc8425c51c02aa348e3e3/yurikilian-lex4-1.6.0.tgz","_integrity":"sha512-llCn2Zsl4FZ5yhmUSEKQvCowvS4e02nE2627KjLDdiwxJXxLSGTRmgPHYK9OuUl+hDRyaVWRjfNFnAqvS8v9uw==","deprecated":"This release line is retired. Please upgrade to 1.7.0.","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.6.0_1778016648967_0.43706071937407875","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@yurikilian/lex4","version":"1.7.0","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.7.0","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"1934475e3cd139dfdd62c8c70a720bc62bf3044e","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.7.0.tgz","fileCount":196,"integrity":"sha512-I4yEkoqVNxH/8BzUCgVlUtJmFq8rtEOEF4kyPZ1OH2dZLlEA08TiQkXlXOtYQvoTOFf5mC+XgNiJEh1gy8+JyA==","signatures":[{"sig":"MEQCIF/+ID9zWwWOhh6gcnMVyPFNnJ9Q3SXH15rdOVv8Qxz9AiBoDCy8TCflTg5hxFTfoN037Jw+M7JpCjFCGDLtgFZ58w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1640223},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/016c03b03f71108fdc7ed2b46780f763/yurikilian-lex4-1.7.0.tgz","_integrity":"sha512-I4yEkoqVNxH/8BzUCgVlUtJmFq8rtEOEF4kyPZ1OH2dZLlEA08TiQkXlXOtYQvoTOFf5mC+XgNiJEh1gy8+JyA==","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","zustand":"^5.0.13","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.7.0_1778063068318_0.22015092521983193","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@yurikilian/lex4","version":"1.8.0","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.8.0","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"9bf1a440f02355c81aa41713d142f5c7b4d9c329","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.8.0.tgz","fileCount":196,"integrity":"sha512-JKvdTb7CQDzm2/W5CVOgBDdYGgHPo9AyconIazDFKpijOHHcDisz2Moar5y+AIfxzpj5YsCftZA/8Vf+wYsc6g==","signatures":[{"sig":"MEYCIQDwRg3bMceu30HABJJvmhUvc5ROyWFHpzOOj98d7Lre4AIhAMsfji7NPudPt58qSQ++gRnkWqDy7ft4At13gdaLLnYe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1660464},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/011321f7c1a1fd7b5f7705487bcdbca7/yurikilian-lex4-1.8.0.tgz","_integrity":"sha512-JKvdTb7CQDzm2/W5CVOgBDdYGgHPo9AyconIazDFKpijOHHcDisz2Moar5y+AIfxzpj5YsCftZA/8Vf+wYsc6g==","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","zustand":"^5.0.13","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.8.0_1778099957139_0.21338143970915602","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@yurikilian/lex4","version":"1.10.0","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.10.0","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"9ef8dede453025969c565640dc057b5b8ddd7931","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.10.0.tgz","fileCount":198,"integrity":"sha512-9W/k277pefevdw92p36f3kGQoJML8AXrwP3J9ILDhQyu7CttJOY7KC+ZAzZwr+TERsDHqOhRM/ruT0vkHelFfg==","signatures":[{"sig":"MEUCIQCSATFsZI76P4na3ao++e0icbGo1Uw/di7LsYLIahQatAIgDWz/EMZu3SD/ydCn0iPU6OZh50BKKmEmg7YrzQl9eKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1710682},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.10.0.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/f666112906f096b2eeea5aa5f8c0689e/yurikilian-lex4-1.10.0.tgz","_integrity":"sha512-9W/k277pefevdw92p36f3kGQoJML8AXrwP3J9ILDhQyu7CttJOY7KC+ZAzZwr+TERsDHqOhRM/ruT0vkHelFfg==","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","zustand":"^5.0.13","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.10.0_1778447672662_0.42172441401706706","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@yurikilian/lex4","version":"1.11.0","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.11.0","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"9fcb65d01648e9c12720722dd4d1411c6aa9973a","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.11.0.tgz","fileCount":204,"integrity":"sha512-LVFQ9xQ/xioLlViKO81vEPbedURYSpGcwN40IJdY3FUgpnCUNTvFo5/gs8ZNopyocIbMPfhgLWK/cbnat6uy8w==","signatures":[{"sig":"MEUCIAaUWocNOSu4X6tDunHqw5P9dy9HYE5c2sgK68GTOf7FAiEAmkts2GstyYQwyYTmQvsD9J0A7DCNmPBAuLK04qGWmWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1772917},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.11.0.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/04fb9f9f91b2a2d2a57ae21395918505/yurikilian-lex4-1.11.0.tgz","_integrity":"sha512-LVFQ9xQ/xioLlViKO81vEPbedURYSpGcwN40IJdY3FUgpnCUNTvFo5/gs8ZNopyocIbMPfhgLWK/cbnat6uy8w==","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"10.8.2","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"20.20.2","dependencies":{"lexical":"^0.22.0","zustand":"^5.0.13","lucide-react":"^1.8.0","@lexical/html":"^0.22.0","@lexical/list":"^0.22.0","@lexical/react":"^0.22.0","@lexical/utils":"^0.22.0","@lexical/history":"^0.22.0","@lexical/clipboard":"^0.22.0","@lexical/rich-text":"^0.22.0","@lexical/selection":"^0.22.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.0","jsdom":"^25.0.0","react":"^18.3.0","vitest":"^2.0.0","postcss":"^8.4.0","react-dom":"^18.3.0","typescript":"^5.5.0","tailwindcss":"^3.4.0","@types/react":"^18.3.0","autoprefixer":"^10.4.0","vite-plugin-dts":"^4.0.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.11.0_1784043825085_0.7225271884607412","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@yurikilian/lex4","version":"1.12.0","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.12.0","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"1daeda6dcf39800b78d4a52da142452c80cadb9f","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.12.0.tgz","fileCount":204,"integrity":"sha512-VBHFJ79h4yxgaby4iTkPkVsiAjN3N3CBVcyPI3oD9rSsnjDvmTIvdBwDM5iUBNajz7celQrpkxTQTnHzTStR5Q==","signatures":[{"sig":"MEQCIFujqciVSt7jcRUeS2t9ihYZC9L08N/aLencVD2/rmdTAiA4VTNtLccym8v3o3zv1l2i8BEbUuKIXe3PI4YUj9eqeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1735309},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.12.0.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/17380fe3117cd976454ea97b0a39c0ac/yurikilian-lex4-1.12.0.tgz","_integrity":"sha512-VBHFJ79h4yxgaby4iTkPkVsiAjN3N3CBVcyPI3oD9rSsnjDvmTIvdBwDM5iUBNajz7celQrpkxTQTnHzTStR5Q==","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"11.16.0","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"24.18.0","dependencies":{"lexical":"^0.49.0","zustand":"^5.0.14","lucide-react":"^1.28.0","@lexical/html":"^0.49.0","@lexical/list":"^0.49.0","@lexical/react":"^0.49.0","@lexical/utils":"^0.49.0","@lexical/history":"^0.49.0","@lexical/clipboard":"^0.49.0","@lexical/rich-text":"^0.49.0","@lexical/selection":"^0.49.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","jsdom":"^30.0.0","react":"^19.2.0","vitest":"^4.0.0","postcss":"^8.5.25","react-dom":"^19.2.0","typescript":"^5.5.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","vite-plugin-dts":"^5.0.0","@types/react-dom":"^19.2.0","@vitejs/plugin-react":"^6.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.12.0_1786441455587_0.10486907424679459","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@yurikilian/lex4","version":"1.13.0","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.13.0","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"252445fc4882e63f21ddaea6a52781f57557406f","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.13.0.tgz","fileCount":208,"integrity":"sha512-s/LUuAEMR9chi0KbGdnMqctkO2sWVWn0DDnouWWKeN6w99I5CKUaXmQCoeXUwQ1Wzxm+xJy42c6RjlIf4vPXmQ==","signatures":[{"sig":"MEQCIGRik1n7IUQa+7bzP0PWW+KCDzQzXS8AGVlOPHOtjAQJAiBGnootR2NTF+XRGbPxwMEK9lfS7/yq613vF7P/YfSttQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1779731},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.13.0.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/07c79c0f7c354936bdec67890b65cf1f/yurikilian-lex4-1.13.0.tgz","_integrity":"sha512-s/LUuAEMR9chi0KbGdnMqctkO2sWVWn0DDnouWWKeN6w99I5CKUaXmQCoeXUwQ1Wzxm+xJy42c6RjlIf4vPXmQ==","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"11.17.0","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"24.19.0","dependencies":{"lexical":"^0.49.0","zustand":"^5.0.14","lucide-react":"^1.28.0","@lexical/html":"^0.49.0","@lexical/list":"^0.49.0","@lexical/react":"^0.49.0","@lexical/utils":"^0.49.0","@lexical/history":"^0.49.0","@lexical/clipboard":"^0.49.0","@lexical/rich-text":"^0.49.0","@lexical/selection":"^0.49.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","jsdom":"^30.0.0","react":"^19.2.0","vitest":"^4.0.0","postcss":"^8.5.25","react-dom":"^19.2.0","typescript":"^5.5.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","vite-plugin-dts":"^5.0.0","@types/react-dom":"^19.2.0","@vitejs/plugin-react":"^6.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.13.0_1786460344154_0.3677459810588304","host":"s3://npm-registry-packages-npm-production"}},"1.13.1":{"name":"@yurikilian/lex4","version":"1.13.1","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.13.1","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"fd85046a419541c51707eadf0ed5280a103da9c0","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.13.1.tgz","fileCount":210,"integrity":"sha512-Tq6FNGIzSQGbbhIYaIdgRT6g1v4VJlHtyDHSXrEj8xZBvJ7LxBzCL2FUHoOt2/CyhtfPj1qhNOBR9tP6FAkjJw==","signatures":[{"sig":"MEQCIGztr6e7jquZ9FZVIn6oivBg+PAZCUbMf0qcRUlAkUg3AiBHMR+XlU6pJqvD1/Rs0+XRXzAYUu4MAqVeVJX3XfGqrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1797391},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.13.1.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/03d3489d6a1a2b6c56ac3d5bdbef3a8b/yurikilian-lex4-1.13.1.tgz","_integrity":"sha512-Tq6FNGIzSQGbbhIYaIdgRT6g1v4VJlHtyDHSXrEj8xZBvJ7LxBzCL2FUHoOt2/CyhtfPj1qhNOBR9tP6FAkjJw==","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"11.17.0","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"24.19.0","dependencies":{"lexical":"^0.49.0","zustand":"^5.0.14","lucide-react":"^1.28.0","@lexical/html":"^0.49.0","@lexical/list":"^0.49.0","@lexical/react":"^0.49.0","@lexical/utils":"^0.49.0","@lexical/history":"^0.49.0","@lexical/clipboard":"^0.49.0","@lexical/rich-text":"^0.49.0","@lexical/selection":"^0.49.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","jsdom":"^30.0.0","react":"^19.2.0","vitest":"^4.0.0","postcss":"^8.5.25","react-dom":"^19.2.0","typescript":"^5.5.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","vite-plugin-dts":"^5.0.0","@types/react-dom":"^19.2.0","@vitejs/plugin-react":"^6.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.13.1_1787717938107_0.9928640612638275","host":"s3://npm-registry-packages-npm-production"}},"1.13.2":{"name":"@yurikilian/lex4","version":"1.13.2","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"license":"MIT","_id":"@yurikilian/lex4@1.13.2","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"homepage":"https://yurikilian.github.io/lex4/","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"016bc1426cd17d9a9029978671b8b09e89c4297a","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.13.2.tgz","fileCount":210,"integrity":"sha512-VvvuR4EXKNaCvT43/4/REY5CA1UZc7hg7zsUGJqePfAIrkEAWwNZ3yDlPI4yeeGGilj/hzqzJrK4LfrD4Rlbow==","signatures":[{"sig":"MEQCIHyIdFXbYq9q1g8t4O22j3lu8U7wkZfBeIR/wPENf/JMAiBg6EpsbRRAWvkV2zlWB9daBonRwkTKKmXxRYzRHZ7cxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1816060},"main":"./dist/lex4-editor.cjs","type":"module","_from":"file:yurikilian-lex4-1.13.2.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"_resolved":"/tmp/10f042f995ba2429194a8726e972d1cd/yurikilian-lex4-1.13.2.tgz","_integrity":"sha512-VvvuR4EXKNaCvT43/4/REY5CA1UZc7hg7zsUGJqePfAIrkEAWwNZ3yDlPI4yeeGGilj/hzqzJrK4LfrD4Rlbow==","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"11.17.0","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"_nodeVersion":"24.19.0","dependencies":{"lexical":"^0.49.0","zustand":"^5.0.14","lucide-react":"^1.28.0","@lexical/html":"^0.49.0","@lexical/list":"^0.49.0","@lexical/react":"^0.49.0","@lexical/utils":"^0.49.0","@lexical/history":"^0.49.0","@lexical/clipboard":"^0.49.0","@lexical/rich-text":"^0.49.0","@lexical/selection":"^0.49.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","jsdom":"^30.0.0","react":"^19.2.0","vitest":"^4.0.0","postcss":"^8.5.25","react-dom":"^19.2.0","typescript":"^5.5.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","vite-plugin-dts":"^5.0.0","@types/react-dom":"^19.2.0","@vitejs/plugin-react":"^6.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/lex4_1.13.2_1787728689457_0.989768506382632","host":"s3://npm-registry-packages-npm-production"}},"1.13.3":{"_id":"@yurikilian/lex4@1.13.3","bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"dist":{"shasum":"1d8a9aefbb4ead1f662277b2acd8e162f7de57d0","tarball":"https://registry.npmjs.org/@yurikilian/lex4/-/lex4-1.13.3.tgz","fileCount":210,"integrity":"sha512-GLMR1ncyxPd+79ykSsSWfsTMEBuvcHdpgyA4RJnbIzBfGbwa4NPojgV/pX1gQNVw+BRgrMzb8BszwkQAqKHJyg==","signatures":[{"sig":"MEYCIQCnPY8LoEkI1hHn1Sitf8ZanfE6ELfR4QOCMbt4xBMJagIhAPuENmv43ANUI95xYPtrLeshlLy07iSAGUHn6N+uQZfL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG8DqjlYBSRHm4BokwtupJ5ltelSYHMf5tCgWGSdgSGVAiEAuDkxfhmLlCrUl1LYLPHA/QUtUn/p6hK33P/wml9x848="}],"unpackedSize":1832406},"main":"./dist/lex4-editor.cjs","name":"@yurikilian/lex4","type":"module","_from":"file:yurikilian-lex4-1.13.3.tgz","types":"./dist/index.d.ts","module":"./dist/lex4-editor.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/lex4-editor.js","require":"./dist/lex4-editor.cjs"},"./style.css":"./dist/style.css"},"license":"MIT","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest run","build":"tsc --noEmit && vite build","test:watch":"vitest"},"version":"1.13.3","_npmUser":{"name":"yurikilian","email":"kilian.inf@gmail.com"},"homepage":"https://yurikilian.github.io/lex4/","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"_resolved":"/tmp/5208f732a385eefa5c3f24476d8b4b5a/yurikilian-lex4-1.13.3.tgz","_integrity":"sha512-GLMR1ncyxPd+79ykSsSWfsTMEBuvcHdpgyA4RJnbIzBfGbwa4NPojgV/pX1gQNVw+BRgrMzb8BszwkQAqKHJyg==","repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"_npmVersion":"11.19.0","description":"A paginated document editor — reusable React library built on Meta Lexical","directories":{},"maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"lexical":"^0.49.0","zustand":"^5.0.14","lucide-react":"^1.28.0","@lexical/html":"^0.49.0","@lexical/list":"^0.49.0","@lexical/react":"^0.49.0","@lexical/utils":"^0.49.0","@lexical/history":"^0.49.0","@lexical/clipboard":"^0.49.0","@lexical/rich-text":"^0.49.0","@lexical/selection":"^0.49.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.0","jsdom":"^30.0.0","react":"^19.2.0","vitest":"^4.0.0","postcss":"^8.5.25","react-dom":"^19.2.0","typescript":"^5.5.0","@types/react":"^19.2.0","autoprefixer":"^10.5.4","vite-plugin-dts":"^5.0.0","@types/react-dom":"^19.2.0","@vitejs/plugin-react":"^6.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lex4_1.13.3_1790759085607_0.7887262182808543"}}},"time":{"created":"2026-04-13T14:00:14.050Z","modified":"2026-09-30T09:04:45.949Z","0.1.0":"2026-04-13T14:00:14.434Z","0.1.1":"2026-04-13T14:09:49.179Z","0.1.2":"2026-04-13T18:32:36.367Z","0.2.0":"2026-04-14T11:41:05.125Z","0.2.1":"2026-04-14T18:02:43.307Z","0.2.2":"2026-04-14T19:19:20.983Z","0.3.1":"2026-04-15T15:45:07.344Z","0.3.2":"2026-04-15T18:46:24.670Z","1.0.1":"2026-04-16T09:54:37.254Z","1.1.1":"2026-04-18T10:50:16.988Z","1.2.0":"2026-04-18T12:06:38.437Z","1.4.0":"2026-04-19T10:50:25.684Z","1.4.1":"2026-04-29T19:45:29.788Z","1.5.1":"2026-05-04T10:55:54.446Z","1.5.2":"2026-05-04T12:15:12.188Z","1.5.3":"2026-05-04T14:47:03.110Z","1.5.4":"2026-05-04T15:05:55.163Z","1.5.5":"2026-05-04T15:22:03.123Z","1.5.6":"2026-05-04T15:34:42.386Z","1.5.7":"2026-05-04T17:58:32.925Z","1.5.8":"2026-05-04T18:09:19.820Z","1.5.9":"2026-05-04T18:25:44.710Z","1.6.0":"2026-05-05T21:30:49.168Z","1.7.0":"2026-05-06T10:24:28.549Z","1.8.0":"2026-05-06T20:39:17.382Z","1.10.0":"2026-05-10T21:14:32.849Z","1.11.0":"2026-07-14T15:43:45.310Z","1.12.0":"2026-08-11T09:44:15.746Z","1.13.0":"2026-08-11T14:59:04.366Z","1.13.1":"2026-08-26T04:18:58.306Z","1.13.2":"2026-08-26T07:18:09.634Z","1.13.3":"2026-09-30T09:04:45.787Z"},"bugs":{"url":"https://github.com/yurikilian/lex4/issues"},"license":"MIT","homepage":"https://yurikilian.github.io/lex4/","keywords":["react","editor","lexical","document","paginated","a4","word-processor","rich-text"],"repository":{"url":"git+https://github.com/yurikilian/lex4.git","type":"git","directory":"packages/editor"},"description":"A paginated document editor — reusable React library built on Meta Lexical","maintainers":[{"name":"yurikilian","email":"kilian.inf@gmail.com"}],"readme":"<div align=\"center\">\n\n# Lex4\n\n**A paginated A4 document editor for React**\n\n> Meta **Lex**ical × **A4** page rules\n\n[![CI](https://github.com/yurikilian/lex4/actions/workflows/ci.yml/badge.svg)](https://github.com/yurikilian/lex4/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/@yurikilian/lex4.svg)](https://www.npmjs.com/package/@yurikilian/lex4)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.5-blue.svg)](https://www.typescriptlang.org/)\n[![React](https://img.shields.io/badge/React-18%2B-61DAFB.svg)](https://react.dev/)\n\n[Live Demo](https://yurikilian.github.io/lex4/) · [npm Package](https://www.npmjs.com/package/@yurikilian/lex4) · [Report Bug](https://github.com/yurikilian/lex4/issues)\n\n</div>\n\n---\n\nA paginated document editor built as a **reusable React library** on top of [Meta Lexical](https://lexical.dev/). Every page is a true discrete A4 page — no fake pages, no CSS hacks, no single-editor visual tricks.\n\n<div align=\"center\">\n\n![Editor with formatted content](https://raw.githubusercontent.com/yurikilian/lex4/main/docs/screenshots/editor-with-content.png)\n\n</div>\n\n## ✨ Features\n\n- **True A4 pagination** — every page is exactly 794 × 1123 CSS pixels (210 mm × 297 mm at 96 DPI)\n- **Automatic content flow** — overflow splits at block boundaries with mid-block splitting for oversized paragraphs and lists\n- **Rich text formatting** — bold, italic, underline, strikethrough, alignment, lists, indentation\n- **Selection-aware formatting** — toolbar pressed state follows the caret, partial same-line block restyling is preserved, and selected variable chips can be promoted to headings\n- **Headers & footers** — global toggle with per-page editable regions and page counters\n- **Multiple font families** — Inter, Arial, Times New Roman, Courier New, Georgia, Verdana and more\n- **Font size control** — per-selection font size with AST-level preservation\n- **Session history sidebar** — Word-style action timeline with full undo/redo\n- **Extension architecture** — opt-in features via composable extensions (`astExtension`, `variablesExtension`)\n- **Document AST export** — clean, versioned, Lexical-independent AST for backend DOCX/PDF rendering\n- **Variables & placeholders** — insert dynamic tokens like `{{customer.name}}` with metadata export\n- **i18n support** — all UI strings externalized; override any subset for localization\n- **Read-only mode** — disable editing while keeping the document viewable\n- **Native light, dark, and system themes** — matte editor chrome with print-faithful white document pages\n- **Zero config** — drop in the component and start editing\n\n## 📸 Screenshots\n\n<details>\n<summary><strong>Empty Editor</strong> — clean A4 page ready for editing</summary>\n\n![Empty editor](https://raw.githubusercontent.com/yurikilian/lex4/main/docs/screenshots/editor-empty.png)\n\n</details>\n\n<details>\n<summary><strong>Headers & Footers</strong> — global toggle with editable regions</summary>\n\n![Editor with headers and footers](https://raw.githubusercontent.com/yurikilian/lex4/main/docs/screenshots/editor-header-footer.png)\n\n</details>\n\n<details>\n<summary><strong>Multi-Page Document</strong> — automatic content flow across pages</summary>\n\n![Multi-page document](https://raw.githubusercontent.com/yurikilian/lex4/main/docs/screenshots/editor-multi-page.png)\n\n</details>\n\n<details>\n<summary><strong>Toolbar</strong> — full formatting controls</summary>\n\n![Toolbar](https://raw.githubusercontent.com/yurikilian/lex4/main/docs/screenshots/toolbar.png)\n\n</details>\n\n## 📦 Installation\n\n```bash\nnpm install @yurikilian/lex4\n# or\npnpm add @yurikilian/lex4\n# or\nyarn add @yurikilian/lex4\n```\n\n### Peer Dependencies\n\nThe library requires React 18+ as a peer dependency. Lexical packages are bundled.\n\n```bash\nnpm install react react-dom\n```\n\n## 🚀 Quick Start\n\n```tsx\nimport { Lex4Editor } from '@yurikilian/lex4';\nimport '@yurikilian/lex4/style.css';\n\nfunction App() {\n  return (\n    <Lex4Editor\n      onDocumentChange={(doc) => console.log(doc)}\n    />\n  );\n}\n```\n\n### With Extensions\n\nExtensions add opt-in capabilities. The two built-in extensions are `astExtension` (document AST export) and `variablesExtension` (dynamic variable placeholders):\n\n```tsx\nimport { useRef, useMemo } from 'react';\nimport {\n  Lex4Editor,\n  Lex4EditorHandle,\n  astExtension,\n  variablesExtension,\n  VariableDefinition,\n} from '@yurikilian/lex4';\nimport '@yurikilian/lex4/style.css';\n\nconst variables: VariableDefinition[] = [\n  { key: 'customer.name', label: 'Customer Name', group: 'Customer', valueType: 'string' },\n  { key: 'proposal.date', label: 'Proposal Date', group: 'Proposal', valueType: 'date' },\n];\n\nfunction App() {\n  const editorRef = useRef<Lex4EditorHandle>(null);\n\n  const extensions = useMemo(() => [\n    astExtension(),\n    variablesExtension(variables),\n  ], []);\n\n  const handleSave = () => {\n    const ast = editorRef.current?.getDocumentAst();\n    console.log(JSON.stringify(ast, null, 2));\n  };\n\n  return (\n    <>\n      <Lex4Editor\n        ref={editorRef}\n        extensions={extensions}\n        onDocumentChange={(doc) => console.log(doc)}\n      />\n      <button onClick={handleSave}>Export AST</button>\n    </>\n  );\n}\n```\n\n### Read-Only Viewer\n\n```tsx\n<Lex4Editor\n  initialDocument={savedDocument}\n  readOnly={true}\n/>\n```\n\n### Dark Mode\n\nLex4 themes its application chrome while keeping the A4 sheet white, so the on-screen document remains faithful to print and export output.\n\n```tsx\n<Lex4Editor theme=\"dark\" />\n<Lex4Editor theme=\"system\" />\n```\n\nThe `theme` prop accepts `light`, `dark`, or `system` and defaults to `light` for backwards compatibility. Every palette value is exposed as a CSS custom property on `.lex4-editor`; consuming applications can override individual tokens without leaking Lex4 defaults into their global `:root` theme.\n\n## 📖 API Reference\n\n### `<Lex4Editor />` Component\n\nThe main editor component. Drop it into any React application.\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `initialDocument` | `Lex4Document` | Empty document | Pre-populate the editor with saved content |\n| `onDocumentChange` | `(doc: Lex4Document) => void` | — | Called on every document mutation |\n| `headerFooterEnabled` | `boolean` | `false` | Initial header/footer toggle state |\n| `onHeaderFooterToggle` | `(enabled: boolean) => void` | — | Called when the user toggles headers/footers |\n| `readOnly` | `boolean` | `false` | Disable editing (view-only mode) |\n| `theme` | `\"light\" \\| \"dark\" \\| \"system\"` | `\"light\"` | Theme the editor chrome; the A4 page remains print-white |\n| `extensions` | `Lex4Extension[]` | `[]` | Extensions to load (e.g., `astExtension()`, `variablesExtension(defs)`) |\n| `translations` | `DeepPartial<Lex4Translations>` | English | Partial i18n overrides, deep-merged with defaults |\n| `toolbar` | `Lex4ToolbarConfig` | All controls visible with labels | Controls visibility and labels for built-in toolbar actions such as history, variables, and header/footer |\n| `onSave` | `(payload: { document, ast, json }) => void` | — | Called when the host app triggers a save (includes full `Lex4Document`) |\n| `captureHistoryShortcutsOnWindow` | `boolean` | `true` | Capture ⌘Z/⌘⇧Z at the window level |\n| `className` | `string` | — | Additional CSS class for the editor root |\n\n### `Lex4EditorHandle`\n\nThe editor ref exposes built-in chrome controls, and extensions can add more methods on top.\n\n| Method | Signature | Description |\n|--------|-----------|-------------|\n| `setHistorySidebarOpen(open)` | `(open: boolean) => void` | Opens or closes the history sidebar programmatically |\n| `toggleHistorySidebar()` | `() => void` | Toggles the history sidebar |\n| `insertDocumentContent(document)` | `(document: Lex4Document) => boolean` | Inserts the body content of another saved Lex4 document at the current cursor position |\n\n### Extensions\n\nExtensions are opt-in feature modules that add capabilities to the editor without coupling.\n\n#### `astExtension()`\n\nAdds document AST export. Contributes imperative handle methods:\n\n| Method | Signature | Description |\n|--------|-----------|-------------|\n| `getDocumentAst()` | `() => DocumentAst` | Returns the document as a clean, typed AST |\n| `getDocumentJson()` | `() => string` | Returns the AST serialized as formatted JSON |\n| `buildSavePayload(opts?)` | `(opts?) => SaveDocumentRequest` | Wraps the AST into a REST-ready payload |\n\n```tsx\nconst extensions = [astExtension()];\n// then via ref:\nconst ast = editorRef.current?.getDocumentAst();\n```\n\n#### `variablesExtension(definitions)`\n\nAdds variable placeholders — dynamic tokens rendered as non-editable chips in the editor and preserved as structured nodes in the exported AST.\n\n| Method | Signature | Description |\n|--------|-----------|-------------|\n| `insertVariable(key)` | `(key: string) => void` | Inserts a variable at the current cursor position |\n| `refreshVariables(defs)` | `(defs: VariableDefinition[]) => void` | Updates the available variable definitions |\n| `setVariablePanelOpen(open)` | `(open: boolean) => void` | Opens or closes the variable side panel programmatically |\n| `toggleVariablePanel()` | `() => void` | Toggles the variable side panel |\n\nAlso adds:\n- **Toolbar button** — variable picker dropdown for inserting variables inline\n- **Host-controlled side panel** — opens a searchable variable panel on the right, which can also be controlled from app chrome via the handle methods above\n- **Variable node** — custom Lexical node rendered as a non-editable chip\n- **Atomic keyboard navigation** — arrow keys select a chip as one stop, highlight it, and always expose a writable caret position on either side\n- **Optional segments** — a selected variable or text range can be toggled as conditional content; boundary navigation exits cleanly without trapping the caret\n- **Selection formatting** — selected chips participate in toolbar inline/block formatting and keep heading/paragraph styling in sync with export\n\n```tsx\nconst variables: VariableDefinition[] = [\n  { key: 'customer.name', label: 'Customer Name', group: 'Customer', valueType: 'string' },\n  { key: 'proposal.date', label: 'Proposal Date', group: 'Proposal', valueType: 'date' },\n];\n\nconst extensions = [variablesExtension(variables)];\n```\n\nIn the exported AST, variables appear as `{ type: \"variable\", key: \"customer.name\" }` nodes within block content, and their definitions appear under `metadata.variables`.\n\n### Types\n\n```ts\nimport type { SerializedEditorState } from 'lexical';\n\ntype PageCounterMode = 'none' | 'header' | 'footer' | 'both';\n\n/** Top-level document state — serialize this to persist documents */\ninterface Lex4Document {\n  pages: PageState[];\n  headerFooterEnabled: boolean;\n  pageCounterMode: PageCounterMode;\n  defaultHeaderState: SerializedEditorState | null;\n  defaultFooterState: SerializedEditorState | null;\n  defaultHeaderHeight: number;\n  defaultFooterHeight: number;\n}\n\n/** State for a single page */\ninterface PageState {\n  id: string;\n  bodyState: SerializedEditorState | null;\n  headerState: SerializedEditorState | null;\n  footerState: SerializedEditorState | null;\n  headerHeight: number;\n  footerHeight: number;\n  bodySyncVersion: number;\n  headerSyncVersion: number;\n  footerSyncVersion: number;\n}\n```\n\n### Helper Functions\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| `createEmptyDocument()` | `() => Lex4Document` | Creates a blank document with one empty A4 page |\n| `createEmptyPage()` | `(id?: string) => PageState` | Creates a single empty page |\n\n### Constants\n\n| Constant | Value | Description |\n|----------|-------|-------------|\n| `A4_WIDTH_PX` | `794` | A4 width in CSS pixels at 96 DPI |\n| `A4_HEIGHT_PX` | `1123` | A4 height in CSS pixels at 96 DPI |\n| `A4_WIDTH_MM` | `210` | A4 width in millimeters |\n| `A4_HEIGHT_MM` | `297` | A4 height in millimeters |\n| `MAX_HEADER_HEIGHT_PX` | `225` | Maximum header height (20% of page) |\n| `MAX_FOOTER_HEIGHT_PX` | `225` | Maximum footer height (20% of page) |\n\n### Hooks\n\nThese hooks are exported for advanced use cases where you need to build custom page layouts:\n\n| Hook | Description |\n|------|-------------|\n| `usePagination` | Core pagination logic — overflow/underflow detection and page management |\n| `useOverflowDetection` | Monitors content height and triggers reflow when content exceeds the page body |\n| `useHeaderFooter` | Header/footer state management and chrome template application |\n\n## 🌐 i18n (Internationalization)\n\nAll UI strings are externalized and can be overridden via the `translations` prop. No external i18n library is forced on consumers.\n\n### Basic Override\n\n```tsx\n<Lex4Editor\n  translations={{\n    toolbar: { undo: 'Desfazer', redo: 'Refazer', bold: 'Negrito (Ctrl+B)' },\n    header: { placeholder: 'Cabeçalho' },\n    footer: { placeholder: 'Rodapé' },\n  }}\n/>\n```\n\n### Bridge with i18next\n\nIf your app already uses `i18next`, bridge it:\n\n```tsx\nimport { useTranslation } from 'react-i18next';\n\nfunction App() {\n  const { t } = useTranslation();\n\n  return (\n    <Lex4Editor\n      translations={{\n        toolbar: {\n          undo: t('editor.undo'),\n          redo: t('editor.redo'),\n          bold: t('editor.bold'),\n        },\n      }}\n    />\n  );\n}\n```\n\n### Available String Keys\n\n| Section | Keys | Examples |\n|---------|------|---------|\n| `toolbar` | editing, block type, history | `undo`, `paragraph`, `heading6`, `history`, `openHistory` |\n| `history` | labels and action descriptions | `title`, `empty`, `actions.blockTypeChanged`, `actions.insertedDocumentContent` |\n| `variables` | panel and creation flows | `title`, `available`, `searchPlaceholder`, `openPanel`, `createVariableTitle` |\n| `header` / `footer` | 1 each | `placeholder` |\n| `sidebar` | 1 | `close` |\n\nDynamic strings use `{{key}}` interpolation: `\"Font changed to {{value}}\"`.\n\nImport `DEFAULT_TRANSLATIONS` and `Lex4Translations` to see the full shape:\n\n```tsx\nimport { DEFAULT_TRANSLATIONS } from '@yurikilian/lex4';\nimport type { Lex4Translations } from '@yurikilian/lex4';\n```\n\n## 🎨 Theming & Customization\n\nAll styling uses **CSS custom properties** (design tokens) and **semantic `.lex4-*` classes** — no Tailwind utilities in the production output. This makes `style.css` safe to import alongside any CSS framework.\n\n### Design Tokens\n\nOverride tokens on `.lex4-editor` to theme the entire editor without `!important`:\n\n```css\n.lex4-editor {\n  /* Brand / accent */\n  --lex4-color-primary: #10b981;         /* emerald instead of blue */\n  --lex4-color-primary-light: #ecfdf5;\n  --lex4-color-primary-text: #047857;\n\n  /* Surfaces & text */\n  --lex4-color-bg: #ffffff;\n  --lex4-color-bg-canvas: #f8fafc;       /* lighter canvas */\n  --lex4-color-text: #111827;\n  --lex4-color-text-secondary: #6b7280;\n\n  /* Dimensions */\n  --lex4-sidebar-width: 280px;           /* narrower sidebar */\n  --lex4-font-family: 'Times New Roman', serif;\n}\n```\n\nSee the full list of tokens in [`packages/editor/src/styles.css`](packages/editor/src/styles.css).\n\n### Stable CSS Selectors\n\nEvery UI region has a semantic class you can target:\n\n| Region | Selector |\n|--------|----------|\n| Root | `.lex4-editor` |\n| Toolbar | `.lex4-toolbar` |\n| Toolbar button | `.lex4-toolbar-btn` |\n| Toolbar select | `.lex4-toolbar-select` |\n| Document canvas | `.lex4-canvas` |\n| Page | `.lex4-page` |\n| Page body | `.lex4-page-body` |\n| Page header | `.lex4-page-header` |\n| Page footer | `.lex4-page-footer` |\n| Sidebar | `.lex4-sidebar` |\n| History entry | `.lex4-history-entry-row` |\n| Variable chip | `.lex4-variable-chip` |\n| Variable picker | `.lex4-variable-picker` |\n\n### Extension-Level Theming\n\nExtensions can contribute CSS variables and a root class name:\n\n```ts\nconst darkModeExtension: Lex4Extension = {\n  name: 'dark-mode',\n  cssVariables: {\n    '--lex4-color-bg': '#1a1a2e',\n    '--lex4-color-text': '#e0e0e0',\n    '--lex4-color-bg-canvas': '#16213e',\n  },\n  rootClassName: 'lex4-dark',\n};\n```\n\n## 📝 Document AST\n\nThe AST is a **clean, versioned, Lexical-independent** structure designed for backend consumption (e.g., DOCX/PDF generation). It preserves semantic structure, formatting marks, font choices, header/footer layout, A4 page metadata, and variable references.\n\n> **Requires `astExtension()`** — the AST export is opt-in via the extension system.\n\n```ts\n// Export via imperative ref\nconst ast = editorRef.current?.getDocumentAst();\n\n// Or build a REST payload\nconst payload = editorRef.current?.buildSavePayload({\n  exportTarget: 'pdf',\n  documentId: 'doc-123',\n});\n\nawait fetch('/api/documents/export', {\n  method: 'POST',\n  headers: { 'Content-Type': 'application/json' },\n  body: JSON.stringify(payload),\n});\n```\n\n### AST Shape (top-level)\n\n```ts\ninterface DocumentAst {\n  version: '1.0.0';\n  page: {\n    format: 'A4';\n    widthMm: 210;\n    heightMm: 297;\n    margins: { topMm, rightMm, bottomMm, leftMm };\n  };\n  headerFooter: {\n    enabled: boolean;\n    pageCounterMode: 'none' | 'header' | 'footer' | 'both';\n    defaultHeader: ContentAst | null;\n    defaultFooter: ContentAst | null;\n  };\n  pages: PageAst[];\n  metadata: {\n    variables: Record<string, VariableDefinitionAst>;\n  };\n}\n```\n\n### REST Payload\n\n```ts\ninterface SaveDocumentRequest {\n  document: DocumentAst;\n  exportTarget?: 'pdf' | 'docx';\n  documentId?: string;\n  metadata?: Record<string, string>;\n}\n```\n\n## 🏗️ Architecture\n\n### Multi-Editor Discrete Page Model\n\nUnlike most web-based \"paginated\" editors that use a single editor with CSS visual breaks, Lex4 uses a **true multi-editor architecture** where each page body is an independent Lexical editor instance coordinated by a unified document state:\n\n<div align=\"center\">\n\n![Component tree](https://raw.githubusercontent.com/yurikilian/lex4/main/docs/screenshots/arch-component-tree.png)\n\n</div>\n\n### Content Flow Engine\n\nThe pagination engine is built as **pure functions** that transform page state arrays:\n\n<div align=\"center\">\n\n![Content flow](https://raw.githubusercontent.com/yurikilian/lex4/main/docs/screenshots/arch-content-flow.png)\n\n</div>\n\n### Extension Architecture\n\nFeatures are added via composable extensions that can contribute nodes, plugins, toolbar items, side panels, context providers, and imperative handle methods:\n\n```ts\ninterface Lex4Extension {\n  name: string;\n  nodes?: Klass<LexicalNode>[];        // custom Lexical nodes\n  bodyPlugins?: React.ComponentType[];  // plugins per page editor\n  toolbarItems?: React.ComponentType[]; // toolbar UI additions\n  sidePanel?: React.ComponentType;      // right-side panel\n  provider?: React.ComponentType<...>;  // context provider wrapper\n  themeOverrides?: Partial<EditorThemeClasses>;\n  cssVariables?: Record<string, string>;  // CSS custom property overrides\n  rootClassName?: string;                 // extra class on editor root\n  handleMethods?: (ctx) => Record<string, Function>;\n}\n```\n\n### Key Invariants\n\n- Every page is **exactly** A4 (794 × 1123 px at 96 DPI) — no dynamic heights\n- Header and footer regions **never** overlap body content\n- Overflow always creates **full A4 pages**, never partial pages\n- At least **one page** always exists — the document is never empty\n- Oversized blocks are **automatically split** across pages (mid-block splitting)\n\n## 📁 Project Structure\n\n```\nlex4/\n├── packages/\n│   └── editor/               # @yurikilian/lex4 — the publishable library\n│       ├── src/\n│       │   ├── ast/          # AST types, serializers, block/inline mappers, payload builder\n│       │   ├── components/   # React components (Lex4Editor, PageView, Toolbar, etc.)\n│       │   ├── constants/    # A4 dimensions, layout math\n│       │   ├── context/      # DocumentProvider, document reducer, actions\n│       │   ├── engine/       # Pagination logic — pure functions (reflow, overflow, paginate)\n│       │   ├── extensions/   # Extension system, astExtension, variablesExtension\n│       │   ├── hooks/        # usePagination, useOverflowDetection, useHeaderFooter\n│       │   ├── i18n/         # Translations types, defaults, context provider\n│       │   ├── lexical/      # Editor config, plugins (paste, history), custom commands\n│       │   ├── types/        # TypeScript interfaces (Lex4Document, PageState, etc.)\n│       │   ├── utils/        # Editor state manipulation helpers\n│       │   └── variables/    # VariableNode, VariablePlugin, VariableProvider\n│       └── dist/             # Built output (ESM + CJS + types + CSS)\n├── demo/                     # Demo app (deployed to GitHub Pages)\n├── e2e/                      # Playwright end-to-end tests\n├── .github/workflows/        # CI, npm publish, GitHub Pages deployment\n└── docs/screenshots/         # Screenshots for README\n```\n\n## 🛠️ Development\n\n### Prerequisites\n\n- **Node.js** ≥ 20.19\n- **pnpm** ≥ 9\n\n### Setup\n\n```bash\n# Clone the repo\ngit clone https://github.com/yurikilian/lex4.git\ncd lex4\n\n# Install dependencies\npnpm install\n\n# Build the library\npnpm build\n\n# Start the demo app at http://localhost:3000\npnpm dev\n```\n\n### Commands\n\n| Command | Description |\n|---------|-------------|\n| `pnpm dev` | Start the demo app dev server |\n| `pnpm build` | Build the `@yurikilian/lex4` library |\n| `pnpm test` | Run unit tests (Vitest) |\n| `pnpm test:e2e` | Run E2E tests (Playwright) |\n| `pnpm lint` | Type-check all packages |\n\n### Running E2E Tests\n\n```bash\n# Install Playwright browsers (first time only)\npnpm --filter e2e exec playwright install chromium\n\n# Run all E2E tests\npnpm test:e2e\n\n# Run with headed browser\npnpm --filter e2e test:headed\n\n# Run with Playwright UI\npnpm --filter e2e test:ui\n```\n\n### Test Suite\n\n| Category | Framework | Count | Description |\n|----------|-----------|-------|-------------|\n| Unit | Vitest | 221 | Engine logic, reducers, AST serializers, i18n, variable nodes |\n| E2E | Playwright | 129 | Full user flows — typing, formatting, pagination, header/footer, variables, theme, i18n |\n\n## 🔧 Build & Bundle\n\nThe library is built with **Vite in library mode**, producing:\n\n| Output | Path | Description |\n|--------|------|-------------|\n| ESM | `dist/lex4-editor.js` | ES module for modern bundlers |\n| CJS | `dist/lex4-editor.cjs` | CommonJS for Node.js / legacy bundlers |\n| Types | `dist/index.d.ts` | Full TypeScript declarations |\n| CSS | `dist/style.css` | Pure CSS with design tokens (no Tailwind) |\n| Source maps | `dist/*.map` | Debugging support |\n\nReact and ReactDOM are **externalized** — they are not bundled and must be provided by the consuming application. Lexical packages are bundled as direct dependencies.\n\n## 🚢 Publishing to npm\n\nReleases are automated via GitHub Actions. To publish a new version:\n\n1. Update the version in `packages/editor/package.json`\n2. Commit and push to `main`\n3. Create a [GitHub Release](https://github.com/yurikilian/lex4/releases/new) with a tag matching the version (e.g. `v0.2.0`)\n4. The publish workflow runs CI, then publishes to npm with provenance\n\n> **Note:** You need to add an `NPM_TOKEN` secret to the repository settings.\n\n## 🌐 Demo Deployment\n\nThe demo app is automatically deployed to **GitHub Pages** on every push to `main`:\n\n🔗 **[https://yurikilian.github.io/lex4/](https://yurikilian.github.io/lex4/)**\n\nTo deploy manually, trigger the workflow from the Actions tab.\n\n## 🧩 Tech Stack\n\n| Technology | Role |\n|------------|------|\n| [TypeScript](https://www.typescriptlang.org/) | Static typing |\n| [React 18](https://react.dev/) | UI framework |\n| [Meta Lexical](https://lexical.dev/) | Rich text editing engine |\n| [Vite](https://vitejs.dev/) | Library build (ESM + CJS) and dev server |\n| [Tailwind CSS](https://tailwindcss.com/) | Dev-only utility reference (not in production output) |\n| [Vitest](https://vitest.dev/) | Unit testing |\n| [Playwright](https://playwright.dev/) | End-to-end testing |\n| [pnpm](https://pnpm.io/) | Package manager (monorepo workspaces) |\n| [GitHub Actions](https://github.com/features/actions) | CI/CD, npm publish, Pages deployment |\n\n## ⚠️ Known Limitations\n\n| Limitation | Details |\n|------------|---------|\n| **Heuristic initial pagination** | Block heights are estimated at 24px per line until the first render. `ResizeObserver` corrects this on mount. |\n| **No collaborative editing** | The document model is designed for single-user editing. Real-time collaboration (e.g. CRDT/OT) is out of scope. |\n| **No table support** | Tables are not supported as block types. |\n\n## 🤝 Contributing\n\nContributions are welcome! Please:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feat/my-feature`)\n3. Commit your changes with clear messages\n4. Push to your fork and open a Pull Request\n\nPlease ensure `pnpm lint && pnpm build && pnpm test` pass before submitting.\n\n## 📄 License\n\n[MIT](./LICENSE) © [Yuri Kilian](https://github.com/yurikilian)\n","readmeFilename":"README.md"}