{"id":13424207,"url":"https://github.com/kolkov/angular-editor","last_synced_at":"2025-11-22T04:01:58.000Z","repository":{"id":37396806,"uuid":"135040007","full_name":"kolkov/angular-editor","owner":"kolkov","description":"A simple native WYSIWYG editor component for Angular 6 -19+","archived":false,"fork":false,"pushed_at":"2025-11-22T01:08:49.000Z","size":3492,"stargazers_count":705,"open_issues_count":298,"forks_count":358,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-11-22T01:16:43.654Z","etag":null,"topics":["angular","angular-editor","editor","rich-text","rich-text-editor","wysiwyg","wysiwyg-editor"],"latest_commit_sha":null,"homepage":"https://angular-editor.kolkov.ru","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kolkov.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-05-27T11:25:56.000Z","updated_at":"2025-11-22T01:08:52.000Z","dependencies_parsed_at":"2024-06-18T12:16:47.630Z","dependency_job_id":"b09753ec-3bf1-413f-b957-8c11409a5038","html_url":"https://github.com/kolkov/angular-editor","commit_stats":{"total_commits":309,"total_committers":26,"mean_commits":"11.884615384615385","dds":0.1747572815533981,"last_synced_commit":"7f4b3cd24f571c8834ab276366a3d7e1a58fd38a"},"previous_names":[],"tags_count":105,"template":false,"template_full_name":null,"purl":"pkg:github/kolkov/angular-editor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kolkov%2Fangular-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kolkov%2Fangular-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kolkov%2Fangular-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kolkov%2Fangular-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kolkov","download_url":"https://codeload.github.com/kolkov/angular-editor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kolkov%2Fangular-editor/sbom","scorecard":{"id":566377,"data":{"date":"2025-08-11","repo":{"name":"github.com/kolkov/angular-editor","commit":"e6a9d1db5b04b7e3a545ef33cd06e63bb21f89fc"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.9,"checks":[{"name":"Code-Review","score":1,"reason":"Found 2/16 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 18 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"19 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-jr5f-v2jv-69x6","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-67mh-4wv8-2f99","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-4www-5p9h-95mh","Warn: Project is vulnerable to: GHSA-9gqv-wp59-fq42","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986","Warn: Project is vulnerable to: GHSA-wr3j-pwj9-hqq6","Warn: Project is vulnerable to: GHSA-4v9v-hfq4-rm2v","Warn: Project is vulnerable to: GHSA-9jgg-88mc-972h","Warn: Project is vulnerable to: GHSA-776f-qx25-q3cc"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T15:05:11.543Z","repository_id":37396806,"created_at":"2025-08-20T15:05:11.543Z","updated_at":"2025-08-20T15:05:11.543Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285731803,"owners_count":27222214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-22T02:00:05.934Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","angular-editor","editor","rich-text","rich-text-editor","wysiwyg","wysiwyg-editor"],"created_at":"2024-07-31T00:00:50.167Z","updated_at":"2025-11-22T04:01:57.988Z","avatar_url":"https://github.com/kolkov.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"150px\" src=\"https://raw.githubusercontent.com/kolkov/angular-editor/main/docs/angular-editor-logo.png?raw=true\" alt=\"AngularEditor logo\"/\u003e\n\u003c/p\u003e\n\n# AngularEditor\n[![npm version](https://badge.fury.io/js/%40kolkov%2Fangular-editor.svg)](https://badge.fury.io/js/%40kolkov%2Fangular-editor)\n[![demo](https://img.shields.io/badge/demo-StackBlitz-blueviolet.svg)](https://stackblitz.com/edit/angular-editor-wysiwyg)\n[![Build Status](https://travis-ci.com/kolkov/angular-editor.svg?branch=main)](https://travis-ci.com/kolkov/angular-editor)\n[![npm](https://img.shields.io/npm/dm/@kolkov/angular-editor.svg)](https://www.npmjs.com/package/@kolkov/angular-editor)\n[![](https://data.jsdelivr.com/v1/package/npm/@kolkov/angular-editor/badge?style=rounded)](https://www.jsdelivr.com/package/npm/@kolkov/angular-editor)\n[![Coverage Status](https://coveralls.io/repos/github/kolkov/angular-editor/badge.svg?branch=main)](https://coveralls.io/github/kolkov/angular-editor?branch=main)\n[![codecov](https://codecov.io/gh/kolkov/angular-editor/branch/main/graph/badge.svg)](https://codecov.io/gh/kolkov/angular-editor)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/AndreyKolkov)\n\nA simple native WYSIWYG/Rich Text editor for Angular 20+\n\n![Nov-27-2019 17-26-29](https://user-images.githubusercontent.com/216412/69763434-259cd800-113b-11ea-918f-0565ebce0e48.gif)\n\n\n## Demo\n[demo](https://angular-editor-wysiwyg.stackblitz.io/) | [See the code in StackBlitz](https://stackblitz.com/edit/angular-editor-wysiwyg).\n\n## Getting Started\n\n### Installation\n\nInstall via [npm][npm] package manager \n\n```bash\nnpm install @kolkov/angular-editor --save\n```\n### Versions\n3.0.0 and above - for Angular v20+ (CSS variables, modern Angular 20)\n\n2.0.0 and above - for Angular v13-19\n\n1.0.0 and above - for Angular v8-12\n\n0.18.4 and above - for Angular v7.x.x\n\n0.15.x - for Angular v6.x.x\n\n**Note:** Version 3.0.0 requires:\n- Angular 20.0.0 or higher (also compatible with Angular 21)\n- RxJS 7.8.0 or higher\n- TypeScript 5.4 or higher\n\nAttention! `alpha` and `beta` versions may contain breaking changes.\n\n### Usage\n\nImport `angular-editor` module\n\n```js\nimport { HttpClientModule} from '@angular/common/http';\nimport { AngularEditorModule } from '@kolkov/angular-editor';\n\n@NgModule({\n  imports: [ HttpClientModule, AngularEditorModule ]\n})\n```\n\nThen in HTML\n\n```html\n\u003cangular-editor [placeholder]=\"'Enter text here...'\" [(ngModel)]=\"htmlContent\"\u003e\u003c/angular-editor\u003e\n```\n\nor for usage with reactive forms\n\n```html\n\u003cangular-editor formControlName=\"htmlContent\" [config]=\"editorConfig\"\u003e\u003c/angular-editor\u003e\n```\n\nif you are using more than one editor on same page set `id` property\n\n```html\n\u003cangular-editor id=\"editor1\" formControlName=\"htmlContent1\" [config]=\"editorConfig\"\u003e\u003c/angular-editor\u003e\n\u003cangular-editor id=\"editor2\" formControlName=\"htmlContent2\" [config]=\"editorConfig\"\u003e\u003c/angular-editor\u003e\n```\n\nwhere\n\n```js\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\n\n\neditorConfig: AngularEditorConfig = {\n    editable: true,\n      spellcheck: true,\n      height: 'auto',\n      minHeight: '0',\n      maxHeight: 'auto',\n      width: 'auto',\n      minWidth: '0',\n      translate: 'yes',\n      enableToolbar: true,\n      showToolbar: true,\n      placeholder: 'Enter text here...',\n      defaultParagraphSeparator: '',\n      defaultFontName: '',\n      defaultFontSize: '',\n      fonts: [\n        {class: 'arial', name: 'Arial'},\n        {class: 'times-new-roman', name: 'Times New Roman'},\n        {class: 'calibri', name: 'Calibri'},\n        {class: 'comic-sans-ms', name: 'Comic Sans MS'}\n      ],\n      customClasses: [\n      {\n        name: 'quote',\n        class: 'quote',\n      },\n      {\n        name: 'redText',\n        class: 'redText'\n      },\n      {\n        name: 'titleText',\n        class: 'titleText',\n        tag: 'h1',\n      },\n    ],\n    uploadUrl: 'v1/image',\n    upload: (file: File) =\u003e { ... }\n    uploadWithCredentials: false,\n    sanitize: true,\n    toolbarPosition: 'top',\n    toolbarHiddenButtons: [\n      ['bold', 'italic'],\n      ['fontSize']\n    ]\n};\n```\nFor `ngModel` to work, you must import `FormsModule` from `@angular/forms`, or for `formControlName`, you must import `ReactiveFormsModule` from `@angular/forms`\n\nTo serve the icons file, ensure that your `angular.json` contains the following asset configuration:\n\n```\n{\n  \"glob\": \"**/*\",\n  \"input\": \"node_modules/@kolkov/angular-editor/assets/icons\",\n  \"output\": \"assets/ae-icons/\"\n}\n```\n\n### Styling\n\nConnect default theme file to your `angular.json` or `nx.json` \n```\n\"styles\": [\n     \"projects/angular-editor-app/src/styles.scss\",\n     \"node_modules/@kolkov/angular-editor/themes/default.scss\"\n],\n```\nor `@include` or `@use` in your project `styles.scss` file, and then override default theme variables like this:\n```scss\n:root {\n  --ae-gap: 5px;\n  --ae-text-area-border: 1px solid #ddd;\n  --ae-text-area-border-radius: 0;\n  --ae-focus-outline-color: #afaeae auto 1px;\n  --ae-toolbar-padding: 1px;\n  --ae-toolbar-bg-color: #b3dca0;\n  --ae-toolbar-border-radius: 1px solid #ddd;\n  --ae-button-bg-color: #dadad7;\n  --ae-button-border: 3px solid #3fb74e;\n  --ae-button-radius: 5px;\n  --ae-button-hover-bg-color: #3fb74e;\n  --ae-button-active-bg-color: red;\n  --ae-button-active-hover-bg-color: blue;\n  --ae-button-disabled-bg-color: gray;\n  --ae-picker-label-color: rgb(78, 84, 155);\n  --ae-picker-icon-bg-color: rgb(34, 41, 122);\n  --ae-picker-option-bg-color: rgba(221, 221, 84, 0.76);\n  --ae-picker-option-active-bg-color: rgba(237, 237, 62, 0.9);\n  --ae-picker-option-focused-bg-color: rgb(255, 255, 0);  \n}\n```\n\n### Custom buttons\n\nYou can define your custom buttons with custom actions using executeCommandFn. It accepts commands from [execCommand](https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand).\nThe first argument of this method is aCommandName and the second argument is aValueArgument. Example shows a button that adds Angular editor logo into the editor.\n```html\n\u003cangular-editor id=\"editor1\" [(ngModel)]=\"htmlContent1\" [config]=\"config1\" (ngModelChange)=\"onChange($event)\"\n                (blur)=\"onBlur($event)\"\u003e\n  \u003cng-template #customButtons let-executeCommandFn=\"executeCommandFn\"\u003e\n    \u003cae-toolbar-set\u003e\n      \u003cbutton aeButton title=\"Angular editor logo\" (click)=\"executeCommandFn('insertHtml', angularEditorLogo)\"\u003e\n        \u003csvg viewBox=\"-8 0 272 272\" xmlns=\"http://www.w3.org/2000/svg\"\n             preserveAspectRatio=\"xMidYMid\" fill=\"#000000\"\u003e\n          \u003cg id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"\u003e\u003c/g\u003e\n          \u003cg id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c/g\u003e\n          \u003cg id=\"SVGRepo_iconCarrier\"\u003e\n            \u003cg\u003e\n              \u003cpath\n                d=\"M0.0996108949,45.522179 L125.908171,0.697276265 L255.103502,44.7252918 L234.185214,211.175097 L125.908171,271.140856 L19.3245136,211.971984 L0.0996108949,45.522179 Z\"\n                fill=\"#E23237\"\u003e\u003c/path\u003e\n              \u003cpath\n                d=\"M255.103502,44.7252918 L125.908171,0.697276265 L125.908171,271.140856 L234.185214,211.274708 L255.103502,44.7252918 L255.103502,44.7252918 Z\"\n                fill=\"#B52E31\"\u003e\u003c/path\u003e\n              \u003cpath\n                d=\"M126.107393,32.27393 L126.107393,32.27393 L47.7136187,206.692607 L76.9992218,206.194553 L92.7377432,166.848249 L126.207004,166.848249 L126.306615,166.848249 L163.063035,166.848249 L180.29572,206.692607 L208.286381,207.190661 L126.107393,32.27393 L126.107393,32.27393 Z M126.306615,88.155642 L152.803113,143.5393 L127.402335,143.5393 L126.107393,143.5393 L102.997665,143.5393 L126.306615,88.155642 L126.306615,88.155642 Z\"\n                fill=\"#FFFFFF\"\u003e\u003c/path\u003e\n            \u003c/g\u003e\n          \u003c/g\u003e\n        \u003c/svg\u003e\n      \u003c/button\u003e\n    \u003c/ae-toolbar-set\u003e\n  \u003c/ng-template\u003e\n\u003c/angular-editor\u003e\n```\n\n## API\n### Inputs\n| Input  | Type | Default | Required | Description |\n| ------------- | ------------- | ------------- | ------------- | ------------- |\n| id | `string` | `-` | no | Id property when multiple editor used on same page |\n| [config] | `AngularEditorConfig` | `default config` | no | config for the editor |\n| placeholder | `string` | `-` | no | Set custom placeholder for input area |\n| tabIndex | `number` | `-` | no | Set Set tabindex on angular-editor |\n\n### Outputs\n\n| Output  | Description |\n| ------------- | ------------- |\n| (html)  | Output html |\n| (viewMode)  | Fired when switched visual and html source mode |\n| (blur)  | Fired when editor blur |\n| (focus)  | Fired when editor focus |\n\n### Methods\n Name  | Description |\n| ------------- | ------------- |\n| focus  | Focuses the editor element |\n\n### Other\n Name  | Type | Description |\n| ------------- | ------------- | ------------- |\n| AngularEditorConfig | configuration | Configuration for the AngularEditor component.|\n\n### Configuration\n\n| Input  | Type | Default | Required | Description |\n| ------------- | ------------- | ------------- | ------------- | ------------- |\n| editable  | `bolean` | `true` | no | Set editing enabled or not |\n| spellcheck  | `bolean` | `true` | no | Set spellchecking enabled or not |\n| translate  | `string` | `yes` | no | Set translating enabled or not |\n| sanitize  | `bolean` | `true` | no | Set DOM sanitizing enabled or not |\n| height  | `string` | `auto` | no | Set height of the editor |\n| minHeight  | `string` | `0` | no | Set minimum height of the editor |\n| maxHeight  | `string` | `auto` | no | Set maximum height of the editor |\n| width  | `string` | `auto` | no | Set width of the editor |\n| minWidth  | `string` | `0` | no | Set minimum width of the editor |\n| enableToolbar  | `bolean` | `true` | no | Set toolbar enabled or not |\n| showToolbar  | `bolean` | `true` | no | Set toolbar visible or not |\n| toolbarPosition  | `string` | `top` | no | Set toolbar position top or bottom |\n| placeholder  | `string` | `-` | no | Set placeholder text |\n| defaultParagraphSeparator  | `string` | `-` | no | Set default paragraph separator such as `p` |\n| defaultFontName  | `string` | `-` | no | Set default font such as `Comic Sans MS` |\n| defaultFontSize  | `string` | `-` | no | Set default font size such as `1` - `7` |\n| uploadUrl  | `string` | `-` | no | Set image upload endpoint `https://api.exapple.com/v1/image/upload` and return response with imageUrl key. {\"imageUrl\" : \u003curl\u003e} |\n| upload  | `function` | `-` | no | Set image upload function |\n| uploadWithCredentials | `bolean` | `false` | no | Set passing or not credentials in the image upload call |\n| fonts  | `Font[]` | `-` | no | Set array of available fonts  `[{name, class},...]` |\n| customClasses  | `CustomClass[]` | `-` | no | Set array of available fonts  `[{name, class, tag},...]` |\n| outline  | `bolean` | `true` | no | Set outline of the editor if in focus |\n| toolbarHiddenButtons  | `string[][]` | `-` | no | Set of the array of button names or elements to hide |\n\n```js\ntoolbarHiddenButtons: [\n  [\n    'undo',\n    'redo',\n    'bold',\n    'italic',\n    'underline',\n    'strikeThrough',\n    'subscript',\n    'superscript',\n    'justifyLeft',\n    'justifyCenter',\n    'justifyRight',\n    'justifyFull',\n    'indent',\n    'outdent',\n    'insertUnorderedList',\n    'insertOrderedList',\n    'heading',\n    'fontName'\n  ],\n  [\n    'fontSize',\n    'textColor',\n    'backgroundColor',\n    'customClasses',\n    'link',\n    'unlink',\n    'insertImage',\n    'insertVideo',\n    'insertHorizontalRule',\n    'removeFormat',\n    'toggleEditorMode'\n  ]\n]\n```\n\n## What's included\n\nWithin the download you'll find the following directories and files. You'll see something like this:\n\n```\nangular-editor/\n└── projects/\n    ├── angular-editor/\n    └── angular-editor-app/\n```\n`angular-editor/` - library\n\n`angular-editor-app/` - demo application\n\n## Documentation\n\nThe documentation for the AngularEditor is hosted at our website [AngularEditor](https://angular-editor.kolkov.ru/)\n\nIcons from Ligature Symbols Icons Collection [icons]\n\n## Contributing\n\nPlease read through our [contributing guidelines](https://github.com/kolkov/angular-editor/blob/main/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development.\n\nEditor preferences are available in the [editor config](https://github.com/kolkov/angular-editor/blob/main/.editorconfig) for easy use in common text editors. Read more and download plugins at \u003chttp://editorconfig.org\u003e.\n\n## Versioning\n\nFor a transparency into our release cycle and in striving to maintain backward compatibility, AngularEditor is maintained under [the Semantic Versioning guidelines](http://semver.org/).\n\nSee [the Releases section of our project](https://github.com/kolkov/angular-editor/releases) for changelogs for each release version.\n\n## Creators\n\n**Andrey Kolkov**\n\n* \u003chttps://github.com/kolkov\u003e\n\n## Donate\n\nIf you like my work and I save your time you can buy me a :beer: or :pizza: [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/AndreyKolkov)\n\n[npm]: https://www.npmjs.com/package/@kolkov/angular-editor\n[demo]: https://angular-editor-wysiwyg.stackblitz.io/\n[example]: https://stackblitz.com/edit/angular-editor-wysiwyg\n[icons]: https://www.svgrepo.com/collection/ligature-symbols-icons/\n","funding_links":["https://paypal.me/AndreyKolkov"],"categories":["Инструменты","Third Party Components","Dependencies"],"sub_categories":["Editors","Forms"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkolkov%2Fangular-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkolkov%2Fangular-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkolkov%2Fangular-editor/lists"}