{"_id":"@bobbyquantum/ngx-editor","_rev":"6-b47454362bfed98e0189d1db461bf17e","name":"@bobbyquantum/ngx-editor","dist-tags":{"latest":"22.0.1"},"versions":{"21.0.0-beta.1":{"name":"@bobbyquantum/ngx-editor","version":"21.0.0-beta.1","keywords":["angular-editor","angular-wysiwyg-editor","wysiwyg-editor","ngx-editor","prosemirror","zoneless","angular-21"],"license":"MIT","_id":"@bobbyquantum/ngx-editor@21.0.0-beta.1","maintainers":[{"name":"bobbyquantum","email":"bobby@quantum.observer"}],"homepage":"https://github.com/bobbyquantum/ngx-editor","bugs":{"url":"https://github.com/bobbyquantum/ngx-editor/issues"},"dist":{"shasum":"f8c88014efcc77d30d3c3ed8b035e9d31b4d47f8","tarball":"https://registry.npmjs.org/@bobbyquantum/ngx-editor/-/ngx-editor-21.0.0-beta.1.tgz","fileCount":22,"integrity":"sha512-kzgtOjuDvo/hbjiMZky7IHToXMgltdrd0H70kJmmJN0GtTnM3lXQK2QxeqJ4Lb0q8zoiPBoFTvoY13FcIUEs6w==","signatures":[{"sig":"MEUCIEPQWNLqX3VJPbliFvSADJL+MWr7C5euCxjJ93UTR3fGAiEA4uq2GGG8U476nnB8tsPWBk51SSUsANo4c2aXRYI5uzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":538609},"type":"module","module":"fesm2022/bobbyquantum-ngx-editor.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor.mjs"},"./utils":{"types":"./utils/index.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-utils.mjs"},"./schema":{"types":"./schema/index.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-schema.mjs"},"./helpers":{"types":"./helpers/index.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-helpers.mjs"},"./commands":{"types":"./commands/index.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-commands.mjs"},"./input-rules":{"types":"./input-rules/index.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-input-rules.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"eb88b0ccb329f55db705ea3a2d63fec64e86af73","typings":"index.d.ts","_npmUser":{"name":"bobbyquantum","email":"bobby@quantum.observer"},"repository":{"url":"git+https://github.com/bobbyquantum/ngx-editor.git","type":"git"},"_npmVersion":"11.6.2","description":"The Rich Text Editor for Angular, Built on ProseMirror (Zoneless Fork)","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","dependencies":{"tslib":"^2.3.0","@floating-ui/dom":"^1.6.13","prosemirror-view":"^1.39.1","@floating-ui/core":"^1.6.9","prosemirror-model":"^1.25.0","prosemirror-state":"^1.4.3","prosemirror-keymap":"^1.2.2","prosemirror-history":"^1.4.1","@types/trusted-types":"~2.0.7","prosemirror-commands":"^1.7.1","prosemirror-inputrules":"^1.5.0","prosemirror-schema-list":"^1.5.1"},"_hasShrinkwrap":false,"peerDependencies":{"rxjs":">=7.8.0","@angular/core":">=21.0.0","@angular/forms":">=21.0.0","@angular/common":">=21.0.0","@angular/platform-browser":">=21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-editor_21.0.0-beta.1_1765726515799_0.5351256243934452","host":"s3://npm-registry-packages-npm-production"}},"21.0.0":{"name":"@bobbyquantum/ngx-editor","version":"21.0.0","keywords":["angular-editor","angular-wysiwyg-editor","wysiwyg-editor","ngx-editor","prosemirror","zoneless","angular-21"],"license":"MIT","_id":"@bobbyquantum/ngx-editor@21.0.0","maintainers":[{"name":"bobbyquantum","email":"bobby@quantum.observer"}],"homepage":"https://github.com/bobbyquantum/ngx-editor","bugs":{"url":"https://github.com/bobbyquantum/ngx-editor/issues"},"dist":{"shasum":"1f9f2a2a9ff978931e79691b965cb93f6452d148","tarball":"https://registry.npmjs.org/@bobbyquantum/ngx-editor/-/ngx-editor-21.0.0.tgz","fileCount":22,"integrity":"sha512-yHM58uko00VZgJaLMLnn+XoRvyK98+kUBQIeXXREFNPpGxyrMZ2+KFonDR1+jvzykOgpwroOL05vbQZQOO/6Cg==","signatures":[{"sig":"MEUCIE5DIksPxE3oJJpfNXhv56kklBfrkVEPFdsZ+7oJItdsAiEA2hhB6J80WVmYOXJ1+Bj+Pv5Z5FW4WqNDhizB7beOj70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524875},"type":"module","module":"fesm2022/bobbyquantum-ngx-editor.mjs","exports":{".":{"types":"./types/bobbyquantum-ngx-editor.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor.mjs"},"./utils":{"types":"./types/bobbyquantum-ngx-editor-utils.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-utils.mjs"},"./schema":{"types":"./types/bobbyquantum-ngx-editor-schema.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-schema.mjs"},"./helpers":{"types":"./types/bobbyquantum-ngx-editor-helpers.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-helpers.mjs"},"./commands":{"types":"./types/bobbyquantum-ngx-editor-commands.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-commands.mjs"},"./input-rules":{"types":"./types/bobbyquantum-ngx-editor-input-rules.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-input-rules.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"3c4404fd32d055af869f76c748ade136bc954971","typings":"types/bobbyquantum-ngx-editor.d.ts","_npmUser":{"name":"bobbyquantum","email":"bobby@quantum.observer"},"repository":{"url":"git+https://github.com/bobbyquantum/ngx-editor.git","type":"git"},"_npmVersion":"11.6.2","description":"The Rich Text Editor for Angular, Built on ProseMirror (Zoneless Fork)","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"tslib":"^2.3.0","@floating-ui/dom":"^1.6.13","prosemirror-view":"^1.39.1","@floating-ui/core":"^1.6.9","prosemirror-model":"^1.25.0","prosemirror-state":"^1.4.3","prosemirror-keymap":"^1.2.2","prosemirror-history":"^1.4.1","@types/trusted-types":"~2.0.7","prosemirror-commands":"^1.7.1","prosemirror-inputrules":"^1.5.0","prosemirror-schema-list":"^1.5.1"},"_hasShrinkwrap":false,"peerDependencies":{"rxjs":">=7.8.0","@angular/core":">=21.0.0","@angular/forms":">=21.0.0","@angular/common":">=21.0.0","@angular/platform-browser":">=21.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-editor_21.0.0_1772500590179_0.4820967466179924","host":"s3://npm-registry-packages-npm-production"}},"22.0.0":{"name":"@bobbyquantum/ngx-editor","version":"22.0.0","keywords":["angular-editor","angular-wysiwyg-editor","wysiwyg-editor","ngx-editor","prosemirror","zoneless","angular-22"],"license":"MIT","_id":"@bobbyquantum/ngx-editor@22.0.0","maintainers":[{"name":"bobbyquantum","email":"bobby@quantum.observer"}],"homepage":"https://github.com/bobbyquantum/ngx-editor","bugs":{"url":"https://github.com/bobbyquantum/ngx-editor/issues"},"dist":{"shasum":"03b3e453d444ee881501edd649ea75064ba8b0a4","tarball":"https://registry.npmjs.org/@bobbyquantum/ngx-editor/-/ngx-editor-22.0.0.tgz","fileCount":22,"integrity":"sha512-+14mBC+CJ1eeDl7On4tC44ATLV8FiBBCJKt4JrpP4z4htzUPtrGBEh/uopDvuyTWUzOi8DMFGhz75cddGeBvJg==","signatures":[{"sig":"MEQCIB5WAFP1muVt9bP8vJaI1ib5drLfXsQ+Yu//Wpa/bsJ2AiBkTKdxYIr2rvl4FUlg+p+G4ez9FxTUj3y78HW/JX4hVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bobbyquantum%2fngx-editor@22.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":524753},"type":"module","module":"fesm2022/bobbyquantum-ngx-editor.mjs","exports":{".":{"types":"./types/bobbyquantum-ngx-editor.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor.mjs"},"./utils":{"types":"./types/bobbyquantum-ngx-editor-utils.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-utils.mjs"},"./schema":{"types":"./types/bobbyquantum-ngx-editor-schema.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-schema.mjs"},"./helpers":{"types":"./types/bobbyquantum-ngx-editor-helpers.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-helpers.mjs"},"./commands":{"types":"./types/bobbyquantum-ngx-editor-commands.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-commands.mjs"},"./input-rules":{"types":"./types/bobbyquantum-ngx-editor-input-rules.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-input-rules.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"184ee27dcbb42f60d551ededf4e866b79872fee6","typings":"types/bobbyquantum-ngx-editor.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:19b74b21-1dd6-4d44-a30c-c8cb9617097b"}},"repository":{"url":"git+https://github.com/bobbyquantum/ngx-editor.git","type":"git"},"_npmVersion":"11.17.0","description":"The Rich Text Editor for Angular, Built on ProseMirror (Zoneless Fork)","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.3.0","@floating-ui/dom":"^1.6.13","prosemirror-view":"^1.39.1","@floating-ui/core":"^1.6.9","prosemirror-model":"^1.25.0","prosemirror-state":"^1.4.3","prosemirror-keymap":"^1.2.2","prosemirror-history":"^1.4.1","@types/trusted-types":"~2.0.7","prosemirror-commands":"^1.7.1","prosemirror-inputrules":"^1.5.0","prosemirror-schema-list":"^1.5.1"},"_hasShrinkwrap":false,"peerDependencies":{"rxjs":">=7.8.0","@angular/core":">=22.0.0","@angular/forms":">=22.0.0","@angular/common":">=22.0.0","@angular/platform-browser":">=22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ngx-editor_22.0.0_1781297528094_0.9037920848359433","host":"s3://npm-registry-packages-npm-production"}},"22.0.1":{"name":"@bobbyquantum/ngx-editor","version":"22.0.1","description":"The Rich Text Editor for Angular, Built on ProseMirror (Zoneless Fork)","license":"MIT","type":"module","repository":{"type":"git","url":"git+https://github.com/bobbyquantum/ngx-editor.git"},"bugs":{"url":"https://github.com/bobbyquantum/ngx-editor/issues"},"homepage":"https://github.com/bobbyquantum/ngx-editor","keywords":["angular-editor","angular-wysiwyg-editor","wysiwyg-editor","ngx-editor","prosemirror","zoneless","angular-22"],"sideEffects":false,"peerDependencies":{"@angular/common":">=22.0.0","@angular/core":">=22.0.0","@angular/forms":">=22.0.0","@angular/platform-browser":">=22.0.0","rxjs":">=7.8.0"},"dependencies":{"@floating-ui/core":"^1.6.9","@floating-ui/dom":"^1.6.13","@types/trusted-types":"~2.0.7","prosemirror-commands":"^1.7.1","prosemirror-history":"^1.4.1","prosemirror-inputrules":"^1.5.0","prosemirror-keymap":"^1.2.2","prosemirror-model":"^1.25.0","prosemirror-schema-list":"^1.5.1","prosemirror-state":"^1.4.3","prosemirror-view":"^1.39.1","tslib":"^2.3.0"},"module":"fesm2022/bobbyquantum-ngx-editor.mjs","typings":"types/bobbyquantum-ngx-editor.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./types/bobbyquantum-ngx-editor.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor.mjs"},"./commands":{"types":"./types/bobbyquantum-ngx-editor-commands.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-commands.mjs"},"./helpers":{"types":"./types/bobbyquantum-ngx-editor-helpers.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-helpers.mjs"},"./input-rules":{"types":"./types/bobbyquantum-ngx-editor-input-rules.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-input-rules.mjs"},"./schema":{"types":"./types/bobbyquantum-ngx-editor-schema.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-schema.mjs"},"./utils":{"types":"./types/bobbyquantum-ngx-editor-utils.d.ts","default":"./fesm2022/bobbyquantum-ngx-editor-utils.mjs"}},"gitHead":"4988527c07fa5c8ce0366be6bcd2895ce79ed41b","_id":"@bobbyquantum/ngx-editor@22.0.1","_nodeVersion":"24.18.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-Ak0xcSG3lcOXmaST7gtS6FgScyM2KXScxs3CT6kVB6n6fF7kkRKlSq6f6ZWXDVe1IdgfQZDqB71Xpc8SH6wlmA==","shasum":"64dd932f0b8ca95e4f8be52b02f77d7660e1eb05","tarball":"https://registry.npmjs.org/@bobbyquantum/ngx-editor/-/ngx-editor-22.0.1.tgz","fileCount":22,"unpackedSize":525160,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bobbyquantum%2fngx-editor@22.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIC6YoLTtmUu5Cet4ljvsZBB2IWgQUM2YuXfc5B+oaHZ/AiEAlfg6Mt3MugKFllA6z5GprZj0Lo3UCrfjFjLt7ftNOxk="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:19b74b21-1dd6-4d44-a30c-c8cb9617097b"}},"directories":{},"maintainers":[{"name":"bobbyquantum","email":"bobby@quantum.observer"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ngx-editor_22.0.1_1785597963230_0.2663423372891416"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-14T15:35:15.684Z","modified":"2026-08-01T15:26:03.722Z","21.0.0-beta.1":"2025-12-14T15:35:15.953Z","21.0.0":"2026-03-03T01:16:30.359Z","22.0.0":"2026-06-12T20:52:08.230Z","22.0.1":"2026-08-01T15:26:03.402Z"},"bugs":{"url":"https://github.com/bobbyquantum/ngx-editor/issues"},"license":"MIT","homepage":"https://github.com/bobbyquantum/ngx-editor","keywords":["angular-editor","angular-wysiwyg-editor","wysiwyg-editor","ngx-editor","prosemirror","zoneless","angular-22"],"repository":{"type":"git","url":"git+https://github.com/bobbyquantum/ngx-editor.git"},"description":"The Rich Text Editor for Angular, Built on ProseMirror (Zoneless Fork)","maintainers":[{"name":"bobbyquantum","email":"bobby@quantum.observer"}],"readme":"# @bobbyquantum/ngx-editor\n\n<p align=\"center\">\n  <a href=\"https://github.com/bobbyquantum/ngx-editor\">\n   <img src=\"./sketch/ngx-editor.svg\" alt=\"ngxEditor\">\n  </a>\n</p>\n<p align=\"center\">The Rich Text Editor for Angular 21+ (Zoneless), Built on ProseMirror</p>\n\n> ⚠️ **This is a fork of [sibiraj-s/ngx-editor](https://github.com/sibiraj-s/ngx-editor)**\n>\n> The original project appears to be inactive. This fork has been updated to support **Angular 21** with **zoneless change detection** and modern Angular patterns. It is published under a scoped npm package for independent distribution.\n\n## What's Different\n\n- ✅ **Angular 21** support\n- ✅ **Zoneless change detection** (`provideZonelessChangeDetection()`)\n- ✅ **OnPush change detection** for all components\n- ✅ **Angular Signals** for reactive state\n- ✅ **Modern control flow** (`@if`, `@for` instead of `*ngIf`, `*ngFor`)\n- ✅ **`inject()` pattern** instead of constructor injection\n- ✅ **Ctrl/Cmd+Click** to open links in editor\n\n## Getting Started\n\n### Installation\n\n```bash\nnpm install @bobbyquantum/ngx-editor\n```\n\n### Usage\n\n**Note**: By default the editor comes with minimal features.\n\n```ts\nimport {\n  NgxEditorComponent,\n  NgxEditorMenuComponent,\n  Editor,\n} from '@bobbyquantum/ngx-editor';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n  selector: 'editor-component',\n  templateUrl: 'editor.component.html',\n  styleUrls: ['editor.component.scss'],\n  standalone: true,\n  imports: [NgxEditorComponent, NgxEditorMenuComponent, FormsModule],\n})\nexport class MyEditorComponent implements OnInit, OnDestroy {\n  html = '';\n  editor: Editor;\n\n  ngOnInit(): void {\n    this.editor = new Editor();\n  }\n\n  ngOnDestroy(): void {\n    this.editor.destroy();\n  }\n}\n```\n\nThen in HTML\n\n```html\n<div class=\"NgxEditor__Wrapper\">\n  <ngx-editor-menu [editor]=\"editor\"></ngx-editor-menu>\n  <ngx-editor\n    [editor]=\"editor\"\n    [ngModel]=\"html\"\n    [disabled]=\"false\"\n    [placeholder]=\"'Type here...'\"\n  ></ngx-editor>\n</div>\n```\n\n### Zoneless Setup\n\nIn your app config:\n\n```ts\nimport { provideZonelessChangeDetection } from '@angular/core';\n\nexport const appConfig: ApplicationConfig = {\n  providers: [provideZonelessChangeDetection()],\n};\n```\n\n## Browser Compatibility\n\nWorks on all Evergreen browsers:\n\n- Google Chrome\n- Microsoft Edge\n- Mozilla Firefox\n- Safari\n- Opera\n\n## Icons\n\nIcons are from https://fonts.google.com/icons\n\n## Original Project\n\nThis is a fork of [sibiraj-s/ngx-editor](https://github.com/sibiraj-s/ngx-editor). Full credit to the original author for the excellent foundation.\n\n## License\n\nMIT - See [LICENSE](./LICENSE)\n","readmeFilename":"README.md"}