{"_id":"@37bytes/offer-builder-jodit-fork","_rev":"3-4192c48f31ddd7be2a71cfff4e093240","name":"@37bytes/offer-builder-jodit-fork","dist-tags":{"latest":"3.20.4"},"versions":{"3.20.4":{"name":"@37bytes/offer-builder-jodit-fork","version":"3.20.4","description":"Jodit is awesome and usefully wysiwyg editor with filebrowser","main":"build/jodit.js","types":"./types/index.d.ts","scripts":{"coverage":"npx type-coverage ./src --detail --ignore-files 'build/**' --ignore-files 'test/**' --ignore-files 'examples/**'","newversion":"npm run lint && npm run clean && npm test && npm version patch --no-git-tag-version && npm run build && npm run newversiongit && npm publish ./ && rm -rf types/","newversiongit":"git add --all  && git commit -m \"New version $npm_package_version. Read more https://github.com/xdan/jodit/blob/master/CHANGELOG.md \" && git tag $npm_package_version && git push --tags origin HEAD:master","start":"node server.js --port=2000","clean":"rm -rf build/*","translate":"node ./build-system/utils/lang-translater.js","pretty-langs":"prettier ./src/langs --write","build":"npm run build-es5 && npm run build-es2018 && npm run build-es2018-en && npm run build-no-uglify-es5 && npm run build-no-uglify-es2018 && npm run build-no-uglify-es2018-en","build-es5":"webpack --progress --mode production --env es=es5 --env uglify=true","build-es2018":"webpack --progress --mode production --env es=es2018 --env uglify=true","build-es2018-en":"webpack --progress --mode production --env es=es2018 --env excludeLangs=true --env uglify=true","build-no-uglify-es5":"webpack --progress --mode production --env es=es5 --env uglify=false","build-no-uglify-es2018":"webpack --progress --mode production --env es=es2018 --env uglify=false","build-no-uglify-es2018-en":"webpack --progress --mode production --env es=es2018 --env excludeLangs=true --env uglify=false","find-test":"node ./build-system/utils/find-tests.js","test":"npm run find-test && npm run clean && webpack --progress --mode production --env es=es2018 --env uglify=false --env isTest=true && npm run test-only-run","test-debug":"karma start --browsers Chrome karma.conf.js  --single-run false","test-chrome":"karma start --browsers Chrome karma.conf.js","test-only-run":"karma start --browsers FirefoxHeadless karma.conf.js","jodit":"cd ../jodit-react/ && npm update && npm run newversion && cd ../jodit-pro && npm run newversion && cd ../jodit-joomla && npm run newversion","types":"mkdir -p ./types && cp -r ./src/types ./types && tsc --project . --declaration --declarationDir types --outDir types --emitDeclarationOnly --removeComments false","pretty":"npx prettier --write ./src/*.{ts,less} ./src/**/*.{ts,less} ./src/**/**/*.{ts,less} ./src/**/**/**/*.{ts,less} ./src/**/**/**/**/*.{ts,less}","fix":"npx eslint ./src/ ./test/ --fix && npm run pretty","type-check":"tsc --noemit --noErrorTruncation","lint":"npm run type-check && eslint ./src/ ./test/ && stylelint ./src/**/**.less"},"repository":{"type":"git","url":"git+ssh://git@github.com/37bytes/jodit.git"},"keywords":["wysiwyg","wysiwyg editor","wysiwyg html editor","rich text","rich editor","rich text editor","html","text","editor","contenteditable","javascript","typescript","vanillajs","jodit"],"author":{"name":"Chupurnov","email":"chupurnov@gmail.com","url":"https://xdsoft.net/"},"license":"MIT","bugs":{"url":"https://github.com/37bytes/jodit/issues"},"homepage":"https://xdsoft.net/jodit/","dependencies":{"autobind-decorator":"^2.4.0","core-js":"^3.24.1"},"devDependencies":{"@types/ace":"^0.0.48","@types/node":"^18.7.3","@typescript-eslint/eslint-plugin":"^5.33.0","@typescript-eslint/parser":"^5.33.0","autoprefixer":"^10.4.8","axios":"^0.27.2","chai":"^4.3.6","classlist-polyfill":"^1.2.0","compression":"^1.7.4","cross-env":"^7.0.3","css-loader":"^6.7.1","css-minimizer-webpack-plugin":"^4.0.0","cssnano-preset-advanced":"^5.3.8","es6-promise":"^4.2.8","eslint":"^8.22.0","eslint-config-prettier":"^8.5.0","eslint-plugin-header":"^3.1.1","eslint-plugin-import":"^2.26.0","eslint-plugin-prettier":"^4.2.1","eslint-plugin-tsdoc":"^0.2.16","expect-mocha-image-snapshot":"^2.0.14","express":"^4.18.1","file-loader":"^6.2.0","glob":"^8.0.3","husky":"^8.0.1","karma":"^6.4.0","karma-chai":"^0.1.0","karma-chrome-launcher":"^3.1.1","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^5.0.0","less":"^4.1.3","less-loader":"^11.0.0","lint-staged":"^13.0.3","merge-stream":"^2.0.0","mini-css-extract-plugin":"^2.6.1","mocha":"^10.0.0","nock":"^13.2.9","open":"^8.4.0","postcss":">=8.4.16","postcss-css-variables":"^0.18.0","postcss-less":"^6.0.0","postcss-loader":"^7.0.1","prettier":"^2.7.1","puppeteer":"^17.0.0","raw-loader":"^4.0.2","replace":"^1.2.1","style-loader":"^3.3.1","stylelint":"^14.10.0","stylelint-config-idiomatic-order":"v8.1.0","stylelint-config-prettier":"^9.0.3","stylelint-config-standard":"^27.0.0","stylelint-prettier":"^2.0.0","synchronous-promise":"^2.0.15","terser-webpack-plugin":"^5.3.4","ts-loader":"^9.3.1","ts-private-uglifier":"^1.0.2","tsc-alias":"^1.7.0","tslib":"^2.4.0","typescript":"^4.8.2","url-loader":"^4.1.1","webpack":"5.73.0","webpack-cli":"^4.10.0","webpack-dev-middleware":"^5.3.3","webpack-dev-server":"^4.9.3","webpack-hot-middleware":"^2.25.1","webpack-stream":"^7.0.0","yargs":"^17.5.1"},"husky":{"hooks":{}},"lint-staged":{"./test/**/*.{js}":["prettier --write --ignore-path ./build/*","git add"],"*.{json,less}":["prettier --write --ignore-path ./build/*","git add"],"*.{ts}":["eslint ./src","prettier --write","git add"]},"gitHead":"12a08ec01cefe9ed2f86c388bf9e65f31785297d","_id":"@37bytes/offer-builder-jodit-fork@3.20.4","_nodeVersion":"16.7.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-HvsP5Kv+WqPKbeM3X8rUXxuNVKjTppCVt2QizYbEDlYehM69GlGrEeAIIrjjBRsIR6h+z+qz66CynITcjmBKbg==","shasum":"3d5915c5b93dd6a1a54a7bb340697cc427542514","tarball":"https://registry.npmjs.org/@37bytes/offer-builder-jodit-fork/-/offer-builder-jodit-fork-3.20.4.tgz","fileCount":1383,"unpackedSize":9262547,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAFsPu/bhyvuBYK6kwkzAdU4gYSJDrPtyP+MHBKjbpRuAiBiDjA0qT1E2AmJBgzj06UZUWiankqqOx9o63wqjnBLuQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbQ4rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4Bw/9HK64tliOrFofAHQPBzdCm7760WIW5hIJus7iXq0SLzc9f0f/\r\nolKbTKW9fUva/DsXYGl2Iaa5zHANmSKlm+N9jfppFjOoKfI+24jXV81cm8nB\r\n2VoYuEJfPN4itHLUal00Y4VNH4smIkJZTrdoUUca7NSLfD0EMK6n0ho8H3e7\r\nRdHcDvqdBlMTFILzGfQwDtN4+2ZFceTBjrBPJObBvdgQoO9DP8Zcvbiesehi\r\n1e+TzS4lNxUrYcJON9Y4HMxsIzCYNoSL6nJ3m4KokG+n9JSk5fkxUKx2skmI\r\nk1Xxoe+UoER2OYZHWyAZNKkT8f/Sxfp5o3BbyrLbTsavf7ofEmWrs9gk3XfT\r\nzpwy81nD0opy1uh3vPahLrXfotgia/XM19SPlzefJtRheDrS2ejMKXrlrOkQ\r\n99YgvUp5gZQsk/DLDv/vYiuiCJ4RiBAMMUo2deo5MGEwfb9Fql0SWDmC6PxH\r\nTUk6dPCL8MPdCSmRpZVSVFzs+FIBeypjgH9hG3AwgKDxcMQTq19+Agly2bz9\r\nBvipQHFsxMDDN4WFcaCHTz8rvxUklFlob/oKMeyS1e07H1fIrOA7hqKLQ+xJ\r\nLxVPT8TxPreOPwvRTGPl6RfuVK3bMaG9xpglw30XZJ90vwzvrH/Mt30O8v2B\r\nnoVHBjIbVsTK06VZ/Xqa9vOq0CT87mH60NA=\r\n=r66v\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dc.nikolaev","email":"dnikolaev@37bytes.com"},"directories":{},"maintainers":[{"name":"rteslenko","email":"rteslenko@37bytes.com"},{"name":"tnikolaeva","email":"tnikolaeva@37bytes.com"},{"name":"dc.nikolaev","email":"dnikolaev@37bytes.com"},{"name":"mgarmash","email":"ops@37bytes.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/offer-builder-jodit-fork_3.20.4_1668091434834_0.41728555741070017"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-10T14:43:54.684Z","3.20.4":"2022-11-10T14:43:55.022Z","modified":"2023-12-21T13:06:50.010Z"},"maintainers":[{"email":"naushev@37bytes.com","name":"arhonist-37b"},{"email":"rispaev@37bytes.com","name":"rispaev"},{"email":"yavavilin@37bytes.com","name":"yar_vav"},{"email":"rteslenko@37bytes.com","name":"rteslenko"},{"email":"tnikolaeva@37bytes.com","name":"tnikolaeva"},{"email":"dnikolaev@37bytes.com","name":"dc.nikolaev"},{"email":"ops@37bytes.com","name":"mgarmash"}],"description":"Jodit is awesome and usefully wysiwyg editor with filebrowser","homepage":"https://xdsoft.net/jodit/","keywords":["wysiwyg","wysiwyg editor","wysiwyg html editor","rich text","rich editor","rich text editor","html","text","editor","contenteditable","javascript","typescript","vanillajs","jodit"],"repository":{"type":"git","url":"git+ssh://git@github.com/37bytes/jodit.git"},"author":{"name":"Chupurnov","email":"chupurnov@gmail.com","url":"https://xdsoft.net/"},"bugs":{"url":"https://github.com/37bytes/jodit/issues"},"license":"MIT","readme":"![Jodit WYSIWYG editor](https://raw.githubusercontent.com/xdan/jodit/master/examples/assets/logo.png)\n\n# [Jodit Editor 3](https://github.com/xdan/jodit) fork\n\nAn excellent WYSIWYG editor written in pure TypeScript without the use of additional libraries. Its file editor and image editor.\n\n[![Build Status](https://github.com/xdan/jodit/workflows/Run%20tests/badge.svg)](https://github.com/xdan/jodit/actions/workflows/tests.yml)\n[![npm version](https://badge.fury.io/js/jodit.svg)](https://badge.fury.io/js/jodit)\n[![npm](https://img.shields.io/npm/dm/jodit.svg)](https://www.npmjs.com/package/jodit)\n\n-   [Demo and Official site](https://xdsoft.net/jodit/)\n-   [PRO Version](https://xdsoft.net/jodit/pro/)\n-   [Builder](https://xdsoft.net/jodit/builder/)\n-   [Playground - play with options](https://xdsoft.net/jodit/play.html)\n-   [Documentation](https://xdsoft.net/jodit/docs/)\n-   [Download & Changes](https://github.com/xdan/jodit/releases)\n-   [Changelog](https://github.com/xdan/jodit/blob/master/CHANGELOG.md)\n-   [Examples](https://xdan.github.io/jodit/examples/)\n\n## Get Started\n\n## How use\n\nDownload the latest [release](https://github.com/xdan/jodit/releases/latest) or\n\n### INSTALL VIA NPM\n\n```bash\nnpm install jodit\n```\n\nor\n\n```bash\nyarn add jodit\n```\n\n### Include just two files\n\nES5 Version\n\n```html\n<link type=\"text/css\" rel=\"stylesheet\" href=\"build/jodit.min.css\" />\n<script type=\"text/javascript\" src=\"build/jodit.min.js\"></script>\n```\n\nES2018 Version (if your users use only modern browsers)\n\n```html\n<link type=\"text/css\" rel=\"stylesheet\" href=\"build/jodit.es2018.min.css\" />\n<script type=\"text/javascript\" src=\"build/jodit.es2018.min.js\"></script>\n```\n\n### Use a CDN\n\n#### cdnjs\n\n```html\n<link\n\trel=\"stylesheet\"\n\thref=\"https://cdnjs.cloudflare.com/ajax/libs/jodit/3.18.9/jodit.es2018.min.css\"\n/>\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jodit/3.18.9/jodit.es2018.min.js\"></script>\n```\n\n#### unpkg\n\n\n```html\n<link\n\trel=\"stylesheet\"\n\thref=\"https://unpkg.com/jodit@3.18.9/build/jodit.es2018.min.css\"\n/>\n<script src=\"https://unpkg.com/jodit@3.18.9/build/jodit.es2018.min.js\"></script>\n```\n\n\n\n### USAGE\n\nAnd some `<textarea>` element\n\n```html\n<textarea id=\"editor\" name=\"editor\"></textarea>\n```\n\nAfter this, you can init Jodit plugin\n\n```javascript\nvar editor = Jodit.make('#editor');\neditor.value = '<p>start</p>';\n```\n\nor\n\n```javascript\nconst editor = Jodit.make('#editor');\neditor.value = '<p>start</p>';\n```\n\nwith jQuery\n\n```javascript\n$('textarea').each(function () {\n\tvar editor = Jodit.make(this);\n\teditor.value = '<p>start</p>';\n});\n```\n\n## For contributors:\n\n```bash\ngit clone https://github.com/xdan/jodit.git\ncd jodit\nnpm install\n```\n\nRun webpack Hot Reload server:\n\n```bash\nnpm start\n```\n\nDemo will be available here\n\n```\nhttp://localhost:2000/\n```\n\nBuild min files:\n\n```bash\nnpm run build\n```\n\nBuild without some plugins:\n\n```bash\nwebpack --progress --mode production --env es=es2018 --env uglify=true --env excludePlugins=\"about,source,bold,image,xpath,stat,class-span,color,clean-html,file,focus,enter,backspace,media,preview,pint,redo-undo,resize-cells,search,spellcheck,table\"\n```\n\nBuild without some languages:\n\n```bash\nwebpack --progress --mode production --env es=es2018 --env uglify=true --env excludeLanguages=\"ru,ar,cs_cz,de,es,fa,fr,he,hu,id,it,ja,ko,nl,pl,pt_br,ru,tr,zh_cn,zh_tw\"\n```\n\nRun tests:\n\n```bash\nkarma start --browsers ChromeHeadless,IE,Firefox karma.conf.js\n```\n\nor\n\n```bash\nnpm test\n```\n\nor\n\n```bash\nyarn test\n```\n\nFor checking tests in browser, open URL:\n\n```\nhttp://localhost:2000/test/test.html\n```\n\nFor testing FileBrowser and Uploader modules, need install [PHP Connector](https://github.com/xdan/jodit-connectors)\n\n```bash\ncomposer create-project --no-dev jodit/connector\n```\n\nRun test PHP server\n\n```bash\nphp -S localhost:8181 -t ./\n```\n\nand set options for Jodit:\n\n```javascript\nvar editor = Jodit.make('#editor', {\n\tuploader: {\n\t\turl: 'http://localhost:8181/index-test.php?action=fileUpload'\n\t},\n\tfilebrowser: {\n\t\tajax: {\n\t\t\turl: 'http://localhost:8181/index-test.php'\n\t\t}\n\t}\n});\n```\n\n### Create plugin\n\n```javascript\nJodit.plugins.yourplugin = function (editor) {\n\teditor.events.on('afterInit', function () {\n\t\teditor.s.insertHTMl('Text');\n\t});\n};\n```\n\n### Add custom button\n\n```javascript\nvar editor = Jodit.make('.someselector', {\n\textraButtons: [\n\t\t{\n\t\t\tname: 'insertDate',\n\t\t\ticonURL: 'http://xdsoft.net/jodit/logo.png',\n\t\t\texec: function (editor) {\n\t\t\t\teditor.s.insertHTML(new Date().toDateString());\n\t\t\t}\n\t\t}\n\t]\n});\n```\n\nor\n\n```javascript\nvar editor = Jodit.make('.someselector', {\n\tbuttons: ['bold', 'insertDate'],\n\tcontrols: {\n\t\tinsertDate: {\n\t\t\tname: 'insertDate',\n\t\t\ticonURL: 'http://xdsoft.net/jodit/logo.png',\n\t\t\texec: function (editor) {\n\t\t\t\teditor.s.insertHTML(new Date().toDateString());\n\t\t\t}\n\t\t}\n\t}\n});\n```\n\nbutton with plugin\n\n```javascript\nJodit.plugins.add('insertText', function (editor) {\n\teditor.events.on('someEvent', function (text) {\n\t\teditor.s.insertHTMl('Hello ' + text);\n\t});\n});\n\n// or\n\nJodit.plugins.add('textLength', {\n\tinit(editor) {\n\t\tconst div = editor.create.div('jodit_div');\n\t\teditor.container.appendChild(div);\n\t\teditor.events.on('change.textLength', () => {\n\t\t\tdiv.innerText = editor.value.length;\n\t\t});\n\t},\n\tdestruct(editor) {\n\t\teditor.events.off('change.textLength');\n\t}\n});\n\n// or use class\n\nJodit.plugins.add(\n\t'textLength',\n\tclass textLength {\n\t\tinit(editor) {\n\t\t\tconst div = editor.create.div('jodit_div');\n\t\t\teditor.container.appendChild(div);\n\t\t\teditor.events.on('change.textLength', () => {\n\t\t\t\tdiv.innerText = editor.value.length;\n\t\t\t});\n\t\t}\n\t\tdestruct(editor) {\n\t\t\teditor.events.off('change.textLength');\n\t\t}\n\t}\n);\n\nvar editor = Jodit.make('.someselector', {\n\tbuttons: ['bold', 'insertText'],\n\tcontrols: {\n\t\tinsertText: {\n\t\t\ticonURL: 'http://xdsoft.net/jodit/logo.png',\n\t\t\texec: function (editor) {\n\t\t\t\teditor.events.fire('someEvent', 'world!!!');\n\t\t\t}\n\t\t}\n\t}\n});\n```\n\n## Browser Support\n\n-   Internet Explorer 11\n-   Latest Chrome\n-   Latest Firefox\n-   Latest Safari\n-   Microsoft Edge\n\n## Contributing\n\nThis project is maintained by a community of developers. Contributions are welcome and appreciated. You can find Jodit on GitHub; feel free to start an issue or create a pull requests:\nhttps://github.com/xdan/jodit\n\n## License\n\nMIT\n","readmeFilename":"README.md"}